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.
@@ -743,8 +743,8 @@ function getTypeManifestVisitor(input) {
743
743
  },
744
744
  visitArrayType(node, { self }) {
745
745
  const itemManifest = visit(node.item, self);
746
- const encoderSizeExpr = getArraySizeExpression(node, "Encoder");
747
- const decoderSizeExpr = getArraySizeExpression(node, "Decoder");
746
+ const encoderSizeExpr = getArraySizeExpression(node, "Encoder", self);
747
+ const decoderSizeExpr = getArraySizeExpression(node, "Decoder", self);
748
748
  const itemType = fragmentFromString(itemManifest.type.content);
749
749
  const itemEncoder = fragment`${use(
750
750
  "transformEncoder",
@@ -767,8 +767,8 @@ function getTypeManifestVisitor(input) {
767
767
  visitMapType(node, { self }) {
768
768
  const keyManifest = visit(node.key, self);
769
769
  const valueManifest = visit(node.value, self);
770
- const encoderSizeExpr = getMapSizeExpression(node, "Encoder");
771
- const decoderSizeExpr = getMapSizeExpression(node, "Decoder");
770
+ const encoderSizeExpr = getMapSizeExpression(node, "Encoder", self);
771
+ const decoderSizeExpr = getMapSizeExpression(node, "Decoder", self);
772
772
  return {
773
773
  type: fragment`Map<${keyManifest.type}, ${valueManifest.type}>`,
774
774
  encoder: fragment`${use(
@@ -785,8 +785,8 @@ function getTypeManifestVisitor(input) {
785
785
  },
786
786
  visitSetType(node, { self }) {
787
787
  const itemManifest = visit(node.item, self);
788
- const encoderSizeExpr = getSetSizeExpression(node, "Encoder");
789
- const decoderSizeExpr = getSetSizeExpression(node, "Decoder");
788
+ const encoderSizeExpr = getSetSizeExpression(node, "Encoder", self);
789
+ const decoderSizeExpr = getSetSizeExpression(node, "Decoder", self);
790
790
  return {
791
791
  type: fragment`Set<${itemManifest.type}>`,
792
792
  encoder: fragment`${use(
@@ -1177,7 +1177,7 @@ function getNumberCodecExpression(node, codecType) {
1177
1177
  const config = node.endian === "be" ? fragment`${use("NumberCodecConfig", "solanaCodecsNumbers")}(endian: ${use("Endian", "dartTypedData")}.big)` : "";
1178
1178
  return fragment`${use(`get${name}${codecType}`, "solanaCodecsNumbers")}(${config})`;
1179
1179
  }
1180
- function getArraySizeExpression(node, codecType) {
1180
+ function getArraySizeExpression(node, codecType, self) {
1181
1181
  if (!("count" in node) || !node.count) return "";
1182
1182
  const count = node.count;
1183
1183
  switch (count.kind) {
@@ -1186,17 +1186,17 @@ function getArraySizeExpression(node, codecType) {
1186
1186
  case "remainderCountNode":
1187
1187
  return ", size: RemainderArraySize()";
1188
1188
  case "prefixedCountNode": {
1189
- const resolvedPrefix = resolveNestedTypeNode(count.prefix);
1190
- if (resolvedPrefix.format === "u32" && (!resolvedPrefix.endian || resolvedPrefix.endian === "le")) {
1189
+ if (count.prefix.kind === "numberTypeNode" && count.prefix.format === "u32" && (!count.prefix.endian || count.prefix.endian === "le")) {
1191
1190
  return "";
1192
1191
  }
1193
- return fragment`, size: PrefixedArraySize(${getNumberCodecExpression(resolvedPrefix, codecType)})`;
1192
+ const prefix = visit(count.prefix, self);
1193
+ return fragment`, size: PrefixedArraySize(${codecType === "Encoder" ? prefix.encoder : prefix.decoder})`;
1194
1194
  }
1195
1195
  default:
1196
1196
  return "";
1197
1197
  }
1198
1198
  }
1199
- function getMapSizeExpression(node, codecType) {
1199
+ function getMapSizeExpression(node, codecType, self) {
1200
1200
  if (!("count" in node) || !node.count) return "";
1201
1201
  const count = node.count;
1202
1202
  switch (count.kind) {
@@ -1205,17 +1205,17 @@ function getMapSizeExpression(node, codecType) {
1205
1205
  case "remainderCountNode":
1206
1206
  return ", size: RemainderArraySize()";
1207
1207
  case "prefixedCountNode": {
1208
- const resolvedPrefix = resolveNestedTypeNode(count.prefix);
1209
- if (resolvedPrefix.format === "u32" && (!resolvedPrefix.endian || resolvedPrefix.endian === "le")) {
1208
+ if (count.prefix.kind === "numberTypeNode" && count.prefix.format === "u32" && (!count.prefix.endian || count.prefix.endian === "le")) {
1210
1209
  return "";
1211
1210
  }
1212
- return fragment`, size: PrefixedArraySize(${getNumberCodecExpression(resolvedPrefix, codecType)})`;
1211
+ const prefix = visit(count.prefix, self);
1212
+ return fragment`, size: PrefixedArraySize(${codecType === "Encoder" ? prefix.encoder : prefix.decoder})`;
1213
1213
  }
1214
1214
  default:
1215
1215
  return "";
1216
1216
  }
1217
1217
  }
1218
- function getSetSizeExpression(node, codecType) {
1218
+ function getSetSizeExpression(node, codecType, self) {
1219
1219
  if (!("count" in node) || !node.count) return "";
1220
1220
  const count = node.count;
1221
1221
  switch (count.kind) {
@@ -1224,11 +1224,11 @@ function getSetSizeExpression(node, codecType) {
1224
1224
  case "remainderCountNode":
1225
1225
  return ", size: RemainderArraySize()";
1226
1226
  case "prefixedCountNode": {
1227
- const resolvedPrefix = resolveNestedTypeNode(count.prefix);
1228
- if (resolvedPrefix.format === "u32" && (!resolvedPrefix.endian || resolvedPrefix.endian === "le")) {
1227
+ if (count.prefix.kind === "numberTypeNode" && count.prefix.format === "u32" && (!count.prefix.endian || count.prefix.endian === "le")) {
1229
1228
  return "";
1230
1229
  }
1231
- return fragment`, size: PrefixedArraySize(${getNumberCodecExpression(resolvedPrefix, codecType)})`;
1230
+ const prefix = visit(count.prefix, self);
1231
+ return fragment`, size: PrefixedArraySize(${codecType === "Encoder" ? prefix.encoder : prefix.decoder})`;
1232
1232
  }
1233
1233
  default:
1234
1234
  return "";
@@ -1590,7 +1590,7 @@ function getIndexPageFragment(fileNames, relativePath = "") {
1590
1590
  "// Auto-generated. Do not edit.\n// ignore_for_file: type=lint\n"
1591
1591
  );
1592
1592
  }
1593
- const exports = fileNames.sort().map((f) => {
1593
+ const exports$1 = fileNames.sort().map((f) => {
1594
1594
  const path = relativePath ? `${relativePath}/${f}` : f;
1595
1595
  return `export '${path}';`;
1596
1596
  }).join("\n");
@@ -1598,17 +1598,17 @@ function getIndexPageFragment(fileNames, relativePath = "") {
1598
1598
  `// Auto-generated. Do not edit.
1599
1599
  // ignore_for_file: type=lint
1600
1600
 
1601
- ${exports}
1601
+ ${exports$1}
1602
1602
  `
1603
1603
  );
1604
1604
  }
1605
1605
  function getRootIndexPageFragment(categories) {
1606
- const exports = categories.sort().map((cat) => `export '${cat}/${cat}.dart';`).join("\n");
1606
+ const exports$1 = categories.sort().map((cat) => `export '${cat}/${cat}.dart';`).join("\n");
1607
1607
  return fragmentFromString(
1608
1608
  `// Auto-generated. Do not edit.
1609
1609
  // ignore_for_file: type=lint
1610
1610
 
1611
- ${exports}
1611
+ ${exports$1}
1612
1612
  `
1613
1613
  );
1614
1614
  }