@ic-reactor/core 3.5.0 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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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"}
@@ -2,6 +2,31 @@ import * as z from "zod";
2
2
  import { IDL } from "@icp-sdk/core/candid";
3
3
  import { Principal } from "@icp-sdk/core/principal";
4
4
  import { createVariant, nonNullish, uint8ArrayToHex, hexToUint8Array, isNullish, } from "../utils";
5
+ function createFixedNumberCodec(bits, signed) {
6
+ const min = signed ? -(2 ** (bits - 1)) : 0;
7
+ const max = signed ? 2 ** (bits - 1) - 1 : 2 ** bits - 1;
8
+ const integerPattern = signed ? /^-?\d+$/ : /^\d+$/;
9
+ const typeName = `${signed ? "int" : "nat"}${bits}`;
10
+ const parseDisplayNumber = (val) => {
11
+ const num = typeof val === "string" ? Number(val) : val;
12
+ if (typeof val === "string" && !integerPattern.test(val)) {
13
+ throw new TypeError(`[ic-reactor] Invalid ${typeName} display value: expected an integer string, got "${val}"`);
14
+ }
15
+ if (!Number.isInteger(num)) {
16
+ throw new TypeError(`[ic-reactor] Invalid ${typeName} display value: expected an integer, got ${String(val)}`);
17
+ }
18
+ if (num < min || num > max) {
19
+ throw new RangeError(`[ic-reactor] Invalid ${typeName} display value: expected ${min}..${max}, got ${String(val)}`);
20
+ }
21
+ return num;
22
+ };
23
+ return z.codec(z.number().int().min(min).max(max), // Candid format
24
+ z.union([z.number(), z.string()]), // Display format
25
+ {
26
+ decode: (val) => val,
27
+ encode: parseDisplayNumber,
28
+ });
29
+ }
5
30
  export class DisplayCodecVisitor extends IDL.Visitor {
6
31
  constructor() {
7
32
  super(...arguments);
@@ -58,8 +83,9 @@ export class DisplayCodecVisitor extends IDL.Visitor {
58
83
  visitFixedInt(t, _data) {
59
84
  const bits = t._bits;
60
85
  if (bits <= 32) {
61
- // 32-bit integers stay as numbers
62
- return z.number();
86
+ // 32-bit integers stay as numbers for display, but form inputs may
87
+ // submit numeric strings that must be converted before IDL.encode.
88
+ return createFixedNumberCodec(bits, true);
63
89
  }
64
90
  else {
65
91
  // 64-bit integers: bigint ↔ string
@@ -74,7 +100,7 @@ export class DisplayCodecVisitor extends IDL.Visitor {
74
100
  visitFixedNat(t, _data) {
75
101
  const bits = t._bits;
76
102
  if (bits <= 32) {
77
- return z.number();
103
+ return createFixedNumberCodec(bits, false);
78
104
  }
79
105
  else {
80
106
  return z.codec(z.bigint(), // Candid format
@@ -1 +1 @@
1
- {"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../src/display/visitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../src/display/visitor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ic-reactor/core",
3
- "version": "3.5.0",
3
+ "version": "3.5.1",
4
4
  "description": "IC Reactor Core Library",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -9,6 +9,46 @@ import {
9
9
  isNullish,
10
10
  } from "../utils"
11
11
 
12
+ function createFixedNumberCodec(bits: number, signed: boolean): z.ZodTypeAny {
13
+ const min = signed ? -(2 ** (bits - 1)) : 0
14
+ const max = signed ? 2 ** (bits - 1) - 1 : 2 ** bits - 1
15
+ const integerPattern = signed ? /^-?\d+$/ : /^\d+$/
16
+ const typeName = `${signed ? "int" : "nat"}${bits}`
17
+
18
+ const parseDisplayNumber = (val: string | number): number => {
19
+ const num = typeof val === "string" ? Number(val) : val
20
+
21
+ if (typeof val === "string" && !integerPattern.test(val)) {
22
+ throw new TypeError(
23
+ `[ic-reactor] Invalid ${typeName} display value: expected an integer string, got "${val}"`
24
+ )
25
+ }
26
+
27
+ if (!Number.isInteger(num)) {
28
+ throw new TypeError(
29
+ `[ic-reactor] Invalid ${typeName} display value: expected an integer, got ${String(val)}`
30
+ )
31
+ }
32
+
33
+ if (num < min || num > max) {
34
+ throw new RangeError(
35
+ `[ic-reactor] Invalid ${typeName} display value: expected ${min}..${max}, got ${String(val)}`
36
+ )
37
+ }
38
+
39
+ return num
40
+ }
41
+
42
+ return z.codec(
43
+ z.number().int().min(min).max(max), // Candid format
44
+ z.union([z.number(), z.string()]), // Display format
45
+ {
46
+ decode: (val) => val,
47
+ encode: parseDisplayNumber,
48
+ }
49
+ )
50
+ }
51
+
12
52
  export class DisplayCodecVisitor extends IDL.Visitor<unknown, z.ZodTypeAny> {
13
53
  private _recCache = new Map<IDL.RecClass, z.ZodTypeAny>()
14
54
 
@@ -74,8 +114,9 @@ export class DisplayCodecVisitor extends IDL.Visitor<unknown, z.ZodTypeAny> {
74
114
  const bits = t._bits
75
115
 
76
116
  if (bits <= 32) {
77
- // 32-bit integers stay as numbers
78
- return z.number()
117
+ // 32-bit integers stay as numbers for display, but form inputs may
118
+ // submit numeric strings that must be converted before IDL.encode.
119
+ return createFixedNumberCodec(bits, true)
79
120
  } else {
80
121
  // 64-bit integers: bigint ↔ string
81
122
  return z.codec(
@@ -93,7 +134,7 @@ export class DisplayCodecVisitor extends IDL.Visitor<unknown, z.ZodTypeAny> {
93
134
  const bits = t._bits
94
135
 
95
136
  if (bits <= 32) {
96
- return z.number()
137
+ return createFixedNumberCodec(bits, false)
97
138
  } else {
98
139
  return z.codec(
99
140
  z.bigint(), // Candid format