typespec-typescript-emitter 1.2.0 → 2.0.1
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/.husky/pre-commit +2 -1
- package/.prettierignore +2 -1
- package/CHANGELOG.md +19 -24
- package/CODE_OF_CONDUCT.md +128 -0
- package/README.md +362 -219
- package/dist/src/emit_routedTypemap.d.ts +4 -0
- package/dist/src/emit_routedTypemap.js +83 -0
- package/dist/src/emit_routedTypemap.js.map +1 -0
- package/dist/src/emit_routes.d.ts +3 -2
- package/dist/src/emit_routes.js +73 -47
- package/dist/src/emit_routes.js.map +1 -1
- package/dist/src/emit_types.d.ts +3 -9
- package/dist/src/emit_types.js +109 -74
- package/dist/src/emit_types.js.map +1 -1
- package/dist/src/emitter.d.ts +2 -6
- package/dist/src/emitter.js +18 -76
- package/dist/src/emitter.js.map +1 -1
- package/dist/src/helpers/appendableString.d.ts +15 -0
- package/dist/src/helpers/appendableString.js +41 -0
- package/dist/src/helpers/appendableString.js.map +1 -0
- package/dist/src/helpers/arrays.d.ts +3 -0
- package/dist/src/helpers/arrays.js +23 -0
- package/dist/src/helpers/arrays.js.map +1 -0
- package/dist/src/{helper_autogenerateWarning.d.ts → helpers/autogenerateWarning.d.ts} +1 -1
- package/dist/src/{helper_autogenerateWarning.js → helpers/autogenerateWarning.js} +1 -2
- package/dist/src/helpers/autogenerateWarning.js.map +1 -0
- package/dist/src/helpers/buildTypeMap.d.ts +12 -0
- package/dist/src/helpers/buildTypeMap.js +44 -0
- package/dist/src/helpers/buildTypeMap.js.map +1 -0
- package/dist/src/helpers/diagnostics.d.ts +4 -0
- package/dist/src/helpers/diagnostics.js +15 -0
- package/dist/src/helpers/diagnostics.js.map +1 -0
- package/dist/src/helpers/getImports.d.ts +2 -0
- package/dist/src/helpers/getImports.js +3 -0
- package/dist/src/helpers/getImports.js.map +1 -0
- package/dist/src/helpers/namespaces.d.ts +4 -0
- package/dist/src/helpers/namespaces.js +14 -0
- package/dist/src/helpers/namespaces.js.map +1 -0
- package/dist/src/helpers/visibilityHelperFile.d.ts +4 -0
- package/dist/src/helpers/visibilityHelperFile.js +57 -0
- package/dist/src/helpers/visibilityHelperFile.js.map +1 -0
- package/dist/src/lib.d.ts +4 -1
- package/dist/src/lib.js +14 -3
- package/dist/src/lib.js.map +1 -1
- package/dist/src/parseOptions.d.ts +8 -0
- package/dist/src/parseOptions.js +26 -0
- package/dist/src/parseOptions.js.map +1 -0
- package/dist/src/resolve/Resolvable.d.ts +32 -0
- package/dist/src/resolve/Resolvable.js +180 -0
- package/dist/src/resolve/Resolvable.js.map +1 -0
- package/dist/src/resolve/Resolvable_helpers.d.ts +42 -0
- package/dist/src/resolve/Resolvable_helpers.js +19 -0
- package/dist/src/resolve/Resolvable_helpers.js.map +1 -0
- package/dist/src/resolve/operationTypemap.d.ts +21 -0
- package/dist/src/resolve/operationTypemap.js +138 -0
- package/dist/src/resolve/operationTypemap.js.map +1 -0
- package/dist/src/resolve/types/Enum.d.ts +21 -0
- package/dist/src/resolve/types/Enum.js +61 -0
- package/dist/src/resolve/types/Enum.js.map +1 -0
- package/dist/src/resolve/types/Model.Indexed.d.ts +12 -0
- package/dist/src/resolve/types/Model.Indexed.js +69 -0
- package/dist/src/resolve/types/Model.Indexed.js.map +1 -0
- package/dist/src/resolve/types/Model.Shaped.d.ts +17 -0
- package/dist/src/resolve/types/Model.Shaped.js +210 -0
- package/dist/src/resolve/types/Model.Shaped.js.map +1 -0
- package/dist/src/resolve/types/Scalar.d.ts +9 -0
- package/dist/src/resolve/types/Scalar.js +109 -0
- package/dist/src/resolve/types/Scalar.js.map +1 -0
- package/dist/src/resolve/types/Simple.d.ts +11 -0
- package/dist/src/resolve/types/Simple.js +49 -0
- package/dist/src/resolve/types/Simple.js.map +1 -0
- package/dist/src/resolve/types/Tuple.d.ts +9 -0
- package/dist/src/resolve/types/Tuple.js +38 -0
- package/dist/src/resolve/types/Tuple.js.map +1 -0
- package/dist/src/resolve/types/Union.d.ts +9 -0
- package/dist/src/resolve/types/Union.js +36 -0
- package/dist/src/resolve/types/Union.js.map +1 -0
- package/eslint.config.js +12 -4
- package/package.json +2 -2
- package/src/emit_routedTypemap.ts +128 -0
- package/src/emit_routes.ts +108 -61
- package/src/emit_types.ts +137 -92
- package/src/emitter.ts +19 -107
- package/src/helpers/appendableString.ts +52 -0
- package/src/helpers/arrays.ts +21 -0
- package/src/{helper_autogenerateWarning.ts → helpers/autogenerateWarning.ts} +0 -1
- package/src/helpers/buildTypeMap.ts +72 -0
- package/src/helpers/diagnostics.ts +19 -0
- package/src/helpers/getImports.ts +9 -0
- package/src/helpers/namespaces.ts +18 -0
- package/src/helpers/visibilityHelperFile.ts +63 -0
- package/src/lib.ts +25 -4
- package/src/parseOptions.ts +26 -0
- package/src/resolve/Resolvable.ts +267 -0
- package/src/resolve/Resolvable_helpers.ts +65 -0
- package/src/resolve/operationTypemap.ts +212 -0
- package/src/resolve/types/Enum.ts +92 -0
- package/src/resolve/types/Model.Indexed.ts +113 -0
- package/src/resolve/types/Model.Shaped.ts +291 -0
- package/src/resolve/types/Scalar.ts +140 -0
- package/src/resolve/types/Simple.ts +88 -0
- package/src/resolve/types/Tuple.ts +56 -0
- package/src/resolve/types/Union.ts +52 -0
- package/test/helpers/integrationTest-novis.tsp +51 -0
- package/test/helpers/integrationTest.tsp +53 -0
- package/test/helpers/largeModel.tsp +40 -0
- package/test/{runner.ts → helpers/runner.ts} +1 -1
- package/test/helpers/ts.ts +11 -0
- package/test/helpers/wrapper.ts +144 -0
- package/test/routes/routes.target.ts +35 -0
- package/test/routes/routes.test.ts +22 -0
- package/test/typeguards/combined.test.ts +78 -0
- package/test/typeguards/enum.test.ts +10 -0
- package/test/typeguards/model.indexed.test.ts +68 -0
- package/test/typeguards/model.shaped.test.ts +38 -0
- package/test/typeguards/scalar.test.ts +62 -0
- package/test/typeguards/simple.test.ts +35 -0
- package/test/typeguards/tuple.test.ts +34 -0
- package/test/typeguards/union.test.ts +29 -0
- package/test/typemap/typemap-novis.target.ts +38 -0
- package/test/typemap/typemap.target.ts +39 -0
- package/test/typemap/typemap.test.ts +48 -0
- package/test/types/combined.test.ts +71 -0
- package/test/types/enum.test.ts +57 -0
- package/test/types/model.indexed.test.ts +46 -0
- package/test/types/model.shaped.test.ts +23 -0
- package/test/types/scalar.test.ts +53 -0
- package/test/types/simple.test.ts +20 -0
- package/test/types/tuple.test.ts +29 -0
- package/test/types/union.test.ts +20 -0
- package/tsconfig.json +1 -0
- package/dist/src/emit_mapped_types.d.ts +0 -2
- package/dist/src/emit_mapped_types.js +0 -124
- package/dist/src/emit_mapped_types.js.map +0 -1
- package/dist/src/emit_types_resolve.d.ts +0 -22
- package/dist/src/emit_types_resolve.js +0 -217
- package/dist/src/emit_types_resolve.js.map +0 -1
- package/dist/src/emit_types_typeguards.d.ts +0 -17
- package/dist/src/emit_types_typeguards.js +0 -121
- package/dist/src/emit_types_typeguards.js.map +0 -1
- package/dist/src/helper_autogenerateWarning.js.map +0 -1
- package/src/emit_mapped_types.ts +0 -155
- package/src/emit_types_resolve.ts +0 -280
- package/src/emit_types_typeguards.ts +0 -178
- package/test/main.test.ts +0 -83
- package/test/out/.gitkeep +0 -0
- package/test/targets/enum.routed-types.ts +0 -59
- package/test/targets/enum.routes.ts +0 -29
- package/test/targets/enum.target.ts +0 -39
- package/test/targets/enum.tsp +0 -36
- package/test/targets/pr8.routed-types.ts +0 -131
- package/test/targets/pr8.routes.ts +0 -30
- package/test/targets/pr8.target.ts +0 -97
- package/test/targets/pr8.tsp +0 -62
- package/test/targets/simple-routes.routed-types.ts +0 -64
- package/test/targets/simple-routes.routes.ts +0 -29
- package/test/targets/simple-routes.target.ts +0 -21
- package/test/targets/simple-routes.tsp +0 -23
- package/test/targets/union.routed-types.ts +0 -59
- package/test/targets/union.routes.ts +0 -23
- package/test/targets/union.target.ts +0 -59
- package/test/targets/union.tsp +0 -38
- package/test/targets/visibility.routed-types.ts +0 -81
- package/test/targets/visibility.routes.ts +0 -38
- package/test/targets/visibility.target.ts +0 -36
- package/test/targets/visibility.tsp +0 -49
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
* This file is automatically generated by typespec-typescript-emitter.
|
|
5
|
-
*
|
|
6
|
-
* You should not change or manipulate this file, as it will be overwritten.
|
|
7
|
-
* Instead, change the underlying spec.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
export const routes_test = {
|
|
11
|
-
getAll: {
|
|
12
|
-
method: "GET",
|
|
13
|
-
path: "/test-simple",
|
|
14
|
-
getUrl: (): string => `/test-simple`,
|
|
15
|
-
auth: [null],
|
|
16
|
-
},
|
|
17
|
-
add: {
|
|
18
|
-
method: "POST",
|
|
19
|
-
path: "/test-simple",
|
|
20
|
-
getUrl: (): string => `/test-simple`,
|
|
21
|
-
auth: [null],
|
|
22
|
-
},
|
|
23
|
-
} as const;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
* This file is automatically generated by typespec-typescript-emitter.
|
|
5
|
-
*
|
|
6
|
-
* You should not change or manipulate this file, as it will be overwritten.
|
|
7
|
-
* Instead, change the underlying spec.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
export type UnionA =
|
|
11
|
-
| {
|
|
12
|
-
a: boolean;
|
|
13
|
-
b: boolean;
|
|
14
|
-
}
|
|
15
|
-
| number;
|
|
16
|
-
|
|
17
|
-
export type UnionB =
|
|
18
|
-
| {
|
|
19
|
-
a: boolean;
|
|
20
|
-
b: boolean;
|
|
21
|
-
}[]
|
|
22
|
-
| number;
|
|
23
|
-
|
|
24
|
-
export type UnionVisibility =
|
|
25
|
-
| {
|
|
26
|
-
a: boolean;
|
|
27
|
-
b: boolean;
|
|
28
|
-
}
|
|
29
|
-
| number;
|
|
30
|
-
|
|
31
|
-
export interface UnionModel {
|
|
32
|
-
a: number | UnionA;
|
|
33
|
-
b: boolean | string;
|
|
34
|
-
c: UnionA | UnionVisibility;
|
|
35
|
-
}
|
|
36
|
-
export function isUnionModel(arg: any): arg is UnionModel {
|
|
37
|
-
return (
|
|
38
|
-
arg["a"] !== undefined &&
|
|
39
|
-
(typeof arg["a"] === "number" ||
|
|
40
|
-
(arg["a"]["a"] !== undefined &&
|
|
41
|
-
typeof arg["a"]["a"] === "boolean" &&
|
|
42
|
-
arg["a"]["b"] !== undefined &&
|
|
43
|
-
typeof arg["a"]["b"] === "boolean") ||
|
|
44
|
-
typeof arg["a"] === "number") &&
|
|
45
|
-
arg["b"] !== undefined &&
|
|
46
|
-
(typeof arg["b"] === "boolean" || typeof arg["b"] === "string") &&
|
|
47
|
-
arg["c"] !== undefined &&
|
|
48
|
-
((arg["c"]["a"] !== undefined &&
|
|
49
|
-
typeof arg["c"]["a"] === "boolean" &&
|
|
50
|
-
arg["c"]["b"] !== undefined &&
|
|
51
|
-
typeof arg["c"]["b"] === "boolean") ||
|
|
52
|
-
typeof arg["c"] === "number" ||
|
|
53
|
-
(arg["c"]["a"] !== undefined &&
|
|
54
|
-
typeof arg["c"]["a"] === "boolean" &&
|
|
55
|
-
arg["c"]["b"] !== undefined &&
|
|
56
|
-
typeof arg["c"]["b"] === "boolean") ||
|
|
57
|
-
typeof arg["c"] === "number")
|
|
58
|
-
);
|
|
59
|
-
}
|
package/test/targets/union.tsp
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import "@typespec/http";
|
|
2
|
-
using TypeSpec.Http;
|
|
3
|
-
|
|
4
|
-
// https://github.com/crowbait/typespec-typescript-emitter/issues/7
|
|
5
|
-
|
|
6
|
-
@route("/test-simple")
|
|
7
|
-
namespace test {
|
|
8
|
-
union UnionA {
|
|
9
|
-
variantName1: {a: true, b: false},
|
|
10
|
-
variantName2: int32,
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
union UnionB {
|
|
14
|
-
variantName1: {a: true, b: false}[],
|
|
15
|
-
variantName2: int32,
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
union UnionVisibility {
|
|
19
|
-
variantName1: {
|
|
20
|
-
@visibility(Lifecycle.Create)
|
|
21
|
-
a: true,
|
|
22
|
-
b: false
|
|
23
|
-
},
|
|
24
|
-
variantName2: int32,
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
model UnionModel {
|
|
28
|
-
a: int16 | UnionA,
|
|
29
|
-
b: boolean | string,
|
|
30
|
-
c: UnionA | UnionVisibility
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
@get
|
|
34
|
-
op getAll(): {@body body: UnionA[]} | {@statusCode status: 418, @body body: "Me teapot"};
|
|
35
|
-
|
|
36
|
-
@post
|
|
37
|
-
op add(@body body: UnionVisibility): {@body body: UnionModel};
|
|
38
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
* This file is automatically generated by typespec-typescript-emitter.
|
|
5
|
-
*
|
|
6
|
-
* You should not change or manipulate this file, as it will be overwritten.
|
|
7
|
-
* Instead, change the underlying spec.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
export type types_test = {
|
|
11
|
-
["/test-simple/visibility"]: {
|
|
12
|
-
["GET"]: {
|
|
13
|
-
request: null;
|
|
14
|
-
response: {
|
|
15
|
-
status: 200;
|
|
16
|
-
body: {
|
|
17
|
-
name: string;
|
|
18
|
-
display: string;
|
|
19
|
-
always: boolean;
|
|
20
|
-
readCreateModel: {
|
|
21
|
-
always: boolean;
|
|
22
|
-
};
|
|
23
|
-
}[];
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
["POST"]: {
|
|
27
|
-
request: {
|
|
28
|
-
name: string;
|
|
29
|
-
always: boolean;
|
|
30
|
-
readCreateModel: {
|
|
31
|
-
always: boolean;
|
|
32
|
-
create: string;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
response: {
|
|
36
|
-
status: 201;
|
|
37
|
-
body: {
|
|
38
|
-
name: string;
|
|
39
|
-
display: string;
|
|
40
|
-
always: boolean;
|
|
41
|
-
readCreateModel: {
|
|
42
|
-
always: boolean;
|
|
43
|
-
};
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
["/test-simple/visibility/{id}"]: {
|
|
49
|
-
["GET"]: {
|
|
50
|
-
request: null;
|
|
51
|
-
response: {
|
|
52
|
-
status: 200;
|
|
53
|
-
body: {
|
|
54
|
-
name: string;
|
|
55
|
-
display: string;
|
|
56
|
-
always: boolean;
|
|
57
|
-
readCreateModel: {
|
|
58
|
-
always: boolean;
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
};
|
|
62
|
-
};
|
|
63
|
-
["PATCH"]: {
|
|
64
|
-
request: {
|
|
65
|
-
always: boolean;
|
|
66
|
-
updated: number;
|
|
67
|
-
};
|
|
68
|
-
response: {
|
|
69
|
-
status: 201;
|
|
70
|
-
body: {
|
|
71
|
-
name: string;
|
|
72
|
-
display: string;
|
|
73
|
-
always: boolean;
|
|
74
|
-
readCreateModel: {
|
|
75
|
-
always: boolean;
|
|
76
|
-
};
|
|
77
|
-
};
|
|
78
|
-
};
|
|
79
|
-
};
|
|
80
|
-
};
|
|
81
|
-
};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
* This file is automatically generated by typespec-typescript-emitter.
|
|
5
|
-
*
|
|
6
|
-
* You should not change or manipulate this file, as it will be overwritten.
|
|
7
|
-
* Instead, change the underlying spec.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
export const routes_test = {
|
|
11
|
-
/** List Tests */
|
|
12
|
-
list: {
|
|
13
|
-
method: "GET",
|
|
14
|
-
path: "/test-simple/visibility",
|
|
15
|
-
getUrl: (): string => `/test-simple/visibility`,
|
|
16
|
-
auth: [null],
|
|
17
|
-
},
|
|
18
|
-
read: {
|
|
19
|
-
method: "GET",
|
|
20
|
-
path: "/test-simple/visibility/{id}",
|
|
21
|
-
getUrl: (params: { id: string }): string =>
|
|
22
|
-
`/test-simple/visibility/${params.id}`,
|
|
23
|
-
auth: [null],
|
|
24
|
-
},
|
|
25
|
-
create: {
|
|
26
|
-
method: "POST",
|
|
27
|
-
path: "/test-simple/visibility",
|
|
28
|
-
getUrl: (): string => `/test-simple/visibility`,
|
|
29
|
-
auth: [null],
|
|
30
|
-
},
|
|
31
|
-
update: {
|
|
32
|
-
method: "PATCH",
|
|
33
|
-
path: "/test-simple/visibility/{id}",
|
|
34
|
-
getUrl: (params: { id: string }): string =>
|
|
35
|
-
`/test-simple/visibility/${params.id}`,
|
|
36
|
-
auth: [null],
|
|
37
|
-
},
|
|
38
|
-
} as const;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
* This file is automatically generated by typespec-typescript-emitter.
|
|
5
|
-
*
|
|
6
|
-
* You should not change or manipulate this file, as it will be overwritten.
|
|
7
|
-
* Instead, change the underlying spec.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
export interface TestVisibilityA {
|
|
11
|
-
name: string;
|
|
12
|
-
display: string;
|
|
13
|
-
always: boolean;
|
|
14
|
-
updated: number;
|
|
15
|
-
readCreateModel: {
|
|
16
|
-
always: boolean;
|
|
17
|
-
create: string;
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
export function isTestVisibilityA(arg: any): arg is TestVisibilityA {
|
|
21
|
-
return (
|
|
22
|
-
arg["name"] !== undefined &&
|
|
23
|
-
typeof arg["name"] === "string" &&
|
|
24
|
-
arg["display"] !== undefined &&
|
|
25
|
-
typeof arg["display"] === "string" &&
|
|
26
|
-
arg["always"] !== undefined &&
|
|
27
|
-
typeof arg["always"] === "boolean" &&
|
|
28
|
-
arg["updated"] !== undefined &&
|
|
29
|
-
typeof arg["updated"] === "number" &&
|
|
30
|
-
arg["readCreateModel"] !== undefined &&
|
|
31
|
-
arg["readCreateModel"]["always"] !== undefined &&
|
|
32
|
-
typeof arg["readCreateModel"]["always"] === "boolean" &&
|
|
33
|
-
arg["readCreateModel"]["create"] !== undefined &&
|
|
34
|
-
typeof arg["readCreateModel"]["create"] === "string"
|
|
35
|
-
);
|
|
36
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import "@typespec/http";
|
|
2
|
-
using TypeSpec.Http;
|
|
3
|
-
|
|
4
|
-
@route("/test-simple")
|
|
5
|
-
namespace test {
|
|
6
|
-
model TestVisibilityA {
|
|
7
|
-
@visibility(Lifecycle.Create, Lifecycle.Read)
|
|
8
|
-
name: string;
|
|
9
|
-
@visibility(Lifecycle.Read)
|
|
10
|
-
display: string;
|
|
11
|
-
always: boolean;
|
|
12
|
-
@visibility(Lifecycle.Update)
|
|
13
|
-
updated: int32;
|
|
14
|
-
@visibility(Lifecycle.Read, Lifecycle.Create)
|
|
15
|
-
readCreateModel: {
|
|
16
|
-
always: true;
|
|
17
|
-
@visibility(Lifecycle.Create)
|
|
18
|
-
create: string;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
@route("/visibility")
|
|
23
|
-
@tag("Test-Visibility")
|
|
24
|
-
interface Tests {
|
|
25
|
-
@doc("List Tests")
|
|
26
|
-
@get op list(): {
|
|
27
|
-
@statusCode statusCode: 200;
|
|
28
|
-
@body response: TestVisibilityA[]; // RESPONSE body: [{name: string, display: string, always: boolean}]
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
@route("/{id}")
|
|
32
|
-
@get op read(@path id: int32): {
|
|
33
|
-
@statusCode statusCode: 200;
|
|
34
|
-
@header "content-type": "application/json";
|
|
35
|
-
@body response: TestVisibilityA; // RESPONSE body: {name: string, display: string, always: boolean}
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
@post op create(@body test: TestVisibilityA): { // POST body: {name: string, always: boolean}. -> emit type TestCreate
|
|
39
|
-
@statusCode statusCode: 201;
|
|
40
|
-
@body response: TestVisibilityA; // RESPONSE body: {name: string, display: string, always: boolean}
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
@route("/{id}")
|
|
44
|
-
@patch op update(@path id: int32, @body test: TestVisibilityA): { // PATCH body: {always: boolean} -> emit type TestUpdate
|
|
45
|
-
@statusCode statusCode: 201;
|
|
46
|
-
@body response: TestVisibilityA; // RESPONSE body: {name: string, display: string, always: boolean}
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
}
|