@typespec/compiler 1.8.0-dev.0 → 1.8.0-dev.10

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 (63) hide show
  1. package/dist/generated-defs/TypeSpec.Prototypes.d.ts +2 -2
  2. package/dist/generated-defs/TypeSpec.Prototypes.d.ts.map +1 -1
  3. package/dist/generated-defs/TypeSpec.d.ts +56 -56
  4. package/dist/generated-defs/TypeSpec.d.ts.map +1 -1
  5. package/dist/manifest.js +2 -2
  6. package/dist/src/core/checker.d.ts.map +1 -1
  7. package/dist/src/core/checker.js +25 -4
  8. package/dist/src/core/checker.js.map +1 -1
  9. package/dist/src/core/cli/utils.d.ts +1 -1
  10. package/dist/src/core/cli/utils.d.ts.map +1 -1
  11. package/dist/src/core/code-fixes.d.ts +1 -1
  12. package/dist/src/core/code-fixes.d.ts.map +1 -1
  13. package/dist/src/core/code-fixes.js.map +1 -1
  14. package/dist/src/core/compiler-code-fixes/suppress.codefix.d.ts +9 -1
  15. package/dist/src/core/compiler-code-fixes/suppress.codefix.d.ts.map +1 -1
  16. package/dist/src/core/compiler-code-fixes/suppress.codefix.js +56 -1
  17. package/dist/src/core/compiler-code-fixes/suppress.codefix.js.map +1 -1
  18. package/dist/src/core/helpers/discriminator-utils.d.ts.map +1 -1
  19. package/dist/src/core/helpers/discriminator-utils.js +1 -0
  20. package/dist/src/core/helpers/discriminator-utils.js.map +1 -1
  21. package/dist/src/core/program.d.ts.map +1 -1
  22. package/dist/src/core/program.js +5 -2
  23. package/dist/src/core/program.js.map +1 -1
  24. package/dist/src/core/types.d.ts +18 -1
  25. package/dist/src/core/types.d.ts.map +1 -1
  26. package/dist/src/core/types.js.map +1 -1
  27. package/dist/src/formatter/print/printer.js.map +1 -1
  28. package/dist/src/index.d.ts +2 -2
  29. package/dist/src/index.d.ts.map +1 -1
  30. package/dist/src/index.js +1 -1
  31. package/dist/src/index.js.map +1 -1
  32. package/dist/src/init/prompts.d.ts.map +1 -1
  33. package/dist/src/init/prompts.js +1 -1
  34. package/dist/src/init/prompts.js.map +1 -1
  35. package/dist/src/server/server-compile-manager.d.ts.map +1 -1
  36. package/dist/src/server/server-compile-manager.js +2 -2
  37. package/dist/src/server/server-compile-manager.js.map +1 -1
  38. package/dist/src/server/server.js +1 -0
  39. package/dist/src/server/server.js.map +1 -1
  40. package/dist/src/server/update-manager.d.ts.map +1 -1
  41. package/dist/src/server/update-manager.js +2 -2
  42. package/dist/src/server/update-manager.js.map +1 -1
  43. package/dist/src/testing/code-fix-testing.d.ts +2 -1
  44. package/dist/src/testing/code-fix-testing.d.ts.map +1 -1
  45. package/dist/src/testing/code-fix-testing.js +35 -2
  46. package/dist/src/testing/code-fix-testing.js.map +1 -1
  47. package/dist/src/testing/source-utils.d.ts +9 -0
  48. package/dist/src/testing/source-utils.d.ts.map +1 -1
  49. package/dist/src/testing/source-utils.js +18 -0
  50. package/dist/src/testing/source-utils.js.map +1 -1
  51. package/dist/src/testing/tester.d.ts.map +1 -1
  52. package/dist/src/testing/tester.js +13 -0
  53. package/dist/src/testing/tester.js.map +1 -1
  54. package/dist/src/testing/types.d.ts +5 -0
  55. package/dist/src/testing/types.d.ts.map +1 -1
  56. package/dist/src/testing/types.js.map +1 -1
  57. package/dist/src/utils/misc.d.ts +1 -0
  58. package/dist/src/utils/misc.d.ts.map +1 -1
  59. package/dist/src/utils/misc.js +7 -0
  60. package/dist/src/utils/misc.js.map +1 -1
  61. package/lib/intrinsics.tsp +40 -0
  62. package/package.json +8 -8
  63. package/templates/scaffolding.json +3 -3
@@ -18,7 +18,7 @@ export declare function withCliHost<T extends CliHostArgs>(fn: (host: CliCompile
18
18
  */
19
19
  export declare function withCliHostAndDiagnostics<T extends CliHostArgs>(fn: (host: CliCompilerHost, args: T) => readonly Diagnostic[] | Promise<readonly Diagnostic[]>): (args: T) => void | Promise<void>;
20
20
  export declare function createCLICompilerHost(options: CliHostArgs): CliCompilerHost;
21
- export declare function run(host: CliCompilerHost, command: string, commandArgs: string[], options?: RunOptions): import("child_process").SpawnSyncReturns<string>;
21
+ export declare function run(host: CliCompilerHost, command: string, commandArgs: string[], options?: RunOptions): import("node:child_process").SpawnSyncReturns<string>;
22
22
  export declare function logDiagnosticCount(diagnostics: readonly Diagnostic[]): void;
23
23
  export declare function logInternalCompilerError(error: unknown): void;
24
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/core/cli/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAa,MAAM,eAAe,CAAC;AAU9E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAK7C,MAAM,WAAW,UAAW,SAAQ,OAAO,CAAC,kCAAkC,CAAC;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC/C,EAAE,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GACpD,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAK5B;AAcD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,WAAW,EAC7D,EAAE,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,KAAK,SAAS,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,GAC7F,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnC;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,eAAe,CAY3E;AAED,wBAAgB,GAAG,CACjB,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,CAAC,EAAE,UAAU,oDA6DrB;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,QAcpE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,QAYtD;AACD;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAGjE;AAMD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYjF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/core/cli/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAa,MAAM,eAAe,CAAC;AAU9E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAK7C,MAAM,WAAW,UAAW,SAAQ,OAAO,CAAC,kCAAkC,CAAC;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC/C,EAAE,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GACpD,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAK5B;AAcD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,WAAW,EAC7D,EAAE,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,KAAK,SAAS,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,GAC7F,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnC;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,eAAe,CAY3E;AAED,wBAAgB,GAAG,CACjB,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,CAAC,EAAE,UAAU,yDA6DrB;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,QAcpE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,QAYtD;AACD;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAGjE;AAMD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYjF"}
@@ -1,5 +1,5 @@
1
1
  import type { CodeFix, CodeFixContext, CodeFixEdit, CompilerHost } from "./types.js";
2
- export declare function applyCodeFixes(host: CompilerHost, codeFixes: CodeFix[]): Promise<void>;
2
+ export declare function applyCodeFixes(host: CompilerHost, codeFixes: readonly CodeFix[]): Promise<void>;
3
3
  export declare function resolveCodeFix(codeFix: CodeFix): Promise<CodeFixEdit[]>;
4
4
  export declare function applyCodeFix(host: CompilerHost, codeFix: CodeFix): Promise<void>;
5
5
  export declare function applyCodeFixEditsOnText(content: string, edits: CodeFixEdit[]): string;
@@ -1 +1 @@
1
- {"version":3,"file":"code-fixes.d.ts","sourceRoot":"","sources":["../../../src/core/code-fixes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,WAAW,EACX,YAAY,EAMb,MAAM,YAAY,CAAC;AAEpB,wBAAsB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,iBAI5E;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAK7E;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,iBAGtE;AAmBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAkBrF;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAkCrD"}
1
+ {"version":3,"file":"code-fixes.d.ts","sourceRoot":"","sources":["../../../src/core/code-fixes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,WAAW,EACX,YAAY,EAMb,MAAM,YAAY,CAAC;AAEpB,wBAAsB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,OAAO,EAAE,iBAIrF;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAK7E;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,iBAGtE;AAmBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAkBrF;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAkCrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"code-fixes.js","sourceRoot":"","sources":["../../../src/core/code-fixes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAa3C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAkB,EAAE,SAAoB;IAC3E,IAAI,CAAC,SAAS,CAAC,MAAM;QAAE,OAAO;IAC9B,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9F,MAAM,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAgB;IACnD,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACjF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAkB,EAAE,OAAgB;IACrE,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAkB,EAAE,KAAoB;IACvE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuC,CAAC;IAE/D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,KAAoB;IAC3E,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,aAAa;gBAChB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;gBAChB,MAAM;YACR,KAAK,cAAc;gBACjB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,WAAW;QACX,UAAU;QACV,WAAW;KACZ,CAAC;IAEF,SAAS,WAAW,CAAC,IAA8B,EAAE,IAAY;QAC/D,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;IAED,SAAS,UAAU,CAAC,IAA8B,EAAE,IAAY;QAC9D,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;YACxC,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;IAED,SAAS,WAAW,CAAC,IAAoB,EAAE,IAAY;QACrD,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI;SACL,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"code-fixes.js","sourceRoot":"","sources":["../../../src/core/code-fixes.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
- import { type CodeFix, type DiagnosticTarget } from "../types.js";
1
+ import { Diagnostic, type CodeFix, type DiagnosticTarget } from "../types.js";
2
2
  export declare function createSuppressCodeFix(diagnosticTarget: DiagnosticTarget, warningCode: string, suppressionMessage?: string): CodeFix;
3
+ /**
4
+ * Create code fixes to suppress the given diagnostics.
5
+ * This function groups diagnostics by their suppression target to avoid duplicate suppressions.
6
+ * @param diagnostics The diagnostics to suppress.
7
+ * @param suppressionMessage The suppression message to use.
8
+ * @returns An array of code fixes to apply the suppressions.
9
+ */
10
+ export declare function createSuppressCodeFixes(diagnostics: readonly Diagnostic[], suppressionMessage?: string): readonly CodeFix[];
3
11
  //# sourceMappingURL=suppress.codefix.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"suppress.codefix.d.ts","sourceRoot":"","sources":["../../../../src/core/compiler-code-fixes/suppress.codefix.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,gBAAgB,EAGtB,MAAM,aAAa,CAAC;AAGrB,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,MAAM,EACnB,kBAAkB,GAAE,MAAW,GAC9B,OAAO,CAiBT"}
1
+ {"version":3,"file":"suppress.codefix.d.ts","sourceRoot":"","sources":["../../../../src/core/compiler-code-fixes/suppress.codefix.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAGV,KAAK,OAAO,EACZ,KAAK,gBAAgB,EAGtB,MAAM,aAAa,CAAC;AAyBrB,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,MAAM,EACnB,kBAAkB,GAAE,MAAW,GAC9B,OAAO,CAiBT;AACD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,SAAS,UAAU,EAAE,EAClC,kBAAkB,GAAE,MAAW,GAC9B,SAAS,OAAO,EAAE,CAwBpB"}
@@ -1,6 +1,27 @@
1
1
  import { defineCodeFix, getNodeForTarget, getSourceLocation } from "../diagnostics.js";
2
- import { SyntaxKind, } from "../types.js";
2
+ import { NoTarget, SyntaxKind, } from "../types.js";
3
3
  import { findLineStartAndIndent } from "./utils.js";
4
+ /**
5
+ * A polyfill for Map.groupBy for environments that do not support it yet.
6
+ * Mostly for Node.js versions prior to 21.
7
+ * This method can be removed once we drop support for Node.js versions that do not support it.
8
+ */
9
+ const mapGroupBy = Map.groupBy ??
10
+ ((items, keyFn) => {
11
+ const result = new Map();
12
+ let index = 0;
13
+ for (const item of items) {
14
+ const key = keyFn(item, index++);
15
+ const group = result.get(key);
16
+ if (group) {
17
+ group.push(item);
18
+ }
19
+ else {
20
+ result.set(key, [item]);
21
+ }
22
+ }
23
+ return result;
24
+ });
4
25
  export function createSuppressCodeFix(diagnosticTarget, warningCode, suppressionMessage = "") {
5
26
  return defineCodeFix({
6
27
  id: "suppress",
@@ -16,6 +37,27 @@ export function createSuppressCodeFix(diagnosticTarget, warningCode, suppression
16
37
  },
17
38
  });
18
39
  }
40
+ /**
41
+ * Create code fixes to suppress the given diagnostics.
42
+ * This function groups diagnostics by their suppression target to avoid duplicate suppressions.
43
+ * @param diagnostics The diagnostics to suppress.
44
+ * @param suppressionMessage The suppression message to use.
45
+ * @returns An array of code fixes to apply the suppressions.
46
+ */
47
+ export function createSuppressCodeFixes(diagnostics, suppressionMessage = "") {
48
+ return Array.from(Array.from(mapGroupBy(diagnostics
49
+ .filter((diag) => diag.severity === "warning" && diag.target !== NoTarget)
50
+ .map((diag) => {
51
+ const suppressTarget = findSuppressTarget(diag.target);
52
+ return suppressTarget === undefined
53
+ ? undefined
54
+ : {
55
+ groupingKey: `${diag.code}-${suppressTarget.file.path}-${suppressTarget.pos}-${suppressTarget.end}`,
56
+ fix: createSuppressCodeFix(diag.target, diag.code, suppressionMessage),
57
+ };
58
+ })
59
+ .filter((fix) => fix !== undefined), (fix) => fix.groupingKey).entries()).map((group) => group[1][0].fix));
60
+ }
19
61
  function findSuppressTarget(target) {
20
62
  if ("file" in target) {
21
63
  return target;
@@ -33,6 +75,19 @@ function findSuppressNode(node) {
33
75
  case SyntaxKind.TypeReference:
34
76
  case SyntaxKind.UnionExpression:
35
77
  case SyntaxKind.ModelExpression:
78
+ case SyntaxKind.ArrayExpression:
79
+ case SyntaxKind.TupleExpression:
80
+ case SyntaxKind.TypeOfExpression:
81
+ case SyntaxKind.CallExpression:
82
+ case SyntaxKind.MemberExpression:
83
+ case SyntaxKind.IntersectionExpression:
84
+ case SyntaxKind.StringTemplateExpression:
85
+ case SyntaxKind.StringTemplateHead:
86
+ case SyntaxKind.StringTemplateSpan:
87
+ case SyntaxKind.StringTemplateTail:
88
+ case SyntaxKind.StringTemplateMiddle:
89
+ case SyntaxKind.TemplateArgument:
90
+ case SyntaxKind.OperationSignatureDeclaration:
36
91
  return findSuppressNode(node.parent);
37
92
  default:
38
93
  return node;
@@ -1 +1 @@
1
- {"version":3,"file":"suppress.codefix.js","sourceRoot":"","sources":["../../../../src/core/compiler-code-fixes/suppress.codefix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EACL,UAAU,GAKX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,UAAU,qBAAqB,CACnC,gBAAkC,EAClC,WAAmB,EACnB,qBAA6B,EAAE;IAE/B,OAAO,aAAa,CAAC;QACnB,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,sBAAsB,WAAW,GAAG;QAC3C,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;YACf,MAAM,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;YACxD,OAAO,OAAO,CAAC,WAAW,CACxB,eAAe,EACf,GAAG,MAAM,cAAc,WAAW,MAAM,kBAAkB,KAAK,CAChE,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAwB;IAClD,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAElC,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,4DAA4D;AAC5D,SAAS,gBAAgB,CAAC,IAAU;IAClC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,UAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,UAAU,CAAC,aAAa,CAAC;QAC9B,KAAK,UAAU,CAAC,eAAe,CAAC;QAChC,KAAK,UAAU,CAAC,eAAe;YAC7B,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;QACxC;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"suppress.codefix.js","sourceRoot":"","sources":["../../../../src/core/compiler-code-fixes/suppress.codefix.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"discriminator-utils.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/discriminator-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAG3E,OAAO,EACL,aAAa,EAGd,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC9B;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,OAAO,EACtB,mBAAmB,EAAE,KAAK,GACzB,CAAC,kBAAkB,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAEzD;AAED;;;GAGG;AACH,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,OAAO,QAQtE;AA4ED,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,KAAK,EACX,aAAa,EAAE,aAAa,GAC3B,CAAC,wBAAwB,EAAE,SAAS,UAAU,EAAE,CAAC,CAyCnD"}
1
+ {"version":3,"file":"discriminator-utils.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/discriminator-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAG3E,OAAO,EACL,aAAa,EAGd,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC9B;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,OAAO,EACtB,mBAAmB,EAAE,KAAK,GACzB,CAAC,kBAAkB,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAEzD;AAED;;;GAGG;AACH,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,OAAO,QAQtE;AA6ED,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,KAAK,EACX,aAAa,EAAE,aAAa,GAC3B,CAAC,wBAAwB,EAAE,SAAS,UAAU,EAAE,CAAC,CAyCnD"}
@@ -77,6 +77,7 @@ function getDiscriminatedUnionForUnion(program, type) {
77
77
  type,
78
78
  options,
79
79
  variants,
80
+ defaultVariant,
80
81
  },
81
82
  diagnostics,
82
83
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"discriminator-utils.js","sourceRoot":"","sources":["../../../../src/core/helpers/discriminator-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discriminator-utils.js","sourceRoot":"","sources":["../../../../src/core/helpers/discriminator-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/core/program.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAiB,MAAM,cAAc,CAAC;AAkBtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAY/C,OAAO,EACL,YAAY,EACZ,UAAU,EAIV,WAAW,EAEX,gBAAgB,EAChB,eAAe,EACf,eAAe,EAEf,eAAe,EAGf,SAAS,EAGT,UAAU,EAMV,MAAM,EACN,IAAI,EAEJ,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,OAAO;IACtB,eAAe,EAAE,eAAe,CAAC;IAGjC,iEAAiE;IACjE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC7C,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAI7C,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAIjB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAU5C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IAGjC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAKtC,QAAQ,IAAI,OAAO,CAAC;IACpB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/C,iBAAiB,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IAK5D,sBAAsB,IAAI,SAAS,CAAC;IAEpC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,IAAI,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;IAKnF,wDAAwD;IACxD,4BAA4B,CAAC,UAAU,EAAE,UAAU,GAAG,eAAe,CAAC;IAEtE;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,UAAU,UAAU;IAClB,YAAY,EAAE,WAAW,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACnC;AAYD,wBAAsB,OAAO,CAC3B,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB,EAC7B,UAAU,CAAC,EAAE,OAAO,oBAyCrB"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/core/program.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAiB,MAAM,cAAc,CAAC;AAkBtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAY/C,OAAO,EACL,YAAY,EACZ,UAAU,EAIV,WAAW,EAEX,gBAAgB,EAChB,eAAe,EACf,eAAe,EAEf,eAAe,EAGf,SAAS,EAGT,UAAU,EAMV,MAAM,EACN,IAAI,EAEJ,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,OAAO;IACtB,eAAe,EAAE,eAAe,CAAC;IAGjC,iEAAiE;IACjE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC7C,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAI7C,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAC;IAIjB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAU5C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IAGjC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAKtC,QAAQ,IAAI,OAAO,CAAC;IACpB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/C,iBAAiB,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAAC;IAK5D,sBAAsB,IAAI,SAAS,CAAC;IAEpC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,IAAI,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;IAKnF,wDAAwD;IACxD,4BAA4B,CAAC,UAAU,EAAE,UAAU,GAAG,eAAe,CAAC;IAEtE;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,UAAU,UAAU;IAClB,YAAY,EAAE,WAAW,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACnC;AAcD,wBAAsB,OAAO,CAC3B,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB,EAC7B,UAAU,CAAC,EAAE,OAAO,oBAyCrB"}
@@ -395,14 +395,17 @@ async function createProgram(host, mainFile, options = {}, oldProgram) {
395
395
  runtimeStats.validation.validators.compiler = start.end();
396
396
  for (const validator of validateCbs) {
397
397
  const start = startTimer();
398
- await runValidator(validator);
398
+ const diagnostics = await runValidator(validator);
399
+ if (diagnostics && Array.isArray(diagnostics)) {
400
+ program.reportDiagnostics(diagnostics);
401
+ }
399
402
  runtimeStats.validation.validators[validator.metadata.name ?? "<unnamed>"] = start.end();
400
403
  }
401
404
  runtimeStats.validation.total = start.end();
402
405
  }
403
406
  async function runValidator(validator) {
404
407
  try {
405
- await validator.callback(program);
408
+ return await validator.callback(program);
406
409
  }
407
410
  catch (error) {
408
411
  if (options.designTimeBuild) {
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/core/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/core/program.ts"],"names":[],"mappings":"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"}
@@ -21,10 +21,27 @@ export interface DecoratorApplication {
21
21
  args: DecoratorArgument[];
22
22
  node?: DecoratorExpressionNode | AugmentDecoratorStatementNode;
23
23
  }
24
+ /**
25
+ * Signature for a decorator JS implementation function.
26
+ * Use `@typespec/tspd` to generate an accurate signature from the `extern dec`
27
+ */
24
28
  export interface DecoratorFunction {
25
- (program: DecoratorContext, target: any, ...customArgs: any[]): void;
29
+ (program: DecoratorContext, target: any, ...customArgs: any[]): DecoratorValidatorCallbacks | void;
26
30
  namespace?: string;
27
31
  }
32
+ export type ValidatorFn = () => readonly Diagnostic[];
33
+ export interface DecoratorValidatorCallbacks {
34
+ /**
35
+ * Run validation after all decorators are run on the same type. Useful if trying to validate this decorator is compatible with other decorators without relying on the order they are applied.
36
+ * @note This is meant for validation which means the type graph should be treated as readonly in this function.
37
+ */
38
+ readonly onTargetFinish?: ValidatorFn;
39
+ /**
40
+ * Run validation after everything is checked in the type graph. Useful when trying to get an overall view of the program.
41
+ * @note This is meant for validation which means the type graph should be treated as readonly in this function.
42
+ */
43
+ readonly onGraphFinish?: ValidatorFn;
44
+ }
28
45
  export interface BaseType {
29
46
  readonly entityKind: "Type";
30
47
  kind: string;