@codama/renderers-rust 1.0.15 → 1.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,20 +1,42 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var errors = require('@codama/errors');
6
- var nodes = require('@codama/nodes');
7
- var renderersCore = require('@codama/renderers-core');
8
- var visitorsCore = require('@codama/visitors-core');
9
- var codecsStrings = require('@solana/codecs-strings');
10
- var path = require('path');
11
- require('url');
12
- var nunjucks = require('nunjucks');
13
- var child_process = require('child_process');
14
-
15
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
29
 
17
- var nunjucks__default = /*#__PURE__*/_interopDefault(nunjucks);
30
+ // src/index.ts
31
+ var index_exports = {};
32
+ __export(index_exports, {
33
+ ImportMap: () => ImportMap,
34
+ default: () => renderVisitor,
35
+ getRenderMapVisitor: () => getRenderMapVisitor,
36
+ getTypeManifestVisitor: () => getTypeManifestVisitor,
37
+ renderVisitor: () => renderVisitor
38
+ });
39
+ module.exports = __toCommonJS(index_exports);
18
40
 
19
41
  // src/ImportMap.ts
20
42
  var DEFAULT_MODULE_MAP = {
@@ -86,19 +108,36 @@ var ImportMap = class _ImportMap {
86
108
  return importStatements.join("\n");
87
109
  }
88
110
  };
111
+
112
+ // src/getRenderMapVisitor.ts
113
+ var import_errors3 = require("@codama/errors");
114
+ var import_nodes5 = require("@codama/nodes");
115
+ var import_renderers_core = require("@codama/renderers-core");
116
+ var import_visitors_core3 = require("@codama/visitors-core");
117
+
118
+ // src/getTypeManifestVisitor.ts
119
+ var import_errors2 = require("@codama/errors");
120
+ var import_nodes3 = require("@codama/nodes");
121
+ var import_visitors_core = require("@codama/visitors-core");
122
+
123
+ // src/utils/codecs.ts
124
+ var import_codecs_strings = require("@solana/codecs-strings");
89
125
  function getBytesFromBytesValueNode(node) {
90
126
  switch (node.encoding) {
91
127
  case "utf8":
92
- return codecsStrings.getUtf8Encoder().encode(node.data);
128
+ return (0, import_codecs_strings.getUtf8Encoder)().encode(node.data);
93
129
  case "base16":
94
- return codecsStrings.getBase16Encoder().encode(node.data);
130
+ return (0, import_codecs_strings.getBase16Encoder)().encode(node.data);
95
131
  case "base58":
96
- return codecsStrings.getBase58Encoder().encode(node.data);
132
+ return (0, import_codecs_strings.getBase58Encoder)().encode(node.data);
97
133
  case "base64":
98
134
  default:
99
- return codecsStrings.getBase64Encoder().encode(node.data);
135
+ return (0, import_codecs_strings.getBase64Encoder)().encode(node.data);
100
136
  }
101
137
  }
138
+
139
+ // src/utils/linkOverrides.ts
140
+ var import_errors = require("@codama/errors");
102
141
  function getImportFromFactory(overrides) {
103
142
  const linkOverrides = {
104
143
  accounts: overrides.accounts ?? {},
@@ -124,7 +163,7 @@ function getImportFromFactory(overrides) {
124
163
  case "resolverValueNode":
125
164
  return linkOverrides.resolvers[node.name] ?? "hooked";
126
165
  default:
127
- throw new errors.CodamaError(errors.CODAMA_ERROR__UNEXPECTED_NODE_KIND, {
166
+ throw new import_errors.CodamaError(import_errors.CODAMA_ERROR__UNEXPECTED_NODE_KIND, {
128
167
  expectedKinds: [
129
168
  "AccountLinkNode",
130
169
  "DefinedTypeLinkNode",
@@ -139,6 +178,12 @@ function getImportFromFactory(overrides) {
139
178
  }
140
179
  };
141
180
  }
181
+
182
+ // src/utils/render.ts
183
+ var import_node_path = require("path");
184
+ var import_node_url = require("url");
185
+ var import_nodes = require("@codama/nodes");
186
+ var import_nunjucks = __toESM(require("nunjucks"));
142
187
  function rustDocblock(docs) {
143
188
  if (docs.length <= 0) return "";
144
189
  const lines = docs.map((doc) => `/// ${doc}`);
@@ -146,17 +191,20 @@ function rustDocblock(docs) {
146
191
  `;
147
192
  }
148
193
  var render = (template, context, options) => {
149
- const dirname = __dirname;
150
- const templates = path.join(dirname, "templates");
151
- const env = nunjucks__default.default.configure(templates, { autoescape: false, trimBlocks: true, ...options });
152
- env.addFilter("pascalCase", nodes.pascalCase);
153
- env.addFilter("camelCase", nodes.camelCase);
154
- env.addFilter("snakeCase", nodes.snakeCase);
155
- env.addFilter("kebabCase", nodes.kebabCase);
156
- env.addFilter("titleCase", nodes.titleCase);
194
+ const dirname = false ? pathDirname(fileURLToPath(import_meta.url)) : __dirname;
195
+ const templates = false ? (0, import_node_path.join)(dirname, "..", "..", "public", "templates") : (0, import_node_path.join)(dirname, "templates");
196
+ const env = import_nunjucks.default.configure(templates, { autoescape: false, trimBlocks: true, ...options });
197
+ env.addFilter("pascalCase", import_nodes.pascalCase);
198
+ env.addFilter("camelCase", import_nodes.camelCase);
199
+ env.addFilter("snakeCase", import_nodes.snakeCase);
200
+ env.addFilter("kebabCase", import_nodes.kebabCase);
201
+ env.addFilter("titleCase", import_nodes.titleCase);
157
202
  env.addFilter("rustDocblock", rustDocblock);
158
203
  return env.render(template, context);
159
204
  };
205
+
206
+ // src/utils/traitOptions.ts
207
+ var import_nodes2 = require("@codama/nodes");
160
208
  var DEFAULT_TRAIT_OPTIONS = {
161
209
  baseDefaults: [
162
210
  "borsh::BorshSerialize",
@@ -179,14 +227,14 @@ function getTraitsFromNodeFactory(options = {}) {
179
227
  return (node) => getTraitsFromNode(node, options);
180
228
  }
181
229
  function getTraitsFromNode(node, userOptions = {}) {
182
- nodes.assertIsNode(node, ["accountNode", "definedTypeNode", "instructionNode"]);
230
+ (0, import_nodes2.assertIsNode)(node, ["accountNode", "definedTypeNode", "instructionNode"]);
183
231
  const options = { ...DEFAULT_TRAIT_OPTIONS, ...userOptions };
184
232
  const nodeType = getNodeType(node);
185
233
  if (nodeType === "alias") {
186
234
  return { imports: new ImportMap(), render: "" };
187
235
  }
188
236
  const sanitizedOverrides = Object.fromEntries(
189
- Object.entries(options.overrides).map(([key, value]) => [nodes.camelCase(key), value])
237
+ Object.entries(options.overrides).map(([key, value]) => [(0, import_nodes2.camelCase)(key), value])
190
238
  );
191
239
  const nodeOverrides = sanitizedOverrides[node.name];
192
240
  const allTraits = nodeOverrides === void 0 ? getDefaultTraits(nodeType, options) : nodeOverrides;
@@ -208,10 +256,10 @@ function getTraitsFromNode(node, userOptions = {}) {
208
256
  return { imports, render: traitLines.join("") };
209
257
  }
210
258
  function getNodeType(node) {
211
- if (nodes.isNode(node, ["accountNode", "instructionNode"])) return "struct";
212
- if (nodes.isNode(node.type, "structTypeNode")) return "struct";
213
- if (nodes.isNode(node.type, "enumTypeNode")) {
214
- return nodes.isScalarEnum(node.type) ? "scalarEnum" : "dataEnum";
259
+ if ((0, import_nodes2.isNode)(node, ["accountNode", "instructionNode"])) return "struct";
260
+ if ((0, import_nodes2.isNode)(node.type, "structTypeNode")) return "struct";
261
+ if ((0, import_nodes2.isNode)(node.type, "enumTypeNode")) {
262
+ return (0, import_nodes2.isScalarEnum)(node.type) ? "scalarEnum" : "dataEnum";
215
263
  }
216
264
  return "alias";
217
265
  }
@@ -264,19 +312,19 @@ function getTypeManifestVisitor(options) {
264
312
  let nestedStruct = options.nestedStruct ?? false;
265
313
  let inlineStruct = false;
266
314
  let parentSize = null;
267
- return visitorsCore.pipe(
268
- visitorsCore.mergeVisitor(
315
+ return (0, import_visitors_core.pipe)(
316
+ (0, import_visitors_core.mergeVisitor)(
269
317
  () => ({ imports: new ImportMap(), nestedStructs: [], type: "" }),
270
318
  (_, values) => ({
271
319
  ...mergeManifests(values),
272
320
  type: values.map((v) => v.type).join("\n")
273
321
  }),
274
- { keys: [...nodes.REGISTERED_TYPE_NODE_KINDS, "definedTypeLinkNode", "definedTypeNode", "accountNode"] }
322
+ { keys: [...import_nodes3.REGISTERED_TYPE_NODE_KINDS, "definedTypeLinkNode", "definedTypeNode", "accountNode"] }
275
323
  ),
276
- (v) => visitorsCore.extendVisitor(v, {
324
+ (v) => (0, import_visitors_core.extendVisitor)(v, {
277
325
  visitAccount(account, { self }) {
278
- parentName = nodes.pascalCase(account.name);
279
- const manifest = visitorsCore.visit(account.data, self);
326
+ parentName = (0, import_nodes3.pascalCase)(account.name);
327
+ const manifest = (0, import_visitors_core.visit)(account.data, self);
280
328
  const traits = getTraitsFromNode2(account);
281
329
  manifest.imports.mergeWith(traits.imports);
282
330
  parentName = null;
@@ -286,21 +334,21 @@ function getTypeManifestVisitor(options) {
286
334
  };
287
335
  },
288
336
  visitArrayType(arrayType, { self }) {
289
- const childManifest = visitorsCore.visit(arrayType.item, self);
290
- if (nodes.isNode(arrayType.count, "fixedCountNode")) {
337
+ const childManifest = (0, import_visitors_core.visit)(arrayType.item, self);
338
+ if ((0, import_nodes3.isNode)(arrayType.count, "fixedCountNode")) {
291
339
  return {
292
340
  ...childManifest,
293
341
  type: `[${childManifest.type}; ${arrayType.count.value}]`
294
342
  };
295
343
  }
296
- if (nodes.isNode(arrayType.count, "remainderCountNode")) {
344
+ if ((0, import_nodes3.isNode)(arrayType.count, "remainderCountNode")) {
297
345
  childManifest.imports.add("kaigan::types::RemainderVec");
298
346
  return {
299
347
  ...childManifest,
300
348
  type: `RemainderVec<${childManifest.type}>`
301
349
  };
302
350
  }
303
- const prefix = nodes.resolveNestedTypeNode(arrayType.count.prefix);
351
+ const prefix = (0, import_nodes3.resolveNestedTypeNode)(arrayType.count.prefix);
304
352
  if (prefix.endian === "le") {
305
353
  switch (prefix.format) {
306
354
  case "u32":
@@ -332,7 +380,7 @@ function getTypeManifestVisitor(options) {
332
380
  throw new Error("Array size not supported by Borsh");
333
381
  },
334
382
  visitBooleanType(booleanType) {
335
- const resolvedSize = nodes.resolveNestedTypeNode(booleanType.size);
383
+ const resolvedSize = (0, import_nodes3.resolveNestedTypeNode)(booleanType.size);
336
384
  if (resolvedSize.format === "u8" && resolvedSize.endian === "le") {
337
385
  return {
338
386
  imports: new ImportMap(),
@@ -343,26 +391,26 @@ function getTypeManifestVisitor(options) {
343
391
  throw new Error("Bool size not supported by Borsh");
344
392
  },
345
393
  visitBytesType(_bytesType, { self }) {
346
- let arraySize = nodes.remainderCountNode();
394
+ let arraySize = (0, import_nodes3.remainderCountNode)();
347
395
  if (typeof parentSize === "number") {
348
- arraySize = nodes.fixedCountNode(parentSize);
396
+ arraySize = (0, import_nodes3.fixedCountNode)(parentSize);
349
397
  } else if (parentSize && typeof parentSize === "object") {
350
- arraySize = nodes.prefixedCountNode(parentSize);
398
+ arraySize = (0, import_nodes3.prefixedCountNode)(parentSize);
351
399
  }
352
- const arrayType = nodes.arrayTypeNode(nodes.numberTypeNode("u8"), arraySize);
353
- return visitorsCore.visit(arrayType, self);
400
+ const arrayType = (0, import_nodes3.arrayTypeNode)((0, import_nodes3.numberTypeNode)("u8"), arraySize);
401
+ return (0, import_visitors_core.visit)(arrayType, self);
354
402
  },
355
403
  visitDefinedType(definedType, { self }) {
356
- parentName = nodes.pascalCase(definedType.name);
357
- const manifest = visitorsCore.visit(definedType.type, self);
404
+ parentName = (0, import_nodes3.pascalCase)(definedType.name);
405
+ const manifest = (0, import_visitors_core.visit)(definedType.type, self);
358
406
  const traits = getTraitsFromNode2(definedType);
359
407
  manifest.imports.mergeWith(traits.imports);
360
408
  parentName = null;
361
- const renderedType = nodes.isNode(definedType.type, ["enumTypeNode", "structTypeNode"]) ? manifest.type : `pub type ${nodes.pascalCase(definedType.name)} = ${manifest.type};`;
409
+ const renderedType = (0, import_nodes3.isNode)(definedType.type, ["enumTypeNode", "structTypeNode"]) ? manifest.type : `pub type ${(0, import_nodes3.pascalCase)(definedType.name)} = ${manifest.type};`;
362
410
  return { ...manifest, type: `${traits.render}${renderedType}` };
363
411
  },
364
412
  visitDefinedTypeLink(node) {
365
- const pascalCaseDefinedType = nodes.pascalCase(node.name);
413
+ const pascalCaseDefinedType = (0, import_nodes3.pascalCase)(node.name);
366
414
  const importFrom = getImportFrom(node);
367
415
  return {
368
416
  imports: new ImportMap().add(`${importFrom}::${pascalCaseDefinedType}`),
@@ -371,7 +419,7 @@ function getTypeManifestVisitor(options) {
371
419
  };
372
420
  },
373
421
  visitEnumEmptyVariantType(enumEmptyVariantType) {
374
- const name = nodes.pascalCase(enumEmptyVariantType.name);
422
+ const name = (0, import_nodes3.pascalCase)(enumEmptyVariantType.name);
375
423
  return {
376
424
  imports: new ImportMap(),
377
425
  nestedStructs: [],
@@ -379,14 +427,14 @@ function getTypeManifestVisitor(options) {
379
427
  };
380
428
  },
381
429
  visitEnumStructVariantType(enumStructVariantType, { self }) {
382
- const name = nodes.pascalCase(enumStructVariantType.name);
430
+ const name = (0, import_nodes3.pascalCase)(enumStructVariantType.name);
383
431
  const originalParentName = parentName;
384
432
  if (!originalParentName) {
385
433
  throw new Error("Enum struct variant type must have a parent name.");
386
434
  }
387
435
  inlineStruct = true;
388
- parentName = nodes.pascalCase(originalParentName) + name;
389
- const typeManifest = visitorsCore.visit(enumStructVariantType.struct, self);
436
+ parentName = (0, import_nodes3.pascalCase)(originalParentName) + name;
437
+ const typeManifest = (0, import_visitors_core.visit)(enumStructVariantType.struct, self);
390
438
  inlineStruct = false;
391
439
  parentName = originalParentName;
392
440
  return {
@@ -395,13 +443,13 @@ function getTypeManifestVisitor(options) {
395
443
  };
396
444
  },
397
445
  visitEnumTupleVariantType(enumTupleVariantType, { self }) {
398
- const name = nodes.pascalCase(enumTupleVariantType.name);
446
+ const name = (0, import_nodes3.pascalCase)(enumTupleVariantType.name);
399
447
  const originalParentName = parentName;
400
448
  if (!originalParentName) {
401
449
  throw new Error("Enum struct variant type must have a parent name.");
402
450
  }
403
- parentName = nodes.pascalCase(originalParentName) + name;
404
- const childManifest = visitorsCore.visit(enumTupleVariantType.tuple, self);
451
+ parentName = (0, import_nodes3.pascalCase)(originalParentName) + name;
452
+ const childManifest = (0, import_visitors_core.visit)(enumTupleVariantType.tuple, self);
405
453
  parentName = originalParentName;
406
454
  let derive = "";
407
455
  if (childManifest.type === "(Pubkey)") {
@@ -419,25 +467,25 @@ function getTypeManifestVisitor(options) {
419
467
  if (!originalParentName) {
420
468
  throw new Error("Enum type must have a parent name.");
421
469
  }
422
- const variants = enumType.variants.map((variant) => visitorsCore.visit(variant, self));
470
+ const variants = enumType.variants.map((variant) => (0, import_visitors_core.visit)(variant, self));
423
471
  const variantNames = variants.map((variant) => variant.type).join("\n");
424
472
  const mergedManifest = mergeManifests(variants);
425
473
  return {
426
474
  ...mergedManifest,
427
- type: `pub enum ${nodes.pascalCase(originalParentName)} {
475
+ type: `pub enum ${(0, import_nodes3.pascalCase)(originalParentName)} {
428
476
  ${variantNames}
429
477
  }`
430
478
  };
431
479
  },
432
480
  visitFixedSizeType(fixedSizeType, { self }) {
433
481
  parentSize = fixedSizeType.size;
434
- const manifest = visitorsCore.visit(fixedSizeType.type, self);
482
+ const manifest = (0, import_visitors_core.visit)(fixedSizeType.type, self);
435
483
  parentSize = null;
436
484
  return manifest;
437
485
  },
438
486
  visitMapType(mapType, { self }) {
439
- const key = visitorsCore.visit(mapType.key, self);
440
- const value = visitorsCore.visit(mapType.value, self);
487
+ const key = (0, import_visitors_core.visit)(mapType.key, self);
488
+ const value = (0, import_visitors_core.visit)(mapType.value, self);
441
489
  const mergedManifest = mergeManifests([key, value]);
442
490
  mergedManifest.imports.add("std::collections::HashMap");
443
491
  return {
@@ -463,8 +511,8 @@ ${variantNames}
463
511
  };
464
512
  },
465
513
  visitOptionType(optionType, { self }) {
466
- const childManifest = visitorsCore.visit(optionType.item, self);
467
- const optionPrefix = nodes.resolveNestedTypeNode(optionType.prefix);
514
+ const childManifest = (0, import_visitors_core.visit)(optionType.item, self);
515
+ const optionPrefix = (0, import_nodes3.resolveNestedTypeNode)(optionType.prefix);
468
516
  if (optionPrefix.format === "u8" && optionPrefix.endian === "le") {
469
517
  return {
470
518
  ...childManifest,
@@ -481,10 +529,10 @@ ${variantNames}
481
529
  };
482
530
  },
483
531
  visitRemainderOptionType(node) {
484
- throw new errors.CodamaError(errors.CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, { kind: node.kind, node });
532
+ throw new import_errors2.CodamaError(import_errors2.CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, { kind: node.kind, node });
485
533
  },
486
534
  visitSetType(setType, { self }) {
487
- const childManifest = visitorsCore.visit(setType.item, self);
535
+ const childManifest = (0, import_visitors_core.visit)(setType.item, self);
488
536
  childManifest.imports.add("std::collections::HashSet");
489
537
  return {
490
538
  ...childManifest,
@@ -492,8 +540,8 @@ ${variantNames}
492
540
  };
493
541
  },
494
542
  visitSizePrefixType(sizePrefixType, { self }) {
495
- parentSize = nodes.resolveNestedTypeNode(sizePrefixType.prefix);
496
- const manifest = visitorsCore.visit(sizePrefixType.type, self);
543
+ parentSize = (0, import_nodes3.resolveNestedTypeNode)(sizePrefixType.prefix);
544
+ const manifest = (0, import_visitors_core.visit)(sizePrefixType.type, self);
497
545
  parentSize = null;
498
546
  return manifest;
499
547
  },
@@ -512,7 +560,7 @@ ${variantNames}
512
560
  type: `[u8; ${parentSize}]`
513
561
  };
514
562
  }
515
- if (nodes.isNode(parentSize, "numberTypeNode") && parentSize.endian === "le") {
563
+ if ((0, import_nodes3.isNode)(parentSize, "numberTypeNode") && parentSize.endian === "le") {
516
564
  switch (parentSize.format) {
517
565
  case "u32":
518
566
  return {
@@ -543,24 +591,24 @@ ${variantNames}
543
591
  if (!originalParentName) {
544
592
  throw new Error("Struct field type must have a parent name.");
545
593
  }
546
- parentName = nodes.pascalCase(originalParentName) + nodes.pascalCase(structFieldType.name);
594
+ parentName = (0, import_nodes3.pascalCase)(originalParentName) + (0, import_nodes3.pascalCase)(structFieldType.name);
547
595
  nestedStruct = true;
548
596
  inlineStruct = false;
549
- const fieldManifest = visitorsCore.visit(structFieldType.type, self);
597
+ const fieldManifest = (0, import_visitors_core.visit)(structFieldType.type, self);
550
598
  parentName = originalParentName;
551
599
  inlineStruct = originalInlineStruct;
552
600
  nestedStruct = originalNestedStruct;
553
- const fieldName = nodes.snakeCase(structFieldType.name);
601
+ const fieldName = (0, import_nodes3.snakeCase)(structFieldType.name);
554
602
  const docblock = rustDocblock(structFieldType.docs);
555
- const resolvedNestedType = nodes.resolveNestedTypeNode(structFieldType.type);
603
+ const resolvedNestedType = (0, import_nodes3.resolveNestedTypeNode)(structFieldType.type);
556
604
  let derive = "";
557
605
  if (fieldManifest.type === "Pubkey") {
558
606
  derive = '#[cfg_attr(feature = "serde", serde(with = "serde_with::As::<serde_with::DisplayFromStr>"))]\n';
559
607
  } else if (fieldManifest.type === "Vec<Pubkey>") {
560
608
  derive = '#[cfg_attr(feature = "serde", serde(with = "serde_with::As::<Vec<serde_with::DisplayFromStr>>"))]\n';
561
- } else if (nodes.isNode(resolvedNestedType, "arrayTypeNode") && nodes.isNode(resolvedNestedType.count, "fixedCountNode") && resolvedNestedType.count.value > 32) {
609
+ } else if ((0, import_nodes3.isNode)(resolvedNestedType, "arrayTypeNode") && (0, import_nodes3.isNode)(resolvedNestedType.count, "fixedCountNode") && resolvedNestedType.count.value > 32) {
562
610
  derive = '#[cfg_attr(feature = "serde", serde(with = "serde_big_array::BigArray"))]\n';
563
- } else if (nodes.isNode(resolvedNestedType, ["bytesTypeNode", "stringTypeNode"]) && nodes.isNode(structFieldType.type, "fixedSizeTypeNode") && structFieldType.type.size > 32) {
611
+ } else if ((0, import_nodes3.isNode)(resolvedNestedType, ["bytesTypeNode", "stringTypeNode"]) && (0, import_nodes3.isNode)(structFieldType.type, "fixedSizeTypeNode") && structFieldType.type.size > 32) {
564
612
  derive = '#[cfg_attr(feature = "serde", serde(with = "serde_with::As::<serde_with::Bytes>"))]\n';
565
613
  }
566
614
  return {
@@ -573,23 +621,23 @@ ${variantNames}
573
621
  if (!originalParentName) {
574
622
  throw new Error("Struct type must have a parent name.");
575
623
  }
576
- const fields = structType.fields.map((field) => visitorsCore.visit(field, self));
624
+ const fields = structType.fields.map((field) => (0, import_visitors_core.visit)(field, self));
577
625
  const fieldTypes = fields.map((field) => field.type).join("\n");
578
626
  const mergedManifest = mergeManifests(fields);
579
627
  if (nestedStruct) {
580
628
  const nestedTraits = getTraitsFromNode2(
581
- nodes.definedTypeNode({ name: originalParentName, type: structType })
629
+ (0, import_nodes3.definedTypeNode)({ name: originalParentName, type: structType })
582
630
  );
583
631
  mergedManifest.imports.mergeWith(nestedTraits.imports);
584
632
  return {
585
633
  ...mergedManifest,
586
634
  nestedStructs: [
587
635
  ...mergedManifest.nestedStructs,
588
- `${nestedTraits.render}pub struct ${nodes.pascalCase(originalParentName)} {
636
+ `${nestedTraits.render}pub struct ${(0, import_nodes3.pascalCase)(originalParentName)} {
589
637
  ${fieldTypes}
590
638
  }`
591
639
  ],
592
- type: nodes.pascalCase(originalParentName)
640
+ type: (0, import_nodes3.pascalCase)(originalParentName)
593
641
  };
594
642
  }
595
643
  if (inlineStruct) {
@@ -599,13 +647,13 @@ ${fieldTypes}
599
647
  }
600
648
  return {
601
649
  ...mergedManifest,
602
- type: `pub struct ${nodes.pascalCase(originalParentName)} {
650
+ type: `pub struct ${(0, import_nodes3.pascalCase)(originalParentName)} {
603
651
  ${fieldTypes}
604
652
  }`
605
653
  };
606
654
  },
607
655
  visitTupleType(tupleType, { self }) {
608
- const items = tupleType.items.map((item) => visitorsCore.visit(item, self));
656
+ const items = tupleType.items.map((item) => (0, import_visitors_core.visit)(item, self));
609
657
  const mergedManifest = mergeManifests(items);
610
658
  return {
611
659
  ...mergedManifest,
@@ -613,7 +661,7 @@ ${fieldTypes}
613
661
  };
614
662
  },
615
663
  visitZeroableOptionType(node) {
616
- throw new errors.CodamaError(errors.CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, { kind: node.kind, node });
664
+ throw new import_errors2.CodamaError(import_errors2.CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, { kind: node.kind, node });
617
665
  }
618
666
  })
619
667
  );
@@ -624,13 +672,17 @@ function mergeManifests(manifests) {
624
672
  nestedStructs: manifests.flatMap((m) => m.nestedStructs)
625
673
  };
626
674
  }
675
+
676
+ // src/renderValueNodeVisitor.ts
677
+ var import_nodes4 = require("@codama/nodes");
678
+ var import_visitors_core2 = require("@codama/visitors-core");
627
679
  function renderValueNode(value, getImportFrom, useStr = false) {
628
- return visitorsCore.visit(value, renderValueNodeVisitor(getImportFrom, useStr));
680
+ return (0, import_visitors_core2.visit)(value, renderValueNodeVisitor(getImportFrom, useStr));
629
681
  }
630
682
  function renderValueNodeVisitor(getImportFrom, useStr = false) {
631
683
  return {
632
684
  visitArrayValue(node) {
633
- const list = node.items.map((v) => visitorsCore.visit(v, this));
685
+ const list = node.items.map((v) => (0, import_visitors_core2.visit)(v, this));
634
686
  return {
635
687
  imports: new ImportMap().mergeWith(...list.map((c) => c.imports)),
636
688
  render: `[${list.map((c) => c.render).join(", ")}]`
@@ -644,18 +696,18 @@ function renderValueNodeVisitor(getImportFrom, useStr = false) {
644
696
  },
645
697
  visitBytesValue(node) {
646
698
  const bytes = getBytesFromBytesValueNode(node);
647
- const numbers = Array.from(bytes).map(nodes.numberValueNode);
648
- return visitorsCore.visit(nodes.arrayValueNode(numbers), this);
699
+ const numbers = Array.from(bytes).map(import_nodes4.numberValueNode);
700
+ return (0, import_visitors_core2.visit)((0, import_nodes4.arrayValueNode)(numbers), this);
649
701
  },
650
702
  visitConstantValue(node) {
651
- if (nodes.isNode(node.value, "bytesValueNode")) {
652
- return visitorsCore.visit(node.value, this);
703
+ if ((0, import_nodes4.isNode)(node.value, "bytesValueNode")) {
704
+ return (0, import_visitors_core2.visit)(node.value, this);
653
705
  }
654
- if (nodes.isNode(node.type, "stringTypeNode") && nodes.isNode(node.value, "stringValueNode")) {
655
- return visitorsCore.visit(nodes.bytesValueNode(node.type.encoding, node.value.string), this);
706
+ if ((0, import_nodes4.isNode)(node.type, "stringTypeNode") && (0, import_nodes4.isNode)(node.value, "stringValueNode")) {
707
+ return (0, import_visitors_core2.visit)((0, import_nodes4.bytesValueNode)(node.type.encoding, node.value.string), this);
656
708
  }
657
- if (nodes.isNode(node.type, "numberTypeNode") && nodes.isNode(node.value, "numberValueNode")) {
658
- const numberManifest = visitorsCore.visit(node.value, this);
709
+ if ((0, import_nodes4.isNode)(node.type, "numberTypeNode") && (0, import_nodes4.isNode)(node.value, "numberValueNode")) {
710
+ const numberManifest = (0, import_visitors_core2.visit)(node.value, this);
659
711
  const { format, endian } = node.type;
660
712
  const byteFunction = endian === "le" ? "to_le_bytes" : "to_be_bytes";
661
713
  numberManifest.render = `${numberManifest.render}${format}.${byteFunction}()`;
@@ -665,14 +717,14 @@ function renderValueNodeVisitor(getImportFrom, useStr = false) {
665
717
  },
666
718
  visitEnumValue(node) {
667
719
  const imports = new ImportMap();
668
- const enumName = nodes.pascalCase(node.enum.name);
669
- const variantName = nodes.pascalCase(node.variant);
720
+ const enumName = (0, import_nodes4.pascalCase)(node.enum.name);
721
+ const variantName = (0, import_nodes4.pascalCase)(node.variant);
670
722
  const importFrom = getImportFrom(node.enum);
671
723
  imports.add(`${importFrom}::${enumName}`);
672
724
  if (!node.value) {
673
725
  return { imports, render: `${enumName}::${variantName}` };
674
726
  }
675
- const enumValue = visitorsCore.visit(node.value, this);
727
+ const enumValue = (0, import_visitors_core2.visit)(node.value, this);
676
728
  const fields = enumValue.render;
677
729
  return {
678
730
  imports: imports.mergeWith(enumValue.imports),
@@ -680,15 +732,15 @@ function renderValueNodeVisitor(getImportFrom, useStr = false) {
680
732
  };
681
733
  },
682
734
  visitMapEntryValue(node) {
683
- const mapKey = visitorsCore.visit(node.key, this);
684
- const mapValue = visitorsCore.visit(node.value, this);
735
+ const mapKey = (0, import_visitors_core2.visit)(node.key, this);
736
+ const mapValue = (0, import_visitors_core2.visit)(node.value, this);
685
737
  return {
686
738
  imports: mapKey.imports.mergeWith(mapValue.imports),
687
739
  render: `[${mapKey.render}, ${mapValue.render}]`
688
740
  };
689
741
  },
690
742
  visitMapValue(node) {
691
- const map = node.entries.map((entry) => visitorsCore.visit(entry, this));
743
+ const map = node.entries.map((entry) => (0, import_visitors_core2.visit)(entry, this));
692
744
  const imports = new ImportMap().add("std::collection::HashMap");
693
745
  return {
694
746
  imports: imports.mergeWith(...map.map((c) => c.imports)),
@@ -714,7 +766,7 @@ function renderValueNodeVisitor(getImportFrom, useStr = false) {
714
766
  };
715
767
  },
716
768
  visitSetValue(node) {
717
- const set = node.items.map((v) => visitorsCore.visit(v, this));
769
+ const set = node.items.map((v) => (0, import_visitors_core2.visit)(v, this));
718
770
  const imports = new ImportMap().add("std::collection::HashSet");
719
771
  return {
720
772
  imports: imports.mergeWith(...set.map((c) => c.imports)),
@@ -722,7 +774,7 @@ function renderValueNodeVisitor(getImportFrom, useStr = false) {
722
774
  };
723
775
  },
724
776
  visitSomeValue(node) {
725
- const child = visitorsCore.visit(node.value, this);
777
+ const child = (0, import_visitors_core2.visit)(node.value, this);
726
778
  return {
727
779
  ...child,
728
780
  render: `Some(${child.render})`
@@ -735,21 +787,21 @@ function renderValueNodeVisitor(getImportFrom, useStr = false) {
735
787
  };
736
788
  },
737
789
  visitStructFieldValue(node) {
738
- const structValue = visitorsCore.visit(node.value, this);
790
+ const structValue = (0, import_visitors_core2.visit)(node.value, this);
739
791
  return {
740
792
  imports: structValue.imports,
741
793
  render: `${node.name}: ${structValue.render}`
742
794
  };
743
795
  },
744
796
  visitStructValue(node) {
745
- const struct = node.fields.map((field) => visitorsCore.visit(field, this));
797
+ const struct = node.fields.map((field) => (0, import_visitors_core2.visit)(field, this));
746
798
  return {
747
799
  imports: new ImportMap().mergeWith(...struct.map((c) => c.imports)),
748
800
  render: `{ ${struct.map((c) => c.render).join(", ")} }`
749
801
  };
750
802
  },
751
803
  visitTupleValue(node) {
752
- const tuple = node.items.map((v) => visitorsCore.visit(v, this));
804
+ const tuple = node.items.map((v) => (0, import_visitors_core2.visit)(v, this));
753
805
  return {
754
806
  imports: new ImportMap().mergeWith(...tuple.map((c) => c.imports)),
755
807
  render: `(${tuple.map((c) => c.render).join(", ")})`
@@ -760,8 +812,8 @@ function renderValueNodeVisitor(getImportFrom, useStr = false) {
760
812
 
761
813
  // src/getRenderMapVisitor.ts
762
814
  function getRenderMapVisitor(options = {}) {
763
- const linkables = new visitorsCore.LinkableDictionary();
764
- const stack = new visitorsCore.NodeStack();
815
+ const linkables = new import_visitors_core3.LinkableDictionary();
816
+ const stack = new import_visitors_core3.NodeStack();
765
817
  let program = null;
766
818
  const renderParentInstructions = options.renderParentInstructions ?? false;
767
819
  const dependencyMap = options.dependencyMap ?? {};
@@ -769,46 +821,46 @@ function getRenderMapVisitor(options = {}) {
769
821
  const getTraitsFromNode2 = getTraitsFromNodeFactory(options.traitOptions);
770
822
  const typeManifestVisitor = getTypeManifestVisitor({ getImportFrom, getTraitsFromNode: getTraitsFromNode2 });
771
823
  const anchorTraits = options.anchorTraits ?? true;
772
- return visitorsCore.pipe(
773
- visitorsCore.staticVisitor(() => new renderersCore.RenderMap(), {
824
+ return (0, import_visitors_core3.pipe)(
825
+ (0, import_visitors_core3.staticVisitor)(() => new import_renderers_core.RenderMap(), {
774
826
  keys: ["rootNode", "programNode", "instructionNode", "accountNode", "definedTypeNode"]
775
827
  }),
776
- (v) => visitorsCore.extendVisitor(v, {
828
+ (v) => (0, import_visitors_core3.extendVisitor)(v, {
777
829
  visitAccount(node) {
778
- const typeManifest = visitorsCore.visit(node, typeManifestVisitor);
830
+ const typeManifest = (0, import_visitors_core3.visit)(node, typeManifestVisitor);
779
831
  const seedsImports = new ImportMap();
780
832
  const pda = node.pda ? linkables.get([...stack.getPath(), node.pda]) : void 0;
781
833
  const pdaSeeds = pda?.seeds ?? [];
782
834
  const seeds = pdaSeeds.map((seed) => {
783
- if (nodes.isNode(seed, "variablePdaSeedNode")) {
784
- const seedManifest2 = visitorsCore.visit(seed.type, typeManifestVisitor);
835
+ if ((0, import_nodes5.isNode)(seed, "variablePdaSeedNode")) {
836
+ const seedManifest2 = (0, import_visitors_core3.visit)(seed.type, typeManifestVisitor);
785
837
  seedsImports.mergeWith(seedManifest2.imports);
786
- const resolvedType2 = nodes.resolveNestedTypeNode(seed.type);
838
+ const resolvedType2 = (0, import_nodes5.resolveNestedTypeNode)(seed.type);
787
839
  return { ...seed, resolvedType: resolvedType2, typeManifest: seedManifest2 };
788
840
  }
789
- if (nodes.isNode(seed.value, "programIdValueNode")) {
841
+ if ((0, import_nodes5.isNode)(seed.value, "programIdValueNode")) {
790
842
  return seed;
791
843
  }
792
- const seedManifest = visitorsCore.visit(seed.type, typeManifestVisitor);
844
+ const seedManifest = (0, import_visitors_core3.visit)(seed.type, typeManifestVisitor);
793
845
  const valueManifest = renderValueNode(seed.value, getImportFrom, true);
794
846
  seedsImports.mergeWith(valueManifest.imports);
795
- const resolvedType = nodes.resolveNestedTypeNode(seed.type);
847
+ const resolvedType = (0, import_nodes5.resolveNestedTypeNode)(seed.type);
796
848
  return { ...seed, resolvedType, typeManifest: seedManifest, valueManifest };
797
849
  });
798
- const hasVariableSeeds = pdaSeeds.filter(nodes.isNodeFilter("variablePdaSeedNode")).length > 0;
799
- const constantSeeds = seeds.filter(nodes.isNodeFilter("constantPdaSeedNode")).filter((seed) => !nodes.isNode(seed.value, "programIdValueNode"));
850
+ const hasVariableSeeds = pdaSeeds.filter((0, import_nodes5.isNodeFilter)("variablePdaSeedNode")).length > 0;
851
+ const constantSeeds = seeds.filter((0, import_nodes5.isNodeFilter)("constantPdaSeedNode")).filter((seed) => !(0, import_nodes5.isNode)(seed.value, "programIdValueNode"));
800
852
  const { imports } = typeManifest;
801
853
  if (hasVariableSeeds) {
802
854
  imports.mergeWith(seedsImports);
803
855
  }
804
- return new renderersCore.RenderMap().add(
805
- `accounts/${nodes.snakeCase(node.name)}.rs`,
856
+ return new import_renderers_core.RenderMap().add(
857
+ `accounts/${(0, import_nodes5.snakeCase)(node.name)}.rs`,
806
858
  render("accountsPage.njk", {
807
859
  account: node,
808
860
  anchorTraits,
809
861
  constantSeeds,
810
862
  hasVariableSeeds,
811
- imports: imports.remove(`generatedAccounts::${nodes.pascalCase(node.name)}`).toString(dependencyMap),
863
+ imports: imports.remove(`generatedAccounts::${(0, import_nodes5.pascalCase)(node.name)}`).toString(dependencyMap),
812
864
  pda,
813
865
  program,
814
866
  seeds,
@@ -817,13 +869,13 @@ function getRenderMapVisitor(options = {}) {
817
869
  );
818
870
  },
819
871
  visitDefinedType(node) {
820
- const typeManifest = visitorsCore.visit(node, typeManifestVisitor);
872
+ const typeManifest = (0, import_visitors_core3.visit)(node, typeManifestVisitor);
821
873
  const imports = new ImportMap().mergeWithManifest(typeManifest);
822
- return new renderersCore.RenderMap().add(
823
- `types/${nodes.snakeCase(node.name)}.rs`,
874
+ return new import_renderers_core.RenderMap().add(
875
+ `types/${(0, import_nodes5.snakeCase)(node.name)}.rs`,
824
876
  render("definedTypesPage.njk", {
825
877
  definedType: node,
826
- imports: imports.remove(`generatedTypes::${nodes.pascalCase(node.name)}`).toString(dependencyMap),
878
+ imports: imports.remove(`generatedTypes::${(0, import_nodes5.pascalCase)(node.name)}`).toString(dependencyMap),
827
879
  typeManifest
828
880
  })
829
881
  );
@@ -832,7 +884,7 @@ function getRenderMapVisitor(options = {}) {
832
884
  const imports = new ImportMap();
833
885
  const accountsAndArgsConflicts = getConflictsForInstructionAccountsAndArgs(node);
834
886
  if (accountsAndArgsConflicts.length > 0) {
835
- errors.logWarn(
887
+ (0, import_errors3.logWarn)(
836
888
  `[Rust] Accounts and args of instruction [${node.name}] have the following conflicting attributes [${accountsAndArgsConflicts.join(", ")}]. Thus, the conflicting arguments will be suffixed with "_arg". You may want to rename the conflicting attributes.`
837
889
  );
838
890
  }
@@ -844,12 +896,12 @@ function getRenderMapVisitor(options = {}) {
844
896
  getImportFrom,
845
897
  getTraitsFromNode: getTraitsFromNode2,
846
898
  nestedStruct: true,
847
- parentName: `${nodes.pascalCase(node.name)}InstructionData`
899
+ parentName: `${(0, import_nodes5.pascalCase)(node.name)}InstructionData`
848
900
  });
849
- const manifest = visitorsCore.visit(argument.type, argumentVisitor);
901
+ const manifest = (0, import_visitors_core3.visit)(argument.type, argumentVisitor);
850
902
  imports.mergeWith(manifest.imports);
851
- const innerOptionType = nodes.isNode(argument.type, "optionTypeNode") ? manifest.type.slice("Option<".length, -1) : null;
852
- const hasDefaultValue = !!argument.defaultValue && nodes.isNode(argument.defaultValue, nodes.VALUE_NODES);
903
+ const innerOptionType = (0, import_nodes5.isNode)(argument.type, "optionTypeNode") ? manifest.type.slice("Option<".length, -1) : null;
904
+ const hasDefaultValue = !!argument.defaultValue && (0, import_nodes5.isNode)(argument.defaultValue, import_nodes5.VALUE_NODES);
853
905
  let renderValue = null;
854
906
  if (hasDefaultValue) {
855
907
  const { imports: argImports, render: value } = renderValueNode(
@@ -871,22 +923,22 @@ function getRenderMapVisitor(options = {}) {
871
923
  value: renderValue
872
924
  });
873
925
  });
874
- const struct = nodes.structTypeNodeFromInstructionArgumentNodes(node.arguments);
926
+ const struct = (0, import_nodes5.structTypeNodeFromInstructionArgumentNodes)(node.arguments);
875
927
  const structVisitor = getTypeManifestVisitor({
876
928
  getImportFrom,
877
929
  getTraitsFromNode: getTraitsFromNode2,
878
- parentName: `${nodes.pascalCase(node.name)}InstructionData`
930
+ parentName: `${(0, import_nodes5.pascalCase)(node.name)}InstructionData`
879
931
  });
880
- const typeManifest = visitorsCore.visit(struct, structVisitor);
932
+ const typeManifest = (0, import_visitors_core3.visit)(struct, structVisitor);
881
933
  const dataTraits = getTraitsFromNode2(node);
882
934
  imports.mergeWith(dataTraits.imports);
883
- return new renderersCore.RenderMap().add(
884
- `instructions/${nodes.snakeCase(node.name)}.rs`,
935
+ return new import_renderers_core.RenderMap().add(
936
+ `instructions/${(0, import_nodes5.snakeCase)(node.name)}.rs`,
885
937
  render("instructionsPage.njk", {
886
938
  dataTraits: dataTraits.render,
887
939
  hasArgs,
888
940
  hasOptional,
889
- imports: imports.remove(`generatedInstructions::${nodes.pascalCase(node.name)}`).toString(dependencyMap),
941
+ imports: imports.remove(`generatedInstructions::${(0, import_nodes5.pascalCase)(node.name)}`).toString(dependencyMap),
890
942
  instruction: node,
891
943
  instructionArgs,
892
944
  program,
@@ -896,14 +948,14 @@ function getRenderMapVisitor(options = {}) {
896
948
  },
897
949
  visitProgram(node, { self }) {
898
950
  program = node;
899
- const renderMap = new renderersCore.RenderMap().mergeWith(...node.accounts.map((account) => visitorsCore.visit(account, self))).mergeWith(...node.definedTypes.map((type) => visitorsCore.visit(type, self))).mergeWith(
900
- ...nodes.getAllInstructionsWithSubs(node, {
951
+ const renderMap = new import_renderers_core.RenderMap().mergeWith(...node.accounts.map((account) => (0, import_visitors_core3.visit)(account, self))).mergeWith(...node.definedTypes.map((type) => (0, import_visitors_core3.visit)(type, self))).mergeWith(
952
+ ...(0, import_nodes5.getAllInstructionsWithSubs)(node, {
901
953
  leavesOnly: !renderParentInstructions
902
- }).map((ix) => visitorsCore.visit(ix, self))
954
+ }).map((ix) => (0, import_visitors_core3.visit)(ix, self))
903
955
  );
904
956
  if (node.errors.length > 0) {
905
957
  renderMap.add(
906
- `errors/${nodes.snakeCase(node.name)}.rs`,
958
+ `errors/${(0, import_nodes5.snakeCase)(node.name)}.rs`,
907
959
  render("errorsPage.njk", {
908
960
  errors: node.errors,
909
961
  imports: new ImportMap().toString(dependencyMap),
@@ -915,12 +967,12 @@ function getRenderMapVisitor(options = {}) {
915
967
  return renderMap;
916
968
  },
917
969
  visitRoot(node, { self }) {
918
- const programsToExport = nodes.getAllPrograms(node);
919
- const accountsToExport = nodes.getAllAccounts(node);
920
- const instructionsToExport = nodes.getAllInstructionsWithSubs(node, {
970
+ const programsToExport = (0, import_nodes5.getAllPrograms)(node);
971
+ const accountsToExport = (0, import_nodes5.getAllAccounts)(node);
972
+ const instructionsToExport = (0, import_nodes5.getAllInstructionsWithSubs)(node, {
921
973
  leavesOnly: !renderParentInstructions
922
974
  });
923
- const definedTypesToExport = nodes.getAllDefinedTypes(node);
975
+ const definedTypesToExport = (0, import_nodes5.getAllDefinedTypes)(node);
924
976
  const hasAnythingToExport = programsToExport.length > 0 || accountsToExport.length > 0 || instructionsToExport.length > 0 || definedTypesToExport.length > 0;
925
977
  const ctx = {
926
978
  accountsToExport,
@@ -930,7 +982,7 @@ function getRenderMapVisitor(options = {}) {
930
982
  programsToExport,
931
983
  root: node
932
984
  };
933
- const map = new renderersCore.RenderMap();
985
+ const map = new import_renderers_core.RenderMap();
934
986
  if (accountsToExport.length > 0) {
935
987
  map.add("shared.rs", render("sharedPage.njk", ctx));
936
988
  }
@@ -949,11 +1001,11 @@ function getRenderMapVisitor(options = {}) {
949
1001
  if (definedTypesToExport.length > 0) {
950
1002
  map.add("types/mod.rs", render("definedTypesMod.njk", ctx));
951
1003
  }
952
- return map.add("mod.rs", render("rootMod.njk", ctx)).mergeWith(...nodes.getAllPrograms(node).map((p) => visitorsCore.visit(p, self)));
1004
+ return map.add("mod.rs", render("rootMod.njk", ctx)).mergeWith(...(0, import_nodes5.getAllPrograms)(node).map((p) => (0, import_visitors_core3.visit)(p, self)));
953
1005
  }
954
1006
  }),
955
- (v) => visitorsCore.recordNodeStackVisitor(v, stack),
956
- (v) => visitorsCore.recordLinkablesOnFirstVisitVisitor(v, linkables)
1007
+ (v) => (0, import_visitors_core3.recordNodeStackVisitor)(v, stack),
1008
+ (v) => (0, import_visitors_core3.recordLinkablesOnFirstVisitVisitor)(v, linkables)
957
1009
  );
958
1010
  }
959
1011
  function getConflictsForInstructionAccountsAndArgs(instruction) {
@@ -964,40 +1016,46 @@ function getConflictsForInstructionAccountsAndArgs(instruction) {
964
1016
  const duplicates = allNames.filter((e, i, a) => a.indexOf(e) !== i);
965
1017
  return [...new Set(duplicates)];
966
1018
  }
1019
+
1020
+ // src/renderVisitor.ts
1021
+ var import_errors4 = require("@codama/errors");
1022
+ var import_renderers_core2 = require("@codama/renderers-core");
1023
+ var import_visitors_core4 = require("@codama/visitors-core");
1024
+ var import_child_process = require("child_process");
967
1025
  function renderVisitor(path, options = {}) {
968
- return visitorsCore.rootNodeVisitor((root) => {
1026
+ return (0, import_visitors_core4.rootNodeVisitor)((root) => {
969
1027
  if (options.deleteFolderBeforeRendering ?? true) {
970
- renderersCore.deleteDirectory(path);
1028
+ (0, import_renderers_core2.deleteDirectory)(path);
971
1029
  }
972
- visitorsCore.visit(root, renderersCore.writeRenderMapVisitor(getRenderMapVisitor(options), path));
1030
+ (0, import_visitors_core4.visit)(root, (0, import_renderers_core2.writeRenderMapVisitor)(getRenderMapVisitor(options), path));
973
1031
  if (options.formatCode) {
974
1032
  if (options.crateFolder) {
975
1033
  const toolchain = options.toolchain ?? "+stable";
976
1034
  runFormatter("cargo", [toolchain, "fmt", "--manifest-path", `${options.crateFolder}/Cargo.toml`]);
977
1035
  } else {
978
- errors.logWarn("No crate folder specified, skipping formatting.");
1036
+ (0, import_errors4.logWarn)("No crate folder specified, skipping formatting.");
979
1037
  }
980
1038
  }
981
1039
  });
982
1040
  }
983
1041
  function runFormatter(cmd, args) {
984
- const { stdout, stderr, error } = child_process.spawnSync(cmd, args);
1042
+ const { stdout, stderr, error } = (0, import_child_process.spawnSync)(cmd, args);
985
1043
  if (error?.message?.includes("ENOENT")) {
986
- errors.logWarn(`Could not find ${cmd}, skipping formatting.`);
1044
+ (0, import_errors4.logWarn)(`Could not find ${cmd}, skipping formatting.`);
987
1045
  return;
988
1046
  }
989
1047
  if (stdout.length > 0) {
990
- errors.logWarn(`(cargo-fmt) ${stdout ? stdout?.toString() : error}`);
1048
+ (0, import_errors4.logWarn)(`(cargo-fmt) ${stdout ? stdout?.toString() : error}`);
991
1049
  }
992
1050
  if (stderr.length > 0) {
993
- errors.logError(`(cargo-fmt) ${stderr ? stderr.toString() : error}`);
1051
+ (0, import_errors4.logError)(`(cargo-fmt) ${stderr ? stderr.toString() : error}`);
994
1052
  }
995
1053
  }
996
-
997
- exports.ImportMap = ImportMap;
998
- exports.default = renderVisitor;
999
- exports.getRenderMapVisitor = getRenderMapVisitor;
1000
- exports.getTypeManifestVisitor = getTypeManifestVisitor;
1001
- exports.renderVisitor = renderVisitor;
1002
- //# sourceMappingURL=index.node.cjs.map
1054
+ // Annotate the CommonJS export names for ESM import in node:
1055
+ 0 && (module.exports = {
1056
+ ImportMap,
1057
+ getRenderMapVisitor,
1058
+ getTypeManifestVisitor,
1059
+ renderVisitor
1060
+ });
1003
1061
  //# sourceMappingURL=index.node.cjs.map