@ic-reactor/candid 3.0.9-beta.0 → 3.0.10-beta.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.
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/metadata-display-reactor.d.ts +4 -4
- package/dist/metadata-display-reactor.d.ts.map +1 -1
- package/dist/metadata-display-reactor.js +1 -1
- package/dist/metadata-display-reactor.js.map +1 -1
- package/dist/visitor/returns/index.d.ts +23 -71
- package/dist/visitor/returns/index.d.ts.map +1 -1
- package/dist/visitor/returns/index.js +156 -306
- package/dist/visitor/returns/index.js.map +1 -1
- package/dist/visitor/returns/types.d.ts +68 -192
- package/dist/visitor/returns/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +1 -0
- package/src/metadata-display-reactor.ts +8 -8
- package/src/visitor/returns/index.test.ts +311 -382
- package/src/visitor/returns/index.ts +237 -387
- package/src/visitor/returns/types.ts +97 -298
|
@@ -1,426 +1,276 @@
|
|
|
1
1
|
import { isQuery } from "../helpers";
|
|
2
2
|
import { checkTextFormat, checkNumberFormat } from "../constants";
|
|
3
3
|
import { IDL } from "../types";
|
|
4
|
+
export * from "./types";
|
|
4
5
|
import { DisplayCodecVisitor } from "@ic-reactor/core";
|
|
5
6
|
export * from "./types";
|
|
6
7
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* ## Design Principles
|
|
10
|
-
*
|
|
11
|
-
* 1. **Works with raw IDL types BEFORE transformation** - generates metadata at initialization
|
|
12
|
-
* 2. **No value dependencies** - metadata describes structure, not specific values
|
|
13
|
-
* 3. **Describes display format** - includes hints for how values will appear after transformation
|
|
14
|
-
* 4. **Efficient** - single traversal, reusable metadata
|
|
15
|
-
* 5. **Resolvable** - metadata can be combined with values at runtime via .resolve(val)
|
|
16
|
-
*
|
|
17
|
-
* ## Key Insight: Metadata vs Values
|
|
18
|
-
*
|
|
19
|
-
* The visitor generates a "schema" that describes:
|
|
20
|
-
* - What type each field is in Candid (nat, Principal, opt, etc.)
|
|
21
|
-
* - What it becomes after display transformation (string, null, etc.)
|
|
22
|
-
* - How it should be formatted (timestamp, cycle, hex, etc.)
|
|
23
|
-
*
|
|
24
|
-
* Values are NOT passed during traversal. Instead, the generated schema
|
|
25
|
-
* is used at render time to properly display transformed values.
|
|
26
|
-
*
|
|
27
|
-
* ## Display Transformations (applied by DisplayCodecVisitor)
|
|
28
|
-
*
|
|
29
|
-
* | Candid Type | Display Type | Notes |
|
|
30
|
-
* |-------------|--------------|-------|
|
|
31
|
-
* | nat, int, nat64, int64 | string | BigInt → string |
|
|
32
|
-
* | Principal | string | Principal.toText() |
|
|
33
|
-
* | opt T | T \| null | [value] → value, [] → null |
|
|
34
|
-
* | vec nat8 (blob) | string | Uint8Array → hex string |
|
|
35
|
-
* | variant { Ok, Err } | unwrapped | { Ok: val } → val (or throws on Err) |
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* ```typescript
|
|
39
|
-
* const visitor = new ResultFieldVisitor()
|
|
40
|
-
* const serviceMeta = service.accept(visitor, null)
|
|
41
|
-
*
|
|
42
|
-
* // Get method result metadata
|
|
43
|
-
* const methodMeta = serviceMeta["icrc1_balance_of"]
|
|
44
|
-
* // methodMeta.resultFields[0] = {
|
|
45
|
-
* // type: "number",
|
|
46
|
-
* // candidType: "nat",
|
|
47
|
-
* // displayType: "string",
|
|
48
|
-
* // numberFormat: "normal"
|
|
49
|
-
* // }
|
|
50
|
-
*
|
|
51
|
-
* // At render time, apply to transformed value:
|
|
52
|
-
* const transformedResult = "1000000000" // Already transformed by DisplayCodec
|
|
53
|
-
* renderField(methodMeta.resultFields[0], transformedResult)
|
|
54
|
-
* ```
|
|
8
|
+
* Creates a primitive node with automatic resolve implementation.
|
|
55
9
|
*/
|
|
10
|
+
function primitiveNode(type, label, candidType, displayType, codec, extras = {}) {
|
|
11
|
+
const node = {
|
|
12
|
+
type,
|
|
13
|
+
label,
|
|
14
|
+
candidType,
|
|
15
|
+
displayType,
|
|
16
|
+
...extras,
|
|
17
|
+
resolve(data) {
|
|
18
|
+
return {
|
|
19
|
+
...node,
|
|
20
|
+
value: codec.decode(data),
|
|
21
|
+
raw: data,
|
|
22
|
+
};
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
return node;
|
|
26
|
+
}
|
|
27
|
+
// ════════════════════════════════════════════════════════════════════════════
|
|
28
|
+
// Simplified Result Field Visitor
|
|
29
|
+
// ════════════════════════════════════════════════════════════════════════════
|
|
56
30
|
export class ResultFieldVisitor extends IDL.Visitor {
|
|
57
31
|
constructor() {
|
|
58
32
|
super(...arguments);
|
|
59
|
-
Object.defineProperty(this, "
|
|
33
|
+
Object.defineProperty(this, "codec", {
|
|
60
34
|
enumerable: true,
|
|
61
35
|
configurable: true,
|
|
62
36
|
writable: true,
|
|
63
37
|
value: new DisplayCodecVisitor()
|
|
64
38
|
});
|
|
65
39
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
40
|
+
getCodec(t) {
|
|
41
|
+
return t.accept(this.codec, null);
|
|
42
|
+
}
|
|
43
|
+
// ══════════════════════════════════════════════════════════════════════════
|
|
44
|
+
// Service & Function
|
|
45
|
+
// ══════════════════════════════════════════════════════════════════════════
|
|
69
46
|
visitService(t) {
|
|
70
47
|
const result = {};
|
|
71
|
-
for (const [
|
|
72
|
-
result[
|
|
48
|
+
for (const [name, func] of t._fields) {
|
|
49
|
+
result[name] = func.accept(this, name);
|
|
73
50
|
}
|
|
74
51
|
return result;
|
|
75
52
|
}
|
|
76
53
|
visitFunc(t, functionName) {
|
|
77
54
|
const functionType = isQuery(t) ? "query" : "update";
|
|
78
|
-
const
|
|
79
|
-
const generateMetadata = (data) => {
|
|
80
|
-
const dataArray = resultFields.length === 0
|
|
81
|
-
? []
|
|
82
|
-
: resultFields.length === 1
|
|
83
|
-
? [data]
|
|
84
|
-
: data;
|
|
85
|
-
const results = resultFields.map((field, index) => field.resolve(dataArray[index]));
|
|
86
|
-
return {
|
|
87
|
-
functionType,
|
|
88
|
-
functionName,
|
|
89
|
-
results,
|
|
90
|
-
raw: data,
|
|
91
|
-
};
|
|
92
|
-
};
|
|
55
|
+
const returns = t.retTypes.map((ret, i) => ret.accept(this, `__ret${i}`));
|
|
93
56
|
return {
|
|
94
57
|
functionType,
|
|
95
58
|
functionName,
|
|
96
|
-
|
|
59
|
+
returns,
|
|
97
60
|
returnCount: t.retTypes.length,
|
|
98
|
-
|
|
61
|
+
resolve: (data) => {
|
|
62
|
+
const dataArray = returns.length <= 1 ? [data] : data;
|
|
63
|
+
return {
|
|
64
|
+
functionType,
|
|
65
|
+
functionName,
|
|
66
|
+
results: returns.map((node, i) => node.resolve(dataArray[i])),
|
|
67
|
+
raw: data,
|
|
68
|
+
};
|
|
69
|
+
},
|
|
99
70
|
};
|
|
100
71
|
}
|
|
101
|
-
//
|
|
72
|
+
// ══════════════════════════════════════════════════════════════════════════
|
|
102
73
|
// Compound Types
|
|
103
|
-
//
|
|
74
|
+
// ══════════════════════════════════════════════════════════════════════════
|
|
104
75
|
visitRecord(_t, fields_, label) {
|
|
105
|
-
const fields =
|
|
106
|
-
const
|
|
76
|
+
const fields = {};
|
|
77
|
+
for (const [key, type] of fields_) {
|
|
78
|
+
fields[key] = type.accept(this, key);
|
|
79
|
+
}
|
|
80
|
+
const node = {
|
|
107
81
|
type: "record",
|
|
108
82
|
label,
|
|
109
83
|
candidType: "record",
|
|
110
84
|
displayType: "object",
|
|
111
85
|
fields,
|
|
112
|
-
resolve(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
throw new Error(`Expected record for field ${label}, but got ${value}`);
|
|
86
|
+
resolve(data) {
|
|
87
|
+
if (data === null || data === undefined) {
|
|
88
|
+
throw new Error(`Expected record for field ${label}, but got ${data}`);
|
|
116
89
|
}
|
|
90
|
+
const recordData = data;
|
|
117
91
|
const resolvedFields = {};
|
|
118
|
-
for (const
|
|
119
|
-
resolvedFields[
|
|
92
|
+
for (const [key, field] of Object.entries(fields)) {
|
|
93
|
+
resolvedFields[key] = field.resolve(recordData[key]);
|
|
120
94
|
}
|
|
121
|
-
return {
|
|
95
|
+
return { ...node, fields: resolvedFields, raw: data };
|
|
122
96
|
},
|
|
123
97
|
};
|
|
124
|
-
return
|
|
98
|
+
return node;
|
|
125
99
|
}
|
|
126
100
|
visitVariant(_t, fields_, label) {
|
|
127
|
-
const
|
|
128
|
-
const optionFields = [];
|
|
101
|
+
const selectedOption = {};
|
|
129
102
|
for (const [key, type] of fields_) {
|
|
130
|
-
|
|
131
|
-
optionFields.push(type.accept(this, key));
|
|
103
|
+
selectedOption[key] = type.accept(this, key);
|
|
132
104
|
}
|
|
133
|
-
|
|
134
|
-
const
|
|
135
|
-
const displayType = isResult ? "result" : "variant";
|
|
136
|
-
const field = {
|
|
105
|
+
const isResult = "Ok" in selectedOption && "Err" in selectedOption;
|
|
106
|
+
const node = {
|
|
137
107
|
type: "variant",
|
|
138
108
|
label,
|
|
139
109
|
candidType: "variant",
|
|
140
|
-
displayType,
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
throw new Error(`Expected variant for field ${label}, but got null`);
|
|
110
|
+
displayType: isResult ? "result" : "variant",
|
|
111
|
+
selectedOption: {}, // placeholder, populated on resolve
|
|
112
|
+
resolve(data) {
|
|
113
|
+
if (data === null || data === undefined) {
|
|
114
|
+
throw new Error(`Expected variant for field ${label}, but got ${data}`);
|
|
146
115
|
}
|
|
147
|
-
const
|
|
148
|
-
const
|
|
149
|
-
const
|
|
150
|
-
if (!
|
|
151
|
-
throw new Error(`
|
|
116
|
+
const variantData = data;
|
|
117
|
+
const selected = Object.keys(variantData)[0];
|
|
118
|
+
const optionNode = selectedOption[selected];
|
|
119
|
+
if (!optionNode) {
|
|
120
|
+
throw new Error(`Option ${selected} not found in variant`);
|
|
152
121
|
}
|
|
153
|
-
const activeValue = variant[activeOption];
|
|
154
|
-
const optionIndex = options.indexOf(activeOption);
|
|
155
|
-
const optionField = optionFields[optionIndex];
|
|
156
|
-
const specificField = {
|
|
157
|
-
...field,
|
|
158
|
-
options,
|
|
159
|
-
optionFields: [optionField],
|
|
160
|
-
};
|
|
161
122
|
return {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
field: optionField,
|
|
167
|
-
value: activeValue,
|
|
168
|
-
raw: activeValue,
|
|
169
|
-
},
|
|
170
|
-
},
|
|
171
|
-
raw: value,
|
|
123
|
+
...node,
|
|
124
|
+
selected,
|
|
125
|
+
selectedOption: optionNode.resolve(variantData[selected]),
|
|
126
|
+
raw: data,
|
|
172
127
|
};
|
|
173
128
|
},
|
|
174
129
|
};
|
|
175
|
-
return
|
|
130
|
+
return node;
|
|
176
131
|
}
|
|
177
132
|
visitTuple(_t, components, label) {
|
|
178
|
-
const
|
|
179
|
-
const
|
|
133
|
+
const items = components.map((t, i) => t.accept(this, `_${i}`));
|
|
134
|
+
const node = {
|
|
180
135
|
type: "tuple",
|
|
181
136
|
label,
|
|
182
137
|
candidType: "tuple",
|
|
183
138
|
displayType: "array",
|
|
184
|
-
|
|
185
|
-
resolve(
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
throw new Error(`Expected tuple for field ${label}, but got null`);
|
|
139
|
+
items,
|
|
140
|
+
resolve(data) {
|
|
141
|
+
if (data === null || data === undefined) {
|
|
142
|
+
throw new Error(`Expected tuple for field ${label}, but got ${data}`);
|
|
189
143
|
}
|
|
190
|
-
const
|
|
191
|
-
return {
|
|
144
|
+
const tupleData = data;
|
|
145
|
+
return {
|
|
146
|
+
...node,
|
|
147
|
+
items: items.map((item, i) => item.resolve(tupleData[i])),
|
|
148
|
+
raw: data,
|
|
149
|
+
};
|
|
192
150
|
},
|
|
193
151
|
};
|
|
194
|
-
return
|
|
152
|
+
return node;
|
|
195
153
|
}
|
|
196
154
|
visitOpt(_t, ty, label) {
|
|
197
|
-
const
|
|
198
|
-
const
|
|
155
|
+
const inner = ty.accept(this, label);
|
|
156
|
+
const node = {
|
|
199
157
|
type: "optional",
|
|
200
158
|
label,
|
|
201
159
|
candidType: "opt",
|
|
202
160
|
displayType: "nullable",
|
|
203
|
-
|
|
204
|
-
resolve(
|
|
205
|
-
const opt =
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
}
|
|
209
|
-
return { field, value: innerField.resolve(opt[0]), raw: value };
|
|
161
|
+
value: null, // null until resolved
|
|
162
|
+
resolve(data) {
|
|
163
|
+
const opt = data;
|
|
164
|
+
const resolved = Array.isArray(opt) && opt.length > 0 ? inner.resolve(opt[0]) : null;
|
|
165
|
+
return { ...node, value: resolved, raw: data };
|
|
210
166
|
},
|
|
211
167
|
};
|
|
212
|
-
return
|
|
168
|
+
return node;
|
|
213
169
|
}
|
|
214
170
|
visitVec(_t, ty, label) {
|
|
215
|
-
//
|
|
171
|
+
// Blob detection (vec nat8)
|
|
216
172
|
if (ty instanceof IDL.FixedNatClass && ty._bits === 8) {
|
|
217
|
-
const codec =
|
|
218
|
-
const
|
|
173
|
+
const codec = this.getCodec(_t);
|
|
174
|
+
const node = {
|
|
219
175
|
type: "blob",
|
|
220
176
|
label,
|
|
221
177
|
candidType: "blob",
|
|
222
|
-
displayType: "string",
|
|
223
|
-
|
|
224
|
-
resolve(
|
|
225
|
-
return {
|
|
226
|
-
field: blobField,
|
|
227
|
-
value: codec.decode(value),
|
|
228
|
-
raw: value,
|
|
229
|
-
};
|
|
178
|
+
displayType: "string",
|
|
179
|
+
value: "", // empty schema placeholder, populated on resolve
|
|
180
|
+
resolve(data) {
|
|
181
|
+
return { ...node, value: codec.decode(data), raw: data };
|
|
230
182
|
},
|
|
231
183
|
};
|
|
232
|
-
return
|
|
184
|
+
return node;
|
|
233
185
|
}
|
|
234
|
-
const
|
|
235
|
-
const
|
|
186
|
+
const itemSchema = ty.accept(this, "item");
|
|
187
|
+
const node = {
|
|
236
188
|
type: "vector",
|
|
237
189
|
label,
|
|
238
190
|
candidType: "vec",
|
|
239
191
|
displayType: "array",
|
|
240
|
-
|
|
241
|
-
resolve(
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
throw new Error(`Expected vector for field ${label}, but got null`);
|
|
192
|
+
items: [], // empty schema placeholder, populated on resolve
|
|
193
|
+
resolve(data) {
|
|
194
|
+
if (data === null || data === undefined) {
|
|
195
|
+
throw new Error(`Expected vector for field ${label}, but got ${data}`);
|
|
245
196
|
}
|
|
246
|
-
const
|
|
247
|
-
return {
|
|
197
|
+
const vectorData = data;
|
|
198
|
+
return {
|
|
199
|
+
...node,
|
|
200
|
+
items: vectorData.map((v) => itemSchema.resolve(v)),
|
|
201
|
+
raw: data,
|
|
202
|
+
};
|
|
248
203
|
},
|
|
249
204
|
};
|
|
250
|
-
return
|
|
205
|
+
return node;
|
|
251
206
|
}
|
|
252
|
-
visitRec(
|
|
253
|
-
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
207
|
+
visitRec(_t, ty, label) {
|
|
254
208
|
const self = this;
|
|
255
|
-
|
|
209
|
+
// Lazy extraction to prevent infinite loops
|
|
210
|
+
let innerSchema = null;
|
|
211
|
+
const getInner = () => (innerSchema ?? (innerSchema = ty.accept(self, label)));
|
|
212
|
+
const node = {
|
|
256
213
|
type: "recursive",
|
|
257
214
|
label,
|
|
258
215
|
candidType: "rec",
|
|
259
216
|
displayType: "recursive",
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
resolve(value) {
|
|
264
|
-
// Extract the inner field and resolve with it
|
|
265
|
-
const innerField = field.extract();
|
|
266
|
-
return innerField.resolve(value); // Resolve to union type
|
|
217
|
+
inner: {}, // placeholder, populated on resolve
|
|
218
|
+
resolve(data) {
|
|
219
|
+
return { ...node, inner: getInner().resolve(data), raw: data };
|
|
267
220
|
},
|
|
268
221
|
};
|
|
269
|
-
return
|
|
222
|
+
return node;
|
|
270
223
|
}
|
|
271
|
-
//
|
|
272
|
-
//
|
|
273
|
-
//
|
|
224
|
+
// ══════════════════════════════════════════════════════════════════════════
|
|
225
|
+
// Primitives - Using Factory
|
|
226
|
+
// ══════════════════════════════════════════════════════════════════════════
|
|
274
227
|
visitPrincipal(t, label) {
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
label,
|
|
279
|
-
candidType: "principal",
|
|
280
|
-
displayType: "string", // Principal.toText()
|
|
281
|
-
textFormat: checkTextFormat(label),
|
|
282
|
-
resolve(value) {
|
|
283
|
-
return {
|
|
284
|
-
field,
|
|
285
|
-
value: codec.decode(value),
|
|
286
|
-
raw: value,
|
|
287
|
-
};
|
|
288
|
-
},
|
|
289
|
-
};
|
|
290
|
-
return field;
|
|
228
|
+
return primitiveNode("principal", label, "principal", "string", this.getCodec(t), {
|
|
229
|
+
format: checkTextFormat(label),
|
|
230
|
+
});
|
|
291
231
|
}
|
|
292
232
|
visitText(t, label) {
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
label,
|
|
297
|
-
candidType: "text",
|
|
298
|
-
displayType: "string",
|
|
299
|
-
textFormat: checkTextFormat(label),
|
|
300
|
-
resolve(value) {
|
|
301
|
-
return { field, value: codec.decode(value), raw: value };
|
|
302
|
-
},
|
|
303
|
-
};
|
|
304
|
-
return field;
|
|
233
|
+
return primitiveNode("text", label, "text", "string", this.getCodec(t), {
|
|
234
|
+
format: checkTextFormat(label),
|
|
235
|
+
});
|
|
305
236
|
}
|
|
306
237
|
visitBool(t, label) {
|
|
307
|
-
|
|
308
|
-
const field = {
|
|
309
|
-
type: "boolean",
|
|
310
|
-
label,
|
|
311
|
-
candidType: "bool",
|
|
312
|
-
displayType: "boolean",
|
|
313
|
-
resolve(value) {
|
|
314
|
-
return { field, value: codec.decode(value), raw: value };
|
|
315
|
-
},
|
|
316
|
-
};
|
|
317
|
-
return field;
|
|
238
|
+
return primitiveNode("boolean", label, "bool", "boolean", this.getCodec(t));
|
|
318
239
|
}
|
|
319
240
|
visitNull(t, label) {
|
|
320
|
-
|
|
321
|
-
const field = {
|
|
322
|
-
type: "null",
|
|
323
|
-
label,
|
|
324
|
-
candidType: "null",
|
|
325
|
-
displayType: "null",
|
|
326
|
-
resolve(value) {
|
|
327
|
-
return { field, value: codec.decode(value), raw: value };
|
|
328
|
-
},
|
|
329
|
-
};
|
|
330
|
-
return field;
|
|
241
|
+
return primitiveNode("null", label, "null", "null", this.getCodec(t));
|
|
331
242
|
}
|
|
332
|
-
// Numbers
|
|
333
243
|
visitInt(t, label) {
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
label,
|
|
338
|
-
candidType: "int",
|
|
339
|
-
displayType: "string", // BigInt → string
|
|
340
|
-
numberFormat: checkNumberFormat(label),
|
|
341
|
-
resolve(value) {
|
|
342
|
-
return { field, value: codec.decode(value), raw: value };
|
|
343
|
-
},
|
|
344
|
-
};
|
|
345
|
-
return field;
|
|
244
|
+
return primitiveNode("number", label, "int", "string", this.getCodec(t), {
|
|
245
|
+
format: checkNumberFormat(label),
|
|
246
|
+
});
|
|
346
247
|
}
|
|
347
248
|
visitNat(t, label) {
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
label,
|
|
352
|
-
candidType: "nat",
|
|
353
|
-
displayType: "string", // BigInt → string
|
|
354
|
-
numberFormat: checkNumberFormat(label),
|
|
355
|
-
resolve(value) {
|
|
356
|
-
return { field, value: codec.decode(value), raw: value };
|
|
357
|
-
},
|
|
358
|
-
};
|
|
359
|
-
return field;
|
|
249
|
+
return primitiveNode("number", label, "nat", "string", this.getCodec(t), {
|
|
250
|
+
format: checkNumberFormat(label),
|
|
251
|
+
});
|
|
360
252
|
}
|
|
361
253
|
visitFloat(t, label) {
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
label,
|
|
366
|
-
candidType: `float${t._bits}`,
|
|
367
|
-
displayType: "number", // Floats stay as numbers
|
|
368
|
-
numberFormat: checkNumberFormat(label),
|
|
369
|
-
resolve(value) {
|
|
370
|
-
return { field, value: codec.decode(value), raw: value };
|
|
371
|
-
},
|
|
372
|
-
};
|
|
373
|
-
return field;
|
|
254
|
+
return primitiveNode("number", label, `float${t._bits}`, "number", this.getCodec(t), {
|
|
255
|
+
format: checkNumberFormat(label),
|
|
256
|
+
});
|
|
374
257
|
}
|
|
375
258
|
visitFixedInt(t, label) {
|
|
376
259
|
const bits = t._bits;
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
label,
|
|
381
|
-
candidType: `int${bits}`,
|
|
382
|
-
displayType: bits <= 32 ? "number" : "string", // int64 → string
|
|
383
|
-
numberFormat: checkNumberFormat(label),
|
|
384
|
-
resolve(value) {
|
|
385
|
-
return {
|
|
386
|
-
field,
|
|
387
|
-
value: codec.decode(value),
|
|
388
|
-
raw: value,
|
|
389
|
-
};
|
|
390
|
-
},
|
|
391
|
-
};
|
|
392
|
-
return field;
|
|
260
|
+
return primitiveNode("number", label, `int${bits}`, bits <= 32 ? "number" : "string", this.getCodec(t), {
|
|
261
|
+
format: checkNumberFormat(label),
|
|
262
|
+
});
|
|
393
263
|
}
|
|
394
264
|
visitFixedNat(t, label) {
|
|
395
265
|
const bits = t._bits;
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
label,
|
|
400
|
-
candidType: `nat${bits}`,
|
|
401
|
-
displayType: bits <= 32 ? "number" : "string", // nat64 → string
|
|
402
|
-
numberFormat: checkNumberFormat(label),
|
|
403
|
-
resolve(value) {
|
|
404
|
-
return {
|
|
405
|
-
field,
|
|
406
|
-
value: codec.decode(value),
|
|
407
|
-
raw: value,
|
|
408
|
-
};
|
|
409
|
-
},
|
|
410
|
-
};
|
|
411
|
-
return field;
|
|
266
|
+
return primitiveNode("number", label, `nat${bits}`, bits <= 32 ? "number" : "string", this.getCodec(t), {
|
|
267
|
+
format: checkNumberFormat(label),
|
|
268
|
+
});
|
|
412
269
|
}
|
|
413
270
|
visitType(_t, label) {
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
candidType: "unknown",
|
|
418
|
-
displayType: "unknown",
|
|
419
|
-
resolve(value) {
|
|
420
|
-
return { field, value, raw: value };
|
|
421
|
-
},
|
|
422
|
-
};
|
|
423
|
-
return field;
|
|
271
|
+
return primitiveNode("unknown", label, "unknown", "unknown", {
|
|
272
|
+
decode: (v) => v,
|
|
273
|
+
});
|
|
424
274
|
}
|
|
425
275
|
}
|
|
426
276
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/visitor/returns/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACjE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAqB9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAQtD,cAAc,SAAS,CAAA;AAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,OAAO,kBAAkC,SAAQ,GAAG,CAAC,OAG1D;IAHD;;QAIU;;;;mBAAiB,IAAI,mBAAmB,EAAE;WAAA;IAqdpD,CAAC;IAndC,2EAA2E;IAC3E,2BAA2B;IAC3B,2EAA2E;IAEpE,YAAY,CAAC,CAAmB;QACrC,MAAM,MAAM,GAAG,EAA0B,CAAA;QAEzC,KAAK,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7C,MAAM,CAAC,YAA+B,CAAC,GAAG,IAAI,CAAC,MAAM,CACnD,IAAI,EACJ,YAAY,CACU,CAAA;QAC1B,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAEM,SAAS,CACd,CAAgB,EAChB,YAA6B;QAE7B,MAAM,YAAY,GAAiB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAA;QAElE,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CACrD,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,KAAK,EAAE,CAAC,CACrB,CAAA;QAElB,MAAM,gBAAgB,GAAG,CACvB,IAA+C,EACtB,EAAE;YAC3B,MAAM,SAAS,GACb,YAAY,CAAC,MAAM,KAAK,CAAC;gBACvB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;oBACzB,CAAC,CAAC,CAAC,IAAI,CAAC;oBACR,CAAC,CAAE,IAAkB,CAAA;YAE3B,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAChD,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAChC,CAAA;YAED,OAAO;gBACL,YAAY;gBACZ,YAAY;gBACZ,OAAO;gBACP,GAAG,EAAE,IAAI;aACV,CAAA;QACH,CAAC,CAAA;QAED,OAAO;YACL,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM;YAC9B,gBAAgB;SACjB,CAAA;IACH,CAAC;IAED,2EAA2E;IAC3E,iBAAiB;IACjB,2EAA2E;IAEpE,WAAW,CAChB,EAAmB,EACnB,OAAkC,EAClC,KAAa;QAEb,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CACxB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAgB,CACvD,CAAA;QAED,MAAM,KAAK,GAAsB;YAC/B,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE,QAAQ;YACrB,MAAM;YACN,OAAO,CAAC,KAAc;gBACpB,MAAM,MAAM,GAAG,KAAmD,CAAA;gBAClE,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CACb,6BAA6B,KAAK,aAAa,KAAK,EAAE,CACvD,CAAA;gBACH,CAAC;gBAED,MAAM,cAAc,GAAyC,EAAE,CAAA;gBAC/D,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvB,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;gBACtD,CAAC;gBAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;YACrD,CAAC;SACF,CAAA;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,YAAY,CACjB,EAAoB,EACpB,OAAkC,EAClC,KAAa;QAEb,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,MAAM,YAAY,GAAkB,EAAE,CAAA;QAEtC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACjB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAgB,CAAC,CAAA;QAC1D,CAAC;QAED,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAClE,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;QAEnD,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,SAAS;YACf,KAAK;YACL,UAAU,EAAE,SAAS;YACrB,WAAW;YACX,OAAO;YACP,YAAY;YACZ,OAAO,CAAC,KAAc;gBACpB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,gBAAgB,CAAC,CAAA;gBACtE,CAAC;gBAED,MAAM,OAAO,GAAG,KAAgC,CAAA;gBAChD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC3C,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;gBAExE,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CACb,qCAAqC,KAAK,gBAAgB,CAC3D,CAAA;gBACH,CAAC;gBAED,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;gBACzC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;gBACjD,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;gBAE7C,MAAM,aAAa,GAAuB;oBACxC,GAAG,KAAK;oBACR,OAAO;oBACP,YAAY,EAAE,CAAC,WAAW,CAAC;iBAC5B,CAAA;gBAED,OAAO;oBACL,KAAK,EAAE,aAAa;oBACpB,KAAK,EAAE;wBACL,MAAM,EAAE,YAAY;wBACpB,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;4BAC1C,KAAK,EAAE,WAAW;4BAClB,KAAK,EAAE,WAAW;4BAClB,GAAG,EAAE,WAAW;yBACjB;qBACF;oBACD,GAAG,EAAE,KAAK;iBACX,CAAA;YACH,CAAC;SACF,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,UAAU,CACf,EAAqB,EACrB,UAAsB,EACtB,KAAa;QAEb,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAC3B,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,KAAK,EAAE,CAAgB,CAC/D,CAAA;QAED,MAAM,KAAK,GAAqB;YAC9B,IAAI,EAAE,OAAO;YACb,KAAK;YACL,UAAU,EAAE,OAAO;YACnB,WAAW,EAAE,OAAO;YACpB,MAAM;YACN,OAAO,CAAC,KAAc;gBACpB,MAAM,KAAK,GAAG,KAAqC,CAAA;gBACnD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,gBAAgB,CAAC,CAAA;gBACpE,CAAC;gBAED,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBACvE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;YACpD,CAAC;SACF,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,QAAQ,CACb,EAAmB,EACnB,EAAe,EACf,KAAa;QAEb,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAgB,CAAA;QAExD,MAAM,KAAK,GAAwB;YACjC,IAAI,EAAE,UAAU;YAChB,KAAK;YACL,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,UAAU;YACvB,UAAU;YACV,OAAO,CAAC,KAAc;gBACpB,MAAM,GAAG,GAAG,KAA0C,CAAA;gBACtD,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;gBAC3C,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;YACjE,CAAC;SACF,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,QAAQ,CACb,EAAmB,EACnB,EAAe,EACf,KAAa;QAEb,gCAAgC;QAChC,IAAI,EAAE,YAAY,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAQ,CAAA;YACzD,MAAM,SAAS,GAAoB;gBACjC,IAAI,EAAE,MAAM;gBACZ,KAAK;gBACL,UAAU,EAAE,MAAM;gBAClB,WAAW,EAAE,QAAQ,EAAE,4BAA4B;gBACnD,WAAW,EAAE,KAAK;gBAClB,OAAO,CAAC,KAAc;oBACpB,OAAO;wBACL,KAAK,EAAE,SAAS;wBAChB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC1B,GAAG,EAAE,KAAK;qBACX,CAAA;gBACH,CAAC;aACF,CAAA;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAgB,CAAA;QAExD,MAAM,KAAK,GAAsB;YAC/B,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,OAAO;YACpB,SAAS;YACT,OAAO,CAAC,KAAc;gBACpB,MAAM,GAAG,GAAG,KAAqC,CAAA;gBACjD,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,gBAAgB,CAAC,CAAA;gBACrE,CAAC;gBAED,MAAM,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;gBAChE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;YACpD,CAAC;SACF,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,QAAQ,CACb,CAAkB,EAClB,EAAwB,EACxB,KAAa;QAEb,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAA;QAEjB,MAAM,KAAK,GAAyB;YAClC,IAAI,EAAE,WAAW;YACjB,KAAK;YACL,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,CAAC,CAAC,IAAI;YAChB,4CAA4C;YAC5C,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAgB;YACpD,OAAO,CAAC,KAAc;gBACpB,8CAA8C;gBAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;gBAClC,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA,CAAC,wBAAwB;YAC3D,CAAC;SACF,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,2EAA2E;IAC3E,kBAAkB;IAClB,2EAA2E;IAEpE,cAAc,CACnB,CAAqB,EACrB,KAAa;QAEb,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAQ,CAAA;QACxD,MAAM,KAAK,GAAyB;YAClC,IAAI,EAAE,WAAW;YACjB,KAAK;YACL,UAAU,EAAE,WAAW;YACvB,WAAW,EAAE,QAAQ,EAAE,qBAAqB;YAC5C,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC;YAClC,OAAO,CAAC,KAAc;gBACpB,OAAO;oBACL,KAAK;oBACL,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC1B,GAAG,EAAE,KAAK;iBACX,CAAA;YACH,CAAC;SACF,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,SAAS,CAAC,CAAgB,EAAE,KAAa;QAC9C,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAQ,CAAA;QACxD,MAAM,KAAK,GAAoB;YAC7B,IAAI,EAAE,MAAM;YACZ,KAAK;YACL,UAAU,EAAE,MAAM;YAClB,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC;YAClC,OAAO,CAAC,KAAc;gBACpB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;YAC1D,CAAC;SACF,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,SAAS,CAAC,CAAgB,EAAE,KAAa;QAC9C,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAQ,CAAA;QACxD,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,SAAS;YACf,KAAK;YACL,UAAU,EAAE,MAAM;YAClB,WAAW,EAAE,SAAS;YACtB,OAAO,CAAC,KAAc;gBACpB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;YAC1D,CAAC;SACF,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,SAAS,CAAC,CAAgB,EAAE,KAAa;QAC9C,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAQ,CAAA;QACxD,MAAM,KAAK,GAAoB;YAC7B,IAAI,EAAE,MAAM;YACZ,KAAK;YACL,UAAU,EAAE,MAAM;YAClB,WAAW,EAAE,MAAM;YACnB,OAAO,CAAC,KAAc;gBACpB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;YAC1D,CAAC;SACF,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,UAAU;IACH,QAAQ,CAAC,CAAe,EAAE,KAAa;QAC5C,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAQ,CAAA;QACxD,MAAM,KAAK,GAAsB;YAC/B,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,QAAQ,EAAE,kBAAkB;YACzC,YAAY,EAAE,iBAAiB,CAAC,KAAK,CAAC;YACtC,OAAO,CAAC,KAAc;gBACpB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;YAC1D,CAAC;SACF,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,QAAQ,CAAC,CAAe,EAAE,KAAa;QAC5C,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAQ,CAAA;QACxD,MAAM,KAAK,GAAsB;YAC/B,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,QAAQ,EAAE,kBAAkB;YACzC,YAAY,EAAE,iBAAiB,CAAC,KAAK,CAAC;YACtC,OAAO,CAAC,KAAc;gBACpB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;YAC1D,CAAC;SACF,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,UAAU,CAAC,CAAiB,EAAE,KAAa;QAChD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAQ,CAAA;QACxD,MAAM,KAAK,GAAsB;YAC/B,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,UAAU,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE;YAC7B,WAAW,EAAE,QAAQ,EAAE,yBAAyB;YAChD,YAAY,EAAE,iBAAiB,CAAC,KAAK,CAAC;YACtC,OAAO,CAAC,KAAc;gBACpB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;YAC1D,CAAC;SACF,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,aAAa,CAAC,CAAoB,EAAE,KAAa;QACtD,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAA;QACpB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAQ,CAAA;QACxD,MAAM,KAAK,GAAsB;YAC/B,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,UAAU,EAAE,MAAM,IAAI,EAAE;YACxB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,iBAAiB;YAChE,YAAY,EAAE,iBAAiB,CAAC,KAAK,CAAC;YACtC,OAAO,CAAC,KAAc;gBACpB,OAAO;oBACL,KAAK;oBACL,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC1B,GAAG,EAAE,KAAK;iBACX,CAAA;YACH,CAAC;SACF,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,aAAa,CAAC,CAAoB,EAAE,KAAa;QACtD,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAA;QACpB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAQ,CAAA;QACxD,MAAM,KAAK,GAAsB;YAC/B,IAAI,EAAE,QAAQ;YACd,KAAK;YACL,UAAU,EAAE,MAAM,IAAI,EAAE;YACxB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,iBAAiB;YAChE,YAAY,EAAE,iBAAiB,CAAC,KAAK,CAAC;YACtC,OAAO,CAAC,KAAc;gBACpB,OAAO;oBACL,KAAK;oBACL,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC1B,GAAG,EAAE,KAAK;iBACX,CAAA;YACH,CAAC;SACF,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,SAAS,CAAI,EAAe,EAAE,KAAa;QAChD,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,SAAS;YACf,KAAK;YACL,UAAU,EAAE,SAAS;YACrB,WAAW,EAAE,SAAS;YACtB,OAAO,CAAC,KAAc;gBACpB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;YACrC,CAAC;SACF,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/visitor/returns/index.ts"],"names":[],"mappings":"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"}
|