@typespec/http 0.57.0-dev.5 → 0.57.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 (55) hide show
  1. package/README.md +27 -0
  2. package/dist/generated-defs/TypeSpec.Http.Private.d.ts +3 -1
  3. package/dist/generated-defs/TypeSpec.Http.Private.d.ts.map +1 -1
  4. package/dist/generated-defs/TypeSpec.Http.d.ts +16 -0
  5. package/dist/generated-defs/TypeSpec.Http.d.ts.map +1 -1
  6. package/dist/generated-defs/TypeSpec.Http.ts-test.js +2 -1
  7. package/dist/generated-defs/TypeSpec.Http.ts-test.js.map +1 -1
  8. package/dist/src/content-types.d.ts +1 -0
  9. package/dist/src/content-types.d.ts.map +1 -1
  10. package/dist/src/content-types.js +4 -0
  11. package/dist/src/content-types.js.map +1 -1
  12. package/dist/src/decorators.d.ts +3 -3
  13. package/dist/src/decorators.d.ts.map +1 -1
  14. package/dist/src/decorators.js +7 -24
  15. package/dist/src/decorators.js.map +1 -1
  16. package/dist/src/http-property.d.ts +52 -0
  17. package/dist/src/http-property.d.ts.map +1 -0
  18. package/dist/src/http-property.js +129 -0
  19. package/dist/src/http-property.js.map +1 -0
  20. package/dist/src/index.d.ts +1 -0
  21. package/dist/src/index.d.ts.map +1 -1
  22. package/dist/src/index.js +1 -0
  23. package/dist/src/index.js.map +1 -1
  24. package/dist/src/lib.d.ts +64 -4
  25. package/dist/src/lib.d.ts.map +1 -1
  26. package/dist/src/lib.js +28 -0
  27. package/dist/src/lib.js.map +1 -1
  28. package/dist/src/metadata.d.ts +1 -10
  29. package/dist/src/metadata.d.ts.map +1 -1
  30. package/dist/src/metadata.js +8 -53
  31. package/dist/src/metadata.js.map +1 -1
  32. package/dist/src/parameters.d.ts.map +1 -1
  33. package/dist/src/parameters.js +33 -87
  34. package/dist/src/parameters.js.map +1 -1
  35. package/dist/src/payload.d.ts +12 -0
  36. package/dist/src/payload.d.ts.map +1 -0
  37. package/dist/src/payload.js +301 -0
  38. package/dist/src/payload.js.map +1 -0
  39. package/dist/src/private.decorators.d.ts +28 -0
  40. package/dist/src/private.decorators.d.ts.map +1 -0
  41. package/dist/src/private.decorators.js +64 -0
  42. package/dist/src/private.decorators.js.map +1 -0
  43. package/dist/src/responses.d.ts.map +1 -1
  44. package/dist/src/responses.js +11 -44
  45. package/dist/src/responses.js.map +1 -1
  46. package/dist/src/types.d.ts +48 -27
  47. package/dist/src/types.d.ts.map +1 -1
  48. package/lib/{http-decorators.tsp → decorators.tsp} +15 -7
  49. package/lib/http.tsp +17 -1
  50. package/lib/private.decorators.tsp +14 -0
  51. package/package.json +1 -1
  52. package/dist/src/body.d.ts +0 -15
  53. package/dist/src/body.d.ts.map +0 -1
  54. package/dist/src/body.js +0 -112
  55. package/dist/src/body.js.map +0 -1
package/dist/src/lib.d.ts CHANGED
@@ -56,17 +56,29 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
56
56
  "write-visibility-not-supported": {
57
57
  readonly default: "@visibility(\"write\") is not supported. Use @visibility(\"update\"), @visibility(\"create\") or @visibility(\"create\", \"update\") as appropriate.";
58
58
  };
59
+ "multipart-invalid-content-type": {
60
+ readonly default: import("@typespec/compiler").CallableMessage<[string, string]>;
61
+ };
59
62
  "multipart-model": {
60
63
  readonly default: "Multipart request body must be a model.";
61
64
  };
65
+ "multipart-part": {
66
+ readonly default: "Expect item to be an HttpPart model.";
67
+ };
68
+ "multipart-nested": {
69
+ readonly default: "Cannot use @multipartBody inside of an HttpPart";
70
+ };
71
+ "formdata-no-part-name": {
72
+ readonly default: "Part used in multipart/form-data must have a name.";
73
+ };
62
74
  "header-format-required": {
63
75
  readonly default: "A format must be specified for @header when type is an array. e.g. @header({format: \"csv\"})";
64
76
  };
65
77
  "query-format-required": {
66
78
  readonly default: "A format must be specified for @query when type is an array. e.g. @query({format: \"multi\"})";
67
79
  };
68
- }, Record<string, any>, "path" | "query" | "authentication" | "header" | "body" | "bodyRoot" | "bodyIgnore" | "statusCode" | "verbs" | "servers" | "includeInapplicableMetadataInPayload" | "externalInterfaces" | "routeProducer" | "routes" | "sharedRoutes" | "routeOptions">;
69
- export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "http-verb-wrong-type" | "missing-path-param" | "optional-path-param" | "missing-server-param" | "duplicate-body" | "duplicate-route-decorator" | "operation-param-duplicate-type" | "duplicate-operation" | "multiple-status-codes" | "status-code-invalid" | "content-type-string" | "content-type-ignored" | "metadata-ignored" | "no-service-found" | "invalid-type-for-auth" | "shared-inconsistency" | "write-visibility-not-supported" | "multipart-model" | "header-format-required" | "query-format-required", M extends keyof {
80
+ }, Record<string, any>, "path" | "file" | "query" | "authentication" | "header" | "body" | "bodyRoot" | "bodyIgnore" | "multipartBody" | "statusCode" | "verbs" | "servers" | "includeInapplicableMetadataInPayload" | "externalInterfaces" | "routeProducer" | "routes" | "sharedRoutes" | "routeOptions" | "httpPart">;
81
+ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "http-verb-wrong-type" | "missing-path-param" | "optional-path-param" | "missing-server-param" | "duplicate-body" | "duplicate-route-decorator" | "operation-param-duplicate-type" | "duplicate-operation" | "multiple-status-codes" | "status-code-invalid" | "content-type-string" | "content-type-ignored" | "metadata-ignored" | "no-service-found" | "invalid-type-for-auth" | "shared-inconsistency" | "write-visibility-not-supported" | "multipart-invalid-content-type" | "multipart-model" | "multipart-part" | "multipart-nested" | "formdata-no-part-name" | "header-format-required" | "query-format-required", M extends keyof {
70
82
  "http-verb-duplicate": {
71
83
  readonly default: import("@typespec/compiler").CallableMessage<[string]>;
72
84
  };
@@ -124,9 +136,21 @@ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "http-
124
136
  "write-visibility-not-supported": {
125
137
  readonly default: "@visibility(\"write\") is not supported. Use @visibility(\"update\"), @visibility(\"create\") or @visibility(\"create\", \"update\") as appropriate.";
126
138
  };
139
+ "multipart-invalid-content-type": {
140
+ readonly default: import("@typespec/compiler").CallableMessage<[string, string]>;
141
+ };
127
142
  "multipart-model": {
128
143
  readonly default: "Multipart request body must be a model.";
129
144
  };
145
+ "multipart-part": {
146
+ readonly default: "Expect item to be an HttpPart model.";
147
+ };
148
+ "multipart-nested": {
149
+ readonly default: "Cannot use @multipartBody inside of an HttpPart";
150
+ };
151
+ "formdata-no-part-name": {
152
+ readonly default: "Part used in multipart/form-data must have a name.";
153
+ };
130
154
  "header-format-required": {
131
155
  readonly default: "A format must be specified for @header when type is an array. e.g. @header({format: \"csv\"})";
132
156
  };
@@ -191,16 +215,28 @@ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "http-
191
215
  "write-visibility-not-supported": {
192
216
  readonly default: "@visibility(\"write\") is not supported. Use @visibility(\"update\"), @visibility(\"create\") or @visibility(\"create\", \"update\") as appropriate.";
193
217
  };
218
+ "multipart-invalid-content-type": {
219
+ readonly default: import("@typespec/compiler").CallableMessage<[string, string]>;
220
+ };
194
221
  "multipart-model": {
195
222
  readonly default: "Multipart request body must be a model.";
196
223
  };
224
+ "multipart-part": {
225
+ readonly default: "Expect item to be an HttpPart model.";
226
+ };
227
+ "multipart-nested": {
228
+ readonly default: "Cannot use @multipartBody inside of an HttpPart";
229
+ };
230
+ "formdata-no-part-name": {
231
+ readonly default: "Part used in multipart/form-data must have a name.";
232
+ };
197
233
  "header-format-required": {
198
234
  readonly default: "A format must be specified for @header when type is an array. e.g. @header({format: \"csv\"})";
199
235
  };
200
236
  "query-format-required": {
201
237
  readonly default: "A format must be specified for @query when type is an array. e.g. @query({format: \"multi\"})";
202
238
  };
203
- }, C, M>) => void, createDiagnostic: <C extends "http-verb-duplicate" | "http-verb-wrong-type" | "missing-path-param" | "optional-path-param" | "missing-server-param" | "duplicate-body" | "duplicate-route-decorator" | "operation-param-duplicate-type" | "duplicate-operation" | "multiple-status-codes" | "status-code-invalid" | "content-type-string" | "content-type-ignored" | "metadata-ignored" | "no-service-found" | "invalid-type-for-auth" | "shared-inconsistency" | "write-visibility-not-supported" | "multipart-model" | "header-format-required" | "query-format-required", M extends keyof {
239
+ }, C, M>) => void, createDiagnostic: <C extends "http-verb-duplicate" | "http-verb-wrong-type" | "missing-path-param" | "optional-path-param" | "missing-server-param" | "duplicate-body" | "duplicate-route-decorator" | "operation-param-duplicate-type" | "duplicate-operation" | "multiple-status-codes" | "status-code-invalid" | "content-type-string" | "content-type-ignored" | "metadata-ignored" | "no-service-found" | "invalid-type-for-auth" | "shared-inconsistency" | "write-visibility-not-supported" | "multipart-invalid-content-type" | "multipart-model" | "multipart-part" | "multipart-nested" | "formdata-no-part-name" | "header-format-required" | "query-format-required", M extends keyof {
204
240
  "http-verb-duplicate": {
205
241
  readonly default: import("@typespec/compiler").CallableMessage<[string]>;
206
242
  };
@@ -258,9 +294,21 @@ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "http-
258
294
  "write-visibility-not-supported": {
259
295
  readonly default: "@visibility(\"write\") is not supported. Use @visibility(\"update\"), @visibility(\"create\") or @visibility(\"create\", \"update\") as appropriate.";
260
296
  };
297
+ "multipart-invalid-content-type": {
298
+ readonly default: import("@typespec/compiler").CallableMessage<[string, string]>;
299
+ };
261
300
  "multipart-model": {
262
301
  readonly default: "Multipart request body must be a model.";
263
302
  };
303
+ "multipart-part": {
304
+ readonly default: "Expect item to be an HttpPart model.";
305
+ };
306
+ "multipart-nested": {
307
+ readonly default: "Cannot use @multipartBody inside of an HttpPart";
308
+ };
309
+ "formdata-no-part-name": {
310
+ readonly default: "Part used in multipart/form-data must have a name.";
311
+ };
264
312
  "header-format-required": {
265
313
  readonly default: "A format must be specified for @header when type is an array. e.g. @header({format: \"csv\"})";
266
314
  };
@@ -325,14 +373,26 @@ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "http-
325
373
  "write-visibility-not-supported": {
326
374
  readonly default: "@visibility(\"write\") is not supported. Use @visibility(\"update\"), @visibility(\"create\") or @visibility(\"create\", \"update\") as appropriate.";
327
375
  };
376
+ "multipart-invalid-content-type": {
377
+ readonly default: import("@typespec/compiler").CallableMessage<[string, string]>;
378
+ };
328
379
  "multipart-model": {
329
380
  readonly default: "Multipart request body must be a model.";
330
381
  };
382
+ "multipart-part": {
383
+ readonly default: "Expect item to be an HttpPart model.";
384
+ };
385
+ "multipart-nested": {
386
+ readonly default: "Cannot use @multipartBody inside of an HttpPart";
387
+ };
388
+ "formdata-no-part-name": {
389
+ readonly default: "Part used in multipart/form-data must have a name.";
390
+ };
331
391
  "header-format-required": {
332
392
  readonly default: "A format must be specified for @header when type is an array. e.g. @header({format: \"csv\"})";
333
393
  };
334
394
  "query-format-required": {
335
395
  readonly default: "A format must be specified for @query when type is an array. e.g. @query({format: \"multi\"})";
336
396
  };
337
- }, C, M>) => import("@typespec/compiler").Diagnostic, HttpStateKeys: Record<"path" | "query" | "authentication" | "header" | "body" | "bodyRoot" | "bodyIgnore" | "statusCode" | "verbs" | "servers" | "includeInapplicableMetadataInPayload" | "externalInterfaces" | "routeProducer" | "routes" | "sharedRoutes" | "routeOptions", symbol>;
397
+ }, C, M>) => import("@typespec/compiler").Diagnostic, HttpStateKeys: Record<"path" | "file" | "query" | "authentication" | "header" | "body" | "bodyRoot" | "bodyIgnore" | "multipartBody" | "statusCode" | "verbs" | "servers" | "includeInapplicableMetadataInPayload" | "externalInterfaces" | "routeProducer" | "routes" | "sharedRoutes" | "routeOptions" | "httpPart", symbol>;
338
398
  //# sourceMappingURL=lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gRA8JN,CAAC;AAEZ,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAa,aAAa,yQAAS,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wTA2LN,CAAC;AAEZ,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAa,aAAa,iTAAS,CAAC"}
package/dist/src/lib.js CHANGED
@@ -113,12 +113,36 @@ export const $lib = createTypeSpecLibrary({
113
113
  default: `@visibility("write") is not supported. Use @visibility("update"), @visibility("create") or @visibility("create", "update") as appropriate.`,
114
114
  },
115
115
  },
116
+ "multipart-invalid-content-type": {
117
+ severity: "error",
118
+ messages: {
119
+ default: paramMessage `Content type '${"contentType"}' is not a multipart content type. Supported content types are: ${"supportedContentTypes"}.`,
120
+ },
121
+ },
116
122
  "multipart-model": {
117
123
  severity: "error",
118
124
  messages: {
119
125
  default: "Multipart request body must be a model.",
120
126
  },
121
127
  },
128
+ "multipart-part": {
129
+ severity: "error",
130
+ messages: {
131
+ default: "Expect item to be an HttpPart model.",
132
+ },
133
+ },
134
+ "multipart-nested": {
135
+ severity: "error",
136
+ messages: {
137
+ default: "Cannot use @multipartBody inside of an HttpPart",
138
+ },
139
+ },
140
+ "formdata-no-part-name": {
141
+ severity: "error",
142
+ messages: {
143
+ default: "Part used in multipart/form-data must have a name.",
144
+ },
145
+ },
122
146
  "header-format-required": {
123
147
  severity: "error",
124
148
  messages: {
@@ -140,6 +164,7 @@ export const $lib = createTypeSpecLibrary({
140
164
  body: { description: "State for the @body decorator" },
141
165
  bodyRoot: { description: "State for the @bodyRoot decorator" },
142
166
  bodyIgnore: { description: "State for the @bodyIgnore decorator" },
167
+ multipartBody: { description: "State for the @bodyIgnore decorator" },
143
168
  statusCode: { description: "State for the @statusCode decorator" },
144
169
  verbs: { description: "State for the verb decorators (@get, @post, @put, etc.)" },
145
170
  servers: { description: "State for the @server decorator" },
@@ -152,6 +177,9 @@ export const $lib = createTypeSpecLibrary({
152
177
  routes: {},
153
178
  sharedRoutes: { description: "State for the @sharedRoute decorator" },
154
179
  routeOptions: {},
180
+ // private
181
+ file: { description: "State for the @Private.file decorator" },
182
+ httpPart: { description: "State for the @Private.httpPart decorator" },
155
183
  },
156
184
  });
157
185
  export const { reportDiagnostic, createDiagnostic, stateKeys: HttpStateKeys } = $lib;
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACxC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE;QACX,qBAAqB,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,gCAAgC,YAAY,EAAE;aACpE;SACF;QACD,sBAAsB,EAAE;YACtB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,eAAe,MAAM,SAAS,YAAY,EAAE;aAClE;SACF;QACD,oBAAoB,EAAE;YACpB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,8BAA8B,OAAO,4CAA4C;aACvG;SACF;QACD,qBAAqB,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,mBAAmB,WAAW,uBAAuB;aAC3E;SACF;QACD,sBAAsB,EAAE;YACtB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,kCAAkC,OAAO,wCAAwC;aACvG;SACF;QACD,gBAAgB,EAAE;YAChB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,kDAAkD;gBAC3D,oBAAoB,EAClB,4FAA4F;gBAC9F,kBAAkB,EAChB,iGAAiG;aACpG;SACF;QACD,2BAA2B,EAAE;YAC3B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,SAAS,EAAE,sEAAsE;aAClF;SACF;QACD,gCAAgC,EAAE;YAChC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,SAAS,WAAW,yBAAyB,OAAO,GAAG;aAC7E;SACF;QACD,qBAAqB,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,wBAAwB,eAAe,gBAAgB,MAAM,IAAI,MAAM,IAAI;aACjG;SACF;QACD,uBAAuB,EAAE;YACvB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,wEAAwE;aAClF;SACF;QACD,qBAAqB,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,6FAA6F;gBAC/F,KAAK,EAAE,iEAAiE;aACzE;SACF;QACD,qBAAqB,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,4EAA4E;aACtF;SACF;QACD,sBAAsB,EAAE;YACtB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,yDAAyD;aACnE;SACF;QACD,kBAAkB,EAAE;YAClB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,GAAG,MAAM,yGAAyG;aACxI;SACF;QACD,kBAAkB,EAAE;YAClB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,0DAA0D,WAAW,mEAAmE;aAC9J;SACF;QACD,uBAAuB,EAAE;YACvB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,YAAY,MAAM,sEAAsE;aAC9G;SACF;QACD,sBAAsB,EAAE;YACtB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,6BAA6B,MAAM,IAAI,MAAM,6CAA6C;aAChH;SACF;QACD,gCAAgC,EAAE;YAChC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,4IAA4I;aACtJ;SACF;QACD,gCAAgC,EAAE;YAChC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,iBAAiB,aAAa,mEAAmE,uBAAuB,GAAG;aACjJ;SACF;QACD,iBAAiB,EAAE;YACjB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,yCAAyC;aACnD;SACF;QACD,gBAAgB,EAAE;YAChB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,sCAAsC;aAChD;SACF;QACD,kBAAkB,EAAE;YAClB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,iDAAiD;aAC3D;SACF;QACD,uBAAuB,EAAE;YACvB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,oDAAoD;aAC9D;SACF;QACD,wBAAwB,EAAE;YACxB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,6FAA6F;aACvG;SACF;QACD,uBAAuB,EAAE;YACvB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,6FAA6F;aACvG;SACF;KACF;IACD,KAAK,EAAE;QACL,cAAc,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE;QAChE,MAAM,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE;QAC1D,KAAK,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE;QACxD,IAAI,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE;QACtD,IAAI,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE;QACtD,QAAQ,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE;QAC9D,UAAU,EAAE,EAAE,WAAW,EAAE,qCAAqC,EAAE;QAClE,aAAa,EAAE,EAAE,WAAW,EAAE,qCAAqC,EAAE;QACrE,UAAU,EAAE,EAAE,WAAW,EAAE,qCAAqC,EAAE;QAClE,KAAK,EAAE,EAAE,WAAW,EAAE,yDAAyD,EAAE;QACjF,OAAO,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE;QAC3D,oCAAoC,EAAE;YACpC,WAAW,EAAE,+DAA+D;SAC7E;QAED,WAAW;QACX,kBAAkB,EAAE,EAAE;QACtB,aAAa,EAAE,EAAE;QACjB,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,EAAE,WAAW,EAAE,sCAAsC,EAAE;QACrE,YAAY,EAAE,EAAE;QAEhB,UAAU;QACV,IAAI,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAE;QAC9D,QAAQ,EAAE,EAAE,WAAW,EAAE,2CAA2C,EAAE;KACvE;CACO,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC"}
@@ -1,4 +1,4 @@
1
- import { DiagnosticCollector, ModelProperty, Operation, Program, Type } from "@typespec/compiler";
1
+ import { ModelProperty, Operation, Program, Type } from "@typespec/compiler";
2
2
  import { HttpVerb } from "./types.js";
3
3
  /**
4
4
  * Flags enum representation of well-known visibilities that are used in
@@ -60,15 +60,6 @@ export declare function getRequestVisibility(verb: HttpVerb): Visibility;
60
60
  * @returns The applicable parameter visibility or visibilities for the request.
61
61
  */
62
62
  export declare function resolveRequestVisibility(program: Program, operation: Operation, verb: HttpVerb): Visibility;
63
- /**
64
- * Walks the given type and collects all applicable metadata and `@body`
65
- * properties recursively.
66
- *
67
- * @param rootMapOut If provided, the map will be populated to link
68
- * nested metadata properties to their root properties.
69
- */
70
- export declare function gatherMetadata(program: Program, diagnostics: DiagnosticCollector, // currently unused, but reserved for future diagnostics
71
- type: Type, visibility: Visibility, isMetadataCallback?: typeof isMetadata, rootMapOut?: Map<ModelProperty, ModelProperty>): Set<ModelProperty>;
72
63
  /**
73
64
  * Determines if a property is metadata. A property is defined to be
74
65
  * metadata if it is marked `@header`, `@query`, `@path`, or `@statusCode`.
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EAKnB,aAAa,EACb,SAAS,EACT,OAAO,EAGP,IAAI,EAGL,MAAM,oBAAoB,CAAC;AAW5B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;GAGG;AACH,oBAAY,UAAU;IACpB,IAAI,IAAS;IACb,MAAM,IAAS;IACf,MAAM,IAAS;IACf,MAAM,IAAS;IACf,KAAK,KAAS;IAEd,IAAI,IAAI;IACR,GAAG,KAA0C;IAE7C;;;OAGG;IACH,IAAI,UAAU;IAEd;;;OAGG;IACH,KAAK,UAAU;CAChB;AA+DD;;;;;;;;;;;;;;MAcM;AACN,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,EACtB,mBAAmB,GAAE,UAAU,GAAG,SAA2B,UAc9D;AA6BD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAQ/D;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,QAAQ,GACb,UAAU,CAUZ;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,mBAAmB,EAAE,wDAAwD;AAC1F,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,kBAAkB,oBAAa,EAC/B,UAAU,CAAC,EAAE,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,GAC7C,GAAG,CAAC,aAAa,CAAC,CAkDpB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,WAOnE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,WAE1F;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,UAAU,EACtB,kBAAkB,oBAAa,WAGhC;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,UAAU,EACtB,kBAAkB,oBAAa,WAGhC;AAgCD;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;;OAUG;IACH,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;IAEnE;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;IAEvE;;;;OAIG;IACH,iBAAiB,CACf,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,UAAU,EACtB,cAAc,CAAC,EAAE,OAAO,GACvB,OAAO,CAAC;IAEX;;;OAGG;IACH,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;IAErE;;;OAGG;IACH,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,UAAU,CAAC;IAEjC;;;;;;;OAOG;IACH,gBAAgB,CAAC,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC;CACrD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAgLhG"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,aAAa,EACb,SAAS,EACT,OAAO,EACP,IAAI,EAEL,MAAM,oBAAoB,CAAC;AAa5B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;GAGG;AACH,oBAAY,UAAU;IACpB,IAAI,IAAS;IACb,MAAM,IAAS;IACf,MAAM,IAAS;IACf,MAAM,IAAS;IACf,KAAK,KAAS;IAEd,IAAI,IAAI;IACR,GAAG,KAA0C;IAE7C;;;OAGG;IACH,IAAI,UAAU;IAEd;;;OAGG;IACH,KAAK,UAAU;CAChB;AA+DD;;;;;;;;;;;;;;MAcM;AACN,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,EACtB,mBAAmB,GAAE,UAAU,GAAG,SAA2B,UAc9D;AA6BD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAQ/D;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,QAAQ,GACb,UAAU,CAUZ;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,WAOnE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,WAE1F;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,UAAU,EACtB,kBAAkB,oBAAa,WAGhC;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,UAAU,EACtB,kBAAkB,oBAAa,WAGhC;AAqCD;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;;OAUG;IACH,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;IAEnE;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;IAEvE;;;;OAIG;IACH,iBAAiB,CACf,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,UAAU,EACtB,cAAc,CAAC,EAAE,OAAO,GACvB,OAAO,CAAC;IAEX;;;OAGG;IACH,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;IAErE;;;OAGG;IACH,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,UAAU,CAAC;IAEjC;;;;;;;OAOG;IACH,gBAAgB,CAAC,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC;CACrD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAgLhG"}
@@ -1,5 +1,6 @@
1
- import { compilerAssert, getEffectiveModelType, getParameterVisibility, isVisible as isVisibleCore, Queue, TwoLevelMap, walkPropertiesInherited, } from "@typespec/compiler";
2
- import { includeInapplicableMetadataInPayload, isBody, isBodyIgnore, isBodyRoot, isHeader, isPathParam, isQueryParam, isStatusCode, } from "./decorators.js";
1
+ import { compilerAssert, getEffectiveModelType, getParameterVisibility, isVisible as isVisibleCore, } from "@typespec/compiler";
2
+ import { TwoLevelMap } from "@typespec/compiler/utils";
3
+ import { includeInapplicableMetadataInPayload, isBody, isBodyIgnore, isBodyRoot, isHeader, isMultipartBodyProperty, isPathParam, isQueryParam, isStatusCode, } from "./decorators.js";
3
4
  /**
4
5
  * Flags enum representation of well-known visibilities that are used in
5
6
  * REST API.
@@ -171,55 +172,6 @@ export function resolveRequestVisibility(program, operation, verb) {
171
172
  }
172
173
  return visibility;
173
174
  }
174
- /**
175
- * Walks the given type and collects all applicable metadata and `@body`
176
- * properties recursively.
177
- *
178
- * @param rootMapOut If provided, the map will be populated to link
179
- * nested metadata properties to their root properties.
180
- */
181
- export function gatherMetadata(program, diagnostics, // currently unused, but reserved for future diagnostics
182
- type, visibility, isMetadataCallback = isMetadata, rootMapOut) {
183
- const metadata = new Map();
184
- if (type.kind !== "Model" || type.properties.size === 0) {
185
- return new Set();
186
- }
187
- const visited = new Set();
188
- const queue = new Queue([[type, undefined]]);
189
- while (!queue.isEmpty()) {
190
- const [model, rootOpt] = queue.dequeue();
191
- visited.add(model);
192
- for (const property of walkPropertiesInherited(model)) {
193
- const root = rootOpt ?? property;
194
- if (!isVisible(program, property, visibility)) {
195
- continue;
196
- }
197
- // ISSUE: This should probably be an error, but that's a breaking
198
- // change that currently breaks some samples and tests.
199
- //
200
- // The traversal here is level-order so that the preferred metadata in
201
- // the case of duplicates, which is the most compatible with prior
202
- // behavior where nested metadata was always dropped.
203
- if (metadata.has(property.name)) {
204
- continue;
205
- }
206
- if (isApplicableMetadataOrBody(program, property, visibility, isMetadataCallback)) {
207
- metadata.set(property.name, property);
208
- rootMapOut?.set(property, root);
209
- if (isBody(program, property)) {
210
- continue; // We ignore any properties under `@body`
211
- }
212
- }
213
- if (property.type.kind === "Model" &&
214
- !type.indexer &&
215
- type.properties.size > 0 &&
216
- !visited.has(property.type)) {
217
- queue.enqueue([property.type, root]);
218
- }
219
- }
220
- }
221
- return new Set(metadata.values());
222
- }
223
175
  /**
224
176
  * Determines if a property is metadata. A property is defined to be
225
177
  * metadata if it is marked `@header`, `@query`, `@path`, or `@statusCode`.
@@ -260,7 +212,10 @@ function isApplicableMetadataCore(program, property, visibility, treatBodyAsMeta
260
212
  if (visibility & Visibility.Item) {
261
213
  return false; // no metadata is applicable to collection items
262
214
  }
263
- if (treatBodyAsMetadata && (isBody(program, property) || isBodyRoot(program, property))) {
215
+ if (treatBodyAsMetadata &&
216
+ (isBody(program, property) ||
217
+ isBodyRoot(program, property) ||
218
+ isMultipartBodyProperty(program, property))) {
264
219
  return true;
265
220
  }
266
221
  if (!isMetadataCallback(program, property)) {
@@ -397,7 +352,7 @@ export function createMetadataInfo(program, options) {
397
352
  }
398
353
  /**
399
354
  * If the type is an anonymous model, tries to find a named model that has the same
400
- * set of properties when non-payload properties are excluded.
355
+ * set of properties when non-payload properties are excluded.we
401
356
  */
402
357
  function getEffectivePayloadType(type, visibility) {
403
358
  if (type.kind === "Model" && !type.name) {
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../../src/parameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAEV,SAAS,EACT,OAAO,EACR,MAAM,oBAAoB,CAAC;AAa5B,OAAO,EACL,aAAa,EAEb,uBAAuB,EAGvB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,aAAa,EAC5B,mBAAmB,GAAE,MAAM,EAAO,EAClC,OAAO,GAAE,yBAA8B,GACtC,CAAC,uBAAuB,EAAE,SAAS,UAAU,EAAE,CAAC,CAkBlD"}
1
+ {"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../../src/parameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAEV,SAAS,EACT,OAAO,EACR,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EACL,aAAa,EAEb,uBAAuB,EAEvB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,aAAa,EAC5B,mBAAmB,GAAE,MAAM,EAAO,EAClC,OAAO,GAAE,yBAA8B,GACtC,CAAC,uBAAuB,EAAE,SAAS,UAAU,EAAE,CAAC,CAkBlD"}
@@ -1,9 +1,8 @@
1
1
  import { createDiagnosticCollector, } from "@typespec/compiler";
2
- import { resolveBody } from "./body.js";
3
- import { getContentTypes, isContentTypeHeader } from "./content-types.js";
4
- import { getHeaderFieldOptions, getOperationVerb, getPathParamOptions, getQueryParamOptions, isBody, isBodyRoot, } from "./decorators.js";
2
+ import { getOperationVerb } from "./decorators.js";
5
3
  import { createDiagnostic } from "./lib.js";
6
- import { gatherMetadata, isMetadata, resolveRequestVisibility } from "./metadata.js";
4
+ import { resolveRequestVisibility } from "./metadata.js";
5
+ import { resolveHttpPayload } from "./payload.js";
7
6
  export function getOperationParameters(program, operation, overloadBase, knownPathParamNames = [], options = {}) {
8
7
  const verb = (options?.verbSelector && options.verbSelector(program, operation)) ??
9
8
  getOperationVerb(program, operation) ??
@@ -23,65 +22,42 @@ export function getOperationParameters(program, operation, overloadBase, knownPa
23
22
  function getOperationParametersForVerb(program, operation, verb, knownPathParamNames) {
24
23
  const diagnostics = createDiagnosticCollector();
25
24
  const visibility = resolveRequestVisibility(program, operation, verb);
26
- const rootPropertyMap = new Map();
27
- const metadata = gatherMetadata(program, diagnostics, operation.parameters, visibility, (_, param) => isMetadata(program, param) || isImplicitPathParam(param), rootPropertyMap);
28
25
  function isImplicitPathParam(param) {
29
26
  const isTopLevel = param.model === operation.parameters;
30
27
  return isTopLevel && knownPathParamNames.includes(param.name);
31
28
  }
32
29
  const parameters = [];
33
- const resolvedBody = diagnostics.pipe(resolveBody(program, operation.parameters, metadata, rootPropertyMap, visibility, "request"));
34
- let contentTypes;
35
- for (const param of metadata) {
36
- const queryOptions = getQueryParamOptions(program, param);
37
- const pathOptions = getPathParamOptions(program, param) ??
38
- (isImplicitPathParam(param) && { type: "path", name: param.name });
39
- const headerOptions = getHeaderFieldOptions(program, param);
40
- const isBodyVal = isBody(program, param);
41
- const isBodyRootVal = isBodyRoot(program, param);
42
- const defined = [
43
- ["query", queryOptions],
44
- ["path", pathOptions],
45
- ["header", headerOptions],
46
- ["body", isBodyVal || isBodyRootVal],
47
- ].filter((x) => !!x[1]);
48
- if (defined.length >= 2) {
49
- diagnostics.add(createDiagnostic({
50
- code: "operation-param-duplicate-type",
51
- format: { paramName: param.name, types: defined.map((x) => x[0]).join(", ") },
52
- target: param,
53
- }));
54
- }
55
- if (queryOptions) {
56
- parameters.push({
57
- ...queryOptions,
58
- param,
59
- });
60
- }
61
- else if (pathOptions) {
62
- if (param.optional) {
63
- diagnostics.add(createDiagnostic({
64
- code: "optional-path-param",
65
- format: { paramName: param.name },
66
- target: operation,
67
- }));
68
- }
69
- parameters.push({
70
- ...pathOptions,
71
- param,
72
- });
73
- }
74
- else if (headerOptions) {
75
- if (isContentTypeHeader(program, param)) {
76
- contentTypes = diagnostics.pipe(getContentTypes(param));
77
- }
78
- parameters.push({
79
- ...headerOptions,
80
- param,
81
- });
30
+ const { body: resolvedBody, metadata } = diagnostics.pipe(resolveHttpPayload(program, operation.parameters, visibility, "request", {
31
+ isImplicitPathParam,
32
+ }));
33
+ for (const item of metadata) {
34
+ switch (item.kind) {
35
+ case "contentType":
36
+ parameters.push({
37
+ name: "Content-Type",
38
+ type: "header",
39
+ param: item.property,
40
+ });
41
+ break;
42
+ case "path":
43
+ if (item.property.optional) {
44
+ diagnostics.add(createDiagnostic({
45
+ code: "optional-path-param",
46
+ format: { paramName: item.property.name },
47
+ target: item.property,
48
+ }));
49
+ }
50
+ // eslint-disable-next-line no-fallthrough
51
+ case "query":
52
+ case "header":
53
+ parameters.push({
54
+ ...item.options,
55
+ param: item.property,
56
+ });
57
+ break;
82
58
  }
83
59
  }
84
- const body = diagnostics.pipe(computeHttpOperationBody(operation, resolvedBody, contentTypes));
60
+ const body = resolvedBody;
85
61
  return diagnostics.wrap({
86
62
  parameters,
87
63
  verb,
@@ -90,38 +66,8 @@ function getOperationParametersForVerb(program, operation, verb, knownPathParamN
90
66
  return body?.type;
91
67
  },
92
68
  get bodyParameter() {
93
- return body?.parameter;
69
+ return body?.property;
94
70
  },
95
71
  });
96
72
  }
97
- function computeHttpOperationBody(operation, resolvedBody, contentTypes) {
98
- contentTypes ??= [];
99
- const diagnostics = [];
100
- if (resolvedBody === undefined) {
101
- if (contentTypes.length > 0) {
102
- diagnostics.push(createDiagnostic({
103
- code: "content-type-ignored",
104
- target: operation.parameters,
105
- }));
106
- }
107
- return [undefined, diagnostics];
108
- }
109
- if (contentTypes.includes("multipart/form-data") && resolvedBody.type.kind !== "Model") {
110
- diagnostics.push(createDiagnostic({
111
- code: "multipart-model",
112
- target: resolvedBody.property ?? operation.parameters,
113
- }));
114
- return [undefined, diagnostics];
115
- }
116
- const body = {
117
- type: resolvedBody.type,
118
- isExplicit: resolvedBody.isExplicit,
119
- containsMetadataAnnotations: resolvedBody.containsMetadataAnnotations,
120
- contentTypes,
121
- };
122
- if (resolvedBody.property) {
123
- body.parameter = resolvedBody.property;
124
- }
125
- return [body, diagnostics];
126
- }
127
73
  //# sourceMappingURL=parameters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/parameters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/parameters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Diagnostic, Program, Type } from "@typespec/compiler";
2
+ import { GetHttpPropertyOptions, HttpProperty } from "./http-property.js";
3
+ import { Visibility } from "./metadata.js";
4
+ import { HttpOperationBody, HttpOperationMultipartBody } from "./types.js";
5
+ export interface HttpPayload {
6
+ readonly body?: HttpOperationBody | HttpOperationMultipartBody;
7
+ readonly metadata: HttpProperty[];
8
+ }
9
+ export interface ExtractBodyAndMetadataOptions extends GetHttpPropertyOptions {
10
+ }
11
+ export declare function resolveHttpPayload(program: Program, type: Type, visibility: Visibility, usedIn: "request" | "response" | "multipart", options?: ExtractBodyAndMetadataOptions): [HttpPayload, readonly Diagnostic[]];
12
+ //# sourceMappingURL=payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../src/payload.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAGV,OAAO,EAEP,IAAI,EAQL,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EACL,sBAAsB,EAEtB,YAAY,EAEb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAqB,MAAM,YAAY,CAAC;AAE9F,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,0BAA0B,CAAC;IAC/D,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;CACnC;AACD,MAAM,WAAW,6BAA8B,SAAQ,sBAAsB;CAAG;AAChF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,EAC5C,OAAO,GAAE,6BAAkC,GAC1C,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC,CAwBtC"}