@typespec/http 0.57.0-dev.5 → 0.57.0-dev.7

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 (58) 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/linter.d.ts.map +1 -1
  29. package/dist/src/linter.js +0 -7
  30. package/dist/src/linter.js.map +1 -1
  31. package/dist/src/metadata.d.ts +1 -10
  32. package/dist/src/metadata.d.ts.map +1 -1
  33. package/dist/src/metadata.js +8 -53
  34. package/dist/src/metadata.js.map +1 -1
  35. package/dist/src/parameters.d.ts.map +1 -1
  36. package/dist/src/parameters.js +33 -87
  37. package/dist/src/parameters.js.map +1 -1
  38. package/dist/src/payload.d.ts +12 -0
  39. package/dist/src/payload.d.ts.map +1 -0
  40. package/dist/src/payload.js +301 -0
  41. package/dist/src/payload.js.map +1 -0
  42. package/dist/src/private.decorators.d.ts +28 -0
  43. package/dist/src/private.decorators.d.ts.map +1 -0
  44. package/dist/src/private.decorators.js +64 -0
  45. package/dist/src/private.decorators.js.map +1 -0
  46. package/dist/src/responses.d.ts.map +1 -1
  47. package/dist/src/responses.js +11 -44
  48. package/dist/src/responses.js.map +1 -1
  49. package/dist/src/types.d.ts +48 -27
  50. package/dist/src/types.d.ts.map +1 -1
  51. package/lib/{http-decorators.tsp → decorators.tsp} +15 -7
  52. package/lib/http.tsp +17 -1
  53. package/lib/private.decorators.tsp +14 -0
  54. package/package.json +1 -1
  55. package/dist/src/body.d.ts +0 -15
  56. package/dist/src/body.d.ts.map +0 -1
  57. package/dist/src/body.js +0 -112
  58. package/dist/src/body.js.map +0 -1
@@ -1,4 +1,5 @@
1
- import { DiagnosticResult, Interface, ListOperationOptions, ModelProperty, Namespace, Operation, Program, Type } from "@typespec/compiler";
1
+ import { DiagnosticResult, Interface, ListOperationOptions, Model, ModelProperty, Namespace, Operation, Program, Tuple, Type } from "@typespec/compiler";
2
+ import { HeaderProperty } from "./http-property.js";
2
3
  /**
3
4
  * @deprecated use `HttpOperation`. To remove in November 2022 release.
4
5
  */
@@ -237,25 +238,16 @@ export type HttpOperationParameter = (HeaderFieldOptions | QueryParameterOptions
237
238
  param: ModelProperty;
238
239
  };
239
240
  /**
240
- * Represent the body information for an http request.
241
- *
242
- * @note the `type` must be a `Model` if the content type is multipart.
241
+ * @deprecated use {@link HttpOperationBody}
243
242
  */
244
- export interface HttpOperationRequestBody extends HttpOperationBody {
245
- /**
246
- * If the body was explicitly set as a property. Correspond to the property with `@body` or `@bodyRoot`
247
- */
248
- parameter?: ModelProperty;
249
- }
250
- export interface HttpOperationResponseBody extends HttpOperationBody {
251
- /**
252
- * If the body was explicitly set as a property. Correspond to the property with `@body` or `@bodyRoot`
253
- */
254
- readonly property?: ModelProperty;
255
- }
243
+ export type HttpOperationRequestBody = HttpOperationBody;
244
+ /**
245
+ * @deprecated use {@link HttpOperationBody}
246
+ */
247
+ export type HttpOperationResponseBody = HttpOperationBody;
256
248
  export interface HttpOperationParameters {
257
249
  parameters: HttpOperationParameter[];
258
- body?: HttpOperationRequestBody;
250
+ body?: HttpOperationBody | HttpOperationMultipartBody;
259
251
  /** @deprecated use {@link body.type} */
260
252
  bodyType?: Type;
261
253
  /** @deprecated use {@link body.parameter} */
@@ -334,21 +326,50 @@ export interface HttpOperationResponse {
334
326
  }
335
327
  export interface HttpOperationResponseContent {
336
328
  headers?: Record<string, ModelProperty>;
337
- body?: HttpOperationResponseBody;
329
+ body?: HttpOperationBody | HttpOperationMultipartBody;
338
330
  }
339
- export interface HttpOperationBody {
340
- /**
341
- * Content types.
342
- */
343
- contentTypes: string[];
344
- /**
345
- * Type of the operation body.
346
- */
347
- type: Type;
331
+ export interface HttpOperationBodyBase {
332
+ /** Content types. */
333
+ readonly contentTypes: string[];
334
+ }
335
+ export interface HttpBody {
336
+ readonly type: Type;
348
337
  /** If the body was explicitly set with `@body`. */
349
338
  readonly isExplicit: boolean;
350
339
  /** If the body contains metadata annotations to ignore. For example `@header`. */
351
340
  readonly containsMetadataAnnotations: boolean;
341
+ /**
342
+ * @deprecated use {@link property}
343
+ */
344
+ parameter?: ModelProperty;
345
+ /**
346
+ * If the body was explicitly set as a property. Correspond to the property with `@body` or `@bodyRoot`
347
+ */
348
+ readonly property?: ModelProperty;
349
+ }
350
+ export interface HttpOperationBody extends HttpOperationBodyBase, HttpBody {
351
+ readonly bodyKind: "single";
352
+ }
353
+ /** Body marked with `@multipartBody` */
354
+ export interface HttpOperationMultipartBody extends HttpOperationBodyBase {
355
+ readonly bodyKind: "multipart";
356
+ readonly type: Model | Tuple;
357
+ /** Property annotated with `@multipartBody` */
358
+ readonly property: ModelProperty;
359
+ readonly parts: HttpOperationPart[];
360
+ }
361
+ /** Represent an part in a multipart body. */
362
+ export interface HttpOperationPart {
363
+ /** Part name */
364
+ readonly name?: string;
365
+ /** If the part is optional */
366
+ readonly optional: boolean;
367
+ /** Part body */
368
+ readonly body: HttpOperationBody;
369
+ /** Part headers */
370
+ readonly headers: HeaderProperty[];
371
+ /** If there can be multiple of that part */
372
+ readonly multi: boolean;
352
373
  }
353
374
  export interface HttpStatusCodeRange {
354
375
  start: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -122,6 +122,21 @@ extern dec bodyRoot(target: ModelProperty);
122
122
  */
123
123
  extern dec bodyIgnore(target: ModelProperty);
124
124
 
125
+ /**
126
+ * @example
127
+ *
128
+ * ```tsp
129
+ * op upload(
130
+ * @header `content-type`: "multipart/form-data",
131
+ * @multipartBody body: {
132
+ * fullName: HttpPart<string>,
133
+ * headShots: HttpPart<Image>[]
134
+ * }
135
+ * ): void;
136
+ * ```
137
+ */
138
+ extern dec multipartBody(target: ModelProperty);
139
+
125
140
  /**
126
141
  * Specify the status code for this response. Property type must be a status code integer or a union of status code integer.
127
142
  *
@@ -296,10 +311,3 @@ extern dec route(
296
311
  * ```
297
312
  */
298
313
  extern dec sharedRoute(target: Operation);
299
-
300
- /**
301
- * Private decorators. Those are meant for internal use inside Http types only.
302
- */
303
- namespace Private {
304
- extern dec plainData(target: TypeSpec.Reflection.Model);
305
- }
package/lib/http.tsp CHANGED
@@ -1,5 +1,6 @@
1
1
  import "../dist/src/index.js";
2
- import "./http-decorators.tsp";
2
+ import "./decorators.tsp";
3
+ import "./private.decorators.tsp";
3
4
  import "./auth.tsp";
4
5
 
5
6
  namespace TypeSpec.Http;
@@ -104,3 +105,18 @@ model ConflictResponse is Response<409>;
104
105
  model PlainData<Data> {
105
106
  ...Data;
106
107
  }
108
+
109
+ @Private.httpFile
110
+ model File {
111
+ contentType?: string;
112
+ filename?: string;
113
+ contents: bytes;
114
+ }
115
+
116
+ model HttpPartOptions {
117
+ /** Name of the part when using the array form. */
118
+ name?: string;
119
+ }
120
+
121
+ @Private.httpPart(Type, Options)
122
+ model HttpPart<Type, Options extends valueof HttpPartOptions = #{}> {}
@@ -0,0 +1,14 @@
1
+ import "../dist/src/private.decorators.js";
2
+
3
+ /**
4
+ * Private decorators. Those are meant for internal use inside Http types only.
5
+ */
6
+ namespace TypeSpec.Http.Private;
7
+
8
+ extern dec plainData(target: TypeSpec.Reflection.Model);
9
+ extern dec httpFile(target: TypeSpec.Reflection.Model);
10
+ extern dec httpPart(
11
+ target: TypeSpec.Reflection.Model,
12
+ type: unknown,
13
+ options: valueof HttpPartOptions
14
+ );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/http",
3
- "version": "0.57.0-dev.5",
3
+ "version": "0.57.0-dev.7",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec HTTP protocol binding",
6
6
  "homepage": "https://github.com/microsoft/typespec",
@@ -1,15 +0,0 @@
1
- import { Diagnostic, ModelProperty, Program, Type } from "@typespec/compiler";
2
- import { Visibility } from "./metadata.js";
3
- export interface ResolvedBody {
4
- readonly type: Type;
5
- /** `true` if the body was specified with `@body` */
6
- readonly isExplicit: boolean;
7
- /** If the body original model contained property annotated with metadata properties. */
8
- readonly containsMetadataAnnotations: boolean;
9
- /** If body is defined with `@body` or `@bodyRoot` this is the property */
10
- readonly property?: ModelProperty;
11
- }
12
- export declare function resolveBody(program: Program, requestOrResponseType: Type, metadata: Set<ModelProperty>, rootPropertyMap: Map<ModelProperty, ModelProperty>, visibility: Visibility, usedIn: "request" | "response"): [ResolvedBody | undefined, readonly Diagnostic[]];
13
- /** Validate a property marked with `@body` */
14
- export declare function validateBodyProperty(program: Program, property: ModelProperty, usedIn: "request" | "response"): [boolean, readonly Diagnostic[]];
15
- //# sourceMappingURL=body.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../src/body.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,aAAa,EACb,OAAO,EACP,IAAI,EAML,MAAM,oBAAoB,CAAC;AAU5B,OAAO,EAAE,UAAU,EAAa,MAAM,eAAe,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,oDAAoD;IACpD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,wFAAwF;IACxF,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC;IAC9C,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;CACnC;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,qBAAqB,EAAE,IAAI,EAC3B,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,EAC5B,eAAe,EAAE,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,EAClD,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS,GAAG,UAAU,GAC7B,CAAC,YAAY,GAAG,SAAS,EAAE,SAAS,UAAU,EAAE,CAAC,CAgGnD;AAED,8CAA8C;AAC9C,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,SAAS,GAAG,UAAU,GAC7B,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC,CA8BlC"}
package/dist/src/body.js DELETED
@@ -1,112 +0,0 @@
1
- import { DuplicateTracker, createDiagnosticCollector, filterModelProperties, getDiscriminator, isArrayModelType, navigateType, } from "@typespec/compiler";
2
- import { isBody, isBodyRoot, isHeader, isPathParam, isQueryParam, isStatusCode, } from "./decorators.js";
3
- import { createDiagnostic } from "./lib.js";
4
- import { isVisible } from "./metadata.js";
5
- export function resolveBody(program, requestOrResponseType, metadata, rootPropertyMap, visibility, usedIn) {
6
- const diagnostics = createDiagnosticCollector();
7
- // non-model or intrinsic/array model -> response body is response type
8
- if (requestOrResponseType.kind !== "Model" || isArrayModelType(program, requestOrResponseType)) {
9
- return diagnostics.wrap({
10
- type: requestOrResponseType,
11
- isExplicit: false,
12
- containsMetadataAnnotations: false,
13
- });
14
- }
15
- const duplicateTracker = new DuplicateTracker();
16
- // look for explicit body
17
- let resolvedBody;
18
- for (const property of metadata) {
19
- const isBodyVal = isBody(program, property);
20
- const isBodyRootVal = isBodyRoot(program, property);
21
- if (isBodyVal || isBodyRootVal) {
22
- duplicateTracker.track("body", property);
23
- let containsMetadataAnnotations = false;
24
- if (isBodyVal) {
25
- const valid = diagnostics.pipe(validateBodyProperty(program, property, usedIn));
26
- containsMetadataAnnotations = !valid;
27
- }
28
- if (resolvedBody === undefined) {
29
- resolvedBody = {
30
- type: property.type,
31
- isExplicit: isBodyVal,
32
- containsMetadataAnnotations,
33
- property,
34
- };
35
- }
36
- }
37
- }
38
- for (const [_, items] of duplicateTracker.entries()) {
39
- for (const prop of items) {
40
- diagnostics.add(createDiagnostic({
41
- code: "duplicate-body",
42
- target: prop,
43
- }));
44
- }
45
- }
46
- if (resolvedBody === undefined) {
47
- // Special case if the model as a parent model then we'll return an empty object as this is assumed to be a nominal type.
48
- // Special Case if the model has an indexer then it means it can return props so cannot be void.
49
- if (requestOrResponseType.baseModel || requestOrResponseType.indexer) {
50
- return diagnostics.wrap({
51
- type: requestOrResponseType,
52
- isExplicit: false,
53
- containsMetadataAnnotations: false,
54
- });
55
- }
56
- // Special case for legacy purposes if the return type is an empty model with only @discriminator("xyz")
57
- // Then we still want to return that object as it technically always has a body with that implicit property.
58
- if (requestOrResponseType.derivedModels.length > 0 &&
59
- getDiscriminator(program, requestOrResponseType)) {
60
- return diagnostics.wrap({
61
- type: requestOrResponseType,
62
- isExplicit: false,
63
- containsMetadataAnnotations: false,
64
- });
65
- }
66
- }
67
- const bodyRoot = resolvedBody?.property ? rootPropertyMap.get(resolvedBody.property) : undefined;
68
- const unannotatedProperties = filterModelProperties(program, requestOrResponseType, (p) => !metadata.has(p) && p !== bodyRoot && isVisible(program, p, visibility));
69
- if (unannotatedProperties.properties.size > 0) {
70
- if (resolvedBody === undefined) {
71
- return diagnostics.wrap({
72
- type: unannotatedProperties,
73
- isExplicit: false,
74
- containsMetadataAnnotations: false,
75
- });
76
- }
77
- else {
78
- diagnostics.add(createDiagnostic({
79
- code: "duplicate-body",
80
- messageId: "bodyAndUnannotated",
81
- target: requestOrResponseType,
82
- }));
83
- }
84
- }
85
- return diagnostics.wrap(resolvedBody);
86
- }
87
- /** Validate a property marked with `@body` */
88
- export function validateBodyProperty(program, property, usedIn) {
89
- const diagnostics = createDiagnosticCollector();
90
- navigateType(property.type, {
91
- modelProperty: (prop) => {
92
- const kind = isHeader(program, prop)
93
- ? "header"
94
- : usedIn === "request" && isQueryParam(program, prop)
95
- ? "query"
96
- : usedIn === "request" && isPathParam(program, prop)
97
- ? "path"
98
- : usedIn === "response" && isStatusCode(program, prop)
99
- ? "statusCode"
100
- : undefined;
101
- if (kind) {
102
- diagnostics.add(createDiagnostic({
103
- code: "metadata-ignored",
104
- format: { kind },
105
- target: prop,
106
- }));
107
- }
108
- },
109
- }, {});
110
- return diagnostics.wrap(diagnostics.diagnostics.length === 0);
111
- }
112
- //# sourceMappingURL=body.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"body.js","sourceRoot":"","sources":["../../src/body.ts"],"names":[],"mappings":"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"}