@antelopejs/interface-core 0.0.9 → 0.0.10
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/errors.d.ts +12 -0
- package/dist/errors.js +21 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.js +91 -25
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +68 -12
- package/dist/internal.js +93 -21
- package/dist/internal.js.map +1 -1
- package/dist/modules.d.ts +6 -0
- package/dist/modules.js +58 -27
- package/dist/modules.js.map +1 -1
- package/dist/proxies.d.ts +55 -129
- package/dist/proxies.js +287 -215
- package/dist/proxies.js.map +1 -1
- package/dist/runtime.js +2 -2
- package/dist/runtime.js.map +1 -1
- package/dist/tests/implement-interface-validation.test.d.ts +1 -0
- package/dist/tests/implement-interface-validation.test.js +45 -0
- package/dist/tests/implement-interface-validation.test.js.map +1 -0
- package/dist/tests/module-ownership-context.test.js +18 -0
- package/dist/tests/module-ownership-context.test.js.map +1 -1
- package/dist/tests/provider-routing.test.d.ts +1 -0
- package/dist/tests/provider-routing.test.js +78 -0
- package/dist/tests/provider-routing.test.js.map +1 -0
- package/dist/tests/queue-and-cleanup.test.d.ts +1 -0
- package/dist/tests/queue-and-cleanup.test.js +73 -0
- package/dist/tests/queue-and-cleanup.test.js.map +1 -0
- package/dist/tests/registering-proxy-replay.test.js +9 -0
- package/dist/tests/registering-proxy-replay.test.js.map +1 -1
- package/dist/tests/runtime-protocol.test.d.ts +1 -0
- package/dist/tests/runtime-protocol.test.js +45 -0
- package/dist/tests/runtime-protocol.test.js.map +1 -0
- package/dist/tests/runtime.test.js +18 -2
- package/dist/tests/runtime.test.js.map +1 -1
- package/package.json +1 -1
package/dist/proxies.js
CHANGED
|
@@ -1,265 +1,346 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EventProxy = exports.RegisteringProxy = exports.AsyncProxy = void 0;
|
|
4
|
+
exports.IsInterfaceProxy = IsInterfaceProxy;
|
|
5
|
+
exports.GetInterfaceProxyIdentity = GetInterfaceProxyIdentity;
|
|
4
6
|
exports.InvalidateResponsibleModule = InvalidateResponsibleModule;
|
|
5
7
|
exports.RunWithResponsibleModule = RunWithResponsibleModule;
|
|
6
8
|
exports.GetResponsibleModule = GetResponsibleModule;
|
|
7
|
-
const node_async_hooks_1 = require("node:async_hooks");
|
|
8
9
|
const errors_1 = require("./errors");
|
|
9
10
|
const internal_1 = require("./internal");
|
|
10
11
|
const responsible_module_1 = require("./responsible-module");
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
function
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return activeToken;
|
|
12
|
+
const PROXY_BRAND = Symbol.for("@antelopejs/interface-core/proxy");
|
|
13
|
+
const DEFAULT_PROVIDER = "@antelopejs/interface-core/default-provider";
|
|
14
|
+
function createIdentity(kind, identity) {
|
|
15
|
+
if (identity) {
|
|
16
|
+
return `${kind}:${identity}`;
|
|
17
17
|
}
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
return token;
|
|
18
|
+
const nextIdentity = internal_1.internal.nextProxyIdentity++;
|
|
19
|
+
return `${kind}:anonymous:${nextIdentity}`;
|
|
21
20
|
}
|
|
22
|
-
function
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
function getProxyState(brand, create) {
|
|
22
|
+
const existing = internal_1.internal.proxyStates.get(brand.identity);
|
|
23
|
+
if (existing && existing.kind !== brand.kind) {
|
|
24
|
+
throw new Error(`Proxy identity ${brand.identity} has conflicting kinds.`);
|
|
25
25
|
}
|
|
26
|
+
if (existing) {
|
|
27
|
+
return existing.value;
|
|
28
|
+
}
|
|
29
|
+
const value = create();
|
|
30
|
+
internal_1.internal.proxyStates.set(brand.identity, { kind: brand.kind, value });
|
|
31
|
+
return value;
|
|
32
|
+
}
|
|
33
|
+
function createBrand(kind, identity) {
|
|
34
|
+
return Object.freeze({
|
|
35
|
+
protocol: internal_1.RUNTIME_PROTOCOL_VERSION,
|
|
36
|
+
kind,
|
|
37
|
+
identity: createIdentity(kind, identity),
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function readBrand(value) {
|
|
41
|
+
if ((typeof value !== "object" && typeof value !== "function") || !value) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const brand = value[PROXY_BRAND];
|
|
45
|
+
if (!brand || brand.protocol !== internal_1.RUNTIME_PROTOCOL_VERSION) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
return brand;
|
|
49
|
+
}
|
|
50
|
+
/** Returns whether a value implements this runtime's stable proxy protocol. */
|
|
51
|
+
function IsInterfaceProxy(value, kind) {
|
|
52
|
+
const brand = readBrand(value);
|
|
53
|
+
return Boolean(brand && (!kind || brand.kind === kind));
|
|
54
|
+
}
|
|
55
|
+
/** Returns the stable identity used to bind a proxy to a provider route. */
|
|
56
|
+
function GetInterfaceProxyIdentity(value) {
|
|
57
|
+
return readBrand(value)?.identity;
|
|
58
|
+
}
|
|
59
|
+
function getAttachmentRoute(manualDetach) {
|
|
60
|
+
const context = (0, internal_1.getModuleContext)();
|
|
61
|
+
const responsible = manualDetach || context?.module ? undefined : GetResponsibleModule();
|
|
62
|
+
const owner = context?.module ?? responsible ?? DEFAULT_PROVIDER;
|
|
63
|
+
return { owner, provider: context?.provider ?? owner };
|
|
64
|
+
}
|
|
65
|
+
function getRequestedProvider(proxyIdentity) {
|
|
66
|
+
const context = (0, internal_1.getModuleContext)();
|
|
67
|
+
return context?.providerRoutes?.[proxyIdentity] ?? context?.provider;
|
|
68
|
+
}
|
|
69
|
+
function selectProvider(callbacks, proxyIdentity, requested) {
|
|
70
|
+
if (requested) {
|
|
71
|
+
const callback = callbacks.get(requested);
|
|
72
|
+
if (!callback && callbacks.size > 0) {
|
|
73
|
+
throw new errors_1.MissingProviderError(`Interface proxy ${proxyIdentity} has no provider for route ${requested}.`);
|
|
74
|
+
}
|
|
75
|
+
return callback;
|
|
76
|
+
}
|
|
77
|
+
if (callbacks.size <= 1) {
|
|
78
|
+
return callbacks.values().next().value;
|
|
79
|
+
}
|
|
80
|
+
throw new errors_1.AmbiguousProviderError(proxyIdentity, [...callbacks.keys()]);
|
|
81
|
+
}
|
|
82
|
+
function reportRuntimeError(error, operation, proxyIdentity, module, registrationId) {
|
|
83
|
+
internal_1.internal.runtimeErrorReporter?.(error, {
|
|
84
|
+
operation,
|
|
85
|
+
module,
|
|
86
|
+
proxyIdentity,
|
|
87
|
+
registrationId,
|
|
88
|
+
});
|
|
26
89
|
}
|
|
27
90
|
/** @internal */
|
|
28
91
|
function InvalidateResponsibleModule(module) {
|
|
29
|
-
|
|
92
|
+
(0, internal_1.invalidateModuleContext)(module);
|
|
30
93
|
}
|
|
31
|
-
/**
|
|
32
|
-
* Runs work with an explicit responsible module.
|
|
33
|
-
*
|
|
34
|
-
* The module remains available to nested synchronous and asynchronous work.
|
|
35
|
-
* Calls outside this context continue to use stack-based module resolution.
|
|
36
|
-
*
|
|
37
|
-
* @param module Module ID responsible for the work
|
|
38
|
-
* @param callback Work to run in the module context
|
|
39
|
-
* @returns The callback result
|
|
40
|
-
*/
|
|
94
|
+
/** Runs work with explicit module ownership across asynchronous boundaries. */
|
|
41
95
|
function RunWithResponsibleModule(module, callback) {
|
|
42
|
-
|
|
43
|
-
if (inheritedContext) {
|
|
44
|
-
assertActiveContext(inheritedContext);
|
|
45
|
-
}
|
|
46
|
-
const context = { module, token: getResponsibleModuleToken(module) };
|
|
47
|
-
return responsibleModuleContext.run(context, callback);
|
|
96
|
+
return (0, internal_1.runWithModuleContext)({ module }, callback);
|
|
48
97
|
}
|
|
49
|
-
/**
|
|
50
|
-
* Proxy for an asynchronous function.
|
|
51
|
-
*
|
|
52
|
-
* Queues up calls while unattached, automatically unattaches when the source module is unloaded.
|
|
53
|
-
* Provides a mechanism for delayed execution and module-aware function binding.
|
|
54
|
-
*/
|
|
98
|
+
/** Proxy for an asynchronous interface function. */
|
|
55
99
|
class AsyncProxy {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
*/
|
|
100
|
+
[PROXY_BRAND];
|
|
101
|
+
state;
|
|
102
|
+
constructor(identity) {
|
|
103
|
+
this[PROXY_BRAND] = createBrand("async", identity);
|
|
104
|
+
this.state = getProxyState(this[PROXY_BRAND], () => ({
|
|
105
|
+
callbacks: new Map(),
|
|
106
|
+
queue: [],
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
/** Attaches a provider callback and replays compatible queued calls. */
|
|
67
110
|
onCall(callback, manualDetach) {
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
this.queue.forEach(({ args, resolve, reject }) => {
|
|
75
|
-
try {
|
|
76
|
-
resolve(callback(...args));
|
|
77
|
-
}
|
|
78
|
-
catch (err) {
|
|
79
|
-
reject(err);
|
|
80
|
-
}
|
|
111
|
+
const route = getAttachmentRoute(manualDetach);
|
|
112
|
+
const lease = { ...route, generation: internal_1.internal.nextLeaseGeneration++ };
|
|
113
|
+
this.state.callbacks.set(route.provider, { callback, ...lease });
|
|
114
|
+
if (!manualDetach) {
|
|
115
|
+
internal_1.internal.addAsyncProxy(route.owner, {
|
|
116
|
+
cleanup: () => this.detach(lease),
|
|
81
117
|
});
|
|
82
|
-
this.queue.splice(0, this.queue.length);
|
|
83
118
|
}
|
|
119
|
+
this.replayQueue(route.provider, callback);
|
|
120
|
+
return lease;
|
|
84
121
|
}
|
|
85
|
-
/**
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
122
|
+
/** Detaches one leased provider, or every provider when called without a lease. */
|
|
123
|
+
detach(lease) {
|
|
124
|
+
if (!lease) {
|
|
125
|
+
this.state.callbacks.clear();
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const current = this.state.callbacks.get(lease.provider);
|
|
129
|
+
if (current?.generation === lease.generation &&
|
|
130
|
+
current.owner === lease.owner) {
|
|
131
|
+
this.state.callbacks.delete(lease.provider);
|
|
132
|
+
}
|
|
90
133
|
}
|
|
91
|
-
/**
|
|
92
|
-
* Call the function attached to this proxy.
|
|
93
|
-
*
|
|
94
|
-
* If a callback has not been attached yet, the call is queued up for later.
|
|
95
|
-
*/
|
|
134
|
+
/** Calls the provider selected by the current module execution context. */
|
|
96
135
|
call(...args) {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
136
|
+
let requested;
|
|
137
|
+
let attachment;
|
|
138
|
+
try {
|
|
139
|
+
requested = getRequestedProvider(this[PROXY_BRAND].identity);
|
|
140
|
+
attachment = selectProvider(this.state.callbacks, this[PROXY_BRAND].identity, requested);
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
return Promise.reject(error);
|
|
144
|
+
}
|
|
145
|
+
if (attachment) {
|
|
146
|
+
return this.invoke(attachment.callback, args);
|
|
104
147
|
}
|
|
105
148
|
if (internal_1.internal.testStubMode) {
|
|
106
149
|
return Promise.reject(new errors_1.MissingProviderError());
|
|
107
150
|
}
|
|
108
|
-
|
|
151
|
+
if (this.state.queue.length >= internal_1.internal.maxPendingOperations) {
|
|
152
|
+
return Promise.reject(new errors_1.ProviderQueueFullError(this[PROXY_BRAND].identity, internal_1.internal.maxPendingOperations));
|
|
153
|
+
}
|
|
154
|
+
return new Promise((resolve, reject) => {
|
|
155
|
+
this.state.queue.push({ args, provider: requested, resolve, reject });
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
invoke(callback, args) {
|
|
159
|
+
try {
|
|
160
|
+
return Promise.resolve(callback(...args));
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
return Promise.reject(error);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
replayQueue(provider, callback) {
|
|
167
|
+
const remaining = [];
|
|
168
|
+
for (const pending of this.state.queue) {
|
|
169
|
+
if (pending.provider && pending.provider !== provider) {
|
|
170
|
+
remaining.push(pending);
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
173
|
+
this.invoke(callback, pending.args).then(pending.resolve, pending.reject);
|
|
174
|
+
}
|
|
175
|
+
this.state.queue = remaining;
|
|
109
176
|
}
|
|
110
177
|
}
|
|
111
178
|
exports.AsyncProxy = AsyncProxy;
|
|
112
|
-
/**
|
|
113
|
-
* Proxy for a pair of register/unregister functions.
|
|
114
|
-
*
|
|
115
|
-
* Manages registration of handlers and ensures proper cleanup when modules are unloaded.
|
|
116
|
-
* This allows for module-aware event registration with automatic cleanup.
|
|
117
|
-
*/
|
|
179
|
+
/** Proxy for provider-aware register and unregister handlers. */
|
|
118
180
|
class RegisteringProxy {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
181
|
+
[PROXY_BRAND];
|
|
182
|
+
state;
|
|
183
|
+
constructor(identity) {
|
|
184
|
+
this[PROXY_BRAND] = createBrand("registering", identity);
|
|
185
|
+
this.state = getProxyState(this[PROXY_BRAND], () => ({
|
|
186
|
+
callbacks: new Map(),
|
|
187
|
+
registered: new Map(),
|
|
188
|
+
}));
|
|
189
|
+
internal_1.internal.registeringProxies.add(this);
|
|
190
|
+
}
|
|
191
|
+
/** Attaches a register callback. */
|
|
130
192
|
onRegister(callback, manualDetach) {
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
internal_1.internal.addRegisteringProxy(caller, this);
|
|
135
|
-
}
|
|
136
|
-
for (const [id, { args }] of this.registered) {
|
|
137
|
-
try {
|
|
138
|
-
callback(id, ...args);
|
|
139
|
-
}
|
|
140
|
-
catch (err) {
|
|
141
|
-
// Best-effort replay: one throwing consumer must not strand the others.
|
|
142
|
-
if (internal_1.internal.replayErrorReporter) {
|
|
143
|
-
internal_1.internal.replayErrorReporter(id, err);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
193
|
+
const route = getAttachmentRoute(manualDetach);
|
|
194
|
+
const current = this.state.callbacks.get(route.provider);
|
|
195
|
+
return this.attachHandlers(callback, current?.unregister, manualDetach, true, route);
|
|
147
196
|
}
|
|
148
|
-
/**
|
|
149
|
-
* Attaches an unregister callback to the proxy
|
|
150
|
-
*
|
|
151
|
-
* Detached at the same time as the register callback.
|
|
152
|
-
*
|
|
153
|
-
* @param callback Function to attach as the unregister callback
|
|
154
|
-
*/
|
|
197
|
+
/** Attaches an unregister callback to the current provider route. */
|
|
155
198
|
onUnregister(callback) {
|
|
156
|
-
|
|
199
|
+
const context = (0, internal_1.getModuleContext)();
|
|
200
|
+
const requested = context?.provider ?? context?.module;
|
|
201
|
+
const current = selectProvider(this.state.callbacks, this[PROXY_BRAND].identity, requested);
|
|
202
|
+
const route = current
|
|
203
|
+
? { owner: current.owner, provider: current.provider }
|
|
204
|
+
: getAttachmentRoute();
|
|
205
|
+
return this.attachHandlers(current?.register, callback, current?.manualDetach, false, route);
|
|
157
206
|
}
|
|
158
|
-
/**
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
detach() {
|
|
162
|
-
this.registerCallback = undefined;
|
|
163
|
-
this.unregisterCallback = undefined;
|
|
207
|
+
/** Atomically attaches both registration handlers. */
|
|
208
|
+
onHandlers(register, unregister, manualDetach) {
|
|
209
|
+
return this.attachHandlers(register, unregister, manualDetach);
|
|
164
210
|
}
|
|
165
|
-
/**
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
211
|
+
/** Detaches one leased provider, or every provider when called without a lease. */
|
|
212
|
+
detach(lease) {
|
|
213
|
+
if (!lease) {
|
|
214
|
+
this.state.callbacks.clear();
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
const current = this.state.callbacks.get(lease.provider);
|
|
218
|
+
if (current?.generation === lease.generation &&
|
|
219
|
+
current.owner === lease.owner) {
|
|
220
|
+
this.state.callbacks.delete(lease.provider);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/** Registers an entry with the selected provider or queues it for bootstrap. */
|
|
173
224
|
register(id, ...args) {
|
|
174
|
-
|
|
225
|
+
const requested = getRequestedProvider(this[PROXY_BRAND].identity);
|
|
226
|
+
const callback = selectProvider(this.state.callbacks, this[PROXY_BRAND].identity, requested);
|
|
227
|
+
if (!callback && internal_1.internal.testStubMode) {
|
|
175
228
|
throw new errors_1.MissingProviderError();
|
|
176
229
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
this.
|
|
230
|
+
if (!callback &&
|
|
231
|
+
!this.state.registered.has(id) &&
|
|
232
|
+
this.state.registered.size >= internal_1.internal.maxPendingOperations) {
|
|
233
|
+
throw new errors_1.ProviderQueueFullError(this[PROXY_BRAND].identity, internal_1.internal.maxPendingOperations);
|
|
181
234
|
}
|
|
235
|
+
this.state.registered.set(id, {
|
|
236
|
+
module: GetResponsibleModule(),
|
|
237
|
+
provider: requested ?? callback?.provider,
|
|
238
|
+
args,
|
|
239
|
+
});
|
|
240
|
+
callback?.register?.(id, ...args);
|
|
182
241
|
}
|
|
183
|
-
/**
|
|
184
|
-
* Call the unregister callback attached to this proxy.
|
|
185
|
-
*
|
|
186
|
-
* @param id Unique identifier to unregister
|
|
187
|
-
*/
|
|
242
|
+
/** Unregisters an entry from the provider that accepted it. */
|
|
188
243
|
unregister(id) {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
244
|
+
const entry = this.state.registered.get(id);
|
|
245
|
+
if (!entry) {
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
const callback = selectProvider(this.state.callbacks, this[PROXY_BRAND].identity, entry.provider);
|
|
249
|
+
try {
|
|
250
|
+
callback?.unregister?.(id);
|
|
251
|
+
}
|
|
252
|
+
finally {
|
|
253
|
+
this.state.registered.delete(id);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
/** Unregisters every entry owned by a destroyed module. */
|
|
257
|
+
unregisterModule(module) {
|
|
258
|
+
for (const [id, entry] of this.state.registered) {
|
|
259
|
+
if (entry.module !== module) {
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
262
|
+
try {
|
|
263
|
+
this.unregister(id);
|
|
264
|
+
}
|
|
265
|
+
catch (error) {
|
|
266
|
+
reportRuntimeError(error, "unregister", this[PROXY_BRAND].identity, module, id);
|
|
267
|
+
}
|
|
268
|
+
finally {
|
|
269
|
+
this.state.registered.delete(id);
|
|
192
270
|
}
|
|
193
|
-
this.registered.delete(id);
|
|
194
271
|
}
|
|
195
272
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
this.
|
|
273
|
+
attachHandlers(register, unregister, manualDetach, shouldReplay = true, attachmentRoute) {
|
|
274
|
+
const route = attachmentRoute ?? getAttachmentRoute(manualDetach);
|
|
275
|
+
const lease = { ...route, generation: internal_1.internal.nextLeaseGeneration++ };
|
|
276
|
+
this.state.callbacks.set(route.provider, {
|
|
277
|
+
register,
|
|
278
|
+
unregister,
|
|
279
|
+
manualDetach: Boolean(manualDetach),
|
|
280
|
+
...lease,
|
|
281
|
+
});
|
|
282
|
+
if (!manualDetach) {
|
|
283
|
+
internal_1.internal.addRegisteringProxy(route.owner, {
|
|
284
|
+
cleanup: () => this.detach(lease),
|
|
285
|
+
unregisterModule: (module) => this.unregisterModule(module),
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
if (register && shouldReplay) {
|
|
289
|
+
this.replayRegistrations(route.provider, register);
|
|
290
|
+
}
|
|
291
|
+
return lease;
|
|
292
|
+
}
|
|
293
|
+
replayRegistrations(provider, callback) {
|
|
294
|
+
for (const [id, entry] of this.state.registered) {
|
|
295
|
+
if (entry.provider && entry.provider !== provider) {
|
|
296
|
+
continue;
|
|
297
|
+
}
|
|
298
|
+
try {
|
|
299
|
+
callback(id, ...entry.args);
|
|
300
|
+
entry.provider = provider;
|
|
301
|
+
}
|
|
302
|
+
catch (error) {
|
|
303
|
+
internal_1.internal.replayErrorReporter?.(id, error);
|
|
304
|
+
reportRuntimeError(error, "register-replay", this[PROXY_BRAND].identity, entry.module, id);
|
|
209
305
|
}
|
|
210
306
|
}
|
|
211
307
|
}
|
|
212
308
|
}
|
|
213
309
|
exports.RegisteringProxy = RegisteringProxy;
|
|
214
|
-
/**
|
|
215
|
-
* Event handler list that automatically removes handlers from unloaded modules.
|
|
216
|
-
*
|
|
217
|
-
* Provides a module-aware event system that cleans up event handlers when modules are unloaded,
|
|
218
|
-
* preventing memory leaks and ensuring proper modularity.
|
|
219
|
-
*/
|
|
310
|
+
/** Module-aware event handler collection. */
|
|
220
311
|
class EventProxy {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
312
|
+
[PROXY_BRAND];
|
|
313
|
+
state;
|
|
314
|
+
constructor(identity) {
|
|
315
|
+
this[PROXY_BRAND] = createBrand("event", identity);
|
|
316
|
+
this.state = getProxyState(this[PROXY_BRAND], () => ({ registered: [] }));
|
|
317
|
+
internal_1.internal.knownEvents.add(this);
|
|
224
318
|
}
|
|
225
|
-
/**
|
|
226
|
-
* Call all the event handlers with the specified arguments.
|
|
227
|
-
*
|
|
228
|
-
* @param args Arguments
|
|
229
|
-
*/
|
|
319
|
+
/** Emits to every handler, reporting failures without aborting later handlers. */
|
|
230
320
|
emit(...args) {
|
|
231
|
-
for (const { func } of this.registered) {
|
|
232
|
-
|
|
321
|
+
for (const { func, module } of this.state.registered) {
|
|
322
|
+
try {
|
|
323
|
+
func(...args);
|
|
324
|
+
}
|
|
325
|
+
catch (error) {
|
|
326
|
+
reportRuntimeError(error, "event-emit", this[PROXY_BRAND].identity, module);
|
|
327
|
+
}
|
|
233
328
|
}
|
|
234
329
|
}
|
|
235
|
-
/**
|
|
236
|
-
* Register a new handler for this event.
|
|
237
|
-
*
|
|
238
|
-
* @param func Handler
|
|
239
|
-
*/
|
|
330
|
+
/** Registers a handler once. */
|
|
240
331
|
register(func) {
|
|
241
|
-
if (this.registered.some((existing) => existing.func === func)) {
|
|
332
|
+
if (this.state.registered.some((existing) => existing.func === func)) {
|
|
242
333
|
return;
|
|
243
334
|
}
|
|
244
|
-
|
|
245
|
-
this.registered.push({ module, func });
|
|
335
|
+
this.state.registered.push({ module: GetResponsibleModule(), func });
|
|
246
336
|
}
|
|
247
|
-
/**
|
|
248
|
-
* Unregister a handler on this event.
|
|
249
|
-
*
|
|
250
|
-
* @param fn The handler that was passed to {@link register}
|
|
251
|
-
*/
|
|
337
|
+
/** Unregisters a handler. */
|
|
252
338
|
unregister(fn) {
|
|
253
|
-
this.registered = this.registered.filter(({ func }) => func !== fn);
|
|
339
|
+
this.state.registered = this.state.registered.filter(({ func }) => func !== fn);
|
|
254
340
|
}
|
|
255
|
-
/**
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
*
|
|
259
|
-
* @param mod Module ID
|
|
260
|
-
*/
|
|
261
|
-
unregisterModule(mod) {
|
|
262
|
-
this.registered = this.registered.filter(({ module }) => module !== mod);
|
|
341
|
+
/** Unregisters handlers owned by a destroyed module. */
|
|
342
|
+
unregisterModule(module) {
|
|
343
|
+
this.state.registered = this.state.registered.filter((entry) => entry.module !== module);
|
|
263
344
|
}
|
|
264
345
|
}
|
|
265
346
|
exports.EventProxy = EventProxy;
|
|
@@ -268,27 +349,18 @@ function captureCallStack(startFrame = 0) {
|
|
|
268
349
|
const oldLimit = Error.stackTraceLimit;
|
|
269
350
|
Error.stackTraceLimit = Infinity;
|
|
270
351
|
Error.prepareStackTrace = (_, trace) => trace;
|
|
271
|
-
const
|
|
272
|
-
Error.captureStackTrace(
|
|
273
|
-
const trace =
|
|
352
|
+
const error = {};
|
|
353
|
+
Error.captureStackTrace(error, GetResponsibleModule);
|
|
354
|
+
const trace = error.stack;
|
|
274
355
|
Error.prepareStackTrace = oldHandler;
|
|
275
356
|
Error.stackTraceLimit = oldLimit;
|
|
276
357
|
return trace.slice(startFrame);
|
|
277
358
|
}
|
|
278
|
-
/**
|
|
279
|
-
* Gets the responsible module for the current execution context.
|
|
280
|
-
*
|
|
281
|
-
* Determines which module is responsible for the current code execution by analyzing the call stack.
|
|
282
|
-
* This is used for automatic proxy detachment and event handler cleanup.
|
|
283
|
-
*
|
|
284
|
-
* @param startFrame The starting frame in the stack trace to analyze
|
|
285
|
-
* @returns The module ID or undefined if no module is found
|
|
286
|
-
*/
|
|
359
|
+
/** Gets the responsible module from explicit async context or the call stack. */
|
|
287
360
|
function GetResponsibleModule(startFrame = 0) {
|
|
288
|
-
const
|
|
289
|
-
if (
|
|
290
|
-
|
|
291
|
-
return explicitContext.module;
|
|
361
|
+
const contextModule = (0, internal_1.getModuleContext)()?.module;
|
|
362
|
+
if (contextModule) {
|
|
363
|
+
return contextModule;
|
|
292
364
|
}
|
|
293
365
|
const trace = captureCallStack(startFrame);
|
|
294
366
|
const responsible = (0, responsible_module_1.findResponsibleFile)(trace);
|
package/dist/proxies.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxies.js","sourceRoot":"","sources":["../src/proxies.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"proxies.js","sourceRoot":"","sources":["../src/proxies.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.js
CHANGED
|
@@ -11,7 +11,7 @@ exports.DEV_REGISTRY_PATH = ".antelope/dev.json";
|
|
|
11
11
|
*
|
|
12
12
|
* @returns Runtime information including dev mode, project path and environment
|
|
13
13
|
*/
|
|
14
|
-
exports.GetRuntimeInfo = (0, _1.InterfaceFunction)();
|
|
14
|
+
exports.GetRuntimeInfo = (0, _1.InterfaceFunction)("runtime.GetRuntimeInfo");
|
|
15
15
|
/**
|
|
16
16
|
* Register a development server and the endpoints it is listening on.
|
|
17
17
|
*
|
|
@@ -22,5 +22,5 @@ exports.GetRuntimeInfo = (0, _1.InterfaceFunction)();
|
|
|
22
22
|
* @param name Unique name of the server (e.g. 'api')
|
|
23
23
|
* @param endpoints Endpoints the server is listening on
|
|
24
24
|
*/
|
|
25
|
-
exports.RegisterDevServer = (0, _1.InterfaceFunction)();
|
|
25
|
+
exports.RegisterDevServer = (0, _1.InterfaceFunction)("runtime.RegisterDevServer");
|
|
26
26
|
//# sourceMappingURL=runtime.js.map
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":";;;AAAA,wBAAsC;AA4EtC;;GAEG;AACU,QAAA,iBAAiB,GAAG,oBAAoB,CAAC;AAEtD;;;;GAIG;AACU,QAAA,cAAc,GAAG,IAAA,oBAAiB,
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":";;;AAAA,wBAAsC;AA4EtC;;GAEG;AACU,QAAA,iBAAiB,GAAG,oBAAoB,CAAC;AAEtD;;;;GAIG;AACU,QAAA,cAAc,GAAG,IAAA,oBAAiB,EAC7C,wBAAwB,CACzB,CAAC;AAEF;;;;;;;;;GASG;AACU,QAAA,iBAAiB,GAAG,IAAA,oBAAiB,EAEhD,2BAA2B,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|