A small library for using and manipulating key paths in JavaScript.
npm install --save keyd
const keyd = require('keyd');
keyd(obj).get('my.keypath');
keyd(obj).get.all('my.keypath');
keyd(obj).set('my.keypath', value);
const components = keyd.components('my.key.path');
/* -> ['my','key','path'] */
Throws an error if input is not a string.
const keyPath = keyd.join(['my','key','path']);
/* -> 'my.key.path' */
Throws an error if input is not an array.
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.
const lastComponent = keyd.last('my.key.path');
/* -> 'path' */
Input can be a string or an array.
const keyPath = keyd.eatLast('my.key.path');
/* -> 'my.key' */
Input can be a string or an array.
const firstComponent = keyd.first('my.key.path');
/* -> 'my' */
Input can be a string or an array.
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.
const within = keyd.within('my.key.path', 'my.key');
/* -> true */
const is = keyd.is('my.key.path', 'my.key');
/* -> false */
Both inputs can be either strings or arrays.
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. |
MIT (see LICENSE).