@formspec/build 0.1.0-alpha.34 → 0.1.0-alpha.36
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/analyzer/class-analyzer.d.ts.map +1 -1
- package/dist/cli.cjs +37 -10
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +37 -10
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +37 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +37 -10
- package/dist/index.js.map +1 -1
- package/dist/internals.cjs +37 -10
- package/dist/internals.cjs.map +1 -1
- package/dist/internals.js +37 -10
- package/dist/internals.js.map +1 -1
- package/package.json +1 -1
package/dist/internals.js
CHANGED
|
@@ -2688,7 +2688,7 @@ function resolveRegisteredCustomTypeFromTypeNode(typeNode, extensionRegistry, ch
|
|
|
2688
2688
|
};
|
|
2689
2689
|
}
|
|
2690
2690
|
if (ts3.isTypeReferenceNode(typeNode) && ts3.isIdentifier(typeNode.typeName)) {
|
|
2691
|
-
const aliasDecl =
|
|
2691
|
+
const aliasDecl = getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
2692
2692
|
if (aliasDecl !== void 0) {
|
|
2693
2693
|
return resolveRegisteredCustomTypeFromTypeNode(aliasDecl.type, extensionRegistry, checker);
|
|
2694
2694
|
}
|
|
@@ -2881,22 +2881,23 @@ function getReferencedTypeAliasDeclaration(sourceNode, checker) {
|
|
|
2881
2881
|
if (!typeNode || !ts3.isTypeReferenceNode(typeNode)) {
|
|
2882
2882
|
return void 0;
|
|
2883
2883
|
}
|
|
2884
|
-
return
|
|
2884
|
+
return getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
2885
2885
|
}
|
|
2886
2886
|
function shouldEmitPrimitiveAliasDefinition(typeNode, checker) {
|
|
2887
2887
|
if (!ts3.isTypeReferenceNode(typeNode)) {
|
|
2888
2888
|
return false;
|
|
2889
2889
|
}
|
|
2890
|
-
const aliasDecl =
|
|
2890
|
+
const aliasDecl = getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
2891
2891
|
if (!aliasDecl) {
|
|
2892
2892
|
return false;
|
|
2893
2893
|
}
|
|
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,
|
|
@@ -3439,8 +3456,7 @@ function resolveAliasedTypeNode(typeNode, checker, visited = /* @__PURE__ */ new
|
|
|
3439
3456
|
if (!ts3.isTypeReferenceNode(typeNode) || !ts3.isIdentifier(typeNode.typeName)) {
|
|
3440
3457
|
return typeNode;
|
|
3441
3458
|
}
|
|
3442
|
-
const
|
|
3443
|
-
const aliasDecl = symbol?.declarations?.find(ts3.isTypeAliasDeclaration);
|
|
3459
|
+
const aliasDecl = getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
3444
3460
|
if (aliasDecl === void 0 || visited.has(aliasDecl)) {
|
|
3445
3461
|
return typeNode;
|
|
3446
3462
|
}
|
|
@@ -3490,8 +3506,7 @@ function extractTypeAliasConstraintNodes(typeNode, checker, file, extensionRegis
|
|
|
3490
3506
|
);
|
|
3491
3507
|
}
|
|
3492
3508
|
const symbol = checker.getSymbolAtLocation(typeNode.typeName);
|
|
3493
|
-
|
|
3494
|
-
const aliasDecl = symbol.declarations.find(ts3.isTypeAliasDeclaration);
|
|
3509
|
+
const aliasDecl = getAliasedTypeAliasDeclaration(symbol, checker);
|
|
3495
3510
|
if (!aliasDecl) return [];
|
|
3496
3511
|
if (ts3.isTypeLiteralNode(aliasDecl.type)) return [];
|
|
3497
3512
|
const aliasFieldType = resolveTypeNode(
|
|
@@ -3514,6 +3529,18 @@ function extractTypeAliasConstraintNodes(typeNode, checker, file, extensionRegis
|
|
|
3514
3529
|
);
|
|
3515
3530
|
return constraints;
|
|
3516
3531
|
}
|
|
3532
|
+
function getAliasedSymbol(symbol, checker) {
|
|
3533
|
+
if (symbol === void 0) {
|
|
3534
|
+
return void 0;
|
|
3535
|
+
}
|
|
3536
|
+
return symbol.flags & ts3.SymbolFlags.Alias ? checker.getAliasedSymbol(symbol) : symbol;
|
|
3537
|
+
}
|
|
3538
|
+
function getAliasedTypeAliasDeclaration(symbol, checker) {
|
|
3539
|
+
return getAliasedSymbol(symbol, checker)?.declarations?.find(ts3.isTypeAliasDeclaration);
|
|
3540
|
+
}
|
|
3541
|
+
function getTypeAliasDeclarationFromTypeReference(typeNode, checker) {
|
|
3542
|
+
return getAliasedTypeAliasDeclaration(checker.getSymbolAtLocation(typeNode.typeName), checker);
|
|
3543
|
+
}
|
|
3517
3544
|
function provenanceForNode(node, file) {
|
|
3518
3545
|
const sourceFile = node.getSourceFile();
|
|
3519
3546
|
const { line, character } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
|