0.0.4 • Published 3 years ago

nv-browser-ele-pool v0.0.4

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

nv-browser-ele-pool

  • nv-browser-ele-pool
  • element pool, used in browser

install

  • npm install nv-browser-ele-pool

usage

 <script src="nv-bw-ele-pool.js"></script>

 const {
     creat_pool,
     EleCfg,
     get_tagname_from_cls
 } = elepool;

 //cfg:EleCfg
 {
    size: 100000
    is_custom: true
    tag: "ele-", 
    Pcls:HTMLElement 
 }

 var pool = creat_pool({size:10000})

example

custom element

    var pool = creat_pool({size:10000,tag:"my-ele"})
    var el0 = pool.createElement()
    el0
    >  <my-ele></my-ele>

    el0.pool_
    > Pool {#ctrl: 0, #cache: Array(10000), #is_inuse: ƒ, #init_func: ƒ, #rtrn_func: ƒ, …}
    el0.id_
    > 0
    pool.used_
    >1
    pool.lefted_
    >99999

    el0.rtrn_self()  //return the element,such as when you disconnect it from document flow
    pool.used_
    >0
    el0.id_
    >-1

built-in element

    var pool = creat_pool({size:10000,Pcls:HTMLDivElement,is_custom:false})
    var el0 = pool.createElement()
    >
        <div></div>
    el0.pool_
    > Pool {#ctrl: 0, #cache: Array(10000), #is_inuse: ƒ, #init_func: ƒ, #rtrn_func: ƒ, …}
    el0.id_
    > 0
    pool.used_
    >1
    pool.lefted_
    >99999

    el0.rtrn_self()         //return the element,such as when you disconnect it from document flow
    pool.used_
    >0
    el0.id_
    >-1

Customized built-in element

    var pool = creat_pool({size:10000,tag:'my-btn',Pcls:HTMLButtonElement,is_custom:true})
    var el0 = pool.createElement()
    > <my-btn></my-btn>

    el0.pool_
    > Pool {#ctrl: 0, #cache: Array(10000), #is_inuse: ƒ, #init_func: ƒ, #rtrn_func: ƒ, …}
    el0.id_
    > 0
    pool.used_
    >1
    pool.lefted_
    >99999

    el0.rtrn_self() //return the element,such as when you disconnect it from document flow
    pool.used_
    >0
    el0.id_
    >-1

METHODS

pool

 pool.createElement()
 pool.size_
 pool.used_
 pool.lefted_

Element

ele.pool_
ele.id_
ele.rtrn_self()                 //return the element to pool

API

example

     elepool.get_tagname_from_cls(HTMLButtonElement)
     > "button"

LICENSE

  • ISC