README
exdict
- flat-key-path dict tool-set , similar to https://github.com/ihgazni2/edict, more convinient APIs
Install
- npm install exdict
Dependancy
Usage
::
var eded=require("exdict")
Abbr
~~~~
- d dict
- k key
- v value
- pl path-list of key
- kl list of key
- pla array of path-list
- D container-dict
getItemViaPathList0(d,pl)
=========================
::
var eded=require("exdict")
var d = { x: 0, y: { z: 1 } }
eded.getItemViaPathList0(d,["y","z"])
>1
getItemViaPathList1(pl,d)
=========================
::
var eded=require("exdict")
var d = { x: 0, y: { z: 1 } }
eded.getItemViaPathList1(["y","z"],d)
>1
getItemViaPathList(D)
=====================
::
var eded=require("exdict")
var d = { x: 0, y: { z: 1 } }
var pl = ["y","z"]
var D = {
d:d,
pl:pl
}
eded.getItemViaPathList(D)
>1
slctViaKeyList0(d,kl)
=====================
::
var eded=require("exdict")
var d = { x: 0,y:1,z:2}
var kl = ["y","z"]
eded.slctViaKeyList0(d,kl)
>{ y: 1, z: 2 }
slctViaKeyList1(kl,d)
=====================
::
var eded=require("exdict")
var d = { x: 0,y:1,z:2}
var kl = ["y","z"]
eded.slctViaKeyList1(kl,d)
>{ y: 1, z: 2 }
slctViaKeyList(D)
=================
::
var eded=require("exdict")
var d = { x: 0,y:1,z:2}
var kl = ["y","z"]
var D = {
d:d,
kl:kl
}
eded.slctViaKeyList(D)
>{ y: 1, z: 2 }
includesNonRecur0(d,k)
=====================
::
var eded=require("exdict")
var d = { x: 0,y:1,z:2}
var k = "y"
eded.includesNonRecur1(d,k)
>true
includesNonRecur1(k,d)
=====================
::
var eded=require("exdict")
var d = { x: 0,y:1,z:2}
var k = "y"
eded.includesNonRecur1(k,d)
>true
includesNonRecur(D)
==================
::
var eded=require("exdict")
var d = { x: 0,y:1,z:2}
var k = "y"
var D = {
d:d,
k:k
}
eded.includesNonRecur(D)
>true
includesPathListInternal0(d,pl)
==============================
::
var eded=require("exdict")
var d = { x: 0, y: { z: 1 } }
var pl = ["y","x"]
eded.includesPathListInternal0(d,pl)
>[ false, 1 ]
includesPathListInternal1(pl,d)
==============================
includesPathListInternal(D)
==========================
includesPathList0(d,pl)
======================
::
var eded=require("exdict")
var d = { x: 0, y: { z: 1 } }
var pl = ["y","z"]
eded.includesPathList0(d,pl)
>true
includesPathList1(d,pl)
=======================
includesPathList(D)
==================
setItemViaPathList0(d,pl,v)
==========================
::
var eded=require("exdict")
var d = {}
var pl = ["y","z"]
var v = 1
eded.setItemViaPathList0(d,pl,v)
>{ y: { z: 1 } }
setItemViaPathList1(d,v,pl)
===========================
setItemViaPathList2(pl,d,v)
===========================
setItemViaPathList3(pl,v,d)
===========================
setItemViaPathList4(v,d,pl)
===========================
setItemViaPathList5(v,pl,d)
===========================
setItemViaPathList(D)
====================
slctViaPathListArray0(d,pla)
===========================
::
var eded=require("exdict")
var d = { user: {
avata: 'avatar.jpg',
name: 'xxx'
},
id: 250,
encr: {
method: 'ecc',
salt: 250
},
createdAt: '1999'
}
var pla = [
["id"],
["user","name"],
["encr","method"]
]
eded.slctViaPathListArray0(d,pla)
>{ id: 250,
user: { name: 'xxx' },
encr: { method: 'ecc' }
}
slctViaPathListArray1(pla,d)
===========================
slctViaPathListArray(D)
======================