@antelopejs/interface-core 0.1.1 → 0.2.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.
Files changed (37) hide show
  1. package/dist/caller-binding.d.ts +11 -0
  2. package/dist/caller-binding.js +97 -0
  3. package/dist/caller-binding.js.map +1 -0
  4. package/dist/config.d.ts +27 -1
  5. package/dist/config.js.map +1 -1
  6. package/dist/internal.d.ts +8 -10
  7. package/dist/internal.js +1 -2
  8. package/dist/internal.js.map +1 -1
  9. package/dist/modules.d.ts +47 -0
  10. package/dist/modules.js +44 -3
  11. package/dist/modules.js.map +1 -1
  12. package/dist/proxies.d.ts +17 -16
  13. package/dist/proxies.js +86 -169
  14. package/dist/proxies.js.map +1 -1
  15. package/dist/tests/caller-context.test.js +139 -0
  16. package/dist/tests/caller-context.test.js.map +1 -0
  17. package/dist/tests/generation-cleanup.test.js +0 -2
  18. package/dist/tests/generation-cleanup.test.js.map +1 -1
  19. package/dist/tests/provider-context.test.js +0 -8
  20. package/dist/tests/provider-context.test.js.map +1 -1
  21. package/dist/tests/release-owner.test.d.ts +1 -0
  22. package/dist/tests/release-owner.test.js +34 -0
  23. package/dist/tests/release-owner.test.js.map +1 -0
  24. package/dist/tests/responsible-module.test.js +2 -2
  25. package/dist/tests/responsible-module.test.js.map +1 -1
  26. package/dist/tests/runtime-protocol.test.js +8 -11
  27. package/dist/tests/runtime-protocol.test.js.map +1 -1
  28. package/dist/tests/single-provider.test.d.ts +1 -0
  29. package/dist/tests/single-provider.test.js +55 -0
  30. package/dist/tests/single-provider.test.js.map +1 -0
  31. package/docs/2.proxies.md +18 -5
  32. package/docs/5.modules.md +32 -3
  33. package/docs/7.configuration.md +12 -7
  34. package/package.json +2 -2
  35. package/dist/tests/provider-routing.test.js +0 -78
  36. package/dist/tests/provider-routing.test.js.map +0 -1
  37. /package/dist/tests/{provider-routing.test.d.ts → caller-context.test.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caller-context.test.js","sourceRoot":"","sources":["../../src/tests/caller-context.test.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,6 @@ describe("generation-owned cleanup", () => {
10
10
  });
11
11
  it("keeps a same-module and provider replacement after stale cleanup", async () => {
12
12
  const proxy = new __1.AsyncProxy("generation.async");
13
- const identity = (0, __1.GetInterfaceProxyIdentity)(proxy);
14
13
  let oldLease;
15
14
  (0, modules_1.RunWithModuleContext)({ module: "shared", owner: "shared#old", provider: "shared" }, () => {
16
15
  oldLease = proxy.onCall(() => "old");
@@ -26,7 +25,6 @@ describe("generation-owned cleanup", () => {
26
25
  (0, chai_1.expect)(await (0, modules_1.RunWithModuleContext)({
27
26
  module: "consumer",
28
27
  owner: "consumer#1",
29
- providerRoutes: { [identity]: "shared" },
30
28
  }, () => proxy.call())).to.equal("new");
31
29
  });
32
30
  it("keeps registering replacements after old automatic cleanup", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"generation-cleanup.test.js","sourceRoot":"","sources":["../../src/tests/generation-cleanup.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generation-cleanup.test.js","sourceRoot":"","sources":["../../src/tests/generation-cleanup.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAE9B,0CAAuC;AACvC,wCAA0D;AAC1D,0BAA8D;AAE9D,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,SAAS,CAAC,GAAG,EAAE;QACb,mBAAQ,CAAC,YAAY,GAAG,KAAK,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,KAAK,GAAG,IAAI,cAAU,CAAe,kBAAkB,CAAC,CAAC;QAC/D,IAAI,QAAqD,CAAC;QAC1D,IAAA,8BAAoB,EAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC7D,GAAG,EAAE;YACH,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CACF,CAAC;QACF,IAAA,8BAAoB,EAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC7D,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAChC,CAAC;QAEF,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAA,8BAAoB,EAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC7D,GAAG,EAAE;YACH,gBAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,gBAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CACF,CAAC;QAEF,IAAA,aAAM,EAAC,mBAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAA,aAAM,EAAC,mBAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAA,aAAM,EACJ,MAAM,IAAA,8BAAoB,EACxB;YACE,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,YAAY;SACpB,EACD,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CACnB,CACF,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,KAAK,GAAG,IAAI,oBAAgB,CAChC,wBAAwB,CACzB,CAAC;QACF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAA,8BAAoB,EAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACtE,GAAG,EAAE,CACH,KAAK,CAAC,UAAU,CACd,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,EAC/B,GAAG,EAAE,CAAC,SAAS,CAChB,CACJ,CAAC;QACF,IAAA,8BAAoB,EAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACtE,GAAG,EAAE,CACH,KAAK,CAAC,UAAU,CACd,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,EAC/B,GAAG,EAAE,CAAC,SAAS,CAChB,CACJ,CAAC;QACF,IAAA,8BAAoB,EAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACtE,GAAG,EAAE,CAAC,gBAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC5C,CAAC;QAEF,IAAA,aAAM,EAAC,mBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAA,aAAM,EAAC,mBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1E,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEvB,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,KAAK,GAAG,IAAI,oBAAgB,CAChC,8BAA8B,CAC/B,CAAC;QACF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAA,8BAAoB,EAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC5D,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CACjE,CAAC;QACF,IAAA,8BAAoB,EAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC5D,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CACrE,CAAC;QACF,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEvB,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAEnD,IAAA,8BAAoB,EAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC5D,GAAG,EAAE;YACH,gBAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,gBAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CACF,CAAC;QACF,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEzB,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,CAAC;QAC1E,IAAA,aAAM,EAAC,mBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjE,IAAA,aAAM,EAAC,mBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEhE,IAAA,8BAAoB,EAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC5D,GAAG,EAAE;YACH,gBAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,gBAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CACF,CAAC;QACF,mBAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;QAE7B,IAAA,aAAM,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACpD,IAAA,aAAM,EAAC,mBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,KAAK,GAAG,IAAI,oBAAgB,CAChC,sCAAsC,CACvC,CAAC;QACF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAA,8BAAoB,EAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC9D,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CACrE,CAAC;QACF,IAAA,8BAAoB,EAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC9D,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CACjE,CAAC;QACF,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzB,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3B,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE3B,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1B,qBAAqB;YACrB,uBAAuB;YACvB,uBAAuB;SACxB,CAAC,CAAC;QAEH,IAAA,8BAAoB,EAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC9D,GAAG,EAAE;YACH,gBAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,gBAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CACF,CAAC;QACF,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC7B,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE9B,IAAA,aAAM,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1D,IAAA,aAAM,EAAC,mBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnE,IAAA,aAAM,EAAC,mBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElE,IAAA,8BAAoB,EAClB,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC9D,GAAG,EAAE;YACH,gBAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,gBAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CACF,CAAC;QACF,mBAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;QAE7B,IAAA,aAAM,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACpD,IAAA,aAAM,EAAC,mBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,aAAa,GAAG,IAAI,oBAAgB,CACxC,iCAAiC,CAClC,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,cAAU,CAAa,2BAA2B,CAAC,CAAC;QACtE,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,aAAa,CAAC,UAAU,CACtB,GAAG,EAAE,CAAC,SAAS,EACf,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,EAClC,IAAI,CACL,CAAC;QACF,IAAA,8BAAoB,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE;YACvE,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9B,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,IAAA,8BAAoB,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE;YACvE,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9B,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,IAAA,8BAAoB,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE;YACvE,gBAAM,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -15,14 +15,11 @@ describe("provider callback context", () => {
15
15
  it("restores async provider context across awaits and nested calls", async () => {
16
16
  const nested = new __1.AsyncProxy("context.nested");
17
17
  const outer = new __1.AsyncProxy("context.outer");
18
- const nestedIdentity = (0, __1.GetInterfaceProxyIdentity)(nested);
19
- const outerIdentity = (0, __1.GetInterfaceProxyIdentity)(outer);
20
18
  (0, modules_1.RunWithModuleContext)({ module: "nested-owner", owner: "nested#1", provider: "nested" }, () => nested.onCall(() => `${observeContext().owner}:value`));
21
19
  (0, modules_1.RunWithModuleContext)({
22
20
  module: "provider-owner",
23
21
  owner: "provider-owner#1",
24
22
  provider: "provider-a",
25
- providerRoutes: { [nestedIdentity]: "nested" },
26
23
  }, () => outer.onCall(async () => {
27
24
  const beforeAwait = observeContext();
28
25
  await Promise.resolve();
@@ -33,7 +30,6 @@ describe("provider callback context", () => {
33
30
  const observations = await (0, modules_1.RunWithModuleContext)({
34
31
  module: "consumer",
35
32
  owner: "consumer#1",
36
- providerRoutes: { [outerIdentity]: "provider-a" },
37
33
  }, () => outer.call());
38
34
  (0, chai_1.expect)(observations).to.deep.equal(Array.from({ length: 3 }, () => ({
39
35
  module: "provider-owner",
@@ -43,7 +39,6 @@ describe("provider callback context", () => {
43
39
  });
44
40
  it("restores registering context for replay, register and unregister", () => {
45
41
  const proxy = new __1.RegisteringProxy("context.registering");
46
- const identity = (0, __1.GetInterfaceProxyIdentity)(proxy);
47
42
  const observations = [];
48
43
  (0, modules_1.RunWithModuleContext)({ module: "consumer", owner: "consumer#1" }, () => {
49
44
  proxy.register("queued");
@@ -60,7 +55,6 @@ describe("provider callback context", () => {
60
55
  (0, modules_1.RunWithModuleContext)({
61
56
  module: "consumer",
62
57
  owner: "consumer#1",
63
- providerRoutes: { [identity]: "provider" },
64
58
  }, () => {
65
59
  proxy.register("direct");
66
60
  proxy.unregister("queued");
@@ -89,7 +83,6 @@ describe("provider callback context", () => {
89
83
  });
90
84
  it("rejects callbacks captured from an invalidated owner", async () => {
91
85
  const proxy = new __1.AsyncProxy("context.invalidated");
92
- const identity = (0, __1.GetInterfaceProxyIdentity)(proxy);
93
86
  (0, modules_1.RunWithModuleContext)({ module: "provider", owner: "provider-old#1", provider: "provider" }, () => {
94
87
  proxy.onCall(() => "stale", true);
95
88
  modules_1.Events.ModuleDestroyed.emit("provider");
@@ -97,7 +90,6 @@ describe("provider callback context", () => {
97
90
  const error = await (0, modules_1.RunWithModuleContext)({
98
91
  module: "consumer",
99
92
  owner: "consumer#1",
100
- providerRoutes: { [identity]: "provider" },
101
93
  }, () => proxy.call().then(() => undefined, (reason) => reason));
102
94
  (0, chai_1.expect)(error).to.be.instanceOf(__1.ModuleContextInvalidatedError);
103
95
  });
@@ -1 +1 @@
1
- {"version":3,"file":"provider-context.test.js","sourceRoot":"","sources":["../../src/tests/provider-context.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-context.test.js","sourceRoot":"","sources":["../../src/tests/provider-context.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chai_1 = require("chai");
4
+ const modules_1 = require("../modules");
5
+ const __1 = require("..");
6
+ describe("ReleaseOwner", () => {
7
+ it("releases what an owner attached and registered, as a module destruction does", async () => {
8
+ const proxy = new __1.AsyncProxy();
9
+ const registry = new __1.RegisteringProxy();
10
+ const event = new __1.EventProxy();
11
+ const unregistered = [];
12
+ let handled = 0;
13
+ (0, modules_1.RunWithModuleContext)({ module: "provider" }, () => {
14
+ registry.onHandlers(() => undefined, (id) => unregistered.push(id));
15
+ });
16
+ (0, modules_1.RunWithModuleContext)({ module: "instance", owner: "instance#instance" }, () => {
17
+ proxy.onCall(() => "served");
18
+ registry.register("entry");
19
+ event.register(() => {
20
+ handled += 1;
21
+ });
22
+ });
23
+ (0, modules_1.ReleaseOwner)("instance#instance");
24
+ event.emit();
25
+ const pending = await Promise.race([
26
+ proxy.call(),
27
+ new Promise((resolve) => setTimeout(() => resolve("unattached"), 20)),
28
+ ]);
29
+ (0, chai_1.expect)(pending).to.equal("unattached");
30
+ (0, chai_1.expect)(unregistered).to.deep.equal(["entry"]);
31
+ (0, chai_1.expect)(handled).to.equal(0);
32
+ });
33
+ });
34
+ //# sourceMappingURL=release-owner.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-owner.test.js","sourceRoot":"","sources":["../../src/tests/release-owner.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAE9B,wCAAgE;AAChE,0BAA8D;AAE9D,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC5F,MAAM,KAAK,GAAG,IAAI,cAAU,EAAgB,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,oBAAgB,EAAwB,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,cAAU,EAAc,CAAC;QAC3C,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAA,8BAAoB,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE;YAChD,QAAQ,CAAC,UAAU,CACjB,GAAG,EAAE,CAAC,SAAS,EACf,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAC9B,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAA,8BAAoB,EAClB,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAClD,GAAG,EAAE;YACH,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;YAC7B,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3B,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;gBAClB,OAAO,IAAI,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,IAAA,sBAAY,EAAC,mBAAmB,CAAC,CAAC;QAElC,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YACjC,KAAK,CAAC,IAAI,EAAE;YACZ,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;SACtE,CAAC,CAAC;QACH,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvC,IAAA,aAAM,EAAC,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -69,12 +69,12 @@ describe("findResponsibleFile", () => {
69
69
  { id: "local", dir: "/home/user/app" },
70
70
  {
71
71
  id: "dms",
72
- dir: "/home/user/app/.antelope/cache/@antelopejs-private/dms",
72
+ dir: "/home/user/app/.antelope/cache/@antelopejs/dms",
73
73
  isImplementor: true,
74
74
  },
75
75
  ];
76
76
  const trace = [
77
- frame("/home/user/app/.antelope/cache/@antelopejs-private/dms/dist/interfaces/dms/page.js"),
77
+ frame("/home/user/app/.antelope/cache/@antelopejs/dms/dist/interfaces/dms/page.js"),
78
78
  frame("/home/user/app/dist/pages/skins.js"),
79
79
  ];
80
80
  (0, chai_1.expect)((0, responsible_module_1.findResponsibleFile)(trace, entries).module).to.equal("local");
@@ -1 +1 @@
1
- {"version":3,"file":"responsible-module.test.js","sourceRoot":"","sources":["../../src/tests/responsible-module.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"responsible-module.test.js","sourceRoot":"","sources":["../../src/tests/responsible-module.test.ts"],"names":[],"mappings":"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"}
@@ -14,24 +14,21 @@ describe("global runtime protocol", () => {
14
14
  copyPath = undefined;
15
15
  }
16
16
  });
17
- it("converges compatible physical copies and accepts foreign proxy brands", async () => {
17
+ it("keeps each physical copy's proxies apart, while sharing module ownership", async () => {
18
18
  const temporary = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)(process.cwd(), ".interface-core-copy-"));
19
19
  copyPath = (0, node_path_1.join)(temporary, "dist");
20
20
  (0, node_fs_1.cpSync)((0, node_path_1.join)(__dirname, ".."), copyPath, { recursive: true });
21
21
  const foreign = require((0, node_path_1.join)(copyPath, "index.js"));
22
- const foreignModules = require((0, node_path_1.join)(copyPath, "modules.js"));
23
22
  const localProxy = new __1.AsyncProxy("test.cross-copy");
24
23
  const foreignProxy = new foreign.AsyncProxy("test.cross-copy");
25
- (0, chai_1.expect)(foreignProxy).not.to.be.instanceOf(__1.AsyncProxy);
26
24
  (0, chai_1.expect)((0, __1.RunWithResponsibleModule)("shared-owner", () => foreign.GetResponsibleModule())).to.equal("shared-owner");
27
- (0, modules_1.RunWithModuleContext)({ module: "provider", owner: "provider#copy", provider: "provider" }, () => foreign.ImplementInterface({ proxy: localProxy }, {
28
- proxy: () => foreignModules.GetModuleContext()?.owner ?? "missing",
29
- }));
30
- (0, chai_1.expect)(await (0, modules_1.RunWithModuleContext)({
31
- module: "consumer",
32
- owner: "consumer#copy",
33
- providerRoutes: { "async:test.cross-copy": "provider" },
34
- }, () => foreignProxy.call())).to.equal("provider#copy");
25
+ (0, modules_1.RunWithModuleContext)({ module: "provider" }, () => foreign.ImplementInterface({ proxy: localProxy }, { proxy: () => "local" }));
26
+ (0, chai_1.expect)(await localProxy.call()).to.equal("local");
27
+ const foreignResult = await Promise.race([
28
+ foreignProxy.call(),
29
+ new Promise((resolve) => setTimeout(() => resolve("unattached"), 20)),
30
+ ]);
31
+ (0, chai_1.expect)(foreignResult).to.equal("unattached");
35
32
  });
36
33
  it("fails clearly when a realm already contains an incompatible protocol", () => {
37
34
  const internalPath = (0, node_path_1.join)(__dirname, "..", "internal.js");
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-protocol.test.js","sourceRoot":"","sources":["../../src/tests/runtime-protocol.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-protocol.test.js","sourceRoot":"","sources":["../../src/tests/runtime-protocol.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chai_1 = require("chai");
4
+ const modules_1 = require("../modules");
5
+ const __1 = require("..");
6
+ describe("single-provider proxies", () => {
7
+ it("queues calls until its provider attaches, then replays them", async () => {
8
+ const proxy = new __1.AsyncProxy();
9
+ const pending = proxy.call("queued");
10
+ (0, modules_1.RunWithModuleContext)({ module: "provider" }, () => {
11
+ proxy.onCall((value) => `served ${value}`);
12
+ });
13
+ (0, chai_1.expect)(await pending).to.equal("served queued");
14
+ });
15
+ it("keeps its state on the proxy, apart from another proxy declared with the same identity", async () => {
16
+ const first = new __1.AsyncProxy("test.same-identity");
17
+ const second = new __1.AsyncProxy("test.same-identity");
18
+ (0, modules_1.RunWithModuleContext)({ module: "provider-a" }, () => {
19
+ first.onCall(() => "a");
20
+ });
21
+ (0, modules_1.RunWithModuleContext)({ module: "provider-b" }, () => {
22
+ second.onCall(() => "b");
23
+ });
24
+ (0, chai_1.expect)(await Promise.all([first.call(), second.call()])).to.deep.equal([
25
+ "a",
26
+ "b",
27
+ ]);
28
+ });
29
+ it("serves calls from the provider's newest generation once the old one is destroyed", async () => {
30
+ const proxy = new __1.AsyncProxy();
31
+ (0, modules_1.RunWithModuleContext)({ module: "provider", owner: "provider#1" }, () => {
32
+ proxy.onCall(() => "old");
33
+ });
34
+ (0, modules_1.RunWithModuleContext)({ module: "provider", owner: "provider#2" }, () => {
35
+ proxy.onCall(() => "new");
36
+ });
37
+ (0, modules_1.RunWithModuleContext)({ module: "provider", owner: "provider#1" }, () => {
38
+ modules_1.Events.ModuleDestroyed.emit("provider");
39
+ });
40
+ (0, chai_1.expect)(await (0, modules_1.RunWithModuleContext)({ module: "consumer" }, () => proxy.call())).to.equal("new");
41
+ });
42
+ it("registers and unregisters through its provider's handlers", () => {
43
+ const proxy = new __1.RegisteringProxy();
44
+ const calls = [];
45
+ (0, modules_1.RunWithModuleContext)({ module: "provider" }, () => {
46
+ proxy.onHandlers((id) => calls.push(`register:${id}`), (id) => calls.push(`unregister:${id}`));
47
+ });
48
+ (0, modules_1.RunWithModuleContext)({ module: "consumer" }, () => {
49
+ proxy.register("item");
50
+ proxy.unregister("item");
51
+ });
52
+ (0, chai_1.expect)(calls).to.deep.equal(["register:item", "unregister:item"]);
53
+ });
54
+ });
55
+ //# sourceMappingURL=single-provider.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-provider.test.js","sourceRoot":"","sources":["../../src/tests/single-provider.test.ts"],"names":[],"mappings":"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"}
package/docs/2.proxies.md CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  Proxies are the backbone of cross-module communication in AntelopeJS. They provide module-aware abstractions for function calls, event handling, and registration patterns. Each proxy type automatically tracks the module that attaches callbacks and detaches them when that module is unloaded, preventing memory leaks and dangling references.
6
6
 
7
+ A proxy has a single provider and keeps its state on the proxy object itself. When a project has several providers of one interface, the core evaluates a separate instance of the interface package for each provider, so each instance's proxies reach exactly one provider; no call selects a provider at run time.
8
+
7
9
  ## `AsyncProxy`
8
10
 
9
11
  `AsyncProxy` wraps asynchronous function calls. It queues invocations when no callback is attached and flushes the queue once a callback becomes available. The queue holds at most 1,000 pending calls: once it is full, further calls reject with `ProviderQueueFullError` until a callback attaches.
@@ -29,9 +31,9 @@ const greeting = await proxy.call("Bob"); // "Hello, Bob!"
29
31
 
30
32
  ### `onCall(callback, manualDetach?)`
31
33
 
32
- Attaches a callback function to the proxy. The proxy automatically tracks the calling module and detaches the callback when that module is unloaded. Pass `manualDetach: true` to disable automatic cleanup.
34
+ Attaches the provider's callback to the proxy, replacing any callback attached before, so a provider's new generation takes over from the old one. The proxy automatically tracks the calling module and detaches the callback when that module is unloaded; releasing an older generation never detaches a newer one. Pass `manualDetach: true` to disable automatic cleanup.
33
35
 
34
- When attachment occurs inside `RunWithModuleContext`, calls execute in the captured provider context rather than the consumer context. The captured module, owner generation, provider, and provider routes remain available across nested calls and `await`. Calls reject with `ModuleContextInvalidatedError` if the captured owner has been destroyed.
36
+ When attachment occurs inside `RunWithModuleContext`, calls execute in the captured provider context rather than the consumer context. The captured module and owner generation remain available across nested calls and `await`. Calls reject with `ModuleContextInvalidatedError` if the captured owner has been destroyed.
35
37
 
36
38
  ```ts
37
39
  // Automatic cleanup (default) - detaches when the module unloads
@@ -88,7 +90,7 @@ onUserCreated.emit("u-1", "Alice");
88
90
 
89
91
  ### `register(func)`
90
92
 
91
- Registers a handler for the event. Duplicate handlers (same function reference) are ignored. The proxy tracks the calling module and removes the handler when that module is unloaded.
93
+ Registers a handler for the event. Duplicate handlers (same function reference) are ignored. The proxy tracks the calling module and removes the handler when that module is unloaded. The handler runs in the context of the module that registered it, whichever module emits the event.
92
94
 
93
95
  ### `emit(...args)`
94
96
 
@@ -152,6 +154,15 @@ Removes the entry with the given identifier and calls the unregister callback if
152
154
 
153
155
  Manually removes both the register and unregister callbacks. Registered entries remain stored.
154
156
 
157
+ ## Functions passed through a proxy
158
+
159
+ A function a module hands to a proxy runs as that module's work, whoever invokes it later:
160
+
161
+ - an event handler runs in the context of the module that registered it;
162
+ - a function passed as an argument to `AsyncProxy.call` or `RegisteringProxy.register`, or held in a plain object or array passed that way, runs in the context of the module that made the call.
163
+
164
+ Inside such a function, `GetModuleContext` and `GetResponsibleModule` report the module that passed it, and what it registers is owned by that module. Once that module's generation is destroyed, invoking the function throws `ModuleContextInvalidatedError`. Plain data, class instances and proxies cross unchanged; a function passed twice reaches the provider as the same value, and a function passed on by another module keeps its original context.
165
+
155
166
  ## `ImplementInterface`
156
167
 
157
168
  `ImplementInterface` connects an interface declaration to its implementation. It iterates over the declaration object and wires up each proxy to the corresponding implementation function.
@@ -228,17 +239,19 @@ const connections = GetInterfaceInstances("database");
228
239
  const primary = GetInterfaceInstance("database", "primary");
229
240
  ```
230
241
 
231
- Each `InterfaceConnection` includes the provider module ID and whether that provider is selected for unqualified calls:
242
+ Each `InterfaceConnection` includes the path to `require()` for the interface instance bound to that connection, the provider module ID (absent for a connection to a self-hosted interface), and whether it is the connection a plain import reaches:
232
243
 
233
244
  ```ts
234
245
  interface InterfaceConnection {
235
246
  id?: string;
236
247
  path: string;
237
- provider: string;
248
+ provider?: string;
238
249
  selected: boolean;
239
250
  }
240
251
  ```
241
252
 
253
+ Requiring a connection's `path` (or a subpath of it) gives the interface bound to that connection's provider, and the objects built from it stay bound to that provider wherever they are used.
254
+
242
255
  ## `GetResponsibleModule`
243
256
 
244
257
  `GetResponsibleModule` inspects the call stack to determine which module is responsible for the current execution. The proxy classes use this internally for automatic cleanup tracking.
package/docs/5.modules.md CHANGED
@@ -37,7 +37,7 @@ loaded -> constructed -> active -> constructed -> loaded
37
37
 
38
38
  ## Module execution context
39
39
 
40
- `RunWithModuleContext` propagates module ownership and provider routing through synchronous and asynchronous work:
40
+ `RunWithModuleContext` propagates module ownership through synchronous and asynchronous work:
41
41
 
42
42
  ```ts
43
43
  import { RunWithModuleContext } from "@antelopejs/interface-core/modules";
@@ -46,8 +46,6 @@ await RunWithModuleContext(
46
46
  {
47
47
  module: "search-provider",
48
48
  owner: "search-provider#42",
49
- provider: "search-provider",
50
- providerRoutes: routes,
51
49
  },
52
50
  () => constructModule(),
53
51
  );
@@ -176,6 +174,37 @@ Stops, destroys, unloads, and reloads a module from its source. This is useful f
176
174
  await ReloadModule("my-module");
177
175
  ```
178
176
 
177
+ ## Declaration functions
178
+
179
+ These functions read and edit the `modules` of the project's `antelope.config.ts`, for a module that installs or removes other modules and wants the change to survive a restart.
180
+
181
+ ### `ListModuleDeclarations`
182
+
183
+ Returns the modules the configuration file declares at its top level, by key, shorthand entries expanded and disabled ones included.
184
+
185
+ ```ts
186
+ const declarations = await ListModuleDeclarations();
187
+ ```
188
+
189
+ ### `SaveModuleDeclaration`
190
+
191
+ Writes the given fields of a module's entry, adding the entry when the file has none. Only those fields are rewritten: every other line of the file, comments and expressions included, stays as it was. A field set to `undefined` or `null` is removed. The running project does not restart for this write; the caller loads, stops or reloads the module itself.
192
+
193
+ ```ts
194
+ await LoadModule("@acme/reports", { source }, true);
195
+ await SaveModuleDeclaration("@acme/reports", { source, optional: true });
196
+ ```
197
+
198
+ It throws when the file has no `modules` object it can edit, such as a configuration built by a function.
199
+
200
+ ### `RemoveModuleDeclaration`
201
+
202
+ Removes a module's entry, leaving the rest of the file as it was and the project running.
203
+
204
+ ```ts
205
+ await RemoveModuleDeclaration("@acme/reports");
206
+ ```
207
+
179
208
  ## `ModuleDefinition`
180
209
 
181
210
  The configuration object for defining a module.
@@ -154,13 +154,18 @@ Like the local source, `local-folder` also accepts an optional `reloadCommand` t
154
154
 
155
155
  Full module configuration within the project config.
156
156
 
157
- | Property | Type | Description |
158
- | ----------------- | -------------------------------------------- | ----------------------------------------------------- |
159
- | `version` | `string` | Optional version constraint |
160
- | `source` | `ModuleSource*` | Source definition (local, git, package, local-folder) |
161
- | `config` | `unknown` | Optional runtime configuration |
162
- | `importOverrides` | `ImportOverride[] \| Record<string, string>` | Optional import path redirections |
163
- | `disabledExports` | `string[]` | Optional list of exports to disable |
157
+ | Property | Type | Description |
158
+ | ----------------- | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
159
+ | `version` | `string` | Optional version constraint |
160
+ | `source` | `ModuleSource*` | Source definition (local, git, package, local-folder) |
161
+ | `config` | `unknown` | Optional runtime configuration |
162
+ | `importOverrides` | `ImportOverride[] \| Record<string, string>` | Optional providers pinned for the interfaces the module uses, and named connections |
163
+ | `disabledExports` | `string[]` | Optional list of exports to disable |
164
+ | `exportPriority` | `Record<string, number>` | Optional priority of this module as the default provider of each interface it implements (default 0; highest wins) |
165
+ | `disabled` | `boolean` | Keeps the module declared, with its configuration, without loading it |
166
+ | `optional` | `boolean` | Loads the module once the others have started; a failure to download, construct or start it is logged and the project runs on without it |
167
+
168
+ An `ImportOverride` is `{ interface, source?, id? }`. The first entry for an interface pins it to the `source` module; further entries are connections reached through `GetInterfaceInstance(interface, id)`. An entry for a standalone interface may omit `source`, declaring a connection to that self-hosted interface.
164
169
 
165
170
  ## `AntelopeLogging`
166
171
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/interface-core",
3
- "version": "0.1.1",
3
+ "version": "0.2.1",
4
4
  "description": "AntelopeJS core interface primitives - proxies, decorators, interface functions, and logging",
5
5
  "keywords": [
6
6
  "antelopejs",
@@ -90,7 +90,7 @@
90
90
  "reflect-metadata": "^0.2.2"
91
91
  },
92
92
  "devDependencies": {
93
- "@antelopejs/tooling-configs": "^0.0.4",
93
+ "@antelopejs/tooling-configs": "^0.0.8",
94
94
  "@types/chai": "^4.3.20",
95
95
  "@types/mocha": "^10.0.10",
96
96
  "@types/node": "^22.19.15",
@@ -1,78 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_1 = require("chai");
4
- const modules_1 = require("../modules");
5
- const __1 = require("..");
6
- describe("provider routing and leases", () => {
7
- it("routes providers through async module execution context", async () => {
8
- const proxy = new __1.AsyncProxy("test.provider-routing");
9
- (0, modules_1.RunWithModuleContext)({ module: "owner-a", provider: "provider-a" }, () => {
10
- proxy.onCall(() => "a");
11
- });
12
- (0, modules_1.RunWithModuleContext)({ module: "owner-b", provider: "provider-b" }, () => {
13
- proxy.onCall(() => "b");
14
- });
15
- (0, chai_1.expect)(await (0, modules_1.RunWithModuleContext)({ module: "consumer", provider: "provider-a" }, () => proxy.call())).to.equal("a");
16
- (0, chai_1.expect)(await (0, modules_1.RunWithModuleContext)({ module: "consumer", provider: "provider-b" }, () => proxy.call())).to.equal("b");
17
- const error = await proxy.call().then(() => undefined, (reason) => reason);
18
- (0, chai_1.expect)(error).to.be.instanceOf(__1.AmbiguousProviderError);
19
- });
20
- it("rejects an explicit route that has no attached provider", async () => {
21
- const proxy = new __1.AsyncProxy("test.missing-route");
22
- (0, modules_1.RunWithModuleContext)({ module: "owner", provider: "available" }, () => {
23
- proxy.onCall(() => "ok");
24
- });
25
- const result = (0, modules_1.RunWithModuleContext)({ module: "consumer", provider: "missing" }, () => proxy.call());
26
- const error = await result.then(() => undefined, (reason) => reason);
27
- (0, chai_1.expect)(error).to.be.instanceOf(__1.MissingProviderError);
28
- });
29
- it("supports per-proxy provider bindings in one module context", async () => {
30
- const first = new __1.AsyncProxy("test.route-map.first");
31
- const second = new __1.AsyncProxy("test.route-map.second");
32
- (0, modules_1.RunWithModuleContext)({ module: "owner-a", provider: "provider-a" }, () => {
33
- first.onCall(() => "first-a");
34
- second.onCall(() => "second-a");
35
- });
36
- (0, modules_1.RunWithModuleContext)({ module: "owner-b", provider: "provider-b" }, () => {
37
- first.onCall(() => "first-b");
38
- second.onCall(() => "second-b");
39
- });
40
- const firstIdentity = (0, __1.GetInterfaceProxyIdentity)(first);
41
- const secondIdentity = (0, __1.GetInterfaceProxyIdentity)(second);
42
- const values = await (0, modules_1.RunWithModuleContext)({
43
- module: "consumer",
44
- providerRoutes: {
45
- [firstIdentity]: "provider-a",
46
- [secondIdentity]: "provider-b",
47
- },
48
- }, () => Promise.all([first.call(), second.call()]));
49
- (0, chai_1.expect)(values).to.deep.equal(["first-a", "second-b"]);
50
- });
51
- it("routes registrations and unregisters to the bound provider", () => {
52
- const proxy = new __1.RegisteringProxy("test.registering-routes");
53
- const calls = [];
54
- (0, modules_1.RunWithModuleContext)({ module: "owner-a", provider: "provider-a" }, () => {
55
- proxy.onHandlers((id) => calls.push(`register-a:${id}`), (id) => calls.push(`unregister-a:${id}`));
56
- });
57
- (0, modules_1.RunWithModuleContext)({ module: "owner-b", provider: "provider-b" }, () => {
58
- proxy.onHandlers((id) => calls.push(`register-b:${id}`), (id) => calls.push(`unregister-b:${id}`));
59
- });
60
- (0, modules_1.RunWithModuleContext)({ module: "consumer", provider: "provider-b" }, () => {
61
- proxy.register("item");
62
- proxy.unregister("item");
63
- });
64
- (0, chai_1.expect)(calls).to.deep.equal(["register-b:item", "unregister-b:item"]);
65
- });
66
- it("does not let an old owner lease detach a newer provider generation", async () => {
67
- const proxy = new __1.AsyncProxy("test.provider-lease");
68
- (0, modules_1.RunWithModuleContext)({ module: "owner-a", provider: "shared" }, () => {
69
- proxy.onCall(() => "old");
70
- });
71
- (0, modules_1.RunWithModuleContext)({ module: "owner-b", provider: "shared" }, () => {
72
- proxy.onCall(() => "new");
73
- });
74
- modules_1.Events.ModuleDestroyed.emit("owner-a");
75
- (0, chai_1.expect)(await (0, modules_1.RunWithModuleContext)({ module: "consumer", provider: "shared" }, () => proxy.call())).to.equal("new");
76
- });
77
- });
78
- //# sourceMappingURL=provider-routing.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider-routing.test.js","sourceRoot":"","sources":["../../src/tests/provider-routing.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAE9B,wCAA0D;AAC1D,0BAMY;AAEZ,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,KAAK,GAAG,IAAI,cAAU,CAAe,uBAAuB,CAAC,CAAC;QACpE,IAAA,8BAAoB,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE;YACvE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,IAAA,8BAAoB,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE;YACvE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAA,aAAM,EACJ,MAAM,IAAA,8BAAoB,EACxB,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,EAC9C,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CACnB,CACF,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChB,IAAA,aAAM,EACJ,MAAM,IAAA,8BAAoB,EACxB,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,EAC9C,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CACnB,CACF,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChB,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CACnC,GAAG,EAAE,CAAC,SAAS,EACf,CAAC,MAAe,EAAE,EAAE,CAAC,MAAM,CAC5B,CAAC;QACF,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,0BAAsB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,KAAK,GAAG,IAAI,cAAU,CAAe,oBAAoB,CAAC,CAAC;QACjE,IAAA,8BAAoB,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE;YACpE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAA,8BAAoB,EACjC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,EAC3C,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CACnB,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAC7B,GAAG,EAAE,CAAC,SAAS,EACf,CAAC,MAAe,EAAE,EAAE,CAAC,MAAM,CAC5B,CAAC;QACF,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,wBAAoB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,KAAK,GAAG,IAAI,cAAU,CAAe,sBAAsB,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,IAAI,cAAU,CAAe,uBAAuB,CAAC,CAAC;QACrE,IAAA,8BAAoB,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE;YACvE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,IAAA,8BAAoB,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE;YACvE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,IAAA,6BAAyB,EAAC,KAAK,CAAW,CAAC;QACjE,MAAM,cAAc,GAAG,IAAA,6BAAyB,EAAC,MAAM,CAAW,CAAC;QAEnE,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAoB,EACvC;YACE,MAAM,EAAE,UAAU;YAClB,cAAc,EAAE;gBACd,CAAC,aAAa,CAAC,EAAE,YAAY;gBAC7B,CAAC,cAAc,CAAC,EAAE,YAAY;aAC/B;SACF,EACD,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CACjD,CAAC;QAEF,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,KAAK,GAAG,IAAI,oBAAgB,CAChC,yBAAyB,CAC1B,CAAC;QACF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAA,8BAAoB,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE;YACvE,KAAK,CAAC,UAAU,CACd,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,EACtC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CACzC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAA,8BAAoB,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE;YACvE,KAAK,CAAC,UAAU,CACd,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,EACtC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CACzC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAA,8BAAoB,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE;YACxE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvB,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,KAAK,GAAG,IAAI,cAAU,CAAe,qBAAqB,CAAC,CAAC;QAClE,IAAA,8BAAoB,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE;YACnE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,IAAA,8BAAoB,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE;YACnE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,gBAAM,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvC,IAAA,aAAM,EACJ,MAAM,IAAA,8BAAoB,EACxB,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC1C,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CACnB,CACF,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}