@thyn/core 0.0.334 → 0.0.336

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/element.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $effect, staticEffect, uncollectedStaticEffect } from "./signals.js";
1
+ import { $effect, cleanup, staticEffect, uncollectedStaticEffect } from "./signals.js";
2
2
  const MAX_SAFE_SPREAD = 10000;
3
3
  export function mount(app, parent) {
4
4
  parent.appendChild(app());
@@ -130,8 +130,7 @@ export function addEffect(el, ef) {
130
130
  function shallowTeardown(elem) {
131
131
  let current = elem.$fx;
132
132
  while (current) {
133
- // cleanup(current);
134
- current.teardown();
133
+ cleanup(current);
135
134
  current = current.next;
136
135
  }
137
136
  }
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export { addChildren, addEffect, component, createReactiveTextNode, fixedComponent, isolatedTerminalList, list, markAsReactive, mount, setAttribute, setProperty, setReactiveAttribute, setReactiveProperty, show, terminalList } from "./element.js";
2
- export { $effect, $signal, staticEffect } from "./signals.js";
2
+ export { $effect, $signal, staticEffect, TextNodeEffect, ClassNameEffect } from "./signals.js";
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  export { addChildren, addEffect, component, createReactiveTextNode, fixedComponent, isolatedTerminalList, list, markAsReactive, mount, setAttribute, setProperty, setReactiveAttribute, setReactiveProperty, show, terminalList } from "./element.js";
2
- export { $effect, $signal, staticEffect } from "./signals.js";
2
+ export { $effect, $signal, staticEffect, TextNodeEffect, ClassNameEffect } from "./signals.js";
package/dist/signals.d.ts CHANGED
@@ -4,26 +4,24 @@ export interface Signal<T> {
4
4
  (updater: (prev: T) => T): void;
5
5
  }
6
6
  export declare function $signal<T>(initialValue: T): Signal<T>;
7
- type EffectTeardown = (() => void) | {
8
- delete: (v: any) => void;
9
- } | Set<any>;
10
- export declare abstract class Effect {
11
- fn: () => any;
12
- td: EffectTeardown | EffectTeardown[] | null;
13
- next: Effect | null;
14
- mv: boolean;
15
- constructor(fn: () => any);
16
- abstract run(): void;
17
- addTeardown(td: EffectTeardown): void;
18
- teardown(): void;
19
- }
20
- export declare class DynamicEffect extends Effect {
7
+ export declare function $effect(fn: (() => (() => void) | void) & any): any;
8
+ export declare function staticEffect(fn: (() => (() => void) | void) & any): any;
9
+ export declare function uncollectedStaticEffect(fn: (() => (() => void) | void) & any): any;
10
+ export declare class TextNodeEffect {
11
+ node: any;
12
+ getter: any;
13
+ next: any;
14
+ td: any;
15
+ constructor(node: any, getter: any);
21
16
  run(): void;
22
17
  }
23
- export declare class StaticEffect extends Effect {
18
+ export declare class ClassNameEffect {
19
+ node: any;
20
+ getter: any;
21
+ next: any;
22
+ td: any;
23
+ prev: any;
24
+ constructor(node: any, getter: any);
24
25
  run(): void;
25
26
  }
26
- export declare function $effect(fn: () => any): DynamicEffect;
27
- export declare function staticEffect(fn: () => any): StaticEffect;
28
- export declare function uncollectedStaticEffect(fn: () => any): StaticEffect;
29
- export {};
27
+ export declare function cleanup(ef: any): void;
package/dist/signals.js CHANGED
@@ -2,13 +2,22 @@ import { collectEffect } from "./element.js";
2
2
  let currentEffect;
3
3
  let isBatching;
4
4
  const pendingEffects = [];
5
- function scheduleEffect(effect) {
6
- pendingEffects.push(effect);
5
+ function scheduleEffect(effectFn) {
6
+ pendingEffects.push(effectFn);
7
7
  if (!isBatching) {
8
8
  isBatching = true;
9
9
  queueMicrotask(() => {
10
10
  for (const ef of pendingEffects) {
11
- ef.run();
11
+ if (ef.dyn) {
12
+ cleanup(ef);
13
+ const prev = currentEffect;
14
+ currentEffect = ef;
15
+ runEffectFn(ef);
16
+ currentEffect = prev;
17
+ }
18
+ else {
19
+ typeof ef === "function" ? ef() : ef.run();
20
+ }
12
21
  }
13
22
  pendingEffects.length = 0;
14
23
  isBatching = false;
@@ -20,7 +29,8 @@ export function $signal(initialValue) {
20
29
  if (!arguments.length) {
21
30
  if (currentEffect) {
22
31
  s.subs.add(currentEffect);
23
- currentEffect.addTeardown(s.subs);
32
+ const td = currentEffect.td;
33
+ currentEffect.td = !td ? s.subs : (Array.isArray(td) ? (td.push(s.subs), td) : [td, s.subs]);
24
34
  }
25
35
  return s.value;
26
36
  }
@@ -34,87 +44,100 @@ export function $signal(initialValue) {
34
44
  s.subs = new Set();
35
45
  return s;
36
46
  }
37
- export class Effect {
38
- constructor(fn) {
39
- this.fn = fn;
40
- this.td = null;
41
- this.next = null;
42
- this.mv = false;
43
- }
44
- addTeardown(td) {
45
- if (!this.td) {
46
- this.td = td;
47
- }
48
- else if (Array.isArray(this.td)) {
49
- this.td.push(td);
47
+ function runEffectFn(ef) {
48
+ const td = ef();
49
+ if (td) {
50
+ if (ef.td) {
51
+ if (Array.isArray(ef.td)) {
52
+ ef.td.push(td);
53
+ }
54
+ else {
55
+ ef.td = [ef.td, td];
56
+ }
50
57
  }
51
58
  else {
52
- this.td = [this.td, td];
59
+ ef.td = td;
53
60
  }
54
61
  }
55
- teardown() {
56
- const td = this.td;
57
- if (!td)
58
- return;
59
- if (td.delete) {
60
- td.delete(this);
61
- }
62
- else if (typeof td === "function") {
63
- td();
64
- }
65
- else {
66
- for (const f of td) {
67
- if (typeof f === "function") {
68
- f();
69
- }
70
- else {
71
- f.delete(this);
72
- }
73
- }
74
- }
62
+ }
63
+ export function $effect(fn) {
64
+ const prev = currentEffect;
65
+ currentEffect = fn;
66
+ fn.dyn = true;
67
+ runEffectFn(fn);
68
+ currentEffect = prev;
69
+ collectEffect(fn);
70
+ return fn;
71
+ }
72
+ export function staticEffect(fn) {
73
+ const prev = currentEffect;
74
+ currentEffect = fn;
75
+ fn.td = null;
76
+ fn();
77
+ currentEffect = prev;
78
+ collectEffect(fn);
79
+ return fn;
80
+ }
81
+ export function uncollectedStaticEffect(fn) {
82
+ const prev = currentEffect;
83
+ currentEffect = fn;
84
+ fn.td = null;
85
+ fn();
86
+ currentEffect = prev;
87
+ return fn;
88
+ }
89
+ export class TextNodeEffect {
90
+ constructor(node, getter) {
91
+ this.node = node;
92
+ this.getter = getter;
75
93
  this.td = null;
94
+ this.next = null;
95
+ this.run();
96
+ collectEffect(this);
76
97
  }
77
- }
78
- export class DynamicEffect extends Effect {
79
98
  run() {
80
- this.teardown();
81
99
  const prev = currentEffect;
82
100
  currentEffect = this;
83
- const td = this.fn();
84
- if (td) {
85
- this.addTeardown(td);
86
- }
101
+ this.node.nodeValue = this.getter();
87
102
  currentEffect = prev;
88
103
  }
89
104
  }
90
- export class StaticEffect extends Effect {
105
+ export class ClassNameEffect {
106
+ constructor(node, getter) {
107
+ this.node = node;
108
+ this.getter = getter;
109
+ this.td = null;
110
+ this.next = null;
111
+ this.prev = undefined;
112
+ this.run();
113
+ collectEffect(this);
114
+ }
91
115
  run() {
92
- this.fn();
116
+ const prev = currentEffect;
117
+ currentEffect = this;
118
+ const val = this.getter();
119
+ if (val !== this.prev) {
120
+ this.prev = val;
121
+ if (val)
122
+ this.node.className = val;
123
+ else
124
+ this.node.removeAttribute("class");
125
+ }
126
+ currentEffect = prev;
93
127
  }
94
128
  }
95
- export function $effect(fn) {
96
- const e = new DynamicEffect(fn);
97
- e.run();
98
- collectEffect(e);
99
- return e;
100
- }
101
- export function staticEffect(fn) {
102
- const e = new StaticEffect(fn);
103
- const prev = currentEffect;
104
- currentEffect = e;
105
- e.fn();
106
- currentEffect = prev;
107
- collectEffect(e);
108
- return e;
109
- }
110
- export function uncollectedStaticEffect(fn) {
111
- const e = new StaticEffect(fn);
112
- const prev = currentEffect;
113
- currentEffect = e;
114
- e.fn();
115
- currentEffect = prev;
116
- return e;
129
+ export function cleanup(ef) {
130
+ const td = ef.td;
131
+ if (!td)
132
+ return;
133
+ if (td.delete) {
134
+ td.delete(ef);
135
+ }
136
+ else if (typeof td === "function") {
137
+ td();
138
+ }
139
+ else {
140
+ for (const f of td)
141
+ typeof f === "function" ? f() : f.delete(ef);
142
+ }
117
143
  }
118
- // export function cleanup(ef: Effect) {
119
- // ef.teardown();
120
- // }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thyn/core",
3
- "version": "0.0.334",
3
+ "version": "0.0.336",
4
4
  "scripts": {
5
5
  "build": "tsc",
6
6
  "pub": "tsc && npm version patch -f && npm -f publish --access=public",
package/src/element.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { $effect, staticEffect, uncollectedStaticEffect } from "./signals.js";
1
+ import { $effect, cleanup, staticEffect, uncollectedStaticEffect } from "./signals.js";
2
2
 
3
3
  const MAX_SAFE_SPREAD = 10000;
4
4
 
@@ -137,8 +137,7 @@ export function addEffect(el, ef) {
137
137
  function shallowTeardown(elem) {
138
138
  let current = elem.$fx;
139
139
  while (current) {
140
- // cleanup(current);
141
- current.teardown();
140
+ cleanup(current);
142
141
  current = current.next;
143
142
  }
144
143
  }
package/src/index.ts CHANGED
@@ -11,5 +11,5 @@ export {
11
11
  show,
12
12
  terminalList
13
13
  } from "./element.js";
14
- export { $effect, $signal, staticEffect } from "./signals.js";
14
+ export { $effect, $signal, staticEffect, TextNodeEffect, ClassNameEffect } from "./signals.js";
15
15
 
package/src/signals.ts CHANGED
@@ -1,17 +1,25 @@
1
1
  import { collectEffect } from "./element.js";
2
2
 
3
- let currentEffect: Effect | undefined;
3
+ let currentEffect: any;
4
4
 
5
5
  let isBatching: boolean | undefined;
6
- const pendingEffects: Effect[] = [];
6
+ const pendingEffects = [];
7
7
 
8
- function scheduleEffect(effect: Effect) {
9
- pendingEffects.push(effect);
8
+ function scheduleEffect(effectFn: EffectFn | any) {
9
+ pendingEffects.push(effectFn);
10
10
  if (!isBatching) {
11
11
  isBatching = true;
12
12
  queueMicrotask(() => {
13
13
  for (const ef of pendingEffects) {
14
- ef.run();
14
+ if (ef.dyn) {
15
+ cleanup(ef);
16
+ const prev = currentEffect;
17
+ currentEffect = ef;
18
+ runEffectFn(ef);
19
+ currentEffect = prev;
20
+ } else {
21
+ typeof ef === "function" ? ef() : ef.run();
22
+ }
15
23
  }
16
24
  pendingEffects.length = 0;
17
25
  isBatching = false;
@@ -19,10 +27,11 @@ function scheduleEffect(effect: Effect) {
19
27
  }
20
28
  }
21
29
 
30
+ // 1. Define the Overloaded Interface for the Signal function
22
31
  export interface Signal<T> {
23
- (): T;
24
- (newValue: T): void;
25
- (updater: (prev: T) => T): void;
32
+ (): T; // Getter
33
+ (newValue: T): void; // Setter
34
+ (updater: (prev: T) => T): void; // Updater
26
35
  }
27
36
 
28
37
  export function $signal<T>(initialValue: T): Signal<T> {
@@ -30,7 +39,8 @@ export function $signal<T>(initialValue: T): Signal<T> {
30
39
  if (!arguments.length) {
31
40
  if (currentEffect) {
32
41
  s.subs.add(currentEffect);
33
- currentEffect.addTeardown(s.subs);
42
+ const td = currentEffect.td;
43
+ currentEffect.td = !td ? s.subs : (Array.isArray(td) ? (td.push(s.subs), td) : [td, s.subs]);
34
44
  }
35
45
  return s.value;
36
46
  }
@@ -45,98 +55,114 @@ export function $signal<T>(initialValue: T): Signal<T> {
45
55
  return s as unknown as Signal<T>;
46
56
  }
47
57
 
48
- type EffectTeardown = (() => void) | { delete: (v: any) => void } | Set<any>;
58
+ function runEffectFn(ef: EffectFn) {
59
+ const td = ef();
60
+ if (td) {
61
+ if (ef.td) {
62
+ if (Array.isArray(ef.td)) {
63
+ ef.td.push(td)
64
+ } else {
65
+ ef.td = [ef.td, td];
66
+ }
67
+ } else {
68
+ ef.td = td;
69
+ }
70
+ }
71
+ }
49
72
 
50
- export abstract class Effect {
51
- fn: () => any;
52
- td: EffectTeardown | EffectTeardown[] | null;
53
- next: Effect | null;
54
- mv: boolean;
73
+ type EffectTeardown = (() => void) | { delete: (v: any) => void };
74
+ type EffectFn = (() => (() => void) | void) & {
75
+ mv?: boolean;
76
+ dyn?: boolean;
77
+ td: EffectTeardown | EffectTeardown[];
78
+ }
55
79
 
56
- constructor(fn: () => any) {
57
- this.fn = fn;
58
- this.td = null;
59
- this.next = null;
60
- this.mv = false;
61
- }
80
+ export function $effect(fn: (() => (() => void) | void) & any) {
81
+ const prev = currentEffect;
82
+ currentEffect = fn;
83
+ fn.dyn = true;
84
+ runEffectFn(fn);
85
+ currentEffect = prev;
86
+ collectEffect(fn);
87
+ return fn;
88
+ }
62
89
 
63
- abstract run(): void;
90
+ export function staticEffect(fn: (() => (() => void) | void) & any) {
91
+ const prev = currentEffect;
92
+ currentEffect = fn;
93
+ fn.td = null;
94
+ fn();
95
+ currentEffect = prev;
96
+ collectEffect(fn);
97
+ return fn;
98
+ }
64
99
 
65
- addTeardown(td: EffectTeardown) {
66
- if (!this.td) {
67
- this.td = td;
68
- } else if (Array.isArray(this.td)) {
69
- this.td.push(td);
70
- } else {
71
- this.td = [this.td, td];
72
- }
73
- }
100
+ export function uncollectedStaticEffect(fn: (() => (() => void) | void) & any) {
101
+ const prev = currentEffect;
102
+ currentEffect = fn;
103
+ fn.td = null;
104
+ fn();
105
+ currentEffect = prev;
106
+ return fn;
107
+ }
74
108
 
75
- teardown() {
76
- const td = this.td;
77
- if (!td) return;
78
- if ((td as any).delete) {
79
- (td as any).delete(this);
80
- } else if (typeof td === "function") {
81
- (td as any)();
82
- } else {
83
- for (const f of td as EffectTeardown[]) {
84
- if (typeof f === "function") {
85
- f();
86
- } else {
87
- (f as any).delete(this);
88
- }
89
- }
90
- }
109
+ export class TextNodeEffect {
110
+ node: any;
111
+ getter: any;
112
+ next: any;
113
+ td: any;
114
+ constructor(node: any, getter: any) {
115
+ this.node = node;
116
+ this.getter = getter;
91
117
  this.td = null;
118
+ this.next = null;
119
+ this.run();
120
+ collectEffect(this);
92
121
  }
93
- }
94
-
95
- export class DynamicEffect extends Effect {
96
122
  run() {
97
- this.teardown();
98
123
  const prev = currentEffect;
99
124
  currentEffect = this;
100
- const td = this.fn();
101
- if (td) {
102
- this.addTeardown(td);
103
- }
125
+ this.node.nodeValue = this.getter();
104
126
  currentEffect = prev;
105
127
  }
106
128
  }
107
129
 
108
- export class StaticEffect extends Effect {
130
+ export class ClassNameEffect {
131
+ node: any;
132
+ getter: any;
133
+ next: any;
134
+ td: any;
135
+ prev: any;
136
+ constructor(node: any, getter: any) {
137
+ this.node = node;
138
+ this.getter = getter;
139
+ this.td = null;
140
+ this.next = null;
141
+ this.prev = undefined;
142
+ this.run();
143
+ collectEffect(this);
144
+ }
109
145
  run() {
110
- this.fn();
146
+ const prev = currentEffect;
147
+ currentEffect = this;
148
+ const val = this.getter();
149
+ if (val !== this.prev) {
150
+ this.prev = val;
151
+ if (val) this.node.className = val;
152
+ else this.node.removeAttribute("class");
153
+ }
154
+ currentEffect = prev;
111
155
  }
112
156
  }
113
157
 
114
- export function $effect(fn: () => any) {
115
- const e = new DynamicEffect(fn);
116
- e.run();
117
- collectEffect(e);
118
- return e;
119
- }
120
-
121
- export function staticEffect(fn: () => any) {
122
- const e = new StaticEffect(fn);
123
- const prev = currentEffect;
124
- currentEffect = e;
125
- e.fn();
126
- currentEffect = prev;
127
- collectEffect(e);
128
- return e;
129
- }
130
-
131
- export function uncollectedStaticEffect(fn: () => any) {
132
- const e = new StaticEffect(fn);
133
- const prev = currentEffect;
134
- currentEffect = e;
135
- e.fn();
136
- currentEffect = prev;
137
- return e;
138
- }
139
-
140
- // export function cleanup(ef: Effect) {
141
- // ef.teardown();
142
- // }
158
+ export function cleanup(ef) {
159
+ const td = ef.td;
160
+ if (!td) return;
161
+ if (td.delete) {
162
+ td.delete(ef);
163
+ } else if (typeof td === "function") {
164
+ td();
165
+ } else {
166
+ for (const f of td) typeof f === "function" ? f() : f.delete(ef);
167
+ }
168
+ }
@@ -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/assertion-error/index.d.ts","./node_modules/@types/chai/index.d.ts","./node_modules/@types/estree/index.d.ts"],"fileIdsList":[[56,57],[52],[52,53],[53]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","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":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","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":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","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":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","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":"c798f9eaa71c54ba07a3ef8626f7cee6cdcadcd3fbc77112dc2de6f40e3771ff","signature":"3541ff605205f6d4e5738548d3d3abeb84e968227e0f91a85f1817b005179bb8"},{"version":"a32842cbd75b1f7be2368b265f695953ca5352c20e78ac63fe03597ae6b17e3e","signature":"f3ddd3670c33381859688f604378a0028cafa5b52cc936da9a225933eb464387"},{"version":"0e3be4d02e120fbbfd12edcc9ad69ff668f5f4303e2b9c80521a8a722428e97d","signature":"12fd8be483df752ac04ae85347f9c397954ac2390e0de50612bf8b9899d7767d"},{"version":"23e3a2d8ef7695586b582f6366a28b1404801ada9a0c82d895f19344f8100ea5","signature":"a32c52a25b47067dac589266e7667623ea1ef2b0c1f9c4fd41adbc7b67a59eee"},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","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":[[58,1],[53,2],[54,3],[55,3],[52,4]],"latestChangedDtsFile":"./dist/signals.d.ts","version":"5.9.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/assertion-error/index.d.ts","./node_modules/@types/chai/index.d.ts","./node_modules/@types/estree/index.d.ts"],"fileIdsList":[[56,57],[52],[52,53],[53]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","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":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","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":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","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":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","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":"0ee99746516e877160aac8dda7071edf0d0f35c8bcac57214eb917ff360f5f2e","signature":"dffdfb2dabe190be635c0dd555a43f2dfed22e219fbdec474ad23884e706c6d8"},{"version":"4d0f2e6064600fdcd05dd8ddda1e17cfc0b7b5bc60bdfc8991fdf43e5bbf7115","signature":"f3ddd3670c33381859688f604378a0028cafa5b52cc936da9a225933eb464387"},{"version":"31b78204c011654caff4a6ac79f0caf21a70f1bc87b7e0df5b5a981d3a57f3a3","signature":"e080523fefbd87b3b68eee55eab89d1bc89cef6a9e4c373f526abd0a92efb6c6"},{"version":"23e3a2d8ef7695586b582f6366a28b1404801ada9a0c82d895f19344f8100ea5","signature":"a32c52a25b47067dac589266e7667623ea1ef2b0c1f9c4fd41adbc7b67a59eee"},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","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":[[58,1],[53,2],[54,3],[55,3],[52,4]],"latestChangedDtsFile":"./dist/index.d.ts","version":"5.9.3"}