node-ejs-renderer/node_modules/sonic-forest/lib/radix/RadixTree.js
2024-06-09 13:55:01 -04:00

26 lines
688 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RadixTree = void 0;
const TrieNode_1 = require("../trie/TrieNode");
const radix_1 = require("./radix");
class RadixTree extends TrieNode_1.TrieNode {
constructor() {
super('', undefined);
this.size = 0;
}
set(key, value) {
this.size += (0, radix_1.insert)(this, key, value);
}
get(key) {
const node = (0, radix_1.find)(this, key);
return node && node.v;
}
delete(key) {
const removed = (0, radix_1.remove)(this, key);
if (removed)
this.size--;
return removed;
}
}
exports.RadixTree = RadixTree;