@antelopejs/interface-core 0.0.10 → 0.0.12

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/proxies.js CHANGED
@@ -5,6 +5,7 @@ exports.IsInterfaceProxy = IsInterfaceProxy;
5
5
  exports.GetInterfaceProxyIdentity = GetInterfaceProxyIdentity;
6
6
  exports.InvalidateResponsibleModule = InvalidateResponsibleModule;
7
7
  exports.RunWithResponsibleModule = RunWithResponsibleModule;
8
+ exports.InterfaceFunction = InterfaceFunction;
8
9
  exports.GetResponsibleModule = GetResponsibleModule;
9
10
  const errors_1 = require("./errors");
10
11
  const internal_1 = require("./internal");
@@ -59,13 +60,28 @@ function GetInterfaceProxyIdentity(value) {
59
60
  function getAttachmentRoute(manualDetach) {
60
61
  const context = (0, internal_1.getModuleContext)();
61
62
  const responsible = manualDetach || context?.module ? undefined : GetResponsibleModule();
62
- const owner = context?.module ?? responsible ?? DEFAULT_PROVIDER;
63
+ const owner = context?.owner ?? context?.module ?? responsible ?? DEFAULT_PROVIDER;
63
64
  return { owner, provider: context?.provider ?? owner };
64
65
  }
65
66
  function getRequestedProvider(proxyIdentity) {
66
67
  const context = (0, internal_1.getModuleContext)();
67
68
  return context?.providerRoutes?.[proxyIdentity] ?? context?.provider;
68
69
  }
70
+ function bindProviderCallback(callback) {
71
+ const context = (0, internal_1.captureModuleContext)();
72
+ if (!context) {
73
+ return callback;
74
+ }
75
+ return ((...args) => (0, internal_1.runWithCapturedModuleContext)(context, () => callback(...args)));
76
+ }
77
+ function getExecutionOwnership() {
78
+ const context = (0, internal_1.getModuleContext)();
79
+ if (context) {
80
+ return { module: context.module, owner: context.owner ?? context.module };
81
+ }
82
+ const module = GetResponsibleModule();
83
+ return { module, owner: module };
84
+ }
69
85
  function selectProvider(callbacks, proxyIdentity, requested) {
70
86
  if (requested) {
71
87
  const callback = callbacks.get(requested);
@@ -87,6 +103,10 @@ function reportRuntimeError(error, operation, proxyIdentity, module, registratio
87
103
  registrationId,
88
104
  });
89
105
  }
106
+ function matchesLease(attachment, lease) {
107
+ return (attachment?.generation === lease.generation &&
108
+ attachment.owner === lease.owner);
109
+ }
90
110
  /** @internal */
91
111
  function InvalidateResponsibleModule(module) {
92
112
  (0, internal_1.invalidateModuleContext)(module);
@@ -110,13 +130,17 @@ class AsyncProxy {
110
130
  onCall(callback, manualDetach) {
111
131
  const route = getAttachmentRoute(manualDetach);
112
132
  const lease = { ...route, generation: internal_1.internal.nextLeaseGeneration++ };
113
- this.state.callbacks.set(route.provider, { callback, ...lease });
133
+ const providerCallback = bindProviderCallback(callback);
134
+ this.state.callbacks.set(route.provider, {
135
+ callback: providerCallback,
136
+ ...lease,
137
+ });
114
138
  if (!manualDetach) {
115
139
  internal_1.internal.addAsyncProxy(route.owner, {
116
140
  cleanup: () => this.detach(lease),
117
141
  });
118
142
  }
119
- this.replayQueue(route.provider, callback);
143
+ this.replayQueue(route.provider, providerCallback);
120
144
  return lease;
121
145
  }
122
146
  /** Detaches one leased provider, or every provider when called without a lease. */
@@ -176,6 +200,13 @@ class AsyncProxy {
176
200
  }
177
201
  }
178
202
  exports.AsyncProxy = AsyncProxy;
203
+ /** Creates an interface function backed by an asynchronous proxy. */
204
+ function InterfaceFunction(identity) {
205
+ const proxy = new AsyncProxy(identity);
206
+ const func = (...args) => proxy.call(...args);
207
+ func.proxy = proxy;
208
+ return func;
209
+ }
179
210
  /** Proxy for provider-aware register and unregister handlers. */
180
211
  class RegisteringProxy {
181
212
  [PROXY_BRAND];
@@ -191,22 +222,41 @@ class RegisteringProxy {
191
222
  /** Attaches a register callback. */
192
223
  onRegister(callback, manualDetach) {
193
224
  const route = getAttachmentRoute(manualDetach);
194
- const current = this.state.callbacks.get(route.provider);
195
- return this.attachHandlers(callback, current?.unregister, manualDetach, true, route);
225
+ return this.attachRegister(bindProviderCallback(callback), route, Boolean(manualDetach));
196
226
  }
197
227
  /** Attaches an unregister callback to the current provider route. */
198
228
  onUnregister(callback) {
199
229
  const context = (0, internal_1.getModuleContext)();
200
230
  const requested = context?.provider ?? context?.module;
201
231
  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);
232
+ const contextOwner = context?.owner ?? context?.module;
233
+ const attachments = [current?.unregister, current?.register];
234
+ const sibling = contextOwner
235
+ ? attachments.find((attachment) => attachment?.owner === contextOwner)
236
+ : attachments.find((attachment) => Boolean(attachment));
237
+ const canExtendCurrent = current && sibling;
238
+ const options = canExtendCurrent
239
+ ? {
240
+ route: { owner: sibling.owner, provider: current.provider },
241
+ manualDetach: sibling.manualDetach,
242
+ }
243
+ : { route: getAttachmentRoute(), manualDetach: false };
244
+ return this.attachUnregister(bindProviderCallback(callback), options);
206
245
  }
207
246
  /** Atomically attaches both registration handlers. */
208
247
  onHandlers(register, unregister, manualDetach) {
209
- return this.attachHandlers(register, unregister, manualDetach);
248
+ const route = getAttachmentRoute(manualDetach);
249
+ const lease = this.createLease(route);
250
+ const boundRegister = bindProviderCallback(register);
251
+ const boundUnregister = bindProviderCallback(unregister);
252
+ this.state.callbacks.set(route.provider, {
253
+ provider: route.provider,
254
+ register: this.createAttachment(boundRegister, lease, manualDetach),
255
+ unregister: this.createAttachment(boundUnregister, lease, manualDetach),
256
+ });
257
+ this.trackAttachment(lease, Boolean(manualDetach));
258
+ this.replayRegistrations(route.provider, boundRegister);
259
+ return lease;
210
260
  }
211
261
  /** Detaches one leased provider, or every provider when called without a lease. */
212
262
  detach(lease) {
@@ -215,8 +265,16 @@ class RegisteringProxy {
215
265
  return;
216
266
  }
217
267
  const current = this.state.callbacks.get(lease.provider);
218
- if (current?.generation === lease.generation &&
219
- current.owner === lease.owner) {
268
+ if (!current) {
269
+ return;
270
+ }
271
+ if (matchesLease(current.register, lease)) {
272
+ current.register = undefined;
273
+ }
274
+ if (matchesLease(current.unregister, lease)) {
275
+ current.unregister = undefined;
276
+ }
277
+ if (!current.register && !current.unregister) {
220
278
  this.state.callbacks.delete(lease.provider);
221
279
  }
222
280
  }
@@ -232,12 +290,13 @@ class RegisteringProxy {
232
290
  this.state.registered.size >= internal_1.internal.maxPendingOperations) {
233
291
  throw new errors_1.ProviderQueueFullError(this[PROXY_BRAND].identity, internal_1.internal.maxPendingOperations);
234
292
  }
293
+ const ownership = getExecutionOwnership();
235
294
  this.state.registered.set(id, {
236
- module: GetResponsibleModule(),
295
+ ...ownership,
237
296
  provider: requested ?? callback?.provider,
238
297
  args,
239
298
  });
240
- callback?.register?.(id, ...args);
299
+ callback?.register?.callback(id, ...args);
241
300
  }
242
301
  /** Unregisters an entry from the provider that accepted it. */
243
302
  unregister(id) {
@@ -247,7 +306,7 @@ class RegisteringProxy {
247
306
  }
248
307
  const callback = selectProvider(this.state.callbacks, this[PROXY_BRAND].identity, entry.provider);
249
308
  try {
250
- callback?.unregister?.(id);
309
+ callback?.unregister?.callback(id);
251
310
  }
252
311
  finally {
253
312
  this.state.registered.delete(id);
@@ -255,40 +314,65 @@ class RegisteringProxy {
255
314
  }
256
315
  /** Unregisters every entry owned by a destroyed module. */
257
316
  unregisterModule(module) {
317
+ this.unregisterMatching((entry) => entry.module === module, module);
318
+ }
319
+ /** Unregisters every entry owned by a destroyed module generation. */
320
+ unregisterOwner(owner) {
321
+ this.unregisterMatching((entry) => entry.owner === owner, owner);
322
+ }
323
+ unregisterMatching(matches, owner) {
258
324
  for (const [id, entry] of this.state.registered) {
259
- if (entry.module !== module) {
325
+ if (!matches(entry)) {
260
326
  continue;
261
327
  }
262
328
  try {
263
329
  this.unregister(id);
264
330
  }
265
331
  catch (error) {
266
- reportRuntimeError(error, "unregister", this[PROXY_BRAND].identity, module, id);
332
+ reportRuntimeError(error, "unregister", this[PROXY_BRAND].identity, owner, id);
267
333
  }
268
334
  finally {
269
335
  this.state.registered.delete(id);
270
336
  }
271
337
  }
272
338
  }
273
- attachHandlers(register, unregister, manualDetach, shouldReplay = true, attachmentRoute) {
274
- const route = attachmentRoute ?? getAttachmentRoute(manualDetach);
275
- const lease = { ...route, generation: internal_1.internal.nextLeaseGeneration++ };
339
+ attachRegister(callback, route, manualDetach) {
340
+ const lease = this.createLease(route);
341
+ const current = this.state.callbacks.get(route.provider);
276
342
  this.state.callbacks.set(route.provider, {
277
- register,
278
- unregister,
279
- manualDetach: Boolean(manualDetach),
280
- ...lease,
343
+ provider: route.provider,
344
+ register: this.createAttachment(callback, lease, manualDetach),
345
+ unregister: current?.unregister,
346
+ });
347
+ this.trackAttachment(lease, manualDetach);
348
+ this.replayRegistrations(route.provider, callback);
349
+ return lease;
350
+ }
351
+ attachUnregister(callback, options) {
352
+ const { route, manualDetach } = options;
353
+ const lease = this.createLease(route);
354
+ const current = this.state.callbacks.get(route.provider);
355
+ this.state.callbacks.set(route.provider, {
356
+ provider: route.provider,
357
+ register: current?.register,
358
+ unregister: this.createAttachment(callback, lease, manualDetach),
281
359
  });
360
+ this.trackAttachment(lease, manualDetach);
361
+ return lease;
362
+ }
363
+ trackAttachment(lease, manualDetach) {
282
364
  if (!manualDetach) {
283
- internal_1.internal.addRegisteringProxy(route.owner, {
365
+ internal_1.internal.addRegisteringProxy(lease.owner, {
284
366
  cleanup: () => this.detach(lease),
285
367
  unregisterModule: (module) => this.unregisterModule(module),
286
368
  });
287
369
  }
288
- if (register && shouldReplay) {
289
- this.replayRegistrations(route.provider, register);
290
- }
291
- return lease;
370
+ }
371
+ createLease(route) {
372
+ return { ...route, generation: internal_1.internal.nextLeaseGeneration++ };
373
+ }
374
+ createAttachment(callback, lease, manualDetach) {
375
+ return { callback, ...lease, manualDetach: Boolean(manualDetach) };
292
376
  }
293
377
  replayRegistrations(provider, callback) {
294
378
  for (const [id, entry] of this.state.registered) {
@@ -332,7 +416,7 @@ class EventProxy {
332
416
  if (this.state.registered.some((existing) => existing.func === func)) {
333
417
  return;
334
418
  }
335
- this.state.registered.push({ module: GetResponsibleModule(), func });
419
+ this.state.registered.push({ ...getExecutionOwnership(), func });
336
420
  }
337
421
  /** Unregisters a handler. */
338
422
  unregister(fn) {
@@ -342,6 +426,10 @@ class EventProxy {
342
426
  unregisterModule(module) {
343
427
  this.state.registered = this.state.registered.filter((entry) => entry.module !== module);
344
428
  }
429
+ /** Unregisters handlers owned by a destroyed module generation. */
430
+ unregisterOwner(owner) {
431
+ this.state.registered = this.state.registered.filter((entry) => entry.owner !== owner);
432
+ }
345
433
  }
346
434
  exports.EventProxy = EventProxy;
347
435
  function captureCallStack(startFrame = 0) {
@@ -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
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RegisterDevServer = exports.GetRuntimeInfo = exports.DEV_REGISTRY_PATH = void 0;
4
- const _1 = require(".");
4
+ const proxies_1 = require("./proxies");
5
5
  /**
6
6
  * Project-relative path of the dev registry file.
7
7
  */
@@ -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)("runtime.GetRuntimeInfo");
14
+ exports.GetRuntimeInfo = (0, proxies_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)("runtime.GetRuntimeInfo");
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)("runtime.RegisterDevServer");
25
+ exports.RegisterDevServer = (0, proxies_1.InterfaceFunction)("runtime.RegisterDevServer");
26
26
  //# sourceMappingURL=runtime.js.map
@@ -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,EAC7C,wBAAwB,CACzB,CAAC;AAEF;;;;;;;;;GASG;AACU,QAAA,iBAAiB,GAAG,IAAA,oBAAiB,EAEhD,2BAA2B,CAAC,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":";;;AAAA,uCAA8C;AA4E9C;;GAEG;AACU,QAAA,iBAAiB,GAAG,oBAAoB,CAAC;AAEtD;;;;GAIG;AACU,QAAA,cAAc,GAAG,IAAA,2BAAiB,EAC7C,wBAAwB,CACzB,CAAC;AAEF;;;;;;;;;GASG;AACU,QAAA,iBAAiB,GAAG,IAAA,2BAAiB,EAEhD,2BAA2B,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chai_1 = require("chai");
4
+ const __1 = require("..");
5
+ const internal_1 = require("../internal");
6
+ const modules_1 = require("../modules");
7
+ describe("generation-owned cleanup", () => {
8
+ afterEach(() => {
9
+ internal_1.internal.testStubMode = false;
10
+ });
11
+ it("keeps a same-module and provider replacement after stale cleanup", async () => {
12
+ const proxy = new __1.AsyncProxy("generation.async");
13
+ const identity = (0, __1.GetInterfaceProxyIdentity)(proxy);
14
+ let oldLease;
15
+ (0, modules_1.RunWithModuleContext)({ module: "shared", owner: "shared#old", provider: "shared" }, () => {
16
+ oldLease = proxy.onCall(() => "old");
17
+ });
18
+ (0, modules_1.RunWithModuleContext)({ module: "shared", owner: "shared#new", provider: "shared" }, () => proxy.onCall(() => "new"));
19
+ proxy.detach(oldLease);
20
+ (0, modules_1.RunWithModuleContext)({ module: "shared", owner: "shared#old", provider: "shared" }, () => {
21
+ modules_1.Events.ModuleDestroyed.emit("shared");
22
+ modules_1.Events.ModuleDestroyed.emit("shared");
23
+ });
24
+ (0, chai_1.expect)(internal_1.internal.knownAsync.has("shared#old")).to.equal(false);
25
+ (0, chai_1.expect)(internal_1.internal.knownAsync.has("shared#new")).to.equal(true);
26
+ (0, chai_1.expect)(await (0, modules_1.RunWithModuleContext)({
27
+ module: "consumer",
28
+ owner: "consumer#1",
29
+ providerRoutes: { [identity]: "shared" },
30
+ }, () => proxy.call())).to.equal("new");
31
+ });
32
+ it("keeps registering replacements after old automatic cleanup", () => {
33
+ const proxy = new __1.RegisteringProxy("generation.registering");
34
+ const calls = [];
35
+ (0, modules_1.RunWithModuleContext)({ module: "shared", owner: "shared-register#old", provider: "shared" }, () => proxy.onHandlers((id) => calls.push(`old:${id}`), () => undefined));
36
+ (0, modules_1.RunWithModuleContext)({ module: "shared", owner: "shared-register#new", provider: "shared" }, () => proxy.onHandlers((id) => calls.push(`new:${id}`), () => undefined));
37
+ (0, modules_1.RunWithModuleContext)({ module: "shared", owner: "shared-register#old", provider: "shared" }, () => modules_1.Events.ModuleDestroyed.emit("shared"));
38
+ (0, chai_1.expect)(internal_1.internal.knownRegisters.has("shared-register#old")).to.equal(false);
39
+ (0, chai_1.expect)(internal_1.internal.knownRegisters.has("shared-register#new")).to.equal(true);
40
+ proxy.register("item");
41
+ (0, chai_1.expect)(calls).to.deep.equal(["new:item"]);
42
+ });
43
+ it("keeps split handlers owned by their replacement generation", () => {
44
+ const proxy = new __1.RegisteringProxy("generation.split-registering");
45
+ const calls = [];
46
+ (0, modules_1.RunWithModuleContext)({ module: "shared", owner: "split#old", provider: "shared" }, () => proxy.onRegister((id) => calls.push(`old-register:${id}`)));
47
+ (0, modules_1.RunWithModuleContext)({ module: "shared", owner: "split#new", provider: "shared" }, () => proxy.onUnregister((id) => calls.push(`new-unregister:${id}`)));
48
+ proxy.register("item");
49
+ (0, chai_1.expect)(calls).to.deep.equal(["old-register:item"]);
50
+ (0, modules_1.RunWithModuleContext)({ module: "shared", owner: "split#old", provider: "shared" }, () => {
51
+ modules_1.Events.ModuleDestroyed.emit("shared");
52
+ modules_1.Events.ModuleDestroyed.emit("shared");
53
+ });
54
+ proxy.unregister("item");
55
+ (0, chai_1.expect)(calls).to.deep.equal(["old-register:item", "new-unregister:item"]);
56
+ (0, chai_1.expect)(internal_1.internal.knownRegisters.has("split#old")).to.equal(false);
57
+ (0, chai_1.expect)(internal_1.internal.knownRegisters.has("split#new")).to.equal(true);
58
+ (0, modules_1.RunWithModuleContext)({ module: "shared", owner: "split#new", provider: "shared" }, () => {
59
+ modules_1.Events.ModuleDestroyed.emit("shared");
60
+ modules_1.Events.ModuleDestroyed.emit("shared");
61
+ });
62
+ internal_1.internal.testStubMode = true;
63
+ (0, chai_1.expect)(() => proxy.register("detached")).to.throw();
64
+ (0, chai_1.expect)(internal_1.internal.knownRegisters.has("split#new")).to.equal(false);
65
+ });
66
+ it("keeps reverse split handlers until their owner is destroyed", () => {
67
+ const proxy = new __1.RegisteringProxy("generation.reverse-split-registering");
68
+ const calls = [];
69
+ (0, modules_1.RunWithModuleContext)({ module: "shared", owner: "reverse#old", provider: "shared" }, () => proxy.onUnregister((id) => calls.push(`old-unregister:${id}`)));
70
+ (0, modules_1.RunWithModuleContext)({ module: "shared", owner: "reverse#new", provider: "shared" }, () => proxy.onRegister((id) => calls.push(`new-register:${id}`)));
71
+ proxy.register("active");
72
+ proxy.unregister("active");
73
+ proxy.register("survivor");
74
+ (0, chai_1.expect)(calls).to.deep.equal([
75
+ "new-register:active",
76
+ "old-unregister:active",
77
+ "new-register:survivor",
78
+ ]);
79
+ (0, modules_1.RunWithModuleContext)({ module: "shared", owner: "reverse#old", provider: "shared" }, () => {
80
+ modules_1.Events.ModuleDestroyed.emit("shared");
81
+ modules_1.Events.ModuleDestroyed.emit("shared");
82
+ });
83
+ proxy.unregister("survivor");
84
+ proxy.register("replacement");
85
+ (0, chai_1.expect)(calls.at(-1)).to.equal("new-register:replacement");
86
+ (0, chai_1.expect)(internal_1.internal.knownRegisters.has("reverse#old")).to.equal(false);
87
+ (0, chai_1.expect)(internal_1.internal.knownRegisters.has("reverse#new")).to.equal(true);
88
+ (0, modules_1.RunWithModuleContext)({ module: "shared", owner: "reverse#new", provider: "shared" }, () => {
89
+ modules_1.Events.ModuleDestroyed.emit("shared");
90
+ modules_1.Events.ModuleDestroyed.emit("shared");
91
+ });
92
+ internal_1.internal.testStubMode = true;
93
+ (0, chai_1.expect)(() => proxy.register("detached")).to.throw();
94
+ (0, chai_1.expect)(internal_1.internal.knownRegisters.has("reverse#new")).to.equal(false);
95
+ });
96
+ it("cleans only registrations and events from the destroyed owner", () => {
97
+ const registrations = new __1.RegisteringProxy("generation.consumer-registering");
98
+ const event = new __1.EventProxy("generation.consumer-event");
99
+ const calls = [];
100
+ registrations.onHandlers(() => undefined, (id) => calls.push(`remove:${id}`), true);
101
+ (0, modules_1.RunWithModuleContext)({ module: "consumer", owner: "consumer#old" }, () => {
102
+ registrations.register("old");
103
+ event.register(() => calls.push("old-event"));
104
+ });
105
+ (0, modules_1.RunWithModuleContext)({ module: "consumer", owner: "consumer#new" }, () => {
106
+ registrations.register("new");
107
+ event.register(() => calls.push("new-event"));
108
+ });
109
+ (0, modules_1.RunWithModuleContext)({ module: "consumer", owner: "consumer#old" }, () => {
110
+ modules_1.Events.ModuleDestroyed.emit("consumer");
111
+ });
112
+ event.emit();
113
+ (0, chai_1.expect)(calls).to.deep.equal(["remove:old", "new-event"]);
114
+ });
115
+ });
116
+ //# sourceMappingURL=generation-cleanup.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generation-cleanup.test.js","sourceRoot":"","sources":["../../src/tests/generation-cleanup.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chai_1 = require("chai");
4
+ const __1 = require("..");
5
+ const internal_1 = require("../internal");
6
+ const modules_1 = require("../modules");
7
+ describe("interface connection metadata", () => {
8
+ afterEach(() => {
9
+ delete internal_1.internal.interfaceConnections.consumer;
10
+ });
11
+ it("publishes provider and selection metadata", () => {
12
+ const connections = [
13
+ {
14
+ id: "primary",
15
+ path: "@antelopejs/interface-example",
16
+ provider: "provider-a",
17
+ selected: true,
18
+ },
19
+ {
20
+ path: "@antelopejs/interface-example",
21
+ provider: "provider-b",
22
+ selected: false,
23
+ },
24
+ ];
25
+ internal_1.internal.interfaceConnections.consumer = {
26
+ "@antelopejs/interface-example": connections,
27
+ };
28
+ const result = (0, modules_1.RunWithModuleContext)({ module: "consumer", owner: "consumer#metadata" }, () => ({
29
+ all: (0, __1.GetInterfaceInstances)("@antelopejs/interface-example"),
30
+ selected: (0, __1.GetInterfaceInstance)("@antelopejs/interface-example", "primary"),
31
+ }));
32
+ (0, chai_1.expect)(result.all).to.deep.equal(connections);
33
+ (0, chai_1.expect)(result.selected).to.deep.equal(connections[0]);
34
+ });
35
+ });
36
+ //# sourceMappingURL=interface-connections.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface-connections.test.js","sourceRoot":"","sources":["../../src/tests/interface-connections.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,0BAIY;AACZ,0CAAuC;AACvC,wCAAkD;AAElD,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,mBAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,WAAW,GAA0B;YACzC;gBACE,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,+BAA+B;gBACrC,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,+BAA+B;gBACrC,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,KAAK;aAChB;SACF,CAAC;QACF,mBAAQ,CAAC,oBAAoB,CAAC,QAAQ,GAAG;YACvC,+BAA+B,EAAE,WAAW;SAC7C,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,8BAAoB,EACjC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAClD,GAAG,EAAE,CAAC,CAAC;YACL,GAAG,EAAE,IAAA,yBAAqB,EAAC,+BAA+B,CAAC;YAC3D,QAAQ,EAAE,IAAA,wBAAoB,EAC5B,+BAA+B,EAC/B,SAAS,CACV;SACF,CAAC,CACH,CAAC;QAEF,IAAA,aAAM,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};