mirror of https://github.com/lukechilds/node.git
Browse Source
Deprecate _linklist and add test to confirm internal linklist and public _linklist are the same. PR-URL: https://github.com/nodejs/node/pull/3078 Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>v5.x
5 changed files with 72 additions and 60 deletions
@ -1,57 +1,6 @@ |
|||
'use strict'; |
|||
|
|||
function init(list) { |
|||
list._idleNext = list; |
|||
list._idlePrev = list; |
|||
} |
|||
exports.init = init; |
|||
const msg = require('internal/util').printDeprecationMessage; |
|||
|
|||
|
|||
// show the most idle item
|
|||
function peek(list) { |
|||
if (list._idlePrev == list) return null; |
|||
return list._idlePrev; |
|||
} |
|||
exports.peek = peek; |
|||
|
|||
|
|||
// remove the most idle item from the list
|
|||
function shift(list) { |
|||
var first = list._idlePrev; |
|||
remove(first); |
|||
return first; |
|||
} |
|||
exports.shift = shift; |
|||
|
|||
|
|||
// remove a item from its list
|
|||
function remove(item) { |
|||
if (item._idleNext) { |
|||
item._idleNext._idlePrev = item._idlePrev; |
|||
} |
|||
|
|||
if (item._idlePrev) { |
|||
item._idlePrev._idleNext = item._idleNext; |
|||
} |
|||
|
|||
item._idleNext = null; |
|||
item._idlePrev = null; |
|||
} |
|||
exports.remove = remove; |
|||
|
|||
|
|||
// remove a item from its list and place at the end.
|
|||
function append(list, item) { |
|||
remove(item); |
|||
item._idleNext = list._idleNext; |
|||
list._idleNext._idlePrev = item; |
|||
item._idlePrev = list; |
|||
list._idleNext = item; |
|||
} |
|||
exports.append = append; |
|||
|
|||
|
|||
function isEmpty(list) { |
|||
return list._idleNext === list; |
|||
} |
|||
exports.isEmpty = isEmpty; |
|||
module.exports = require('internal/linkedlist'); |
|||
msg('_linklist module is deprecated. Please use a userland alternative.'); |
|||
|
@ -0,0 +1,57 @@ |
|||
'use strict'; |
|||
|
|||
function init(list) { |
|||
list._idleNext = list; |
|||
list._idlePrev = list; |
|||
} |
|||
exports.init = init; |
|||
|
|||
|
|||
// show the most idle item
|
|||
function peek(list) { |
|||
if (list._idlePrev == list) return null; |
|||
return list._idlePrev; |
|||
} |
|||
exports.peek = peek; |
|||
|
|||
|
|||
// remove the most idle item from the list
|
|||
function shift(list) { |
|||
var first = list._idlePrev; |
|||
remove(first); |
|||
return first; |
|||
} |
|||
exports.shift = shift; |
|||
|
|||
|
|||
// remove a item from its list
|
|||
function remove(item) { |
|||
if (item._idleNext) { |
|||
item._idleNext._idlePrev = item._idlePrev; |
|||
} |
|||
|
|||
if (item._idlePrev) { |
|||
item._idlePrev._idleNext = item._idleNext; |
|||
} |
|||
|
|||
item._idleNext = null; |
|||
item._idlePrev = null; |
|||
} |
|||
exports.remove = remove; |
|||
|
|||
|
|||
// remove a item from its list and place at the end.
|
|||
function append(list, item) { |
|||
remove(item); |
|||
item._idleNext = list._idleNext; |
|||
list._idleNext._idlePrev = item; |
|||
item._idlePrev = list; |
|||
list._idleNext = item; |
|||
} |
|||
exports.append = append; |
|||
|
|||
|
|||
function isEmpty(list) { |
|||
return list._idleNext === list; |
|||
} |
|||
exports.isEmpty = isEmpty; |
Loading…
Reference in new issue