@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.cjs
CHANGED
|
@@ -3986,7 +3986,7 @@ function resolveRegisteredCustomTypeFromTypeNode(typeNode, extensionRegistry, ch
|
|
|
3986
3986
|
};
|
|
3987
3987
|
}
|
|
3988
3988
|
if (ts3.isTypeReferenceNode(typeNode) && ts3.isIdentifier(typeNode.typeName)) {
|
|
3989
|
-
const aliasDecl =
|
|
3989
|
+
const aliasDecl = getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
3990
3990
|
if (aliasDecl !== void 0) {
|
|
3991
3991
|
return resolveRegisteredCustomTypeFromTypeNode(aliasDecl.type, extensionRegistry, checker);
|
|
3992
3992
|
}
|
|
@@ -4179,22 +4179,23 @@ function getReferencedTypeAliasDeclaration(sourceNode, checker) {
|
|
|
4179
4179
|
if (!typeNode || !ts3.isTypeReferenceNode(typeNode)) {
|
|
4180
4180
|
return void 0;
|
|
4181
4181
|
}
|
|
4182
|
-
return
|
|
4182
|
+
return getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
4183
4183
|
}
|
|
4184
4184
|
function shouldEmitPrimitiveAliasDefinition(typeNode, checker) {
|
|
4185
4185
|
if (!ts3.isTypeReferenceNode(typeNode)) {
|
|
4186
4186
|
return false;
|
|
4187
4187
|
}
|
|
4188
|
-
const aliasDecl =
|
|
4188
|
+
const aliasDecl = getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
4189
4189
|
if (!aliasDecl) {
|
|
4190
4190
|
return false;
|
|
4191
4191
|
}
|
|
4192
4192
|
const resolved = checker.getTypeFromTypeNode(aliasDecl.type);
|
|
4193
4193
|
return !!(resolved.flags & (ts3.TypeFlags.String | ts3.TypeFlags.Number | ts3.TypeFlags.BigInt | ts3.TypeFlags.BigIntLiteral | ts3.TypeFlags.Boolean | ts3.TypeFlags.Null));
|
|
4194
4194
|
}
|
|
4195
|
-
function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiting, metadataPolicy = createAnalyzerMetadataPolicy(void 0), extensionRegistry, diagnostics) {
|
|
4195
|
+
function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiting, metadataPolicy = createAnalyzerMetadataPolicy(void 0), extensionRegistry, diagnostics, visitedAliases = /* @__PURE__ */ new Set()) {
|
|
4196
4196
|
const nestedAliasDecl = type.aliasSymbol?.declarations?.find(ts3.isTypeAliasDeclaration);
|
|
4197
|
-
if (nestedAliasDecl !== void 0) {
|
|
4197
|
+
if (nestedAliasDecl !== void 0 && !visitedAliases.has(nestedAliasDecl)) {
|
|
4198
|
+
visitedAliases.add(nestedAliasDecl);
|
|
4198
4199
|
return resolveAliasedPrimitiveTarget(
|
|
4199
4200
|
checker.getTypeFromTypeNode(nestedAliasDecl.type),
|
|
4200
4201
|
checker,
|
|
@@ -4203,9 +4204,25 @@ function resolveAliasedPrimitiveTarget(type, checker, file, typeRegistry, visiti
|
|
|
4203
4204
|
visiting,
|
|
4204
4205
|
metadataPolicy,
|
|
4205
4206
|
extensionRegistry,
|
|
4206
|
-
diagnostics
|
|
4207
|
+
diagnostics,
|
|
4208
|
+
visitedAliases
|
|
4207
4209
|
);
|
|
4208
4210
|
}
|
|
4211
|
+
if (type.flags & ts3.TypeFlags.String) {
|
|
4212
|
+
return { kind: "primitive", primitiveKind: "string" };
|
|
4213
|
+
}
|
|
4214
|
+
if (type.flags & ts3.TypeFlags.Number) {
|
|
4215
|
+
return { kind: "primitive", primitiveKind: "number" };
|
|
4216
|
+
}
|
|
4217
|
+
if (type.flags & (ts3.TypeFlags.BigInt | ts3.TypeFlags.BigIntLiteral)) {
|
|
4218
|
+
return { kind: "primitive", primitiveKind: "bigint" };
|
|
4219
|
+
}
|
|
4220
|
+
if (type.flags & ts3.TypeFlags.Boolean) {
|
|
4221
|
+
return { kind: "primitive", primitiveKind: "boolean" };
|
|
4222
|
+
}
|
|
4223
|
+
if (type.flags & ts3.TypeFlags.Null) {
|
|
4224
|
+
return { kind: "primitive", primitiveKind: "null" };
|
|
4225
|
+
}
|
|
4209
4226
|
return resolveTypeNode(
|
|
4210
4227
|
type,
|
|
4211
4228
|
checker,
|
|
@@ -4737,8 +4754,7 @@ function resolveAliasedTypeNode(typeNode, checker, visited = /* @__PURE__ */ new
|
|
|
4737
4754
|
if (!ts3.isTypeReferenceNode(typeNode) || !ts3.isIdentifier(typeNode.typeName)) {
|
|
4738
4755
|
return typeNode;
|
|
4739
4756
|
}
|
|
4740
|
-
const
|
|
4741
|
-
const aliasDecl = symbol?.declarations?.find(ts3.isTypeAliasDeclaration);
|
|
4757
|
+
const aliasDecl = getTypeAliasDeclarationFromTypeReference(typeNode, checker);
|
|
4742
4758
|
if (aliasDecl === void 0 || visited.has(aliasDecl)) {
|
|
4743
4759
|
return typeNode;
|
|
4744
4760
|
}
|
|
@@ -4788,8 +4804,7 @@ function extractTypeAliasConstraintNodes(typeNode, checker, file, extensionRegis
|
|
|
4788
4804
|
);
|
|
4789
4805
|
}
|
|
4790
4806
|
const symbol = checker.getSymbolAtLocation(typeNode.typeName);
|
|
4791
|
-
|
|
4792
|
-
const aliasDecl = symbol.declarations.find(ts3.isTypeAliasDeclaration);
|
|
4807
|
+
const aliasDecl = getAliasedTypeAliasDeclaration(symbol, checker);
|
|
4793
4808
|
if (!aliasDecl) return [];
|
|
4794
4809
|
if (ts3.isTypeLiteralNode(aliasDecl.type)) return [];
|
|
4795
4810
|
const aliasFieldType = resolveTypeNode(
|
|
@@ -4812,6 +4827,18 @@ function extractTypeAliasConstraintNodes(typeNode, checker, file, extensionRegis
|
|
|
4812
4827
|
);
|
|
4813
4828
|
return constraints;
|
|
4814
4829
|
}
|
|
4830
|
+
function getAliasedSymbol(symbol, checker) {
|
|
4831
|
+
if (symbol === void 0) {
|
|
4832
|
+
return void 0;
|
|
4833
|
+
}
|
|
4834
|
+
return symbol.flags & ts3.SymbolFlags.Alias ? checker.getAliasedSymbol(symbol) : symbol;
|
|
4835
|
+
}
|
|
4836
|
+
function getAliasedTypeAliasDeclaration(symbol, checker) {
|
|
4837
|
+
return getAliasedSymbol(symbol, checker)?.declarations?.find(ts3.isTypeAliasDeclaration);
|
|
4838
|
+
}
|
|
4839
|
+
function getTypeAliasDeclarationFromTypeReference(typeNode, checker) {
|
|
4840
|
+
return getAliasedTypeAliasDeclaration(checker.getSymbolAtLocation(typeNode.typeName), checker);
|
|
4841
|
+
}
|
|
4815
4842
|
function provenanceForNode(node, file) {
|
|
4816
4843
|
const sourceFile = node.getSourceFile();
|
|
4817
4844
|
const { line, character } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
|