dotty
Access properties of nested objects using dot-path notation
Last updated 2 years ago by stramel .
BSD-3-Clause · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install dotty 
SYNC missed versions from official npm registry.

Dotty build status npm

Access properties of nested objects using dot-path notation.

Overview

Dotty makes it easy to programmatically access arbitrarily nested objects and their properties.

Installation

Here's a link to the npm page.

npm install dotty

Usage

Also see the documentation and example.

var dotty = require("dotty");

var object = {
  a: {
    b: {
      x: "y",
    },
    c: {
      x: "z",
    },
  },
};

console.log(dotty.exists(object, "a.b.x")); // true
console.log(dotty.exists(object, ["a", "b", "x"])); // true
console.log(dotty.exists(object, "a.b.z")); // false
console.log(dotty.exists(object, ["a", "b", "z"])); // false

console.log(dotty.get(object, "a.b.x")); // "y"
console.log(dotty.get(object, ["a", "b", "x"])); // "y"
console.log(dotty.get(object, "a.b.z")); // undefined
console.log(dotty.get(object, ["a", "b", "z"])); // undefined

dotty.put(object, "a.b.hello", "hi");
dotty.put(object, ["a", "c", "yo"], "sup");

console.log(dotty.search(object, "a.b.*"));
console.log(dotty.search(object, ["a", "b", "*"]));
console.log(dotty.search(object, "a.*.x"));
console.log(dotty.search(object, ["a", "*", "x"]));
console.log(dotty.search(object, ["a", "*", /..+/]));
console.log(dotty.search(object, 'a.b.*', function(value, parent, key){
	parent[key] = value + '!';
}));

console.log(dotty.remove(object, "a.b.x"));
console.log(dotty.remove(object, "a.b.y"));

console.log(dotty.removeSearch(object, 'a.*.x'));

console.log(dotty.deepKeys(object));
console.log(dotty.deepKeys(object, {leavesOnly: true}));
console.log(dotty.deepKeys(object, {leavesOnly: true, asStrings: true}));

console.log(object);

License

3-clause BSD. A copy is included with the source.

Contact

Current Tags

  • 0.1.0                                ...           latest (2 years ago)

3 Versions

  • 0.1.0                                ...           2 years ago
  • 0.0.2                                ...           7 years ago
  • 0.0.1                                ...           8 years ago
Downloads
Today 1
This Week 40
This Month 9
Last Day 8
Last Week 42
Last Month 319
Dependencies (0)
None
Dev Dependencies (2)
Dependents (154)

Copyright 2014 - 2017 © taobao.org |