@codama/renderers-rust 1.2.8 → 1.2.9

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,3 +1,13 @@
1
+ import { CodamaError, CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, logWarn, logError, CODAMA_ERROR__UNEXPECTED_NODE_KIND } from '@codama/errors';
2
+ import { REGISTERED_TYPE_NODE_KINDS, definedTypeNode, pascalCase, snakeCase, parseDocs, resolveNestedTypeNode, isNode, remainderCountNode, fixedCountNode, prefixedCountNode, arrayTypeNode, numberTypeNode, getAllPrograms, getAllAccounts, getAllInstructionsWithSubs, getAllDefinedTypes, VALUE_NODES, structTypeNodeFromInstructionArgumentNodes, isNodeFilter, camelCase, kebabCase, titleCase, assertIsNode, bytesValueNode, numberValueNode, arrayValueNode, isScalarEnum } from '@codama/nodes';
3
+ import { createRenderMap, mergeRenderMaps, addToRenderMap, deleteDirectory, writeRenderMapVisitor } from '@codama/renderers-core';
4
+ import { pipe, mergeVisitor, extendVisitor, visit, LinkableDictionary, NodeStack, staticVisitor, recordNodeStackVisitor, recordLinkablesOnFirstVisitVisitor, rootNodeVisitor } from '@codama/visitors-core';
5
+ import { getBase64Encoder, getBase58Encoder, getBase16Encoder, getUtf8Encoder } from '@solana/codecs-strings';
6
+ import { dirname, join } from 'path';
7
+ import { fileURLToPath } from 'url';
8
+ import nunjucks from 'nunjucks';
9
+ import { spawnSync } from 'child_process';
10
+
1
11
  // src/ImportMap.ts
2
12
  var DEFAULT_MODULE_MAP = {
3
13
  generated: "crate::generated",
@@ -68,54 +78,6 @@ var ImportMap = class _ImportMap {
68
78
  return importStatements.join("\n");
69
79
  }
70
80
  };
71
-
72
- // src/getRenderMapVisitor.ts
73
- import { logWarn } from "@codama/errors";
74
- import {
75
- getAllAccounts,
76
- getAllDefinedTypes,
77
- getAllInstructionsWithSubs,
78
- getAllPrograms,
79
- isNode as isNode5,
80
- isNodeFilter as isNodeFilter2,
81
- pascalCase as pascalCase4,
82
- resolveNestedTypeNode as resolveNestedTypeNode2,
83
- snakeCase as snakeCase4,
84
- structTypeNodeFromInstructionArgumentNodes,
85
- VALUE_NODES as VALUE_NODES2
86
- } from "@codama/nodes";
87
- import { addToRenderMap, createRenderMap, mergeRenderMaps } from "@codama/renderers-core";
88
- import {
89
- extendVisitor as extendVisitor2,
90
- LinkableDictionary,
91
- NodeStack,
92
- pipe as pipe2,
93
- recordLinkablesOnFirstVisitVisitor,
94
- recordNodeStackVisitor,
95
- staticVisitor,
96
- visit as visit4
97
- } from "@codama/visitors-core";
98
-
99
- // src/getTypeManifestVisitor.ts
100
- import { CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, CodamaError as CodamaError2 } from "@codama/errors";
101
- import {
102
- arrayTypeNode,
103
- definedTypeNode,
104
- fixedCountNode,
105
- isNode as isNode4,
106
- numberTypeNode,
107
- parseDocs,
108
- pascalCase as pascalCase3,
109
- prefixedCountNode,
110
- REGISTERED_TYPE_NODE_KINDS,
111
- remainderCountNode,
112
- resolveNestedTypeNode,
113
- snakeCase as snakeCase3
114
- } from "@codama/nodes";
115
- import { extendVisitor, mergeVisitor, pipe, visit as visit3 } from "@codama/visitors-core";
116
-
117
- // src/utils/codecs.ts
118
- import { getBase16Encoder, getBase58Encoder, getBase64Encoder, getUtf8Encoder } from "@solana/codecs-strings";
119
81
  function getBytesFromBytesValueNode(node) {
120
82
  switch (node.encoding) {
121
83
  case "utf8":
@@ -129,26 +91,6 @@ function getBytesFromBytesValueNode(node) {
129
91
  return getBase64Encoder().encode(node.data);
130
92
  }
131
93
  }
132
-
133
- // src/utils/discriminatorConstant.ts
134
- import {
135
- camelCase,
136
- isNode as isNode2,
137
- isNodeFilter,
138
- snakeCase,
139
- VALUE_NODES
140
- } from "@codama/nodes";
141
- import { visit as visit2 } from "@codama/visitors-core";
142
-
143
- // src/renderValueNodeVisitor.ts
144
- import {
145
- arrayValueNode,
146
- bytesValueNode,
147
- isNode,
148
- numberValueNode,
149
- pascalCase
150
- } from "@codama/nodes";
151
- import { visit } from "@codama/visitors-core";
152
94
  function renderValueNode(value, getImportFrom, useStr = false) {
153
95
  return visit(value, renderValueNodeVisitor(getImportFrom, useStr));
154
96
  }
@@ -308,18 +250,18 @@ function getConstantDiscriminatorConstant(discriminatorNode, scope) {
308
250
  const index = discriminatorNodes.filter(isNodeFilter("constantDiscriminatorNode")).indexOf(discriminatorNode);
309
251
  const suffix = index <= 0 ? "" : `_${index + 1}`;
310
252
  const name = camelCase(`${prefix}_discriminator${suffix}`);
311
- const typeManifest = visit2(discriminatorNode.constant.type, typeManifestVisitor);
253
+ const typeManifest = visit(discriminatorNode.constant.type, typeManifestVisitor);
312
254
  const value = renderValueNode(discriminatorNode.constant.value, getImportFrom);
313
255
  return getConstant(name, typeManifest, value);
314
256
  }
315
257
  function getFieldDiscriminatorConstant(discriminatorNode, scope) {
316
258
  const { fields, prefix, getImportFrom, typeManifestVisitor } = scope;
317
259
  const field = fields.find((f) => f.name === discriminatorNode.name);
318
- if (!field || !field.defaultValue || !isNode2(field.defaultValue, VALUE_NODES)) {
260
+ if (!field || !field.defaultValue || !isNode(field.defaultValue, VALUE_NODES)) {
319
261
  return null;
320
262
  }
321
263
  const name = camelCase(`${prefix}_${discriminatorNode.name}`);
322
- const typeManifest = visit2(field.type, typeManifestVisitor);
264
+ const typeManifest = visit(field.type, typeManifestVisitor);
323
265
  const value = renderValueNode(field.defaultValue, getImportFrom);
324
266
  return getConstant(name, typeManifest, value);
325
267
  }
@@ -327,9 +269,6 @@ function getConstant(name, typeManifest, value) {
327
269
  const type = { imports: typeManifest.imports, render: typeManifest.type };
328
270
  return mergeFragments([type, value], ([t, v]) => `pub const ${snakeCase(name).toUpperCase()}: ${t} = ${v};`);
329
271
  }
330
-
331
- // src/utils/linkOverrides.ts
332
- import { CODAMA_ERROR__UNEXPECTED_NODE_KIND, CodamaError } from "@codama/errors";
333
272
  function getImportFromFactory(overrides) {
334
273
  const linkOverrides = {
335
274
  accounts: overrides.accounts ?? {},
@@ -370,12 +309,6 @@ function getImportFromFactory(overrides) {
370
309
  }
371
310
  };
372
311
  }
373
-
374
- // src/utils/render.ts
375
- import { dirname as pathDirname, join } from "path";
376
- import { fileURLToPath } from "url";
377
- import { camelCase as camelCase2, kebabCase, pascalCase as pascalCase2, snakeCase as snakeCase2, titleCase } from "@codama/nodes";
378
- import nunjucks from "nunjucks";
379
312
  function rustDocblock(docs) {
380
313
  if (docs.length <= 0) return "";
381
314
  const lines = docs.map((doc) => `/// ${doc}`);
@@ -383,12 +316,12 @@ function rustDocblock(docs) {
383
316
  `;
384
317
  }
385
318
  var render = (template, context, options) => {
386
- const dirname = true ? pathDirname(fileURLToPath(import.meta.url)) : __dirname;
387
- const templates = false ? join(dirname, "..", "..", "public", "templates") : join(dirname, "templates");
319
+ const dirname$1 = dirname(fileURLToPath(import.meta.url)) ;
320
+ const templates = join(dirname$1, "templates");
388
321
  const env = nunjucks.configure(templates, { autoescape: false, trimBlocks: true, ...options });
389
- env.addFilter("pascalCase", pascalCase2);
390
- env.addFilter("camelCase", camelCase2);
391
- env.addFilter("snakeCase", snakeCase2);
322
+ env.addFilter("pascalCase", pascalCase);
323
+ env.addFilter("camelCase", camelCase);
324
+ env.addFilter("snakeCase", snakeCase);
392
325
  env.addFilter("kebabCase", kebabCase);
393
326
  env.addFilter("titleCase", titleCase);
394
327
  env.addFilter("rustDocblock", rustDocblock);
@@ -398,14 +331,6 @@ var render = (template, context, options) => {
398
331
  });
399
332
  return env.render(template, context);
400
333
  };
401
-
402
- // src/utils/traitOptions.ts
403
- import {
404
- assertIsNode,
405
- camelCase as camelCase3,
406
- isNode as isNode3,
407
- isScalarEnum
408
- } from "@codama/nodes";
409
334
  var DEFAULT_TRAIT_OPTIONS = {
410
335
  baseDefaults: [
411
336
  "borsh::BorshSerialize",
@@ -435,7 +360,7 @@ function getTraitsFromNode(node, userOptions = {}) {
435
360
  return { imports: new ImportMap(), render: "" };
436
361
  }
437
362
  const sanitizedOverrides = Object.fromEntries(
438
- Object.entries(options.overrides).map(([key, value]) => [camelCase3(key), value])
363
+ Object.entries(options.overrides).map(([key, value]) => [camelCase(key), value])
439
364
  );
440
365
  const nodeOverrides = sanitizedOverrides[node.name];
441
366
  const allTraits = nodeOverrides === void 0 ? getDefaultTraits(nodeType, options) : nodeOverrides;
@@ -457,9 +382,9 @@ function getTraitsFromNode(node, userOptions = {}) {
457
382
  return { imports, render: traitLines.join("") };
458
383
  }
459
384
  function getNodeType(node) {
460
- if (isNode3(node, ["accountNode", "instructionNode"])) return "struct";
461
- if (isNode3(node.type, "structTypeNode")) return "struct";
462
- if (isNode3(node.type, "enumTypeNode")) {
385
+ if (isNode(node, ["accountNode", "instructionNode"])) return "struct";
386
+ if (isNode(node.type, "structTypeNode")) return "struct";
387
+ if (isNode(node.type, "enumTypeNode")) {
463
388
  return isScalarEnum(node.type) ? "scalarEnum" : "dataEnum";
464
389
  }
465
390
  return "alias";
@@ -513,7 +438,7 @@ function getSerdeFieldAttribute(serdeWith, node, userOptions = {}) {
513
438
  return "";
514
439
  }
515
440
  const sanitizedOverrides = Object.fromEntries(
516
- Object.entries(options.overrides).map(([key, value]) => [camelCase3(key), value])
441
+ Object.entries(options.overrides).map(([key, value]) => [camelCase(key), value])
517
442
  );
518
443
  const nodeOverrides = sanitizedOverrides[node.name];
519
444
  const allTraits = nodeOverrides === void 0 ? getDefaultTraits(nodeType, options) : nodeOverrides;
@@ -561,9 +486,9 @@ function getTypeManifestVisitor(options) {
561
486
  ),
562
487
  (v) => extendVisitor(v, {
563
488
  visitAccount(account, { self }) {
564
- parentName = pascalCase3(account.name);
489
+ parentName = pascalCase(account.name);
565
490
  parentNode = account;
566
- const manifest = visit3(account.data, self);
491
+ const manifest = visit(account.data, self);
567
492
  const traits = getTraitsFromNode2(account);
568
493
  manifest.imports.mergeWith(traits.imports);
569
494
  parentName = null;
@@ -574,14 +499,14 @@ function getTypeManifestVisitor(options) {
574
499
  };
575
500
  },
576
501
  visitArrayType(arrayType, { self }) {
577
- const childManifest = visit3(arrayType.item, self);
578
- if (isNode4(arrayType.count, "fixedCountNode")) {
502
+ const childManifest = visit(arrayType.item, self);
503
+ if (isNode(arrayType.count, "fixedCountNode")) {
579
504
  return {
580
505
  ...childManifest,
581
506
  type: `[${childManifest.type}; ${arrayType.count.value}]`
582
507
  };
583
508
  }
584
- if (isNode4(arrayType.count, "remainderCountNode")) {
509
+ if (isNode(arrayType.count, "remainderCountNode")) {
585
510
  childManifest.imports.add("kaigan::types::RemainderVec");
586
511
  return {
587
512
  ...childManifest,
@@ -638,21 +563,21 @@ function getTypeManifestVisitor(options) {
638
563
  arraySize = prefixedCountNode(parentSize);
639
564
  }
640
565
  const arrayType = arrayTypeNode(numberTypeNode("u8"), arraySize);
641
- return visit3(arrayType, self);
566
+ return visit(arrayType, self);
642
567
  },
643
568
  visitDefinedType(definedType, { self }) {
644
- parentName = pascalCase3(definedType.name);
569
+ parentName = pascalCase(definedType.name);
645
570
  parentNode = definedType;
646
- const manifest = visit3(definedType.type, self);
571
+ const manifest = visit(definedType.type, self);
647
572
  const traits = getTraitsFromNode2(definedType);
648
573
  manifest.imports.mergeWith(traits.imports);
649
574
  parentName = null;
650
575
  parentNode = null;
651
- const renderedType = isNode4(definedType.type, ["enumTypeNode", "structTypeNode"]) ? manifest.type : `pub type ${pascalCase3(definedType.name)} = ${manifest.type};`;
576
+ const renderedType = isNode(definedType.type, ["enumTypeNode", "structTypeNode"]) ? manifest.type : `pub type ${pascalCase(definedType.name)} = ${manifest.type};`;
652
577
  return { ...manifest, type: `${traits.render}${renderedType}` };
653
578
  },
654
579
  visitDefinedTypeLink(node) {
655
- const pascalCaseDefinedType = pascalCase3(node.name);
580
+ const pascalCaseDefinedType = pascalCase(node.name);
656
581
  const importFrom = getImportFrom(node);
657
582
  return {
658
583
  imports: new ImportMap().add(`${importFrom}::${pascalCaseDefinedType}`),
@@ -661,7 +586,7 @@ function getTypeManifestVisitor(options) {
661
586
  };
662
587
  },
663
588
  visitEnumEmptyVariantType(enumEmptyVariantType) {
664
- const name = pascalCase3(enumEmptyVariantType.name);
589
+ const name = pascalCase(enumEmptyVariantType.name);
665
590
  return {
666
591
  imports: new ImportMap(),
667
592
  nestedStructs: [],
@@ -669,14 +594,14 @@ function getTypeManifestVisitor(options) {
669
594
  };
670
595
  },
671
596
  visitEnumStructVariantType(enumStructVariantType, { self }) {
672
- const name = pascalCase3(enumStructVariantType.name);
597
+ const name = pascalCase(enumStructVariantType.name);
673
598
  const originalParentName = parentName;
674
599
  if (!originalParentName) {
675
600
  throw new Error("Enum struct variant type must have a parent name.");
676
601
  }
677
602
  inlineStruct = true;
678
- parentName = pascalCase3(originalParentName) + name;
679
- const typeManifest = visit3(enumStructVariantType.struct, self);
603
+ parentName = pascalCase(originalParentName) + name;
604
+ const typeManifest = visit(enumStructVariantType.struct, self);
680
605
  inlineStruct = false;
681
606
  parentName = originalParentName;
682
607
  return {
@@ -685,13 +610,13 @@ function getTypeManifestVisitor(options) {
685
610
  };
686
611
  },
687
612
  visitEnumTupleVariantType(enumTupleVariantType, { self }) {
688
- const name = pascalCase3(enumTupleVariantType.name);
613
+ const name = pascalCase(enumTupleVariantType.name);
689
614
  const originalParentName = parentName;
690
615
  if (!originalParentName) {
691
616
  throw new Error("Enum struct variant type must have a parent name.");
692
617
  }
693
- parentName = pascalCase3(originalParentName) + name;
694
- const childManifest = visit3(enumTupleVariantType.tuple, self);
618
+ parentName = pascalCase(originalParentName) + name;
619
+ const childManifest = visit(enumTupleVariantType.tuple, self);
695
620
  parentName = originalParentName;
696
621
  let derive = "";
697
622
  if (parentNode && childManifest.type === "(Pubkey)") {
@@ -717,25 +642,25 @@ function getTypeManifestVisitor(options) {
717
642
  if (!originalParentName) {
718
643
  throw new Error("Enum type must have a parent name.");
719
644
  }
720
- const variants = enumType.variants.map((variant) => visit3(variant, self));
645
+ const variants = enumType.variants.map((variant) => visit(variant, self));
721
646
  const variantNames = variants.map((variant) => variant.type).join("\n");
722
647
  const mergedManifest = mergeManifests(variants);
723
648
  return {
724
649
  ...mergedManifest,
725
- type: `pub enum ${pascalCase3(originalParentName)} {
650
+ type: `pub enum ${pascalCase(originalParentName)} {
726
651
  ${variantNames}
727
652
  }`
728
653
  };
729
654
  },
730
655
  visitFixedSizeType(fixedSizeType, { self }) {
731
656
  parentSize = fixedSizeType.size;
732
- const manifest = visit3(fixedSizeType.type, self);
657
+ const manifest = visit(fixedSizeType.type, self);
733
658
  parentSize = null;
734
659
  return manifest;
735
660
  },
736
661
  visitMapType(mapType, { self }) {
737
- const key = visit3(mapType.key, self);
738
- const value = visit3(mapType.value, self);
662
+ const key = visit(mapType.key, self);
663
+ const value = visit(mapType.value, self);
739
664
  const mergedManifest = mergeManifests([key, value]);
740
665
  mergedManifest.imports.add("std::collections::HashMap");
741
666
  return {
@@ -761,7 +686,7 @@ ${variantNames}
761
686
  };
762
687
  },
763
688
  visitOptionType(optionType, { self }) {
764
- const childManifest = visit3(optionType.item, self);
689
+ const childManifest = visit(optionType.item, self);
765
690
  const optionPrefix = resolveNestedTypeNode(optionType.prefix);
766
691
  if (optionPrefix.format === "u8" && optionPrefix.endian === "le") {
767
692
  return {
@@ -779,10 +704,10 @@ ${variantNames}
779
704
  };
780
705
  },
781
706
  visitRemainderOptionType(node) {
782
- throw new CodamaError2(CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, { kind: node.kind, node });
707
+ throw new CodamaError(CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, { kind: node.kind, node });
783
708
  },
784
709
  visitSetType(setType, { self }) {
785
- const childManifest = visit3(setType.item, self);
710
+ const childManifest = visit(setType.item, self);
786
711
  childManifest.imports.add("std::collections::HashSet");
787
712
  return {
788
713
  ...childManifest,
@@ -791,7 +716,7 @@ ${variantNames}
791
716
  },
792
717
  visitSizePrefixType(sizePrefixType, { self }) {
793
718
  parentSize = resolveNestedTypeNode(sizePrefixType.prefix);
794
- const manifest = visit3(sizePrefixType.type, self);
719
+ const manifest = visit(sizePrefixType.type, self);
795
720
  parentSize = null;
796
721
  return manifest;
797
722
  },
@@ -810,7 +735,7 @@ ${variantNames}
810
735
  type: `[u8; ${parentSize}]`
811
736
  };
812
737
  }
813
- if (isNode4(parentSize, "numberTypeNode") && parentSize.endian === "le") {
738
+ if (isNode(parentSize, "numberTypeNode") && parentSize.endian === "le") {
814
739
  switch (parentSize.format) {
815
740
  case "u32":
816
741
  return {
@@ -841,14 +766,14 @@ ${variantNames}
841
766
  if (!originalParentName) {
842
767
  throw new Error("Struct field type must have a parent name.");
843
768
  }
844
- parentName = pascalCase3(originalParentName) + pascalCase3(structFieldType.name);
769
+ parentName = pascalCase(originalParentName) + pascalCase(structFieldType.name);
845
770
  nestedStruct = true;
846
771
  inlineStruct = false;
847
- const fieldManifest = visit3(structFieldType.type, self);
772
+ const fieldManifest = visit(structFieldType.type, self);
848
773
  parentName = originalParentName;
849
774
  inlineStruct = originalInlineStruct;
850
775
  nestedStruct = originalNestedStruct;
851
- const fieldName = snakeCase3(structFieldType.name);
776
+ const fieldName = snakeCase(structFieldType.name);
852
777
  const docblock = rustDocblock(parseDocs(structFieldType.docs));
853
778
  const resolvedNestedType = resolveNestedTypeNode(structFieldType.type);
854
779
  let derive = "";
@@ -865,9 +790,9 @@ ${variantNames}
865
790
  parentNode,
866
791
  traitOptions
867
792
  );
868
- } else if (isNode4(resolvedNestedType, "arrayTypeNode") && isNode4(resolvedNestedType.count, "fixedCountNode") && resolvedNestedType.count.value > 32) {
793
+ } else if (isNode(resolvedNestedType, "arrayTypeNode") && isNode(resolvedNestedType.count, "fixedCountNode") && resolvedNestedType.count.value > 32) {
869
794
  derive = getSerdeFieldAttribute("serde_big_array::BigArray", parentNode, traitOptions);
870
- } else if (isNode4(resolvedNestedType, ["bytesTypeNode", "stringTypeNode"]) && isNode4(structFieldType.type, "fixedSizeTypeNode") && structFieldType.type.size > 32) {
795
+ } else if (isNode(resolvedNestedType, ["bytesTypeNode", "stringTypeNode"]) && isNode(structFieldType.type, "fixedSizeTypeNode") && structFieldType.type.size > 32) {
871
796
  derive = getSerdeFieldAttribute(
872
797
  "serde_with::As::<serde_with::Bytes>",
873
798
  parentNode,
@@ -885,7 +810,7 @@ ${variantNames}
885
810
  if (!originalParentName) {
886
811
  throw new Error("Struct type must have a parent name.");
887
812
  }
888
- const fields = structType.fields.map((field) => visit3(field, self));
813
+ const fields = structType.fields.map((field) => visit(field, self));
889
814
  const fieldTypes = fields.map((field) => field.type).join("\n");
890
815
  const mergedManifest = mergeManifests(fields);
891
816
  if (nestedStruct) {
@@ -897,11 +822,11 @@ ${variantNames}
897
822
  ...mergedManifest,
898
823
  nestedStructs: [
899
824
  ...mergedManifest.nestedStructs,
900
- `${nestedTraits.render}pub struct ${pascalCase3(originalParentName)} {
825
+ `${nestedTraits.render}pub struct ${pascalCase(originalParentName)} {
901
826
  ${fieldTypes}
902
827
  }`
903
828
  ],
904
- type: pascalCase3(originalParentName)
829
+ type: pascalCase(originalParentName)
905
830
  };
906
831
  }
907
832
  if (inlineStruct) {
@@ -911,13 +836,13 @@ ${fieldTypes}
911
836
  }
912
837
  return {
913
838
  ...mergedManifest,
914
- type: `pub struct ${pascalCase3(originalParentName)} {
839
+ type: `pub struct ${pascalCase(originalParentName)} {
915
840
  ${fieldTypes}
916
841
  }`
917
842
  };
918
843
  },
919
844
  visitTupleType(tupleType, { self }) {
920
- const items = tupleType.items.map((item) => visit3(item, self));
845
+ const items = tupleType.items.map((item) => visit(item, self));
921
846
  const mergedManifest = mergeManifests(items);
922
847
  return {
923
848
  ...mergedManifest,
@@ -925,7 +850,7 @@ ${fieldTypes}
925
850
  };
926
851
  },
927
852
  visitZeroableOptionType(node) {
928
- throw new CodamaError2(CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, { kind: node.kind, node });
853
+ throw new CodamaError(CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE, { kind: node.kind, node });
929
854
  }
930
855
  })
931
856
  );
@@ -952,14 +877,14 @@ function getRenderMapVisitor(options = {}) {
952
877
  traitOptions: options.traitOptions
953
878
  });
954
879
  const anchorTraits = options.anchorTraits ?? true;
955
- return pipe2(
880
+ return pipe(
956
881
  staticVisitor(() => createRenderMap(), {
957
882
  keys: ["rootNode", "programNode", "instructionNode", "accountNode", "definedTypeNode"]
958
883
  }),
959
- (v) => extendVisitor2(v, {
884
+ (v) => extendVisitor(v, {
960
885
  visitAccount(node) {
961
- const typeManifest = visit4(node, typeManifestVisitor);
962
- const fields = resolveNestedTypeNode2(node.data).fields;
886
+ const typeManifest = visit(node, typeManifestVisitor);
887
+ const fields = resolveNestedTypeNode(node.data).fields;
963
888
  const discriminatorConstants = getDiscriminatorConstants({
964
889
  discriminatorNodes: node.discriminators ?? [],
965
890
  fields,
@@ -971,35 +896,35 @@ function getRenderMapVisitor(options = {}) {
971
896
  const pda = node.pda ? linkables.get([...stack.getPath(), node.pda]) : void 0;
972
897
  const pdaSeeds = pda?.seeds ?? [];
973
898
  const seeds = pdaSeeds.map((seed) => {
974
- if (isNode5(seed, "variablePdaSeedNode")) {
975
- const seedManifest2 = visit4(seed.type, typeManifestVisitor);
899
+ if (isNode(seed, "variablePdaSeedNode")) {
900
+ const seedManifest2 = visit(seed.type, typeManifestVisitor);
976
901
  seedsImports.mergeWith(seedManifest2.imports);
977
- const resolvedType2 = resolveNestedTypeNode2(seed.type);
902
+ const resolvedType2 = resolveNestedTypeNode(seed.type);
978
903
  return { ...seed, resolvedType: resolvedType2, typeManifest: seedManifest2 };
979
904
  }
980
- if (isNode5(seed.value, "programIdValueNode")) {
905
+ if (isNode(seed.value, "programIdValueNode")) {
981
906
  return seed;
982
907
  }
983
- const seedManifest = visit4(seed.type, typeManifestVisitor);
908
+ const seedManifest = visit(seed.type, typeManifestVisitor);
984
909
  const valueManifest = renderValueNode(seed.value, getImportFrom, true);
985
910
  seedsImports.mergeWith(valueManifest.imports);
986
- const resolvedType = resolveNestedTypeNode2(seed.type);
911
+ const resolvedType = resolveNestedTypeNode(seed.type);
987
912
  return { ...seed, resolvedType, typeManifest: seedManifest, valueManifest };
988
913
  });
989
- const hasVariableSeeds = pdaSeeds.filter(isNodeFilter2("variablePdaSeedNode")).length > 0;
990
- const constantSeeds = seeds.filter(isNodeFilter2("constantPdaSeedNode")).filter((seed) => !isNode5(seed.value, "programIdValueNode"));
914
+ const hasVariableSeeds = pdaSeeds.filter(isNodeFilter("variablePdaSeedNode")).length > 0;
915
+ const constantSeeds = seeds.filter(isNodeFilter("constantPdaSeedNode")).filter((seed) => !isNode(seed.value, "programIdValueNode"));
991
916
  const { imports } = typeManifest;
992
917
  if (hasVariableSeeds) {
993
918
  imports.mergeWith(seedsImports);
994
919
  }
995
- return createRenderMap(`accounts/${snakeCase4(node.name)}.rs`, {
920
+ return createRenderMap(`accounts/${snakeCase(node.name)}.rs`, {
996
921
  content: render("accountsPage.njk", {
997
922
  account: node,
998
923
  anchorTraits,
999
924
  constantSeeds,
1000
925
  discriminatorConstants: discriminatorConstants.render,
1001
926
  hasVariableSeeds,
1002
- imports: imports.mergeWith(discriminatorConstants.imports).remove(`generatedAccounts::${pascalCase4(node.name)}`).toString(dependencyMap),
927
+ imports: imports.mergeWith(discriminatorConstants.imports).remove(`generatedAccounts::${pascalCase(node.name)}`).toString(dependencyMap),
1003
928
  pda,
1004
929
  program,
1005
930
  seeds,
@@ -1008,12 +933,12 @@ function getRenderMapVisitor(options = {}) {
1008
933
  });
1009
934
  },
1010
935
  visitDefinedType(node) {
1011
- const typeManifest = visit4(node, typeManifestVisitor);
936
+ const typeManifest = visit(node, typeManifestVisitor);
1012
937
  const imports = new ImportMap().mergeWithManifest(typeManifest);
1013
- return createRenderMap(`types/${snakeCase4(node.name)}.rs`, {
938
+ return createRenderMap(`types/${snakeCase(node.name)}.rs`, {
1014
939
  content: render("definedTypesPage.njk", {
1015
940
  definedType: node,
1016
- imports: imports.remove(`generatedTypes::${pascalCase4(node.name)}`).toString(dependencyMap),
941
+ imports: imports.remove(`generatedTypes::${pascalCase(node.name)}`).toString(dependencyMap),
1017
942
  typeManifest
1018
943
  })
1019
944
  });
@@ -1041,12 +966,12 @@ function getRenderMapVisitor(options = {}) {
1041
966
  getImportFrom,
1042
967
  getTraitsFromNode: getTraitsFromNode2,
1043
968
  nestedStruct: true,
1044
- parentName: `${pascalCase4(node.name)}InstructionData`
969
+ parentName: `${pascalCase(node.name)}InstructionData`
1045
970
  });
1046
- const manifest = visit4(argument.type, argumentVisitor);
971
+ const manifest = visit(argument.type, argumentVisitor);
1047
972
  imports.mergeWith(manifest.imports);
1048
- const innerOptionType = isNode5(argument.type, "optionTypeNode") ? manifest.type.slice("Option<".length, -1) : null;
1049
- const hasDefaultValue = !!argument.defaultValue && isNode5(argument.defaultValue, VALUE_NODES2);
973
+ const innerOptionType = isNode(argument.type, "optionTypeNode") ? manifest.type.slice("Option<".length, -1) : null;
974
+ const hasDefaultValue = !!argument.defaultValue && isNode(argument.defaultValue, VALUE_NODES);
1050
975
  let renderValue = null;
1051
976
  if (hasDefaultValue) {
1052
977
  const { imports: argImports, render: value } = renderValueNode(
@@ -1072,18 +997,18 @@ function getRenderMapVisitor(options = {}) {
1072
997
  const structVisitor = getTypeManifestVisitor({
1073
998
  getImportFrom,
1074
999
  getTraitsFromNode: getTraitsFromNode2,
1075
- parentName: `${pascalCase4(node.name)}InstructionData`
1000
+ parentName: `${pascalCase(node.name)}InstructionData`
1076
1001
  });
1077
- const typeManifest = visit4(struct, structVisitor);
1002
+ const typeManifest = visit(struct, structVisitor);
1078
1003
  const dataTraits = getTraitsFromNode2(node);
1079
1004
  imports.mergeWith(dataTraits.imports);
1080
- return createRenderMap(`instructions/${snakeCase4(node.name)}.rs`, {
1005
+ return createRenderMap(`instructions/${snakeCase(node.name)}.rs`, {
1081
1006
  content: render("instructionsPage.njk", {
1082
1007
  dataTraits: dataTraits.render,
1083
1008
  discriminatorConstants: discriminatorConstants.render,
1084
1009
  hasArgs,
1085
1010
  hasOptional,
1086
- imports: imports.mergeWith(discriminatorConstants.imports).remove(`generatedInstructions::${pascalCase4(node.name)}`).toString(dependencyMap),
1011
+ imports: imports.mergeWith(discriminatorConstants.imports).remove(`generatedInstructions::${pascalCase(node.name)}`).toString(dependencyMap),
1087
1012
  instruction: node,
1088
1013
  instructionArgs,
1089
1014
  program,
@@ -1094,14 +1019,14 @@ function getRenderMapVisitor(options = {}) {
1094
1019
  visitProgram(node, { self }) {
1095
1020
  program = node;
1096
1021
  let renders = mergeRenderMaps([
1097
- ...node.accounts.map((account) => visit4(account, self)),
1098
- ...node.definedTypes.map((type) => visit4(type, self)),
1022
+ ...node.accounts.map((account) => visit(account, self)),
1023
+ ...node.definedTypes.map((type) => visit(type, self)),
1099
1024
  ...getAllInstructionsWithSubs(node, {
1100
1025
  leavesOnly: !renderParentInstructions
1101
- }).map((ix) => visit4(ix, self))
1026
+ }).map((ix) => visit(ix, self))
1102
1027
  ]);
1103
1028
  if (node.errors.length > 0) {
1104
- renders = addToRenderMap(renders, `errors/${snakeCase4(node.name)}.rs`, {
1029
+ renders = addToRenderMap(renders, `errors/${snakeCase(node.name)}.rs`, {
1105
1030
  content: render("errorsPage.njk", {
1106
1031
  errors: node.errors,
1107
1032
  imports: new ImportMap().toString(dependencyMap),
@@ -1138,7 +1063,7 @@ function getRenderMapVisitor(options = {}) {
1138
1063
  ["shared.rs"]: accountsToExport.length > 0 ? { content: render("sharedPage.njk", ctx) } : void 0,
1139
1064
  ["types/mod.rs"]: definedTypesToExport.length > 0 ? { content: render("definedTypesMod.njk", ctx) } : void 0
1140
1065
  }),
1141
- ...getAllPrograms(node).map((p) => visit4(p, self))
1066
+ ...getAllPrograms(node).map((p) => visit(p, self))
1142
1067
  ]);
1143
1068
  }
1144
1069
  }),
@@ -1154,18 +1079,12 @@ function getConflictsForInstructionAccountsAndArgs(instruction) {
1154
1079
  const duplicates = allNames.filter((e, i, a) => a.indexOf(e) !== i);
1155
1080
  return [...new Set(duplicates)];
1156
1081
  }
1157
-
1158
- // src/renderVisitor.ts
1159
- import { logError, logWarn as logWarn2 } from "@codama/errors";
1160
- import { deleteDirectory, writeRenderMapVisitor } from "@codama/renderers-core";
1161
- import { rootNodeVisitor, visit as visit5 } from "@codama/visitors-core";
1162
- import { spawnSync } from "child_process";
1163
1082
  function renderVisitor(path, options = {}) {
1164
1083
  return rootNodeVisitor((root) => {
1165
1084
  if (options.deleteFolderBeforeRendering ?? true) {
1166
1085
  deleteDirectory(path);
1167
1086
  }
1168
- visit5(root, writeRenderMapVisitor(getRenderMapVisitor(options), path));
1087
+ visit(root, writeRenderMapVisitor(getRenderMapVisitor(options), path));
1169
1088
  if (options.formatCode) {
1170
1089
  if (options.crateFolder) {
1171
1090
  const removeFalsy = (arg) => Boolean(arg);
@@ -1176,7 +1095,7 @@ function renderVisitor(path, options = {}) {
1176
1095
  )
1177
1096
  );
1178
1097
  } else {
1179
- logWarn2("No crate folder specified, skipping formatting.");
1098
+ logWarn("No crate folder specified, skipping formatting.");
1180
1099
  }
1181
1100
  }
1182
1101
  });
@@ -1184,21 +1103,17 @@ function renderVisitor(path, options = {}) {
1184
1103
  function runFormatter(cmd, args) {
1185
1104
  const { stdout, stderr, error } = spawnSync(cmd, args);
1186
1105
  if (error?.message?.includes("ENOENT")) {
1187
- logWarn2(`Could not find ${cmd}, skipping formatting.`);
1106
+ logWarn(`Could not find ${cmd}, skipping formatting.`);
1188
1107
  return;
1189
1108
  }
1190
1109
  if (stdout.length > 0) {
1191
- logWarn2(`(cargo-fmt) ${stdout ? stdout?.toString() : error}`);
1110
+ logWarn(`(cargo-fmt) ${stdout ? stdout?.toString() : error}`);
1192
1111
  }
1193
1112
  if (stderr.length > 0) {
1194
1113
  logError(`(cargo-fmt) ${stderr ? stderr.toString() : error}`);
1195
1114
  }
1196
1115
  }
1197
- export {
1198
- ImportMap,
1199
- renderVisitor as default,
1200
- getRenderMapVisitor,
1201
- getTypeManifestVisitor,
1202
- renderVisitor
1203
- };
1116
+
1117
+ export { ImportMap, renderVisitor as default, getRenderMapVisitor, getTypeManifestVisitor, renderVisitor };
1118
+ //# sourceMappingURL=index.node.mjs.map
1204
1119
  //# sourceMappingURL=index.node.mjs.map