@haneullabs/codegen 0.1.0 → 0.8.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.
Files changed (147) hide show
  1. package/CHANGELOG.md +138 -33
  2. package/README.md +40 -38
  3. package/dist/bin/bash-complete.d.mts +6 -0
  4. package/dist/bin/bash-complete.d.mts.map +1 -0
  5. package/dist/bin/bash-complete.mjs +29 -0
  6. package/dist/bin/bash-complete.mjs.map +1 -0
  7. package/dist/bin/cli.d.mts +1 -0
  8. package/dist/bin/cli.mjs +24 -0
  9. package/dist/bin/cli.mjs.map +1 -0
  10. package/dist/cli/cli.mjs +28 -0
  11. package/dist/cli/cli.mjs.map +1 -0
  12. package/dist/cli/commands/generate/command.mjs +90 -0
  13. package/dist/cli/commands/generate/command.mjs.map +1 -0
  14. package/dist/cli/commands/generate/impl.mjs +72 -0
  15. package/dist/cli/commands/generate/impl.mjs.map +1 -0
  16. package/dist/cli/context.mjs +17 -0
  17. package/dist/cli/context.mjs.map +1 -0
  18. package/dist/config.d.mts +105 -0
  19. package/dist/config.d.mts.map +1 -0
  20. package/dist/config.mjs +70 -0
  21. package/dist/config.mjs.map +1 -0
  22. package/dist/file-builder.mjs +66 -0
  23. package/dist/file-builder.mjs.map +1 -0
  24. package/dist/{esm/generate-utils.js → generate-utils.mjs} +95 -27
  25. package/dist/generate-utils.mjs.map +1 -0
  26. package/dist/index.d.mts +21 -0
  27. package/dist/index.d.mts.map +1 -0
  28. package/dist/index.mjs +80 -0
  29. package/dist/index.mjs.map +1 -0
  30. package/dist/move-module-builder.mjs +350 -0
  31. package/dist/move-module-builder.mjs.map +1 -0
  32. package/dist/render-types.mjs +207 -0
  33. package/dist/render-types.mjs.map +1 -0
  34. package/dist/utils.mjs +89 -0
  35. package/dist/utils.mjs.map +1 -0
  36. package/docs/index.md +436 -0
  37. package/docs/llms-index.md +6 -0
  38. package/package.json +29 -28
  39. package/src/bin/bash-complete.ts +18 -7
  40. package/src/bin/cli.ts +3 -9
  41. package/src/cli/commands/generate/command.ts +32 -0
  42. package/src/cli/commands/generate/impl.ts +93 -5
  43. package/src/config.ts +53 -5
  44. package/src/file-builder.ts +15 -1
  45. package/src/generate-utils.ts +88 -18
  46. package/src/index.ts +89 -29
  47. package/src/move-module-builder.ts +181 -76
  48. package/src/render-types.ts +82 -29
  49. package/dist/cjs/bin/bash-complete.d.ts +0 -2
  50. package/dist/cjs/bin/bash-complete.js +0 -51
  51. package/dist/cjs/bin/bash-complete.js.map +0 -7
  52. package/dist/cjs/bin/cli.d.ts +0 -2
  53. package/dist/cjs/bin/cli.js +0 -34
  54. package/dist/cjs/bin/cli.js.map +0 -7
  55. package/dist/cjs/cli/cli.d.ts +0 -1
  56. package/dist/cjs/cli/cli.js +0 -49
  57. package/dist/cjs/cli/cli.js.map +0 -7
  58. package/dist/cjs/cli/commands/generate/command.d.ts +0 -1
  59. package/dist/cjs/cli/commands/generate/command.js +0 -80
  60. package/dist/cjs/cli/commands/generate/command.js.map +0 -7
  61. package/dist/cjs/cli/commands/generate/impl.d.ts +0 -8
  62. package/dist/cjs/cli/commands/generate/impl.js +0 -66
  63. package/dist/cjs/cli/commands/generate/impl.js.map +0 -7
  64. package/dist/cjs/cli/context.d.ts +0 -6
  65. package/dist/cjs/cli/context.js +0 -45
  66. package/dist/cjs/cli/context.js.map +0 -7
  67. package/dist/cjs/config.d.ts +0 -51
  68. package/dist/cjs/config.js +0 -75
  69. package/dist/cjs/config.js.map +0 -7
  70. package/dist/cjs/file-builder.d.ts +0 -13
  71. package/dist/cjs/file-builder.js +0 -83
  72. package/dist/cjs/file-builder.js.map +0 -7
  73. package/dist/cjs/generate-utils.d.ts +0 -1
  74. package/dist/cjs/generate-utils.js +0 -187
  75. package/dist/cjs/generate-utils.js.map +0 -7
  76. package/dist/cjs/index.d.ts +0 -8
  77. package/dist/cjs/index.js +0 -124
  78. package/dist/cjs/index.js.map +0 -7
  79. package/dist/cjs/move-module-builder.d.ts +0 -26
  80. package/dist/cjs/move-module-builder.js +0 -464
  81. package/dist/cjs/move-module-builder.js.map +0 -7
  82. package/dist/cjs/package.json +0 -5
  83. package/dist/cjs/render-types.d.ts +0 -19
  84. package/dist/cjs/render-types.js +0 -313
  85. package/dist/cjs/render-types.js.map +0 -7
  86. package/dist/cjs/summary.d.ts +0 -3
  87. package/dist/cjs/summary.js +0 -218
  88. package/dist/cjs/summary.js.map +0 -7
  89. package/dist/cjs/types/deserialized.d.ts +0 -89
  90. package/dist/cjs/types/deserialized.js +0 -17
  91. package/dist/cjs/types/deserialized.js.map +0 -7
  92. package/dist/cjs/types/summary.d.ts +0 -105
  93. package/dist/cjs/types/summary.js +0 -17
  94. package/dist/cjs/types/summary.js.map +0 -7
  95. package/dist/cjs/utils.d.ts +0 -22
  96. package/dist/cjs/utils.js +0 -164
  97. package/dist/cjs/utils.js.map +0 -7
  98. package/dist/esm/bin/bash-complete.d.ts +0 -2
  99. package/dist/esm/bin/bash-complete.js +0 -31
  100. package/dist/esm/bin/bash-complete.js.map +0 -7
  101. package/dist/esm/bin/cli.d.ts +0 -2
  102. package/dist/esm/bin/cli.js +0 -32
  103. package/dist/esm/bin/cli.js.map +0 -7
  104. package/dist/esm/cli/cli.d.ts +0 -1
  105. package/dist/esm/cli/cli.js +0 -29
  106. package/dist/esm/cli/cli.js.map +0 -7
  107. package/dist/esm/cli/commands/generate/command.d.ts +0 -1
  108. package/dist/esm/cli/commands/generate/command.js +0 -50
  109. package/dist/esm/cli/commands/generate/command.js.map +0 -7
  110. package/dist/esm/cli/commands/generate/impl.d.ts +0 -8
  111. package/dist/esm/cli/commands/generate/impl.js +0 -46
  112. package/dist/esm/cli/commands/generate/impl.js.map +0 -7
  113. package/dist/esm/cli/context.d.ts +0 -6
  114. package/dist/esm/cli/context.js +0 -15
  115. package/dist/esm/cli/context.js.map +0 -7
  116. package/dist/esm/config.d.ts +0 -51
  117. package/dist/esm/config.js +0 -45
  118. package/dist/esm/config.js.map +0 -7
  119. package/dist/esm/file-builder.d.ts +0 -13
  120. package/dist/esm/file-builder.js +0 -63
  121. package/dist/esm/file-builder.js.map +0 -7
  122. package/dist/esm/generate-utils.d.ts +0 -1
  123. package/dist/esm/generate-utils.js.map +0 -7
  124. package/dist/esm/index.d.ts +0 -8
  125. package/dist/esm/index.js +0 -104
  126. package/dist/esm/index.js.map +0 -7
  127. package/dist/esm/move-module-builder.d.ts +0 -26
  128. package/dist/esm/move-module-builder.js +0 -457
  129. package/dist/esm/move-module-builder.js.map +0 -7
  130. package/dist/esm/package.json +0 -5
  131. package/dist/esm/render-types.d.ts +0 -19
  132. package/dist/esm/render-types.js +0 -293
  133. package/dist/esm/render-types.js.map +0 -7
  134. package/dist/esm/summary.d.ts +0 -3
  135. package/dist/esm/summary.js +0 -198
  136. package/dist/esm/summary.js.map +0 -7
  137. package/dist/esm/types/deserialized.d.ts +0 -89
  138. package/dist/esm/types/deserialized.js +0 -1
  139. package/dist/esm/types/deserialized.js.map +0 -7
  140. package/dist/esm/types/summary.d.ts +0 -105
  141. package/dist/esm/types/summary.js +0 -1
  142. package/dist/esm/types/summary.js.map +0 -7
  143. package/dist/esm/utils.d.ts +0 -22
  144. package/dist/esm/utils.js +0 -134
  145. package/dist/esm/utils.js.map +0 -7
  146. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  147. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,293 +0,0 @@
1
- import { normalizeHaneulAddress } from "@haneullabs/haneul/utils";
2
- const MOVE_STDLIB_ADDRESS = normalizeHaneulAddress("0x1");
3
- const HANEUL_FRAMEWORK_ADDRESS = normalizeHaneulAddress("0x2");
4
- const HANEUL_SYSTEM_ADDRESS = normalizeHaneulAddress("0x3");
5
- function renderTypeSignature(type, options) {
6
- if (options.onBcsType) {
7
- if (usesBcs(type, options)) {
8
- options.onBcsType();
9
- }
10
- }
11
- switch (type) {
12
- case "address":
13
- switch (options.format) {
14
- case "typescriptArg":
15
- return "string";
16
- case "typeTag":
17
- return `address`;
18
- case "bcs":
19
- return "bcs.Address";
20
- default:
21
- throw new Error(`Unknown format: ${options.format}`);
22
- }
23
- case "bool":
24
- switch (options.format) {
25
- case "typescriptArg":
26
- return "boolean";
27
- case "typeTag":
28
- return `bool`;
29
- case "bcs":
30
- return "bcs.bool()";
31
- default:
32
- throw new Error(`Unknown format: ${options.format}`);
33
- }
34
- case "u8":
35
- case "u16":
36
- case "u32":
37
- switch (options.format) {
38
- case "typescriptArg":
39
- return "number";
40
- case "typeTag":
41
- return type.toLowerCase();
42
- case "bcs":
43
- return `bcs.${type.toLowerCase()}()`;
44
- default:
45
- throw new Error(`Unknown format: ${options.format}`);
46
- }
47
- case "u64":
48
- case "u128":
49
- case "u256":
50
- switch (options.format) {
51
- case "typescriptArg":
52
- return `number | bigint`;
53
- case "typeTag":
54
- return type.toLowerCase();
55
- case "bcs":
56
- return `bcs.${type.toLowerCase()}()`;
57
- default:
58
- throw new Error(`Unknown format: ${options.format}`);
59
- }
60
- case "signer":
61
- throw new Error("Signer is not supported");
62
- case "_":
63
- throw new Error("Macro placeholder is not supported");
64
- }
65
- if ("Datatype" in type) {
66
- return renderDataType(type.Datatype, options);
67
- }
68
- if ("Reference" in type) {
69
- return renderTypeSignature(type.Reference[1], options);
70
- }
71
- if ("vector" in type) {
72
- switch (options.format) {
73
- case "typescriptArg":
74
- return `${renderTypeSignature(type.vector, options)}[]`;
75
- case "typeTag":
76
- return `vector<${renderTypeSignature(type.vector, options)}>`;
77
- case "bcs":
78
- return `bcs.vector(${renderTypeSignature(type.vector, options)})`;
79
- default:
80
- throw new Error(`Unknown format: ${options.format}`);
81
- }
82
- }
83
- if ("TypeParameter" in type) {
84
- options.onTypeParameter?.(type.TypeParameter);
85
- switch (options.format) {
86
- case "typescriptArg":
87
- return options.typeParameters?.[type.TypeParameter]?.name ?? `T${type.TypeParameter}`;
88
- case "typeTag":
89
- return `\${options.typeArguments[${type.TypeParameter}]}`;
90
- case "bcs":
91
- return `typeParameters[${type.TypeParameter}]`;
92
- default:
93
- throw new Error(`Unknown format: ${options.format}`);
94
- }
95
- }
96
- if ("NamedTypeParameter" in type) {
97
- options.onTypeParameter?.(type.NamedTypeParameter);
98
- const index = options.typeParameters?.findIndex((p) => p.name === type.NamedTypeParameter) ?? -1;
99
- if (index === -1) {
100
- throw new Error(`Named type parameter ${type.NamedTypeParameter} not found`);
101
- }
102
- switch (options.format) {
103
- case "typescriptArg":
104
- return type.NamedTypeParameter;
105
- case "typeTag":
106
- return `\${options.typeArguments[${index}]}`;
107
- case "bcs":
108
- return `typeParameters[${index}]`;
109
- default:
110
- throw new Error(`Unknown format: ${options.format}`);
111
- }
112
- }
113
- throw new Error(`Unknown type signature: ${JSON.stringify(type, null, 2)}`);
114
- }
115
- function usesBcs(type, options) {
116
- if (typeof type === "string") {
117
- return true;
118
- }
119
- if ("Reference" in type) {
120
- return usesBcs(type.Reference[1], options);
121
- }
122
- if ("Datatype" in type) {
123
- return isPureDataType(type.Datatype, options);
124
- }
125
- if ("vector" in type) {
126
- return true;
127
- }
128
- return false;
129
- }
130
- function isPureSignature(type, options) {
131
- if (typeof type === "string") {
132
- return true;
133
- }
134
- if ("Reference" in type) {
135
- return isPureSignature(type.Reference[1], options);
136
- }
137
- if ("Datatype" in type) {
138
- return isPureDataType(type.Datatype, options);
139
- }
140
- if ("vector" in type) {
141
- return isPureSignature(type.vector, options);
142
- }
143
- if ("TypeParameter" in type) {
144
- return false;
145
- }
146
- if ("NamedTypeParameter" in type) {
147
- return false;
148
- }
149
- throw new Error(`Unknown type signature: ${JSON.stringify(type, null, 2)}`);
150
- }
151
- function isPureDataType(type, options) {
152
- const address = options.resolveAddress(type.module.address);
153
- if (address === MOVE_STDLIB_ADDRESS) {
154
- if ((type.module.name === "ascii" || type.module.name === "string") && type.name === "String") {
155
- return true;
156
- }
157
- if (type.module.name === "option" && type.name === "Option") {
158
- return true;
159
- }
160
- }
161
- if (address === HANEUL_FRAMEWORK_ADDRESS) {
162
- if (type.module.name === "object" && type.name === "ID") {
163
- return true;
164
- }
165
- }
166
- return false;
167
- }
168
- function renderDataType(type, options) {
169
- const address = options.resolveAddress(type.module.address);
170
- if (options.format === "typeTag") {
171
- const typeArgs = type.type_arguments.map((type2) => renderTypeSignature(type2.argument, options));
172
- if (typeArgs.length === 0) {
173
- return `${address === options.resolveAddress(options.summary.id.address) ? "${packageAddress}" : address}::${type.module.name}::${type.name}`;
174
- }
175
- return `${address === options.resolveAddress(options.summary.id.address) ? "${packageAddress}" : address}::${type.module.name}::${type.name}<${typeArgs.join(", ")}>`;
176
- }
177
- if (address === MOVE_STDLIB_ADDRESS) {
178
- if ((type.module.name === "ascii" || type.module.name === "string") && type.name === "String") {
179
- switch (options.format) {
180
- case "typescriptArg":
181
- return "string";
182
- case "bcs":
183
- return "bcs.string()";
184
- default:
185
- throw new Error(`Unknown format: ${options.format}`);
186
- }
187
- }
188
- if (type.module.name === "option" && type.name === "Option") {
189
- switch (options.format) {
190
- case "typescriptArg":
191
- if (isPureDataType(type, options)) {
192
- return `${renderTypeSignature(type.type_arguments[0].argument, options)} | null`;
193
- }
194
- break;
195
- case "bcs":
196
- return `bcs.option(${renderTypeSignature(type.type_arguments[0].argument, options)})`;
197
- default:
198
- throw new Error(`Unknown format: ${options.format}`);
199
- }
200
- }
201
- }
202
- if (address === HANEUL_FRAMEWORK_ADDRESS) {
203
- if (type.module.name === "object" && type.name === "ID") {
204
- switch (options.format) {
205
- case "typescriptArg":
206
- return "string";
207
- case "bcs":
208
- return "bcs.Address";
209
- default:
210
- throw new Error(`Unknown format: ${options.format}`);
211
- }
212
- }
213
- }
214
- const isCurrentModule = address === options.resolveAddress(options.summary.id.address) && type.module.name === options.summary.id.name;
215
- const importName = options.onDependency?.(type.module.address, type.module.name, type.name);
216
- const typeNameRef = isCurrentModule ? type.name : `${importName ?? getSafeName(type.module.name)}.${getSafeName(type.name)}`;
217
- const filteredTypeArguments = type.type_arguments.filter((arg) => !arg.phantom);
218
- switch (options.format) {
219
- case "typescriptArg":
220
- return "string";
221
- case "bcs":
222
- if (filteredTypeArguments.length === 0) {
223
- return typeNameRef;
224
- }
225
- return `${typeNameRef}(
226
- ${filteredTypeArguments.map((type2) => renderTypeSignature(type2.argument, options)).join(", ")})`;
227
- default:
228
- throw new Error(`Unknown format: ${options.format}`);
229
- }
230
- }
231
- const JS_RESERVED_NAMES = [
232
- "new",
233
- "delete",
234
- "class",
235
- "function",
236
- "import",
237
- "export",
238
- "return",
239
- "this",
240
- "super",
241
- "arguments",
242
- "eval",
243
- "void",
244
- "typeof",
245
- "instanceof",
246
- "delete",
247
- "in",
248
- "from",
249
- "of",
250
- "as",
251
- "async",
252
- "await",
253
- "break",
254
- "case",
255
- "catch",
256
- "continue",
257
- "debugger",
258
- "default",
259
- "do",
260
- "else",
261
- "finally",
262
- "for",
263
- "function",
264
- "if",
265
- "import",
266
- "in",
267
- "instanceof",
268
- "new",
269
- "return",
270
- "switch",
271
- "throw",
272
- "try",
273
- "typeof",
274
- "var",
275
- "void",
276
- "while",
277
- "with",
278
- "yield",
279
- "package"
280
- ];
281
- function getSafeName(name) {
282
- return JS_RESERVED_NAMES.includes(name) ? `_${name}` : name;
283
- }
284
- export {
285
- HANEUL_FRAMEWORK_ADDRESS,
286
- HANEUL_SYSTEM_ADDRESS,
287
- MOVE_STDLIB_ADDRESS,
288
- getSafeName,
289
- isPureSignature,
290
- renderTypeSignature,
291
- usesBcs
292
- };
293
- //# sourceMappingURL=render-types.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/render-types.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { normalizeHaneulAddress } from '@haneullabs/haneul/utils';\n\nimport type { Datatype, ModuleSummary, Type, TypeParameter } from './types/summary.js';\n\nexport const MOVE_STDLIB_ADDRESS = normalizeHaneulAddress('0x1');\nexport const HANEUL_FRAMEWORK_ADDRESS = normalizeHaneulAddress('0x2');\nexport const HANEUL_SYSTEM_ADDRESS = normalizeHaneulAddress('0x3');\n\ntype TypeSignatureFormat = 'typescriptArg' | 'bcs' | 'typeTag';\ninterface RenderTypeSignatureOptions {\n\tformat: TypeSignatureFormat;\n\tsummary: ModuleSummary;\n\ttypeParameters?: TypeParameter[];\n\tonDependency?: (address: string, module: string, type: string) => string | undefined;\n\tonBcsType?: () => void;\n\tonTypeParameter?: (typeParameter: number | string) => void;\n\tresolveAddress: (address: string) => string;\n}\n\nexport function renderTypeSignature(type: Type, options: RenderTypeSignatureOptions): string {\n\tif (options.onBcsType) {\n\t\tif (usesBcs(type, options)) {\n\t\t\toptions.onBcsType();\n\t\t}\n\t}\n\n\tswitch (type) {\n\t\tcase 'address':\n\t\t\tswitch (options.format) {\n\t\t\t\tcase 'typescriptArg':\n\t\t\t\t\treturn 'string';\n\t\t\t\tcase 'typeTag':\n\t\t\t\t\treturn `address`;\n\t\t\t\tcase 'bcs':\n\t\t\t\t\treturn 'bcs.Address';\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(`Unknown format: ${options.format}`);\n\t\t\t}\n\t\tcase 'bool':\n\t\t\tswitch (options.format) {\n\t\t\t\tcase 'typescriptArg':\n\t\t\t\t\treturn 'boolean';\n\t\t\t\tcase 'typeTag':\n\t\t\t\t\treturn `bool`;\n\t\t\t\tcase 'bcs':\n\t\t\t\t\treturn 'bcs.bool()';\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(`Unknown format: ${options.format}`);\n\t\t\t}\n\t\tcase 'u8':\n\t\tcase 'u16':\n\t\tcase 'u32':\n\t\t\tswitch (options.format) {\n\t\t\t\tcase 'typescriptArg':\n\t\t\t\t\treturn 'number';\n\t\t\t\tcase 'typeTag':\n\t\t\t\t\treturn type.toLowerCase();\n\t\t\t\tcase 'bcs':\n\t\t\t\t\treturn `bcs.${type.toLowerCase()}()`;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(`Unknown format: ${options.format}`);\n\t\t\t}\n\t\tcase 'u64':\n\t\tcase 'u128':\n\t\tcase 'u256':\n\t\t\tswitch (options.format) {\n\t\t\t\tcase 'typescriptArg':\n\t\t\t\t\treturn `number | bigint`;\n\t\t\t\tcase 'typeTag':\n\t\t\t\t\treturn type.toLowerCase();\n\t\t\t\tcase 'bcs':\n\t\t\t\t\treturn `bcs.${type.toLowerCase()}()`;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(`Unknown format: ${options.format}`);\n\t\t\t}\n\t\tcase 'signer':\n\t\t\tthrow new Error('Signer is not supported');\n\t\tcase '_':\n\t\t\tthrow new Error('Macro placeholder is not supported');\n\t}\n\n\tif ('Datatype' in type) {\n\t\treturn renderDataType(type.Datatype, options);\n\t}\n\n\tif ('Reference' in type) {\n\t\treturn renderTypeSignature(type.Reference[1], options);\n\t}\n\n\tif ('vector' in type) {\n\t\tswitch (options.format) {\n\t\t\tcase 'typescriptArg':\n\t\t\t\treturn `${renderTypeSignature(type.vector, options)}[]`;\n\t\t\tcase 'typeTag':\n\t\t\t\treturn `vector<${renderTypeSignature(type.vector, options)}>`;\n\t\t\tcase 'bcs':\n\t\t\t\treturn `bcs.vector(${renderTypeSignature(type.vector, options)})`;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unknown format: ${options.format}`);\n\t\t}\n\t}\n\n\tif ('TypeParameter' in type) {\n\t\toptions.onTypeParameter?.(type.TypeParameter);\n\t\tswitch (options.format) {\n\t\t\tcase 'typescriptArg':\n\t\t\t\treturn options.typeParameters?.[type.TypeParameter]?.name ?? `T${type.TypeParameter}`;\n\t\t\tcase 'typeTag':\n\t\t\t\treturn `\\${options.typeArguments[${type.TypeParameter}]}`;\n\t\t\tcase 'bcs':\n\t\t\t\treturn `typeParameters[${type.TypeParameter}]`;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unknown format: ${options.format}`);\n\t\t}\n\t}\n\n\tif ('NamedTypeParameter' in type) {\n\t\toptions.onTypeParameter?.(type.NamedTypeParameter);\n\t\tconst index =\n\t\t\toptions.typeParameters?.findIndex((p) => p.name === type.NamedTypeParameter) ?? -1;\n\n\t\tif (index === -1) {\n\t\t\tthrow new Error(`Named type parameter ${type.NamedTypeParameter} not found`);\n\t\t}\n\n\t\tswitch (options.format) {\n\t\t\tcase 'typescriptArg':\n\t\t\t\treturn type.NamedTypeParameter;\n\t\t\tcase 'typeTag':\n\t\t\t\treturn `\\${options.typeArguments[${index}]}`;\n\t\t\tcase 'bcs':\n\t\t\t\treturn `typeParameters[${index}]`;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unknown format: ${options.format}`);\n\t\t}\n\t}\n\n\tthrow new Error(`Unknown type signature: ${JSON.stringify(type, null, 2)}`);\n}\n\nexport function usesBcs(type: Type, options: RenderTypeSignatureOptions): boolean {\n\tif (typeof type === 'string') {\n\t\treturn true;\n\t}\n\n\tif ('Reference' in type) {\n\t\treturn usesBcs(type.Reference[1], options);\n\t}\n\n\tif ('Datatype' in type) {\n\t\treturn isPureDataType(type.Datatype, options);\n\t}\n\n\tif ('vector' in type) {\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n\nexport function isPureSignature(type: Type, options: RenderTypeSignatureOptions): boolean {\n\tif (typeof type === 'string') {\n\t\treturn true;\n\t}\n\n\tif ('Reference' in type) {\n\t\treturn isPureSignature(type.Reference[1], options);\n\t}\n\n\tif ('Datatype' in type) {\n\t\treturn isPureDataType(type.Datatype, options);\n\t}\n\n\tif ('vector' in type) {\n\t\treturn isPureSignature(type.vector, options);\n\t}\n\n\tif ('TypeParameter' in type) {\n\t\treturn false;\n\t}\n\n\tif ('NamedTypeParameter' in type) {\n\t\treturn false;\n\t}\n\n\tthrow new Error(`Unknown type signature: ${JSON.stringify(type, null, 2)}`);\n}\n\nfunction isPureDataType(type: Datatype, options: RenderTypeSignatureOptions) {\n\tconst address = options.resolveAddress(type.module.address);\n\n\tif (address === MOVE_STDLIB_ADDRESS) {\n\t\tif ((type.module.name === 'ascii' || type.module.name === 'string') && type.name === 'String') {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (type.module.name === 'option' && type.name === 'Option') {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tif (address === HANEUL_FRAMEWORK_ADDRESS) {\n\t\tif (type.module.name === 'object' && type.name === 'ID') {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nfunction renderDataType(type: Datatype, options: RenderTypeSignatureOptions): string {\n\tconst address = options.resolveAddress(type.module.address);\n\n\tif (options.format === 'typeTag') {\n\t\tconst typeArgs = type.type_arguments.map((type) => renderTypeSignature(type.argument, options));\n\n\t\tif (typeArgs.length === 0) {\n\t\t\t// eslint-disable-next-line no-template-curly-in-string\n\t\t\treturn `${address === options.resolveAddress(options.summary.id.address) ? '${packageAddress}' : address}::${type.module.name}::${type.name}`;\n\t\t}\n\n\t\t// eslint-disable-next-line no-template-curly-in-string\n\t\treturn `${address === options.resolveAddress(options.summary.id.address) ? '${packageAddress}' : address}::${type.module.name}::${type.name}<${typeArgs.join(', ')}>`;\n\t}\n\n\tif (address === MOVE_STDLIB_ADDRESS) {\n\t\tif ((type.module.name === 'ascii' || type.module.name === 'string') && type.name === 'String') {\n\t\t\tswitch (options.format) {\n\t\t\t\tcase 'typescriptArg':\n\t\t\t\t\treturn 'string';\n\t\t\t\tcase 'bcs':\n\t\t\t\t\treturn 'bcs.string()';\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(`Unknown format: ${options.format}`);\n\t\t\t}\n\t\t}\n\n\t\tif (type.module.name === 'option' && type.name === 'Option') {\n\t\t\tswitch (options.format) {\n\t\t\t\tcase 'typescriptArg':\n\t\t\t\t\tif (isPureDataType(type, options)) {\n\t\t\t\t\t\treturn `${renderTypeSignature(type.type_arguments[0].argument, options)} | null`;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'bcs':\n\t\t\t\t\treturn `bcs.option(${renderTypeSignature(type.type_arguments[0].argument, options)})`;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(`Unknown format: ${options.format}`);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (address === HANEUL_FRAMEWORK_ADDRESS) {\n\t\tif (type.module.name === 'object' && type.name === 'ID') {\n\t\t\tswitch (options.format) {\n\t\t\t\tcase 'typescriptArg':\n\t\t\t\t\treturn 'string';\n\t\t\t\tcase 'bcs':\n\t\t\t\t\treturn 'bcs.Address';\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(`Unknown format: ${options.format}`);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst isCurrentModule =\n\t\taddress === options.resolveAddress(options.summary.id.address) &&\n\t\ttype.module.name === options.summary.id.name;\n\n\tconst importName = options.onDependency?.(type.module.address, type.module.name, type.name);\n\n\tconst typeNameRef = isCurrentModule\n\t\t? type.name\n\t\t: `${importName ?? getSafeName(type.module.name)}.${getSafeName(type.name)}`;\n\n\tconst filteredTypeArguments = type.type_arguments.filter((arg) => !arg.phantom);\n\n\tswitch (options.format) {\n\t\tcase 'typescriptArg':\n\t\t\treturn 'string';\n\t\tcase 'bcs':\n\t\t\tif (filteredTypeArguments.length === 0) {\n\t\t\t\treturn typeNameRef;\n\t\t\t}\n\n\t\t\treturn `${typeNameRef}(\n ${filteredTypeArguments.map((type) => renderTypeSignature(type.argument, options)).join(', ')})`;\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown format: ${options.format}`);\n\t}\n}\n\nconst JS_RESERVED_NAMES = [\n\t'new',\n\t'delete',\n\t'class',\n\t'function',\n\t'import',\n\t'export',\n\t'return',\n\t'this',\n\t'super',\n\t'arguments',\n\t'eval',\n\t'void',\n\t'typeof',\n\t'instanceof',\n\t'delete',\n\t'in',\n\t'from',\n\t'of',\n\t'as',\n\t'async',\n\t'await',\n\t'break',\n\t'case',\n\t'catch',\n\t'continue',\n\t'debugger',\n\t'default',\n\t'do',\n\t'else',\n\t'finally',\n\t'for',\n\t'function',\n\t'if',\n\t'import',\n\t'in',\n\t'instanceof',\n\t'new',\n\t'return',\n\t'switch',\n\t'throw',\n\t'try',\n\t'typeof',\n\t'var',\n\t'void',\n\t'while',\n\t'with',\n\t'yield',\n\t'package',\n];\n\nexport function getSafeName(name: string) {\n\treturn JS_RESERVED_NAMES.includes(name) ? `_${name}` : name;\n}\n"],
5
- "mappings": "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",
6
- "names": ["type"]
7
- }
@@ -1,3 +0,0 @@
1
- import type { DeserializedModule } from './types/deserialized.js';
2
- import type { ModuleSummary } from './types/summary.js';
3
- export declare function summaryFromDeserializedModule(mod: DeserializedModule): ModuleSummary;
@@ -1,198 +0,0 @@
1
- import { normalizeHaneulAddress } from "@haneullabs/haneul/utils";
2
- function summaryFromDeserializedModule(mod) {
3
- const moduleHandle = mod.module_handles[mod.self_module_handle_idx];
4
- const summary = {
5
- id: {
6
- address: normalizeHaneulAddress(mod.address_identifiers[moduleHandle.address]),
7
- name: mod.identifiers[moduleHandle.name]
8
- },
9
- immediate_dependencies: mod.module_handles.map((m) => ({
10
- address: normalizeHaneulAddress(mod.address_identifiers[m.address]),
11
- name: mod.identifiers[m.name]
12
- })),
13
- functions: Object.fromEntries(
14
- Array.from(
15
- { length: mod.function_defs.length },
16
- (_, i) => functionSummaryFromDeserializedFunction(mod, i)
17
- )
18
- ),
19
- structs: Object.fromEntries(
20
- Array.from(
21
- { length: mod.struct_defs.length },
22
- (_, i) => structSummaryFromDeserializedStruct(mod, i)
23
- )
24
- ),
25
- enums: Object.fromEntries(
26
- Array.from(
27
- { length: mod.enum_defs.length },
28
- (_, i) => enumSummaryFromDeserializedEnum(mod, i)
29
- )
30
- )
31
- };
32
- return summary;
33
- }
34
- function functionSummaryFromDeserializedFunction(mod, index) {
35
- const def = mod.function_defs[index];
36
- const handle = mod.function_handles[def.function];
37
- const name = mod.identifiers[handle.name];
38
- const functionSummary = {
39
- index,
40
- visibility: def.visibility,
41
- entry: def.is_entry,
42
- type_parameters: handle.type_parameters.map((p) => {
43
- return {
44
- phantom: p.is_phantom,
45
- constraints: []
46
- };
47
- }),
48
- parameters: mod.signatures[handle.parameters].map((type) => ({
49
- type_: typeFromTypeSignature(mod, type)
50
- })),
51
- return_: mod.signatures[handle.return_].map((type) => typeFromTypeSignature(mod, type))
52
- };
53
- return [name, functionSummary];
54
- }
55
- function structSummaryFromDeserializedStruct(mod, index) {
56
- const def = mod.struct_defs[index];
57
- const handle = mod.datatype_handles[def.struct_handle];
58
- const name = mod.identifiers[handle.name];
59
- const structSummary = {
60
- index,
61
- abilities: [],
62
- type_parameters: handle.type_parameters.map((p) => {
63
- return {
64
- phantom: p.is_phantom,
65
- constraints: []
66
- };
67
- }),
68
- fields: {
69
- positional_fields: false,
70
- fields: Object.fromEntries(
71
- (def.field_information.Declared ?? []).map(
72
- (field) => fieldSummaryFromDeserializedField(mod, field)
73
- )
74
- )
75
- }
76
- };
77
- return [name, structSummary];
78
- }
79
- function enumSummaryFromDeserializedEnum(mod, index) {
80
- const def = mod.enum_defs[index];
81
- const handle = mod.datatype_handles[def.enum_handle];
82
- const name = mod.identifiers[handle.name];
83
- const enumSummary = {
84
- index,
85
- abilities: [],
86
- type_parameters: handle.type_parameters.map((p) => {
87
- return {
88
- phantom: p.is_phantom,
89
- constraints: []
90
- };
91
- }),
92
- variants: Object.fromEntries(
93
- def.variants.map((variant) => variantSummaryFromDeserializedVariant(mod, variant))
94
- )
95
- };
96
- return [name, enumSummary];
97
- }
98
- function variantSummaryFromDeserializedVariant(mod, variant) {
99
- return [
100
- mod.identifiers[variant.variant_name],
101
- {
102
- index: variant.variant_name,
103
- fields: {
104
- positional_fields: false,
105
- fields: Object.fromEntries(
106
- variant.fields.map((field) => fieldSummaryFromDeserializedField(mod, field))
107
- )
108
- }
109
- }
110
- ];
111
- }
112
- function fieldSummaryFromDeserializedField(mod, declared) {
113
- const name = mod.identifiers[declared.name];
114
- const type = typeFromTypeSignature(mod, declared.signature);
115
- const field = {
116
- index: declared.name,
117
- type_: type
118
- };
119
- return [name, field];
120
- }
121
- function typeFromTypeSignature(mod, type) {
122
- switch (type) {
123
- case "U8":
124
- return "u8";
125
- case "U16":
126
- return "u16";
127
- case "U32":
128
- return "u32";
129
- case "U64":
130
- return "u64";
131
- case "U128":
132
- return "u128";
133
- case "U256":
134
- return "u256";
135
- case "Address":
136
- return "address";
137
- case "Bool":
138
- return "bool";
139
- }
140
- if ("Datatype" in type) {
141
- const handle = mod.datatype_handles[type.Datatype];
142
- const module = mod.module_handles[handle.module];
143
- return {
144
- Datatype: {
145
- module: {
146
- address: normalizeHaneulAddress(mod.address_identifiers[module.address]),
147
- name: mod.identifiers[module.name]
148
- },
149
- name: mod.identifiers[handle.name],
150
- type_arguments: []
151
- }
152
- };
153
- }
154
- if ("DatatypeInstantiation" in type) {
155
- const handle = mod.datatype_handles[type.DatatypeInstantiation[0]];
156
- const module = mod.module_handles[handle.module];
157
- return {
158
- Datatype: {
159
- module: {
160
- address: normalizeHaneulAddress(mod.address_identifiers[module.address]),
161
- name: mod.identifiers[module.name]
162
- },
163
- name: mod.identifiers[handle.name],
164
- type_arguments: type.DatatypeInstantiation[1].map((t, i) => {
165
- return {
166
- phantom: handle.type_parameters[i].is_phantom,
167
- argument: typeFromTypeSignature(mod, t)
168
- };
169
- })
170
- }
171
- };
172
- }
173
- if ("Vector" in type) {
174
- return {
175
- vector: typeFromTypeSignature(mod, type.Vector)
176
- };
177
- }
178
- if ("TypeParameter" in type) {
179
- return {
180
- TypeParameter: type.TypeParameter
181
- };
182
- }
183
- if ("Reference" in type) {
184
- return {
185
- Reference: [false, typeFromTypeSignature(mod, type.Reference)]
186
- };
187
- }
188
- if ("MutableReference" in type) {
189
- return {
190
- Reference: [true, typeFromTypeSignature(mod, type.MutableReference)]
191
- };
192
- }
193
- throw new Error(`Unknown type: ${type}`);
194
- }
195
- export {
196
- summaryFromDeserializedModule
197
- };
198
- //# sourceMappingURL=summary.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/summary.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { normalizeHaneulAddress } from '@haneullabs/haneul/utils';\nimport type { DeserializedModule, TypeSignature } from './types/deserialized.js';\nimport type {\n\tEnumSummary,\n\tField,\n\tFunctionSummary,\n\tModuleSummary,\n\tStructSummary,\n\tType,\n\tVariant,\n} from './types/summary.js';\n\nexport function summaryFromDeserializedModule(mod: DeserializedModule) {\n\tconst moduleHandle = mod.module_handles[mod.self_module_handle_idx];\n\tconst summary: ModuleSummary = {\n\t\tid: {\n\t\t\taddress: normalizeHaneulAddress(mod.address_identifiers[moduleHandle.address]),\n\t\t\tname: mod.identifiers[moduleHandle.name],\n\t\t},\n\t\timmediate_dependencies: mod.module_handles.map((m) => ({\n\t\t\taddress: normalizeHaneulAddress(mod.address_identifiers[m.address]),\n\t\t\tname: mod.identifiers[m.name],\n\t\t})),\n\t\tfunctions: Object.fromEntries(\n\t\t\tArray.from({ length: mod.function_defs.length }, (_, i) =>\n\t\t\t\tfunctionSummaryFromDeserializedFunction(mod, i),\n\t\t\t),\n\t\t),\n\t\tstructs: Object.fromEntries(\n\t\t\tArray.from({ length: mod.struct_defs.length }, (_, i) =>\n\t\t\t\tstructSummaryFromDeserializedStruct(mod, i),\n\t\t\t),\n\t\t),\n\t\tenums: Object.fromEntries(\n\t\t\tArray.from({ length: mod.enum_defs.length }, (_, i) =>\n\t\t\t\tenumSummaryFromDeserializedEnum(mod, i),\n\t\t\t),\n\t\t),\n\t};\n\n\treturn summary;\n}\n\nfunction functionSummaryFromDeserializedFunction(mod: DeserializedModule, index: number) {\n\tconst def = mod.function_defs[index];\n\tconst handle = mod.function_handles[def.function];\n\tconst name = mod.identifiers[handle.name];\n\n\tconst functionSummary: FunctionSummary = {\n\t\tindex,\n\t\tvisibility: def.visibility,\n\t\tentry: def.is_entry,\n\t\ttype_parameters: handle.type_parameters.map((p) => {\n\t\t\treturn {\n\t\t\t\tphantom: p.is_phantom,\n\t\t\t\tconstraints: [],\n\t\t\t};\n\t\t}),\n\t\tparameters: mod.signatures[handle.parameters].map((type) => ({\n\t\t\ttype_: typeFromTypeSignature(mod, type),\n\t\t})),\n\t\treturn_: mod.signatures[handle.return_].map((type) => typeFromTypeSignature(mod, type)),\n\t};\n\n\treturn [name, functionSummary];\n}\n\nfunction structSummaryFromDeserializedStruct(mod: DeserializedModule, index: number) {\n\tconst def = mod.struct_defs[index];\n\tconst handle = mod.datatype_handles[def.struct_handle];\n\tconst name = mod.identifiers[handle.name];\n\n\tconst structSummary: StructSummary = {\n\t\tindex,\n\t\tabilities: [],\n\t\ttype_parameters: handle.type_parameters.map((p) => {\n\t\t\treturn {\n\t\t\t\tphantom: p.is_phantom,\n\t\t\t\tconstraints: [],\n\t\t\t};\n\t\t}),\n\t\tfields: {\n\t\t\tpositional_fields: false,\n\t\t\tfields: Object.fromEntries(\n\t\t\t\t(def.field_information.Declared ?? []).map((field) =>\n\t\t\t\t\tfieldSummaryFromDeserializedField(mod, field),\n\t\t\t\t),\n\t\t\t),\n\t\t},\n\t};\n\n\treturn [name, structSummary];\n}\n\nfunction enumSummaryFromDeserializedEnum(mod: DeserializedModule, index: number) {\n\tconst def = mod.enum_defs[index];\n\tconst handle = mod.datatype_handles[def.enum_handle];\n\tconst name = mod.identifiers[handle.name];\n\n\tconst enumSummary: EnumSummary = {\n\t\tindex,\n\t\tabilities: [],\n\t\ttype_parameters: handle.type_parameters.map((p) => {\n\t\t\treturn {\n\t\t\t\tphantom: p.is_phantom,\n\t\t\t\tconstraints: [],\n\t\t\t};\n\t\t}),\n\t\tvariants: Object.fromEntries(\n\t\t\tdef.variants.map((variant) => variantSummaryFromDeserializedVariant(mod, variant)),\n\t\t),\n\t};\n\n\treturn [name, enumSummary];\n}\n\nfunction variantSummaryFromDeserializedVariant(\n\tmod: DeserializedModule,\n\tvariant: {\n\t\tvariant_name: number;\n\t\tfields: Array<{\n\t\t\tname: number;\n\t\t\tsignature: TypeSignature;\n\t\t}>;\n\t},\n): [string, Variant] {\n\treturn [\n\t\tmod.identifiers[variant.variant_name],\n\t\t{\n\t\t\tindex: variant.variant_name,\n\t\t\tfields: {\n\t\t\t\tpositional_fields: false,\n\t\t\t\tfields: Object.fromEntries(\n\t\t\t\t\tvariant.fields.map((field) => fieldSummaryFromDeserializedField(mod, field)),\n\t\t\t\t),\n\t\t\t},\n\t\t},\n\t];\n}\n\nfunction fieldSummaryFromDeserializedField(\n\tmod: DeserializedModule,\n\tdeclared: {\n\t\tname: number;\n\t\tsignature: TypeSignature;\n\t},\n) {\n\tconst name = mod.identifiers[declared.name];\n\tconst type = typeFromTypeSignature(mod, declared.signature);\n\n\tconst field: Field = {\n\t\tindex: declared.name,\n\t\ttype_: type,\n\t};\n\n\treturn [name, field];\n}\n\nfunction typeFromTypeSignature(mod: DeserializedModule, type: TypeSignature): Type {\n\tswitch (type) {\n\t\tcase 'U8':\n\t\t\treturn 'u8';\n\t\tcase 'U16':\n\t\t\treturn 'u16';\n\t\tcase 'U32':\n\t\t\treturn 'u32';\n\t\tcase 'U64':\n\t\t\treturn 'u64';\n\t\tcase 'U128':\n\t\t\treturn 'u128';\n\t\tcase 'U256':\n\t\t\treturn 'u256';\n\t\tcase 'Address':\n\t\t\treturn 'address';\n\t\tcase 'Bool':\n\t\t\treturn 'bool';\n\t}\n\n\tif ('Datatype' in type) {\n\t\tconst handle = mod.datatype_handles[type.Datatype];\n\t\tconst module = mod.module_handles[handle.module];\n\t\treturn {\n\t\t\tDatatype: {\n\t\t\t\tmodule: {\n\t\t\t\t\taddress: normalizeHaneulAddress(mod.address_identifiers[module.address]),\n\t\t\t\t\tname: mod.identifiers[module.name],\n\t\t\t\t},\n\t\t\t\tname: mod.identifiers[handle.name],\n\t\t\t\ttype_arguments: [],\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('DatatypeInstantiation' in type) {\n\t\tconst handle = mod.datatype_handles[type.DatatypeInstantiation[0]];\n\t\tconst module = mod.module_handles[handle.module];\n\t\treturn {\n\t\t\tDatatype: {\n\t\t\t\tmodule: {\n\t\t\t\t\taddress: normalizeHaneulAddress(mod.address_identifiers[module.address]),\n\t\t\t\t\tname: mod.identifiers[module.name],\n\t\t\t\t},\n\t\t\t\tname: mod.identifiers[handle.name],\n\t\t\t\ttype_arguments: type.DatatypeInstantiation[1].map((t, i) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tphantom: handle.type_parameters[i].is_phantom,\n\t\t\t\t\t\targument: typeFromTypeSignature(mod, t),\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('Vector' in type) {\n\t\treturn {\n\t\t\tvector: typeFromTypeSignature(mod, type.Vector),\n\t\t};\n\t}\n\n\tif ('TypeParameter' in type) {\n\t\treturn {\n\t\t\tTypeParameter: type.TypeParameter,\n\t\t};\n\t}\n\n\tif ('Reference' in type) {\n\t\treturn {\n\t\t\tReference: [false, typeFromTypeSignature(mod, type.Reference)],\n\t\t};\n\t}\n\n\tif ('MutableReference' in type) {\n\t\treturn {\n\t\t\tReference: [true, typeFromTypeSignature(mod, type.MutableReference)],\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown type: ${type}`);\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,89 +0,0 @@
1
- export type TypeSignature = 'U8' | 'U16' | 'U32' | 'U64' | 'U128' | 'U256' | 'Address' | 'Bool' | {
2
- Datatype: number;
3
- } | {
4
- DatatypeInstantiation: [number, TypeSignature[]];
5
- } | {
6
- Vector: TypeSignature;
7
- } | {
8
- TypeParameter: number;
9
- } | {
10
- Reference: TypeSignature;
11
- } | {
12
- MutableReference: TypeSignature;
13
- };
14
- export interface DeserializedModule {
15
- version: number;
16
- self_module_handle_idx: number;
17
- module_handles: Array<{
18
- name: number;
19
- address: number;
20
- }>;
21
- datatype_handles: Array<{
22
- name: number;
23
- module: number;
24
- abilities: number;
25
- type_parameters: Array<{
26
- constraints: number;
27
- is_phantom: boolean;
28
- }>;
29
- }>;
30
- function_handles: Array<{
31
- module: number;
32
- name: number;
33
- parameters: number;
34
- return_: number;
35
- type_parameters: Array<{
36
- constraints: number;
37
- is_phantom: boolean;
38
- }>;
39
- }>;
40
- field_handles: Array<{
41
- owner: number;
42
- field: number;
43
- }>;
44
- friend_decls: Array<unknown>;
45
- struct_def_instantiations: Array<unknown>;
46
- function_instantiations: Array<unknown>;
47
- field_instantiations: Array<unknown>;
48
- signatures: Array<Array<TypeSignature>>;
49
- identifiers: Array<string>;
50
- address_identifiers: Array<string>;
51
- constant_pool: Array<{
52
- type_: TypeSignature;
53
- data: Array<number>;
54
- }>;
55
- metadata: Array<unknown>;
56
- struct_defs: Array<{
57
- struct_handle: number;
58
- field_information: {
59
- Declared?: Array<{
60
- name: number;
61
- signature: TypeSignature;
62
- }>;
63
- };
64
- }>;
65
- function_defs: Array<{
66
- function: number;
67
- visibility: 'Public' | 'Private' | 'Friend';
68
- is_entry: boolean;
69
- acquires_global_resources: Array<unknown>;
70
- flags: number;
71
- code: unknown;
72
- }>;
73
- enum_defs: Array<{
74
- enum_handle: number;
75
- variants: Array<{
76
- variant_name: number;
77
- fields: Array<{
78
- name: number;
79
- signature: TypeSignature;
80
- }>;
81
- }>;
82
- }>;
83
- enum_def_instantiations: Array<unknown>;
84
- variant_handles: Array<{
85
- enum_def: number;
86
- variant: number;
87
- }>;
88
- variant_instantiation_handles: Array<unknown>;
89
- }
@@ -1 +0,0 @@
1
- //# sourceMappingURL=deserialized.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }