@typespec/http-specs 0.1.0-alpha.3-dev.6 → 0.1.0-alpha.30-dev.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.
Files changed (206) hide show
  1. package/CHANGELOG.md +238 -0
  2. package/README.md +11 -3
  3. package/dist/specs/documentation/mockapi.d.ts.map +1 -0
  4. package/dist/specs/documentation/mockapi.js +38 -0
  5. package/dist/specs/documentation/mockapi.js.map +1 -0
  6. package/dist/specs/encode/array/mockapi.d.ts +3 -0
  7. package/dist/specs/encode/array/mockapi.d.ts.map +1 -0
  8. package/dist/specs/encode/array/mockapi.js +25 -0
  9. package/dist/specs/encode/array/mockapi.js.map +1 -0
  10. package/dist/specs/encode/bytes/mockapi.js +16 -24
  11. package/dist/specs/encode/bytes/mockapi.js.map +1 -1
  12. package/dist/specs/encode/datetime/mockapi.js +2 -2
  13. package/dist/specs/encode/datetime/mockapi.js.map +1 -1
  14. package/dist/specs/encode/duration/mockapi.js +74 -2
  15. package/dist/specs/encode/duration/mockapi.js.map +1 -1
  16. package/dist/specs/encode/numeric/mockapi.js +2 -2
  17. package/dist/specs/encode/numeric/mockapi.js.map +1 -1
  18. package/dist/specs/helper.d.ts +2 -2
  19. package/dist/specs/helper.d.ts.map +1 -1
  20. package/dist/specs/parameters/basic/mockapi.d.ts.map +1 -1
  21. package/dist/specs/parameters/basic/mockapi.js +3 -3
  22. package/dist/specs/parameters/basic/mockapi.js.map +1 -1
  23. package/dist/specs/parameters/body-optionality/mockapi.d.ts.map +1 -1
  24. package/dist/specs/parameters/body-optionality/mockapi.js +14 -4
  25. package/dist/specs/parameters/body-optionality/mockapi.js.map +1 -1
  26. package/dist/specs/parameters/collection-format/mockapi.js +4 -15
  27. package/dist/specs/parameters/collection-format/mockapi.js.map +1 -1
  28. package/dist/specs/parameters/path/mockapi.d.ts +3 -0
  29. package/dist/specs/parameters/path/mockapi.d.ts.map +1 -0
  30. package/dist/specs/parameters/path/mockapi.js +29 -0
  31. package/dist/specs/parameters/path/mockapi.js.map +1 -0
  32. package/dist/specs/parameters/spread/mockapi.d.ts.map +1 -1
  33. package/dist/specs/parameters/spread/mockapi.js +19 -19
  34. package/dist/specs/parameters/spread/mockapi.js.map +1 -1
  35. package/dist/specs/payload/json-merge-patch/mockapi.js +4 -4
  36. package/dist/specs/payload/json-merge-patch/mockapi.js.map +1 -1
  37. package/dist/specs/payload/media-type/mockapi.js +2 -2
  38. package/dist/specs/payload/media-type/mockapi.js.map +1 -1
  39. package/dist/specs/payload/multipart/mockapi.d.ts.map +1 -1
  40. package/dist/specs/payload/multipart/mockapi.js +42 -60
  41. package/dist/specs/payload/multipart/mockapi.js.map +1 -1
  42. package/dist/specs/payload/pageable/mockapi.d.ts.map +1 -1
  43. package/dist/specs/payload/pageable/mockapi.js +425 -18
  44. package/dist/specs/payload/pageable/mockapi.js.map +1 -1
  45. package/dist/specs/payload/xml/mockapi.js +1 -4
  46. package/dist/specs/payload/xml/mockapi.js.map +1 -1
  47. package/dist/specs/response/status-code-range/mockapi.d.ts +3 -0
  48. package/dist/specs/response/status-code-range/mockapi.d.ts.map +1 -0
  49. package/dist/specs/response/status-code-range/mockapi.js +29 -0
  50. package/dist/specs/response/status-code-range/mockapi.js.map +1 -0
  51. package/dist/specs/routes/mockapi.js +25 -25
  52. package/dist/specs/routes/mockapi.js.map +1 -1
  53. package/dist/specs/serialization/encoded-name/json/mockapi.js +1 -1
  54. package/dist/specs/serialization/encoded-name/json/mockapi.js.map +1 -1
  55. package/dist/specs/server/versions/not-versioned/mockapi.js +1 -1
  56. package/dist/specs/server/versions/not-versioned/mockapi.js.map +1 -1
  57. package/dist/specs/server/versions/versioned/mockapi.js +8 -12
  58. package/dist/specs/server/versions/versioned/mockapi.js.map +1 -1
  59. package/dist/specs/special-words/mockapi.d.ts.map +1 -1
  60. package/dist/specs/special-words/mockapi.js +28 -6
  61. package/dist/specs/special-words/mockapi.js.map +1 -1
  62. package/dist/specs/streaming/jsonl/mockapi.d.ts +3 -0
  63. package/dist/specs/streaming/jsonl/mockapi.d.ts.map +1 -0
  64. package/dist/specs/streaming/jsonl/mockapi.js +30 -0
  65. package/dist/specs/streaming/jsonl/mockapi.js.map +1 -0
  66. package/dist/specs/type/array/mockapi.js +1 -1
  67. package/dist/specs/type/array/mockapi.js.map +1 -1
  68. package/dist/specs/type/dictionary/mockapi.js +1 -1
  69. package/dist/specs/type/dictionary/mockapi.js.map +1 -1
  70. package/dist/specs/type/enum/extensible/mockapi.js +1 -1
  71. package/dist/specs/type/enum/extensible/mockapi.js.map +1 -1
  72. package/dist/specs/type/enum/fixed/mockapi.js +2 -2
  73. package/dist/specs/type/enum/fixed/mockapi.js.map +1 -1
  74. package/dist/specs/type/model/empty/mockapi.js +2 -2
  75. package/dist/specs/type/model/empty/mockapi.js.map +1 -1
  76. package/dist/specs/type/model/inheritance/enum-discriminator/mockapi.js +1 -1
  77. package/dist/specs/type/model/inheritance/enum-discriminator/mockapi.js.map +1 -1
  78. package/dist/specs/type/model/inheritance/nested-discriminator/mockapi.js +2 -2
  79. package/dist/specs/type/model/inheritance/nested-discriminator/mockapi.js.map +1 -1
  80. package/dist/specs/type/model/inheritance/not-discriminated/mockapi.js +2 -2
  81. package/dist/specs/type/model/inheritance/not-discriminated/mockapi.js.map +1 -1
  82. package/dist/specs/type/model/inheritance/recursive/mockapi.js +1 -1
  83. package/dist/specs/type/model/inheritance/recursive/mockapi.js.map +1 -1
  84. package/dist/specs/type/model/inheritance/single-discriminator/mockapi.js +2 -2
  85. package/dist/specs/type/model/inheritance/single-discriminator/mockapi.js.map +1 -1
  86. package/dist/specs/type/model/usage/mockapi.js +4 -4
  87. package/dist/specs/type/model/usage/mockapi.js.map +1 -1
  88. package/dist/specs/type/model/visibility/mockapi.js +9 -10
  89. package/dist/specs/type/model/visibility/mockapi.js.map +1 -1
  90. package/dist/specs/type/property/additional-properties/mockapi.js +9 -6
  91. package/dist/specs/type/property/additional-properties/mockapi.js.map +1 -1
  92. package/dist/specs/type/property/nullable/mockapi.js +2 -6
  93. package/dist/specs/type/property/nullable/mockapi.js.map +1 -1
  94. package/dist/specs/type/property/optionality/mockapi.js +1 -1
  95. package/dist/specs/type/property/optionality/mockapi.js.map +1 -1
  96. package/dist/specs/type/property/value-types/mockapi.js +3 -3
  97. package/dist/specs/type/property/value-types/mockapi.js.map +1 -1
  98. package/dist/specs/type/scalar/mockapi.js +9 -9
  99. package/dist/specs/type/scalar/mockapi.js.map +1 -1
  100. package/dist/specs/type/union/discriminated/mockapi.d.ts +3 -0
  101. package/dist/specs/type/union/discriminated/mockapi.d.ts.map +1 -0
  102. package/dist/specs/type/union/discriminated/mockapi.js +212 -0
  103. package/dist/specs/type/union/discriminated/mockapi.js.map +1 -0
  104. package/dist/specs/type/union/mockapi.js +2 -2
  105. package/dist/specs/type/union/mockapi.js.map +1 -1
  106. package/dist/specs/versioning/added/mockapi.js +6 -6
  107. package/dist/specs/versioning/added/mockapi.js.map +1 -1
  108. package/dist/specs/versioning/madeOptional/mockapi.js +2 -2
  109. package/dist/specs/versioning/madeOptional/mockapi.js.map +1 -1
  110. package/dist/specs/versioning/removed/mockapi.js +46 -2
  111. package/dist/specs/versioning/removed/mockapi.js.map +1 -1
  112. package/dist/specs/versioning/renamedFrom/mockapi.js +5 -5
  113. package/dist/specs/versioning/renamedFrom/mockapi.js.map +1 -1
  114. package/dist/specs/versioning/returnTypeChangedFrom/mockapi.js +1 -1
  115. package/dist/specs/versioning/returnTypeChangedFrom/mockapi.js.map +1 -1
  116. package/dist/specs/versioning/typeChangedFrom/mockapi.js +3 -3
  117. package/dist/specs/versioning/typeChangedFrom/mockapi.js.map +1 -1
  118. package/package.json +32 -19
  119. package/smoke/petstore/main.tsp +96 -0
  120. package/smoke/todoapp/main.tsp +293 -0
  121. package/spec-summary.md +1289 -265
  122. package/specs/documentation/main.tsp +158 -0
  123. package/specs/documentation/mockapi.ts +57 -0
  124. package/specs/encode/array/main.tsp +112 -0
  125. package/specs/encode/array/mockapi.ts +43 -0
  126. package/specs/encode/bytes/main.tsp +29 -20
  127. package/specs/encode/bytes/mockapi.ts +13 -31
  128. package/specs/encode/datetime/main.tsp +2 -7
  129. package/specs/encode/datetime/mockapi.ts +2 -2
  130. package/specs/encode/duration/main.tsp +420 -7
  131. package/specs/encode/duration/mockapi.ts +174 -2
  132. package/specs/encode/numeric/mockapi.ts +2 -2
  133. package/specs/parameters/basic/mockapi.ts +3 -3
  134. package/specs/parameters/body-optionality/main.tsp +2 -0
  135. package/specs/parameters/body-optionality/mockapi.ts +24 -4
  136. package/specs/parameters/collection-format/main.tsp +5 -25
  137. package/specs/parameters/collection-format/mockapi.ts +4 -16
  138. package/specs/parameters/path/main.tsp +48 -0
  139. package/specs/parameters/path/mockapi.ts +34 -0
  140. package/specs/parameters/spread/mockapi.ts +19 -19
  141. package/specs/payload/json-merge-patch/main.tsp +2 -2
  142. package/specs/payload/json-merge-patch/mockapi.ts +4 -4
  143. package/specs/payload/media-type/mockapi.ts +2 -2
  144. package/specs/payload/multipart/main.tsp +34 -32
  145. package/specs/payload/multipart/mockapi.ts +42 -59
  146. package/specs/payload/pageable/main.tsp +462 -7
  147. package/specs/payload/pageable/mockapi.ts +478 -18
  148. package/specs/payload/xml/mockapi.ts +1 -4
  149. package/specs/response/status-code-range/main.tsp +82 -0
  150. package/specs/response/status-code-range/mockapi.ts +31 -0
  151. package/specs/routes/main.tsp +48 -48
  152. package/specs/routes/mockapi.ts +25 -25
  153. package/specs/serialization/encoded-name/json/main.tsp +1 -1
  154. package/specs/serialization/encoded-name/json/mockapi.ts +1 -1
  155. package/specs/server/endpoint/not-defined/main.tsp +1 -3
  156. package/specs/server/path/multiple/main.tsp +3 -5
  157. package/specs/server/versions/not-versioned/mockapi.ts +1 -1
  158. package/specs/server/versions/versioned/main.tsp +1 -1
  159. package/specs/server/versions/versioned/mockapi.ts +6 -12
  160. package/specs/special-headers/conditional-request/main.tsp +1 -1
  161. package/specs/special-headers/repeatability/main.tsp +2 -2
  162. package/specs/special-words/main.tsp +44 -6
  163. package/specs/special-words/mockapi.ts +29 -6
  164. package/specs/streaming/jsonl/main.tsp +33 -0
  165. package/specs/streaming/jsonl/mockapi.ts +32 -0
  166. package/specs/type/array/mockapi.ts +1 -1
  167. package/specs/type/dictionary/mockapi.ts +1 -1
  168. package/specs/type/enum/extensible/main.tsp +18 -2
  169. package/specs/type/enum/extensible/mockapi.ts +1 -1
  170. package/specs/type/enum/fixed/main.tsp +15 -3
  171. package/specs/type/enum/fixed/mockapi.ts +2 -2
  172. package/specs/type/model/empty/mockapi.ts +2 -2
  173. package/specs/type/model/inheritance/enum-discriminator/mockapi.ts +1 -1
  174. package/specs/type/model/inheritance/nested-discriminator/mockapi.ts +2 -2
  175. package/specs/type/model/inheritance/not-discriminated/mockapi.ts +2 -2
  176. package/specs/type/model/inheritance/recursive/mockapi.ts +1 -1
  177. package/specs/type/model/inheritance/single-discriminator/mockapi.ts +2 -2
  178. package/specs/type/model/usage/mockapi.ts +4 -4
  179. package/specs/type/model/visibility/main.tsp +15 -23
  180. package/specs/type/model/visibility/mockapi.ts +9 -10
  181. package/specs/type/property/additional-properties/main.tsp +17 -17
  182. package/specs/type/property/additional-properties/mockapi.ts +10 -10
  183. package/specs/type/property/nullable/mockapi.ts +7 -8
  184. package/specs/type/property/optionality/mockapi.ts +1 -1
  185. package/specs/type/property/value-types/mockapi.ts +3 -3
  186. package/specs/type/scalar/main.tsp +58 -9
  187. package/specs/type/scalar/mockapi.ts +9 -9
  188. package/specs/type/union/discriminated/main.tsp +251 -0
  189. package/specs/type/union/discriminated/mockapi.ts +230 -0
  190. package/specs/type/union/mockapi.ts +2 -2
  191. package/specs/versioning/added/mockapi.ts +6 -6
  192. package/specs/versioning/madeOptional/mockapi.ts +2 -2
  193. package/specs/versioning/removed/main.tsp +65 -3
  194. package/specs/versioning/removed/mockapi.ts +49 -2
  195. package/specs/versioning/renamedFrom/mockapi.ts +5 -5
  196. package/specs/versioning/returnTypeChangedFrom/main.tsp +17 -2
  197. package/specs/versioning/returnTypeChangedFrom/mockapi.ts +1 -1
  198. package/specs/versioning/typeChangedFrom/mockapi.ts +3 -3
  199. package/temp/.tsbuildinfo +1 -1
  200. package/tspconfig.yaml +0 -2
  201. package/dist/specs/type/model/templated/mockapi.d.ts.map +0 -1
  202. package/dist/specs/type/model/templated/mockapi.js +0 -63
  203. package/dist/specs/type/model/templated/mockapi.js.map +0 -1
  204. package/specs/type/model/templated/main.tsp +0 -130
  205. package/specs/type/model/templated/mockapi.ts +0 -66
  206. /package/dist/specs/{type/model/templated → documentation}/mockapi.d.ts +0 -0
@@ -0,0 +1,212 @@
1
+ import { json, passOnSuccess } from "@typespec/spec-api";
2
+ export const Scenarios = {};
3
+ // Test data for discriminated union scenarios
4
+ const catData = {
5
+ name: "Whiskers",
6
+ meow: true,
7
+ };
8
+ const dogData = {
9
+ name: "Rex",
10
+ bark: false,
11
+ };
12
+ // Envelope discriminated union (default serialization)
13
+ const envelopeCatBody = {
14
+ kind: "cat",
15
+ value: catData,
16
+ };
17
+ const envelopeDogBody = {
18
+ kind: "dog",
19
+ value: dogData,
20
+ };
21
+ Scenarios.Type_Union_Discriminated_Envelope_Object_Default_get = passOnSuccess({
22
+ uri: "/type/union/discriminated/envelope/object/default",
23
+ method: "get",
24
+ request: {},
25
+ response: {
26
+ status: 200,
27
+ body: json(envelopeCatBody),
28
+ },
29
+ handler: (req) => {
30
+ const kind = req.query.kind;
31
+ // When kind is null or "cat", return response for "cat"
32
+ // When kind is "dog", return response for "dog"
33
+ if (kind === "dog") {
34
+ return {
35
+ status: 200,
36
+ body: json(envelopeDogBody),
37
+ };
38
+ }
39
+ else {
40
+ // Default case: when kind is null, undefined, or "cat"
41
+ return {
42
+ status: 200,
43
+ body: json(envelopeCatBody),
44
+ };
45
+ }
46
+ },
47
+ kind: "MockApiDefinition",
48
+ });
49
+ Scenarios.Type_Union_Discriminated_Envelope_Object_Default_put = passOnSuccess({
50
+ uri: "/type/union/discriminated/envelope/object/default",
51
+ method: "put",
52
+ request: {
53
+ body: json(envelopeCatBody),
54
+ },
55
+ response: {
56
+ status: 200,
57
+ body: json(envelopeCatBody),
58
+ },
59
+ kind: "MockApiDefinition",
60
+ });
61
+ // Custom names discriminated union
62
+ const customNamesCatBody = {
63
+ petType: "cat",
64
+ petData: catData,
65
+ };
66
+ const customNamesDogBody = {
67
+ petType: "dog",
68
+ petData: dogData,
69
+ };
70
+ Scenarios.Type_Union_Discriminated_Envelope_Object_CustomProperties_get = passOnSuccess({
71
+ uri: "/type/union/discriminated/envelope/object/custom-properties",
72
+ method: "get",
73
+ request: {},
74
+ response: {
75
+ status: 200,
76
+ body: json(customNamesCatBody),
77
+ },
78
+ handler: (req) => {
79
+ const petType = req.query.petType;
80
+ // When petType is null or "cat", return response for "cat"
81
+ // When petType is "dog", return response for "dog"
82
+ if (petType === "dog") {
83
+ return {
84
+ status: 200,
85
+ body: json(customNamesDogBody),
86
+ };
87
+ }
88
+ else {
89
+ // Default case: when petType is null, undefined, or "cat"
90
+ return {
91
+ status: 200,
92
+ body: json(customNamesCatBody),
93
+ };
94
+ }
95
+ },
96
+ kind: "MockApiDefinition",
97
+ });
98
+ Scenarios.Type_Union_Discriminated_Envelope_Object_CustomProperties_put = passOnSuccess({
99
+ uri: "/type/union/discriminated/envelope/object/custom-properties",
100
+ method: "put",
101
+ request: {
102
+ body: json(customNamesCatBody),
103
+ },
104
+ response: {
105
+ status: 200,
106
+ body: json(customNamesCatBody),
107
+ },
108
+ kind: "MockApiDefinition",
109
+ });
110
+ // Inline discriminated union (no envelope)
111
+ const inlineCatBody = {
112
+ kind: "cat",
113
+ name: "Whiskers",
114
+ meow: true,
115
+ };
116
+ const inlineDogBody = {
117
+ kind: "dog",
118
+ name: "Rex",
119
+ bark: false,
120
+ };
121
+ Scenarios.Type_Union_Discriminated_NoEnvelope_Default_get = passOnSuccess({
122
+ uri: "/type/union/discriminated/no-envelope/default",
123
+ method: "get",
124
+ request: {},
125
+ response: {
126
+ status: 200,
127
+ body: json(inlineCatBody),
128
+ },
129
+ handler: (req) => {
130
+ const kind = req.query.kind;
131
+ // When kind is null or "cat", return response for "cat"
132
+ // When kind is "dog", return response for "dog"
133
+ if (kind === "dog") {
134
+ return {
135
+ status: 200,
136
+ body: json(inlineDogBody),
137
+ };
138
+ }
139
+ else {
140
+ // Default case: when kind is null, undefined, or "cat"
141
+ return {
142
+ status: 200,
143
+ body: json(inlineCatBody),
144
+ };
145
+ }
146
+ },
147
+ kind: "MockApiDefinition",
148
+ });
149
+ Scenarios.Type_Union_Discriminated_NoEnvelope_Default_put = passOnSuccess({
150
+ uri: "/type/union/discriminated/no-envelope/default",
151
+ method: "put",
152
+ request: {
153
+ body: json(inlineCatBody),
154
+ },
155
+ response: {
156
+ status: 200,
157
+ body: json(inlineCatBody),
158
+ },
159
+ kind: "MockApiDefinition",
160
+ });
161
+ // Inline discriminated union with custom discriminator property name
162
+ const inlineCustomCatBody = {
163
+ type: "cat",
164
+ name: "Whiskers",
165
+ meow: true,
166
+ };
167
+ const inlineCustomDogBody = {
168
+ type: "dog",
169
+ name: "Rex",
170
+ bark: false,
171
+ };
172
+ Scenarios.Type_Union_Discriminated_NoEnvelope_CustomDiscriminator_get = passOnSuccess({
173
+ uri: "/type/union/discriminated/no-envelope/custom-discriminator",
174
+ method: "get",
175
+ request: {},
176
+ response: {
177
+ status: 200,
178
+ body: json(inlineCustomCatBody),
179
+ },
180
+ handler: (req) => {
181
+ const type = req.query.type;
182
+ // When type is null or "cat", return response for "cat"
183
+ // When type is "dog", return response for "dog"
184
+ if (type === "dog") {
185
+ return {
186
+ status: 200,
187
+ body: json(inlineCustomDogBody),
188
+ };
189
+ }
190
+ else {
191
+ // Default case: when type is null, undefined, or "cat"
192
+ return {
193
+ status: 200,
194
+ body: json(inlineCustomCatBody),
195
+ };
196
+ }
197
+ },
198
+ kind: "MockApiDefinition",
199
+ });
200
+ Scenarios.Type_Union_Discriminated_NoEnvelope_CustomDiscriminator_put = passOnSuccess({
201
+ uri: "/type/union/discriminated/no-envelope/custom-discriminator",
202
+ method: "put",
203
+ request: {
204
+ body: json(inlineCustomCatBody),
205
+ },
206
+ response: {
207
+ status: 200,
208
+ body: json(inlineCustomCatBody),
209
+ },
210
+ kind: "MockApiDefinition",
211
+ });
212
+ //# sourceMappingURL=mockapi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../../specs/type/union/discriminated/mockapi.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,9 @@ function createPostServerTests(url, value) {
17
17
  uri: url,
18
18
  method: `post`,
19
19
  request: {
20
- body: {
20
+ body: json({
21
21
  prop: value,
22
- },
22
+ }),
23
23
  },
24
24
  response: {
25
25
  status: 204,
@@ -1 +1 @@
1
- {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/type/union/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAoC,EAAE,CAAC;AAE7D,SAAS,oBAAoB,CAAC,GAAW,EAAE,KAAc;IACvD,OAAO,aAAa,CAAC;QACnB,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE;YACR,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;SAC5B;QACD,IAAI,EAAE,mBAAmB;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW,EAAE,KAAc;IACxD,OAAO,aAAa,CAAC;QACnB,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,IAAI,EAAE;gBACJ,IAAI,EAAE,KAAK;aACZ;SACF;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,GAAG;SACZ;QACD,IAAI,EAAE,mBAAmB;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,CAAC,0BAA0B,GAAG,oBAAoB,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;AAC7F,SAAS,CAAC,2BAA2B,GAAG,qBAAqB,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;AAE/F,SAAS,CAAC,+BAA+B,GAAG,oBAAoB,CAC9D,+BAA+B,EAC/B,QAAQ,CACT,CAAC;AACF,SAAS,CAAC,gCAAgC,GAAG,qBAAqB,CAChE,+BAA+B,EAC/B,QAAQ,CACT,CAAC;AAEF,SAAS,CAAC,oCAAoC,GAAG,oBAAoB,CACnE,qCAAqC,EACrC,QAAQ,CACT,CAAC;AACF,SAAS,CAAC,qCAAqC,GAAG,qBAAqB,CACrE,qCAAqC,EACrC,QAAQ,CACT,CAAC;AAEF,SAAS,CAAC,uBAAuB,GAAG,oBAAoB,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;AACrF,SAAS,CAAC,wBAAwB,GAAG,qBAAqB,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;AAEvF,SAAS,CAAC,yBAAyB,GAAG,oBAAoB,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;AAC3F,SAAS,CAAC,0BAA0B,GAAG,qBAAqB,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;AAE7F,SAAS,CAAC,yBAAyB,GAAG,oBAAoB,CAAC,yBAAyB,EAAE;IACpF,IAAI,EAAE,MAAM;CACb,CAAC,CAAC;AACH,SAAS,CAAC,0BAA0B,GAAG,qBAAqB,CAAC,yBAAyB,EAAE;IACtF,IAAI,EAAE,MAAM;CACb,CAAC,CAAC;AAEH,SAAS,CAAC,wBAAwB,GAAG,oBAAoB,CAAC,wBAAwB,EAAE;IAClF,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,IAAI;CACT,CAAC,CAAC;AACH,SAAS,CAAC,yBAAyB,GAAG,qBAAqB,CAAC,wBAAwB,EAAE;IACpF,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,IAAI;CACT,CAAC,CAAC;AAEH,SAAS,CAAC,6BAA6B,GAAG,oBAAoB,CAAC,8BAA8B,EAAE;IAC7F,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;CAC1B,CAAC,CAAC;AACH,SAAS,CAAC,8BAA8B,GAAG,qBAAqB,CAAC,8BAA8B,EAAE;IAC/F,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;CAC1B,CAAC,CAAC;AAEH,SAAS,CAAC,4BAA4B,GAAG,oBAAoB,CAAC,4BAA4B,EAAE;IAC1F,aAAa,EAAE,GAAG;IAClB,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,GAAG;IACjB,cAAc,EAAE,IAAI;CACrB,CAAC,CAAC;AACH,SAAS,CAAC,6BAA6B,GAAG,qBAAqB,CAAC,4BAA4B,EAAE;IAC5F,aAAa,EAAE,GAAG;IAClB,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,GAAG;IACjB,cAAc,EAAE,IAAI;CACrB,CAAC,CAAC;AAEH,SAAS,CAAC,yBAAyB,GAAG,oBAAoB,CAAC,yBAAyB,EAAE;IACpF,KAAK,EAAE;QACL,IAAI,EAAE,MAAM;KACb;IACD,OAAO,EAAE,GAAG;IACZ,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,IAAI;IACb,KAAK,EAAE;QACL;YACE,IAAI,EAAE,MAAM;SACb;QACD,GAAG;QACH,CAAC;QACD,IAAI;KACL;CACF,CAAC,CAAC;AACH,SAAS,CAAC,0BAA0B,GAAG,qBAAqB,CAAC,yBAAyB,EAAE;IACtF,KAAK,EAAE;QACL,IAAI,EAAE,MAAM;KACb;IACD,OAAO,EAAE,GAAG;IACZ,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,IAAI;IACb,KAAK,EAAE;QACL;YACE,IAAI,EAAE,MAAM;SACb;QACD,GAAG;QACH,CAAC;QACD,IAAI;KACL;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/type/union/mockapi.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,11 @@ Scenarios.Versioning_Added_v1 = passOnSuccess({
4
4
  uri: `/versioning/added/api-version:v2/v1`,
5
5
  method: `post`,
6
6
  request: {
7
- body: {
7
+ body: json({
8
8
  prop: "foo",
9
9
  enumProp: "enumMemberV2",
10
10
  unionProp: 10,
11
- },
11
+ }),
12
12
  headers: {
13
13
  "header-v2": "bar",
14
14
  },
@@ -23,11 +23,11 @@ Scenarios.Versioning_Added_v2 = passOnSuccess({
23
23
  uri: `/versioning/added/api-version:v2/v2`,
24
24
  method: `post`,
25
25
  request: {
26
- body: {
26
+ body: json({
27
27
  prop: "foo",
28
28
  enumProp: "enumMember",
29
29
  unionProp: "bar",
30
- },
30
+ }),
31
31
  },
32
32
  response: {
33
33
  status: 200,
@@ -39,11 +39,11 @@ Scenarios.Versioning_Added_InterfaceV2 = passOnSuccess({
39
39
  uri: `/versioning/added/api-version:v2/interface-v2/v2`,
40
40
  method: `post`,
41
41
  request: {
42
- body: {
42
+ body: json({
43
43
  prop: "foo",
44
44
  enumProp: "enumMember",
45
45
  unionProp: "bar",
46
- },
46
+ }),
47
47
  },
48
48
  response: {
49
49
  status: 200,
@@ -1 +1 @@
1
- {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/versioning/added/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAoC,EAAE,CAAC;AAE7D,SAAS,CAAC,mBAAmB,GAAG,aAAa,CAAC;IAC5C,GAAG,EAAE,qCAAqC;IAC1C,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,EAAE;SACd;QACD,OAAO,EAAE;YACP,WAAW,EAAE,KAAK;SACnB;KACF;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;KACrE;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC;AAEH,SAAS,CAAC,mBAAmB,GAAG,aAAa,CAAC;IAC5C,GAAG,EAAE,qCAAqC;IAC1C,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,KAAK;SACjB;KACF;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;KACtE;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC;AAEH,SAAS,CAAC,4BAA4B,GAAG,aAAa,CAAC;IACrD,GAAG,EAAE,kDAAkD;IACvD,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,KAAK;SACjB;KACF;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;KACtE;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC"}
1
+ {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/versioning/added/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAoC,EAAE,CAAC;AAE7D,SAAS,CAAC,mBAAmB,GAAG,aAAa,CAAC;IAC5C,GAAG,EAAE,qCAAqC;IAC1C,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE,IAAI,CAAC;YACT,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,EAAE;SACd,CAAC;QACF,OAAO,EAAE;YACP,WAAW,EAAE,KAAK;SACnB;KACF;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;KACrE;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC;AAEH,SAAS,CAAC,mBAAmB,GAAG,aAAa,CAAC;IAC5C,GAAG,EAAE,qCAAqC;IAC1C,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE,IAAI,CAAC;YACT,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,KAAK;SACjB,CAAC;KACH;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;KACtE;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC;AAEH,SAAS,CAAC,4BAA4B,GAAG,aAAa,CAAC;IACrD,GAAG,EAAE,kDAAkD;IACvD,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE,IAAI,CAAC;YACT,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,KAAK;SACjB,CAAC;KACH;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;KACtE;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC"}
@@ -4,9 +4,9 @@ Scenarios.Versioning_MadeOptional_test = passOnSuccess({
4
4
  uri: `/versioning/made-optional/api-version:v2/test`,
5
5
  method: `post`,
6
6
  request: {
7
- body: {
7
+ body: json({
8
8
  prop: "foo",
9
- },
9
+ }),
10
10
  },
11
11
  response: {
12
12
  status: 200,
@@ -1 +1 @@
1
- {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/versioning/madeOptional/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAoC,EAAE,CAAC;AAE7D,SAAS,CAAC,4BAA4B,GAAG,aAAa,CAAC;IACrD,GAAG,EAAE,+CAA+C;IACpD,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,IAAI,EAAE,KAAK;SACZ;KACF;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KAC5B;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC"}
1
+ {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/versioning/madeOptional/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAoC,EAAE,CAAC;AAE7D,SAAS,CAAC,4BAA4B,GAAG,aAAa,CAAC;IACrD,GAAG,EAAE,+CAA+C;IACpD,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE,IAAI,CAAC;YACT,IAAI,EAAE,KAAK;SACZ,CAAC;KACH;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KAC5B;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC"}
@@ -4,11 +4,11 @@ Scenarios.Versioning_Removed_v2 = passOnSuccess({
4
4
  uri: `/versioning/removed/api-version:v2/v2`,
5
5
  method: `post`,
6
6
  request: {
7
- body: {
7
+ body: json({
8
8
  prop: "foo",
9
9
  enumProp: "enumMemberV2",
10
10
  unionProp: "bar",
11
- },
11
+ }),
12
12
  },
13
13
  response: {
14
14
  status: 200,
@@ -16,4 +16,48 @@ Scenarios.Versioning_Removed_v2 = passOnSuccess({
16
16
  },
17
17
  kind: "MockApiDefinition",
18
18
  });
19
+ Scenarios.Versioning_Removed_modelV3 = passOnSuccess({
20
+ uri: `/versioning/removed/api-version\\:v1/v3`,
21
+ method: "post",
22
+ request: {
23
+ body: json({
24
+ id: "123",
25
+ enumProp: "enumMemberV1",
26
+ }),
27
+ },
28
+ response: {
29
+ status: 200,
30
+ body: json({ id: "123", enumProp: "enumMemberV1" }),
31
+ },
32
+ kind: "MockApiDefinition",
33
+ });
34
+ Scenarios.Versioning_Removed_modelV3_V2 = passOnSuccess({
35
+ uri: `/versioning/removed/api-version\\:v2/v3`,
36
+ method: "post",
37
+ request: {
38
+ body: json({
39
+ id: "123",
40
+ enumProp: "enumMemberV1",
41
+ }),
42
+ },
43
+ response: {
44
+ status: 200,
45
+ body: json({ id: "123", enumProp: "enumMemberV1" }),
46
+ },
47
+ kind: "MockApiDefinition",
48
+ });
49
+ Scenarios.Versioning_Removed_modelV3_V2preview = passOnSuccess({
50
+ uri: `/versioning/removed/api-version\\:v2preview/v3`,
51
+ method: "post",
52
+ request: {
53
+ body: json({
54
+ id: "123",
55
+ }),
56
+ },
57
+ response: {
58
+ status: 200,
59
+ body: json({ id: "123" }),
60
+ },
61
+ kind: "MockApiDefinition",
62
+ });
19
63
  //# sourceMappingURL=mockapi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/versioning/removed/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAoC,EAAE,CAAC;AAE7D,SAAS,CAAC,qBAAqB,GAAG,aAAa,CAAC;IAC9C,GAAG,EAAE,uCAAuC;IAC5C,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,KAAK;SACjB;KACF;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;KACxE;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC"}
1
+ {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/versioning/removed/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAoC,EAAE,CAAC;AAE7D,SAAS,CAAC,qBAAqB,GAAG,aAAa,CAAC;IAC9C,GAAG,EAAE,uCAAuC;IAC5C,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE,IAAI,CAAC;YACT,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,KAAK;SACjB,CAAC;KACH;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;KACxE;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC;AAEH,SAAS,CAAC,0BAA0B,GAAG,aAAa,CAAC;IACnD,GAAG,EAAE,yCAAyC;IAC9C,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE,IAAI,CAAC;YACT,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,cAAc;SACzB,CAAC;KACH;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;KACpD;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC;AAEH,SAAS,CAAC,6BAA6B,GAAG,aAAa,CAAC;IACtD,GAAG,EAAE,yCAAyC;IAC9C,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE,IAAI,CAAC;YACT,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,cAAc;SACzB,CAAC;KACH;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;KACpD;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC;AAEH,SAAS,CAAC,oCAAoC,GAAG,aAAa,CAAC;IAC7D,GAAG,EAAE,gDAAgD;IACrD,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE,IAAI,CAAC;YACT,EAAE,EAAE,KAAK;SACV,CAAC;KACH;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;KAC1B;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC"}
@@ -4,12 +4,12 @@ Scenarios.Versioning_RenamedFrom_newOp = passOnSuccess({
4
4
  uri: `/versioning/renamed-from/api-version:v2/test`,
5
5
  method: `post`,
6
6
  request: {
7
- body: {
7
+ body: json({
8
8
  newProp: "foo",
9
9
  enumProp: "newEnumMember",
10
10
  unionProp: 10,
11
- },
12
- params: {
11
+ }),
12
+ query: {
13
13
  newQuery: "bar",
14
14
  },
15
15
  },
@@ -23,11 +23,11 @@ Scenarios.Versioning_RenamedFrom_NewInterface = passOnSuccess({
23
23
  uri: `/versioning/renamed-from/api-version:v2/interface/test`,
24
24
  method: `post`,
25
25
  request: {
26
- body: {
26
+ body: json({
27
27
  newProp: "foo",
28
28
  enumProp: "newEnumMember",
29
29
  unionProp: 10,
30
- },
30
+ }),
31
31
  },
32
32
  response: {
33
33
  status: 200,
@@ -1 +1 @@
1
- {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/versioning/renamedFrom/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAoC,EAAE,CAAC;AAE7D,SAAS,CAAC,4BAA4B,GAAG,aAAa,CAAC;IACrD,GAAG,EAAE,8CAA8C;IACnD,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,eAAe;YACzB,SAAS,EAAE,EAAE;SACd;QACD,MAAM,EAAE;YACN,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;KACzE;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC;AAEH,SAAS,CAAC,mCAAmC,GAAG,aAAa,CAAC;IAC5D,GAAG,EAAE,wDAAwD;IAC7D,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,eAAe;YACzB,SAAS,EAAE,EAAE;SACd;KACF;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;KACzE;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC"}
1
+ {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/versioning/renamedFrom/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAoC,EAAE,CAAC;AAE7D,SAAS,CAAC,4BAA4B,GAAG,aAAa,CAAC;IACrD,GAAG,EAAE,8CAA8C;IACnD,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE,IAAI,CAAC;YACT,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,eAAe;YACzB,SAAS,EAAE,EAAE;SACd,CAAC;QACF,KAAK,EAAE;YACL,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;KACzE;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC;AAEH,SAAS,CAAC,mCAAmC,GAAG,aAAa,CAAC;IAC5D,GAAG,EAAE,wDAAwD;IAC7D,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE,IAAI,CAAC;YACT,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,eAAe;YACzB,SAAS,EAAE,EAAE;SACd,CAAC;KACH;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;KACzE;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC"}
@@ -4,7 +4,7 @@ Scenarios.Versioning_ReturnTypeChangedFrom_test = passOnSuccess({
4
4
  uri: `/versioning/return-type-changed-from/api-version:v2/test`,
5
5
  method: `post`,
6
6
  request: {
7
- body: "test",
7
+ body: json("test"),
8
8
  headers: {
9
9
  "Content-Type": "text/plain",
10
10
  },
@@ -1 +1 @@
1
- {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/versioning/returnTypeChangedFrom/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAoC,EAAE,CAAC;AAE7D,SAAS,CAAC,qCAAqC,GAAG,aAAa,CAAC;IAC9D,GAAG,EAAE,0DAA0D;IAC/D,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,cAAc,EAAE,YAAY;SAC7B;KACF;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;KACnB;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC"}
1
+ {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/versioning/returnTypeChangedFrom/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAoC,EAAE,CAAC;AAE7D,SAAS,CAAC,qCAAqC,GAAG,aAAa,CAAC;IAC9D,GAAG,EAAE,0DAA0D;IAC/D,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE;YACP,cAAc,EAAE,YAAY;SAC7B;KACF;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;KACnB;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC"}
@@ -4,13 +4,13 @@ Scenarios.Versioning_TypeChangedFrom_test = passOnSuccess({
4
4
  uri: `/versioning/type-changed-from/api-version:v2/test`,
5
5
  method: `post`,
6
6
  request: {
7
- params: {
7
+ query: {
8
8
  param: "baz",
9
9
  },
10
- body: {
10
+ body: json({
11
11
  prop: "foo",
12
12
  changedProp: "bar",
13
- },
13
+ }),
14
14
  },
15
15
  response: {
16
16
  status: 200,
@@ -1 +1 @@
1
- {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/versioning/typeChangedFrom/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAoC,EAAE,CAAC;AAE7D,SAAS,CAAC,+BAA+B,GAAG,aAAa,CAAC;IACxD,GAAG,EAAE,mDAAmD;IACxD,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,MAAM,EAAE;YACN,KAAK,EAAE,KAAK;SACb;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,KAAK;SACnB;KACF;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KAChD;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC"}
1
+ {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/versioning/typeChangedFrom/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAoC,EAAE,CAAC;AAE7D,SAAS,CAAC,+BAA+B,GAAG,aAAa,CAAC;IACxD,GAAG,EAAE,mDAAmD;IACxD,MAAM,EAAE,MAAM;IACd,OAAO,EAAE;QACP,KAAK,EAAE;YACL,KAAK,EAAE,KAAK;SACb;QACD,IAAI,EAAE,IAAI,CAAC;YACT,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,KAAK;SACnB,CAAC;KACH;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KAChD;IACD,IAAI,EAAE,mBAAmB;CAC1B,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@typespec/http-specs",
3
- "version": "0.1.0-alpha.3-dev.6",
3
+ "displayName": "Http Specs",
4
+ "version": "0.1.0-alpha.30-dev.0",
4
5
  "description": "Spec scenarios and mock apis",
5
6
  "main": "dist/index.js",
6
7
  "type": "module",
@@ -11,6 +12,9 @@
11
12
  "type": "git",
12
13
  "url": "git+https://github.com/microsoft/typespec.git"
13
14
  },
15
+ "spector": {
16
+ "sourceUrl": "https://github.com/microsoft/typespec/tree/main/packages/http-specs/specs/{scenarioPath}"
17
+ },
14
18
  "author": "Microsoft",
15
19
  "license": "MIT",
16
20
  "bugs": {
@@ -18,37 +22,46 @@
18
22
  },
19
23
  "homepage": "https://github.com/microsoft/typespec#readme",
20
24
  "dependencies": {
21
- "@typespec/spec-api": "~0.1.0-alpha.0 || >=0.1.0-alpha.1-dev <0.1.0-alpha.1",
22
- "@typespec/spector": "~0.1.0-alpha.3 || >=0.1.0-alpha.4-dev <0.1.0-alpha.4"
25
+ "@typespec/spec-api": "^0.1.0-alpha.11 || >=0.1.0-alpha.12-dev <0.1.0-alpha.12",
26
+ "@typespec/spector": "^0.1.0-alpha.21 || >=0.1.0-alpha.22-dev <0.1.0-alpha.22",
27
+ "deep-equal": "^2.2.0"
23
28
  },
24
29
  "devDependencies": {
25
- "@types/multer": "^1.4.10",
26
- "@types/node": "~22.7.9",
27
- "@typespec/openapi": "~0.62.0 || >=0.63.0-dev <0.63.0",
28
- "@typespec/openapi3": "~0.62.0 || >=0.63.0-dev <0.63.0",
29
- "concurrently": "^9.0.1",
30
- "rimraf": "~6.0.1",
31
- "typescript": "~5.6.3"
30
+ "@types/deep-equal": "^1.0.1",
31
+ "@types/multer": "^2.0.0",
32
+ "@types/node": "~24.10.1",
33
+ "@typespec/json-schema": "^1.7.0",
34
+ "@typespec/openapi": "^1.7.0",
35
+ "@typespec/openapi3": "^1.7.0",
36
+ "concurrently": "^9.1.2",
37
+ "rimraf": "~6.1.2",
38
+ "typescript": "~5.9.2"
32
39
  },
33
40
  "peerDependencies": {
34
- "@typespec/compiler": "~0.62.0 || >=0.63.0-dev <0.63.0",
35
- "@typespec/http": "~0.62.0 || >=0.63.0-dev <0.63.0",
36
- "@typespec/rest": "~0.62.0 || >=0.63.0-dev <0.63.0",
37
- "@typespec/versioning": "~0.62.0 || >=0.63.0-dev <0.63.0",
38
- "@typespec/xml": "~0.62.0 || >=0.63.0-dev <0.63.0"
41
+ "@typespec/compiler": "^1.7.0",
42
+ "@typespec/http": "^1.7.0",
43
+ "@typespec/rest": "^0.77.0 || >=0.78.0-dev <0.78.0",
44
+ "@typespec/versioning": "^0.77.0 || >=0.78.0-dev <0.78.0",
45
+ "@typespec/xml": "^0.77.0 || >=0.78.0-dev <0.78.0"
39
46
  },
40
47
  "scripts": {
41
48
  "watch": "tsc -p ./tsconfig.build.json --watch",
42
- "build": "tsc -p ./tsconfig.build.json",
49
+ "build": "tsc -p ./tsconfig.build.json && pnpm validate-scenarios && pnpm build:smoke",
43
50
  "clean": "rimraf dist/ temp/",
44
- "test:e2e": "pnpm validate-scenarios && pnpm validate-mock-apis && pnpm validate-client-server",
51
+ "test:e2e": "pnpm validate-mock-apis && pnpm validate-client-server",
52
+ "validate:all": "pnpm build && pnpm regen-docs && pnpm test:e2e",
53
+ "ci": "prettier specs --write && pnpm validate:all",
45
54
  "validate-scenarios": "tsp-spector validate-scenarios ./specs",
46
55
  "generate-scenarios-summary": "tsp-spector generate-scenarios-summary ./specs",
47
56
  "regen-docs": "pnpm generate-scenarios-summary",
57
+ "upload-manifest": "tsp-spector upload-manifest ./specs --setName @typespec/http-specs --containerName manifests-typespec --storageAccountName typespec",
58
+ "upload-coverage": "tsp-spector upload-coverage --generatorName @typespec/http-specs --generatorVersion 0.1.0-alpha.4 --containerName coverages --generatorMode standard --storageAccountName typespec",
48
59
  "validate-mock-apis": "tsp-spector validate-mock-apis ./specs",
49
60
  "check-scenario-coverage": "tsp-spector check-coverage ./specs",
50
- "validate-client-server": "concurrently \"tsp-spector server start ./specs\" \"npm run client\" && tsp-spector server stop",
51
- "client": "tsp-spector server-test ./specs",
61
+ "validate-client-server": "concurrently \"tsp-spector server start ./specs\" \"pnpm knock\"; tsp-spector server stop",
62
+ "build:smoke": "tsp compile smoke/petstore --warn-as-error --no-emit && tsp compile smoke/todoapp --warn-as-error --no-emit",
63
+ "client": "pnpm knock",
64
+ "knock": "tsp-spector knock ./specs",
52
65
  "serve": "tsp-spector serve ./specs",
53
66
  "test": "echo \"Error: no test specified\""
54
67
  }
@@ -0,0 +1,96 @@
1
+ import "@typespec/rest";
2
+ import "@typespec/openapi";
3
+
4
+ @service(#{ title: "Pet Store Service" })
5
+ namespace PetStore;
6
+
7
+ using TypeSpec.Http;
8
+ using TypeSpec.Rest;
9
+ using TypeSpec.Rest.Resource;
10
+
11
+ @error
12
+ model PetStoreError {
13
+ code: int32;
14
+ message: string;
15
+ }
16
+
17
+ @resource("pets")
18
+ model Pet {
19
+ @key("petId")
20
+ id: int32;
21
+
22
+ name: string;
23
+ tag?: string;
24
+
25
+ @minValue(0)
26
+ @maxValue(20)
27
+ age: int32;
28
+
29
+ ownerId: int64;
30
+ }
31
+
32
+ @resource("toys")
33
+ @parentResource(Pet)
34
+ model Toy {
35
+ @key("toyId")
36
+ id: int64;
37
+
38
+ petId: int64;
39
+ name: string;
40
+ }
41
+
42
+ @resource("owners")
43
+ model Owner {
44
+ @key("ownerId")
45
+ id: int64;
46
+
47
+ name: string;
48
+ age: int32;
49
+ }
50
+
51
+ @resource("checkups")
52
+ model Checkup {
53
+ @key("checkupId")
54
+ id: int32;
55
+
56
+ vetName: string;
57
+ notes: string;
58
+ }
59
+
60
+ @segment("insurance")
61
+ model Insurance {
62
+ provider: string;
63
+ premium: int32;
64
+ deductible: int32;
65
+ }
66
+
67
+ interface Pets extends ResourceOperations<Pet, PetStoreError> {}
68
+
69
+ interface PetCheckups
70
+ extends ExtensionResourceCreateOrUpdate<Checkup, Pet, PetStoreError>,
71
+ ExtensionResourceList<Checkup, Pet, PetStoreError> {}
72
+
73
+ interface PetInsurance extends SingletonResourceOperations<Insurance, Pet, PetStoreError> {}
74
+
75
+ interface Toys extends ResourceRead<Toy, PetStoreError> {
76
+ @autoRoute
77
+ @listsResource(Toy)
78
+ list(
79
+ ...ParentKeysOf<Toy>,
80
+ @query nameFilter: string,
81
+ ): CollectionWithNextLink<Toy> | PetStoreError;
82
+ }
83
+
84
+ interface ToyInsurance extends SingletonResourceOperations<Insurance, Toy, PetStoreError> {}
85
+
86
+ interface Checkups
87
+ extends ResourceCreateOrUpdate<Checkup, PetStoreError>,
88
+ ResourceList<Checkup, PetStoreError> {}
89
+
90
+ interface Owners extends ResourceOperations<Owner, PetStoreError> {}
91
+
92
+ interface OwnerCheckups
93
+ extends ExtensionResourceCreateOrUpdate<Checkup, Owner, PetStoreError>,
94
+ ExtensionResourceList<Checkup, Owner, PetStoreError> {}
95
+
96
+ interface OwnerInsurance extends SingletonResourceOperations<Insurance, Owner, PetStoreError> {}