@ic-reactor/core 3.0.0-beta.7 → 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.
- package/README.md +5 -3
- package/dist/client.d.ts +3 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +48 -3
- package/dist/client.js.map +1 -1
- package/dist/display/types.d.ts +2 -2
- package/dist/display/types.d.ts.map +1 -1
- package/dist/display/visitor.d.ts +2 -1
- package/dist/display/visitor.d.ts.map +1 -1
- package/dist/display/visitor.js +146 -121
- package/dist/display/visitor.js.map +1 -1
- package/dist/display-reactor.d.ts +9 -92
- package/dist/display-reactor.d.ts.map +1 -1
- package/dist/display-reactor.js +5 -41
- package/dist/display-reactor.js.map +1 -1
- package/dist/reactor.d.ts +36 -4
- package/dist/reactor.d.ts.map +1 -1
- package/dist/reactor.js +101 -61
- package/dist/reactor.js.map +1 -1
- package/dist/types/client.d.ts +11 -0
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/display-reactor.d.ts +54 -0
- package/dist/types/display-reactor.d.ts.map +1 -0
- package/dist/types/display-reactor.js +5 -0
- package/dist/types/display-reactor.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/reactor.d.ts +10 -15
- package/dist/types/reactor.d.ts.map +1 -1
- package/dist/utils/constants.d.ts +1 -1
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +1 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/helper.d.ts +11 -1
- package/dist/utils/helper.d.ts.map +1 -1
- package/dist/utils/helper.js +22 -6
- package/dist/utils/helper.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/zod.d.ts +34 -0
- package/dist/utils/zod.d.ts.map +1 -0
- package/dist/utils/zod.js +39 -0
- package/dist/utils/zod.js.map +1 -0
- package/package.json +8 -7
- package/src/client.ts +570 -0
- package/src/display/helper.ts +92 -0
- package/src/display/index.ts +3 -0
- package/src/display/types.ts +91 -0
- package/src/display/visitor.ts +415 -0
- package/src/display-reactor.ts +361 -0
- package/src/errors/index.ts +246 -0
- package/src/index.ts +8 -0
- package/src/reactor.ts +461 -0
- package/src/types/client.ts +110 -0
- package/src/types/display-reactor.ts +73 -0
- package/src/types/index.ts +6 -0
- package/src/types/reactor.ts +188 -0
- package/src/types/result.ts +50 -0
- package/src/types/transform.ts +23 -0
- package/src/types/variant.ts +39 -0
- package/src/utils/agent.ts +201 -0
- package/src/utils/candid.ts +112 -0
- package/src/utils/constants.ts +12 -0
- package/src/utils/helper.ts +136 -0
- package/src/utils/index.ts +5 -0
- package/src/utils/polling.ts +330 -0
- package/src/utils/zod.ts +56 -0
- 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
|
-
|
|
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
|
-
|
|
203
|
-
|
|
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)
|
package/dist/client.d.ts.map
CHANGED
|
@@ -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;
|
|
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({
|
|
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 {
|
package/dist/client.js.map
CHANGED
|
@@ -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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"}
|
package/dist/display/types.d.ts
CHANGED
|
@@ -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[] |
|
|
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]> ?
|
|
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,
|
|
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>(
|
|
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":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../src/display/visitor.ts"],"names":[],"mappings":"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"}
|
package/dist/display/visitor.js
CHANGED
|
@@ -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 {
|
|
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 <=
|
|
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.
|
|
131
|
-
decode: (val) =>
|
|
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
|
-
|
|
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.
|
|
139
|
-
decode: (val) =>
|
|
140
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
180
|
-
|
|
181
|
-
return z.codec(z.
|
|
182
|
-
decode: (val) =>
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
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
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
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
|
-
|
|
212
|
-
const
|
|
213
|
-
|
|
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 (
|
|
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 (
|
|
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(
|
|
279
|
-
|
|
280
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
});
|