@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.
@@ -552,43 +552,49 @@ function getTypeFragment(scope) {
552
552
  // src/fragments/typeDecoder.ts
553
553
  function getTypeDecoderFragment(scope) {
554
554
  const { name, manifest, nameApi, docs = [] } = scope;
555
+ const decoderType = typeof scope.size === "number" ? "FixedSizeDecoder" : "Decoder";
555
556
  return fragmentFromTemplate("typeDecoder.njk", {
556
557
  decoderFunction: nameApi.decoderFunction(name),
558
+ decoderType,
557
559
  docs,
558
560
  looseName: nameApi.dataArgsType(name),
559
561
  manifest,
560
562
  strictName: nameApi.dataType(name)
561
- }).mergeImportsWith(manifest.decoder).addImports("solanaCodecsCore", "type Decoder");
563
+ }).mergeImportsWith(manifest.decoder).addImports("solanaCodecsCore", `type ${decoderType}`);
562
564
  }
563
565
 
564
566
  // src/fragments/typeEncoder.ts
565
567
  function getTypeEncoderFragment(scope) {
566
568
  const { name, manifest, nameApi, docs = [] } = scope;
569
+ const encoderType = typeof scope.size === "number" ? "FixedSizeEncoder" : "Encoder";
567
570
  return fragmentFromTemplate("typeEncoder.njk", {
568
571
  docs,
569
572
  encoderFunction: nameApi.encoderFunction(name),
573
+ encoderType,
570
574
  looseName: nameApi.dataArgsType(name),
571
575
  manifest,
572
576
  strictName: nameApi.dataType(name)
573
- }).mergeImportsWith(manifest.encoder).addImports("solanaCodecsCore", "type Encoder");
577
+ }).mergeImportsWith(manifest.encoder).addImports("solanaCodecsCore", `type ${encoderType}`);
574
578
  }
575
579
 
576
580
  // src/fragments/typeCodec.ts
577
581
  function getTypeCodecFragment(scope) {
578
582
  const { name, manifest, nameApi } = scope;
583
+ const codecType = typeof scope.size === "number" ? "FixedSizeCodec" : "Codec";
579
584
  return mergeFragments(
580
585
  [
581
586
  getTypeEncoderFragment({ ...scope, docs: scope.encoderDocs }),
582
587
  getTypeDecoderFragment({ ...scope, docs: scope.decoderDocs }),
583
588
  fragmentFromTemplate("typeCodec.njk", {
584
589
  codecFunction: nameApi.codecFunction(name),
590
+ codecType,
585
591
  decoderFunction: nameApi.decoderFunction(name),
586
592
  docs: scope.codecDocs,
587
593
  encoderFunction: nameApi.encoderFunction(name),
588
594
  looseName: nameApi.dataArgsType(name),
589
595
  manifest,
590
596
  strictName: nameApi.dataType(name)
591
- }).addImports("solanaCodecsCore", ["type Codec", "combineCodec"])
597
+ }).addImports("solanaCodecsCore", [`type ${codecType}`, "combineCodec"])
592
598
  ],
593
599
  (renders) => renders.join("\n\n")
594
600
  );
@@ -612,7 +618,8 @@ function getAccountTypeFragment(scope) {
612
618
  return getTypeWithCodecFragment({
613
619
  manifest: typeManifest2,
614
620
  name: accountNode.name,
615
- nameApi
621
+ nameApi,
622
+ size: scope.size
616
623
  });
617
624
  }
618
625
 
@@ -791,7 +798,8 @@ function getInstructionDataFragment(scope) {
791
798
  return getTypeWithCodecFragment({
792
799
  manifest: dataArgsManifest,
793
800
  name: instructionDataName,
794
- nameApi
801
+ nameApi,
802
+ size: scope.size
795
803
  });
796
804
  }
797
805
 
@@ -2541,6 +2549,7 @@ function getRenderMapVisitor(options = {}) {
2541
2549
  stack
2542
2550
  });
2543
2551
  const resolvedInstructionInputVisitor = (0, import_visitors_core21.getResolvedInstructionInputsVisitor)();
2552
+ const byteSizeVisitor = (0, import_visitors_core21.getByteSizeVisitor)(linkables, { stack });
2544
2553
  const globalScope = {
2545
2554
  asyncResolvers,
2546
2555
  customAccountData,
@@ -2568,6 +2577,7 @@ function getRenderMapVisitor(options = {}) {
2568
2577
  const scope = {
2569
2578
  ...globalScope,
2570
2579
  accountPath,
2580
+ size: (0, import_visitors_core21.visit)(node, byteSizeVisitor),
2571
2581
  typeManifest: (0, import_visitors_core21.visit)(node, typeManifestVisitor)
2572
2582
  };
2573
2583
  const fields = (0, import_nodes22.resolveNestedTypeNode)(node.data).fields;
@@ -2608,6 +2618,7 @@ function getRenderMapVisitor(options = {}) {
2608
2618
  encoderDocs: [],
2609
2619
  manifest: (0, import_visitors_core21.visit)(node, typeManifestVisitor),
2610
2620
  name: node.name,
2621
+ size: (0, import_visitors_core21.visit)(node, byteSizeVisitor),
2611
2622
  typeDocs: node.docs,
2612
2623
  typeNode: node.type
2613
2624
  };
@@ -2650,7 +2661,8 @@ function getRenderMapVisitor(options = {}) {
2650
2661
  ),
2651
2662
  instructionPath,
2652
2663
  renamedArgs: getRenamedArgsMap(node),
2653
- resolvedInputs: (0, import_visitors_core21.visit)(node, resolvedInstructionInputVisitor)
2664
+ resolvedInputs: (0, import_visitors_core21.visit)(node, resolvedInstructionInputVisitor),
2665
+ size: (0, import_visitors_core21.visit)(node, byteSizeVisitor)
2654
2666
  };
2655
2667
  const instructionDiscriminatorConstantsFragment = getDiscriminatorConstantsFragment({
2656
2668
  ...scope,