exdict

exdict ------ - flat-key-path dict tool-set , similar to https://github.com/ihgazni2/edict, more convinient APIs

Usage no npm install needed!

<script type="module">
  import exdict from 'https://cdn.skypack.dev/exdict';
</script>

README

exdict

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) 
======================