nv-facutil-class
install
- npm install nv-facutil-class
usage
var cfg = {
"name": "nv-facutil-class",
"version": "1.0.2",
"lockfileVersion": 2,
"requires": true,
Package: {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
Dependency: {
"color-convert": "^2.0.1"
},
Engine: {
"node": ">=8"
},
Funding: {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
}
}
var clses = json_to_clses(cfg,"Main")
> clses
[
[class Dependency],
[class Engine],
[class Funding],
[class Package],
[class Main]
]
var dependency = new clses[0]()
var engine = new clses[1]()
var funding = new clses[2]()
var package = new clses[3]()
var main = new clses[4]()
> main
Main {
name: 'nv-facutil-class',
version: '1.0.2',
lockfileVersion: 2,
requires: true,
Package: Package {
version: '4.3.0',
resolved: 'https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz',
integrity: 'sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==',
Dependency: Dependency { 'color-convert': '^2.0.1' },
Engine: Engine { node: '>=8' },
Funding: Funding { url: 'https://github.com/chalk/ansi-styles?sponsor=1' }
}
}
> dependency
Dependency { 'color-convert': '^2.0.1' }
simple_dyn_priv
//simple_dyn_priv(P,M)
// P : {[k]:Pdesc}
// Pdesc: {private:Boolean; priv_read_only:Boolean,public:Boolean }
// M : {[k]:method}
// method: Function
var cls = simple_dyn_priv(
{
a:{private:true,priv_read_only:true},
b:{public:true}
},
{
plus:function(){return(this.a+this.b)}
}
)
> cls
[Function: cls] {
P: { a: { private: true, priv_read_only: true }, b: { public: true } },
M: { plus: [Function: plus] }
}
> var c = new cls(111,22)
undefined
> c
cls {}
> c.a
111
> c.b
22
> c.plus()
133
> c.b =200
200
> c.b
200
> c.plus()
311
> c.a = 777
777
> c.a
111
>
*/
APIS
- fac_cls.SYM_CONSTRUCT
- fac_cls.creat_with_mixins(name,BaseCls,...mixins)
- fac_cls.json_to_clses(json,name='Main')
- fac_cls.simple_dyn_priv(prop_desc={},method_dict={})
LICENSE