| 123456789101112131415161718192021222324252627282930313233 | 
							- '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
 
 
  |