Access properties within an object, using dot-notation.
const dotly = require("dotly");
var obj = {
a: {
b: {
c: "hello"
}
}
};
console.log(dotly.get(obj, "a.b.c"));
// 'hello'
get(object, path, defaultValue)
returns the value at the specified path:
object
must the object from which to get the valuepath
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'}]
set(object, path, value)
sets a value at the specified path:
object
must the object in which to set the valuepath
must be a string representing the path, using dot notationvalue
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'}}}
remove(object, path, value)
removes the value at the specified path:
object
must the object from which to remove the valuepath
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: {}}}
dotly is released under the MIT License. See the bundled LICENSE file for details.