@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/cli.js
CHANGED
|
@@ -4072,7 +4072,7 @@ function resolveRegisteredCustomTypeFromTypeNode(typeNode, extensionRegistry, ch
|
|
|
4072
4072
|
};
|
|
4073
4073
|
}
|
|
4074
4074
|
if (ts3.isTypeReferenceNode(typeNode) && ts3.isIdentifier(typeNode.typeName)) {
|
|
4075
|
-
const aliasDecl =
|
|
4075
|
+
const aliasDecl = getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
4076
4076
|
if (aliasDecl !== void 0) {
|
|
4077
4077
|
return resolveRegisteredCustomTypeFromTypeNode(aliasDecl.type, extensionRegistry, checker);
|
|
4078
4078
|
}
|
|
@@ -4265,22 +4265,23 @@ function getReferencedTypeAliasDeclaration(sourceNode, checker) {
|
|
|
4265
4265
|
if (!typeNode || !ts3.isTypeReferenceNode(typeNode)) {
|
|
4266
4266
|
return void 0;
|
|
4267
4267
|
}
|
|
4268
|
-
return
|
|
4268
|
+
return getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
4269
4269
|
}
|
|
4270
4270
|
function shouldEmitPrimitiveAliasDefinition(typeNode, checker) {
|
|
4271
4271
|
if (!ts3.isTypeReferenceNode(typeNode)) {
|
|
4272
4272
|
return false;
|
|
4273
4273
|
}
|
|
4274
|
-
const aliasDecl =
|
|
4274
|
+
const aliasDecl = getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
4275
4275
|
if (!aliasDecl) {
|
|
4276
4276
|
return false;
|
|
4277
4277
|
}
|
|
4278
4278
|
const resolved = checker.getTypeFromTypeNode(aliasDecl.type);
|
|
4279
4279
|
return !!(resolved.flags & (ts3.TypeFlags.String | ts3.TypeFlags.Number | ts3.TypeFlags.BigInt | ts3.TypeFlags.BigIntLiteral | ts3.TypeFlags.Boolean | ts3.TypeFlags.Null));
|
|
4280
4280
|
}
|
|
4281
|
-
function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiting, metadataPolicy = createAnalyzerMetadataPolicy(void 0), extensionRegistry, diagnostics) {
|
|
4281
|
+
function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiting, metadataPolicy = createAnalyzerMetadataPolicy(void 0), extensionRegistry, diagnostics, visitedAliases = /* @__PURE__ */ new Set()) {
|
|
4282
4282
|
const nestedAliasDecl = type.aliasSymbol?.declarations?.find(ts3.isTypeAliasDeclaration);
|
|
4283
|
-
if (nestedAliasDecl !== void 0) {
|
|
4283
|
+
if (nestedAliasDecl !== void 0 && !visitedAliases.has(nestedAliasDecl)) {
|
|
4284
|
+
visitedAliases.add(nestedAliasDecl);
|
|
4284
4285
|
return resolveAliasedPrimitiveTarget(
|
|
4285
4286
|
checker.getTypeFromTypeNode(nestedAliasDecl.type),
|
|
4286
4287
|
checker,
|
|
@@ -4289,9 +4290,25 @@ function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiti
|
|
|
4289
4290
|
visiting,
|
|
4290
4291
|
metadataPolicy,
|
|
4291
4292
|
extensionRegistry,
|
|
4292
|
-
diagnostics
|
|
4293
|
+
diagnostics,
|
|
4294
|
+
visitedAliases
|
|
4293
4295
|
);
|
|
4294
4296
|
}
|
|
4297
|
+
if (type.flags & ts3.TypeFlags.String) {
|
|
4298
|
+
return { kind: "primitive", primitiveKind: "string" };
|
|
4299
|
+
}
|
|
4300
|
+
if (type.flags & ts3.TypeFlags.Number) {
|
|
4301
|
+
return { kind: "primitive", primitiveKind: "number" };
|
|
4302
|
+
}
|
|
4303
|
+
if (type.flags & (ts3.TypeFlags.BigInt | ts3.TypeFlags.BigIntLiteral)) {
|
|
4304
|
+
return { kind: "primitive", primitiveKind: "bigint" };
|
|
4305
|
+
}
|
|
4306
|
+
if (type.flags & ts3.TypeFlags.Boolean) {
|
|
4307
|
+
return { kind: "primitive", primitiveKind: "boolean" };
|
|
4308
|
+
}
|
|
4309
|
+
if (type.flags & ts3.TypeFlags.Null) {
|
|
4310
|
+
return { kind: "primitive", primitiveKind: "null" };
|
|
4311
|
+
}
|
|
4295
4312
|
return resolveTypeNode(
|
|
4296
4313
|
type,
|
|
4297
4314
|
checker,
|
|
@@ -4823,8 +4840,7 @@ function resolveAliasedTypeNode(typeNode, checker, visited = /* @__PURE__ */ new
|
|
|
4823
4840
|
if (!ts3.isTypeReferenceNode(typeNode) || !ts3.isIdentifier(typeNode.typeName)) {
|
|
4824
4841
|
return typeNode;
|
|
4825
4842
|
}
|
|
4826
|
-
const
|
|
4827
|
-
const aliasDecl = symbol?.declarations?.find(ts3.isTypeAliasDeclaration);
|
|
4843
|
+
const aliasDecl = getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
4828
4844
|
if (aliasDecl === void 0 || visited.has(aliasDecl)) {
|
|
4829
4845
|
return typeNode;
|
|
4830
4846
|
}
|
|
@@ -4873,8 +4889,7 @@ function extractTypeAliasConstraintNodes(typeNode, checker, file, extensionRegis
|
|
|
4873
4889
|
);
|
|
4874
4890
|
}
|
|
4875
4891
|
const symbol = checker.getSymbolAtLocation(typeNode.typeName);
|
|
4876
|
-
|
|
4877
|
-
const aliasDecl = symbol.declarations.find(ts3.isTypeAliasDeclaration);
|
|
4892
|
+
const aliasDecl = getAliasedTypeAliasDeclaration(symbol, checker);
|
|
4878
4893
|
if (!aliasDecl) return [];
|
|
4879
4894
|
if (ts3.isTypeLiteralNode(aliasDecl.type)) return [];
|
|
4880
4895
|
const aliasFieldType = resolveTypeNode(
|
|
@@ -4897,6 +4912,18 @@ function extractTypeAliasConstraintNodes(typeNode, checker, file, extensionRegis
|
|
|
4897
4912
|
);
|
|
4898
4913
|
return constraints;
|
|
4899
4914
|
}
|
|
4915
|
+
function getAliasedSymbol(symbol, checker) {
|
|
4916
|
+
if (symbol === void 0) {
|
|
4917
|
+
return void 0;
|
|
4918
|
+
}
|
|
4919
|
+
return symbol.flags & ts3.SymbolFlags.Alias ? checker.getAliasedSymbol(symbol) : symbol;
|
|
4920
|
+
}
|
|
4921
|
+
function getAliasedTypeAliasDeclaration(symbol, checker) {
|
|
4922
|
+
return getAliasedSymbol(symbol, checker)?.declarations?.find(ts3.isTypeAliasDeclaration);
|
|
4923
|
+
}
|
|
4924
|
+
function getTypeAliasDeclarationFromTypeReference(typeNode, checker) {
|
|
4925
|
+
return getAliasedTypeAliasDeclaration(checker.getSymbolAtLocation(typeNode.typeName), checker);
|
|
4926
|
+
}
|
|
4900
4927
|
function provenanceForNode(node, file) {
|
|
4901
4928
|
const sourceFile = node.getSourceFile();
|
|
4902
4929
|
const { line, character } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
|