JSPM

  • Created
  • Published
  • Downloads 518
  • Score
    100M100P100Q86128F
  • License MIT

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

Package Exports

  • keyd
  • keyd/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (keyd) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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 */
const is = keyd.is('my.key.path', 'my.key');
/* -> false */

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).