dot-prop alternatives and similar modules
Based on the "Miscellaneous" category.
Alternatively, view dot-prop alternatives based on common mentions on social networks and blogs.
-
Electron
Build cross platform desktop apps with web technologies. (You might like awesome-electron) -
cheerio
Fast, flexible, and lean implementation of core jQuery designed specifically for the server. -
hypernova
A service for server-side rendering your JavaScript views. -
nan
A header file filled with macro and utility goodness for making add-on development for across Node.js versions easier. -
webworker-threads
Lightweight Web Worker API implementation with native threads. -
node-pre-gyp
Makes it easy to publish and install Node.js C++ addons from binaries. -
schemapack
Create a schema object to encode/decode your JSON in to a compact byte buffer with no overhead. -
stringify-object
Stringify an object/array like JSON.stringify just without all the double-quotes. -
node-video-lib
Pure JavaScript library for working with MP4 and FLV video files and creating MPEG-TS chunks for HLS streaming. -
resolve-from
Resolve the path of a module like require.resolve() but from a given path. -
strip-bom
Strip UTF-8 byte order mark (BOM) from a string/buffer/stream.
Scout APM - Leading-edge performance monitoring starting at $39/month
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of dot-prop or a related project?
README
dot-prop 
Get, set, or delete a property from a nested object using a dot path
Install
$ npm install dot-prop
Usage
const dotProp = require('dot-prop');
// Getter
dotProp.get({foo: {bar: 'unicorn'}}, 'foo.bar');
//=> 'unicorn'
dotProp.get({foo: {bar: 'a'}}, 'foo.notDefined.deep');
//=> undefined
dotProp.get({foo: {bar: 'a'}}, 'foo.notDefined.deep', 'default value');
//=> 'default value'
dotProp.get({foo: {'dot.dot': 'unicorn'}}, 'foo.dot\\.dot');
//=> 'unicorn'
// Setter
const object = {foo: {bar: 'a'}};
dotProp.set(object, 'foo.bar', 'b');
console.log(object);
//=> {foo: {bar: 'b'}}
const foo = dotProp.set({}, 'foo.bar', 'c');
console.log(foo);
//=> {foo: {bar: 'c'}}
dotProp.set(object, 'foo.baz', 'x');
console.log(object);
//=> {foo: {bar: 'b', baz: 'x'}}
// Has
dotProp.has({foo: {bar: 'unicorn'}}, 'foo.bar');
//=> true
// Deleter
const object = {foo: {bar: 'a'}};
dotProp.delete(object, 'foo.bar');
console.log(object);
//=> {foo: {}}
object.foo.bar = {x: 'y', y: 'x'};
dotProp.delete(object, 'foo.bar.x');
console.log(object);
//=> {foo: {bar: {y: 'x'}}}
API
get(object, path, defaultValue?)
Get the value of the property at the given path.
Returns the value if any.
set(object, path, value)
Set the property at the given path to the given value.
Returns the object.
has(object, path)
Check whether the property at the given path exists.
Returns a boolean.
delete(object, path)
Delete the property at the given path.
Returns a boolean of whether the property existed before being deleted.
object
Type: object
Object to get, set, or delete the path
value.
You are allowed to pass in undefined
as the object to the get
and has
functions.
path
Type: string
Path of the property in the object, using .
to separate each nested key.
Use \\.
if you have a .
in the key.
The following path components are invalid and results in undefined
being returned: __proto__
, prototype
, constructor
.
value
Type: unknown
Value to set at path
.
defaultValue
Type: unknown
Default value.
Get professional support for this package with a Tidelift subscription Tidelift helps make open source sustainable for maintainers while giving companiesassurances about security, maintenance, and licensing for their dependencies.