Socket
Socket
Sign inDemoInstall

@blackglory/structures

Package Overview
Dependencies
Maintainers
1
Versions
101
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@blackglory/structures - npm Package Compare versions

Comparing version 0.11.6 to 0.11.7

lib/es2015/radix-tree.d.ts

3

lib/es2015/index.d.ts

@@ -14,2 +14,5 @@ export * from './box';

export * from './trie-map';
export * from './string-trie-map';
export { RadixTree } from './radix-tree';
export { StringRadixTree } from './string-radix-tree';
export * from './sparse-set';

@@ -16,0 +19,0 @@ export * from './sparse-map';

@@ -17,3 +17,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.DynamicTypedArray = void 0;
exports.DynamicTypedArray = exports.StringRadixTree = exports.RadixTree = void 0;
__exportStar(require("./box"), exports);

@@ -32,2 +32,7 @@ __exportStar(require("./cons"), exports);

__exportStar(require("./trie-map"), exports);
__exportStar(require("./string-trie-map"), exports);
var radix_tree_1 = require("./radix-tree");
Object.defineProperty(exports, "RadixTree", { enumerable: true, get: function () { return radix_tree_1.RadixTree; } });
var string_radix_tree_1 = require("./string-radix-tree");
Object.defineProperty(exports, "StringRadixTree", { enumerable: true, get: function () { return string_radix_tree_1.StringRadixTree; } });
__exportStar(require("./sparse-set"), exports);

@@ -34,0 +39,0 @@ __exportStar(require("./sparse-map"), exports);

40

lib/es2015/trie-map.js

@@ -21,9 +21,9 @@ "use strict";

yield* dfs(this.root, []);
function* dfs(node, paths) {
for (const [path, childNode] of node.children) {
const newPaths = [...paths, path];
function* dfs(node, path) {
for (const [subPath, childNode] of node.children) {
const newPath = [...path, subPath];
if ((0, extra_utils_1.isntUndefined)(childNode.value)) {
yield [newPaths, childNode.value];
yield [newPath, childNode.value];
}
yield* dfs(childNode, newPaths);
yield* dfs(childNode, newPath);
}

@@ -40,7 +40,7 @@ }

let node = this.root;
for (const part of key) {
if (!node.children.has(part)) {
node.children.set(part, new TrieNode());
for (const unitOfKey of key) {
if (!node.children.has(unitOfKey)) {
node.children.set(unitOfKey, new TrieNode());
}
node = node.children.get(part);
node = node.children.get(unitOfKey);
}

@@ -52,5 +52,5 @@ node.value = value;

let node = this.root;
for (const part of key) {
if (node.children.has(part)) {
node = node.children.get(part);
for (const unitOfKey of key) {
if (node.children.has(unitOfKey)) {
node = node.children.get(unitOfKey);
}

@@ -65,5 +65,5 @@ else {

let node = this.root;
for (const part of key) {
if (node.children.has(part)) {
node = node.children.get(part);
for (const unitOfKey of key) {
if (node.children.has(unitOfKey)) {
node = node.children.get(unitOfKey);
}

@@ -79,6 +79,6 @@ else {

let node = this.root;
for (const part of key) {
if (node.children.has(part)) {
for (const unitOfKey of key) {
if (node.children.has(unitOfKey)) {
parentNodes.push(node);
node = node.children.get(part);
node = node.children.get(unitOfKey);
}

@@ -91,4 +91,4 @@ else {

if (node.children.size === 0) {
for (const [part, parentNode] of (0, iterable_operator_1.toArray)((0, iterable_operator_1.zip)(key, parentNodes)).reverse()) {
parentNode.children.delete(part);
for (const [unitOfKey, parentNode] of (0, iterable_operator_1.toArray)((0, iterable_operator_1.zip)(key, parentNodes)).reverse()) {
parentNode.children.delete(unitOfKey);
if (parentNode.children.size !== 0)

@@ -95,0 +95,0 @@ break;

@@ -14,2 +14,5 @@ export * from './box';

export * from './trie-map';
export * from './string-trie-map';
export { RadixTree } from './radix-tree';
export { StringRadixTree } from './string-radix-tree';
export * from './sparse-set';

@@ -16,0 +19,0 @@ export * from './sparse-map';

@@ -17,3 +17,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.DynamicTypedArray = void 0;
exports.DynamicTypedArray = exports.StringRadixTree = exports.RadixTree = void 0;
__exportStar(require("./box"), exports);

@@ -32,2 +32,7 @@ __exportStar(require("./cons"), exports);

__exportStar(require("./trie-map"), exports);
__exportStar(require("./string-trie-map"), exports);
var radix_tree_1 = require("./radix-tree");
Object.defineProperty(exports, "RadixTree", { enumerable: true, get: function () { return radix_tree_1.RadixTree; } });
var string_radix_tree_1 = require("./string-radix-tree");
Object.defineProperty(exports, "StringRadixTree", { enumerable: true, get: function () { return string_radix_tree_1.StringRadixTree; } });
__exportStar(require("./sparse-set"), exports);

@@ -34,0 +39,0 @@ __exportStar(require("./sparse-map"), exports);

@@ -21,9 +21,9 @@ "use strict";

yield* dfs(this.root, []);
function* dfs(node, paths) {
for (const [path, childNode] of node.children) {
const newPaths = [...paths, path];
function* dfs(node, path) {
for (const [subPath, childNode] of node.children) {
const newPath = [...path, subPath];
if ((0, extra_utils_1.isntUndefined)(childNode.value)) {
yield [newPaths, childNode.value];
yield [newPath, childNode.value];
}
yield* dfs(childNode, newPaths);
yield* dfs(childNode, newPath);
}

@@ -40,7 +40,7 @@ }

let node = this.root;
for (const part of key) {
if (!node.children.has(part)) {
node.children.set(part, new TrieNode());
for (const unitOfKey of key) {
if (!node.children.has(unitOfKey)) {
node.children.set(unitOfKey, new TrieNode());
}
node = node.children.get(part);
node = node.children.get(unitOfKey);
}

@@ -52,5 +52,5 @@ node.value = value;

let node = this.root;
for (const part of key) {
if (node.children.has(part)) {
node = node.children.get(part);
for (const unitOfKey of key) {
if (node.children.has(unitOfKey)) {
node = node.children.get(unitOfKey);
}

@@ -65,5 +65,5 @@ else {

let node = this.root;
for (const part of key) {
if (node.children.has(part)) {
node = node.children.get(part);
for (const unitOfKey of key) {
if (node.children.has(unitOfKey)) {
node = node.children.get(unitOfKey);
}

@@ -79,6 +79,6 @@ else {

let node = this.root;
for (const part of key) {
if (node.children.has(part)) {
for (const unitOfKey of key) {
if (node.children.has(unitOfKey)) {
parentNodes.push(node);
node = node.children.get(part);
node = node.children.get(unitOfKey);
}

@@ -91,4 +91,4 @@ else {

if (node.children.size === 0) {
for (const [part, parentNode] of (0, iterable_operator_1.toArray)((0, iterable_operator_1.zip)(key, parentNodes)).reverse()) {
parentNode.children.delete(part);
for (const [unitOfKey, parentNode] of (0, iterable_operator_1.toArray)((0, iterable_operator_1.zip)(key, parentNodes)).reverse()) {
parentNode.children.delete(unitOfKey);
if (parentNode.children.size !== 0)

@@ -95,0 +95,0 @@ break;

{
"name": "@blackglory/structures",
"version": "0.11.6",
"version": "0.11.7",
"description": "",

@@ -42,3 +42,2 @@ "files": [

"devDependencies": {
"@blackglory/jest-matchers": "^0.5.0",
"@commitlint/cli": "^17.3.0",

@@ -48,7 +47,7 @@ "@commitlint/config-conventional": "^17.3.0",

"@types/node": "14",
"@typescript-eslint/eslint-plugin": "^5.45.1",
"@typescript-eslint/parser": "^5.45.1",
"eslint": "^8.29.0",
"@typescript-eslint/eslint-plugin": "^5.47.0",
"@typescript-eslint/parser": "^5.47.0",
"eslint": "^8.30.0",
"extra-benchmark": "^0.2.2",
"extra-generator": "^0.2.21",
"extra-generator": "^0.2.22",
"husky": "^4.3.8",

@@ -68,9 +67,9 @@ "jest": "^29.3.1",

"dependencies": {
"@blackglory/errors": "^2.3.0",
"@blackglory/errors": "^2.4.1",
"@blackglory/go": "^1.1.2",
"extra-timers": "^0.2.5",
"extra-utils": "^3.5.1",
"extra-utils": "^4.0.0",
"iterable-operator": "^2.5.0",
"justypes": "^3.1.2"
"justypes": "^4.0.0"
}
}

@@ -268,2 +268,50 @@ # structures

### StringTrieMap
```ts
class StringTrieMap<T> {
get [Symbol.toStringTag](): string
keys(): IterableIterator<string>
values(): IterableIterator<T>
entries(): IterableIterator<[key: string, value: T]>
set(key: string, value: T): this
has(key: string): boolean
get(key: string): T | undefined
delete(key: string): boolean
}
```
### RadixTree
```ts
class RadixTree<K extends Iterable<T>, V, T = unknown> {
get [Symbol.toStringTag](): string
entries(): IterableIterator<[key: T[], value: V]>
keys(): IterableIterator<T[]>
values(): IterableIterator<V>
set(key: K, value: V): this
has(key: K): boolean
get(key: K): V | undefined
delete(key: K): boolean
}
```
### StringRadixTree
```ts
class StringRadixTree<T> {
get [Symbol.toStringTag](): string
keys(): IterableIterator<string>
values(): IterableIterator<T>
entries(): IterableIterator<[key: string, value: T]>
set(key: string, value: T): this
has(key: string): boolean
get(key: string): T | undefined
delete(key: string): boolean
}
```
### SparseSet

@@ -270,0 +318,0 @@ ```ts

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc