@ic-reactor/core 3.0.3-beta.5 → 3.0.3
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 +6 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +2 -3
- package/dist/client.js.map +1 -1
- package/dist/display/types.d.ts +4 -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 -41
- 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 +17 -1
- package/dist/reactor.d.ts.map +1 -1
- package/dist/reactor.js +60 -44
- package/dist/reactor.js.map +1 -1
- package/dist/types/display-reactor.d.ts +2 -2
- package/dist/types/display-reactor.d.ts.map +1 -1
- package/dist/types/reactor.d.ts +7 -7
- package/dist/types/reactor.d.ts.map +1 -1
- package/dist/types/transform.d.ts +1 -1
- package/dist/types/transform.d.ts.map +1 -1
- package/dist/utils/helper.d.ts +20 -1
- package/dist/utils/helper.d.ts.map +1 -1
- package/dist/utils/helper.js +37 -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/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +2 -1
- package/dist/version.js.map +1 -1
- package/package.json +7 -6
- package/src/client.ts +571 -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 +29 -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 +155 -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 +5 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Reactor } from "./reactor";
|
|
2
|
-
import { ActorMethodParameters, ActorMethodReturnType, FunctionName, ReactorArgs, ReactorReturnOk, ActorMethodCodecs, BaseActor } from "./types/reactor";
|
|
3
|
-
import { DisplayReactorParameters, DisplayValidator, ValidationResult
|
|
2
|
+
import { ActorMethodParameters, ActorMethodReturnType, FunctionName, ReactorArgs, ReactorReturnOk, ActorMethodCodecs, BaseActor, TransformKey } from "./types/reactor";
|
|
3
|
+
import { DisplayReactorParameters, DisplayValidator, ValidationResult } from "./types/display-reactor";
|
|
4
4
|
/**
|
|
5
5
|
* DisplayReactor provides automatic type transformations between Candid and
|
|
6
6
|
* display-friendly types, plus optional argument validation.
|
|
@@ -46,8 +46,8 @@ import { DisplayReactorParameters, DisplayValidator, ValidationResult, Validator
|
|
|
46
46
|
* })
|
|
47
47
|
* ```
|
|
48
48
|
*/
|
|
49
|
-
export declare class DisplayReactor<A = BaseActor> extends Reactor<A,
|
|
50
|
-
readonly transform
|
|
49
|
+
export declare class DisplayReactor<A = BaseActor, T extends TransformKey = "display"> extends Reactor<A, T> {
|
|
50
|
+
readonly transform: T;
|
|
51
51
|
private codecs;
|
|
52
52
|
private validators;
|
|
53
53
|
constructor(config: DisplayReactorParameters<A>);
|
|
@@ -116,7 +116,7 @@ export declare class DisplayReactor<A = BaseActor> extends Reactor<A, "display">
|
|
|
116
116
|
* }
|
|
117
117
|
* ```
|
|
118
118
|
*/
|
|
119
|
-
validate<M extends FunctionName<A>>(methodName: M, args: ReactorArgs<A, M,
|
|
119
|
+
validate<M extends FunctionName<A>>(methodName: M, args: ReactorArgs<A, M, T>): Promise<ValidationResult>;
|
|
120
120
|
/**
|
|
121
121
|
* Call a method with async validation support.
|
|
122
122
|
* Use this instead of callMethod() when you have async validators.
|
|
@@ -143,52 +143,20 @@ export declare class DisplayReactor<A = BaseActor> extends Reactor<A, "display">
|
|
|
143
143
|
*/
|
|
144
144
|
callMethodWithValidation<M extends FunctionName<A>>(params: {
|
|
145
145
|
functionName: M;
|
|
146
|
-
args?: ReactorArgs<A, M,
|
|
146
|
+
args?: ReactorArgs<A, M, T>;
|
|
147
147
|
callConfig?: Parameters<Reactor<A, "display">["callMethod"]>[0]["callConfig"];
|
|
148
|
-
}): Promise<ReactorReturnOk<A, M,
|
|
148
|
+
}): Promise<ReactorReturnOk<A, M, T>>;
|
|
149
149
|
/**
|
|
150
150
|
* Transform arguments before calling the actor method.
|
|
151
151
|
* 1. Validates display-type args (if validator registered)
|
|
152
152
|
* 2. Converts Display → Candid
|
|
153
153
|
*/
|
|
154
|
-
protected transformArgs<M extends FunctionName<A>>(methodName: M, args?: ReactorArgs<A, M,
|
|
154
|
+
protected transformArgs<M extends FunctionName<A>>(methodName: M, args?: ReactorArgs<A, M, T>): ActorMethodParameters<A[M]>;
|
|
155
155
|
/**
|
|
156
156
|
* Transform the result after calling the actor method.
|
|
157
157
|
* Always extracts the Ok value from Result types (throws CanisterError on Err).
|
|
158
158
|
* Also converts Candid → Display format.
|
|
159
159
|
*/
|
|
160
|
-
protected transformResult<M extends FunctionName<A>>(methodName: M, result: ActorMethodReturnType<A[M]>): ReactorReturnOk<A, M,
|
|
160
|
+
protected transformResult<M extends FunctionName<A>>(methodName: M, result: ActorMethodReturnType<A[M]>): ReactorReturnOk<A, M, T>;
|
|
161
161
|
}
|
|
162
|
-
/**
|
|
163
|
-
* Create a validator from a Zod schema.
|
|
164
|
-
* This is a utility function to easily integrate Zod schemas as validators.
|
|
165
|
-
*
|
|
166
|
-
* @param schema - A Zod schema to validate against
|
|
167
|
-
* @returns A Validator function compatible with DisplayReactor
|
|
168
|
-
*
|
|
169
|
-
* @example
|
|
170
|
-
* ```typescript
|
|
171
|
-
* import { z } from "zod"
|
|
172
|
-
* import { fromZodSchema } from "@ic-reactor/core"
|
|
173
|
-
*
|
|
174
|
-
* const transferSchema = z.object({
|
|
175
|
-
* to: z.string().min(1, "Recipient is required"),
|
|
176
|
-
* amount: z.string().regex(/^\d+$/, "Must be a valid number"),
|
|
177
|
-
* })
|
|
178
|
-
*
|
|
179
|
-
* reactor.registerValidator("transfer", fromZodSchema(transferSchema))
|
|
180
|
-
* ```
|
|
181
|
-
*/
|
|
182
|
-
export declare function fromZodSchema<T>(schema: {
|
|
183
|
-
safeParse: (data: unknown) => {
|
|
184
|
-
success: boolean;
|
|
185
|
-
error?: {
|
|
186
|
-
issues: Array<{
|
|
187
|
-
path: (string | number)[];
|
|
188
|
-
message: string;
|
|
189
|
-
code?: string;
|
|
190
|
-
}>;
|
|
191
|
-
};
|
|
192
|
-
};
|
|
193
|
-
}): Validator<T[]>;
|
|
194
162
|
//# sourceMappingURL=display-reactor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display-reactor.d.ts","sourceRoot":"","sources":["../src/display-reactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,SAAS,
|
|
1
|
+
{"version":3,"file":"display-reactor.d.ts","sourceRoot":"","sources":["../src/display-reactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,YAAY,EACb,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAEjB,MAAM,yBAAyB,CAAA;AAMhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBAAa,cAAc,CACzB,CAAC,GAAG,SAAS,EACb,CAAC,SAAS,YAAY,GAAG,SAAS,CAClC,SAAQ,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACrB,SAAgB,SAAS,EAAgB,CAAC,CAAA;IAC1C,OAAO,CAAC,MAAM,CAGD;IACb,OAAO,CAAC,UAAU,CAAyC;gBAE/C,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAc/C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;;;;OAKG;IACI,QAAQ,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EACvC,UAAU,EAAE,CAAC,GACZ,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;IAajC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,iBAAiB,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EACzC,UAAU,EAAE,CAAC,EACb,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAChC,IAAI;IAIP;;OAEG;IACH,mBAAmB,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,IAAI;IAInE;;OAEG;IACH,YAAY,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO;IAI/D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,QAAQ,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EACtC,UAAU,EAAE,CAAC,EACb,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACzB,OAAO,CAAC,gBAAgB,CAAC;IAS5B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,wBAAwB,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE;QAChE,YAAY,EAAE,CAAC,CAAA;QACf,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3B,UAAU,CAAC,EAAE,UAAU,CACrB,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,YAAY,CAAC,CACpC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;KACnB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IA8BrC;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAC/C,UAAU,EAAE,CAAC,EACb,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC1B,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAuC9B;;;;OAIG;IACH,SAAS,CAAC,eAAe,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EACjD,UAAU,EAAE,CAAC,EACb,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAClC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CAgB5B"}
|
package/dist/display-reactor.js
CHANGED
|
@@ -230,6 +230,7 @@ export class DisplayReactor extends Reactor {
|
|
|
230
230
|
this.validators.delete(params.functionName);
|
|
231
231
|
}
|
|
232
232
|
try {
|
|
233
|
+
// @ts-ignore
|
|
233
234
|
return await this.callMethod(params);
|
|
234
235
|
}
|
|
235
236
|
finally {
|
|
@@ -250,8 +251,9 @@ export class DisplayReactor extends Reactor {
|
|
|
250
251
|
transformArgs(methodName, args) {
|
|
251
252
|
// 1. Validate FIRST (on display types)
|
|
252
253
|
const validator = this.validators.get(methodName);
|
|
253
|
-
|
|
254
|
-
|
|
254
|
+
const displayArgs = args;
|
|
255
|
+
if (validator && displayArgs) {
|
|
256
|
+
const result = validator(displayArgs);
|
|
255
257
|
// Handle Promise (async validator)
|
|
256
258
|
if (result &&
|
|
257
259
|
typeof result.then === "function") {
|
|
@@ -266,7 +268,7 @@ export class DisplayReactor extends Reactor {
|
|
|
266
268
|
// 2. THEN transform: Display → Candid
|
|
267
269
|
if (this.codecs.has(methodName)) {
|
|
268
270
|
const codec = this.codecs.get(methodName);
|
|
269
|
-
return transformArgsWithCodec(codec.args,
|
|
271
|
+
return transformArgsWithCodec(codec.args, displayArgs);
|
|
270
272
|
}
|
|
271
273
|
if (!args) {
|
|
272
274
|
return [];
|
|
@@ -290,42 +292,4 @@ export class DisplayReactor extends Reactor {
|
|
|
290
292
|
return extractOkResult(transformedResult);
|
|
291
293
|
}
|
|
292
294
|
}
|
|
293
|
-
// ============================================================================
|
|
294
|
-
// Zod Integration Helper
|
|
295
|
-
// ============================================================================
|
|
296
|
-
/**
|
|
297
|
-
* Create a validator from a Zod schema.
|
|
298
|
-
* This is a utility function to easily integrate Zod schemas as validators.
|
|
299
|
-
*
|
|
300
|
-
* @param schema - A Zod schema to validate against
|
|
301
|
-
* @returns A Validator function compatible with DisplayReactor
|
|
302
|
-
*
|
|
303
|
-
* @example
|
|
304
|
-
* ```typescript
|
|
305
|
-
* import { z } from "zod"
|
|
306
|
-
* import { fromZodSchema } from "@ic-reactor/core"
|
|
307
|
-
*
|
|
308
|
-
* const transferSchema = z.object({
|
|
309
|
-
* to: z.string().min(1, "Recipient is required"),
|
|
310
|
-
* amount: z.string().regex(/^\d+$/, "Must be a valid number"),
|
|
311
|
-
* })
|
|
312
|
-
*
|
|
313
|
-
* reactor.registerValidator("transfer", fromZodSchema(transferSchema))
|
|
314
|
-
* ```
|
|
315
|
-
*/
|
|
316
|
-
export function fromZodSchema(schema) {
|
|
317
|
-
return (args) => {
|
|
318
|
-
// Validate the first argument (common IC pattern)
|
|
319
|
-
const result = schema.safeParse(args[0]);
|
|
320
|
-
if (result.success) {
|
|
321
|
-
return { success: true };
|
|
322
|
-
}
|
|
323
|
-
const issues = result.error.issues.map((issue) => ({
|
|
324
|
-
path: issue.path,
|
|
325
|
-
message: issue.message,
|
|
326
|
-
code: issue.code,
|
|
327
|
-
}));
|
|
328
|
-
return { success: false, issues };
|
|
329
|
-
};
|
|
330
|
-
}
|
|
331
295
|
//# sourceMappingURL=display-reactor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display-reactor.js","sourceRoot":"","sources":["../src/display-reactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,GAEjB,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"display-reactor.js","sourceRoot":"","sources":["../src/display-reactor.ts"],"names":[],"mappings":"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"}
|
package/dist/reactor.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ import { Principal } from "@icp-sdk/core/principal";
|
|
|
18
18
|
export declare class Reactor<A = BaseActor, T extends TransformKey = "candid"> {
|
|
19
19
|
/** Phantom type brand for inference - never assigned at runtime */
|
|
20
20
|
readonly _actor: A;
|
|
21
|
-
readonly transform:
|
|
21
|
+
readonly transform: TransformKey;
|
|
22
22
|
clientManager: ClientManager;
|
|
23
23
|
name: string;
|
|
24
24
|
canisterId: Principal;
|
|
@@ -41,6 +41,22 @@ export declare class Reactor<A = BaseActor, T extends TransformKey = "candid"> {
|
|
|
41
41
|
* ```
|
|
42
42
|
*/
|
|
43
43
|
setCanisterId(canisterId: CanisterId): void;
|
|
44
|
+
/**
|
|
45
|
+
* Set the canister name for this reactor.
|
|
46
|
+
* Useful for dynamically switching between canisters of the same type (e.g., multiple ICRC tokens).
|
|
47
|
+
*
|
|
48
|
+
* @param name - The new canister name
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* // Switch to a different ledger canister
|
|
53
|
+
* ledgerReactor.setCanisterName("icrc1")
|
|
54
|
+
*
|
|
55
|
+
* // Then use queries/mutations as normal
|
|
56
|
+
* const { data } = icrc1NameQuery.useQuery()
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
setCanisterName(name: string): void;
|
|
44
60
|
protected verifyCanister(): void;
|
|
45
61
|
/**
|
|
46
62
|
* Get the service interface (IDL.ServiceClass) for this reactor.
|
package/dist/reactor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../src/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EACjB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACvE,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACX,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AASnD;;;;;;;;;;GAUG;AACH,qBAAa,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,SAAS,YAAY,GAAG,QAAQ;IACnE,mEAAmE;IACnE,SAAiB,MAAM,EAAE,CAAC,CAAA;IAC1B,SAAgB,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../src/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EACjB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACvE,OAAO,KAAK,EACV,iBAAiB,EACjB,SAAS,EACT,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACX,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AASnD;;;;;;;;;;GAUG;AACH,qBAAa,OAAO,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,SAAS,YAAY,GAAG,QAAQ;IACnE,mEAAmE;IACnE,SAAiB,MAAM,EAAE,CAAC,CAAA;IAC1B,SAAgB,SAAS,EAAE,YAAY,CAAW;IAC3C,aAAa,EAAE,aAAa,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,SAAS,CAAA;IACrB,OAAO,EAAE,GAAG,CAAC,YAAY,CAAA;IACzB,cAAc,EAAE,cAAc,CAAA;gBAEzB,MAAM,EAAE,iBAAiB;IAmCrC;;;;;;;;;;;;;;OAcG;IACI,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAMlD;;;;;;;;;;;;;;OAcG;IACI,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI1C,SAAS,CAAC,cAAc;IAIxB;;;;OAIG;IACI,mBAAmB,IAAI,GAAG,CAAC,YAAY;IAI9C;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAC9C,UAAU,EAAE,CAAC,GACZ,GAAG,CAAC,SAAS,GAAG,IAAI;IAKvB;;OAEG;IACI,aAAa,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO;IAavE;;;OAGG;IACH,SAAS,CAAC,aAAa,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAC/C,WAAW,EAAE,CAAC,EACd,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC1B,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAO9B;;;OAGG;IACH,SAAS,CAAC,eAAe,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EACjD,WAAW,EAAE,CAAC,EACd,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAClC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAQpB,gBAAgB,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAC/C,MAAM,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAClC,QAAQ;IAkBJ,eAAe,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAC9C,MAAM,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACjC,iBAAiB,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAO9C;;;;;;;;;;;;;;;;;OAiBG;IACI,iBAAiB,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAChD,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAmB/C;;;;;;;;;;;;;;;;;;;OAmBG;IACU,UAAU,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAC/C,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,GACnD,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAmEpC;;;OAGG;IACU,UAAU,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAC/C,MAAM,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACjC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAKpC;;OAEG;IACI,YAAY,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAC3C,MAAM,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAClC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IAKvC;;OAEG;cACa,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,UAAU,EACf,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,UAAU,CAAC;IActB;;OAEG;cACa,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,UAAU,EACf,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,UAAU,CAAC;IAuBtB;;OAEG;IACU,QAAQ;IAIrB;;OAEG;IACU,WAAW,CAAC,OAAO,EAAE,gBAAgB;IASlD;;;OAGG;IACH,IAAI,WAAW,+CAEd;IAED;;;OAGG;IACH,IAAI,KAAK,4CAER;CACF"}
|
package/dist/reactor.js
CHANGED
|
@@ -3,7 +3,7 @@ import { IDL } from "@icp-sdk/core/candid";
|
|
|
3
3
|
import { Principal } from "@icp-sdk/core/principal";
|
|
4
4
|
import { generateKey, extractOkResult } from "./utils/helper";
|
|
5
5
|
import { processQueryCallResponse, processUpdateCallResponse, } from "./utils/agent";
|
|
6
|
-
import { CallError, CanisterError } from "./errors";
|
|
6
|
+
import { CallError, CanisterError, ValidationError } from "./errors";
|
|
7
7
|
import { safeGetCanisterEnv } from "@icp-sdk/core/agent/canister-env";
|
|
8
8
|
/**
|
|
9
9
|
* Reactor class for interacting with IC canisters.
|
|
@@ -99,6 +99,24 @@ export class Reactor {
|
|
|
99
99
|
// Register the new canister ID for delegation
|
|
100
100
|
this.clientManager.registerCanisterId(this.canisterId.toString(), this.name);
|
|
101
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Set the canister name for this reactor.
|
|
104
|
+
* Useful for dynamically switching between canisters of the same type (e.g., multiple ICRC tokens).
|
|
105
|
+
*
|
|
106
|
+
* @param name - The new canister name
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```typescript
|
|
110
|
+
* // Switch to a different ledger canister
|
|
111
|
+
* ledgerReactor.setCanisterName("icrc1")
|
|
112
|
+
*
|
|
113
|
+
* // Then use queries/mutations as normal
|
|
114
|
+
* const { data } = icrc1NameQuery.useQuery()
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
setCanisterName(name) {
|
|
118
|
+
this.name = name;
|
|
119
|
+
}
|
|
102
120
|
verifyCanister() {
|
|
103
121
|
// Optional: add any verification logic here
|
|
104
122
|
}
|
|
@@ -169,23 +187,7 @@ export class Reactor {
|
|
|
169
187
|
getQueryOptions(params) {
|
|
170
188
|
return {
|
|
171
189
|
queryKey: this.generateQueryKey(params),
|
|
172
|
-
queryFn:
|
|
173
|
-
try {
|
|
174
|
-
return await this.callMethod(params);
|
|
175
|
-
}
|
|
176
|
-
catch (error) {
|
|
177
|
-
// Re-throw CanisterError as-is (business logic error from canister)
|
|
178
|
-
if (error instanceof CanisterError) {
|
|
179
|
-
throw error;
|
|
180
|
-
}
|
|
181
|
-
let message = `Failed to query method "${String(params.functionName)}": `;
|
|
182
|
-
// Wrap other errors in CallError (network/agent issues)
|
|
183
|
-
if (error instanceof Error) {
|
|
184
|
-
throw new CallError(message + error.message, error);
|
|
185
|
-
}
|
|
186
|
-
throw new CallError(message + String(error), error);
|
|
187
|
-
}
|
|
188
|
-
},
|
|
190
|
+
queryFn: () => this.callMethod(params),
|
|
189
191
|
};
|
|
190
192
|
}
|
|
191
193
|
/**
|
|
@@ -242,34 +244,48 @@ export class Reactor {
|
|
|
242
244
|
* ```
|
|
243
245
|
*/
|
|
244
246
|
async callMethod(params) {
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
func.annotations.includes("
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
247
|
+
try {
|
|
248
|
+
const func = this.getFuncClass(params.functionName);
|
|
249
|
+
if (!func) {
|
|
250
|
+
throw new Error(`Method ${String(params.functionName)} not found`);
|
|
251
|
+
}
|
|
252
|
+
// Transform args
|
|
253
|
+
const transformedArgs = this.transformArgs(params.functionName, params.args);
|
|
254
|
+
// Encode arguments using Candid
|
|
255
|
+
const arg = IDL.encode(func.argTypes, transformedArgs);
|
|
256
|
+
// Determine if this is a query or update call
|
|
257
|
+
const isQuery = func.annotations.includes("query") ||
|
|
258
|
+
func.annotations.includes("composite_query");
|
|
259
|
+
// Execute the call
|
|
260
|
+
let rawResponse;
|
|
261
|
+
if (isQuery) {
|
|
262
|
+
rawResponse = await this.executeQuery(String(params.functionName), arg, params.callConfig);
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
rawResponse = await this.executeCall(String(params.functionName), arg, params.callConfig);
|
|
266
|
+
}
|
|
267
|
+
// Decode the result
|
|
268
|
+
const decoded = IDL.decode(func.retTypes, rawResponse);
|
|
269
|
+
// Handle single, zero, and multiple return values appropriately
|
|
270
|
+
const response = (decoded.length === 0
|
|
271
|
+
? undefined
|
|
272
|
+
: decoded.length === 1
|
|
273
|
+
? decoded[0]
|
|
274
|
+
: decoded);
|
|
275
|
+
return this.transformResult(params.functionName, response);
|
|
260
276
|
}
|
|
261
|
-
|
|
262
|
-
|
|
277
|
+
catch (error) {
|
|
278
|
+
// Re-throw CanisterError as-is (business logic error from canister)
|
|
279
|
+
if (error instanceof CanisterError || error instanceof ValidationError) {
|
|
280
|
+
throw error;
|
|
281
|
+
}
|
|
282
|
+
const message = `Failed to call method "${String(params.functionName)}": `;
|
|
283
|
+
// Wrap other errors in CallError (network/agent issues)
|
|
284
|
+
if (error instanceof Error) {
|
|
285
|
+
throw new CallError(message + error.message, error);
|
|
286
|
+
}
|
|
287
|
+
throw new CallError(message + String(error), error);
|
|
263
288
|
}
|
|
264
|
-
// Decode the result
|
|
265
|
-
const decoded = IDL.decode(func.retTypes, rawResponse);
|
|
266
|
-
// Handle single, zero, and multiple return values appropriately
|
|
267
|
-
const response = (decoded.length === 0
|
|
268
|
-
? undefined
|
|
269
|
-
: decoded.length === 1
|
|
270
|
-
? decoded[0]
|
|
271
|
-
: decoded);
|
|
272
|
-
return this.transformResult(params.functionName, response);
|
|
273
289
|
}
|
|
274
290
|
/**
|
|
275
291
|
* Fetch data from the canister and cache it using React Query.
|
package/dist/reactor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor.js","sourceRoot":"","sources":["../src/reactor.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EACL,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"reactor.js","sourceRoot":"","sources":["../src/reactor.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ export type Validator<Args = unknown[]> = (args: Args) => ValidationResult | Pro
|
|
|
42
42
|
* Validator that receives display types for a specific method.
|
|
43
43
|
*/
|
|
44
44
|
export type DisplayValidator<A, M extends FunctionName<A>> = Validator<ReactorArgs<A, M, "display">>;
|
|
45
|
-
export
|
|
45
|
+
export interface DisplayReactorParameters<A = BaseActor> extends ReactorParameters {
|
|
46
46
|
/**
|
|
47
47
|
* Optional initial validators to register.
|
|
48
48
|
* Validators receive display types (strings for Principal, bigint, etc.)
|
|
@@ -50,5 +50,5 @@ export type DisplayReactorParameters<A = BaseActor> = ReactorParameters & {
|
|
|
50
50
|
validators?: Partial<{
|
|
51
51
|
[M in FunctionName<A>]: DisplayValidator<A, M>;
|
|
52
52
|
}>;
|
|
53
|
-
}
|
|
53
|
+
}
|
|
54
54
|
//# sourceMappingURL=display-reactor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display-reactor.d.ts","sourceRoot":"","sources":["../../src/types/display-reactor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EACL,SAAS,EACT,YAAY,EACZ,WAAW,EACX,iBAAiB,EAClB,MAAM,WAAW,CAAA;AAElB;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACjB;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,CAAA;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,SAAS,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CACxC,IAAI,EAAE,IAAI,KACP,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAEjD;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,IAAI,SAAS,CACpE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAC7B,CAAA;AAMD,MAAM,
|
|
1
|
+
{"version":3,"file":"display-reactor.d.ts","sourceRoot":"","sources":["../../src/types/display-reactor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EACL,SAAS,EACT,YAAY,EACZ,WAAW,EACX,iBAAiB,EAClB,MAAM,WAAW,CAAA;AAElB;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACjB;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,CAAA;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,SAAS,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CACxC,IAAI,EAAE,IAAI,KACP,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAEjD;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,IAAI,SAAS,CACpE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAC7B,CAAA;AAMD,MAAM,WAAW,wBAAwB,CACvC,CAAC,GAAG,SAAS,CACb,SAAQ,iBAAiB;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;SAClB,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;KAC/C,CAAC,CAAA;CACH"}
|
package/dist/types/reactor.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ActorMethod, ActorSubclass, CallConfig,
|
|
1
|
+
import type { ActorMethod, ActorSubclass, CallConfig, PollingOptions } from "@icp-sdk/core/agent";
|
|
2
2
|
import type { Principal } from "@icp-sdk/core/principal";
|
|
3
3
|
import type { QueryKey } from "@tanstack/query-core";
|
|
4
4
|
import type { ClientManager } from "../client";
|
|
@@ -14,11 +14,12 @@ export type FunctionType = "query" | "update";
|
|
|
14
14
|
export type CanisterId = string | Principal;
|
|
15
15
|
export type ActorMethodParameters<T> = T extends ActorMethod<infer Args, any> ? Args : never;
|
|
16
16
|
export type ActorMethodReturnType<T> = T extends ActorMethod<any, infer Ret> ? Ret : never;
|
|
17
|
-
export interface ReactorParameters
|
|
17
|
+
export interface ReactorParameters {
|
|
18
18
|
clientManager: ClientManager;
|
|
19
19
|
name: string;
|
|
20
20
|
idlFactory: (IDL: any) => any;
|
|
21
21
|
canisterId?: CanisterId;
|
|
22
|
+
pollingOptions?: PollingOptions;
|
|
22
23
|
}
|
|
23
24
|
export type ActorMethodType<A, M extends keyof A> = {
|
|
24
25
|
(...args: ActorMethodParameters<A[M]>): Promise<ActorMethodReturnType<A[M]>>;
|
|
@@ -59,14 +60,14 @@ export interface TransformArgsRegistry<T> {
|
|
|
59
60
|
* }
|
|
60
61
|
* ```
|
|
61
62
|
*/
|
|
62
|
-
export interface TransformReturnRegistry<T> {
|
|
63
|
+
export interface TransformReturnRegistry<T, A = BaseActor> {
|
|
63
64
|
candid: T;
|
|
64
65
|
display: DisplayOf<T>;
|
|
65
66
|
}
|
|
66
67
|
/**
|
|
67
68
|
* Helper type to transform args array elements using ToDisplay
|
|
68
69
|
*/
|
|
69
|
-
type AsDisplayArgs<T> = T extends readonly unknown[] ? {
|
|
70
|
+
export type AsDisplayArgs<T> = T extends readonly unknown[] ? {
|
|
70
71
|
[K in keyof T]: DisplayOf<T[K]>;
|
|
71
72
|
} : DisplayOf<T>;
|
|
72
73
|
/**
|
|
@@ -83,8 +84,8 @@ export type ReactorArgs<A, M extends FunctionName<A>, Transform extends Transfor
|
|
|
83
84
|
* Apply return type transformation based on the transform key.
|
|
84
85
|
* Looks up the transform in TransformReturnRegistry.
|
|
85
86
|
*/
|
|
86
|
-
export type ReactorReturnOk<A, M extends FunctionName<A>, Transform extends TransformKey = "candid"> = TransformReturnRegistry<OkResult<ActorMethodReturnType<A[M]
|
|
87
|
-
export type ReactorReturnErr<A, M extends FunctionName<A>, Transform extends TransformKey = "candid"> = CanisterError<TransformReturnRegistry<ErrResult<ActorMethodReturnType<A[M]
|
|
87
|
+
export type ReactorReturnOk<A, M extends FunctionName<A>, Transform extends TransformKey = "candid"> = TransformReturnRegistry<OkResult<ActorMethodReturnType<A[M]>>, A>[Transform];
|
|
88
|
+
export type ReactorReturnErr<A, M extends FunctionName<A>, Transform extends TransformKey = "candid"> = CanisterError<TransformReturnRegistry<ErrResult<ActorMethodReturnType<A[M]>>, A>[Transform]> | CallError;
|
|
88
89
|
/**
|
|
89
90
|
* Helper type for actor method codecs returend by getCodec
|
|
90
91
|
*/
|
|
@@ -108,5 +109,4 @@ export interface ReactorQueryParams<A, M extends FunctionName<A>, T extends Tran
|
|
|
108
109
|
export interface ReactorCallParams<A, M extends FunctionName<A>, T extends TransformKey = "candid"> extends ReactorQueryParams<A, M, T> {
|
|
109
110
|
callConfig?: CallConfig;
|
|
110
111
|
}
|
|
111
|
-
export {};
|
|
112
112
|
//# sourceMappingURL=reactor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../src/types/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../src/types/reactor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
type UnionToIntersection<U> = (U extends any ? (x: U) => void : never) extends (x: infer I) => void ? I : never;
|
|
2
2
|
type Last<T> = UnionToIntersection<T extends any ? (x: T) => void : never> extends (x: infer L) => void ? L : never;
|
|
3
3
|
export type UnionToTuple<T, L = Last<T>> = [T] extends [never] ? [] : [...UnionToTuple<Exclude<T, L>>, L];
|
|
4
|
-
export type IsBlobType<T> = T extends Uint8Array
|
|
4
|
+
export type IsBlobType<T> = T extends Uint8Array ? true : T extends number[] ? number[] extends T ? true : false : false;
|
|
5
5
|
export type IsOptionalType<T> = [T] extends [[] | [any]] ? true : false;
|
|
6
6
|
export {};
|
|
7
7
|
//# sourceMappingURL=transform.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/types/transform.ts"],"names":[],"mappings":"AAAA,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAC7E,CAAC,EAAE,MAAM,CAAC,KACP,IAAI,GACL,CAAC,GACD,KAAK,CAAA;AAGT,KAAK,IAAI,CAAC,CAAC,IACT,mBAAmB,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAClE,CAAC,EAAE,MAAM,CAAC,KACP,IAAI,GACL,CAAC,GACD,KAAK,CAAA;AAIX,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC1D,EAAE,GACF,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEvC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/types/transform.ts"],"names":[],"mappings":"AAAA,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAC7E,CAAC,EAAE,MAAM,CAAC,KACP,IAAI,GACL,CAAC,GACD,KAAK,CAAA;AAGT,KAAK,IAAI,CAAC,CAAC,IACT,mBAAmB,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAClE,CAAC,EAAE,MAAM,CAAC,KACP,IAAI,GACL,CAAC,GACD,KAAK,CAAA;AAIX,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC1D,EAAE,GACF,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEvC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,GAC5C,IAAI,GACJ,CAAC,SAAS,MAAM,EAAE,GAChB,MAAM,EAAE,SAAS,CAAC,GAChB,IAAI,GACJ,KAAK,GACP,KAAK,CAAA;AAEX,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA"}
|
package/dist/utils/helper.d.ts
CHANGED
|
@@ -12,6 +12,15 @@ export declare const isInLocalOrDevelopment: () => boolean;
|
|
|
12
12
|
* @returns The network name, defaulting to "ic" if not specified.
|
|
13
13
|
*/
|
|
14
14
|
export declare const getProcessEnvNetwork: () => string;
|
|
15
|
+
/**
|
|
16
|
+
* Detect whether the runtime should be considered *development*.
|
|
17
|
+
*
|
|
18
|
+
* Checks in order:
|
|
19
|
+
* - `import.meta.env?.DEV` (Vite / ESM environments)
|
|
20
|
+
* - `process.env.NODE_ENV === 'development'` (Node)
|
|
21
|
+
* - `process.env.DFX_NETWORK === 'local'` (local IC replica)
|
|
22
|
+
*/
|
|
23
|
+
export declare const isDev: () => boolean;
|
|
15
24
|
/**
|
|
16
25
|
* Determines the network type based on the provided hostname.
|
|
17
26
|
*
|
|
@@ -30,8 +39,18 @@ export declare function getNetworkByHostname(hostname: string): "local" | "remot
|
|
|
30
39
|
export declare function extractOkResult<T>(result: T): OkResult<T>;
|
|
31
40
|
export declare const isNullish: (value: unknown) => value is null | undefined;
|
|
32
41
|
export declare const nonNullish: <T>(value: T | null | undefined) => value is T;
|
|
33
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Converts a Uint8Array or number array to a hex string (without 0x prefix)
|
|
44
|
+
*/
|
|
45
|
+
export declare const uint8ArrayToHex: (bytes: Uint8Array | number[]) => string;
|
|
46
|
+
/**
|
|
47
|
+
* Converts a hex string to Uint8Array (accepts with or without 0x prefix)
|
|
48
|
+
*/
|
|
34
49
|
export declare const hexToUint8Array: (hex: string) => Uint8Array<ArrayBuffer>;
|
|
50
|
+
/**
|
|
51
|
+
* Formats hex string with 0x prefix for display purposes
|
|
52
|
+
*/
|
|
53
|
+
export declare const formatHexDisplay: (hex: string) => `0x${string}`;
|
|
35
54
|
/**
|
|
36
55
|
* Converts a JSON-serializable value to a string, handling BigInt values.
|
|
37
56
|
* @param value - The value to convert
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/utils/helper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAEnC,eAAO,MAAM,WAAW,GAAI,MAAM,GAAG,EAAE,WAItC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,eAElC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,cAGhC,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GACf,OAAO,GAAG,QAAQ,GAAG,IAAI,CAQ3B;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CA0BzD;AAED,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,IAAI,GAAG,SACpB,CAAA;AAEvC,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,KAAG,KAAK,IAAI,CAC9B,CAAA;AAEvC,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/utils/helper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAEnC,eAAO,MAAM,WAAW,GAAI,MAAM,GAAG,EAAE,WAItC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,eAElC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,cAGhC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,QAAO,OASxB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GACf,OAAO,GAAG,QAAQ,GAAG,IAAI,CAQ3B;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CA0BzD;AAED,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,IAAI,GAAG,SACpB,CAAA;AAEvC,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,KAAG,KAAK,IAAI,CAC9B,CAAA;AAEvC;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,UAAU,GAAG,MAAM,EAAE,KAAG,MAI9D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,UAAU,CAAC,WAAW,CAanE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,KAAK,MAAM,EAGzD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,GAAG,KAAG,MAMzC,CAAA"}
|