@api-client/core 0.19.10 → 0.19.11

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 (429) hide show
  1. package/LICENSE.md +9 -63
  2. package/bin/test.ts +1 -12
  3. package/build/src/browser.d.ts +0 -15
  4. package/build/src/browser.d.ts.map +1 -1
  5. package/build/src/browser.js +0 -17
  6. package/build/src/browser.js.map +1 -1
  7. package/build/src/events/EventTypes.d.ts +0 -6
  8. package/build/src/events/EventTypes.d.ts.map +1 -1
  9. package/build/src/events/EventTypes.js +0 -2
  10. package/build/src/events/EventTypes.js.map +1 -1
  11. package/build/src/events/Events.d.ts +0 -2
  12. package/build/src/events/Events.d.ts.map +1 -1
  13. package/build/src/events/Events.js +0 -2
  14. package/build/src/events/Events.js.map +1 -1
  15. package/build/src/index.d.ts +0 -15
  16. package/build/src/index.d.ts.map +1 -1
  17. package/build/src/index.js +0 -17
  18. package/build/src/index.js.map +1 -1
  19. package/build/src/modeling/Bindings.d.ts +3 -3
  20. package/build/src/modeling/Bindings.d.ts.map +1 -1
  21. package/build/src/modeling/Bindings.js.map +1 -1
  22. package/build/src/modeling/DomainAssociation.d.ts +5 -5
  23. package/build/src/modeling/DomainAssociation.d.ts.map +1 -1
  24. package/build/src/modeling/DomainAssociation.js.map +1 -1
  25. package/build/src/modeling/DomainEntity.d.ts +2 -3
  26. package/build/src/modeling/DomainEntity.d.ts.map +1 -1
  27. package/build/src/modeling/DomainEntity.js +1 -1
  28. package/build/src/modeling/DomainEntity.js.map +1 -1
  29. package/build/src/modeling/DomainProperty.d.ts +2 -3
  30. package/build/src/modeling/DomainProperty.d.ts.map +1 -1
  31. package/build/src/modeling/DomainProperty.js +1 -1
  32. package/build/src/modeling/DomainProperty.js.map +1 -1
  33. package/build/src/modeling/ai/types.d.ts +2 -2
  34. package/build/src/modeling/ai/types.d.ts.map +1 -1
  35. package/build/src/modeling/ai/types.js.map +1 -1
  36. package/build/src/{amf → modeling/amf}/DataValueGenerator.d.ts +1 -1
  37. package/build/src/modeling/amf/DataValueGenerator.d.ts.map +1 -0
  38. package/build/src/{amf → modeling/amf}/DataValueGenerator.js +2 -3
  39. package/build/src/modeling/amf/DataValueGenerator.js.map +1 -0
  40. package/build/src/modeling/amf/ShapeGenerator.d.ts +20 -20
  41. package/build/src/modeling/amf/ShapeGenerator.d.ts.map +1 -1
  42. package/build/src/modeling/amf/ShapeGenerator.js +16 -18
  43. package/build/src/modeling/amf/ShapeGenerator.js.map +1 -1
  44. package/build/src/modeling/amf/core_types.d.ts +9 -0
  45. package/build/src/modeling/amf/core_types.d.ts.map +1 -0
  46. package/build/src/modeling/amf/core_types.js +45 -0
  47. package/build/src/modeling/amf/core_types.js.map +1 -0
  48. package/build/src/models/http-flows/LegacyTranslator.js +1 -1
  49. package/build/src/models/http-flows/LegacyTranslator.js.map +1 -1
  50. package/build/src/runtime/http-runner/HttpFlows.js +1 -1
  51. package/build/src/runtime/http-runner/HttpFlows.js.map +1 -1
  52. package/build/tsconfig.tsbuildinfo +1 -1
  53. package/eslint.config.js +0 -1
  54. package/package.json +11 -14
  55. package/src/events/EventTypes.ts +0 -2
  56. package/src/events/Events.ts +0 -2
  57. package/src/modeling/Bindings.ts +3 -3
  58. package/src/modeling/DomainAssociation.ts +5 -5
  59. package/src/modeling/DomainEntity.ts +3 -4
  60. package/src/modeling/DomainProperty.ts +3 -4
  61. package/src/modeling/ai/types.ts +2 -2
  62. package/src/{amf → modeling/amf}/DataValueGenerator.ts +3 -4
  63. package/src/modeling/amf/ShapeGenerator.ts +45 -61
  64. package/src/modeling/amf/core_types.ts +47 -0
  65. package/src/models/http-flows/LegacyTranslator.ts +1 -1
  66. package/src/runtime/http-runner/HttpFlows.ts +1 -1
  67. package/tests/unit/{amf → modeling/amf}/data_value_generator.spec.ts +2 -2
  68. package/tests/unit/modeling/amf/shape_generator.spec.ts +146 -167
  69. package/tests/unit/modeling/domain_asociation.spec.ts +13 -13
  70. package/tests/unit/runtime/runners/http_assertion_runner.spec.ts +1 -1
  71. package/tests/unit/runtime/runners/http_flow_runner.spec.ts +1 -1
  72. package/tests/unit/runtime/runners/project_runner.spec.ts +1 -1
  73. package/tests/unit/runtime/runners/request_runner.spec.ts +1 -1
  74. package/tests/unit/runtime/runners/serial_runner.spec.ts +1 -1
  75. package/build/src/amf/AmfMixin.d.ts +0 -396
  76. package/build/src/amf/AmfMixin.d.ts.map +0 -1
  77. package/build/src/amf/AmfMixin.js +0 -1138
  78. package/build/src/amf/AmfMixin.js.map +0 -1
  79. package/build/src/amf/AmfSerializer.d.ts +0 -137
  80. package/build/src/amf/AmfSerializer.d.ts.map +0 -1
  81. package/build/src/amf/AmfSerializer.js +0 -1947
  82. package/build/src/amf/AmfSerializer.js.map +0 -1
  83. package/build/src/amf/AmfTypes.d.ts +0 -25
  84. package/build/src/amf/AmfTypes.d.ts.map +0 -1
  85. package/build/src/amf/AmfTypes.js +0 -143
  86. package/build/src/amf/AmfTypes.js.map +0 -1
  87. package/build/src/amf/ApiExampleGenerator.d.ts +0 -40
  88. package/build/src/amf/ApiExampleGenerator.d.ts.map +0 -1
  89. package/build/src/amf/ApiExampleGenerator.js +0 -112
  90. package/build/src/amf/ApiExampleGenerator.js.map +0 -1
  91. package/build/src/amf/ApiMonacoSchemaGenerator.d.ts +0 -68
  92. package/build/src/amf/ApiMonacoSchemaGenerator.d.ts.map +0 -1
  93. package/build/src/amf/ApiMonacoSchemaGenerator.js +0 -248
  94. package/build/src/amf/ApiMonacoSchemaGenerator.js.map +0 -1
  95. package/build/src/amf/ApiSchemaGenerator.d.ts +0 -56
  96. package/build/src/amf/ApiSchemaGenerator.d.ts.map +0 -1
  97. package/build/src/amf/ApiSchemaGenerator.js +0 -94
  98. package/build/src/amf/ApiSchemaGenerator.js.map +0 -1
  99. package/build/src/amf/ApiSchemaValues.d.ts +0 -111
  100. package/build/src/amf/ApiSchemaValues.d.ts.map +0 -1
  101. package/build/src/amf/ApiSchemaValues.js +0 -463
  102. package/build/src/amf/ApiSchemaValues.js.map +0 -1
  103. package/build/src/amf/DataValueGenerator.d.ts.map +0 -1
  104. package/build/src/amf/DataValueGenerator.js.map +0 -1
  105. package/build/src/amf/Parsing.d.ts +0 -48
  106. package/build/src/amf/Parsing.d.ts.map +0 -1
  107. package/build/src/amf/Parsing.js +0 -2
  108. package/build/src/amf/Parsing.js.map +0 -1
  109. package/build/src/amf/Utils.d.ts +0 -37
  110. package/build/src/amf/Utils.d.ts.map +0 -1
  111. package/build/src/amf/Utils.js +0 -169
  112. package/build/src/amf/Utils.js.map +0 -1
  113. package/build/src/amf/data-node/DataNodeBase.d.ts +0 -34
  114. package/build/src/amf/data-node/DataNodeBase.d.ts.map +0 -1
  115. package/build/src/amf/data-node/DataNodeBase.js +0 -77
  116. package/build/src/amf/data-node/DataNodeBase.js.map +0 -1
  117. package/build/src/amf/data-node/JsonDataNodeGenerator.d.ts +0 -15
  118. package/build/src/amf/data-node/JsonDataNodeGenerator.d.ts.map +0 -1
  119. package/build/src/amf/data-node/JsonDataNodeGenerator.js +0 -23
  120. package/build/src/amf/data-node/JsonDataNodeGenerator.js.map +0 -1
  121. package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.d.ts +0 -14
  122. package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.d.ts.map +0 -1
  123. package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.js +0 -48
  124. package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.js.map +0 -1
  125. package/build/src/amf/data-node/XmlDataNodeGenerator.d.ts +0 -22
  126. package/build/src/amf/data-node/XmlDataNodeGenerator.d.ts.map +0 -1
  127. package/build/src/amf/data-node/XmlDataNodeGenerator.js +0 -34
  128. package/build/src/amf/data-node/XmlDataNodeGenerator.js.map +0 -1
  129. package/build/src/amf/definitions/Amf.d.ts +0 -363
  130. package/build/src/amf/definitions/Amf.d.ts.map +0 -1
  131. package/build/src/amf/definitions/Amf.js +0 -3
  132. package/build/src/amf/definitions/Amf.js.map +0 -1
  133. package/build/src/amf/definitions/Api.d.ts +0 -383
  134. package/build/src/amf/definitions/Api.d.ts.map +0 -1
  135. package/build/src/amf/definitions/Api.js +0 -2
  136. package/build/src/amf/definitions/Api.js.map +0 -1
  137. package/build/src/amf/definitions/Base.d.ts +0 -12
  138. package/build/src/amf/definitions/Base.d.ts.map +0 -1
  139. package/build/src/amf/definitions/Base.js +0 -2
  140. package/build/src/amf/definitions/Base.js.map +0 -1
  141. package/build/src/amf/definitions/Namespace.d.ts +0 -327
  142. package/build/src/amf/definitions/Namespace.d.ts.map +0 -1
  143. package/build/src/amf/definitions/Namespace.js +0 -346
  144. package/build/src/amf/definitions/Namespace.js.map +0 -1
  145. package/build/src/amf/definitions/Shapes.d.ts +0 -312
  146. package/build/src/amf/definitions/Shapes.d.ts.map +0 -1
  147. package/build/src/amf/definitions/Shapes.js +0 -87
  148. package/build/src/amf/definitions/Shapes.js.map +0 -1
  149. package/build/src/amf/models/AmfDataNode.d.ts +0 -67
  150. package/build/src/amf/models/AmfDataNode.d.ts.map +0 -1
  151. package/build/src/amf/models/AmfDataNode.js +0 -192
  152. package/build/src/amf/models/AmfDataNode.js.map +0 -1
  153. package/build/src/amf/shape/ShapeBase.d.ts +0 -74
  154. package/build/src/amf/shape/ShapeBase.d.ts.map +0 -1
  155. package/build/src/amf/shape/ShapeBase.js +0 -93
  156. package/build/src/amf/shape/ShapeBase.js.map +0 -1
  157. package/build/src/amf/shape/ShapeJsonSchemaGenerator.d.ts +0 -47
  158. package/build/src/amf/shape/ShapeJsonSchemaGenerator.d.ts.map +0 -1
  159. package/build/src/amf/shape/ShapeJsonSchemaGenerator.js +0 -420
  160. package/build/src/amf/shape/ShapeJsonSchemaGenerator.js.map +0 -1
  161. package/build/src/amf/shape/ShapeXmlSchemaGenerator.d.ts +0 -85
  162. package/build/src/amf/shape/ShapeXmlSchemaGenerator.d.ts.map +0 -1
  163. package/build/src/amf/shape/ShapeXmlSchemaGenerator.js +0 -852
  164. package/build/src/amf/shape/ShapeXmlSchemaGenerator.js.map +0 -1
  165. package/build/src/events/amf/AmfEventTypes.d.ts +0 -7
  166. package/build/src/events/amf/AmfEventTypes.d.ts.map +0 -1
  167. package/build/src/events/amf/AmfEventTypes.js +0 -7
  168. package/build/src/events/amf/AmfEventTypes.js.map +0 -1
  169. package/build/src/events/amf/AmfEvents.d.ts +0 -34
  170. package/build/src/events/amf/AmfEvents.d.ts.map +0 -1
  171. package/build/src/events/amf/AmfEvents.js +0 -63
  172. package/build/src/events/amf/AmfEvents.js.map +0 -1
  173. package/build/src/mocking/RandExp.d.ts +0 -55
  174. package/build/src/mocking/RandExp.d.ts.map +0 -1
  175. package/build/src/mocking/RandExp.js +0 -302
  176. package/build/src/mocking/RandExp.js.map +0 -1
  177. package/build/src/mocking/lib/ret.d.ts +0 -16
  178. package/build/src/mocking/lib/ret.d.ts.map +0 -1
  179. package/build/src/mocking/lib/ret.js +0 -284
  180. package/build/src/mocking/lib/ret.js.map +0 -1
  181. package/data/apis/APIC-187/APIC-187.raml +0 -21
  182. package/data/apis/APIC-187/dataType.raml +0 -132
  183. package/data/apis/APIC-187/example.raml +0 -84
  184. package/data/apis/APIC-188/APIC-188.raml +0 -21
  185. package/data/apis/APIC-188/dataType.raml +0 -132
  186. package/data/apis/APIC-188/example.raml +0 -84
  187. package/data/apis/APIC-233/APIC-233.raml +0 -15
  188. package/data/apis/APIC-391/APIC-391.raml +0 -44
  189. package/data/apis/APIC-391/examples/post-body-request-example.raml +0 -7
  190. package/data/apis/APIC-483/APIC-483.raml +0 -16
  191. package/data/apis/APIC-483/example/list-of-bank-succ.json +0 -32
  192. package/data/apis/APIC-483/schema/response-retrieve-list-bank.json +0 -68
  193. package/data/apis/APIC-487/APIC-487.raml +0 -36
  194. package/data/apis/APIC-655/APIC-655.raml +0 -44
  195. package/data/apis/APIC-655/delivery.json +0 -12
  196. package/data/apis/APIC-689/APIC-689.raml +0 -20
  197. package/data/apis/APIC-690/APIC-690.raml +0 -17
  198. package/data/apis/APIC-690/datatypes/Address.raml +0 -10
  199. package/data/apis/APIC-690/datatypes/Customer.raml +0 -17
  200. package/data/apis/APIC-690/examples/CustomerExample2.raml +0 -17
  201. package/data/apis/APIC-690/examples/CustomersExample.raml +0 -34
  202. package/data/apis/SE-10469/Purchase-Order-oagis-id-dd32f9c6c01048a19e15c423c9c741ae.json +0 -1383
  203. package/data/apis/SE-10469/SE-10469.raml +0 -11
  204. package/data/apis/SE-13092/Examples/PersonExample.raml +0 -7
  205. package/data/apis/SE-13092/SE-13092.raml +0 -37
  206. package/data/apis/SE-13092/datatypes/Address.raml +0 -5
  207. package/data/apis/SE-13092/datatypes/InlineType.raml +0 -5
  208. package/data/apis/SE-13092/datatypes/Person.raml +0 -15
  209. package/data/apis/SE-22063/SE-22063.raml +0 -14
  210. package/data/apis/SE-22063/stock.raml +0 -41
  211. package/data/apis/amf-helper-api/amf-helper-api.raml +0 -1024
  212. package/data/apis/amf-helper-api/examples/comment-example.json +0 -42
  213. package/data/apis/amf-helper-api/examples/commentCreateRequest-example.json +0 -7
  214. package/data/apis/amf-helper-api/examples/commentList-example.json +0 -48
  215. package/data/apis/amf-helper-api/examples/person.json +0 -14
  216. package/data/apis/amf-helper-api/examples/person.raml +0 -13
  217. package/data/apis/amf-helper-api/examples/person.xml +0 -14
  218. package/data/apis/amf-helper-api/libraries/comment-lib.raml +0 -143
  219. package/data/apis/amf-helper-api/library.raml +0 -7
  220. package/data/apis/amf-helper-api/schemas/person.json +0 -104
  221. package/data/apis/amf-helper-api/schemas/person.xsd +0 -26
  222. package/data/apis/amf-helper-api/traits/file.raml +0 -33
  223. package/data/apis/amf-helper-api/traits/pagination.raml +0 -80
  224. package/data/apis/amf-helper-api/traits/results.raml +0 -19
  225. package/data/apis/amf-helper-api/traits/visibility.raml +0 -14
  226. package/data/apis/amf-helper-api/types/app-person.raml +0 -101
  227. package/data/apis/amf-helper-api/types/dimensions.raml +0 -24
  228. package/data/apis/amf-helper-api/types/external-type.raml +0 -7
  229. package/data/apis/amf-helper-api/types/image.raml +0 -23
  230. package/data/apis/amf-helper-api/types/product.raml +0 -52
  231. package/data/apis/amf-helper-api/types/resource.raml +0 -11
  232. package/data/apis/amf-helper-api/types/standard-request.raml +0 -50
  233. package/data/apis/amf-helper-api/types/user.raml +0 -37
  234. package/data/apis/arc-demo-api/arc-demo-api.raml +0 -468
  235. package/data/apis/arc-demo-api/examples/e400.xml +0 -4
  236. package/data/apis/arc-demo-api/examples/e401.xml +0 -4
  237. package/data/apis/arc-demo-api/examples/e404.xml +0 -4
  238. package/data/apis/arc-demo-api/examples/image.xml +0 -5
  239. package/data/apis/arc-demo-api/examples/messages-example.json +0 -22
  240. package/data/apis/arc-demo-api/examples/messages-sent-example.json +0 -15
  241. package/data/apis/arc-demo-api/examples/person.json +0 -14
  242. package/data/apis/arc-demo-api/examples/person.url.encoded +0 -1
  243. package/data/apis/arc-demo-api/examples/person.xml +0 -14
  244. package/data/apis/arc-demo-api/examples/product.xml +0 -9
  245. package/data/apis/arc-demo-api/library.raml +0 -36
  246. package/data/apis/arc-demo-api/resourceTypes/app-person.raml +0 -49
  247. package/data/apis/arc-demo-api/resourceTypes/example-types.raml +0 -45
  248. package/data/apis/arc-demo-api/resourceTypes/image.raml +0 -23
  249. package/data/apis/arc-demo-api/resourceTypes/message-sent-type.raml +0 -23
  250. package/data/apis/arc-demo-api/resourceTypes/message-type.raml +0 -33
  251. package/data/apis/arc-demo-api/resourceTypes/product.raml +0 -52
  252. package/data/apis/arc-demo-api/resourceTypes/resource.raml +0 -11
  253. package/data/apis/arc-demo-api/schemas/error-response.xsd +0 -11
  254. package/data/apis/arc-demo-api/schemas/image.xsd +0 -11
  255. package/data/apis/arc-demo-api/schemas/person.json +0 -104
  256. package/data/apis/arc-demo-api/schemas/person.xsd +0 -26
  257. package/data/apis/arc-demo-api/schemas/product.xsd +0 -17
  258. package/data/apis/arc-demo-api/securitySchemes/basic.raml +0 -5
  259. package/data/apis/arc-demo-api/securitySchemes/oauth_2_0.raml +0 -29
  260. package/data/apis/arc-demo-api/securitySchemes/x-custom.raml +0 -26
  261. package/data/apis/arc-demo-api/traits/adminable.raml +0 -23
  262. package/data/apis/arc-demo-api/traits/pagination.raml +0 -83
  263. package/data/apis/arc-demo-api/traits/rate-limited.raml +0 -9
  264. package/data/apis/async-api/async-api.yaml +0 -96
  265. package/data/apis/example-generator-api/contact-email-example.raml +0 -6
  266. package/data/apis/example-generator-api/contact-example.raml +0 -5
  267. package/data/apis/example-generator-api/contact-fax-example.raml +0 -5
  268. package/data/apis/example-generator-api/contact-website-example.raml +0 -2
  269. package/data/apis/example-generator-api/example-1.raml +0 -6
  270. package/data/apis/example-generator-api/example-2.raml +0 -9
  271. package/data/apis/example-generator-api/example-3.raml +0 -4
  272. package/data/apis/example-generator-api/example-4.raml +0 -2
  273. package/data/apis/example-generator-api/example-5.raml +0 -4
  274. package/data/apis/example-generator-api/example-6.raml +0 -2
  275. package/data/apis/example-generator-api/example-7.raml +0 -5
  276. package/data/apis/example-generator-api/example-generator-api.raml +0 -423
  277. package/data/apis/example-generator-api/example.json +0 -14
  278. package/data/apis/example-generator-api/example.xml +0 -15
  279. package/data/apis/example-generator-api/example.xsd +0 -26
  280. package/data/apis/example-generator-api/examples/employee.raml +0 -7
  281. package/data/apis/example-generator-api/examples/employees.raml +0 -7
  282. package/data/apis/example-generator-api/linked-named-example.raml +0 -21
  283. package/data/apis/example-generator-api/named-example-with-link.raml +0 -5
  284. package/data/apis/example-generator-api/named-example.raml +0 -9
  285. package/data/apis/example-generator-api/user-json-example.raml +0 -17
  286. package/data/apis/example-generator-api/user-raml-example.raml +0 -37
  287. package/data/apis/example-generator-api/user.json +0 -8
  288. package/data/apis/example-generator-api/user.raml +0 -18
  289. package/data/apis/example-generator-api/users-json-example.raml +0 -17
  290. package/data/apis/example-generator-api/users-raml-example.raml +0 -32
  291. package/data/apis/example-generator-api/users.json +0 -8
  292. package/data/apis/expanded-api/expanded-api.raml +0 -8
  293. package/data/apis/flattened-api/flattened-api.raml +0 -8
  294. package/data/apis/multiple-servers/multiple-servers.yaml +0 -112
  295. package/data/apis/oas-3-api/oas-3-api.yaml +0 -356
  296. package/data/apis/oas-date/oas-date.yaml +0 -28
  297. package/data/apis/oas-types/oas-types.yaml +0 -159
  298. package/data/apis/oas-unions/oas-unions.yaml +0 -75
  299. package/data/apis/petstore/petstore.yaml +0 -954
  300. package/data/apis/raml-date/raml-date.raml +0 -28
  301. package/data/apis/recursive/recursive.raml +0 -14
  302. package/data/apis/schema-api/examples/person.json +0 -14
  303. package/data/apis/schema-api/examples/person.raml +0 -14
  304. package/data/apis/schema-api/examples/person.url.encoded +0 -1
  305. package/data/apis/schema-api/examples/person.xml +0 -14
  306. package/data/apis/schema-api/library/demo-types.raml +0 -43
  307. package/data/apis/schema-api/schema-api.raml +0 -656
  308. package/data/apis/schema-api/schemas/person.json +0 -104
  309. package/data/apis/schema-api/schemas/person.xsd +0 -26
  310. package/data/apis/schema-api/types/DemoPerson.raml +0 -67
  311. package/data/apis/secured-api/oauth-2-custom-settings.raml +0 -143
  312. package/data/apis/secured-api/oauth2-header-delivery.raml +0 -13
  313. package/data/apis/secured-api/oauth2-no-delivery.raml +0 -8
  314. package/data/apis/secured-api/oauth2-no-grants.raml +0 -12
  315. package/data/apis/secured-api/oauth2-pkce.raml +0 -13
  316. package/data/apis/secured-api/oauth2-query-delivery.raml +0 -13
  317. package/data/apis/secured-api/oauth_1_0.raml +0 -8
  318. package/data/apis/secured-api/oauth_1_0_no-settings.raml +0 -3
  319. package/data/apis/secured-api/oauth_1_0_no-signature.raml +0 -7
  320. package/data/apis/secured-api/oauth_1_0_signature.raml +0 -8
  321. package/data/apis/secured-api/passthrough-querystring.raml +0 -16
  322. package/data/apis/secured-api/passthrough.raml +0 -24
  323. package/data/apis/secured-api/secured-api.raml +0 -231
  324. package/data/apis/secured-api/x-custom.raml +0 -33
  325. package/data/apis/secured-api/x-other.raml +0 -29
  326. package/data/apis/secured-api/x-query-string.raml +0 -16
  327. package/data/apis/tracked-examples/datatypes/employee.raml +0 -5
  328. package/data/apis/tracked-examples/examples/employee.raml +0 -4
  329. package/data/apis/tracked-examples/examples/employees.raml +0 -8
  330. package/data/apis/tracked-examples/tracked-to-linked.raml +0 -28
  331. package/data/model.js +0 -129
  332. package/data/models/APIC-187.json +0 -11416
  333. package/data/models/APIC-188.json +0 -11416
  334. package/data/models/APIC-233.json +0 -539
  335. package/data/models/APIC-391.json +0 -1903
  336. package/data/models/APIC-483.json +0 -3110
  337. package/data/models/APIC-487.json +0 -1225
  338. package/data/models/APIC-655.json +0 -3145
  339. package/data/models/APIC-689.json +0 -797
  340. package/data/models/APIC-690.json +0 -5992
  341. package/data/models/SE-10469.json +0 -22898
  342. package/data/models/SE-13092.json +0 -2769
  343. package/data/models/SE-22063.json +0 -2314
  344. package/data/models/amf-helper-api.json +0 -84457
  345. package/data/models/arc-demo-api.json +0 -52041
  346. package/data/models/async-api.json +0 -3227
  347. package/data/models/example-generator-api.json +0 -45209
  348. package/data/models/expanded-api.json +0 -251
  349. package/data/models/flattened-api.json +0 -251
  350. package/data/models/multiple-servers.json +0 -2769
  351. package/data/models/oas-3-api.json +0 -10590
  352. package/data/models/oas-date.json +0 -637
  353. package/data/models/oas-types.json +0 -5352
  354. package/data/models/oas-unions.json +0 -1935
  355. package/data/models/petstore.json +0 -27712
  356. package/data/models/raml-date.json +0 -1114
  357. package/data/models/recursive.json +0 -610
  358. package/data/models/schema-api.json +0 -35527
  359. package/data/models/secured-api.json +0 -21071
  360. package/data/models/tracked-to-linked.json +0 -1914
  361. package/src/amf/AmfMixin.ts +0 -1726
  362. package/src/amf/AmfSerializer.ts +0 -2358
  363. package/src/amf/AmfTypes.ts +0 -147
  364. package/src/amf/ApiExampleGenerator.ts +0 -122
  365. package/src/amf/ApiMonacoSchemaGenerator.ts +0 -332
  366. package/src/amf/ApiSchemaGenerator.ts +0 -115
  367. package/src/amf/ApiSchemaValues.ts +0 -509
  368. package/src/amf/Parsing.ts +0 -50
  369. package/src/amf/Utils.ts +0 -172
  370. package/src/amf/data-node/DataNodeBase.ts +0 -83
  371. package/src/amf/data-node/JsonDataNodeGenerator.ts +0 -24
  372. package/src/amf/data-node/README.md +0 -3
  373. package/src/amf/data-node/UrlEncodedDataNodeGenerator.ts +0 -49
  374. package/src/amf/data-node/XmlDataNodeGenerator.ts +0 -46
  375. package/src/amf/definitions/Amf.ts +0 -440
  376. package/src/amf/definitions/Api.ts +0 -445
  377. package/src/amf/definitions/Base.ts +0 -13
  378. package/src/amf/definitions/Namespace.ts +0 -357
  379. package/src/amf/definitions/Shapes.ts +0 -438
  380. package/src/amf/models/AmfDataNode.ts +0 -210
  381. package/src/amf/shape/README.md +0 -4
  382. package/src/amf/shape/ShapeBase.ts +0 -174
  383. package/src/amf/shape/ShapeJsonSchemaGenerator.ts +0 -457
  384. package/src/amf/shape/ShapeXmlSchemaGenerator.ts +0 -933
  385. package/src/events/amf/AmfEventTypes.ts +0 -6
  386. package/src/events/amf/AmfEvents.ts +0 -78
  387. package/src/mocking/RandExp.ts +0 -335
  388. package/src/mocking/lib/ret.ts +0 -279
  389. package/tests/unit/amf/APIC-187.spec.ts +0 -41
  390. package/tests/unit/amf/APIC-188.spec.ts +0 -30
  391. package/tests/unit/amf/APIC-233.spec.ts +0 -32
  392. package/tests/unit/amf/APIC-391.spec.ts +0 -39
  393. package/tests/unit/amf/APIC-487.spec.ts +0 -44
  394. package/tests/unit/amf/APIC-655.spec.ts +0 -41
  395. package/tests/unit/amf/APIC-689.spec.ts +0 -28
  396. package/tests/unit/amf/APIC-690.spec.ts +0 -93
  397. package/tests/unit/amf/AmfLoader.ts +0 -538
  398. package/tests/unit/amf/AmfMixin.spec.ts +0 -1707
  399. package/tests/unit/amf/ApiExampleGenerator.spec.ts +0 -250
  400. package/tests/unit/amf/ApiMonacoSchemaGenerator.spec.ts +0 -183
  401. package/tests/unit/amf/ApiSchemaValues.spec.ts +0 -602
  402. package/tests/unit/amf/Namepsace.spec.ts +0 -494
  403. package/tests/unit/amf/SE-10469.spec.ts +0 -35
  404. package/tests/unit/amf/SE-13092.spec.ts +0 -64
  405. package/tests/unit/amf/SE-22063.spec.ts +0 -45
  406. package/tests/unit/amf/raml-examples.spec.ts +0 -43
  407. package/tests/unit/amf/schema_gen_array.spec.ts +0 -199
  408. package/tests/unit/amf/schema_gen_oas.spec.ts +0 -140
  409. package/tests/unit/amf/schema_gen_object.spec.ts +0 -279
  410. package/tests/unit/amf/schema_gen_scalar.spec.ts +0 -143
  411. package/tests/unit/amf/schema_gen_union.spec.ts +0 -401
  412. package/tests/unit/amf/schema_gen_unknown.spec.ts +0 -42
  413. package/tests/unit/amf/schema_gen_xml.spec.ts +0 -726
  414. package/tests/unit/amf/serializer/APIC-483.spec.ts +0 -36
  415. package/tests/unit/amf/serializer/Anotations.spec.ts +0 -50
  416. package/tests/unit/amf/serializer/Api.spec.ts +0 -210
  417. package/tests/unit/amf/serializer/Documentation.spec.ts +0 -52
  418. package/tests/unit/amf/serializer/Endpoints.spec.ts +0 -172
  419. package/tests/unit/amf/serializer/Operations.spec.ts +0 -330
  420. package/tests/unit/amf/serializer/Parameters.spec.ts +0 -149
  421. package/tests/unit/amf/serializer/PayloadExamples.spec.ts +0 -152
  422. package/tests/unit/amf/serializer/Security.spec.ts +0 -626
  423. package/tests/unit/amf/serializer/Server.spec.ts +0 -78
  424. package/tests/unit/amf/serializer/Shapes.spec.ts +0 -304
  425. package/tests/unit/amf/serializer/SourceMaps.spec.ts +0 -52
  426. package/tests/unit/amf/shapes/ShapeXmlSchemaGenerator.spec.ts +0 -28
  427. package/tests/unit/amf/tracked-to-linked.spec.ts +0 -90
  428. package/tests/unit/amf/xml-data-processing.spec.ts +0 -217
  429. package/tests/unit/events/amf.spec.ts +0 -151
@@ -1,36 +0,0 @@
1
- import { test } from '@japa/runner'
2
- import { AmfLoader } from '../AmfLoader.js'
3
- import { AmfSerializer } from '../../../../src/amf/AmfSerializer.js'
4
- import type { IAmfDocument } from '../../../../src/amf/definitions/Amf.js'
5
- import type { IApiNodeShape, IApiTupleShape } from '../../../../src/amf/definitions/Shapes.js'
6
- import { AmfNamespace } from '../../../../src/amf/definitions/Namespace.js'
7
-
8
- test.group('APIC-483', (group) => {
9
- const fileName = 'APIC-483'
10
- const loader = new AmfLoader()
11
-
12
- let api: IAmfDocument
13
- let serializer: AmfSerializer
14
- group.setup(async () => {
15
- api = await loader.getGraph(fileName)
16
- serializer = new AmfSerializer()
17
- serializer.amf = api
18
- })
19
-
20
- test('serializes a TupleShape', ({ assert }) => {
21
- const expects = loader.lookupExpects(api, '/banks', 'post')
22
- // @ts-expect-error Used in testing
23
- const payload = expects[loader._getAmfKey(AmfNamespace.aml.vocabularies.apiContract.payload)][0]
24
- const shape = payload[serializer._getAmfKey(AmfNamespace.aml.vocabularies.shapes.schema)][0]
25
- const result = serializer.unknownShape(shape) as IApiNodeShape
26
- const { examples, properties } = result
27
-
28
- // serializer recognizes that the this example is referenced to a payload and not to a type.
29
- assert.lengthOf(examples, 0, 'has the examples')
30
- assert.lengthOf(properties, 1, 'has the properties')
31
- const array = properties[0].range as IApiTupleShape
32
- const { types, items } = array
33
- assert.include(types, AmfNamespace.aml.vocabularies.shapes.TupleShape, 'range has the TupleShape')
34
- assert.lengthOf(items, 1, 'range has the items')
35
- })
36
- })
@@ -1,50 +0,0 @@
1
- import { test } from '@japa/runner'
2
- import { AmfSerializer } from '../../../../src/amf/AmfSerializer.js'
3
- import type { IAmfDocument } from '../../../../src/amf/definitions/Amf.js'
4
- import type { IApiObjectNode, IApiScalarNode } from '../../../../src/amf/definitions/Shapes.js'
5
- import { AmfLoader } from '../AmfLoader.js'
6
-
7
- const loader = new AmfLoader()
8
-
9
- test.group('Annotations', (group) => {
10
- let api: IAmfDocument
11
- let serializer: AmfSerializer
12
- group.setup(async () => {
13
- api = await loader.getGraph('amf-helper-api')
14
- serializer = new AmfSerializer()
15
- serializer.amf = api
16
- })
17
-
18
- test('ObjectNode annotations', ({ assert }) => {
19
- const shape = loader.lookupOperation(api, '/about', 'get')
20
- const result = serializer.operation(shape)
21
- assert.typeOf(result, 'object', 'returns an object')
22
- const { customDomainProperties } = result
23
- assert.typeOf(customDomainProperties, 'array', 'has the customDomainProperties')
24
- assert.lengthOf(customDomainProperties, 1, 'has a single annotation')
25
- const [annotation] = customDomainProperties
26
- assert.equal(annotation.name, 'clearanceLevel', 'has the extensionName')
27
- assert.typeOf(annotation.extension, 'object', 'has the extension')
28
- const { properties } = annotation.extension as IApiObjectNode
29
- assert.typeOf(properties, 'object', 'has properties')
30
- const { level, signature } = properties
31
- assert.typeOf(level, 'object', 'has the level property')
32
- assert.typeOf(signature, 'object', 'has the level property')
33
- })
34
-
35
- test('ScalarShape annotations', ({ assert }) => {
36
- const shape = loader.lookupOperation(api, '/files', 'post')
37
- const result = serializer.operation(shape)
38
- assert.typeOf(result, 'object', 'returns an object')
39
- const { customDomainProperties } = result
40
- assert.typeOf(customDomainProperties, 'array', 'has the customDomainProperties')
41
- assert.lengthOf(customDomainProperties, 1, 'has a single annotation')
42
- const [annotation] = customDomainProperties
43
- assert.equal(annotation.name, 'deprecated', 'has the extensionName')
44
- assert.typeOf(annotation.extension, 'object', 'has the extension')
45
-
46
- const { value, dataType } = annotation.extension as IApiScalarNode
47
- assert.equal(dataType, 'http://www.w3.org/2001/XMLSchema#string', 'has the dataType')
48
- assert.equal(value, 'This operation is deprecated and will be removed.', 'has the value')
49
- })
50
- })
@@ -1,210 +0,0 @@
1
- import { test } from '@japa/runner'
2
- import { AmfLoader } from '../AmfLoader.js'
3
- import { AmfSerializer } from '../../../../src/amf/AmfSerializer.js'
4
- import type { IAmfDomainElement } from '../../../../src/amf/definitions/Amf.js'
5
-
6
- const loader = new AmfLoader()
7
-
8
- test.group('apiSummary()', (group) => {
9
- let petstore: IAmfDomainElement
10
- let demoApi: IAmfDomainElement
11
- let petstoreSerializer: AmfSerializer
12
- let demoSerializer: AmfSerializer
13
-
14
- group.setup(async () => {
15
- const a1 = await loader.getGraph('petstore')
16
- const a2 = await loader.getGraph('arc-demo-api')
17
- petstoreSerializer = new AmfSerializer(a1)
18
- demoSerializer = new AmfSerializer(a2)
19
- petstore = petstoreSerializer._computeEncodes(a1) as IAmfDomainElement
20
- demoApi = demoSerializer._computeEncodes(a2) as IAmfDomainElement
21
- })
22
-
23
- test('serializes the id', ({ assert }) => {
24
- const result = demoSerializer.apiSummary(demoApi)
25
- assert.typeOf(result.id, 'string', 'has the id')
26
- assert.equal(result.id, demoApi['@id'], 'has the web api id')
27
- })
28
-
29
- test('serializes the types', ({ assert }) => {
30
- const result = demoSerializer.apiSummary(demoApi)
31
- assert.typeOf(result.types, 'array', 'has the id')
32
- assert.equal(result.types.length, demoApi['@type'].length, 'has all types')
33
- })
34
-
35
- test('serializes empty customDomainProperties', ({ assert }) => {
36
- const result = demoSerializer.apiSummary(demoApi)
37
- assert.typeOf(result.customDomainProperties, 'array', 'has the customDomainProperties')
38
- assert.lengthOf(result.customDomainProperties, 0, 'has no values')
39
- })
40
-
41
- test('serializes the sourceMaps', ({ assert }) => {
42
- const result = demoSerializer.apiSummary(demoApi)
43
- assert.typeOf(result.sourceMaps, 'object', 'has the sourceMaps')
44
- })
45
-
46
- test('serializes the schemes', ({ assert }) => {
47
- const result = demoSerializer.apiSummary(demoApi)
48
- assert.deepEqual(result.schemes, ['HTTP', 'HTTPS'])
49
- })
50
-
51
- test('has default schemes', ({ assert }) => {
52
- const result = petstoreSerializer.apiSummary(petstore)
53
- assert.deepEqual(result.schemes, [])
54
- })
55
-
56
- test('serializes the accepts', ({ assert }) => {
57
- const result = demoSerializer.apiSummary(demoApi)
58
- assert.deepEqual(result.accepts, ['application/json', 'application/xml'])
59
- })
60
-
61
- test('has default accepts', ({ assert }) => {
62
- const result = petstoreSerializer.apiSummary(petstore)
63
- assert.deepEqual(result.accepts, [])
64
- })
65
-
66
- test('serializes the contentType', ({ assert }) => {
67
- const result = demoSerializer.apiSummary(demoApi)
68
- assert.deepEqual(result.contentType, ['application/json', 'application/xml'])
69
- })
70
-
71
- test('has default contentType', ({ assert }) => {
72
- const result = petstoreSerializer.apiSummary(petstore)
73
- assert.deepEqual(result.contentType, [])
74
- })
75
-
76
- test('serializes the documentations', ({ assert }) => {
77
- const result = petstoreSerializer.apiSummary(petstore)
78
- assert.typeOf(result.documentations, 'array', 'has the array')
79
- assert.lengthOf(result.documentations, 1, 'has a single documentation')
80
- })
81
-
82
- test('serializes the tags', ({ assert }) => {
83
- const result = petstoreSerializer.apiSummary(petstore)
84
- assert.typeOf(result.tags, 'array', 'has the tags')
85
- assert.lengthOf(result.tags, 3, 'has all tags')
86
- const [tag] = result.tags
87
- assert.equal(tag.name, 'pet', 'has the tags definition')
88
- })
89
-
90
- test('has default tags', ({ assert }) => {
91
- const result = demoSerializer.apiSummary(demoApi)
92
- assert.deepEqual(result.tags, [])
93
- })
94
-
95
- test('serializes the license', ({ assert }) => {
96
- const result = petstoreSerializer.apiSummary(petstore)
97
- const { name, url } = result.license!
98
- assert.equal(name, 'Apache 2.0', 'has the license.name')
99
- assert.equal(url, 'http://www.apache.org/licenses/LICENSE-2.0.html', 'has the license.url')
100
- })
101
-
102
- test('serializes the provider', ({ assert }) => {
103
- const result = petstoreSerializer.apiSummary(petstore)
104
- const { name, url, email } = result.provider!
105
- assert.equal(name, 'Swagger IO', 'has the provider.name')
106
- assert.equal(url, 'swagger.io', 'has the provider.url')
107
- assert.equal(email, 'apiteam@swagger.io', 'has the provider.email')
108
- })
109
- })
110
-
111
- test.group('api()', (group) => {
112
- let demoApi: IAmfDomainElement
113
- let demoSerializer: AmfSerializer
114
-
115
- group.setup(async () => {
116
- const a2 = await loader.getGraph('arc-demo-api')
117
- demoSerializer = new AmfSerializer(a2)
118
- demoApi = demoSerializer._computeEncodes(a2) as IAmfDomainElement
119
- })
120
-
121
- test('has the ApiSummary properties', ({ assert }) => {
122
- const result = demoSerializer.api(demoApi)
123
- assert.typeOf(result.id, 'string', 'has the id')
124
- assert.equal(result.id, demoApi['@id'], 'has the web api id')
125
- assert.deepEqual(result.schemes, ['HTTP', 'HTTPS'])
126
- assert.deepEqual(result.accepts, ['application/json', 'application/xml'])
127
- })
128
-
129
- test('has the end points', ({ assert }) => {
130
- const result = demoSerializer.api(demoApi)
131
- assert.typeOf(result.endPoints, 'array', 'has the endpoints')
132
- const [endPoint] = result.endPoints
133
- assert.equal(endPoint.path, '/test-parameters/{feature}', 'has the end point definition')
134
- })
135
-
136
- test('has the servers', ({ assert }) => {
137
- const result = demoSerializer.api(demoApi)
138
- assert.typeOf(result.servers, 'array', 'has the servers')
139
- const [server] = result.servers
140
- assert.equal(server.url, 'http://{instance}.domain.com/', 'has the server definition')
141
- })
142
- })
143
-
144
- test.group('webApi()', (group) => {
145
- let demoApi: IAmfDomainElement
146
- let demoSerializer: AmfSerializer
147
-
148
- group.setup(async () => {
149
- const a2 = await loader.getGraph('arc-demo-api')
150
- demoSerializer = new AmfSerializer(a2)
151
- demoApi = demoSerializer._computeEncodes(a2) as IAmfDomainElement
152
- })
153
-
154
- test('has the ApiSummary properties', ({ assert }) => {
155
- const result = demoSerializer.webApi(demoApi)
156
- assert.typeOf(result.id, 'string', 'has the id')
157
- assert.equal(result.id, demoApi['@id'], 'has the web api id')
158
- assert.deepEqual(result.schemes, ['HTTP', 'HTTPS'])
159
- assert.deepEqual(result.accepts, ['application/json', 'application/xml'])
160
- })
161
-
162
- test('has the end points', ({ assert }) => {
163
- const result = demoSerializer.webApi(demoApi)
164
- assert.typeOf(result.endPoints, 'array', 'has the endpoints')
165
- const [endPoint] = result.endPoints
166
- assert.equal(endPoint.path, '/test-parameters/{feature}', 'has the end point definition')
167
- })
168
-
169
- test('has the servers', ({ assert }) => {
170
- const result = demoSerializer.webApi(demoApi)
171
- assert.typeOf(result.servers, 'array', 'has the servers')
172
- const [server] = result.servers
173
- assert.equal(server.url, 'http://{instance}.domain.com/', 'has the server definition')
174
- })
175
- })
176
-
177
- test.group('asyncApi()', (group) => {
178
- let asyncApi: IAmfDomainElement
179
- let demoSerializer: AmfSerializer
180
- let asyncSerializer: AmfSerializer
181
-
182
- group.setup(async () => {
183
- const a2 = await loader.getGraph('arc-demo-api')
184
- const a3 = await loader.getGraph('async-api')
185
- demoSerializer = new AmfSerializer(a2)
186
- asyncSerializer = new AmfSerializer(a3)
187
- asyncApi = asyncSerializer._computeEncodes(a3) as IAmfDomainElement
188
- })
189
-
190
- test('has the ApiSummary properties', ({ assert }) => {
191
- const result = demoSerializer.asyncApi(asyncApi)
192
- assert.typeOf(result.id, 'string', 'has the id')
193
- assert.equal(result.id, asyncApi['@id'], 'has the web api id')
194
- assert.equal(result.name, 'Hello world application')
195
- })
196
-
197
- test('has the end points', ({ assert }) => {
198
- const result = demoSerializer.asyncApi(asyncApi)
199
- assert.typeOf(result.endPoints, 'array', 'has the endpoints')
200
- const [endPoint] = result.endPoints
201
- assert.equal(endPoint.path, 'hello', 'has the end point definition')
202
- })
203
-
204
- test('has the servers', ({ assert }) => {
205
- const result = demoSerializer.asyncApi(asyncApi)
206
- assert.typeOf(result.servers, 'array', 'has the servers')
207
- const [server] = result.servers
208
- assert.equal(server.url, 'broker.mycompany.com', 'has the server definition')
209
- })
210
- })
@@ -1,52 +0,0 @@
1
- import { test } from '@japa/runner'
2
- import { AmfLoader } from '../AmfLoader.js'
3
- import { AmfSerializer } from '../../../../src/amf/AmfSerializer.js'
4
- import type { IAmfDocument } from '../../../../src/amf/definitions/Amf.js'
5
- import { AmfNamespace } from '../../../../src/amf/definitions/Namespace.js'
6
-
7
- const loader = new AmfLoader()
8
-
9
- test.group('OAS documentation', (group) => {
10
- let api: IAmfDocument
11
- let serializer: AmfSerializer
12
- group.setup(async () => {
13
- api = await loader.getGraph('petstore')
14
- serializer = new AmfSerializer()
15
- serializer.amf = api
16
- })
17
-
18
- test('has the documentation properties', ({ assert }) => {
19
- const enc = serializer._computeEncodes(api)!
20
- // @ts-expect-error Used in testing
21
- const docs = enc[serializer._getAmfKey(AmfNamespace.aml.vocabularies.core.documentation)][0]
22
- const result = serializer.documentation(docs)
23
- assert.typeOf(result, 'object', 'has the result')
24
- assert.equal(result.url, 'http://swagger.io', 'has the url')
25
- assert.equal(result.description, 'Find out more about Swagger', 'has the description')
26
- assert.deepEqual(result.customDomainProperties, [], 'has no customDomainProperties')
27
- assert.typeOf(result.sourceMaps, 'object', 'has source maps')
28
- })
29
- })
30
-
31
- test.group('RAML documentation', (group) => {
32
- let api: IAmfDocument
33
- let serializer: AmfSerializer
34
- group.setup(async () => {
35
- api = await loader.getGraph('amf-helper-api')
36
- serializer = new AmfSerializer()
37
- serializer.amf = api
38
- })
39
-
40
- test('has the documentation properties', ({ assert }) => {
41
- const enc = serializer._computeEncodes(api)!
42
- // @ts-expect-error Used in testing
43
- const docs = enc[serializer._getAmfKey(AmfNamespace.aml.vocabularies.core.documentation)][0]
44
- const result = serializer.documentation(docs)
45
- assert.typeOf(result, 'object', 'has the result')
46
- assert.isUndefined(result.url, 'has no url')
47
- assert.equal(result.title, 'How to begin', 'has the title')
48
- assert.equal(result.description, 'Example content\n', 'has the description')
49
- assert.deepEqual(result.customDomainProperties, [], 'has no customDomainProperties')
50
- assert.typeOf(result.sourceMaps, 'object', 'has source maps')
51
- })
52
- })
@@ -1,172 +0,0 @@
1
- import { test } from '@japa/runner'
2
- import { AmfLoader } from '../AmfLoader.js'
3
- import { AmfSerializer } from '../../../../src/amf/AmfSerializer.js'
4
- import type { IAmfDocument } from '../../../../src/amf/definitions/Amf.js'
5
- import type { IApiObjectNode, IApiScalarShape } from '../../../../src/amf/definitions/Shapes.js'
6
- import { AmfNamespace } from '../../../../src/amf/definitions/Namespace.js'
7
-
8
- const loader = new AmfLoader()
9
-
10
- test.group('OAS endpoints', (group) => {
11
- let api: IAmfDocument
12
- let serializer: AmfSerializer
13
- group.setup(async () => {
14
- api = await loader.getGraph('petstore')
15
- serializer = new AmfSerializer()
16
- serializer.amf = api
17
- })
18
-
19
- test('translates an endpoint', ({ assert }) => {
20
- const shape = loader.lookupEndpoint(api, '/pet')
21
- const result = serializer.endPoint(shape)
22
- assert.typeOf(result, 'object', 'returns an object')
23
- assert.include(result.types, AmfNamespace.aml.vocabularies.apiContract.EndPoint, 'has the EndPoint type')
24
- assert.equal(result.path, '/pet', 'has the path')
25
- assert.typeOf(result.operations, 'array', 'has the operations')
26
- assert.lengthOf(result.operations, 2, 'has all operations')
27
- assert.typeOf(result.sourceMaps, 'object', 'has source maps')
28
- })
29
-
30
- test('adds the servers property', ({ assert }) => {
31
- const shape = loader.lookupEndpoint(api, '/pet')
32
- const result = serializer.endPoint(shape)
33
- assert.typeOf(result.servers, 'array', 'has the servers')
34
- assert.lengthOf(result.servers, 1, 'has a single server')
35
- assert.include(result.servers[0].types, AmfNamespace.aml.vocabularies.apiContract.Server, 'has the Server type')
36
- })
37
-
38
- test('adds the summary & description property', ({ assert }) => {
39
- const shape = loader.lookupEndpoint(api, '/user/{username}')
40
- const result = serializer.endPoint(shape)
41
- assert.equal(result.summary, 'Represents a user', 'has the summary')
42
- assert.typeOf(result.description, 'string', 'has description property')
43
- })
44
- })
45
-
46
- test.group('RAML endpoints', (group) => {
47
- let demoApi: IAmfDocument
48
- let arcDemoApi: IAmfDocument
49
- let demoSerializer: AmfSerializer
50
- let arcDemoSerializer: AmfSerializer
51
- group.setup(async () => {
52
- demoApi = await loader.getGraph('amf-helper-api')
53
- arcDemoApi = await loader.getGraph('arc-demo-api')
54
- demoSerializer = new AmfSerializer(demoApi)
55
- arcDemoSerializer = new AmfSerializer(arcDemoApi)
56
- })
57
-
58
- test('has annotations', ({ assert }) => {
59
- const shape = loader.lookupEndpoint(demoApi, '/annotations')
60
- const result = demoSerializer.endPoint(shape)
61
- assert.typeOf(result.customDomainProperties, 'array', 'has the array')
62
- assert.lengthOf(result.customDomainProperties, 1, 'has the annotation')
63
- const [item] = result.customDomainProperties
64
- assert.equal(item.name, 'clearanceLevel', 'has the name')
65
- const typed = item.extension as IApiObjectNode
66
- assert.typeOf(typed.properties, 'object', 'has the properties')
67
- assert.lengthOf(Object.keys(typed.properties), 2, 'has all properties')
68
- })
69
-
70
- test('has parameters', ({ assert }) => {
71
- const shape = loader.lookupEndpoint(demoApi, '/{groupId}/{assetId}/{version}')
72
- const result = demoSerializer.endPoint(shape)
73
- const { parameters } = result
74
- assert.typeOf(parameters, 'array', 'has the array')
75
- assert.lengthOf(parameters, 3, 'has the parameters')
76
- const [p1, p2, p3] = parameters
77
- assert.include(p1.types, AmfNamespace.aml.vocabularies.apiContract.Parameter, 'p1 has the type')
78
- assert.include(p2.types, AmfNamespace.aml.vocabularies.apiContract.Parameter, 'p2 has the type')
79
- assert.include(p3.types, AmfNamespace.aml.vocabularies.apiContract.Parameter, 'p3 has the type')
80
- assert.equal(p1.name, 'assetId', 'p1 has the name')
81
- assert.equal(p2.name, 'groupId', 'p2 has the name')
82
- assert.equal(p3.name, 'version', 'p3 has the name')
83
- assert.equal(p1.paramName, 'assetId', 'p1 has the paramName')
84
- assert.equal(p2.paramName, 'groupId', 'p2 has the paramName')
85
- assert.equal(p3.paramName, 'version', 'p3 has the paramName')
86
- assert.isTrue(p1.required, 'p1 has the required')
87
- assert.isTrue(p2.required, 'p2 has the required')
88
- assert.isTrue(p3.required, 'p3 has the required')
89
- assert.equal(p1.binding, 'path', 'p1 has the binding')
90
- assert.equal(p2.binding, 'path', 'p2 has the binding')
91
- assert.equal(p3.binding, 'path', 'p3 has the binding')
92
- assert.typeOf(p1.schema, 'object', 'p1 has the schema')
93
- assert.typeOf(p2.schema, 'object', 'p2 has the schema')
94
- assert.typeOf(p3.schema, 'object', 'p3 has the schema')
95
- assert.equal(
96
- (p1.schema as IApiScalarShape).dataType,
97
- AmfNamespace.w3.xmlSchema.string,
98
- 'p1.schema has the dataType'
99
- )
100
- assert.equal(
101
- (p2.schema as IApiScalarShape).dataType,
102
- AmfNamespace.w3.xmlSchema.string,
103
- 'p2.schema has the dataType'
104
- )
105
- assert.equal(
106
- (p3.schema as IApiScalarShape).dataType,
107
- AmfNamespace.aml.vocabularies.shapes.number,
108
- 'p3.schema has the dataType'
109
- )
110
- })
111
-
112
- test('adds resource type definition', ({ assert }) => {
113
- const shape = loader.lookupEndpoint(demoApi, '/files/{fileId}')
114
- const result = demoSerializer.endPoint(shape)
115
- const { operations } = result
116
- const get = operations.find((o) => o.method === 'get')!
117
- const param = get.request!.queryParameters.find((p) => p.paramName === 'access_token')
118
- assert.ok(param)
119
- })
120
-
121
- test('adds a resource type extension', ({ assert }) => {
122
- const shape = loader.lookupEndpoint(arcDemoApi, '/products')
123
- const result = arcDemoSerializer.endPoint(shape)
124
- const { extends: extensions } = result
125
- assert.typeOf(extensions, 'array', 'has the extensions array')
126
- assert.lengthOf(extensions, 1, 'has a single extension')
127
-
128
- const [type] = extensions
129
-
130
- assert.typeOf(type.id, 'string', 'has the id')
131
- assert.typeOf(type.types, 'array', 'has the types')
132
- assert.include(
133
- type.types,
134
- AmfNamespace.aml.vocabularies.apiContract.ParametrizedResourceType,
135
- 'has the type in the types'
136
- )
137
- assert.equal(type.name, 'RequestErrorResponse', 'has the name')
138
- assert.typeOf(type.target, 'object', 'has the target definition')
139
- })
140
-
141
- test('adds a trait extension', ({ assert }) => {
142
- const shape = loader.lookupEndpoint(arcDemoApi, '/orgs/{orgId}')
143
- const result = arcDemoSerializer.endPoint(shape)
144
- const { extends: extensions } = result
145
- assert.typeOf(extensions, 'array', 'has the extensions array')
146
- assert.lengthOf(extensions, 1, 'has a single extension')
147
-
148
- const [type] = extensions
149
-
150
- assert.typeOf(type.id, 'string', 'has the id')
151
- assert.typeOf(type.types, 'array', 'has the types')
152
- assert.include(type.types, AmfNamespace.aml.vocabularies.apiContract.ParametrizedTrait, 'has the type in the types')
153
- assert.equal(type.name, 'RateLimited', 'has the name')
154
- assert.typeOf(type.target, 'object', 'has the target definition')
155
- })
156
-
157
- test('adds both a trait and a resource type extensions', ({ assert }) => {
158
- const shape = loader.lookupEndpoint(arcDemoApi, '/people')
159
- const result = arcDemoSerializer.endPoint(shape)
160
- const { extends: extensions } = result
161
- assert.typeOf(extensions, 'array', 'has the extensions array')
162
- assert.lengthOf(extensions, 2, 'has both extensions')
163
-
164
- const type = extensions.find((e) =>
165
- e.types.includes(AmfNamespace.aml.vocabularies.apiContract.ParametrizedResourceType)
166
- )
167
- const trait = extensions.find((e) => e.types.includes(AmfNamespace.aml.vocabularies.apiContract.ParametrizedTrait))
168
-
169
- assert.ok(type, 'has the resource type')
170
- assert.ok(trait, 'has the trait')
171
- })
172
- })