@typespec/compiler 1.14.0-dev.0 → 1.14.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 (76) hide show
  1. package/dist/generated-defs/TypeSpec.d.ts +10 -1
  2. package/dist/generated-defs/TypeSpec.d.ts.map +1 -1
  3. package/dist/manifest.js +2 -2
  4. package/dist/src/core/auto-decorator.d.ts +26 -0
  5. package/dist/src/core/auto-decorator.d.ts.map +1 -0
  6. package/dist/src/core/auto-decorator.js +85 -0
  7. package/dist/src/core/auto-decorator.js.map +1 -0
  8. package/dist/src/core/checker.d.ts.map +1 -1
  9. package/dist/src/core/checker.js +46 -25
  10. package/dist/src/core/checker.js.map +1 -1
  11. package/dist/src/core/diagnostics.d.ts +3 -3
  12. package/dist/src/core/diagnostics.d.ts.map +1 -1
  13. package/dist/src/core/diagnostics.js +34 -3
  14. package/dist/src/core/diagnostics.js.map +1 -1
  15. package/dist/src/core/features.d.ts +3 -0
  16. package/dist/src/core/features.d.ts.map +1 -1
  17. package/dist/src/core/features.js +3 -0
  18. package/dist/src/core/features.js.map +1 -1
  19. package/dist/src/core/messages.d.ts +36 -7
  20. package/dist/src/core/messages.d.ts.map +1 -1
  21. package/dist/src/core/messages.js +10 -1
  22. package/dist/src/core/messages.js.map +1 -1
  23. package/dist/src/core/modifiers.d.ts.map +1 -1
  24. package/dist/src/core/modifiers.js +42 -8
  25. package/dist/src/core/modifiers.js.map +1 -1
  26. package/dist/src/core/parser.d.ts.map +1 -1
  27. package/dist/src/core/parser.js +13 -0
  28. package/dist/src/core/parser.js.map +1 -1
  29. package/dist/src/core/program.d.ts.map +1 -1
  30. package/dist/src/core/program.js +11 -43
  31. package/dist/src/core/program.js.map +1 -1
  32. package/dist/src/core/scanner.d.ts +41 -41
  33. package/dist/src/core/scanner.d.ts.map +1 -1
  34. package/dist/src/core/scanner.js +46 -47
  35. package/dist/src/core/scanner.js.map +1 -1
  36. package/dist/src/core/source-file.js +1 -1
  37. package/dist/src/core/source-file.js.map +1 -1
  38. package/dist/src/core/suppression-tracking.d.ts +21 -0
  39. package/dist/src/core/suppression-tracking.d.ts.map +1 -0
  40. package/dist/src/core/suppression-tracking.js +139 -0
  41. package/dist/src/core/suppression-tracking.js.map +1 -0
  42. package/dist/src/core/types.d.ts +10 -3
  43. package/dist/src/core/types.d.ts.map +1 -1
  44. package/dist/src/core/types.js +2 -1
  45. package/dist/src/core/types.js.map +1 -1
  46. package/dist/src/formatter/print/printer.d.ts.map +1 -1
  47. package/dist/src/formatter/print/printer.js +53 -15
  48. package/dist/src/formatter/print/printer.js.map +1 -1
  49. package/dist/src/index.d.ts +1 -0
  50. package/dist/src/index.d.ts.map +1 -1
  51. package/dist/src/index.js +1 -0
  52. package/dist/src/index.js.map +1 -1
  53. package/dist/src/lib/decorators.d.ts +3 -1
  54. package/dist/src/lib/decorators.d.ts.map +1 -1
  55. package/dist/src/lib/decorators.js +1 -1
  56. package/dist/src/lib/decorators.js.map +1 -1
  57. package/dist/src/server/client-config-provider.d.ts +1 -1
  58. package/dist/src/server/client-config-provider.d.ts.map +1 -1
  59. package/dist/src/server/diagnostics.d.ts.map +1 -1
  60. package/dist/src/server/diagnostics.js +1 -1
  61. package/dist/src/server/diagnostics.js.map +1 -1
  62. package/dist/src/server/server.js +1 -1
  63. package/dist/src/server/server.js.map +1 -1
  64. package/dist/src/server/serverlib.d.ts.map +1 -1
  65. package/dist/src/server/serverlib.js +25 -1
  66. package/dist/src/server/serverlib.js.map +1 -1
  67. package/dist/src/server/tspconfig/completion.d.ts +1 -1
  68. package/dist/src/server/tspconfig/completion.d.ts.map +1 -1
  69. package/dist/src/server/tspconfig/completion.js +1 -1
  70. package/dist/src/server/tspconfig/completion.js.map +1 -1
  71. package/dist/src/testing/test-server-host.d.ts +1 -1
  72. package/dist/src/testing/test-server-host.d.ts.map +1 -1
  73. package/dist/src/testing/test-server-host.js +1 -1
  74. package/dist/src/testing/test-server-host.js.map +1 -1
  75. package/lib/std/decorators.tsp +11 -1
  76. package/package.json +4 -4
@@ -49,7 +49,7 @@ export type MediaTypeHintDecorator = (context: DecoratorContext, target: Model |
49
49
  /**
50
50
  * Specify how to encode the target type.
51
51
  *
52
- * @param encodingOrEncodeAs Known name of an encoding or a scalar type to encode as(Only for numeric types to encode as string).
52
+ * @param encodingOrEncodeAs Known name of an encoding or a scalar type to encode as(Only for numeric and boolean types to encode as string).
53
53
  * @param encodedAs What target type is this being encoded as. Default to string.
54
54
  * @example offsetDateTime encoded with rfc7231
55
55
  *
@@ -70,6 +70,15 @@ export type MediaTypeHintDecorator = (context: DecoratorContext, target: Model |
70
70
  * @encode(string) id: int64;
71
71
  * }
72
72
  * ```
73
+ * @example encode boolean type to string
74
+ *
75
+ * `@encode(string)` on boolean uses case-insensitive `true` / `false` values.
76
+ *
77
+ * ```tsp
78
+ * model FeatureFlags {
79
+ * @encode(string) enabled: boolean;
80
+ * }
81
+ * ```
73
82
  */
74
83
  export type EncodeDecorator = (context: DecoratorContext, target: Scalar | ModelProperty, encodingOrEncodeAs: Scalar | string | EnumValue, encodedAs?: Scalar) => DecoratorValidatorCallbacks | void;
75
84
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TypeSpec.d.ts","sourceRoot":"","sources":["../../generated-defs/TypeSpec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypeSpec.d.ts","sourceRoot":"","sources":["../../generated-defs/TypeSpec.ts"],"names":[],"mappings":"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"}
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export default {
2
- "version": "1.14.0-dev.0",
3
- "commit": "212a9eda5a651f723b9f6054120564e4083e715b"
2
+ "version": "1.14.0-dev.10",
3
+ "commit": "ad69727db9e0c5ca580374f9a08ede0897983d37"
4
4
  };
@@ -0,0 +1,26 @@
1
+ import type { Program } from "./program.js";
2
+ import type { Type } from "./types.js";
3
+ /**
4
+ * Check if an auto decorator has been applied to a target.
5
+ * @param program - The current program.
6
+ * @param decoratorFqn - The fully-qualified name of the decorator (e.g., "MyLib.myDec").
7
+ * @param target - The type to check.
8
+ */
9
+ export declare function hasAutoDecorator(program: Program, decoratorFqn: string, target: Type): boolean;
10
+ /**
11
+ * Get the stored value for an auto decorator applied to a target.
12
+ * Always returns a record of `{ paramName: value }` (empty record `{}` for no-arg decorators).
13
+ * @param program - The current program.
14
+ * @param decoratorFqn - The fully-qualified name of the decorator (e.g., "MyLib.myDec").
15
+ * @param target - The type to get the value for.
16
+ * @returns The stored record, or `undefined` if the decorator was not applied.
17
+ */
18
+ export declare function getAutoDecoratorValue(program: Program, decoratorFqn: string, target: Type): Record<string, unknown> | undefined;
19
+ /**
20
+ * Get all targets that have a specific auto decorator applied, along with their stored values.
21
+ * @param program - The current program.
22
+ * @param decoratorFqn - The fully-qualified name of the decorator (e.g., "MyLib.myDec").
23
+ * @returns A map of target types to their stored values.
24
+ */
25
+ export declare function getAutoDecoratorTargets(program: Program, decoratorFqn: string): Map<Type, unknown>;
26
+ //# sourceMappingURL=auto-decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-decorator.d.ts","sourceRoot":"","sources":["../../../src/core/auto-decorator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAA4D,IAAI,EAAE,MAAM,YAAY,CAAC;AAyDjG;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAG9F;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,IAAI,GACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAGrC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,GACnB,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAGpB"}
@@ -0,0 +1,85 @@
1
+ // Copyright (c) Microsoft Corporation
2
+ // Licensed under the MIT License.
3
+ import { validateDecoratorUniqueOnNode } from "./decorator-utils.js";
4
+ import { getFullyQualifiedSymbolName } from "./type-utils.js";
5
+ /**
6
+ * Get the state key for an auto decorator given its fully-qualified name.
7
+ * Uses `dec:` prefix so the state key is based on decorator identity,
8
+ * not declaration style — allows seamless migration from auto to extern.
9
+ * @internal
10
+ */
11
+ export function getAutoDecoratorStateKey(decoratorFqn) {
12
+ return Symbol.for(`dec:${decoratorFqn}`);
13
+ }
14
+ /**
15
+ * Build the auto-generated implementation for an `auto dec` declaration.
16
+ *
17
+ * The returned function stores its arguments as a uniform `{ paramName: value }`
18
+ * record in the program state map keyed by the decorator's fully-qualified name,
19
+ * and warns (last-write-wins, like extern decorators) on duplicate application.
20
+ * @internal
21
+ */
22
+ export function createAutoDecoratorImplementation(symbol, node) {
23
+ const fqn = getFullyQualifiedSymbolName(symbol);
24
+ const stateKey = getAutoDecoratorStateKey(fqn);
25
+ const paramNames = node.parameters.map((p) => p.id.sv);
26
+ const lastParamIsRest = node.parameters.length > 0 && node.parameters[node.parameters.length - 1].rest;
27
+ const impl = (context, target, ...args) => {
28
+ // Warn (but still store, so duplicates are last-write-wins like extern
29
+ // decorators) if the same auto decorator is applied twice on the same node.
30
+ if ("decorators" in target) {
31
+ validateDecoratorUniqueOnNode(context, target, impl);
32
+ }
33
+ const data = {};
34
+ if (lastParamIsRest) {
35
+ for (let i = 0; i < paramNames.length - 1; i++) {
36
+ data[paramNames[i]] = args[i];
37
+ }
38
+ // The rest parameter collects all remaining arguments into an array.
39
+ data[paramNames[paramNames.length - 1]] = args.slice(paramNames.length - 1);
40
+ }
41
+ else {
42
+ for (let i = 0; i < paramNames.length; i++) {
43
+ data[paramNames[i]] = args[i];
44
+ }
45
+ }
46
+ context.program.stateMap(stateKey).set(target, data);
47
+ };
48
+ // The function name drives the `@<name>` text in the duplicate-decorator
49
+ // diagnostic; mirror the extern `$name` convention so the helper strips it.
50
+ Object.defineProperty(impl, "name", { value: `$${node.id.sv}` });
51
+ return impl;
52
+ }
53
+ /**
54
+ * Check if an auto decorator has been applied to a target.
55
+ * @param program - The current program.
56
+ * @param decoratorFqn - The fully-qualified name of the decorator (e.g., "MyLib.myDec").
57
+ * @param target - The type to check.
58
+ */
59
+ export function hasAutoDecorator(program, decoratorFqn, target) {
60
+ const key = getAutoDecoratorStateKey(decoratorFqn);
61
+ return program.stateMap(key).has(target);
62
+ }
63
+ /**
64
+ * Get the stored value for an auto decorator applied to a target.
65
+ * Always returns a record of `{ paramName: value }` (empty record `{}` for no-arg decorators).
66
+ * @param program - The current program.
67
+ * @param decoratorFqn - The fully-qualified name of the decorator (e.g., "MyLib.myDec").
68
+ * @param target - The type to get the value for.
69
+ * @returns The stored record, or `undefined` if the decorator was not applied.
70
+ */
71
+ export function getAutoDecoratorValue(program, decoratorFqn, target) {
72
+ const key = getAutoDecoratorStateKey(decoratorFqn);
73
+ return program.stateMap(key).get(target);
74
+ }
75
+ /**
76
+ * Get all targets that have a specific auto decorator applied, along with their stored values.
77
+ * @param program - The current program.
78
+ * @param decoratorFqn - The fully-qualified name of the decorator (e.g., "MyLib.myDec").
79
+ * @returns A map of target types to their stored values.
80
+ */
81
+ export function getAutoDecoratorTargets(program, decoratorFqn) {
82
+ const key = getAutoDecoratorStateKey(decoratorFqn);
83
+ return program.stateMap(key);
84
+ }
85
+ //# sourceMappingURL=auto-decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-decorator.js","sourceRoot":"","sources":["../../../src/core/auto-decorator.ts"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -3,6 +3,7 @@ import { docFromCommentDecorator, getIndexer } from "../lib/intrinsic/decorators
3
3
  import { $ } from "../typekit/index.js";
4
4
  import { DuplicateTracker } from "../utils/duplicate-tracker.js";
5
5
  import { MultiKeyMap, createRekeyableMap, isArray, mutate } from "../utils/misc.js";
6
+ import { createAutoDecoratorImplementation } from "./auto-decorator.js";
6
7
  import { createSymbol, getSymNode } from "./binder.js";
7
8
  import { createChangeIdentifierCodeFix } from "./compiler-code-fixes/change-identifier.codefix.js";
8
9
  import { createModelToObjectValueCodeFix, createTupleToArrayValueCodeFix, } from "./compiler-code-fixes/convert-to-value.codefix.js";
@@ -1371,8 +1372,18 @@ export function createChecker(program, resolver) {
1371
1372
  const namespace = getParentNamespaceType(node);
1372
1373
  compilerAssert(namespace, `Decorator ${node.id.sv} should have resolved a namespace or found the global namespace.`);
1373
1374
  const name = node.id.sv;
1374
- const implementation = symbol.value;
1375
- if (implementation === undefined) {
1375
+ const isAuto = (node.modifierFlags & 8 /* ModifierFlags.Auto */) !== 0;
1376
+ if (isAuto && !isCompilerFeatureEnabled(program, "auto-decorators", node)) {
1377
+ reportCheckerDiagnostic(createDiagnostic({
1378
+ code: "auto-decorator-disabled",
1379
+ target: node,
1380
+ }));
1381
+ }
1382
+ let implementation = symbol.value;
1383
+ if (isAuto) {
1384
+ implementation = createAutoDecoratorImplementation(symbol, node);
1385
+ }
1386
+ else if (implementation === undefined) {
1376
1387
  reportCheckerDiagnostic(createDiagnostic({ code: "missing-implementation", target: node }));
1377
1388
  }
1378
1389
  const decoratorType = createType({
@@ -1383,6 +1394,7 @@ export function createChecker(program, resolver) {
1383
1394
  target: checkFunctionParameter(ctx, node.target, true),
1384
1395
  parameters: node.parameters.map((param) => checkFunctionParameter(ctx, param, true)),
1385
1396
  implementation: implementation ?? (() => { }),
1397
+ declarationKind: isAuto ? "auto" : "extern",
1386
1398
  });
1387
1399
  namespace.decoratorDeclarations.set(name, decoratorType);
1388
1400
  linkType(ctx, links, decoratorType);
@@ -3371,24 +3383,30 @@ export function createChecker(program, resolver) {
3371
3383
  function checkStringTemplateExpresion(ctx, node) {
3372
3384
  let hasType = false;
3373
3385
  let hasValue = false;
3374
- const spanTypeOrValues = node.spans.map((span) => [span, checkNode(ctx, span.expression)]);
3386
+ const spanTypeOrValues = [];
3387
+ for (const span of node.spans) {
3388
+ const typeOrValue = checkNode(ctx, span.expression);
3389
+ // A null span is the value-world equivalent of `errorType`: the expression couldn't
3390
+ // produce a usable value (e.g. an already-reported error, or a function call that can't
3391
+ // be evaluated yet in a template declaration). Like `checkArrayValue`/`checkObjectValue`,
3392
+ // propagate the null up so the whole template resolves to null instead of fabricating a
3393
+ // partial string. It is re-evaluated against the real value when the template is instantiated.
3394
+ if (typeOrValue === null) {
3395
+ return null;
3396
+ }
3397
+ spanTypeOrValues.push([span, typeOrValue]);
3398
+ }
3375
3399
  for (const [_, typeOrValue] of spanTypeOrValues) {
3376
- if (typeOrValue !== null) {
3377
- if (isValue(typeOrValue)) {
3378
- hasValue = true;
3379
- }
3380
- else if ("kind" in typeOrValue &&
3381
- (typeOrValue.kind === "TemplateParameter" ||
3382
- typeOrValue.kind === "TemplateParameterAccess")) {
3383
- if (typeOrValue.constraint) {
3384
- if (typeOrValue.constraint.valueType) {
3385
- hasValue = true;
3386
- }
3387
- if (typeOrValue.constraint.type) {
3388
- hasType = true;
3389
- }
3400
+ if (isValue(typeOrValue)) {
3401
+ hasValue = true;
3402
+ }
3403
+ else if ("kind" in typeOrValue &&
3404
+ (typeOrValue.kind === "TemplateParameter" || typeOrValue.kind === "TemplateParameterAccess")) {
3405
+ if (typeOrValue.constraint) {
3406
+ if (typeOrValue.constraint.valueType) {
3407
+ hasValue = true;
3390
3408
  }
3391
- else {
3409
+ if (typeOrValue.constraint.type) {
3392
3410
  hasType = true;
3393
3411
  }
3394
3412
  }
@@ -3396,6 +3414,9 @@ export function createChecker(program, resolver) {
3396
3414
  hasType = true;
3397
3415
  }
3398
3416
  }
3417
+ else {
3418
+ hasType = true;
3419
+ }
3399
3420
  }
3400
3421
  if (hasType && hasValue) {
3401
3422
  reportCheckerDiagnostic(createDiagnostic({
@@ -3407,11 +3428,10 @@ export function createChecker(program, resolver) {
3407
3428
  if (hasValue) {
3408
3429
  let str = node.head.value;
3409
3430
  for (const [span, typeOrValue] of spanTypeOrValues) {
3410
- if (typeOrValue !== null &&
3411
- (!("kind" in typeOrValue) ||
3412
- (typeOrValue.kind !== "TemplateParameter" &&
3413
- typeOrValue.kind !== "TemplateParameterAccess"))) {
3414
- compilerAssert(typeOrValue !== null && isValue(typeOrValue), "Expected value.");
3431
+ if (!("kind" in typeOrValue) ||
3432
+ (typeOrValue.kind !== "TemplateParameter" &&
3433
+ typeOrValue.kind !== "TemplateParameterAccess")) {
3434
+ compilerAssert(isValue(typeOrValue), "Expected value.");
3415
3435
  str += stringifyValueForTemplate(typeOrValue);
3416
3436
  }
3417
3437
  str += span.literal.value;
@@ -3423,7 +3443,7 @@ export function createChecker(program, resolver) {
3423
3443
  let stringValue = node.head.value;
3424
3444
  const spans = [createTemplateSpanLiteral(node.head)];
3425
3445
  for (const [span, typeOrValue] of spanTypeOrValues) {
3426
- compilerAssert(typeOrValue !== null && !isValue(typeOrValue), "Expected type.");
3446
+ compilerAssert(!isValue(typeOrValue), "Expected type.");
3427
3447
  const type = typeOrValue.entityKind === "Indeterminate" ? typeOrValue.type : typeOrValue;
3428
3448
  const spanValue = createTemplateSpanValue(span.expression, type);
3429
3449
  spans.push(spanValue);
@@ -5086,9 +5106,10 @@ export function createChecker(program, resolver) {
5086
5106
  if (hasError || argsHaveError) {
5087
5107
  return undefined;
5088
5108
  }
5109
+ const impl = sym.value ?? symbolLinks.declaredType?.implementation;
5089
5110
  return {
5090
5111
  definition: symbolLinks.declaredType,
5091
- decorator: sym.value ?? ((...args) => { }),
5112
+ decorator: impl ?? ((...args) => { }),
5092
5113
  node: decNode,
5093
5114
  args,
5094
5115
  };