@tsed/schema 8.3.5 → 8.3.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.
@@ -43,6 +43,7 @@ function mapOperationInPathParameters(options) {
43
43
  return {
44
44
  operation: {
45
45
  ...operation,
46
+ ...operationPath.toJSON(options),
46
47
  parameters,
47
48
  operationId: operation.operationId ||
48
49
  getOperationId(path, {
@@ -1 +1 @@
1
- {"version":3,"file":"pathsMapper.js","sourceRoot":"","sources":["../../../../src/components/open-spec/pathsMapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pathsMapper.js","sourceRoot":"","sources":["../../../../src/components/open-spec/pathsMapper.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,9 @@ class OperationDecoratorContext extends DecoratorContext {
9
9
  beforeInit() {
10
10
  const path = this.get("path");
11
11
  const method = OperationVerbs[this.get("method")] || OperationVerbs.CUSTOM;
12
- path && this.entity.operation.addOperationPath(method, path);
12
+ if (path) {
13
+ this.operationPath = this.entity.operation.addOperationPath(method, path);
14
+ }
13
15
  }
14
16
  onMapKey(key, value) {
15
17
  switch (key) {
@@ -18,9 +20,11 @@ class OperationDecoratorContext extends DecoratorContext {
18
20
  this.entity.operation.operationId(value);
19
21
  return;
20
22
  case "summary":
23
+ this.operationPath?.summary(value);
21
24
  this.entity.operation.summary(value);
22
25
  return;
23
26
  case "description":
27
+ this.operationPath?.description(value);
24
28
  this.entity.operation.description(value);
25
29
  return;
26
30
  case "use":
@@ -1 +1 @@
1
- {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../../src/decorators/operations/operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,kCAAkC,CAAC;AAElE,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AAiDvE,MAAM,yBAA0B,SAAQ,gBAAwC;IAAhF;;QACW,YAAO,GAAa,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAmClH,CAAC;IAhCW,UAAU;QAClB,MAAM,IAAI,GAAW,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,MAAM,GAAW,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAmB,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC;QAErG,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAES,QAAQ,CAAC,GAAW,EAAE,KAAU;QACxC,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC;YACZ,KAAK,IAAI;gBACP,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACzC,OAAO;YACT,KAAK,SAAS;gBACZ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrC,OAAO;YACT,KAAK,aAAa;gBAChB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACzC,OAAO;YACT,KAAK,KAAK;gBACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACvB,OAAO;YACT,KAAK,UAAU;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzB,OAAO;YACT,KAAK,WAAW;gBACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1B,OAAO;QACX,CAAC;QAED,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;CACF;AAwBD,MAAM,UAAU,SAAS,CAAC,GAAG,IAAW;IACtC,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAE5D,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../../src/decorators/operations/operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,kCAAkC,CAAC;AAGlE,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AAiDvE,MAAM,yBAA0B,SAAQ,gBAAwC;IAAhF;;QACW,YAAO,GAAa,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAyClH,CAAC;IArCW,UAAU;QAClB,MAAM,IAAI,GAAW,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,MAAM,GAAW,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAmB,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC;QAErG,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAES,QAAQ,CAAC,GAAW,EAAE,KAAU;QACxC,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC;YACZ,KAAK,IAAI;gBACP,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACzC,OAAO;YACT,KAAK,SAAS;gBACZ,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrC,OAAO;YACT,KAAK,aAAa;gBAChB,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAEzC,OAAO;YACT,KAAK,KAAK;gBACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACvB,OAAO;YACT,KAAK,UAAU;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzB,OAAO;YACT,KAAK,WAAW;gBACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1B,OAAO;QACX,CAAC;QAED,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;CACF;AAwBD,MAAM,UAAU,SAAS,CAAC,GAAG,IAAW;IACtC,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAE5D,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC"}
@@ -2,6 +2,21 @@ import { deepMerge, uniq, uniqBy } from "@tsed/core";
2
2
  import { isRedirectionStatus, isSuccessStatus } from "../utils/isSuccessStatus.js";
3
3
  import { JsonMap } from "./JsonMap.js";
4
4
  import { JsonResponse } from "./JsonResponse.js";
5
+ export class JsonMethodPath extends JsonMap {
6
+ constructor(method, path) {
7
+ super();
8
+ this.method = method;
9
+ this.path = path;
10
+ }
11
+ summary(summary) {
12
+ super.set("summary", summary);
13
+ return this;
14
+ }
15
+ description(description) {
16
+ super.set("description", description);
17
+ return this;
18
+ }
19
+ }
5
20
  export class JsonOperation extends JsonMap {
6
21
  #status;
7
22
  #redirection;
@@ -134,13 +149,10 @@ export class JsonOperation extends JsonMap {
134
149
  const produces = uniq([].concat(this.get("produces"), produce)).filter(Boolean);
135
150
  this.set("produces", produces);
136
151
  }
137
- addOperationPath(method, path, options = {}) {
138
- this.operationPaths.set(String(method) + String(path), {
139
- ...options,
140
- method,
141
- path
142
- });
143
- return this;
152
+ addOperationPath(method, path) {
153
+ const operationPath = new JsonMethodPath(method, path);
154
+ this.operationPaths.set(String(method) + String(path), operationPath);
155
+ return operationPath;
144
156
  }
145
157
  getAllowedOperationPath(allowedVerbs) {
146
158
  if (!allowedVerbs) {
@@ -1 +1 @@
1
- {"version":3,"file":"JsonOperation.js","sourceRoot":"","sources":["../../../src/domain/JsonOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonOperation.js","sourceRoot":"","sources":["../../../src/domain/JsonOperation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export function inspectOperationsPaths(endpoint) {
2
+ return [...endpoint.operationPaths.values()].map(({ method, path }) => ({
3
+ method,
4
+ path
5
+ }));
6
+ }
7
+ //# sourceMappingURL=inspectOperationsPaths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspectOperationsPaths.js","sourceRoot":"","sources":["../../../../src/domain/__fixtures__/inspectOperationsPaths.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,QAAyB;IAC9D,OAAO,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAC,MAAM,EAAE,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC;QACpE,MAAM;QACN,IAAI;KACL,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -4,10 +4,12 @@ import { JsonMap } from "./JsonMap.js";
4
4
  import { JsonParameter } from "./JsonParameter.js";
5
5
  import { JsonResponse } from "./JsonResponse.js";
6
6
  import { JsonSchema } from "./JsonSchema.js";
7
- export interface JsonMethodPath {
8
- path: string | RegExp;
7
+ export declare class JsonMethodPath extends JsonMap<any> {
9
8
  method: string;
10
- [key: string]: any;
9
+ path: string | RegExp;
10
+ constructor(method: string, path: string | RegExp);
11
+ summary(summary: string): this;
12
+ description(description: string): this;
11
13
  }
12
14
  export interface JsonOperationOptions extends OS3Operation<JsonSchema, JsonParameter, JsonMap<JsonResponse>> {
13
15
  consumes: string[];
@@ -46,6 +48,6 @@ export declare class JsonOperation extends JsonMap<JsonOperationOptions> {
46
48
  consumes(consumes: string[]): this;
47
49
  produces(produces: string[]): this;
48
50
  addProduce(produce: string): void;
49
- addOperationPath(method: string, path: string | RegExp, options?: any): this;
51
+ addOperationPath(method: string, path: string | RegExp): JsonMethodPath;
50
52
  getAllowedOperationPath(allowedVerbs?: string[]): JsonMethodPath[];
51
53
  }
@@ -0,0 +1,5 @@
1
+ import type { JsonMethodStore } from "../JsonMethodStore.js";
2
+ export declare function inspectOperationsPaths(endpoint: JsonMethodStore): {
3
+ method: string;
4
+ path: string | RegExp;
5
+ }[];
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@tsed/schema",
3
3
  "description": "JsonSchema module for Ts.ED Framework",
4
4
  "type": "module",
5
- "version": "8.3.5",
5
+ "version": "8.3.6",
6
6
  "source": "./src/index.ts",
7
7
  "main": "./lib/esm/index.js",
8
8
  "module": "./lib/esm/index.js",
@@ -37,7 +37,7 @@
37
37
  "tsed"
38
38
  ],
39
39
  "dependencies": {
40
- "@tsed/openspec": "8.3.5",
40
+ "@tsed/openspec": "8.3.6",
41
41
  "change-case": "^5.4.4",
42
42
  "json-schema": "0.4.0",
43
43
  "picomatch": "2.3.1",
@@ -46,11 +46,11 @@
46
46
  },
47
47
  "devDependencies": {
48
48
  "@apidevtools/swagger-parser": "10.1.0",
49
- "@tsed/barrels": "8.3.5",
50
- "@tsed/core": "8.3.5",
51
- "@tsed/hooks": "8.3.5",
52
- "@tsed/openspec": "8.3.5",
53
- "@tsed/typescript": "8.3.5",
49
+ "@tsed/barrels": "8.3.6",
50
+ "@tsed/core": "8.3.6",
51
+ "@tsed/hooks": "8.3.6",
52
+ "@tsed/openspec": "8.3.6",
53
+ "@tsed/typescript": "8.3.6",
54
54
  "@types/fs-extra": "11.0.4",
55
55
  "@types/json-schema": "7.0.15",
56
56
  "@types/picomatch": "3.0.1",
@@ -63,9 +63,9 @@
63
63
  "webpack": "^5.75.0"
64
64
  },
65
65
  "peerDependencies": {
66
- "@tsed/core": "8.3.5",
67
- "@tsed/hooks": "8.3.5",
68
- "@tsed/openspec": "8.3.5"
66
+ "@tsed/core": "8.3.6",
67
+ "@tsed/hooks": "8.3.6",
68
+ "@tsed/openspec": "8.3.6"
69
69
  },
70
70
  "peerDependenciesMeta": {
71
71
  "@tsed/core": {
@@ -76,6 +76,7 @@ function mapOperationInPathParameters(options: JsonSchemaOptions) {
76
76
  return {
77
77
  operation: {
78
78
  ...operation,
79
+ ...operationPath.toJSON(options),
79
80
  parameters,
80
81
  operationId:
81
82
  operation.operationId ||
@@ -1,6 +1,7 @@
1
1
  import {OperationVerbs} from "../../constants/OperationVerbs.js";
2
2
  import {DecoratorContext} from "../../domain/DecoratorContext.js";
3
3
  import {JsonMethodStore} from "../../domain/JsonMethodStore.js";
4
+ import {JsonMethodPath, type JsonOperation} from "../../domain/JsonOperation.js";
4
5
  import {mapOperationOptions} from "../../utils/mapOperationOptions.js";
5
6
 
6
7
  export interface RouteChainedDecorators {
@@ -53,12 +54,15 @@ export interface RouteChainedDecorators {
53
54
  class OperationDecoratorContext extends DecoratorContext<RouteChainedDecorators> {
54
55
  readonly methods: string[] = ["name", "description", "summary", "method", "id", "use", "useAfter", "useBefore"];
55
56
  protected declare entity: JsonMethodStore;
57
+ protected operationPath: JsonMethodPath;
56
58
 
57
59
  protected beforeInit() {
58
60
  const path: string = this.get("path");
59
61
  const method: string = OperationVerbs[this.get("method") as OperationVerbs] || OperationVerbs.CUSTOM;
60
62
 
61
- path && this.entity.operation.addOperationPath(method, path);
63
+ if (path) {
64
+ this.operationPath = this.entity.operation.addOperationPath(method, path);
65
+ }
62
66
  }
63
67
 
64
68
  protected onMapKey(key: string, value: any) {
@@ -68,10 +72,13 @@ class OperationDecoratorContext extends DecoratorContext<RouteChainedDecorators>
68
72
  this.entity.operation.operationId(value);
69
73
  return;
70
74
  case "summary":
75
+ this.operationPath?.summary(value);
71
76
  this.entity.operation.summary(value);
72
77
  return;
73
78
  case "description":
79
+ this.operationPath?.description(value);
74
80
  this.entity.operation.description(value);
81
+
75
82
  return;
76
83
  case "use":
77
84
  this.entity.use(value);
@@ -1,6 +1,7 @@
1
1
  import "../../index.js";
2
2
 
3
3
  import {OperationVerbs} from "../../constants/OperationVerbs.js";
4
+ import {inspectOperationsPaths} from "../../domain/__fixtures__/inspectOperationsPaths.js";
4
5
  import {JsonEntityStore} from "../../domain/JsonEntityStore.js";
5
6
  import {Publish} from "./publish.js";
6
7
 
@@ -15,7 +16,7 @@ describe("Publish", () => {
15
16
  const endpoint = JsonEntityStore.fromMethod(Test, "test");
16
17
 
17
18
  // THEN
18
- expect([...endpoint.operation!.operationPaths.values()]).toEqual([
19
+ expect(inspectOperationsPaths(endpoint)).toEqual([
19
20
  {
20
21
  method: OperationVerbs.PUBLISH,
21
22
  path: "event"
@@ -1,3 +1,4 @@
1
+ import {inspectOperationsPaths} from "../../domain/__fixtures__/inspectOperationsPaths.js";
1
2
  import {JsonEntityStore, OperationVerbs} from "../../index.js";
2
3
  import {All, Delete, Get, Head, Options, Patch, Post, Put} from "./route.js";
3
4
 
@@ -13,7 +14,7 @@ describe("Route decorators", () => {
13
14
  const endpoint = JsonEntityStore.fromMethod(Test, "test");
14
15
 
15
16
  // THEN
16
- expect([...endpoint.operation!.operationPaths.values()]).toEqual([
17
+ expect(inspectOperationsPaths(endpoint)).toEqual([
17
18
  {
18
19
  method: OperationVerbs.ALL,
19
20
  path: "/"
@@ -34,7 +35,7 @@ describe("Route decorators", () => {
34
35
  const endpoint = JsonEntityStore.fromMethod(Test, "test");
35
36
 
36
37
  // THEN
37
- expect([...endpoint.operation!.operationPaths.values()]).toEqual([
38
+ expect(inspectOperationsPaths(endpoint)).toEqual([
38
39
  {
39
40
  method: OperationVerbs.GET,
40
41
  path: "/"
@@ -54,7 +55,7 @@ describe("Route decorators", () => {
54
55
  const endpoint = JsonEntityStore.fromMethod(Test, "test");
55
56
 
56
57
  // THEN
57
- expect([...endpoint.operation!.operationPaths.values()]).toEqual([
58
+ expect(inspectOperationsPaths(endpoint)).toEqual([
58
59
  {
59
60
  method: OperationVerbs.GET,
60
61
  path: "/"
@@ -91,7 +92,7 @@ describe("Route decorators", () => {
91
92
  const endpoint = JsonEntityStore.fromMethod(Test, "test");
92
93
 
93
94
  // THEN
94
- expect([...endpoint.operation!.operationPaths.values()]).toEqual([
95
+ expect(inspectOperationsPaths(endpoint)).toEqual([
95
96
  {
96
97
  method: OperationVerbs.POST,
97
98
  path: "/"
@@ -112,7 +113,7 @@ describe("Route decorators", () => {
112
113
  const endpoint = JsonEntityStore.fromMethod(Test, "test");
113
114
 
114
115
  // THEN
115
- expect([...endpoint.operation!.operationPaths.values()]).toEqual([
116
+ expect(inspectOperationsPaths(endpoint)).toEqual([
116
117
  {
117
118
  method: OperationVerbs.PUT,
118
119
  path: "/"
@@ -136,7 +137,7 @@ describe("Route decorators", () => {
136
137
  const endpoint = JsonEntityStore.fromMethod(Test, "test");
137
138
 
138
139
  // THEN
139
- expect([...endpoint.operation!.operationPaths.values()]).toEqual([
140
+ expect(inspectOperationsPaths(endpoint)).toEqual([
140
141
  {
141
142
  method: OperationVerbs.DELETE,
142
143
  path: "/"
@@ -157,7 +158,7 @@ describe("Route decorators", () => {
157
158
  const endpoint = JsonEntityStore.fromMethod(Test, "test");
158
159
 
159
160
  // THEN
160
- expect([...endpoint.operation!.operationPaths.values()]).toEqual([
161
+ expect(inspectOperationsPaths(endpoint)).toEqual([
161
162
  {
162
163
  method: OperationVerbs.HEAD,
163
164
  path: "/"
@@ -178,7 +179,7 @@ describe("Route decorators", () => {
178
179
  const endpoint = JsonEntityStore.fromMethod(Test, "test");
179
180
 
180
181
  // THEN
181
- expect([...endpoint.operation!.operationPaths.values()]).toEqual([
182
+ expect(inspectOperationsPaths(endpoint)).toEqual([
182
183
  {
183
184
  method: OperationVerbs.PATCH,
184
185
  path: "/"
@@ -199,7 +200,7 @@ describe("Route decorators", () => {
199
200
  const endpoint = JsonEntityStore.fromMethod(Test, "test");
200
201
 
201
202
  // THEN
202
- expect([...endpoint.operation!.operationPaths.values()]).toEqual([
203
+ expect(inspectOperationsPaths(endpoint)).toEqual([
203
204
  {
204
205
  method: OperationVerbs.OPTIONS,
205
206
  path: "/"
@@ -1,6 +1,7 @@
1
1
  import "../../index.js";
2
2
 
3
3
  import {OperationVerbs} from "../../constants/OperationVerbs.js";
4
+ import {inspectOperationsPaths} from "../../domain/__fixtures__/inspectOperationsPaths.js";
4
5
  import {JsonEntityStore} from "../../domain/JsonEntityStore.js";
5
6
  import {Publish} from "./publish.js";
6
7
  import {Subscribe} from "./subscribe.js";
@@ -17,7 +18,7 @@ describe("Subscribe", () => {
17
18
  const endpoint = JsonEntityStore.fromMethod(Test, "test");
18
19
 
19
20
  // THEN
20
- expect([...endpoint.operation!.operationPaths.values()]).toEqual([
21
+ expect(inspectOperationsPaths(endpoint)).toEqual([
21
22
  {
22
23
  method: OperationVerbs.SUBSCRIBE,
23
24
  path: "event"
@@ -7,6 +7,7 @@ import {Property} from "../decorators/common/property.js";
7
7
  import {In} from "../decorators/operations/in.js";
8
8
  import {Returns} from "../decorators/operations/returns.js";
9
9
  import {Get} from "../decorators/operations/route.js";
10
+ import {inspectOperationsPaths} from "./__fixtures__/inspectOperationsPaths.js";
10
11
  import {JsonEntityStore} from "./JsonEntityStore.js";
11
12
  import {EndpointMetadata, JsonMethodStore} from "./JsonMethodStore.js";
12
13
  import {JsonOperation} from "./JsonOperation.js";
@@ -124,7 +125,7 @@ describe("JsonMethodStore", () => {
124
125
  // THEN
125
126
  expect(endpoint.middlewares).toHaveLength(1);
126
127
 
127
- expect([...endpoint.operationPaths.values()]).toEqual([
128
+ expect(inspectOperationsPaths(endpoint)).toEqual([
128
129
  {
129
130
  method: OperationVerbs.GET,
130
131
  path: "/"
@@ -263,14 +264,11 @@ describe("JsonMethodStore", () => {
263
264
  expect(storeMethod?.parameters.length).toEqual(1);
264
265
  expect(storeMethod?.params.length).toEqual(1);
265
266
 
266
- expect([...storeMethod?.operationPaths.entries()]).toEqual([
267
- [
268
- "GET/",
269
- {
270
- method: "GET",
271
- path: "/"
272
- }
273
- ]
267
+ expect(inspectOperationsPaths(storeMethod as JsonMethodStore)).toEqual([
268
+ {
269
+ method: "GET",
270
+ path: "/"
271
+ }
274
272
  ]);
275
273
  expect(storeMethod?.getResponseOptions(200)).toEqual({
276
274
  groups: undefined,
@@ -8,11 +8,25 @@ import {JsonParameter} from "./JsonParameter.js";
8
8
  import {JsonResponse} from "./JsonResponse.js";
9
9
  import {JsonSchema} from "./JsonSchema.js";
10
10
 
11
- export interface JsonMethodPath {
12
- path: string | RegExp;
13
- method: string;
11
+ export class JsonMethodPath extends JsonMap<any> {
12
+ constructor(
13
+ public method: string,
14
+ public path: string | RegExp
15
+ ) {
16
+ super();
17
+ }
18
+
19
+ summary(summary: string): this {
20
+ super.set("summary", summary);
21
+
22
+ return this;
23
+ }
14
24
 
15
- [key: string]: any;
25
+ description(description: string): this {
26
+ super.set("description", description);
27
+
28
+ return this;
29
+ }
16
30
  }
17
31
 
18
32
  export interface JsonOperationOptions extends OS3Operation<JsonSchema, JsonParameter, JsonMap<JsonResponse>> {
@@ -24,6 +38,7 @@ export class JsonOperation extends JsonMap<JsonOperationOptions> {
24
38
  $kind: string = "operation";
25
39
 
26
40
  readonly operationPaths: Map<string, JsonMethodPath> = new Map();
41
+
27
42
  #status: number;
28
43
  #redirection: boolean = false;
29
44
 
@@ -199,14 +214,11 @@ export class JsonOperation extends JsonMap<JsonOperationOptions> {
199
214
  this.set("produces", produces);
200
215
  }
201
216
 
202
- addOperationPath(method: string, path: string | RegExp, options: any = {}) {
203
- this.operationPaths.set(String(method) + String(path), {
204
- ...options,
205
- method,
206
- path
207
- });
217
+ addOperationPath(method: string, path: string | RegExp) {
218
+ const operationPath = new JsonMethodPath(method, path);
219
+ this.operationPaths.set(String(method) + String(path), operationPath);
208
220
 
209
- return this;
221
+ return operationPath;
210
222
  }
211
223
 
212
224
  getAllowedOperationPath(allowedVerbs?: string[]) {
@@ -1,9 +1,10 @@
1
1
  import {BodyParams} from "@tsed/platform-params";
2
2
 
3
+ import {OperationVerbs} from "../constants/OperationVerbs.js";
3
4
  import {Name} from "../decorators/common/name.js";
4
5
  import {Get} from "../decorators/operations/route.js";
5
6
  import {JsonEntityStore} from "./JsonEntityStore.js";
6
- import {JsonOperation} from "./JsonOperation.js";
7
+ import {JsonMethodPath, JsonOperation} from "./JsonOperation.js";
7
8
  import {JsonOperationRoute} from "./JsonOperationRoute.js";
8
9
 
9
10
  describe("JsonOperationRoute", () => {
@@ -17,14 +18,12 @@ describe("JsonOperationRoute", () => {
17
18
  const operationRoute = new JsonOperationRoute({
18
19
  token: Test,
19
20
  endpoint,
20
- operationPath: {method: "GET", path: "/"},
21
+ operationPath: new JsonMethodPath("GET", "/"),
21
22
  basePath: "/base"
22
23
  });
23
24
 
24
- expect(operationRoute.operationPath).toEqual({
25
- method: "GET",
26
- path: "/"
27
- });
25
+ expect(operationRoute.operationPath?.method).toEqual("GET");
26
+ expect(operationRoute.operationPath?.path).toEqual("/");
28
27
  expect(operationRoute.method).toEqual("GET");
29
28
  expect(operationRoute.path).toEqual("/");
30
29
  expect(operationRoute.fullPath).toEqual("/base");
@@ -50,14 +49,12 @@ describe("JsonOperationRoute", () => {
50
49
  const operationRoute = new JsonOperationRoute({
51
50
  token: Test,
52
51
  endpoint,
53
- operationPath: {method: "GET", path: "/"},
52
+ operationPath: new JsonMethodPath(OperationVerbs.GET, "/"),
54
53
  basePath: "/base"
55
54
  });
56
55
 
57
- expect(operationRoute.operationPath).toEqual({
58
- method: "GET",
59
- path: "/"
60
- });
56
+ expect(operationRoute.operationPath?.method).toEqual("GET");
57
+ expect(operationRoute.operationPath?.path).toEqual("/");
61
58
  expect(operationRoute.method).toEqual("GET");
62
59
  expect(operationRoute.path).toEqual("/");
63
60
  expect(operationRoute.fullPath).toEqual("/base");
@@ -82,14 +79,12 @@ describe("JsonOperationRoute", () => {
82
79
  const operationRoute = new JsonOperationRoute({
83
80
  token: Test,
84
81
  endpoint,
85
- operationPath: {method: "GET", path: "/"},
82
+ operationPath: new JsonMethodPath("GET", "/"),
86
83
  basePath: "/base"
87
84
  });
88
85
 
89
- expect(operationRoute.operationPath).toEqual({
90
- method: "GET",
91
- path: "/"
92
- });
86
+ expect(operationRoute.operationPath?.method).toEqual("GET");
87
+ expect(operationRoute.operationPath?.path).toEqual("/");
93
88
  expect(operationRoute.method).toEqual("GET");
94
89
  expect(operationRoute.path).toEqual("/");
95
90
  expect(operationRoute.fullPath).toEqual("/base");
@@ -0,0 +1,8 @@
1
+ import type {JsonMethodStore} from "../JsonMethodStore.js";
2
+
3
+ export function inspectOperationsPaths(endpoint: JsonMethodStore) {
4
+ return [...endpoint.operationPaths.values()].map(({method, path}) => ({
5
+ method,
6
+ path
7
+ }));
8
+ }