1.0.0 • Published 3 years ago
nv-facutil-pool v1.0.0
nv-facutil-pool
- nv-facutil-pool for reusable-object
install
- npm install nv-facutil-pool
usage
const {_Cfg,Pool} = require("nv-facutil-pool");
var pool = new Pool(cfg)
//cfg
{
this.cache = undefined;
this.ctrl = 0;
this.size = 100000;
this.init_func = (pool)=>0;
this.is_inuse = (r)=>r!==0;
this.rtrn_func = (r)=>0;
this.rent_func = (r,id,pool)=>1;
}
//pool.rtrn(id)
//pool.rent():[id,O]
example
var init_func = (pool)=> {
let o = {_used:false}
return(o)
}
var is_inuse = (r) => r._used!==false ;
var rtrn_func = (r) => {
r._used=false;
return(r)
} ;
var rent_func = (r,id,pool) => {
r._used=true;
return(r)
} ;
var pool = new Pool({
size:10,
init_func,
is_inuse,
rtrn_func,
rent_func
})
> pool
Pool [{
"size_": 10,
"used_": 0,
"lefted_": 10,
"ctrl_": 0
}] {}
>
> pool.rent()
[ 0, { _used: true } ]
> pool.rent()
[ 1, { _used: true } ]
> pool.rent()
[ 2, { _used: true } ]
> pool.rent()
[ 3, { _used: true } ]
> pool.rent()
[ 4, { _used: true } ]
> pool.rent()
[ 5, { _used: true } ]
> pool.rent()
[ 6, { _used: true } ]
> pool.rent()
[ 7, { _used: true } ]
> pool.rent()
[ 8, { _used: true } ]
> pool.rent()
[ 9, { _used: true } ]
> pool.rent()
[ -1, undefined ]
> pool.rent()
[ -1, undefined ]
> pool.rtrn(4)
> pool.rent()
[ 4, { _used: true } ]
METHODS
pool.cache_ pool.constructor pool.ctrl_ pool.init_func_ pool.is_full
pool.is_inuse_ pool.is_inuse_at pool.is_usable_at pool.lefted_ pool.rent
pool.rent_func_ pool.reset pool.rtrn pool.rtrn_func_ pool.size_
pool.used_
LICENSE
- ISC