/
TON618OFF
/
FinalPWHTML
Обзор
Документация
Войти
/
TON618OFF
/
FinalPWHTML
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
node_modules/symbol-tree/lib/SymbolTreeNode.js
54 строки
2 KB
TON618OFF
не ну это ваще
23 июн 2024, 00:30
23 июн 2024, 00:30
e27ae20
Код
Авторство
О чём код?
'use strict'; module.exports = class SymbolTreeNode { constructor() { this.parent = null; this.previousSibling = null; this.nextSibling = null; this.firstChild = null; this.lastChild = null; /** This value is incremented anytime a children is added or removed */ this.childrenVersion = 0; /** The last child object which has a cached index */ this.childIndexCachedUpTo = null; /** This value represents the cached node index, as long as * cachedIndexVersion matches with the childrenVersion of the parent */ this.cachedIndex = -1; this.cachedIndexVersion = NaN; // NaN is never equal to anything } get isAttached() { return Boolean(this.parent || this.previousSibling || this.nextSibling); } get hasChildren() { return Boolean(this.firstChild); } childrenChanged() { /* jshint -W016 */ // integer wrap around this.childrenVersion = (this.childrenVersion + 1) & 0xFFFFFFFF; this.childIndexCachedUpTo = null; } getCachedIndex(parentNode) { // (assumes parentNode is actually the parent) if (this.cachedIndexVersion !== parentNode.childrenVersion) { this.cachedIndexVersion = NaN; // cachedIndex is no longer valid return -1; } return this.cachedIndex; // -1 if not cached } setCachedIndex(parentNode, index) { // (assumes parentNode is actually the parent) this.cachedIndexVersion = parentNode.childrenVersion; this.cachedIndex = index; } };