@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.cjs
CHANGED
|
@@ -2712,7 +2712,7 @@ function resolveRegisteredCustomTypeFromTypeNode(typeNode, extensionRegistry, ch
|
|
|
2712
2712
|
};
|
|
2713
2713
|
}
|
|
2714
2714
|
if (ts3.isTypeReferenceNode(typeNode) && ts3.isIdentifier(typeNode.typeName)) {
|
|
2715
|
-
const aliasDecl =
|
|
2715
|
+
const aliasDecl = getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
2716
2716
|
if (aliasDecl !== void 0) {
|
|
2717
2717
|
return resolveRegisteredCustomTypeFromTypeNode(aliasDecl.type, extensionRegistry, checker);
|
|
2718
2718
|
}
|
|
@@ -2905,22 +2905,23 @@ function getReferencedTypeAliasDeclaration(sourceNode, checker) {
|
|
|
2905
2905
|
if (!typeNode || !ts3.isTypeReferenceNode(typeNode)) {
|
|
2906
2906
|
return void 0;
|
|
2907
2907
|
}
|
|
2908
|
-
return
|
|
2908
|
+
return getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
2909
2909
|
}
|
|
2910
2910
|
function shouldEmitPrimitiveAliasDefinition(typeNode, checker) {
|
|
2911
2911
|
if (!ts3.isTypeReferenceNode(typeNode)) {
|
|
2912
2912
|
return false;
|
|
2913
2913
|
}
|
|
2914
|
-
const aliasDecl =
|
|
2914
|
+
const aliasDecl = getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
2915
2915
|
if (!aliasDecl) {
|
|
2916
2916
|
return false;
|
|
2917
2917
|
}
|
|
2918
2918
|
const resolved = checker.getTypeFromTypeNode(aliasDecl.type);
|
|
2919
2919
|
return !!(resolved.flags & (ts3.TypeFlags.String | ts3.TypeFlags.Number | ts3.TypeFlags.BigInt | ts3.TypeFlags.BigIntLiteral | ts3.TypeFlags.Boolean | ts3.TypeFlags.Null));
|
|
2920
2920
|
}
|
|
2921
|
-
function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiting, metadataPolicy = createAnalyzerMetadataPolicy(void 0), extensionRegistry, diagnostics) {
|
|
2921
|
+
function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiting, metadataPolicy = createAnalyzerMetadataPolicy(void 0), extensionRegistry, diagnostics, visitedAliases = /* @__PURE__ */ new Set()) {
|
|
2922
2922
|
const nestedAliasDecl = type.aliasSymbol?.declarations?.find(ts3.isTypeAliasDeclaration);
|
|
2923
|
-
if (nestedAliasDecl !== void 0) {
|
|
2923
|
+
if (nestedAliasDecl !== void 0 && !visitedAliases.has(nestedAliasDecl)) {
|
|
2924
|
+
visitedAliases.add(nestedAliasDecl);
|
|
2924
2925
|
return resolveAliasedPrimitiveTarget(
|
|
2925
2926
|
checker.getTypeFromTypeNode(nestedAliasDecl.type),
|
|
2926
2927
|
checker,
|
|
@@ -2929,9 +2930,25 @@ function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiti
|
|
|
2929
2930
|
visiting,
|
|
2930
2931
|
metadataPolicy,
|
|
2931
2932
|
extensionRegistry,
|
|
2932
|
-
diagnostics
|
|
2933
|
+
diagnostics,
|
|
2934
|
+
visitedAliases
|
|
2933
2935
|
);
|
|
2934
2936
|
}
|
|
2937
|
+
if (type.flags & ts3.TypeFlags.String) {
|
|
2938
|
+
return { kind: "primitive", primitiveKind: "string" };
|
|
2939
|
+
}
|
|
2940
|
+
if (type.flags & ts3.TypeFlags.Number) {
|
|
2941
|
+
return { kind: "primitive", primitiveKind: "number" };
|
|
2942
|
+
}
|
|
2943
|
+
if (type.flags & (ts3.TypeFlags.BigInt | ts3.TypeFlags.BigIntLiteral)) {
|
|
2944
|
+
return { kind: "primitive", primitiveKind: "bigint" };
|
|
2945
|
+
}
|
|
2946
|
+
if (type.flags & ts3.TypeFlags.Boolean) {
|
|
2947
|
+
return { kind: "primitive", primitiveKind: "boolean" };
|
|
2948
|
+
}
|
|
2949
|
+
if (type.flags & ts3.TypeFlags.Null) {
|
|
2950
|
+
return { kind: "primitive", primitiveKind: "null" };
|
|
2951
|
+
}
|
|
2935
2952
|
return resolveTypeNode(
|
|
2936
2953
|
type,
|
|
2937
2954
|
checker,
|
|
@@ -3463,8 +3480,7 @@ function resolveAliasedTypeNode(typeNode, checker, visited = /* @__PURE__ */ new
|
|
|
3463
3480
|
if (!ts3.isTypeReferenceNode(typeNode) || !ts3.isIdentifier(typeNode.typeName)) {
|
|
3464
3481
|
return typeNode;
|
|
3465
3482
|
}
|
|
3466
|
-
const
|
|
3467
|
-
const aliasDecl = symbol?.declarations?.find(ts3.isTypeAliasDeclaration);
|
|
3483
|
+
const aliasDecl = getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
3468
3484
|
if (aliasDecl === void 0 || visited.has(aliasDecl)) {
|
|
3469
3485
|
return typeNode;
|
|
3470
3486
|
}
|
|
@@ -3514,8 +3530,7 @@ function extractTypeAliasConstraintNodes(typeNode, checker, file, extensionRegis
|
|
|
3514
3530
|
);
|
|
3515
3531
|
}
|
|
3516
3532
|
const symbol = checker.getSymbolAtLocation(typeNode.typeName);
|
|
3517
|
-
|
|
3518
|
-
const aliasDecl = symbol.declarations.find(ts3.isTypeAliasDeclaration);
|
|
3533
|
+
const aliasDecl = getAliasedTypeAliasDeclaration(symbol, checker);
|
|
3519
3534
|
if (!aliasDecl) return [];
|
|
3520
3535
|
if (ts3.isTypeLiteralNode(aliasDecl.type)) return [];
|
|
3521
3536
|
const aliasFieldType = resolveTypeNode(
|
|
@@ -3538,6 +3553,18 @@ function extractTypeAliasConstraintNodes(typeNode, checker, file, extensionRegis
|
|
|
3538
3553
|
);
|
|
3539
3554
|
return constraints;
|
|
3540
3555
|
}
|
|
3556
|
+
function getAliasedSymbol(symbol, checker) {
|
|
3557
|
+
if (symbol === void 0) {
|
|
3558
|
+
return void 0;
|
|
3559
|
+
}
|
|
3560
|
+
return symbol.flags & ts3.SymbolFlags.Alias ? checker.getAliasedSymbol(symbol) : symbol;
|
|
3561
|
+
}
|
|
3562
|
+
function getAliasedTypeAliasDeclaration(symbol, checker) {
|
|
3563
|
+
return getAliasedSymbol(symbol, checker)?.declarations?.find(ts3.isTypeAliasDeclaration);
|
|
3564
|
+
}
|
|
3565
|
+
function getTypeAliasDeclarationFromTypeReference(typeNode, checker) {
|
|
3566
|
+
return getAliasedTypeAliasDeclaration(checker.getSymbolAtLocation(typeNode.typeName), checker);
|
|
3567
|
+
}
|
|
3541
3568
|
function provenanceForNode(node, file) {
|
|
3542
3569
|
const sourceFile = node.getSourceFile();
|
|
3543
3570
|
const { line, character } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
|