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