@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/internals.js CHANGED
@@ -2894,9 +2894,10 @@ function shouldEmitPrimitiveAliasDefinition(typeNode, checker) {
2894
2894
  const resolved = checker.getTypeFromTypeNode(aliasDecl.type);
2895
2895
  return !!(resolved.flags & (ts3.TypeFlags.String | ts3.TypeFlags.Number | ts3.TypeFlags.BigInt | ts3.TypeFlags.BigIntLiteral | ts3.TypeFlags.Boolean | ts3.TypeFlags.Null));
2896
2896
  }
2897
- function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiting, metadataPolicy = createAnalyzerMetadataPolicy(void 0), extensionRegistry, diagnostics) {
2897
+ function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiting, metadataPolicy = createAnalyzerMetadataPolicy(void 0), extensionRegistry, diagnostics, visitedAliases = /* @__PURE__ */ new Set()) {
2898
2898
  const nestedAliasDecl = type.aliasSymbol?.declarations?.find(ts3.isTypeAliasDeclaration);
2899
- if (nestedAliasDecl !== void 0) {
2899
+ if (nestedAliasDecl !== void 0 && !visitedAliases.has(nestedAliasDecl)) {
2900
+ visitedAliases.add(nestedAliasDecl);
2900
2901
  return resolveAliasedPrimitiveTarget(
2901
2902
  checker.getTypeFromTypeNode(nestedAliasDecl.type),
2902
2903
  checker,
@@ -2905,9 +2906,25 @@ function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiti
2905
2906
  visiting,
2906
2907
  metadataPolicy,
2907
2908
  extensionRegistry,
2908
- diagnostics
2909
+ diagnostics,
2910
+ visitedAliases
2909
2911
  );
2910
2912
  }
2913
+ if (type.flags & ts3.TypeFlags.String) {
2914
+ return { kind: "primitive", primitiveKind: "string" };
2915
+ }
2916
+ if (type.flags & ts3.TypeFlags.Number) {
2917
+ return { kind: "primitive", primitiveKind: "number" };
2918
+ }
2919
+ if (type.flags & (ts3.TypeFlags.BigInt | ts3.TypeFlags.BigIntLiteral)) {
2920
+ return { kind: "primitive", primitiveKind: "bigint" };
2921
+ }
2922
+ if (type.flags & ts3.TypeFlags.Boolean) {
2923
+ return { kind: "primitive", primitiveKind: "boolean" };
2924
+ }
2925
+ if (type.flags & ts3.TypeFlags.Null) {
2926
+ return { kind: "primitive", primitiveKind: "null" };
2927
+ }
2911
2928
  return resolveTypeNode(
2912
2929
  type,
2913
2930
  checker,