@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/dist/src/lib.d.ts CHANGED
@@ -2,7 +2,13 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
2
2
  "http-verb-duplicate": {
3
3
  readonly default: import("@typespec/compiler").CallableMessage<["entityName"]>;
4
4
  };
5
- "missing-path-param": {
5
+ "missing-uri-param": {
6
+ readonly default: import("@typespec/compiler").CallableMessage<["param"]>;
7
+ };
8
+ "incompatible-uri-param": {
9
+ readonly default: import("@typespec/compiler").CallableMessage<["param", "uriKind", "annotationKind"]>;
10
+ };
11
+ "use-uri-template": {
6
12
  readonly default: import("@typespec/compiler").CallableMessage<["param"]>;
7
13
  };
8
14
  "optional-path-param": {
@@ -74,15 +80,18 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
74
80
  "header-format-required": {
75
81
  readonly default: "A format must be specified for @header when type is an array. e.g. @header({format: \"csv\"})";
76
82
  };
77
- "query-format-required": {
78
- readonly default: "A format must be specified for @query when type is an array. e.g. @query({format: \"multi\"})";
79
- };
80
83
  }, 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" | "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" | "http-file-extra-property" | "formdata-no-part-name" | "header-format-required" | "query-format-required", M extends keyof {
84
+ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "missing-uri-param" | "incompatible-uri-param" | "use-uri-template" | "optional-path-param" | "missing-server-param" | "duplicate-body" | "duplicate-route-decorator" | "operation-param-duplicate-type" | "duplicate-operation" | "multiple-status-codes" | "status-code-invalid" | "content-type-string" | "content-type-ignored" | "metadata-ignored" | "no-service-found" | "invalid-type-for-auth" | "shared-inconsistency" | "write-visibility-not-supported" | "multipart-invalid-content-type" | "multipart-model" | "multipart-part" | "multipart-nested" | "http-file-extra-property" | "formdata-no-part-name" | "header-format-required", M extends keyof {
82
85
  "http-verb-duplicate": {
83
86
  readonly default: import("@typespec/compiler").CallableMessage<["entityName"]>;
84
87
  };
85
- "missing-path-param": {
88
+ "missing-uri-param": {
89
+ readonly default: import("@typespec/compiler").CallableMessage<["param"]>;
90
+ };
91
+ "incompatible-uri-param": {
92
+ readonly default: import("@typespec/compiler").CallableMessage<["param", "uriKind", "annotationKind"]>;
93
+ };
94
+ "use-uri-template": {
86
95
  readonly default: import("@typespec/compiler").CallableMessage<["param"]>;
87
96
  };
88
97
  "optional-path-param": {
@@ -154,14 +163,17 @@ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "missi
154
163
  "header-format-required": {
155
164
  readonly default: "A format must be specified for @header when type is an array. e.g. @header({format: \"csv\"})";
156
165
  };
157
- "query-format-required": {
158
- readonly default: "A format must be specified for @query when type is an array. e.g. @query({format: \"multi\"})";
159
- };
160
166
  }[C]>(program: import("@typespec/compiler").Program, diag: import("@typespec/compiler").DiagnosticReport<{
161
167
  "http-verb-duplicate": {
162
168
  readonly default: import("@typespec/compiler").CallableMessage<["entityName"]>;
163
169
  };
164
- "missing-path-param": {
170
+ "missing-uri-param": {
171
+ readonly default: import("@typespec/compiler").CallableMessage<["param"]>;
172
+ };
173
+ "incompatible-uri-param": {
174
+ readonly default: import("@typespec/compiler").CallableMessage<["param", "uriKind", "annotationKind"]>;
175
+ };
176
+ "use-uri-template": {
165
177
  readonly default: import("@typespec/compiler").CallableMessage<["param"]>;
166
178
  };
167
179
  "optional-path-param": {
@@ -233,14 +245,17 @@ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "missi
233
245
  "header-format-required": {
234
246
  readonly default: "A format must be specified for @header when type is an array. e.g. @header({format: \"csv\"})";
235
247
  };
236
- "query-format-required": {
237
- readonly default: "A format must be specified for @query when type is an array. e.g. @query({format: \"multi\"})";
238
- };
239
- }, C, M>) => void, createDiagnostic: <C extends "http-verb-duplicate" | "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" | "http-file-extra-property" | "formdata-no-part-name" | "header-format-required" | "query-format-required", M extends keyof {
248
+ }, C, M>) => void, createDiagnostic: <C extends "http-verb-duplicate" | "missing-uri-param" | "incompatible-uri-param" | "use-uri-template" | "optional-path-param" | "missing-server-param" | "duplicate-body" | "duplicate-route-decorator" | "operation-param-duplicate-type" | "duplicate-operation" | "multiple-status-codes" | "status-code-invalid" | "content-type-string" | "content-type-ignored" | "metadata-ignored" | "no-service-found" | "invalid-type-for-auth" | "shared-inconsistency" | "write-visibility-not-supported" | "multipart-invalid-content-type" | "multipart-model" | "multipart-part" | "multipart-nested" | "http-file-extra-property" | "formdata-no-part-name" | "header-format-required", M extends keyof {
240
249
  "http-verb-duplicate": {
241
250
  readonly default: import("@typespec/compiler").CallableMessage<["entityName"]>;
242
251
  };
243
- "missing-path-param": {
252
+ "missing-uri-param": {
253
+ readonly default: import("@typespec/compiler").CallableMessage<["param"]>;
254
+ };
255
+ "incompatible-uri-param": {
256
+ readonly default: import("@typespec/compiler").CallableMessage<["param", "uriKind", "annotationKind"]>;
257
+ };
258
+ "use-uri-template": {
244
259
  readonly default: import("@typespec/compiler").CallableMessage<["param"]>;
245
260
  };
246
261
  "optional-path-param": {
@@ -312,14 +327,17 @@ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "missi
312
327
  "header-format-required": {
313
328
  readonly default: "A format must be specified for @header when type is an array. e.g. @header({format: \"csv\"})";
314
329
  };
315
- "query-format-required": {
316
- readonly default: "A format must be specified for @query when type is an array. e.g. @query({format: \"multi\"})";
317
- };
318
330
  }[C]>(diag: import("@typespec/compiler").DiagnosticReport<{
319
331
  "http-verb-duplicate": {
320
332
  readonly default: import("@typespec/compiler").CallableMessage<["entityName"]>;
321
333
  };
322
- "missing-path-param": {
334
+ "missing-uri-param": {
335
+ readonly default: import("@typespec/compiler").CallableMessage<["param"]>;
336
+ };
337
+ "incompatible-uri-param": {
338
+ readonly default: import("@typespec/compiler").CallableMessage<["param", "uriKind", "annotationKind"]>;
339
+ };
340
+ "use-uri-template": {
323
341
  readonly default: import("@typespec/compiler").CallableMessage<["param"]>;
324
342
  };
325
343
  "optional-path-param": {
@@ -391,8 +409,5 @@ export declare const reportDiagnostic: <C extends "http-verb-duplicate" | "missi
391
409
  "header-format-required": {
392
410
  readonly default: "A format must be specified for @header when type is an array. e.g. @header({format: \"csv\"})";
393
411
  };
394
- "query-format-required": {
395
- readonly default: "A format must be specified for @query when type is an array. e.g. @query({format: \"multi\"})";
396
- };
397
412
  }, 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>;
398
413
  //# sourceMappingURL=lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wTA2LN,CAAC;AAEZ,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAa,aAAa,iTAAS,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wTAkMf,CAAC;AAEH,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAAa,aAAa,iTAAS,CAAC"}
package/dist/src/lib.js CHANGED
@@ -8,12 +8,24 @@ export const $lib = createTypeSpecLibrary({
8
8
  default: paramMessage `HTTP verb already applied to ${"entityName"}`,
9
9
  },
10
10
  },
11
- "missing-path-param": {
11
+ "missing-uri-param": {
12
12
  severity: "error",
13
13
  messages: {
14
14
  default: paramMessage `Route reference parameter '${"param"}' but wasn't found in operation parameters`,
15
15
  },
16
16
  },
17
+ "incompatible-uri-param": {
18
+ severity: "error",
19
+ messages: {
20
+ default: paramMessage `Parameter '${"param"}' is defined in the uri as a ${"uriKind"} but is annotated as a ${"annotationKind"}.`,
21
+ },
22
+ },
23
+ "use-uri-template": {
24
+ severity: "error",
25
+ messages: {
26
+ default: paramMessage `Parameter '${"param"}' is already defined in the uri template. Explode, style and allowReserved property must be defined in the uri template as described by RFC 6570.`,
27
+ },
28
+ },
17
29
  "optional-path-param": {
18
30
  severity: "error",
19
31
  messages: {
@@ -149,12 +161,6 @@ export const $lib = createTypeSpecLibrary({
149
161
  default: `A format must be specified for @header when type is an array. e.g. @header({format: "csv"})`,
150
162
  },
151
163
  },
152
- "query-format-required": {
153
- severity: "error",
154
- messages: {
155
- default: `A format must be specified for @query when type is an array. e.g. @query({format: "multi"})`,
156
- },
157
- },
158
164
  },
159
165
  state: {
160
166
  authentication: { description: "State for the @auth decorator" },
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
@@ -137,7 +137,8 @@ function getHttpOperationInternal(program, operation, options, cache) {
137
137
  const authentication = getAuthenticationForOperation(program, operation);
138
138
  const httpOperation = {
139
139
  path: route.path,
140
- pathSegments: route.pathSegments,
140
+ uriTemplate: route.uriTemplate,
141
+ pathSegments: [],
141
142
  verb: route.parameters.verb,
142
143
  container: operation.interface ?? operation.namespace ?? program.getGlobalNamespaceType(),
143
144
  parameters: route.parameters,
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/operations.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { Diagnostic, Operation, Program } from "@typespec/compiler";
2
2
  import { HttpOperation, HttpOperationParameters, OperationParameterOptions } from "./types.js";
3
- export declare function getOperationParameters(program: Program, operation: Operation, overloadBase?: HttpOperation, knownPathParamNames?: string[], options?: OperationParameterOptions): [HttpOperationParameters, readonly Diagnostic[]];
3
+ export declare function getOperationParameters(program: Program, operation: Operation, partialUriTemplate: string, overloadBase?: HttpOperation, options?: OperationParameterOptions): [HttpOperationParameters, readonly Diagnostic[]];
4
4
  //# sourceMappingURL=parameters.d.ts.map
@@ -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;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"}
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,EAG1B,MAAM,YAAY,CAAC;AAGpB,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,MAAM,EAC1B,YAAY,CAAC,EAAE,aAAa,EAC5B,OAAO,GAAE,yBAA8B,GACtC,CAAC,uBAAuB,EAAE,SAAS,UAAU,EAAE,CAAC,CAkBlD"}
@@ -3,32 +3,68 @@ import { getOperationVerb } from "./decorators.js";
3
3
  import { createDiagnostic } from "./lib.js";
4
4
  import { resolveRequestVisibility } from "./metadata.js";
5
5
  import { resolveHttpPayload } from "./payload.js";
6
- export function getOperationParameters(program, operation, overloadBase, knownPathParamNames = [], options = {}) {
6
+ import { parseUriTemplate } from "./uri-template.js";
7
+ export function getOperationParameters(program, operation, partialUriTemplate, overloadBase, options = {}) {
7
8
  const verb = (options?.verbSelector && options.verbSelector(program, operation)) ??
8
9
  getOperationVerb(program, operation) ??
9
10
  overloadBase?.verb;
10
11
  if (verb) {
11
- return getOperationParametersForVerb(program, operation, verb, knownPathParamNames);
12
+ return getOperationParametersForVerb(program, operation, verb, partialUriTemplate);
12
13
  }
13
14
  // If no verb is explicitly specified, it is POST if there is a body and
14
15
  // GET otherwise. Theoretically, it is possible to use @visibility
15
16
  // strangely such that there is no body if the verb is POST and there is a
16
17
  // body if the verb is GET. In that rare case, GET is chosen arbitrarily.
17
- const post = getOperationParametersForVerb(program, operation, "post", knownPathParamNames);
18
+ const post = getOperationParametersForVerb(program, operation, "post", partialUriTemplate);
18
19
  return post[0].body
19
20
  ? post
20
- : getOperationParametersForVerb(program, operation, "get", knownPathParamNames);
21
+ : getOperationParametersForVerb(program, operation, "get", partialUriTemplate);
21
22
  }
22
- function getOperationParametersForVerb(program, operation, verb, knownPathParamNames) {
23
+ const operatorToStyle = {
24
+ ";": "matrix",
25
+ "#": "fragment",
26
+ ".": "label",
27
+ "/": "path",
28
+ };
29
+ function getOperationParametersForVerb(program, operation, verb, partialUriTemplate) {
23
30
  const diagnostics = createDiagnosticCollector();
24
31
  const visibility = resolveRequestVisibility(program, operation, verb);
25
- function isImplicitPathParam(param) {
26
- const isTopLevel = param.model === operation.parameters;
27
- return isTopLevel && knownPathParamNames.includes(param.name);
28
- }
32
+ const parsedUriTemplate = parseUriTemplate(partialUriTemplate);
29
33
  const parameters = [];
30
34
  const { body: resolvedBody, metadata } = diagnostics.pipe(resolveHttpPayload(program, operation.parameters, visibility, "request", {
31
- isImplicitPathParam,
35
+ implicitParameter: (param) => {
36
+ const isTopLevel = param.model === operation.parameters;
37
+ const uriParam = isTopLevel && parsedUriTemplate.parameters.find((x) => x.name === param.name);
38
+ if (!uriParam) {
39
+ return undefined;
40
+ }
41
+ const explode = uriParam.modifier?.type === "explode";
42
+ if (uriParam.operator === "?" || uriParam.operator === "&") {
43
+ return {
44
+ type: "query",
45
+ name: uriParam.name,
46
+ explode,
47
+ };
48
+ }
49
+ else if (uriParam.operator === "+") {
50
+ return {
51
+ type: "path",
52
+ name: uriParam.name,
53
+ explode,
54
+ allowReserved: true,
55
+ style: "simple",
56
+ };
57
+ }
58
+ else {
59
+ return {
60
+ type: "path",
61
+ name: uriParam.name,
62
+ explode,
63
+ allowReserved: false,
64
+ style: (uriParam.operator && operatorToStyle[uriParam.operator]) ?? "simple",
65
+ };
66
+ }
67
+ },
32
68
  }));
33
69
  for (const item of metadata) {
34
70
  switch (item.kind) {
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/parameters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/parameters.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { DecoratorContext, DiagnosticResult, Interface, Namespace, Operation, Program, Type } from "@typespec/compiler";
2
2
  import { HttpOperation, HttpOperationParameters, RouteOptions, RoutePath, RouteProducer, RouteProducerResult, RouteResolutionOptions } from "./types.js";
3
+ export declare function joinPathSegments(rest: string[]): string;
3
4
  export declare function resolvePathAndParameters(program: Program, operation: Operation, overloadBase: HttpOperation | undefined, options: RouteResolutionOptions): DiagnosticResult<{
5
+ readonly uriTemplate: string;
4
6
  path: string;
5
- pathSegments: string[];
6
7
  parameters: HttpOperationParameters;
7
8
  }>;
8
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/route.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EAGL,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,YAAY,EACZ,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAkCpB,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,aAAa,GAAG,SAAS,EACvC,OAAO,EAAE,sBAAsB,GAC9B,gBAAgB,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,uBAAuB,CAAC;CACrC,CAAC,CA+BD;AAwCD;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,EACjB,eAAe,EAAE,MAAM,QASxB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,MAAM,EAAE,EACxB,YAAY,EAAE,aAAa,GAAG,SAAS,EACvC,OAAO,EAAE,YAAY,GACpB,gBAAgB,CAAC,mBAAmB,CAAC,CAgCvC;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,GAC3B,IAAI,CAEN;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,aAAa,CAEtF;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,QAwBnF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,QAEpE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAE7E;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GACxC,SAAS,GAAG,SAAS,CAQvB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,YAAY,QAGtB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,YAAY,GAAG,SAAS,CAE1B"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EAEL,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,aAAa,EAEb,uBAAuB,EAEvB,YAAY,EACZ,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAkBpB,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAM9C;AAUD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,aAAa,GAAG,SAAS,EACvC,OAAO,EAAE,sBAAsB,GAC9B,gBAAgB,CAAC;IAClB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,uBAAuB,CAAC;CACrC,CAAC,CAoCD;AAsDD;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,EACjB,eAAe,EAAE,MAAM,QASxB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,MAAM,EAAE,EACxB,YAAY,EAAE,aAAa,GAAG,SAAS,EACvC,OAAO,EAAE,YAAY,GACpB,gBAAgB,CAAC,mBAAmB,CAAC,CAiCvC;AAgCD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,GAC3B,IAAI,CAEN;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,aAAa,CAEtF;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,QAwBnF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,QAEpE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAE7E;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GACxC,SAAS,GAAG,SAAS,CAQvB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,YAAY,QAGtB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,YAAY,GAAG,SAAS,CAE1B"}
package/dist/src/route.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { createDiagnosticCollector, validateDecoratorTarget, } from "@typespec/compiler";
2
- import { HttpStateKeys, createDiagnostic, reportDiagnostic } from "./lib.js";
2
+ import { createDiagnostic, HttpStateKeys, reportDiagnostic } from "./lib.js";
3
3
  import { getOperationParameters } from "./parameters.js";
4
- import { extractParamsFromPath } from "./utils.js";
4
+ import { parseUriTemplate } from "./uri-template.js";
5
5
  // The set of allowed segment separator characters
6
6
  const AllowedSegmentSeparators = ["/", ":"];
7
7
  function normalizeFragment(fragment, trimLast = false) {
@@ -14,7 +14,7 @@ function normalizeFragment(fragment, trimLast = false) {
14
14
  }
15
15
  return fragment;
16
16
  }
17
- function joinPathSegments(rest) {
17
+ export function joinPathSegments(rest) {
18
18
  let current = "";
19
19
  for (const [index, segment] of rest.entries()) {
20
20
  current += normalizeFragment(segment, index < rest.length - 1);
@@ -29,27 +29,43 @@ function buildPath(pathFragments) {
29
29
  }
30
30
  export function resolvePathAndParameters(program, operation, overloadBase, options) {
31
31
  const diagnostics = createDiagnosticCollector();
32
- const { segments, parameters } = diagnostics.pipe(getRouteSegments(program, operation, overloadBase, options));
32
+ const { uriTemplate, parameters } = diagnostics.pipe(getUriTemplateAndParameters(program, operation, overloadBase, options));
33
+ const parsedUriTemplate = parseUriTemplate(uriTemplate);
33
34
  // Pull out path parameters to verify what's in the path string
34
- const paramByName = new Set(parameters.parameters.filter(({ type }) => type === "path").map((x) => x.name));
35
+ const paramByName = new Set(parameters.parameters
36
+ .filter(({ type }) => type === "path" || type === "query")
37
+ .map((x) => x.name));
35
38
  // Ensure that all of the parameters defined in the route are accounted for in
36
39
  // the operation parameters
37
- const routeParams = segments.flatMap(extractParamsFromPath);
38
- for (const routeParam of routeParams) {
39
- if (!paramByName.has(routeParam)) {
40
+ for (const routeParam of parsedUriTemplate.parameters) {
41
+ const decoded = decodeURIComponent(routeParam.name);
42
+ if (!paramByName.has(routeParam.name) && !paramByName.has(decoded)) {
40
43
  diagnostics.add(createDiagnostic({
41
- code: "missing-path-param",
42
- format: { param: routeParam },
44
+ code: "missing-uri-param",
45
+ format: { param: routeParam.name },
43
46
  target: operation,
44
47
  }));
45
48
  }
46
49
  }
50
+ const path = produceLegacyPathFromUriTemplate(parsedUriTemplate);
47
51
  return diagnostics.wrap({
48
- path: buildPath(segments),
49
- pathSegments: segments,
52
+ uriTemplate,
53
+ path,
50
54
  parameters,
51
55
  });
52
56
  }
57
+ function produceLegacyPathFromUriTemplate(uriTemplate) {
58
+ let result = "";
59
+ for (const segment of uriTemplate.segments ?? []) {
60
+ if (typeof segment === "string") {
61
+ result += segment;
62
+ }
63
+ else if (segment.operator !== "?" && segment.operator !== "&") {
64
+ result += `{${segment.name}}`;
65
+ }
66
+ }
67
+ return result;
68
+ }
53
69
  function collectSegmentsAndOptions(program, source) {
54
70
  if (source === undefined)
55
71
  return [[], {}];
@@ -58,15 +74,17 @@ function collectSegmentsAndOptions(program, source) {
58
74
  const options = source.kind === "Namespace" ? (getRouteOptionsForNamespace(program, source) ?? {}) : {};
59
75
  return [[...parentSegments, ...(route ? [route] : [])], { ...parentOptions, ...options }];
60
76
  }
61
- function getRouteSegments(program, operation, overloadBase, options) {
62
- const diagnostics = createDiagnosticCollector();
77
+ function getUriTemplateAndParameters(program, operation, overloadBase, options) {
63
78
  const [parentSegments, parentOptions] = collectSegmentsAndOptions(program, operation.interface ?? operation.namespace);
64
79
  const routeProducer = getRouteProducer(program, operation) ?? DefaultRouteProducer;
65
- const result = diagnostics.pipe(routeProducer(program, operation, parentSegments, overloadBase, {
80
+ const [result, diagnostics] = routeProducer(program, operation, parentSegments, overloadBase, {
66
81
  ...parentOptions,
67
82
  ...options,
68
- }));
69
- return diagnostics.wrap(result);
83
+ });
84
+ return [
85
+ { uriTemplate: buildPath([result.uriTemplate]), parameters: result.parameters },
86
+ diagnostics,
87
+ ];
70
88
  }
71
89
  /**
72
90
  * @deprecated DO NOT USE. For internal use only as a workaround.
@@ -85,26 +103,51 @@ export function includeInterfaceRoutesInNamespace(program, target, sourceInterfa
85
103
  export function DefaultRouteProducer(program, operation, parentSegments, overloadBase, options) {
86
104
  const diagnostics = createDiagnosticCollector();
87
105
  const routePath = getRoutePath(program, operation)?.path;
88
- const segments = !routePath && overloadBase
89
- ? overloadBase.pathSegments
90
- : [...parentSegments, ...(routePath ? [routePath] : [])];
91
- const routeParams = segments.flatMap(extractParamsFromPath);
92
- const parameters = diagnostics.pipe(getOperationParameters(program, operation, overloadBase, routeParams, options.paramOptions));
106
+ const uriTemplate = !routePath && overloadBase
107
+ ? overloadBase.uriTemplate
108
+ : joinPathSegments([...parentSegments, ...(routePath ? [routePath] : [])]);
109
+ const parsedUriTemplate = parseUriTemplate(uriTemplate);
110
+ const parameters = diagnostics.pipe(getOperationParameters(program, operation, uriTemplate, overloadBase, options.paramOptions));
93
111
  // Pull out path parameters to verify what's in the path string
94
- const unreferencedPathParamNames = new Set(parameters.parameters.filter(({ type }) => type === "path").map((x) => x.name));
112
+ const unreferencedPathParamNames = new Map(parameters.parameters
113
+ .filter(({ type }) => type === "path" || type === "query")
114
+ .map((x) => [x.name, x]));
95
115
  // Compile the list of all route params that aren't represented in the route
96
- for (const routeParam of routeParams) {
97
- unreferencedPathParamNames.delete(routeParam);
98
- }
99
- // Add any remaining declared path params
100
- for (const paramName of unreferencedPathParamNames) {
101
- segments.push(`{${paramName}}`);
116
+ for (const uriParam of parsedUriTemplate.parameters) {
117
+ unreferencedPathParamNames.delete(uriParam.name);
102
118
  }
119
+ const resolvedUriTemplate = addOperationTemplateToUriTemplate(uriTemplate, [
120
+ ...unreferencedPathParamNames.values(),
121
+ ]);
103
122
  return diagnostics.wrap({
104
- segments,
123
+ uriTemplate: resolvedUriTemplate,
105
124
  parameters,
106
125
  });
107
126
  }
127
+ const styleToOperator = {
128
+ matrix: ";",
129
+ label: ".",
130
+ simple: "",
131
+ path: "/",
132
+ fragment: "#",
133
+ };
134
+ function addOperationTemplateToUriTemplate(uriTemplate, params) {
135
+ const pathParams = params
136
+ .filter((x) => x.type === "path")
137
+ .map((param) => {
138
+ const operator = param.allowReserved ? "+" : styleToOperator[param.style];
139
+ return `{${operator}${param.name}${param.explode ? "*" : ""}}`;
140
+ });
141
+ const queryParams = params.filter((x) => x.type === "query");
142
+ const pathPart = joinPathSegments([uriTemplate, ...pathParams]);
143
+ return (pathPart +
144
+ (queryParams.length > 0
145
+ ? `{?${queryParams.map((x) => escapeUriTemplateParamName(x.name)).join(",")}}`
146
+ : ""));
147
+ }
148
+ function escapeUriTemplateParamName(name) {
149
+ return name.replaceAll(":", "%3A");
150
+ }
108
151
  export function setRouteProducer(program, operation, routeProducer) {
109
152
  program.stateMap(HttpStateKeys.routeProducer).set(operation, routeProducer);
110
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/route.ts"],"names":[],"mappings":"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"}