@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
@@ -2,31 +2,9 @@ import { type AssociationBindings, type PropertyWebBindings } from '../Bindings.
2
2
  import type { DomainAssociation } from '../DomainAssociation.js'
3
3
  import type { DomainProperty } from '../DomainProperty.js'
4
4
  import type { DomainEntity } from '../DomainEntity.js'
5
- import { IAmfExampleTypes, modelTypeToAmfDataType } from '../../amf/AmfTypes.js'
6
- import { AmfNamespace } from '../../amf/definitions/Namespace.js'
7
- import {
8
- anyShape,
9
- arrayShape,
10
- fileShape,
11
- IApiAnyShape,
12
- IApiArrayShape,
13
- IApiDataExample,
14
- IApiFileShape,
15
- IApiNodeShape,
16
- IApiPropertyShape,
17
- IApiRecursiveShape,
18
- IApiScalarShape,
19
- IApiShape,
20
- IApiUnionShape,
21
- IShapeUnion,
22
- nodeShape,
23
- propertyShape,
24
- recursiveShape,
25
- scalarShape,
26
- unionShape,
27
- } from '../../amf/definitions/Shapes.js'
28
- import { AmfDataNode } from '../../amf/models/AmfDataNode.js'
29
- import { DataValueGenerator } from '../../amf/DataValueGenerator.js'
5
+ import { modelTypeToAmfDataType } from './core_types.js'
6
+ import { AmfNamespace, type Shapes, AmfDataNode, AmfTypes, ShapeHelpers } from '@api-client/amf-core'
7
+ import { DataValueGenerator } from './DataValueGenerator.js'
30
8
  import { nanoid } from '../../nanoid.js'
31
9
  import { DomainEntityKind, DomainPropertyKind } from '../../models/kinds.js'
32
10
  import type { PropertySchema } from '../types.js'
@@ -107,13 +85,13 @@ export class ShapeGenerator {
107
85
  * const amfShape = generator.entity(myDomainEntity);
108
86
  * ```
109
87
  */
110
- entity(input: DomainEntity, visited = new Set<string>()): IApiNodeShape | IApiRecursiveShape {
88
+ entity(input: DomainEntity, visited = new Set<string>()): Shapes.IApiNodeShape | Shapes.IApiRecursiveShape {
111
89
  if (visited.has(input.key)) {
112
90
  // create a recursive shape.
113
91
  return this.createRecursiveShape(input)
114
92
  }
115
93
  visited.add(input.key)
116
- const result = nodeShape(input.key)
94
+ const result = ShapeHelpers.nodeShape(input.key)
117
95
  result.id = input.key
118
96
  this.updateBaseProperties(input, result)
119
97
  result.properties = []
@@ -158,9 +136,9 @@ export class ShapeGenerator {
158
136
  * const amfShape = generator.property(myDomainProperty);
159
137
  * ```
160
138
  */
161
- property(input: DomainProperty): IApiPropertyShape {
139
+ property(input: DomainProperty): Shapes.IApiPropertyShape {
162
140
  const { required, key } = input
163
- const result = propertyShape(key)
141
+ const result = ShapeHelpers.propertyShape(key)
164
142
  result.path = `${AmfNamespace.aml.vocabularies.data.key}${input.info.name}`
165
143
  if (required) {
166
144
  result.minCount = 1
@@ -198,9 +176,9 @@ export class ShapeGenerator {
198
176
  * const amfShape = generator.associationProperty(myDomainAssociation);
199
177
  * ```
200
178
  */
201
- associationProperty(input: DomainAssociation, visited: Set<string> = new Set<string>()): IApiPropertyShape {
179
+ associationProperty(input: DomainAssociation, visited: Set<string> = new Set<string>()): Shapes.IApiPropertyShape {
202
180
  const { required, key } = input
203
- const result = propertyShape(key)
181
+ const result = ShapeHelpers.propertyShape(key)
204
182
  result.path = `${AmfNamespace.aml.vocabularies.data.key}${input.info.name}`
205
183
  if (required) {
206
184
  result.minCount = 1
@@ -219,7 +197,7 @@ export class ShapeGenerator {
219
197
  * recursive shape generation and avoids infinite loops. Defaults to a new empty `Set`.
220
198
  * @returns The range value for the PropertyShape.
221
199
  */
222
- associationShape(input: DomainAssociation, visited: Set<string> = new Set<string>()): IShapeUnion | undefined {
200
+ associationShape(input: DomainAssociation, visited: Set<string> = new Set<string>()): Shapes.IShapeUnion | undefined {
223
201
  const schema = input.schema
224
202
  if (schema && schema.linked) {
225
203
  return this.createLinkedShape(input)
@@ -235,7 +213,7 @@ export class ShapeGenerator {
235
213
  if (unionType === UNION_TYPE_NOT) {
236
214
  // Need to investigate more about "not" union type.
237
215
  // AMF supports it, but I am not sure how to handle it.
238
- const wrapper = anyShape(input.key)
216
+ const wrapper = ShapeHelpers.anyShape(input.key)
239
217
  wrapper.id = `not-shape-${input.key}`
240
218
  wrapper.not = items
241
219
  return wrapper
@@ -250,17 +228,20 @@ export class ShapeGenerator {
250
228
  * @param input The data association instance.
251
229
  * @returns An AMF API scalar shape with the link to the schema.
252
230
  */
253
- protected createLinkedShape(input: DomainAssociation): IApiScalarShape {
231
+ protected createLinkedShape(input: DomainAssociation): Shapes.IApiScalarShape {
254
232
  // This is a link to the schema. In an API that would be the id
255
233
  // of a resource to request the data from.
256
- const range = scalarShape(input.key)
234
+ const range = ShapeHelpers.scalarShape(input.key)
257
235
  range.id = `link-${input.key}`
258
236
  range.dataType = modelTypeToAmfDataType(DATA_TYPE_STRING)
259
237
  return range
260
238
  }
261
239
 
262
- protected createUnionShape(input: DomainAssociation, items: IShapeUnion[]): IApiUnionShape | IApiArrayShape {
263
- const range = unionShape(input.key)
240
+ protected createUnionShape(
241
+ input: DomainAssociation,
242
+ items: Shapes.IShapeUnion[]
243
+ ): Shapes.IApiUnionShape | Shapes.IApiArrayShape {
244
+ const range = ShapeHelpers.unionShape(input.key)
264
245
  this.updateBaseProperties(input, range)
265
246
  range.anyOf = []
266
247
  const unionType = (input.schema && input.schema.unionType) || UNION_TYPE_ANY_OF
@@ -291,8 +272,8 @@ export class ShapeGenerator {
291
272
  associationUnion(
292
273
  input: DomainAssociation,
293
274
  visited: Set<string> = new Set<string>()
294
- ): IShapeUnion | IShapeUnion[] | undefined {
295
- const result: IShapeUnion[] = []
275
+ ): Shapes.IShapeUnion | Shapes.IShapeUnion[] | undefined {
276
+ const result: Shapes.IShapeUnion[] = []
296
277
  for (const item of input.listTargets()) {
297
278
  result.push(this.entity(item, visited))
298
279
  }
@@ -312,7 +293,7 @@ export class ShapeGenerator {
312
293
  *
313
294
  * @param input
314
295
  */
315
- protected getRange(input: DomainProperty): IApiArrayShape | IApiFileShape | IApiScalarShape {
296
+ protected getRange(input: DomainProperty): Shapes.IApiArrayShape | Shapes.IApiFileShape | Shapes.IApiScalarShape {
316
297
  const bindings = input.readBinding('web') as PropertyWebBindings | undefined
317
298
  let schema: PropertySchema | undefined
318
299
  if (input.schema) {
@@ -339,7 +320,7 @@ export class ShapeGenerator {
339
320
  */
340
321
  protected setShapeSchema(
341
322
  input: DomainProperty,
342
- result: IApiAnyShape,
323
+ result: Shapes.IApiAnyShape,
343
324
  schema: PropertySchema,
344
325
  type: string,
345
326
  isArray?: boolean
@@ -374,8 +355,8 @@ export class ShapeGenerator {
374
355
  input: DomainProperty,
375
356
  schema?: PropertySchema,
376
357
  bindings?: PropertyWebBindings
377
- ): IApiArrayShape {
378
- const result = arrayShape(input.key)
358
+ ): Shapes.IApiArrayShape {
359
+ const result = ShapeHelpers.arrayShape(input.key)
379
360
  const { type } = input
380
361
  if (type === DATA_TYPE_BINARY) {
381
362
  // we do not pass schema to the range generator as we set schema's properties on the array shape.
@@ -384,7 +365,7 @@ export class ShapeGenerator {
384
365
  result.items = this.createScalarShape(input, undefined, bindings)
385
366
  }
386
367
  if (schema) {
387
- const type = (result.items as IApiScalarShape).dataType as string
368
+ const type = (result.items as Shapes.IApiScalarShape).dataType as string
388
369
  this.setShapeSchema(input, result, schema, type, input.multiple)
389
370
  }
390
371
  return result
@@ -394,8 +375,8 @@ export class ShapeGenerator {
394
375
  input: DomainProperty,
395
376
  schema?: PropertySchema,
396
377
  bindings?: PropertyWebBindings
397
- ): IApiScalarShape {
398
- const result = scalarShape(input.key)
378
+ ): Shapes.IApiScalarShape {
379
+ const result = ShapeHelpers.scalarShape(input.key)
399
380
  this.updateBaseProperties(input, result)
400
381
  this.setScalarCommonProperties(result, input, bindings)
401
382
  if (!result.dataType) {
@@ -407,14 +388,14 @@ export class ShapeGenerator {
407
388
  return result
408
389
  }
409
390
 
410
- protected createExamples(examples: string[], type: string): IApiDataExample[] {
411
- const result: IApiDataExample[] = []
391
+ protected createExamples(examples: string[], type: string): Shapes.IApiDataExample[] {
392
+ const result: Shapes.IApiDataExample[] = []
412
393
  for (const current of examples) {
413
- const item: IApiDataExample = {
394
+ const item: Shapes.IApiDataExample = {
414
395
  id: nanoid(),
415
396
  customDomainProperties: [],
416
397
  strict: true,
417
- types: IAmfExampleTypes,
398
+ types: [...AmfTypes.IAmfExampleTypes],
418
399
  structuredValue: AmfDataNode.scalar(current, type).toJSON(),
419
400
  }
420
401
  result.push(item)
@@ -422,12 +403,12 @@ export class ShapeGenerator {
422
403
  return result
423
404
  }
424
405
 
425
- protected createArrayExamples(examples: string[], type: string): IApiDataExample[] {
426
- const item: IApiDataExample = {
406
+ protected createArrayExamples(examples: string[], type: string): Shapes.IApiDataExample[] {
407
+ const item: Shapes.IApiDataExample = {
427
408
  id: nanoid(),
428
409
  customDomainProperties: [],
429
410
  strict: true,
430
- types: IAmfExampleTypes,
411
+ types: [...AmfTypes.IAmfExampleTypes],
431
412
  }
432
413
  const value = new AmfDataNode('array')
433
414
  for (const item of examples) {
@@ -438,8 +419,8 @@ export class ShapeGenerator {
438
419
  return [item]
439
420
  }
440
421
 
441
- protected createFileShape(input: DomainProperty, bindings?: PropertyWebBindings): IApiFileShape {
442
- const result = fileShape(input.key)
422
+ protected createFileShape(input: DomainProperty, bindings?: PropertyWebBindings): Shapes.IApiFileShape {
423
+ const result = ShapeHelpers.fileShape(input.key)
443
424
  this.updateBaseProperties(input, result)
444
425
  if (bindings) {
445
426
  if (Array.isArray(bindings.fileTypes)) {
@@ -454,7 +435,7 @@ export class ShapeGenerator {
454
435
  }
455
436
 
456
437
  protected setScalarCommonProperties(
457
- result: IApiFileShape | IApiScalarShape,
438
+ result: Shapes.IApiFileShape | Shapes.IApiScalarShape,
458
439
  input: DomainProperty,
459
440
  bindings?: PropertyWebBindings
460
441
  ): void {
@@ -521,7 +502,10 @@ export class ShapeGenerator {
521
502
  }
522
503
  }
523
504
 
524
- protected updateBaseProperties(input: DomainProperty | DomainAssociation | DomainEntity, target: IApiShape): void {
505
+ protected updateBaseProperties(
506
+ input: DomainProperty | DomainAssociation | DomainEntity,
507
+ target: Shapes.IApiShape
508
+ ): void {
525
509
  target.name = input.info.name
526
510
  target.displayName = input.info.displayName
527
511
  target.description = input.info.description
@@ -532,8 +516,8 @@ export class ShapeGenerator {
532
516
  }
533
517
  }
534
518
 
535
- protected createRecursiveShape(input: DomainEntity): IApiRecursiveShape {
536
- return recursiveShape(input.key, input.key)
519
+ protected createRecursiveShape(input: DomainEntity): Shapes.IApiRecursiveShape {
520
+ return ShapeHelpers.recursiveShape(input.key, input.key)
537
521
  }
538
522
 
539
523
  /**
@@ -544,8 +528,8 @@ export class ShapeGenerator {
544
528
  * @param shape The shape to wrap as an array.
545
529
  * @returns Array shape.
546
530
  */
547
- protected refactorShapeToArray(id: string, shape: IShapeUnion): IApiArrayShape {
548
- const result = arrayShape(id)
531
+ protected refactorShapeToArray(id: string, shape: Shapes.IShapeUnion): Shapes.IApiArrayShape {
532
+ const result = ShapeHelpers.arrayShape(id)
549
533
  result.items = shape
550
534
  return result
551
535
  }
@@ -0,0 +1,47 @@
1
+ import { PropertyWebBindings } from '../Bindings.js'
2
+ import { DomainPropertyType } from '../DataFormat.js'
3
+ import { AmfNamespace } from '@api-client/amf-core'
4
+
5
+ /**
6
+ * Translates the DomainProperty type to an AMF data type.
7
+ * @param type The property data type
8
+ * @returns AMF shape dataType
9
+ */
10
+ export function modelTypeToAmfDataType(type: DomainPropertyType, bindings?: PropertyWebBindings): string {
11
+ if (type === 'number') {
12
+ if (bindings?.format === 'int32' || bindings?.format === 'int64') {
13
+ return AmfNamespace.w3.xmlSchema.integer
14
+ }
15
+ return AmfNamespace.w3.xmlSchema.number
16
+ }
17
+ if (type === 'boolean') {
18
+ return AmfNamespace.aml.vocabularies.shapes.boolean
19
+ }
20
+ if (type === 'date') {
21
+ return AmfNamespace.w3.xmlSchema.date
22
+ }
23
+ if (type === 'datetime') {
24
+ return AmfNamespace.w3.xmlSchema.dateTime
25
+ }
26
+ if (type === 'time') {
27
+ return AmfNamespace.aml.vocabularies.shapes.dateTimeOnly
28
+ }
29
+ if (type === 'binary' && bindings && bindings.format === 'base64') {
30
+ return AmfNamespace.w3.xmlSchema.base64Binary
31
+ }
32
+ return AmfNamespace.w3.xmlSchema.string
33
+ // switch (type) {
34
+ // // case 'nil':
35
+ // // return AmfNamespace.aml.vocabularies.shapes.nil
36
+ // // case 'any':
37
+ // // return AmfNamespace.aml.vocabularies.shapes.AnyShape
38
+ // default:
39
+ // if (type === 'binary' && bindings && bindings.format === 'base64') {
40
+ // return AmfNamespace.w3.xmlSchema.base64Binary
41
+ // }
42
+ // // if (bindings && bindings.format === 'binary') {
43
+ // // return AmfNamespace.w3.xmlSchema.base64Binary
44
+ // // }
45
+ // return AmfNamespace.w3.xmlSchema.string
46
+ // }
47
+ }
@@ -6,7 +6,7 @@ import { DeleteAction } from '../actions/DeleteAction.js'
6
6
  import { UpdateAction } from '../actions/UpdateAction.js'
7
7
  import { SearchAction } from '../actions/SearchAction.js'
8
8
  import type { RolesBasedAccessControl, UsernamePasswordConfiguration } from '../types.js'
9
- import type { ApiModelValidationItem, ApiModelValidationResult, ApiModelValidationContext } from '../types.js'
9
+ import type { ApiModelValidationItem, ApiModelValidationContext } from '../types.js'
10
10
  import { ApiModelKind, ExposedEntityKind } from '../../models/kinds.js'
11
11
  import { SemanticType } from '../Semantics.js'
12
12
 
@@ -608,33 +608,3 @@ export function validateExposedEntity(entity: ExposedEntity, apiModel: ApiModel)
608
608
 
609
609
  return issues
610
610
  }
611
-
612
- export function validateApiModel(model: ApiModel): ApiModelValidationResult {
613
- const issues: ApiModelValidationItem[] = []
614
-
615
- issues.push(...validateApiModelInfo(model))
616
- issues.push(...validateApiModelDependency(model))
617
- issues.push(...validateApiModelSecurity(model))
618
- issues.push(...validateApiModelMetadata(model))
619
-
620
- if (!model.exposes || model.exposes.size === 0) {
621
- issues.push({
622
- code: createCode('API', 'NO_EXPOSURES'),
623
- message: 'Your API currently has no exposed data for external clients to request.',
624
- suggestion: 'Expose a data model so apps can communicate with it.',
625
- severity: 'warning',
626
- context: { apiModelKey: model.key, kind: ApiModelKind, key: model.key, property: 'exposes' },
627
- })
628
- } else {
629
- for (const exposure of model.exposes.values()) {
630
- issues.push(...validateExposedEntity(exposure, model))
631
- }
632
- }
633
-
634
- const hasErrors = issues.some((i) => i.severity === 'error')
635
-
636
- return {
637
- isValid: !hasErrors,
638
- issues,
639
- }
640
- }
@@ -2,7 +2,7 @@ import { DomainAssociationKind } from '../../models/kinds.js'
2
2
  import type { DataDomain } from '../DataDomain.js'
3
3
  import type { DomainAssociation } from '../DomainAssociation.js'
4
4
  import type { DomainEntity } from '../DomainEntity.js'
5
- import { type DomainValidation, validatePropertyName } from './rules.js'
5
+ import { type DomainValidationSchema, validatePropertyName } from './rules.js'
6
6
 
7
7
  /**
8
8
  * AssociationValidation is a class that performs validation on associations in a data domain.
@@ -16,8 +16,8 @@ export class AssociationValidation {
16
16
  * @param target The target association to validate. Can be a string with
17
17
  * the association key or a DomainAssociation object.
18
18
  */
19
- validate(target: string | DomainAssociation): DomainValidation[] {
20
- const results: DomainValidation[] = []
19
+ validate(target: string | DomainAssociation): DomainValidationSchema[] {
20
+ const results: DomainValidationSchema[] = []
21
21
  let association: DomainAssociation | undefined
22
22
  if (typeof target === 'string') {
23
23
  association = this.domain.findAssociation(target)
@@ -58,7 +58,7 @@ export class AssociationValidation {
58
58
  * - (recommendation) Column names should be in lower case.
59
59
  * @param association The association to validate
60
60
  */
61
- validateName(association: DomainAssociation): DomainValidation[] {
61
+ validateName(association: DomainAssociation): DomainValidationSchema[] {
62
62
  return validatePropertyName(association)
63
63
  }
64
64
 
@@ -66,8 +66,8 @@ export class AssociationValidation {
66
66
  * Validates the association targets.
67
67
  * @param association The association to validate
68
68
  */
69
- validateTargets(association: DomainAssociation): DomainValidation[] {
70
- const results: DomainValidation[] = []
69
+ validateTargets(association: DomainAssociation): DomainValidationSchema[] {
70
+ const results: DomainValidationSchema[] = []
71
71
  const label = association.info.getLabel()
72
72
  const parentEntity = association.getParentInstance() as DomainEntity
73
73
  if (!association.targets.length) {
@@ -2,7 +2,7 @@ import { DomainEntityKind } from '../../models/kinds.js'
2
2
  import type { DataDomain } from '../DataDomain.js'
3
3
  import type { DomainEntity } from '../DomainEntity.js'
4
4
  import { ReservedKeywords } from './postgresql.js'
5
- import type { DomainValidation } from './rules.js'
5
+ import type { DomainValidationSchema } from './rules.js'
6
6
 
7
7
  /**
8
8
  * EntityValidation is a class that performs validation on entities in a data domain.
@@ -20,8 +20,8 @@ export class EntityValidation {
20
20
  * @param target The target entity to validate. Can be a string with
21
21
  * the entity key or a DomainEntity object.
22
22
  */
23
- validate(target: string | DomainEntity): DomainValidation[] {
24
- const results: DomainValidation[] = []
23
+ validate(target: string | DomainEntity): DomainValidationSchema[] {
24
+ const results: DomainValidationSchema[] = []
25
25
  let entity: DomainEntity | undefined
26
26
  if (typeof target === 'string') {
27
27
  entity = this.domain.findEntity(target)
@@ -57,8 +57,8 @@ export class EntityValidation {
57
57
  * Validates the entity primary key.
58
58
  * @param entity The entity to validate
59
59
  */
60
- validatePrimaryKey(entity: DomainEntity): DomainValidation[] {
61
- const results: DomainValidation[] = []
60
+ validatePrimaryKey(entity: DomainEntity): DomainValidationSchema[] {
61
+ const results: DomainValidationSchema[] = []
62
62
  const primary = entity.primaryKey()
63
63
  if (!primary) {
64
64
  const message = `The "${entity.info.getLabel()}" entity has no identifier.`
@@ -124,8 +124,8 @@ export class EntityValidation {
124
124
  * Checks if the entity has the minimum required properties.
125
125
  * @param entity The entity to validate
126
126
  */
127
- minimumRequiredProperties(entity: DomainEntity): DomainValidation[] {
128
- const results: DomainValidation[] = []
127
+ minimumRequiredProperties(entity: DomainEntity): DomainValidationSchema[] {
128
+ const results: DomainValidationSchema[] = []
129
129
 
130
130
  // Check if entity has properties or associations through entire inheritance chain
131
131
  const hasProperties = this.hasPropertiesInherited(entity)
@@ -161,8 +161,8 @@ export class EntityValidation {
161
161
  * - Should not be a reserved word (for example: "IN", "SELECT", "FROM", etc.).
162
162
  * @param entity The entity to validate
163
163
  */
164
- validateName(entity: DomainEntity): DomainValidation[] {
165
- const results: DomainValidation[] = []
164
+ validateName(entity: DomainEntity): DomainValidationSchema[] {
165
+ const results: DomainValidationSchema[] = []
166
166
  const label = entity.info.getLabel()
167
167
  if (!entity.info.name) {
168
168
  const message = `The "${label}" entity has no name.`
@@ -252,8 +252,8 @@ export class EntityValidation {
252
252
  * Checks if the entity name is unique in the data domain.
253
253
  * @param entity The entity to validate
254
254
  */
255
- uniqueName(entity: DomainEntity): DomainValidation[] {
256
- const results: DomainValidation[] = []
255
+ uniqueName(entity: DomainEntity): DomainValidationSchema[] {
256
+ const results: DomainValidationSchema[] = []
257
257
  const name = entity.info.name?.toLowerCase()
258
258
  if (!name) {
259
259
  return results
@@ -1,7 +1,7 @@
1
1
  import { DomainPropertyKind } from '../../models/kinds.js'
2
2
  import type { DataDomain } from '../DataDomain.js'
3
3
  import type { DomainProperty } from '../DomainProperty.js'
4
- import { type DomainValidation, validatePropertyName } from './rules.js'
4
+ import { type DomainValidationSchema, validatePropertyName } from './rules.js'
5
5
 
6
6
  export class PropertyValidation {
7
7
  constructor(protected domain: DataDomain) {}
@@ -12,8 +12,8 @@ export class PropertyValidation {
12
12
  * @param target The target property to validate. Can be a string with
13
13
  * the property key or a DomainProperty object.
14
14
  */
15
- validate(target: string | DomainProperty): DomainValidation[] {
16
- const results: DomainValidation[] = []
15
+ validate(target: string | DomainProperty): DomainValidationSchema[] {
16
+ const results: DomainValidationSchema[] = []
17
17
  let property: DomainProperty | undefined
18
18
  if (typeof target === 'string') {
19
19
  property = this.domain.findProperty(target)
@@ -52,7 +52,7 @@ export class PropertyValidation {
52
52
  * - (recommendation) Column names should be in lower case.
53
53
  * @param property The property to validate
54
54
  */
55
- validateName(property: DomainProperty): DomainValidation[] {
55
+ validateName(property: DomainProperty): DomainValidationSchema[] {
56
56
  return validatePropertyName(property)
57
57
  }
58
58
  }
@@ -12,7 +12,10 @@ import { DomainPropertyKind } from '../../models/kinds.js'
12
12
  * - `type` -> unused
13
13
  * - `relationship` -> unused
14
14
  */
15
- export interface DomainValidation extends Omit<DomainImpactItem, 'type' | 'impact' | 'relationship' | 'resolution'> {
15
+ export interface DomainValidationSchema extends Omit<
16
+ DomainImpactItem,
17
+ 'type' | 'impact' | 'relationship' | 'resolution'
18
+ > {
16
19
  /**
17
20
  * The field that did not pass validation.
18
21
  */
@@ -55,8 +58,8 @@ export interface DomainValidation extends Omit<DomainImpactItem, 'type' | 'impac
55
58
  *
56
59
  * @param property The property to validate
57
60
  */
58
- export function validatePropertyName(property: DomainProperty | DomainAssociation): DomainValidation[] {
59
- const results: DomainValidation[] = []
61
+ export function validatePropertyName(property: DomainProperty | DomainAssociation): DomainValidationSchema[] {
62
+ const results: DomainValidationSchema[] = []
60
63
  const label = property.info.getLabel()
61
64
  const parentEntity = property.getParentInstance() as DomainEntity
62
65
  const type = property.kind === DomainPropertyKind ? 'property' : 'association'
@@ -1,7 +1,7 @@
1
1
  import { DomainEntityKind } from '../../models/kinds.js'
2
2
  import type { DataDomain } from '../DataDomain.js'
3
3
  import { DataSemantics, isPropertySemantic, SemanticType } from '../Semantics.js'
4
- import type { DomainValidation } from './rules.js'
4
+ import type { DomainValidationSchema } from './rules.js'
5
5
 
6
6
  /**
7
7
  * SemanticValidation is a class that performs validation on semantics in a data domain.
@@ -14,8 +14,8 @@ export class SemanticValidation {
14
14
  * Performs all the semantic validation rules on the domain.
15
15
  * @returns The list of validation messages.
16
16
  */
17
- validate(): DomainValidation[] {
18
- const results: DomainValidation[] = []
17
+ validate(): DomainValidationSchema[] {
18
+ const results: DomainValidationSchema[] = []
19
19
 
20
20
  // Check for User entity semantic
21
21
  const hasUserEntity = this.validateUserEntity()
@@ -40,8 +40,8 @@ export class SemanticValidation {
40
40
  * Validates if there is at least one entity with the User semantic.
41
41
  * This is a recommended semantic for authentication purposes.
42
42
  */
43
- private validateUserEntity(): DomainValidation[] {
44
- const results: DomainValidation[] = []
43
+ private validateUserEntity(): DomainValidationSchema[] {
44
+ const results: DomainValidationSchema[] = []
45
45
  let hasUserEntity = false
46
46
 
47
47
  for (const entity of this.domain.listEntities()) {
@@ -70,8 +70,8 @@ export class SemanticValidation {
70
70
  * Validates if entities have the recommended timestamp semantics.
71
71
  * This includes CreatedTimestamp and UpdatedTimestamp.
72
72
  */
73
- private validateTimestampSemantics(): DomainValidation[] {
74
- const results: DomainValidation[] = []
73
+ private validateTimestampSemantics(): DomainValidationSchema[] {
74
+ const results: DomainValidationSchema[] = []
75
75
 
76
76
  for (const entity of this.domain.listEntities()) {
77
77
  let hasCreatedTimestamp = false
@@ -118,8 +118,8 @@ export class SemanticValidation {
118
118
  * Validates if entities have the recommended soft delete semantics.
119
119
  * This includes either DeletedTimestamp or DeletedFlag.
120
120
  */
121
- private validateSoftDeleteSemantics(): DomainValidation[] {
122
- const results: DomainValidation[] = []
121
+ private validateSoftDeleteSemantics(): DomainValidationSchema[] {
122
+ const results: DomainValidationSchema[] = []
123
123
 
124
124
  for (const entity of this.domain.listEntities()) {
125
125
  let hasSoftDelete = false
@@ -150,8 +150,8 @@ export class SemanticValidation {
150
150
  /**
151
151
  * Validates if property semantics are applied to properties with compatible data types.
152
152
  */
153
- private validatePropertySemanticsDataTypes(): DomainValidation[] {
154
- const results: DomainValidation[] = []
153
+ private validatePropertySemanticsDataTypes(): DomainValidationSchema[] {
154
+ const results: DomainValidationSchema[] = []
155
155
 
156
156
  for (const entity of this.domain.listEntities()) {
157
157
  for (const property of entity.listProperties()) {
@@ -10,7 +10,7 @@ import {
10
10
  DataSourceConfiguration,
11
11
  } from '../../models/legacy/actions/Actions.js'
12
12
  import { IHttpFlow, IHttpAction, FlowSourceEnum, FlowRequestDataEnum, FlowResponseDataEnum } from './HttpFlows.js'
13
- import { AmfNamespace } from '../../amf/definitions/Namespace.js'
13
+ import { AmfNamespace } from '@api-client/amf-core'
14
14
  import { IHttpStep } from './HttpStep.js'
15
15
  import { IReadDataStep, ReadDataStep, ReadDataStepKind } from './steps/data/ReadDataStep.js'
16
16
  import { ISetDataStep, SetDataStepKind } from './steps/data/SetDataStep.js'
@@ -27,7 +27,7 @@ import { ISubstringStep, SubstringStepKind } from '../../models/http-flows/steps
27
27
  import { TrimStepKind } from '../../models/http-flows/steps/transformation/TrimStep.js'
28
28
  import { EqualAssertionKind, IEqualAssertion } from '../../models/http-flows/steps/assertion/EqualAssertion.js'
29
29
  import { INotEqualAssertion, NotEqualAssertionKind } from '../../models/http-flows/steps/assertion/NotEqualAssertion.js'
30
- import { ApiSchemaValues } from '../../amf/ApiSchemaValues.js'
30
+ import { ApiSchemaValues } from '@api-client/amf-core'
31
31
  import {
32
32
  GreaterThanAssertionKind,
33
33
  IGreaterThanAssertion,
@@ -1,6 +1,6 @@
1
1
  import { test } from '@japa/runner'
2
- import { DataValueGenerator, noValue } from '../../../src/amf/DataValueGenerator.js'
3
- import type { DomainPropertyType } from '../../../src/modeling/DataFormat.js'
2
+ import { DataValueGenerator, noValue } from '../../../../src/modeling/amf/DataValueGenerator.js'
3
+ import type { DomainPropertyType } from '../../../../src/modeling/DataFormat.js'
4
4
 
5
5
  test.group('DataValueGenerator', (group) => {
6
6
  let generator: DataValueGenerator