mutts 1.0.6 → 1.0.8
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/README.md +61 -23
- package/dist/async/browser.d.ts +2 -0
- package/dist/async/browser.d.ts.map +1 -0
- package/dist/async/index.d.ts +18 -0
- package/dist/async/index.d.ts.map +1 -0
- package/dist/async/node.d.ts +2 -0
- package/dist/async/node.d.ts.map +1 -0
- package/dist/{chunks/index-CDCOjzTy.js → browser.cjs} +5913 -4382
- package/dist/browser.cjs.map +1 -0
- package/dist/browser.d.ts +1655 -0
- package/dist/browser.esm.js +305 -0
- package/dist/browser.esm.js.map +1 -0
- package/dist/chunks/async-browser-CA0jPWIi.cjs +304 -0
- package/dist/chunks/async-browser-CA0jPWIi.cjs.map +1 -0
- package/dist/chunks/async-core-UqHzvJ-S.cjs +25 -0
- package/dist/chunks/async-core-UqHzvJ-S.cjs.map +1 -0
- package/dist/chunks/async-node-BYHuGTni.cjs +103 -0
- package/dist/chunks/async-node-BYHuGTni.cjs.map +1 -0
- package/dist/chunks/{index-DiP0RXoZ.esm.js → index-DhaOVusv.esm.js} +5851 -4345
- package/dist/chunks/index-DhaOVusv.esm.js.map +1 -0
- package/dist/decorator.d.ts +17 -18
- package/dist/decorator.d.ts.map +1 -0
- package/dist/destroyable.d.ts +12 -15
- package/dist/destroyable.d.ts.map +1 -0
- package/dist/devtools/devtool/devtools.d.ts +1 -0
- package/dist/devtools/devtool/devtools.d.ts.map +1 -0
- package/dist/devtools/devtool/panel.d.ts +2 -0
- package/dist/devtools/devtool/panel.d.ts.map +1 -0
- package/dist/devtools/panel.js.map +1 -1
- package/dist/entry-browser.d.ts +3 -0
- package/dist/entry-browser.d.ts.map +1 -0
- package/dist/entry-node.d.ts +3 -0
- package/dist/entry-node.d.ts.map +1 -0
- package/dist/eventful.d.ts +3 -5
- package/dist/eventful.d.ts.map +1 -0
- package/dist/index.d.ts +13 -19
- package/dist/index.d.ts.map +1 -0
- package/dist/indexable.d.ts +10 -10
- package/dist/indexable.d.ts.map +1 -0
- package/dist/introspection.d.ts +27 -0
- package/dist/introspection.d.ts.map +1 -0
- package/dist/iterableWeak.d.ts +53 -0
- package/dist/iterableWeak.d.ts.map +1 -0
- package/dist/mixins.d.ts +25 -0
- package/dist/mixins.d.ts.map +1 -0
- package/dist/mutts.umd.js +1 -1
- package/dist/mutts.umd.js.map +1 -1
- package/dist/mutts.umd.min.js +1 -1
- package/dist/mutts.umd.min.js.map +1 -1
- package/dist/node.cjs +105 -0
- package/dist/node.cjs.map +1 -0
- package/dist/node.d.ts +1 -0
- package/dist/node.esm.js +104 -0
- package/dist/node.esm.js.map +1 -0
- package/dist/promiseChain.d.ts +4 -5
- package/dist/promiseChain.d.ts.map +1 -0
- package/dist/reactive/array.d.ts +49 -0
- package/dist/reactive/array.d.ts.map +1 -0
- package/dist/reactive/buffer.d.ts +44 -0
- package/dist/reactive/buffer.d.ts.map +1 -0
- package/dist/reactive/change.d.ts +29 -0
- package/dist/reactive/change.d.ts.map +1 -0
- package/dist/reactive/debug.d.ts +111 -0
- package/dist/reactive/debug.d.ts.map +1 -0
- package/dist/reactive/deep-touch.d.ts +28 -0
- package/dist/reactive/deep-touch.d.ts.map +1 -0
- package/dist/reactive/deep-watch-state.d.ts +25 -0
- package/dist/reactive/deep-watch-state.d.ts.map +1 -0
- package/dist/reactive/deep-watch.d.ts +19 -0
- package/dist/reactive/deep-watch.d.ts.map +1 -0
- package/dist/reactive/effect-context.d.ts +7 -0
- package/dist/reactive/effect-context.d.ts.map +1 -0
- package/dist/reactive/effects.d.ts +151 -0
- package/dist/reactive/effects.d.ts.map +1 -0
- package/dist/reactive/index.d.ts +20 -0
- package/dist/reactive/index.d.ts.map +1 -0
- package/dist/reactive/interface.d.ts +64 -0
- package/dist/reactive/interface.d.ts.map +1 -0
- package/dist/reactive/map.d.ts +30 -0
- package/dist/reactive/map.d.ts.map +1 -0
- package/dist/reactive/memoize.d.ts +5 -0
- package/dist/reactive/memoize.d.ts.map +1 -0
- package/dist/reactive/non-reactive-state.d.ts +9 -0
- package/dist/reactive/non-reactive-state.d.ts.map +1 -0
- package/dist/reactive/non-reactive.d.ts +11 -0
- package/dist/reactive/non-reactive.d.ts.map +1 -0
- package/dist/reactive/project.d.ts +41 -0
- package/dist/reactive/project.d.ts.map +1 -0
- package/dist/reactive/proxy-state.d.ts +8 -0
- package/dist/reactive/proxy-state.d.ts.map +1 -0
- package/dist/reactive/proxy.d.ts +23 -0
- package/dist/reactive/proxy.d.ts.map +1 -0
- package/dist/reactive/record.d.ts +116 -0
- package/dist/reactive/record.d.ts.map +1 -0
- package/dist/reactive/register.d.ts +64 -0
- package/dist/reactive/register.d.ts.map +1 -0
- package/dist/reactive/registry.d.ts +20 -0
- package/dist/reactive/registry.d.ts.map +1 -0
- package/dist/reactive/set.d.ts +28 -0
- package/dist/reactive/set.d.ts.map +1 -0
- package/dist/reactive/tracking.d.ts +7 -0
- package/dist/reactive/tracking.d.ts.map +1 -0
- package/dist/reactive/types.d.ts +376 -0
- package/dist/reactive/types.d.ts.map +1 -0
- package/dist/std-decorators.d.ts +9 -11
- package/dist/std-decorators.d.ts.map +1 -0
- package/dist/utils.d.ts +49 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/zone.d.ts +40 -0
- package/dist/zone.d.ts.map +1 -0
- package/docs/ai/api-reference.md +0 -2
- package/docs/reactive/advanced.md +2 -5
- package/docs/reactive/collections.md +0 -125
- package/docs/reactive/core.md +27 -24
- package/docs/reactive/debugging.md +12 -2
- package/docs/reactive/project.md +1 -1
- package/docs/reactive/scan.md +78 -0
- package/docs/reactive.md +2 -1
- package/docs/std-decorators.md +69 -0
- package/docs/zone.md +95 -0
- package/package.json +67 -23
- package/src/async/browser.ts +319 -0
- package/src/async/index.ts +23 -0
- package/src/async/node.ts +104 -0
- package/src/decorator.ts +5 -1
- package/src/destroyable.ts +1 -1
- package/src/entry-browser.ts +5 -0
- package/src/entry-node.ts +5 -0
- package/src/index.d.ts +12 -9
- package/src/index.ts +23 -14
- package/src/indexable.ts +42 -0
- package/src/mixins.ts +2 -2
- package/src/reactive/array.ts +274 -179
- package/src/reactive/buffer.ts +168 -0
- package/src/reactive/change.ts +2 -2
- package/src/reactive/effect-context.ts +15 -91
- package/src/reactive/effects.ts +119 -179
- package/src/reactive/index.ts +11 -13
- package/src/reactive/interface.ts +19 -33
- package/src/reactive/map.ts +49 -62
- package/src/reactive/memoize.ts +19 -9
- package/src/reactive/project.ts +43 -22
- package/src/reactive/proxy.ts +16 -41
- package/src/reactive/record.ts +3 -3
- package/src/reactive/register.ts +5 -7
- package/src/reactive/registry.ts +9 -17
- package/src/reactive/set.ts +43 -57
- package/src/reactive/tracking.ts +1 -29
- package/src/reactive/types.ts +46 -23
- package/src/utils.ts +80 -37
- package/src/zone.ts +138 -0
- package/dist/chunks/_tslib-BgjropY9.js +0 -81
- package/dist/chunks/_tslib-BgjropY9.js.map +0 -1
- package/dist/chunks/_tslib-MCKDzsSq.esm.js +0 -75
- package/dist/chunks/_tslib-MCKDzsSq.esm.js.map +0 -1
- package/dist/chunks/decorator-BGILvPtN.esm.js +0 -627
- package/dist/chunks/decorator-BGILvPtN.esm.js.map +0 -1
- package/dist/chunks/decorator-BQ2eBTCj.js +0 -651
- package/dist/chunks/decorator-BQ2eBTCj.js.map +0 -1
- package/dist/chunks/index-CDCOjzTy.js.map +0 -1
- package/dist/chunks/index-DiP0RXoZ.esm.js.map +0 -1
- package/dist/decorator.esm.js +0 -2
- package/dist/decorator.esm.js.map +0 -1
- package/dist/decorator.js +0 -11
- package/dist/decorator.js.map +0 -1
- package/dist/destroyable.esm.js +0 -109
- package/dist/destroyable.esm.js.map +0 -1
- package/dist/destroyable.js +0 -116
- package/dist/destroyable.js.map +0 -1
- package/dist/eventful.esm.js +0 -66
- package/dist/eventful.esm.js.map +0 -1
- package/dist/eventful.js +0 -68
- package/dist/eventful.js.map +0 -1
- package/dist/index.esm.js +0 -53
- package/dist/index.esm.js.map +0 -1
- package/dist/index.js +0 -139
- package/dist/index.js.map +0 -1
- package/dist/indexable.esm.js +0 -285
- package/dist/indexable.esm.js.map +0 -1
- package/dist/indexable.js +0 -291
- package/dist/indexable.js.map +0 -1
- package/dist/promiseChain.esm.js +0 -78
- package/dist/promiseChain.esm.js.map +0 -1
- package/dist/promiseChain.js +0 -80
- package/dist/promiseChain.js.map +0 -1
- package/dist/reactive.d.ts +0 -910
- package/dist/reactive.esm.js +0 -5
- package/dist/reactive.esm.js.map +0 -1
- package/dist/reactive.js +0 -59
- package/dist/reactive.js.map +0 -1
- package/dist/std-decorators.esm.js +0 -196
- package/dist/std-decorators.esm.js.map +0 -1
- package/dist/std-decorators.js +0 -204
- package/dist/std-decorators.js.map +0 -1
- package/src/reactive/mapped.ts +0 -129
- package/src/reactive/zone.ts +0 -208
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry-browser.d.ts","sourceRoot":"","sources":["../src/entry-browser.ts"],"names":[],"mappings":"AACA,OAAO,iBAAiB,CAAA;AAGxB,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry-node.d.ts","sourceRoot":"","sources":["../src/entry-node.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,CAAA;AAGrB,cAAc,SAAS,CAAA"}
|
package/dist/eventful.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Base type for event maps - all event handlers must be functions
|
|
3
3
|
*/
|
|
4
|
-
type EventsBase = Record<string, (...args: any[]) => void>;
|
|
4
|
+
export type EventsBase = Record<string, (...args: any[]) => void>;
|
|
5
5
|
/**
|
|
6
6
|
* A type-safe event system that provides a clean API for event handling
|
|
7
7
|
* @template Events - The event map defining event names and their handler signatures
|
|
8
8
|
*/
|
|
9
|
-
declare class Eventful<Events extends EventsBase> {
|
|
9
|
+
export declare class Eventful<Events extends EventsBase> {
|
|
10
10
|
#private;
|
|
11
11
|
hook(cb: <EventType extends keyof Events>(event: EventType, ...args: Parameters<Events[EventType]>) => void): () => void;
|
|
12
12
|
on(events: Partial<Events>): void;
|
|
@@ -15,6 +15,4 @@ declare class Eventful<Events extends EventsBase> {
|
|
|
15
15
|
off<EventType extends keyof Events>(event: EventType, cb?: Events[EventType]): void;
|
|
16
16
|
emit<EventType extends keyof Events>(event: EventType, ...args: Parameters<Events[EventType]>): void;
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
export { Eventful };
|
|
20
|
-
export type { EventsBase };
|
|
18
|
+
//# sourceMappingURL=eventful.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventful.d.ts","sourceRoot":"","sources":["../src/eventful.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,CAAA;AACjE;;;GAGG;AACH,qBAAa,QAAQ,CAAC,MAAM,SAAS,UAAU;;IAIvC,IAAI,CACV,EAAE,EAAE,CAAC,SAAS,SAAS,MAAM,MAAM,EAClC,KAAK,EAAE,SAAS,EAChB,GAAG,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAClC,IAAI,GACP,MAAM,IAAI;IAON,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;IACjC,EAAE,CAAC,SAAS,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI;IAoBvF,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;IAClC,GAAG,CAAC,SAAS,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI;IAsBnF,IAAI,CAAC,SAAS,SAAS,MAAM,MAAM,EACzC,KAAK,EAAE,SAAS,EAChB,GAAG,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;CAMvC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
export * from './decorator
|
|
2
|
-
export * from './destroyable
|
|
3
|
-
export * from './eventful
|
|
4
|
-
export * from './indexable
|
|
5
|
-
export * from './iterableWeak
|
|
6
|
-
export * from './mixins
|
|
7
|
-
export * from './
|
|
8
|
-
export * from './
|
|
9
|
-
export * from './
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
* Determines whether an object is an array.
|
|
15
|
-
* @param arg Any value to test.
|
|
16
|
-
* @returns True if the value is an array (mutable or readonly), false otherwise.
|
|
17
|
-
*/
|
|
18
|
-
isArray(arg: any): arg is any[] | readonly any[]
|
|
19
|
-
}
|
|
1
|
+
export * from './decorator';
|
|
2
|
+
export * from './destroyable';
|
|
3
|
+
export * from './eventful';
|
|
4
|
+
export * from './indexable';
|
|
5
|
+
export * from './iterableWeak';
|
|
6
|
+
export * from './mixins';
|
|
7
|
+
export * from './promiseChain';
|
|
8
|
+
export * from './reactive';
|
|
9
|
+
export * from './std-decorators';
|
|
10
|
+
export * from './utils';
|
|
11
|
+
export * from './zone';
|
|
12
|
+
export * from './async';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA"}
|
package/dist/indexable.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Symbol for defining custom getter logic for numeric index access
|
|
3
3
|
*/
|
|
4
|
-
declare const getAt: unique symbol;
|
|
4
|
+
export declare const getAt: unique symbol;
|
|
5
5
|
/**
|
|
6
6
|
* Symbol for defining custom setter logic for numeric index access
|
|
7
7
|
*/
|
|
8
|
-
declare const setAt: unique symbol;
|
|
8
|
+
export declare const setAt: unique symbol;
|
|
9
9
|
interface IndexingAt<Items = any> {
|
|
10
10
|
[getAt](index: number): Items;
|
|
11
11
|
}
|
|
@@ -24,7 +24,7 @@ declare abstract class AbstractGetAt<Items = any> {
|
|
|
24
24
|
* @param accessor - Object containing get/set methods for numeric index access
|
|
25
25
|
* @returns A class that supports numeric index access
|
|
26
26
|
*/
|
|
27
|
-
declare function Indexable<Items, Base extends abstract new (...args: any[]) => any>(base: Base, accessor: Accessor<InstanceType<Base>, Items>): new (...args: ConstructorParameters<Base>) => InstanceType<Base> & {
|
|
27
|
+
export declare function Indexable<Items, Base extends abstract new (...args: any[]) => any>(base: Base, accessor: Accessor<InstanceType<Base>, Items>): new (...args: ConstructorParameters<Base>) => InstanceType<Base> & {
|
|
28
28
|
[x: number]: Items;
|
|
29
29
|
};
|
|
30
30
|
/**
|
|
@@ -32,7 +32,7 @@ declare function Indexable<Items, Base extends abstract new (...args: any[]) =>
|
|
|
32
32
|
* @param accessor - Object containing get/set methods for numeric index access
|
|
33
33
|
* @returns A class that supports numeric index access
|
|
34
34
|
*/
|
|
35
|
-
declare function Indexable<Items>(accessor: Accessor<any, Items>): new () => {
|
|
35
|
+
export declare function Indexable<Items>(accessor: Accessor<any, Items>): new () => {
|
|
36
36
|
[x: number]: Items;
|
|
37
37
|
};
|
|
38
38
|
/**
|
|
@@ -40,14 +40,14 @@ declare function Indexable<Items>(accessor: Accessor<any, Items>): new () => {
|
|
|
40
40
|
* @param base - The base class that implements [getAt] method
|
|
41
41
|
* @returns A class that supports numeric index access using the base class's [getAt] method
|
|
42
42
|
*/
|
|
43
|
-
declare function Indexable<Base extends new (...args: any[]) => IndexingAt>(base: Base): new (...args: ConstructorParameters<Base>) => InstanceType<Base> & {
|
|
43
|
+
export declare function Indexable<Base extends new (...args: any[]) => IndexingAt>(base: Base): new (...args: ConstructorParameters<Base>) => InstanceType<Base> & {
|
|
44
44
|
[x: number]: AtReturnType<InstanceType<Base>>;
|
|
45
45
|
};
|
|
46
46
|
/**
|
|
47
47
|
* Creates an abstract indexable base class
|
|
48
48
|
* @returns An abstract class that supports numeric index access
|
|
49
49
|
*/
|
|
50
|
-
declare function Indexable<Items>(): abstract new (...args: any[]) => AbstractGetAt & {
|
|
50
|
+
export declare function Indexable<Items>(): abstract new (...args: any[]) => AbstractGetAt & {
|
|
51
51
|
[x: number]: Items;
|
|
52
52
|
};
|
|
53
53
|
type AtReturnType<T> = T extends {
|
|
@@ -56,7 +56,7 @@ type AtReturnType<T> = T extends {
|
|
|
56
56
|
/**
|
|
57
57
|
* Symbol for accessing the forwarded array in ArrayReadForward
|
|
58
58
|
*/
|
|
59
|
-
declare const forwardArray: unique symbol;
|
|
59
|
+
export declare const forwardArray: unique symbol;
|
|
60
60
|
/**
|
|
61
61
|
* A read-only array forwarder that implements all reading/iterating methods of Array
|
|
62
62
|
* but does not implement modification methods.
|
|
@@ -64,7 +64,7 @@ declare const forwardArray: unique symbol;
|
|
|
64
64
|
* The constructor takes a callback that returns an array, and all methods forward
|
|
65
65
|
* their behavior to the result of that callback.
|
|
66
66
|
*/
|
|
67
|
-
declare class ArrayReadForward<T> {
|
|
67
|
+
export declare class ArrayReadForward<T> {
|
|
68
68
|
protected get [forwardArray](): readonly T[];
|
|
69
69
|
/**
|
|
70
70
|
* Get the length of the array
|
|
@@ -239,5 +239,5 @@ declare class ArrayReadForward<T> {
|
|
|
239
239
|
readonly [Symbol.unscopables]?: boolean;
|
|
240
240
|
};
|
|
241
241
|
}
|
|
242
|
-
|
|
243
|
-
|
|
242
|
+
export {};
|
|
243
|
+
//# sourceMappingURL=indexable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexable.d.ts","sourceRoot":"","sources":["../src/indexable.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Introspection API for Mutts
|
|
3
|
+
* Designed for AI agents and advanced debugging tools to programmatically analyze the reactive system.
|
|
4
|
+
*/
|
|
5
|
+
import { type EffectNode, type GraphEdge, getDependencies, getDependencyGraph, getDependents, getMutationHistory, type MutationRecord, type ObjectNode, type ReactivityGraph } from './reactive/debug';
|
|
6
|
+
import { options, type ReactiveDebugInfo, ReactiveErrorCode } from './reactive/types';
|
|
7
|
+
export { getDependencyGraph, getDependents, getDependencies, getMutationHistory, options, ReactiveErrorCode, };
|
|
8
|
+
export type { MutationRecord, ReactivityGraph, EffectNode, ObjectNode, GraphEdge, ReactiveDebugInfo, };
|
|
9
|
+
/**
|
|
10
|
+
* Enable introspection features (history recording, etc.)
|
|
11
|
+
* @param config Configuration options
|
|
12
|
+
*/
|
|
13
|
+
export declare function enableIntrospection(config?: {
|
|
14
|
+
historySize?: number;
|
|
15
|
+
}): void;
|
|
16
|
+
/**
|
|
17
|
+
* Capture a complete snapshot of the current reactive state
|
|
18
|
+
*/
|
|
19
|
+
export declare function snapshot(): {
|
|
20
|
+
graph: {
|
|
21
|
+
nodes: (EffectNode | ObjectNode)[];
|
|
22
|
+
edges: GraphEdge[];
|
|
23
|
+
};
|
|
24
|
+
history: MutationRecord[];
|
|
25
|
+
timestamp: number;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=introspection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"introspection.d.ts","sourceRoot":"","sources":["../src/introspection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,KAAK,UAAU,EAEf,KAAK,SAAS,EACd,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,KAAK,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAErF,OAAO,EACN,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,OAAO,EACP,iBAAiB,GACjB,CAAA;AAED,YAAY,EACX,cAAc,EACd,eAAe,EACf,UAAU,EACV,UAAU,EACV,SAAS,EACT,iBAAiB,GACjB,CAAA;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,QAMxE;AAED;;GAEG;AACH,wBAAgB,QAAQ;;;;;;;EAMvB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Uses weak references but still may iterate through them
|
|
3
|
+
* Note: The behavior is highly dependant on the garbage collector - some entries are perhaps deemed to be collected: don't resuscitate them
|
|
4
|
+
*/
|
|
5
|
+
export declare class IterableWeakMap<K extends WeakKey, V> implements Map<K, V> {
|
|
6
|
+
private uuids;
|
|
7
|
+
private refs;
|
|
8
|
+
private readonly registry;
|
|
9
|
+
constructor(entries?: Iterable<[K, V]>);
|
|
10
|
+
private createIterator;
|
|
11
|
+
clear(): void;
|
|
12
|
+
delete(key: K): boolean;
|
|
13
|
+
forEach(callbackfn: (value: V, key: K, map: Map<K, V>) => void, thisArg?: any): void;
|
|
14
|
+
get(key: K): V | undefined;
|
|
15
|
+
has(key: K): boolean;
|
|
16
|
+
set(key: K, value: V): this;
|
|
17
|
+
get size(): number;
|
|
18
|
+
entries(): MapIterator<[K, V]>;
|
|
19
|
+
keys(): MapIterator<K>;
|
|
20
|
+
values(): MapIterator<V>;
|
|
21
|
+
[Symbol.iterator](): MapIterator<[K, V]>;
|
|
22
|
+
readonly [Symbol.toStringTag]: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Uses weak references but still may iterate through them
|
|
26
|
+
* Note: The behavior is highly dependant on the garbage collector - some entries are perhaps deemed to be collected: don't resuscitate them
|
|
27
|
+
*/
|
|
28
|
+
export declare class IterableWeakSet<K extends WeakKey> implements Set<K> {
|
|
29
|
+
private uuids;
|
|
30
|
+
private refs;
|
|
31
|
+
private readonly registry;
|
|
32
|
+
constructor(entries?: Iterable<K>);
|
|
33
|
+
private createIterator;
|
|
34
|
+
clear(): void;
|
|
35
|
+
add(value: K): this;
|
|
36
|
+
delete(value: K): boolean;
|
|
37
|
+
forEach(callbackfn: (value: K, value2: K, set: Set<K>) => void, thisArg?: any): void;
|
|
38
|
+
has(value: K): boolean;
|
|
39
|
+
get size(): number;
|
|
40
|
+
entries(): SetIterator<[K, K]>;
|
|
41
|
+
keys(): SetIterator<K>;
|
|
42
|
+
values(): SetIterator<K>;
|
|
43
|
+
[Symbol.iterator](): SetIterator<K>;
|
|
44
|
+
readonly [Symbol.toStringTag]: string;
|
|
45
|
+
union<U>(other: ReadonlySetLike<U>): Set<K | U>;
|
|
46
|
+
intersection<U>(other: ReadonlySetLike<U>): Set<K & U>;
|
|
47
|
+
difference<U>(other: ReadonlySetLike<U>): Set<K>;
|
|
48
|
+
symmetricDifference<U>(other: ReadonlySetLike<U>): Set<K | U>;
|
|
49
|
+
isSubsetOf(other: ReadonlySetLike<unknown>): boolean;
|
|
50
|
+
isSupersetOf(other: ReadonlySetLike<unknown>): boolean;
|
|
51
|
+
isDisjointFrom(other: ReadonlySetLike<unknown>): boolean;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=iterableWeak.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterableWeak.d.ts","sourceRoot":"","sources":["../src/iterableWeak.ts"],"names":[],"mappings":"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"}
|
package/dist/mixins.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A mixin function that takes a base class and returns a new class with mixed-in functionality
|
|
3
|
+
* @template Mixed - The functionality to be mixed in
|
|
4
|
+
*/
|
|
5
|
+
export type MixinFunction<Mixed> = <Base>(base: new (...args: any[]) => Base) => new (...args: any[]) => Base & Mixed;
|
|
6
|
+
/**
|
|
7
|
+
* A mixin class that can be used both as a base class and as a mixin function
|
|
8
|
+
* @template Mixed - The functionality to be mixed in
|
|
9
|
+
*/
|
|
10
|
+
export type MixinClass<Mixed> = new (...args: any[]) => Mixed;
|
|
11
|
+
/**
|
|
12
|
+
* Creates a mixin that can be used both as a class (extends) and as a function (mixin)
|
|
13
|
+
*
|
|
14
|
+
* This function supports:
|
|
15
|
+
* - Using mixins as base classes: `class MyClass extends MyMixin`
|
|
16
|
+
* - Using mixins as functions: `class MyClass extends MyMixin(SomeBase)`
|
|
17
|
+
* - Composing mixins: `const Composed = MixinA(MixinB)`
|
|
18
|
+
* - Type-safe property inference for all patterns
|
|
19
|
+
*
|
|
20
|
+
* @param mixinFunction - The function that creates the mixin
|
|
21
|
+
* @param unwrapFunction - Optional function to unwrap reactive objects for method calls
|
|
22
|
+
* @returns A mixin that can be used both as a class and as a function
|
|
23
|
+
*/
|
|
24
|
+
export declare function mixin<MixinFn extends (base: any) => new (...args: any[]) => any>(mixinFunction: MixinFn, unwrapFunction?: (obj: any) => any): (new (...args: any[]) => InstanceType<ReturnType<MixinFn>>) & (<Base>(base: abstract new (...args: any[]) => Base) => new (...args: any[]) => InstanceType<ReturnType<MixinFn>> & Base);
|
|
25
|
+
//# sourceMappingURL=mixins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mixins.d.ts","sourceRoot":"","sources":["../src/mixins.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,KAAK,IAAI,CAAC,IAAI,EACvC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,KAC9B,KACJ,GAAG,IAAI,EAAE,GAAG,EAAE,KACV,IAAI,GAAG,KAAK,CAAA;AAEjB;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,KAAK,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAA;AAE7D;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,KAAK,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC/E,aAAa,EAAE,OAAO,EACtB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAChC,CAAC,KACH,GAAG,IAAI,EAAE,GAAG,EAAE,KACV,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GACtC,CAAC,CAAC,IAAI,EACL,IAAI,EAAE,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,KACvC,KACJ,GAAG,IAAI,EAAE,GAAG,EAAE,KACV,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAiF9C"}
|