@thyn/core 0.0.190 → 0.0.196

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.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import { Effect } from "./signals.js";
2
1
  export declare function mount(app: any, parent: any): void;
3
- export declare function collectEffect(ef: Effect): void;
2
+ export declare function collectEffect(effectFn: any): void;
4
3
  export declare function createReactiveTextNode(v: any): any;
5
4
  export declare function component(name: any, props?: any): any;
6
5
  export declare function setAttribute(el: any, key: any, val: any): any;
package/dist/element.js CHANGED
@@ -1,17 +1,17 @@
1
- import { $effect, arrays, StaticEffect } from "./signals.js";
1
+ import { $effect, cleanup, staticEffect } from "./signals.js";
2
2
  export function mount(app, parent) {
3
3
  parent.appendChild(app());
4
4
  }
5
5
  let collectingHead;
6
- export function collectEffect(ef) {
6
+ export function collectEffect(effectFn) {
7
7
  if (collectingHead) {
8
- ef.next = collectingHead;
8
+ effectFn.next = collectingHead;
9
9
  }
10
- collectingHead = ef;
10
+ collectingHead = effectFn;
11
11
  }
12
12
  export function createReactiveTextNode(v) {
13
13
  let n;
14
- new StaticEffect(() => {
14
+ staticEffect(() => {
15
15
  if (n) {
16
16
  n.nodeValue = v();
17
17
  }
@@ -65,7 +65,7 @@ export function setProperty(el, key, val) {
65
65
  }
66
66
  export function setReactiveAttribute(el, key, val) {
67
67
  let ran;
68
- return addEffect(el, new StaticEffect(() => {
68
+ return addEffect(el, staticEffect(() => {
69
69
  const v = val();
70
70
  if (ran) {
71
71
  if (v === undefined)
@@ -81,7 +81,7 @@ export function setReactiveAttribute(el, key, val) {
81
81
  }
82
82
  export function setReactiveProperty(el, key, val) {
83
83
  let ran = true;
84
- return addEffect(el, new StaticEffect(() => {
84
+ return addEffect(el, staticEffect(() => {
85
85
  const v = val();
86
86
  if (ran) {
87
87
  if (v === undefined)
@@ -117,14 +117,13 @@ export function addEffect(el, ef) {
117
117
  return el;
118
118
  }
119
119
  function shallowTeardown(elem) {
120
- let curr = elem.$fx;
120
+ let current = elem.$fx;
121
121
  let prev;
122
- while (curr) {
123
- curr.cleanup();
124
- curr.td.length = 0;
125
- arrays.push(curr.td);
126
- prev = curr;
127
- curr = curr.next;
122
+ while (current) {
123
+ cleanup(current);
124
+ current.td = null;
125
+ prev = current;
126
+ current = current.next;
128
127
  prev.next = undefined;
129
128
  }
130
129
  elem.$fx = undefined;
@@ -253,7 +252,7 @@ export function list(props, terminal = false) {
253
252
  startBookend.$frag = outlet;
254
253
  startBookend.$end = endBookend;
255
254
  const render = props.render;
256
- new StaticEffect(() => {
255
+ staticEffect(() => {
257
256
  parent = startBookend.parentNode;
258
257
  if (!parent) {
259
258
  prevItems = props.items();
@@ -410,7 +409,7 @@ export function isolatedTerminalList(props) {
410
409
  startBookend.$frag = outlet;
411
410
  startBookend.$end = endBookend;
412
411
  const render = props.render;
413
- new StaticEffect(() => {
412
+ staticEffect(() => {
414
413
  parent = startBookend.parentNode;
415
414
  if (!parent) {
416
415
  prevItems = props.items();
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export { addChildren, addEffect, component, createReactiveTextNode, list, markAsReactive, mount, setAttribute, setProperty, setReactiveAttribute, setReactiveProperty, show, terminalList, isolatedTerminalList, } from "./element.js";
2
- export { StaticEffect, $effect, $signal, type Signal } from "./signals.js";
2
+ export { staticEffect, $effect, $signal, type Signal } from "./signals.js";
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  export { addChildren, addEffect, component, createReactiveTextNode, list, markAsReactive, mount, setAttribute, setProperty, setReactiveAttribute, setReactiveProperty, show, terminalList, isolatedTerminalList, } from "./element.js";
2
- export { StaticEffect, $effect, $signal } from "./signals.js";
2
+ export { staticEffect, $effect, $signal } from "./signals.js";
package/dist/router.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { component, show } from "./element.js";
2
- import { $signal, StaticEffect } from "./signals.js";
2
+ import { $signal, staticEffect } from "./signals.js";
3
3
  const params = $signal({});
4
4
  export const router = {
5
5
  path: $signal(location.pathname),
@@ -20,7 +20,7 @@ export function Router({ routes }) {
20
20
  })}$`);
21
21
  return compiledRoute;
22
22
  });
23
- new StaticEffect(() => {
23
+ staticEffect(() => {
24
24
  const pn = router.path();
25
25
  if (pn !== location.pathname) {
26
26
  history.pushState({}, "", pn);
package/dist/signals.d.ts CHANGED
@@ -3,30 +3,7 @@ export type Signal<T> = {
3
3
  (value: T): void;
4
4
  (updater: (prev: T) => T): void;
5
5
  };
6
- export declare class Sig<T> {
7
- private value;
8
- constructor(value: T);
9
- subs: Set<any>;
10
- invoke(...args: [T] | [(prev: T) => T] | []): T;
11
- }
12
6
  export declare function $signal<T>(value: T): Signal<T>;
13
- type EffectFunction = (() => (() => void) | void);
14
- export interface Effect {
15
- cleanup: () => void;
16
- next?: Effect;
17
- }
18
- export declare class StaticEffect implements Effect {
19
- private fn;
20
- constructor(fn: EffectFunction);
21
- run(): void;
22
- td: any;
23
- next?: Effect;
24
- cleanup(): void;
25
- }
26
- declare class DynamicEffect extends StaticEffect {
27
- dyn: boolean;
28
- mv: boolean;
29
- }
30
- export declare const arrays: any[];
31
- export declare function $effect(fn: (() => (() => void) | void) & any): DynamicEffect;
32
- export {};
7
+ export declare function $effect(fn: (() => (() => void) | void) & any): any;
8
+ export declare function staticEffect(fn: (() => (() => void) | void) & any): any;
9
+ export declare function cleanup(ef: any): void;
package/dist/signals.js CHANGED
@@ -2,21 +2,21 @@ 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
11
  if (ef.dyn) {
12
- ef.cleanup();
12
+ cleanup(ef);
13
13
  const prev = currentEffect;
14
14
  currentEffect = ef;
15
- ef.run();
15
+ runEffectFn(ef);
16
16
  currentEffect = prev;
17
17
  }
18
18
  else {
19
- ef.run();
19
+ ef();
20
20
  }
21
21
  }
22
22
  pendingEffects.length = 0;
@@ -24,69 +24,77 @@ function scheduleEffect(effect) {
24
24
  });
25
25
  }
26
26
  }
27
- export class Sig {
28
- constructor(value) {
29
- this.value = value;
30
- this.subs = new Set();
31
- return this.invoke.bind(this);
32
- }
33
- invoke(...args) {
27
+ export function $signal(value) {
28
+ const subs = new Set();
29
+ return (...args) => {
34
30
  if (!args.length) {
35
31
  if (currentEffect) {
36
- this.subs.add(currentEffect);
37
- currentEffect.td.push(this.subs);
32
+ subs.add(currentEffect);
33
+ if (!currentEffect.td) {
34
+ currentEffect.td = subs;
35
+ }
36
+ else if (Array.isArray(currentEffect.td)) {
37
+ currentEffect.td.push(subs);
38
+ }
39
+ else {
40
+ currentEffect.td = [currentEffect.td, subs];
41
+ }
38
42
  }
39
- return this.value;
43
+ return value;
40
44
  }
41
45
  const action = args[0];
42
46
  const newValue = typeof action === "function"
43
- ? action(this.value)
47
+ ? action(value)
44
48
  : action;
45
- if (newValue !== this.value) {
46
- this.value = newValue;
47
- for (const sub of this.subs) {
49
+ if (newValue !== value) {
50
+ value = newValue;
51
+ for (const sub of subs) {
48
52
  scheduleEffect(sub);
49
53
  }
50
54
  }
51
- }
55
+ };
52
56
  }
53
- export function $signal(value) {
54
- return new Sig(value);
55
- }
56
- export class StaticEffect {
57
- constructor(fn) {
58
- this.fn = fn;
59
- this.td = arrays.pop() ?? [];
60
- const prev = currentEffect;
61
- currentEffect = this;
62
- this.run();
63
- currentEffect = prev;
64
- collectEffect(this);
65
- }
66
- run() {
67
- const td = this.fn();
68
- if (td) {
69
- this.td.push(td);
57
+ function runEffectFn(ef) {
58
+ const td = ef();
59
+ if (td) {
60
+ if (ef.td) {
61
+ if (Array.isArray(ef.td)) {
62
+ ef.td.push(td);
63
+ }
64
+ else {
65
+ ef.td = [ef.td, td];
66
+ }
70
67
  }
71
- }
72
- cleanup() {
73
- console.log("cleanup", this.td.length);
74
- for (const f of this.td) {
75
- if (typeof f === "function")
76
- f();
77
- else
78
- f.delete(this);
68
+ else {
69
+ ef.td = td;
79
70
  }
80
71
  }
81
72
  }
82
- class DynamicEffect extends StaticEffect {
83
- constructor() {
84
- super(...arguments);
85
- this.dyn = true;
86
- this.mv = false;
87
- }
88
- }
89
- export const arrays = [];
90
73
  export function $effect(fn) {
91
- return new DynamicEffect(fn);
74
+ const prev = currentEffect;
75
+ currentEffect = fn;
76
+ fn.dyn = true;
77
+ runEffectFn(fn);
78
+ currentEffect = prev;
79
+ collectEffect(fn);
80
+ return fn;
81
+ }
82
+ export function staticEffect(fn) {
83
+ const prev = currentEffect;
84
+ currentEffect = fn;
85
+ fn();
86
+ currentEffect = prev;
87
+ collectEffect(fn);
88
+ return fn;
89
+ }
90
+ export function cleanup(ef) {
91
+ if (!ef.td)
92
+ return;
93
+ if (Array.isArray(ef.td)) {
94
+ for (const f of ef.td)
95
+ typeof f === "function" ? f() : f.delete(ef);
96
+ }
97
+ else {
98
+ typeof ef.td === "function" ? ef.td() : ef.td.delete(ef);
99
+ }
92
100
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thyn/core",
3
- "version": "0.0.190",
3
+ "version": "0.0.196",
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, arrays, Effect, StaticEffect } from "./signals.js";
1
+ import { $effect, cleanup, staticEffect } from "./signals.js";
2
2
 
3
3
  export function mount(app, parent) {
4
4
  parent.appendChild(app());
@@ -6,16 +6,16 @@ export function mount(app, parent) {
6
6
 
7
7
  let collectingHead;
8
8
 
9
- export function collectEffect(ef: Effect) {
9
+ export function collectEffect(effectFn) {
10
10
  if (collectingHead) {
11
- ef.next = collectingHead;
11
+ effectFn.next = collectingHead;
12
12
  }
13
- collectingHead = ef;
13
+ collectingHead = effectFn;
14
14
  }
15
15
 
16
16
  export function createReactiveTextNode(v) {
17
17
  let n;
18
- new StaticEffect(() => {
18
+ staticEffect(() => {
19
19
  if (n) {
20
20
  n.nodeValue = v();
21
21
  } else {
@@ -71,7 +71,7 @@ export function setReactiveAttribute(el, key, val) {
71
71
  let ran;
72
72
  return addEffect(
73
73
  el,
74
- new StaticEffect(() => {
74
+ staticEffect(() => {
75
75
  const v = val();
76
76
  if (ran) {
77
77
  if (v === undefined) el.removeAttribute(key);
@@ -87,7 +87,7 @@ export function setReactiveProperty(el, key, val) {
87
87
  let ran = true;
88
88
  return addEffect(
89
89
  el,
90
- new StaticEffect(() => {
90
+ staticEffect(() => {
91
91
  const v = val();
92
92
  if (ran) {
93
93
  if (v === undefined) delete el[key];
@@ -123,14 +123,13 @@ export function addEffect(el, ef) {
123
123
  }
124
124
 
125
125
  function shallowTeardown(elem) {
126
- let curr = elem.$fx;
126
+ let current = elem.$fx;
127
127
  let prev;
128
- while (curr) {
129
- curr.cleanup();
130
- curr.td.length = 0;
131
- arrays.push(curr.td);
132
- prev = curr;
133
- curr = curr.next;
128
+ while (current) {
129
+ cleanup(current);
130
+ current.td = null;
131
+ prev = current;
132
+ current = current.next;
134
133
  prev.next = undefined;
135
134
  }
136
135
  elem.$fx = undefined;
@@ -270,7 +269,7 @@ export function list(props, terminal = false) {
270
269
  startBookend.$end = endBookend;
271
270
  const render = props.render;
272
271
 
273
- new StaticEffect(() => {
272
+ staticEffect(() => {
274
273
  parent = startBookend.parentNode;
275
274
  if (!parent) {
276
275
  prevItems = props.items();
@@ -438,7 +437,7 @@ export function isolatedTerminalList(props) {
438
437
  startBookend.$end = endBookend;
439
438
  const render = props.render;
440
439
 
441
- new StaticEffect(() => {
440
+ staticEffect(() => {
442
441
  parent = startBookend.parentNode;
443
442
  if (!parent) {
444
443
  prevItems = props.items();
package/src/index.ts CHANGED
@@ -14,4 +14,4 @@ export {
14
14
  terminalList,
15
15
  isolatedTerminalList,
16
16
  } from "./element.js";
17
- export { StaticEffect, $effect, $signal, type Signal } from "./signals.js";
17
+ export { staticEffect, $effect, $signal, type Signal } from "./signals.js";
package/src/router.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { component, show } from "./element.js";
2
- import { $signal, StaticEffect } from "./signals.js";
2
+ import { $signal, staticEffect } from "./signals.js";
3
3
 
4
4
  const params = $signal({} as any);
5
5
 
@@ -30,7 +30,7 @@ export function Router({ routes }: { routes: Route[] }) {
30
30
  return compiledRoute;
31
31
  });
32
32
 
33
- new StaticEffect(() => {
33
+ staticEffect(() => {
34
34
  const pn = router.path();
35
35
  if (pn !== location.pathname) {
36
36
  history.pushState({}, "", pn);
package/src/signals.ts CHANGED
@@ -5,20 +5,20 @@ let currentEffect: any;
5
5
  let isBatching: boolean | undefined;
6
6
  const pendingEffects = [];
7
7
 
8
- function scheduleEffect(effect: Effect) {
9
- pendingEffects.push(effect);
8
+ function scheduleEffect(effectFn: EffectFn) {
9
+ pendingEffects.push(effectFn);
10
10
  if (!isBatching) {
11
11
  isBatching = true;
12
12
  queueMicrotask(() => {
13
13
  for (const ef of pendingEffects) {
14
14
  if (ef.dyn) {
15
- ef.cleanup();
15
+ cleanup(ef);
16
16
  const prev = currentEffect;
17
17
  currentEffect = ef;
18
- ef.run();
18
+ runEffectFn(ef);
19
19
  currentEffect = prev;
20
20
  } else {
21
- ef.run();
21
+ ef();
22
22
  }
23
23
  }
24
24
  pendingEffects.length = 0;
@@ -33,84 +33,84 @@ export type Signal<T> = {
33
33
  (updater: (prev: T) => T): void;
34
34
  };
35
35
 
36
- export class Sig<T> {
37
- constructor(private value: T) {
38
- return this.invoke.bind(this);
39
- }
40
-
41
- subs = new Set<any>();
36
+ export function $signal<T>(value: T): Signal<T> {
37
+ const subs = new Set<any>();
42
38
 
43
- invoke(...args: [T] | [(prev: T) => T] | []) {
39
+ return (...args: [T] | [(prev: T) => T] | []) => {
44
40
  if (!args.length) {
45
41
  if (currentEffect) {
46
- this.subs.add(currentEffect);
47
- currentEffect.td.push(this.subs);
42
+ subs.add(currentEffect);
43
+ if (!currentEffect.td) {
44
+ currentEffect.td = subs;
45
+ } else if (Array.isArray(currentEffect.td)) {
46
+ currentEffect.td.push(subs);
47
+ } else {
48
+ currentEffect.td = [currentEffect.td, subs];
49
+ }
48
50
  }
49
- return this.value;
51
+ return value;
50
52
  }
51
53
 
52
54
  const action = args[0];
53
55
  const newValue = typeof action === "function"
54
- ? (action as (prev: T) => T)(this.value)
56
+ ? (action as (prev: T) => T)(value)
55
57
  : action;
56
58
 
57
- if (newValue !== this.value) {
58
- this.value = newValue;
59
- for (const sub of this.subs) {
59
+ if (newValue !== value) {
60
+ value = newValue;
61
+ for (const sub of subs) {
60
62
  scheduleEffect(sub);
61
63
  }
62
64
  }
63
- }
65
+ };
64
66
  }
65
67
 
66
- export function $signal<T>(value: T): Signal<T> {
67
- return new Sig<T>(value) as unknown as Signal<T>;
68
- }
69
-
70
- type EffectFunction = (() => (() => void) | void);
71
-
72
- export interface Effect {
73
- cleanup: () => void;
74
- next?: Effect;
75
- }
76
-
77
- export class StaticEffect implements Effect {
78
- constructor(private fn: EffectFunction) {
79
- const prev = currentEffect;
80
- currentEffect = this;
81
- this.run();
82
- currentEffect = prev;
83
- collectEffect(this);
84
- }
85
-
86
- run() {
87
- const td = this.fn();
88
- if (td) {
89
- this.td.push(td);
90
- }
91
- }
92
-
93
- td = arrays.pop() ?? [];
94
-
95
- next?: Effect;
96
-
97
- cleanup() {
98
- console.log("cleanup", this.td.length);
99
- for (const f of this.td) {
100
- if (typeof f === "function") f();
101
- else f.delete(this);
68
+ function runEffectFn(ef: EffectFn) {
69
+ const td = ef();
70
+ if (td) {
71
+ if (ef.td) {
72
+ if (Array.isArray(ef.td)) {
73
+ ef.td.push(td)
74
+ } else {
75
+ ef.td = [ef.td, td];
76
+ }
77
+ } else {
78
+ ef.td = td;
102
79
  }
103
80
  }
104
81
  }
105
82
 
106
- class DynamicEffect extends StaticEffect {
107
- dyn = true;
108
- mv = false;
83
+ type EffectTeardown = (() => void) | { delete: (v: any) => void };
84
+ type EffectFn = (() => (() => void) | void) & {
85
+ mv?: boolean;
86
+ dyn?: boolean;
87
+ td: EffectTeardown | EffectTeardown[];
109
88
  }
110
89
 
111
- export const arrays = [];
112
-
113
90
  export function $effect(fn: (() => (() => void) | void) & any) {
114
- return new DynamicEffect(fn);
91
+ const prev = currentEffect;
92
+ currentEffect = fn;
93
+ fn.dyn = true;
94
+ runEffectFn(fn);
95
+ currentEffect = prev;
96
+ collectEffect(fn);
97
+ return fn;
98
+ }
99
+
100
+ export function staticEffect(fn: (() => (() => void) | void) & any) {
101
+ const prev = currentEffect;
102
+ currentEffect = fn;
103
+ fn();
104
+ currentEffect = prev;
105
+ collectEffect(fn);
106
+ return fn;
115
107
  }
116
108
 
109
+ export function cleanup(ef) {
110
+ if (!ef.td) return;
111
+ if (Array.isArray(ef.td)) {
112
+ for (const f of ef.td) typeof f === "function" ? f() : f.delete(ef);
113
+ } else {
114
+ typeof ef.td === "function" ? ef.td() : ef.td.delete(ef);
115
+ }
116
+ }
@@ -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":"3cc8689b6fbb895684f5a8cc2cc1f3bdac2616515032b2d03fa50683b4f58677","signature":"400986affe5427e9bf84dd2a664cf14df6e620e0d7f4f6b2b8a45072ede5406c"},{"version":"63484907f7424351e6313fff96d8d5e3421b2cc85988e8a96c1a598fce8d28d6","signature":"d333a2429f57ec4b22b9af18c8446fff3bd8ef4212c9cbabf4f655f9e2cbe6c0"},{"version":"54d25de40b279b5717d0a4d91b71d68a7e6fe4d8a89d53ce819a0fb5354e0dfa","signature":"6551d30833fbec1ffbc73f36531c1e910d4312638a6b5dc66bace951ad417c51"},{"version":"af03eb50b5b977be7f61d5417d4c53c6255ba8fb8d574e76ce964b2b1e62f2a3","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":"40e134465b8f3016b93f1c741d75e7794e6cf5f6617f49bcb6e0df228fa36a57","signature":"67babcc13ac63da5f434738992089e8169b2bb38b093326fa3e762097aeaceaa"},{"version":"dffcac76ec030452a8a99623a32aa066f6001d652bf745e4d687115c9f1de890","signature":"1e9fd227702d856993cc7d708cc104bcbea5c070fbf976204a77c36457b1342e"},{"version":"ac16f8022e1d86594d058f84a530164af4b03dcc8bb45ac4a00736fe8aab62e7","signature":"1e325d171d22aa3144736ace94df4b5bf779c6083bc0f9ce684855844f8abcbc"},{"version":"23e3a2d8ef7695586b582f6366a28b1404801ada9a0c82d895f19344f8100ea5","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/index.d.ts","version":"5.8.3"}