@thyn/core 0.0.120 → 0.0.123

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/dist/signals.d.ts CHANGED
@@ -1,16 +1,3 @@
1
- declare class EffectBitSet {
2
- private bitSet;
3
- private effects;
4
- private ids;
5
- constructor(capacity?: number);
6
- add(effect: any): boolean;
7
- has(effect: any): boolean;
8
- delete(effect: any): boolean;
9
- clear(): void;
10
- get size(): number;
11
- [Symbol.iterator](): Iterator<any>;
12
- forEach(callback: (effect: any) => void): void;
13
- }
14
1
  export type Signal<T> = {
15
2
  (): T;
16
3
  (value: T): void;
@@ -20,11 +7,10 @@ export declare function $signal<T>(value: T): Signal<T>;
20
7
  export declare function $compare<T>(fn: () => T): (value: T) => boolean;
21
8
  interface EffectFn {
22
9
  run: () => (() => void) | void;
23
- deps: EffectBitSet;
10
+ deps?: Set<any>;
24
11
  mv?: boolean;
25
12
  dyn?: boolean;
26
13
  td?: (() => void)[];
27
- _id?: number;
28
14
  }
29
15
  export declare function $effect(fn: EffectFn["run"], stat?: boolean, mv?: boolean): EffectFn;
30
16
  export declare function cleanup(effectFn: EffectFn): void;
package/dist/signals.js CHANGED
@@ -2,124 +2,6 @@ import { collectEffect } from "./element.js";
2
2
  let currentEffect;
3
3
  let isBatching;
4
4
  const pendingEffects = [];
5
- // Global effect ID counter and registry
6
- let nextEffectId = 0;
7
- const effectRegistry = new Map();
8
- class BitSet {
9
- constructor(capacity = 1024) {
10
- this._size = 0;
11
- this.maxCapacity = capacity;
12
- this.bits = new Uint32Array(Math.ceil(capacity / 32));
13
- }
14
- add(id) {
15
- if (id >= this.maxCapacity)
16
- return false;
17
- const wordIndex = Math.floor(id / 32);
18
- const bitIndex = id % 32;
19
- const mask = 1 << bitIndex;
20
- if (!(this.bits[wordIndex] & mask)) {
21
- this.bits[wordIndex] |= mask;
22
- this._size++;
23
- return true;
24
- }
25
- return false;
26
- }
27
- has(id) {
28
- if (id >= this.maxCapacity)
29
- return false;
30
- const wordIndex = Math.floor(id / 32);
31
- const bitIndex = id % 32;
32
- return !!(this.bits[wordIndex] & (1 << bitIndex));
33
- }
34
- delete(id) {
35
- if (id >= this.maxCapacity)
36
- return false;
37
- const wordIndex = Math.floor(id / 32);
38
- const bitIndex = id % 32;
39
- const mask = 1 << bitIndex;
40
- if (this.bits[wordIndex] & mask) {
41
- this.bits[wordIndex] &= ~mask;
42
- this._size--;
43
- return true;
44
- }
45
- return false;
46
- }
47
- clear() {
48
- this.bits.fill(0);
49
- this._size = 0;
50
- }
51
- get size() {
52
- return this._size;
53
- }
54
- *[Symbol.iterator]() {
55
- for (let wordIndex = 0; wordIndex < this.bits.length; wordIndex++) {
56
- const word = this.bits[wordIndex];
57
- if (word === 0)
58
- continue;
59
- for (let bitIndex = 0; bitIndex < 32; bitIndex++) {
60
- if (word & (1 << bitIndex)) {
61
- yield wordIndex * 32 + bitIndex;
62
- }
63
- }
64
- }
65
- }
66
- forEach(callback) {
67
- for (const id of this) {
68
- callback(id);
69
- }
70
- }
71
- }
72
- // Wrapper to make BitSet work with effect objects
73
- class EffectBitSet {
74
- constructor(capacity = 1024) {
75
- this.effects = new Map();
76
- this.ids = new Map();
77
- this.bitSet = new BitSet(capacity);
78
- }
79
- add(effect) {
80
- if (this.effects.has(effect))
81
- return false;
82
- // Assign ID to effect if it doesn't have one
83
- if (!effect._id) {
84
- effect._id = nextEffectId++;
85
- effectRegistry.set(effect._id, effect);
86
- }
87
- this.effects.set(effect, effect._id);
88
- this.ids.set(effect._id, effect);
89
- return this.bitSet.add(effect._id);
90
- }
91
- has(effect) {
92
- return this.effects.has(effect);
93
- }
94
- delete(effect) {
95
- if (!this.effects.has(effect))
96
- return false;
97
- const id = this.effects.get(effect);
98
- this.effects.delete(effect);
99
- this.ids.delete(id);
100
- return this.bitSet.delete(id);
101
- }
102
- clear() {
103
- this.effects.clear();
104
- this.ids.clear();
105
- this.bitSet.clear();
106
- }
107
- get size() {
108
- return this.bitSet.size;
109
- }
110
- *[Symbol.iterator]() {
111
- for (const id of this.bitSet) {
112
- const effect = this.ids.get(id);
113
- if (effect)
114
- yield effect;
115
- }
116
- }
117
- forEach(callback) {
118
- for (const effect of this) {
119
- callback(effect);
120
- }
121
- }
122
- }
123
5
  function scheduleEffect(effectFn) {
124
6
  pendingEffects.push(effectFn);
125
7
  if (!isBatching) {
@@ -143,12 +25,12 @@ function scheduleEffect(effectFn) {
143
25
  }
144
26
  }
145
27
  export function $signal(value) {
146
- const subscribers = new EffectBitSet();
28
+ const subscribers = new Set();
147
29
  return (...args) => {
148
30
  if (!args.length) {
149
31
  if (currentEffect) {
150
32
  subscribers.add(currentEffect);
151
- currentEffect.deps.add(subscribers);
33
+ currentEffect.deps?.add(subscribers);
152
34
  }
153
35
  return value;
154
36
  }
@@ -158,7 +40,9 @@ export function $signal(value) {
158
40
  : action;
159
41
  if (newValue !== value) {
160
42
  value = newValue;
161
- subscribers.forEach(sub => scheduleEffect(sub));
43
+ for (const sub of subscribers) {
44
+ scheduleEffect(sub);
45
+ }
162
46
  }
163
47
  };
164
48
  }
@@ -174,21 +58,21 @@ export function $compare(fn) {
174
58
  current = newValue;
175
59
  // Only notify subscribers for new and old values
176
60
  if (prevSubs) {
177
- prevSubs.forEach(sub => scheduleEffect(sub));
61
+ for (const sub of prevSubs)
62
+ scheduleEffect(sub);
178
63
  }
179
64
  if (nextSubs) {
180
- nextSubs.forEach(sub => scheduleEffect(sub));
65
+ for (const sub of nextSubs)
66
+ scheduleEffect(sub);
181
67
  }
182
68
  }, true);
183
69
  return (value) => {
184
70
  if (currentEffect) {
185
71
  let subs = map.get(value);
186
- if (!subs) {
187
- subs = new EffectBitSet();
188
- map.set(value, subs);
189
- }
72
+ if (!subs)
73
+ map.set(value, subs = new Set());
190
74
  subs.add(currentEffect);
191
- currentEffect.deps.add(subs);
75
+ currentEffect.deps?.add(subs);
192
76
  const teardownFn = () => {
193
77
  subs.delete(currentEffect);
194
78
  if (subs.size === 0) {
@@ -219,10 +103,11 @@ function runEffectFn(effectFn) {
219
103
  export function $effect(fn, stat, mv) {
220
104
  const effectFn = {
221
105
  run: fn,
222
- deps: new EffectBitSet(),
223
106
  };
224
- if (!stat)
107
+ if (!stat) {
225
108
  effectFn.dyn = true;
109
+ effectFn.deps = new Set();
110
+ }
226
111
  if (mv)
227
112
  effectFn.mv = true;
228
113
  const prev = currentEffect;
@@ -233,12 +118,11 @@ export function $effect(fn, stat, mv) {
233
118
  return effectFn;
234
119
  }
235
120
  export function cleanup(effectFn) {
236
- effectFn.deps.forEach(subs => {
121
+ for (const subs of effectFn.deps) {
237
122
  subs.delete(effectFn);
238
- });
123
+ }
239
124
  effectFn.deps.clear();
240
- if (effectFn.td) {
125
+ if (effectFn.td)
241
126
  for (const f of effectFn.td)
242
127
  f();
243
- }
244
128
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thyn/core",
3
- "version": "0.0.120",
3
+ "version": "0.0.123",
4
4
  "scripts": {
5
5
  "build": "tsc",
6
6
  "pub": "tsc && npm version patch -f && npm -f publish --access=public",
package/src/signals.ts CHANGED
@@ -1,151 +1,10 @@
1
1
  import { collectEffect } from "./element.js";
2
2
 
3
3
  let currentEffect: any;
4
+
4
5
  let isBatching: boolean | undefined;
5
6
  const pendingEffects = [];
6
7
 
7
- // Global effect ID counter and registry
8
- let nextEffectId = 0;
9
- const effectRegistry = new Map<number, any>();
10
-
11
- class BitSet {
12
- private bits: Uint32Array;
13
- private _size: number = 0;
14
- private maxCapacity: number;
15
-
16
- constructor(capacity: number = 1024) {
17
- this.maxCapacity = capacity;
18
- this.bits = new Uint32Array(Math.ceil(capacity / 32));
19
- }
20
-
21
- add(id: number): boolean {
22
- if (id >= this.maxCapacity) return false;
23
-
24
- const wordIndex = Math.floor(id / 32);
25
- const bitIndex = id % 32;
26
- const mask = 1 << bitIndex;
27
-
28
- if (!(this.bits[wordIndex] & mask)) {
29
- this.bits[wordIndex] |= mask;
30
- this._size++;
31
- return true;
32
- }
33
- return false;
34
- }
35
-
36
- has(id: number): boolean {
37
- if (id >= this.maxCapacity) return false;
38
-
39
- const wordIndex = Math.floor(id / 32);
40
- const bitIndex = id % 32;
41
- return !!(this.bits[wordIndex] & (1 << bitIndex));
42
- }
43
-
44
- delete(id: number): boolean {
45
- if (id >= this.maxCapacity) return false;
46
-
47
- const wordIndex = Math.floor(id / 32);
48
- const bitIndex = id % 32;
49
- const mask = 1 << bitIndex;
50
-
51
- if (this.bits[wordIndex] & mask) {
52
- this.bits[wordIndex] &= ~mask;
53
- this._size--;
54
- return true;
55
- }
56
- return false;
57
- }
58
-
59
- clear(): void {
60
- this.bits.fill(0);
61
- this._size = 0;
62
- }
63
-
64
- get size(): number {
65
- return this._size;
66
- }
67
-
68
- *[Symbol.iterator](): Iterator<number> {
69
- for (let wordIndex = 0; wordIndex < this.bits.length; wordIndex++) {
70
- const word = this.bits[wordIndex];
71
- if (word === 0) continue;
72
-
73
- for (let bitIndex = 0; bitIndex < 32; bitIndex++) {
74
- if (word & (1 << bitIndex)) {
75
- yield wordIndex * 32 + bitIndex;
76
- }
77
- }
78
- }
79
- }
80
-
81
- forEach(callback: (id: number) => void): void {
82
- for (const id of this) {
83
- callback(id);
84
- }
85
- }
86
- }
87
-
88
- // Wrapper to make BitSet work with effect objects
89
- class EffectBitSet {
90
- private bitSet: BitSet;
91
- private effects: Map<any, number> = new Map();
92
- private ids: Map<number, any> = new Map();
93
-
94
- constructor(capacity: number = 1024) {
95
- this.bitSet = new BitSet(capacity);
96
- }
97
-
98
- add(effect: any): boolean {
99
- if (this.effects.has(effect)) return false;
100
-
101
- // Assign ID to effect if it doesn't have one
102
- if (!effect._id) {
103
- effect._id = nextEffectId++;
104
- effectRegistry.set(effect._id, effect);
105
- }
106
-
107
- this.effects.set(effect, effect._id);
108
- this.ids.set(effect._id, effect);
109
- return this.bitSet.add(effect._id);
110
- }
111
-
112
- has(effect: any): boolean {
113
- return this.effects.has(effect);
114
- }
115
-
116
- delete(effect: any): boolean {
117
- if (!this.effects.has(effect)) return false;
118
-
119
- const id = this.effects.get(effect);
120
- this.effects.delete(effect);
121
- this.ids.delete(id);
122
- return this.bitSet.delete(id);
123
- }
124
-
125
- clear(): void {
126
- this.effects.clear();
127
- this.ids.clear();
128
- this.bitSet.clear();
129
- }
130
-
131
- get size(): number {
132
- return this.bitSet.size;
133
- }
134
-
135
- *[Symbol.iterator](): Iterator<any> {
136
- for (const id of this.bitSet) {
137
- const effect = this.ids.get(id);
138
- if (effect) yield effect;
139
- }
140
- }
141
-
142
- forEach(callback: (effect: any) => void): void {
143
- for (const effect of this) {
144
- callback(effect);
145
- }
146
- }
147
- }
148
-
149
8
  function scheduleEffect(effectFn: EffectFn) {
150
9
  pendingEffects.push(effectFn);
151
10
  if (!isBatching) {
@@ -175,68 +34,67 @@ export type Signal<T> = {
175
34
  };
176
35
 
177
36
  export function $signal<T>(value: T): Signal<T> {
178
- const subscribers = new EffectBitSet();
179
-
37
+ const subscribers = new Set<any>();
38
+
180
39
  return (...args: [T] | [(prev: T) => T] | []) => {
181
40
  if (!args.length) {
182
41
  if (currentEffect) {
183
42
  subscribers.add(currentEffect);
184
- currentEffect.deps.add(subscribers);
43
+ currentEffect.deps?.add(subscribers);
185
44
  }
186
45
  return value;
187
46
  }
188
-
47
+
189
48
  const action = args[0];
190
49
  const newValue = typeof action === "function"
191
50
  ? (action as (prev: T) => T)(value)
192
51
  : action;
193
-
52
+
194
53
  if (newValue !== value) {
195
54
  value = newValue;
196
- subscribers.forEach(sub => scheduleEffect(sub));
55
+ for (const sub of subscribers) {
56
+ scheduleEffect(sub);
57
+ }
197
58
  }
198
59
  };
199
60
  }
200
61
 
201
62
  export function $compare<T>(fn: () => T): (value: T) => boolean {
202
- const map = new Map<T, EffectBitSet>();
63
+ const map = new Map<T, Set<any>>();
203
64
  let current: T = fn();
204
-
65
+
205
66
  $effect(() => {
206
67
  const newValue = fn();
207
68
  if (newValue === current) return;
208
-
69
+
209
70
  const prevSubs = map.get(current);
210
71
  const nextSubs = map.get(newValue);
72
+
211
73
  current = newValue;
212
-
74
+
213
75
  // Only notify subscribers for new and old values
214
76
  if (prevSubs) {
215
- prevSubs.forEach(sub => scheduleEffect(sub));
77
+ for (const sub of prevSubs) scheduleEffect(sub);
216
78
  }
217
79
  if (nextSubs) {
218
- nextSubs.forEach(sub => scheduleEffect(sub));
80
+ for (const sub of nextSubs) scheduleEffect(sub);
219
81
  }
220
82
  }, true);
221
-
83
+
222
84
  return (value: T) => {
223
85
  if (currentEffect) {
224
86
  let subs = map.get(value);
225
- if (!subs) {
226
- subs = new EffectBitSet();
227
- map.set(value, subs);
228
- }
229
-
87
+ if (!subs) map.set(value, subs = new Set());
230
88
  subs.add(currentEffect);
231
- currentEffect.deps.add(subs);
232
-
89
+ currentEffect.deps?.add(subs);
90
+
233
91
  const teardownFn = () => {
234
92
  subs.delete(currentEffect);
235
93
  if (subs.size === 0) {
236
94
  map.delete(value);
237
95
  }
238
96
  };
239
-
97
+
240
98
  if (currentEffect.td) {
241
99
  currentEffect.td.push(teardownFn);
242
100
  } else {
@@ -260,22 +118,21 @@ function runEffectFn(effectFn: EffectFn) {
260
118
 
261
119
  interface EffectFn {
262
120
  run: () => (() => void) | void;
263
- deps: EffectBitSet;
121
+ deps?: Set<any>;
264
122
  mv?: boolean;
265
123
  dyn?: boolean;
266
124
  td?: (() => void)[];
267
- _id?: number; // Added for BitSet tracking
268
125
  }
269
126
 
270
127
  export function $effect(fn: EffectFn["run"], stat?: boolean, mv?: boolean) {
271
128
  const effectFn: EffectFn = {
272
129
  run: fn,
273
- deps: new EffectBitSet(),
274
130
  };
275
-
276
- if (!stat) effectFn.dyn = true;
131
+ if (!stat) {
132
+ effectFn.dyn = true;
133
+ effectFn.deps = new Set();
134
+ }
277
135
  if (mv) effectFn.mv = true;
278
-
279
136
  const prev = currentEffect;
280
137
  currentEffect = effectFn;
281
138
  runEffectFn(effectFn);
@@ -285,12 +142,9 @@ export function $effect(fn: EffectFn["run"], stat?: boolean, mv?: boolean) {
285
142
  }
286
143
 
287
144
  export function cleanup(effectFn: EffectFn) {
288
- effectFn.deps.forEach(subs => {
145
+ for (const subs of effectFn.deps) {
289
146
  subs.delete(effectFn);
290
- });
291
- effectFn.deps.clear();
292
-
293
- if (effectFn.td) {
294
- for (const f of effectFn.td) f();
295
147
  }
148
+ effectFn.deps.clear();
149
+ if (effectFn.td) for (const f of effectFn.td) f();
296
150
  }
@@ -1 +1 @@
1
- {"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.dom.asynciterable.d.ts","./node_modules/typescript/lib/lib.webworker.importscripts.d.ts","./node_modules/typescript/lib/lib.scripthost.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/typescript/lib/lib.es2020.full.d.ts","./src/signals.ts","./src/element.ts","./src/index.ts","./src/router.ts","./node_modules/@types/deep-eql/index.d.ts","./node_modules/@types/chai/index.d.ts","./node_modules/@types/estree/index.d.ts"],"fileIdsList":[[56],[52],[52,53],[53]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"1305d1e76ca44e30fb8b2b8075fa522b83f60c0bcf5d4326a9d2cf79b53724f8","impliedFormat":1},{"version":"b7cd5d40ac927a3271492b629feba8d8dca0f3d7ead9e70214fd9fa8526ffc74","signature":"4fe26d754ec66034539f62e1606bc14548daa33da25d935836da22e3f474e456"},{"version":"2d74bedd9c9890d22ac6126ef0a9c1fe9e612079831527d12405551b12bedc86","signature":"b7c09f81a2aff4251294010c6aae497cdc6d993b4b93d01689ac00f1ba75fbc0"},{"version":"f078bb1ffe7613336b4ba1e113f2efeb1807af583ac83d705f01a9cd868bfdd0","signature":"b1a9d2029bc09d94260873e1f48c13f05dda2176e23821d0b194812fcc9c3ccc"},{"version":"5af6ec6879f94e91634dd1c33e9665da6a3c248580114b44d16d5ff5dcf4e9f4","signature":"a32c52a25b47067dac589266e7667623ea1ef2b0c1f9c4fd41adbc7b67a59eee"},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"c8905dbea83f3220676a669366cd8c1acef56af4d9d72a8b2241b1d044bb4302","affectsGlobalScope":true,"impliedFormat":99},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1}],"root":[[52,55]],"options":{"allowJs":true,"checkJs":false,"composite":true,"esModuleInterop":true,"module":99,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"target":7},"referencedMap":[[57,1],[53,2],[54,3],[55,3],[52,4]],"latestChangedDtsFile":"./dist/signals.d.ts","version":"5.8.3"}
1
+ {"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.dom.asynciterable.d.ts","./node_modules/typescript/lib/lib.webworker.importscripts.d.ts","./node_modules/typescript/lib/lib.scripthost.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/typescript/lib/lib.es2020.full.d.ts","./src/signals.ts","./src/element.ts","./src/index.ts","./src/router.ts","./node_modules/@types/deep-eql/index.d.ts","./node_modules/@types/chai/index.d.ts","./node_modules/@types/estree/index.d.ts"],"fileIdsList":[[56],[52],[52,53],[53]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"1305d1e76ca44e30fb8b2b8075fa522b83f60c0bcf5d4326a9d2cf79b53724f8","impliedFormat":1},{"version":"def7a297a54d4fa1bffa8bc262ad32150fc04bdc7aea45004504f50f8e4de8bc","signature":"4c701d7671ad16f961e61b4384c9bf1e4dc648b98d6d2ec4b437f5c0ea7682ce"},{"version":"2d74bedd9c9890d22ac6126ef0a9c1fe9e612079831527d12405551b12bedc86","signature":"b7c09f81a2aff4251294010c6aae497cdc6d993b4b93d01689ac00f1ba75fbc0"},{"version":"f078bb1ffe7613336b4ba1e113f2efeb1807af583ac83d705f01a9cd868bfdd0","signature":"b1a9d2029bc09d94260873e1f48c13f05dda2176e23821d0b194812fcc9c3ccc"},{"version":"5af6ec6879f94e91634dd1c33e9665da6a3c248580114b44d16d5ff5dcf4e9f4","signature":"a32c52a25b47067dac589266e7667623ea1ef2b0c1f9c4fd41adbc7b67a59eee"},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"c8905dbea83f3220676a669366cd8c1acef56af4d9d72a8b2241b1d044bb4302","affectsGlobalScope":true,"impliedFormat":99},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1}],"root":[[52,55]],"options":{"allowJs":true,"checkJs":false,"composite":true,"esModuleInterop":true,"module":99,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"target":7},"referencedMap":[[57,1],[53,2],[54,3],[55,3],[52,4]],"latestChangedDtsFile":"./dist/signals.d.ts","version":"5.8.3"}