@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/index.js
CHANGED
|
@@ -3967,7 +3967,7 @@ function resolveRegisteredCustomTypeFromTypeNode(typeNode, extensionRegistry, ch
|
|
|
3967
3967
|
};
|
|
3968
3968
|
}
|
|
3969
3969
|
if (ts3.isTypeReferenceNode(typeNode) && ts3.isIdentifier(typeNode.typeName)) {
|
|
3970
|
-
const aliasDecl =
|
|
3970
|
+
const aliasDecl = getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
3971
3971
|
if (aliasDecl !== void 0) {
|
|
3972
3972
|
return resolveRegisteredCustomTypeFromTypeNode(aliasDecl.type, extensionRegistry, checker);
|
|
3973
3973
|
}
|
|
@@ -4160,22 +4160,23 @@ function getReferencedTypeAliasDeclaration(sourceNode, checker) {
|
|
|
4160
4160
|
if (!typeNode || !ts3.isTypeReferenceNode(typeNode)) {
|
|
4161
4161
|
return void 0;
|
|
4162
4162
|
}
|
|
4163
|
-
return
|
|
4163
|
+
return getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
4164
4164
|
}
|
|
4165
4165
|
function shouldEmitPrimitiveAliasDefinition(typeNode, checker) {
|
|
4166
4166
|
if (!ts3.isTypeReferenceNode(typeNode)) {
|
|
4167
4167
|
return false;
|
|
4168
4168
|
}
|
|
4169
|
-
const aliasDecl =
|
|
4169
|
+
const aliasDecl = getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
4170
4170
|
if (!aliasDecl) {
|
|
4171
4171
|
return false;
|
|
4172
4172
|
}
|
|
4173
4173
|
const resolved = checker.getTypeFromTypeNode(aliasDecl.type);
|
|
4174
4174
|
return !!(resolved.flags & (ts3.TypeFlags.String | ts3.TypeFlags.Number | ts3.TypeFlags.BigInt | ts3.TypeFlags.BigIntLiteral | ts3.TypeFlags.Boolean | ts3.TypeFlags.Null));
|
|
4175
4175
|
}
|
|
4176
|
-
function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiting, metadataPolicy = createAnalyzerMetadataPolicy(void 0), extensionRegistry, diagnostics) {
|
|
4176
|
+
function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiting, metadataPolicy = createAnalyzerMetadataPolicy(void 0), extensionRegistry, diagnostics, visitedAliases = /* @__PURE__ */ new Set()) {
|
|
4177
4177
|
const nestedAliasDecl = type.aliasSymbol?.declarations?.find(ts3.isTypeAliasDeclaration);
|
|
4178
|
-
if (nestedAliasDecl !== void 0) {
|
|
4178
|
+
if (nestedAliasDecl !== void 0 && !visitedAliases.has(nestedAliasDecl)) {
|
|
4179
|
+
visitedAliases.add(nestedAliasDecl);
|
|
4179
4180
|
return resolveAliasedPrimitiveTarget(
|
|
4180
4181
|
checker.getTypeFromTypeNode(nestedAliasDecl.type),
|
|
4181
4182
|
checker,
|
|
@@ -4184,9 +4185,25 @@ function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiti
|
|
|
4184
4185
|
visiting,
|
|
4185
4186
|
metadataPolicy,
|
|
4186
4187
|
extensionRegistry,
|
|
4187
|
-
diagnostics
|
|
4188
|
+
diagnostics,
|
|
4189
|
+
visitedAliases
|
|
4188
4190
|
);
|
|
4189
4191
|
}
|
|
4192
|
+
if (type.flags & ts3.TypeFlags.String) {
|
|
4193
|
+
return { kind: "primitive", primitiveKind: "string" };
|
|
4194
|
+
}
|
|
4195
|
+
if (type.flags & ts3.TypeFlags.Number) {
|
|
4196
|
+
return { kind: "primitive", primitiveKind: "number" };
|
|
4197
|
+
}
|
|
4198
|
+
if (type.flags & (ts3.TypeFlags.BigInt | ts3.TypeFlags.BigIntLiteral)) {
|
|
4199
|
+
return { kind: "primitive", primitiveKind: "bigint" };
|
|
4200
|
+
}
|
|
4201
|
+
if (type.flags & ts3.TypeFlags.Boolean) {
|
|
4202
|
+
return { kind: "primitive", primitiveKind: "boolean" };
|
|
4203
|
+
}
|
|
4204
|
+
if (type.flags & ts3.TypeFlags.Null) {
|
|
4205
|
+
return { kind: "primitive", primitiveKind: "null" };
|
|
4206
|
+
}
|
|
4190
4207
|
return resolveTypeNode(
|
|
4191
4208
|
type,
|
|
4192
4209
|
checker,
|
|
@@ -4718,8 +4735,7 @@ function resolveAliasedTypeNode(typeNode, checker, visited = /* @__PURE__ */ new
|
|
|
4718
4735
|
if (!ts3.isTypeReferenceNode(typeNode) || !ts3.isIdentifier(typeNode.typeName)) {
|
|
4719
4736
|
return typeNode;
|
|
4720
4737
|
}
|
|
4721
|
-
const
|
|
4722
|
-
const aliasDecl = symbol?.declarations?.find(ts3.isTypeAliasDeclaration);
|
|
4738
|
+
const aliasDecl = getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
4723
4739
|
if (aliasDecl === void 0 || visited.has(aliasDecl)) {
|
|
4724
4740
|
return typeNode;
|
|
4725
4741
|
}
|
|
@@ -4769,8 +4785,7 @@ function extractTypeAliasConstraintNodes(typeNode, checker, file, extensionRegis
|
|
|
4769
4785
|
);
|
|
4770
4786
|
}
|
|
4771
4787
|
const symbol = checker.getSymbolAtLocation(typeNode.typeName);
|
|
4772
|
-
|
|
4773
|
-
const aliasDecl = symbol.declarations.find(ts3.isTypeAliasDeclaration);
|
|
4788
|
+
const aliasDecl = getAliasedTypeAliasDeclaration(symbol, checker);
|
|
4774
4789
|
if (!aliasDecl) return [];
|
|
4775
4790
|
if (ts3.isTypeLiteralNode(aliasDecl.type)) return [];
|
|
4776
4791
|
const aliasFieldType = resolveTypeNode(
|
|
@@ -4793,6 +4808,18 @@ function extractTypeAliasConstraintNodes(typeNode, checker, file, extensionRegis
|
|
|
4793
4808
|
);
|
|
4794
4809
|
return constraints;
|
|
4795
4810
|
}
|
|
4811
|
+
function getAliasedSymbol(symbol, checker) {
|
|
4812
|
+
if (symbol === void 0) {
|
|
4813
|
+
return void 0;
|
|
4814
|
+
}
|
|
4815
|
+
return symbol.flags & ts3.SymbolFlags.Alias ? checker.getAliasedSymbol(symbol) : symbol;
|
|
4816
|
+
}
|
|
4817
|
+
function getAliasedTypeAliasDeclaration(symbol, checker) {
|
|
4818
|
+
return getAliasedSymbol(symbol, checker)?.declarations?.find(ts3.isTypeAliasDeclaration);
|
|
4819
|
+
}
|
|
4820
|
+
function getTypeAliasDeclarationFromTypeReference(typeNode, checker) {
|
|
4821
|
+
return getAliasedTypeAliasDeclaration(checker.getSymbolAtLocation(typeNode.typeName), checker);
|
|
4822
|
+
}
|
|
4796
4823
|
function provenanceForNode(node, file) {
|
|
4797
4824
|
const sourceFile = node.getSourceFile();
|
|
4798
4825
|
const { line, character } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
|