1.0.1 • Published 2 years ago
nv-facutil-simple-slots v1.0.1
nv-facutil-simple-slots
- just a array of fixed size, start from 1
install
- npm install nv-facutil-simple-slots
usage
const {
DFLT_IS_EMPTY,
_get_usable,
simple_get_usable_with_slots,
creat_simple_slots,
load_from_ary
} = require("nv-facutil-simple-slots");
example
var slots = creat_simple_slots(5);
> slots
SimpleSlots(6) [
_SimpleHead(4) [ 5, undefined, 5, 1 ],
<5 empty items>
]
>
> slots.used_
0
> slots.lefted_
5
> slots.maxid_
5
> slots.empty_ === undefined
true
>
> slots.rent_slot_and_set(999)
1
> slots
SimpleSlots(6) [
_SimpleHead(4) [ 5, undefined, 4, 2 ],
999,
undefined,
undefined,
undefined,
undefined
]
> slots.rent_slot_and_set(888)
2
> slots.rent_slot_and_set(777)
3
> slots.rent_slot_and_set(666)
4
> slots.rent_slot_and_set(555)
5
> slots.rent_slot_and_set(444)
0
> slots.rent_slot_and_set(333)
0
> slots
SimpleSlots(6) [
_SimpleHead(4) [ 5, undefined, 0, 6 ],
999,
888,
777,
666,
555
]
>
> slots.take_and_rtrn_slot_at(3)
777
> slots
SimpleSlots(6) [
_SimpleHead(4) [ 5, undefined, 1, 1 ],
999,
888,
undefined,
666,
555
]
>
> slots.take_and_rtrn_slot_at(5)
555
> slots
SimpleSlots(6) [
_SimpleHead(4) [ 5, undefined, 2, 1 ],
999,
888,
undefined,
666,
undefined
]
>
> slots.rent_slot_and_set(444)
3
> slots
SimpleSlots(6) [
_SimpleHead(4) [ 5, undefined, 1, 4 ],
999,
888,
444,
666,
undefined
]
>
> slots.take_and_rtrn_slot_at(1)
999
> slots
SimpleSlots(6) [
_SimpleHead(4) [ 5, undefined, 2, 4 ],
undefined,
888,
444,
666,
undefined
]
>
> slots.used_
3
>
> slots
SimpleSlots(6) [
_SimpleHead(4) [ 5, undefined, 2, 4 ],
888,
444,
666,
undefined,
undefined
]>
APIS
- _get_usable = (ctx,slots,curr_id,min_id,max_id,is_empty)=> id@number,nid@number
- simple_get_usable_with_slots = (slots,curr_id,is_empty=DFLT_IS_EMPTY)=> id@number,nid@number
- creat_simple_slots = (max_id,empty=undefined,init_val=null)=>SimpleSlots
- load_from_ary = (ary,empty=undefined)=>SimpleSlots
METHODS
slots._is_slot_empty slots._rent_slot_and_set slots._take_and_rtrn_slot_at slots.constructor
slots.curr_ slots.empty_ slots.is_slot_empty slots.lefted_
slots.maxid_ slots.rent_slot_and_set slots.take_and_rtrn_slot_at slots.used_
slots.defrag
slots.dump
LICENSE
- ISC
1.0.1
2 years ago