@typespec/http 0.59.0-dev.6 → 0.59.0
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 +30 -26
- package/dist/generated-defs/TypeSpec.Http.d.ts +30 -14
- package/dist/generated-defs/TypeSpec.Http.d.ts.map +1 -1
- package/dist/src/decorators.d.ts.map +1 -1
- package/dist/src/decorators.js +22 -25
- package/dist/src/decorators.js.map +1 -1
- package/dist/src/http-property.d.ts +1 -1
- package/dist/src/http-property.d.ts.map +1 -1
- package/dist/src/http-property.js +42 -6
- package/dist/src/http-property.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib.d.ts +37 -22
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +13 -7
- package/dist/src/lib.js.map +1 -1
- package/dist/src/operations.js +2 -1
- package/dist/src/operations.js.map +1 -1
- package/dist/src/parameters.d.ts +1 -1
- package/dist/src/parameters.d.ts.map +1 -1
- package/dist/src/parameters.js +46 -10
- package/dist/src/parameters.js.map +1 -1
- package/dist/src/route.d.ts +2 -1
- package/dist/src/route.d.ts.map +1 -1
- package/dist/src/route.js +73 -30
- package/dist/src/route.js.map +1 -1
- package/dist/src/types.d.ts +23 -10
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/uri-template.d.ts +22 -0
- package/dist/src/uri-template.d.ts.map +1 -0
- package/dist/src/uri-template.js +41 -0
- package/dist/src/uri-template.js.map +1 -0
- package/lib/decorators.tsp +60 -14
- package/package.json +4 -5
package/dist/src/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DiagnosticResult, Interface, ListOperationOptions, Model, ModelProperty, Namespace, Operation, Program, Tuple, Type } from "@typespec/compiler";
|
|
2
|
+
import { PathOptions, QueryOptions } from "../generated-defs/TypeSpec.Http.js";
|
|
2
3
|
import { HeaderProperty, HttpProperty } from "./http-property.js";
|
|
3
4
|
/**
|
|
4
5
|
* @deprecated use `HttpOperation`. To remove in November 2022 release.
|
|
@@ -210,7 +211,7 @@ export interface RouteResolutionOptions extends RouteOptions {
|
|
|
210
211
|
listOptions?: ListOperationOptions;
|
|
211
212
|
}
|
|
212
213
|
export interface RouteProducerResult {
|
|
213
|
-
|
|
214
|
+
uriTemplate: string;
|
|
214
215
|
parameters: HttpOperationParameters;
|
|
215
216
|
}
|
|
216
217
|
export type RouteProducer = (program: Program, operation: Operation, parentSegments: string[], overloadBase: HttpOperation | undefined, options: RouteOptions) => DiagnosticResult<RouteProducerResult>;
|
|
@@ -223,20 +224,24 @@ export interface HeaderFieldOptions {
|
|
|
223
224
|
*/
|
|
224
225
|
format?: "csv" | "multi" | "ssv" | "tsv" | "pipes" | "simple" | "form";
|
|
225
226
|
}
|
|
226
|
-
export interface QueryParameterOptions {
|
|
227
|
+
export interface QueryParameterOptions extends Required<Omit<QueryOptions, "format">> {
|
|
227
228
|
type: "query";
|
|
228
|
-
name: string;
|
|
229
229
|
/**
|
|
230
|
-
*
|
|
231
|
-
* "multi" and "form".
|
|
230
|
+
* @deprecated use explode and `@encode` decorator instead.
|
|
232
231
|
*/
|
|
233
|
-
format?: "
|
|
232
|
+
format?: "csv" | "multi" | "ssv" | "tsv" | "pipes" | "simple" | "form";
|
|
234
233
|
}
|
|
235
|
-
export interface PathParameterOptions {
|
|
234
|
+
export interface PathParameterOptions extends Required<PathOptions> {
|
|
236
235
|
type: "path";
|
|
237
|
-
name: string;
|
|
238
236
|
}
|
|
239
|
-
export type HttpOperationParameter =
|
|
237
|
+
export type HttpOperationParameter = HttpOperationHeaderParameter | HttpOperationQueryParameter | HttpOperationPathParameter;
|
|
238
|
+
export type HttpOperationHeaderParameter = HeaderFieldOptions & {
|
|
239
|
+
param: ModelProperty;
|
|
240
|
+
};
|
|
241
|
+
export type HttpOperationQueryParameter = QueryParameterOptions & {
|
|
242
|
+
param: ModelProperty;
|
|
243
|
+
};
|
|
244
|
+
export type HttpOperationPathParameter = PathParameterOptions & {
|
|
240
245
|
param: ModelProperty;
|
|
241
246
|
};
|
|
242
247
|
/**
|
|
@@ -264,11 +269,19 @@ export interface HttpService {
|
|
|
264
269
|
}
|
|
265
270
|
export interface HttpOperation {
|
|
266
271
|
/**
|
|
267
|
-
*
|
|
272
|
+
* The fully resolved uri template as defined by http://tools.ietf.org/html/rfc6570.
|
|
273
|
+
* @example "/foo/{bar}/baz{?qux}"
|
|
274
|
+
* @example "/foo/{+path}"
|
|
275
|
+
*/
|
|
276
|
+
readonly uriTemplate: string;
|
|
277
|
+
/**
|
|
278
|
+
* Route path.
|
|
279
|
+
* Not recommended use {@link uriTemplate} instead. This will not work for complex cases like not-escaping reserved chars.
|
|
268
280
|
*/
|
|
269
281
|
path: string;
|
|
270
282
|
/**
|
|
271
283
|
* Path segments
|
|
284
|
+
* @deprecated use {@link uriTemplate} instead
|
|
272
285
|
*/
|
|
273
286
|
pathSegments: string[];
|
|
274
287
|
/**
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -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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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
declare const operators: readonly ["+", "#", ".", "/", ";", "?", "&"];
|
|
2
|
+
type Operator = (typeof operators)[number];
|
|
3
|
+
export interface UriTemplateParameter {
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly operator?: Operator;
|
|
6
|
+
readonly modifier?: {
|
|
7
|
+
type: "explode";
|
|
8
|
+
} | {
|
|
9
|
+
type: "prefix";
|
|
10
|
+
value: number;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export interface UriTemplate {
|
|
14
|
+
readonly segments?: (string | UriTemplateParameter)[];
|
|
15
|
+
readonly parameters: UriTemplateParameter[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Parse a URI template according to [RFC-6570](https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.3)
|
|
19
|
+
*/
|
|
20
|
+
export declare function parseUriTemplate(template: string): UriTemplate;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=uri-template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uri-template.d.ts","sourceRoot":"","sources":["../../src/uri-template.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,SAAS,8CAA+C,CAAC;AAC/D,KAAK,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3C,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7E;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,oBAAoB,CAAC,EAAE,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,oBAAoB,EAAE,CAAC;CAC7C;AAKD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAiC9D"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const operators = ["+", "#", ".", "/", ";", "?", "&"];
|
|
2
|
+
const uriTemplateRegex = /\{([^{}]+)\}|([^{}]+)/g;
|
|
3
|
+
const expressionRegex = /([^:*]*)(?::(\d+)|(\*))?/;
|
|
4
|
+
/**
|
|
5
|
+
* Parse a URI template according to [RFC-6570](https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.3)
|
|
6
|
+
*/
|
|
7
|
+
export function parseUriTemplate(template) {
|
|
8
|
+
const parameters = [];
|
|
9
|
+
const segments = [];
|
|
10
|
+
const matches = template.matchAll(uriTemplateRegex);
|
|
11
|
+
for (let [_, expression, literal] of matches) {
|
|
12
|
+
if (expression) {
|
|
13
|
+
let operator;
|
|
14
|
+
if (operators.includes(expression[0])) {
|
|
15
|
+
operator = expression[0];
|
|
16
|
+
expression = expression.slice(1);
|
|
17
|
+
}
|
|
18
|
+
const items = expression.split(",");
|
|
19
|
+
for (const item of items) {
|
|
20
|
+
const match = item.match(expressionRegex);
|
|
21
|
+
const name = match[1];
|
|
22
|
+
const parameter = {
|
|
23
|
+
name: name,
|
|
24
|
+
operator,
|
|
25
|
+
modifier: match[3]
|
|
26
|
+
? { type: "explode" }
|
|
27
|
+
: match[2]
|
|
28
|
+
? { type: "prefix", value: Number(match[2]) }
|
|
29
|
+
: undefined,
|
|
30
|
+
};
|
|
31
|
+
parameters.push(parameter);
|
|
32
|
+
segments.push(parameter);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
segments.push(literal);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return { segments, parameters };
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=uri-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uri-template.js","sourceRoot":"","sources":["../../src/uri-template.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAc/D,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AAClD,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAsC,EAAE,CAAC;IACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACpD,KAAK,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;QAC7C,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,QAA8B,CAAC;YACnC,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAQ,CAAC,EAAE,CAAC;gBAC7C,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAQ,CAAC;gBAChC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM,SAAS,GAAyB;oBACtC,IAAI,EAAE,IAAI;oBACV,QAAQ;oBACR,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;wBAChB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;wBACrB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;4BACR,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;4BAC7C,CAAC,CAAC,SAAS;iBAChB,CAAC;gBACF,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC"}
|
package/lib/decorators.tsp
CHANGED
|
@@ -48,8 +48,21 @@ model QueryOptions {
|
|
|
48
48
|
*/
|
|
49
49
|
name?: string;
|
|
50
50
|
|
|
51
|
+
/**
|
|
52
|
+
* If true send each value in the array/object as a separate query parameter.
|
|
53
|
+
* Equivalent of adding `*` in the path parameter as per [RFC-6570](https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.3)
|
|
54
|
+
*
|
|
55
|
+
* | Style | Explode | Uri Template | Primitive value id = 5 | Array id = [3, 4, 5] | Object id = {"role": "admin", "firstName": "Alex"} |
|
|
56
|
+
* | ------ | ------- | -------------- | ---------------------- | ----------------------- | -------------------------------------------------- |
|
|
57
|
+
* | simple | false | `/users{?id}` | `/users?id=5` | `/users?id=3,4,5` | `/users?id=role,admin,firstName,Alex` |
|
|
58
|
+
* | simple | true | `/users{?id*}` | `/users?id=5` | `/users?id=3&id=4&id=5` | `/users?role=admin&firstName=Alex` |
|
|
59
|
+
*
|
|
60
|
+
*/
|
|
61
|
+
explode?: boolean;
|
|
62
|
+
|
|
51
63
|
/**
|
|
52
64
|
* Determines the format of the array if type array is used.
|
|
65
|
+
* **DEPRECATED**: use explode: true instead of `multi` or `@encode`
|
|
53
66
|
*/
|
|
54
67
|
format?: "multi" | "csv" | "ssv" | "tsv" | "simple" | "form" | "pipes";
|
|
55
68
|
}
|
|
@@ -63,15 +76,42 @@ model QueryOptions {
|
|
|
63
76
|
*
|
|
64
77
|
* ```typespec
|
|
65
78
|
* op read(@query select: string, @query("order-by") orderBy: string): void;
|
|
66
|
-
* op list(@query({name: "id",
|
|
79
|
+
* op list(@query(#{name: "id", explode: true}) ids: string[]): void;
|
|
67
80
|
* ```
|
|
68
81
|
*/
|
|
69
|
-
extern dec query(target: ModelProperty, queryNameOrOptions?: string | QueryOptions);
|
|
82
|
+
extern dec query(target: ModelProperty, queryNameOrOptions?: valueof string | QueryOptions);
|
|
83
|
+
|
|
84
|
+
model PathOptions {
|
|
85
|
+
/** Name of the parameter in the uri template. */
|
|
86
|
+
name?: string;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* When interpolating this parameter in the case of array or object expand each value using the given style.
|
|
90
|
+
* Equivalent of adding `*` in the path parameter as per [RFC-6570](https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.3)
|
|
91
|
+
*/
|
|
92
|
+
explode?: boolean;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Different interpolating styles for the path parameter.
|
|
96
|
+
* - `simple`: No special encoding.
|
|
97
|
+
* - `label`: Using `.` separator.
|
|
98
|
+
* - `matrix`: `;` as separator.
|
|
99
|
+
* - `fragment`: `#` as separator.
|
|
100
|
+
* - `path`: `/` as separator.
|
|
101
|
+
*/
|
|
102
|
+
style?: "simple" | "label" | "matrix" | "fragment" | "path";
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* When interpolating this parameter do not encode reserved characters.
|
|
106
|
+
* Equivalent of adding `+` in the path parameter as per [RFC-6570](https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.3)
|
|
107
|
+
*/
|
|
108
|
+
allowReserved?: boolean;
|
|
109
|
+
}
|
|
70
110
|
|
|
71
111
|
/**
|
|
72
112
|
* Explicitly specify that this property is to be interpolated as a path parameter.
|
|
73
113
|
*
|
|
74
|
-
* @param
|
|
114
|
+
* @param paramNameOrOptions Optional name of the parameter in the uri template or options.
|
|
75
115
|
*
|
|
76
116
|
* @example
|
|
77
117
|
*
|
|
@@ -80,7 +120,7 @@ extern dec query(target: ModelProperty, queryNameOrOptions?: string | QueryOptio
|
|
|
80
120
|
* op read(@path explicit: string, implicit: string): void;
|
|
81
121
|
* ```
|
|
82
122
|
*/
|
|
83
|
-
extern dec path(target: ModelProperty,
|
|
123
|
+
extern dec path(target: ModelProperty, paramNameOrOptions?: valueof string | PathOptions);
|
|
84
124
|
|
|
85
125
|
/**
|
|
86
126
|
* Explicitly specify that this property type will be exactly the HTTP body.
|
|
@@ -282,22 +322,28 @@ extern dec useAuth(target: Namespace | Interface | Operation, auth: {} | Union |
|
|
|
282
322
|
extern dec includeInapplicableMetadataInPayload(target: unknown, value: valueof boolean);
|
|
283
323
|
|
|
284
324
|
/**
|
|
285
|
-
* Defines the relative route URI for the target operation
|
|
286
|
-
*
|
|
287
|
-
* The first argument should be a URI fragment that may contain one or more path parameter fields.
|
|
288
|
-
* If the namespace or interface that contains the operation is also marked with a `@route` decorator,
|
|
289
|
-
* it will be used as a prefix to the route URI of the operation.
|
|
325
|
+
* Defines the relative route URI template for the target operation as defined by [RFC 6570](https://datatracker.ietf.org/doc/html/rfc6570#section-3.2.3)
|
|
290
326
|
*
|
|
291
327
|
* `@route` can only be applied to operations, namespaces, and interfaces.
|
|
292
328
|
*
|
|
293
|
-
* @param
|
|
294
|
-
* @param options Set of parameters used to configure the route. Supports `{shared: true}` which indicates that the route may be shared by several operations.
|
|
329
|
+
* @param uriTemplate Uri template for this operation.
|
|
330
|
+
* @param options _DEPRECATED_ Set of parameters used to configure the route. Supports `{shared: true}` which indicates that the route may be shared by several operations.
|
|
295
331
|
*
|
|
296
|
-
* @example
|
|
332
|
+
* @example Simple path parameter
|
|
297
333
|
*
|
|
298
334
|
* ```typespec
|
|
299
|
-
* @route("/widgets")
|
|
300
|
-
*
|
|
335
|
+
* @route("/widgets/{id}") op getWidget(@path id: string): Widget;
|
|
336
|
+
* ```
|
|
337
|
+
*
|
|
338
|
+
* @example Reserved characters
|
|
339
|
+
* ```typespec
|
|
340
|
+
* @route("/files{+path}") op getFile(@path path: string): bytes;
|
|
341
|
+
* ```
|
|
342
|
+
*
|
|
343
|
+
* @example Query parameter
|
|
344
|
+
* ```typespec
|
|
345
|
+
* @route("/files") op list(select?: string, filter?: string): Files[];
|
|
346
|
+
* @route("/files{?select,filter}") op listFullUriTemplate(select?: string, filter?: string): Files[];
|
|
301
347
|
* ```
|
|
302
348
|
*/
|
|
303
349
|
extern dec route(
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typespec/http",
|
|
3
|
-
"version": "0.59.0
|
|
3
|
+
"version": "0.59.0",
|
|
4
4
|
"author": "Microsoft Corporation",
|
|
5
5
|
"description": "TypeSpec HTTP protocol binding",
|
|
6
6
|
"homepage": "https://github.com/microsoft/typespec",
|
|
@@ -39,21 +39,20 @@
|
|
|
39
39
|
"!dist/test/**"
|
|
40
40
|
],
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"@typespec/compiler": "~0.
|
|
42
|
+
"@typespec/compiler": "~0.59.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/node": "~18.11.19",
|
|
46
|
-
"@typespec/compiler": "~0.58.1 || >=0.59.0-dev <0.59.0",
|
|
47
|
-
"@typespec/library-linter": "~0.58.0 || >=0.59.0-dev <0.59.0",
|
|
48
46
|
"@vitest/coverage-v8": "^2.0.4",
|
|
49
47
|
"@vitest/ui": "^2.0.4",
|
|
50
48
|
"c8": "^10.1.2",
|
|
51
49
|
"rimraf": "~6.0.1",
|
|
52
50
|
"typescript": "~5.5.4",
|
|
53
51
|
"vitest": "^2.0.4",
|
|
52
|
+
"@typespec/compiler": "~0.59.0",
|
|
53
|
+
"@typespec/library-linter": "~0.59.0",
|
|
54
54
|
"@typespec/tspd": "~0.46.0"
|
|
55
55
|
},
|
|
56
|
-
"dependencies": {},
|
|
57
56
|
"scripts": {
|
|
58
57
|
"clean": "rimraf ./dist ./temp",
|
|
59
58
|
"build": "npm run gen-extern-signature && tsc -p . && npm run lint-typespec-library",
|