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'; |
'use strict'; |
||||
|
|
||||
function init(list) { |
const msg = require('internal/util').printDeprecationMessage; |
||||
list._idleNext = list; |
|
||||
list._idlePrev = list; |
|
||||
} |
|
||||
exports.init = init; |
|
||||
|
|
||||
|
module.exports = require('internal/linkedlist'); |
||||
// show the most idle item
|
msg('_linklist module is deprecated. Please use a userland alternative.'); |
||||
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; |
|
||||
|
@ -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