@api-client/core 0.11.11 → 0.12.1

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 (338) hide show
  1. package/Testing.md +1 -1
  2. package/bin/plugins/events/EventPlugin.ts +61 -0
  3. package/bin/plugins/events/assert.ts +193 -0
  4. package/bin/plugins/events/types.ts +6 -0
  5. package/bin/test.ts +8 -1
  6. package/build/src/amf/AmfShapeGenerator.d.ts +6 -3
  7. package/build/src/amf/AmfShapeGenerator.d.ts.map +1 -1
  8. package/build/src/amf/AmfShapeGenerator.js +7 -4
  9. package/build/src/amf/AmfShapeGenerator.js.map +1 -1
  10. package/build/src/amf/AmfTypes.d.ts +2 -2
  11. package/build/src/amf/AmfTypes.d.ts.map +1 -1
  12. package/build/src/amf/AmfTypes.js.map +1 -1
  13. package/build/src/amf/DataValueGenerator.d.ts +15 -15
  14. package/build/src/amf/DataValueGenerator.d.ts.map +1 -1
  15. package/build/src/amf/DataValueGenerator.js +17 -16
  16. package/build/src/amf/DataValueGenerator.js.map +1 -1
  17. package/build/src/amf/models/AmfDataNode.d.ts.map +1 -1
  18. package/build/src/amf/models/AmfDataNode.js +2 -2
  19. package/build/src/amf/models/AmfDataNode.js.map +1 -1
  20. package/build/src/browser.d.ts +12 -9
  21. package/build/src/browser.d.ts.map +1 -1
  22. package/build/src/browser.js +11 -8
  23. package/build/src/browser.js.map +1 -1
  24. package/build/src/exceptions/attach_exception.d.ts +11 -0
  25. package/build/src/exceptions/attach_exception.d.ts.map +1 -0
  26. package/build/src/exceptions/attach_exception.js +11 -0
  27. package/build/src/exceptions/attach_exception.js.map +1 -0
  28. package/build/src/exceptions/detach_exception.d.ts +11 -0
  29. package/build/src/exceptions/detach_exception.d.ts.map +1 -0
  30. package/build/src/exceptions/detach_exception.js +11 -0
  31. package/build/src/exceptions/detach_exception.js.map +1 -0
  32. package/build/src/exceptions/remove_model_exception.d.ts +8 -0
  33. package/build/src/exceptions/remove_model_exception.d.ts.map +1 -0
  34. package/build/src/exceptions/remove_model_exception.js +8 -0
  35. package/build/src/exceptions/remove_model_exception.js.map +1 -0
  36. package/build/src/exceptions/remove_namespace_exception.d.ts +8 -0
  37. package/build/src/exceptions/remove_namespace_exception.d.ts.map +1 -0
  38. package/build/src/exceptions/remove_namespace_exception.js +8 -0
  39. package/build/src/exceptions/remove_namespace_exception.js.map +1 -0
  40. package/build/src/index.d.ts +12 -9
  41. package/build/src/index.d.ts.map +1 -1
  42. package/build/src/index.js +11 -8
  43. package/build/src/index.js.map +1 -1
  44. package/build/src/legacy.d.ts +8 -0
  45. package/build/src/legacy.d.ts.map +1 -1
  46. package/build/src/legacy.js +9 -0
  47. package/build/src/legacy.js.map +1 -1
  48. package/build/src/lib/uuid.d.ts +1 -1
  49. package/build/src/lib/uuid.js +1 -1
  50. package/build/src/lib/uuid.js.map +1 -1
  51. package/build/src/mocking/lib/History.js +8 -8
  52. package/build/src/mocking/lib/History.js.map +1 -1
  53. package/build/src/mocking/lib/HostRules.js +1 -1
  54. package/build/src/mocking/lib/HostRules.js.map +1 -1
  55. package/build/src/mocking/lib/User.js +2 -2
  56. package/build/src/mocking/lib/User.js.map +1 -1
  57. package/build/src/modeling/Bindings.d.ts +2 -2
  58. package/build/src/modeling/Bindings.d.ts.map +1 -1
  59. package/build/src/modeling/Bindings.js.map +1 -1
  60. package/build/src/modeling/DataDomain.d.ts +601 -0
  61. package/build/src/modeling/DataDomain.d.ts.map +1 -0
  62. package/build/src/modeling/DataDomain.js +1141 -0
  63. package/build/src/modeling/DataDomain.js.map +1 -0
  64. package/build/src/modeling/DataFormat.d.ts +42 -41
  65. package/build/src/modeling/DataFormat.d.ts.map +1 -1
  66. package/build/src/modeling/DataFormat.js +30 -131
  67. package/build/src/modeling/DataFormat.js.map +1 -1
  68. package/build/src/modeling/DomainAssociation.d.ts +281 -0
  69. package/build/src/modeling/DomainAssociation.d.ts.map +1 -0
  70. package/build/src/modeling/DomainAssociation.js +440 -0
  71. package/build/src/modeling/DomainAssociation.js.map +1 -0
  72. package/build/src/modeling/DomainElement.d.ts +33 -0
  73. package/build/src/modeling/DomainElement.d.ts.map +1 -0
  74. package/build/src/modeling/DomainElement.js +32 -0
  75. package/build/src/modeling/DomainElement.js.map +1 -0
  76. package/build/src/modeling/DomainEntity.d.ts +383 -0
  77. package/build/src/modeling/DomainEntity.d.ts.map +1 -0
  78. package/build/src/modeling/DomainEntity.js +718 -0
  79. package/build/src/modeling/DomainEntity.js.map +1 -0
  80. package/build/src/modeling/DomainFile.d.ts +25 -0
  81. package/build/src/modeling/DomainFile.d.ts.map +1 -0
  82. package/build/src/modeling/DomainFile.js +86 -0
  83. package/build/src/modeling/DomainFile.js.map +1 -0
  84. package/build/src/modeling/DomainImpactAnalysis.d.ts +60 -47
  85. package/build/src/modeling/DomainImpactAnalysis.d.ts.map +1 -1
  86. package/build/src/modeling/DomainImpactAnalysis.js +201 -132
  87. package/build/src/modeling/DomainImpactAnalysis.js.map +1 -1
  88. package/build/src/modeling/DomainModel.d.ts +226 -0
  89. package/build/src/modeling/DomainModel.d.ts.map +1 -0
  90. package/build/src/modeling/DomainModel.js +401 -0
  91. package/build/src/modeling/DomainModel.js.map +1 -0
  92. package/build/src/modeling/DomainNamespace.d.ts +268 -0
  93. package/build/src/modeling/DomainNamespace.d.ts.map +1 -0
  94. package/build/src/modeling/DomainNamespace.js +512 -0
  95. package/build/src/modeling/DomainNamespace.js.map +1 -0
  96. package/build/src/modeling/DomainProperty.d.ts +281 -0
  97. package/build/src/modeling/DomainProperty.d.ts.map +1 -0
  98. package/build/src/modeling/DomainProperty.js +560 -0
  99. package/build/src/modeling/DomainProperty.js.map +1 -0
  100. package/build/src/modeling/DomainSerialization.d.ts +40 -0
  101. package/build/src/modeling/DomainSerialization.d.ts.map +1 -0
  102. package/build/src/modeling/DomainSerialization.js +288 -0
  103. package/build/src/modeling/DomainSerialization.js.map +1 -0
  104. package/build/src/modeling/DomainVersioning.d.ts +17 -0
  105. package/build/src/modeling/DomainVersioning.d.ts.map +1 -0
  106. package/build/src/modeling/DomainVersioning.js +124 -0
  107. package/build/src/modeling/DomainVersioning.js.map +1 -0
  108. package/build/src/modeling/GraphUtils.d.ts +8 -0
  109. package/build/src/modeling/GraphUtils.d.ts.map +1 -0
  110. package/build/src/modeling/GraphUtils.js +26 -0
  111. package/build/src/modeling/GraphUtils.js.map +1 -0
  112. package/build/src/modeling/amf/ShapeGenerator.d.ts +164 -0
  113. package/build/src/modeling/amf/ShapeGenerator.d.ts.map +1 -0
  114. package/build/src/modeling/amf/ShapeGenerator.js +492 -0
  115. package/build/src/modeling/amf/ShapeGenerator.js.map +1 -0
  116. package/build/src/modeling/{DataAssociation.d.ts → legacy/DataAssociation.d.ts} +10 -5
  117. package/build/src/modeling/legacy/DataAssociation.d.ts.map +1 -0
  118. package/build/src/modeling/{DataAssociation.js → legacy/DataAssociation.js} +11 -8
  119. package/build/src/modeling/legacy/DataAssociation.js.map +1 -0
  120. package/build/src/modeling/{DataEntity.d.ts → legacy/DataEntity.d.ts} +12 -7
  121. package/build/src/modeling/legacy/DataEntity.d.ts.map +1 -0
  122. package/build/src/modeling/{DataEntity.js → legacy/DataEntity.js} +21 -20
  123. package/build/src/modeling/legacy/DataEntity.js.map +1 -0
  124. package/build/src/modeling/{DataEntityBuilder.d.ts → legacy/DataEntityBuilder.d.ts} +3 -2
  125. package/build/src/modeling/legacy/DataEntityBuilder.d.ts.map +1 -0
  126. package/build/src/modeling/{DataEntityBuilder.js → legacy/DataEntityBuilder.js} +4 -3
  127. package/build/src/modeling/legacy/DataEntityBuilder.js.map +1 -0
  128. package/build/src/modeling/legacy/DataImpactAnalysis.d.ts +298 -0
  129. package/build/src/modeling/legacy/DataImpactAnalysis.d.ts.map +1 -0
  130. package/build/src/modeling/legacy/DataImpactAnalysis.js +441 -0
  131. package/build/src/modeling/legacy/DataImpactAnalysis.js.map +1 -0
  132. package/build/src/modeling/{DataModel.d.ts → legacy/DataModel.d.ts} +6 -4
  133. package/build/src/modeling/legacy/DataModel.d.ts.map +1 -0
  134. package/build/src/modeling/{DataModel.js → legacy/DataModel.js} +9 -8
  135. package/build/src/modeling/legacy/DataModel.js.map +1 -0
  136. package/build/src/modeling/{DataNamespace.d.ts → legacy/DataNamespace.d.ts} +22 -3
  137. package/build/src/modeling/legacy/DataNamespace.d.ts.map +1 -0
  138. package/build/src/modeling/{DataNamespace.js → legacy/DataNamespace.js} +9 -5
  139. package/build/src/modeling/legacy/DataNamespace.js.map +1 -0
  140. package/build/src/modeling/{DataProperty.d.ts → legacy/DataProperty.d.ts} +13 -5
  141. package/build/src/modeling/legacy/DataProperty.d.ts.map +1 -0
  142. package/build/src/modeling/{DataProperty.js → legacy/DataProperty.js} +10 -7
  143. package/build/src/modeling/legacy/DataProperty.js.map +1 -0
  144. package/build/src/modeling/observed.d.ts +67 -0
  145. package/build/src/modeling/observed.d.ts.map +1 -0
  146. package/build/src/modeling/observed.js +230 -0
  147. package/build/src/modeling/observed.js.map +1 -0
  148. package/build/src/modeling/types.d.ts +165 -1
  149. package/build/src/modeling/types.d.ts.map +1 -1
  150. package/build/src/modeling/types.js.map +1 -1
  151. package/build/src/models/AuthorizationData.js +3 -3
  152. package/build/src/models/AuthorizationData.js.map +1 -1
  153. package/build/src/models/CertificateFile.js +2 -2
  154. package/build/src/models/CertificateFile.js.map +1 -1
  155. package/build/src/models/ClientCertificate.js +5 -5
  156. package/build/src/models/ClientCertificate.js.map +1 -1
  157. package/build/src/models/Environment.js +6 -6
  158. package/build/src/models/Environment.js.map +1 -1
  159. package/build/src/models/Folder.js +2 -2
  160. package/build/src/models/Folder.js.map +1 -1
  161. package/build/src/models/HostRule.js +4 -4
  162. package/build/src/models/HostRule.js.map +1 -1
  163. package/build/src/models/HttpProject.js +12 -12
  164. package/build/src/models/HttpProject.js.map +1 -1
  165. package/build/src/models/Project.d.ts.map +1 -1
  166. package/build/src/models/Project.js +2 -2
  167. package/build/src/models/Project.js.map +1 -1
  168. package/build/src/models/ProjectFolder.d.ts.map +1 -1
  169. package/build/src/models/ProjectFolder.js +6 -6
  170. package/build/src/models/ProjectFolder.js.map +1 -1
  171. package/build/src/models/ProjectRequest.d.ts.map +1 -1
  172. package/build/src/models/ProjectRequest.js +8 -8
  173. package/build/src/models/ProjectRequest.js.map +1 -1
  174. package/build/src/models/ProjectSchema.js +6 -6
  175. package/build/src/models/ProjectSchema.js.map +1 -1
  176. package/build/src/models/Thing.d.ts +26 -5
  177. package/build/src/models/Thing.d.ts.map +1 -1
  178. package/build/src/models/Thing.js +193 -91
  179. package/build/src/models/Thing.js.map +1 -1
  180. package/build/src/models/kinds.d.ts +31 -6
  181. package/build/src/models/kinds.d.ts.map +1 -1
  182. package/build/src/models/kinds.js +31 -6
  183. package/build/src/models/kinds.js.map +1 -1
  184. package/build/src/models/store/DataFile.d.ts +3 -1
  185. package/build/src/models/store/DataFile.d.ts.map +1 -1
  186. package/build/src/models/store/DataFile.js +4 -2
  187. package/build/src/models/store/DataFile.js.map +1 -1
  188. package/build/src/models/store/File.d.ts.map +1 -1
  189. package/build/src/models/store/File.js +3 -3
  190. package/build/src/models/store/File.js.map +1 -1
  191. package/build/src/models/store/Organization.js +3 -3
  192. package/build/src/models/store/Organization.js.map +1 -1
  193. package/build/src/models/store/Permission.js +7 -7
  194. package/build/src/models/store/Permission.js.map +1 -1
  195. package/build/src/models/store/UserIdentity.js +3 -3
  196. package/build/src/models/store/UserIdentity.js.map +1 -1
  197. package/build/src/models/transformers/ArcDexieTransformer.js +4 -4
  198. package/build/src/models/transformers/ArcDexieTransformer.js.map +1 -1
  199. package/build/src/models/transformers/ArcLegacyTransformer.js +3 -3
  200. package/build/src/models/transformers/ArcLegacyTransformer.js.map +1 -1
  201. package/build/src/models/transformers/ArcPouchTransformer.js +2 -2
  202. package/build/src/models/transformers/ArcPouchTransformer.js.map +1 -1
  203. package/build/src/models/transformers/PostmanV21Transformer.js +2 -2
  204. package/build/src/models/transformers/PostmanV21Transformer.js.map +1 -1
  205. package/build/src/models/transformers/PostmanV2Transformer.js +2 -2
  206. package/build/src/models/transformers/PostmanV2Transformer.js.map +1 -1
  207. package/build/src/models/types.d.ts +12 -0
  208. package/build/src/models/types.d.ts.map +1 -0
  209. package/build/src/models/types.js +2 -0
  210. package/build/src/models/types.js.map +1 -0
  211. package/build/src/patch/PatchClient.js +2 -2
  212. package/build/src/patch/PatchClient.js.map +1 -1
  213. package/build/src/runtime/store/FilesSdk.d.ts +2 -2
  214. package/build/src/runtime/store/FilesSdk.d.ts.map +1 -1
  215. package/build/src/runtime/store/FilesSdk.js +3 -3
  216. package/build/src/runtime/store/FilesSdk.js.map +1 -1
  217. package/data/models/example-generator-api.json +8 -8
  218. package/package.json +20 -6
  219. package/readme.md +1 -1
  220. package/src/amf/AmfShapeGenerator.ts +10 -7
  221. package/src/amf/AmfTypes.ts +2 -2
  222. package/src/amf/DataValueGenerator.ts +24 -23
  223. package/src/amf/models/AmfDataNode.ts +2 -2
  224. package/src/exceptions/attach_exception.ts +11 -0
  225. package/src/exceptions/detach_exception.ts +11 -0
  226. package/src/exceptions/remove_model_exception.ts +8 -0
  227. package/src/exceptions/remove_namespace_exception.ts +8 -0
  228. package/src/lib/uuid.ts +1 -1
  229. package/src/mocking/lib/History.ts +8 -8
  230. package/src/mocking/lib/HostRules.ts +1 -1
  231. package/src/mocking/lib/User.ts +2 -2
  232. package/src/modeling/Bindings.ts +2 -2
  233. package/src/modeling/DataDomain.ts +1220 -0
  234. package/src/modeling/DataFormat.ts +54 -163
  235. package/src/modeling/DomainAssociation.ts +476 -0
  236. package/src/modeling/DomainElement.ts +50 -0
  237. package/src/modeling/DomainEntity.ts +769 -0
  238. package/src/modeling/DomainFile.ts +94 -0
  239. package/src/modeling/DomainImpactAnalysis.ts +218 -144
  240. package/src/modeling/DomainModel.ts +421 -0
  241. package/src/modeling/DomainNamespace.ts +537 -0
  242. package/src/modeling/DomainProperty.ts +548 -0
  243. package/src/modeling/DomainSerialization.ts +312 -0
  244. package/src/modeling/DomainVersioning.ts +144 -0
  245. package/src/modeling/GraphUtils.ts +28 -0
  246. package/src/modeling/amf/ShapeGenerator.ts +552 -0
  247. package/src/modeling/graph.md +115 -0
  248. package/src/modeling/{DataAssociation.ts → legacy/DataAssociation.ts} +15 -10
  249. package/src/modeling/{DataEntity.ts → legacy/DataEntity.ts} +30 -25
  250. package/src/modeling/{DataEntityBuilder.ts → legacy/DataEntityBuilder.ts} +5 -4
  251. package/src/modeling/legacy/DataImpactAnalysis.ts +530 -0
  252. package/src/modeling/{DataModel.ts → legacy/DataModel.ts} +12 -10
  253. package/src/modeling/{DataNamespace.ts → legacy/DataNamespace.ts} +25 -7
  254. package/src/modeling/{DataProperty.ts → legacy/DataProperty.ts} +17 -9
  255. package/src/modeling/observed.ts +267 -0
  256. package/src/modeling/types.ts +174 -1
  257. package/src/models/AuthorizationData.ts +3 -3
  258. package/src/models/CertificateFile.ts +2 -2
  259. package/src/models/ClientCertificate.ts +5 -5
  260. package/src/models/Environment.ts +6 -6
  261. package/src/models/Folder.ts +2 -2
  262. package/src/models/HostRule.ts +4 -4
  263. package/src/models/HttpProject.ts +12 -12
  264. package/src/models/Project.ts +2 -2
  265. package/src/models/ProjectFolder.ts +6 -6
  266. package/src/models/ProjectRequest.ts +8 -8
  267. package/src/models/ProjectSchema.ts +6 -6
  268. package/src/models/Thing.ts +70 -5
  269. package/src/models/kinds.ts +32 -6
  270. package/src/models/store/DataFile.ts +5 -3
  271. package/src/models/store/File.ts +3 -3
  272. package/src/models/store/Organization.ts +3 -3
  273. package/src/models/store/Permission.ts +7 -7
  274. package/src/models/store/UserIdentity.ts +3 -3
  275. package/src/models/transformers/ArcDexieTransformer.ts +4 -4
  276. package/src/models/transformers/ArcLegacyTransformer.ts +3 -3
  277. package/src/models/transformers/ArcPouchTransformer.ts +2 -2
  278. package/src/models/transformers/PostmanV21Transformer.ts +2 -2
  279. package/src/models/transformers/PostmanV2Transformer.ts +2 -2
  280. package/src/models/types.ts +11 -0
  281. package/src/patch/PatchClient.ts +2 -2
  282. package/src/runtime/store/FilesSdk.ts +5 -5
  283. package/tests/unit/amf/data_value_generator.spec.ts +15 -15
  284. package/tests/unit/legacy-transformers/ARC-legacy-import.spec.ts +1 -1
  285. package/tests/unit/modeling/amf/shape_generator.spec.ts +1174 -0
  286. package/tests/unit/modeling/data_domain.spec.ts +444 -0
  287. package/tests/unit/modeling/data_domain_associations.spec.ts +279 -0
  288. package/tests/unit/modeling/data_domain_change_observers.spec.ts +681 -0
  289. package/tests/unit/modeling/data_domain_entities.spec.ts +449 -0
  290. package/tests/unit/modeling/data_domain_foreign.spec.ts +355 -0
  291. package/tests/unit/modeling/data_domain_models.spec.ts +658 -0
  292. package/tests/unit/modeling/data_domain_namespaces.spec.ts +668 -0
  293. package/tests/unit/modeling/data_domain_property.spec.ts +264 -0
  294. package/tests/unit/modeling/data_domain_serialization.spec.ts +294 -0
  295. package/tests/unit/modeling/domain.property.spec.ts +822 -0
  296. package/tests/unit/modeling/domain_asociation.spec.ts +643 -0
  297. package/tests/unit/modeling/domain_asociation_targets.spec.ts +350 -0
  298. package/tests/unit/modeling/domain_entity.spec.ts +730 -0
  299. package/tests/unit/modeling/domain_entity_associations.spec.ts +330 -0
  300. package/tests/unit/modeling/domain_entity_example_generator_json.spec.ts +988 -0
  301. package/tests/unit/modeling/domain_entity_example_generator_xml.spec.ts +1451 -0
  302. package/tests/unit/modeling/domain_entity_fields.spec.ts +113 -0
  303. package/tests/unit/modeling/domain_entity_generators.spec.ts +20 -0
  304. package/tests/unit/modeling/domain_entity_parents.spec.ts +291 -0
  305. package/tests/unit/modeling/domain_entity_properties.spec.ts +305 -0
  306. package/tests/unit/modeling/{data_file.spec.ts → domain_file.spec.ts} +29 -85
  307. package/tests/unit/modeling/domain_impact_analysis.spec.ts +452 -0
  308. package/tests/unit/modeling/domain_model.spec.ts +568 -0
  309. package/tests/unit/modeling/domain_model_entities.spec.ts +408 -0
  310. package/tests/unit/modeling/domain_namespace.spec.ts +514 -0
  311. package/tests/unit/modeling/domain_namespace_models.spec.ts +324 -0
  312. package/tests/unit/modeling/domain_namespace_namespaces.spec.ts +404 -0
  313. package/tests/unit/modeling/domain_versioning.spec.ts +140 -0
  314. package/tests/unit/{amf → modeling/legacy}/amf_shape_generator.spec.ts +11 -11
  315. package/tests/unit/modeling/{data_association.spec.ts → legacy/data_association.spec.ts} +3 -11
  316. package/tests/unit/modeling/{data_entity.spec.ts → legacy/data_entity.spec.ts} +10 -8
  317. package/tests/unit/modeling/{data_entity_generator_json.spec.ts → legacy/data_entity_generator_json.spec.ts} +1 -1
  318. package/tests/unit/modeling/{data_entity_generator_xml.spec.ts → legacy/data_entity_generator_xml.spec.ts} +1 -1
  319. package/tests/unit/modeling/{data_model.spec.ts → legacy/data_model.spec.ts} +3 -3
  320. package/tests/unit/modeling/{data_namespace.spec.ts → legacy/data_namespace.spec.ts} +3 -10
  321. package/tests/unit/modeling/{data_property.spec.ts → legacy/data_property.spec.ts} +3 -6
  322. package/tests/unit/modeling/{impact_analysis.spec.ts → legacy/impact_analysis.spec.ts} +9 -9
  323. package/tests/unit/models/File/new.spec.ts +1 -1
  324. package/tests/unit/models/HttpProject.spec.ts +3 -3
  325. package/tests/unit/runtime/proxy/HttpProjectProxy.spec.ts +8 -8
  326. package/tsconfig.node.json +35 -0
  327. package/build/src/modeling/DataAssociation.d.ts.map +0 -1
  328. package/build/src/modeling/DataAssociation.js.map +0 -1
  329. package/build/src/modeling/DataEntity.d.ts.map +0 -1
  330. package/build/src/modeling/DataEntity.js.map +0 -1
  331. package/build/src/modeling/DataEntityBuilder.d.ts.map +0 -1
  332. package/build/src/modeling/DataEntityBuilder.js.map +0 -1
  333. package/build/src/modeling/DataModel.d.ts.map +0 -1
  334. package/build/src/modeling/DataModel.js.map +0 -1
  335. package/build/src/modeling/DataNamespace.d.ts.map +0 -1
  336. package/build/src/modeling/DataNamespace.js.map +0 -1
  337. package/build/src/modeling/DataProperty.d.ts.map +0 -1
  338. package/build/src/modeling/DataProperty.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../../src/mocking/lib/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAiB,MAAM,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACpF,OAAO,EAAS,IAAI,IAAI,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAQpE,MAAM,OAAO,IAAI;IACf,MAAM,CAAQ;IACd,KAAK,CAAO;IACZ,QAAQ,CAAU;IAClB,MAAM,CAAQ;IAEd,YAAY,OAAsB,EAAE;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,IAAI,CAAC,OAAkB,EAAE;QACvB,MAAM,MAAM,GAAU;YACpB,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;SACzB,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,GAAG;gBACb;oBACE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;oBAC5B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;iBAC/B;aACF,CAAA;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,CAAC,OAAO,GAAG;gBACf,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;aAC5B,CAAA;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG;gBAChB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;aAChC,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF","sourcesContent":["import { Internet, Types, IDataMockInit, Person, Random } from '@pawel-up/data-mock'\nimport { IUser, Kind as UserKind } from '../../models/store/User.js'\n\nexport interface IUserInit {\n noEmail?: boolean\n noPicture?: boolean\n noProvider?: boolean\n}\n\nexport class User {\n person: Person\n types: Types\n internet: Internet\n random: Random\n\n constructor(init: IDataMockInit = {}) {\n this.person = new Person(init)\n this.types = new Types(init.seed)\n this.internet = new Internet(init)\n this.random = new Random(init.seed)\n }\n\n user(init: IUserInit = {}): IUser {\n const result: IUser = {\n kind: UserKind,\n key: this.types.uuid(),\n name: this.person.name(),\n }\n if (!init.noEmail) {\n result.email = [\n {\n email: this.internet.email(),\n verified: this.types.boolean(),\n },\n ]\n }\n if (!init.noPicture) {\n result.picture = {\n url: this.internet.avatar(),\n }\n }\n if (!init.noProvider) {\n result.provider = {\n refreshToken: this.types.uuid(),\n }\n }\n return result\n }\n}\n"]}
1
+ {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../../src/mocking/lib/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAiB,MAAM,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACpF,OAAO,EAAS,IAAI,IAAI,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAQpE,MAAM,OAAO,IAAI;IACf,MAAM,CAAQ;IACd,KAAK,CAAO;IACZ,QAAQ,CAAU;IAClB,MAAM,CAAQ;IAEd,YAAY,OAAsB,EAAE;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,IAAI,CAAC,OAAkB,EAAE;QACvB,MAAM,MAAM,GAAU;YACpB,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;SACzB,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,GAAG;gBACb;oBACE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;oBAC5B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;iBAC/B;aACF,CAAA;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,CAAC,OAAO,GAAG;gBACf,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;aAC5B,CAAA;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG;gBAChB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;aACpC,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF","sourcesContent":["import { Internet, Types, IDataMockInit, Person, Random } from '@pawel-up/data-mock'\nimport { IUser, Kind as UserKind } from '../../models/store/User.js'\n\nexport interface IUserInit {\n noEmail?: boolean\n noPicture?: boolean\n noProvider?: boolean\n}\n\nexport class User {\n person: Person\n types: Types\n internet: Internet\n random: Random\n\n constructor(init: IDataMockInit = {}) {\n this.person = new Person(init)\n this.types = new Types(init.seed)\n this.internet = new Internet(init)\n this.random = new Random(init.seed)\n }\n\n user(init: IUserInit = {}): IUser {\n const result: IUser = {\n kind: UserKind,\n key: this.types.string(21),\n name: this.person.name(),\n }\n if (!init.noEmail) {\n result.email = [\n {\n email: this.internet.email(),\n verified: this.types.boolean(),\n },\n ]\n }\n if (!init.noPicture) {\n result.picture = {\n url: this.internet.avatar(),\n }\n }\n if (!init.noProvider) {\n result.provider = {\n refreshToken: this.types.string(21),\n }\n }\n return result\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { IApiXmlSerializer } from '../amf/definitions/Shapes.js';
2
- import { DataPropertyFormat } from './DataFormat.js';
2
+ import { DomainPropertyFormat } from './DataFormat.js';
3
3
  interface Binding {
4
4
  /**
5
5
  * The type of the bindings
@@ -59,7 +59,7 @@ export interface PropertyWebBindings {
59
59
  /**
60
60
  * The format specifying the property data type.
61
61
  */
62
- format?: DataPropertyFormat;
62
+ format?: DomainPropertyFormat;
63
63
  /**
64
64
  * When set it overrides the `name` of the property.
65
65
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Bindings.d.ts","sourceRoot":"","sources":["../../../src/modeling/Bindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,UAAU,OAAO;IACf;;;;;OAKG;IACH,IAAI,EAAE,UAAU,GAAG,KAAK,CAAA;IACxB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,GAAG,CAAC,EAAE,iBAAiB,CAAA;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,QAAQ,CAAC,EACL,QAAQ,GACR,OAAO,GACP,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,UAAU,GACV,UAAU,GACV,MAAM,GACN,QAAQ,GACR,OAAO,CAAA;CACZ;AAED,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,wBAAwB,CAAA;AAE7E,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C;;;;;OAKG;IACH,MAAM,EAAE,gBAAgB,CAAA;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CAAA;AAExD,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IACjD;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAA;CAC5B"}
1
+ {"version":3,"file":"Bindings.d.ts","sourceRoot":"","sources":["../../../src/modeling/Bindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD,UAAU,OAAO;IACf;;;;;OAKG;IACH,IAAI,EAAE,UAAU,GAAG,KAAK,CAAA;IACxB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAC7B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,GAAG,CAAC,EAAE,iBAAiB,CAAA;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,QAAQ,CAAC,EACL,QAAQ,GACR,OAAO,GACP,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,UAAU,GACV,UAAU,GACV,MAAM,GACN,QAAQ,GACR,OAAO,CAAA;CACZ;AAED,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,wBAAwB,CAAA;AAE7E,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C;;;;;OAKG;IACH,MAAM,EAAE,gBAAgB,CAAA;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CAAA;AAExD,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IACjD;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAA;CAC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Bindings.js","sourceRoot":"","sources":["../../../src/modeling/Bindings.ts"],"names":[],"mappings":"","sourcesContent":["import { IApiXmlSerializer } from '../amf/definitions/Shapes.js'\nimport { DataPropertyFormat } from './DataFormat.js'\n\ninterface Binding {\n /**\n * The type of the bindings\n *\n * - Protocol buffers: `protobuf`\n * - RAML or OAS - `web`\n */\n type: 'protobuf' | 'web'\n /**\n * The binding schema.\n */\n schema: unknown\n}\n\n/**\n * Binding for web API schema types (RAML, OAS)\n *\n * Data type translation (type to dataType)\n *\n * - `string` -> `string` with appropriate format\n * - `number` -> `number` data type with format `float`, `double`, or none format for OAS\n * - `integer` -> `integer` data type with `int32`, `int64`, or none format for OAS\n * - `nil` -> `nullable` property on OAS or `nil` type in RAML\n * - `boolean` -> `boolean` (both the same)\n * - `date` ->\n * - `any` -> `any` in RAML, `{}` shorthand in OAS\n *\n *\n *\n * The `binary` type\n *\n * OAS\n *\n * `http://www.w3.org/2001/XMLSchema#byte` For a file\n * `http://www.w3.org/2001/XMLSchema#base64Binary` for base 64\n *\n * RAML\n *\n * Has it's own AMF shape: FileShape.\n *\n * The `data` type\n *\n * OAS\n *\n * `http://www.w3.org/2001/XMLSchema#date` for a `date`\n * `http://www.w3.org/2001/XMLSchema#dateTime` for a `datetime` and `time`.\n * Note, OAS has no concept of `time` do we add `time` as the `format which is a custom thing.\n *\n * RAML\n *\n * `http://www.w3.org/2001/XMLSchema#date` for a `date` (raml's date-only)\n * `http://a.ml/vocabularies/shapes#dateTimeOnly` for a `time` (raml's time-only)\n * `http://www.w3.org/2001/XMLSchema#dateTime` for a `datetime` (raml's datetime) + format\n *\n * Note, we won't support RAML's `datetime-only`.\n */\nexport interface PropertyWebBindings {\n /**\n * The format specifying the property data type.\n */\n format?: DataPropertyFormat\n /**\n * When set it overrides the `name` of the property.\n */\n name?: string\n /**\n * The XML encoding instructions.\n */\n xml?: IApiXmlSerializer\n /**\n * Only valid for the `file` property type.\n * The list of file mime types.\n */\n fileTypes?: string[]\n /**\n * The patter to use wit a string scalar\n */\n pattern?: string\n /**\n * Whether the attribute is hidden in the schema (not a part of it).\n */\n hidden?: boolean\n}\n\n/**\n * Binding to the protocol buffer.\n *\n * Data type translation (type to dataType)\n *\n * - `string` -> `string`\n * - `number` -> `double`, `float`\n * - `integer` -> `int32`, `int64`, `uint32`, `uint64`, `sint32`, `sint64`, `fixed32`, `fixed64`, `sfixed32`, `sfixed64`\n * - `nil` -> No translation.\n * - `boolean` -> `boolean`\n * - `date` -> No translation, we allow string or number (date string or a timestamp with a\n * combination with format but this is not standard for ProtoBuf)\n * - `any` -> No translation, the user has to pick any of the data formats.\n * - `binary` -> `bytes`\n */\nexport interface PropertyProtobufBindings {\n /**\n * The field number in a protocol buffer message\n */\n field?: number\n /**\n * Whether this property (field) is reserved\n */\n reserved?: boolean\n /**\n * Whether the attribute is hidden in the schema (not a part of it).\n */\n hidden?: boolean\n /**\n * The data type of the protocol buffer proprty\n */\n dataType?:\n | 'double'\n | 'float'\n | 'int32'\n | 'int64'\n | 'uint32'\n | 'uint64'\n | 'sint32'\n | 'sint64'\n | 'fixed32'\n | 'fixed64'\n | 'sfixed32'\n | 'sfixed64'\n | 'bool'\n | 'string'\n | 'bytes'\n}\n\nexport type PropertyBindings = PropertyWebBindings | PropertyProtobufBindings\n\nexport interface PropertyBinding extends Binding {\n /**\n * The definition of the bindings.\n * The bindings tells how to translated the DataProperty to a specific format.\n * For example, it allows to define the `dataType` and `format` for RAML / OAS (via the AMF shapes)\n * or the field number for protocol buffer.\n */\n schema: PropertyBindings\n}\n\nexport interface AssociationWebBindings {\n /**\n * Whether the association is hidden in the schema (not a part of it).\n */\n hidden?: boolean\n}\n\nexport type AssociationBindings = AssociationWebBindings\n\nexport interface AssociationBinding extends Binding {\n /**\n * Association binding definition.\n */\n schema: AssociationBindings\n}\n"]}
1
+ {"version":3,"file":"Bindings.js","sourceRoot":"","sources":["../../../src/modeling/Bindings.ts"],"names":[],"mappings":"","sourcesContent":["import { IApiXmlSerializer } from '../amf/definitions/Shapes.js'\nimport { DomainPropertyFormat } from './DataFormat.js'\n\ninterface Binding {\n /**\n * The type of the bindings\n *\n * - Protocol buffers: `protobuf`\n * - RAML or OAS - `web`\n */\n type: 'protobuf' | 'web'\n /**\n * The binding schema.\n */\n schema: unknown\n}\n\n/**\n * Binding for web API schema types (RAML, OAS)\n *\n * Data type translation (type to dataType)\n *\n * - `string` -> `string` with appropriate format\n * - `number` -> `number` data type with format `float`, `double`, or none format for OAS\n * - `integer` -> `integer` data type with `int32`, `int64`, or none format for OAS\n * - `nil` -> `nullable` property on OAS or `nil` type in RAML\n * - `boolean` -> `boolean` (both the same)\n * - `date` ->\n * - `any` -> `any` in RAML, `{}` shorthand in OAS\n *\n *\n *\n * The `binary` type\n *\n * OAS\n *\n * `http://www.w3.org/2001/XMLSchema#byte` For a file\n * `http://www.w3.org/2001/XMLSchema#base64Binary` for base 64\n *\n * RAML\n *\n * Has it's own AMF shape: FileShape.\n *\n * The `data` type\n *\n * OAS\n *\n * `http://www.w3.org/2001/XMLSchema#date` for a `date`\n * `http://www.w3.org/2001/XMLSchema#dateTime` for a `datetime` and `time`.\n * Note, OAS has no concept of `time` do we add `time` as the `format which is a custom thing.\n *\n * RAML\n *\n * `http://www.w3.org/2001/XMLSchema#date` for a `date` (raml's date-only)\n * `http://a.ml/vocabularies/shapes#dateTimeOnly` for a `time` (raml's time-only)\n * `http://www.w3.org/2001/XMLSchema#dateTime` for a `datetime` (raml's datetime) + format\n *\n * Note, we won't support RAML's `datetime-only`.\n */\nexport interface PropertyWebBindings {\n /**\n * The format specifying the property data type.\n */\n format?: DomainPropertyFormat\n /**\n * When set it overrides the `name` of the property.\n */\n name?: string\n /**\n * The XML encoding instructions.\n */\n xml?: IApiXmlSerializer\n /**\n * Only valid for the `file` property type.\n * The list of file mime types.\n */\n fileTypes?: string[]\n /**\n * The patter to use wit a string scalar\n */\n pattern?: string\n /**\n * Whether the attribute is hidden in the schema (not a part of it).\n */\n hidden?: boolean\n}\n\n/**\n * Binding to the protocol buffer.\n *\n * Data type translation (type to dataType)\n *\n * - `string` -> `string`\n * - `number` -> `double`, `float`\n * - `integer` -> `int32`, `int64`, `uint32`, `uint64`, `sint32`, `sint64`, `fixed32`, `fixed64`, `sfixed32`, `sfixed64`\n * - `nil` -> No translation.\n * - `boolean` -> `boolean`\n * - `date` -> No translation, we allow string or number (date string or a timestamp with a\n * combination with format but this is not standard for ProtoBuf)\n * - `any` -> No translation, the user has to pick any of the data formats.\n * - `binary` -> `bytes`\n */\nexport interface PropertyProtobufBindings {\n /**\n * The field number in a protocol buffer message\n */\n field?: number\n /**\n * Whether this property (field) is reserved\n */\n reserved?: boolean\n /**\n * Whether the attribute is hidden in the schema (not a part of it).\n */\n hidden?: boolean\n /**\n * The data type of the protocol buffer proprty\n */\n dataType?:\n | 'double'\n | 'float'\n | 'int32'\n | 'int64'\n | 'uint32'\n | 'uint64'\n | 'sint32'\n | 'sint64'\n | 'fixed32'\n | 'fixed64'\n | 'sfixed32'\n | 'sfixed64'\n | 'bool'\n | 'string'\n | 'bytes'\n}\n\nexport type PropertyBindings = PropertyWebBindings | PropertyProtobufBindings\n\nexport interface PropertyBinding extends Binding {\n /**\n * The definition of the bindings.\n * The bindings tells how to translated the DataProperty to a specific format.\n * For example, it allows to define the `dataType` and `format` for RAML / OAS (via the AMF shapes)\n * or the field number for protocol buffer.\n */\n schema: PropertyBindings\n}\n\nexport interface AssociationWebBindings {\n /**\n * Whether the association is hidden in the schema (not a part of it).\n */\n hidden?: boolean\n}\n\nexport type AssociationBindings = AssociationWebBindings\n\nexport interface AssociationBinding extends Binding {\n /**\n * Association binding definition.\n */\n schema: AssociationBindings\n}\n"]}
@@ -0,0 +1,601 @@
1
+ import { Graph } from '@api-client/graph';
2
+ import { DataDomainKind } from '../models/kinds.js';
3
+ import type { AssociationAddOptions, DomainGraphEdge, DomainGraphNodeType, ForeignDomainDependency, SerializedGraph } from './types.js';
4
+ import { type DomainNamespaceSchema, DomainNamespace, type NamespaceOrderedItem } from './DomainNamespace.js';
5
+ import { type DomainModelSchema, DomainModel } from './DomainModel.js';
6
+ import { type DomainEntitySchema, DomainEntity } from './DomainEntity.js';
7
+ import { DomainAssociation } from './DomainAssociation.js';
8
+ import { DomainProperty, DomainPropertySchema } from './DomainProperty.js';
9
+ import { type IThing, Thing } from '../models/Thing.js';
10
+ export interface DataDomainSchema {
11
+ info: IThing;
12
+ kind: typeof DataDomainKind;
13
+ key: string;
14
+ graph?: SerializedGraph;
15
+ dependencyList?: ForeignDomainDependency[];
16
+ /**
17
+ * The ordered list of fields (namespace and models) in the schema.
18
+ * These only keep references to define the order of these properties
19
+ * in the schema as graph won't do it.
20
+ */
21
+ fields?: NamespaceOrderedItem[];
22
+ }
23
+ /**
24
+ * Represents the root of a data domain model.
25
+ *
26
+ * The `DataDomain` class serves as the top-level container
27
+ * for a collection of data models, namespaces, entities,
28
+ * properties, and associations. It provides methods for
29
+ * managing and manipulating these data elements, enabling
30
+ * the creation of complex and interconnected data
31
+ * structures.
32
+ *
33
+ * **Key Features:**
34
+ *
35
+ * - **Root Container:** Holds all data elements within a domain.
36
+ * - **Graph-Based Structure:** Uses a graph to represent relationships between data elements.
37
+ * - **Namespace Management:** Supports creating and managing namespaces to organize data models.
38
+ * - **Data Model Management:** Supports creating and managing data models to group entities.
39
+ * - **Entity Management:** Supports creating and managing entities, which define the structure of data.
40
+ * - **Property Management:** Supports creating and managing properties, which define the data elements
41
+ * within entities.
42
+ * - **Association Management:** Supports creating and managing associations, which define relationships
43
+ * between entities.
44
+ * - **Foreign Domain Support:** Allows registering and integrating data from external domains.
45
+ * - **Change Notification:** Notifies listeners when changes occur within the data domain.
46
+ *
47
+ * **Usage:**
48
+ *
49
+ * 1. Create an instance of the `DataDomain`.
50
+ * 2. Use methods like `addNamespace()`, `addModel()`,
51
+ * `addEntity()`, `addProperty()`, and `addAssociation()`
52
+ * to build the data domain structure.
53
+ * 3. Use methods like `findNamespace()`, `findModel()`,
54
+ * `findEntity()`, `findProperty()`, and
55
+ * `findAssociation()` to retrieve data elements.
56
+ * 4. Use methods like `listNamespaces()`, `listGraphNamespaces()`, `listModels()`,
57
+ * and `listEntities()` to iterate over collections of
58
+ * data elements.
59
+ * 5. Use `registerForeignDomain()` to integrate data from
60
+ * external domains.
61
+ * 6. Listen for the `change` event to be notified of
62
+ * changes within the data domain.
63
+ *
64
+ * **Example:**
65
+ *
66
+ * ```typescript
67
+ * const dataDomain = new DataDomain();
68
+ * const userNamespace = dataDomain.addNamespace({
69
+ * key: 'userNamespace',
70
+ * });
71
+ * const userModel = userNamespace.addModel({
72
+ * key: 'userModel',
73
+ * });
74
+ * const userEntity = userModel.addEntity({
75
+ * key: 'user',
76
+ * });
77
+ * const nameProperty = userEntity.addProperty({
78
+ * key: 'name',
79
+ * type: 'string',
80
+ * });
81
+ * ```
82
+ *
83
+ * @fires DataDomain#change {Event} - Fired when the data
84
+ * domain changes.
85
+ *
86
+ * @todo: Implement a mechanism to move an entity to a new
87
+ * parent model.
88
+ */
89
+ export declare class DataDomain extends EventTarget {
90
+ #private;
91
+ /**
92
+ * The kind of the domain element.
93
+ */
94
+ kind: typeof DataDomainKind;
95
+ /**
96
+ * The unique key of the domain element.
97
+ */
98
+ key: string;
99
+ /**
100
+ * The graph used to store the data domain structure.
101
+ */
102
+ graph: Graph<unknown, DomainGraphNodeType, DomainGraphEdge>;
103
+ /**
104
+ * A map of foreign data domains.
105
+ * Key: The unique identifier of the foreign domain.
106
+ * Value: The foreign DataDomain instance.
107
+ */
108
+ dependencies: Map<string, DataDomain>;
109
+ /**
110
+ * The list of foreign domain dependencies.
111
+ */
112
+ dependencyList: ForeignDomainDependency[];
113
+ /**
114
+ * The description of the domain property.
115
+ */
116
+ accessor info: Thing;
117
+ /**
118
+ * This is to keep it consistent with the domain elements.
119
+ */
120
+ get domain(): DataDomain;
121
+ /**
122
+ * The ordered list of fields (namespace and models) in the schema.
123
+ * These only keep references to define the order of these properties
124
+ * in the schema as graph won't do it.
125
+ */
126
+ accessor fields: NamespaceOrderedItem[];
127
+ static createSchema(input?: Partial<DataDomainSchema>): DataDomainSchema;
128
+ /**
129
+ * Creates a new instance of the `DataDomain` class.
130
+ *
131
+ * When creating a new Data Domain arguments should not be set.
132
+ * When restoring a Data Domain from a previous state, you should provide
133
+ * the serialized graph state as well as the same list of dependencies
134
+ * used when the graph was deserialized. Edges to missing dependency nodes
135
+ * will be ignored.
136
+ *
137
+ * @param state The previously serialized state of the graph.
138
+ * @param dependencies An array of foreign data domains to register with this domain.
139
+ */
140
+ constructor(state?: Partial<DataDomainSchema>, dependencies?: DataDomain[]);
141
+ /**
142
+ * Serializes the DataDomain instance to a JSON object.
143
+ * It does not serialize the foreign domain dependencies. The serialized nodes
144
+ * are the ones that are local to this data domain.
145
+ * @returns The serialized data domain ready for storage or transport.
146
+ */
147
+ toJSON(): DataDomainSchema;
148
+ /**
149
+ * This function is used internally by all domain elements to notify that something has changed.
150
+ * Since we want to notify listeners after the operation commits, we use microtask
151
+ * to ensure that the event is dispatched after the current operation.
152
+ */
153
+ notifyChange(): void;
154
+ private removeField;
155
+ /**
156
+ * Checks if this data domain has any fields (namespace and models).
157
+ *
158
+ * @returns True if the data domain has fields.
159
+ * @example
160
+ * ```typescript
161
+ * if (domain.hasFields()) {
162
+ * // ...
163
+ * }
164
+ * ```
165
+ */
166
+ hasFields(): boolean;
167
+ /**
168
+ * Lists all fields (namespace and models) of this namespace.
169
+ *
170
+ * @returns A generator that yields each `DomainAssociation` or `DomainProperty`.
171
+ * @example
172
+ * ```typescript
173
+ * for (const field of namespace.listFields()) {
174
+ * console.log(field.key);
175
+ * }
176
+ * ```
177
+ */
178
+ listFields(): Generator<DomainNamespace | DomainModel>;
179
+ /**
180
+ * Adds a new data domain instance to the graph.
181
+ *
182
+ * @param value The partial namespace schema. All missing
183
+ * values will be filled with default values.
184
+ * @param parent The parent namespace key. If not provided,
185
+ * the new namespace will be added to the root of the
186
+ * graph.
187
+ * @returns The created namespace instance.
188
+ * @throws Error When the parent does not exist or is not
189
+ * a namespace.
190
+ * @example
191
+ * ```typescript
192
+ * const newNamespace = dataDomain.addNamespace({
193
+ * key: 'newNamespace',
194
+ * });
195
+ * ```
196
+ */
197
+ addNamespace(value?: Partial<DomainNamespaceSchema>, parent?: string): DomainNamespace;
198
+ /**
199
+ * Removes a namespace from the graph.
200
+ *
201
+ * @param key The key of the namespace to remove.
202
+ * @returns The current DataDomain instance.
203
+ * @throws Error When the namespace does not exist.
204
+ * @example
205
+ * ```typescript
206
+ * dataDomain.removeNamespace('userNamespace');
207
+ * ```
208
+ */
209
+ removeNamespace(key: string): this;
210
+ /**
211
+ * Lists all namespaces of this data domain that are direct children of it.
212
+ *
213
+ * Note, it accounts for the order of the namespaces as defined in the `fields` array.
214
+ *
215
+ * @returns A generator that yields each `DomainNamespace`.
216
+ * @example
217
+ * ```typescript
218
+ * for (const ns of domain.listNamespaces()) {
219
+ * console.log(ns.key);
220
+ * }
221
+ * ```
222
+ */
223
+ listNamespaces(): Generator<DomainNamespace>;
224
+ /**
225
+ * Checks if this data domain has any namespaces.
226
+ *
227
+ * @returns True if the data domain has namespaces.
228
+ * @example
229
+ * ```typescript
230
+ * if (domain.hasNamespaces()) {
231
+ * // ...
232
+ * }
233
+ * ```
234
+ */
235
+ hasNamespaces(): boolean;
236
+ /**
237
+ * Lists all namespaces in the graph.
238
+ *
239
+ * @param parent The key of the parent namespace. If not
240
+ * provided, all root namespaces will be listed.
241
+ * @returns A generator that yields each `DomainNamespace`.
242
+ * @example
243
+ * ```typescript
244
+ * for (const ns of dataDomain.listGraphNamespaces()) {
245
+ * console.log(ns.key);
246
+ * }
247
+ * ```
248
+ */
249
+ listGraphNamespaces(parent?: string): Generator<DomainNamespace>;
250
+ /**
251
+ * Finds a namespace by its key.
252
+ *
253
+ * @param key The key of the namespace to find.
254
+ * @returns The namespace instance or undefined if not
255
+ * found.
256
+ * @example
257
+ * ```typescript
258
+ * const ns = dataDomain.findNamespace('userNamespace');
259
+ * if (ns) {
260
+ * console.log(ns.key);
261
+ * }
262
+ * ```
263
+ */
264
+ findNamespace(key: string): DomainNamespace | undefined;
265
+ /**
266
+ * Moves a namespace to a new parent.
267
+ *
268
+ * @param key The key of the namespace to move.
269
+ * @param parent The new parent namespace key. If
270
+ * undefined, the namespace will be moved to the root.
271
+ * @returns The current DataDomain instance.
272
+ * @throws Error When the namespace or parent does not
273
+ * exist, or when a namespace is moved to itself or
274
+ * its own child.
275
+ * @example
276
+ * ```typescript
277
+ * dataDomain.moveNamespace('userNamespace', 'root');
278
+ * ```
279
+ */
280
+ moveNamespace(key: string, parent?: string): this;
281
+ /**
282
+ * Checks if a namespace is a child of another namespace.
283
+ * @param parentKey The key of the parent namespace.
284
+ * @param childKey The key of the child namespace.
285
+ * @returns True if the namespace is a child of another namespace.
286
+ */
287
+ private isChildOf;
288
+ /**
289
+ * Adds a data model to the graph.
290
+ *
291
+ * @param input The partial data model schema.
292
+ * @param parent The parent namespace key. If not
293
+ * provided, the new data model will be added to the
294
+ * root of the graph.
295
+ * @returns The created data model instance.
296
+ * @throws Error When the parent does not exist or is not
297
+ * a namespace.
298
+ * @example
299
+ * ```typescript
300
+ * const newModel = dataDomain.addModel({
301
+ * key: 'newModel',
302
+ * });
303
+ * ```
304
+ */
305
+ addModel(input?: Partial<DomainModelSchema>, parent?: string): DomainModel;
306
+ /**
307
+ * Removes a data model from the graph.
308
+ *
309
+ * @param key The key of the data model to remove.
310
+ * @returns The current DataDomain instance.
311
+ * @throws Error When the data model does not exist.
312
+ * @example
313
+ * ```typescript
314
+ * dataDomain.removeModel('userModel');
315
+ * ```
316
+ */
317
+ removeModel(key: string): this;
318
+ /**
319
+ * Lists all models of this data domain that are direct children of it.
320
+ *
321
+ * Note, it accounts for the order of the models as
322
+ * defined in the `fields` array.
323
+ *
324
+ * @returns A generator that yields each `DomainModel`.
325
+ * @example
326
+ * ```typescript
327
+ * for (const ns of namespace.listModels()) {
328
+ * console.log(ns.key);
329
+ * }
330
+ * ```
331
+ */
332
+ listModels(): Generator<DomainModel>;
333
+ /**
334
+ * Checks if this data domain has any direct models.
335
+ *
336
+ * @returns True if the data domain has models.
337
+ * @example
338
+ * ```typescript
339
+ * if (domain.hasModels()) {
340
+ * // ...
341
+ * }
342
+ * ```
343
+ */
344
+ hasModels(): boolean;
345
+ /**
346
+ * Lists all data models in the graph.
347
+ *
348
+ * @param parent The key of the parent namespace. If not
349
+ * provided, all root data models will be listed.
350
+ * @returns A generator that yields each `DomainModel`.
351
+ * @example
352
+ * ```typescript
353
+ * for (const model of dataDomain.listGraphModels()) {
354
+ * console.log(model.key);
355
+ * }
356
+ * ```
357
+ */
358
+ listGraphModels(parent?: string): Generator<DomainModel>;
359
+ /**
360
+ * Finds a data model by its key.
361
+ *
362
+ * @param key The key of the data model to find.
363
+ * @returns The data model instance or undefined if not
364
+ * found.
365
+ * @example
366
+ * ```typescript
367
+ * const model = dataDomain.findModel('userModel');
368
+ * if (model) {
369
+ * console.log(model.key);
370
+ * }
371
+ * ```
372
+ */
373
+ findModel(key: string): DomainModel | undefined;
374
+ /**
375
+ * Moves a data model to a new parent.
376
+ *
377
+ * @param key The key of the data model to move.
378
+ * @param parent The new parent namespace key. If
379
+ * undefined, the data model will be moved to the root.
380
+ * @returns The current DataDomain instance.
381
+ * @throws Error When the data model or parent does not
382
+ * exist, or when a data model is moved to a foreign
383
+ * domain.
384
+ * @example
385
+ * ```typescript
386
+ * dataDomain.moveModel('userModel', 'newNamespace');
387
+ * ```
388
+ */
389
+ moveModel(key: string, parent?: string): this;
390
+ /**
391
+ * Adds an entity to a data model.
392
+ *
393
+ * @param input The partial entity schema.
394
+ * @param parent The key of the parent data model.
395
+ * @returns The created entity instance.
396
+ * @throws {Error} When the parent does not exist or is not a data model.
397
+ * @example
398
+ * ```typescript
399
+ * const userEntity = dataDomain.addEntity({
400
+ * key: 'user',
401
+ * }, 'userModel');
402
+ * ```
403
+ */
404
+ addEntity(parent: string, input?: Partial<DomainEntitySchema>): DomainEntity;
405
+ /**
406
+ * Removes an entity from the graph.
407
+ *
408
+ * @param key The key of the entity to remove.
409
+ * @returns The current DataDomain instance.
410
+ * @throws Error When the entity does not exist.
411
+ * @example
412
+ * ```typescript
413
+ * dataDomain.removeEntity('user');
414
+ * ```
415
+ */
416
+ removeEntity(key: string): this;
417
+ /**
418
+ * Lists all entities in a data model, or, if the model key is not provided,
419
+ * all entities in the domain.
420
+ *
421
+ * @param parent The key of the parent data model.
422
+ * @returns A generator that yields each `DomainEntity`.
423
+ * @example
424
+ * ```typescript
425
+ * for (const entity of dataDomain.listEntities('userModel')) {
426
+ * console.log(entity.key);
427
+ * }
428
+ * ```
429
+ */
430
+ listEntities(parent?: string): Generator<DomainEntity>;
431
+ /**
432
+ * Finds an entity by its key.
433
+ *
434
+ * @param key The key of the entity to find.
435
+ * @returns The entity instance or undefined if not found.
436
+ * @example
437
+ * ```typescript
438
+ * const entity = dataDomain.findEntity('user');
439
+ * if (entity) {
440
+ * console.log(entity.key);
441
+ * }
442
+ * ```
443
+ */
444
+ findEntity(key: string): DomainEntity | undefined;
445
+ /**
446
+ * Moves an entity from one model to another.
447
+ *
448
+ * @param entityKey The key of the entity to move.
449
+ * @param sourceModelKey The key of the source model.
450
+ * @param targetModelKey The key of the target model.
451
+ * @throws Error When the entity, source model, or target model does not exist.
452
+ * @throws Error When the entity is not in the same domain.
453
+ * @throws Error When the source and target models are the same.
454
+ * @throws Error When moving to an unsupported object.
455
+ */
456
+ moveEntity(entityKey: string, sourceModelKey: string, targetModelKey: string): void;
457
+ /**
458
+ * Adds an association between two entities.
459
+ *
460
+ * This function is a shortcut that finds the entity and
461
+ * calls the `addAssociation` method on it.
462
+ *
463
+ * @param source The key of the source entity.
464
+ * @param init The association options.
465
+ * @returns The created association.
466
+ * @throws Error When the source entity does not exist.
467
+ * @example
468
+ * ```typescript
469
+ * const addressAssociation = dataDomain.addAssociation(
470
+ * 'user', { key: 'address' }
471
+ * );
472
+ * ```
473
+ */
474
+ addAssociation(source: string, init?: AssociationAddOptions): DomainAssociation;
475
+ /**
476
+ * Removes an association from the graph.
477
+ *
478
+ * @param key The key of the association to remove.
479
+ * @returns The current DataDomain instance.
480
+ * @throws Error When the association does not exist or
481
+ * when the parent entity is not found.
482
+ * @example
483
+ * ```typescript
484
+ * dataDomain.removeAssociation('address');
485
+ * ```
486
+ */
487
+ removeAssociation(key: string): this;
488
+ /**
489
+ * Finds an association by its key.
490
+ *
491
+ * @param key The key of the association to find.
492
+ * @returns The association instance or undefined if not
493
+ * found.
494
+ * @example
495
+ * ```typescript
496
+ * const assoc = dataDomain.findAssociation('address');
497
+ * if (assoc) {
498
+ * console.log(assoc.key);
499
+ * }
500
+ * ```
501
+ */
502
+ findAssociation(key: string): DomainAssociation | undefined;
503
+ /**
504
+ * Adds a property to an entity.
505
+ *
506
+ * @param parent The key of the parent entity.
507
+ * @param property The partial property schema.
508
+ * @returns The created property instance.
509
+ * @throws Error When the parent does not exist or is not
510
+ * an entity.
511
+ * @example
512
+ * ```typescript
513
+ * const nameProperty = dataDomain.addProperty(
514
+ * 'user', { key: 'name', type: 'string' }
515
+ * );
516
+ * ```
517
+ */
518
+ addProperty(parent: string, property?: Partial<DomainPropertySchema>): DomainProperty;
519
+ /**
520
+ * Removes a property from the graph.
521
+ *
522
+ * @param key The key of the property to remove.
523
+ * @returns The current DataDomain instance.
524
+ * @throws Error When the property does not exist or when
525
+ * the parent entity is not found.
526
+ * @example
527
+ * ```typescript
528
+ * dataDomain.removeProperty('name');
529
+ * ```
530
+ */
531
+ removeProperty(key: string): this;
532
+ /**
533
+ * Finds a property by its key.
534
+ *
535
+ * @param key The key of the property to find.
536
+ * @returns The property instance or undefined if not
537
+ * found.
538
+ * @example
539
+ * ```typescript
540
+ * const prop = dataDomain.findProperty('name');
541
+ * if (prop) {
542
+ * console.log(prop.key);
543
+ * }
544
+ * ```
545
+ */
546
+ findProperty(key: string): DomainProperty | undefined;
547
+ /**
548
+ * Registers a foreign DataDomain.
549
+ *
550
+ * @param domain The foreign DataDomain instance.
551
+ * @param key The unique identifier for the foreign
552
+ * domain.
553
+ * @param version The version of the foreign domain.
554
+ * @throws Error When a foreign domain with the same key is already registered.
555
+ * @example
556
+ * ```typescript
557
+ * dataDomain.registerForeignDomain(
558
+ * foreignDomain, 'foreignDomain', '1.0.0'
559
+ * );
560
+ * ```
561
+ */
562
+ registerForeignDomain(domain: DataDomain): void;
563
+ /**
564
+ * Un-registers a foreign DataDomain. It removes all defined by the foreign domain
565
+ * information from the graph.
566
+ * @param key The key of the foreign domain to unregister.
567
+ */
568
+ unregisterForeignDomain(key: string): void;
569
+ /**
570
+ * Finds an entity in a foreign domain.
571
+ *
572
+ * @param entityKey The key of the entity to find.
573
+ * @param domainKey The key of the foreign domain.
574
+ * @returns The entity instance or undefined if not
575
+ * found.
576
+ * @example
577
+ * ```typescript
578
+ * const foreignUser = dataDomain.findForeignEntity(
579
+ * 'user', 'foreignDomain'
580
+ * );
581
+ * if (foreignUser) {
582
+ * console.log(foreignUser.key);
583
+ * }
584
+ * ```
585
+ */
586
+ findForeignEntity(entityKey: string, domainKey: string): DomainEntity | undefined;
587
+ /**
588
+ * A convenience function to remove an object from the
589
+ * namespace.
590
+ *
591
+ * @param key The key of the object to remove.
592
+ * @param kind The kind of the object to remove.
593
+ * @throws Error when the kind is not known.
594
+ * @example
595
+ * ```typescript
596
+ * dataDomain.removeDomainElement('user', DomainEntityKind);
597
+ * ```
598
+ */
599
+ removeDomainElement(key: string, kind: string): void;
600
+ }
601
+ //# sourceMappingURL=DataDomain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataDomain.d.ts","sourceRoot":"","sources":["../../../src/modeling/DataDomain.ts"],"names":[],"mappings":"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"}