@gulujs/object-path
TypeScript icon, indicating that this package has built-in type declarations

0.6.0 • Public • Published

@gulujs/object-path

Installation

npm install @gulujs/object-path

Usage

import { ObjectPath } from '@gulujs/object-path';

const obj = { foo: [{ bar: 'Hello' }] };

/**
 * default is `escapeDotStyle`
 * `quoteStyle` can access by `ObjectPath.quoteStyle.get(obj, 'foo[0].bar')`
 */
console.log(ObjectPath.get(obj, 'foo[0].bar')); // 'Hello'

ObjectPath.set(obj, 'baz', 'world');
console.log(obj); // { foo: [{ bar: 'Hello' }], baz: 'world' }

ObjectPath.del(obj, 'foo[0].bar');
console.log(obj); // { foo: [{}], baz: 'world' }

console.log(ObjectPath.has(obj, 'foo[0].bar')); // false
console.log(ObjectPath.has(obj, 'foo')); // true

let path = ObjectPath.escapeDotStyle.keyPath.parse('users[0].user\\.name');
console.log(path); // ['users', 0, 'user.name']

let key = ObjectPath.escapeDotStyle.keyPath.stringify(path);
console.log(key); // 'users[0].user\\.name'

path = ObjectPath.quoteStyle.keyPath.parse(`users[0].'user name'`);
console.log(path); // ['users', 0, 'user name']

key = ObjectPath.quoteStyle.keyPath.stringify(path);
console.log(key); // `users[0].'user name'`
  • Quote style is implemented base on TOML Keys

License

MIT

Package Sidebar

Install

npm i @gulujs/object-path

Weekly Downloads

18

Version

0.6.0

License

MIT

Unpacked Size

15.9 kB

Total Files

10

Last publish

Collaborators

  • jkeylu