@ic-reactor/core 3.0.0-beta.8 → 3.0.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.
Files changed (72) hide show
  1. package/README.md +5 -3
  2. package/dist/client.d.ts +3 -1
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +48 -3
  5. package/dist/client.js.map +1 -1
  6. package/dist/display/types.d.ts +2 -2
  7. package/dist/display/types.d.ts.map +1 -1
  8. package/dist/display/visitor.d.ts +2 -1
  9. package/dist/display/visitor.d.ts.map +1 -1
  10. package/dist/display/visitor.js +146 -121
  11. package/dist/display/visitor.js.map +1 -1
  12. package/dist/display-reactor.d.ts +9 -92
  13. package/dist/display-reactor.d.ts.map +1 -1
  14. package/dist/display-reactor.js +5 -41
  15. package/dist/display-reactor.js.map +1 -1
  16. package/dist/reactor.d.ts +36 -4
  17. package/dist/reactor.d.ts.map +1 -1
  18. package/dist/reactor.js +101 -61
  19. package/dist/reactor.js.map +1 -1
  20. package/dist/types/client.d.ts +11 -0
  21. package/dist/types/client.d.ts.map +1 -1
  22. package/dist/types/display-reactor.d.ts +54 -0
  23. package/dist/types/display-reactor.d.ts.map +1 -0
  24. package/dist/types/display-reactor.js +5 -0
  25. package/dist/types/display-reactor.js.map +1 -0
  26. package/dist/types/index.d.ts +1 -0
  27. package/dist/types/index.d.ts.map +1 -1
  28. package/dist/types/index.js +1 -0
  29. package/dist/types/index.js.map +1 -1
  30. package/dist/types/reactor.d.ts +10 -15
  31. package/dist/types/reactor.d.ts.map +1 -1
  32. package/dist/utils/constants.d.ts +1 -1
  33. package/dist/utils/constants.d.ts.map +1 -1
  34. package/dist/utils/constants.js +1 -1
  35. package/dist/utils/constants.js.map +1 -1
  36. package/dist/utils/helper.d.ts +11 -1
  37. package/dist/utils/helper.d.ts.map +1 -1
  38. package/dist/utils/helper.js +22 -6
  39. package/dist/utils/helper.js.map +1 -1
  40. package/dist/utils/index.d.ts +1 -0
  41. package/dist/utils/index.d.ts.map +1 -1
  42. package/dist/utils/index.js +1 -0
  43. package/dist/utils/index.js.map +1 -1
  44. package/dist/utils/zod.d.ts +34 -0
  45. package/dist/utils/zod.d.ts.map +1 -0
  46. package/dist/utils/zod.js +39 -0
  47. package/dist/utils/zod.js.map +1 -0
  48. package/package.json +6 -5
  49. package/src/client.ts +570 -0
  50. package/src/display/helper.ts +92 -0
  51. package/src/display/index.ts +3 -0
  52. package/src/display/types.ts +91 -0
  53. package/src/display/visitor.ts +415 -0
  54. package/src/display-reactor.ts +361 -0
  55. package/src/errors/index.ts +246 -0
  56. package/src/index.ts +8 -0
  57. package/src/reactor.ts +461 -0
  58. package/src/types/client.ts +110 -0
  59. package/src/types/display-reactor.ts +73 -0
  60. package/src/types/index.ts +6 -0
  61. package/src/types/reactor.ts +188 -0
  62. package/src/types/result.ts +50 -0
  63. package/src/types/transform.ts +23 -0
  64. package/src/types/variant.ts +39 -0
  65. package/src/utils/agent.ts +201 -0
  66. package/src/utils/candid.ts +112 -0
  67. package/src/utils/constants.ts +12 -0
  68. package/src/utils/helper.ts +136 -0
  69. package/src/utils/index.ts +5 -0
  70. package/src/utils/polling.ts +330 -0
  71. package/src/utils/zod.ts +56 -0
  72. package/src/version.ts +4 -0
package/README.md CHANGED
@@ -92,7 +92,8 @@ import { idlFactory, type _SERVICE } from "./declarations/my_canister"
92
92
  const backend = new Reactor<_SERVICE>({
93
93
  clientManager,
94
94
  idlFactory,
95
- canisterId: "rrkah-fqaaa-aaaaa-aaaaq-cai",
95
+ name: "backend", // Required: explicit name
96
+ // canisterId: "...", // Optional: omitted if using environment variables
96
97
  })
97
98
  ```
98
99
 
@@ -131,6 +132,7 @@ interface ClientManagerParameters {
131
132
  port?: number // Local replica port (default: 4943)
132
133
  withLocalEnv?: boolean // Force local network
133
134
  withProcessEnv?: boolean // Read DFX_NETWORK from env
135
+ withCanisterEnv?: boolean // Read canister IDs from environment
134
136
  agentOptions?: HttpAgentOptions // Custom agent options
135
137
  authClient?: AuthClient // Pre-configured auth client
136
138
  }
@@ -199,8 +201,8 @@ clientManager.isLocal // boolean
199
201
  interface ReactorParameters<A> {
200
202
  clientManager: ClientManager
201
203
  idlFactory: IDL.InterfaceFactory
202
- canisterId: string | Principal
203
- name?: string // Optional display name
204
+ name: string // Required display name
205
+ canisterId?: string | Principal // Optional if using env vars
204
206
  pollingOptions?: PollingOptions // Custom polling for update calls
205
207
  }
206
208
  ```
package/dist/client.d.ts CHANGED
@@ -40,12 +40,14 @@ export declare class ClientManager {
40
40
  authState: AuthState;
41
41
  private initPromise?;
42
42
  private authPromise?;
43
+ private port;
44
+ private internetIdentityId?;
43
45
  /**
44
46
  * Creates a new instance of ClientManager.
45
47
  *
46
48
  * @param parameters - Configuration options for the agent and network environment.
47
49
  */
48
- constructor({ port, withLocalEnv, withProcessEnv, agentOptions, queryClient, authClient, }: ClientManagerParameters);
50
+ constructor({ port, withLocalEnv, withProcessEnv, withCanisterEnv, agentOptions, queryClient, authClient, }: ClientManagerParameters);
49
51
  /**
50
52
  * Orchestrates the complete initialization of the ClientManager.
51
53
  * This method awaits the agent's core initialization (e.g., fetching root keys)
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAc,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,KAAK,EACV,uBAAuB,EACvB,UAAU,EACV,SAAS,EACV,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAQ/C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,aAAa;;IAQxB;;OAEG;IACI,WAAW,EAAE,WAAW,CAAA;IAC/B;;OAEG;IACI,UAAU,EAAE,UAAU,CAAA;IAC7B;;OAEG;IACI,SAAS,EAAE,SAAS,CAAA;IAE3B,OAAO,CAAC,WAAW,CAAC,CAAe;IACnC,OAAO,CAAC,WAAW,CAAC,CAA+B;IAEnD;;;;OAIG;gBACS,EACV,IAAW,EACX,YAAY,EACZ,cAAc,EACd,YAAiB,EACjB,WAAW,EACX,UAAU,GACX,EAAE,uBAAuB;IAkD1B;;;;;;OAMG;IACU,UAAU;IAMvB;;;;;OAKG;IACU,eAAe;IAuC5B,OAAO,CAAC,iBAAiB,CAAQ;IAEjC;;;;;;;;;;OAUG;IACI,YAAY,QAAa,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA2D5D;IAED;;;;;OAKG;IACI,KAAK,GAAU,eAAe,sBAAsB,mBAqD1D;IAED;;;;OAIG;IACI,MAAM,sBAiBZ;IAED;;OAEG;IACH,IAAI,KAAK,cAER;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,GAAG,GAAG,SAAS,CAE/B;IAED;;OAEG;IACH,IAAI,aAAa,WAEhB;IAED;;OAEG;IACH,IAAI,OAAO,YAEV;IAED;;OAEG;IACH,IAAI,OAAO,8BAGV;IAED;;OAEG;IACI,gBAAgB;IAIvB;;;OAGG;IACI,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAiBlE;;OAEG;IACI,oBAAoB,IAAI,MAAM,EAAE;IAIvC;;OAEG;IACI,uBAAuB,CAAC,UAAU,EAAE,MAAM;IAIjD;;OAEG;IACI,kBAAkB,CAAC,QAAQ,EAAE,SAAS;IAI7C,OAAO,CAAC,0BAA0B;IAQlC;;;;OAIG;IACI,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI;IASvD;;;;OAIG;IACI,mBAAmB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI;IAShE;;;;OAIG;IACI,kBAAkB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI;IAS9D;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAwBrC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,eAAe;CAKxB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAc,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,KAAK,EACV,uBAAuB,EACvB,UAAU,EACV,SAAS,EACV,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAS/C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,aAAa;;IAQxB;;OAEG;IACI,WAAW,EAAE,WAAW,CAAA;IAC/B;;OAEG;IACI,UAAU,EAAE,UAAU,CAAA;IAC7B;;OAEG;IACI,SAAS,EAAE,SAAS,CAAA;IAE3B,OAAO,CAAC,WAAW,CAAC,CAAe;IACnC,OAAO,CAAC,WAAW,CAAC,CAA+B;IACnD,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,kBAAkB,CAAC,CAAQ;IAEnC;;;;OAIG;gBACS,EACV,IAAW,EACX,YAAY,EACZ,cAAc,EACd,eAAe,EACf,YAAiB,EACjB,WAAW,EACX,UAAU,GACX,EAAE,uBAAuB;IAsF1B;;;;;;OAMG;IACU,UAAU;IAMvB;;;;;OAKG;IACU,eAAe;IAuC5B,OAAO,CAAC,iBAAiB,CAAQ;IAEjC;;;;;;;;;;OAUG;IACI,YAAY,QAAa,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA2D5D;IAED;;;;;OAKG;IACI,KAAK,GAAU,eAAe,sBAAsB,mBAqD1D;IAED;;;;OAIG;IACI,MAAM,sBAiBZ;IAED;;OAEG;IACH,IAAI,KAAK,cAER;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,GAAG,GAAG,SAAS,CAE/B;IAED;;OAEG;IACH,IAAI,aAAa,WAEhB;IAED;;OAEG;IACH,IAAI,OAAO,YAEV;IAED;;OAEG;IACH,IAAI,OAAO,8BAGV;IAED;;OAEG;IACI,gBAAgB;IAIvB;;;OAGG;IACI,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAiBlE;;OAEG;IACI,oBAAoB,IAAI,MAAM,EAAE;IAIvC;;OAEG;IACI,uBAAuB,CAAC,UAAU,EAAE,MAAM;IAIjD;;OAEG;IACI,kBAAkB,CAAC,QAAQ,EAAE,SAAS;IAI7C,OAAO,CAAC,0BAA0B;IAWlC;;;;OAIG;IACI,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI;IASvD;;;;OAIG;IACI,mBAAmB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI;IAShE;;;;OAIG;IACI,kBAAkB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI;IAS9D;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAwBrC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,eAAe;CAKxB"}
package/dist/client.js CHANGED
@@ -11,6 +11,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
11
11
  };
12
12
  var _ClientManager_agent, _ClientManager_authClient, _ClientManager_identitySubscribers, _ClientManager_agentStateSubscribers, _ClientManager_authStateSubscribers, _ClientManager_targetCanisterIds;
13
13
  import { HttpAgent } from "@icp-sdk/core/agent";
14
+ import { safeGetCanisterEnv } from "@icp-sdk/core/agent/canister-env";
14
15
  import { IC_HOST_NETWORK_URI, IC_INTERNET_IDENTITY_PROVIDER, LOCAL_INTERNET_IDENTITY_PROVIDER, } from "./utils/constants";
15
16
  import { getNetworkByHostname, getProcessEnvNetwork } from "./utils/helper";
16
17
  /**
@@ -39,7 +40,7 @@ export class ClientManager {
39
40
  *
40
41
  * @param parameters - Configuration options for the agent and network environment.
41
42
  */
42
- constructor({ port = 4943, withLocalEnv, withProcessEnv, agentOptions = {}, queryClient, authClient, }) {
43
+ constructor({ port = 4943, withLocalEnv, withProcessEnv, withCanisterEnv, agentOptions = {}, queryClient, authClient, }) {
43
44
  _ClientManager_agent.set(this, void 0);
44
45
  _ClientManager_authClient.set(this, void 0);
45
46
  _ClientManager_identitySubscribers.set(this, []);
@@ -89,6 +90,18 @@ export class ClientManager {
89
90
  writable: true,
90
91
  value: void 0
91
92
  });
93
+ Object.defineProperty(this, "port", {
94
+ enumerable: true,
95
+ configurable: true,
96
+ writable: true,
97
+ value: void 0
98
+ });
99
+ Object.defineProperty(this, "internetIdentityId", {
100
+ enumerable: true,
101
+ configurable: true,
102
+ writable: true,
103
+ value: void 0
104
+ });
92
105
  Object.defineProperty(this, "authModuleMissing", {
93
106
  enumerable: true,
94
107
  configurable: true,
@@ -262,6 +275,31 @@ export class ClientManager {
262
275
  isAuthenticated: false,
263
276
  error: undefined,
264
277
  };
278
+ this.port = port;
279
+ // EXPERIMENTAL: Use canister environment from ic_env cookie when enabled
280
+ // ⚠️ This may cause issues with update calls on localhost development
281
+ if (withCanisterEnv) {
282
+ const canisterEnv = typeof window !== "undefined" ? safeGetCanisterEnv() : undefined;
283
+ if (canisterEnv) {
284
+ this.internetIdentityId =
285
+ canisterEnv["internet_identity"] ||
286
+ canisterEnv["PUBLIC_CANISTER_ID:internet_identity"] ||
287
+ canisterEnv["CANISTER_ID_INTERNET_IDENTITY"];
288
+ }
289
+ const isDev = typeof import.meta !== "undefined" && import.meta.env?.DEV;
290
+ if (isDev && typeof window !== "undefined") {
291
+ agentOptions.host = agentOptions.host ?? window.location.origin;
292
+ agentOptions.verifyQuerySignatures =
293
+ agentOptions.verifyQuerySignatures ?? false;
294
+ }
295
+ else {
296
+ agentOptions.verifyQuerySignatures =
297
+ agentOptions.verifyQuerySignatures ?? true;
298
+ }
299
+ if (canisterEnv?.IC_ROOT_KEY) {
300
+ agentOptions.rootKey = agentOptions.rootKey ?? canisterEnv.IC_ROOT_KEY;
301
+ }
302
+ }
265
303
  if (withProcessEnv) {
266
304
  const processNetwork = getProcessEnvNetwork();
267
305
  if (processNetwork === "ic") {
@@ -277,11 +315,15 @@ export class ClientManager {
277
315
  else if (withLocalEnv) {
278
316
  agentOptions.host = `http://127.0.0.1:${port}`;
279
317
  }
280
- else {
318
+ else if (!withCanisterEnv) {
319
+ // Only set default host if withCanisterEnv hasn't already configured it
281
320
  agentOptions.host = agentOptions.host ?? IC_HOST_NETWORK_URI;
282
321
  }
283
322
  __classPrivateFieldSet(this, _ClientManager_agent, HttpAgent.createSync(agentOptions), "f");
284
- this.updateAgentState({ isLocalhost: this.isLocal });
323
+ this.updateAgentState({
324
+ isLocalhost: this.isLocal,
325
+ network: this.network,
326
+ });
285
327
  if (authClient) {
286
328
  __classPrivateFieldSet(this, _ClientManager_authClient, authClient, "f");
287
329
  const identity = __classPrivateFieldGet(this, _ClientManager_authClient, "f").getIdentity();
@@ -416,6 +458,9 @@ export class ClientManager {
416
458
  }
417
459
  getDefaultIdentityProvider() {
418
460
  if (this.isLocal) {
461
+ if (this.internetIdentityId) {
462
+ return `http://${this.internetIdentityId}.localhost:${this.port}`;
463
+ }
419
464
  return LOCAL_INTERNET_IDENTITY_PROVIDER;
420
465
  }
421
466
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -17,10 +17,10 @@ type AsObject<T> = CombineObjects<{
17
17
  [K in keyof T as IsOptionalType<T[K]> extends true ? K : never]?: DisplayOf<T[K]>;
18
18
  }>;
19
19
  type AsOptional<T> = T extends [infer U] ? NullishType<DisplayOf<U>> : never;
20
- export type BlobType = Uint8Array | number[] | `0x${string}`;
20
+ export type BlobType = Uint8Array | number[] | string;
21
21
  export type NullishType<T> = T | null | undefined;
22
22
  export type DisplayCommonType<T> = T extends string ? string : T extends bigint ? string : T extends number ? number : T extends boolean ? boolean : T;
23
- export type DisplayOf<T> = IsOptionalType<T> extends true ? AsOptional<T> : IsBlobType<T> extends true ? BlobType : IsCandidVariant<T> extends true ? VariantUnionOf<T> : T extends Array<[string, infer B]> ? Map<string, DisplayOf<B>> : T extends (infer U)[] ? DisplayOf<U>[] : T extends null ? null : T extends Principal ? string : T extends object ? AsObject<T> : DisplayCommonType<T>;
23
+ export type DisplayOf<T> = IsOptionalType<T> extends true ? AsOptional<T> : IsBlobType<T> extends true ? BlobType : IsCandidVariant<T> extends true ? VariantUnionOf<T> : T extends Array<[string, infer B]> ? Record<string, DisplayOf<B>> : T extends (infer U)[] ? DisplayOf<U>[] : T extends null ? null : T extends Principal ? string : T extends object ? AsObject<T> : DisplayCommonType<T>;
24
24
  export type DisplayCodec<TC = unknown, TD = DisplayOf<TC>> = z.ZodCodec<z.ZodType<TC>, z.ZodType<TD>>;
25
25
  export interface ActorDisplayCodec<TC = unknown, TD = DisplayOf<TC>> {
26
26
  codec: DisplayCodec<TC, TD>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/display/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACb,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EAChB,MAAM,kBAAkB,CAAA;AAEzB,KAAK,UAAU,CAAC,CAAC,IACf,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GACtD;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GACjD,EAAE,GACF;KAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAAE,CAAC,GACtD,KAAK,CAAA;AAEX,KAAK,cAAc,CAAC,CAAC,IACnB,YAAY,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAC3B,CAAC,SAAS,GAAG,EAAE,GACb;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,GAC5C,KAAK,GACP,KAAK,CAAA;AAEX,KAAK,cAAc,CAAC,QAAQ,EAAE,QAAQ,IAAI,MAAM,QAAQ,SAAS,KAAK,GAClE,QAAQ,GACR,MAAM,QAAQ,SAAS,KAAK,GAC1B,QAAQ,GACR,QAAQ,GAAG,QAAQ,CAAA;AAEzB,KAAK,QAAQ,CAAC,CAAC,IAAI,cAAc,CAC/B;KACG,CAAC,IAAI,MAAM,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,CACxE,CAAC,CAAC,CAAC,CAAC,CACL;CACF,EACD;KACG,CAAC,IAAI,MAAM,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,SAAS,CACzE,CAAC,CAAC,CAAC,CAAC,CACL;CACF,CACF,CAAA;AAED,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AAE5E,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,EAAE,GAAG,KAAK,MAAM,EAAE,CAAA;AAE5D,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAA;AAEjD,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC/C,MAAM,GACN,CAAC,SAAS,MAAM,GACd,MAAM,GACN,CAAC,SAAS,MAAM,GACd,MAAM,GACN,CAAC,SAAS,OAAO,GACf,OAAO,GACP,CAAC,CAAA;AAEX,MAAM,MAAM,SAAS,CAAC,CAAC,IACrB,cAAc,CAAC,CAAC,CAAC,SAAS,IAAI,GAC1B,UAAU,CAAC,CAAC,CAAC,GACb,UAAU,CAAC,CAAC,CAAC,SAAS,IAAI,GACxB,QAAQ,GACR,eAAe,CAAC,CAAC,CAAC,SAAS,IAAI,GAC7B,cAAc,CAAC,CAAC,CAAC,GACjB,CAAC,SAAS,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAChC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GACzB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACnB,SAAS,CAAC,CAAC,CAAC,EAAE,GACd,CAAC,SAAS,IAAI,GACZ,IAAI,GACJ,CAAC,SAAS,SAAS,GACjB,MAAM,GACN,CAAC,SAAS,MAAM,GACd,QAAQ,CAAC,CAAC,CAAC,GACX,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAExC,MAAM,MAAM,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CACrE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EACb,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CACd,CAAA;AAED,MAAM,WAAW,iBAAiB,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;IACjE,KAAK,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC3B,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAA;IAC1B,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAA;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/display/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as z from "zod";
2
2
  import { IDL } from "@icp-sdk/core/candid";
3
3
  export declare class DisplayCodecVisitor extends IDL.Visitor<unknown, z.ZodTypeAny> {
4
+ private _recCache;
4
5
  visitType<T>(t: IDL.Type<T>, data: unknown): z.ZodTypeAny;
5
6
  visitPrimitive<T>(t: IDL.PrimitiveType<T>, data: unknown): z.ZodTypeAny;
6
7
  visitEmpty(_t: IDL.EmptyClass, _data: unknown): z.ZodTypeAny;
@@ -21,7 +22,7 @@ export declare class DisplayCodecVisitor extends IDL.Visitor<unknown, z.ZodTypeA
21
22
  visitRecord(_t: IDL.RecordClass, fields: Array<[string, IDL.Type]>, _data: unknown): z.ZodTypeAny;
22
23
  visitTuple<T extends any[]>(_t: IDL.TupleClass<T>, components: IDL.Type[], _data: unknown): z.ZodTypeAny;
23
24
  visitVariant(_t: IDL.VariantClass, fields: Array<[string, IDL.Type]>, _data: unknown): z.ZodTypeAny;
24
- visitRec<T>(_t: IDL.RecClass<T>, ty: IDL.ConstructType<T>, data: unknown): z.ZodTypeAny;
25
+ visitRec<T>(t: IDL.RecClass<T>, ty: IDL.ConstructType<T>, data: unknown): z.ZodTypeAny;
25
26
  visitFunc(_t: IDL.FuncClass, _data: unknown): z.ZodTypeAny;
26
27
  visitService(_t: IDL.ServiceClass, _data: unknown): z.ZodTypeAny;
27
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../src/display/visitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../src/display/visitor.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,17 @@
1
1
  import * as z from "zod";
2
2
  import { IDL } from "@icp-sdk/core/candid";
3
3
  import { Principal } from "@icp-sdk/core/principal";
4
- import { hexToUint8Array, uint8ArrayToHex } from "../utils/helper";
5
- import { isNullish, nonNullish } from "../utils/helper";
6
- import { createVariant } from "../utils";
4
+ import { createVariant, nonNullish, uint8ArrayToHex, hexToUint8Array, isNullish, } from "../utils";
7
5
  export class DisplayCodecVisitor extends IDL.Visitor {
6
+ constructor() {
7
+ super(...arguments);
8
+ Object.defineProperty(this, "_recCache", {
9
+ enumerable: true,
10
+ configurable: true,
11
+ writable: true,
12
+ value: new Map()
13
+ });
14
+ }
8
15
  visitType(t, data) {
9
16
  return t.accept(this, data);
10
17
  }
@@ -107,7 +114,7 @@ export class DisplayCodecVisitor extends IDL.Visitor {
107
114
  decode: (val) => {
108
115
  if (!val)
109
116
  return val;
110
- if (val.length <= 96)
117
+ if (val.length <= 512)
111
118
  return uint8ArrayToHex(val);
112
119
  return val;
113
120
  },
@@ -121,31 +128,43 @@ export class DisplayCodecVisitor extends IDL.Visitor {
121
128
  }
122
129
  // Regular array: codec each element
123
130
  const elemCodec = elemType.accept(this, null);
124
- // Extract input/output schemas from the nested codec
125
- const candidElemSchema = elemCodec instanceof z.ZodCodec ? elemCodec.in : elemCodec;
126
- const displayElemSchema = elemCodec instanceof z.ZodCodec ? elemCodec.out : elemCodec;
127
131
  // Special case: Vec<Tuple(Text, Value)> → Map (for key-value pairs)
128
132
  const isTextTuple = elemType instanceof IDL.TupleClass && elemType._fields.length === 2;
129
133
  if (isTextTuple) {
130
- return z.codec(z.array(candidElemSchema), z.union([z.array(displayElemSchema), z.instanceof(Map)]), {
131
- decode: (val) => new Map(val.map((elem) => elemCodec.decode(elem))),
134
+ return z.codec(z.any(), z.any(), {
135
+ decode: (val) => {
136
+ if (!Array.isArray(val))
137
+ return val;
138
+ return Object.fromEntries(val.map((elem) => elemCodec.decode(elem)));
139
+ },
132
140
  encode: (val) => {
133
- const entries = val instanceof Map ? Array.from(val.entries()) : val;
141
+ // If already array, encode elements directly
142
+ if (Array.isArray(val)) {
143
+ return val.map((elem) => elemCodec.encode(elem));
144
+ }
145
+ const entries = val && typeof val === "object" ? Object.entries(val) : val;
146
+ if (!Array.isArray(entries))
147
+ return entries;
134
148
  return entries.map((elem) => elemCodec.encode(elem));
135
149
  },
136
150
  });
137
151
  }
138
- return z.codec(z.array(candidElemSchema), z.array(displayElemSchema), {
139
- decode: (val) => val.map((elem) => elemCodec.decode(elem)),
140
- encode: (val) => val.map((elem) => elemCodec.encode(elem)),
152
+ return z.codec(z.any(), z.any(), {
153
+ decode: (val) => {
154
+ if (!Array.isArray(val))
155
+ return val;
156
+ return val.map((elem) => elemCodec.decode(elem));
157
+ },
158
+ encode: (val) => {
159
+ if (!Array.isArray(val))
160
+ return val;
161
+ return val.map((elem) => elemCodec.encode(elem));
162
+ },
141
163
  });
142
164
  }
143
165
  visitOpt(_t, elemType, _data) {
144
166
  const elemCodec = elemType.accept(this, null);
145
- // Extract input/output schemas from the nested codec
146
- const candidElemSchema = elemCodec instanceof z.ZodCodec ? elemCodec.in : elemCodec;
147
- const displayElemSchema = elemCodec instanceof z.ZodCodec ? elemCodec.out : elemCodec;
148
- return z.codec(z.union([z.tuple([]), z.tuple([candidElemSchema])]), z.nullish(displayElemSchema), {
167
+ return z.codec(z.any(), z.any(), {
149
168
  decode: (val) => {
150
169
  if (!Array.isArray(val) || val.length === 0)
151
170
  return undefined;
@@ -159,131 +178,139 @@ export class DisplayCodecVisitor extends IDL.Visitor {
159
178
  });
160
179
  }
161
180
  visitRecord(_t, fields, _data) {
162
- // Build field entries with codecs and schemas in one pass using fields
163
- const fieldEntries = fields.map(([fieldName, fieldType]) => {
164
- const codec = fieldType.accept(this, null);
165
- return {
166
- fieldName,
167
- codec,
168
- candidSchema: codec.in || codec,
169
- displaySchema: codec.out || codec,
170
- };
171
- });
172
- // Construct shapes directly from fieldEntries
173
- const candidShape = Object.fromEntries(fieldEntries.map(({ fieldName, candidSchema }) => [
174
- fieldName,
175
- candidSchema,
176
- ]));
177
- const displayShape = Object.fromEntries(fieldEntries.map(({ fieldName, displaySchema }) => [
181
+ const fieldEntries = fields.map(([fieldName, fieldType]) => ({
178
182
  fieldName,
179
- displaySchema,
180
- ]));
181
- return z.codec(z.object(candidShape), z.object(displayShape), {
182
- decode: (val) => Object.fromEntries(fieldEntries.map(({ fieldName, codec }) => [
183
- fieldName,
184
- codec.decode(val[fieldName]),
185
- ])),
186
- encode: (val) => Object.fromEntries(fieldEntries.map(({ fieldName, codec }) => [
187
- fieldName,
188
- codec.encode(val[fieldName]),
189
- ])),
183
+ codec: fieldType.accept(this, null),
184
+ }));
185
+ return z.codec(z.any(), z.any(), {
186
+ decode: (val) => {
187
+ if (!val || typeof val !== "object")
188
+ return val;
189
+ return Object.fromEntries(fieldEntries.map(({ fieldName, codec }) => [
190
+ fieldName,
191
+ codec.decode(val[fieldName]),
192
+ ]));
193
+ },
194
+ encode: (val) => {
195
+ if (!val || typeof val !== "object")
196
+ return val;
197
+ return Object.fromEntries(fieldEntries.map(({ fieldName, codec }) => [
198
+ fieldName,
199
+ codec.encode(val[fieldName]),
200
+ ]));
201
+ },
190
202
  });
191
203
  }
192
204
  visitTuple(_t, components, _data) {
193
205
  const componentCodecs = components.map((component) => component.accept(this, null));
194
- if (componentCodecs.length === 0) {
195
- return z.tuple([]);
196
- }
197
- // Extract input/output schemas from nested codecs
198
- const candidComponents = componentCodecs.map((codec) => codec.in || codec);
199
- const displayComponents = componentCodecs.map((codec) => codec.out || codec);
200
- return z.codec(z.tuple(candidComponents), z.tuple(displayComponents), {
201
- decode: (val) => val.map((elem, idx) => componentCodecs[idx].decode(elem)),
202
- encode: (val) => val.map((elem, idx) => componentCodecs[idx].encode(elem)),
206
+ return z.codec(z.any(), z.any(), {
207
+ decode: (val) => {
208
+ if (!Array.isArray(val))
209
+ return val;
210
+ return val.map((elem, idx) => componentCodecs[idx].decode(elem));
211
+ },
212
+ encode: (val) => {
213
+ if (!Array.isArray(val))
214
+ return val;
215
+ return val.map((elem, idx) => componentCodecs[idx].encode(elem));
216
+ },
203
217
  });
204
218
  }
205
219
  visitVariant(_t, fields, _data) {
206
- // Build codecs for variant values
207
220
  const variantCodecs = {};
208
221
  for (const [variantName, variantType] of fields) {
209
222
  variantCodecs[variantName] = variantType.accept(this, null);
210
223
  }
211
- // Extract input/output schemas from variant codecs
212
- const candidSchemas = {};
213
- const displaySchemas = {};
214
- for (const [variantName, codec] of Object.entries(variantCodecs)) {
215
- const codecAny = codec;
216
- candidSchemas[variantName] = codecAny.in || codec;
217
- displaySchemas[variantName] = codecAny.out || codec;
218
- }
219
- // Build Candid variant schemas (union of { Key: value })
220
- const candidVariants = fields.map(([variantName, _variantType]) => z.object({ [variantName]: candidSchemas[variantName] }));
221
- // Build Display variant schemas (union of { _type: "Key", Key?: value })
222
- const displayVariants = fields.map(([variantName, variantType]) => {
223
- const isNullVariant = variantType.name === "null";
224
- if (isNullVariant) {
225
- return z.object({ _type: z.literal(variantName) });
226
- }
227
- else {
228
- return z.object({
229
- _type: z.literal(variantName),
230
- [variantName]: displaySchemas[variantName],
231
- });
232
- }
233
- });
234
- const candidSchema = candidVariants.length === 1
235
- ? candidVariants[0]
236
- : z.union([
237
- candidVariants[0],
238
- candidVariants[1],
239
- ...candidVariants.slice(2),
240
- ]);
241
- const displaySchema = displayVariants.length === 1
242
- ? displayVariants[0]
243
- : z.union([
244
- displayVariants[0],
245
- displayVariants[1],
246
- ...displayVariants.slice(2),
247
- ]);
248
- return z.codec(candidSchema, displaySchema, {
224
+ const decode = (codec, val) => codec.decode ? codec.decode(val) : val;
225
+ const encode = (codec, val) => codec.encode ? codec.encode(val) : val;
226
+ return z.codec(z.any(), z.any(), {
249
227
  decode: (val) => {
250
- if (typeof val !== "object" || val === null || Array.isArray(val))
228
+ if (!val ||
229
+ typeof val !== "object" ||
230
+ Array.isArray(val) ||
231
+ val instanceof Principal ||
232
+ "_type" in val) {
233
+ return val;
234
+ }
235
+ const keys = Object.keys(val);
236
+ if (keys.length !== 1)
237
+ return val;
238
+ try {
239
+ const extracted = createVariant(val);
240
+ const key = extracted._type;
241
+ const fieldType = fields.find(([n]) => n === key)?.[1];
242
+ if (fieldType?.name === "null")
243
+ return { _type: key };
244
+ if (key in variantCodecs && nonNullish(extracted[key])) {
245
+ return {
246
+ _type: key,
247
+ [key]: decode(variantCodecs[key], extracted[key]),
248
+ };
249
+ }
250
+ return extracted;
251
+ }
252
+ catch {
251
253
  return val;
252
- const extracted = createVariant(val);
253
- const key = extracted._type;
254
- // Apply codec transformation if variant has a value
255
- if (key in extracted &&
256
- nonNullish(extracted[key]) &&
257
- key in variantCodecs) {
258
- return {
259
- ...extracted,
260
- [key]: variantCodecs[key].decode(extracted[key]),
261
- };
262
254
  }
263
- return extracted;
264
255
  },
265
256
  encode: (val) => {
266
- if (typeof val !== "object" || val === null || !("_type" in val))
257
+ if (!val ||
258
+ typeof val !== "object" ||
259
+ Array.isArray(val) ||
260
+ val instanceof Principal) {
261
+ return val;
262
+ }
263
+ try {
264
+ // Format 1: With _type property (from decode output)
265
+ if ("_type" in val) {
266
+ const key = val._type;
267
+ const fieldType = fields.find(([n]) => n === key)?.[1];
268
+ if (fieldType?.name === "null")
269
+ return { [key]: null };
270
+ if (key in variantCodecs && nonNullish(val[key])) {
271
+ return { [key]: encode(variantCodecs[key], val[key]) };
272
+ }
273
+ return { [key]: null };
274
+ }
275
+ // Format 2: Without _type (direct variant format from forms: { Add: value })
276
+ const keys = Object.keys(val);
277
+ if (keys.length === 1) {
278
+ const key = keys[0];
279
+ const fieldType = fields.find(([n]) => n === key)?.[1];
280
+ if (fieldType?.name === "null")
281
+ return { [key]: null };
282
+ if (key in variantCodecs && nonNullish(val[key])) {
283
+ return { [key]: encode(variantCodecs[key], val[key]) };
284
+ }
285
+ return { [key]: null };
286
+ }
287
+ // Unknown format - return as-is
288
+ return val;
289
+ }
290
+ catch {
267
291
  return val;
268
- const key = val._type;
269
- // Check if there's a value associated with this variant
270
- if (key in val && nonNullish(val[key]) && key in variantCodecs) {
271
- return { [key]: variantCodecs[key].encode(val[key]) };
272
292
  }
273
- // Null variant
274
- return { [key]: null };
275
293
  },
276
294
  });
277
295
  }
278
- visitRec(_t, ty, data) {
279
- // For recursive types, we create a lazy codec
280
- return z.lazy(() => ty.accept(this, data));
296
+ visitRec(t, ty, data) {
297
+ if (this._recCache.has(t))
298
+ return this._recCache.get(t);
299
+ const lazyCodec = z.codec(z.any(), z.any(), {
300
+ decode: (val) => {
301
+ const codec = ty.accept(this, data);
302
+ return codec.decode ? codec.decode(val) : val;
303
+ },
304
+ encode: (val) => {
305
+ const codec = ty.accept(this, data);
306
+ return codec.encode ? codec.encode(val) : val;
307
+ },
308
+ });
309
+ this._recCache.set(t, lazyCodec);
310
+ return lazyCodec;
281
311
  }
282
312
  visitFunc(_t, _data) {
283
- const principalSchema = z.custom((val) => val instanceof Principal, {
284
- message: "Expected Principal instance",
285
- });
286
- return z.codec(z.tuple([principalSchema, z.string()]), z.tuple([z.string(), z.string()]), {
313
+ return z.codec(z.any(), z.any(), {
287
314
  decode: (val) => {
288
315
  if (!Array.isArray(val) || val.length !== 2)
289
316
  return val;
@@ -307,9 +334,7 @@ export class DisplayCodecVisitor extends IDL.Visitor {
307
334
  });
308
335
  }
309
336
  visitService(_t, _data) {
310
- return z.codec(z.custom((val) => val instanceof Principal, {
311
- message: "Expected Principal instance",
312
- }), z.string(), {
337
+ return z.codec(z.any(), z.any(), {
313
338
  decode: (val) => (val instanceof Principal ? val.toText() : val),
314
339
  encode: (val) => typeof val === "string" ? Principal.fromText(val) : val,
315
340
  });