tn-deepobj

Handle the object with dot path

Usage no npm install needed!

<script type="module">
  import tnDeepobj from 'https://cdn.skypack.dev/tn-deepobj';
</script>

README

Bundle Size - 1.28 Kb gzipped

Methods

deepobj.has(obj, ...paths)
deepobj.get(obj, path)
deepobj.set(obj, path, value)
deepobj.setnew(obj, path, value)
deepobj.update(obj, path, value)
deepobj.delete(obj, path)
deepobj.empty(obj, path)
deepobj.push(obj, path, ...items)
deepobj.unshift(obj, path, ...items)
deepobj.pop(obj, path, howmany?)
deepobj.shift(obj, path, howmany?)
deepobj.assign(obj, path, { prop: value }, deep?)
deepobj.remove(obj, path, ...prop)

Setters

  • set() It is strict. Can create or mutate any property.
  • setnew() It can not mutate pre existed property. Can create a new one.
  • update() It can not create new property. Can mutate existed one.

Dynamic setters

  • set()
  • update()
deepobj.set(obj, path, function (preval) {
  return ++preval
})

deepobj.set(obj, path, function () {
  return function () {}
})