0.0.2 • Published 3 years ago
nv-facutil-pattern v0.0.2
nv-facutil-pattern
- nv-facutil-pattern
- util for split function params with a nest-pattern-array
install
- npm install nv-facutil-pattern
usage
- ptrn-name must be String
- ptrn-name can NOT include "|"
const {
creat_ptrn_engine,
creat_zipper,
unzip,
} = require("nv-facutil-pattern");
example
zip
var params = [ 10, 20, 30, 40, 50, 60, 70, 80 ]
var ptrn = ['a',['b','c', 'd', 'e','f','g'],'h']
var zip = creat_zipper(ptrn)
zip(params)
>
{
a: 10,
'b|c|d|e|f|g': { b: 20, c: 30, d: 40, e: 50, f: 60, g: 70 },
h: 80
}
>
var ptrn = ['a',['b','c'], 'd', ['e','f','g','h']]
var zip = creat_zipper(ptrn)
var j = zip(params)
/*
> j
{
a: 10,
'b|c': { b: 20, c: 30 },
d: 40,
'e|f|g|h': { e: 50, f: 60, g: 70, h: 80 }
}
>
*/
var ptrn = ['a',['b','c', 'd', 'e','f','g','h']]
unzip
unzip(j)
/*
> unzip(j)
{
params: [
10, 20, 30, 40,
50, 60, 70, 80
],
ptrn: [ 'a', [ 'b', 'c' ], 'd', [ 'e', 'f', 'g', 'h' ] ],
eng: [...<4 unshow>...],
forest: Forest {
fid: 'fe772507-eaf6-4579-bf25-4b2ee7f9d09e',
max_size: 10000,
idpool: { minid_: 1, maxid_: 10000, used_: 11, lefted_: 9989 }
}
}
>
*/
API
- creat_ptrn_engine(ptrn,max_size,rtrn_forest=false)
- zip_with_eng(params,eng)
- zip_with_ptrn(params,ptrn,max_size=10000)
- creat_zipper(ptrn,max_size=10000)
- unzip(j,max_size=10000)
LICENSE
- ISC
0.0.2
3 years ago