@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/README.md CHANGED
@@ -44,6 +44,7 @@ Available ruleSets:
44
44
  - [`@head`](#@head)
45
45
  - [`@header`](#@header)
46
46
  - [`@includeInapplicableMetadataInPayload`](#@includeinapplicablemetadatainpayload)
47
+ - [`@multipartBody`](#@multipartbody)
47
48
  - [`@patch`](#@patch)
48
49
  - [`@path`](#@path)
49
50
  - [`@post`](#@post)
@@ -272,6 +273,32 @@ Specify if inapplicable metadata should be included in the payload for the given
272
273
  | ----- | ----------------- | --------------------------------------------------------------- |
273
274
  | value | `valueof boolean` | If true, inapplicable metadata will be included in the payload. |
274
275
 
276
+ #### `@multipartBody`
277
+
278
+ ```typespec
279
+ @TypeSpec.Http.multipartBody
280
+ ```
281
+
282
+ ##### Target
283
+
284
+ `ModelProperty`
285
+
286
+ ##### Parameters
287
+
288
+ None
289
+
290
+ ##### Examples
291
+
292
+ ```tsp
293
+ op upload(
294
+ @header `content-type`: "multipart/form-data",
295
+ @multipartBody body: {
296
+ fullName: HttpPart<string>;
297
+ headShots: HttpPart<Image>[];
298
+ },
299
+ ): void;
300
+ ```
301
+
275
302
  #### `@patch`
276
303
 
277
304
  Specify the HTTP verb for the target operation to be `PATCH`.
@@ -1,3 +1,5 @@
1
- import type { DecoratorContext, Model } from "@typespec/compiler";
1
+ import type { DecoratorContext, Model, Type } from "@typespec/compiler";
2
2
  export type PlainDataDecorator = (context: DecoratorContext, target: Model) => void;
3
+ export type HttpFileDecorator = (context: DecoratorContext, target: Model) => void;
4
+ export type HttpPartDecorator = (context: DecoratorContext, target: Model, type: Type, options: unknown) => void;
3
5
  //# sourceMappingURL=TypeSpec.Http.Private.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TypeSpec.Http.Private.d.ts","sourceRoot":"","sources":["../../generated-defs/TypeSpec.Http.Private.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"TypeSpec.Http.Private.d.ts","sourceRoot":"","sources":["../../generated-defs/TypeSpec.Http.Private.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAExE,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAEpF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAEnF,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,KACb,IAAI,CAAC"}
@@ -89,6 +89,22 @@ export type BodyRootDecorator = (context: DecoratorContext, target: ModelPropert
89
89
  * ```
90
90
  */
91
91
  export type BodyIgnoreDecorator = (context: DecoratorContext, target: ModelProperty) => void;
92
+ /**
93
+ *
94
+ *
95
+ *
96
+ * @example
97
+ * ```tsp
98
+ * op upload(
99
+ * @header `content-type`: "multipart/form-data",
100
+ * @multipartBody body: {
101
+ * fullName: HttpPart<string>,
102
+ * headShots: HttpPart<Image>[]
103
+ * }
104
+ * ): void;
105
+ * ```
106
+ */
107
+ export type MultipartBodyDecorator = (context: DecoratorContext, target: ModelProperty) => void;
92
108
  /**
93
109
  * Specify the HTTP verb for the target operation to be `GET`.
94
110
  *
@@ -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":"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"}
@@ -1,5 +1,5 @@
1
1
  /** An error here would mean that the decorator is not exported or doesn't have the right name. */
2
- import { $body, $bodyIgnore, $bodyRoot, $delete, $get, $head, $header, $includeInapplicableMetadataInPayload, $patch, $path, $post, $put, $query, $route, $server, $sharedRoute, $statusCode, $useAuth, } from "@typespec/http";
2
+ import { $body, $bodyIgnore, $bodyRoot, $delete, $get, $head, $header, $includeInapplicableMetadataInPayload, $multipartBody, $patch, $path, $post, $put, $query, $route, $server, $sharedRoute, $statusCode, $useAuth, } from "@typespec/http";
3
3
  /** An error here would mean that the exported decorator is not using the same signature. Make sure to have export const $decName: DecNameDecorator = (...) => ... */
4
4
  const _ = {
5
5
  $statusCode,
@@ -9,6 +9,7 @@ const _ = {
9
9
  $path,
10
10
  $bodyRoot,
11
11
  $bodyIgnore,
12
+ $multipartBody,
12
13
  $get,
13
14
  $put,
14
15
  $post,
@@ -1 +1 @@
1
- {"version":3,"file":"TypeSpec.Http.ts-test.js","sourceRoot":"","sources":["../../generated-defs/TypeSpec.Http.ts-test.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,IAAI,EACJ,KAAK,EACL,OAAO,EACP,qCAAqC,EACrC,MAAM,EACN,KAAK,EACL,KAAK,EACL,IAAI,EACJ,MAAM,EACN,MAAM,EACN,OAAO,EACP,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,MAAM,gBAAgB,CAAC;AA2CxB,qKAAqK;AACrK,MAAM,CAAC,GAAe;IACpB,WAAW;IACX,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,SAAS;IACT,WAAW;IACX,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,QAAQ;IACR,qCAAqC;IACrC,MAAM;IACN,YAAY;CACb,CAAC"}
1
+ {"version":3,"file":"TypeSpec.Http.ts-test.js","sourceRoot":"","sources":["../../generated-defs/TypeSpec.Http.ts-test.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,IAAI,EACJ,KAAK,EACL,OAAO,EACP,qCAAqC,EACrC,cAAc,EACd,MAAM,EACN,KAAK,EACL,KAAK,EACL,IAAI,EACJ,MAAM,EACN,MAAM,EACN,OAAO,EACP,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,MAAM,gBAAgB,CAAC;AA6CxB,qKAAqK;AACrK,MAAM,CAAC,GAAe;IACpB,WAAW;IACX,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,SAAS;IACT,WAAW;IACX,cAAc;IACd,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,QAAQ;IACR,qCAAqC;IACrC,MAAM;IACN,YAAY;CACb,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Diagnostic, ModelProperty, Program } from "@typespec/compiler";
2
2
  /**
3
+ * @deprecated Use `OperationProperty.kind === 'contentType'` instead.
3
4
  * Check if the given model property is the content type header.
4
5
  * @param program Program
5
6
  * @param property Model property.
@@ -1 +1 @@
1
- {"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../../src/content-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAInG;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAGtF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,CAAC,MAAM,EAAE,EAAE,SAAS,UAAU,EAAE,CAAC,CAwB1F"}
1
+ {"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../../src/content-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAInG;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAGtF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,CAAC,MAAM,EAAE,EAAE,SAAS,UAAU,EAAE,CAAC,CA0B1F"}
@@ -2,6 +2,7 @@ import { createDiagnosticCollector } from "@typespec/compiler";
2
2
  import { getHeaderFieldName } from "./decorators.js";
3
3
  import { createDiagnostic } from "./lib.js";
4
4
  /**
5
+ * @deprecated Use `OperationProperty.kind === 'contentType'` instead.
5
6
  * Check if the given model property is the content type header.
6
7
  * @param program Program
7
8
  * @param property Model property.
@@ -37,6 +38,9 @@ export function getContentTypes(property) {
37
38
  }
38
39
  return diagnostics.wrap(contentTypes);
39
40
  }
41
+ else if (property.type.kind === "Scalar" && property.type.name === "string") {
42
+ return [["*/*"], []];
43
+ }
40
44
  return [[], [createDiagnostic({ code: "content-type-string", target: property })]];
41
45
  }
42
46
  //# sourceMappingURL=content-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-types.js","sourceRoot":"","sources":["../../src/content-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAsC,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,QAAuB;IAC3E,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACzD,OAAO,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAuB;IACrD,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;IAChD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;oBACf,IAAI,EAAE,qBAAqB;oBAC3B,MAAM,EAAE,QAAQ;iBACjB,CAAC,CACH,CAAC;gBACF,SAAS;YACX,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"content-types.js","sourceRoot":"","sources":["../../src/content-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAsC,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,QAAuB;IAC3E,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACzD,OAAO,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAuB;IACrD,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;IAChD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,GAAG,CACb,gBAAgB,CAAC;oBACf,IAAI,EAAE,qBAAqB;oBAC3B,MAAM,EAAE,QAAQ;iBACjB,CAAC,CACH,CAAC;gBACF,SAAS;YACX,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9E,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { DecoratorContext, Diagnostic, Interface, Model, ModelProperty, Namespace, Operation, Program, Type } from "@typespec/compiler";
2
- import { PlainDataDecorator } from "../generated-defs/TypeSpec.Http.Private.js";
3
- import { BodyDecorator, BodyIgnoreDecorator, BodyRootDecorator, DeleteDecorator, GetDecorator, HeadDecorator, HeaderDecorator, PatchDecorator, PathDecorator, PostDecorator, PutDecorator, QueryDecorator, RouteDecorator, ServerDecorator, SharedRouteDecorator, StatusCodeDecorator } from "../generated-defs/TypeSpec.Http.js";
2
+ import { BodyDecorator, BodyIgnoreDecorator, BodyRootDecorator, DeleteDecorator, GetDecorator, HeadDecorator, HeaderDecorator, MultipartBodyDecorator, PatchDecorator, PathDecorator, PostDecorator, PutDecorator, QueryDecorator, RouteDecorator, ServerDecorator, SharedRouteDecorator, StatusCodeDecorator } from "../generated-defs/TypeSpec.Http.js";
4
3
  import { Authentication, HeaderFieldOptions, HttpStatusCodeRange, HttpStatusCodes, HttpVerb, PathParameterOptions, QueryParameterOptions } from "./types.js";
5
4
  export declare const namespace = "TypeSpec.Http";
6
5
  export declare const $header: HeaderDecorator;
@@ -21,6 +20,8 @@ export declare const $bodyIgnore: BodyIgnoreDecorator;
21
20
  export declare function isBody(program: Program, entity: Type): boolean;
22
21
  export declare function isBodyRoot(program: Program, entity: ModelProperty): boolean;
23
22
  export declare function isBodyIgnore(program: Program, entity: ModelProperty): boolean;
23
+ export declare const $multipartBody: MultipartBodyDecorator;
24
+ export declare function isMultipartBodyProperty(program: Program, entity: Type): boolean;
24
25
  export declare const $statusCode: StatusCodeDecorator;
25
26
  /**
26
27
  * @deprecated DO NOT USE, for internal use only.
@@ -51,7 +52,6 @@ export interface HttpServer {
51
52
  */
52
53
  export declare const $server: ServerDecorator;
53
54
  export declare function getServers(program: Program, type: Namespace): HttpServer[] | undefined;
54
- export declare const $plainData: PlainDataDecorator;
55
55
  export declare function $useAuth(context: DecoratorContext, entity: Namespace | Interface | Operation, authConfig: Type): void;
56
56
  export declare function setAuthentication(program: Program, entity: Namespace | Interface | Operation, auth: Authentication): void;
57
57
  export declare function getAuthentication(program: Program, entity: Namespace | Interface | Operation): Authentication | undefined;
@@ -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,4 @@
1
- import { createDiagnosticCollector, getDoc, ignoreDiagnostics, isArrayModelType, reportDeprecated, setTypeSpecNamespace, typespecTypeToJson, validateDecoratorTarget, validateDecoratorUniqueOnNode, } from "@typespec/compiler";
1
+ import { createDiagnosticCollector, getDoc, ignoreDiagnostics, isArrayModelType, reportDeprecated, typespecTypeToJson, validateDecoratorTarget, validateDecoratorUniqueOnNode, } from "@typespec/compiler";
2
2
  import { HttpStateKeys, createDiagnostic, reportDiagnostic } from "./lib.js";
3
3
  import { setRoute, setSharedRoute } from "./route.js";
4
4
  import { getStatusCodesFromType } from "./status-codes.js";
@@ -131,6 +131,12 @@ export function isBodyRoot(program, entity) {
131
131
  export function isBodyIgnore(program, entity) {
132
132
  return program.stateSet(HttpStateKeys.bodyIgnore).has(entity);
133
133
  }
134
+ export const $multipartBody = (context, entity) => {
135
+ context.program.stateSet(HttpStateKeys.multipartBody).add(entity);
136
+ };
137
+ export function isMultipartBodyProperty(program, entity) {
138
+ return program.stateSet(HttpStateKeys.multipartBody).has(entity);
139
+ }
134
140
  export const $statusCode = (context, entity) => {
135
141
  context.program.stateSet(HttpStateKeys.statusCode).add(entity);
136
142
  // eslint-disable-next-line deprecation/deprecation
@@ -329,29 +335,6 @@ export const $server = (context, target, url, description, parameters) => {
329
335
  export function getServers(program, type) {
330
336
  return program.stateMap(HttpStateKeys.servers).get(type);
331
337
  }
332
- export const $plainData = (context, entity) => {
333
- const { program } = context;
334
- const decoratorsToRemove = ["$header", "$body", "$query", "$path", "$statusCode"];
335
- const [headers, bodies, queries, paths, statusCodes] = [
336
- program.stateMap(HttpStateKeys.header),
337
- program.stateSet(HttpStateKeys.body),
338
- program.stateMap(HttpStateKeys.query),
339
- program.stateMap(HttpStateKeys.path),
340
- program.stateMap(HttpStateKeys.statusCode),
341
- ];
342
- for (const property of entity.properties.values()) {
343
- // Remove the decorators so that they do not run in the future, for example,
344
- // if this model is later spread into another.
345
- property.decorators = property.decorators.filter((d) => !decoratorsToRemove.includes(d.decorator.name));
346
- // Remove the impact the decorators already had on this model.
347
- headers.delete(property);
348
- bodies.delete(property);
349
- queries.delete(property);
350
- paths.delete(property);
351
- statusCodes.delete(property);
352
- }
353
- };
354
- setTypeSpecNamespace("Private", $plainData);
355
338
  export function $useAuth(context, entity, authConfig) {
356
339
  validateDecoratorUniqueOnNode(context, entity, $useAuth);
357
340
  const [auth, diagnostics] = extractAuthentication(context.program, authConfig);
@@ -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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"}
@@ -0,0 +1,52 @@
1
+ import { DiagnosticResult, Type, type Diagnostic, type ModelProperty, type Program } from "@typespec/compiler";
2
+ import { Visibility } from "./metadata.js";
3
+ import { HeaderFieldOptions, PathParameterOptions, QueryParameterOptions } from "./types.js";
4
+ export type HttpProperty = HeaderProperty | ContentTypeProperty | QueryProperty | PathProperty | StatusCodeProperty | BodyProperty | BodyRootProperty | MultipartBodyProperty | BodyPropertyProperty;
5
+ export interface HttpPropertyBase {
6
+ readonly property: ModelProperty;
7
+ }
8
+ export interface HeaderProperty extends HttpPropertyBase {
9
+ readonly kind: "header";
10
+ readonly options: HeaderFieldOptions;
11
+ }
12
+ export interface ContentTypeProperty extends HttpPropertyBase {
13
+ readonly kind: "contentType";
14
+ }
15
+ export interface QueryProperty extends HttpPropertyBase {
16
+ readonly kind: "query";
17
+ readonly options: QueryParameterOptions;
18
+ }
19
+ export interface PathProperty extends HttpPropertyBase {
20
+ readonly kind: "path";
21
+ readonly options: PathParameterOptions;
22
+ }
23
+ export interface StatusCodeProperty extends HttpPropertyBase {
24
+ readonly kind: "statusCode";
25
+ }
26
+ export interface BodyProperty extends HttpPropertyBase {
27
+ readonly kind: "body";
28
+ }
29
+ export interface BodyRootProperty extends HttpPropertyBase {
30
+ readonly kind: "bodyRoot";
31
+ }
32
+ export interface MultipartBodyProperty extends HttpPropertyBase {
33
+ readonly kind: "multipartBody";
34
+ }
35
+ /** Property to include inside the body */
36
+ export interface BodyPropertyProperty extends HttpPropertyBase {
37
+ readonly kind: "bodyProperty";
38
+ }
39
+ export interface GetHttpPropertyOptions {
40
+ isImplicitPathParam?: (param: ModelProperty) => boolean;
41
+ }
42
+ /**
43
+ * Find the type of a property in a model
44
+ */
45
+ export declare function getHttpProperty(program: Program, property: ModelProperty, options?: GetHttpPropertyOptions): [HttpProperty, readonly Diagnostic[]];
46
+ /**
47
+ * Walks the given input(request parameters or response) and return all the properties and where they should be included(header, query, path, body, as a body property, etc.)
48
+ *
49
+ * @param rootMapOut If provided, the map will be populated to link nested metadata properties to their root properties.
50
+ */
51
+ export declare function resolvePayloadProperties(program: Program, type: Type, visibility: Visibility, options?: GetHttpPropertyOptions): DiagnosticResult<HttpProperty[]>;
52
+ //# sourceMappingURL=http-property.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-property.d.ts","sourceRoot":"","sources":["../../src/http-property.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,IAAI,EAIJ,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,OAAO,EACb,MAAM,oBAAoB,CAAC;AAY5B,OAAO,EAAE,UAAU,EAAa,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE7F,MAAM,MAAM,YAAY,GACpB,cAAc,GACd,mBAAmB,GACnB,aAAa,GACb,YAAY,GACZ,kBAAkB,GAClB,YAAY,GACZ,gBAAgB,GAChB,qBAAqB,GACrB,oBAAoB,CAAC;AAEzB,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;CACtC;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;CACzC;AACD,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;CACxC;AACD,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC7B;AACD,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AACD,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AACD,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;CAChC;AACD,0CAA0C;AAC1C,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC;CACzD;AACD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,sBAA2B,GACnC,CAAC,YAAY,EAAE,SAAS,UAAU,EAAE,CAAC,CA0DvC;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,OAAO,GAAE,sBAA2B,GACnC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAsDlC"}
@@ -0,0 +1,129 @@
1
+ import { compilerAssert, createDiagnosticCollector, walkPropertiesInherited, } from "@typespec/compiler";
2
+ import { Queue } from "@typespec/compiler/utils";
3
+ import { getHeaderFieldOptions, getPathParamOptions, getQueryParamOptions, isBody, isBodyRoot, isMultipartBodyProperty, isStatusCode, } from "./decorators.js";
4
+ import { createDiagnostic } from "./lib.js";
5
+ import { Visibility, isVisible } from "./metadata.js";
6
+ /**
7
+ * Find the type of a property in a model
8
+ */
9
+ export function getHttpProperty(program, property, options = {}) {
10
+ const diagnostics = [];
11
+ function createResult(opts) {
12
+ return [{ ...opts, property }, diagnostics];
13
+ }
14
+ const annotations = {
15
+ header: getHeaderFieldOptions(program, property),
16
+ query: getQueryParamOptions(program, property),
17
+ path: getPathParamOptions(program, property),
18
+ body: isBody(program, property),
19
+ bodyRoot: isBodyRoot(program, property),
20
+ multipartBody: isMultipartBodyProperty(program, property),
21
+ statusCode: isStatusCode(program, property),
22
+ };
23
+ const defined = Object.entries(annotations).filter((x) => !!x[1]);
24
+ if (defined.length === 0) {
25
+ if (options.isImplicitPathParam && options.isImplicitPathParam(property)) {
26
+ return createResult({
27
+ kind: "path",
28
+ options: {
29
+ name: property.name,
30
+ type: "path",
31
+ },
32
+ property,
33
+ });
34
+ }
35
+ return [{ kind: "bodyProperty", property }, []];
36
+ }
37
+ else if (defined.length > 1) {
38
+ diagnostics.push(createDiagnostic({
39
+ code: "operation-param-duplicate-type",
40
+ format: { paramName: property.name, types: defined.map((x) => x[0]).join(", ") },
41
+ target: property,
42
+ }));
43
+ }
44
+ if (annotations.header) {
45
+ if (annotations.header.name.toLowerCase() === "content-type") {
46
+ return createResult({ kind: "contentType", property });
47
+ }
48
+ else {
49
+ return createResult({ kind: "header", options: annotations.header, property });
50
+ }
51
+ }
52
+ else if (annotations.query) {
53
+ return createResult({ kind: "query", options: annotations.query, property });
54
+ }
55
+ else if (annotations.path) {
56
+ return createResult({ kind: "path", options: annotations.path, property });
57
+ }
58
+ else if (annotations.statusCode) {
59
+ return createResult({ kind: "statusCode", property });
60
+ }
61
+ else if (annotations.body) {
62
+ return createResult({ kind: "body", property });
63
+ }
64
+ else if (annotations.bodyRoot) {
65
+ return createResult({ kind: "bodyRoot", property });
66
+ }
67
+ else if (annotations.multipartBody) {
68
+ return createResult({ kind: "multipartBody", property });
69
+ }
70
+ compilerAssert(false, `Unexpected http property type`, property);
71
+ }
72
+ /**
73
+ * Walks the given input(request parameters or response) and return all the properties and where they should be included(header, query, path, body, as a body property, etc.)
74
+ *
75
+ * @param rootMapOut If provided, the map will be populated to link nested metadata properties to their root properties.
76
+ */
77
+ export function resolvePayloadProperties(program, type, visibility, options = {}) {
78
+ const diagnostics = createDiagnosticCollector();
79
+ const httpProperties = new Map();
80
+ if (type.kind !== "Model" || type.properties.size === 0) {
81
+ return diagnostics.wrap([]);
82
+ }
83
+ const visited = new Set();
84
+ const queue = new Queue([[type, undefined]]);
85
+ while (!queue.isEmpty()) {
86
+ const [model, rootOpt] = queue.dequeue();
87
+ visited.add(model);
88
+ for (const property of walkPropertiesInherited(model)) {
89
+ const root = rootOpt ?? property;
90
+ if (!isVisible(program, property, visibility)) {
91
+ continue;
92
+ }
93
+ let httpProperty = diagnostics.pipe(getHttpProperty(program, property, options));
94
+ if (shouldTreatAsBodyProperty(httpProperty, visibility)) {
95
+ httpProperty = { kind: "bodyProperty", property };
96
+ }
97
+ httpProperties.set(property, httpProperty);
98
+ if (property !== root &&
99
+ (httpProperty.kind === "body" ||
100
+ httpProperty.kind === "bodyRoot" ||
101
+ httpProperty.kind === "multipartBody")) {
102
+ const parent = httpProperties.get(root);
103
+ if (parent?.kind === "bodyProperty") {
104
+ httpProperties.delete(root);
105
+ }
106
+ }
107
+ if (httpProperty.kind === "body" || httpProperty.kind === "multipartBody") {
108
+ continue; // We ignore any properties under `@body` or `@multipartBody`
109
+ }
110
+ if (property.type.kind === "Model" &&
111
+ !type.indexer &&
112
+ type.properties.size > 0 &&
113
+ !visited.has(property.type)) {
114
+ queue.enqueue([property.type, root]);
115
+ }
116
+ }
117
+ }
118
+ return diagnostics.wrap([...httpProperties.values()]);
119
+ }
120
+ function shouldTreatAsBodyProperty(property, visibility) {
121
+ if (visibility & Visibility.Read) {
122
+ return property.kind === "query" || property.kind === "path";
123
+ }
124
+ if (!(visibility & Visibility.Read)) {
125
+ return property.kind === "statusCode";
126
+ }
127
+ return false;
128
+ }
129
+ //# sourceMappingURL=http-property.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-property.js","sourceRoot":"","sources":["../../src/http-property.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export * from "./decorators.js";
6
6
  export * from "./metadata.js";
7
7
  export * from "./operations.js";
8
8
  export * from "./parameters.js";
9
+ export { getHttpFileModel, isHttpFile, isOrExtendsHttpFile } from "./private.decorators.js";
9
10
  export * from "./responses.js";
10
11
  export * from "./route.js";
11
12
  export * from "./types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
package/dist/src/index.js CHANGED
@@ -6,6 +6,7 @@ export * from "./decorators.js";
6
6
  export * from "./metadata.js";
7
7
  export * from "./operations.js";
8
8
  export * from "./parameters.js";
9
+ export { getHttpFileModel, isHttpFile, isOrExtendsHttpFile } from "./private.decorators.js";
9
10
  export * from "./responses.js";
10
11
  export * from "./route.js";
11
12
  export * from "./types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}