codama-renderers-dart 0.5.4 → 0.5.5

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.
@@ -747,8 +747,8 @@ function getTypeManifestVisitor(input) {
747
747
  },
748
748
  visitArrayType(node, { self }) {
749
749
  const itemManifest = visitorsCore.visit(node.item, self);
750
- const encoderSizeExpr = getArraySizeExpression(node, "Encoder");
751
- const decoderSizeExpr = getArraySizeExpression(node, "Decoder");
750
+ const encoderSizeExpr = getArraySizeExpression(node, "Encoder", self);
751
+ const decoderSizeExpr = getArraySizeExpression(node, "Decoder", self);
752
752
  const itemType = fragmentFromString(itemManifest.type.content);
753
753
  const itemEncoder = fragment`${use(
754
754
  "transformEncoder",
@@ -771,8 +771,8 @@ function getTypeManifestVisitor(input) {
771
771
  visitMapType(node, { self }) {
772
772
  const keyManifest = visitorsCore.visit(node.key, self);
773
773
  const valueManifest = visitorsCore.visit(node.value, self);
774
- const encoderSizeExpr = getMapSizeExpression(node, "Encoder");
775
- const decoderSizeExpr = getMapSizeExpression(node, "Decoder");
774
+ const encoderSizeExpr = getMapSizeExpression(node, "Encoder", self);
775
+ const decoderSizeExpr = getMapSizeExpression(node, "Decoder", self);
776
776
  return {
777
777
  type: fragment`Map<${keyManifest.type}, ${valueManifest.type}>`,
778
778
  encoder: fragment`${use(
@@ -789,8 +789,8 @@ function getTypeManifestVisitor(input) {
789
789
  },
790
790
  visitSetType(node, { self }) {
791
791
  const itemManifest = visitorsCore.visit(node.item, self);
792
- const encoderSizeExpr = getSetSizeExpression(node, "Encoder");
793
- const decoderSizeExpr = getSetSizeExpression(node, "Decoder");
792
+ const encoderSizeExpr = getSetSizeExpression(node, "Encoder", self);
793
+ const decoderSizeExpr = getSetSizeExpression(node, "Decoder", self);
794
794
  return {
795
795
  type: fragment`Set<${itemManifest.type}>`,
796
796
  encoder: fragment`${use(
@@ -1181,7 +1181,7 @@ function getNumberCodecExpression(node, codecType) {
1181
1181
  const config = node.endian === "be" ? fragment`${use("NumberCodecConfig", "solanaCodecsNumbers")}(endian: ${use("Endian", "dartTypedData")}.big)` : "";
1182
1182
  return fragment`${use(`get${name}${codecType}`, "solanaCodecsNumbers")}(${config})`;
1183
1183
  }
1184
- function getArraySizeExpression(node, codecType) {
1184
+ function getArraySizeExpression(node, codecType, self) {
1185
1185
  if (!("count" in node) || !node.count) return "";
1186
1186
  const count = node.count;
1187
1187
  switch (count.kind) {
@@ -1190,17 +1190,17 @@ function getArraySizeExpression(node, codecType) {
1190
1190
  case "remainderCountNode":
1191
1191
  return ", size: RemainderArraySize()";
1192
1192
  case "prefixedCountNode": {
1193
- const resolvedPrefix = nodes.resolveNestedTypeNode(count.prefix);
1194
- if (resolvedPrefix.format === "u32" && (!resolvedPrefix.endian || resolvedPrefix.endian === "le")) {
1193
+ if (count.prefix.kind === "numberTypeNode" && count.prefix.format === "u32" && (!count.prefix.endian || count.prefix.endian === "le")) {
1195
1194
  return "";
1196
1195
  }
1197
- return fragment`, size: PrefixedArraySize(${getNumberCodecExpression(resolvedPrefix, codecType)})`;
1196
+ const prefix = visitorsCore.visit(count.prefix, self);
1197
+ return fragment`, size: PrefixedArraySize(${codecType === "Encoder" ? prefix.encoder : prefix.decoder})`;
1198
1198
  }
1199
1199
  default:
1200
1200
  return "";
1201
1201
  }
1202
1202
  }
1203
- function getMapSizeExpression(node, codecType) {
1203
+ function getMapSizeExpression(node, codecType, self) {
1204
1204
  if (!("count" in node) || !node.count) return "";
1205
1205
  const count = node.count;
1206
1206
  switch (count.kind) {
@@ -1209,17 +1209,17 @@ function getMapSizeExpression(node, codecType) {
1209
1209
  case "remainderCountNode":
1210
1210
  return ", size: RemainderArraySize()";
1211
1211
  case "prefixedCountNode": {
1212
- const resolvedPrefix = nodes.resolveNestedTypeNode(count.prefix);
1213
- if (resolvedPrefix.format === "u32" && (!resolvedPrefix.endian || resolvedPrefix.endian === "le")) {
1212
+ if (count.prefix.kind === "numberTypeNode" && count.prefix.format === "u32" && (!count.prefix.endian || count.prefix.endian === "le")) {
1214
1213
  return "";
1215
1214
  }
1216
- return fragment`, size: PrefixedArraySize(${getNumberCodecExpression(resolvedPrefix, codecType)})`;
1215
+ const prefix = visitorsCore.visit(count.prefix, self);
1216
+ return fragment`, size: PrefixedArraySize(${codecType === "Encoder" ? prefix.encoder : prefix.decoder})`;
1217
1217
  }
1218
1218
  default:
1219
1219
  return "";
1220
1220
  }
1221
1221
  }
1222
- function getSetSizeExpression(node, codecType) {
1222
+ function getSetSizeExpression(node, codecType, self) {
1223
1223
  if (!("count" in node) || !node.count) return "";
1224
1224
  const count = node.count;
1225
1225
  switch (count.kind) {
@@ -1228,11 +1228,11 @@ function getSetSizeExpression(node, codecType) {
1228
1228
  case "remainderCountNode":
1229
1229
  return ", size: RemainderArraySize()";
1230
1230
  case "prefixedCountNode": {
1231
- const resolvedPrefix = nodes.resolveNestedTypeNode(count.prefix);
1232
- if (resolvedPrefix.format === "u32" && (!resolvedPrefix.endian || resolvedPrefix.endian === "le")) {
1231
+ if (count.prefix.kind === "numberTypeNode" && count.prefix.format === "u32" && (!count.prefix.endian || count.prefix.endian === "le")) {
1233
1232
  return "";
1234
1233
  }
1235
- return fragment`, size: PrefixedArraySize(${getNumberCodecExpression(resolvedPrefix, codecType)})`;
1234
+ const prefix = visitorsCore.visit(count.prefix, self);
1235
+ return fragment`, size: PrefixedArraySize(${codecType === "Encoder" ? prefix.encoder : prefix.decoder})`;
1236
1236
  }
1237
1237
  default:
1238
1238
  return "";
@@ -1594,7 +1594,7 @@ function getIndexPageFragment(fileNames, relativePath = "") {
1594
1594
  "// Auto-generated. Do not edit.\n// ignore_for_file: type=lint\n"
1595
1595
  );
1596
1596
  }
1597
- const exports = fileNames.sort().map((f) => {
1597
+ const exports$1 = fileNames.sort().map((f) => {
1598
1598
  const path = relativePath ? `${relativePath}/${f}` : f;
1599
1599
  return `export '${path}';`;
1600
1600
  }).join("\n");
@@ -1602,17 +1602,17 @@ function getIndexPageFragment(fileNames, relativePath = "") {
1602
1602
  `// Auto-generated. Do not edit.
1603
1603
  // ignore_for_file: type=lint
1604
1604
 
1605
- ${exports}
1605
+ ${exports$1}
1606
1606
  `
1607
1607
  );
1608
1608
  }
1609
1609
  function getRootIndexPageFragment(categories) {
1610
- const exports = categories.sort().map((cat) => `export '${cat}/${cat}.dart';`).join("\n");
1610
+ const exports$1 = categories.sort().map((cat) => `export '${cat}/${cat}.dart';`).join("\n");
1611
1611
  return fragmentFromString(
1612
1612
  `// Auto-generated. Do not edit.
1613
1613
  // ignore_for_file: type=lint
1614
1614
 
1615
- ${exports}
1615
+ ${exports$1}
1616
1616
  `
1617
1617
  );
1618
1618
  }