@typespec/compiler 0.43.0-dev.5 → 0.43.0-dev.7
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/core/checker.d.ts.map +1 -1
- package/dist/core/checker.js +28 -20
- package/dist/core/checker.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/projection-members.d.ts.map +1 -1
- package/dist/core/projection-members.js +12 -19
- package/dist/core/projection-members.js.map +1 -1
- package/dist/core/projector.js +12 -12
- package/dist/core/projector.js.map +1 -1
- package/dist/core/types.d.ts +92 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/util.d.ts +2 -1
- package/dist/core/util.d.ts.map +1 -1
- package/dist/core/util.js +87 -9
- package/dist/core/util.js.map +1 -1
- package/dist/manifest.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../core/checker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../core/checker.ts"],"names":[],"mappings":"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"}
|
package/dist/core/checker.js
CHANGED
|
@@ -8,7 +8,7 @@ import { getIdentifierContext, hasParseError, visitChildren } from "./parser.js"
|
|
|
8
8
|
import { createProjectionMembers } from "./projection-members.js";
|
|
9
9
|
import { getParentTemplateNode, isNeverType, isTemplateInstance, isUnknownType, isVoidType, } from "./type-utils.js";
|
|
10
10
|
import { IdentifierKind, SyntaxKind, } from "./types.js";
|
|
11
|
-
import { isArray, MultiKeyMap, mutate } from "./util.js";
|
|
11
|
+
import { createRekeyableMap, isArray, MultiKeyMap, mutate } from "./util.js";
|
|
12
12
|
/**
|
|
13
13
|
* Maps type arguments to type instantiation.
|
|
14
14
|
*/
|
|
@@ -754,7 +754,7 @@ export function createChecker(program) {
|
|
|
754
754
|
return Array.from(this.variants.values()).map((v) => v.type);
|
|
755
755
|
},
|
|
756
756
|
expression: true,
|
|
757
|
-
variants:
|
|
757
|
+
variants: createRekeyableMap(),
|
|
758
758
|
decorators: [],
|
|
759
759
|
});
|
|
760
760
|
for (const o of node.options) {
|
|
@@ -873,7 +873,7 @@ export function createChecker(program) {
|
|
|
873
873
|
return parameterType;
|
|
874
874
|
}
|
|
875
875
|
function mergeModelTypes(node, options, mapper) {
|
|
876
|
-
const properties =
|
|
876
|
+
const properties = createRekeyableMap();
|
|
877
877
|
const intersection = createType({
|
|
878
878
|
kind: "Model",
|
|
879
879
|
node,
|
|
@@ -1278,14 +1278,16 @@ export function createChecker(program) {
|
|
|
1278
1278
|
if (base.flags & 2048 /* SymbolFlags.Alias */) {
|
|
1279
1279
|
base = getAliasedSymbol(base, undefined);
|
|
1280
1280
|
}
|
|
1281
|
-
if (
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1281
|
+
if (base) {
|
|
1282
|
+
if (isTemplatedNode(base.declarations[0])) {
|
|
1283
|
+
const type = (_a = base.type) !== null && _a !== void 0 ? _a : getTypeForNode(base.declarations[0], undefined);
|
|
1284
|
+
if (isTemplateInstance(type)) {
|
|
1285
|
+
lateBindMemberContainer(type);
|
|
1286
|
+
lateBindMembers(type, base);
|
|
1287
|
+
}
|
|
1286
1288
|
}
|
|
1289
|
+
addCompletions((_b = base.exports) !== null && _b !== void 0 ? _b : base.members);
|
|
1287
1290
|
}
|
|
1288
|
-
addCompletions((_b = base.exports) !== null && _b !== void 0 ? _b : base.members);
|
|
1289
1291
|
}
|
|
1290
1292
|
}
|
|
1291
1293
|
else {
|
|
@@ -1441,6 +1443,9 @@ export function createChecker(program) {
|
|
|
1441
1443
|
// when resolving a type reference based on an alias, unwrap the alias.
|
|
1442
1444
|
if (base.flags & 2048 /* SymbolFlags.Alias */) {
|
|
1443
1445
|
base = getAliasedSymbol(base, mapper);
|
|
1446
|
+
if (!base) {
|
|
1447
|
+
return undefined;
|
|
1448
|
+
}
|
|
1444
1449
|
}
|
|
1445
1450
|
if (base.flags & 4096 /* SymbolFlags.Namespace */) {
|
|
1446
1451
|
const symbol = resolveIdentifierInTable(node.id, base.exports, resolveDecorator);
|
|
@@ -1544,6 +1549,9 @@ export function createChecker(program) {
|
|
|
1544
1549
|
function getAliasedSymbol(aliasSymbol, mapper) {
|
|
1545
1550
|
var _a;
|
|
1546
1551
|
const aliasType = checkAlias(aliasSymbol.declarations[0], mapper);
|
|
1552
|
+
if (isErrorType(aliasType)) {
|
|
1553
|
+
return undefined;
|
|
1554
|
+
}
|
|
1547
1555
|
switch (aliasType.kind) {
|
|
1548
1556
|
case "Model":
|
|
1549
1557
|
case "Interface":
|
|
@@ -1637,7 +1645,7 @@ export function createChecker(program) {
|
|
|
1637
1645
|
kind: "Model",
|
|
1638
1646
|
name: node.id.sv,
|
|
1639
1647
|
node: node,
|
|
1640
|
-
properties:
|
|
1648
|
+
properties: createRekeyableMap(),
|
|
1641
1649
|
namespace: getParentNamespaceType(node),
|
|
1642
1650
|
decorators,
|
|
1643
1651
|
derivedModels: [],
|
|
@@ -1717,7 +1725,7 @@ export function createChecker(program) {
|
|
|
1717
1725
|
return mapper.args.every((t) => t.kind !== "TemplateParameter");
|
|
1718
1726
|
}
|
|
1719
1727
|
function checkModelExpression(node, mapper) {
|
|
1720
|
-
const properties =
|
|
1728
|
+
const properties = createRekeyableMap();
|
|
1721
1729
|
const type = createType({
|
|
1722
1730
|
kind: "Model",
|
|
1723
1731
|
name: "",
|
|
@@ -2377,7 +2385,7 @@ export function createChecker(program) {
|
|
|
2377
2385
|
kind: "Enum",
|
|
2378
2386
|
name: node.id.sv,
|
|
2379
2387
|
node,
|
|
2380
|
-
members:
|
|
2388
|
+
members: createRekeyableMap(),
|
|
2381
2389
|
decorators: [],
|
|
2382
2390
|
}));
|
|
2383
2391
|
const memberNames = new Set();
|
|
@@ -2423,7 +2431,7 @@ export function createChecker(program) {
|
|
|
2423
2431
|
decorators: [],
|
|
2424
2432
|
node,
|
|
2425
2433
|
namespace: getParentNamespaceType(node),
|
|
2426
|
-
operations:
|
|
2434
|
+
operations: createRekeyableMap(),
|
|
2427
2435
|
name: node.id.sv,
|
|
2428
2436
|
});
|
|
2429
2437
|
interfaceType.decorators = checkDecorators(interfaceType, node, mapper);
|
|
@@ -2487,7 +2495,7 @@ export function createChecker(program) {
|
|
|
2487
2495
|
// we're not instantiating this union and we've already checked it
|
|
2488
2496
|
return links.declaredType;
|
|
2489
2497
|
}
|
|
2490
|
-
const variants =
|
|
2498
|
+
const variants = createRekeyableMap();
|
|
2491
2499
|
const unionType = createType({
|
|
2492
2500
|
kind: "Union",
|
|
2493
2501
|
decorators: [],
|
|
@@ -2793,7 +2801,7 @@ export function createChecker(program) {
|
|
|
2793
2801
|
...additionalProps,
|
|
2794
2802
|
});
|
|
2795
2803
|
if (!("properties" in additionalProps)) {
|
|
2796
|
-
newModel.properties =
|
|
2804
|
+
newModel.properties = createRekeyableMap(Array.from(type.properties.entries()).map(([key, prop]) => [
|
|
2797
2805
|
key,
|
|
2798
2806
|
cloneType(prop, { model: newModel }),
|
|
2799
2807
|
]));
|
|
@@ -2811,7 +2819,7 @@ export function createChecker(program) {
|
|
|
2811
2819
|
...additionalProps,
|
|
2812
2820
|
});
|
|
2813
2821
|
if (!("variants" in additionalProps)) {
|
|
2814
|
-
newUnion.variants =
|
|
2822
|
+
newUnion.variants = createRekeyableMap(Array.from(type.variants.entries()).map(([key, prop]) => [
|
|
2815
2823
|
key,
|
|
2816
2824
|
cloneType(prop, { union: newUnion }),
|
|
2817
2825
|
]));
|
|
@@ -2826,7 +2834,7 @@ export function createChecker(program) {
|
|
|
2826
2834
|
...additionalProps,
|
|
2827
2835
|
});
|
|
2828
2836
|
if (!("operations" in additionalProps)) {
|
|
2829
|
-
newInterface.operations =
|
|
2837
|
+
newInterface.operations = createRekeyableMap(Array.from(type.operations.entries()).map(([key, prop]) => [
|
|
2830
2838
|
key,
|
|
2831
2839
|
cloneType(prop, { interface: newInterface }),
|
|
2832
2840
|
]));
|
|
@@ -2841,7 +2849,7 @@ export function createChecker(program) {
|
|
|
2841
2849
|
...additionalProps,
|
|
2842
2850
|
});
|
|
2843
2851
|
if (!("members" in additionalProps)) {
|
|
2844
|
-
newEnum.members =
|
|
2852
|
+
newEnum.members = createRekeyableMap(Array.from(type.members.entries()).map(([key, prop]) => [
|
|
2845
2853
|
key,
|
|
2846
2854
|
cloneType(prop, { enum: newEnum }),
|
|
2847
2855
|
]));
|
|
@@ -2982,7 +2990,7 @@ export function createChecker(program) {
|
|
|
2982
2990
|
name: "",
|
|
2983
2991
|
node: node,
|
|
2984
2992
|
decorators: [],
|
|
2985
|
-
properties:
|
|
2993
|
+
properties: createRekeyableMap(),
|
|
2986
2994
|
derivedModels: [],
|
|
2987
2995
|
});
|
|
2988
2996
|
for (const propNode of node.properties) {
|
|
@@ -3901,7 +3909,7 @@ export function filterModelProperties(program, model, filter) {
|
|
|
3901
3909
|
if (!filtered) {
|
|
3902
3910
|
return model;
|
|
3903
3911
|
}
|
|
3904
|
-
const properties =
|
|
3912
|
+
const properties = createRekeyableMap();
|
|
3905
3913
|
const newModel = program.checker.createType({
|
|
3906
3914
|
kind: "Model",
|
|
3907
3915
|
node: undefined,
|