Skip to content
This repository has been archived by the owner on Dec 19, 2023. It is now read-only.
/ keyd Public archive
forked from trenskow/keyd

Modify objects using key paths.

License

Notifications You must be signed in to change notification settings

418sec/keyd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

keyd

A small library for using and manipulating key paths in JavaScript.

Installation

npm install --save keyd
const keyd = require('keyd');

Getting / Setting Values

Getting Values

keyd(obj).get('my.keypath');

Getting values in array and sub-arrays.

keyd(obj).get.all('my.keypath');

Setting Values

keyd(obj).set('my.keypath', value);

Manipulating Key Paths

Components

const components = keyd.components('my.key.path');
/* -> ['my','key','path'] */

Throws an error if input is not a string.

Joining

const keyPath = keyd.join(['my','key','path']);
/* -> 'my.key.path' */

Throws an error if input is not an array.

Appending Keys

const keyPath = keyd.append('my.key', 'path');
/* -> 'my.key.path' */

or

const keyPath = keyd.append('my', ['key', 'path']);
/* -> 'my.key.path' */

Both inputs can be either strings or arrays.

Last

Getting

const lastComponent = keyd.last('my.key.path');
/* -> 'path' */

Input can be a string or an array.

Removing

const keyPath = keyd.eatLast('my.key.path');
/* -> 'my.key' */

Input can be a string or an array.

First

Getting

const firstComponent = keyd.first('my.key.path');
/* -> 'my' */

Input can be a string or an array.

Removing

const keyPath = keyd.eatFirst('my.key.path');
/* -> 'key.path' */

or

const keyPath = keyd.eatFirst('my.key.path', 'my.key');
/* -> 'path' */

Input can be a string or an array.

Latter example with throw an error if second key path is not within the first.

Match

const within = keyd.within('my.key.path', 'my.key');
/* -> true */

Both inputs can be either strings or arrays.

Options

All methods supports options, which is provided as an object as the last parameter.

The table below shows the supported key(s).

Name Default value Description
separator . A string that represents the separation characters of keys in a key path string.

License

MIT (see LICENSE).

About

Modify objects using key paths.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%