@typespec/compiler 0.51.0-dev.8 → 0.51.0
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/manifest.js +2 -2
- package/dist/src/config/config-to-options.d.ts.map +1 -1
- package/dist/src/config/config-to-options.js +1 -0
- package/dist/src/config/config-to-options.js.map +1 -1
- package/dist/src/core/checker.d.ts.map +1 -1
- package/dist/src/core/checker.js +44 -1
- package/dist/src/core/checker.js.map +1 -1
- package/dist/src/core/helpers/index.d.ts +1 -0
- package/dist/src/core/helpers/index.d.ts.map +1 -1
- package/dist/src/core/helpers/index.js +1 -0
- package/dist/src/core/helpers/index.js.map +1 -1
- package/dist/src/core/helpers/string-template-utils.d.ts +11 -0
- package/dist/src/core/helpers/string-template-utils.d.ts.map +1 -0
- package/dist/src/core/helpers/string-template-utils.js +65 -0
- package/dist/src/core/helpers/string-template-utils.js.map +1 -0
- package/dist/src/core/helpers/type-name-utils.d.ts.map +1 -1
- package/dist/src/core/helpers/type-name-utils.js +2 -0
- package/dist/src/core/helpers/type-name-utils.js.map +1 -1
- package/dist/src/core/messages.d.ts +20 -2
- package/dist/src/core/messages.d.ts.map +1 -1
- package/dist/src/core/messages.js +6 -0
- package/dist/src/core/messages.js.map +1 -1
- package/dist/src/core/options.d.ts +1 -1
- package/dist/src/core/options.d.ts.map +1 -1
- package/dist/src/core/parser.d.ts.map +1 -1
- package/dist/src/core/parser.js +97 -1
- package/dist/src/core/parser.js.map +1 -1
- package/dist/src/core/program.d.ts.map +1 -1
- package/dist/src/core/program.js +8 -2
- package/dist/src/core/program.js.map +1 -1
- package/dist/src/core/scanner.d.ts +85 -66
- package/dist/src/core/scanner.d.ts.map +1 -1
- package/dist/src/core/scanner.js +229 -127
- package/dist/src/core/scanner.js.map +1 -1
- package/dist/src/core/schema-validator.d.ts.map +1 -1
- package/dist/src/core/schema-validator.js +42 -8
- package/dist/src/core/schema-validator.js.map +1 -1
- package/dist/src/core/semantic-walker.d.ts.map +1 -1
- package/dist/src/core/semantic-walker.js +22 -0
- package/dist/src/core/semantic-walker.js.map +1 -1
- package/dist/src/core/types.d.ts +99 -69
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/types.js +55 -50
- package/dist/src/core/types.js.map +1 -1
- package/dist/src/emitter-framework/asset-emitter.d.ts.map +1 -1
- package/dist/src/emitter-framework/asset-emitter.js +95 -66
- package/dist/src/emitter-framework/asset-emitter.js.map +1 -1
- package/dist/src/emitter-framework/type-emitter.d.ts +3 -1
- package/dist/src/emitter-framework/type-emitter.d.ts.map +1 -1
- package/dist/src/emitter-framework/type-emitter.js +6 -0
- package/dist/src/emitter-framework/type-emitter.js.map +1 -1
- package/dist/src/emitter-framework/types.d.ts +4 -1
- package/dist/src/emitter-framework/types.d.ts.map +1 -1
- package/dist/src/emitter-framework/types.js.map +1 -1
- package/dist/src/formatter/print/printer.d.ts +2 -1
- package/dist/src/formatter/print/printer.d.ts.map +1 -1
- package/dist/src/formatter/print/printer.js +17 -0
- package/dist/src/formatter/print/printer.js.map +1 -1
- package/dist/src/server/serverlib.d.ts.map +1 -1
- package/dist/src/server/serverlib.js +84 -6
- package/dist/src/server/serverlib.js.map +1 -1
- package/dist/src/server/tmlanguage.d.ts +1 -1
- package/dist/src/server/tmlanguage.d.ts.map +1 -1
- package/dist/src/server/tmlanguage.js +15 -2
- package/dist/src/server/tmlanguage.js.map +1 -1
- package/dist/src/server/type-signature.js +13 -0
- package/dist/src/server/type-signature.js.map +1 -1
- package/dist/src/yaml/types.d.ts +8 -0
- package/dist/src/yaml/types.d.ts.map +1 -1
- package/dist/typespec.tmLanguage +40 -0
- package/lib/reflection.tsp +1 -0
- package/package.json +4 -5
package/dist/manifest.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-to-options.d.ts","sourceRoot":"","sources":["../../../src/config/config-to-options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI5D,OAAO,EAAkB,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,WAAW,6BAA8B,SAAQ,sBAAsB;IAC3E,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IAEnB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAEzC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,CAAC,eAAe,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC,CAsBnD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"config-to-options.d.ts","sourceRoot":"","sources":["../../../src/config/config-to-options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI5D,OAAO,EAAkB,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,WAAW,6BAA8B,SAAQ,sBAAsB;IAC3E,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IAEnB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAEzC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,CAAC,eAAe,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC,CAsBnD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,gEA+B/F"}
|
|
@@ -42,6 +42,7 @@ export function resolveOptionsFromConfig(config, options) {
|
|
|
42
42
|
const resolvedOptions = omitUndefined({
|
|
43
43
|
outputDir: expandedConfig.outputDir,
|
|
44
44
|
config: config.filename,
|
|
45
|
+
configFile: config,
|
|
45
46
|
additionalImports: expandedConfig["imports"],
|
|
46
47
|
warningAsError: expandedConfig.warnAsError,
|
|
47
48
|
trace: expandedConfig.trace,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-to-options.js","sourceRoot":"","sources":["../../../src/config/config-to-options.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config-to-options.js","sourceRoot":"","sources":["../../../src/config/config-to-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core/checker.js
CHANGED
|
@@ -9,7 +9,8 @@ import { createSymbol, createSymbolTable } from "./binder.js";
|
|
|
9
9
|
import { getDeprecationDetails, markDeprecated } from "./deprecation.js";
|
|
10
10
|
import { ProjectionError, compilerAssert, reportDeprecated } from "./diagnostics.js";
|
|
11
11
|
import { validateInheritanceDiscriminatedUnions } from "./helpers/discriminator-utils.js";
|
|
12
|
-
import { getNamespaceFullName, getTypeName } from "./helpers/index.js";
|
|
12
|
+
import { getNamespaceFullName, getTypeName, stringTemplateToString, } from "./helpers/index.js";
|
|
13
|
+
import { isStringTemplateSerializable } from "./helpers/string-template-utils.js";
|
|
13
14
|
import { createDiagnostic } from "./messages.js";
|
|
14
15
|
import { getIdentifierContext, hasParseError, visitChildren } from "./parser.js";
|
|
15
16
|
import { createProjectionMembers } from "./projection-members.js";
|
|
@@ -357,6 +358,8 @@ export function createChecker(program) {
|
|
|
357
358
|
return checkTupleExpression(node, mapper);
|
|
358
359
|
case SyntaxKind.StringLiteral:
|
|
359
360
|
return checkStringLiteral(node);
|
|
361
|
+
case SyntaxKind.StringTemplateExpression:
|
|
362
|
+
return checkStringTemplateExpresion(node, mapper);
|
|
360
363
|
case SyntaxKind.ArrayExpression:
|
|
361
364
|
return checkArrayExpression(node, mapper);
|
|
362
365
|
case SyntaxKind.UnionExpression:
|
|
@@ -1717,6 +1720,35 @@ export function createChecker(program) {
|
|
|
1717
1720
|
return (_a = getMergedSymbol(aliasType.node.symbol)) !== null && _a !== void 0 ? _a : aliasSymbol;
|
|
1718
1721
|
}
|
|
1719
1722
|
}
|
|
1723
|
+
function checkStringTemplateExpresion(node, mapper) {
|
|
1724
|
+
const spans = [createTemplateSpanLiteral(node.head)];
|
|
1725
|
+
for (const span of node.spans) {
|
|
1726
|
+
spans.push(createTemplateSpanValue(span.expression, mapper));
|
|
1727
|
+
spans.push(createTemplateSpanLiteral(span.literal));
|
|
1728
|
+
}
|
|
1729
|
+
const type = createType({
|
|
1730
|
+
kind: "StringTemplate",
|
|
1731
|
+
node,
|
|
1732
|
+
spans,
|
|
1733
|
+
});
|
|
1734
|
+
return type;
|
|
1735
|
+
}
|
|
1736
|
+
function createTemplateSpanLiteral(node) {
|
|
1737
|
+
return createType({
|
|
1738
|
+
kind: "StringTemplateSpan",
|
|
1739
|
+
node: node,
|
|
1740
|
+
isInterpolated: false,
|
|
1741
|
+
type: getLiteralType(node),
|
|
1742
|
+
});
|
|
1743
|
+
}
|
|
1744
|
+
function createTemplateSpanValue(node, mapper) {
|
|
1745
|
+
return createType({
|
|
1746
|
+
kind: "StringTemplateSpan",
|
|
1747
|
+
node: node,
|
|
1748
|
+
isInterpolated: true,
|
|
1749
|
+
type: getTypeForNode(node, mapper),
|
|
1750
|
+
});
|
|
1751
|
+
}
|
|
1720
1752
|
function checkStringLiteral(str) {
|
|
1721
1753
|
return getLiteralType(str);
|
|
1722
1754
|
}
|
|
@@ -2413,6 +2445,10 @@ export function createChecker(program) {
|
|
|
2413
2445
|
if (type === nullType) {
|
|
2414
2446
|
return true;
|
|
2415
2447
|
}
|
|
2448
|
+
if (type.kind === "StringTemplate") {
|
|
2449
|
+
const [valid] = isStringTemplateSerializable(type);
|
|
2450
|
+
return valid;
|
|
2451
|
+
}
|
|
2416
2452
|
const valueTypes = new Set(["String", "Number", "Boolean", "EnumMember", "Tuple"]);
|
|
2417
2453
|
return valueTypes.has(type.kind);
|
|
2418
2454
|
}
|
|
@@ -2561,6 +2597,9 @@ export function createChecker(program) {
|
|
|
2561
2597
|
if (value.kind === "Boolean" || value.kind === "String" || value.kind === "Number") {
|
|
2562
2598
|
return literalTypeToValue(value);
|
|
2563
2599
|
}
|
|
2600
|
+
else if (value.kind === "StringTemplate") {
|
|
2601
|
+
return stringTemplateToString(value)[0];
|
|
2602
|
+
}
|
|
2564
2603
|
}
|
|
2565
2604
|
return value;
|
|
2566
2605
|
}
|
|
@@ -4034,6 +4073,7 @@ export function createChecker(program) {
|
|
|
4034
4073
|
case "Number":
|
|
4035
4074
|
return isNumericLiteralRelatedTo(source, target);
|
|
4036
4075
|
case "String":
|
|
4076
|
+
case "StringTemplate":
|
|
4037
4077
|
return areScalarsRelated(target, getStdType("string"));
|
|
4038
4078
|
case "Boolean":
|
|
4039
4079
|
return areScalarsRelated(target, getStdType("boolean"));
|
|
@@ -4652,6 +4692,9 @@ function marshalArgumentsForJS(args) {
|
|
|
4652
4692
|
if (arg.kind === "Boolean" || arg.kind === "String" || arg.kind === "Number") {
|
|
4653
4693
|
return literalTypeToValue(arg);
|
|
4654
4694
|
}
|
|
4695
|
+
else if (arg.kind === "StringTemplate") {
|
|
4696
|
+
return stringTemplateToString(arg)[0];
|
|
4697
|
+
}
|
|
4655
4698
|
return arg;
|
|
4656
4699
|
});
|
|
4657
4700
|
}
|