@formspec/build 0.1.0-alpha.34 → 0.1.0-alpha.35

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.
package/dist/index.cjs CHANGED
@@ -4192,9 +4192,10 @@ function shouldEmitPrimitiveAliasDefinition(typeNode, checker) {
4192
4192
  const resolved = checker.getTypeFromTypeNode(aliasDecl.type);
4193
4193
  return !!(resolved.flags & (ts3.TypeFlags.String | ts3.TypeFlags.Number | ts3.TypeFlags.BigInt | ts3.TypeFlags.BigIntLiteral | ts3.TypeFlags.Boolean | ts3.TypeFlags.Null));
4194
4194
  }
4195
- function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiting, metadataPolicy = createAnalyzerMetadataPolicy(void 0), extensionRegistry, diagnostics) {
4195
+ function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiting, metadataPolicy = createAnalyzerMetadataPolicy(void 0), extensionRegistry, diagnostics, visitedAliases = /* @__PURE__ */ new Set()) {
4196
4196
  const nestedAliasDecl = type.aliasSymbol?.declarations?.find(ts3.isTypeAliasDeclaration);
4197
- if (nestedAliasDecl !== void 0) {
4197
+ if (nestedAliasDecl !== void 0 && !visitedAliases.has(nestedAliasDecl)) {
4198
+ visitedAliases.add(nestedAliasDecl);
4198
4199
  return resolveAliasedPrimitiveTarget(
4199
4200
  checker.getTypeFromTypeNode(nestedAliasDecl.type),
4200
4201
  checker,
@@ -4203,9 +4204,25 @@ function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiti
4203
4204
  visiting,
4204
4205
  metadataPolicy,
4205
4206
  extensionRegistry,
4206
- diagnostics
4207
+ diagnostics,
4208
+ visitedAliases
4207
4209
  );
4208
4210
  }
4211
+ if (type.flags & ts3.TypeFlags.String) {
4212
+ return { kind: "primitive", primitiveKind: "string" };
4213
+ }
4214
+ if (type.flags & ts3.TypeFlags.Number) {
4215
+ return { kind: "primitive", primitiveKind: "number" };
4216
+ }
4217
+ if (type.flags & (ts3.TypeFlags.BigInt | ts3.TypeFlags.BigIntLiteral)) {
4218
+ return { kind: "primitive", primitiveKind: "bigint" };
4219
+ }
4220
+ if (type.flags & ts3.TypeFlags.Boolean) {
4221
+ return { kind: "primitive", primitiveKind: "boolean" };
4222
+ }
4223
+ if (type.flags & ts3.TypeFlags.Null) {
4224
+ return { kind: "primitive", primitiveKind: "null" };
4225
+ }
4209
4226
  return resolveTypeNode(
4210
4227
  type,
4211
4228
  checker,