@typespec/compiler 1.10.0-dev.3 → 1.10.0-dev.6

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 (73) hide show
  1. package/dist/generated-defs/TypeSpec.Prototypes.ts-test.js +1 -1
  2. package/dist/generated-defs/TypeSpec.Prototypes.ts-test.js.map +1 -1
  3. package/dist/generated-defs/TypeSpec.ts-test.js +1 -1
  4. package/dist/generated-defs/TypeSpec.ts-test.js.map +1 -1
  5. package/dist/manifest.js +2 -2
  6. package/dist/src/core/binder.d.ts.map +1 -1
  7. package/dist/src/core/binder.js +10 -8
  8. package/dist/src/core/binder.js.map +1 -1
  9. package/dist/src/core/checker.d.ts.map +1 -1
  10. package/dist/src/core/checker.js +485 -46
  11. package/dist/src/core/checker.js.map +1 -1
  12. package/dist/src/core/helpers/type-name-utils.d.ts.map +1 -1
  13. package/dist/src/core/helpers/type-name-utils.js +13 -0
  14. package/dist/src/core/helpers/type-name-utils.js.map +1 -1
  15. package/dist/src/core/js-marshaller.d.ts +4 -2
  16. package/dist/src/core/js-marshaller.d.ts.map +1 -1
  17. package/dist/src/core/js-marshaller.js +96 -6
  18. package/dist/src/core/js-marshaller.js.map +1 -1
  19. package/dist/src/core/messages.d.ts +101 -12
  20. package/dist/src/core/messages.d.ts.map +1 -1
  21. package/dist/src/core/messages.js +27 -2
  22. package/dist/src/core/messages.js.map +1 -1
  23. package/dist/src/core/name-resolver.d.ts.map +1 -1
  24. package/dist/src/core/name-resolver.js +30 -0
  25. package/dist/src/core/name-resolver.js.map +1 -1
  26. package/dist/src/core/parser.d.ts.map +1 -1
  27. package/dist/src/core/parser.js +34 -6
  28. package/dist/src/core/parser.js.map +1 -1
  29. package/dist/src/core/scanner.d.ts +5 -5
  30. package/dist/src/core/scanner.d.ts.map +1 -1
  31. package/dist/src/core/scanner.js +8 -8
  32. package/dist/src/core/scanner.js.map +1 -1
  33. package/dist/src/core/semantic-walker.d.ts +3 -3
  34. package/dist/src/core/semantic-walker.d.ts.map +1 -1
  35. package/dist/src/core/semantic-walker.js +63 -44
  36. package/dist/src/core/semantic-walker.js.map +1 -1
  37. package/dist/src/core/type-relation-checker.d.ts.map +1 -1
  38. package/dist/src/core/type-relation-checker.js +157 -10
  39. package/dist/src/core/type-relation-checker.js.map +1 -1
  40. package/dist/src/core/types.d.ts +187 -23
  41. package/dist/src/core/types.d.ts.map +1 -1
  42. package/dist/src/core/types.js +1 -0
  43. package/dist/src/core/types.js.map +1 -1
  44. package/dist/src/experimental/typekit/index.d.ts.map +1 -1
  45. package/dist/src/experimental/typekit/index.js.map +1 -1
  46. package/dist/src/formatter/print/printer.d.ts.map +1 -1
  47. package/dist/src/formatter/print/printer.js +13 -0
  48. package/dist/src/formatter/print/printer.js.map +1 -1
  49. package/dist/src/index.d.ts +3 -2
  50. package/dist/src/index.d.ts.map +1 -1
  51. package/dist/src/index.js +2 -1
  52. package/dist/src/index.js.map +1 -1
  53. package/dist/src/lib/examples.d.ts +10 -3
  54. package/dist/src/lib/examples.d.ts.map +1 -1
  55. package/dist/src/lib/examples.js +22 -7
  56. package/dist/src/lib/examples.js.map +1 -1
  57. package/dist/src/server/type-signature.js +19 -0
  58. package/dist/src/server/type-signature.js.map +1 -1
  59. package/package.json +1 -1
  60. package/templates/__snapshots__/emitter-ts/eslint.config.js +10 -1
  61. package/templates/__snapshots__/emitter-ts/package.json +1 -2
  62. package/templates/__snapshots__/emitter-ts/test/test-host.ts +7 -34
  63. package/templates/__snapshots__/library-ts/eslint.config.js +10 -1
  64. package/templates/__snapshots__/library-ts/package.json +1 -2
  65. package/templates/__snapshots__/library-ts/test/decorators.test.ts +18 -23
  66. package/templates/__snapshots__/library-ts/test/test-host.ts +5 -15
  67. package/templates/emitter-ts/eslint.config.js +10 -1
  68. package/templates/emitter-ts/package.json +1 -2
  69. package/templates/emitter-ts/test/test-host.ts.mu +7 -34
  70. package/templates/library-ts/eslint.config.js +10 -1
  71. package/templates/library-ts/package.json +1 -2
  72. package/templates/library-ts/test/decorators.test.ts.mu +18 -23
  73. package/templates/library-ts/test/test-host.ts.mu +5 -15
@@ -1 +1 @@
1
- {"version":3,"file":"type-name-utils.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/type-name-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EAMN,SAAS,EAIT,IAAI,EAGL,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAuCzE;AAuBD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAkB/E;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAO5D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAavF"}
1
+ {"version":3,"file":"type-name-utils.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/type-name-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EAON,SAAS,EAIT,IAAI,EAGL,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAyCzE;AAmCD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAkB/E;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAO5D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAavF"}
@@ -38,10 +38,20 @@ export function getTypeName(type, options) {
38
38
  return type.value.toString();
39
39
  case "Intrinsic":
40
40
  return type.name;
41
+ case "FunctionType":
42
+ return getFunctionSignature(type);
41
43
  default:
42
44
  return `(unnamed type)`;
43
45
  }
44
46
  }
47
+ function getFunctionSignature(type) {
48
+ const parameters = [...type.parameters].map((x) => {
49
+ const rest = x.rest ? "..." : "";
50
+ const optional = x.optional ? "?" : "";
51
+ return `${rest}${x.name}${optional}: ${getEntityName(x.type)}`;
52
+ });
53
+ return `fn (${parameters.join(", ")}) => ${getEntityName(type.returnType)}`;
54
+ }
45
55
  function getValuePreview(value, options) {
46
56
  switch (value.valueKind) {
47
57
  case "ObjectValue":
@@ -60,6 +70,9 @@ function getValuePreview(value, options) {
60
70
  return "null";
61
71
  case "ScalarValue":
62
72
  return `${getTypeName(value.type, options)}.${value.value.name}(${value.value.args.map((x) => getValuePreview(x, options)).join(", ")}})`;
73
+ case "Function": {
74
+ return `fn ${value.name ?? "<anonymous>"}`;
75
+ }
63
76
  }
64
77
  }
65
78
  export function getEntityName(entity, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"type-name-utils.js","sourceRoot":"","sources":["../../../../src/core/helpers/type-name-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-name-utils.js","sourceRoot":"","sources":["../../../../src/core/helpers/type-name-utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- import type { MarshalledValue, Type, Value } from "./types.js";
2
- export declare function marshallTypeForJS<T extends Value>(value: T, valueConstraint: Type | undefined): MarshalledValue<T>;
1
+ import { Program } from "./program.js";
2
+ import type { MarshalledValue, TemplateValue, Type, Value } from "./types.js";
3
+ export declare function marshalTypeForJs<T extends Value | TemplateValue>(value: T, valueConstraint: Type | undefined): MarshalledValue<T>;
3
4
  export declare function canNumericConstraintBeJsNumber(type: Type | undefined): boolean;
5
+ export declare function unmarshalJsToValue(program: Program, value: unknown, onInvalid: (value: unknown) => void): Value | null;
4
6
  //# sourceMappingURL=js-marshaller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"js-marshaller.d.ts","sourceRoot":"","sources":["../../../src/core/js-marshaller.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,eAAe,EAIf,IAAI,EACJ,KAAK,EACN,MAAM,YAAY,CAAC;AAEpB,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,KAAK,EAC/C,KAAK,EAAE,CAAC,EACR,eAAe,EAAE,IAAI,GAAG,SAAS,GAChC,eAAe,CAAC,CAAC,CAAC,CAkBpB;AAcD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,CAc9E"}
1
+ {"version":3,"file":"js-marshaller.d.ts","sourceRoot":"","sources":["../../../src/core/js-marshaller.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EAEV,eAAe,EAKf,aAAa,EACb,IAAI,EACJ,KAAK,EACN,MAAM,YAAY,CAAC;AAEpB,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,KAAK,GAAG,aAAa,EAC9D,KAAK,EAAE,CAAC,EACR,eAAe,EAAE,IAAI,GAAG,SAAS,GAChC,eAAe,CAAC,CAAC,CAAC,CAwBpB;AAcD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,CAc9E;AA0BD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAClC,KAAK,GAAG,IAAI,CAyFd"}
@@ -1,6 +1,8 @@
1
+ import { $ } from "../typekit/index.js";
1
2
  import { compilerAssert } from "./diagnostics.js";
2
3
  import { numericRanges } from "./numeric-ranges.js";
3
- export function marshallTypeForJS(value, valueConstraint) {
4
+ import { Numeric } from "./numeric.js";
5
+ export function marshalTypeForJs(value, valueConstraint) {
4
6
  switch (value.valueKind) {
5
7
  case "BooleanValue":
6
8
  case "StringValue":
@@ -11,12 +13,15 @@ export function marshallTypeForJS(value, valueConstraint) {
11
13
  return objectValueToJs(value);
12
14
  case "ArrayValue":
13
15
  return arrayValueToJs(value);
14
- case "EnumValue":
15
- return value;
16
16
  case "NullValue":
17
+ case "TemplateValue":
17
18
  return null;
18
19
  case "ScalarValue":
20
+ case "EnumValue":
21
+ case "Function":
19
22
  return value;
23
+ default:
24
+ compilerAssert(false, `Cannot marshal value of kind '${value.valueKind}' to JS.`);
20
25
  }
21
26
  }
22
27
  function isNumericScalar(scalar) {
@@ -50,7 +55,7 @@ function numericValueToJs(type, valueConstraint) {
50
55
  const canBeANumber = canNumericConstraintBeJsNumber(valueConstraint);
51
56
  if (canBeANumber) {
52
57
  const asNumber = type.value.asNumber();
53
- compilerAssert(asNumber !== null, `Numeric value '${type.value.toString()}' is not a able to convert to a number without loosing precision.`);
58
+ compilerAssert(asNumber !== null, `Numeric value '${type.value.toString()}' is not a able to convert to a number without losing precision.`);
54
59
  return asNumber;
55
60
  }
56
61
  return type.value;
@@ -58,11 +63,96 @@ function numericValueToJs(type, valueConstraint) {
58
63
  function objectValueToJs(type) {
59
64
  const result = {};
60
65
  for (const [key, value] of type.properties) {
61
- result[key] = marshallTypeForJS(value.value, undefined);
66
+ result[key] = marshalTypeForJs(value.value, undefined);
62
67
  }
63
68
  return result;
64
69
  }
65
70
  function arrayValueToJs(type) {
66
- return type.values.map((x) => marshallTypeForJS(x, undefined));
71
+ return type.values.map((x) => marshalTypeForJs(x, undefined));
72
+ }
73
+ export function unmarshalJsToValue(program, value, onInvalid) {
74
+ if (typeof value === "object" &&
75
+ value !== null &&
76
+ "entityKind" in value &&
77
+ value.entityKind === "Value") {
78
+ return value;
79
+ }
80
+ if (value === null || value === undefined) {
81
+ return {
82
+ entityKind: "Value",
83
+ valueKind: "NullValue",
84
+ value: null,
85
+ type: program.checker.nullType,
86
+ };
87
+ }
88
+ else if (typeof value === "boolean") {
89
+ const boolean = program.checker.getStdType("boolean");
90
+ return {
91
+ entityKind: "Value",
92
+ valueKind: "BooleanValue",
93
+ value,
94
+ type: boolean,
95
+ scalar: boolean,
96
+ };
97
+ }
98
+ else if (typeof value === "string") {
99
+ const string = program.checker.getStdType("string");
100
+ return {
101
+ entityKind: "Value",
102
+ valueKind: "StringValue",
103
+ value,
104
+ type: string,
105
+ scalar: string,
106
+ };
107
+ }
108
+ else if (typeof value === "number") {
109
+ const numeric = Numeric(String(value));
110
+ const numericType = program.checker.getStdType("numeric");
111
+ return {
112
+ entityKind: "Value",
113
+ valueKind: "NumericValue",
114
+ value: numeric,
115
+ type: $(program).literal.create(value),
116
+ scalar: numericType,
117
+ };
118
+ }
119
+ else if (Array.isArray(value)) {
120
+ const values = [];
121
+ const uniqueTypes = new Set();
122
+ for (const item of value) {
123
+ const itemValue = unmarshalJsToValue(program, item, onInvalid);
124
+ if (itemValue) {
125
+ values.push(itemValue);
126
+ uniqueTypes.add(itemValue.type);
127
+ }
128
+ }
129
+ return {
130
+ entityKind: "Value",
131
+ valueKind: "ArrayValue",
132
+ type: $(program).array.create($(program).union.create([...uniqueTypes])),
133
+ values,
134
+ };
135
+ }
136
+ else if (typeof value === "object" && !("entityKind" in value)) {
137
+ const properties = new Map();
138
+ for (const [key, val] of Object.entries(value)) {
139
+ const propertyValue = unmarshalJsToValue(program, val, onInvalid);
140
+ if (propertyValue) {
141
+ properties.set(key, { name: key, value: propertyValue });
142
+ }
143
+ }
144
+ return {
145
+ entityKind: "Value",
146
+ valueKind: "ObjectValue",
147
+ properties,
148
+ type: $(program).model.create({
149
+ properties: Object.fromEntries([...properties.entries()].map(([k, v]) => [k, $(program).modelProperty.create({ name: k, type: v.value.type })])),
150
+ }),
151
+ };
152
+ }
153
+ else {
154
+ onInvalid(value);
155
+ return null;
156
+ }
67
157
  }
68
158
  //# sourceMappingURL=js-marshaller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"js-marshaller.js","sourceRoot":"","sources":["../../../src/core/js-marshaller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAYpD,MAAM,UAAU,iBAAiB,CAC/B,KAAQ,EACR,eAAiC;IAEjC,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC;QACxB,KAAK,cAAc,CAAC;QACpB,KAAK,aAAa;YAChB,OAAO,KAAK,CAAC,KAAY,CAAC;QAC5B,KAAK,cAAc;YACjB,OAAO,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAQ,CAAC;QACzD,KAAK,aAAa;YAChB,OAAO,eAAe,CAAC,KAAK,CAAQ,CAAC;QACvC,KAAK,YAAY;YACf,OAAO,cAAc,CAAC,KAAK,CAAQ,CAAC;QACtC,KAAK,WAAW;YACd,OAAO,KAAY,CAAC;QACtB,KAAK,WAAW;YACd,OAAO,IAAW,CAAC;QACrB,KAAK,aAAa;YAChB,OAAO,KAAY,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,IAAI,OAAO,GAAuB,MAAM,CAAC;IAEzC,OAAO,OAAO,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YACzE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAsB;IACnE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,OAAO,aAAa,CAAC,IAAI,CAAC,IAAkC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC;YACd,CAAC;QACH,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1F;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAkB,EAAE,eAAiC;IAC7E,MAAM,YAAY,GAAG,8BAA8B,CAAC,eAAe,CAAC,CAAC;IACrE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvC,cAAc,CACZ,QAAQ,KAAK,IAAI,EACjB,kBAAkB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,mEAAmE,CAC3G,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,IAAiB;IACxC,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,SAAS,cAAc,CAAC,IAAgB;IACtC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"js-marshaller.js","sourceRoot":"","sources":["../../../src/core/js-marshaller.ts"],"names":[],"mappings":"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"}
@@ -231,6 +231,13 @@ declare const diagnostics: {
231
231
  /**
232
232
  * Checker
233
233
  */
234
+ readonly "experimental-feature": {
235
+ readonly severity: "warning";
236
+ readonly messages: {
237
+ readonly default: import("./types.js").CallableMessage<["feature"]>;
238
+ readonly functionDeclarations: "Function declarations are an experimental feature that may change in the future. Use with caution and consider providing feedback to the TypeSpec team.";
239
+ };
240
+ };
234
241
  readonly "using-invalid-ref": {
235
242
  readonly severity: "error";
236
243
  readonly messages: {
@@ -375,12 +382,14 @@ declare const diagnostics: {
375
382
  readonly modelExpression: "Is a model expression type, but is being used as a value here. Use #{} to create an object value.";
376
383
  readonly tuple: "Is a tuple type, but is being used as a value here. Use #[] to create an array value.";
377
384
  readonly templateConstraint: import("./types.js").CallableMessage<["name"]>;
385
+ readonly functionReturn: import("./types.js").CallableMessage<[]>;
378
386
  };
379
387
  };
380
388
  readonly "non-callable": {
381
389
  readonly severity: "error";
382
390
  readonly messages: {
383
391
  readonly default: import("./types.js").CallableMessage<["type"]>;
392
+ readonly templateParameter: import("./types.js").CallableMessage<["name", "constraint"]>;
384
393
  };
385
394
  };
386
395
  readonly "named-init-required": {
@@ -420,6 +429,14 @@ declare const diagnostics: {
420
429
  readonly default: import("./types.js").CallableMessage<["propName", "targetType"]>;
421
430
  };
422
431
  };
432
+ readonly "parameter-required": {
433
+ readonly severity: "error";
434
+ readonly messages: {
435
+ readonly default: import("./types.js").CallableMessage<["paramName"]>;
436
+ readonly missing: import("./types.js").CallableMessage<["paramName"]>;
437
+ readonly "rest-to-required": import("./types.js").CallableMessage<["paramName"]>;
438
+ };
439
+ };
423
440
  readonly "value-in-type": {
424
441
  readonly severity: "error";
425
442
  readonly messages: {
@@ -518,10 +535,18 @@ declare const diagnostics: {
518
535
  readonly default: "A function declaration must be prefixed with the 'extern' modifier.";
519
536
  };
520
537
  };
521
- readonly "function-unsupported": {
538
+ readonly "function-return": {
539
+ readonly severity: "error";
540
+ readonly messages: {
541
+ readonly default: "Function implementation returned an invalid result.";
542
+ readonly "invalid-value": import("./types.js").CallableMessage<["value"]>;
543
+ readonly unassignable: import("./types.js").CallableMessage<["name", "entityKind", "return", "type"]>;
544
+ };
545
+ };
546
+ readonly "fn-in-union-expression": {
522
547
  readonly severity: "error";
523
548
  readonly messages: {
524
- readonly default: "Function are currently not supported.";
549
+ readonly default: "Function types in anonymous union expressions must be parenthesized.";
525
550
  };
526
551
  };
527
552
  readonly "missing-implementation": {
@@ -1026,7 +1051,7 @@ declare const diagnostics: {
1026
1051
  };
1027
1052
  };
1028
1053
  export type CompilerDiagnostics = TypeOfDiagnostics<typeof diagnostics>;
1029
- export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-expected" | "binary-digit-expected" | "unterminated" | "creating-file" | "invalid-escape-sequence" | "no-new-line-start-triple-quote" | "no-new-line-end-triple-quote" | "triple-quote-indent" | "invalid-character" | "file-not-found" | "file-load" | "init-template-invalid-json" | "init-template-download-failed" | "multiple-blockless-namespace" | "blockless-namespace-first" | "import-first" | "token-expected" | "unknown-directive" | "augment-decorator-target" | "duplicate-decorator" | "decorator-conflict" | "reserved-identifier" | "invalid-directive-location" | "invalid-decorator-location" | "default-required" | "invalid-template-argument-name" | "invalid-template-default" | "required-parameter-first" | "rest-parameter-last" | "rest-parameter-required" | "doc-invalid-identifier" | "using-invalid-ref" | "invalid-type-ref" | "invalid-template-args" | "intersect-non-model" | "intersect-invalid-index" | "incompatible-indexer" | "no-array-properties" | "intersect-duplicate-property" | "invalid-decorator" | "invalid-ref" | "duplicate-property" | "override-property-mismatch" | "extend-scalar" | "extend-model" | "is-model" | "is-operation" | "spread-model" | "unsupported-default" | "spread-object" | "expect-value" | "non-callable" | "named-init-required" | "invalid-primitive-init" | "ambiguous-scalar-type" | "unassignable" | "property-unassignable" | "property-required" | "value-in-type" | "no-prop" | "missing-index" | "missing-property" | "unexpected-property" | "extends-interface" | "extends-interface-duplicate" | "interface-duplicate" | "union-duplicate" | "enum-member-duplicate" | "constructor-duplicate" | "spread-enum" | "decorator-fail" | "rest-parameter-array" | "decorator-extern" | "function-extern" | "function-unsupported" | "missing-implementation" | "overload-same-parent" | "shadow" | "invalid-deprecation-argument" | "duplicate-deprecation" | "config-invalid-argument" | "config-circular-variable" | "config-path-absolute" | "config-invalid-name" | "path-unix-style" | "config-path-not-found" | "dynamic-import" | "invalid-import" | "invalid-main" | "import-not-found" | "library-invalid" | "incompatible-library" | "compiler-version-mismatch" | "duplicate-symbol" | "decorator-decl-target" | "mixed-string-template" | "non-literal-string-template" | "ambiguous-symbol" | "duplicate-using" | "on-validate-fail" | "invalid-emitter" | "js-error" | "missing-import" | "invalid-rule-ref" | "unknown-rule" | "unknown-rule-set" | "rule-enabled-disabled" | "format-failed" | "invalid-pattern-regex" | "decorator-wrong-target" | "invalid-argument" | "invalid-argument-count" | "known-values-invalid-enum" | "invalid-value" | "deprecated" | "no-optional-key" | "invalid-discriminated-union" | "invalid-discriminated-union-variant" | "missing-discriminator-property" | "invalid-discriminator-value" | "invalid-encode" | "invalid-mime-type" | "no-mime-type-suffix" | "encoded-name-conflict" | "incompatible-paging-props" | "invalid-paging-prop" | "duplicate-paging-prop" | "missing-paging-items" | "service-decorator-duplicate" | "list-type-not-model" | "invalid-range" | "add-response" | "add-parameter" | "add-model-property" | "add-model-property-fail" | "add-response-type" | "circular-base-type" | "circular-constraint" | "circular-op-signature" | "circular-alias-type" | "circular-const" | "circular-prop" | "conflict-marker" | "visibility-sealed" | "default-visibility-not-member" | "operation-visibility-constraint-empty" | "no-compatible-vs-installed" | "vs-extension-windows-only" | "vscode-in-path" | "invalid-option-flag", M extends keyof {
1054
+ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-expected" | "binary-digit-expected" | "unterminated" | "creating-file" | "invalid-escape-sequence" | "no-new-line-start-triple-quote" | "no-new-line-end-triple-quote" | "triple-quote-indent" | "invalid-character" | "file-not-found" | "file-load" | "init-template-invalid-json" | "init-template-download-failed" | "multiple-blockless-namespace" | "blockless-namespace-first" | "import-first" | "token-expected" | "unknown-directive" | "augment-decorator-target" | "duplicate-decorator" | "decorator-conflict" | "reserved-identifier" | "invalid-directive-location" | "invalid-decorator-location" | "default-required" | "invalid-template-argument-name" | "invalid-template-default" | "required-parameter-first" | "rest-parameter-last" | "rest-parameter-required" | "doc-invalid-identifier" | "experimental-feature" | "using-invalid-ref" | "invalid-type-ref" | "invalid-template-args" | "intersect-non-model" | "intersect-invalid-index" | "incompatible-indexer" | "no-array-properties" | "intersect-duplicate-property" | "invalid-decorator" | "invalid-ref" | "duplicate-property" | "override-property-mismatch" | "extend-scalar" | "extend-model" | "is-model" | "is-operation" | "spread-model" | "unsupported-default" | "spread-object" | "expect-value" | "non-callable" | "named-init-required" | "invalid-primitive-init" | "ambiguous-scalar-type" | "unassignable" | "property-unassignable" | "property-required" | "parameter-required" | "value-in-type" | "no-prop" | "missing-index" | "missing-property" | "unexpected-property" | "extends-interface" | "extends-interface-duplicate" | "interface-duplicate" | "union-duplicate" | "enum-member-duplicate" | "constructor-duplicate" | "spread-enum" | "decorator-fail" | "rest-parameter-array" | "decorator-extern" | "function-extern" | "function-return" | "invalid-value" | "fn-in-union-expression" | "missing-implementation" | "overload-same-parent" | "shadow" | "invalid-deprecation-argument" | "duplicate-deprecation" | "config-invalid-argument" | "config-circular-variable" | "config-path-absolute" | "config-invalid-name" | "path-unix-style" | "config-path-not-found" | "dynamic-import" | "invalid-import" | "invalid-main" | "import-not-found" | "library-invalid" | "incompatible-library" | "compiler-version-mismatch" | "duplicate-symbol" | "decorator-decl-target" | "mixed-string-template" | "non-literal-string-template" | "ambiguous-symbol" | "duplicate-using" | "on-validate-fail" | "invalid-emitter" | "js-error" | "missing-import" | "invalid-rule-ref" | "unknown-rule" | "unknown-rule-set" | "rule-enabled-disabled" | "format-failed" | "invalid-pattern-regex" | "decorator-wrong-target" | "invalid-argument" | "invalid-argument-count" | "known-values-invalid-enum" | "deprecated" | "no-optional-key" | "invalid-discriminated-union" | "invalid-discriminated-union-variant" | "missing-discriminator-property" | "invalid-discriminator-value" | "invalid-encode" | "invalid-mime-type" | "no-mime-type-suffix" | "encoded-name-conflict" | "incompatible-paging-props" | "invalid-paging-prop" | "duplicate-paging-prop" | "missing-paging-items" | "service-decorator-duplicate" | "list-type-not-model" | "invalid-range" | "add-response" | "add-parameter" | "add-model-property" | "add-model-property-fail" | "add-response-type" | "circular-base-type" | "circular-constraint" | "circular-op-signature" | "circular-alias-type" | "circular-const" | "circular-prop" | "conflict-marker" | "visibility-sealed" | "default-visibility-not-member" | "operation-visibility-constraint-empty" | "no-compatible-vs-installed" | "vs-extension-windows-only" | "vscode-in-path" | "invalid-option-flag", M extends keyof {
1030
1055
  "digit-expected": {
1031
1056
  readonly default: "Digit expected.";
1032
1057
  };
@@ -1141,6 +1166,10 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
1141
1166
  readonly prop: "Invalid property name.";
1142
1167
  readonly templateParam: "Invalid template parameter name.";
1143
1168
  };
1169
+ "experimental-feature": {
1170
+ readonly default: import("./types.js").CallableMessage<["feature"]>;
1171
+ readonly functionDeclarations: "Function declarations are an experimental feature that may change in the future. Use with caution and consider providing feedback to the TypeSpec team.";
1172
+ };
1144
1173
  "using-invalid-ref": {
1145
1174
  readonly default: "Using must refer to a namespace";
1146
1175
  };
@@ -1226,9 +1255,11 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
1226
1255
  readonly modelExpression: "Is a model expression type, but is being used as a value here. Use #{} to create an object value.";
1227
1256
  readonly tuple: "Is a tuple type, but is being used as a value here. Use #[] to create an array value.";
1228
1257
  readonly templateConstraint: import("./types.js").CallableMessage<["name"]>;
1258
+ readonly functionReturn: import("./types.js").CallableMessage<[]>;
1229
1259
  };
1230
1260
  "non-callable": {
1231
1261
  readonly default: import("./types.js").CallableMessage<["type"]>;
1262
+ readonly templateParameter: import("./types.js").CallableMessage<["name", "constraint"]>;
1232
1263
  };
1233
1264
  "named-init-required": {
1234
1265
  readonly default: import("./types.js").CallableMessage<[]>;
@@ -1249,6 +1280,11 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
1249
1280
  "property-required": {
1250
1281
  readonly default: import("./types.js").CallableMessage<["propName", "targetType"]>;
1251
1282
  };
1283
+ "parameter-required": {
1284
+ readonly default: import("./types.js").CallableMessage<["paramName"]>;
1285
+ readonly missing: import("./types.js").CallableMessage<["paramName"]>;
1286
+ readonly "rest-to-required": import("./types.js").CallableMessage<["paramName"]>;
1287
+ };
1252
1288
  "value-in-type": {
1253
1289
  readonly default: "A value cannot be used as a type.";
1254
1290
  readonly referenceTemplate: "Template parameter can be passed values but is used as a type.";
@@ -1299,8 +1335,13 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
1299
1335
  "function-extern": {
1300
1336
  readonly default: "A function declaration must be prefixed with the 'extern' modifier.";
1301
1337
  };
1302
- "function-unsupported": {
1303
- readonly default: "Function are currently not supported.";
1338
+ "function-return": {
1339
+ readonly default: "Function implementation returned an invalid result.";
1340
+ readonly "invalid-value": import("./types.js").CallableMessage<["value"]>;
1341
+ readonly unassignable: import("./types.js").CallableMessage<["name", "entityKind", "return", "type"]>;
1342
+ };
1343
+ "fn-in-union-expression": {
1344
+ readonly default: "Function types in anonymous union expressions must be parenthesized.";
1304
1345
  };
1305
1346
  "missing-implementation": {
1306
1347
  readonly default: "Extern declaration must have an implementation in JS file.";
@@ -1665,6 +1706,10 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
1665
1706
  readonly prop: "Invalid property name.";
1666
1707
  readonly templateParam: "Invalid template parameter name.";
1667
1708
  };
1709
+ "experimental-feature": {
1710
+ readonly default: import("./types.js").CallableMessage<["feature"]>;
1711
+ readonly functionDeclarations: "Function declarations are an experimental feature that may change in the future. Use with caution and consider providing feedback to the TypeSpec team.";
1712
+ };
1668
1713
  "using-invalid-ref": {
1669
1714
  readonly default: "Using must refer to a namespace";
1670
1715
  };
@@ -1750,9 +1795,11 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
1750
1795
  readonly modelExpression: "Is a model expression type, but is being used as a value here. Use #{} to create an object value.";
1751
1796
  readonly tuple: "Is a tuple type, but is being used as a value here. Use #[] to create an array value.";
1752
1797
  readonly templateConstraint: import("./types.js").CallableMessage<["name"]>;
1798
+ readonly functionReturn: import("./types.js").CallableMessage<[]>;
1753
1799
  };
1754
1800
  "non-callable": {
1755
1801
  readonly default: import("./types.js").CallableMessage<["type"]>;
1802
+ readonly templateParameter: import("./types.js").CallableMessage<["name", "constraint"]>;
1756
1803
  };
1757
1804
  "named-init-required": {
1758
1805
  readonly default: import("./types.js").CallableMessage<[]>;
@@ -1773,6 +1820,11 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
1773
1820
  "property-required": {
1774
1821
  readonly default: import("./types.js").CallableMessage<["propName", "targetType"]>;
1775
1822
  };
1823
+ "parameter-required": {
1824
+ readonly default: import("./types.js").CallableMessage<["paramName"]>;
1825
+ readonly missing: import("./types.js").CallableMessage<["paramName"]>;
1826
+ readonly "rest-to-required": import("./types.js").CallableMessage<["paramName"]>;
1827
+ };
1776
1828
  "value-in-type": {
1777
1829
  readonly default: "A value cannot be used as a type.";
1778
1830
  readonly referenceTemplate: "Template parameter can be passed values but is used as a type.";
@@ -1823,8 +1875,13 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
1823
1875
  "function-extern": {
1824
1876
  readonly default: "A function declaration must be prefixed with the 'extern' modifier.";
1825
1877
  };
1826
- "function-unsupported": {
1827
- readonly default: "Function are currently not supported.";
1878
+ "function-return": {
1879
+ readonly default: "Function implementation returned an invalid result.";
1880
+ readonly "invalid-value": import("./types.js").CallableMessage<["value"]>;
1881
+ readonly unassignable: import("./types.js").CallableMessage<["name", "entityKind", "return", "type"]>;
1882
+ };
1883
+ "fn-in-union-expression": {
1884
+ readonly default: "Function types in anonymous union expressions must be parenthesized.";
1828
1885
  };
1829
1886
  "missing-implementation": {
1830
1887
  readonly default: "Extern declaration must have an implementation in JS file.";
@@ -2074,7 +2131,7 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
2074
2131
  "invalid-option-flag": {
2075
2132
  readonly default: import("./types.js").CallableMessage<["value"]>;
2076
2133
  };
2077
- }, C, M>) => import("./types.js").Diagnostic, reportDiagnostic: <C extends "digit-expected" | "hex-digit-expected" | "binary-digit-expected" | "unterminated" | "creating-file" | "invalid-escape-sequence" | "no-new-line-start-triple-quote" | "no-new-line-end-triple-quote" | "triple-quote-indent" | "invalid-character" | "file-not-found" | "file-load" | "init-template-invalid-json" | "init-template-download-failed" | "multiple-blockless-namespace" | "blockless-namespace-first" | "import-first" | "token-expected" | "unknown-directive" | "augment-decorator-target" | "duplicate-decorator" | "decorator-conflict" | "reserved-identifier" | "invalid-directive-location" | "invalid-decorator-location" | "default-required" | "invalid-template-argument-name" | "invalid-template-default" | "required-parameter-first" | "rest-parameter-last" | "rest-parameter-required" | "doc-invalid-identifier" | "using-invalid-ref" | "invalid-type-ref" | "invalid-template-args" | "intersect-non-model" | "intersect-invalid-index" | "incompatible-indexer" | "no-array-properties" | "intersect-duplicate-property" | "invalid-decorator" | "invalid-ref" | "duplicate-property" | "override-property-mismatch" | "extend-scalar" | "extend-model" | "is-model" | "is-operation" | "spread-model" | "unsupported-default" | "spread-object" | "expect-value" | "non-callable" | "named-init-required" | "invalid-primitive-init" | "ambiguous-scalar-type" | "unassignable" | "property-unassignable" | "property-required" | "value-in-type" | "no-prop" | "missing-index" | "missing-property" | "unexpected-property" | "extends-interface" | "extends-interface-duplicate" | "interface-duplicate" | "union-duplicate" | "enum-member-duplicate" | "constructor-duplicate" | "spread-enum" | "decorator-fail" | "rest-parameter-array" | "decorator-extern" | "function-extern" | "function-unsupported" | "missing-implementation" | "overload-same-parent" | "shadow" | "invalid-deprecation-argument" | "duplicate-deprecation" | "config-invalid-argument" | "config-circular-variable" | "config-path-absolute" | "config-invalid-name" | "path-unix-style" | "config-path-not-found" | "dynamic-import" | "invalid-import" | "invalid-main" | "import-not-found" | "library-invalid" | "incompatible-library" | "compiler-version-mismatch" | "duplicate-symbol" | "decorator-decl-target" | "mixed-string-template" | "non-literal-string-template" | "ambiguous-symbol" | "duplicate-using" | "on-validate-fail" | "invalid-emitter" | "js-error" | "missing-import" | "invalid-rule-ref" | "unknown-rule" | "unknown-rule-set" | "rule-enabled-disabled" | "format-failed" | "invalid-pattern-regex" | "decorator-wrong-target" | "invalid-argument" | "invalid-argument-count" | "known-values-invalid-enum" | "invalid-value" | "deprecated" | "no-optional-key" | "invalid-discriminated-union" | "invalid-discriminated-union-variant" | "missing-discriminator-property" | "invalid-discriminator-value" | "invalid-encode" | "invalid-mime-type" | "no-mime-type-suffix" | "encoded-name-conflict" | "incompatible-paging-props" | "invalid-paging-prop" | "duplicate-paging-prop" | "missing-paging-items" | "service-decorator-duplicate" | "list-type-not-model" | "invalid-range" | "add-response" | "add-parameter" | "add-model-property" | "add-model-property-fail" | "add-response-type" | "circular-base-type" | "circular-constraint" | "circular-op-signature" | "circular-alias-type" | "circular-const" | "circular-prop" | "conflict-marker" | "visibility-sealed" | "default-visibility-not-member" | "operation-visibility-constraint-empty" | "no-compatible-vs-installed" | "vs-extension-windows-only" | "vscode-in-path" | "invalid-option-flag", M extends keyof {
2134
+ }, C, M>) => import("./types.js").Diagnostic, reportDiagnostic: <C extends "digit-expected" | "hex-digit-expected" | "binary-digit-expected" | "unterminated" | "creating-file" | "invalid-escape-sequence" | "no-new-line-start-triple-quote" | "no-new-line-end-triple-quote" | "triple-quote-indent" | "invalid-character" | "file-not-found" | "file-load" | "init-template-invalid-json" | "init-template-download-failed" | "multiple-blockless-namespace" | "blockless-namespace-first" | "import-first" | "token-expected" | "unknown-directive" | "augment-decorator-target" | "duplicate-decorator" | "decorator-conflict" | "reserved-identifier" | "invalid-directive-location" | "invalid-decorator-location" | "default-required" | "invalid-template-argument-name" | "invalid-template-default" | "required-parameter-first" | "rest-parameter-last" | "rest-parameter-required" | "doc-invalid-identifier" | "experimental-feature" | "using-invalid-ref" | "invalid-type-ref" | "invalid-template-args" | "intersect-non-model" | "intersect-invalid-index" | "incompatible-indexer" | "no-array-properties" | "intersect-duplicate-property" | "invalid-decorator" | "invalid-ref" | "duplicate-property" | "override-property-mismatch" | "extend-scalar" | "extend-model" | "is-model" | "is-operation" | "spread-model" | "unsupported-default" | "spread-object" | "expect-value" | "non-callable" | "named-init-required" | "invalid-primitive-init" | "ambiguous-scalar-type" | "unassignable" | "property-unassignable" | "property-required" | "parameter-required" | "value-in-type" | "no-prop" | "missing-index" | "missing-property" | "unexpected-property" | "extends-interface" | "extends-interface-duplicate" | "interface-duplicate" | "union-duplicate" | "enum-member-duplicate" | "constructor-duplicate" | "spread-enum" | "decorator-fail" | "rest-parameter-array" | "decorator-extern" | "function-extern" | "function-return" | "invalid-value" | "fn-in-union-expression" | "missing-implementation" | "overload-same-parent" | "shadow" | "invalid-deprecation-argument" | "duplicate-deprecation" | "config-invalid-argument" | "config-circular-variable" | "config-path-absolute" | "config-invalid-name" | "path-unix-style" | "config-path-not-found" | "dynamic-import" | "invalid-import" | "invalid-main" | "import-not-found" | "library-invalid" | "incompatible-library" | "compiler-version-mismatch" | "duplicate-symbol" | "decorator-decl-target" | "mixed-string-template" | "non-literal-string-template" | "ambiguous-symbol" | "duplicate-using" | "on-validate-fail" | "invalid-emitter" | "js-error" | "missing-import" | "invalid-rule-ref" | "unknown-rule" | "unknown-rule-set" | "rule-enabled-disabled" | "format-failed" | "invalid-pattern-regex" | "decorator-wrong-target" | "invalid-argument" | "invalid-argument-count" | "known-values-invalid-enum" | "deprecated" | "no-optional-key" | "invalid-discriminated-union" | "invalid-discriminated-union-variant" | "missing-discriminator-property" | "invalid-discriminator-value" | "invalid-encode" | "invalid-mime-type" | "no-mime-type-suffix" | "encoded-name-conflict" | "incompatible-paging-props" | "invalid-paging-prop" | "duplicate-paging-prop" | "missing-paging-items" | "service-decorator-duplicate" | "list-type-not-model" | "invalid-range" | "add-response" | "add-parameter" | "add-model-property" | "add-model-property-fail" | "add-response-type" | "circular-base-type" | "circular-constraint" | "circular-op-signature" | "circular-alias-type" | "circular-const" | "circular-prop" | "conflict-marker" | "visibility-sealed" | "default-visibility-not-member" | "operation-visibility-constraint-empty" | "no-compatible-vs-installed" | "vs-extension-windows-only" | "vscode-in-path" | "invalid-option-flag", M extends keyof {
2078
2135
  "digit-expected": {
2079
2136
  readonly default: "Digit expected.";
2080
2137
  };
@@ -2189,6 +2246,10 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
2189
2246
  readonly prop: "Invalid property name.";
2190
2247
  readonly templateParam: "Invalid template parameter name.";
2191
2248
  };
2249
+ "experimental-feature": {
2250
+ readonly default: import("./types.js").CallableMessage<["feature"]>;
2251
+ readonly functionDeclarations: "Function declarations are an experimental feature that may change in the future. Use with caution and consider providing feedback to the TypeSpec team.";
2252
+ };
2192
2253
  "using-invalid-ref": {
2193
2254
  readonly default: "Using must refer to a namespace";
2194
2255
  };
@@ -2274,9 +2335,11 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
2274
2335
  readonly modelExpression: "Is a model expression type, but is being used as a value here. Use #{} to create an object value.";
2275
2336
  readonly tuple: "Is a tuple type, but is being used as a value here. Use #[] to create an array value.";
2276
2337
  readonly templateConstraint: import("./types.js").CallableMessage<["name"]>;
2338
+ readonly functionReturn: import("./types.js").CallableMessage<[]>;
2277
2339
  };
2278
2340
  "non-callable": {
2279
2341
  readonly default: import("./types.js").CallableMessage<["type"]>;
2342
+ readonly templateParameter: import("./types.js").CallableMessage<["name", "constraint"]>;
2280
2343
  };
2281
2344
  "named-init-required": {
2282
2345
  readonly default: import("./types.js").CallableMessage<[]>;
@@ -2297,6 +2360,11 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
2297
2360
  "property-required": {
2298
2361
  readonly default: import("./types.js").CallableMessage<["propName", "targetType"]>;
2299
2362
  };
2363
+ "parameter-required": {
2364
+ readonly default: import("./types.js").CallableMessage<["paramName"]>;
2365
+ readonly missing: import("./types.js").CallableMessage<["paramName"]>;
2366
+ readonly "rest-to-required": import("./types.js").CallableMessage<["paramName"]>;
2367
+ };
2300
2368
  "value-in-type": {
2301
2369
  readonly default: "A value cannot be used as a type.";
2302
2370
  readonly referenceTemplate: "Template parameter can be passed values but is used as a type.";
@@ -2347,8 +2415,13 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
2347
2415
  "function-extern": {
2348
2416
  readonly default: "A function declaration must be prefixed with the 'extern' modifier.";
2349
2417
  };
2350
- "function-unsupported": {
2351
- readonly default: "Function are currently not supported.";
2418
+ "function-return": {
2419
+ readonly default: "Function implementation returned an invalid result.";
2420
+ readonly "invalid-value": import("./types.js").CallableMessage<["value"]>;
2421
+ readonly unassignable: import("./types.js").CallableMessage<["name", "entityKind", "return", "type"]>;
2422
+ };
2423
+ "fn-in-union-expression": {
2424
+ readonly default: "Function types in anonymous union expressions must be parenthesized.";
2352
2425
  };
2353
2426
  "missing-implementation": {
2354
2427
  readonly default: "Extern declaration must have an implementation in JS file.";
@@ -2713,6 +2786,10 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
2713
2786
  readonly prop: "Invalid property name.";
2714
2787
  readonly templateParam: "Invalid template parameter name.";
2715
2788
  };
2789
+ "experimental-feature": {
2790
+ readonly default: import("./types.js").CallableMessage<["feature"]>;
2791
+ readonly functionDeclarations: "Function declarations are an experimental feature that may change in the future. Use with caution and consider providing feedback to the TypeSpec team.";
2792
+ };
2716
2793
  "using-invalid-ref": {
2717
2794
  readonly default: "Using must refer to a namespace";
2718
2795
  };
@@ -2798,9 +2875,11 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
2798
2875
  readonly modelExpression: "Is a model expression type, but is being used as a value here. Use #{} to create an object value.";
2799
2876
  readonly tuple: "Is a tuple type, but is being used as a value here. Use #[] to create an array value.";
2800
2877
  readonly templateConstraint: import("./types.js").CallableMessage<["name"]>;
2878
+ readonly functionReturn: import("./types.js").CallableMessage<[]>;
2801
2879
  };
2802
2880
  "non-callable": {
2803
2881
  readonly default: import("./types.js").CallableMessage<["type"]>;
2882
+ readonly templateParameter: import("./types.js").CallableMessage<["name", "constraint"]>;
2804
2883
  };
2805
2884
  "named-init-required": {
2806
2885
  readonly default: import("./types.js").CallableMessage<[]>;
@@ -2821,6 +2900,11 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
2821
2900
  "property-required": {
2822
2901
  readonly default: import("./types.js").CallableMessage<["propName", "targetType"]>;
2823
2902
  };
2903
+ "parameter-required": {
2904
+ readonly default: import("./types.js").CallableMessage<["paramName"]>;
2905
+ readonly missing: import("./types.js").CallableMessage<["paramName"]>;
2906
+ readonly "rest-to-required": import("./types.js").CallableMessage<["paramName"]>;
2907
+ };
2824
2908
  "value-in-type": {
2825
2909
  readonly default: "A value cannot be used as a type.";
2826
2910
  readonly referenceTemplate: "Template parameter can be passed values but is used as a type.";
@@ -2871,8 +2955,13 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
2871
2955
  "function-extern": {
2872
2956
  readonly default: "A function declaration must be prefixed with the 'extern' modifier.";
2873
2957
  };
2874
- "function-unsupported": {
2875
- readonly default: "Function are currently not supported.";
2958
+ "function-return": {
2959
+ readonly default: "Function implementation returned an invalid result.";
2960
+ readonly "invalid-value": import("./types.js").CallableMessage<["value"]>;
2961
+ readonly unassignable: import("./types.js").CallableMessage<["name", "entityKind", "return", "type"]>;
2962
+ };
2963
+ "fn-in-union-expression": {
2964
+ readonly default: "Function types in anonymous union expressions must be parenthesized.";
2876
2965
  };
2877
2966
  "missing-implementation": {
2878
2967
  readonly default: "Extern declaration must have an implementation in JS file.";
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/core/messages.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAyC,CAAC"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/core/messages.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;8CAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAyC,CAAC"}