@firsthandjs/core 0.7.0 → 0.8.0
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/context.d.ts +2 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/core.d.ts +2 -2
- package/dist/core.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/types.d.ts +6 -6
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/context.d.ts
CHANGED
|
@@ -6,11 +6,11 @@ declare const BRAND: unique symbol;
|
|
|
6
6
|
* The phantom member makes the token invariant in `T`, so a `Context<Theme>`
|
|
7
7
|
* cannot be passed where a `Context<User>` is expected.
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
9
|
+
export type Context<T> = {
|
|
10
10
|
readonly id: symbol;
|
|
11
11
|
readonly description: string;
|
|
12
12
|
readonly [BRAND]?: (value: T) => T;
|
|
13
|
-
}
|
|
13
|
+
};
|
|
14
14
|
/**
|
|
15
15
|
* Creates a context token.
|
|
16
16
|
*
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAc/C,OAAO,CAAC,MAAM,KAAK,EAAE,OAAO,MAAM,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAc/C,OAAO,CAAC,MAAM,KAAK,EAAE,OAAO,MAAM,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;CACpC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAI/C,wBAAgB,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAgBpF;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACvB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAInB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC3C,IAAI,CASN;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAiBlE"}
|
package/dist/core.d.ts
CHANGED
|
@@ -57,7 +57,7 @@ export declare class Cell {
|
|
|
57
57
|
* A logical scope (ADR-0008). Owners form a tree that is independent of the
|
|
58
58
|
* DOM, which is what lets portals keep their context and disposal behaviour.
|
|
59
59
|
*/
|
|
60
|
-
export
|
|
60
|
+
export type Owner = {
|
|
61
61
|
parent: Owner | null;
|
|
62
62
|
/** Whether the owner is still in its parent's child list. */
|
|
63
63
|
attached: boolean;
|
|
@@ -73,7 +73,7 @@ export interface Owner {
|
|
|
73
73
|
ctx: ContextRecord | null;
|
|
74
74
|
/** Error boundary installed by `catchError`. */
|
|
75
75
|
handler: ((error: unknown) => void) | null;
|
|
76
|
-
}
|
|
76
|
+
};
|
|
77
77
|
export type ContextRecord = Record<symbol, unknown>;
|
|
78
78
|
export declare function createOwner(parent: Owner | null): Owner;
|
|
79
79
|
/** Disposes an owner and detaches it from its parent. */
|
package/dist/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAiBH;oCACoC;AACpC,qBAAa,IAAI;IACP,GAAG,EAAE,IAAI,CAAC;IACV,GAAG,EAAE,IAAI,CAAC;IACV,OAAO,EAAE,IAAI,GAAG,SAAS,CAAC;IAC1B,OAAO,EAAE,IAAI,GAAG,SAAS,CAAC;IAC1B,OAAO,EAAE,IAAI,GAAG,SAAS,CAAC;IAC1B,OAAO,EAAE,IAAI,GAAG,SAAS,CAAC;gBAGhC,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,OAAO,EAAE,IAAI,GAAG,SAAS,EACzB,OAAO,EAAE,IAAI,GAAG,SAAS,EACzB,OAAO,EAAE,IAAI,GAAG,SAAS;CAS5B;AAOD;;;GAGG;AACH,qBAAa,IAAI;IACP,KAAK,EAAE,MAAM,CAAC;IACtB,oDAAoD;IAC5C,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IACtD,EAAE,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,SAAS,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IAC5C,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC;IACnC,6EAA6E;IACrE,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;gBAG/B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,EAAE,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,SAAS,EAC/B,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,KAAK,OAAO;IAa7C,IAAI,KAAK,IAAI,OAAO,CAenB;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,EAKtB;IAED;iFAC6E;IAC7E,IAAI,IAAI,OAAO;IAQf,qDAAqD;IACrD,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,OAAO,GAAG,IAAI;CAMjD;AAED;;;GAGG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var c=class extends Error{constructor(){super("Reactive update did not settle: an effect keeps invalidating its own dependencies. Use untrack() or batch() to break the cycle."),this.name="FirsthandCycleError"}},v=class extends Error{constructor(n){super(`No provider for ${n}, and the context was created without a default value.`),this.name="FirsthandContextError"}},p=class extends Error{constructor(){super("Cannot assign to a computed value. Write to the signals it derives from instead."),this.name="FirsthandReadonlyError"}};function I(e){queueMicrotask(()=>{throw e})}function Q(e){}function Z(e){}function ee(){}var R=class{constructor(n,t,o,r,i){this.dep=n,this.sub=t,this.prevDep=o,this.nextDep=r,this.prevSub=i,this.nextSub=void 0}},te=Object.is,oe=()=>!1,l=class{constructor(n,t,o,r){this.flags=n,this.v=t,this.fn=o,this.equals=r,this.deps=void 0,this.depsTail=void 0,this.subs=void 0,this.subsTail=void 0,this.scope=void 0}get value(){let n=this.flags;return(n&1)!==0&&(n&12)!==0&&j(this),u!==void 0?ie(this,u):void 0,this.v}set value(n){if((this.flags&1)!==0)throw new p;N(this,n)}peek(){let n=this.flags;return(n&1)!==0&&(n&12)!==0&&j(this),this.v}set(n){if((this.flags&1)!==0)throw new p;N(this,n(this.v))}},u,s=null,D=0,S=!1,g=0,w=[],re=1e6;function ie(e,n){let t=n.depsTail;if(t!==void 0&&t.dep===e)return;let o=t!==void 0?t.nextDep:n.deps;if(o!==void 0&&o.dep===e){n.depsTail=o;return}let r=e.subsTail;if(r!==void 0&&r.sub===n&&le(r,n))return;let i=new R(e,n,t,o,r);n.depsTail=i,e.subsTail=i,o!==void 0&&(o.prevDep=i),t!==void 0?t.nextDep=i:n.deps=i,r!==void 0?r.nextSub=i:e.subs=i}function le(e,n){let t=n.depsTail;for(;t!==void 0;){if(t===e)return!0;t=t.prevDep}return!1}function L(e,n){let t=e.dep,o=e.prevDep,r=e.nextDep,i=e.prevSub,T=e.nextSub;return r!==void 0?r.prevDep=o:n.depsTail=o,o!==void 0?o.nextDep=r:n.deps=r,T!==void 0?T.prevSub=i:t.subsTail=i,i!==void 0?i.nextSub=T:t.subs=T,r}function F(e){e.depsTail=void 0,e.flags&=-13}function B(e){let n=e.depsTail,t=n!==void 0?n.nextDep:e.deps;for(;t!==void 0;)t=L(t,e)}function se(e){let n=e;do{let t=n.sub,o=t.flags;(o&4)===0&&(t.flags=o|4,(o&8)===0&&((o&2)!==0?M(t):t.subs!==void 0&&U(t.subs))),n=n.nextSub}while(n!==void 0)}function U(e){let n=e;do{let t=n.sub,o=t.flags;(o&12)===0&&(t.flags=o|8,(o&2)!==0?M(t):t.subs!==void 0&&U(t.subs)),n=n.nextSub}while(n!==void 0)}function ue(e){let n=e;do{let t=n.sub,o=t.flags;(o&12)===8&&(t.flags=o|4),n=n.nextSub}while(n!==void 0)}function N(e,n){if(e.equals(e.v,n))return;e.v=n;let t=e.subs;t!==void 0&&(se(t),D===0&&P())}function j(e){if((e.flags&4)!==0||H(e)){if(!de(e))return!1;let t=e.subs;return t!==void 0&&t.nextSub!==void 0&&ue(t),!0}return e.flags=e.flags&-9,!1}function H(e){let n=e.deps;for(;n!==void 0;){let t=n.dep;if((t.flags&1)!==0&&(t.flags&12)!==0&&j(t))return!0;n=n.nextDep}return!1}function de(e){let n=u,t=s;u=e,s=null,F(e);try{let o=e.fn();return(e.flags&32)!==0&&e.equals(e.v,o)?!1:(e.flags|=32,e.v=o,!0)}finally{B(e),u=n,s=t}}function M(e){w.push(e)}function P(){if(S)return;S=!0;let e=0;try{for(;g<w.length;){let n=w[g];if(w[g++]=void 0,(n.flags&16)===0){if(++e>re)throw new c;(n.flags&4)!==0||H(n)?V(n):n.flags&=-9}}}finally{w.length=0,g=0,S=!1}}function V(e){let n=e.scope;q(n);let t=u,o=s;u=e,s=n,F(e);try{let r=e.fn();typeof r=="function"&&(n.disposals??=[]).push(r)}catch(r){x(r,n)}finally{B(e),u=t,s=o}}function
|
|
1
|
+
var c=class extends Error{constructor(){super("Reactive update did not settle: an effect keeps invalidating its own dependencies. Use untrack() or batch() to break the cycle."),this.name="FirsthandCycleError"}},v=class extends Error{constructor(n){super(`No provider for ${n}, and the context was created without a default value.`),this.name="FirsthandContextError"}},p=class extends Error{constructor(){super("Cannot assign to a computed value. Write to the signals it derives from instead."),this.name="FirsthandReadonlyError"}};function I(e){queueMicrotask(()=>{throw e})}function Q(e){}function Z(e){}function ee(){}var R=class{constructor(n,t,o,r,i){this.dep=n,this.sub=t,this.prevDep=o,this.nextDep=r,this.prevSub=i,this.nextSub=void 0}},te=Object.is,oe=()=>!1,l=class{constructor(n,t,o,r){this.flags=n,this.v=t,this.fn=o,this.equals=r,this.deps=void 0,this.depsTail=void 0,this.subs=void 0,this.subsTail=void 0,this.scope=void 0}get value(){let n=this.flags;return(n&1)!==0&&(n&12)!==0&&j(this),u!==void 0?ie(this,u):void 0,this.v}set value(n){if((this.flags&1)!==0)throw new p;N(this,n)}peek(){let n=this.flags;return(n&1)!==0&&(n&12)!==0&&j(this),this.v}set(n){if((this.flags&1)!==0)throw new p;N(this,n(this.v))}},u,s=null,D=0,S=!1,g=0,w=[],re=1e6;function ie(e,n){let t=n.depsTail;if(t!==void 0&&t.dep===e)return;let o=t!==void 0?t.nextDep:n.deps;if(o!==void 0&&o.dep===e){n.depsTail=o;return}let r=e.subsTail;if(r!==void 0&&r.sub===n&&le(r,n))return;let i=new R(e,n,t,o,r);n.depsTail=i,e.subsTail=i,o!==void 0&&(o.prevDep=i),t!==void 0?t.nextDep=i:n.deps=i,r!==void 0?r.nextSub=i:e.subs=i}function le(e,n){let t=n.depsTail;for(;t!==void 0;){if(t===e)return!0;t=t.prevDep}return!1}function L(e,n){let t=e.dep,o=e.prevDep,r=e.nextDep,i=e.prevSub,T=e.nextSub;return r!==void 0?r.prevDep=o:n.depsTail=o,o!==void 0?o.nextDep=r:n.deps=r,T!==void 0?T.prevSub=i:t.subsTail=i,i!==void 0?i.nextSub=T:t.subs=T,r}function F(e){e.depsTail=void 0,e.flags&=-13}function B(e){let n=e.depsTail,t=n!==void 0?n.nextDep:e.deps;for(;t!==void 0;)t=L(t,e)}function se(e){let n=e;do{let t=n.sub,o=t.flags;(o&4)===0&&(t.flags=o|4,(o&8)===0&&((o&2)!==0?M(t):t.subs!==void 0&&U(t.subs))),n=n.nextSub}while(n!==void 0)}function U(e){let n=e;do{let t=n.sub,o=t.flags;(o&12)===0&&(t.flags=o|8,(o&2)!==0?M(t):t.subs!==void 0&&U(t.subs)),n=n.nextSub}while(n!==void 0)}function ue(e){let n=e;do{let t=n.sub,o=t.flags;(o&12)===8&&(t.flags=o|4),n=n.nextSub}while(n!==void 0)}function N(e,n){if(e.equals(e.v,n))return;e.v=n;let t=e.subs;t!==void 0&&(se(t),D===0&&P())}function j(e){if((e.flags&4)!==0||H(e)){if(!de(e))return!1;let t=e.subs;return t!==void 0&&t.nextSub!==void 0&&ue(t),!0}return e.flags=e.flags&-9,!1}function H(e){let n=e.deps;for(;n!==void 0;){let t=n.dep;if((t.flags&1)!==0&&(t.flags&12)!==0&&j(t))return!0;n=n.nextDep}return!1}function de(e){let n=u,t=s;u=e,s=null,F(e);try{let o=e.fn();return(e.flags&32)!==0&&e.equals(e.v,o)?!1:(e.flags|=32,e.v=o,!0)}finally{B(e),u=n,s=t}}function M(e){w.push(e)}function P(){if(S)return;S=!0;let e=0;try{for(;g<w.length;){let n=w[g];if(w[g++]=void 0,(n.flags&16)===0){if(++e>re)throw new c;(n.flags&4)!==0||H(n)?V(n):n.flags&=-9}}}finally{w.length=0,g=0,S=!1}}function V(e){let n=e.scope;q(n);let t=u,o=s;u=e,s=n,F(e);try{let r=e.fn();typeof r=="function"&&(n.disposals??=[]).push(r)}catch(r){x(r,n)}finally{B(e),u=t,s=o}}function y(e){let n={parent:e,attached:e!==null,prev:null,next:null,head:null,tail:null,disposals:null,cells:null,ctx:e!==null?e.ctx:null,handler:null};if(e!==null){let t=e.tail;n.prev=t,t!==null?t.next=n:e.head=n,e.tail=n}return n}function q(e){let n=e.head;for(;n!==null;){let r=n.next;n.attached=!1,n.prev=null,n.next=null,q(n),n=r}e.head=null,e.tail=null,e.ctx=e.parent!==null?e.parent.ctx:null;let t=e.cells;if(t!==null){for(let r=t.length-1;r>=0;r--)E(t[r]);e.cells=null}let o=e.disposals;if(o!==null){e.disposals=null;for(let r=o.length-1;r>=0;r--)try{o[r]()}catch(i){x(i,e)}}}function O(e){if(e.attached){let n=e.parent,t=e.prev,o=e.next;t!==null?t.next=o:n.head=o,o!==null?o.prev=t:n.tail=t,e.attached=!1,e.prev=null,e.next=null}q(e)}function E(e){e.flags|=16;let n=e.deps;for(;n!==void 0;)n=L(n,e);let t=e.subs;for(;t!==void 0;){let r=t.nextSub;L(t,t.sub),t=r}let o=e.scope;o!==void 0&&(O(o),e.scope=void 0,e.fn=void 0)}function x(e,n){if(e instanceof c)throw e;let t=n;for(;t!==null;){let o=t.handler;if(o!==null){try{o(e)}catch(r){x(r,t.parent)}return}t=t.parent}I(e)}function d(){return s}function f(e){let n=s;return s=e,n}function m(e){let n=s;n!==null&&(n.cells??=[]).push(e)}function G(e){let n=y(s);return e.scope=n,n}function Y(e){V(e)}function $(e){e.flags|=16,e.fn=void 0;let n=s;n!==null&&n.cells.pop()}function a(e){return e===void 0?te:e===!1?oe:e}function fe(e){D++;try{return e()}finally{--D===0&&P()}}function ae(e){try{return X(e)}finally{}}function X(e){let n=u;u=void 0;try{return e()}finally{u=n}}function ce(e,n){let t=new l(0,e,void 0,a(n?.equals));return t}function pe(e,n){let t=new l(5,void 0,e,a(n?.equals));return m(t),e.name,t}function _(e){let n=new l(2,void 0,e,a(void 0));return e.name,m(n),G(n),Y(n),n}function xe(e){let n=_(e);n.deps===void 0&&$(n)}function ve(e){d()===null&&void 0;let n=_(e);return()=>{E(n)}}function he(e){let n=d();if(n===null){return}(n.disposals??=[]).push(e)}function we(e){let n=y(d());let t=f(n);try{return e(()=>{O(n)})}finally{f(t)}}function be(e,n){let t=y(d());t.handler=n;let o=f(t);try{let r=e();return f(o),r}catch(r){f(o),x(r,t);return}}function Ce(e,n){let t=f(e);try{return n()}finally{f(t)}}var K=Symbol("firsthand.ctx");function ye(e,n){let t=n??"context";return{id:Symbol(t),description:t,hasDefault:arguments.length>0,defaultValue:e,fallback:void 0}}function me(e,n){let t=d();if(t===null){`${e.description}`;return}let o=n instanceof l?n:new l(0,n,void 0,a(void 0));ge(t)[e.id]=o}function Te(e){let n=d(),t=n!==null?n.ctx:null,o=t!==null?t[e.id]:void 0;if(o!==void 0)return o;let r=e;if(!r.hasDefault)throw new v(r.description);return r.fallback??=new l(0,r.defaultValue,void 0,a(void 0))}function ge(e){let n=e.ctx;if(n!==null&&n[K]===e)return n;let t=n!==null?Object.create(n):Object.create(null);return t[K]=e,e.ctx=t,t}export{l as Cell,v as FirsthandContextError,c as FirsthandCycleError,p as FirsthandReadonlyError,fe as batch,xe as bind,be as catchError,pe as computed,ye as createContext,_ as createEffect,y as createOwner,we as createRoot,Z as devEnterSetup,ee as devExitSetup,E as disposeCell,O as disposeOwner,ve as effect,d as getOwner,x as handleError,he as onCleanup,m as own,me as provide,Ce as runWithOwner,f as setOwner,Q as setStrictReactivity,ce as signal,ae as snapshot,X as untrack,Te as useContext};
|
package/dist/types.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/** Public reactive types. */
|
|
2
2
|
/** A reactive value that can only be read. */
|
|
3
|
-
export
|
|
3
|
+
export type ReadonlyCell<T> = {
|
|
4
4
|
/** Current value. Reading inside an effect or computed subscribes to it. */
|
|
5
5
|
readonly value: T;
|
|
6
6
|
/** Current value, without subscribing. */
|
|
7
7
|
peek(): T;
|
|
8
|
-
}
|
|
8
|
+
};
|
|
9
9
|
/** A reactive value that can be read and written. */
|
|
10
10
|
export interface Signal<T> extends ReadonlyCell<T> {
|
|
11
11
|
value: T;
|
|
@@ -14,13 +14,13 @@ export interface Signal<T> extends ReadonlyCell<T> {
|
|
|
14
14
|
}
|
|
15
15
|
/** Releases whatever the call that returned it created. */
|
|
16
16
|
export type Dispose = () => void;
|
|
17
|
-
export
|
|
17
|
+
export type CellOptions<T> = {
|
|
18
18
|
/**
|
|
19
19
|
* Custom equality. `false` makes every write propagate, which is what you
|
|
20
20
|
* want for values the application mutates in place and diffs itself.
|
|
21
21
|
*/
|
|
22
22
|
equals?: ((a: T, b: T) => boolean) | false;
|
|
23
|
-
}
|
|
23
|
+
};
|
|
24
24
|
/** Deeply readonly view of a value. Used by `ReadonlyProps`. */
|
|
25
25
|
export type DeepReadonly<T> = T extends (...args: never[]) => unknown ? T : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepReadonly<U>> : T extends ReadonlyMap<infer K, infer V> ? ReadonlyMap<DeepReadonly<K>, DeepReadonly<V>> : T extends ReadonlySet<infer U> ? ReadonlySet<DeepReadonly<U>> : T extends Date | RegExp | Promise<unknown> ? T : T extends object ? {
|
|
26
26
|
readonly [K in keyof T]: DeepReadonly<T[K]>;
|
|
@@ -43,7 +43,7 @@ export type ReadonlyProps<T> = {
|
|
|
43
43
|
* module and none of them import each other's. A type costs nothing at
|
|
44
44
|
* runtime, so sharing the definition does not share any code.
|
|
45
45
|
*/
|
|
46
|
-
export
|
|
46
|
+
export type DevtoolsHook = {
|
|
47
47
|
/** Set by the frontend once it is ready to receive labels. */
|
|
48
48
|
attached: boolean;
|
|
49
49
|
/** Labels a node of the graph: 'signal', 'computed' or 'effect'. */
|
|
@@ -70,7 +70,7 @@ export interface DevtoolsHook {
|
|
|
70
70
|
* reactive graph — a tag match is a decision rather than an edge.
|
|
71
71
|
*/
|
|
72
72
|
query(event: string, key: string, tags: readonly string[]): void;
|
|
73
|
-
}
|
|
73
|
+
};
|
|
74
74
|
declare global {
|
|
75
75
|
var __FIRSTHAND_DEVTOOLS__: DevtoolsHook | undefined;
|
|
76
76
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,8CAA8C;AAC9C,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,8CAA8C;AAC9C,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,0CAA0C;IAC1C,IAAI,IAAI,CAAC,CAAC;CACX,CAAC;AAEF,qDAAqD;AACrD,MAAM,WAAW,MAAM,CAAC,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAChD,KAAK,EAAE,CAAC,CAAC;IACT,qDAAqD;IACrD,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;CACxC;AAED,2DAA2D;AAC3D,MAAM,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC;AAEjC,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,KAAK,CAAC;CAC5C,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,GACjE,CAAC,GACD,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC9B,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC9B,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACrC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GAC7C,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC5B,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC5B,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GACxC,CAAC,GACD,CAAC,SAAS,MAAM,GACd;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC/C,CAAC,CAAC;AAEhB;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE/E;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,8DAA8D;IAC9D,QAAQ,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,oEAAoE;IACpE,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,2EAA2E;IAC3E,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,0DAA0D;IAC1D,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACrC;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,2EAA2E;IAC3E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CAClE,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,sBAAsB,EAAE,YAAY,GAAG,SAAS,CAAC;CACtD"}
|