@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,438 +0,0 @@
1
- import {
2
- IAmfAnyTypes,
3
- IAmfArrayTypes,
4
- IAmfFileTypes,
5
- IAmfNodeTypes,
6
- IAmfPropertyTypes,
7
- IAmfRecursiveTypes,
8
- IAmfScalarTypes,
9
- IAmfTupleTypes,
10
- IAmfUnionTypes,
11
- IAmfXmlSerializationTypes,
12
- } from '../AmfTypes.js'
13
- import { IApiDocumentation, IApiDocumentSourceMaps } from './Api.js'
14
- import { IApiDomainProperty } from './Base.js'
15
-
16
- export type IShapeUnion =
17
- | IApiScalarShape
18
- | IApiNodeShape
19
- | IApiUnionShape
20
- | IApiFileShape
21
- | IApiSchemaShape
22
- | IApiAnyShape
23
- | IApiArrayShape
24
- | IApiTupleShape
25
- | IApiRecursiveShape
26
-
27
- export interface IApiAssociationShape {
28
- /**
29
- * This is a custom property that not available in the AMF library and is used with data associations.
30
- *
31
- * Whether the target entity should be embedded under the property name.
32
- * When false, this association is just an information that one entity depend on another.
33
- * When true, it changes the definition of the schema having this association to
34
- * add the target schema properties inline with this property.
35
- *
36
- * **When true**
37
- *
38
- * ```javascript
39
- * // generated schema for `address` association
40
- * {
41
- * "name": "example value",
42
- * "address": {
43
- * "city": "example value",
44
- * ...
45
- * }
46
- * }
47
- * ```
48
- *
49
- * **When false**
50
- *
51
- * ```javascript
52
- * // generated schema for `address` association
53
- * {
54
- * "name": "example value",
55
- * "address": "the key of the referenced schema"
56
- * }
57
- * ```
58
- */
59
- linked?: boolean
60
- /**
61
- * When the association has multiple targets the union type should be
62
- * set to describe which union this is.
63
- *
64
- * Possible values are:
65
- *
66
- * - allOf - To validate against `allOf`, the given data must be valid against
67
- * all of the given sub-schemas. When generating, it's a sum of all properties.
68
- * - anyOf - To validate against `anyOf`, the given data must be valid against
69
- * any (one or more) of the given sub-schemas. When generation a schema, it takes first union schema.
70
- * - oneOf - To validate against `oneOf`, the given data must be valid against
71
- * exactly one of the given sub-schemas. It behaves the same as `anyOf` when generating a schema
72
- * - not - The `not` keyword declares that an instance validates if it doesn’t
73
- * validate against the given sub-schema. It has no use when generating a schema.
74
- *
75
- * @default anyOf
76
- */
77
- unionType?: 'allOf' | 'anyOf' | 'oneOf' | 'not'
78
- }
79
-
80
- export interface IApiDataExample extends IApiDomainProperty {
81
- name?: string
82
- displayName?: string
83
- description?: string
84
- /**
85
- * This is the "raw" property of AMF
86
- */
87
- value?: string
88
- structuredValue?: IApiDataNodeUnion
89
- strict: boolean
90
- mediaType?: string
91
- location?: string
92
- sourceMaps?: IApiDocumentSourceMaps
93
- }
94
-
95
- export function xmlSerializer(id: string): IApiXmlSerializer {
96
- return {
97
- id: `xml-serializer-${id}`,
98
- types: IAmfXmlSerializationTypes,
99
- customDomainProperties: [],
100
- }
101
- }
102
-
103
- export function shape(id: string): IApiShape {
104
- const result: IApiShape = {
105
- id,
106
- types: [],
107
- values: [],
108
- inherits: [],
109
- or: [],
110
- and: [],
111
- xone: [],
112
- customDomainProperties: [],
113
- }
114
- return result
115
- }
116
-
117
- export function anyShape(id: string): IApiAnyShape {
118
- const result: IApiAnyShape = {
119
- ...shape(id),
120
- types: IAmfAnyTypes,
121
- examples: [],
122
- xmlSerialization: xmlSerializer(id),
123
- }
124
- return result
125
- }
126
-
127
- export function nodeShape(id: string): IApiNodeShape {
128
- const result = anyShape(id)
129
- result.types = IAmfNodeTypes
130
- result.id = `node-shape-${id}`
131
- return {
132
- ...result,
133
- properties: [],
134
- dependencies: [],
135
- customShapeProperties: [],
136
- customShapePropertyDefinitions: [],
137
- }
138
- }
139
-
140
- export function scalarShape(id: string): IApiScalarShape {
141
- const result = anyShape(id)
142
- result.id = `scalar-shape-${id}`
143
- result.types = IAmfScalarTypes
144
- return result
145
- }
146
-
147
- export function unionShape(id: string): IApiUnionShape {
148
- const result = anyShape(id)
149
- result.id = `union-shape-${id}`
150
- result.types = IAmfUnionTypes
151
- return { ...result, anyOf: [] }
152
- }
153
-
154
- export function fileShape(id: string): IApiFileShape {
155
- const result = anyShape(id)
156
- result.id = `file-shape-${id}`
157
- result.types = IAmfFileTypes
158
- return result
159
- }
160
-
161
- export function arrayShape(id: string): IApiArrayShape {
162
- const result = anyShape(id)
163
- result.id = `array-shape-${id}`
164
- result.types = IAmfArrayTypes
165
- return result
166
- }
167
-
168
- export function tupleShape(id: string): IApiTupleShape {
169
- const result = anyShape(id)
170
- result.id = `tuple-shape-${id}`
171
- result.types = IAmfTupleTypes
172
- return { ...result, items: [] }
173
- }
174
-
175
- export function propertyShape(id: string): IApiPropertyShape {
176
- const result = anyShape(id)
177
- result.types = IAmfPropertyTypes
178
- return result
179
- }
180
-
181
- export function recursiveShape(id: string, fixedId?: string): IApiRecursiveShape {
182
- const result: IApiRecursiveShape = {
183
- ...shape(id),
184
- id: `recursive-${id}`,
185
- types: IAmfRecursiveTypes,
186
- fixPoint: fixedId || '',
187
- }
188
- return result
189
- }
190
-
191
- export interface IApiShape extends IApiDomainProperty {
192
- /**
193
- * Enum values for this shape.
194
- */
195
- values: IApiDataNodeUnion[]
196
- /**
197
- * The list of shapes that this shape inherits from
198
- */
199
- inherits: IShapeUnion[]
200
- /**
201
- * The `anyOf` union type.
202
- */
203
- or: IShapeUnion[]
204
- /**
205
- * The `allOf` union type.
206
- */
207
- and: IShapeUnion[]
208
- /**
209
- * The `oneOf` union type.
210
- */
211
- xone: IShapeUnion[]
212
- /**
213
- * The name of the shape in the system.
214
- */
215
- name?: string
216
- /**
217
- * The display name for the shape in the UI.
218
- */
219
- displayName?: string
220
- /**
221
- * The description of the shape.
222
- */
223
- description?: string
224
- /**
225
- * The default value encoded as a string
226
- */
227
- defaultValueStr?: string
228
- /**
229
- * The description of the default value of the shape.
230
- */
231
- defaultValue?: IApiDataNodeUnion
232
- /**
233
- * Whether the shape is deprecated.
234
- */
235
- deprecated?: boolean
236
- /**
237
- * Whether the shape is a read only shape (disallow writes to the value)
238
- */
239
- readOnly?: boolean
240
- /**
241
- * Whether the shape can only be written to (disallow reading the value)
242
- */
243
- writeOnly?: boolean
244
- not?: IShapeUnion
245
- /**
246
- * A label that appeared on a link.
247
- */
248
- linkLabel?: string
249
- sourceMaps?: IApiDocumentSourceMaps
250
- }
251
-
252
- /**
253
- * A property of an API operation.
254
- */
255
- export interface IApiPropertyShape<T = IShapeUnion> extends IApiShape {
256
- /**
257
- * The path of the property. Essentially, it is link generated by the AMF library
258
- * where the fragment part is the name of the property.
259
- */
260
- path?: string
261
- /**
262
- * The parameter shape definition
263
- */
264
- range?: T
265
- /**
266
- * When > 0 then the parameter is required.
267
- */
268
- minCount?: number
269
- maxCount?: number
270
- }
271
-
272
- export interface IApiAnyShape extends IApiShape {
273
- documentation?: IApiDocumentation
274
- /**
275
- * Description of how the shape should be serialized as XML.
276
- */
277
- xmlSerialization: IApiXmlSerializer
278
- /**
279
- * Examples defined for the shape.
280
- */
281
- examples: IApiDataExample[]
282
- }
283
-
284
- /**
285
- * Describes an object shape.
286
- */
287
- export interface IApiNodeShape extends IApiAnyShape {
288
- minProperties?: number
289
- maxProperties?: number
290
- closed?: boolean
291
- customShapeProperties: string[]
292
- customShapePropertyDefinitions: string[]
293
- discriminator?: string
294
- discriminatorValue?: string
295
- properties: IApiPropertyShape[]
296
- dependencies: string[]
297
- }
298
-
299
- export interface IApiXmlSerializer extends IApiDomainProperty {
300
- /**
301
- * Whether this property should be represented as an attribute of the parent shape.
302
- *
303
- * ```
304
- * <Person name="John Doe"></Person>
305
- * ```
306
- */
307
- attribute?: boolean
308
- /**
309
- * When the property is an array (has the `multiple` set to true in the data model)
310
- * then it tells that the list of values should be wrapped with a parent
311
- * element:
312
- *
313
- * ```
314
- * <Person>
315
- * <Person fullName="John Doe"></Person>
316
- * <Person fullName="Other Doe"></Person>
317
- * </Person>
318
- * ```
319
- *
320
- * Use this with the combination with `name` to describe the name of the wrapped
321
- * element
322
- *
323
- * ```
324
- * <people>
325
- * <Person fullName="John Doe"></Person>
326
- * </people>
327
- * ```
328
- *
329
- * Note, this is mutually exclusive with `attribute`.
330
- */
331
- wrapped?: boolean
332
- /**
333
- * The name of the attribute or a wrapped property to use when serializing the property.
334
- *
335
- * Attribute name
336
- * ```xml
337
- * <Person fullName="John Doe"></Person>
338
- * ```
339
- *
340
- * Wrapped name
341
- * ```xml
342
- * <people>
343
- * <Person name="John Doe"></Person>
344
- * </people>
345
- * ```
346
- */
347
- name?: string
348
- /**
349
- * The XML namespace to use.
350
- *
351
- * ```xml
352
- * <Person ns:name="John Doe"></Person>
353
- * ```
354
- */
355
- namespace?: string
356
- /**
357
- * Name prefix
358
- *
359
- * ```xml
360
- * <ns:Person name="John Doe"></ns:Person>
361
- * ```
362
- */
363
- prefix?: string
364
- sourceMaps?: IApiDocumentSourceMaps
365
- }
366
-
367
- export interface IApiScalarShape extends IApiAnyShape {
368
- dataType?: string
369
- pattern?: string
370
- minLength?: number
371
- maxLength?: number
372
- minimum?: number
373
- maximum?: number
374
- exclusiveMinimum?: boolean
375
- exclusiveMaximum?: boolean
376
- format?: string
377
- multipleOf?: number
378
- }
379
-
380
- export interface IApiFileShape extends IApiAnyShape {
381
- fileTypes?: string[]
382
- pattern?: string
383
- minLength?: number
384
- maxLength?: number
385
- minimum?: number
386
- maximum?: number
387
- exclusiveMinimum?: boolean
388
- exclusiveMaximum?: boolean
389
- format?: string
390
- multipleOf?: number
391
- }
392
-
393
- export interface IApiSchemaShape extends IApiAnyShape {
394
- mediaType?: string
395
- raw?: string
396
- }
397
-
398
- export interface IApiUnionShape extends IApiAnyShape {
399
- anyOf: IShapeUnion[]
400
- }
401
-
402
- export interface IApiDataArrangeShape extends IApiAnyShape {
403
- minItems?: number
404
- maxItems?: number
405
- uniqueItems?: boolean
406
- }
407
-
408
- export interface IApiArrayShape<T = IShapeUnion> extends IApiDataArrangeShape {
409
- items?: T
410
- }
411
-
412
- export interface IApiTupleShape<T = IShapeUnion> extends IApiDataArrangeShape {
413
- items: T[]
414
- additionalItems?: boolean
415
- }
416
-
417
- export interface IApiRecursiveShape extends IApiShape {
418
- fixPoint: string
419
- }
420
-
421
- export interface IApiDataNode extends IApiDomainProperty {
422
- name?: string
423
- }
424
-
425
- export interface IApiObjectNode extends IApiDataNode {
426
- properties: Record<string, IApiDataNodeUnion>
427
- }
428
-
429
- export interface IApiScalarNode extends IApiDataNode {
430
- value?: string
431
- dataType?: string
432
- }
433
-
434
- export interface IApiArrayNode extends IApiDataNode {
435
- members: IApiDataNodeUnion[]
436
- }
437
-
438
- export type IApiDataNodeUnion = IApiDataNode | IApiObjectNode | IApiScalarNode | IApiArrayNode
@@ -1,210 +0,0 @@
1
- import { nanoid } from '../../nanoid.js'
2
- import { IAmfArrayNodeTypes, IAmfObjectNodeTypes, IAmfScalarNodeTypes } from '../AmfTypes.js'
3
- import { IApiCustomDomainProperty } from '../definitions/Base.js'
4
- import { AmfNamespace } from '../definitions/Namespace.js'
5
- import {
6
- IApiArrayNode,
7
- IApiDataNode,
8
- IApiDataNodeUnion,
9
- IApiObjectNode,
10
- IApiScalarNode,
11
- } from '../definitions/Shapes.js'
12
-
13
- export type IDataNodeInit = 'scalar' | 'object' | 'array'
14
-
15
- /**
16
- * A class that manipulates the AMF's DataNode node.
17
- */
18
- export class AmfDataNode {
19
- id = nanoid()
20
-
21
- /**
22
- * AMF domain types.
23
- * This is set in the constructor
24
- */
25
- types: string[]
26
-
27
- /**
28
- * The name of this data node.
29
- */
30
- name?: string
31
-
32
- /**
33
- * Set when the object node type
34
- */
35
- properties?: Record<string, AmfDataNode>
36
-
37
- /**
38
- * Scalar type value. Always a string.
39
- */
40
- value?: string
41
-
42
- /**
43
- * Scalar type value data type.
44
- */
45
- dataType?: string
46
-
47
- /**
48
- * Set when the type is array.
49
- */
50
- members?: AmfDataNode[]
51
-
52
- customDomainProperties: IApiCustomDomainProperty[] = []
53
-
54
- static scalar(value: string, type: string): AmfDataNode {
55
- const result = new AmfDataNode('scalar')
56
- result.value = value
57
- result.dataType = type
58
- return result
59
- }
60
-
61
- constructor(init: IApiDataNodeUnion | IDataNodeInit) {
62
- if (typeof init === 'string') {
63
- if (init === 'scalar') {
64
- this.types = IAmfScalarNodeTypes
65
- } else if (init === 'array') {
66
- this.types = IAmfArrayNodeTypes
67
- } else if (init === 'object') {
68
- this.types = IAmfObjectNodeTypes
69
- } else {
70
- throw new Error(`Invalid data node init option: ${init}`)
71
- }
72
- return
73
- }
74
- if (!init) {
75
- throw new Error(`Expected an initialization option.`)
76
- }
77
- const union = init as IApiDataNodeUnion
78
- const { id, types, customDomainProperties } = union
79
- this.id = id
80
- this.types = types
81
- this.customDomainProperties = customDomainProperties
82
- if (types.includes(AmfNamespace.aml.vocabularies.data.Scalar)) {
83
- const typed = union as IApiScalarNode
84
- this.value = typed.value
85
- this.dataType = typed.dataType
86
- } else if (types.includes(AmfNamespace.aml.vocabularies.data.Object)) {
87
- const typed = union as IApiObjectNode
88
- const props: Record<string, AmfDataNode> = {}
89
- this.properties = props
90
- Object.keys(typed.properties).forEach((key) => {
91
- const instance = new AmfDataNode(typed.properties[key])
92
- props[key] = instance
93
- })
94
- } else if (types.includes(AmfNamespace.aml.vocabularies.data.Array)) {
95
- const typed = union as IApiArrayNode
96
- const members: AmfDataNode[] = []
97
- this.members = members
98
- if (Array.isArray(typed.members)) {
99
- typed.members.forEach((member) => {
100
- const instance = new AmfDataNode(member)
101
- members.push(instance)
102
- })
103
- }
104
- }
105
- }
106
-
107
- toJSON(): IApiDataNodeUnion {
108
- const { id, customDomainProperties, types, name } = this
109
- const result: IApiDataNode = {
110
- id,
111
- types,
112
- customDomainProperties,
113
- }
114
- if (name) {
115
- result.name = name
116
- }
117
-
118
- if (types.includes(AmfNamespace.aml.vocabularies.data.Scalar)) {
119
- const typed = result as IApiScalarNode
120
- typed.dataType = this.dataType
121
- typed.value = this.value
122
- } else if (types.includes(AmfNamespace.aml.vocabularies.data.Object)) {
123
- const typed = result as IApiObjectNode
124
- typed.properties = {}
125
- const props = this.properties
126
- if (props) {
127
- Object.keys(props).forEach((key) => {
128
- typed.properties[key] = props[key].toJSON()
129
- })
130
- }
131
- } else if (types.includes(AmfNamespace.aml.vocabularies.data.Array)) {
132
- const typed = result as IApiArrayNode
133
- typed.members = []
134
- if (this.members) {
135
- this.members.forEach((member) => {
136
- typed.members.push(member.toJSON())
137
- })
138
- }
139
- }
140
- return result
141
- }
142
-
143
- /**
144
- * Adds a member to the list of members.
145
- * It throws when this is not an array node.
146
- *
147
- * @param init The member to add.
148
- */
149
- addMember(init: AmfDataNode): void {
150
- if (!this.types.includes(AmfNamespace.aml.vocabularies.data.Array)) {
151
- throw new Error(`Not an ArrayNode.`)
152
- }
153
- if (!this.members) {
154
- this.members = []
155
- }
156
- this.members.push(init)
157
- }
158
-
159
- /**
160
- * Removes a member from the list of members.
161
- * It throws when this is not an array node.
162
- *
163
- * @param id The domain id of the member to remove.
164
- */
165
- removeMember(id: string): void {
166
- if (!this.types.includes(AmfNamespace.aml.vocabularies.data.Array)) {
167
- throw new Error(`Not an ArrayNode.`)
168
- }
169
- if (!this.members) {
170
- return
171
- }
172
- const index = this.members.findIndex((i) => i.id === id)
173
- if (index >= 0) {
174
- this.members.splice(index, 1)
175
- }
176
- }
177
-
178
- /**
179
- * Adds a property to the ObjectNode.
180
- * It throws when this is not an object node.
181
- *
182
- * @param name The name of the property.
183
- * @param value The instance of the DataNode to set.
184
- */
185
- addProperty(name: string, value: AmfDataNode): void {
186
- if (!this.types.includes(AmfNamespace.aml.vocabularies.data.Object)) {
187
- throw new Error(`Not an ObjectNode.`)
188
- }
189
- if (!this.properties) {
190
- this.properties = {}
191
- }
192
- this.properties[name] = value
193
- }
194
-
195
- /**
196
- * Deletes a property by name.
197
- *
198
- * @param name The name of the property to delete.
199
- */
200
- removeProperty(name: string): void {
201
- if (!this.types.includes(AmfNamespace.aml.vocabularies.data.Object)) {
202
- throw new Error(`Not an ObjectNode.`)
203
- }
204
- if (!this.properties) {
205
- return
206
- }
207
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
208
- delete this.properties[name]
209
- }
210
- }
@@ -1,4 +0,0 @@
1
- # Shape based schema generators
2
-
3
- In this directory you will find libraries to generate a schema from AMF shapes.
4
- This generates a schema taking shape properties into the account.