@actualwave/deferred-data-access 2.0.1 → 2.1.1
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 +400 -27
- package/SKILL.md +106 -0
- package/command/index.d.ts.map +1 -0
- package/command/index.es.js +98 -0
- package/command/index.es.js.map +1 -0
- package/command/index.js +102 -4
- package/command/index.js.map +1 -1
- package/command/package.json +4 -1
- package/command/src/command-chain.d.ts +8 -1
- package/command/src/command-chain.d.ts.map +1 -0
- package/command/src/command-chain.js +9 -0
- package/command/src/command-chain.js.map +1 -1
- package/command/src/command-handler.d.ts.map +1 -0
- package/command/src/command.d.ts +2 -2
- package/command/src/command.d.ts.map +1 -0
- package/command/src/command.js +5 -6
- package/command/src/command.js.map +1 -1
- package/core/core.d.ts.map +1 -0
- package/core/core.js +23 -25
- package/core/core.js.map +1 -1
- package/core/index.d.ts.map +1 -0
- package/deferred-data-access.umd.js +2 -0
- package/deferred-data-access.umd.js.map +1 -0
- package/index.d.ts.map +1 -0
- package/{dist/deferred-data-access.js → index.es.js} +199 -138
- package/index.es.js.map +1 -0
- package/index.js +627 -2
- package/index.js.map +1 -1
- package/interface/index.d.ts.map +1 -0
- package/interface/index.es.js +380 -0
- package/interface/index.es.js.map +1 -0
- package/interface/index.js +396 -7
- package/interface/index.js.map +1 -1
- package/interface/package.json +4 -1
- package/interface/src/handshake.d.ts.map +1 -0
- package/interface/src/handshake.js +6 -4
- package/interface/src/handshake.js.map +1 -1
- package/interface/src/helpers.d.ts.map +1 -0
- package/interface/src/intialize.d.ts +5 -2
- package/interface/src/intialize.d.ts.map +1 -0
- package/interface/src/intialize.js +37 -57
- package/interface/src/intialize.js.map +1 -1
- package/interface/src/request.d.ts +3 -2
- package/interface/src/request.d.ts.map +1 -0
- package/interface/src/request.js +39 -29
- package/interface/src/request.js.map +1 -1
- package/interface/src/types.d.ts.map +1 -0
- package/interface/src/utils.d.ts +2 -2
- package/interface/src/utils.d.ts.map +1 -0
- package/interface/src/utils.js +44 -29
- package/interface/src/utils.js.map +1 -1
- package/package.json +8 -6
- package/proxy/index.d.ts.map +1 -0
- package/proxy/index.es.js +144 -0
- package/proxy/index.es.js.map +1 -0
- package/proxy/index.js +155 -5
- package/proxy/index.js.map +1 -1
- package/proxy/package.json +4 -1
- package/proxy/src/command.d.ts.map +1 -0
- package/proxy/src/proxy.d.ts +2 -2
- package/proxy/src/proxy.d.ts.map +1 -0
- package/proxy/src/proxy.js +13 -3
- package/proxy/src/proxy.js.map +1 -1
- package/proxy/src/traps.d.ts +1 -1
- package/proxy/src/traps.d.ts.map +1 -0
- package/proxy/src/traps.js +4 -14
- package/proxy/src/traps.js.map +1 -1
- package/proxy/src/types.d.ts.map +1 -0
- package/proxy/src/utils.d.ts +6 -0
- package/proxy/src/utils.d.ts.map +1 -0
- package/proxy/src/utils.js +11 -5
- package/proxy/src/utils.js.map +1 -1
- package/record/index.d.ts.map +1 -0
- package/record/index.es.js +26 -0
- package/record/index.es.js.map +1 -0
- package/record/index.js +31 -2
- package/record/index.js.map +1 -1
- package/record/package.json +4 -1
- package/record/record.d.ts +2 -2
- package/record/record.d.ts.map +1 -0
- package/record/record.js +9 -3
- package/record/record.js.map +1 -1
- package/resource/index.d.ts +1 -0
- package/resource/index.d.ts.map +1 -0
- package/resource/index.es.js +191 -0
- package/resource/index.es.js.map +1 -0
- package/resource/index.js +206 -6
- package/resource/index.js.map +1 -1
- package/resource/package.json +4 -1
- package/resource/src/default-resource-pool.d.ts +1 -0
- package/resource/src/default-resource-pool.d.ts.map +1 -0
- package/resource/src/default-resource-pool.js +8 -5
- package/resource/src/default-resource-pool.js.map +1 -1
- package/resource/src/finalization-registry.d.ts +13 -0
- package/resource/src/finalization-registry.d.ts.map +1 -0
- package/resource/src/finalization-registry.js +18 -0
- package/resource/src/finalization-registry.js.map +1 -0
- package/resource/src/resource-pool-registry.d.ts +1 -0
- package/resource/src/resource-pool-registry.d.ts.map +1 -0
- package/resource/src/resource-pool-registry.js +10 -8
- package/resource/src/resource-pool-registry.js.map +1 -1
- package/resource/src/resource-pool.d.ts +8 -1
- package/resource/src/resource-pool.d.ts.map +1 -0
- package/resource/src/resource-pool.js +29 -17
- package/resource/src/resource-pool.js.map +1 -1
- package/resource/src/resource.d.ts +1 -1
- package/resource/src/resource.d.ts.map +1 -0
- package/resource/src/resource.js +3 -2
- package/resource/src/resource.js.map +1 -1
- package/resource/src/utils.d.ts +1 -1
- package/resource/src/utils.d.ts.map +1 -0
- package/resource/src/utils.js +9 -1
- package/resource/src/utils.js.map +1 -1
- package/utils/index.d.ts.map +1 -0
- package/utils/index.es.js +48 -0
- package/utils/index.es.js.map +1 -0
- package/utils/index.js +54 -3
- package/utils/index.js.map +1 -1
- package/utils/package.json +4 -1
- package/utils/src/types.d.ts +3 -3
- package/utils/src/types.d.ts.map +1 -0
- package/utils/src/utils.d.ts +18 -2
- package/utils/src/utils.d.ts.map +1 -0
- package/utils/src/utils.js +28 -4
- package/utils/src/utils.js.map +1 -1
- package/dist/deferred-data-access.js.map +0 -1
- package/dist/deferred-data-access.umd.js +0 -2
- package/dist/deferred-data-access.umd.js.map +0 -1
package/command/index.js
CHANGED
|
@@ -1,4 +1,102 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
class Command {
|
|
4
|
+
constructor(type, name, value, context) {
|
|
5
|
+
this.type = type;
|
|
6
|
+
this.name = name;
|
|
7
|
+
this.value = value;
|
|
8
|
+
this.context = context;
|
|
9
|
+
Object.defineProperty(this, 'type', { value: type, writable: false, configurable: false });
|
|
10
|
+
Object.defineProperty(this, 'name', { value: name, writable: false, configurable: false });
|
|
11
|
+
}
|
|
12
|
+
toObject(includeContext = false) {
|
|
13
|
+
const { type, name, value, context } = this;
|
|
14
|
+
return {
|
|
15
|
+
type,
|
|
16
|
+
name,
|
|
17
|
+
value,
|
|
18
|
+
context: includeContext ? context : undefined,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
toJSON(includeContext = false) {
|
|
22
|
+
const { type, name, value, context } = this;
|
|
23
|
+
return includeContext
|
|
24
|
+
? JSON.stringify([type, name, value, context])
|
|
25
|
+
: JSON.stringify([type, name, value]);
|
|
26
|
+
}
|
|
27
|
+
static fromJSON(jsonString) {
|
|
28
|
+
const [type, name, value, context] = JSON.parse(jsonString);
|
|
29
|
+
return new Command(type, name, value, context);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
class CommandChain extends Command {
|
|
34
|
+
constructor(prev, type, name, value, context) {
|
|
35
|
+
super(type, name, value, context);
|
|
36
|
+
this.prev = prev;
|
|
37
|
+
}
|
|
38
|
+
*[Symbol.iterator]() {
|
|
39
|
+
let item = this;
|
|
40
|
+
while (item) {
|
|
41
|
+
yield item;
|
|
42
|
+
item = item.prev;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
isTail() {
|
|
46
|
+
return !this.prev;
|
|
47
|
+
}
|
|
48
|
+
forEach(callback) {
|
|
49
|
+
let node = this;
|
|
50
|
+
do {
|
|
51
|
+
callback(node);
|
|
52
|
+
node = node.prev;
|
|
53
|
+
} while (node);
|
|
54
|
+
}
|
|
55
|
+
map(callback) {
|
|
56
|
+
let node = this;
|
|
57
|
+
const list = [];
|
|
58
|
+
do {
|
|
59
|
+
list.push(callback(node));
|
|
60
|
+
node = node.prev;
|
|
61
|
+
} while (node);
|
|
62
|
+
return list;
|
|
63
|
+
}
|
|
64
|
+
reduce(callback, base) {
|
|
65
|
+
let node = this;
|
|
66
|
+
let result = base;
|
|
67
|
+
do {
|
|
68
|
+
result = callback(result, node);
|
|
69
|
+
node = node.prev;
|
|
70
|
+
} while (node);
|
|
71
|
+
return result;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Returns a new CommandChain that is identical to this one but with the
|
|
75
|
+
* `prev` link severed, rather than mutating the existing instance in-place.
|
|
76
|
+
* Use this instead of `delete command.prev` to avoid corrupting shared chain
|
|
77
|
+
* references held by other code.
|
|
78
|
+
*/
|
|
79
|
+
withoutPrev() {
|
|
80
|
+
return new CommandChain(undefined, this.type, this.name, this.value, this.context);
|
|
81
|
+
}
|
|
82
|
+
static fromCommand({ type, name, value, context }, prev) {
|
|
83
|
+
return new CommandChain(prev, type, name, value, context);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/*
|
|
88
|
+
Creates a function that calls handler depending on command type
|
|
89
|
+
*/
|
|
90
|
+
const createCommandHandler = ({ handlers, defaultHandler, }) => (command, ...args) => {
|
|
91
|
+
const { type } = command;
|
|
92
|
+
const handler = (handlers && handlers[type]) || defaultHandler;
|
|
93
|
+
if (handler) {
|
|
94
|
+
return handler(command, ...args);
|
|
95
|
+
}
|
|
96
|
+
return Promise.resolve(undefined);
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
exports.Command = Command;
|
|
100
|
+
exports.CommandChain = CommandChain;
|
|
101
|
+
exports.createCommandHandler = createCommandHandler;
|
|
102
|
+
//# sourceMappingURL=index.js.map
|
package/command/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../packages/deferred-data-access/command/src/command.ts","../../../../../../packages/deferred-data-access/command/src/command-chain.ts","../../../../../../packages/deferred-data-access/command/src/command-handler.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
|
package/command/package.json
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import { CommandContext, ICommand, ICommandList, ICommandChain, PropertyName } from '@actualwave/deferred-data-access/utils';
|
|
2
2
|
import { Command } from './command';
|
|
3
3
|
export declare class CommandChain extends Command implements ICommandList {
|
|
4
|
-
prev: ICommandChain | undefined;
|
|
4
|
+
readonly prev: ICommandChain | undefined;
|
|
5
5
|
constructor(prev: ICommandChain | undefined, type: string, name?: PropertyName, value?: unknown, context?: CommandContext);
|
|
6
6
|
[Symbol.iterator](): Generator<ICommandChain, void, unknown>;
|
|
7
7
|
isTail(): boolean;
|
|
8
8
|
forEach(callback: (item: ICommandChain) => void): void;
|
|
9
9
|
map<T = unknown>(callback: (item: ICommandChain) => T): Array<T>;
|
|
10
10
|
reduce<T = unknown>(callback: (result: T, item: ICommandChain) => T, base: T): T;
|
|
11
|
+
/**
|
|
12
|
+
* Returns a new CommandChain that is identical to this one but with the
|
|
13
|
+
* `prev` link severed, rather than mutating the existing instance in-place.
|
|
14
|
+
* Use this instead of `delete command.prev` to avoid corrupting shared chain
|
|
15
|
+
* references held by other code.
|
|
16
|
+
*/
|
|
17
|
+
withoutPrev(): CommandChain;
|
|
11
18
|
static fromCommand({ type, name, value, context }: ICommand, prev?: ICommandChain): CommandChain;
|
|
12
19
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-chain.d.ts","sourceRoot":"","sources":["../../../../packages/deferred-data-access/command/src/command-chain.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,YAAY,EACb,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,YAAa,SAAQ,OAAQ,YAAW,YAAY;IAG/D,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;gBAGvC,IAAI,EAAE,aAAa,GAAG,SAAS,EAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,YAAY,EACnB,KAAK,CAAC,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,cAAc;IAMzB,CAAC,MAAM,CAAC,QAAQ,CAAC;IASlB,MAAM,IAAI,OAAO;IAIjB,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAStD,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAYhE,MAAM,CAAC,CAAC,GAAG,OAAO,EAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,KAAK,CAAC,EAC/C,IAAI,EAAE,CAAC,GACN,CAAC;IAYJ;;;;;OAKG;IACH,WAAW,IAAI,YAAY;IAI3B,MAAM,CAAC,WAAW,CAChB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EACxC,IAAI,CAAC,EAAE,aAAa,GACnB,YAAY;CAGhB"}
|
|
@@ -39,6 +39,15 @@ export class CommandChain extends Command {
|
|
|
39
39
|
} while (node);
|
|
40
40
|
return result;
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Returns a new CommandChain that is identical to this one but with the
|
|
44
|
+
* `prev` link severed, rather than mutating the existing instance in-place.
|
|
45
|
+
* Use this instead of `delete command.prev` to avoid corrupting shared chain
|
|
46
|
+
* references held by other code.
|
|
47
|
+
*/
|
|
48
|
+
withoutPrev() {
|
|
49
|
+
return new CommandChain(undefined, this.type, this.name, this.value, this.context);
|
|
50
|
+
}
|
|
42
51
|
static fromCommand({ type, name, value, context }, prev) {
|
|
43
52
|
return new CommandChain(prev, type, name, value, context);
|
|
44
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-chain.js","sourceRoot":"","sources":["../../../../packages/deferred-data-access/command/src/command-chain.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,OAAO,YAAa,SAAQ,OAAO;
|
|
1
|
+
{"version":3,"file":"command-chain.js","sourceRoot":"","sources":["../../../../packages/deferred-data-access/command/src/command-chain.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,OAAO,YAAa,SAAQ,OAAO;IAKvC,YACE,IAA+B,EAC/B,IAAY,EACZ,IAAmB,EACnB,KAAe,EACf,OAAwB;QAExB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,IAAI,IAAI,GAA8B,IAAI,CAAC;QAE3C,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC;YACX,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,QAAuC;QAC7C,IAAI,IAAI,GAA8B,IAAI,CAAC;QAE3C,GAAG,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC,QAAQ,IAAI,EAAE;IACjB,CAAC;IAED,GAAG,CAAc,QAAoC;QACnD,IAAI,IAAI,GAA8B,IAAI,CAAC;QAC3C,MAAM,IAAI,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC,QAAQ,IAAI,EAAE;QAEf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CACJ,QAA+C,EAC/C,IAAO;QAEP,IAAI,IAAI,GAA8B,IAAI,CAAC;QAC3C,IAAI,MAAM,GAAG,IAAI,CAAC;QAElB,GAAG,CAAC;YACF,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAChC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC,QAAQ,IAAI,EAAE;QAEf,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,WAAW;QACT,OAAO,IAAI,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAY,EACxC,IAAoB;QAEpB,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../../../packages/deferred-data-access/command/src/command-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEf,MAAM,wCAAwC,CAAC;AAKhD,eAAO,MAAM,oBAAoB,GAC9B,+BAGE;IACD,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,CAAC;IAC5C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,KAAG,cAUH,CAAC"}
|
package/command/src/command.d.ts
CHANGED
|
@@ -2,9 +2,9 @@ import { CommandContext, ICommand, PropertyName } from '@actualwave/deferred-dat
|
|
|
2
2
|
export declare class Command implements ICommand {
|
|
3
3
|
readonly type: string;
|
|
4
4
|
readonly name?: PropertyName | undefined;
|
|
5
|
-
readonly value?: unknown;
|
|
5
|
+
readonly value?: unknown | undefined;
|
|
6
6
|
readonly context?: CommandContext | undefined;
|
|
7
|
-
constructor(type: string, name?: PropertyName | undefined, value?: unknown, context?: CommandContext | undefined);
|
|
7
|
+
constructor(type: string, name?: PropertyName | undefined, value?: unknown | undefined, context?: CommandContext | undefined);
|
|
8
8
|
toObject(includeContext?: boolean): ICommand;
|
|
9
9
|
toJSON(includeContext?: boolean): string;
|
|
10
10
|
static fromJSON(jsonString: string): ICommand;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../packages/deferred-data-access/command/src/command.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,QAAQ,EACR,YAAY,EACb,MAAM,wCAAwC,CAAC;AAEhD,qBAAa,OAAQ,YAAW,QAAQ;aAEpB,IAAI,EAAE,MAAM;aACZ,IAAI,CAAC,EAAE,YAAY;aACnB,KAAK,CAAC,EAAE,OAAO;aACf,OAAO,CAAC,EAAE,cAAc;gBAHxB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,YAAY,YAAA,EACnB,KAAK,CAAC,EAAE,OAAO,YAAA,EACf,OAAO,CAAC,EAAE,cAAc,YAAA;IAM1C,QAAQ,CAAC,cAAc,UAAQ,GAAG,QAAQ;IAU1C,MAAM,CAAC,cAAc,UAAQ,GAAG,MAAM;IAOtC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ;CAI9C"}
|
package/command/src/command.js
CHANGED
|
@@ -4,6 +4,8 @@ export class Command {
|
|
|
4
4
|
this.name = name;
|
|
5
5
|
this.value = value;
|
|
6
6
|
this.context = context;
|
|
7
|
+
Object.defineProperty(this, 'type', { value: type, writable: false, configurable: false });
|
|
8
|
+
Object.defineProperty(this, 'name', { value: name, writable: false, configurable: false });
|
|
7
9
|
}
|
|
8
10
|
toObject(includeContext = false) {
|
|
9
11
|
const { type, name, value, context } = this;
|
|
@@ -16,12 +18,9 @@ export class Command {
|
|
|
16
18
|
}
|
|
17
19
|
toJSON(includeContext = false) {
|
|
18
20
|
const { type, name, value, context } = this;
|
|
19
|
-
return
|
|
20
|
-
type,
|
|
21
|
-
name,
|
|
22
|
-
value,
|
|
23
|
-
includeContext ? context : undefined,
|
|
24
|
-
]);
|
|
21
|
+
return includeContext
|
|
22
|
+
? JSON.stringify([type, name, value, context])
|
|
23
|
+
: JSON.stringify([type, name, value]);
|
|
25
24
|
}
|
|
26
25
|
static fromJSON(jsonString) {
|
|
27
26
|
const [type, name, value, context] = JSON.parse(jsonString);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../packages/deferred-data-access/command/src/command.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,OAAO;IAClB,YACkB,IAAY,EACZ,IAAmB,EACnB,KAAe,EACf,OAAwB;QAHxB,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAe;QACnB,UAAK,GAAL,KAAK,CAAU;QACf,YAAO,GAAP,OAAO,CAAiB;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../packages/deferred-data-access/command/src/command.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,OAAO;IAClB,YACkB,IAAY,EACZ,IAAmB,EACnB,KAAe,EACf,OAAwB;QAHxB,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAe;QACnB,UAAK,GAAL,KAAK,CAAU;QACf,YAAO,GAAP,OAAO,CAAiB;QAExC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3F,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,QAAQ,CAAC,cAAc,GAAG,KAAK;QAC7B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC5C,OAAO;YACL,IAAI;YACJ,IAAI;YACJ,KAAK;YACL,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,cAAc,GAAG,KAAK;QAC3B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC5C,OAAO,cAAc;YACnB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,UAAkB;QAChC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5D,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../packages/deferred-data-access/core/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAMf,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,OAAO,EAER,MAAM,0CAA0C,CAAC;AAsGlD,eAAO,MAAM,MAAM,GAChB,gBAAgB,cAAc,EAAE,cAAW,MAC3C,UAAU,OAAO,EAAE,UAAU,OAAO,KAAG,OAkEvC,CAAC"}
|
package/core/core.js
CHANGED
|
@@ -22,28 +22,24 @@ const executePromiseMethod = (context, name, args) => {
|
|
|
22
22
|
throw new Error(`Unexpected Error: Promise method "${String(name)}" could not be called.`);
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
|
-
const applyPromiseActivity = (command, commandHandler, lazy, wrap) => {
|
|
25
|
+
const applyPromiseActivity = (command, commandHandler, lazy, wrap, rawContext) => {
|
|
26
26
|
switch (command.type) {
|
|
27
27
|
case ProxyCommand.GET: {
|
|
28
28
|
const { name, prev } = command;
|
|
29
29
|
let { context } = command;
|
|
30
30
|
if (lazy) {
|
|
31
|
-
// then() / catch() on lazy means we should call handler and subscribe to promise
|
|
32
31
|
if (!prev) {
|
|
33
|
-
|
|
32
|
+
// Root lazy access to a reserved name (then/catch) — no chain to resolve
|
|
33
|
+
// through, so use the raw context (the promise passed to wrap) directly.
|
|
34
|
+
context = rawContext;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
// When lazy, context is a dummy promise, so we call handler with the previous
|
|
38
|
+
// command and use the result as the context to subscribe to.
|
|
39
|
+
context = commandHandler(prev, prev.context, wrap);
|
|
34
40
|
}
|
|
35
|
-
// When lazy, context is a dummy promise, so we have to call handler with previous command and then use it as a context.
|
|
36
|
-
context = commandHandler(prev, prev.context, wrap);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
// then() / catch() on non-lazy means we handler already called, just subscribe to promise of it
|
|
40
|
-
/*
|
|
41
|
-
When not lazy, this promise was already created and is a context to this action.
|
|
42
|
-
Without wrapper we may get this error:
|
|
43
|
-
Uncaught TypeError: Method Promise.prototype.then called on incompatible receiver undefined
|
|
44
|
-
*/
|
|
45
|
-
//return (context as any)[name as string](...(value as never[]));
|
|
46
41
|
}
|
|
42
|
+
// When not lazy, context is already the live promise result — subscribe directly.
|
|
47
43
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
48
44
|
return (...args) => context[name](...args);
|
|
49
45
|
}
|
|
@@ -52,18 +48,15 @@ const applyPromiseActivity = (command, commandHandler, lazy, wrap) => {
|
|
|
52
48
|
throw new Error(`Unexpected Error: Could not apply Promise method of unknown context.`);
|
|
53
49
|
}
|
|
54
50
|
return executePromiseMethod(command.context, command.name, command.value);
|
|
55
|
-
case ProxyCommand.APPLY:
|
|
56
|
-
{
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
throw new Error(`Unexpected Error: Could not apply Promise method of unknown context.`);
|
|
60
|
-
}
|
|
61
|
-
return executePromiseMethod(prev.context, prev.name, command.value);
|
|
51
|
+
case ProxyCommand.APPLY: {
|
|
52
|
+
const { prev } = command;
|
|
53
|
+
if (!prev?.context || !prev?.name) {
|
|
54
|
+
throw new Error(`Unexpected Error: Could not apply Promise method of unknown context.`);
|
|
62
55
|
}
|
|
63
|
-
|
|
56
|
+
return executePromiseMethod(prev.context, prev.name, command.value);
|
|
57
|
+
}
|
|
64
58
|
default:
|
|
65
59
|
throw new Error(`Command type "${command.type}" could not be executed as a Promise command.`);
|
|
66
|
-
break;
|
|
67
60
|
}
|
|
68
61
|
};
|
|
69
62
|
export const handle = (commandHandler, lazy = true) => (context, command) => {
|
|
@@ -72,7 +65,7 @@ export const handle = (commandHandler, lazy = true) => (context, command) => {
|
|
|
72
65
|
const childCommand = generateProxyCommand(command, type, name, value, context, lazy);
|
|
73
66
|
let result;
|
|
74
67
|
if (isPromiseActivity(childCommand)) {
|
|
75
|
-
return applyPromiseActivity(childCommand, commandHandler, lazy, wrap);
|
|
68
|
+
return applyPromiseActivity(childCommand, commandHandler, lazy, wrap, context);
|
|
76
69
|
}
|
|
77
70
|
else if ((type === ProxyCommand.APPLY || type === ProxyCommand.GET) &&
|
|
78
71
|
lazy) {
|
|
@@ -88,9 +81,14 @@ export const handle = (commandHandler, lazy = true) => (context, command) => {
|
|
|
88
81
|
getCommand() {
|
|
89
82
|
return command;
|
|
90
83
|
},
|
|
84
|
+
/**
|
|
85
|
+
* Returns a new chain with the prev link severed rather than mutating
|
|
86
|
+
* the existing command in-place. Safe for callers holding references.
|
|
87
|
+
*/
|
|
91
88
|
dropCommandChain() {
|
|
92
89
|
if (command) {
|
|
93
|
-
|
|
90
|
+
// Replace the reference with a severed copy rather than mutating
|
|
91
|
+
command = command.withoutPrev?.() ?? command;
|
|
94
92
|
}
|
|
95
93
|
},
|
|
96
94
|
});
|
package/core/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../packages/deferred-data-access/core/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,sBAAsB,EACtB,qBAAqB,GAEtB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAEL,YAAY,GACb,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,GACrB,MAAM,wCAAwC,CAAC;AAEhD,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAEjD,MAAM,iBAAiB,GAAG,CAAC,OAAsB,EAAE,EAAE;IACnD,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEzB,IAAI,IAAI,KAAK,YAAY,CAAC,GAAG,IAAI,IAAI,KAAK,YAAY,CAAC,WAAW,EAAE,CAAC;QACnE,OAAO,sBAAsB,CAAC,OAAO,CAAC,IAAoB,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,IAAI,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;QAChC,OAAO,sBAAsB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAoB,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAC3B,OAAuB,EACvB,IAAkB,EAClB,IAAa,EACb,EAAE;IACF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,qBAAqB,CAAC,IAAI;YAC7B,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/B,KAAK,qBAAqB,CAAC,KAAK;YAC9B,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAChC;YACE,MAAM,IAAI,KAAK,CACb,qCAAqC,MAAM,
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../packages/deferred-data-access/core/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/deferred-data-access/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).DeferredDataAccess={})}(this,function(e){"use strict";class t{constructor(e,t,r,o){this.type=e,this.name=t,this.value=r,this.context=o,Object.defineProperty(this,"type",{value:e,writable:!1,configurable:!1}),Object.defineProperty(this,"name",{value:t,writable:!1,configurable:!1})}toObject(e=!1){const{type:t,name:r,value:o,context:s}=this;return{type:t,name:r,value:o,context:e?s:void 0}}toJSON(e=!1){const{type:t,name:r,value:o,context:s}=this;return e?JSON.stringify([t,r,o,s]):JSON.stringify([t,r,o])}static fromJSON(e){const[r,o,s,n]=JSON.parse(e);return new t(r,o,s,n)}}class r extends t{constructor(e,t,r,o,s){super(t,r,o,s),this.prev=e}*[Symbol.iterator](){let e=this;for(;e;)yield e,e=e.prev}isTail(){return!this.prev}forEach(e){let t=this;do{e(t),t=t.prev}while(t)}map(e){let t=this;const r=[];do{r.push(e(t)),t=t.prev}while(t);return r}reduce(e,t){let r=this,o=t;do{o=e(o,r),r=r.prev}while(r);return o}withoutPrev(){return new r(void 0,this.type,this.name,this.value,this.context)}static fromCommand({type:e,name:t,value:o,context:s},n){return new r(n,e,t,o,s)}}const o=Date.now()-Math.floor(1e3*Math.random());let s=0;var n;e.ReservedPropertyNames=void 0,(n=e.ReservedPropertyNames||(e.ReservedPropertyNames={})).THEN="then",n.CATCH="catch";const a=t=>"string"==typeof t&&(t===e.ReservedPropertyNames.THEN||t===e.ReservedPropertyNames.CATCH),i=(e="")=>{const t=`${e?`${e}/`:""}${o}/`;return()=>`${t}${++s};`},c=i();class l{constructor(e=c()){this.id=e,Object.defineProperty(this,"id",{value:this.id,writable:!1,configurable:!1})}}var d;e.ProxyCommand=void 0,(d=e.ProxyCommand||(e.ProxyCommand={})).GET="P:get",d.SET="P:set",d.APPLY="P:apply",d.DELETE_PROPERTY="P:del",d.METHOD_CALL="P:call";const u=(t,o,s,n,a,i)=>o===e.ProxyCommand.APPLY&&i&&t?.type===e.ProxyCommand.GET?new r(t.prev,e.ProxyCommand.METHOD_CALL,t.name,n,t.context):new r(t,o,s,n,a),m=({prev:e})=>e?.context,p={arguments:!0,caller:!0,prototype:!0},h=Symbol("P:api"),y=(e,t,r={})=>{const o=Object.assign("function"==typeof e?function(...t){return e.apply(this,t)}:function(){},{target:e,[h]:{getTarget:()=>e,...r}});return new Proxy(o,t)},f=e=>null!=e&&e[h]?e[h].getTarget():e,P=e=>e===h||Object.hasOwn(p,e),v=async(t,r)=>{let o=r;void 0===r&&(o=t.prev?await v(t.prev):await t.context);const{type:s,name:n,value:a}=t;switch(s){case e.ProxyCommand.GET:return o[n];case e.ProxyCommand.APPLY:return o.apply(m(t),a);default:throw new Error(`Command "${s}" cannot be followed. Only ProxyCommand.GET and ProxyCommand.APPLY are supported by followCommandChain.`)}},g=t=>(r,o)=>{const{target:s}=r;return P(o)?r[o]:t(e.ProxyCommand.GET,o,void 0,s)},w=t=>({target:r},o,s)=>t(e.ProxyCommand.APPLY,void 0,s,r),x=t=>({target:r},o,s)=>!P(o)&&(t(e.ProxyCommand.SET,o,s,r),!0),C=t=>(r,o)=>!P(o)&&(t(e.ProxyCommand.DELETE_PROPERTY,o,void 0,r.target),!0),b=(e,t)=>!!P(t)&&e[t],E=()=>Object.getOwnPropertyNames(p),O=(e,t)=>P(t)?Object.getOwnPropertyDescriptor(e,t):Object.getOwnPropertyDescriptor(e.target,t),T=e=>({get:g(e),apply:w(e),set:x(e),deleteProperty:C(e),has:b,ownKeys:E,getOwnPropertyDescriptor:O}),R=Promise.resolve(void 0),j=(t,r,o)=>{switch(r){case e.ReservedPropertyNames.THEN:return t.then(...o);case e.ReservedPropertyNames.CATCH:return t.catch(...o);default:throw new Error(`Unexpected Error: Promise method "${String(r)}" could not be called.`)}};let N;const S=()=>N;class L{constructor(e){this.map=e,this.mapIterator=this.map.keys()}[Symbol.iterator](){return new L(this.map)}next(){for(;;){const e=this.mapIterator.next();if(e.done)return{done:!0,value:void 0};const t=e.value;if(void 0!==this.map.get(t).deref())return{done:!1,value:t}}}}class A{constructor(e){this.mapIterator=e}[Symbol.iterator](){return new A(this.mapIterator[Symbol.iterator]())}next(){for(;;){const e=this.mapIterator.next();if(e.done)return{done:!0,value:void 0};const t=e.value.deref();if(void 0!==t)return{done:!1,value:t}}}}class D{constructor(e){this.mapIterator=e}[Symbol.iterator](){return new D(this.mapIterator[Symbol.iterator]())}next(){for(;;){const e=this.mapIterator.next();if(e.done)return{done:!0,value:void 0};const[t,r]=e.value,o=r.deref();if(void 0!==o)return{done:!1,value:[t,o]}}}}class I{constructor(e=globalThis.FinalizationRegistry){this.map=new Map;const t=e;void 0===t?console.warn("WeakValueMap: FinalizationRegistry is not available in this environment. Stale entries will not be removed automatically."):t&&(this.finalizer=new t(e=>{const t=this.map.get(e);t&&void 0!==t.deref()||this.map.delete(e)}))}get approximateSize(){return this.map.size}keys(){return new L(this.map)}values(){return new A(this.map.values())}entries(){return new D(this.map.entries())}set(e,t){return this.map.set(e,new WeakRef(t)),this.finalizer?.register(t,e),this}get(e){const t=this.map.get(e);return t&&t.deref()}has(e){return void 0!==this.get(e)}delete(e){return this.map.delete(e)}clear(){this.map.clear()}forEach(e){this.map.forEach((t,r)=>{const o=t.deref();void 0!==o&&e(o,r,this)})}verify(){const e=new Map;this.map.forEach((t,r)=>{void 0!==t.deref()&&e.set(r,t)}),this.map=e}}class H extends l{constructor(e,t){super(),this.pool=e,this.type=t,Object.defineProperty(this,"pool",{value:e,writable:!1,configurable:!1}),Object.defineProperty(this,"type",{value:t,writable:!1,configurable:!1})}toObject(){return{id:this.id,poolId:this.pool.id,type:this.type}}toJSON(){return JSON.stringify(this.toObject())}}const M=(e,t,r)=>new H(e,r||typeof t),Y=new Set,G=()=>["object","function"],z=e=>null!==e&&Y.has(typeof e),$=e=>{Y.clear(),e.forEach(e=>Y.add(e))};$(["object","function"]);class k extends l{constructor(e=S()){super(),this.resources=new WeakMap,this.refs=new I(e)}get active(){return!!this.resources}set(e,t){if(!z(e))return null;const r=this.resources.get(e);if(r)return r;const o=M(this,e,t);return this.refs.set(o.id,e),this.resources.set(e,o),o}has(e){if(!this.resources.has(e))return!1;const t=this.resources.get(e);return void 0!==t&&void 0!==this.refs.get(t.id)}get({id:e}){return this.getById(e)}getById(e){return this.refs.get(e)}getResource(e){return this.resources.get(e)}remove(e){const t=this.resources.get(e);return!!t&&(this.refs.delete(t.id),this.resources.delete(e))}clear(){this.refs.forEach((e,t)=>{const r=this.refs.get(t);void 0!==r&&this.resources.delete(r)}),this.refs.clear()}}let J;const W=()=>(J||(J=new k),J);class _ extends l{constructor(){super(),this.pools={},this.register(W())}createPool(){const e=new k;return this.register(e),e}register(e){return!Object.hasOwn(this.pools,e.id)&&(this.pools[e.id]=e,!0)}get(e){return this.pools[e]||null}isRegistered(e){return Object.hasOwn(this.pools,e.id)}remove(e){const t="string"==typeof e?e:e.id;return delete this.pools[t]}}let F;const U=new Map;let V=Promise.resolve();const B=()=>{};e.Command=t,e.CommandChain=r,e.IdOwner=l,e.Resource=H,e.ResourcePool=k,e.ResourcePoolRegistry=_,e.clearLatestCalls=()=>U.clear(),e.createCommandHandler=({handlers:e,defaultHandler:t})=>(r,...o)=>{const{type:s}=r,n=e&&e[s]||t;return n?n(r,...o):Promise.resolve(void 0)},e.createProxyTrapsObject=T,e.createResource=M,e.createUIDGenerator=i,e.followCommandChain=v,e.generateId=c,e.generateProxyCommand=u,e.getCustomFinalizationRegistryClass=S,e.getDefaultResourcePool=W,e.getDefaultValidTargets=G,e.getMethodCallContext=m,e.getMethodName=({prev:e})=>e?.name,e.getRegistry=()=>(F||(F=new _),F),e.handle=(t,o=!0)=>(s,n)=>{const i=(r,s)=>{const n=T((r,n,c,l)=>{const d=u(s,r,n,c,l,o);let m;return(t=>{const{type:r}=t;return r===e.ProxyCommand.GET||r===e.ProxyCommand.METHOD_CALL?a(t.name):r===e.ProxyCommand.APPLY&&a(t.prev?.name)})(d)?((t,r,o,s,n)=>{switch(t.type){case e.ProxyCommand.GET:{const{name:e,prev:a}=t;let{context:i}=t;return o&&(i=a?r(a,a.context,s):n),(...t)=>i[e](...t)}case e.ProxyCommand.METHOD_CALL:if(!t.context)throw new Error("Unexpected Error: Could not apply Promise method of unknown context.");return j(t.context,t.name,t.value);case e.ProxyCommand.APPLY:{const{prev:e}=t;if(!e?.context||!e?.name)throw new Error("Unexpected Error: Could not apply Promise method of unknown context.");return j(e.context,e.name,t.value)}default:throw new Error(`Command type "${t.type}" could not be executed as a Promise command.`)}})(d,t,o,i,l):(m=r!==e.ProxyCommand.APPLY&&r!==e.ProxyCommand.GET||!o?t(d,l,i):R,i(m,d))});return y(r,n,{getCommand:()=>s,dropCommandChain(){s&&(s=s.withoutPrev?.()??s)}})};return i(Promise.resolve(s),n?r.fromCommand(n):void 0)},e.isNameExcluded=P,e.isNameSymbol=e=>"symbol"==typeof e,e.isReservedPropertyName=a,e.isResourceObject=e=>null!=e&&"object"==typeof e&&"string"==typeof e.id&&"string"==typeof e.poolId,e.isValidTarget=z,e.isWrappedWithProxy=e=>(null!=e&&"object"==typeof e||"function"==typeof e)&&!(!e||!e[h]),e.latestCall=()=>V,e.latestCallFor=e=>U.get(f(e)),e.recordHandlerCalls=e=>(t,r,o)=>{const s=e(t,r,o);return null==r||U.has(r)||(U.set(r,s),s.then(()=>U.delete(r),B)),V=s,s},e.reject=e=>Promise.reject(e),e.setCustomFinalizationRegistryClass=e=>{N=e},e.setDefaultResourcePool=e=>{J=e},e.setRegistry=e=>{F=e},e.setValidTargets=$,e.unwrapProxy=f,e.wrapWithProxy=y});
|
|
2
|
+
//# sourceMappingURL=deferred-data-access.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deferred-data-access.umd.js","sources":["../../../../packages/deferred-data-access/command/src/command.ts","../../../../packages/deferred-data-access/command/src/command-chain.ts","../../../../packages/deferred-data-access/command/src/command-handler.ts","../../../../packages/deferred-data-access/utils/src/utils.ts","../../../../packages/deferred-data-access/proxy/src/command.ts","../../../../packages/deferred-data-access/proxy/src/types.ts","../../../../packages/deferred-data-access/proxy/src/proxy.ts","../../../../packages/deferred-data-access/proxy/src/utils.ts","../../../../packages/deferred-data-access/proxy/src/traps.ts","../../../../packages/deferred-data-access/core/core.ts","../../../../packages/deferred-data-access/resource/src/finalization-registry.ts","../../node_modules/@actualwave/weak-storage/index.es.js","../../../../packages/deferred-data-access/resource/src/resource.ts","../../../../packages/deferred-data-access/resource/src/utils.ts","../../../../packages/deferred-data-access/resource/src/resource-pool.ts","../../../../packages/deferred-data-access/resource/src/default-resource-pool.ts","../../../../packages/deferred-data-access/resource/src/resource-pool-registry.ts","../../../../packages/deferred-data-access/record/record.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,"class KeysIterator {\n constructor(map) {\n this.map = map;\n this.mapIterator = this.map.keys();\n }\n [Symbol.iterator]() {\n return new KeysIterator(this.map);\n }\n next() {\n while (true) {\n const result = this.mapIterator.next();\n if (result.done) {\n return { done: true, value: undefined };\n }\n const key = result.value;\n if (this.map.get(key).deref() !== undefined) {\n return { done: false, value: key };\n }\n }\n }\n}\n\nclass ValuesIterator {\n constructor(mapIterator) {\n this.mapIterator = mapIterator;\n }\n [Symbol.iterator]() {\n return new ValuesIterator(this.mapIterator[Symbol.iterator]());\n }\n next() {\n while (true) {\n const result = this.mapIterator.next();\n if (result.done) {\n return { done: true, value: undefined };\n }\n const value = result.value.deref();\n if (value !== undefined) {\n return { done: false, value };\n }\n }\n }\n}\n\nclass EntriesIterator {\n constructor(mapIterator) {\n this.mapIterator = mapIterator;\n }\n [Symbol.iterator]() {\n return new EntriesIterator(this.mapIterator[Symbol.iterator]());\n }\n next() {\n while (true) {\n const result = this.mapIterator.next();\n if (result.done) {\n return { done: true, value: undefined };\n }\n const [key, ref] = result.value;\n const value = ref.deref();\n if (value !== undefined) {\n return { done: false, value: [key, value] };\n }\n }\n }\n}\n\nclass WeakValueMap {\n constructor(FinalizationRegistryClass = globalThis.FinalizationRegistry) {\n this.map = new Map();\n const registryClass = FinalizationRegistryClass;\n if (registryClass === undefined) {\n console.warn('WeakValueMap: FinalizationRegistry is not available in this environment. Stale entries will not be removed automatically.');\n }\n else if (registryClass) {\n this.finalizer = new registryClass((key) => {\n const ref = this.map.get(key);\n // Only delete if the ref is truly gone — guard against key reuse\n if (!ref || ref.deref() === undefined) {\n this.map.delete(key);\n }\n });\n }\n }\n /**\n * Returns the number of entries in the map, including entries whose values\n * may have already been garbage-collected but not yet cleaned up.\n * Use `verify()` first if you need an accurate count of live entries.\n */\n get approximateSize() {\n return this.map.size;\n }\n keys() {\n return new KeysIterator(this.map);\n }\n values() {\n return new ValuesIterator(this.map.values());\n }\n entries() {\n return new EntriesIterator(this.map.entries());\n }\n set(key, value) {\n this.map.set(key, new WeakRef(value));\n this.finalizer?.register(value, key);\n return this;\n }\n get(key) {\n const ref = this.map.get(key);\n return ref && ref.deref();\n }\n has(key) {\n return this.get(key) !== undefined;\n }\n delete(key) {\n return this.map.delete(key);\n }\n clear() {\n this.map.clear();\n }\n forEach(callback) {\n this.map.forEach((ref, key) => {\n const value = ref.deref();\n // Only skip truly collected entries (deref returns undefined), not falsy values\n if (value !== undefined) {\n callback(value, key, this);\n }\n });\n }\n /**\n * Rebuilds the internal map retaining only entries whose values are still alive.\n * Useful when no FinalizationRegistryClass was provided or when you need an accurate `approximateSize`.\n */\n verify() {\n const map = new Map();\n this.map.forEach((ref, key) => {\n if (ref.deref() !== undefined) {\n map.set(key, ref);\n }\n });\n this.map = map;\n }\n}\n\nclass WeakStorage extends WeakValueMap {\n constructor(FinalizationRegistryClass) {\n super(FinalizationRegistryClass);\n this.byValues = new WeakMap();\n }\n set(key, value) {\n super.set(key, value);\n // Fix: store value→key (not key→value) so that getKey(value) works correctly\n this.byValues.set(value, key);\n return this;\n }\n /**\n * Returns the key associated with a given value, or `undefined` if not found.\n */\n getKey(value) {\n return this.byValues.get(value);\n }\n delete(key) {\n const value = this.get(key);\n if (value !== undefined) {\n this.byValues.delete(value);\n }\n return super.delete(key);\n }\n clear() {\n super.clear();\n this.byValues = new WeakMap();\n }\n}\n\nexport { WeakStorage, WeakValueMap };\n//# sourceMappingURL=index.es.js.map\n",null,null,null,null,null,null],"names":["Command","constructor","type","name","value","context","this","Object","defineProperty","writable","configurable","toObject","includeContext","undefined","toJSON","JSON","stringify","fromJSON","jsonString","parse","CommandChain","prev","super","Symbol","iterator","item","isTail","forEach","callback","node","map","list","push","reduce","base","result","withoutPrev","fromCommand","DATE_NOW","Date","now","Math","floor","random","index","ReservedPropertyNames","isReservedPropertyName","THEN","CATCH","createUIDGenerator","key","prefix","generateId","IdOwner","id","ProxyCommand","generateProxyCommand","head","lazy","APPLY","GET","METHOD_CALL","getMethodCallContext","EXCLUSIONS","arguments","caller","prototype","API_PROP","wrapWithProxy","target","traps","api","wrapper","assign","args","apply","getTarget","Proxy","unwrapProxy","obj","isNameExcluded","hasOwn","followCommandChain","async","Error","createGetTrap","handler","createApplyTrap","thisValue","createSetTrap","SET","createDeletePropertyTrap","DELETE_PROPERTY","proxyHasTrap","proxyOwnKeysTrap","getOwnPropertyNames","proxyGetOwnPropertyDescriptorTrap","getOwnPropertyDescriptor","createProxyTrapsObject","get","set","deleteProperty","has","ownKeys","EMPTY_PROMISE","Promise","resolve","executePromiseMethod","then","catch","String","finalizationRegistryClass","getCustomFinalizationRegistryClass","KeysIterator","mapIterator","keys","next","done","deref","ValuesIterator","EntriesIterator","ref","WeakValueMap","FinalizationRegistryClass","globalThis","FinalizationRegistry","Map","registryClass","console","warn","finalizer","delete","approximateSize","size","values","entries","WeakRef","register","clear","verify","Resource","pool","poolId","createResource","validTargets","Set","getDefaultValidTargets","isValidTarget","setValidTargets","add","ResourcePool","resources","WeakMap","refs","active","existing","resource","getById","getResource","remove","_value","defaultResourcePool","getDefaultResourcePool","ResourcePoolRegistry","pools","createPool","isRegistered","defaultRegistry","calls","latest","noop","handlers","defaultHandler","command","commandHandler","wrap","childCommand","isPromiseActivity","rawContext","applyPromiseActivity","getCommand","dropCommandChain","promise","message","reject","definition","registry"],"mappings":"+PAMaA,EACX,WAAAC,CACkBC,EACAC,EACAC,EACAC,GAHAC,KAAAJ,KAAAA,EACAI,KAAAH,KAAAA,EACAG,KAAAF,MAAAA,EACAE,KAAAD,QAAAA,EAEhBE,OAAOC,eAAeF,KAAM,OAAQ,CAAEF,MAAOF,EAAMO,UAAU,EAAOC,cAAc,IAClFH,OAAOC,eAAeF,KAAM,OAAQ,CAAEF,MAAOD,EAAMM,UAAU,EAAOC,cAAc,GACpF,CAEA,QAAAC,CAASC,GAAiB,GACxB,MAAMV,KAAEA,EAAIC,KAAEA,EAAIC,MAAEA,EAAKC,QAAEA,GAAYC,KACvC,MAAO,CACLJ,OACAC,OACAC,QACAC,QAASO,EAAiBP,OAAUQ,EAExC,CAEA,MAAAC,CAAOF,GAAiB,GACtB,MAAMV,KAAEA,EAAIC,KAAEA,EAAIC,MAAEA,EAAKC,QAAEA,GAAYC,KACvC,OAAOM,EACHG,KAAKC,UAAU,CAACd,EAAMC,EAAMC,EAAOC,IACnCU,KAAKC,UAAU,CAACd,EAAMC,EAAMC,GAClC,CAEA,eAAOa,CAASC,GACd,MAAOhB,EAAMC,EAAMC,EAAOC,GAAWU,KAAKI,MAAMD,GAChD,OAAO,IAAIlB,EAAQE,EAAMC,EAAMC,EAAOC,EACxC,EC3BI,MAAOe,UAAqBpB,EAKhC,WAAAC,CACEoB,EACAnB,EACAC,EACAC,EACAC,GAEAiB,MAAMpB,EAAMC,EAAMC,EAAOC,GACzBC,KAAKe,KAAOA,CACd,CAEA,EAAEE,OAAOC,YACP,IAAIC,EAAkCnB,KAEtC,KAAOmB,SACCA,EACNA,EAAOA,EAAKJ,IAEhB,CAEA,MAAAK,GACE,OAAQpB,KAAKe,IACf,CAEA,OAAAM,CAAQC,GACN,IAAIC,EAAkCvB,KAEtC,GACEsB,EAASC,GACTA,EAAOA,EAAKR,WACLQ,EACX,CAEA,GAAAC,CAAiBF,GACf,IAAIC,EAAkCvB,KACtC,MAAMyB,EAAO,GAEb,GACEA,EAAKC,KAAKJ,EAASC,IACnBA,EAAOA,EAAKR,WACLQ,GAET,OAAOE,CACT,CAEA,MAAAE,CACEL,EACAM,GAEA,IAAIL,EAAkCvB,KAClC6B,EAASD,EAEb,GACEC,EAASP,EAASO,EAAQN,GAC1BA,EAAOA,EAAKR,WACLQ,GAET,OAAOM,CACT,CAQA,WAAAC,GACE,OAAO,IAAIhB,OAAaP,EAAWP,KAAKJ,KAAMI,KAAKH,KAAMG,KAAKF,MAAOE,KAAKD,QAC5E,CAEA,kBAAOgC,EACLnC,KAAEA,EAAIC,KAAEA,EAAIC,MAAEA,EAAKC,QAAEA,GACrBgB,GAEA,OAAO,IAAID,EAAaC,EAAMnB,EAAMC,EAAMC,EAAOC,EACnD,EClFK,MCJDiC,EAAWC,KAAKC,MAAQC,KAAKC,MAAsB,IAAhBD,KAAKE,UAC9C,IAAIC,EAAQ,EAEZ,IAAYC,EAAAA,EAAAA,2BAAAA,GAAAA,EAAAA,EAAAA,wBAAAA,wBAAqB,CAAA,IAC/B,KAAA,OACAA,EAAA,MAAA,QAQK,MAAMC,EAA0B3C,GACrB,iBAATA,IACNA,IAAS0C,EAAAA,sBAAsBE,MAAQ5C,IAAS0C,EAAAA,sBAAsBG,OAgB5DC,EAAqB,CAACC,EAAM,MACvC,MAAMC,EAAS,GAAGD,EAAM,GAAGA,KAAS,KAAKZ,KACzC,MAAO,IAAM,GAAGa,MAAWP,MAGhBQ,EAAaH,UAEbI,EAGX,WAAApD,CAAYqD,EAAaF,KACvB9C,KAAKgD,GAAKA,EAGV/C,OAAOC,eAAeF,KAAM,KAAM,CAChCF,MAAOE,KAAKgD,GACZ7C,UAAU,EACVC,cAAc,GAElB,EC/CF,IAAY6C,EAAAA,EAAAA,kBAAAA,GAAAA,EAAAA,EAAAA,eAAAA,eAAY,CAAA,IACtB,IAAA,QACAA,EAAA,IAAA,QACAA,EAAA,MAAA,UACAA,EAAA,gBAAA,QAEAA,EAAA,YAAA,SAGK,MAAMC,EAAuB,CAClCC,EACAvD,EACAC,EACAC,EACAC,EACAqD,IAEIxD,IAASqD,EAAAA,aAAaI,OAASD,GAAQD,GAAMvD,OAASqD,EAAAA,aAAaK,IAC9D,IAAIxC,EACTqC,EAAKpC,KACLkC,EAAAA,aAAaM,YACbJ,EAAKtD,KACLC,EACAqD,EAAKpD,SAIF,IAAIe,EAAaqC,EAAMvD,EAAMC,EAAMC,EAAOC,GAItCyD,EAAuB,EAAGzC,UAAyBA,GAAMhB,QChCzD0D,EAAa,CAKxBC,WAAW,EACXC,QAAQ,EACRC,WAAW,GAGAC,EAAW5C,OAAO,SCdlB6C,EAAgB,CAE3BC,EACAC,EACAC,EAAiB,MAKjB,MAAMC,EAAwBjE,OAAOkE,OACjB,mBAAXJ,EACH,YAAkCK,GAChC,OAAOL,EAAOM,MAAMrE,KAAMoE,EAC5B,EACA,WAEA,EACJ,CACEL,SACAF,CAACA,GAAW,CAAES,UAAW,IAAMP,KAAWE,KAI9C,OAAO,IAAIM,MAAML,EAASF,IAQfQ,EAA4BC,GAC5B,MAAPA,GAAgBA,EAAYZ,GACrBY,EAAYZ,GAAwBS,YAExCG,EChCIC,EAAkB7E,GAAuBA,IAASgE,GAAY5D,OAAO0E,OAAOlB,EAAY5D,GAUxF+E,EAAqBC,MAChC1B,EAEApD,KAEA,IAAIgE,EAAShE,OAEGQ,IAAZR,IAEFgE,EAASZ,EAAKpC,WACJ6D,EAAmBzB,EAAKpC,YACxBoC,EAAKpD,SAGjB,MAAMH,KAAEA,EAAIC,KAAEA,EAAIC,MAAEA,GAAUqD,EAE9B,OAAQvD,GACN,KAAKqD,EAAAA,aAAaK,IAChB,OAAOS,EAAOlE,GAChB,KAAKoD,EAAAA,aAAaI,MAChB,OAAOU,EAAOM,MAAMb,EAAqBL,GAAOrD,GAClD,QACE,MAAM,IAAIgF,MACR,YAAYlF,8GCjCdmF,EACHC,GAA0B,CAACd,EAAuBrE,KACjD,MAAMkE,OAAEA,GAAWG,EAEnB,OAAIQ,EAAe7E,GACTqE,EAAgBrE,GAInBmF,EAAQ/B,EAAAA,aAAaK,IAAKzD,OAAMU,EAAWwD,IAGhDkB,EACHD,GACD,EAAGjB,UAAwBmB,EAAkBd,IAGpCY,EAAQ/B,EAAAA,aAAaI,WAAO9C,EAAW6D,EAAML,GAGlDoB,EACHH,GACD,EAAGjB,UAAwBlE,EAAoBC,KACzC4E,EAAe7E,KAInBmF,EAAQ/B,EAAAA,aAAamC,IAAKvF,EAAMC,EAAOiE,IAChC,GAGLsB,EACHL,GAA0B,CAACd,EAAuBrE,KAC7C6E,EAAe7E,KAInBmF,EAAQ/B,EAAAA,aAAaqC,gBAAiBzF,OAAMU,EAAW2D,EAAQH,SACxD,GAGLwB,EAAe,CAACrB,EAAuBrE,MACvC6E,EAAe7E,IACTqE,EAAgBrE,GAQtB2F,EAAmB,IAAMvF,OAAOwF,oBAAoBhC,GAEpDiC,EAAoC,CACxCxB,EACArE,IAEI6E,EAAe7E,GACVI,OAAO0F,yBAAyBzB,EAASrE,GAG3CI,OAAO0F,yBAAyBzB,EAAQH,OAAQlE,GAG5C+F,EACXZ,IAAqB,CAErBa,IAAKd,EAAcC,GACnBX,MAAOY,EAAgBD,GACvBc,IAAKX,EAAcH,GACnBe,eAAgBV,EAAyBL,GACzCgB,IAAKT,EACLU,QAAST,EAGTG,yBAA0BD,IC7DtBQ,EAAgBC,QAAQC,aAAQ7F,GAgBhC8F,EAAuB,CAC3BtG,EACAF,EACAuE,KAEA,OAAQvE,GACN,KAAK0C,EAAAA,sBAAsBE,KACzB,OAAO1C,EAAQuG,QAAQlC,GACzB,KAAK7B,EAAAA,sBAAsBG,MACzB,OAAO3C,EAAQwG,SAASnC,GAC1B,QACE,MAAM,IAAIU,MACR,qCAAqC0B,OAAO3G,8BC7CpD,IAAI4G,EASG,MAAMC,EAAqC,IAIzCD,ECfT,MAAME,EACF,WAAAhH,CAAY6B,GACRxB,KAAKwB,IAAMA,EACXxB,KAAK4G,YAAc5G,KAAKwB,IAAIqF,MAChC,CACA,CAAC5F,OAAOC,YACJ,OAAO,IAAIyF,EAAa3G,KAAKwB,IACjC,CACA,IAAAsF,GACI,OAAa,CACT,MAAMjF,EAAS7B,KAAK4G,YAAYE,OAChC,GAAIjF,EAAOkF,KACP,MAAO,CAAEA,MAAM,EAAMjH,WAAOS,GAEhC,MAAMqC,EAAMf,EAAO/B,MACnB,QAAkCS,IAA9BP,KAAKwB,IAAIqE,IAAIjD,GAAKoE,QAClB,MAAO,CAAED,MAAM,EAAOjH,MAAO8C,EAErC,CACJ,EAGJ,MAAMqE,EACF,WAAAtH,CAAYiH,GACR5G,KAAK4G,YAAcA,CACvB,CACA,CAAC3F,OAAOC,YACJ,OAAO,IAAI+F,EAAejH,KAAK4G,YAAY3F,OAAOC,YACtD,CACA,IAAA4F,GACI,OAAa,CACT,MAAMjF,EAAS7B,KAAK4G,YAAYE,OAChC,GAAIjF,EAAOkF,KACP,MAAO,CAAEA,MAAM,EAAMjH,WAAOS,GAEhC,MAAMT,EAAQ+B,EAAO/B,MAAMkH,QAC3B,QAAczG,IAAVT,EACA,MAAO,CAAEiH,MAAM,EAAOjH,QAE9B,CACJ,EAGJ,MAAMoH,EACF,WAAAvH,CAAYiH,GACR5G,KAAK4G,YAAcA,CACvB,CACA,CAAC3F,OAAOC,YACJ,OAAO,IAAIgG,EAAgBlH,KAAK4G,YAAY3F,OAAOC,YACvD,CACA,IAAA4F,GACI,OAAa,CACT,MAAMjF,EAAS7B,KAAK4G,YAAYE,OAChC,GAAIjF,EAAOkF,KACP,MAAO,CAAEA,MAAM,EAAMjH,WAAOS,GAEhC,MAAOqC,EAAKuE,GAAOtF,EAAO/B,MACpBA,EAAQqH,EAAIH,QAClB,QAAczG,IAAVT,EACA,MAAO,CAAEiH,MAAM,EAAOjH,MAAO,CAAC8C,EAAK9C,GAE3C,CACJ,EAGJ,MAAMsH,EACF,WAAAzH,CAAY0H,EAA4BC,WAAWC,sBAC/CvH,KAAKwB,IAAM,IAAIgG,IACf,MAAMC,EAAgBJ,OACA9G,IAAlBkH,EACAC,QAAQC,KAAK,6HAERF,IACLzH,KAAK4H,UAAY,IAAIH,EAAe7E,IAChC,MAAMuE,EAAMnH,KAAKwB,IAAIqE,IAAIjD,GAEpBuE,QAAuB5G,IAAhB4G,EAAIH,SACZhH,KAAKwB,IAAIqG,OAAOjF,KAIhC,CAMA,mBAAIkF,GACA,OAAO9H,KAAKwB,IAAIuG,IACpB,CACA,IAAAlB,GACI,OAAO,IAAIF,EAAa3G,KAAKwB,IACjC,CACA,MAAAwG,GACI,OAAO,IAAIf,EAAejH,KAAKwB,IAAIwG,SACvC,CACA,OAAAC,GACI,OAAO,IAAIf,EAAgBlH,KAAKwB,IAAIyG,UACxC,CACA,GAAAnC,CAAIlD,EAAK9C,GAGL,OAFAE,KAAKwB,IAAIsE,IAAIlD,EAAK,IAAIsF,QAAQpI,IAC9BE,KAAK4H,WAAWO,SAASrI,EAAO8C,GACzB5C,IACX,CACA,GAAA6F,CAAIjD,GACA,MAAMuE,EAAMnH,KAAKwB,IAAIqE,IAAIjD,GACzB,OAAOuE,GAAOA,EAAIH,OACtB,CACA,GAAAhB,CAAIpD,GACA,YAAyBrC,IAAlBP,KAAK6F,IAAIjD,EACpB,CACA,OAAOA,GACH,OAAO5C,KAAKwB,IAAIqG,OAAOjF,EAC3B,CACA,KAAAwF,GACIpI,KAAKwB,IAAI4G,OACb,CACA,OAAA/G,CAAQC,GACJtB,KAAKwB,IAAIH,QAAQ,CAAC8F,EAAKvE,KACnB,MAAM9C,EAAQqH,EAAIH,aAEJzG,IAAVT,GACAwB,EAASxB,EAAO8C,EAAK5C,OAGjC,CAKA,MAAAqI,GACI,MAAM7G,EAAM,IAAIgG,IAChBxH,KAAKwB,IAAIH,QAAQ,CAAC8F,EAAKvE,UACCrC,IAAhB4G,EAAIH,SACJxF,EAAIsE,IAAIlD,EAAKuE,KAGrBnH,KAAKwB,IAAMA,CACf,ECvIE,MAAO8G,UAAiBvF,EAC5B,WAAApD,CACkB4I,EACA3I,GAEhBoB,QAHgBhB,KAAAuI,KAAAA,EACAvI,KAAAJ,KAAAA,EAGhBK,OAAOC,eAAeF,KAAM,OAAQ,CAAEF,MAAOyI,EAAMpI,UAAU,EAAOC,cAAc,IAClFH,OAAOC,eAAeF,KAAM,OAAQ,CAAEF,MAAOF,EAAMO,UAAU,EAAOC,cAAc,GACpF,CAEA,QAAAC,GACE,MAAO,CAAE2C,GAAIhD,KAAKgD,GAAIwF,OAAQxI,KAAKuI,KAAKvF,GAAIpD,KAAMI,KAAKJ,KACzD,CAEA,MAAAY,GACE,OAAOC,KAAKC,UAAUV,KAAKK,WAC7B,QASWoI,EAAiB,CAC5BF,EACAxE,EACAnE,IACG,IAAI0I,EAASC,EAAM3I,UAAemE,GC7BjC2E,EAAe,IAAIC,IAEZC,EAAyB,IAAgB,CAAC,SAAU,YAEpDC,EAAiB/I,GAEd,OAAVA,GACG4I,EAAa1C,WAAWlG,GAGpBgJ,EAAmBrH,IAC9BiH,EAAaN,QACb3G,EAAKJ,QAASF,GAASuH,EAAaK,IAAI5H,KAG1C2H,EAbsD,CAAC,SAAU,aCK3D,MAAOE,UAAqBjG,EAIhC,WAAApD,CACE4H,EAGgBb,KAEhB1F,QAKMhB,KAAAiJ,UAAY,IAAIC,QAJtBlJ,KAAKmJ,KAAO,IAAI/B,EAAaG,EAC/B,CAKA,UAAI6B,GACF,QAASpJ,KAAKiJ,SAChB,CAEA,GAAAnD,CAAI/B,EAAgBnE,GAClB,IAAKiJ,EAAc9E,GACjB,OAAO,KAGT,MAAMsF,EAAWrJ,KAAKiJ,UAAUpD,IAAI9B,GAEpC,GAAIsF,EACF,OAAOA,EAGT,MAAMC,EAAWb,EAAezI,KAAM+D,EAAQnE,GAI9C,OAHAI,KAAKmJ,KAAKrD,IAAIwD,EAAStG,GAAIe,GAC3B/D,KAAKiJ,UAAUnD,IAAI/B,EAAQuF,GAEpBA,CACT,CAOA,GAAAtD,CAAIjC,GACF,IAAK/D,KAAKiJ,UAAUjD,IAAIjC,GACtB,OAAO,EAET,MAAMuF,EAAiCtJ,KAAKiJ,UAAUpD,IAAI9B,GAE1D,YAAoBxD,IAAb+I,QAAyD/I,IAA/BP,KAAKmJ,KAAKtD,IAAIyD,EAAStG,GAC1D,CAEA,GAAA6C,EAAI7C,GAAEA,IACJ,OAAOhD,KAAKuJ,QAAQvG,EACtB,CAEA,OAAAuG,CAAQvG,GACN,OAAOhD,KAAKmJ,KAAKtD,IAAI7C,EACvB,CAEA,WAAAwG,CAAYzF,GACV,OAAO/D,KAAKiJ,UAAUpD,IAAI9B,EAC5B,CAEA,MAAA0F,CAAO1F,GACL,MAAMuF,EAAiCtJ,KAAKiJ,UAAUpD,IAAI9B,GAE1D,QAAIuF,IACFtJ,KAAKmJ,KAAKtB,OAAOyB,EAAStG,IACnBhD,KAAKiJ,UAAUpB,OAAO9D,GAIjC,CAEA,KAAAqE,GACEpI,KAAKmJ,KAAK9H,QAAQ,CAACqI,EAAQ9G,KACzB,MAAMmB,EAAS/D,KAAKmJ,KAAKtD,IAAIjD,QACdrC,IAAXwD,GACF/D,KAAKiJ,UAAUpB,OAAO9D,KAI1B/D,KAAKmJ,KAAKf,OACZ,EC7FF,IAAIuB,EAEG,MAAMC,EAAyB,KAC/BD,IACHA,EAAsB,IAAIX,GAErBW,GCJH,MAAOE,UAA6B9G,EAGxC,WAAApD,GACEqB,QAHehB,KAAA8J,MAAyC,CAAA,EAIxD9J,KAAKmI,SAASyB,IAChB,CAKA,UAAAG,GACE,MAAMxB,EAAO,IAAIS,EAEjB,OADAhJ,KAAKmI,SAASI,GACPA,CACT,CAKA,QAAAJ,CAASI,GACP,OAAItI,OAAO0E,OAAO3E,KAAK8J,MAAOvB,EAAKvF,MAEnChD,KAAK8J,MAAMvB,EAAKvF,IAAMuF,GACf,EACT,CAKA,GAAA1C,CAAI2C,GACF,OAAOxI,KAAK8J,MAAMtB,IAAW,IAC/B,CAKA,YAAAwB,CAAazB,GACX,OAAOtI,OAAO0E,OAAO3E,KAAK8J,MAAOvB,EAAKvF,GACxC,CAKA,MAAAyG,CAAOlB,GACL,MAAMC,EAAyB,iBAATD,EAAoBA,EAAOA,EAAKvF,GAEtD,cAAchD,KAAK8J,MAAMtB,EAC3B,EAGF,IAAIyB,EAEG,MCjDDC,EAAQ,IAAI1C,IAClB,IAAI2C,EAA2BhE,QAAQC,UAIvC,MAAMgE,EAAO,0HAOmB,IAAYF,EAAM9B,+BfXhD,EACEiC,WACAC,oBAKF,CAACC,KAA0BnG,KACzB,MAAMxE,KAAEA,GAAS2K,EACXvF,EAAWqF,GAAYA,EAASzK,IAAU0K,EAEhD,OAAItF,EACKA,EAAQuF,KAAYnG,GAGtB+B,QAAQC,aAAQ7F,8QEaE,EAAGQ,UAAyBA,GAAMlB,mBYoBpC,KACpBoK,IACHA,EAAkB,IAAIJ,GAEjBI,YPqDP,CAACO,EAAgCpH,GAAO,IACxC,CAACrD,EAAmBwK,KAClB,MAAME,EAAO,CACX1K,EACAwK,KAEA,MAAMvG,EAAQ4B,EACZ,CACEhG,EACAC,EACAC,EACAC,KAEA,MAAM2K,EAAexH,EACnBqH,EACA3K,EACAC,EACAC,EACAC,EACAqD,GAGF,IAAIvB,EAEJ,MArHgB,CAAC0I,IACzB,MAAM3K,KAAEA,GAAS2K,EAEjB,OAAI3K,IAASqD,EAAAA,aAAaK,KAAO1D,IAASqD,EAAAA,aAAaM,YAC9Cf,EAAuB+H,EAAQ1K,MAGpCD,IAASqD,EAAAA,aAAaI,OACjBb,EAAuB+H,EAAQxJ,MAAMlB,OA6GlC8K,CAAkBD,GAtFH,EAC3BH,EACAC,EACApH,EACAqH,EACAG,KAEA,OAAQL,EAAQ3K,MACd,KAAKqD,EAAAA,aAAaK,IAAK,CACrB,MAAMzD,KAAEA,EAAIkB,KAAEA,GAASwJ,EACvB,IAAIxK,QAAEA,GAAYwK,EAgBlB,OAdInH,IAQArD,EAPGgB,EAOOyJ,EAAezJ,EAAsBA,EAAKhB,QAAS0K,GAJnDG,GAUP,IAAIxG,IAAmBrE,EAAgBF,MAAmBuE,EACnE,CACA,KAAKnB,EAAAA,aAAaM,YAChB,IAAKgH,EAAQxK,QACX,MAAM,IAAI+E,MACR,wEAIJ,OAAOuB,EACLkE,EAAQxK,QACRwK,EAAQ1K,KACR0K,EAAQzK,OAEZ,KAAKmD,EAAAA,aAAaI,MAAO,CACvB,MAAMtC,KAAEA,GAASwJ,EACjB,IAAKxJ,GAAMhB,UAAYgB,GAAMlB,KAC3B,MAAM,IAAIiF,MACR,wEAIJ,OAAOuB,EACLtF,EAAKhB,QACLgB,EAAKlB,KACL0K,EAAQzK,MAEZ,CACA,QACE,MAAM,IAAIgF,MACR,iBAAiByF,EAAQ3K,uDA+BdiL,CACLH,EACAF,EACApH,EACAqH,EACA1K,IAQF8B,EALCjC,IAASqD,EAAAA,aAAaI,OAASzD,IAASqD,EAAAA,aAAaK,MACtDF,EAISoH,EAAeE,EAAc3K,EAAS0K,GAFtCvE,EAMJuE,EAAK5I,EAAmC6I,MAInD,OAAO5G,EAAc/D,EAASiE,EAAO,CACnC8G,WAAU,IACDP,EAMT,gBAAAQ,GACMR,IAEFA,EAAWA,EAAyBzI,iBAAmByI,EAE3D,KAIJ,OAAOE,EACLtE,QAAQC,QAAQrG,GAChBwK,EAAUzJ,EAAaiB,YAAYwI,QAAWhK,sCF5KvBV,GAAuC,iBAATA,gDK2B1B4E,GACxB,MAAPA,GACe,iBAARA,GACwC,iBAAvCA,EAAgCzB,IACW,iBAA3CyB,EAAgC+D,8CNVP/D,IAC1B,MAAPA,GAA8B,iBAARA,GAAmC,mBAARA,OAC1CA,IAAQA,EAAYZ,iBWfH,IAAwBsG,kBAEpBpK,GAC5BmK,EAAMrE,IAAIrB,EAAYzE,yBAKrBiF,GACD,CACEuF,EACAxK,EACA0K,KAEA,MAAMO,EAAUhG,EAAQuF,EAASxK,EAAS0K,GAY1C,OAPI1K,SAA8CmK,EAAMlE,IAAIjG,KAC1DmK,EAAMpE,IAAI/F,EAASiL,GAEnBA,EAAQ1E,KAAK,IAAM4D,EAAMrC,OAAO9H,GAAUqK,IAG5CD,EAASa,EACFA,YdhBYC,GACrB9E,QAAQ+E,OAAOD,wCODfE,IAEA1E,EAA4B0E,4BKhBS5C,IACrCoB,EAAsBpB,iBCoDI6C,IAC1BnB,EAAkBmB","x_google_ignoreList":[11]}
|
package/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/deferred-data-access/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
|