@typespec/http 0.67.0-dev.9 → 0.67.0

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 (42) hide show
  1. package/README.md +0 -19
  2. package/dist/generated-defs/TypeSpec.Http.Private.d.ts +7 -0
  3. package/dist/generated-defs/TypeSpec.Http.Private.d.ts.map +1 -1
  4. package/dist/generated-defs/TypeSpec.Http.d.ts +0 -7
  5. package/dist/generated-defs/TypeSpec.Http.d.ts.map +1 -1
  6. package/dist/src/decorators.d.ts +0 -26
  7. package/dist/src/decorators.d.ts.map +1 -1
  8. package/dist/src/decorators.js +2 -46
  9. package/dist/src/decorators.js.map +1 -1
  10. package/dist/src/experimental/index.d.ts +2 -0
  11. package/dist/src/experimental/index.d.ts.map +1 -1
  12. package/dist/src/experimental/index.js +1 -0
  13. package/dist/src/experimental/index.js.map +1 -1
  14. package/dist/src/index.d.ts +7 -7
  15. package/dist/src/index.d.ts.map +1 -1
  16. package/dist/src/index.js +5 -5
  17. package/dist/src/index.js.map +1 -1
  18. package/dist/src/metadata.d.ts.map +1 -1
  19. package/dist/src/metadata.js +2 -1
  20. package/dist/src/metadata.js.map +1 -1
  21. package/dist/src/payload.d.ts +2 -2
  22. package/dist/src/payload.d.ts.map +1 -1
  23. package/dist/src/payload.js +130 -76
  24. package/dist/src/payload.js.map +1 -1
  25. package/dist/src/private.decorators.d.ts +31 -2
  26. package/dist/src/private.decorators.d.ts.map +1 -1
  27. package/dist/src/private.decorators.js +41 -13
  28. package/dist/src/private.decorators.js.map +1 -1
  29. package/dist/src/route.d.ts +1 -0
  30. package/dist/src/route.d.ts.map +1 -1
  31. package/dist/src/route.js +2 -4
  32. package/dist/src/route.js.map +1 -1
  33. package/dist/src/tsp-index.d.ts.map +1 -1
  34. package/dist/src/tsp-index.js +8 -2
  35. package/dist/src/tsp-index.js.map +1 -1
  36. package/dist/src/types.d.ts +6 -0
  37. package/dist/src/types.d.ts.map +1 -1
  38. package/lib/decorators.tsp +0 -6
  39. package/lib/private.decorators.tsp +6 -2
  40. package/lib/streams/main.tsp +1 -1
  41. package/package.json +8 -9
  42. /package/lib/{http.tsp → main.tsp} +0 -0
@@ -1,4 +1,4 @@
1
- import { createDiagnosticCollector, filterModelProperties, getDiscriminator, getEncode, ignoreDiagnostics, isArrayModelType, navigateType, } from "@typespec/compiler";
1
+ import { createDiagnosticCollector, filterModelProperties, getDiscriminator, getEncode, getMediaTypeHint, isArrayModelType, navigateType, } from "@typespec/compiler";
2
2
  import { DuplicateTracker } from "@typespec/compiler/utils";
3
3
  import { getContentTypes } from "./content-types.js";
4
4
  import { isCookieParam, isHeader, isPathParam, isQueryParam, isStatusCode } from "./decorators.js";
@@ -28,6 +28,14 @@ export function resolveHttpPayload(program, type, visibility, disposition, optio
28
28
  const metadata = diagnostics.pipe(resolvePayloadProperties(program, type, visibility, disposition, options));
29
29
  const body = diagnostics.pipe(resolveBody(program, type, metadata, visibility, disposition));
30
30
  if (body) {
31
+ if (body.contentTypes.some((x) => x.startsWith("multipart/")) && body.bodyKind === "single") {
32
+ diagnostics.add({
33
+ severity: "warning",
34
+ code: "deprecated",
35
+ message: `Deprecated: Implicit multipart is deprecated, use @multipartBody instead with HttpPart`,
36
+ target: body.property ?? type,
37
+ });
38
+ }
31
39
  if (body.contentTypes.includes("multipart/form-data") &&
32
40
  body.bodyKind === "single" &&
33
41
  body.type.kind !== "Model") {
@@ -42,10 +50,9 @@ export function resolveHttpPayload(program, type, visibility, disposition, optio
42
50
  }
43
51
  function resolveBody(program, requestOrResponseType, metadata, visibility, disposition) {
44
52
  const diagnostics = createDiagnosticCollector();
45
- const resolvedContentTypes = diagnostics.pipe(resolveContentTypes(program, metadata, disposition));
53
+ const contentTypeProperty = metadata.find((x) => x.kind === "contentType");
46
54
  const file = getHttpFileModel(program, requestOrResponseType);
47
55
  if (file !== undefined) {
48
- const file = getHttpFileModel(program, requestOrResponseType);
49
56
  return diagnostics.wrap({
50
57
  bodyKind: "single",
51
58
  contentTypes: diagnostics.pipe(getContentTypes(file.contentType)),
@@ -59,21 +66,21 @@ function resolveBody(program, requestOrResponseType, metadata, visibility, dispo
59
66
  if (requestOrResponseType.kind !== "Model" || isArrayModelType(program, requestOrResponseType)) {
60
67
  return diagnostics.wrap({
61
68
  bodyKind: "single",
62
- ...resolvedContentTypes,
69
+ ...diagnostics.pipe(resolveContentTypesForBody(program, contentTypeProperty, requestOrResponseType)),
63
70
  type: requestOrResponseType,
64
71
  isExplicit: false,
65
72
  containsMetadataAnnotations: false,
66
73
  });
67
74
  }
68
75
  // look for explicit body
69
- const resolvedBody = diagnostics.pipe(resolveExplicitBodyProperty(program, metadata, resolvedContentTypes, visibility, disposition));
76
+ const resolvedBody = diagnostics.pipe(resolveExplicitBodyProperty(program, metadata, contentTypeProperty, visibility, disposition));
70
77
  if (resolvedBody === undefined) {
71
- // Special case if the model as a parent model then we'll return an empty object as this is assumed to be a nominal type.
78
+ // Special case if the model has a parent model then we'll return an empty object as this is assumed to be a nominal type.
72
79
  // Special Case if the model has an indexer then it means it can return props so cannot be void.
73
80
  if (requestOrResponseType.baseModel || requestOrResponseType.indexer) {
74
81
  return diagnostics.wrap({
75
82
  bodyKind: "single",
76
- ...resolvedContentTypes,
83
+ ...diagnostics.pipe(resolveContentTypesForBody(program, contentTypeProperty, requestOrResponseType)),
77
84
  type: requestOrResponseType,
78
85
  isExplicit: false,
79
86
  containsMetadataAnnotations: false,
@@ -85,7 +92,7 @@ function resolveBody(program, requestOrResponseType, metadata, visibility, dispo
85
92
  getDiscriminator(program, requestOrResponseType)) {
86
93
  return diagnostics.wrap({
87
94
  bodyKind: "single",
88
- ...resolvedContentTypes,
95
+ ...diagnostics.pipe(resolveContentTypesForBody(program, contentTypeProperty, requestOrResponseType)),
89
96
  type: requestOrResponseType,
90
97
  isExplicit: false,
91
98
  containsMetadataAnnotations: false,
@@ -97,7 +104,7 @@ function resolveBody(program, requestOrResponseType, metadata, visibility, dispo
97
104
  if (resolvedBody === undefined) {
98
105
  return diagnostics.wrap({
99
106
  bodyKind: "single",
100
- ...resolvedContentTypes,
107
+ ...diagnostics.pipe(resolveContentTypesForBody(program, contentTypeProperty, requestOrResponseType)),
101
108
  type: unannotatedProperties,
102
109
  isExplicit: false,
103
110
  containsMetadataAnnotations: false,
@@ -111,30 +118,15 @@ function resolveBody(program, requestOrResponseType, metadata, visibility, dispo
111
118
  }));
112
119
  }
113
120
  }
114
- if (resolvedBody === undefined && resolvedContentTypes.contentTypeProperty) {
121
+ if (resolvedBody === undefined && contentTypeProperty) {
115
122
  diagnostics.add(createDiagnostic({
116
123
  code: "content-type-ignored",
117
- target: resolvedContentTypes.contentTypeProperty,
124
+ target: contentTypeProperty.property,
118
125
  }));
119
126
  }
120
127
  return diagnostics.wrap(resolvedBody);
121
128
  }
122
- function resolveContentTypes(program, metadata, disposition) {
123
- for (const prop of metadata) {
124
- if (prop.kind === "contentType") {
125
- const [contentTypes, diagnostics] = getContentTypes(prop.property);
126
- return [{ contentTypes, contentTypeProperty: prop.property }, diagnostics];
127
- }
128
- }
129
- switch (disposition) {
130
- case HttpPayloadDisposition.Multipart:
131
- // Figure this out later
132
- return [{ contentTypes: [] }, []];
133
- default:
134
- return [{ contentTypes: ["application/json"] }, []];
135
- }
136
- }
137
- function resolveExplicitBodyProperty(program, metadata, resolvedContentTypes, visibility, disposition) {
129
+ function resolveExplicitBodyProperty(program, metadata, contentTypeProperty, visibility, disposition) {
138
130
  const diagnostics = createDiagnosticCollector();
139
131
  let resolvedBody;
140
132
  const duplicateTracker = new DuplicateTracker();
@@ -153,7 +145,7 @@ function resolveExplicitBodyProperty(program, metadata, resolvedContentTypes, vi
153
145
  if (resolvedBody === undefined) {
154
146
  resolvedBody = {
155
147
  bodyKind: "single",
156
- ...resolvedContentTypes,
148
+ ...diagnostics.pipe(resolveContentTypesForBody(program, contentTypeProperty, item.property.type)),
157
149
  type: item.property.type,
158
150
  isExplicit: item.kind === "body",
159
151
  containsMetadataAnnotations,
@@ -162,7 +154,7 @@ function resolveExplicitBodyProperty(program, metadata, resolvedContentTypes, vi
162
154
  }
163
155
  break;
164
156
  case "multipartBody":
165
- resolvedBody = diagnostics.pipe(resolveMultiPartBody(program, item.property, resolvedContentTypes, visibility));
157
+ resolvedBody = diagnostics.pipe(resolveMultiPartBody(program, item.property, contentTypeProperty, visibility));
166
158
  break;
167
159
  }
168
160
  }
@@ -208,19 +200,31 @@ function validateBodyProperty(program, property, disposition) {
208
200
  }, {});
209
201
  return diagnostics.wrap(diagnostics.diagnostics.length === 0);
210
202
  }
211
- function resolveMultiPartBody(program, property, resolvedContentTypes, visibility) {
203
+ function resolveMultiPartBody(program, property, contentTypeProperty, visibility) {
204
+ const diagnostics = createDiagnosticCollector();
212
205
  const type = property.type;
206
+ const contentTypes = contentTypeProperty && diagnostics.pipe(getContentTypes(contentTypeProperty.property));
207
+ for (const contentType of contentTypes ?? []) {
208
+ if (!multipartContentTypesValues.includes(contentType)) {
209
+ diagnostics.add(createDiagnostic({
210
+ code: "multipart-invalid-content-type",
211
+ format: { contentType, supportedContentTypes: multipartContentTypesValues.join(", ") },
212
+ target: type,
213
+ }));
214
+ }
215
+ }
213
216
  if (type.kind === "Model") {
214
- return resolveMultiPartBodyFromModel(program, property, type, resolvedContentTypes, visibility);
217
+ return diagnostics.join(resolveMultiPartBodyFromModel(program, property, type, contentTypeProperty, visibility));
215
218
  }
216
219
  else if (type.kind === "Tuple") {
217
- return resolveMultiPartBodyFromTuple(program, property, type, resolvedContentTypes, visibility);
220
+ return diagnostics.join(resolveMultiPartBodyFromTuple(program, property, type, contentTypeProperty, visibility));
218
221
  }
219
222
  else {
220
- return [undefined, [createDiagnostic({ code: "multipart-model", target: property })]];
223
+ diagnostics.add(createDiagnostic({ code: "multipart-model", target: property }));
224
+ return diagnostics.wrap(undefined);
221
225
  }
222
226
  }
223
- function resolveMultiPartBodyFromModel(program, property, type, resolvedContentTypes, visibility) {
227
+ function resolveMultiPartBodyFromModel(program, property, type, contentTypeProperty, visibility) {
224
228
  const diagnostics = createDiagnosticCollector();
225
229
  const parts = [];
226
230
  for (const item of type.properties.values()) {
@@ -229,6 +233,14 @@ function resolveMultiPartBodyFromModel(program, property, type, resolvedContentT
229
233
  parts.push({ ...part, name: part.name ?? item.name, optional: item.optional });
230
234
  }
231
235
  }
236
+ const resolvedContentTypes = contentTypeProperty
237
+ ? {
238
+ contentTypeProperty: contentTypeProperty.property,
239
+ contentTypes: diagnostics.pipe(getContentTypes(contentTypeProperty.property)),
240
+ }
241
+ : {
242
+ contentTypes: [multipartContentTypes.formData],
243
+ };
232
244
  return diagnostics.wrap({
233
245
  bodyKind: "multipart",
234
246
  ...resolvedContentTypes,
@@ -242,22 +254,13 @@ const multipartContentTypes = {
242
254
  mixed: "multipart/mixed",
243
255
  };
244
256
  const multipartContentTypesValues = Object.values(multipartContentTypes);
245
- function resolveMultiPartBodyFromTuple(program, property, type, resolvedContentTypes, visibility) {
257
+ function resolveMultiPartBodyFromTuple(program, property, type, contentTypeProperty, visibility) {
246
258
  const diagnostics = createDiagnosticCollector();
247
259
  const parts = [];
248
- for (const contentType of resolvedContentTypes.contentTypes) {
249
- if (!multipartContentTypesValues.includes(contentType)) {
250
- diagnostics.add(createDiagnostic({
251
- code: "multipart-invalid-content-type",
252
- format: { contentType, supportedContentTypes: multipartContentTypesValues.join(", ") },
253
- target: type,
254
- }));
255
- }
256
- }
260
+ const contentTypes = contentTypeProperty && diagnostics.pipe(getContentTypes(contentTypeProperty?.property));
257
261
  for (const [index, item] of type.values.entries()) {
258
262
  const part = diagnostics.pipe(resolvePartOrParts(program, item, visibility));
259
- if (part?.name === undefined &&
260
- resolvedContentTypes.contentTypes.includes(multipartContentTypes.formData)) {
263
+ if (part?.name === undefined && contentTypes?.includes(multipartContentTypes.formData)) {
261
264
  diagnostics.add(createDiagnostic({
262
265
  code: "formdata-no-part-name",
263
266
  target: type.node.values[index],
@@ -267,6 +270,14 @@ function resolveMultiPartBodyFromTuple(program, property, type, resolvedContentT
267
270
  parts.push(part);
268
271
  }
269
272
  }
273
+ const resolvedContentTypes = contentTypeProperty
274
+ ? {
275
+ contentTypeProperty: contentTypeProperty.property,
276
+ contentTypes: diagnostics.pipe(getContentTypes(contentTypeProperty.property)),
277
+ }
278
+ : {
279
+ contentTypes: [multipartContentTypes.formData],
280
+ };
270
281
  return diagnostics.wrap({
271
282
  bodyKind: "multipart",
272
283
  ...resolvedContentTypes,
@@ -288,34 +299,38 @@ function resolvePartOrParts(program, type, visibility) {
288
299
  }
289
300
  }
290
301
  function resolvePart(program, type, visibility) {
302
+ const diagnostics = createDiagnosticCollector();
291
303
  const part = getHttpPart(program, type);
292
304
  if (part) {
293
305
  const file = getHttpFileModel(program, part.type);
294
306
  if (file !== undefined) {
295
307
  return getFilePart(part.options.name, file);
296
308
  }
297
- let [{ body, metadata }, diagnostics] = resolveHttpPayload(program, part.type, visibility, HttpPayloadDisposition.Multipart);
309
+ let { body, metadata } = diagnostics.pipe(resolveHttpPayload(program, part.type, visibility, HttpPayloadDisposition.Multipart));
310
+ const contentTypeProperty = metadata.find((x) => x.kind === "contentType");
298
311
  if (body === undefined) {
299
- return [undefined, diagnostics];
312
+ return diagnostics.wrap(undefined);
300
313
  }
301
314
  else if (body.bodyKind === "multipart") {
302
- return [undefined, [createDiagnostic({ code: "multipart-nested", target: type })]];
315
+ diagnostics.add(createDiagnostic({ code: "multipart-nested", target: type }));
316
+ return diagnostics.wrap(undefined);
303
317
  }
304
318
  if (body.contentTypes.length === 0) {
305
- body = { ...body, contentTypes: resolveDefaultContentTypeForPart(program, body.type) };
319
+ body = {
320
+ ...body,
321
+ contentTypes: diagnostics.pipe(resolveContentTypesForBody(program, contentTypeProperty, body.type)).contentTypes,
322
+ };
306
323
  }
307
- return [
308
- {
309
- multi: false,
310
- name: part.options.name,
311
- body,
312
- optional: false,
313
- headers: metadata.filter((x) => x.kind === "header"),
314
- },
315
- diagnostics,
316
- ];
324
+ return diagnostics.wrap({
325
+ multi: false,
326
+ name: part.options.name,
327
+ body,
328
+ optional: false,
329
+ headers: metadata.filter((x) => x.kind === "header"),
330
+ });
317
331
  }
318
- return [undefined, [createDiagnostic({ code: "multipart-part", target: type })]];
332
+ diagnostics.add(createDiagnostic({ code: "multipart-part", target: type }));
333
+ return diagnostics.wrap(undefined);
319
334
  }
320
335
  function getFilePart(name, file) {
321
336
  const [contentTypes, diagnostics] = getContentTypes(file.contentType);
@@ -338,27 +353,66 @@ function getFilePart(name, file) {
338
353
  diagnostics,
339
354
  ];
340
355
  }
341
- function resolveDefaultContentTypeForPart(program, type) {
342
- function resolve(type) {
343
- if (type.kind === "Scalar") {
344
- const encodedAs = getEncode(program, type);
345
- if (encodedAs) {
346
- type = encodedAs.type;
356
+ function getDefaultContentTypeForKind(type) {
357
+ return type.kind === "Scalar" ? "text/plain" : "application/json";
358
+ }
359
+ function isLiteralType(type) {
360
+ return (type.kind === "String" ||
361
+ type.kind === "Number" ||
362
+ type.kind === "Boolean" ||
363
+ type.kind === "StringTemplate");
364
+ }
365
+ function resolveContentTypesForBody(program, contentTypeProperty, type, getDefaultContentType = getDefaultContentTypeForKind) {
366
+ const diagnostics = createDiagnosticCollector();
367
+ return diagnostics.wrap(resolve());
368
+ function resolve() {
369
+ if (contentTypeProperty) {
370
+ return {
371
+ contentTypes: diagnostics.pipe(getContentTypes(contentTypeProperty.property)),
372
+ contentTypeProperty: contentTypeProperty.property,
373
+ };
374
+ }
375
+ if (isLiteralType(type)) {
376
+ switch (type.kind) {
377
+ case "StringTemplate":
378
+ case "String":
379
+ type = program.checker.getStdType("string");
380
+ break;
381
+ case "Boolean":
382
+ type = program.checker.getStdType("boolean");
383
+ break;
384
+ case "Number":
385
+ type = program.checker.getStdType("numeric");
386
+ break;
387
+ default:
388
+ void type;
347
389
  }
348
- if (ignoreDiagnostics(program.checker.isTypeAssignableTo(type, program.checker.getStdType("bytes"), type))) {
349
- return ["application/octet-stream"];
390
+ }
391
+ let encoded;
392
+ while ((type.kind === "Scalar" || type.kind === "ModelProperty") &&
393
+ (encoded = getEncode(program, type))) {
394
+ type = encoded.type;
395
+ }
396
+ if (type.kind === "Union") {
397
+ const variants = [...type.variants.values()];
398
+ const containsNull = variants.some((v) => v.type.kind === "Intrinsic" && v.type.name === "null");
399
+ // If the union contains null, we just collapse to JSON in this default case.
400
+ if (containsNull) {
401
+ return { contentTypes: ["application/json"] };
350
402
  }
351
- else {
352
- return ["text/plain"];
403
+ const set = new Set();
404
+ for (const variant of variants) {
405
+ const resolved = diagnostics.pipe(resolveContentTypesForBody(program, contentTypeProperty, variant.type));
406
+ for (const contentType of resolved.contentTypes) {
407
+ set.add(contentType);
408
+ }
353
409
  }
354
- }
355
- else if (type.kind === "Union") {
356
- return [...type.variants.values()].flatMap((x) => resolve(x.type));
410
+ return { contentTypes: [...set] };
357
411
  }
358
412
  else {
359
- return ["application/json"];
413
+ const contentType = getMediaTypeHint(program, type) ?? getDefaultContentType(type);
414
+ return { contentTypes: [contentType] };
360
415
  }
361
416
  }
362
- return [...new Set(resolve(type))];
363
417
  }
364
418
  //# sourceMappingURL=payload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../src/payload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../src/payload.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAIL,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAiB,gBAAgB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAUvF;;GAEG;AACH,MAAM,CAAN,IAAY,sBAaX;AAbD,WAAY,sBAAsB;IAChC;;OAEG;IACH,yEAAO,CAAA;IACP;;OAEG;IACH,2EAAQ,CAAA;IACR;;OAEG;IACH,6EAAS,CAAA;AACX,CAAC,EAbW,sBAAsB,KAAtB,sBAAsB,QAajC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,IAAU,EACV,UAAsB,EACtB,WAAmC,EACnC,UAAyC,EAAE;IAE3C,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;IAEhD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAC/B,wBAAwB,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAC1E,CAAC;IAEF,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAE7F,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC5F,WAAW,CAAC,GAAG,CAAC;gBACd,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,wFAAwF;gBACjG,MAAM,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;aAC9B,CAAC,CAAC;QACL,CAAC;QACD,IACE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACjD,IAAI,CAAC,QAAQ,KAAK,QAAQ;YAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAC1B,CAAC;YACD,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;gBACf,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;aAC9B,CAAC,CACH,CAAC;YACF,OAAO,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,WAAW,CAClB,OAAgB,EAChB,qBAA2B,EAC3B,QAAwB,EACxB,UAAsB,EACtB,WAAmC;IAEnC,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;IAEhD,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IAE3E,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAC9D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC,IAAI,CAAC;YACtB,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjE,mBAAmB,EAAE,IAAI,CAAC,WAAW;YACrC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACxB,UAAU,EAAE,KAAK;YACjB,2BAA2B,EAAE,KAAK;SACnC,CAAC,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,IAAI,qBAAqB,CAAC,IAAI,KAAK,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAE,CAAC;QAC/F,OAAO,WAAW,CAAC,IAAI,CAAC;YACtB,QAAQ,EAAE,QAAQ;YAClB,GAAG,WAAW,CAAC,IAAI,CACjB,0BAA0B,CAAC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,CAChF;YACD,IAAI,EAAE,qBAAqB;YAC3B,UAAU,EAAE,KAAK;YACjB,2BAA2B,EAAE,KAAK;SACnC,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB;IACzB,MAAM,YAAY,GAA+D,WAAW,CAAC,IAAI,CAC/F,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,CAAC,CAC7F,CAAC;IAEF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,0HAA0H;QAC1H,gGAAgG;QAChG,IAAI,qBAAqB,CAAC,SAAS,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;YACrE,OAAO,WAAW,CAAC,IAAI,CAAC;gBACtB,QAAQ,EAAE,QAAQ;gBAClB,GAAG,WAAW,CAAC,IAAI,CACjB,0BAA0B,CAAC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,CAChF;gBACD,IAAI,EAAE,qBAAqB;gBAC3B,UAAU,EAAE,KAAK;gBACjB,2BAA2B,EAAE,KAAK;aACnC,CAAC,CAAC;QACL,CAAC;QACD,wGAAwG;QACxG,4GAA4G;QAC5G,IACE,qBAAqB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;YAC9C,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAChD,CAAC;YACD,OAAO,WAAW,CAAC,IAAI,CAAC;gBACtB,QAAQ,EAAE,QAAQ;gBAClB,GAAG,WAAW,CAAC,IAAI,CACjB,0BAA0B,CAAC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,CAChF;gBACD,IAAI,EAAE,qBAAqB;gBAC3B,UAAU,EAAE,KAAK;gBACjB,2BAA2B,EAAE,KAAK;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CACxF,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CACpE,CAAC;IAEF,IAAI,qBAAqB,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,WAAW,CAAC,IAAI,CAAC;gBACtB,QAAQ,EAAE,QAAQ;gBAClB,GAAG,WAAW,CAAC,IAAI,CACjB,0BAA0B,CAAC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,CAChF;gBACD,IAAI,EAAE,qBAAqB;gBAC3B,UAAU,EAAE,KAAK;gBACjB,2BAA2B,EAAE,KAAK;aACnC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;gBACf,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,oBAAoB;gBAC/B,MAAM,EAAE,qBAAqB;aAC9B,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,IAAI,mBAAmB,EAAE,CAAC;QACtD,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;YACf,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,mBAAmB,CAAC,QAAQ;SACrC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACxC,CAAC;AAOD,SAAS,2BAA2B,CAClC,OAAgB,EAChB,QAAwB,EACxB,mBAA6C,EAC7C,UAAsB,EACtB,WAAmC;IAEnC,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;IAChD,IAAI,YAAwE,CAAC;IAC7E,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAgB,CAAC;IAE9D,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACtF,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU;gBACb,IAAI,2BAA2B,GAAG,KAAK,CAAC;gBACxC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACzB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;oBAC1F,2BAA2B,GAAG,CAAC,KAAK,CAAC;gBACvC,CAAC;gBACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,YAAY,GAAG;wBACb,QAAQ,EAAE,QAAQ;wBAClB,GAAG,WAAW,CAAC,IAAI,CACjB,0BAA0B,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC7E;wBACD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;wBACxB,UAAU,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM;wBAChC,2BAA2B;wBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBACxB,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,KAAK,eAAe;gBAClB,YAAY,GAAG,WAAW,CAAC,IAAI,CAC7B,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAC9E,CAAC;gBACF,MAAM;QACV,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;gBACf,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,IAAI;aACb,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACxC,CAAC;AAED,8CAA8C;AAC9C,SAAS,oBAAoB,CAC3B,OAAgB,EAChB,QAAuB,EACvB,WAAmC;IAEnC,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;IAChD,YAAY,CACV,QAAQ,CAAC,IAAI,EACb;QACE,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACtB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;gBAClC,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,iDAAiD;oBACjD,CAAC,WAAW,KAAK,sBAAsB,CAAC,OAAO;wBAC3C,WAAW,KAAK,sBAAsB,CAAC,QAAQ,CAAC;wBAClD,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC;wBAC9B,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,CAAC,WAAW,KAAK,sBAAsB,CAAC,OAAO;4BAC3C,WAAW,KAAK,sBAAsB,CAAC,SAAS,CAAC;4BACnD,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC;4BAC7B,CAAC,CAAC,OAAO;4BACT,CAAC,CAAC,WAAW,KAAK,sBAAsB,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC;gCAC5E,CAAC,CAAC,MAAM;gCACR,CAAC,CAAC,WAAW,KAAK,sBAAsB,CAAC,QAAQ,IAAI,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC;oCAC9E,CAAC,CAAC,YAAY;oCACd,CAAC,CAAC,SAAS,CAAC;YAEtB,IAAI,IAAI,EAAE,CAAC;gBACT,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;oBACf,IAAI,EAAE,kBAAkB;oBACxB,MAAM,EAAE,EAAE,IAAI,EAAE;oBAChB,MAAM,EAAE,IAAI;iBACb,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;KACF,EACD,EAAE,CACH,CAAC;IACF,OAAO,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAgB,EAChB,QAAuB,EACvB,mBAA6C,EAC7C,UAAsB;IAEtB,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;IAEhD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAE3B,MAAM,YAAY,GAChB,mBAAmB,IAAI,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEzF,KAAK,MAAM,WAAW,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,WAAkB,CAAC,EAAE,CAAC;YAC9D,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;gBACf,IAAI,EAAE,gCAAgC;gBACtC,MAAM,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACtF,MAAM,EAAE,IAAI;aACb,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,WAAW,CAAC,IAAI,CACrB,6BAA6B,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,CAAC,CACxF,CAAC;IACJ,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,WAAW,CAAC,IAAI,CACrB,6BAA6B,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,CAAC,CACxF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QACjF,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CACpC,OAAgB,EAChB,QAAuB,EACvB,IAAW,EACX,mBAA6C,EAC7C,UAAsB;IAEtB,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;IAChD,MAAM,KAAK,GAAwB,EAAE,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAClF,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,MAAM,oBAAoB,GAAwB,mBAAmB;QACnE,CAAC,CAAC;YACE,mBAAmB,EAAE,mBAAmB,CAAC,QAAQ;YACjD,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;SAC9E;QACH,CAAC,CAAC;YACE,YAAY,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC;SAC/C,CAAC;IAEN,OAAO,WAAW,CAAC,IAAI,CAAC;QACtB,QAAQ,EAAE,WAAW;QACrB,GAAG,oBAAoB;QACvB,KAAK;QACL,QAAQ;QACR,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED,MAAM,qBAAqB,GAAG;IAC5B,QAAQ,EAAE,qBAAqB;IAC/B,KAAK,EAAE,iBAAiB;CAChB,CAAC;AACX,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAEzE,SAAS,6BAA6B,CACpC,OAAgB,EAChB,QAAuB,EACvB,IAAW,EACX,mBAA6C,EAC7C,UAAsB;IAEtB,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;IAChD,MAAM,KAAK,GAAwB,EAAE,CAAC;IAEtC,MAAM,YAAY,GAChB,mBAAmB,IAAI,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1F,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAC7E,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,YAAY,EAAE,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvF,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;gBACf,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;aAChC,CAAC,CACH,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,MAAM,oBAAoB,GAAwB,mBAAmB;QACnE,CAAC,CAAC;YACE,mBAAmB,EAAE,mBAAmB,CAAC,QAAQ;YACjD,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;SAC9E;QACH,CAAC,CAAC;YACE,YAAY,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC;SAC/C,CAAC;IAEN,OAAO,WAAW,CAAC,IAAI,CAAC;QACtB,QAAQ,EAAE,WAAW;QACrB,GAAG,oBAAoB;QACvB,KAAK;QACL,QAAQ;QACR,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAgB,EAChB,IAAU,EACV,UAAsB;IAEtB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACjF,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,OAAO,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,OAAgB,EAChB,IAAU,EACV,UAAsB;IAEtB,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,IAAI,CACvC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,sBAAsB,CAAC,SAAS,CAAC,CACrF,CAAC;QAEF,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAE3E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YACzC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9E,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,GAAG;gBACL,GAAG,IAAI;gBACP,YAAY,EAAE,WAAW,CAAC,IAAI,CAC5B,0BAA0B,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,CACpE,CAAC,YAAY;aACf,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAAC,IAAI,CAAC;YACtB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,IAAI;YACJ,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAuB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;SAC1E,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAE5E,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,WAAW,CAClB,IAAwB,EACxB,IAAmB;IAEnB,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtE,OAAO;QACL;YACE,KAAK,EAAE,KAAK;YACZ,IAAI;YACJ,IAAI,EAAE;gBACJ,QAAQ,EAAE,QAAQ;gBAClB,mBAAmB,EAAE,IAAI,CAAC,WAAW;gBACrC,YAAY,EAAE,YAAY;gBAC1B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBACxB,UAAU,EAAE,KAAK;gBACjB,2BAA2B,EAAE,KAAK;aACnC;YACD,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,EAAE;SACZ;QACD,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAU;IAC9C,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC;AACpE,CAAC;AAED,SAAS,aAAa,CAAC,IAAU;IAC/B,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,QAAQ;QACtB,IAAI,CAAC,IAAI,KAAK,QAAQ;QACtB,IAAI,CAAC,IAAI,KAAK,SAAS;QACvB,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAC/B,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,OAAgB,EAChB,mBAA6C,EAC7C,IAAU,EACV,wBAAgD,4BAA4B;IAE5E,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;IAEhD,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAEnC,SAAS,OAAO;QACd,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO;gBACL,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBAC7E,mBAAmB,EAAE,mBAAmB,CAAC,QAAQ;aAClD,CAAC;QACJ,CAAC;QAED,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,gBAAgB,CAAC;gBACtB,KAAK,QAAQ;oBACX,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBAC5C,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBAC7C,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBAC7C,MAAM;gBACR;oBACE,KAAM,IAAqB,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC;QAEZ,OACE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC;YACzD,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EACpC,CAAC;YACD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACtB,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAC7D,CAAC;YAEF,6EAA6E;YAE7E,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,EAAE,YAAY,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAChD,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;YAE9B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAC/B,0BAA0B,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,CAAC,IAAI,CAAC,CACvE,CAAC;gBAEF,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;oBAChD,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,OAAO,EAAE,YAAY,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAEnF,OAAO,EAAE,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,5 +1,7 @@
1
- import { ModelProperty, Program, Type } from "@typespec/compiler";
2
- import { HttpPartOptions } from "../generated-defs/TypeSpec.Http.Private.js";
1
+ import { DecoratorContext, ModelProperty, Program, Type } from "@typespec/compiler";
2
+ import { HttpFileDecorator, HttpPartDecorator, HttpPartOptions, PlainDataDecorator } from "../generated-defs/TypeSpec.Http.Private.js";
3
+ export declare const $plainData: PlainDataDecorator;
4
+ export declare const $httpFile: HttpFileDecorator;
3
5
  /**
4
6
  * Check if the given type is an `HttpFile`
5
7
  */
@@ -12,10 +14,37 @@ export interface HttpFileModel {
12
14
  readonly contents: ModelProperty;
13
15
  }
14
16
  export declare function getHttpFileModel(program: Program, type: Type): HttpFileModel | undefined;
17
+ export declare const $httpPart: HttpPartDecorator;
15
18
  export interface HttpPart {
16
19
  readonly type: Type;
17
20
  readonly options: HttpPartOptions;
18
21
  }
19
22
  /** Return the http part information on a model that is an `HttpPart` */
20
23
  export declare function getHttpPart(program: Program, target: Type): HttpPart | undefined;
24
+ /**
25
+ * Specifies if inapplicable metadata should be included in the payload for
26
+ * the given entity. This is true by default unless changed by this
27
+ * decorator.
28
+ *
29
+ * @param entity Target model, namespace, or model property. If applied to a
30
+ * model or namespace, applies recursively to child models,
31
+ * namespaces, and model properties unless overridden by
32
+ * applying this decorator to a child.
33
+ *
34
+ * @param value `true` to include inapplicable metadata in payload, false to
35
+ * exclude it.
36
+ *
37
+ * @see isApplicableMetadata
38
+ *
39
+ * @ignore Cause issue with conflicting function of same name for now
40
+ */
41
+ export declare function $includeInapplicableMetadataInPayload(context: DecoratorContext, entity: Type, value: boolean): void;
42
+ /**
43
+ * Determines if the given model property should be included in the payload if it is
44
+ * inapplicable metadata.
45
+ *
46
+ * @see isApplicableMetadata
47
+ * @see $includeInapplicableMetadataInPayload
48
+ */
49
+ export declare function includeInapplicableMetadataInPayload(program: Program, property: ModelProperty): boolean;
21
50
  //# sourceMappingURL=private.decorators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"private.decorators.d.ts","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EACb,OAAO,EACP,IAAI,EAEL,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,eAAe,EAGhB,MAAM,4CAA4C,CAAC;AAsCpD;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,WAEtD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,WAgB/D;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,SAAS,CAUxF;AAMD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACnC;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,QAAQ,GAAG,SAAS,CAEhF"}
1
+ {"version":3,"file":"private.decorators.d.ts","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,aAAa,EAEb,OAAO,EACP,IAAI,EAEL,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EACnB,MAAM,4CAA4C,CAAC;AAGpD,eAAO,MAAM,UAAU,EAAE,kBA0BxB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,iBAEvB,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,WAEtD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,WAgB/D;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,SAAS,CAUxF;AAED,eAAO,MAAM,SAAS,EAAE,iBAOvB,CAAC;AAEF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACnC;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,QAAQ,GAAG,SAAS,CAEhF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,OAAO,QAIf;AAED;;;;;;GAMG;AACH,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,GACtB,OAAO,CAST"}
@@ -1,8 +1,6 @@
1
1
  import { getProperty, } from "@typespec/compiler";
2
2
  import { HttpStateKeys } from "./lib.js";
3
- /** @internal */
4
- export const namespace = "TypeSpec.Http.Private";
5
- const $plainData = (context, entity) => {
3
+ export const $plainData = (context, entity) => {
6
4
  const { program } = context;
7
5
  const decoratorsToRemove = ["$header", "$body", "$query", "$path", "$statusCode"];
8
6
  const [headers, bodies, queries, paths, statusCodes] = [
@@ -24,7 +22,7 @@ const $plainData = (context, entity) => {
24
22
  statusCodes.delete(property);
25
23
  }
26
24
  };
27
- const $httpFile = (context, target) => {
25
+ export const $httpFile = (context, target) => {
28
26
  context.program.stateSet(HttpStateKeys.file).add(target);
29
27
  };
30
28
  /**
@@ -55,19 +53,49 @@ export function getHttpFileModel(program, type) {
55
53
  const contents = getProperty(type, "contents");
56
54
  return { contents, contentType, filename, type };
57
55
  }
58
- const $httpPart = (context, target, type, options) => {
56
+ export const $httpPart = (context, target, type, options) => {
59
57
  context.program.stateMap(HttpStateKeys.httpPart).set(target, { type, options });
60
58
  };
61
59
  /** Return the http part information on a model that is an `HttpPart` */
62
60
  export function getHttpPart(program, target) {
63
61
  return program.stateMap(HttpStateKeys.httpPart).get(target);
64
62
  }
65
- /** @internal */
66
- export const $decorators = {
67
- "TypeSpec.Http.Private": {
68
- httpFile: $httpFile,
69
- httpPart: $httpPart,
70
- plainData: $plainData,
71
- },
72
- };
63
+ /**
64
+ * Specifies if inapplicable metadata should be included in the payload for
65
+ * the given entity. This is true by default unless changed by this
66
+ * decorator.
67
+ *
68
+ * @param entity Target model, namespace, or model property. If applied to a
69
+ * model or namespace, applies recursively to child models,
70
+ * namespaces, and model properties unless overridden by
71
+ * applying this decorator to a child.
72
+ *
73
+ * @param value `true` to include inapplicable metadata in payload, false to
74
+ * exclude it.
75
+ *
76
+ * @see isApplicableMetadata
77
+ *
78
+ * @ignore Cause issue with conflicting function of same name for now
79
+ */
80
+ export function $includeInapplicableMetadataInPayload(context, entity, value) {
81
+ const state = context.program.stateMap(HttpStateKeys.includeInapplicableMetadataInPayload);
82
+ state.set(entity, value);
83
+ }
84
+ /**
85
+ * Determines if the given model property should be included in the payload if it is
86
+ * inapplicable metadata.
87
+ *
88
+ * @see isApplicableMetadata
89
+ * @see $includeInapplicableMetadataInPayload
90
+ */
91
+ export function includeInapplicableMetadataInPayload(program, property) {
92
+ let e;
93
+ for (e = property; e; e = e.kind === "ModelProperty" ? e.model : e.namespace) {
94
+ const value = program.stateMap(HttpStateKeys.includeInapplicableMetadataInPayload).get(e);
95
+ if (value !== undefined) {
96
+ return value;
97
+ }
98
+ }
99
+ return true;
100
+ }
73
101
  //# sourceMappingURL=private.decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"private.decorators.js","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"private.decorators.js","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare function resolvePathAndParameters(program: Program, operation: Op
6
6
  path: string;
7
7
  parameters: HttpOperationParameters;
8
8
  }>;
9
+ /** @experimental */
9
10
  export declare function DefaultRouteProducer(program: Program, operation: Operation, parentSegments: string[], overloadBase: HttpOperation | undefined, options: RouteOptions): DiagnosticResult<RouteProducerResult>;
10
11
  export declare function getUriTemplatePathParam(param: HttpOperationPathParameter): string;
11
12
  export declare function addQueryParamsToUriTemplate(uriTemplate: string, params: HttpOperationParameter[]): string;
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EAEL,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAG1B,YAAY,EACZ,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAkBpB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAM9C;AAUD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,aAAa,GAAG,SAAS,EACvC,OAAO,EAAE,sBAAsB,GAC9B,gBAAgB,CAAC;IAClB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,uBAAuB,CAAC;CACrC,CAAC,CAoCD;AAsDD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,MAAM,EAAE,EACxB,YAAY,EAAE,aAAa,GAAG,SAAS,EACvC,OAAO,EAAE,YAAY,GACpB,gBAAgB,CAAC,mBAAmB,CAAC,CAiCvC;AAUD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,0BAA0B,UAGxE;AAMD,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,UAShG;AAcD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,GAC3B,IAAI,CAEN;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,aAAa,CAEtF;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,QAwBnF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,QAEpE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAE7E;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GACxC,SAAS,GAAG,SAAS,CAQvB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,YAAY,QAGtB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,YAAY,GAAG,SAAS,CAE1B"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EACL,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAG1B,YAAY,EACZ,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAkBpB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAM9C;AAUD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,aAAa,GAAG,SAAS,EACvC,OAAO,EAAE,sBAAsB,GAC9B,gBAAgB,CAAC;IAClB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,uBAAuB,CAAC;CACrC,CAAC,CAoCD;AAsDD,oBAAoB;AACpB,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,MAAM,EAAE,EACxB,YAAY,EAAE,aAAa,GAAG,SAAS,EACvC,OAAO,EAAE,YAAY,GACpB,gBAAgB,CAAC,mBAAmB,CAAC,CAiCvC;AAUD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,0BAA0B,UAGxE;AAMD,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,UAShG;AAcD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,GAC3B,IAAI,CAEN;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,aAAa,CAEtF;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,QAkBnF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,QAEpE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAE7E;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GACxC,SAAS,GAAG,SAAS,CAQvB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,YAAY,QAGtB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,YAAY,GAAG,SAAS,CAE1B"}
package/dist/src/route.js CHANGED
@@ -1,4 +1,4 @@
1
- import { createDiagnosticCollector, validateDecoratorTarget, } from "@typespec/compiler";
1
+ import { createDiagnosticCollector, } from "@typespec/compiler";
2
2
  import { createDiagnostic, HttpStateKeys, reportDiagnostic } from "./lib.js";
3
3
  import { getOperationParameters } from "./parameters.js";
4
4
  import { parseUriTemplate } from "./uri-template.js";
@@ -86,6 +86,7 @@ function getUriTemplateAndParameters(program, operation, overloadBase, options)
86
86
  diagnostics,
87
87
  ];
88
88
  }
89
+ /** @experimental */
89
90
  export function DefaultRouteProducer(program, operation, parentSegments, overloadBase, options) {
90
91
  const diagnostics = createDiagnosticCollector();
91
92
  const routePath = getRoutePath(program, operation)?.path;
@@ -147,9 +148,6 @@ export function getRouteProducer(program, operation) {
147
148
  return program.stateMap(HttpStateKeys.routeProducer).get(operation);
148
149
  }
149
150
  export function setRoute(context, entity, details) {
150
- if (!validateDecoratorTarget(context, entity, "@route", ["Namespace", "Interface", "Operation"])) {
151
- return;
152
- }
153
151
  const state = context.program.stateMap(HttpStateKeys.routes);
154
152
  if (state.has(entity) && entity.kind === "Namespace") {
155
153
  const existingPath = state.get(entity);