nv-facutil-defp

define property

Usage no npm install needed!

<script type="module">
  import nvFacutilDefp from 'https://cdn.skypack.dev/nv-facutil-defp';
</script>

README

nv-facutil-defp

  • nv-facutil-defp is a simple-util for defineProperty

install

  • npm install nv-facutil-defp

usage

example

const defp = require("nv-facutil-defp");

defp.ABBR_MD
    {
        e: 'enumerable',
        w: 'writable',
        c: 'configurable',
        enumerable: 'e',
        writable: 'w',
        configurable: 'c'
    }


var o = {a:100,b:200,c:300}
defp.false_e(o,'a','c')

> o
{ b: 200 }

> Object.getOwnPropertyDescriptors(o)
{
  a: { value: 100, writable: true, enumerable: false, configurable: true },
  b: { value: 200, writable: true, enumerable: true, configurable: true },
  c: { value: 300, writable: true, enumerable: false, configurable: true }
}
>

get set

/*
   def_get_xxx(obj,name,getter)
   def_set_xxx(obj,name,setter)
   def_gtst_xxx(obj,name,getter,setter)

   getter  function(that,sym) {.....}
   setter  function(that,sym,v) {.....}

   sym is the internal symbol-key for name, its 1:1 map-to-name

*/

var o = {}
fac_defp.def_gtst_wc(
    o,'x',
    function(that,sym){return(that[sym])},
    function(that,sym,v){that[sym]=v}
)

> o.x=99
99
> o
{}
> Object.getOwnPropertyDescriptors(o)
{
  x: {
    get: [Function: get],
    set: [Function: set],
    enumerable: false,
    configurable: true
  },
  [Symbol(x)]: { value: 99, writable: true, enumerable: false, configurable: true }
}
> o.x
99
>

API

  • defp.true_e(obj,...props)
  • defp.true_w(obj,...props)
  • defp.true_ew(obj,...props)
  • defp.true_c(obj,...props)
  • defp.true_ec(obj,...props)
  • defp.true_wc(obj,...props)
  • defp.true_ewc(obj,...props)
  • defp.false_e(obj,...props)
  • defp.false_w(obj,...props)
  • defp.false_ew(obj,...props)
  • defp.false_c(obj,...props)
  • defp.false_ec(obj,...props)
  • defp.false_wc(obj,...props)
  • defp.false_ewc(obj,...props)
  • defp.ABBR_MD
  • defp.def_get_e,
  • defp.def_get_w,
  • defp.def_get_ew,
  • defp.def_get_c,
  • defp.def_get_ec,
  • defp.def_get_wc,
  • defp.def_get_ewc,
  • defp.def_set_e,
  • defp.def_set_w,
  • defp.def_set_ew,
  • defp.def_set_c,
  • defp.def_set_ec,
  • defp.def_set_wc,
  • defp.def_set_ewc,
  • defp.def_gtst_e,
  • defp.def_gtst_w,
  • defp.def_gtst_ew,
  • defp.def_gtst_c,
  • defp.def_gtst_ec,
  • defp.def_gtst_wc,
  • defp.def_gtst_ewc

LICENSE

  • ISC