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