mirror of
https://github.com/fooflington/selfdefined.git
synced 2025-06-10 21:01:41 +00:00
update
This commit is contained in:
33
node_modules/reusify/reusify.js
generated
vendored
Normal file
33
node_modules/reusify/reusify.js
generated
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
'use strict'
|
||||
|
||||
function reusify (Constructor) {
|
||||
var head = new Constructor()
|
||||
var tail = head
|
||||
|
||||
function get () {
|
||||
var current = head
|
||||
|
||||
if (current.next) {
|
||||
head = current.next
|
||||
} else {
|
||||
head = new Constructor()
|
||||
tail = head
|
||||
}
|
||||
|
||||
current.next = null
|
||||
|
||||
return current
|
||||
}
|
||||
|
||||
function release (obj) {
|
||||
tail.next = obj
|
||||
tail = obj
|
||||
}
|
||||
|
||||
return {
|
||||
get: get,
|
||||
release: release
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = reusify
|
Reference in New Issue
Block a user