Skip to content
This repository has been archived by the owner on Jun 8, 2020. It is now read-only.

txgruppi/jslib-dot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dot notation setter and getter

Build Status Code Climate devDependency Status browser support

Simple way to set/get values using dot notation

Usage

Setter

var dot = require('jslib-dot');
var doc = {};
dot.set(doc, 'user.firstName', 'Tarcisio');
dot.set(doc, 'user.lastName', 'Gruppi');
console.log(doc); // {user: {firstName: "Tarcísio", lastName: "Gruppi"}}
var dot = require('jslib-dot');
var doc = {};
dot.set(doc, 'languages.0.name', 'JavaScript');
dot.set(doc, 'languages.1.name', 'Go');
console.log(doc); // {languages:[{name:"JavaScript"},{name:"Go"}]}

Getter

var dot = require('jslib-dot');
var doc = {
  username: 'txgruppi',
  repos: [
    { name: 'jslib-dot', language: 'JavaScript' },
    { name: 'site', language: 'Go' },
    { name: 'node-gs-dl', language: 'JavaScript' },
    { name: 'c-maze-gen', language: 'C' },
    { name: 'fw', language: 'PHP' },
  ]
};
console.log(dot.get(doc, 'username')); // 'txgruppi'
console.log(dot.get(doc, 'repos'));
// [
//   { name: 'jslib-dot', language: 'JavaScript' },
//   { name: 'site', language: 'Go' },
//   { name: 'c-maze-gen', language: 'C' },
//   { name: 'fw', language: 'PHP' }
// ]
console.log(dot.get(doc, 'repos.$.name'));
// [
//   'jslib-dot',
//   'site',
//   'node-gs-dl',
//   'c-maze-gen',
//   'fw'
// ]
console.log(dot.get(doc, 'repos.$.language'));
// [
//   'JavaScript',
//   'Go',
//   'JavaScript',
//   'C',
//   'PHP'
// ]

About

Dot notation setter and getter

Resources

Stars

Watchers

Forks

Packages

No packages published