@typespec/http 0.66.0-dev.0 → 0.66.0-dev.2

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 (44) hide show
  1. package/README.md +11 -2
  2. package/dist/generated-defs/TypeSpec.Http.d.ts +13 -2
  3. package/dist/generated-defs/TypeSpec.Http.d.ts.map +1 -1
  4. package/dist/src/decorators.d.ts +11 -2
  5. package/dist/src/decorators.d.ts.map +1 -1
  6. package/dist/src/decorators.js +19 -1
  7. package/dist/src/decorators.js.map +1 -1
  8. package/dist/src/experimental/typekit/kits/http-operation.d.ts +7 -2
  9. package/dist/src/experimental/typekit/kits/http-operation.d.ts.map +1 -1
  10. package/dist/src/experimental/typekit/kits/http-operation.js +10 -6
  11. package/dist/src/experimental/typekit/kits/http-operation.js.map +1 -1
  12. package/dist/src/experimental/typekit/kits/http-part.d.ts +28 -0
  13. package/dist/src/experimental/typekit/kits/http-part.d.ts.map +1 -0
  14. package/dist/src/experimental/typekit/kits/http-part.js +20 -0
  15. package/dist/src/experimental/typekit/kits/http-part.js.map +1 -0
  16. package/dist/src/experimental/typekit/kits/http-request.d.ts +5 -1
  17. package/dist/src/experimental/typekit/kits/http-request.d.ts.map +1 -1
  18. package/dist/src/experimental/typekit/kits/http-request.js +12 -17
  19. package/dist/src/experimental/typekit/kits/http-request.js.map +1 -1
  20. package/dist/src/experimental/typekit/kits/http-response.d.ts +3 -2
  21. package/dist/src/experimental/typekit/kits/http-response.d.ts.map +1 -1
  22. package/dist/src/experimental/typekit/kits/http-response.js +1 -1
  23. package/dist/src/experimental/typekit/kits/http-response.js.map +1 -1
  24. package/dist/src/experimental/typekit/kits/index.d.ts +2 -0
  25. package/dist/src/experimental/typekit/kits/index.d.ts.map +1 -1
  26. package/dist/src/experimental/typekit/kits/index.js +2 -0
  27. package/dist/src/experimental/typekit/kits/index.js.map +1 -1
  28. package/dist/src/experimental/typekit/kits/model.d.ts +17 -0
  29. package/dist/src/experimental/typekit/kits/model.d.ts.map +1 -0
  30. package/dist/src/experimental/typekit/kits/model.js +10 -0
  31. package/dist/src/experimental/typekit/kits/model.js.map +1 -0
  32. package/dist/src/lib.d.ts +4 -19
  33. package/dist/src/lib.d.ts.map +1 -1
  34. package/dist/src/lib.js +1 -6
  35. package/dist/src/lib.js.map +1 -1
  36. package/dist/src/metadata.d.ts +9 -23
  37. package/dist/src/metadata.d.ts.map +1 -1
  38. package/dist/src/metadata.js +23 -8
  39. package/dist/src/metadata.js.map +1 -1
  40. package/dist/src/operations.d.ts.map +1 -1
  41. package/dist/src/operations.js +1 -23
  42. package/dist/src/operations.js.map +1 -1
  43. package/lib/decorators.tsp +23 -2
  44. package/package.json +3 -3
package/README.md CHANGED
@@ -344,7 +344,7 @@ op upload(
344
344
  Specify the HTTP verb for the target operation to be `PATCH`.
345
345
 
346
346
  ```typespec
347
- @TypeSpec.Http.patch
347
+ @TypeSpec.Http.patch(options?: valueof TypeSpec.Http.PatchOptions)
348
348
  ```
349
349
 
350
350
  ##### Target
@@ -353,7 +353,9 @@ Specify the HTTP verb for the target operation to be `PATCH`.
353
353
 
354
354
  ##### Parameters
355
355
 
356
- None
356
+ | Name | Type | Description |
357
+ | ------- | --------------------------------------- | -------------------------------- |
358
+ | options | [valueof `PatchOptions`](#patchoptions) | Options for the PATCH operation. |
357
359
 
358
360
  ##### Examples
359
361
 
@@ -361,6 +363,13 @@ None
361
363
  @patch op update(pet: Pet): void;
362
364
  ```
363
365
 
366
+ ```typespec
367
+ // Disable implicit optionality, making the body of the PATCH operation use the
368
+ // optionality as defined in the `Pet` model.
369
+ @patch(#{ implicitOptionality: false })
370
+ op update(pet: Pet): void;
371
+ ```
372
+
364
373
  #### `@path`
365
374
 
366
375
  Explicitly specify that this property is to be interpolated as a path parameter.
@@ -13,6 +13,9 @@ export interface PathOptions {
13
13
  readonly style?: "simple" | "label" | "matrix" | "fragment" | "path";
14
14
  readonly allowReserved?: boolean;
15
15
  }
16
+ export interface PatchOptions {
17
+ readonly implicitOptionality?: boolean;
18
+ }
16
19
  /**
17
20
  * Specify the status code for this response. Property type must be a status code integer or a union of status code integer.
18
21
  *
@@ -167,12 +170,20 @@ export type PostDecorator = (context: DecoratorContext, target: Operation) => vo
167
170
  /**
168
171
  * Specify the HTTP verb for the target operation to be `PATCH`.
169
172
  *
173
+ * @param options Options for the PATCH operation.
174
+ * @example
175
+ * ```typespec
176
+ * @patch op update(pet: Pet): void;
177
+ * ```
170
178
  * @example
171
179
  * ```typespec
172
- * @patch op update(pet: Pet): void
180
+ * // Disable implicit optionality, making the body of the PATCH operation use the
181
+ * // optionality as defined in the `Pet` model.
182
+ * @patch(#{ implicitOptionality: false })
183
+ * op update(pet: Pet): void;
173
184
  * ```
174
185
  */
175
- export type PatchDecorator = (context: DecoratorContext, target: Operation) => void;
186
+ export type PatchDecorator = (context: DecoratorContext, target: Operation, options?: PatchOptions) => void;
176
187
  /**
177
188
  * Specify the HTTP verb for the target operation to be `DELETE`.
178
189
  *
@@ -1 +1 @@
1
- {"version":3,"file":"TypeSpec.Http.d.ts","sourceRoot":"","sources":["../../generated-defs/TypeSpec.Http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypeSpec.Http.d.ts","sourceRoot":"","sources":["../../generated-defs/TypeSpec.Http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,SAAS,EACT,SAAS,EACT,IAAI,EACL,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;CACjF;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IACrE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACxC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AAE7F;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AAEvF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,mBAAmB,CAAC,EAAE,IAAI,KACvB,IAAI,CAAC;AAEV;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,mBAAmB,CAAC,EAAE,MAAM,GAAG,aAAa,KACzC,IAAI,CAAC;AAEV;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,kBAAkB,CAAC,EAAE,MAAM,GAAG,YAAY,KACvC,IAAI,CAAC;AAEV;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,kBAAkB,CAAC,EAAE,MAAM,GAAG,WAAW,KACtC,IAAI,CAAC;AAEV;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AAE3F;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AAE7F;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AAEhG;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;AAElF;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;AAElF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;AAEnF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,YAAY,KACnB,IAAI,CAAC;AAEV;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;AAErF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;AAEnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,IAAI,KACd,IAAI,CAAC;AAEV;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,EACzC,IAAI,EAAE,IAAI,KACP,IAAI,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,6CAA6C,GAAG,CAC1D,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,OAAO,KACX,IAAI,CAAC;AAEV;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,EACzC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,IAAI,KACX,IAAI,CAAC;AAEV;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;AAE1F,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,mBAAmB,CAAC;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,mBAAmB,CAAC;IAChC,aAAa,EAAE,sBAAsB,CAAC;IACtC,GAAG,EAAE,YAAY,CAAC;IAClB,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,oCAAoC,EAAE,6CAA6C,CAAC;IACpF,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;CACnC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { DecoratorContext, Diagnostic, Interface, Model, ModelProperty, Namespace, Operation, Program, Type } from "@typespec/compiler";
2
- import { BodyDecorator, BodyIgnoreDecorator, BodyRootDecorator, CookieDecorator, DeleteDecorator, GetDecorator, HeadDecorator, HeaderDecorator, MultipartBodyDecorator, PatchDecorator, PathDecorator, PostDecorator, PutDecorator, QueryDecorator, RouteDecorator, ServerDecorator, SharedRouteDecorator, StatusCodeDecorator } from "../generated-defs/TypeSpec.Http.js";
2
+ import { BodyDecorator, BodyIgnoreDecorator, BodyRootDecorator, CookieDecorator, DeleteDecorator, GetDecorator, HeadDecorator, HeaderDecorator, MultipartBodyDecorator, PatchDecorator, PatchOptions, PathDecorator, PostDecorator, PutDecorator, QueryDecorator, RouteDecorator, ServerDecorator, SharedRouteDecorator, StatusCodeDecorator } from "../generated-defs/TypeSpec.Http.js";
3
3
  import { Authentication, HeaderFieldOptions, HttpStatusCodeRange, HttpStatusCodes, HttpVerb, PathParameterOptions, QueryParameterOptions } from "./types.js";
4
4
  export declare const namespace = "TypeSpec.Http";
5
5
  export declare const $header: HeaderDecorator;
@@ -51,9 +51,18 @@ export declare function getOperationVerb(program: Program, entity: Type): HttpVe
51
51
  export declare const $get: GetDecorator;
52
52
  export declare const $put: PutDecorator;
53
53
  export declare const $post: PostDecorator;
54
- export declare const $patch: PatchDecorator;
55
54
  export declare const $delete: DeleteDecorator;
56
55
  export declare const $head: HeadDecorator;
56
+ export declare const $patch: PatchDecorator;
57
+ /**
58
+ * Gets the `PatchOptions` for the given operation.
59
+ *
60
+ * @param program - The program in which the operation occurs.
61
+ * @param operation - The operation.
62
+ * @returns The `PatchOptions` for the operation, or `undefined` if none. If the operation is not a PATCH operation, this
63
+ * function will always return `undefined`. If it is a PATCH operation, it may return undefined if no options were provided.
64
+ */
65
+ export declare function getPatchOptions(program: Program, operation: Operation): PatchOptions | undefined;
57
66
  export interface HttpServer {
58
67
  url: string;
59
68
  description?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { SyntaxKind, createDiagnosticCollector, getDoc, ignoreDiagnostics, isArrayModelType, reportDeprecated, typespecTypeToJson, validateDecoratorTarget, validateDecoratorUniqueOnNode, } from "@typespec/compiler";
2
+ import { useStateMap } from "@typespec/compiler/utils";
2
3
  import { HttpStateKeys, createDiagnostic, reportDiagnostic } from "./lib.js";
3
4
  import { setRoute, setSharedRoute } from "./route.js";
4
5
  import { getStatusCodesFromType } from "./status-codes.js";
@@ -314,9 +315,26 @@ function createVerbDecorator(verb) {
314
315
  export const $get = createVerbDecorator("get");
315
316
  export const $put = createVerbDecorator("put");
316
317
  export const $post = createVerbDecorator("post");
317
- export const $patch = createVerbDecorator("patch");
318
318
  export const $delete = createVerbDecorator("delete");
319
319
  export const $head = createVerbDecorator("head");
320
+ const _patch = createVerbDecorator("patch");
321
+ const [_getPatchOptions, setPatchOptions] = useStateMap(HttpStateKeys.patchOptions);
322
+ export const $patch = (context, entity, options) => {
323
+ _patch(context, entity);
324
+ if (options)
325
+ setPatchOptions(context.program, entity, options);
326
+ };
327
+ /**
328
+ * Gets the `PatchOptions` for the given operation.
329
+ *
330
+ * @param program - The program in which the operation occurs.
331
+ * @param operation - The operation.
332
+ * @returns The `PatchOptions` for the operation, or `undefined` if none. If the operation is not a PATCH operation, this
333
+ * function will always return `undefined`. If it is a PATCH operation, it may return undefined if no options were provided.
334
+ */
335
+ export function getPatchOptions(program, operation) {
336
+ return _getPatchOptions(program, operation);
337
+ }
320
338
  const VERB_DECORATORS = [$get, $head, $post, $put, $patch, $delete];
321
339
  /**
322
340
  * Configure the server url for the service.
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -16,12 +16,12 @@ export interface HttpOperationKit {
16
16
  * Get the responses for the given operation. This function will return an array of responses grouped by status code and content type.
17
17
  * @param op operation to extract the HttpResponse from
18
18
  */
19
- getResponses(op: Operation): FlatHttpResponse[];
19
+ flattenResponses(op: HttpOperation): FlatHttpResponse[];
20
20
  /**
21
21
  * Get the Http Return type for the given operation. This function will resolve the returnType based on the Http Operation.
22
22
  * @param op operation to get the return type for
23
23
  */
24
- getReturnType(op: Operation, options?: {
24
+ getReturnType(op: HttpOperation, options?: {
25
25
  includeErrors?: boolean;
26
26
  }): Type;
27
27
  }
@@ -41,6 +41,11 @@ export interface FlatHttpResponse {
41
41
  * Response content.
42
42
  */
43
43
  responseContent: HttpOperationResponseContent;
44
+ /**
45
+ * Response type.
46
+ *
47
+ */
48
+ type: Type;
44
49
  }
45
50
  interface TypekitExtension {
46
51
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"http-operation.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/http-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,SAAS,EAAiB,IAAI,EAAY,MAAM,oBAAoB,CAAC;AAGjG,OAAO,EACL,aAAa,EACb,4BAA4B,EAC5B,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,EAAE,SAAS,GAAG,aAAa,CAAC;IAClC;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,gBAAgB,EAAE,CAAC;IAChD;;;OAGG;IACH,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC3E;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,UAAU,EAAE,oBAAoB,CAAC;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,eAAe,EAAE,4BAA4B,CAAC;CAC/C;AAED,UAAU,gBAAgB;IACxB;;;OAGG;IACH,aAAa,EAAE,gBAAgB,CAAC;CACjC;AAED,OAAO,QAAQ,yCAAyC,CAAC;IACvD,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
1
+ {"version":3,"file":"http-operation.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/http-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,SAAS,EAAiB,IAAI,EAAY,MAAM,oBAAoB,CAAC;AAGjG,OAAO,EACL,aAAa,EACb,4BAA4B,EAC5B,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,EAAE,SAAS,GAAG,aAAa,CAAC;IAClC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,EAAE,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACxD;;;OAGG;IACH,aAAa,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC/E;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,UAAU,EAAE,oBAAoB,CAAC;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,eAAe,EAAE,4BAA4B,CAAC;IAC9C;;;OAGG;IACH,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,UAAU,gBAAgB;IACxB;;;OAGG;IACH,aAAa,EAAE,gBAAgB,CAAC;CACjC;AAED,OAAO,QAAQ,yCAAyC,CAAC;IACvD,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
@@ -6,10 +6,10 @@ defineKit({
6
6
  get(op) {
7
7
  return ignoreDiagnostics(getHttpOperation(this.program, op));
8
8
  },
9
- getReturnType(operation, options) {
10
- let responses = this.httpOperation.getResponses(operation);
9
+ getReturnType(httpOperation, options) {
10
+ let responses = this.httpOperation.flattenResponses(httpOperation);
11
11
  if (!options?.includeErrors) {
12
- responses = responses.filter((r) => !this.httpResponse.isErrorResponse(r.responseContent));
12
+ responses = responses.filter((r) => !this.httpResponse.isErrorResponse(r));
13
13
  }
14
14
  const voidType = { kind: "Intrinsic", name: "void" };
15
15
  let httpReturnType = voidType;
@@ -31,9 +31,8 @@ defineKit({
31
31
  }
32
32
  return httpReturnType;
33
33
  },
34
- getResponses(operation) {
34
+ flattenResponses(httpOperation) {
35
35
  const responsesMap = [];
36
- const httpOperation = this.httpOperation.get(operation);
37
36
  for (const response of httpOperation.responses) {
38
37
  for (const responseContent of response.responses) {
39
38
  const contentTypeProperty = responseContent.properties.find((property) => property.kind === "contentType");
@@ -44,7 +43,12 @@ defineKit({
44
43
  else if (responseContent.body) {
45
44
  contentType = "application/json";
46
45
  }
47
- responsesMap.push({ statusCode: response.statusCodes, contentType, responseContent });
46
+ responsesMap.push({
47
+ statusCode: response.statusCodes,
48
+ contentType,
49
+ responseContent,
50
+ type: response.type,
51
+ });
48
52
  }
49
53
  }
50
54
  return responsesMap;
@@ -1 +1 @@
1
- {"version":3,"file":"http-operation.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/http-operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-operation.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/http-operation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { Type } from "@typespec/compiler";
2
+ import { HttpPart } from "../../../private.decorators.js";
3
+ /**
4
+ * Utilities for working with HTTP Parts.
5
+ * @experimental
6
+ */
7
+ export interface HttpPartKit {
8
+ /**
9
+ * Check if the model is a HTTP part.
10
+ * @param type model to check
11
+ */
12
+ is(type: Type): boolean;
13
+ get(type: Type): HttpPart | undefined;
14
+ /**
15
+ * Unpacks the wrapped model from the HTTP part or the original model if
16
+ * not an HttpPart.
17
+ * @param type HttpPart model to unpack
18
+ */
19
+ unpack(type: Type): Type;
20
+ }
21
+ export interface TypekitExtension {
22
+ httpPart: HttpPartKit;
23
+ }
24
+ declare module "@typespec/compiler/experimental/typekit" {
25
+ interface Typekit extends TypekitExtension {
26
+ }
27
+ }
28
+ //# sourceMappingURL=http-part.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-part.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/http-part.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAe,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAEvE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAIxB,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtC;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED,OAAO,QAAQ,yCAAyC,CAAC;IACvD,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
@@ -0,0 +1,20 @@
1
+ import { defineKit } from "@typespec/compiler/experimental/typekit";
2
+ import { getHttpPart } from "../../../private.decorators.js";
3
+ defineKit({
4
+ httpPart: {
5
+ is(type) {
6
+ return this.model.is(type) && this.httpPart.get(type) !== undefined;
7
+ },
8
+ get(type) {
9
+ return getHttpPart(this.program, type);
10
+ },
11
+ unpack(type) {
12
+ const part = this.httpPart.get(type);
13
+ if (part) {
14
+ return part.type;
15
+ }
16
+ return type;
17
+ },
18
+ },
19
+ });
20
+ //# sourceMappingURL=http-part.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-part.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/http-part.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAY,MAAM,gCAAgC,CAAC;AAgCvE,SAAS,CAAmB;IAC1B,QAAQ,EAAE;QACR,EAAE,CAAC,IAAI;YACL,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;QACtE,CAAC;QACD,GAAG,CAAC,IAAI;YACN,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,CAAC,IAAI;YACT,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF;CACF,CAAC,CAAC"}
@@ -1,10 +1,14 @@
1
1
  import { Model } from "@typespec/compiler";
2
2
  import { HttpOperation } from "../../../types.js";
3
3
  export type HttpRequestParameterKind = "query" | "header" | "path" | "contentType" | "body";
4
+ /**
5
+ * Utilities for working with HTTP Requests operations.
6
+ * @experimental
7
+ */
4
8
  interface HttpRequestKit {
5
9
  body: {
6
10
  /**
7
- * Checks the body is a property explicitly tagged with @body or @bodyRoot
11
+ * Checks the body is a property explicitly tagged with @body @bodyRoot or @multipartBody
8
12
  * @param httpOperation the http operation to check
9
13
  */
10
14
  isExplicit(httpOperation: HttpOperation): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"http-request.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/http-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAiB,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;AAE5F,UAAU,cAAc;IACtB,IAAI,EAAE;QACJ;;;WAGG;QACH,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC;KACnD,CAAC;IACF;;;OAGG;IACH,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,KAAK,GAAG,SAAS,CAAC;IACnE;;;;OAIG;IACH,aAAa,CACX,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,wBAAwB,EAAE,GAAG,wBAAwB,GAC1D,KAAK,GAAG,SAAS,CAAC;CACtB;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE,cAAc,CAAC;CAC7B;AAED,OAAO,QAAQ,yCAAyC,CAAC;IACvD,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
1
+ {"version":3,"file":"http-request.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/http-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAiB,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;AAE5F;;;GAGG;AACH,UAAU,cAAc;IACtB,IAAI,EAAE;QACJ;;;WAGG;QACH,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC;KACnD,CAAC;IACF;;;OAGG;IACH,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,KAAK,GAAG,SAAS,CAAC;IACnE;;;;OAIG;IACH,aAAa,CACX,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,wBAAwB,EAAE,GAAG,wBAAwB,GAC1D,KAAK,GAAG,SAAS,CAAC;CACtB;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE,cAAc,CAAC;CAC7B;AAED,OAAO,QAAQ,yCAAyC,CAAC;IACvD,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
@@ -3,7 +3,7 @@ defineKit({
3
3
  httpRequest: {
4
4
  body: {
5
5
  isExplicit(httpOperation) {
6
- return (httpOperation.parameters.properties.find((p) => p.kind === "body" || p.kind === "bodyRoot") !== undefined);
6
+ return (httpOperation.parameters.properties.find((p) => p.kind === "body" || p.kind === "bodyRoot" || p.kind === "multipartBody") !== undefined);
7
7
  },
8
8
  },
9
9
  getBodyParameters(httpOperation) {
@@ -25,28 +25,23 @@ defineKit({
25
25
  },
26
26
  getParameters(httpOperation, kind) {
27
27
  const kinds = new Set(Array.isArray(kind) ? kind : [kind]);
28
- const parameterProperties = [];
29
- for (const kind of kinds) {
28
+ const parameterProperties = new Map();
29
+ kinds.forEach((kind) => {
30
30
  if (kind === "body") {
31
- const bodyParams = Array.from(this.httpRequest.getBodyParameters(httpOperation)?.properties.values() ?? []);
32
- if (bodyParams) {
33
- parameterProperties.push(...bodyParams);
34
- }
31
+ this.httpRequest
32
+ .getBodyParameters(httpOperation)
33
+ ?.properties.forEach((value, key) => parameterProperties.set(key, value));
35
34
  }
36
35
  else {
37
- const params = httpOperation.parameters.properties
38
- .filter((p) => p.kind === kind)
39
- .map((p) => p.property);
40
- parameterProperties.push(...params);
36
+ httpOperation.parameters.properties
37
+ .filter((p) => p.kind === kind && p.property)
38
+ .forEach((p) => parameterProperties.set(p.property.name, p.property));
41
39
  }
42
- }
43
- if (parameterProperties.length === 0) {
40
+ });
41
+ if (parameterProperties.size === 0) {
44
42
  return undefined;
45
43
  }
46
- const properties = parameterProperties.reduce((acc, prop) => {
47
- acc[prop.name] = prop;
48
- return acc;
49
- }, {});
44
+ const properties = Object.fromEntries(parameterProperties);
50
45
  return this.model.create({ properties });
51
46
  },
52
47
  },
@@ -1 +1 @@
1
- {"version":3,"file":"http-request.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/http-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqCpE,SAAS,CAAmB;IAC1B,WAAW,EAAE;QACX,IAAI,EAAE;YACJ,UAAU,CAAC,aAA4B;gBACrC,OAAO,CACL,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAClD,KAAK,SAAS,CAChB,CAAC;YACJ,CAAC;SACF;QACD,iBAAiB,CAAC,aAA4B;YAC5C,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC;YAE3C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;YAEnC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC/B,OAAO,IAAI,CAAC,IAAI,CAAC;gBACnB,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YAExE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBACvB,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE;aACjD,CAAC,CAAC;QACL,CAAC;QACD,aAAa,CACX,aAA4B,EAC5B,IAA2D;YAE3D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,MAAM,mBAAmB,GAAoB,EAAE,CAAC;YAEhD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAC7E,CAAC;oBACF,IAAI,UAAU,EAAE,CAAC;wBACf,mBAAmB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,UAAU;yBAC/C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;yBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC1B,mBAAmB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YAED,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAC3C,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;gBACtB,OAAO,GAAG,CAAC;YACb,CAAC,EACD,EAAmC,CACpC,CAAC;YAEF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAC3C,CAAC;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"http-request.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/http-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyCpE,SAAS,CAAmB;IAC1B,WAAW,EAAE;QACX,IAAI,EAAE;YACJ,UAAU,CAAC,aAA4B;gBACrC,OAAO,CACL,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,CAChF,KAAK,SAAS,CAChB,CAAC;YACJ,CAAC;SACF;QACD,iBAAiB,CAAC,aAA4B;YAC5C,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC;YAE3C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;YAEnC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC/B,OAAO,IAAI,CAAC,IAAI,CAAC;gBACnB,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YAExE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBACvB,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE;aACjD,CAAC,CAAC;QACL,CAAC;QACD,aAAa,CACX,aAA4B,EAC5B,IAA2D;YAE3D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAyB,CAAC;YAE7D,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpB,IAAI,CAAC,WAAW;yBACb,iBAAiB,CAAC,aAAa,CAAC;wBACjC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC9E,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,UAAU,CAAC,UAAU;yBAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC;yBAC5C,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAS,CAAC,IAAI,EAAE,CAAC,CAAC,QAAS,CAAC,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,mBAAmB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACnC,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;YAE3D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAC3C,CAAC;KACF;CACF,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
- import { HttpOperationResponseContent, HttpStatusCodeRange, HttpStatusCodesEntry } from "../../../types.js";
1
+ import { HttpStatusCodeRange, HttpStatusCodesEntry } from "../../../types.js";
2
+ import { FlatHttpResponse } from "./http-operation.js";
2
3
  /**
3
4
  * Utilities for working with HTTP responses.
4
5
  * @experimental
@@ -7,7 +8,7 @@ export interface HttpResponseKit {
7
8
  /**
8
9
  * Check if the response is an error response.
9
10
  */
10
- isErrorResponse(response: HttpOperationResponseContent): boolean;
11
+ isErrorResponse(response: FlatHttpResponse): boolean;
11
12
  /**
12
13
  * utilities to perform checks on status codes
13
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"http-response.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/http-response.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,4BAA4B,GAAG,OAAO,CAAC;IACjE;;OAEG;IACH,UAAU,EAAE;QACV;;;WAGG;QACH,QAAQ,CAAC,UAAU,EAAE,oBAAoB,GAAG,UAAU,IAAI,MAAM,CAAC;QACjE;;;WAGG;QACH,OAAO,CAAC,UAAU,EAAE,oBAAoB,GAAG,UAAU,IAAI,mBAAmB,CAAC;QAC7E;;;WAGG;QACH,SAAS,CAAC,UAAU,EAAE,oBAAoB,GAAG,UAAU,IAAI,GAAG,CAAC;KAChE,CAAC;CACH;AAED,UAAU,gBAAgB;IACxB;;;OAGG;IACH,YAAY,EAAE,eAAe,CAAC;CAC/B;AAED,OAAO,QAAQ,yCAAyC,CAAC;IACvD,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
1
+ {"version":3,"file":"http-response.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/http-response.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC;IACrD;;OAEG;IACH,UAAU,EAAE;QACV;;;WAGG;QACH,QAAQ,CAAC,UAAU,EAAE,oBAAoB,GAAG,UAAU,IAAI,MAAM,CAAC;QACjE;;;WAGG;QACH,OAAO,CAAC,UAAU,EAAE,oBAAoB,GAAG,UAAU,IAAI,mBAAmB,CAAC;QAC7E;;;WAGG;QACH,SAAS,CAAC,UAAU,EAAE,oBAAoB,GAAG,UAAU,IAAI,GAAG,CAAC;KAChE,CAAC;CACH;AAED,UAAU,gBAAgB;IACxB;;;OAGG;IACH,YAAY,EAAE,eAAe,CAAC;CAC/B;AAED,OAAO,QAAQ,yCAAyC,CAAC;IACvD,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
@@ -3,7 +3,7 @@ import { defineKit } from "@typespec/compiler/experimental/typekit";
3
3
  defineKit({
4
4
  httpResponse: {
5
5
  isErrorResponse(response) {
6
- return response.body ? isErrorModel(this.program, response.body.type) : false;
6
+ return this.model.is(response.type) ? isErrorModel(this.program, response.type) : false;
7
7
  },
8
8
  statusCode: {
9
9
  isSingle(statusCode) {
@@ -1 +1 @@
1
- {"version":3,"file":"http-response.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/http-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkDpE,SAAS,CAAmB;IAC1B,YAAY,EAAE;QACZ,eAAe,CAAC,QAAQ;YACtB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAChF,CAAC;QACD,UAAU,EAAE;YACV,QAAQ,CAAC,UAAU;gBACjB,OAAO,OAAO,UAAU,KAAK,QAAQ,CAAC;YACxC,CAAC;YACD,OAAO,CAAC,UAAU;gBAChB,OAAO,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,IAAI,UAAU,IAAI,KAAK,IAAI,UAAU,CAAC;YACxF,CAAC;YACD,SAAS,CAAC,UAAU;gBAClB,OAAO,UAAU,KAAK,GAAG,CAAC;YAC5B,CAAC;SACF;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"http-response.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/http-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+CpE,SAAS,CAAmB;IAC1B,YAAY,EAAE;QACZ,eAAe,CAAC,QAAQ;YACtB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1F,CAAC;QACD,UAAU,EAAE;YACV,QAAQ,CAAC,UAAU;gBACjB,OAAO,OAAO,UAAU,KAAK,QAAQ,CAAC;YACxC,CAAC;YACD,OAAO,CAAC,UAAU;gBAChB,OAAO,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,IAAI,UAAU,IAAI,KAAK,IAAI,UAAU,CAAC;YACxF,CAAC;YACD,SAAS,CAAC,UAAU;gBAClB,OAAO,UAAU,KAAK,GAAG,CAAC;YAC5B,CAAC;SACF;KACF;CACF,CAAC,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export * from "./http-operation.js";
2
+ export * from "./http-part.js";
2
3
  export * from "./http-request.js";
3
4
  export * from "./http-response.js";
4
5
  export * from "./model-property.js";
6
+ export * from "./model.js";
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export * from "./http-operation.js";
2
+ export * from "./http-part.js";
2
3
  export * from "./http-request.js";
3
4
  export * from "./http-response.js";
4
5
  export * from "./model-property.js";
6
+ export * from "./model.js";
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { Model } from "@typespec/compiler";
2
+ /**
3
+ * Utilities for working with Models in the context of Http.
4
+ * @experimental
5
+ */
6
+ export interface HttpModel {
7
+ /**
8
+ * Check if a model is an Http file.
9
+ * @param model model to check
10
+ */
11
+ isHttpFile(model: Model): boolean;
12
+ }
13
+ declare module "@typespec/compiler/experimental/typekit" {
14
+ interface ModelKit extends HttpModel {
15
+ }
16
+ }
17
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI3C;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;CACnC;AAMD,OAAO,QAAQ,yCAAyC,CAAC;IACvD,UAAU,QAAS,SAAQ,SAAS;KAAG;CACxC"}
@@ -0,0 +1,10 @@
1
+ import { defineKit } from "@typespec/compiler/experimental/typekit";
2
+ import { isHttpFile } from "../../../private.decorators.js";
3
+ defineKit({
4
+ model: {
5
+ isHttpFile(model) {
6
+ return isHttpFile(this.program, model);
7
+ },
8
+ },
9
+ });
10
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAsB5D,SAAS,CAAmB;IAC1B,KAAK,EAAE;QACL,UAAU,CAAC,KAAY;YACrB,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;KACF;CACF,CAAC,CAAC"}
package/dist/src/lib.d.ts CHANGED
@@ -59,9 +59,6 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
59
59
  "shared-inconsistency": {
60
60
  readonly default: import("@typespec/compiler").CallableMessage<["verb", "path"]>;
61
61
  };
62
- "write-visibility-not-supported": {
63
- readonly default: "@visibility(\"write\") is not supported. Use @visibility(\"update\"), @visibility(\"create\") or @visibility(\"create\", \"update\") as appropriate.";
64
- };
65
62
  "multipart-invalid-content-type": {
66
63
  readonly default: import("@typespec/compiler").CallableMessage<["contentType", "supportedContentTypes"]>;
67
64
  };
@@ -83,8 +80,8 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
83
80
  "header-format-required": {
84
81
  readonly default: "A format must be specified for @header when type is an array. e.g. @header({format: \"csv\"})";
85
82
  };
86
- }, Record<string, any>, "file" | "path" | "query" | "authentication" | "header" | "cookie" | "body" | "bodyRoot" | "bodyIgnore" | "multipartBody" | "statusCode" | "verbs" | "servers" | "includeInapplicableMetadataInPayload" | "externalInterfaces" | "routeProducer" | "routes" | "sharedRoutes" | "routeOptions" | "httpPart">;
87
- export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "missing-uri-param" | "incompatible-uri-param" | "use-uri-template" | "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" | "response-cookie-not-supported" | "no-service-found" | "invalid-type-for-auth" | "shared-inconsistency" | "write-visibility-not-supported" | "multipart-invalid-content-type" | "multipart-model" | "multipart-part" | "multipart-nested" | "http-file-extra-property" | "formdata-no-part-name" | "header-format-required", M extends keyof {
83
+ }, Record<string, any>, "file" | "path" | "query" | "authentication" | "header" | "cookie" | "body" | "bodyRoot" | "bodyIgnore" | "multipartBody" | "statusCode" | "verbs" | "patchOptions" | "servers" | "includeInapplicableMetadataInPayload" | "externalInterfaces" | "routeProducer" | "routes" | "sharedRoutes" | "routeOptions" | "httpPart">;
84
+ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "missing-uri-param" | "incompatible-uri-param" | "use-uri-template" | "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" | "response-cookie-not-supported" | "no-service-found" | "invalid-type-for-auth" | "shared-inconsistency" | "multipart-invalid-content-type" | "multipart-model" | "multipart-part" | "multipart-nested" | "http-file-extra-property" | "formdata-no-part-name" | "header-format-required", M extends keyof {
88
85
  "http-verb-duplicate": {
89
86
  readonly default: import("@typespec/compiler").CallableMessage<["entityName"]>;
90
87
  };
@@ -145,9 +142,6 @@ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "missi
145
142
  "shared-inconsistency": {
146
143
  readonly default: import("@typespec/compiler").CallableMessage<["verb", "path"]>;
147
144
  };
148
- "write-visibility-not-supported": {
149
- readonly default: "@visibility(\"write\") is not supported. Use @visibility(\"update\"), @visibility(\"create\") or @visibility(\"create\", \"update\") as appropriate.";
150
- };
151
145
  "multipart-invalid-content-type": {
152
146
  readonly default: import("@typespec/compiler").CallableMessage<["contentType", "supportedContentTypes"]>;
153
147
  };
@@ -230,9 +224,6 @@ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "missi
230
224
  "shared-inconsistency": {
231
225
  readonly default: import("@typespec/compiler").CallableMessage<["verb", "path"]>;
232
226
  };
233
- "write-visibility-not-supported": {
234
- readonly default: "@visibility(\"write\") is not supported. Use @visibility(\"update\"), @visibility(\"create\") or @visibility(\"create\", \"update\") as appropriate.";
235
- };
236
227
  "multipart-invalid-content-type": {
237
228
  readonly default: import("@typespec/compiler").CallableMessage<["contentType", "supportedContentTypes"]>;
238
229
  };
@@ -254,7 +245,7 @@ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "missi
254
245
  "header-format-required": {
255
246
  readonly default: "A format must be specified for @header when type is an array. e.g. @header({format: \"csv\"})";
256
247
  };
257
- }, C, M>) => void, createDiagnostic: <C extends "http-verb-duplicate" | "missing-uri-param" | "incompatible-uri-param" | "use-uri-template" | "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" | "response-cookie-not-supported" | "no-service-found" | "invalid-type-for-auth" | "shared-inconsistency" | "write-visibility-not-supported" | "multipart-invalid-content-type" | "multipart-model" | "multipart-part" | "multipart-nested" | "http-file-extra-property" | "formdata-no-part-name" | "header-format-required", M extends keyof {
248
+ }, C, M>) => void, createDiagnostic: <C extends "http-verb-duplicate" | "missing-uri-param" | "incompatible-uri-param" | "use-uri-template" | "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" | "response-cookie-not-supported" | "no-service-found" | "invalid-type-for-auth" | "shared-inconsistency" | "multipart-invalid-content-type" | "multipart-model" | "multipart-part" | "multipart-nested" | "http-file-extra-property" | "formdata-no-part-name" | "header-format-required", M extends keyof {
258
249
  "http-verb-duplicate": {
259
250
  readonly default: import("@typespec/compiler").CallableMessage<["entityName"]>;
260
251
  };
@@ -315,9 +306,6 @@ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "missi
315
306
  "shared-inconsistency": {
316
307
  readonly default: import("@typespec/compiler").CallableMessage<["verb", "path"]>;
317
308
  };
318
- "write-visibility-not-supported": {
319
- readonly default: "@visibility(\"write\") is not supported. Use @visibility(\"update\"), @visibility(\"create\") or @visibility(\"create\", \"update\") as appropriate.";
320
- };
321
309
  "multipart-invalid-content-type": {
322
310
  readonly default: import("@typespec/compiler").CallableMessage<["contentType", "supportedContentTypes"]>;
323
311
  };
@@ -400,9 +388,6 @@ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "missi
400
388
  "shared-inconsistency": {
401
389
  readonly default: import("@typespec/compiler").CallableMessage<["verb", "path"]>;
402
390
  };
403
- "write-visibility-not-supported": {
404
- readonly default: "@visibility(\"write\") is not supported. Use @visibility(\"update\"), @visibility(\"create\") or @visibility(\"create\", \"update\") as appropriate.";
405
- };
406
391
  "multipart-invalid-content-type": {
407
392
  readonly default: import("@typespec/compiler").CallableMessage<["contentType", "supportedContentTypes"]>;
408
393
  };
@@ -424,5 +409,5 @@ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "missi
424
409
  "header-format-required": {
425
410
  readonly default: "A format must be specified for @header when type is an array. e.g. @header({format: \"csv\"})";
426
411
  };
427
- }, C, M>) => import("@typespec/compiler").Diagnostic, HttpStateKeys: Record<"file" | "path" | "query" | "authentication" | "header" | "cookie" | "body" | "bodyRoot" | "bodyIgnore" | "multipartBody" | "statusCode" | "verbs" | "servers" | "includeInapplicableMetadataInPayload" | "externalInterfaces" | "routeProducer" | "routes" | "sharedRoutes" | "routeOptions" | "httpPart", symbol>;
412
+ }, C, M>) => import("@typespec/compiler").Diagnostic, HttpStateKeys: Record<"file" | "path" | "query" | "authentication" | "header" | "cookie" | "body" | "bodyRoot" | "bodyIgnore" | "multipartBody" | "statusCode" | "verbs" | "patchOptions" | "servers" | "includeInapplicableMetadataInPayload" | "externalInterfaces" | "routeProducer" | "routes" | "sharedRoutes" | "routeOptions" | "httpPart", symbol>;
428
413
  //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mUAyMf,CAAC;AAEH,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAa,aAAa,4TAAS,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oVAoMf,CAAC;AAEH,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAa,aAAa,6UAAS,CAAC"}
package/dist/src/lib.js CHANGED
@@ -119,12 +119,6 @@ export const $lib = createTypeSpecLibrary({
119
119
  default: paramMessage `Each operation routed at "${"verb"} ${"path"}" needs to have the @sharedRoute decorator.`,
120
120
  },
121
121
  },
122
- "write-visibility-not-supported": {
123
- severity: "warning",
124
- messages: {
125
- default: `@visibility("write") is not supported. Use @visibility("update"), @visibility("create") or @visibility("create", "update") as appropriate.`,
126
- },
127
- },
128
122
  "multipart-invalid-content-type": {
129
123
  severity: "error",
130
124
  messages: {
@@ -180,6 +174,7 @@ export const $lib = createTypeSpecLibrary({
180
174
  multipartBody: { description: "State for the @bodyIgnore decorator" },
181
175
  statusCode: { description: "State for the @statusCode decorator" },
182
176
  verbs: { description: "State for the verb decorators (@get, @post, @put, etc.)" },
177
+ patchOptions: { description: "State for the options of the @patch decorator" },
183
178
  servers: { description: "State for the @server decorator" },
184
179
  includeInapplicableMetadataInPayload: {
185
180
  description: "State for the @includeInapplicableMetadataInPayload decorator",
@@ -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":"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"}
@@ -15,34 +15,19 @@ export declare enum Visibility {
15
15
  /**
16
16
  * Additional flag to indicate when something is nested in a collection
17
17
  * and therefore no metadata is applicable.
18
- *
19
- * Never use this flag. It is used internally by the HTTP core.
20
18
  */
21
19
  Item = 1048576,
22
20
  /**
23
- * Additional flag to indicate when the verb is path and therefore
24
- * will have fields made optional if request visibility includes update.
25
- *
26
- * Never use this flag. It is used internally by the HTTP core.
27
- */
28
- Patch = 2097152,
29
- /**
30
- * Additional flag to indicate that legacy parameter visibility behavior
31
- * should be used. This disables effective optionality for the body of
32
- * PATCH operations, and considers only properties that do not have _explicit_
33
- * visibility visible. This flag is activated by default when an operation
34
- * uses `@parameterVisibility` without arguments, and should not be enabled
35
- * in any other circumstances.
21
+ * Additional flag to indicate when the verb is PATCH and will have fields made
22
+ * optional if the request visibility includes update.
36
23
  *
37
- * Never use this flag. It is used internally by the HTTP core.
38
- */
39
- LegacyParameterVisibility = 4194304,
40
- /**
41
- * Additional flags to indicate the treatment of properties in specific contexts.
24
+ * Whether or not this flag is set automatically is determined by the options
25
+ * passed to the `@patch` decorator. By default, it is set in requests for any
26
+ * operation that uses the PATCH verb.
42
27
  *
43
- * Never use these flags. They are used internally by the HTTP core.
28
+ * @see {@link PatchOptions}
44
29
  */
45
- Synthetic = 7340032
30
+ Patch = 2097152
46
31
  }
47
32
  /**
48
33
  * Provides a naming suffix to create a unique name for a type with this
@@ -69,7 +54,8 @@ export declare function getVisibilitySuffix(visibility: Visibility, canonicalVis
69
54
  * - PUT => Visibility.Create | Update
70
55
  * - DELETE => Visibility.Delete
71
56
  * @param verb The HTTP verb for the operation.
72
- * @deprecated Use `resolveRequestVisibility` instead, or if you only want the default visibility for a verb, `getDefaultVisibilityForVerb`.
57
+ * @deprecated Use `resolveRequestVisibility` instead, or if you only want the default visibility for a verb,
58
+ * `getDefaultVisibilityForVerb`. This function will be removed in TypeSpec 1.0-rc.
73
59
  * @returns The applicable parameter visibility or visibilities for the request.
74
60
  */
75
61
  export declare function getRequestVisibility(verb: HttpVerb): Visibility;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,aAAa,EACb,SAAS,EACT,OAAO,EACP,IAAI,EAGJ,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAiB5B,OAAO,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAMjE;;;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;;;;;;;;;OASG;IACH,KAAK,UAAU;CA0BhB;AAoJD;;;;;;;;;;;;;;MAcM;AACN,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,EACtB,mBAAmB,GAAE,UAA2B,UAcjD;AA4BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAQ/D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,kBAAkB,CAAC;AAC3E;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,yBAAyB,GAAG,kBAAkB,CAAC;AAC/F;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,IAAI,kBAAkB,CAAC;AAiC7D;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,QAAQ,GACb,UAAU,CA8BZ;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,WAQnE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,WAS1F;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,CAkLhG"}
@@ -1,6 +1,6 @@
1
1
  import { compilerAssert, getEffectiveModelType, getLifecycleVisibilityEnum, getParameterVisibilityFilter, isVisible as isVisibleCore, } from "@typespec/compiler";
2
2
  import { TwoLevelMap } from "@typespec/compiler/utils";
3
- import { getOperationVerb, includeInapplicableMetadataInPayload, isBody, isBodyIgnore, isBodyRoot, isCookieParam, isHeader, isMultipartBodyProperty, isPathParam, isQueryParam, isStatusCode, } from "./decorators.js";
3
+ import { getOperationVerb, getPatchOptions, includeInapplicableMetadataInPayload, isBody, isBodyIgnore, isBodyRoot, isCookieParam, isHeader, isMultipartBodyProperty, isPathParam, isQueryParam, isStatusCode, } from "./decorators.js";
4
4
  import { getHttpOperation } from "./operations.js";
5
5
  /**
6
6
  * Flags enum representation of well-known visibilities that are used in
@@ -18,15 +18,17 @@ export var Visibility;
18
18
  /**
19
19
  * Additional flag to indicate when something is nested in a collection
20
20
  * and therefore no metadata is applicable.
21
- *
22
- * Never use this flag. It is used internally by the HTTP core.
23
21
  */
24
22
  Visibility[Visibility["Item"] = 1048576] = "Item";
25
23
  /**
26
- * Additional flag to indicate when the verb is path and therefore
27
- * will have fields made optional if request visibility includes update.
24
+ * Additional flag to indicate when the verb is PATCH and will have fields made
25
+ * optional if the request visibility includes update.
28
26
  *
29
- * Never use this flag. It is used internally by the HTTP core.
27
+ * Whether or not this flag is set automatically is determined by the options
28
+ * passed to the `@patch` decorator. By default, it is set in requests for any
29
+ * operation that uses the PATCH verb.
30
+ *
31
+ * @see {@link PatchOptions}
30
32
  */
31
33
  Visibility[Visibility["Patch"] = 2097152] = "Patch";
32
34
  /**
@@ -38,12 +40,18 @@ export var Visibility;
38
40
  * in any other circumstances.
39
41
  *
40
42
  * Never use this flag. It is used internally by the HTTP core.
43
+ *
44
+ * @deprecated This flag will be removed in TypeSpec 1.0-rc.
45
+ *
46
+ * @internal
41
47
  */
42
48
  Visibility[Visibility["LegacyParameterVisibility"] = 4194304] = "LegacyParameterVisibility";
43
49
  /**
44
50
  * Additional flags to indicate the treatment of properties in specific contexts.
45
51
  *
46
52
  * Never use these flags. They are used internally by the HTTP core.
53
+ *
54
+ * @internal
47
55
  */
48
56
  Visibility[Visibility["Synthetic"] = 7340032] = "Synthetic";
49
57
  })(Visibility || (Visibility = {}));
@@ -225,7 +233,8 @@ function getDefaultVisibilityForVerb(verb) {
225
233
  * - PUT => Visibility.Create | Update
226
234
  * - DELETE => Visibility.Delete
227
235
  * @param verb The HTTP verb for the operation.
228
- * @deprecated Use `resolveRequestVisibility` instead, or if you only want the default visibility for a verb, `getDefaultVisibilityForVerb`.
236
+ * @deprecated Use `resolveRequestVisibility` instead, or if you only want the default visibility for a verb,
237
+ * `getDefaultVisibilityForVerb`. This function will be removed in TypeSpec 1.0-rc.
229
238
  * @returns The applicable parameter visibility or visibilities for the request.
230
239
  */
231
240
  export function getRequestVisibility(verb) {
@@ -278,10 +287,14 @@ export function resolveRequestVisibility(program, operation, verb) {
278
287
  // If the verb is PATCH, then we need to add the patch flag to the visibility in order for
279
288
  // later processes to properly apply it.
280
289
  if (verb === "patch") {
281
- visibility |= Visibility.Patch;
290
+ const patchOptionality = getPatchOptions(program, operation)?.implicitOptionality ?? true;
291
+ if (patchOptionality) {
292
+ visibility |= Visibility.Patch;
293
+ }
282
294
  }
283
295
  const isEmptyParameterVisibility = program.stateSet(parameterVisibilityIsEmpty).has(operation);
284
296
  if (isEmptyParameterVisibility) {
297
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
285
298
  visibility |= Visibility.LegacyParameterVisibility;
286
299
  }
287
300
  return visibility;
@@ -301,6 +314,7 @@ export function isMetadata(program, property) {
301
314
  * Determines if the given property is visible with the given visibility.
302
315
  */
303
316
  export function isVisible(program, property, visibility) {
317
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
304
318
  if (visibility & Visibility.LegacyParameterVisibility) {
305
319
  // This is a hack that preserves the behavior of `@parameterVisibility()` with no arguments for now.
306
320
  // eslint-disable-next-line @typescript-eslint/no-deprecated
@@ -447,6 +461,7 @@ export function createMetadataInfo(program, options) {
447
461
  const hasUpdate = (visibility & Visibility.Update) !== 0;
448
462
  const isPatch = (visibility & Visibility.Patch) !== 0;
449
463
  const isItem = (visibility & Visibility.Item) !== 0;
464
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
450
465
  const skipEffectiveOptionality = (visibility & Visibility.LegacyParameterVisibility) !== 0;
451
466
  return property.optional || (!skipEffectiveOptionality && hasUpdate && isPatch && !isItem);
452
467
  }
@@ -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":"operations.d.ts","sourceRoot":"","sources":["../../src/operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EACV,mBAAmB,EAOnB,SAAS,EAET,SAAS,EACT,OAAO,EAER,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EACL,aAAa,EACb,WAAW,EAEX,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,CAAC,aAAa,EAAE,SAAS,UAAU,EAAE,CAAC,CAExC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,kBAAkB,EAC7B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,CAAC,aAAa,EAAE,EAAE,SAAS,UAAU,EAAE,CAAC,CAQ1C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,CAAC,WAAW,EAAE,EAAE,SAAS,UAAU,EAAE,CAAC,CAaxC;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,SAAS,EAC3B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC,CAqBtC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,CAAC,aAAa,EAAE,EAAE,SAAS,UAAU,EAAE,CAAC,CAG1C;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAgBzE;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,aAAa,EAAE,QA2C5B;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG;IAAE,WAAW,EAAE,aAAa,CAAA;CAAE,WAE9F"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,mBAAmB,EAKnB,SAAS,EAET,SAAS,EACT,OAAO,EACR,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EACL,aAAa,EACb,WAAW,EAEX,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,CAAC,aAAa,EAAE,SAAS,UAAU,EAAE,CAAC,CAExC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,kBAAkB,EAC7B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,CAAC,aAAa,EAAE,EAAE,SAAS,UAAU,EAAE,CAAC,CAQ1C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,CAAC,WAAW,EAAE,EAAE,SAAS,UAAU,EAAE,CAAC,CAaxC;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,SAAS,EAC3B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC,CAoBtC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,CAAC,aAAa,EAAE,EAAE,SAAS,UAAU,EAAE,CAAC,CAG1C;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAgBzE;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,aAAa,EAAE,QA2C5B;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG;IAAE,WAAW,EAAE,aAAa,CAAA;CAAE,WAE9F"}
@@ -1,4 +1,4 @@
1
- import { $visibility, createDiagnosticCollector, getOverloadedOperation, getOverloads, getVisibility, listOperationsIn, listServices, navigateProgram, SyntaxKind, } from "@typespec/compiler";
1
+ import { createDiagnosticCollector, getOverloadedOperation, getOverloads, listOperationsIn, listServices, navigateProgram, } from "@typespec/compiler";
2
2
  import { getAuthenticationForOperation } from "./auth.js";
3
3
  import { getAuthentication } from "./decorators.js";
4
4
  import { createDiagnostic, reportDiagnostic } from "./lib.js";
@@ -47,7 +47,6 @@ export function getHttpService(program, serviceNamespace, options) {
47
47
  },
48
48
  }));
49
49
  const authentication = getAuthentication(program, serviceNamespace);
50
- validateProgram(program, diagnostics);
51
50
  validateRouteUnique(program, diagnostics, httpOperations);
52
51
  const service = {
53
52
  namespace: serviceNamespace,
@@ -153,25 +152,4 @@ function getHttpOperationInternal(program, operation, options, cache) {
153
152
  }
154
153
  return diagnostics.wrap(httpOperationRef);
155
154
  }
156
- function validateProgram(program, diagnostics) {
157
- navigateProgram(program, {
158
- modelProperty(property) {
159
- checkForUnsupportedVisibility(property);
160
- },
161
- });
162
- // NOTE: This is intentionally not checked in the visibility decorator
163
- // itself as that would be a layering violation, putting a REST
164
- // interpretation of visibility into the core.
165
- function checkForUnsupportedVisibility(property) {
166
- // eslint-disable-next-line @typescript-eslint/no-deprecated
167
- if (getVisibility(program, property)?.includes("write")) {
168
- // NOTE: Check for name equality instead of function equality
169
- // to deal with multiple copies of core being used.
170
- const decorator = property.decorators.find((d) => d.decorator.name === $visibility.name);
171
- const arg = decorator?.args.find((a) => a.node?.kind === SyntaxKind.StringLiteral && a.node.value === "write");
172
- const target = arg?.node ?? property;
173
- diagnostics.add(createDiagnostic({ code: "write-visibility-not-supported", target }));
174
- }
175
- }
176
- }
177
155
  //# sourceMappingURL=operations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/operations.ts"],"names":[],"mappings":"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"}
@@ -259,16 +259,37 @@ extern dec put(target: Operation);
259
259
  */
260
260
  extern dec post(target: Operation);
261
261
 
262
+ /**
263
+ * Options for PATCH operations.
264
+ */
265
+ model PatchOptions {
266
+ /**
267
+ * If set to `false`, disables the implicit transform that makes the body of a
268
+ * PATCH operation deeply optional.
269
+ */
270
+ implicitOptionality?: boolean;
271
+ }
272
+
262
273
  /**
263
274
  * Specify the HTTP verb for the target operation to be `PATCH`.
264
275
  *
276
+ * @param options Options for the PATCH operation.
277
+ *
265
278
  * @example
266
279
  *
267
280
  * ```typespec
268
- * @patch op update(pet: Pet): void
281
+ * @patch op update(pet: Pet): void;
282
+ * ```
283
+ *
284
+ * @example
285
+ * ```typespec
286
+ * // Disable implicit optionality, making the body of the PATCH operation use the
287
+ * // optionality as defined in the `Pet` model.
288
+ * @patch(#{ implicitOptionality: false })
289
+ * op update(pet: Pet): void;
269
290
  * ```
270
291
  */
271
- extern dec patch(target: Operation);
292
+ extern dec patch(target: Operation, options?: valueof PatchOptions);
272
293
 
273
294
  /**
274
295
  * Specify the HTTP verb for the target operation to be `DELETE`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/http",
3
- "version": "0.66.0-dev.0",
3
+ "version": "0.66.0-dev.2",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec HTTP protocol binding",
6
6
  "homepage": "https://github.com/microsoft/typespec",
@@ -53,7 +53,7 @@
53
53
  "!dist/test/**"
54
54
  ],
55
55
  "peerDependencies": {
56
- "@typespec/compiler": "~0.65.0 || >=0.66.0-dev <0.66.0",
56
+ "@typespec/compiler": "~0.65.3 || >=0.66.0-dev <0.66.0",
57
57
  "@typespec/streams": "~0.65.0 || >=0.66.0-dev <0.66.0"
58
58
  },
59
59
  "peerDependenciesMeta": {
@@ -63,7 +63,7 @@
63
63
  },
64
64
  "devDependencies": {
65
65
  "@types/node": "~22.10.10",
66
- "@typespec/compiler": "~0.65.0 || >=0.66.0-dev <0.66.0",
66
+ "@typespec/compiler": "~0.65.3 || >=0.66.0-dev <0.66.0",
67
67
  "@typespec/library-linter": "~0.65.0 || >=0.66.0-dev <0.66.0",
68
68
  "@typespec/streams": "~0.65.0 || >=0.66.0-dev <0.66.0",
69
69
  "@vitest/coverage-v8": "^3.0.4",