26 lines
688 B
JavaScript
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;
|