eliottvincent / dotly

πŸ”˜ Access properties within an object, using dot-notation.

Home Page:https://www.npmjs.com/package/dotly

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dotly

Build Status Version Downloads

Access properties within an object, using dot-notation.

Usage

const dotly = require("dotly");

var obj = {
  a: {
    b: {
      c: "hello"
    }
  }
};
console.log(dotly.get(obj, "a.b.c"));
// 'hello'

API

Gets a value at a path within an object

get(object, path, defaultValue) returns the value at the specified path:

  • object must the object from which to get the value
  • path must be a string representing the path, using dot notation (supports wildcard with *)
  • defaultValue can be used as a default value
const { get } = require("dotly");

var obj = {
  a: {
    b: {
      c: "hello"
    },

    d: {
      c: "hello bis"
    }
  }
};

console.log(get(obj, "a"));
// {b: {c: 'hello'}}

console.log(get(obj, "a.b.c"));
// 'hello'

console.log(get(obj, "a.b.c.d"));
// undefined

console.log(get(obj, "a.b.c.d", "hallo"));
// 'hallo'

console.log(get(obj, "a.*.c"));
// [{path: 'a.b.c', value: 'hello'}, {path: 'a.d.c', value: 'hello bis'}]

Sets a value at a path within an object

set(object, path, value) sets a value at the specified path:

  • object must the object in which to set the value
  • path must be a string representing the path, using dot notation
  • value must be the value to set
const { set } = require("dotly");

var obj = {
  a: {
    b: {
      c: "hello"
    }
  }
};

set(obj, "a.b.d.e", "hallo");
console.log(obj);
// {a: {b: {c: 'hello', d: {e: 'hallo'}}}}

set(obj, "a.b", { hello: "hello" });
console.log(obj);
// {a: {b: {hello: 'hello'}}}

Removes a value at a path within an object

remove(object, path, value) removes the value at the specified path:

  • object must the object from which to remove the value
  • path must be a string representing the path, using dot notation
const { remove } = require("dotly");

var obj = {
  a: {
    b: {
      c: "hello"
    }
  }
};

console.log(obj);
// {a: {b: {c: 'hello'}}}

remove(obj, "a.b.c");
console.log(obj);
// {a: {b: {}}}

License

dotly is released under the MIT License. See the bundled LICENSE file for details.

About

πŸ”˜ Access properties within an object, using dot-notation.

https://www.npmjs.com/package/dotly

License:MIT License


Languages

Language:JavaScript 100.0%