@codama/renderers-js 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -518,43 +518,49 @@ function getTypeFragment(scope) {
518
518
  // src/fragments/typeDecoder.ts
519
519
  function getTypeDecoderFragment(scope) {
520
520
  const { name, manifest, nameApi, docs = [] } = scope;
521
+ const decoderType = typeof scope.size === "number" ? "FixedSizeDecoder" : "Decoder";
521
522
  return fragmentFromTemplate("typeDecoder.njk", {
522
523
  decoderFunction: nameApi.decoderFunction(name),
524
+ decoderType,
523
525
  docs,
524
526
  looseName: nameApi.dataArgsType(name),
525
527
  manifest,
526
528
  strictName: nameApi.dataType(name)
527
- }).mergeImportsWith(manifest.decoder).addImports("solanaCodecsCore", "type Decoder");
529
+ }).mergeImportsWith(manifest.decoder).addImports("solanaCodecsCore", `type ${decoderType}`);
528
530
  }
529
531
 
530
532
  // src/fragments/typeEncoder.ts
531
533
  function getTypeEncoderFragment(scope) {
532
534
  const { name, manifest, nameApi, docs = [] } = scope;
535
+ const encoderType = typeof scope.size === "number" ? "FixedSizeEncoder" : "Encoder";
533
536
  return fragmentFromTemplate("typeEncoder.njk", {
534
537
  docs,
535
538
  encoderFunction: nameApi.encoderFunction(name),
539
+ encoderType,
536
540
  looseName: nameApi.dataArgsType(name),
537
541
  manifest,
538
542
  strictName: nameApi.dataType(name)
539
- }).mergeImportsWith(manifest.encoder).addImports("solanaCodecsCore", "type Encoder");
543
+ }).mergeImportsWith(manifest.encoder).addImports("solanaCodecsCore", `type ${encoderType}`);
540
544
  }
541
545
 
542
546
  // src/fragments/typeCodec.ts
543
547
  function getTypeCodecFragment(scope) {
544
548
  const { name, manifest, nameApi } = scope;
549
+ const codecType = typeof scope.size === "number" ? "FixedSizeCodec" : "Codec";
545
550
  return mergeFragments(
546
551
  [
547
552
  getTypeEncoderFragment({ ...scope, docs: scope.encoderDocs }),
548
553
  getTypeDecoderFragment({ ...scope, docs: scope.decoderDocs }),
549
554
  fragmentFromTemplate("typeCodec.njk", {
550
555
  codecFunction: nameApi.codecFunction(name),
556
+ codecType,
551
557
  decoderFunction: nameApi.decoderFunction(name),
552
558
  docs: scope.codecDocs,
553
559
  encoderFunction: nameApi.encoderFunction(name),
554
560
  looseName: nameApi.dataArgsType(name),
555
561
  manifest,
556
562
  strictName: nameApi.dataType(name)
557
- }).addImports("solanaCodecsCore", ["type Codec", "combineCodec"])
563
+ }).addImports("solanaCodecsCore", [`type ${codecType}`, "combineCodec"])
558
564
  ],
559
565
  (renders) => renders.join("\n\n")
560
566
  );
@@ -578,7 +584,8 @@ function getAccountTypeFragment(scope) {
578
584
  return getTypeWithCodecFragment({
579
585
  manifest: typeManifest2,
580
586
  name: accountNode.name,
581
- nameApi
587
+ nameApi,
588
+ size: scope.size
582
589
  });
583
590
  }
584
591
 
@@ -767,7 +774,8 @@ function getInstructionDataFragment(scope) {
767
774
  return getTypeWithCodecFragment({
768
775
  manifest: dataArgsManifest,
769
776
  name: instructionDataName,
770
- nameApi
777
+ nameApi,
778
+ size: scope.size
771
779
  });
772
780
  }
773
781
 
@@ -1780,6 +1788,7 @@ import { RenderMap } from "@codama/renderers-core";
1780
1788
  import {
1781
1789
  extendVisitor as extendVisitor2,
1782
1790
  findProgramNodeFromPath as findProgramNodeFromPath7,
1791
+ getByteSizeVisitor,
1783
1792
  getResolvedInstructionInputsVisitor,
1784
1793
  LinkableDictionary as LinkableDictionary3,
1785
1794
  NodeStack as NodeStack2,
@@ -2582,6 +2591,7 @@ function getRenderMapVisitor(options = {}) {
2582
2591
  stack
2583
2592
  });
2584
2593
  const resolvedInstructionInputVisitor = getResolvedInstructionInputsVisitor();
2594
+ const byteSizeVisitor = getByteSizeVisitor(linkables, { stack });
2585
2595
  const globalScope = {
2586
2596
  asyncResolvers,
2587
2597
  customAccountData,
@@ -2609,6 +2619,7 @@ function getRenderMapVisitor(options = {}) {
2609
2619
  const scope = {
2610
2620
  ...globalScope,
2611
2621
  accountPath,
2622
+ size: visit6(node, byteSizeVisitor),
2612
2623
  typeManifest: visit6(node, typeManifestVisitor)
2613
2624
  };
2614
2625
  const fields = resolveNestedTypeNode3(node.data).fields;
@@ -2649,6 +2660,7 @@ function getRenderMapVisitor(options = {}) {
2649
2660
  encoderDocs: [],
2650
2661
  manifest: visit6(node, typeManifestVisitor),
2651
2662
  name: node.name,
2663
+ size: visit6(node, byteSizeVisitor),
2652
2664
  typeDocs: node.docs,
2653
2665
  typeNode: node.type
2654
2666
  };
@@ -2691,7 +2703,8 @@ function getRenderMapVisitor(options = {}) {
2691
2703
  ),
2692
2704
  instructionPath,
2693
2705
  renamedArgs: getRenamedArgsMap(node),
2694
- resolvedInputs: visit6(node, resolvedInstructionInputVisitor)
2706
+ resolvedInputs: visit6(node, resolvedInstructionInputVisitor),
2707
+ size: visit6(node, byteSizeVisitor)
2695
2708
  };
2696
2709
  const instructionDiscriminatorConstantsFragment = getDiscriminatorConstantsFragment({
2697
2710
  ...scope,