@relkit/invocation 0.1.0 → 0.2.0

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.
@@ -16,6 +16,9 @@ export declare function createUnboundIdentity(): string;
16
16
  /** Binds a canonical identity without mutating or cloning the executable descriptor. */
17
17
  export declare function bindDescriptorIdentity<T extends object>(descriptor: T, id: string): T;
18
18
  export declare function isDescriptorIdentityBound(descriptor: object): boolean;
19
+ /** Associates identity-preserving members with one service without mutating them. */
20
+ export declare function bindDescriptorServiceMembers<T extends object>(descriptors: readonly T[], service: object & DescriptorIdentitySource): readonly T[];
21
+ export declare function getDescriptorServiceIdentity(descriptor: object): string | undefined;
19
22
  export declare function resolveDescriptorIdentity(descriptor: object & DescriptorIdentitySource): ResolvedDescriptorIdentity;
20
23
  export declare function getDescriptorIdentity(descriptor: object & DescriptorIdentitySource): string;
21
24
  export declare function isUnboundIdentity(value: unknown): value is string;
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B,aAAa,CAAC;AAEvD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B;AAED,qBAAa,uBAAwB,SAAQ,SAAS;IACpD,QAAQ,CAAC,IAAI,EAAG,qCAAqC,CAAU;gBAEnD,OAAO,EAAE,MAAM;CAI5B;AAKD,mFAAmF;AACnF,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,CAiBrF;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAErE;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,GAAG,wBAAwB,GAC5C,0BAA0B,CAa5B;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,wBAAwB,GAAG,MAAM,CAE3F;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEjE"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,4BAA4B,aAAa,CAAC;AAEvD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B;AAED,qBAAa,uBAAwB,SAAQ,SAAS;IACpD,QAAQ,CAAC,IAAI,EAAG,qCAAqC,CAAU;gBAEnD,OAAO,EAAE,MAAM;CAI5B;AAMD,mFAAmF;AACnF,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,CAiBrF;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAErE;AAED,qFAAqF;AACrF,wBAAgB,4BAA4B,CAAC,CAAC,SAAS,MAAM,EAC3D,WAAW,EAAE,SAAS,CAAC,EAAE,EACzB,OAAO,EAAE,MAAM,GAAG,wBAAwB,GACzC,SAAS,CAAC,EAAE,CAWd;AAED,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAInF;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,GAAG,wBAAwB,GAC5C,0BAA0B,CAa5B;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,wBAAwB,GAAG,MAAM,CAE3F;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEjE"}
package/dist/identity.js CHANGED
@@ -9,6 +9,7 @@ export class DescriptorIdentityError extends TypeError {
9
9
  }
10
10
  const canonicalIdentities = new WeakMap();
11
11
  const unboundIdentities = new WeakMap();
12
+ const descriptorServices = new WeakMap();
12
13
  /** Creates a process-local diagnostic identity that is not a canonical address. */
13
14
  export function createUnboundIdentity() {
14
15
  return `${UNBOUND_DESCRIPTOR_ID_PREFIX}${crypto.randomUUID()}`;
@@ -31,6 +32,25 @@ export function bindDescriptorIdentity(descriptor, id) {
31
32
  export function isDescriptorIdentityBound(descriptor) {
32
33
  return canonicalIdentities.has(descriptor);
33
34
  }
35
+ /** Associates identity-preserving members with one service without mutating them. */
36
+ export function bindDescriptorServiceMembers(descriptors, service) {
37
+ assertObject(service);
38
+ for (const descriptor of descriptors) {
39
+ assertObject(descriptor);
40
+ const existing = descriptorServices.get(descriptor);
41
+ if (existing !== undefined && existing !== service) {
42
+ throw new DescriptorIdentityError("Descriptor already belongs to another service");
43
+ }
44
+ }
45
+ for (const descriptor of descriptors)
46
+ descriptorServices.set(descriptor, service);
47
+ return descriptors;
48
+ }
49
+ export function getDescriptorServiceIdentity(descriptor) {
50
+ assertObject(descriptor);
51
+ const service = descriptorServices.get(descriptor);
52
+ return service === undefined ? undefined : getDescriptorIdentity(service);
53
+ }
34
54
  export function resolveDescriptorIdentity(descriptor) {
35
55
  assertObject(descriptor);
36
56
  const bound = canonicalIdentities.get(descriptor);
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@relkit/invocation",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Unsupported internal RELKIT invocation contracts; use @relkit/app.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -29,8 +29,8 @@
29
29
  }
30
30
  },
31
31
  "dependencies": {
32
- "@relkit/contracts": "0.1.0",
33
- "@relkit/schema": "0.1.0",
32
+ "@relkit/contracts": "0.2.0",
33
+ "@relkit/schema": "0.2.0",
34
34
  "effect": "4.0.0-beta.107"
35
35
  },
36
36
  "scripts": {