@typespec/compiler 1.17.0-dev.6 → 1.17.0-dev.8

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.
Files changed (28) hide show
  1. package/dist/manifest.js +2 -2
  2. package/dist/src/core/binder.d.ts +1 -1
  3. package/dist/src/core/binder.d.ts.map +1 -1
  4. package/dist/src/core/checker.d.ts.map +1 -1
  5. package/dist/src/core/checker.js +13 -3
  6. package/dist/src/core/checker.js.map +1 -1
  7. package/dist/src/core/name-resolver.d.ts.map +1 -1
  8. package/dist/src/core/name-resolver.js +8 -1
  9. package/dist/src/core/name-resolver.js.map +1 -1
  10. package/dist/src/core/types.d.ts +2 -1
  11. package/dist/src/core/types.d.ts.map +1 -1
  12. package/dist/src/core/types.js.map +1 -1
  13. package/dist/src/init/scaffold.d.ts.map +1 -1
  14. package/dist/src/init/scaffold.js +31 -3
  15. package/dist/src/init/scaffold.js.map +1 -1
  16. package/dist/src/init/template-source/in-memory-template-source.d.ts +1 -1
  17. package/dist/src/init/template-source/in-memory-template-source.d.ts.map +1 -1
  18. package/dist/src/init/template-source/in-memory-template-source.js +2 -1
  19. package/dist/src/init/template-source/in-memory-template-source.js.map +1 -1
  20. package/dist/src/init/template-source/types.d.ts +1 -0
  21. package/dist/src/init/template-source/types.d.ts.map +1 -1
  22. package/dist/src/init/template-source/types.js +10 -1
  23. package/dist/src/init/template-source/types.js.map +1 -1
  24. package/dist/src/init/template-source/uri-template-source.d.ts +1 -1
  25. package/dist/src/init/template-source/uri-template-source.d.ts.map +1 -1
  26. package/dist/src/init/template-source/uri-template-source.js +23 -2
  27. package/dist/src/init/template-source/uri-template-source.js.map +1 -1
  28. package/package.json +4 -4
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export default {
2
- "version": "1.17.0-dev.6",
3
- "commit": "daad49a2808710aa794cdb30e3625d9aecd61b9e"
2
+ "version": "1.17.0-dev.8",
3
+ "commit": "108ef0689f57e5901c0f8feb2719881e8504f78b"
4
4
  };
@@ -34,6 +34,6 @@ export declare function createSymbol(node: Node | undefined, name: string, flags
34
34
  * If a declaration symbol get the first one `.declarations[0]`
35
35
  * Otherwise get `.node`
36
36
  */
37
- export declare function getSymNode(sym: Sym): Node;
37
+ export declare function getSymNode(sym: Sym): Node | undefined;
38
38
  export {};
39
39
  //# sourceMappingURL=binder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../../src/core/binder.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAgBV,gBAAgB,EAOhB,IAAI,EAMJ,GAAG,EACH,WAAW,EAEX,kBAAkB,EAKnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA4B,WAAW,EAAc,MAAM,YAAY,CAAC;AAK/E,QAAA,MAAM,WAAW;kBAGM,WAAW;;QAOhC,wCAAwC;wBACxB,WAAW,cAAc,GAAG;iBAUnC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;CAkB5B,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjD,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAKtD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,CAEnE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAmlBrD;AA0BD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,GAAG,SAAS,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,EAClB,MAAM,CAAC,EAAE,GAAG,EACZ,KAAK,CAAC,EAAE,GAAG,GACV,GAAG,CA0BL;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAEzC"}
1
+ {"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../../src/core/binder.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAgBV,gBAAgB,EAOhB,IAAI,EAMJ,GAAG,EACH,WAAW,EAEX,kBAAkB,EAKnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA4B,WAAW,EAAc,MAAM,YAAY,CAAC;AAK/E,QAAA,MAAM,WAAW;kBAGM,WAAW;;QAOhC,wCAAwC;wBACxB,WAAW,cAAc,GAAG;iBAUnC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;CAkB5B,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjD,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAKtD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,CAEnE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAmlBrD;AA0BD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,GAAG,SAAS,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,EAClB,MAAM,CAAC,EAAE,GAAG,EACZ,KAAK,CAAC,EAAE,GAAG,GACV,GAAG,CA0BL;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,CAErD"}
@@ -1 +1 @@
1
- {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"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"}
@@ -299,13 +299,17 @@ export function createChecker(program, resolver) {
299
299
  */
300
300
  function checkMemberSym(ctx, sym) {
301
301
  const symbolLinks = getSymbolLinks(sym);
302
- const memberContainer = getTypeForNode(getSymNode(sym.parent), ctx);
302
+ const parentNode = getSymNode(sym.parent);
303
+ compilerAssert(parentNode, "Expected member container parent symbol to have a node");
304
+ const memberContainer = getTypeForNode(parentNode, ctx);
303
305
  const type = symbolLinks.declaredType ?? symbolLinks.type;
304
306
  if (type) {
305
307
  return type;
306
308
  }
307
309
  else {
308
- return checkMember(ctx, getSymNode(sym), memberContainer);
310
+ const memberNode = getSymNode(sym);
311
+ compilerAssert(memberNode, "Expected member symbol to have a node");
312
+ return checkMember(ctx, memberNode, memberContainer);
309
313
  }
310
314
  }
311
315
  /**
@@ -1119,6 +1123,7 @@ export function createChecker(program, resolver) {
1119
1123
  return sym.type;
1120
1124
  }
1121
1125
  else if (sym.flags & SymbolFlags.TemplateParameter) {
1126
+ compilerAssert(symNode, "Expected template parameter symbol to have a node");
1122
1127
  const mapped = checkTemplateParameterDeclaration(ctx, symNode);
1123
1128
  baseType = mapped;
1124
1129
  }
@@ -1135,6 +1140,7 @@ export function createChecker(program, resolver) {
1135
1140
  }
1136
1141
  else {
1137
1142
  // don't have a cached type for this symbol, so go grab it and cache it
1143
+ compilerAssert(symNode, "Expected symbol to have a node to resolve type");
1138
1144
  baseType = getTypeForNode(symNode, ctx);
1139
1145
  symbolLinks.type = baseType;
1140
1146
  }
@@ -3253,7 +3259,7 @@ export function createChecker(program, resolver) {
3253
3259
  return getCanonicalResolvedMemberSymbol(type, node.id.sv);
3254
3260
  }
3255
3261
  function getMemberKindName(node) {
3256
- switch (node.kind) {
3262
+ switch (node?.kind) {
3257
3263
  case SyntaxKind.ModelStatement:
3258
3264
  case SyntaxKind.ModelDeclarationExpression:
3259
3265
  case SyntaxKind.ModelExpression:
@@ -3374,6 +3380,7 @@ export function createChecker(program, resolver) {
3374
3380
  */
3375
3381
  function getAliasedSymbol(ctx, aliasSymbol) {
3376
3382
  const node = getSymNode(aliasSymbol);
3383
+ compilerAssert(node, "Expected alias symbol to have a node");
3377
3384
  const links = resolver.getSymbolLinks(aliasSymbol);
3378
3385
  if (!links.aliasResolutionIsTemplate) {
3379
3386
  const aliased = links.aliasedSymbol ?? resolver.getNodeLinks(node).resolvedSymbol;
@@ -5403,6 +5410,7 @@ export function createChecker(program, resolver) {
5403
5410
  }
5404
5411
  else if (links.finalSymbol?.flags && links.finalSymbol.flags & SymbolFlags.Alias) {
5405
5412
  const aliasNode = getSymNode(links.finalSymbol);
5413
+ compilerAssert(aliasNode, "Expected alias symbol to have a node");
5406
5414
  program.reportDiagnostic(createDiagnostic({
5407
5415
  code: "augment-decorator-target",
5408
5416
  messageId: aliasNode.value.kind === SyntaxKind.UnionExpression ? "noUnionExpression" : "default",
@@ -6883,6 +6891,8 @@ function createFunctionContext(program, fnCall) {
6883
6891
  };
6884
6892
  }
6885
6893
  function isTemplatedNode(node) {
6894
+ if (node === undefined)
6895
+ return false;
6886
6896
  return "templateParameters" in node && node.templateParameters.length > 0;
6887
6897
  }
6888
6898
  var ResolutionKind;