@typespec/compiler 0.44.0-dev.1 → 0.44.0-dev.11
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/cmd/runner.js.map +1 -1
- package/dist/core/checker.d.ts.map +1 -1
- package/dist/core/checker.js +28 -19
- 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/messages.d.ts +2 -20
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js +0 -6
- package/dist/core/messages.js.map +1 -1
- package/dist/core/node-host.js.map +1 -1
- package/dist/core/parser.d.ts.map +1 -1
- package/dist/core/parser.js +1 -7
- package/dist/core/parser.js.map +1 -1
- package/dist/core/program.d.ts.map +1 -1
- package/dist/core/program.js +10 -8
- package/dist/core/program.js.map +1 -1
- package/dist/core/projection-members.js +1 -1
- package/dist/core/projection-members.js.map +1 -1
- package/dist/core/projector.d.ts.map +1 -1
- package/dist/core/projector.js +6 -0
- package/dist/core/projector.js.map +1 -1
- package/dist/core/scanner.d.ts.map +1 -1
- package/dist/core/scanner.js.map +1 -1
- package/dist/core/types.d.ts +9 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/emitter-framework/asset-emitter.js.map +1 -1
- package/dist/manifest.js +1 -1
- package/dist/server/serverlib.d.ts +1 -1
- package/dist/server/serverlib.d.ts.map +1 -1
- package/dist/server/serverlib.js +2 -2
- package/dist/server/serverlib.js.map +1 -1
- package/dist/testing/expect.d.ts.map +1 -1
- package/dist/testing/expect.js +1 -1
- package/dist/testing/expect.js.map +1 -1
- package/dist/testing/test-host.js.map +1 -1
- package/dist/testing/test-server-host.d.ts.map +1 -1
- package/dist/testing/test-server-host.js +1 -1
- package/dist/testing/test-server-host.js.map +1 -1
- package/lib/decorators.tsp +7 -7
- package/lib/lib.tsp +1 -1
- package/lib/reflection.tsp +4 -2
- package/package.json +17 -18
package/dist/cmd/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../cmd/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../cmd/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,EAAqB,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,YAAoB,EAAE,UAAkB;IACtE,MAAM,WAAW,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAE/C,IAAI,WAAW,EAAE;QACf,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,UAAU,EAAE;YAClD,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;SACxC;QACD,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnD,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;KACzB;SAAM;QACL,MAAM,IAAI,KAAK,CACb,6HAA6H,CAC9H,CAAC;KACH;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,MAAM,CAAC,IAAI,CAAC;SAChB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,GAAG,EAAE;QACtD,OAAO,MAAM,kBAAkB,EAAE,CAAC;KACnC;IAED,IAAI;QACF,MAAM,IAAI,GAAsB;YAC9B,QAAQ;YACR,QAAQ,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;YAC/D,IAAI;SACL,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,oBAAoB,EAAE;YAC/D,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;SACvB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC9B,MAAM,IAAI,KAAK,CACb,2FAA2F,QAAQ,CAAC,IAAI,IAAI,CAC7G,CAAC;SACH;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;KACtB;IAAC,OAAO,GAAQ,EAAE;QACjB,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE;YACnC,mDAAmD;YACnD,OAAO,MAAM,kBAAkB,EAAE,CAAC;SACnC;aAAM;YACL,MAAM,GAAG,CAAC;SACX;KACF;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,OAAO,OAAO,CAAC,MAAM,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../core/checker.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../core/checker.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAqC,MAAM,oBAAoB,CAAC;AAGxF,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AASzD,OAAO,EAIL,cAAc,EACd,kBAAkB,EAQlB,UAAU,EACV,gBAAgB,EAKhB,SAAS,EAKT,YAAY,EAEZ,cAAc,EAId,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,WAAW,EAOX,KAAK,EAGL,aAAa,EAKb,SAAS,EACT,sBAAsB,EACtB,SAAS,EACT,IAAI,EAEJ,cAAc,EACd,kBAAkB,EAiBlB,cAAc,EAGd,uBAAuB,EAIvB,MAAM,EAEN,aAAa,EACb,iBAAiB,EACjB,GAAG,EAYH,IAAI,EAEJ,UAAU,EAEV,iBAAiB,EACjB,kBAAkB,EAMlB,WAAW,EACX,QAAQ,EACT,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,OAAO;IACtB,aAAa,EAAE,aAAa,CAAC;IAE7B,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IACjC,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjD,YAAY,IAAI,IAAI,CAAC;IACrB,eAAe,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAChD,sBAAsB,IAAI,SAAS,CAAC;IACpC,sBAAsB,IAAI,sBAAsB,CAAC;IACjD,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC;IACvD,eAAe,CAAC,IAAI,EAAE,kBAAkB,GAAG,gBAAgB,GAAG,IAAI,CAAC;IACnE,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAAC;IACvD,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CAAC;IACzD,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CAAC;IACzD,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAAC;IAE/C;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC;IAE3D;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC;IACnF,SAAS,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,CAAC,CAAC;IACnF,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACvE,OAAO,CACL,MAAM,EAAE,IAAI,EACZ,UAAU,EAAE,cAAc,EAC1B,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,GAC1C,IAAI,CAAC;IACR,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,GAAG,GAAG,SAAS,CAAC;IACzD,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAC9E,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC;IAC7C,mBAAmB,CAAC,CAAC,SAAS,IAAI,SAAS,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,aAAa,CAAC,GAAG,KAAK,EACtF,OAAO,EAAE,CAAC,GACT,CAAC,GAAG,aAAa,CAAC;IACrB,UAAU,CAAC,CAAC,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1C,kBAAkB,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG,YAAY,CAAC;IAChE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,aAAa,CAAC;IAC1E,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAAC;IAC5E,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAAC;IAC7E,iBAAiB,CACf,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAChC,IAAI,CAAC,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,kBAAkB,GACjE,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC;IACnD,iBAAiB,CACf,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAChC,IAAI,CAAC,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,kBAAkB,GACjE,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC;IAEnD;;;;;;OAMG;IACH,kBAAkB,CAChB,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,EACZ,gBAAgB,EAAE,gBAAgB,GACjC,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAE3B;;;;OAIG;IACH,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI,IAAI,MAAM,GAAG;QAAE,IAAI,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAClD,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,IAAI,IAAI,GAAG;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;IAEnF;;;OAGG;IACH,UAAU,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE3D;;;;OAIG;IACH,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,CAAC,IAAI,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;IAEzF,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,UAAU,aAAa;IACrB,WAAW,EAAE,uBAAuB,EAAE,CAAC;IACvC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAAC;CAC5D;AAED,6CAA6C;AAC7C,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAExD,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,GAAG,CAAC;IAET;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD,KAAK,WAAW,GAAG,mBAAmB,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACvE,KAAK,QAAQ,GAAG;IAEd,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,KAAK,CAAC;CACf,GAAG,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAKxC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAkmJvD;AAqFD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,OAAO,GAC5C,KAAK,CAyEP;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,GAAG,gBAAgB,EACnC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,OAAO,GAC3C,KAAK,CAmCP;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS,CAcxF;AAED;;;;;;;GAOG;AACH,wBAAiB,uBAAuB,CAAC,KAAK,EAAE,KAAK,2CAapD;AAYD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,IAAI,EACjD,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,EACV,MAAM,CAAC,EAAE,UAAU,GAClB,CAAC,CAEH"}
|
package/dist/core/checker.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getDeprecated, getIndexer } from "../lib/decorators.js";
|
|
2
2
|
import { createSymbol, createSymbolTable } from "./binder.js";
|
|
3
|
-
import {
|
|
3
|
+
import { ProjectionError, compilerAssert } from "./diagnostics.js";
|
|
4
4
|
import { validateInheritanceDiscriminatedUnions } from "./helpers/discriminator-utils.js";
|
|
5
5
|
import { getNamespaceFullName, getTypeName } from "./helpers/index.js";
|
|
6
6
|
import { createDiagnostic } from "./messages.js";
|
|
@@ -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 { createRekeyableMap, isArray,
|
|
11
|
+
import { MultiKeyMap, createRekeyableMap, isArray, mutate } from "./util.js";
|
|
12
12
|
/**
|
|
13
13
|
* Maps type arguments to type instantiation.
|
|
14
14
|
*/
|
|
@@ -690,7 +690,12 @@ export function createChecker(program) {
|
|
|
690
690
|
compilerAssert(sym.type, "Expected late bound symbol to have type");
|
|
691
691
|
return sym.type;
|
|
692
692
|
}
|
|
693
|
-
|
|
693
|
+
if (sym.flags & 1348 /* SymbolFlags.Member */) {
|
|
694
|
+
return checkMemberSym(sym, mapper);
|
|
695
|
+
}
|
|
696
|
+
else {
|
|
697
|
+
return checkDeclaredType(sym, decl, mapper);
|
|
698
|
+
}
|
|
694
699
|
}
|
|
695
700
|
/**
|
|
696
701
|
* Check the declared type of a templatable node.
|
|
@@ -728,12 +733,13 @@ export function createChecker(program) {
|
|
|
728
733
|
compilerAssert(false, `Unexpected checker error. symbolLinks.instantiations was not defined for ${SyntaxKind[templateNode.kind]}`);
|
|
729
734
|
}
|
|
730
735
|
}
|
|
731
|
-
const
|
|
736
|
+
const mapper = createTypeMapper(params, args, parentMapper);
|
|
737
|
+
const cached = (_a = symbolLinks.instantiations) === null || _a === void 0 ? void 0 : _a.get(mapper.args);
|
|
732
738
|
if (cached) {
|
|
733
739
|
return cached;
|
|
734
740
|
}
|
|
735
741
|
if (instantiateTempalates) {
|
|
736
|
-
return instantiateTemplate(symbolLinks.instantiations, templateNode, params,
|
|
742
|
+
return instantiateTemplate(symbolLinks.instantiations, templateNode, params, mapper);
|
|
737
743
|
}
|
|
738
744
|
else {
|
|
739
745
|
return errorType;
|
|
@@ -748,11 +754,10 @@ export function createChecker(program) {
|
|
|
748
754
|
* twice at the same time, or if template parameters from more than one template
|
|
749
755
|
* are ever in scope at once.
|
|
750
756
|
*/
|
|
751
|
-
function instantiateTemplate(instantiations, templateNode, params,
|
|
752
|
-
const mapper = createTypeMapper(params, args, parentMapper);
|
|
757
|
+
function instantiateTemplate(instantiations, templateNode, params, mapper) {
|
|
753
758
|
const type = getTypeForNode(templateNode, mapper);
|
|
754
|
-
if (!instantiations.get(args)) {
|
|
755
|
-
instantiations.set(args, type);
|
|
759
|
+
if (!instantiations.get(mapper.args)) {
|
|
760
|
+
instantiations.set(mapper.args, type);
|
|
756
761
|
}
|
|
757
762
|
if (type.kind === "Model") {
|
|
758
763
|
type.templateNode = templateNode;
|
|
@@ -1072,13 +1077,14 @@ export function createChecker(program) {
|
|
|
1072
1077
|
const name = node.id.sv;
|
|
1073
1078
|
let decorators = [];
|
|
1074
1079
|
// Is this a definition or reference?
|
|
1075
|
-
let parameters, returnType;
|
|
1080
|
+
let parameters, returnType, sourceOperation;
|
|
1076
1081
|
if (node.signature.kind === SyntaxKind.OperationSignatureReference) {
|
|
1077
1082
|
// Attempt to resolve the operation
|
|
1078
1083
|
const baseOperation = checkOperationIs(node, node.signature.baseOperation, mapper);
|
|
1079
1084
|
if (!baseOperation) {
|
|
1080
1085
|
return errorType;
|
|
1081
1086
|
}
|
|
1087
|
+
sourceOperation = baseOperation;
|
|
1082
1088
|
// Reference the same return type and create the parameters type
|
|
1083
1089
|
parameters = cloneType(baseOperation.parameters);
|
|
1084
1090
|
returnType = baseOperation.returnType;
|
|
@@ -1097,6 +1103,7 @@ export function createChecker(program) {
|
|
|
1097
1103
|
parameters,
|
|
1098
1104
|
returnType,
|
|
1099
1105
|
decorators,
|
|
1106
|
+
sourceOperation,
|
|
1100
1107
|
interface: parentInterface,
|
|
1101
1108
|
});
|
|
1102
1109
|
decorators.push(...checkDecorators(operationType, node, mapper));
|
|
@@ -1679,6 +1686,7 @@ export function createChecker(program) {
|
|
|
1679
1686
|
linkType(links, type, mapper);
|
|
1680
1687
|
const isBase = checkModelIs(node, node.is, mapper);
|
|
1681
1688
|
if (isBase) {
|
|
1689
|
+
type.sourceModel = isBase;
|
|
1682
1690
|
checkDeprecated(isBase, node.is);
|
|
1683
1691
|
// copy decorators
|
|
1684
1692
|
decorators.push(...isBase.decorators);
|
|
@@ -2204,8 +2212,8 @@ export function createChecker(program) {
|
|
|
2204
2212
|
if (!isValueType(defaultType)) {
|
|
2205
2213
|
reportCheckerDiagnostic(createDiagnostic({
|
|
2206
2214
|
code: "unsupported-default",
|
|
2207
|
-
format: { type:
|
|
2208
|
-
target:
|
|
2215
|
+
format: { type: defaultType.kind },
|
|
2216
|
+
target: defaultNode,
|
|
2209
2217
|
}));
|
|
2210
2218
|
return errorType;
|
|
2211
2219
|
}
|
|
@@ -3721,7 +3729,7 @@ export function createChecker(program) {
|
|
|
3721
3729
|
indexType: getTypeName(target.indexer.key),
|
|
3722
3730
|
sourceType: getTypeName(source),
|
|
3723
3731
|
},
|
|
3724
|
-
target,
|
|
3732
|
+
target: diagnosticTarget,
|
|
3725
3733
|
}),
|
|
3726
3734
|
],
|
|
3727
3735
|
];
|
|
@@ -3884,14 +3892,14 @@ function addDerivedModels(models, possiblyDerivedModels) {
|
|
|
3884
3892
|
}
|
|
3885
3893
|
}
|
|
3886
3894
|
function createTypeMapper(parameters, args, parentMapper) {
|
|
3887
|
-
var _a;
|
|
3895
|
+
var _a, _b;
|
|
3888
3896
|
const map = new Map((_a = parentMapper === null || parentMapper === void 0 ? void 0 : parentMapper.map) !== null && _a !== void 0 ? _a : []);
|
|
3889
3897
|
for (const [index, param] of parameters.entries()) {
|
|
3890
3898
|
map.set(param, args[index]);
|
|
3891
3899
|
}
|
|
3892
3900
|
return {
|
|
3893
3901
|
partial: false,
|
|
3894
|
-
args,
|
|
3902
|
+
args: [...((_b = parentMapper === null || parentMapper === void 0 ? void 0 : parentMapper.args) !== null && _b !== void 0 ? _b : []), ...args],
|
|
3895
3903
|
getMappedType: (type) => {
|
|
3896
3904
|
var _a;
|
|
3897
3905
|
return (_a = map.get(type)) !== null && _a !== void 0 ? _a : type;
|
|
@@ -4155,14 +4163,15 @@ function isTemplatedNode(node) {
|
|
|
4155
4163
|
* Mapping from the reflection models to Type["kind"] value
|
|
4156
4164
|
*/
|
|
4157
4165
|
const ReflectionNameToKind = {
|
|
4158
|
-
Model: "Model",
|
|
4159
|
-
ModelProperty: "ModelProperty",
|
|
4160
|
-
Interface: "Interface",
|
|
4161
4166
|
Enum: "Enum",
|
|
4162
4167
|
EnumMember: "EnumMember",
|
|
4163
|
-
|
|
4168
|
+
Interface: "Interface",
|
|
4169
|
+
Model: "Model",
|
|
4170
|
+
ModelProperty: "ModelProperty",
|
|
4164
4171
|
Namespace: "Namespace",
|
|
4165
4172
|
Operation: "Operation",
|
|
4173
|
+
Scalar: "Scalar",
|
|
4174
|
+
TemplateParameter: "TemplateParameter",
|
|
4166
4175
|
Tuple: "Tuple",
|
|
4167
4176
|
Union: "Union",
|
|
4168
4177
|
UnionVariant: "UnionVariant",
|