@derivesome/core 1.0.2 → 1.0.3

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.
@@ -0,0 +1,62 @@
1
+ import { describe, assert } from "vitest";
2
+ import { ref } from "./reference";
3
+ import { Context } from "./context";
4
+ import { derived } from './derived';
5
+
6
+ describe("reference", (it) => {
7
+ it("notifies subscribers through context", () => {
8
+ const r = ref<number>(0);
9
+
10
+ let last: number = -1;
11
+
12
+ Context.runEffect(() => {
13
+ const next = r.get();
14
+ last = next;
15
+ });
16
+
17
+ assert.strictEqual(last, 0);
18
+
19
+ r.set(1);
20
+ assert.strictEqual(last, 1);
21
+
22
+ r.set(2);
23
+ assert.strictEqual(last, 2);
24
+
25
+ r.set(3);
26
+ assert.strictEqual(last, 3);
27
+
28
+ r.dispose();
29
+
30
+ r.set(4);
31
+ assert.strictEqual(last, 3);
32
+ });
33
+
34
+ it("properly proxies Maps", () => {
35
+ const r = ref(new Map<string, number>);
36
+
37
+ const sum = derived(() => Array.from(r.get().values()).reduce((a, b) => a + b, 0));
38
+
39
+ assert.strictEqual(sum.peek(), 0);
40
+
41
+ r.peek().set('x', 1);
42
+
43
+ assert.strictEqual(sum.peek(), 1);
44
+
45
+ r.peek().set('x', 2);
46
+
47
+ assert.strictEqual(sum.peek(), 2);
48
+
49
+ r.peek().set('y', 1);
50
+
51
+ assert.strictEqual(sum.peek(), 3);
52
+
53
+ r.peek().delete('y');
54
+
55
+ assert.strictEqual(sum.peek(), 2);
56
+
57
+ r.peek().delete('x');
58
+
59
+ assert.strictEqual(sum.peek(), 0);
60
+
61
+ })
62
+ });
package/src/reference.ts CHANGED
@@ -6,6 +6,7 @@ import { Context } from "./context";
6
6
  import { Effect } from "./effect";
7
7
  import { observable, Observable } from "./observable";
8
8
  import { pubsub } from "./pubsub";
9
+ import { maybeProxy } from "./utils/maybeProxy";
9
10
 
10
11
  export const REFERENCE = Symbol("Reference");
11
12
  export type REFERENCE = typeof REFERENCE;
@@ -19,7 +20,7 @@ export interface Reference<T> extends Observable<T> {
19
20
 
20
21
  export function ref<T>(value: T): Reference<T> {
21
22
  const ps = pubsub<T>();
22
- const state: Boxed<T> = { value };
23
+ const state: Boxed<T> = { value: maybeProxy(value) };
23
24
  const obs = observable<T>(state, ps);
24
25
 
25
26
  const addEffectDependency = (fx: Effect) => {
@@ -34,7 +35,7 @@ export function ref<T>(value: T): Reference<T> {
34
35
 
35
36
  const set: Dispatch<SetStateAction<T>> = (fn) => {
36
37
  const prev = state.value;
37
- const next = isFunction(fn) ? fn(state.value) : fn;
38
+ const next = maybeProxy(isFunction(fn) ? fn(state.value) : fn);
38
39
  if (!compare(next, prev)) {
39
40
  state.value = next;
40
41
  ps.publish(state.value);
@@ -0,0 +1,63 @@
1
+ import { has } from "./common";
2
+ import { compare } from "./common/compare";
3
+ import { isFunction } from "./common/is";
4
+ import { Boxed, Dispatch, Loose, SetStateAction } from "./common/types";
5
+ import { Context } from "./context";
6
+ import { Effect } from "./effect";
7
+ import { observable, Observable } from "./observable";
8
+ import { pubsub } from "./pubsub";
9
+
10
+ export const REFERENCE = Symbol("Reference");
11
+ export type REFERENCE = typeof REFERENCE;
12
+
13
+ export interface Reference<T> extends Observable<T> {
14
+ [REFERENCE]: true;
15
+ get: () => T;
16
+ set: Dispatch<SetStateAction<T>>;
17
+ peek: () => T;
18
+ }
19
+
20
+ export function ref<T>(value: T): Reference<T> {
21
+ const ps = pubsub<T>();
22
+ const state: Boxed<T> = { value };
23
+ const obs = observable<T>(state, ps);
24
+
25
+ const addEffectDependency = (fx: Effect) => {
26
+ ps.addEffect(fx.run, fx.cleanup);
27
+ };
28
+
29
+ const get = (): T => {
30
+ const fx = Context.scope.current.effect;
31
+ if (fx) addEffectDependency(fx);
32
+ return state.value;
33
+ };
34
+
35
+ const set: Dispatch<SetStateAction<T>> = (fn) => {
36
+ const prev = state.value;
37
+ const next = isFunction(fn) ? fn(state.value) : fn;
38
+ if (!compare(next, prev)) {
39
+ state.value = next;
40
+ ps.publish(state.value);
41
+ }
42
+ };
43
+
44
+ const peek = (): T => {
45
+ return state.value;
46
+ };
47
+
48
+ return {
49
+ [REFERENCE]: true,
50
+ ...ps,
51
+ ...obs,
52
+ get,
53
+ set,
54
+ peek,
55
+ };
56
+ }
57
+
58
+ export function isReference(x: Loose): x is Reference<Loose>;
59
+ export function isReference(x: unknown): x is Reference<unknown>;
60
+ export function isReference<X extends Reference<unknown>>(x: X): x is X;
61
+ export function isReference(x: unknown): x is Reference<unknown> {
62
+ return has(x, REFERENCE);
63
+ }
@@ -0,0 +1,87 @@
1
+ import { SubscribeOptions, Subscription, VoidFunction } from "./common";
2
+ import { Context } from "./context";
3
+ import { Effect } from "./effect";
4
+ import { Observable, OBSERVABLE } from "./observable";
5
+ import { pubsub } from "./pubsub";
6
+
7
+ export class SetProxy<V = any> extends Set<V> implements Observable<Set<V>> {
8
+ [OBSERVABLE]: true = true;
9
+ ps = pubsub<Set<V>>();
10
+ subscribers = this.ps.subscribers;
11
+ effects = this.ps.effects;
12
+ publish = this.ps.publish;
13
+ publishAsync = this.ps.publishAsync;
14
+ subscribe = this.ps.subscribe;
15
+ addEffect = this.ps.addEffect;
16
+ dispose = this.ps.dispose;
17
+
18
+ constructor(...args: ConstructorParameters<typeof Set<V>>) {
19
+ super(...args);
20
+ }
21
+
22
+ private getState(): Set<V> {
23
+ return new Set(super.values());
24
+ }
25
+
26
+ addEffectDependency(fx: Effect) {
27
+ this.ps.addEffect(fx.run, fx.cleanup);
28
+ }
29
+
30
+ observe(
31
+ fn: Subscription<Set<V>>,
32
+ options: SubscribeOptions = {},
33
+ ): VoidFunction {
34
+ if (options.immediate) {
35
+ fn(this.getState());
36
+ }
37
+ return this.ps.subscribe(fn, options.cleanup);
38
+ }
39
+
40
+ get size() {
41
+ const fx = Context.scope.current.effect;
42
+ if (fx) this.addEffectDependency(fx);
43
+ return super.size;
44
+ }
45
+
46
+ add(value: V) {
47
+ const hadValue = super.has(value);
48
+ const result = super.add(value);
49
+ if (!hadValue) {
50
+ this.ps.publish(this.getState());
51
+ }
52
+ return result;
53
+ }
54
+
55
+ delete(value: V) {
56
+ const didHave = super.has(value);
57
+ const result = super.delete(value);
58
+ if (didHave) {
59
+ this.ps.publish(this.getState());
60
+ }
61
+ return result;
62
+ }
63
+
64
+ has(value: V) {
65
+ const fx = Context.scope.current.effect;
66
+ if (fx) this.addEffectDependency(fx);
67
+ return super.has(value);
68
+ }
69
+
70
+ values() {
71
+ const fx = Context.scope.current.effect;
72
+ if (fx) this.addEffectDependency(fx);
73
+ return super.values();
74
+ }
75
+
76
+ keys() {
77
+ const fx = Context.scope.current.effect;
78
+ if (fx) this.addEffectDependency(fx);
79
+ return super.keys();
80
+ }
81
+
82
+ entries() {
83
+ const fx = Context.scope.current.effect;
84
+ if (fx) this.addEffectDependency(fx);
85
+ return super.entries();
86
+ }
87
+ }
@@ -0,0 +1,25 @@
1
+ (undo-tree-save-format-version . 1)
2
+ "45562796c7c687b3d749575098e33e75469d57b9"
3
+ [nil nil nil nil (27034 12575 459721 737000) 0 nil]
4
+ ([nil nil ((47 . 56) (45 . 47) (#(" " 0 2 (part-side typescript)) . 45) (45 . 47) (44 . 46) (#("}" 0 1 (part-side typescript)) . -44) (44 . 45) (#("}" 0 1 (part-side typescript)) . -44) (44 . 45) (36 . 45) (34 . 35) (28 . 29) (27 . 29) (#("T" 0 1 (part-side typescript)) . -31) (undo-tree-id0 . -1) (undo-tree-id1 . -1) (undo-tree-id2 . -1) (undo-tree-id3 . -1) 32 (28 . 32) (16 . 29) (#(" " 0 1 (part-side typescript)) . -16) (undo-tree-id4 . -1) (#("y" 0 1 (part-side typescript)) . -17) (undo-tree-id5 . -1) (#("b" 0 1 (part-side typescript)) . -18) (undo-tree-id6 . -1) 19 (1 . 19) (t 27034 12541 723090 62000)) nil (27034 12575 459720 471000) 0 nil])
5
+ ([nil nil ((44 . 47)) nil (27034 12575 459700 226000) 0 nil])
6
+ ([nil nil ((61 . 62)) nil (27034 12575 459697 272000) 0 nil])
7
+ ([nil nil ((71 . 75) (72 . 74) (#(" " 0 4 (part-side typescript)) . 71) (71 . 75) (70 . 72) (#("}" 0 1 (part-side typescript)) . -70) (70 . 71) (#("}" 0 1 (part-side typescript)) . -70) (70 . 71) (68 . 71) (51 . 67) (47 . 52) (t 27034 12575 454827 807000)) nil (27034 12611 489062 140000) 0 nil])
8
+ ([nil nil ((161 . 167) (#(")" 0 1 (part-side typescript)) . -158) (158 . 159) (#(")" 0 1 (part-side typescript)) . -158) (158 . 159) (148 . 159) (141 . 149) (#("a" 0 1 (part-side typescript)) . -141) (undo-tree-id7 . -1) (undo-tree-id8 . -1) (#("y" 0 1 (part-side typescript)) . -142) (undo-tree-id9 . -1) (undo-tree-id10 . -1) 143 (137 . 143) (136 . 138) (1 . 43) (86 . 86) (86 . 94) (#("M" 0 1 (face web-mode-type-face part-side typescript)) . 86) (86 . 87) (#("MapProxy" 0 8 (face web-mode-type-face part-side typescript)) . -86) (86 . 94) (#("Map" 0 3 (face web-mode-type-face part-side typescript)) . -86) (undo-tree-id11 . -3) (undo-tree-id12 . -3) (undo-tree-id13 . -3) (undo-tree-id14 . -3) 89 (75 . 89)) nil (27034 12611 489058 970000) 0 nil])
9
+ ([nil nil ((112 . 117) (t 27034 12612 678536 622000)) nil (27034 12707 950932 275000) 0 nil])
10
+ ([nil nil ((#("
11
+ " 0 5 (part-side typescript)) . 113) (undo-tree-id178 . 1) (undo-tree-id179 . -4) (undo-tree-id180 . -4) (undo-tree-id181 . -4) (undo-tree-id182 . -4) (undo-tree-id183 . -4) (undo-tree-id184 . -4) (undo-tree-id185 . -4) (undo-tree-id186 . -4) (undo-tree-id187 . -4) (undo-tree-id188 . -4) (undo-tree-id189 . -4) (undo-tree-id190 . -4) (undo-tree-id191 . -4) (undo-tree-id192 . -4) (undo-tree-id193 . -4) (undo-tree-id194 . -4) (undo-tree-id195 . -4) (undo-tree-id196 . -4) (undo-tree-id197 . -4) (undo-tree-id198 . -4) (undo-tree-id199 . -4) (undo-tree-id200 . -4) (undo-tree-id201 . -4) (undo-tree-id202 . -4) (undo-tree-id203 . -4) (undo-tree-id204 . -4) (undo-tree-id205 . -4) (undo-tree-id206 . -4) (undo-tree-id207 . -4) (undo-tree-id208 . -4) (undo-tree-id209 . -4) (undo-tree-id210 . -4) (undo-tree-id211 . -4) (undo-tree-id212 . -4) (undo-tree-id213 . -4) (undo-tree-id214 . -4) (undo-tree-id215 . -4) (undo-tree-id216 . -4) (undo-tree-id217 . -4) (undo-tree-id218 . -4) (undo-tree-id219 . -4) (undo-tree-id220 . -4) (undo-tree-id221 . -4) (undo-tree-id222 . -4) (undo-tree-id223 . -4) (undo-tree-id224 . -4) (undo-tree-id225 . -4) (undo-tree-id226 . -4) (undo-tree-id227 . -4) (undo-tree-id228 . -4) (undo-tree-id229 . -4) (undo-tree-id230 . -4) (undo-tree-id231 . -4) (undo-tree-id232 . -4) (undo-tree-id233 . -4) (undo-tree-id234 . -4) (undo-tree-id235 . -4) (undo-tree-id236 . -4) (undo-tree-id237 . -4) (undo-tree-id238 . -4) (undo-tree-id239 . -4) (undo-tree-id240 . -4) (undo-tree-id241 . -4) (undo-tree-id242 . -4) (undo-tree-id243 . -4) (undo-tree-id244 . -4) (undo-tree-id245 . -4) (undo-tree-id246 . -4) (undo-tree-id247 . -4) (undo-tree-id248 . -4) (undo-tree-id249 . -4) (undo-tree-id250 . -4) (undo-tree-id251 . -4) (undo-tree-id252 . -4) (undo-tree-id253 . -4) (undo-tree-id254 . -4) (undo-tree-id255 . -4) (undo-tree-id256 . -3) (undo-tree-id257 . -3) (undo-tree-id258 . -3) (undo-tree-id259 . -3) (undo-tree-id260 . -3) (undo-tree-id261 . -3) (undo-tree-id262 . -3) (undo-tree-id263 . -3) (undo-tree-id264 . -3) (undo-tree-id265 . -3) (undo-tree-id266 . -3) (undo-tree-id267 . -3) (undo-tree-id268 . -3) (undo-tree-id269 . -3) (undo-tree-id270 . -3) (undo-tree-id271 . -3) (undo-tree-id272 . -3) (undo-tree-id273 . -3) (undo-tree-id274 . -3) (undo-tree-id275 . -3) (undo-tree-id276 . -3) (undo-tree-id277 . -3) (undo-tree-id278 . -3) (undo-tree-id279 . -3) (undo-tree-id280 . -3) (undo-tree-id281 . -3) (undo-tree-id282 . -3) (undo-tree-id283 . -3) (undo-tree-id284 . -3) (undo-tree-id285 . -3) (undo-tree-id286 . -3) (undo-tree-id287 . -3) (undo-tree-id288 . -3) (undo-tree-id289 . -3) (undo-tree-id290 . -3) (undo-tree-id291 . -3) (undo-tree-id292 . -5) 116) nil (27034 12707 950930 839000) 0 nil])
12
+ ([nil nil ((119 . 125) (115 . 119) (106 . 114) (#("Map" 0 3 (face web-mode-type-face part-side typescript)) . 106) (106 . 109) (#("MapProxy" 0 8 (face web-mode-type-face part-side typescript)) . -106) (106 . 114) (#("MapP" 0 4 (face web-mode-type-face part-side typescript)) . -106) (undo-tree-id46 . -4) (undo-tree-id47 . -4) (undo-tree-id48 . -1) (undo-tree-id49 . -1) (undo-tree-id50 . -1) (undo-tree-id51 . -1) (undo-tree-id52 . -1) (undo-tree-id53 . -1) (undo-tree-id54 . -1) (undo-tree-id55 . -1) (undo-tree-id56 . -1) (undo-tree-id57 . -1) (undo-tree-id58 . -1) (undo-tree-id59 . -1) (undo-tree-id60 . -1) (undo-tree-id61 . -1) (undo-tree-id62 . -1) (undo-tree-id63 . -2) (undo-tree-id64 . -2) (undo-tree-id65 . -2) (undo-tree-id66 . -2) (undo-tree-id67 . -2) (undo-tree-id68 . -2) (undo-tree-id69 . -2) (undo-tree-id70 . -2) (undo-tree-id71 . -2) (undo-tree-id72 . -2) (undo-tree-id73 . -2) (undo-tree-id74 . -2) (undo-tree-id75 . -2) (undo-tree-id76 . -2) (undo-tree-id77 . -2) (undo-tree-id78 . -3) (undo-tree-id79 . -3) (undo-tree-id80 . -3) (undo-tree-id81 . -3) (undo-tree-id82 . -3) (undo-tree-id83 . -3) (undo-tree-id84 . -3) (undo-tree-id85 . -3) (undo-tree-id86 . -3) (undo-tree-id87 . -3) (undo-tree-id88 . -3) (undo-tree-id89 . -3) (undo-tree-id90 . -3) (undo-tree-id91 . -3) (undo-tree-id92 . -3) (undo-tree-id93 . -3) (undo-tree-id94 . -3) (undo-tree-id95 . -3) (undo-tree-id96 . -3) (undo-tree-id97 . -3) (undo-tree-id98 . -3) (undo-tree-id99 . -3) (undo-tree-id100 . -3) (undo-tree-id101 . -3) (undo-tree-id102 . -3) (undo-tree-id103 . -3) (undo-tree-id104 . -3) (undo-tree-id105 . -3) (undo-tree-id106 . -3) (undo-tree-id107 . -3) (undo-tree-id108 . -3) (undo-tree-id109 . -3) (undo-tree-id110 . -3) (undo-tree-id111 . -3) (undo-tree-id112 . -3) (undo-tree-id113 . -3) (undo-tree-id114 . -3) (undo-tree-id115 . -3) (undo-tree-id116 . -3) (undo-tree-id117 . -3) (undo-tree-id118 . -3) (undo-tree-id119 . -3) (undo-tree-id120 . -3) (undo-tree-id121 . -3) (undo-tree-id122 . -3) (undo-tree-id123 . -3) (undo-tree-id124 . -3) (undo-tree-id125 . -3) (undo-tree-id126 . -3) (undo-tree-id127 . -3) (undo-tree-id128 . -3) (undo-tree-id129 . -3) (undo-tree-id130 . -3) (undo-tree-id131 . -3) (undo-tree-id132 . -3) (undo-tree-id133 . -3) (undo-tree-id134 . -3) (undo-tree-id135 . -3) (undo-tree-id136 . -3) (undo-tree-id137 . -3) (undo-tree-id138 . -3) (undo-tree-id139 . -3) (undo-tree-id140 . -3) (undo-tree-id141 . -3) (undo-tree-id142 . -3) (undo-tree-id143 . -3) (undo-tree-id144 . -3) (undo-tree-id145 . -3) (undo-tree-id146 . -3) (undo-tree-id147 . -3) (undo-tree-id148 . -4) (undo-tree-id149 . -4) (undo-tree-id150 . -4) (undo-tree-id151 . -4) (undo-tree-id152 . -4) (undo-tree-id153 . -4) (undo-tree-id154 . -4) (undo-tree-id155 . -4) (undo-tree-id156 . -4) (undo-tree-id157 . -4) (undo-tree-id158 . -4) (undo-tree-id159 . -4) (undo-tree-id160 . -4) (undo-tree-id161 . -4) (undo-tree-id162 . -4) (undo-tree-id163 . -4) (undo-tree-id164 . -4) (undo-tree-id165 . -4) (undo-tree-id166 . -4) (undo-tree-id167 . -4) (undo-tree-id168 . -4) (undo-tree-id169 . -4) (undo-tree-id170 . -4) (undo-tree-id171 . -4) (undo-tree-id172 . -4) (undo-tree-id173 . -4) (undo-tree-id174 . -4) (undo-tree-id175 . -4) (undo-tree-id176 . -4) 110 (93 . 110) (89 . 94) (87 . 89) (88 . 90) (#(" " 0 2 (part-side typescript)) . 87) (undo-tree-id177 . -2) (86 . 90)) nil (27034 12707 950899 513000) 0 nil])
13
+ ([nil nil ((#("
14
+ " 0 3 (part-side typescript)) . 126) (undo-tree-id15 . -2) (undo-tree-id16 . -1) (undo-tree-id17 . -1) (undo-tree-id18 . -1) (undo-tree-id19 . -1) (undo-tree-id20 . -1) (undo-tree-id21 . -1) (undo-tree-id22 . -1) (undo-tree-id23 . -1) (undo-tree-id24 . -1) (undo-tree-id25 . -1) (undo-tree-id26 . -1) (undo-tree-id27 . -1) (undo-tree-id28 . -1) (undo-tree-id29 . -1) (undo-tree-id30 . -1) (undo-tree-id31 . -1) (undo-tree-id32 . -1) (undo-tree-id33 . -1) (undo-tree-id34 . -1) (undo-tree-id35 . -1) (undo-tree-id36 . -1) (undo-tree-id37 . -1) (undo-tree-id38 . -1) (undo-tree-id39 . -1) (undo-tree-id40 . -1) (undo-tree-id41 . -1) (undo-tree-id42 . -1) (undo-tree-id43 . -1) (undo-tree-id44 . -1) (undo-tree-id45 . -3) 127) nil (27034 12707 950749 813000) 0 nil])
15
+ ([nil nil ((125 . 128)) nil (27034 12707 950498 378000) 0 nil])
16
+ ([nil nil ((213 . 216) (t 27034 12707 949783 751000)) nil (27034 12717 613689 587000) 0 nil])
17
+ ([nil nil ((#("{" 0 1 (part-side typescript)) . -153) (undo-tree-id676 . -1) (undo-tree-id677 . -1) (undo-tree-id678 . -1) (undo-tree-id679 . -1) (undo-tree-id680 . -1) (undo-tree-id681 . -1) (undo-tree-id682 . -1) (undo-tree-id683 . -1) (undo-tree-id684 . -1) (undo-tree-id685 . -1) (undo-tree-id686 . -1) (undo-tree-id687 . -1) (undo-tree-id688 . -1) (undo-tree-id689 . -1) (undo-tree-id690 . -1) (undo-tree-id691 . -1) (undo-tree-id692 . -1) (undo-tree-id693 . -1) (undo-tree-id694 . -1) (undo-tree-id695 . -1) (undo-tree-id696 . -1) (undo-tree-id697 . -1) (undo-tree-id698 . -1) (undo-tree-id699 . -1) (undo-tree-id700 . -1) (undo-tree-id701 . -1) (undo-tree-id702 . -1) (undo-tree-id703 . -1) (undo-tree-id704 . -1) (undo-tree-id705 . -1) (undo-tree-id706 . -1) (undo-tree-id707 . -1) (undo-tree-id708 . -1) (undo-tree-id709 . -1) (undo-tree-id710 . -1) (undo-tree-id711 . -1) (undo-tree-id712 . -1) (undo-tree-id713 . -1) (undo-tree-id714 . -1) (undo-tree-id715 . -1) (undo-tree-id716 . -1) (undo-tree-id717 . -1) (undo-tree-id718 . -1) (undo-tree-id719 . -1) (undo-tree-id720 . -1) (undo-tree-id721 . -1) (undo-tree-id722 . -1) (undo-tree-id723 . -1) (undo-tree-id724 . -1) (undo-tree-id725 . -1) (undo-tree-id726 . -1) (undo-tree-id727 . -1) (undo-tree-id728 . -1) (undo-tree-id729 . -1) (undo-tree-id730 . -1) (undo-tree-id731 . -1) (undo-tree-id732 . -1) (undo-tree-id733 . -1) (undo-tree-id734 . -1) (undo-tree-id735 . -1) (undo-tree-id736 . -1) (undo-tree-id737 . -1) (undo-tree-id738 . -1) (undo-tree-id739 . -1) (undo-tree-id740 . -1) (undo-tree-id741 . -1) (undo-tree-id742 . -1) (undo-tree-id743 . -1) (undo-tree-id744 . -1) (undo-tree-id745 . -1) (undo-tree-id746 . -1) (undo-tree-id747 . -1) (undo-tree-id748 . -1) (undo-tree-id749 . -1) (undo-tree-id750 . -1) (undo-tree-id751 . -1) (undo-tree-id752 . -1) (undo-tree-id753 . -1) (undo-tree-id754 . -1) (undo-tree-id755 . -1) (undo-tree-id756 . -1) (undo-tree-id757 . -1) (undo-tree-id758 . -1) (undo-tree-id759 . -1) (undo-tree-id760 . -1) (undo-tree-id761 . -1) (undo-tree-id762 . -1) (undo-tree-id763 . -1) (undo-tree-id764 . -1) (undo-tree-id765 . -1) (undo-tree-id766 . -1) (undo-tree-id767 . -1) (undo-tree-id768 . -1) (undo-tree-id769 . -1) (undo-tree-id770 . -1) (undo-tree-id771 . -1) (undo-tree-id772 . -1) (undo-tree-id773 . -1) (undo-tree-id774 . -1) (undo-tree-id775 . -1) (undo-tree-id776 . -1) (undo-tree-id777 . -1) (undo-tree-id778 . -1) (undo-tree-id779 . -1) (undo-tree-id780 . -1) (undo-tree-id781 . -1) (undo-tree-id782 . -1) (undo-tree-id783 . -1) (undo-tree-id784 . -1) (undo-tree-id785 . -1) (undo-tree-id786 . -1) (undo-tree-id787 . -1) (undo-tree-id788 . -1) (undo-tree-id789 . -1) (undo-tree-id790 . -1) (undo-tree-id791 . -1) (undo-tree-id792 . -1) (undo-tree-id793 . -1) (undo-tree-id794 . -1) (undo-tree-id795 . -1) (undo-tree-id796 . -1) (undo-tree-id797 . -1) (undo-tree-id798 . -1) (undo-tree-id799 . -1) (undo-tree-id800 . -1) (undo-tree-id801 . -1) (undo-tree-id802 . -1) (undo-tree-id803 . -1) (undo-tree-id804 . -1) (undo-tree-id805 . -1) (undo-tree-id806 . -1) (undo-tree-id807 . -1) (undo-tree-id808 . -1) (undo-tree-id809 . -1) (undo-tree-id810 . -1) (undo-tree-id811 . -1) (undo-tree-id812 . -1) (undo-tree-id813 . -1) (undo-tree-id814 . -1) (undo-tree-id815 . -1) (undo-tree-id816 . -1) (undo-tree-id817 . -1) (undo-tree-id818 . -1) (undo-tree-id819 . -1) (undo-tree-id820 . -1) (undo-tree-id821 . -1) (undo-tree-id822 . -1) (undo-tree-id823 . -1) (undo-tree-id824 . -1) (undo-tree-id825 . -1) (undo-tree-id826 . -1) (undo-tree-id827 . -1) (undo-tree-id828 . -1) (undo-tree-id829 . -1) (undo-tree-id830 . -1) (undo-tree-id831 . -1) (undo-tree-id832 . -1) (undo-tree-id833 . -1) (undo-tree-id834 . -1) (undo-tree-id835 . -1) (undo-tree-id836 . -1) (undo-tree-id837 . -1) (undo-tree-id838 . -1) (undo-tree-id839 . -1) (undo-tree-id840 . -1) (undo-tree-id841 . -1) (undo-tree-id842 . -1) (undo-tree-id843 . -1) (undo-tree-id844 . -1) (undo-tree-id845 . -1) (undo-tree-id846 . -1) (undo-tree-id847 . -1) (undo-tree-id848 . -1) (undo-tree-id849 . -1) (undo-tree-id850 . -1) (undo-tree-id851 . -1) (undo-tree-id852 . -1) (undo-tree-id853 . -1) (undo-tree-id854 . -1) (undo-tree-id855 . -1) (undo-tree-id856 . -1) (undo-tree-id857 . -1) (undo-tree-id858 . -1) (undo-tree-id859 . -1) (undo-tree-id860 . -1) (undo-tree-id861 . -1) (undo-tree-id862 . -1) (undo-tree-id863 . -1) (undo-tree-id864 . -1) (undo-tree-id865 . -1) (undo-tree-id866 . -1) (undo-tree-id867 . -1) (undo-tree-id868 . -1) (undo-tree-id869 . -1) (undo-tree-id870 . -1) (undo-tree-id871 . -1) (undo-tree-id872 . -1) (undo-tree-id873 . -1) (undo-tree-id874 . -1) (undo-tree-id875 . -1) (undo-tree-id876 . -1) (undo-tree-id877 . -1) (undo-tree-id878 . -1) (undo-tree-id879 . -1) (undo-tree-id880 . -1) (undo-tree-id881 . -1) (undo-tree-id882 . -1) (undo-tree-id883 . -1) (undo-tree-id884 . -1) (undo-tree-id885 . -1) (undo-tree-id886 . -1) (undo-tree-id887 . -1) (undo-tree-id888 . -1) (undo-tree-id889 . -1) (undo-tree-id890 . -1) (undo-tree-id891 . -1) (undo-tree-id892 . -1) (undo-tree-id893 . -1) (undo-tree-id894 . -1) (undo-tree-id895 . -1) (undo-tree-id896 . -1) (undo-tree-id897 . -1) (undo-tree-id898 . -1) (undo-tree-id899 . -1) (undo-tree-id900 . -1) (undo-tree-id901 . -1) (undo-tree-id902 . -1) (undo-tree-id903 . -1) (undo-tree-id904 . -1) (undo-tree-id905 . -1) (undo-tree-id906 . -1) (undo-tree-id907 . -1) (undo-tree-id908 . -1) (undo-tree-id909 . -1) (undo-tree-id910 . -1) (undo-tree-id911 . -1) (undo-tree-id912 . -1) (undo-tree-id913 . -1) (undo-tree-id914 . -1) (undo-tree-id915 . -1) (undo-tree-id916 . -1) (undo-tree-id917 . -1) (undo-tree-id918 . -1) (undo-tree-id919 . -1) (undo-tree-id920 . -1) (undo-tree-id921 . -1) (undo-tree-id922 . -1) (undo-tree-id923 . -1) (undo-tree-id924 . -1) (undo-tree-id925 . -1) (undo-tree-id926 . -1) (undo-tree-id927 . -1) (undo-tree-id928 . -1) (undo-tree-id929 . -1) (undo-tree-id930 . -1) (undo-tree-id931 . -1) (undo-tree-id932 . -1) (undo-tree-id933 . -1) (undo-tree-id934 . -1) (undo-tree-id935 . -1) (undo-tree-id936 . -1) (undo-tree-id937 . -1) (undo-tree-id938 . -1) (undo-tree-id939 . -1) (undo-tree-id940 . -1) (undo-tree-id941 . -1) (undo-tree-id942 . -1) (undo-tree-id943 . -1) (undo-tree-id944 . -1) (undo-tree-id945 . -1) (undo-tree-id946 . -1) (undo-tree-id947 . -1) (undo-tree-id948 . -1) (undo-tree-id949 . -1) (undo-tree-id950 . -1) (undo-tree-id951 . -1) (undo-tree-id952 . -1) (undo-tree-id953 . -1) (undo-tree-id954 . -1) (undo-tree-id955 . -1) (undo-tree-id956 . -1) (undo-tree-id957 . -1) (undo-tree-id958 . -1) (undo-tree-id959 . -1) (undo-tree-id960 . -1) (undo-tree-id961 . -1) (undo-tree-id962 . -1) (undo-tree-id963 . -1) (undo-tree-id964 . -1) (undo-tree-id965 . -1) (undo-tree-id966 . -1) (undo-tree-id967 . -1) (undo-tree-id968 . -1) (undo-tree-id969 . -1) (undo-tree-id970 . -1) (undo-tree-id971 . -1) (undo-tree-id972 . -1) (undo-tree-id973 . -1) (undo-tree-id974 . -1) (undo-tree-id975 . -1) (undo-tree-id976 . -1) (undo-tree-id977 . -1) (undo-tree-id978 . -1) (undo-tree-id979 . -1) (undo-tree-id980 . -1) (undo-tree-id981 . -1) (undo-tree-id982 . -1) (undo-tree-id983 . -1) (undo-tree-id984 . -1) 154 (#("
18
+ " 0 1 (part-side typescript)) . -154) (undo-tree-id985 . -1) (undo-tree-id986 . -1) (undo-tree-id987 . -1) (undo-tree-id988 . -1) (undo-tree-id989 . -1) (undo-tree-id990 . -1) (undo-tree-id991 . -1) (undo-tree-id992 . -1) (undo-tree-id993 . -1) (undo-tree-id994 . -1) (undo-tree-id995 . -1) (undo-tree-id996 . -1) (undo-tree-id997 . -1) (undo-tree-id998 . -1) (undo-tree-id999 . -1) (undo-tree-id1000 . -1) (undo-tree-id1001 . -1) (undo-tree-id1002 . -1) (undo-tree-id1003 . -1) (undo-tree-id1004 . -1) (undo-tree-id1005 . -1) (undo-tree-id1006 . -1) (undo-tree-id1007 . -1) (undo-tree-id1008 . -1) (undo-tree-id1009 . -1) (undo-tree-id1010 . -1) (undo-tree-id1011 . -1) (undo-tree-id1012 . -1) (undo-tree-id1013 . -1) (undo-tree-id1014 . -1) (undo-tree-id1015 . -1) (undo-tree-id1016 . -1) (undo-tree-id1017 . -1) (undo-tree-id1018 . -1) (undo-tree-id1019 . -1) (undo-tree-id1020 . -1) (undo-tree-id1021 . -1) (undo-tree-id1022 . -1) (undo-tree-id1023 . -1) (undo-tree-id1024 . -1) (undo-tree-id1025 . -1) (undo-tree-id1026 . -1) (undo-tree-id1027 . -1) (undo-tree-id1028 . -1) (undo-tree-id1029 . -1) (undo-tree-id1030 . -1) (undo-tree-id1031 . -1) (undo-tree-id1032 . -1) (undo-tree-id1033 . -1) (undo-tree-id1034 . -1) (undo-tree-id1035 . -1) (undo-tree-id1036 . -1) (undo-tree-id1037 . -1) (undo-tree-id1038 . -1) (undo-tree-id1039 . -1) (undo-tree-id1040 . -1) (undo-tree-id1041 . -1) (undo-tree-id1042 . -1) (undo-tree-id1043 . -1) (undo-tree-id1044 . -1) (undo-tree-id1045 . -1) (undo-tree-id1046 . -1) (undo-tree-id1047 . -1) (undo-tree-id1048 . -1) (undo-tree-id1049 . -1) (undo-tree-id1050 . -1) (undo-tree-id1051 . -1) (undo-tree-id1052 . -1) (undo-tree-id1053 . -1) (undo-tree-id1054 . -1) (undo-tree-id1055 . -1) (undo-tree-id1056 . -1) (undo-tree-id1057 . -1) (undo-tree-id1058 . -1) (undo-tree-id1059 . -1) (undo-tree-id1060 . -1) (undo-tree-id1061 . -1) (undo-tree-id1062 . -1) (undo-tree-id1063 . -1) (undo-tree-id1064 . -1) (undo-tree-id1065 . -1) (undo-tree-id1066 . -1) (undo-tree-id1067 . -1) (undo-tree-id1068 . -1) (undo-tree-id1069 . -1) (undo-tree-id1070 . -1) (undo-tree-id1071 . -1) (undo-tree-id1072 . -1) (undo-tree-id1073 . -1) (undo-tree-id1074 . -1) (undo-tree-id1075 . -1) (undo-tree-id1076 . -1) (undo-tree-id1077 . -1) (undo-tree-id1078 . -1) (undo-tree-id1079 . -1) (undo-tree-id1080 . -1) (undo-tree-id1081 . -1) (undo-tree-id1082 . -1) (undo-tree-id1083 . -1) (undo-tree-id1084 . -1) (undo-tree-id1085 . -1) (undo-tree-id1086 . -1) (undo-tree-id1087 . -1) (undo-tree-id1088 . -1) (undo-tree-id1089 . -1) (undo-tree-id1090 . -1) (undo-tree-id1091 . -1) (undo-tree-id1092 . -1) (undo-tree-id1093 . -1) (undo-tree-id1094 . -1) (undo-tree-id1095 . -1) (undo-tree-id1096 . -1) (undo-tree-id1097 . -1) (undo-tree-id1098 . -1) (undo-tree-id1099 . -1) (undo-tree-id1100 . -1) (undo-tree-id1101 . -1) (undo-tree-id1102 . -1) (undo-tree-id1103 . -1) (undo-tree-id1104 . -1) (undo-tree-id1105 . -1) (undo-tree-id1106 . -1) (undo-tree-id1107 . -1) (undo-tree-id1108 . -1) (undo-tree-id1109 . -1) (undo-tree-id1110 . -1) (undo-tree-id1111 . -1) (undo-tree-id1112 . -1) (undo-tree-id1113 . -1) (undo-tree-id1114 . -1) (undo-tree-id1115 . -1) (undo-tree-id1116 . -1) (undo-tree-id1117 . -1) (undo-tree-id1118 . -1) (undo-tree-id1119 . -1) (undo-tree-id1120 . -1) (undo-tree-id1121 . -1) (undo-tree-id1122 . -1) (undo-tree-id1123 . -1) (undo-tree-id1124 . -1) (undo-tree-id1125 . -1) (undo-tree-id1126 . -1) (undo-tree-id1127 . -1) (undo-tree-id1128 . -1) (undo-tree-id1129 . -1) (undo-tree-id1130 . -1) (undo-tree-id1131 . -1) (undo-tree-id1132 . -1) (undo-tree-id1133 . -1) (undo-tree-id1134 . -1) (undo-tree-id1135 . -1) (undo-tree-id1136 . -1) (undo-tree-id1137 . -1) (undo-tree-id1138 . -1) (undo-tree-id1139 . -1) (undo-tree-id1140 . -1) (undo-tree-id1141 . -1) (undo-tree-id1142 . -1) (undo-tree-id1143 . -1) (undo-tree-id1144 . -1) (undo-tree-id1145 . -1) (undo-tree-id1146 . -1) (undo-tree-id1147 . -1) (undo-tree-id1148 . -1) (undo-tree-id1149 . -1) (undo-tree-id1150 . -1) (undo-tree-id1151 . -1) (undo-tree-id1152 . -1) (undo-tree-id1153 . -1) (undo-tree-id1154 . -1) (undo-tree-id1155 . -1) (undo-tree-id1156 . -1) (undo-tree-id1157 . -1) (undo-tree-id1158 . -1) (undo-tree-id1159 . -1) (undo-tree-id1160 . -1) (undo-tree-id1161 . -1) (undo-tree-id1162 . -1) (undo-tree-id1163 . -1) (undo-tree-id1164 . -1) (undo-tree-id1165 . -1) (undo-tree-id1166 . -1) (undo-tree-id1167 . -1) (undo-tree-id1168 . -1) (undo-tree-id1169 . -1) (undo-tree-id1170 . -1) (undo-tree-id1171 . -1) (undo-tree-id1172 . -1) (undo-tree-id1173 . -1) (undo-tree-id1174 . -1) (undo-tree-id1175 . -1) (undo-tree-id1176 . -1) (undo-tree-id1177 . -1) (undo-tree-id1178 . -1) (undo-tree-id1179 . -1) (undo-tree-id1180 . -1) (undo-tree-id1181 . -1) (undo-tree-id1182 . -1) (undo-tree-id1183 . -1) (undo-tree-id1184 . -1) (undo-tree-id1185 . -1) (undo-tree-id1186 . -1) (undo-tree-id1187 . -1) (undo-tree-id1188 . -1) (undo-tree-id1189 . -1) (undo-tree-id1190 . -1) (undo-tree-id1191 . -1) (undo-tree-id1192 . -1) (undo-tree-id1193 . -1) (undo-tree-id1194 . -1) (undo-tree-id1195 . -1) (undo-tree-id1196 . -1) (undo-tree-id1197 . -1) (undo-tree-id1198 . -1) (undo-tree-id1199 . -1) (undo-tree-id1200 . -1) (undo-tree-id1201 . -1) (undo-tree-id1202 . -1) (undo-tree-id1203 . -1) (undo-tree-id1204 . -1) (undo-tree-id1205 . -1) (undo-tree-id1206 . -1) (undo-tree-id1207 . -1) (undo-tree-id1208 . -1) (undo-tree-id1209 . -1) (undo-tree-id1210 . -1) (undo-tree-id1211 . -1) (undo-tree-id1212 . -1) (undo-tree-id1213 . -1) (undo-tree-id1214 . -1) (undo-tree-id1215 . -1) (undo-tree-id1216 . -1) (undo-tree-id1217 . -1) (undo-tree-id1218 . -1) (undo-tree-id1219 . -1) (undo-tree-id1220 . -1) (undo-tree-id1221 . -1) (undo-tree-id1222 . -1) (undo-tree-id1223 . -1) (undo-tree-id1224 . -1) (undo-tree-id1225 . -1) (undo-tree-id1226 . -1) (undo-tree-id1227 . -1) (undo-tree-id1228 . -1) (undo-tree-id1229 . -1) (undo-tree-id1230 . -1) (undo-tree-id1231 . -1) (undo-tree-id1232 . -1) (undo-tree-id1233 . -1) (undo-tree-id1234 . -1) (undo-tree-id1235 . -1) (undo-tree-id1236 . -1) (undo-tree-id1237 . -1) (undo-tree-id1238 . -1) (undo-tree-id1239 . -1) (undo-tree-id1240 . -1) (undo-tree-id1241 . -1) (undo-tree-id1242 . -1) (undo-tree-id1243 . -1) (undo-tree-id1244 . -1) (undo-tree-id1245 . -1) (undo-tree-id1246 . -1) (undo-tree-id1247 . -1) (undo-tree-id1248 . -1) (undo-tree-id1249 . -1) (undo-tree-id1250 . -1) (undo-tree-id1251 . -1) (undo-tree-id1252 . -1) (undo-tree-id1253 . -1) (undo-tree-id1254 . -1) (undo-tree-id1255 . -1) (undo-tree-id1256 . -1) (undo-tree-id1257 . -1) (undo-tree-id1258 . -1) (undo-tree-id1259 . -1) (undo-tree-id1260 . -1) (undo-tree-id1261 . -1) (undo-tree-id1262 . -1) (undo-tree-id1263 . -1) (undo-tree-id1264 . -1) (undo-tree-id1265 . -1) (undo-tree-id1266 . -1) (undo-tree-id1267 . -1) (undo-tree-id1268 . -1) (#(" " 0 1 (part-side typescript)) . -155) (undo-tree-id1269 . -1) (undo-tree-id1270 . -1) (undo-tree-id1271 . -1) (undo-tree-id1272 . -1) (undo-tree-id1273 . -1) (undo-tree-id1274 . -1) (undo-tree-id1275 . -1) (undo-tree-id1276 . -1) (undo-tree-id1277 . -1) (undo-tree-id1278 . -1) (undo-tree-id1279 . -1) (undo-tree-id1280 . -1) (undo-tree-id1281 . -1) (undo-tree-id1282 . -1) (undo-tree-id1283 . -1) (undo-tree-id1284 . -1) (undo-tree-id1285 . -1) (undo-tree-id1286 . -1) (undo-tree-id1287 . -1) (undo-tree-id1288 . -1) (undo-tree-id1289 . -1) (undo-tree-id1290 . -1) (undo-tree-id1291 . -1) (undo-tree-id1292 . -1) (undo-tree-id1293 . -1) (undo-tree-id1294 . -1) (undo-tree-id1295 . -1) (undo-tree-id1296 . -1) (undo-tree-id1297 . -1) (undo-tree-id1298 . -1) (undo-tree-id1299 . -1) (undo-tree-id1300 . -1) (undo-tree-id1301 . -1) (undo-tree-id1302 . -1) (undo-tree-id1303 . -1) (undo-tree-id1304 . -1) (undo-tree-id1305 . -1) (undo-tree-id1306 . -1) (undo-tree-id1307 . -1) (undo-tree-id1308 . -1) (undo-tree-id1309 . -1) (undo-tree-id1310 . -1) (undo-tree-id1311 . -1) (undo-tree-id1312 . -1) (undo-tree-id1313 . -1) (undo-tree-id1314 . -1) (undo-tree-id1315 . -1) (undo-tree-id1316 . -1) (undo-tree-id1317 . -1) (undo-tree-id1318 . -1) (undo-tree-id1319 . -1) (undo-tree-id1320 . -1) (undo-tree-id1321 . -1) (undo-tree-id1322 . -1) (undo-tree-id1323 . -1) (undo-tree-id1324 . -1) (undo-tree-id1325 . -1) (undo-tree-id1326 . -1) (undo-tree-id1327 . -1) (undo-tree-id1328 . -1) (undo-tree-id1329 . -1) (undo-tree-id1330 . -1) (undo-tree-id1331 . -1) (undo-tree-id1332 . -1) (undo-tree-id1333 . -1) (undo-tree-id1334 . -1) (undo-tree-id1335 . -1) (undo-tree-id1336 . -1) (undo-tree-id1337 . -1) (undo-tree-id1338 . -1) (undo-tree-id1339 . -1) (undo-tree-id1340 . -1) (undo-tree-id1341 . -1) (undo-tree-id1342 . -1) (undo-tree-id1343 . -1) (undo-tree-id1344 . -1) (undo-tree-id1345 . -1) (undo-tree-id1346 . -1) (undo-tree-id1347 . -1) (undo-tree-id1348 . -1) (undo-tree-id1349 . -1) (undo-tree-id1350 . -1) (undo-tree-id1351 . -1) (undo-tree-id1352 . -1) (undo-tree-id1353 . -1) (undo-tree-id1354 . -1) (undo-tree-id1355 . -1) (undo-tree-id1356 . -1) (undo-tree-id1357 . -1) (undo-tree-id1358 . -1) (undo-tree-id1359 . -1) (undo-tree-id1360 . -1) (undo-tree-id1361 . -1) (undo-tree-id1362 . -1) (undo-tree-id1363 . -1) (undo-tree-id1364 . -1) (undo-tree-id1365 . -1) (undo-tree-id1366 . -1) (undo-tree-id1367 . -1) (undo-tree-id1368 . -1) (undo-tree-id1369 . -1) (undo-tree-id1370 . -1) (undo-tree-id1371 . -1) (undo-tree-id1372 . -1) (undo-tree-id1373 . -1) (undo-tree-id1374 . -1) (undo-tree-id1375 . -1) (undo-tree-id1376 . -1) (undo-tree-id1377 . -1) (undo-tree-id1378 . -1) (undo-tree-id1379 . -1) (undo-tree-id1380 . -1) (undo-tree-id1381 . -1) (undo-tree-id1382 . -1) (undo-tree-id1383 . -1) (undo-tree-id1384 . -1) (undo-tree-id1385 . -1) (undo-tree-id1386 . -1) (undo-tree-id1387 . -1) (undo-tree-id1388 . -1) (undo-tree-id1389 . -1) (undo-tree-id1390 . -1) (undo-tree-id1391 . -1) (undo-tree-id1392 . -1) (undo-tree-id1393 . -1) (undo-tree-id1394 . -1) (undo-tree-id1395 . -1) (undo-tree-id1396 . -1) (undo-tree-id1397 . -1) (undo-tree-id1398 . -1) (undo-tree-id1399 . -1) (undo-tree-id1400 . -1) (undo-tree-id1401 . -1) (undo-tree-id1402 . -1) (undo-tree-id1403 . -1) (undo-tree-id1404 . -1) (undo-tree-id1405 . -1) (undo-tree-id1406 . -1) (undo-tree-id1407 . -1) (undo-tree-id1408 . -1) (undo-tree-id1409 . -1) (undo-tree-id1410 . -1) (undo-tree-id1411 . -1) (undo-tree-id1412 . -1) (undo-tree-id1413 . -1) (undo-tree-id1414 . -1) (undo-tree-id1415 . -1) (undo-tree-id1416 . -1) (undo-tree-id1417 . -1) (undo-tree-id1418 . -1) (undo-tree-id1419 . -1) (undo-tree-id1420 . -1) (undo-tree-id1421 . -1) (undo-tree-id1422 . -1) (undo-tree-id1423 . -1) (undo-tree-id1424 . -1) (undo-tree-id1425 . -1) (undo-tree-id1426 . -1) (undo-tree-id1427 . -1) (#(" " 0 1 (part-side typescript)) . -156) (undo-tree-id1428 . -1) (undo-tree-id1429 . -1) (undo-tree-id1430 . -1) (undo-tree-id1431 . -1) (undo-tree-id1432 . -1) (undo-tree-id1433 . -1) (undo-tree-id1434 . -1) (undo-tree-id1435 . -1) (undo-tree-id1436 . -1) (undo-tree-id1437 . -1) (undo-tree-id1438 . -1) (undo-tree-id1439 . -1) (undo-tree-id1440 . -1) (undo-tree-id1441 . -1) (undo-tree-id1442 . -1) (undo-tree-id1443 . -1) (undo-tree-id1444 . -1) (undo-tree-id1445 . -1) (undo-tree-id1446 . -1) (undo-tree-id1447 . -1) (undo-tree-id1448 . -1) (undo-tree-id1449 . -1) (undo-tree-id1450 . -1) (undo-tree-id1451 . -1) (undo-tree-id1452 . -1) (undo-tree-id1453 . -1) (undo-tree-id1454 . -1) (undo-tree-id1455 . -1) (undo-tree-id1456 . -1) (undo-tree-id1457 . -1) (undo-tree-id1458 . -1) (undo-tree-id1459 . -1) (undo-tree-id1460 . -1) (undo-tree-id1461 . -1) (undo-tree-id1462 . -1) (undo-tree-id1463 . -1) (undo-tree-id1464 . -1) (undo-tree-id1465 . -1) (undo-tree-id1466 . -1) (undo-tree-id1467 . -1) (undo-tree-id1468 . -1) (undo-tree-id1469 . -1) (undo-tree-id1470 . -1) (undo-tree-id1471 . -1) (undo-tree-id1472 . -1) (undo-tree-id1473 . -1) (undo-tree-id1474 . -1) (undo-tree-id1475 . -1) (undo-tree-id1476 . -1) (undo-tree-id1477 . -1) (undo-tree-id1478 . -1) (undo-tree-id1479 . -1) (undo-tree-id1480 . -1) (undo-tree-id1481 . -1) (undo-tree-id1482 . -1) (undo-tree-id1483 . -1) (undo-tree-id1484 . -1) (undo-tree-id1485 . -1) (undo-tree-id1486 . -1) (undo-tree-id1487 . -1) (undo-tree-id1488 . -1) (undo-tree-id1489 . -1) (undo-tree-id1490 . -1) (undo-tree-id1491 . -1) (undo-tree-id1492 . -1) (undo-tree-id1493 . -1) (undo-tree-id1494 . -1) (undo-tree-id1495 . -1) (undo-tree-id1496 . -1) (undo-tree-id1497 . -1) (undo-tree-id1498 . -1) (undo-tree-id1499 . -1) (undo-tree-id1500 . -1) (undo-tree-id1501 . -1) (undo-tree-id1502 . -1) (undo-tree-id1503 . -1) (undo-tree-id1504 . -1) (undo-tree-id1505 . -1) (undo-tree-id1506 . -1) (undo-tree-id1507 . -1) (undo-tree-id1508 . -1) (undo-tree-id1509 . -1) (undo-tree-id1510 . -1) (undo-tree-id1511 . -1) (undo-tree-id1512 . -1) (undo-tree-id1513 . -1) (undo-tree-id1514 . -1) (undo-tree-id1515 . -1) (undo-tree-id1516 . -1) (undo-tree-id1517 . -1) (undo-tree-id1518 . -1) (undo-tree-id1519 . -1) (undo-tree-id1520 . -1) (undo-tree-id1521 . -1) (undo-tree-id1522 . -1) (undo-tree-id1523 . -1) (undo-tree-id1524 . -1) (undo-tree-id1525 . -1) (undo-tree-id1526 . -1) (undo-tree-id1527 . -1) (undo-tree-id1528 . -1) (undo-tree-id1529 . -1) (undo-tree-id1530 . -1) (undo-tree-id1531 . -1) (undo-tree-id1532 . -1) (undo-tree-id1533 . -1) (undo-tree-id1534 . -1) (undo-tree-id1535 . -1) (undo-tree-id1536 . -1) (undo-tree-id1537 . -1) (undo-tree-id1538 . -1) (undo-tree-id1539 . -1) (undo-tree-id1540 . -1) (undo-tree-id1541 . -1) (#(" " 0 1 (part-side typescript)) . -157) (undo-tree-id1542 . -1) (undo-tree-id1543 . -1) (undo-tree-id1544 . -1) (undo-tree-id1545 . -1) (undo-tree-id1546 . -1) (undo-tree-id1547 . -1) (undo-tree-id1548 . -1) (undo-tree-id1549 . -1) (undo-tree-id1550 . -1) (undo-tree-id1551 . -1) (undo-tree-id1552 . -1) (undo-tree-id1553 . -1) (undo-tree-id1554 . -1) (undo-tree-id1555 . -1) (undo-tree-id1556 . -1) (undo-tree-id1557 . -1) (undo-tree-id1558 . -1) (undo-tree-id1559 . -1) (undo-tree-id1560 . -1) (undo-tree-id1561 . -1) (undo-tree-id1562 . -1) (undo-tree-id1563 . -1) (undo-tree-id1564 . -1) (undo-tree-id1565 . -1) (undo-tree-id1566 . -1) (undo-tree-id1567 . -1) (undo-tree-id1568 . -1) (undo-tree-id1569 . -1) (undo-tree-id1570 . -1) (undo-tree-id1571 . -1) (undo-tree-id1572 . -1) (undo-tree-id1573 . -1) (undo-tree-id1574 . -1) (undo-tree-id1575 . -1) (undo-tree-id1576 . -1) (undo-tree-id1577 . -1) (undo-tree-id1578 . -1) (undo-tree-id1579 . -1) (undo-tree-id1580 . -1) (undo-tree-id1581 . -1) (undo-tree-id1582 . -1) (undo-tree-id1583 . -1) (undo-tree-id1584 . -1) (undo-tree-id1585 . -1) (undo-tree-id1586 . -1) (undo-tree-id1587 . -1) (undo-tree-id1588 . -1) (undo-tree-id1589 . -1) (undo-tree-id1590 . -1) (undo-tree-id1591 . -1) (undo-tree-id1592 . -1) (undo-tree-id1593 . -1) (undo-tree-id1594 . -1) (undo-tree-id1595 . -1) (undo-tree-id1596 . -1) (undo-tree-id1597 . -1) (undo-tree-id1598 . -1) (undo-tree-id1599 . -1) (undo-tree-id1600 . -1) (undo-tree-id1601 . -1) (undo-tree-id1602 . -1) (undo-tree-id1603 . -1) (undo-tree-id1604 . -1) (undo-tree-id1605 . -1) (undo-tree-id1606 . -1) (undo-tree-id1607 . -1) (undo-tree-id1608 . -1) (undo-tree-id1609 . -1) (undo-tree-id1610 . -1) (undo-tree-id1611 . -1) (undo-tree-id1612 . -1) (undo-tree-id1613 . -1) (undo-tree-id1614 . -1) (undo-tree-id1615 . -1) (undo-tree-id1616 . -1) (undo-tree-id1617 . -1) (undo-tree-id1618 . -1) (undo-tree-id1619 . -1) (undo-tree-id1620 . -1) (undo-tree-id1621 . -1) (undo-tree-id1622 . -1) (undo-tree-id1623 . -1) (undo-tree-id1624 . -1) (undo-tree-id1625 . -1) (#(" " 0 1 (part-side typescript)) . -158) (undo-tree-id1626 . -1) (undo-tree-id1627 . -1) (undo-tree-id1628 . -1) (undo-tree-id1629 . -1) (undo-tree-id1630 . -1) (undo-tree-id1631 . -1) (undo-tree-id1632 . -1) (undo-tree-id1633 . -1) (undo-tree-id1634 . -1) (undo-tree-id1635 . -1) (undo-tree-id1636 . -1) (undo-tree-id1637 . -1) (undo-tree-id1638 . -1) (undo-tree-id1639 . -1) (undo-tree-id1640 . -1) (undo-tree-id1641 . -1) (undo-tree-id1642 . -1) (undo-tree-id1643 . -1) (undo-tree-id1644 . -1) (undo-tree-id1645 . -1) (undo-tree-id1646 . -1) (undo-tree-id1647 . -1) (undo-tree-id1648 . -1) (undo-tree-id1649 . -1) (undo-tree-id1650 . -1) (undo-tree-id1651 . -1) (undo-tree-id1652 . -1) (undo-tree-id1653 . -1) (undo-tree-id1654 . -1) (undo-tree-id1655 . -1) (undo-tree-id1656 . -1) (undo-tree-id1657 . -1) (undo-tree-id1658 . -1) (undo-tree-id1659 . -1) (undo-tree-id1660 . -1) (undo-tree-id1661 . -1) (undo-tree-id1662 . -1) (undo-tree-id1663 . -1) (undo-tree-id1664 . -1) (undo-tree-id1665 . -1) (undo-tree-id1666 . -1) (undo-tree-id1667 . -1) (undo-tree-id1668 . -1) (undo-tree-id1669 . -1) 159) nil (27034 12717 613680 251000) 0 nil])
19
+ ([nil nil ((#(" }
20
+ " 0 2 (part-side typescript) 2 4 (part-side typescript)) . 204) (undo-tree-id531 . -3) (undo-tree-id532 . -1) (undo-tree-id533 . -1) (undo-tree-id534 . -1) (undo-tree-id535 . -1) (undo-tree-id536 . -1) (undo-tree-id537 . -1) (undo-tree-id538 . -1) (undo-tree-id539 . -1) (undo-tree-id540 . -1) (undo-tree-id541 . -1) (undo-tree-id542 . -1) (undo-tree-id543 . -1) (undo-tree-id544 . -1) (undo-tree-id545 . -1) (undo-tree-id546 . -1) (undo-tree-id547 . -2) (undo-tree-id548 . -2) (undo-tree-id549 . -2) (undo-tree-id550 . -2) (undo-tree-id551 . -2) (undo-tree-id552 . -2) (undo-tree-id553 . -2) (undo-tree-id554 . -2) (undo-tree-id555 . -2) (undo-tree-id556 . -2) (undo-tree-id557 . -2) (undo-tree-id558 . -2) (undo-tree-id559 . -2) (undo-tree-id560 . -2) (undo-tree-id561 . -2) (undo-tree-id562 . -2) (undo-tree-id563 . -2) (undo-tree-id564 . -2) (undo-tree-id565 . -2) (undo-tree-id566 . -2) (undo-tree-id567 . -2) (undo-tree-id568 . -2) (undo-tree-id569 . -2) (undo-tree-id570 . -2) (undo-tree-id571 . -2) (undo-tree-id572 . -2) (undo-tree-id573 . -2) (undo-tree-id574 . -2) (undo-tree-id575 . -2) (undo-tree-id576 . -2) (undo-tree-id577 . -2) (undo-tree-id578 . -2) (undo-tree-id579 . -3) (undo-tree-id580 . -3) (undo-tree-id581 . -3) (undo-tree-id582 . -3) (undo-tree-id583 . -3) (undo-tree-id584 . -3) (undo-tree-id585 . -3) (undo-tree-id586 . -3) (undo-tree-id587 . -3) (undo-tree-id588 . -3) (undo-tree-id589 . -3) (undo-tree-id590 . -3) (undo-tree-id591 . -3) (undo-tree-id592 . -3) (undo-tree-id593 . -3) (undo-tree-id594 . 1) (undo-tree-id595 . -1) (undo-tree-id596 . -1) (undo-tree-id597 . -1) (undo-tree-id598 . -1) (undo-tree-id599 . -1) (undo-tree-id600 . -1) (undo-tree-id601 . -1) (undo-tree-id602 . -1) (undo-tree-id603 . -1) (undo-tree-id604 . -1) (undo-tree-id605 . -1) (undo-tree-id606 . -1) (undo-tree-id607 . -1) (undo-tree-id608 . -1) (undo-tree-id609 . -1) (undo-tree-id610 . -1) (undo-tree-id611 . -1) (undo-tree-id612 . -1) (undo-tree-id613 . -1) (undo-tree-id614 . -1) (undo-tree-id615 . -1) (undo-tree-id616 . -1) (undo-tree-id617 . -1) (undo-tree-id618 . -1) (undo-tree-id619 . -1) (undo-tree-id620 . -1) (undo-tree-id621 . -1) (undo-tree-id622 . -1) (undo-tree-id623 . -1) (undo-tree-id624 . -1) (undo-tree-id625 . -2) (undo-tree-id626 . -2) (undo-tree-id627 . -2) (undo-tree-id628 . -2) (undo-tree-id629 . -2) (undo-tree-id630 . -2) (undo-tree-id631 . -2) (undo-tree-id632 . -2) (undo-tree-id633 . -2) (undo-tree-id634 . -2) (undo-tree-id635 . -2) (undo-tree-id636 . -2) (undo-tree-id637 . -2) (undo-tree-id638 . -2) (undo-tree-id639 . -2) (undo-tree-id640 . -2) (undo-tree-id641 . -2) (undo-tree-id642 . -2) (undo-tree-id643 . -2) (undo-tree-id644 . -2) (undo-tree-id645 . -2) (undo-tree-id646 . -2) (undo-tree-id647 . -2) (undo-tree-id648 . -2) (undo-tree-id649 . -2) (undo-tree-id650 . -2) (undo-tree-id651 . -2) (undo-tree-id652 . -2) (undo-tree-id653 . -2) (undo-tree-id654 . -2) (undo-tree-id655 . -2) (undo-tree-id656 . -2) (undo-tree-id657 . -2) (undo-tree-id658 . -2) (undo-tree-id659 . -2) (undo-tree-id660 . -2) (undo-tree-id661 . -2) (undo-tree-id662 . -2) (undo-tree-id663 . -2) (undo-tree-id664 . -2) (undo-tree-id665 . -2) (undo-tree-id666 . -2) (undo-tree-id667 . -2) (undo-tree-id668 . -2) (undo-tree-id669 . -2) (undo-tree-id670 . -1) (undo-tree-id671 . -2) (undo-tree-id672 . -2) (undo-tree-id673 . -2) (undo-tree-id674 . -2) (undo-tree-id675 . -4) 206) nil (27034 12717 613424 799000) 0 nil])
21
+ ([nil nil ((#("
22
+ " 0 2 (part-side typescript) 2 3 (part-side typescript)) . 204) (undo-tree-id392 . -2) (undo-tree-id393 . 3) (undo-tree-id394 . -2) (undo-tree-id395 . -2) (undo-tree-id396 . -2) (undo-tree-id397 . -2) (undo-tree-id398 . -2) (undo-tree-id399 . -2) (undo-tree-id400 . -2) (undo-tree-id401 . -2) (undo-tree-id402 . -2) (undo-tree-id403 . -2) (undo-tree-id404 . -2) (undo-tree-id405 . -2) (undo-tree-id406 . -2) (undo-tree-id407 . -2) (undo-tree-id408 . -2) (undo-tree-id409 . -2) (undo-tree-id410 . -2) (undo-tree-id411 . -2) (undo-tree-id412 . -2) (undo-tree-id413 . -2) (undo-tree-id414 . -2) (undo-tree-id415 . -2) (undo-tree-id416 . -2) (undo-tree-id417 . -2) (undo-tree-id418 . -2) (undo-tree-id419 . -2) (undo-tree-id420 . -2) (undo-tree-id421 . -1) (undo-tree-id422 . -1) (undo-tree-id423 . -1) (undo-tree-id424 . -1) (undo-tree-id425 . -1) (undo-tree-id426 . -1) (undo-tree-id427 . -1) (undo-tree-id428 . -1) (undo-tree-id429 . -1) (undo-tree-id430 . -1) (undo-tree-id431 . -1) (undo-tree-id432 . -1) (undo-tree-id433 . -1) (undo-tree-id434 . -1) (undo-tree-id435 . -1) (undo-tree-id436 . -1) (undo-tree-id437 . -1) (undo-tree-id438 . -1) (undo-tree-id439 . -1) (undo-tree-id440 . -1) (undo-tree-id441 . -1) (undo-tree-id442 . -1) (undo-tree-id443 . -1) (undo-tree-id444 . -1) (undo-tree-id445 . -1) (undo-tree-id446 . -1) (undo-tree-id447 . -1) (undo-tree-id448 . -1) (undo-tree-id449 . -1) (undo-tree-id450 . -1) (undo-tree-id451 . -1) (undo-tree-id452 . -1) (undo-tree-id453 . -1) (undo-tree-id454 . -1) (undo-tree-id455 . -1) (undo-tree-id456 . -1) (undo-tree-id457 . -1) (undo-tree-id458 . -1) (undo-tree-id459 . -1) (undo-tree-id460 . -1) (undo-tree-id461 . -1) (undo-tree-id462 . -1) (undo-tree-id463 . -1) (undo-tree-id464 . -1) (undo-tree-id465 . -1) (undo-tree-id466 . -1) (undo-tree-id467 . -1) (undo-tree-id468 . -1) (undo-tree-id469 . -1) (undo-tree-id470 . -1) (undo-tree-id471 . -1) (undo-tree-id472 . -1) (undo-tree-id473 . -1) (undo-tree-id474 . -1) (undo-tree-id475 . -1) (undo-tree-id476 . -1) (undo-tree-id477 . -1) (undo-tree-id478 . -1) (undo-tree-id479 . -1) (undo-tree-id480 . -1) (undo-tree-id481 . -1) (undo-tree-id482 . -1) (undo-tree-id483 . -1) (undo-tree-id484 . -1) (undo-tree-id485 . -1) (undo-tree-id486 . -1) (undo-tree-id487 . -1) (undo-tree-id488 . -1) (undo-tree-id489 . -1) (undo-tree-id490 . -1) (undo-tree-id491 . -1) (undo-tree-id492 . -1) (undo-tree-id493 . -1) (undo-tree-id494 . -1) (undo-tree-id495 . -1) (undo-tree-id496 . -1) (undo-tree-id497 . -1) (undo-tree-id498 . -1) (undo-tree-id499 . -1) (undo-tree-id500 . -1) (undo-tree-id501 . -1) (undo-tree-id502 . -1) (undo-tree-id503 . -1) (undo-tree-id504 . -1) (undo-tree-id505 . -1) (undo-tree-id506 . -1) (undo-tree-id507 . -1) (undo-tree-id508 . -1) (undo-tree-id509 . -1) (undo-tree-id510 . -1) (undo-tree-id511 . -1) (undo-tree-id512 . -1) (undo-tree-id513 . -1) (undo-tree-id514 . -1) (undo-tree-id515 . -1) (undo-tree-id516 . -1) (undo-tree-id517 . -1) (undo-tree-id518 . -1) (undo-tree-id519 . -1) (undo-tree-id520 . -1) (undo-tree-id521 . -1) (undo-tree-id522 . -1) (undo-tree-id523 . -1) (undo-tree-id524 . -1) (undo-tree-id525 . -1) (undo-tree-id526 . -1) (undo-tree-id527 . -1) (undo-tree-id528 . -1) (undo-tree-id529 . -1) (undo-tree-id530 . -3) 205) nil (27034 12717 613386 641000) 0 nil])
23
+ ([nil current ((#("
24
+ " 0 2 (part-side typescript) 2 3 (part-side typescript)) . 126) (undo-tree-id293 . -2) (undo-tree-id294 . -3) (undo-tree-id295 . -3) (undo-tree-id296 . -3) (undo-tree-id297 . -3) (undo-tree-id298 . -3) (undo-tree-id299 . -3) (undo-tree-id300 . -3) (undo-tree-id301 . -3) (undo-tree-id302 . -3) (undo-tree-id303 . -3) (undo-tree-id304 . -3) (undo-tree-id305 . -3) (undo-tree-id306 . -3) (undo-tree-id307 . -3) (undo-tree-id308 . -3) (undo-tree-id309 . -3) (undo-tree-id310 . -3) (undo-tree-id311 . -3) (undo-tree-id312 . -3) (undo-tree-id313 . -3) (undo-tree-id314 . -3) (undo-tree-id315 . -3) (undo-tree-id316 . -3) (undo-tree-id317 . -3) (undo-tree-id318 . -3) (undo-tree-id319 . -3) (undo-tree-id320 . -3) (undo-tree-id321 . -1) (undo-tree-id322 . -1) (undo-tree-id323 . -1) (undo-tree-id324 . -1) (undo-tree-id325 . -1) (undo-tree-id326 . -1) (undo-tree-id327 . -1) (undo-tree-id328 . -1) (undo-tree-id329 . -1) (undo-tree-id330 . -1) (undo-tree-id331 . -1) (undo-tree-id332 . -1) (undo-tree-id333 . -1) (undo-tree-id334 . -1) (undo-tree-id335 . -1) (undo-tree-id336 . -1) (undo-tree-id337 . -1) (undo-tree-id338 . -1) (undo-tree-id339 . -1) (undo-tree-id340 . -1) (undo-tree-id341 . -1) (undo-tree-id342 . -1) (undo-tree-id343 . -1) (undo-tree-id344 . -1) (undo-tree-id345 . -1) (undo-tree-id346 . -1) (undo-tree-id347 . -1) (undo-tree-id348 . -1) (undo-tree-id349 . -1) (undo-tree-id350 . -1) (undo-tree-id351 . -1) (undo-tree-id352 . -1) (undo-tree-id353 . -1) (undo-tree-id354 . -1) (undo-tree-id355 . -1) (undo-tree-id356 . -1) (undo-tree-id357 . -1) (undo-tree-id358 . -1) (undo-tree-id359 . -1) (undo-tree-id360 . -1) (undo-tree-id361 . -1) (undo-tree-id362 . -1) (undo-tree-id363 . -1) (undo-tree-id364 . -1) (undo-tree-id365 . -1) (undo-tree-id366 . -1) (undo-tree-id367 . -1) (undo-tree-id368 . -1) (undo-tree-id369 . -1) (undo-tree-id370 . -1) (undo-tree-id371 . -1) (undo-tree-id372 . -1) (undo-tree-id373 . -1) (undo-tree-id374 . -1) (undo-tree-id375 . -1) (undo-tree-id376 . -1) (undo-tree-id377 . -1) (undo-tree-id378 . -1) (undo-tree-id379 . -1) (undo-tree-id380 . -1) (undo-tree-id381 . -1) (undo-tree-id382 . -1) (undo-tree-id383 . -1) (undo-tree-id384 . -1) (undo-tree-id385 . -1) (undo-tree-id386 . -1) (undo-tree-id387 . -1) (undo-tree-id388 . -1) (undo-tree-id389 . -1) (undo-tree-id390 . -1) (undo-tree-id391 . -3) 127) nil (27034 12717 613278 126000) 0 nil])
25
+ nil
@@ -0,0 +1,10 @@
1
+ import { MapProxy } from "../map-proxy";
2
+ import { SetProxy } from "../set-proxy";
3
+
4
+ export const maybeProxy = <T>(x: T): T => {
5
+ if (x instanceof MapProxy) return x;
6
+ if (x instanceof Map) return new MapProxy(Array.from(x.entries())) as T;
7
+ if (x instanceof SetProxy) return x;
8
+ if (x instanceof Set) return new SetProxy(Array.from(x.values())) as T;
9
+ return x;
10
+ };
@@ -0,0 +1,7 @@
1
+ import { MapProxy } from "../map-proxy";
2
+
3
+ export const maybeProxy = <T>(x: T): T => {
4
+ if (x instanceof MapProxy) return x;
5
+ if (x instanceof Map) return new MapProxy(Array.from(x.entries())) as T;
6
+ return x;
7
+ }
@@ -1,7 +1,7 @@
1
- export const onNextTick = (fn: () => (void | Promise<void>)) => {
2
- if (typeof queueMicrotask !== 'undefined') {
1
+ export const onNextTick = (fn: () => void | Promise<void>) => {
2
+ if (typeof queueMicrotask !== "undefined") {
3
3
  queueMicrotask(fn);
4
4
  } else {
5
5
  setTimeout(fn, 1);
6
6
  }
7
- }
7
+ };