@ic-reactor/candid 3.0.8-beta.1 → 3.0.9-beta.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/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/visitor/index.d.ts +5 -0
- package/dist/visitor/index.d.ts.map +1 -0
- package/dist/visitor/index.js +5 -0
- package/dist/visitor/index.js.map +1 -0
- package/dist/visitor/returns/index.d.ts.map +1 -1
- package/dist/visitor/returns/index.js +7 -7
- package/dist/visitor/returns/index.js.map +1 -1
- package/dist/visitor/returns/types.d.ts +105 -24
- package/dist/visitor/returns/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +2 -1
- package/src/visitor/index.ts +4 -0
- package/src/visitor/returns/index.test.ts +12 -8
- package/src/visitor/returns/index.ts +27 -23
- package/src/visitor/returns/types.ts +128 -31
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/visitor/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/visitor/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/visitor/returns/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,KAAK,EACV,WAAW,EAEX,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAEV,SAAS,EACT,YAAY,EAEb,MAAM,kBAAkB,CAAA;AAEzB,cAAc,SAAS,CAAA;AAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,qBAAa,kBAAkB,CAAC,CAAC,GAAG,SAAS,CAAE,SAAQ,GAAG,CAAC,OAAO,CAChE,MAAM,EACN,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CACzD;IACC,OAAO,CAAC,cAAc,CAA4B;IAM3C,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAavD,SAAS,CACd,CAAC,EAAE,GAAG,CAAC,SAAS,EAChB,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,GAC5B,gBAAgB,CAAC,CAAC,CAAC;IA0Cf,WAAW,CAChB,EAAE,EAAE,GAAG,CAAC,WAAW,EACnB,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAClC,KAAK,EAAE,MAAM,GACZ,iBAAiB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/visitor/returns/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -111,8 +111,8 @@ export class ResultFieldVisitor extends IDL.Visitor {
|
|
|
111
111
|
fields,
|
|
112
112
|
resolve(value) {
|
|
113
113
|
const record = value;
|
|
114
|
-
if (record
|
|
115
|
-
|
|
114
|
+
if (!record) {
|
|
115
|
+
throw new Error(`Expected record for field ${label}, but got ${value}`);
|
|
116
116
|
}
|
|
117
117
|
const resolvedFields = {};
|
|
118
118
|
for (const f of fields) {
|
|
@@ -142,13 +142,13 @@ export class ResultFieldVisitor extends IDL.Visitor {
|
|
|
142
142
|
optionFields,
|
|
143
143
|
resolve(value) {
|
|
144
144
|
if (value == null) {
|
|
145
|
-
|
|
145
|
+
throw new Error(`Expected variant for field ${label}, but got null`);
|
|
146
146
|
}
|
|
147
147
|
const variant = value;
|
|
148
148
|
const optionsInValue = Object.keys(variant);
|
|
149
149
|
const activeOption = optionsInValue.find((opt) => options.includes(opt));
|
|
150
150
|
if (!activeOption) {
|
|
151
|
-
|
|
151
|
+
throw new Error(`Expected variant option for field ${label}, but got none`);
|
|
152
152
|
}
|
|
153
153
|
const activeValue = variant[activeOption];
|
|
154
154
|
const optionIndex = options.indexOf(activeOption);
|
|
@@ -185,7 +185,7 @@ export class ResultFieldVisitor extends IDL.Visitor {
|
|
|
185
185
|
resolve(value) {
|
|
186
186
|
const tuple = value;
|
|
187
187
|
if (tuple == null) {
|
|
188
|
-
|
|
188
|
+
throw new Error(`Expected tuple for field ${label}, but got null`);
|
|
189
189
|
}
|
|
190
190
|
const resolvedItems = fields.map((f, index) => f.resolve(tuple[index]));
|
|
191
191
|
return { field, value: resolvedItems, raw: value };
|
|
@@ -241,7 +241,7 @@ export class ResultFieldVisitor extends IDL.Visitor {
|
|
|
241
241
|
resolve(value) {
|
|
242
242
|
const vec = value;
|
|
243
243
|
if (vec == null) {
|
|
244
|
-
|
|
244
|
+
throw new Error(`Expected vector for field ${label}, but got null`);
|
|
245
245
|
}
|
|
246
246
|
const resolvedItems = vec.map((item) => itemField.resolve(item));
|
|
247
247
|
return { field, value: resolvedItems, raw: value };
|
|
@@ -263,7 +263,7 @@ export class ResultFieldVisitor extends IDL.Visitor {
|
|
|
263
263
|
resolve(value) {
|
|
264
264
|
// Extract the inner field and resolve with it
|
|
265
265
|
const innerField = field.extract();
|
|
266
|
-
return innerField.resolve(value);
|
|
266
|
+
return innerField.resolve(value); // Resolve to union type
|
|
267
267
|
},
|
|
268
268
|
};
|
|
269
269
|
return field;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/visitor/returns/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/visitor/returns/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BaseActor, FunctionName,
|
|
1
|
+
import type { BaseActor, FunctionName, FunctionType, ActorMethodReturnType } from "@ic-reactor/core";
|
|
2
2
|
export type ResultFieldType = "record" | "variant" | "tuple" | "optional" | "vector" | "blob" | "recursive" | "principal" | "number" | "text" | "boolean" | "null" | "unknown";
|
|
3
3
|
export type DisplayType = "string" | "number" | "boolean" | "null" | "object" | "array" | "variant" | "result" | "nullable" | "recursive" | "unknown";
|
|
4
4
|
/**
|
|
@@ -13,9 +13,9 @@ export type TextFormat = "plain" | "timestamp" | "uuid" | "url" | "email" | "pho
|
|
|
13
13
|
* Display hints for UI rendering.
|
|
14
14
|
*/
|
|
15
15
|
export type DisplayHint = "copyable" | "linkable" | "truncate" | "hex" | "code" | "none";
|
|
16
|
-
export interface ResultFieldBase {
|
|
16
|
+
export interface ResultFieldBase<Type extends ResultFieldType = ResultFieldType> {
|
|
17
17
|
/** The Candid type category */
|
|
18
|
-
type:
|
|
18
|
+
type: Type;
|
|
19
19
|
/** Human-readable label from Candid */
|
|
20
20
|
label: string;
|
|
21
21
|
/** Original Candid type name */
|
|
@@ -26,35 +26,35 @@ export interface ResultFieldBase {
|
|
|
26
26
|
* Combine metadata with value to create a render-ready tree.
|
|
27
27
|
* This allows "zipping" the static schema with dynamic runtime data.
|
|
28
28
|
*/
|
|
29
|
-
resolve(value: unknown): ResultFieldWithValue
|
|
29
|
+
resolve(value: unknown): ResultFieldWithValue<Type>;
|
|
30
30
|
}
|
|
31
|
-
export interface RecordResultField extends ResultFieldBase {
|
|
31
|
+
export interface RecordResultField extends ResultFieldBase<"record"> {
|
|
32
32
|
type: "record";
|
|
33
33
|
displayType: "object";
|
|
34
34
|
fields: ResultField[];
|
|
35
35
|
}
|
|
36
|
-
export interface VariantResultField extends ResultFieldBase {
|
|
36
|
+
export interface VariantResultField extends ResultFieldBase<"variant"> {
|
|
37
37
|
type: "variant";
|
|
38
38
|
displayType: "variant" | "result";
|
|
39
39
|
options: string[];
|
|
40
40
|
optionFields: ResultField[];
|
|
41
41
|
}
|
|
42
|
-
export interface TupleResultField extends ResultFieldBase {
|
|
42
|
+
export interface TupleResultField extends ResultFieldBase<"tuple"> {
|
|
43
43
|
type: "tuple";
|
|
44
44
|
displayType: "array";
|
|
45
45
|
fields: ResultField[];
|
|
46
46
|
}
|
|
47
|
-
export interface OptionalResultField extends ResultFieldBase {
|
|
47
|
+
export interface OptionalResultField extends ResultFieldBase<"optional"> {
|
|
48
48
|
type: "optional";
|
|
49
49
|
displayType: "nullable";
|
|
50
50
|
innerField: ResultField;
|
|
51
51
|
}
|
|
52
|
-
export interface VectorResultField extends ResultFieldBase {
|
|
52
|
+
export interface VectorResultField extends ResultFieldBase<"vector"> {
|
|
53
53
|
type: "vector";
|
|
54
54
|
displayType: "array";
|
|
55
55
|
itemField: ResultField;
|
|
56
56
|
}
|
|
57
|
-
export interface BlobResultField extends ResultFieldBase {
|
|
57
|
+
export interface BlobResultField extends ResultFieldBase<"blob"> {
|
|
58
58
|
type: "blob";
|
|
59
59
|
displayType: "string";
|
|
60
60
|
displayHint: "hex";
|
|
@@ -66,43 +66,127 @@ export interface RecursiveResultField extends ResultFieldBase {
|
|
|
66
66
|
/** Lazily extract the inner field to prevent infinite loops */
|
|
67
67
|
extract: () => ResultField;
|
|
68
68
|
}
|
|
69
|
-
export interface PrincipalResultField extends ResultFieldBase {
|
|
69
|
+
export interface PrincipalResultField extends ResultFieldBase<"principal"> {
|
|
70
70
|
type: "principal";
|
|
71
71
|
displayType: "string";
|
|
72
72
|
textFormat: TextFormat;
|
|
73
73
|
}
|
|
74
|
-
export interface NumberResultField extends ResultFieldBase {
|
|
74
|
+
export interface NumberResultField extends ResultFieldBase<"number"> {
|
|
75
75
|
type: "number";
|
|
76
76
|
displayType: "string" | "number";
|
|
77
77
|
numberFormat: NumberFormat;
|
|
78
78
|
}
|
|
79
|
-
export interface TextResultField extends ResultFieldBase {
|
|
79
|
+
export interface TextResultField extends ResultFieldBase<"text"> {
|
|
80
80
|
type: "text";
|
|
81
81
|
displayType: "string";
|
|
82
82
|
textFormat: TextFormat;
|
|
83
83
|
}
|
|
84
|
-
export interface BooleanResultField extends ResultFieldBase {
|
|
84
|
+
export interface BooleanResultField extends ResultFieldBase<"boolean"> {
|
|
85
85
|
type: "boolean";
|
|
86
86
|
displayType: "boolean";
|
|
87
87
|
}
|
|
88
|
-
export interface NullResultField extends ResultFieldBase {
|
|
88
|
+
export interface NullResultField extends ResultFieldBase<"null"> {
|
|
89
89
|
type: "null";
|
|
90
90
|
displayType: "null";
|
|
91
91
|
}
|
|
92
|
-
export interface UnknownResultField extends ResultFieldBase {
|
|
92
|
+
export interface UnknownResultField extends ResultFieldBase<"unknown"> {
|
|
93
93
|
type: "unknown";
|
|
94
94
|
displayType: "unknown";
|
|
95
95
|
}
|
|
96
96
|
export type ResultField = RecordResultField | VariantResultField | TupleResultField | OptionalResultField | VectorResultField | BlobResultField | RecursiveResultField | PrincipalResultField | NumberResultField | TextResultField | BooleanResultField | NullResultField | UnknownResultField;
|
|
97
|
+
export interface RecordResultWithValue<V = unknown> {
|
|
98
|
+
field: RecordResultField;
|
|
99
|
+
value: Record<string, ResultFieldWithValue>;
|
|
100
|
+
raw: V;
|
|
101
|
+
}
|
|
102
|
+
export interface VariantResultWithValue<V = unknown> {
|
|
103
|
+
field: VariantResultField;
|
|
104
|
+
value: {
|
|
105
|
+
option: string;
|
|
106
|
+
value: ResultFieldWithValue;
|
|
107
|
+
};
|
|
108
|
+
raw: V;
|
|
109
|
+
}
|
|
110
|
+
export interface TupleResultWithValue<V = unknown> {
|
|
111
|
+
field: TupleResultField;
|
|
112
|
+
value: ResultFieldWithValue[];
|
|
113
|
+
raw: V;
|
|
114
|
+
}
|
|
115
|
+
export interface OptionalResultWithValue<V = unknown> {
|
|
116
|
+
field: OptionalResultField;
|
|
117
|
+
value: ResultFieldWithValue | null;
|
|
118
|
+
raw: V;
|
|
119
|
+
}
|
|
120
|
+
export interface VectorResultWithValue<V = unknown> {
|
|
121
|
+
field: VectorResultField;
|
|
122
|
+
value: ResultFieldWithValue[];
|
|
123
|
+
raw: V;
|
|
124
|
+
}
|
|
125
|
+
export interface BlobResultWithValue<V = unknown> {
|
|
126
|
+
field: BlobResultField;
|
|
127
|
+
value: string;
|
|
128
|
+
raw: V;
|
|
129
|
+
}
|
|
130
|
+
export interface RecursiveResultWithValue<V = unknown> {
|
|
131
|
+
field: RecursiveResultField;
|
|
132
|
+
value: ResultFieldWithValue;
|
|
133
|
+
raw: V;
|
|
134
|
+
}
|
|
135
|
+
export interface PrincipalResultWithValue<V = unknown> {
|
|
136
|
+
field: PrincipalResultField;
|
|
137
|
+
value: string;
|
|
138
|
+
raw: V;
|
|
139
|
+
}
|
|
140
|
+
export interface NumberResultWithValue<V = unknown> {
|
|
141
|
+
field: NumberResultField;
|
|
142
|
+
value: string | number;
|
|
143
|
+
raw: V;
|
|
144
|
+
}
|
|
145
|
+
export interface TextResultWithValue<V = unknown> {
|
|
146
|
+
field: TextResultField;
|
|
147
|
+
value: string;
|
|
148
|
+
raw: V;
|
|
149
|
+
}
|
|
150
|
+
export interface BooleanResultWithValue<V = unknown> {
|
|
151
|
+
field: BooleanResultField;
|
|
152
|
+
value: boolean;
|
|
153
|
+
raw: V;
|
|
154
|
+
}
|
|
155
|
+
export interface NullResultWithValue<V = unknown> {
|
|
156
|
+
field: NullResultField;
|
|
157
|
+
value: null;
|
|
158
|
+
raw: V;
|
|
159
|
+
}
|
|
160
|
+
export interface UnknownResultWithValue<V = unknown> {
|
|
161
|
+
field: UnknownResultField;
|
|
162
|
+
value: unknown;
|
|
163
|
+
raw: V;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Mapping from ResultFieldType string to the corresponding *ResultWithValue interface.
|
|
167
|
+
*/
|
|
168
|
+
export type ResultWithValueMap<V = unknown> = {
|
|
169
|
+
record: RecordResultWithValue<V>;
|
|
170
|
+
variant: VariantResultWithValue<V>;
|
|
171
|
+
tuple: TupleResultWithValue<V>;
|
|
172
|
+
optional: OptionalResultWithValue<V>;
|
|
173
|
+
vector: VectorResultWithValue<V>;
|
|
174
|
+
blob: BlobResultWithValue<V>;
|
|
175
|
+
recursive: RecursiveResultWithValue<V>;
|
|
176
|
+
principal: PrincipalResultWithValue<V>;
|
|
177
|
+
number: NumberResultWithValue<V>;
|
|
178
|
+
text: TextResultWithValue<V>;
|
|
179
|
+
boolean: BooleanResultWithValue<V>;
|
|
180
|
+
null: NullResultWithValue<V>;
|
|
181
|
+
unknown: UnknownResultWithValue<V>;
|
|
182
|
+
};
|
|
97
183
|
/**
|
|
98
184
|
* A result field paired with its transformed value for rendering.
|
|
99
185
|
* Can contain nested resolved fields for compound types.
|
|
186
|
+
*
|
|
187
|
+
* It is a discriminated union of all specific result types.
|
|
100
188
|
*/
|
|
101
|
-
export
|
|
102
|
-
field: ResultField;
|
|
103
|
-
value: DisplayOf<T>;
|
|
104
|
-
raw: T;
|
|
105
|
-
}
|
|
189
|
+
export type ResultFieldWithValue<P = unknown, V = unknown> = P extends ResultFieldType ? ResultWithValueMap<V>[P] : ResultWithValueMap<V>[ResultFieldType];
|
|
106
190
|
/**
|
|
107
191
|
* Resolved method result containing metadata and resolved field values.
|
|
108
192
|
* This is the output of `generateMetadata()`.
|
|
@@ -137,7 +221,4 @@ export interface MethodResultMeta<A = BaseActor, Name extends FunctionName<A> =
|
|
|
137
221
|
export type ServiceResultMeta<A = BaseActor> = {
|
|
138
222
|
[K in FunctionName<A>]: MethodResultMeta<A, K>;
|
|
139
223
|
};
|
|
140
|
-
export type ResultFieldByType<T extends ResultFieldType> = Extract<ResultField, {
|
|
141
|
-
type: T;
|
|
142
|
-
}>;
|
|
143
224
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/visitor/returns/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/visitor/returns/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ic-reactor/candid",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.9-beta.0",
|
|
4
4
|
"description": "IC Reactor Candid Adapter - Fetch and parse Candid definitions from Internet Computer canisters",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"license": "MIT",
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@noble/hashes": "^1.8.0",
|
|
46
|
-
"@ic-reactor/core": "^3.0.
|
|
46
|
+
"@ic-reactor/core": "^3.0.9-beta.0"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
49
|
"@icp-sdk/core": "^5.0.0"
|
package/src/index.ts
CHANGED
|
@@ -1273,8 +1273,9 @@ describe("ResultFieldVisitor", () => {
|
|
|
1273
1273
|
"user"
|
|
1274
1274
|
)
|
|
1275
1275
|
|
|
1276
|
-
|
|
1277
|
-
|
|
1276
|
+
expect(() => field.resolve(null)).toThrow(
|
|
1277
|
+
"Expected record for field user, but got null"
|
|
1278
|
+
)
|
|
1278
1279
|
})
|
|
1279
1280
|
})
|
|
1280
1281
|
|
|
@@ -1338,8 +1339,9 @@ describe("ResultFieldVisitor", () => {
|
|
|
1338
1339
|
"choice"
|
|
1339
1340
|
)
|
|
1340
1341
|
|
|
1341
|
-
|
|
1342
|
-
|
|
1342
|
+
expect(() => field.resolve(null)).toThrow(
|
|
1343
|
+
"Expected variant for field choice, but got null"
|
|
1344
|
+
)
|
|
1343
1345
|
})
|
|
1344
1346
|
})
|
|
1345
1347
|
|
|
@@ -1369,8 +1371,9 @@ describe("ResultFieldVisitor", () => {
|
|
|
1369
1371
|
const tupleType = IDL.Tuple(IDL.Text, IDL.Nat)
|
|
1370
1372
|
const field = visitor.visitTuple(tupleType, [IDL.Text, IDL.Nat], "pair")
|
|
1371
1373
|
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
+
expect(() => field.resolve(null)).toThrow(
|
|
1375
|
+
"Expected tuple for field pair, but got null"
|
|
1376
|
+
)
|
|
1374
1377
|
})
|
|
1375
1378
|
})
|
|
1376
1379
|
|
|
@@ -1432,8 +1435,9 @@ describe("ResultFieldVisitor", () => {
|
|
|
1432
1435
|
const vecType = IDL.Vec(IDL.Text)
|
|
1433
1436
|
const field = visitor.visitVec(vecType, IDL.Text, "items")
|
|
1434
1437
|
|
|
1435
|
-
|
|
1436
|
-
|
|
1438
|
+
expect(() => field.resolve(null)).toThrow(
|
|
1439
|
+
"Expected vector for field items, but got null"
|
|
1440
|
+
)
|
|
1437
1441
|
})
|
|
1438
1442
|
})
|
|
1439
1443
|
|
|
@@ -164,10 +164,12 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
164
164
|
candidType: "record",
|
|
165
165
|
displayType: "object",
|
|
166
166
|
fields,
|
|
167
|
-
resolve(value: unknown): ResultFieldWithValue {
|
|
167
|
+
resolve(value: unknown): ResultFieldWithValue<"record"> {
|
|
168
168
|
const record = value as Record<string, unknown> | null | undefined
|
|
169
|
-
if (record
|
|
170
|
-
|
|
169
|
+
if (!record) {
|
|
170
|
+
throw new Error(
|
|
171
|
+
`Expected record for field ${label}, but got ${value}`
|
|
172
|
+
)
|
|
171
173
|
}
|
|
172
174
|
|
|
173
175
|
const resolvedFields: Record<string, ResultFieldWithValue> = {}
|
|
@@ -205,9 +207,9 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
205
207
|
displayType,
|
|
206
208
|
options,
|
|
207
209
|
optionFields,
|
|
208
|
-
resolve(value: unknown): ResultFieldWithValue {
|
|
210
|
+
resolve(value: unknown): ResultFieldWithValue<"variant"> {
|
|
209
211
|
if (value == null) {
|
|
210
|
-
|
|
212
|
+
throw new Error(`Expected variant for field ${label}, but got null`)
|
|
211
213
|
}
|
|
212
214
|
|
|
213
215
|
const variant = value as Record<string, unknown>
|
|
@@ -215,7 +217,9 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
215
217
|
const activeOption = optionsInValue.find((opt) => options.includes(opt))
|
|
216
218
|
|
|
217
219
|
if (!activeOption) {
|
|
218
|
-
|
|
220
|
+
throw new Error(
|
|
221
|
+
`Expected variant option for field ${label}, but got none`
|
|
222
|
+
)
|
|
219
223
|
}
|
|
220
224
|
|
|
221
225
|
const activeValue = variant[activeOption]
|
|
@@ -261,10 +265,10 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
261
265
|
candidType: "tuple",
|
|
262
266
|
displayType: "array",
|
|
263
267
|
fields,
|
|
264
|
-
resolve(value: unknown): ResultFieldWithValue {
|
|
268
|
+
resolve(value: unknown): ResultFieldWithValue<"tuple"> {
|
|
265
269
|
const tuple = value as unknown[] | null | undefined
|
|
266
270
|
if (tuple == null) {
|
|
267
|
-
|
|
271
|
+
throw new Error(`Expected tuple for field ${label}, but got null`)
|
|
268
272
|
}
|
|
269
273
|
|
|
270
274
|
const resolvedItems = fields.map((f, index) => f.resolve(tuple[index]))
|
|
@@ -288,7 +292,7 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
288
292
|
candidType: "opt",
|
|
289
293
|
displayType: "nullable",
|
|
290
294
|
innerField,
|
|
291
|
-
resolve(value: unknown): ResultFieldWithValue {
|
|
295
|
+
resolve(value: unknown): ResultFieldWithValue<"optional"> {
|
|
292
296
|
const opt = value as [unknown] | [] | null | undefined
|
|
293
297
|
if (opt == null || opt.length === 0) {
|
|
294
298
|
return { field, value: null, raw: value }
|
|
@@ -314,7 +318,7 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
314
318
|
candidType: "blob",
|
|
315
319
|
displayType: "string", // Transformed to hex string
|
|
316
320
|
displayHint: "hex",
|
|
317
|
-
resolve(value: unknown): ResultFieldWithValue {
|
|
321
|
+
resolve(value: unknown): ResultFieldWithValue<"blob"> {
|
|
318
322
|
return {
|
|
319
323
|
field: blobField,
|
|
320
324
|
value: codec.decode(value),
|
|
@@ -333,10 +337,10 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
333
337
|
candidType: "vec",
|
|
334
338
|
displayType: "array",
|
|
335
339
|
itemField,
|
|
336
|
-
resolve(value: unknown): ResultFieldWithValue {
|
|
340
|
+
resolve(value: unknown): ResultFieldWithValue<"vector"> {
|
|
337
341
|
const vec = value as unknown[] | null | undefined
|
|
338
342
|
if (vec == null) {
|
|
339
|
-
|
|
343
|
+
throw new Error(`Expected vector for field ${label}, but got null`)
|
|
340
344
|
}
|
|
341
345
|
|
|
342
346
|
const resolvedItems = vec.map((item) => itemField.resolve(item))
|
|
@@ -366,7 +370,7 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
366
370
|
resolve(value: unknown): ResultFieldWithValue {
|
|
367
371
|
// Extract the inner field and resolve with it
|
|
368
372
|
const innerField = field.extract()
|
|
369
|
-
return innerField.resolve(value)
|
|
373
|
+
return innerField.resolve(value) // Resolve to union type
|
|
370
374
|
},
|
|
371
375
|
}
|
|
372
376
|
|
|
@@ -388,7 +392,7 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
388
392
|
candidType: "principal",
|
|
389
393
|
displayType: "string", // Principal.toText()
|
|
390
394
|
textFormat: checkTextFormat(label),
|
|
391
|
-
resolve(value: unknown): ResultFieldWithValue {
|
|
395
|
+
resolve(value: unknown): ResultFieldWithValue<"principal"> {
|
|
392
396
|
return {
|
|
393
397
|
field,
|
|
394
398
|
value: codec.decode(value),
|
|
@@ -408,7 +412,7 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
408
412
|
candidType: "text",
|
|
409
413
|
displayType: "string",
|
|
410
414
|
textFormat: checkTextFormat(label),
|
|
411
|
-
resolve(value: unknown): ResultFieldWithValue {
|
|
415
|
+
resolve(value: unknown): ResultFieldWithValue<"text"> {
|
|
412
416
|
return { field, value: codec.decode(value), raw: value }
|
|
413
417
|
},
|
|
414
418
|
}
|
|
@@ -423,7 +427,7 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
423
427
|
label,
|
|
424
428
|
candidType: "bool",
|
|
425
429
|
displayType: "boolean",
|
|
426
|
-
resolve(value: unknown): ResultFieldWithValue {
|
|
430
|
+
resolve(value: unknown): ResultFieldWithValue<"boolean"> {
|
|
427
431
|
return { field, value: codec.decode(value), raw: value }
|
|
428
432
|
},
|
|
429
433
|
}
|
|
@@ -438,7 +442,7 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
438
442
|
label,
|
|
439
443
|
candidType: "null",
|
|
440
444
|
displayType: "null",
|
|
441
|
-
resolve(value: unknown): ResultFieldWithValue {
|
|
445
|
+
resolve(value: unknown): ResultFieldWithValue<"null"> {
|
|
442
446
|
return { field, value: codec.decode(value), raw: value }
|
|
443
447
|
},
|
|
444
448
|
}
|
|
@@ -455,7 +459,7 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
455
459
|
candidType: "int",
|
|
456
460
|
displayType: "string", // BigInt → string
|
|
457
461
|
numberFormat: checkNumberFormat(label),
|
|
458
|
-
resolve(value: unknown): ResultFieldWithValue {
|
|
462
|
+
resolve(value: unknown): ResultFieldWithValue<"number"> {
|
|
459
463
|
return { field, value: codec.decode(value), raw: value }
|
|
460
464
|
},
|
|
461
465
|
}
|
|
@@ -471,7 +475,7 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
471
475
|
candidType: "nat",
|
|
472
476
|
displayType: "string", // BigInt → string
|
|
473
477
|
numberFormat: checkNumberFormat(label),
|
|
474
|
-
resolve(value: unknown): ResultFieldWithValue {
|
|
478
|
+
resolve(value: unknown): ResultFieldWithValue<"number"> {
|
|
475
479
|
return { field, value: codec.decode(value), raw: value }
|
|
476
480
|
},
|
|
477
481
|
}
|
|
@@ -487,7 +491,7 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
487
491
|
candidType: `float${t._bits}`,
|
|
488
492
|
displayType: "number", // Floats stay as numbers
|
|
489
493
|
numberFormat: checkNumberFormat(label),
|
|
490
|
-
resolve(value: unknown): ResultFieldWithValue {
|
|
494
|
+
resolve(value: unknown): ResultFieldWithValue<"number"> {
|
|
491
495
|
return { field, value: codec.decode(value), raw: value }
|
|
492
496
|
},
|
|
493
497
|
}
|
|
@@ -504,7 +508,7 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
504
508
|
candidType: `int${bits}`,
|
|
505
509
|
displayType: bits <= 32 ? "number" : "string", // int64 → string
|
|
506
510
|
numberFormat: checkNumberFormat(label),
|
|
507
|
-
resolve(value: unknown): ResultFieldWithValue {
|
|
511
|
+
resolve(value: unknown): ResultFieldWithValue<"number"> {
|
|
508
512
|
return {
|
|
509
513
|
field,
|
|
510
514
|
value: codec.decode(value),
|
|
@@ -525,7 +529,7 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
525
529
|
candidType: `nat${bits}`,
|
|
526
530
|
displayType: bits <= 32 ? "number" : "string", // nat64 → string
|
|
527
531
|
numberFormat: checkNumberFormat(label),
|
|
528
|
-
resolve(value: unknown): ResultFieldWithValue {
|
|
532
|
+
resolve(value: unknown): ResultFieldWithValue<"number"> {
|
|
529
533
|
return {
|
|
530
534
|
field,
|
|
531
535
|
value: codec.decode(value),
|
|
@@ -543,7 +547,7 @@ export class ResultFieldVisitor<A = BaseActor> extends IDL.Visitor<
|
|
|
543
547
|
label,
|
|
544
548
|
candidType: "unknown",
|
|
545
549
|
displayType: "unknown",
|
|
546
|
-
resolve(value: unknown): ResultFieldWithValue {
|
|
550
|
+
resolve(value: unknown): ResultFieldWithValue<"unknown"> {
|
|
547
551
|
return { field, value, raw: value }
|
|
548
552
|
},
|
|
549
553
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
BaseActor,
|
|
3
3
|
FunctionName,
|
|
4
|
-
DisplayOf,
|
|
5
4
|
FunctionType,
|
|
6
5
|
ActorMethodReturnType,
|
|
7
6
|
} from "@ic-reactor/core"
|
|
@@ -81,9 +80,11 @@ export type DisplayHint =
|
|
|
81
80
|
// Base Field Interface
|
|
82
81
|
// ════════════════════════════════════════════════════════════════════════════
|
|
83
82
|
|
|
84
|
-
export interface ResultFieldBase
|
|
83
|
+
export interface ResultFieldBase<
|
|
84
|
+
Type extends ResultFieldType = ResultFieldType,
|
|
85
|
+
> {
|
|
85
86
|
/** The Candid type category */
|
|
86
|
-
type:
|
|
87
|
+
type: Type
|
|
87
88
|
/** Human-readable label from Candid */
|
|
88
89
|
label: string
|
|
89
90
|
/** Original Candid type name */
|
|
@@ -94,45 +95,45 @@ export interface ResultFieldBase {
|
|
|
94
95
|
* Combine metadata with value to create a render-ready tree.
|
|
95
96
|
* This allows "zipping" the static schema with dynamic runtime data.
|
|
96
97
|
*/
|
|
97
|
-
resolve(value: unknown): ResultFieldWithValue
|
|
98
|
+
resolve(value: unknown): ResultFieldWithValue<Type>
|
|
98
99
|
}
|
|
99
100
|
|
|
100
101
|
// ════════════════════════════════════════════════════════════════════════════
|
|
101
102
|
// Compound Types
|
|
102
103
|
// ════════════════════════════════════════════════════════════════════════════
|
|
103
104
|
|
|
104
|
-
export interface RecordResultField extends ResultFieldBase {
|
|
105
|
+
export interface RecordResultField extends ResultFieldBase<"record"> {
|
|
105
106
|
type: "record"
|
|
106
107
|
displayType: "object"
|
|
107
108
|
fields: ResultField[]
|
|
108
109
|
}
|
|
109
110
|
|
|
110
|
-
export interface VariantResultField extends ResultFieldBase {
|
|
111
|
+
export interface VariantResultField extends ResultFieldBase<"variant"> {
|
|
111
112
|
type: "variant"
|
|
112
113
|
displayType: "variant" | "result"
|
|
113
114
|
options: string[]
|
|
114
115
|
optionFields: ResultField[]
|
|
115
116
|
}
|
|
116
117
|
|
|
117
|
-
export interface TupleResultField extends ResultFieldBase {
|
|
118
|
+
export interface TupleResultField extends ResultFieldBase<"tuple"> {
|
|
118
119
|
type: "tuple"
|
|
119
120
|
displayType: "array"
|
|
120
121
|
fields: ResultField[]
|
|
121
122
|
}
|
|
122
123
|
|
|
123
|
-
export interface OptionalResultField extends ResultFieldBase {
|
|
124
|
+
export interface OptionalResultField extends ResultFieldBase<"optional"> {
|
|
124
125
|
type: "optional"
|
|
125
126
|
displayType: "nullable"
|
|
126
127
|
innerField: ResultField
|
|
127
128
|
}
|
|
128
129
|
|
|
129
|
-
export interface VectorResultField extends ResultFieldBase {
|
|
130
|
+
export interface VectorResultField extends ResultFieldBase<"vector"> {
|
|
130
131
|
type: "vector"
|
|
131
132
|
displayType: "array"
|
|
132
133
|
itemField: ResultField
|
|
133
134
|
}
|
|
134
135
|
|
|
135
|
-
export interface BlobResultField extends ResultFieldBase {
|
|
136
|
+
export interface BlobResultField extends ResultFieldBase<"blob"> {
|
|
136
137
|
type: "blob"
|
|
137
138
|
displayType: "string"
|
|
138
139
|
displayHint: "hex"
|
|
@@ -150,35 +151,35 @@ export interface RecursiveResultField extends ResultFieldBase {
|
|
|
150
151
|
// Primitive Types
|
|
151
152
|
// ════════════════════════════════════════════════════════════════════════════
|
|
152
153
|
|
|
153
|
-
export interface PrincipalResultField extends ResultFieldBase {
|
|
154
|
+
export interface PrincipalResultField extends ResultFieldBase<"principal"> {
|
|
154
155
|
type: "principal"
|
|
155
156
|
displayType: "string"
|
|
156
157
|
textFormat: TextFormat
|
|
157
158
|
}
|
|
158
159
|
|
|
159
|
-
export interface NumberResultField extends ResultFieldBase {
|
|
160
|
+
export interface NumberResultField extends ResultFieldBase<"number"> {
|
|
160
161
|
type: "number"
|
|
161
162
|
displayType: "string" | "number"
|
|
162
163
|
numberFormat: NumberFormat
|
|
163
164
|
}
|
|
164
165
|
|
|
165
|
-
export interface TextResultField extends ResultFieldBase {
|
|
166
|
+
export interface TextResultField extends ResultFieldBase<"text"> {
|
|
166
167
|
type: "text"
|
|
167
168
|
displayType: "string"
|
|
168
169
|
textFormat: TextFormat
|
|
169
170
|
}
|
|
170
171
|
|
|
171
|
-
export interface BooleanResultField extends ResultFieldBase {
|
|
172
|
+
export interface BooleanResultField extends ResultFieldBase<"boolean"> {
|
|
172
173
|
type: "boolean"
|
|
173
174
|
displayType: "boolean"
|
|
174
175
|
}
|
|
175
176
|
|
|
176
|
-
export interface NullResultField extends ResultFieldBase {
|
|
177
|
+
export interface NullResultField extends ResultFieldBase<"null"> {
|
|
177
178
|
type: "null"
|
|
178
179
|
displayType: "null"
|
|
179
180
|
}
|
|
180
181
|
|
|
181
|
-
export interface UnknownResultField extends ResultFieldBase {
|
|
182
|
+
export interface UnknownResultField extends ResultFieldBase<"unknown"> {
|
|
182
183
|
type: "unknown"
|
|
183
184
|
displayType: "unknown"
|
|
184
185
|
}
|
|
@@ -203,18 +204,123 @@ export type ResultField =
|
|
|
203
204
|
| UnknownResultField
|
|
204
205
|
|
|
205
206
|
// ════════════════════════════════════════════════════════════════════════════
|
|
206
|
-
//
|
|
207
|
+
// Result Field With Value Interfaces
|
|
208
|
+
// ════════════════════════════════════════════════════════════════════════════
|
|
209
|
+
|
|
210
|
+
export interface RecordResultWithValue<V = unknown> {
|
|
211
|
+
field: RecordResultField
|
|
212
|
+
value: Record<string, ResultFieldWithValue>
|
|
213
|
+
raw: V
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export interface VariantResultWithValue<V = unknown> {
|
|
217
|
+
field: VariantResultField
|
|
218
|
+
value: { option: string; value: ResultFieldWithValue }
|
|
219
|
+
raw: V
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
export interface TupleResultWithValue<V = unknown> {
|
|
223
|
+
field: TupleResultField
|
|
224
|
+
value: ResultFieldWithValue[]
|
|
225
|
+
raw: V
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
export interface OptionalResultWithValue<V = unknown> {
|
|
229
|
+
field: OptionalResultField
|
|
230
|
+
value: ResultFieldWithValue | null
|
|
231
|
+
raw: V
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
export interface VectorResultWithValue<V = unknown> {
|
|
235
|
+
field: VectorResultField
|
|
236
|
+
value: ResultFieldWithValue[]
|
|
237
|
+
raw: V
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
export interface BlobResultWithValue<V = unknown> {
|
|
241
|
+
field: BlobResultField
|
|
242
|
+
value: string
|
|
243
|
+
raw: V
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
export interface RecursiveResultWithValue<V = unknown> {
|
|
247
|
+
field: RecursiveResultField
|
|
248
|
+
// Resolves to the specific inner type which is also a ResultFieldWithValue
|
|
249
|
+
value: ResultFieldWithValue
|
|
250
|
+
raw: V
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
export interface PrincipalResultWithValue<V = unknown> {
|
|
254
|
+
field: PrincipalResultField
|
|
255
|
+
value: string
|
|
256
|
+
raw: V
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
export interface NumberResultWithValue<V = unknown> {
|
|
260
|
+
field: NumberResultField
|
|
261
|
+
value: string | number
|
|
262
|
+
raw: V
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
export interface TextResultWithValue<V = unknown> {
|
|
266
|
+
field: TextResultField
|
|
267
|
+
value: string
|
|
268
|
+
raw: V
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
export interface BooleanResultWithValue<V = unknown> {
|
|
272
|
+
field: BooleanResultField
|
|
273
|
+
value: boolean
|
|
274
|
+
raw: V
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
export interface NullResultWithValue<V = unknown> {
|
|
278
|
+
field: NullResultField
|
|
279
|
+
value: null
|
|
280
|
+
raw: V
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
export interface UnknownResultWithValue<V = unknown> {
|
|
284
|
+
field: UnknownResultField
|
|
285
|
+
value: unknown
|
|
286
|
+
raw: V
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
// ════════════════════════════════════════════════════════════════════════════
|
|
290
|
+
// Maps and Helper Types
|
|
207
291
|
// ════════════════════════════════════════════════════════════════════════════
|
|
208
292
|
|
|
293
|
+
/**
|
|
294
|
+
* Mapping from ResultFieldType string to the corresponding *ResultWithValue interface.
|
|
295
|
+
*/
|
|
296
|
+
export type ResultWithValueMap<V = unknown> = {
|
|
297
|
+
record: RecordResultWithValue<V>
|
|
298
|
+
variant: VariantResultWithValue<V>
|
|
299
|
+
tuple: TupleResultWithValue<V>
|
|
300
|
+
optional: OptionalResultWithValue<V>
|
|
301
|
+
vector: VectorResultWithValue<V>
|
|
302
|
+
blob: BlobResultWithValue<V>
|
|
303
|
+
recursive: RecursiveResultWithValue<V>
|
|
304
|
+
principal: PrincipalResultWithValue<V>
|
|
305
|
+
number: NumberResultWithValue<V>
|
|
306
|
+
text: TextResultWithValue<V>
|
|
307
|
+
boolean: BooleanResultWithValue<V>
|
|
308
|
+
null: NullResultWithValue<V>
|
|
309
|
+
unknown: UnknownResultWithValue<V>
|
|
310
|
+
}
|
|
311
|
+
|
|
209
312
|
/**
|
|
210
313
|
* A result field paired with its transformed value for rendering.
|
|
211
314
|
* Can contain nested resolved fields for compound types.
|
|
315
|
+
*
|
|
316
|
+
* It is a discriminated union of all specific result types.
|
|
212
317
|
*/
|
|
213
|
-
export
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
318
|
+
export type ResultFieldWithValue<
|
|
319
|
+
P = unknown,
|
|
320
|
+
V = unknown,
|
|
321
|
+
> = P extends ResultFieldType
|
|
322
|
+
? ResultWithValueMap<V>[P]
|
|
323
|
+
: ResultWithValueMap<V>[ResultFieldType]
|
|
218
324
|
|
|
219
325
|
// ════════════════════════════════════════════════════════════════════════════
|
|
220
326
|
// Method & Service Level
|
|
@@ -261,12 +367,3 @@ export interface MethodResultMeta<
|
|
|
261
367
|
export type ServiceResultMeta<A = BaseActor> = {
|
|
262
368
|
[K in FunctionName<A>]: MethodResultMeta<A, K>
|
|
263
369
|
}
|
|
264
|
-
|
|
265
|
-
// ════════════════════════════════════════════════════════════════════════════
|
|
266
|
-
// Type Utilities
|
|
267
|
-
// ════════════════════════════════════════════════════════════════════════════
|
|
268
|
-
|
|
269
|
-
export type ResultFieldByType<T extends ResultFieldType> = Extract<
|
|
270
|
-
ResultField,
|
|
271
|
-
{ type: T }
|
|
272
|
-
>
|