articulated 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/commonjs/id_list.d.ts +3 -1
- package/build/commonjs/id_list.js +3 -1
- package/build/commonjs/id_list.js.map +1 -1
- package/build/commonjs/internal/leaf_map.js +2 -4
- package/build/commonjs/internal/leaf_map.js.map +1 -1
- package/build/commonjs/internal/seq_map.d.ts +1 -1
- package/build/commonjs/internal/seq_map.js +2 -4
- package/build/commonjs/internal/seq_map.js.map +1 -1
- package/build/commonjs/vendor/functional-red-black-tree.d.ts +8 -0
- package/build/commonjs/vendor/functional-red-black-tree.js +911 -0
- package/build/commonjs/vendor/functional-red-black-tree.js.map +1 -0
- package/build/esm/id_list.d.ts +3 -1
- package/build/esm/id_list.js +3 -1
- package/build/esm/id_list.js.map +1 -1
- package/build/esm/internal/leaf_map.js +2 -4
- package/build/esm/internal/leaf_map.js.map +1 -1
- package/build/esm/internal/seq_map.d.ts +1 -1
- package/build/esm/internal/seq_map.js +2 -4
- package/build/esm/internal/seq_map.js.map +1 -1
- package/build/esm/vendor/functional-red-black-tree.d.ts +8 -0
- package/build/esm/vendor/functional-red-black-tree.js +911 -0
- package/build/esm/vendor/functional-red-black-tree.js.map +1 -0
- package/package.json +1 -2
- package/src/id_list.ts +3 -1
- package/src/internal/leaf_map.ts +2 -4
- package/src/internal/seq_map.ts +2 -4
- package/src/vendor/functional-red-black-tree.d.ts +177 -0
- package/src/vendor/functional-red-black-tree.js +938 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functional-red-black-tree.js","sourceRoot":"","sources":["../../../src/vendor/functional-red-black-tree.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "articulated",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "A TypeScript library for managing stable element identifiers in mutable lists",
|
|
5
5
|
"author": "Matthew Weidner",
|
|
6
6
|
"license": "MIT",
|
|
@@ -33,7 +33,6 @@
|
|
|
33
33
|
},
|
|
34
34
|
"sideEffects": false,
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"functional-red-black-tree": "^1.0.1",
|
|
37
36
|
"sparse-array-rled": "^2.0.1"
|
|
38
37
|
},
|
|
39
38
|
"devDependencies": {
|
package/src/id_list.ts
CHANGED
|
@@ -954,7 +954,9 @@ export class KnownIdView {
|
|
|
954
954
|
}
|
|
955
955
|
|
|
956
956
|
/**
|
|
957
|
-
* Returns the index of `id` in this view
|
|
957
|
+
* Returns the index of `id` in this view.
|
|
958
|
+
*
|
|
959
|
+
* @throws If `id` is not known.
|
|
958
960
|
*/
|
|
959
961
|
indexOf(id: ElementId): number {
|
|
960
962
|
// @ts-expect-error Ignore private
|
package/src/internal/leaf_map.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import createRBTree, { Tree } from "functional-red-black-tree";
|
|
1
|
+
import createRBTree, { Tree } from "../vendor/functional-red-black-tree";
|
|
2
2
|
import type { LeafNode } from "../id_list";
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -30,9 +30,7 @@ export class LeafMap {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
set(leaf: LeafNode, seq: number): LeafMap {
|
|
33
|
-
|
|
34
|
-
// so we can avoid this 2x penalty.
|
|
35
|
-
return new LeafMap(this.tree.remove(leaf).insert(leaf, seq));
|
|
33
|
+
return new LeafMap(this.tree.set(leaf, seq));
|
|
36
34
|
}
|
|
37
35
|
|
|
38
36
|
delete(leaf: LeafNode): LeafMap {
|
package/src/internal/seq_map.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import createRBTree, { Tree } from "functional-red-black-tree";
|
|
1
|
+
import createRBTree, { Tree } from "../vendor/functional-red-black-tree";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* A persistent map from an InnerNode's seq to its parent's seq
|
|
@@ -28,9 +28,7 @@ export class SeqMap {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
set(seq: number, value: number): SeqMap {
|
|
31
|
-
|
|
32
|
-
// so we can avoid this 2x penalty.
|
|
33
|
-
return new SeqMap(this.tree.remove(seq).insert(seq, value), this.nextSeq);
|
|
31
|
+
return new SeqMap(this.tree.set(seq, value), this.nextSeq);
|
|
34
32
|
}
|
|
35
33
|
|
|
36
34
|
// delete(seq: number): SeqMap {
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
// Modified from https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/functional-red-black-tree/functional-red-black-tree-tests.ts
|
|
2
|
+
// which is MIT Licensed.
|
|
3
|
+
|
|
4
|
+
declare namespace createRBTree {
|
|
5
|
+
/** Represents a functional red-black tree. */
|
|
6
|
+
interface Tree<K, V> {
|
|
7
|
+
/** Returns the root node of the tree. */
|
|
8
|
+
root: Node<K, V>;
|
|
9
|
+
|
|
10
|
+
// /** A sorted array of all keys in the tree. */
|
|
11
|
+
// readonly keys: K[];
|
|
12
|
+
|
|
13
|
+
// /** An array of all values in the tree, sorted by key. */
|
|
14
|
+
// readonly values: V[];
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Creates a new tree with `key` set to `value`, overwriting any
|
|
18
|
+
* existing value.
|
|
19
|
+
*
|
|
20
|
+
* @param key The key of the item to insert.
|
|
21
|
+
* @param value The value of the item to insert.
|
|
22
|
+
* @returns A new tree with `key` set to `value`.
|
|
23
|
+
*/
|
|
24
|
+
set: (key: K, value: V) => Tree<K, V>;
|
|
25
|
+
|
|
26
|
+
// /**
|
|
27
|
+
// * Walks a visitor function over the nodes of the tree in order.
|
|
28
|
+
// *
|
|
29
|
+
// * @param visitor The callback to be executed on each node. If a truthy
|
|
30
|
+
// * value is returned from the visitor, then iteration is stopped.
|
|
31
|
+
// * @param lo An optional start of the range to visit (inclusive).
|
|
32
|
+
// * @param hi An optional end of the range to visit (non-inclusive).
|
|
33
|
+
// * @returns The last value returned by the callback.
|
|
34
|
+
// */
|
|
35
|
+
// forEach: {
|
|
36
|
+
// <T>(visitor: (key: K, value: V) => T): T;
|
|
37
|
+
// // tslint:disable-next-line:unified-signatures
|
|
38
|
+
// <T>(visitor: (key: K, value: V) => T, lo: K, hi?: K): T;
|
|
39
|
+
// };
|
|
40
|
+
|
|
41
|
+
// /** An iterator pointing to the first element in the tree. */
|
|
42
|
+
// readonly begin: Iterator<K, V>;
|
|
43
|
+
|
|
44
|
+
// /** An iterator pointing to the last element in the tree. */
|
|
45
|
+
// readonly end: Iterator<K, V>;
|
|
46
|
+
|
|
47
|
+
// /**
|
|
48
|
+
// * Finds the first item in the tree whose key is >= `key`.
|
|
49
|
+
// *
|
|
50
|
+
// * @param key The key to search for.
|
|
51
|
+
// * @returns An iterator at the given element.
|
|
52
|
+
// */
|
|
53
|
+
// ge: (key: K) => Iterator<K, V>;
|
|
54
|
+
|
|
55
|
+
// /**
|
|
56
|
+
// * Finds the first item in the tree whose key is > `key`.
|
|
57
|
+
// *
|
|
58
|
+
// * @param key The key to search for.
|
|
59
|
+
// * @returns An iterator at the given element.
|
|
60
|
+
// */
|
|
61
|
+
// gt: (key: K) => Iterator<K, V>;
|
|
62
|
+
|
|
63
|
+
// /**
|
|
64
|
+
// * Finds the last item in the tree whose key is < `key`.
|
|
65
|
+
// *
|
|
66
|
+
// * @param key The key to search for.
|
|
67
|
+
// * @returns An iterator at the given element.
|
|
68
|
+
// */
|
|
69
|
+
// lt: (key: K) => Iterator<K, V>;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Finds the last item in the tree whose key is <= `key`.
|
|
73
|
+
*
|
|
74
|
+
* @param key The key to search for.
|
|
75
|
+
* @returns An iterator at the given element.
|
|
76
|
+
*/
|
|
77
|
+
le: (key: K) => Iterator<K, V>;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* @returns An iterator pointing to the first item in the tree with `key`, otherwise null.
|
|
81
|
+
*/
|
|
82
|
+
find: (key: K) => Iterator<K, V>;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Removes the first item with `key` in the tree.
|
|
86
|
+
*
|
|
87
|
+
* @param key The key of the item to remove.
|
|
88
|
+
* @returns A new tree with the given item removed, if it exists.
|
|
89
|
+
*/
|
|
90
|
+
remove: (key: K) => Tree<K, V>;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Retrieves the value associated with `key`.
|
|
94
|
+
*
|
|
95
|
+
* @param key The key of the item to look up.
|
|
96
|
+
* @returns The value of the first node associated with `key`.
|
|
97
|
+
*/
|
|
98
|
+
// eslint-disable-next-line @typescript-eslint/no-invalid-void-type
|
|
99
|
+
get: (key: K) => V | void;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/** Iterates through the nodes in a red-black tree. */
|
|
103
|
+
interface Iterator<K, V> {
|
|
104
|
+
/** The tree associated with the iterator. */
|
|
105
|
+
tree: Tree<K, V>;
|
|
106
|
+
|
|
107
|
+
// /** Checks if the iterator is valid. */
|
|
108
|
+
// readonly valid: boolean;
|
|
109
|
+
|
|
110
|
+
// /**
|
|
111
|
+
// * The value of the node at the iterator's current position, or null if the
|
|
112
|
+
// * iterator is invalid.
|
|
113
|
+
// */
|
|
114
|
+
// readonly node: Node<K, V> | null;
|
|
115
|
+
|
|
116
|
+
// /** Makes a copy of the iterator. */
|
|
117
|
+
// clone: () => Iterator<K, V>;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Removes the iterator's current item form the tree.
|
|
121
|
+
*
|
|
122
|
+
* @returns A new binary search tree with the item removed.
|
|
123
|
+
*/
|
|
124
|
+
remove: () => Tree<K, V>;
|
|
125
|
+
|
|
126
|
+
/** The key of the iterator's current item. */
|
|
127
|
+
readonly key?: K | undefined;
|
|
128
|
+
|
|
129
|
+
/** The value of the iterator's current item. */
|
|
130
|
+
readonly value?: V | undefined;
|
|
131
|
+
|
|
132
|
+
// /** Advances the iterator to the next position. */
|
|
133
|
+
// next: () => void;
|
|
134
|
+
|
|
135
|
+
// /** If true, then the iterator is not at the end of the sequence. */
|
|
136
|
+
// readonly hasNext: boolean;
|
|
137
|
+
|
|
138
|
+
// /**
|
|
139
|
+
// * Updates the value of the iterator's current item.
|
|
140
|
+
// *
|
|
141
|
+
// * @returns A new binary search tree with the corresponding node updated.
|
|
142
|
+
// */
|
|
143
|
+
// update: (value: V) => Tree<K, V>;
|
|
144
|
+
|
|
145
|
+
// /** Moves the iterator backward one element. */
|
|
146
|
+
// prev: () => void;
|
|
147
|
+
|
|
148
|
+
// /** If true, then the iterator is not at the beginning of the sequence. */
|
|
149
|
+
// readonly hasPrev: boolean;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/** Represents a node in a red-black tree. */
|
|
153
|
+
interface Node<K, V> {
|
|
154
|
+
/** The key associated with the node. */
|
|
155
|
+
key: K;
|
|
156
|
+
|
|
157
|
+
/** The value associated with the node. */
|
|
158
|
+
value: V;
|
|
159
|
+
|
|
160
|
+
/** The left subtree of the node. */
|
|
161
|
+
left: Tree<K, V>;
|
|
162
|
+
|
|
163
|
+
/** The right subtree of the node. */
|
|
164
|
+
right: Tree<K, V>;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Creates an empty red-black tree.
|
|
170
|
+
*
|
|
171
|
+
* @param compare Comparison function, same semantics as array.sort().
|
|
172
|
+
* @returns An empty tree ordered by `compare`.
|
|
173
|
+
*/
|
|
174
|
+
declare function createRBTree<K, V>(
|
|
175
|
+
compare: (key1: K, key2: K) => number
|
|
176
|
+
): createRBTree.Tree<K, V>;
|
|
177
|
+
export = createRBTree;
|