@api-client/core 0.19.10 → 0.19.12

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 (466) hide show
  1. package/LICENSE.md +9 -63
  2. package/bin/test.ts +1 -12
  3. package/build/src/browser.d.ts +3 -16
  4. package/build/src/browser.d.ts.map +1 -1
  5. package/build/src/browser.js +2 -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 +3 -16
  16. package/build/src/index.d.ts.map +1 -1
  17. package/build/src/index.js +2 -17
  18. package/build/src/index.js.map +1 -1
  19. package/build/src/modeling/ApiValidation.d.ts +26 -0
  20. package/build/src/modeling/ApiValidation.d.ts.map +1 -0
  21. package/build/src/modeling/ApiValidation.js +73 -0
  22. package/build/src/modeling/ApiValidation.js.map +1 -0
  23. package/build/src/modeling/Bindings.d.ts +3 -3
  24. package/build/src/modeling/Bindings.d.ts.map +1 -1
  25. package/build/src/modeling/Bindings.js.map +1 -1
  26. package/build/src/modeling/DomainAssociation.d.ts +5 -5
  27. package/build/src/modeling/DomainAssociation.d.ts.map +1 -1
  28. package/build/src/modeling/DomainAssociation.js.map +1 -1
  29. package/build/src/modeling/DomainEntity.d.ts +2 -3
  30. package/build/src/modeling/DomainEntity.d.ts.map +1 -1
  31. package/build/src/modeling/DomainEntity.js +1 -1
  32. package/build/src/modeling/DomainEntity.js.map +1 -1
  33. package/build/src/modeling/DomainProperty.d.ts +2 -3
  34. package/build/src/modeling/DomainProperty.d.ts.map +1 -1
  35. package/build/src/modeling/DomainProperty.js +1 -1
  36. package/build/src/modeling/DomainProperty.js.map +1 -1
  37. package/build/src/modeling/DomainValidation.d.ts +10 -4
  38. package/build/src/modeling/DomainValidation.d.ts.map +1 -1
  39. package/build/src/modeling/DomainValidation.js +55 -72
  40. package/build/src/modeling/DomainValidation.js.map +1 -1
  41. package/build/src/modeling/ai/types.d.ts +2 -2
  42. package/build/src/modeling/ai/types.d.ts.map +1 -1
  43. package/build/src/modeling/ai/types.js.map +1 -1
  44. package/build/src/{amf → modeling/amf}/DataValueGenerator.d.ts +1 -1
  45. package/build/src/modeling/amf/DataValueGenerator.d.ts.map +1 -0
  46. package/build/src/{amf → modeling/amf}/DataValueGenerator.js +2 -3
  47. package/build/src/modeling/amf/DataValueGenerator.js.map +1 -0
  48. package/build/src/modeling/amf/ShapeGenerator.d.ts +20 -20
  49. package/build/src/modeling/amf/ShapeGenerator.d.ts.map +1 -1
  50. package/build/src/modeling/amf/ShapeGenerator.js +16 -18
  51. package/build/src/modeling/amf/ShapeGenerator.js.map +1 -1
  52. package/build/src/modeling/amf/core_types.d.ts +9 -0
  53. package/build/src/modeling/amf/core_types.d.ts.map +1 -0
  54. package/build/src/modeling/amf/core_types.js +45 -0
  55. package/build/src/modeling/amf/core_types.js.map +1 -0
  56. package/build/src/modeling/validation/api_model_rules.d.ts +1 -2
  57. package/build/src/modeling/validation/api_model_rules.d.ts.map +1 -1
  58. package/build/src/modeling/validation/api_model_rules.js +0 -26
  59. package/build/src/modeling/validation/api_model_rules.js.map +1 -1
  60. package/build/src/modeling/validation/association_validation.d.ts +4 -4
  61. package/build/src/modeling/validation/association_validation.d.ts.map +1 -1
  62. package/build/src/modeling/validation/association_validation.js.map +1 -1
  63. package/build/src/modeling/validation/entity_validation.d.ts +6 -6
  64. package/build/src/modeling/validation/entity_validation.d.ts.map +1 -1
  65. package/build/src/modeling/validation/entity_validation.js.map +1 -1
  66. package/build/src/modeling/validation/property_validation.d.ts +3 -3
  67. package/build/src/modeling/validation/property_validation.d.ts.map +1 -1
  68. package/build/src/modeling/validation/property_validation.js.map +1 -1
  69. package/build/src/modeling/validation/rules.d.ts +2 -2
  70. package/build/src/modeling/validation/rules.d.ts.map +1 -1
  71. package/build/src/modeling/validation/rules.js.map +1 -1
  72. package/build/src/modeling/validation/semantic_validation.d.ts +2 -2
  73. package/build/src/modeling/validation/semantic_validation.d.ts.map +1 -1
  74. package/build/src/modeling/validation/semantic_validation.js.map +1 -1
  75. package/build/src/models/http-flows/LegacyTranslator.js +1 -1
  76. package/build/src/models/http-flows/LegacyTranslator.js.map +1 -1
  77. package/build/src/runtime/http-runner/HttpFlows.js +1 -1
  78. package/build/src/runtime/http-runner/HttpFlows.js.map +1 -1
  79. package/build/tsconfig.tsbuildinfo +1 -1
  80. package/eslint.config.js +0 -1
  81. package/package.json +11 -14
  82. package/src/events/EventTypes.ts +0 -2
  83. package/src/events/Events.ts +0 -2
  84. package/src/modeling/ApiValidation.ts +86 -0
  85. package/src/modeling/Bindings.ts +3 -3
  86. package/src/modeling/DomainAssociation.ts +5 -5
  87. package/src/modeling/DomainEntity.ts +3 -4
  88. package/src/modeling/DomainProperty.ts +3 -4
  89. package/src/modeling/DomainValidation.ts +57 -74
  90. package/src/modeling/ai/types.ts +2 -2
  91. package/src/{amf → modeling/amf}/DataValueGenerator.ts +3 -4
  92. package/src/modeling/amf/ShapeGenerator.ts +45 -61
  93. package/src/modeling/amf/core_types.ts +47 -0
  94. package/src/modeling/validation/api_model_rules.ts +1 -31
  95. package/src/modeling/validation/association_validation.ts +6 -6
  96. package/src/modeling/validation/entity_validation.ts +11 -11
  97. package/src/modeling/validation/property_validation.ts +4 -4
  98. package/src/modeling/validation/rules.ts +6 -3
  99. package/src/modeling/validation/semantic_validation.ts +11 -11
  100. package/src/models/http-flows/LegacyTranslator.ts +1 -1
  101. package/src/runtime/http-runner/HttpFlows.ts +1 -1
  102. package/tests/unit/{amf → modeling/amf}/data_value_generator.spec.ts +2 -2
  103. package/tests/unit/modeling/amf/shape_generator.spec.ts +146 -167
  104. package/tests/unit/modeling/domain_asociation.spec.ts +13 -13
  105. package/tests/unit/modeling/domain_validation.spec.ts +7 -13
  106. package/tests/unit/modeling/validation/api_model_rules.spec.ts +11 -9
  107. package/tests/unit/runtime/runners/http_assertion_runner.spec.ts +1 -1
  108. package/tests/unit/runtime/runners/http_flow_runner.spec.ts +1 -1
  109. package/tests/unit/runtime/runners/project_runner.spec.ts +1 -1
  110. package/tests/unit/runtime/runners/request_runner.spec.ts +1 -1
  111. package/tests/unit/runtime/runners/serial_runner.spec.ts +1 -1
  112. package/build/src/amf/AmfMixin.d.ts +0 -396
  113. package/build/src/amf/AmfMixin.d.ts.map +0 -1
  114. package/build/src/amf/AmfMixin.js +0 -1138
  115. package/build/src/amf/AmfMixin.js.map +0 -1
  116. package/build/src/amf/AmfSerializer.d.ts +0 -137
  117. package/build/src/amf/AmfSerializer.d.ts.map +0 -1
  118. package/build/src/amf/AmfSerializer.js +0 -1947
  119. package/build/src/amf/AmfSerializer.js.map +0 -1
  120. package/build/src/amf/AmfTypes.d.ts +0 -25
  121. package/build/src/amf/AmfTypes.d.ts.map +0 -1
  122. package/build/src/amf/AmfTypes.js +0 -143
  123. package/build/src/amf/AmfTypes.js.map +0 -1
  124. package/build/src/amf/ApiExampleGenerator.d.ts +0 -40
  125. package/build/src/amf/ApiExampleGenerator.d.ts.map +0 -1
  126. package/build/src/amf/ApiExampleGenerator.js +0 -112
  127. package/build/src/amf/ApiExampleGenerator.js.map +0 -1
  128. package/build/src/amf/ApiMonacoSchemaGenerator.d.ts +0 -68
  129. package/build/src/amf/ApiMonacoSchemaGenerator.d.ts.map +0 -1
  130. package/build/src/amf/ApiMonacoSchemaGenerator.js +0 -248
  131. package/build/src/amf/ApiMonacoSchemaGenerator.js.map +0 -1
  132. package/build/src/amf/ApiSchemaGenerator.d.ts +0 -56
  133. package/build/src/amf/ApiSchemaGenerator.d.ts.map +0 -1
  134. package/build/src/amf/ApiSchemaGenerator.js +0 -94
  135. package/build/src/amf/ApiSchemaGenerator.js.map +0 -1
  136. package/build/src/amf/ApiSchemaValues.d.ts +0 -111
  137. package/build/src/amf/ApiSchemaValues.d.ts.map +0 -1
  138. package/build/src/amf/ApiSchemaValues.js +0 -463
  139. package/build/src/amf/ApiSchemaValues.js.map +0 -1
  140. package/build/src/amf/DataValueGenerator.d.ts.map +0 -1
  141. package/build/src/amf/DataValueGenerator.js.map +0 -1
  142. package/build/src/amf/Parsing.d.ts +0 -48
  143. package/build/src/amf/Parsing.d.ts.map +0 -1
  144. package/build/src/amf/Parsing.js +0 -2
  145. package/build/src/amf/Parsing.js.map +0 -1
  146. package/build/src/amf/Utils.d.ts +0 -37
  147. package/build/src/amf/Utils.d.ts.map +0 -1
  148. package/build/src/amf/Utils.js +0 -169
  149. package/build/src/amf/Utils.js.map +0 -1
  150. package/build/src/amf/data-node/DataNodeBase.d.ts +0 -34
  151. package/build/src/amf/data-node/DataNodeBase.d.ts.map +0 -1
  152. package/build/src/amf/data-node/DataNodeBase.js +0 -77
  153. package/build/src/amf/data-node/DataNodeBase.js.map +0 -1
  154. package/build/src/amf/data-node/JsonDataNodeGenerator.d.ts +0 -15
  155. package/build/src/amf/data-node/JsonDataNodeGenerator.d.ts.map +0 -1
  156. package/build/src/amf/data-node/JsonDataNodeGenerator.js +0 -23
  157. package/build/src/amf/data-node/JsonDataNodeGenerator.js.map +0 -1
  158. package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.d.ts +0 -14
  159. package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.d.ts.map +0 -1
  160. package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.js +0 -48
  161. package/build/src/amf/data-node/UrlEncodedDataNodeGenerator.js.map +0 -1
  162. package/build/src/amf/data-node/XmlDataNodeGenerator.d.ts +0 -22
  163. package/build/src/amf/data-node/XmlDataNodeGenerator.d.ts.map +0 -1
  164. package/build/src/amf/data-node/XmlDataNodeGenerator.js +0 -34
  165. package/build/src/amf/data-node/XmlDataNodeGenerator.js.map +0 -1
  166. package/build/src/amf/definitions/Amf.d.ts +0 -363
  167. package/build/src/amf/definitions/Amf.d.ts.map +0 -1
  168. package/build/src/amf/definitions/Amf.js +0 -3
  169. package/build/src/amf/definitions/Amf.js.map +0 -1
  170. package/build/src/amf/definitions/Api.d.ts +0 -383
  171. package/build/src/amf/definitions/Api.d.ts.map +0 -1
  172. package/build/src/amf/definitions/Api.js +0 -2
  173. package/build/src/amf/definitions/Api.js.map +0 -1
  174. package/build/src/amf/definitions/Base.d.ts +0 -12
  175. package/build/src/amf/definitions/Base.d.ts.map +0 -1
  176. package/build/src/amf/definitions/Base.js +0 -2
  177. package/build/src/amf/definitions/Base.js.map +0 -1
  178. package/build/src/amf/definitions/Namespace.d.ts +0 -327
  179. package/build/src/amf/definitions/Namespace.d.ts.map +0 -1
  180. package/build/src/amf/definitions/Namespace.js +0 -346
  181. package/build/src/amf/definitions/Namespace.js.map +0 -1
  182. package/build/src/amf/definitions/Shapes.d.ts +0 -312
  183. package/build/src/amf/definitions/Shapes.d.ts.map +0 -1
  184. package/build/src/amf/definitions/Shapes.js +0 -87
  185. package/build/src/amf/definitions/Shapes.js.map +0 -1
  186. package/build/src/amf/models/AmfDataNode.d.ts +0 -67
  187. package/build/src/amf/models/AmfDataNode.d.ts.map +0 -1
  188. package/build/src/amf/models/AmfDataNode.js +0 -192
  189. package/build/src/amf/models/AmfDataNode.js.map +0 -1
  190. package/build/src/amf/shape/ShapeBase.d.ts +0 -74
  191. package/build/src/amf/shape/ShapeBase.d.ts.map +0 -1
  192. package/build/src/amf/shape/ShapeBase.js +0 -93
  193. package/build/src/amf/shape/ShapeBase.js.map +0 -1
  194. package/build/src/amf/shape/ShapeJsonSchemaGenerator.d.ts +0 -47
  195. package/build/src/amf/shape/ShapeJsonSchemaGenerator.d.ts.map +0 -1
  196. package/build/src/amf/shape/ShapeJsonSchemaGenerator.js +0 -420
  197. package/build/src/amf/shape/ShapeJsonSchemaGenerator.js.map +0 -1
  198. package/build/src/amf/shape/ShapeXmlSchemaGenerator.d.ts +0 -85
  199. package/build/src/amf/shape/ShapeXmlSchemaGenerator.d.ts.map +0 -1
  200. package/build/src/amf/shape/ShapeXmlSchemaGenerator.js +0 -852
  201. package/build/src/amf/shape/ShapeXmlSchemaGenerator.js.map +0 -1
  202. package/build/src/events/amf/AmfEventTypes.d.ts +0 -7
  203. package/build/src/events/amf/AmfEventTypes.d.ts.map +0 -1
  204. package/build/src/events/amf/AmfEventTypes.js +0 -7
  205. package/build/src/events/amf/AmfEventTypes.js.map +0 -1
  206. package/build/src/events/amf/AmfEvents.d.ts +0 -34
  207. package/build/src/events/amf/AmfEvents.d.ts.map +0 -1
  208. package/build/src/events/amf/AmfEvents.js +0 -63
  209. package/build/src/events/amf/AmfEvents.js.map +0 -1
  210. package/build/src/mocking/RandExp.d.ts +0 -55
  211. package/build/src/mocking/RandExp.d.ts.map +0 -1
  212. package/build/src/mocking/RandExp.js +0 -302
  213. package/build/src/mocking/RandExp.js.map +0 -1
  214. package/build/src/mocking/lib/ret.d.ts +0 -16
  215. package/build/src/mocking/lib/ret.d.ts.map +0 -1
  216. package/build/src/mocking/lib/ret.js +0 -284
  217. package/build/src/mocking/lib/ret.js.map +0 -1
  218. package/data/apis/APIC-187/APIC-187.raml +0 -21
  219. package/data/apis/APIC-187/dataType.raml +0 -132
  220. package/data/apis/APIC-187/example.raml +0 -84
  221. package/data/apis/APIC-188/APIC-188.raml +0 -21
  222. package/data/apis/APIC-188/dataType.raml +0 -132
  223. package/data/apis/APIC-188/example.raml +0 -84
  224. package/data/apis/APIC-233/APIC-233.raml +0 -15
  225. package/data/apis/APIC-391/APIC-391.raml +0 -44
  226. package/data/apis/APIC-391/examples/post-body-request-example.raml +0 -7
  227. package/data/apis/APIC-483/APIC-483.raml +0 -16
  228. package/data/apis/APIC-483/example/list-of-bank-succ.json +0 -32
  229. package/data/apis/APIC-483/schema/response-retrieve-list-bank.json +0 -68
  230. package/data/apis/APIC-487/APIC-487.raml +0 -36
  231. package/data/apis/APIC-655/APIC-655.raml +0 -44
  232. package/data/apis/APIC-655/delivery.json +0 -12
  233. package/data/apis/APIC-689/APIC-689.raml +0 -20
  234. package/data/apis/APIC-690/APIC-690.raml +0 -17
  235. package/data/apis/APIC-690/datatypes/Address.raml +0 -10
  236. package/data/apis/APIC-690/datatypes/Customer.raml +0 -17
  237. package/data/apis/APIC-690/examples/CustomerExample2.raml +0 -17
  238. package/data/apis/APIC-690/examples/CustomersExample.raml +0 -34
  239. package/data/apis/SE-10469/Purchase-Order-oagis-id-dd32f9c6c01048a19e15c423c9c741ae.json +0 -1383
  240. package/data/apis/SE-10469/SE-10469.raml +0 -11
  241. package/data/apis/SE-13092/Examples/PersonExample.raml +0 -7
  242. package/data/apis/SE-13092/SE-13092.raml +0 -37
  243. package/data/apis/SE-13092/datatypes/Address.raml +0 -5
  244. package/data/apis/SE-13092/datatypes/InlineType.raml +0 -5
  245. package/data/apis/SE-13092/datatypes/Person.raml +0 -15
  246. package/data/apis/SE-22063/SE-22063.raml +0 -14
  247. package/data/apis/SE-22063/stock.raml +0 -41
  248. package/data/apis/amf-helper-api/amf-helper-api.raml +0 -1024
  249. package/data/apis/amf-helper-api/examples/comment-example.json +0 -42
  250. package/data/apis/amf-helper-api/examples/commentCreateRequest-example.json +0 -7
  251. package/data/apis/amf-helper-api/examples/commentList-example.json +0 -48
  252. package/data/apis/amf-helper-api/examples/person.json +0 -14
  253. package/data/apis/amf-helper-api/examples/person.raml +0 -13
  254. package/data/apis/amf-helper-api/examples/person.xml +0 -14
  255. package/data/apis/amf-helper-api/libraries/comment-lib.raml +0 -143
  256. package/data/apis/amf-helper-api/library.raml +0 -7
  257. package/data/apis/amf-helper-api/schemas/person.json +0 -104
  258. package/data/apis/amf-helper-api/schemas/person.xsd +0 -26
  259. package/data/apis/amf-helper-api/traits/file.raml +0 -33
  260. package/data/apis/amf-helper-api/traits/pagination.raml +0 -80
  261. package/data/apis/amf-helper-api/traits/results.raml +0 -19
  262. package/data/apis/amf-helper-api/traits/visibility.raml +0 -14
  263. package/data/apis/amf-helper-api/types/app-person.raml +0 -101
  264. package/data/apis/amf-helper-api/types/dimensions.raml +0 -24
  265. package/data/apis/amf-helper-api/types/external-type.raml +0 -7
  266. package/data/apis/amf-helper-api/types/image.raml +0 -23
  267. package/data/apis/amf-helper-api/types/product.raml +0 -52
  268. package/data/apis/amf-helper-api/types/resource.raml +0 -11
  269. package/data/apis/amf-helper-api/types/standard-request.raml +0 -50
  270. package/data/apis/amf-helper-api/types/user.raml +0 -37
  271. package/data/apis/arc-demo-api/arc-demo-api.raml +0 -468
  272. package/data/apis/arc-demo-api/examples/e400.xml +0 -4
  273. package/data/apis/arc-demo-api/examples/e401.xml +0 -4
  274. package/data/apis/arc-demo-api/examples/e404.xml +0 -4
  275. package/data/apis/arc-demo-api/examples/image.xml +0 -5
  276. package/data/apis/arc-demo-api/examples/messages-example.json +0 -22
  277. package/data/apis/arc-demo-api/examples/messages-sent-example.json +0 -15
  278. package/data/apis/arc-demo-api/examples/person.json +0 -14
  279. package/data/apis/arc-demo-api/examples/person.url.encoded +0 -1
  280. package/data/apis/arc-demo-api/examples/person.xml +0 -14
  281. package/data/apis/arc-demo-api/examples/product.xml +0 -9
  282. package/data/apis/arc-demo-api/library.raml +0 -36
  283. package/data/apis/arc-demo-api/resourceTypes/app-person.raml +0 -49
  284. package/data/apis/arc-demo-api/resourceTypes/example-types.raml +0 -45
  285. package/data/apis/arc-demo-api/resourceTypes/image.raml +0 -23
  286. package/data/apis/arc-demo-api/resourceTypes/message-sent-type.raml +0 -23
  287. package/data/apis/arc-demo-api/resourceTypes/message-type.raml +0 -33
  288. package/data/apis/arc-demo-api/resourceTypes/product.raml +0 -52
  289. package/data/apis/arc-demo-api/resourceTypes/resource.raml +0 -11
  290. package/data/apis/arc-demo-api/schemas/error-response.xsd +0 -11
  291. package/data/apis/arc-demo-api/schemas/image.xsd +0 -11
  292. package/data/apis/arc-demo-api/schemas/person.json +0 -104
  293. package/data/apis/arc-demo-api/schemas/person.xsd +0 -26
  294. package/data/apis/arc-demo-api/schemas/product.xsd +0 -17
  295. package/data/apis/arc-demo-api/securitySchemes/basic.raml +0 -5
  296. package/data/apis/arc-demo-api/securitySchemes/oauth_2_0.raml +0 -29
  297. package/data/apis/arc-demo-api/securitySchemes/x-custom.raml +0 -26
  298. package/data/apis/arc-demo-api/traits/adminable.raml +0 -23
  299. package/data/apis/arc-demo-api/traits/pagination.raml +0 -83
  300. package/data/apis/arc-demo-api/traits/rate-limited.raml +0 -9
  301. package/data/apis/async-api/async-api.yaml +0 -96
  302. package/data/apis/example-generator-api/contact-email-example.raml +0 -6
  303. package/data/apis/example-generator-api/contact-example.raml +0 -5
  304. package/data/apis/example-generator-api/contact-fax-example.raml +0 -5
  305. package/data/apis/example-generator-api/contact-website-example.raml +0 -2
  306. package/data/apis/example-generator-api/example-1.raml +0 -6
  307. package/data/apis/example-generator-api/example-2.raml +0 -9
  308. package/data/apis/example-generator-api/example-3.raml +0 -4
  309. package/data/apis/example-generator-api/example-4.raml +0 -2
  310. package/data/apis/example-generator-api/example-5.raml +0 -4
  311. package/data/apis/example-generator-api/example-6.raml +0 -2
  312. package/data/apis/example-generator-api/example-7.raml +0 -5
  313. package/data/apis/example-generator-api/example-generator-api.raml +0 -423
  314. package/data/apis/example-generator-api/example.json +0 -14
  315. package/data/apis/example-generator-api/example.xml +0 -15
  316. package/data/apis/example-generator-api/example.xsd +0 -26
  317. package/data/apis/example-generator-api/examples/employee.raml +0 -7
  318. package/data/apis/example-generator-api/examples/employees.raml +0 -7
  319. package/data/apis/example-generator-api/linked-named-example.raml +0 -21
  320. package/data/apis/example-generator-api/named-example-with-link.raml +0 -5
  321. package/data/apis/example-generator-api/named-example.raml +0 -9
  322. package/data/apis/example-generator-api/user-json-example.raml +0 -17
  323. package/data/apis/example-generator-api/user-raml-example.raml +0 -37
  324. package/data/apis/example-generator-api/user.json +0 -8
  325. package/data/apis/example-generator-api/user.raml +0 -18
  326. package/data/apis/example-generator-api/users-json-example.raml +0 -17
  327. package/data/apis/example-generator-api/users-raml-example.raml +0 -32
  328. package/data/apis/example-generator-api/users.json +0 -8
  329. package/data/apis/expanded-api/expanded-api.raml +0 -8
  330. package/data/apis/flattened-api/flattened-api.raml +0 -8
  331. package/data/apis/multiple-servers/multiple-servers.yaml +0 -112
  332. package/data/apis/oas-3-api/oas-3-api.yaml +0 -356
  333. package/data/apis/oas-date/oas-date.yaml +0 -28
  334. package/data/apis/oas-types/oas-types.yaml +0 -159
  335. package/data/apis/oas-unions/oas-unions.yaml +0 -75
  336. package/data/apis/petstore/petstore.yaml +0 -954
  337. package/data/apis/raml-date/raml-date.raml +0 -28
  338. package/data/apis/recursive/recursive.raml +0 -14
  339. package/data/apis/schema-api/examples/person.json +0 -14
  340. package/data/apis/schema-api/examples/person.raml +0 -14
  341. package/data/apis/schema-api/examples/person.url.encoded +0 -1
  342. package/data/apis/schema-api/examples/person.xml +0 -14
  343. package/data/apis/schema-api/library/demo-types.raml +0 -43
  344. package/data/apis/schema-api/schema-api.raml +0 -656
  345. package/data/apis/schema-api/schemas/person.json +0 -104
  346. package/data/apis/schema-api/schemas/person.xsd +0 -26
  347. package/data/apis/schema-api/types/DemoPerson.raml +0 -67
  348. package/data/apis/secured-api/oauth-2-custom-settings.raml +0 -143
  349. package/data/apis/secured-api/oauth2-header-delivery.raml +0 -13
  350. package/data/apis/secured-api/oauth2-no-delivery.raml +0 -8
  351. package/data/apis/secured-api/oauth2-no-grants.raml +0 -12
  352. package/data/apis/secured-api/oauth2-pkce.raml +0 -13
  353. package/data/apis/secured-api/oauth2-query-delivery.raml +0 -13
  354. package/data/apis/secured-api/oauth_1_0.raml +0 -8
  355. package/data/apis/secured-api/oauth_1_0_no-settings.raml +0 -3
  356. package/data/apis/secured-api/oauth_1_0_no-signature.raml +0 -7
  357. package/data/apis/secured-api/oauth_1_0_signature.raml +0 -8
  358. package/data/apis/secured-api/passthrough-querystring.raml +0 -16
  359. package/data/apis/secured-api/passthrough.raml +0 -24
  360. package/data/apis/secured-api/secured-api.raml +0 -231
  361. package/data/apis/secured-api/x-custom.raml +0 -33
  362. package/data/apis/secured-api/x-other.raml +0 -29
  363. package/data/apis/secured-api/x-query-string.raml +0 -16
  364. package/data/apis/tracked-examples/datatypes/employee.raml +0 -5
  365. package/data/apis/tracked-examples/examples/employee.raml +0 -4
  366. package/data/apis/tracked-examples/examples/employees.raml +0 -8
  367. package/data/apis/tracked-examples/tracked-to-linked.raml +0 -28
  368. package/data/model.js +0 -129
  369. package/data/models/APIC-187.json +0 -11416
  370. package/data/models/APIC-188.json +0 -11416
  371. package/data/models/APIC-233.json +0 -539
  372. package/data/models/APIC-391.json +0 -1903
  373. package/data/models/APIC-483.json +0 -3110
  374. package/data/models/APIC-487.json +0 -1225
  375. package/data/models/APIC-655.json +0 -3145
  376. package/data/models/APIC-689.json +0 -797
  377. package/data/models/APIC-690.json +0 -5992
  378. package/data/models/SE-10469.json +0 -22898
  379. package/data/models/SE-13092.json +0 -2769
  380. package/data/models/SE-22063.json +0 -2314
  381. package/data/models/amf-helper-api.json +0 -84457
  382. package/data/models/arc-demo-api.json +0 -52041
  383. package/data/models/async-api.json +0 -3227
  384. package/data/models/example-generator-api.json +0 -45209
  385. package/data/models/expanded-api.json +0 -251
  386. package/data/models/flattened-api.json +0 -251
  387. package/data/models/multiple-servers.json +0 -2769
  388. package/data/models/oas-3-api.json +0 -10590
  389. package/data/models/oas-date.json +0 -637
  390. package/data/models/oas-types.json +0 -5352
  391. package/data/models/oas-unions.json +0 -1935
  392. package/data/models/petstore.json +0 -27712
  393. package/data/models/raml-date.json +0 -1114
  394. package/data/models/recursive.json +0 -610
  395. package/data/models/schema-api.json +0 -35527
  396. package/data/models/secured-api.json +0 -21071
  397. package/data/models/tracked-to-linked.json +0 -1914
  398. package/src/amf/AmfMixin.ts +0 -1726
  399. package/src/amf/AmfSerializer.ts +0 -2358
  400. package/src/amf/AmfTypes.ts +0 -147
  401. package/src/amf/ApiExampleGenerator.ts +0 -122
  402. package/src/amf/ApiMonacoSchemaGenerator.ts +0 -332
  403. package/src/amf/ApiSchemaGenerator.ts +0 -115
  404. package/src/amf/ApiSchemaValues.ts +0 -509
  405. package/src/amf/Parsing.ts +0 -50
  406. package/src/amf/Utils.ts +0 -172
  407. package/src/amf/data-node/DataNodeBase.ts +0 -83
  408. package/src/amf/data-node/JsonDataNodeGenerator.ts +0 -24
  409. package/src/amf/data-node/README.md +0 -3
  410. package/src/amf/data-node/UrlEncodedDataNodeGenerator.ts +0 -49
  411. package/src/amf/data-node/XmlDataNodeGenerator.ts +0 -46
  412. package/src/amf/definitions/Amf.ts +0 -440
  413. package/src/amf/definitions/Api.ts +0 -445
  414. package/src/amf/definitions/Base.ts +0 -13
  415. package/src/amf/definitions/Namespace.ts +0 -357
  416. package/src/amf/definitions/Shapes.ts +0 -438
  417. package/src/amf/models/AmfDataNode.ts +0 -210
  418. package/src/amf/shape/README.md +0 -4
  419. package/src/amf/shape/ShapeBase.ts +0 -174
  420. package/src/amf/shape/ShapeJsonSchemaGenerator.ts +0 -457
  421. package/src/amf/shape/ShapeXmlSchemaGenerator.ts +0 -933
  422. package/src/events/amf/AmfEventTypes.ts +0 -6
  423. package/src/events/amf/AmfEvents.ts +0 -78
  424. package/src/mocking/RandExp.ts +0 -335
  425. package/src/mocking/lib/ret.ts +0 -279
  426. package/tests/unit/amf/APIC-187.spec.ts +0 -41
  427. package/tests/unit/amf/APIC-188.spec.ts +0 -30
  428. package/tests/unit/amf/APIC-233.spec.ts +0 -32
  429. package/tests/unit/amf/APIC-391.spec.ts +0 -39
  430. package/tests/unit/amf/APIC-487.spec.ts +0 -44
  431. package/tests/unit/amf/APIC-655.spec.ts +0 -41
  432. package/tests/unit/amf/APIC-689.spec.ts +0 -28
  433. package/tests/unit/amf/APIC-690.spec.ts +0 -93
  434. package/tests/unit/amf/AmfLoader.ts +0 -538
  435. package/tests/unit/amf/AmfMixin.spec.ts +0 -1707
  436. package/tests/unit/amf/ApiExampleGenerator.spec.ts +0 -250
  437. package/tests/unit/amf/ApiMonacoSchemaGenerator.spec.ts +0 -183
  438. package/tests/unit/amf/ApiSchemaValues.spec.ts +0 -602
  439. package/tests/unit/amf/Namepsace.spec.ts +0 -494
  440. package/tests/unit/amf/SE-10469.spec.ts +0 -35
  441. package/tests/unit/amf/SE-13092.spec.ts +0 -64
  442. package/tests/unit/amf/SE-22063.spec.ts +0 -45
  443. package/tests/unit/amf/raml-examples.spec.ts +0 -43
  444. package/tests/unit/amf/schema_gen_array.spec.ts +0 -199
  445. package/tests/unit/amf/schema_gen_oas.spec.ts +0 -140
  446. package/tests/unit/amf/schema_gen_object.spec.ts +0 -279
  447. package/tests/unit/amf/schema_gen_scalar.spec.ts +0 -143
  448. package/tests/unit/amf/schema_gen_union.spec.ts +0 -401
  449. package/tests/unit/amf/schema_gen_unknown.spec.ts +0 -42
  450. package/tests/unit/amf/schema_gen_xml.spec.ts +0 -726
  451. package/tests/unit/amf/serializer/APIC-483.spec.ts +0 -36
  452. package/tests/unit/amf/serializer/Anotations.spec.ts +0 -50
  453. package/tests/unit/amf/serializer/Api.spec.ts +0 -210
  454. package/tests/unit/amf/serializer/Documentation.spec.ts +0 -52
  455. package/tests/unit/amf/serializer/Endpoints.spec.ts +0 -172
  456. package/tests/unit/amf/serializer/Operations.spec.ts +0 -330
  457. package/tests/unit/amf/serializer/Parameters.spec.ts +0 -149
  458. package/tests/unit/amf/serializer/PayloadExamples.spec.ts +0 -152
  459. package/tests/unit/amf/serializer/Security.spec.ts +0 -626
  460. package/tests/unit/amf/serializer/Server.spec.ts +0 -78
  461. package/tests/unit/amf/serializer/Shapes.spec.ts +0 -304
  462. package/tests/unit/amf/serializer/SourceMaps.spec.ts +0 -52
  463. package/tests/unit/amf/shapes/ShapeXmlSchemaGenerator.spec.ts +0 -28
  464. package/tests/unit/amf/tracked-to-linked.spec.ts +0 -90
  465. package/tests/unit/amf/xml-data-processing.spec.ts +0 -217
  466. 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
- })