@monorise/core 0.1.2 → 0.1.4

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 (328) hide show
  1. package/dist/configs/service.config.d.ts.map +1 -0
  2. package/dist/configs/service.config.js.map +1 -0
  3. package/dist/constants/table.d.ts.map +1 -0
  4. package/dist/constants/table.js.map +1 -0
  5. package/dist/controllers/entity/create-entity.controller.d.ts.map +1 -0
  6. package/dist/controllers/entity/create-entity.controller.js +50 -0
  7. package/dist/controllers/entity/create-entity.controller.js.map +1 -0
  8. package/dist/controllers/entity/delete-entity.controller.d.ts.map +1 -0
  9. package/dist/controllers/entity/delete-entity.controller.js +35 -0
  10. package/dist/controllers/entity/delete-entity.controller.js.map +1 -0
  11. package/dist/controllers/entity/get-entity-by-unique-field-value.controller.d.ts.map +1 -0
  12. package/dist/controllers/entity/get-entity-by-unique-field-value.controller.js +32 -0
  13. package/dist/controllers/entity/get-entity-by-unique-field-value.controller.js.map +1 -0
  14. package/dist/controllers/entity/get-entity.controller.d.ts.map +1 -0
  15. package/dist/controllers/entity/get-entity.controller.js +32 -0
  16. package/dist/controllers/entity/get-entity.controller.js.map +1 -0
  17. package/dist/controllers/entity/list-entities.controller.d.ts.map +1 -0
  18. package/dist/controllers/entity/list-entities.controller.js +59 -0
  19. package/dist/controllers/entity/list-entities.controller.js.map +1 -0
  20. package/dist/controllers/entity/update-entity.controller.d.ts.map +1 -0
  21. package/dist/controllers/entity/update-entity.controller.js +51 -0
  22. package/dist/controllers/entity/update-entity.controller.js.map +1 -0
  23. package/dist/controllers/entity/upsert-entity.controller.d.ts.map +1 -0
  24. package/dist/controllers/entity/upsert-entity.controller.js +79 -0
  25. package/dist/controllers/entity/upsert-entity.controller.js.map +1 -0
  26. package/dist/controllers/mutual/create-mutual.controller.d.ts.map +1 -0
  27. package/dist/controllers/mutual/create-mutual.controller.js +53 -0
  28. package/dist/controllers/mutual/create-mutual.controller.js.map +1 -0
  29. package/dist/controllers/mutual/delete-mutual.controller.d.ts.map +1 -0
  30. package/dist/controllers/mutual/delete-mutual.controller.js +37 -0
  31. package/dist/controllers/mutual/delete-mutual.controller.js.map +1 -0
  32. package/dist/controllers/mutual/get-mutual.controller.d.ts.map +1 -0
  33. package/dist/controllers/mutual/get-mutual.controller.js +32 -0
  34. package/dist/controllers/mutual/get-mutual.controller.js.map +1 -0
  35. package/dist/controllers/mutual/list-entities-by-entity.controller.d.ts.map +1 -0
  36. package/dist/controllers/mutual/list-entities-by-entity.controller.js +64 -0
  37. package/dist/controllers/mutual/list-entities-by-entity.controller.js.map +1 -0
  38. package/dist/controllers/mutual/update-mutual.controller.d.ts.map +1 -0
  39. package/dist/controllers/mutual/update-mutual.controller.js +49 -0
  40. package/dist/controllers/mutual/update-mutual.controller.js.map +1 -0
  41. package/dist/controllers/setupRoutes.d.ts.map +1 -0
  42. package/dist/controllers/setupRoutes.js.map +1 -0
  43. package/dist/controllers/tag/list-tags.controller.d.ts.map +1 -0
  44. package/dist/controllers/tag/list-tags.controller.js +56 -0
  45. package/dist/controllers/tag/list-tags.controller.js.map +1 -0
  46. package/dist/data/DbUtils.d.ts.map +1 -0
  47. package/dist/data/DbUtils.js +34 -0
  48. package/dist/data/DbUtils.js.map +1 -0
  49. package/dist/data/Entity.d.ts.map +1 -0
  50. package/dist/data/Entity.js +463 -0
  51. package/dist/data/Entity.js.map +1 -0
  52. package/dist/data/EventUtils.d.ts.map +1 -0
  53. package/dist/data/EventUtils.js +43 -0
  54. package/dist/data/EventUtils.js.map +1 -0
  55. package/dist/data/FileObject.d.ts.map +1 -0
  56. package/dist/data/FileObject.js.map +1 -0
  57. package/dist/data/Mutual.d.ts.map +1 -0
  58. package/dist/data/Mutual.js +436 -0
  59. package/dist/data/Mutual.js.map +1 -0
  60. package/dist/data/ProjectionExpression.d.ts.map +1 -0
  61. package/dist/data/ProjectionExpression.js.map +1 -0
  62. package/dist/data/Tag.d.ts.map +1 -0
  63. package/dist/data/Tag.js +327 -0
  64. package/dist/data/Tag.js.map +1 -0
  65. package/dist/data/abstract/Item.base.d.ts.map +1 -0
  66. package/dist/data/abstract/Item.base.js.map +1 -0
  67. package/dist/data/abstract/Repository.base.d.ts.map +1 -0
  68. package/dist/{core/data → data}/abstract/Repository.base.js +4 -7
  69. package/dist/data/abstract/Repository.base.js.map +1 -0
  70. package/dist/errors/api-error.d.ts.map +1 -0
  71. package/dist/errors/api-error.js.map +1 -0
  72. package/dist/errors/extendable-error.d.ts.map +1 -0
  73. package/dist/{core/errors → errors}/extendable-error.js +0 -7
  74. package/dist/errors/extendable-error.js.map +1 -0
  75. package/dist/errors/standard-error.d.ts.map +1 -0
  76. package/dist/{core/errors → errors}/standard-error.js +0 -3
  77. package/dist/errors/standard-error.js.map +1 -0
  78. package/dist/helpers/dependencies.d.ts.map +1 -0
  79. package/dist/helpers/dependencies.js.map +1 -0
  80. package/dist/helpers/event.d.ts.map +1 -0
  81. package/dist/helpers/event.js +48 -0
  82. package/dist/helpers/event.js.map +1 -0
  83. package/dist/helpers/fromLastKeyQuery.d.ts.map +1 -0
  84. package/dist/helpers/fromLastKeyQuery.js.map +1 -0
  85. package/dist/helpers/sleep.d.ts.map +1 -0
  86. package/dist/helpers/sleep.js.map +1 -0
  87. package/dist/helpers/toLastKeyResponse.d.ts.map +1 -0
  88. package/dist/helpers/toLastKeyResponse.js.map +1 -0
  89. package/dist/index.d.ts.map +1 -0
  90. package/dist/{core/index.js → index.js} +0 -8
  91. package/dist/index.js.map +1 -0
  92. package/dist/middlewares/entity-type-check.d.ts.map +1 -0
  93. package/dist/middlewares/entity-type-check.js.map +1 -0
  94. package/dist/middlewares/mutual-type-check.d.ts.map +1 -0
  95. package/dist/middlewares/mutual-type-check.js.map +1 -0
  96. package/dist/processors/create-entity-processor.d.ts.map +1 -0
  97. package/dist/{core/processors → processors}/create-entity-processor.js +12 -3
  98. package/dist/processors/create-entity-processor.js.map +1 -0
  99. package/dist/processors/mutual-processor.d.ts.map +1 -0
  100. package/dist/{core/processors → processors}/mutual-processor.js +33 -23
  101. package/dist/processors/mutual-processor.js.map +1 -0
  102. package/dist/processors/prejoin-processor.d.ts.map +1 -0
  103. package/dist/processors/prejoin-processor.js +161 -0
  104. package/dist/processors/prejoin-processor.js.map +1 -0
  105. package/dist/processors/replication-processor.d.ts.map +1 -0
  106. package/dist/{core/processors → processors}/replication-processor.js +27 -26
  107. package/dist/processors/replication-processor.js.map +1 -0
  108. package/dist/processors/tag-processor.d.ts.map +1 -0
  109. package/dist/{core/processors → processors}/tag-processor.js +47 -35
  110. package/dist/processors/tag-processor.js.map +1 -0
  111. package/dist/services/DependencyContainer.d.ts.map +1 -0
  112. package/dist/{core/services → services}/DependencyContainer.js +0 -4
  113. package/dist/services/DependencyContainer.js.map +1 -0
  114. package/dist/services/entity-service-lifecycle.d.ts.map +1 -0
  115. package/dist/services/entity-service-lifecycle.js +41 -0
  116. package/dist/services/entity-service-lifecycle.js.map +1 -0
  117. package/dist/services/entity.service.d.ts.map +1 -0
  118. package/dist/services/entity.service.js +120 -0
  119. package/dist/services/entity.service.js.map +1 -0
  120. package/dist/services/mutual.service.d.ts.map +1 -0
  121. package/dist/services/mutual.service.js +141 -0
  122. package/dist/services/mutual.service.js.map +1 -0
  123. package/dist/tsconfig.tsbuildinfo +1 -1
  124. package/dist/types/entity.type.d.ts.map +1 -0
  125. package/dist/{core/types → types}/entity.type.js.map +1 -1
  126. package/dist/types/event.d.ts.map +1 -0
  127. package/dist/types/event.js.map +1 -0
  128. package/dist/vitest.config.d.ts.map +1 -0
  129. package/dist/vitest.config.js.map +1 -0
  130. package/package.json +1 -1
  131. package/dist/base/index.d.ts +0 -4
  132. package/dist/base/index.d.ts.map +0 -1
  133. package/dist/base/index.js +0 -4
  134. package/dist/base/index.js.map +0 -1
  135. package/dist/base/types/monorise.type.d.ts +0 -207
  136. package/dist/base/types/monorise.type.d.ts.map +0 -1
  137. package/dist/base/types/monorise.type.js +0 -4
  138. package/dist/base/types/monorise.type.js.map +0 -1
  139. package/dist/base/utils/index.d.ts +0 -48
  140. package/dist/base/utils/index.d.ts.map +0 -1
  141. package/dist/base/utils/index.js +0 -20
  142. package/dist/base/utils/index.js.map +0 -1
  143. package/dist/core/configs/service.config.d.ts.map +0 -1
  144. package/dist/core/configs/service.config.js.map +0 -1
  145. package/dist/core/constants/table.d.ts.map +0 -1
  146. package/dist/core/constants/table.js.map +0 -1
  147. package/dist/core/controllers/entity/create-entity.controller.d.ts.map +0 -1
  148. package/dist/core/controllers/entity/create-entity.controller.js +0 -43
  149. package/dist/core/controllers/entity/create-entity.controller.js.map +0 -1
  150. package/dist/core/controllers/entity/delete-entity.controller.d.ts.map +0 -1
  151. package/dist/core/controllers/entity/delete-entity.controller.js +0 -29
  152. package/dist/core/controllers/entity/delete-entity.controller.js.map +0 -1
  153. package/dist/core/controllers/entity/get-entity-by-unique-field-value.controller.d.ts.map +0 -1
  154. package/dist/core/controllers/entity/get-entity-by-unique-field-value.controller.js +0 -24
  155. package/dist/core/controllers/entity/get-entity-by-unique-field-value.controller.js.map +0 -1
  156. package/dist/core/controllers/entity/get-entity.controller.d.ts.map +0 -1
  157. package/dist/core/controllers/entity/get-entity.controller.js +0 -24
  158. package/dist/core/controllers/entity/get-entity.controller.js.map +0 -1
  159. package/dist/core/controllers/entity/list-entities.controller.d.ts.map +0 -1
  160. package/dist/core/controllers/entity/list-entities.controller.js +0 -56
  161. package/dist/core/controllers/entity/list-entities.controller.js.map +0 -1
  162. package/dist/core/controllers/entity/update-entity.controller.d.ts.map +0 -1
  163. package/dist/core/controllers/entity/update-entity.controller.js +0 -44
  164. package/dist/core/controllers/entity/update-entity.controller.js.map +0 -1
  165. package/dist/core/controllers/entity/upsert-entity.controller.d.ts.map +0 -1
  166. package/dist/core/controllers/entity/upsert-entity.controller.js +0 -74
  167. package/dist/core/controllers/entity/upsert-entity.controller.js.map +0 -1
  168. package/dist/core/controllers/mutual/create-mutual.controller.d.ts.map +0 -1
  169. package/dist/core/controllers/mutual/create-mutual.controller.js +0 -49
  170. package/dist/core/controllers/mutual/create-mutual.controller.js.map +0 -1
  171. package/dist/core/controllers/mutual/delete-mutual.controller.d.ts.map +0 -1
  172. package/dist/core/controllers/mutual/delete-mutual.controller.js +0 -31
  173. package/dist/core/controllers/mutual/delete-mutual.controller.js.map +0 -1
  174. package/dist/core/controllers/mutual/get-mutual.controller.d.ts.map +0 -1
  175. package/dist/core/controllers/mutual/get-mutual.controller.js +0 -24
  176. package/dist/core/controllers/mutual/get-mutual.controller.js.map +0 -1
  177. package/dist/core/controllers/mutual/list-entities-by-entity.controller.d.ts.map +0 -1
  178. package/dist/core/controllers/mutual/list-entities-by-entity.controller.js +0 -56
  179. package/dist/core/controllers/mutual/list-entities-by-entity.controller.js.map +0 -1
  180. package/dist/core/controllers/mutual/update-mutual.controller.d.ts.map +0 -1
  181. package/dist/core/controllers/mutual/update-mutual.controller.js +0 -43
  182. package/dist/core/controllers/mutual/update-mutual.controller.js.map +0 -1
  183. package/dist/core/controllers/setupRoutes.d.ts.map +0 -1
  184. package/dist/core/controllers/setupRoutes.js.map +0 -1
  185. package/dist/core/controllers/tag/list-tags.controller.d.ts.map +0 -1
  186. package/dist/core/controllers/tag/list-tags.controller.js +0 -48
  187. package/dist/core/controllers/tag/list-tags.controller.js.map +0 -1
  188. package/dist/core/data/DbUtils.d.ts.map +0 -1
  189. package/dist/core/data/DbUtils.js +0 -23
  190. package/dist/core/data/DbUtils.js.map +0 -1
  191. package/dist/core/data/Entity.d.ts.map +0 -1
  192. package/dist/core/data/Entity.js +0 -499
  193. package/dist/core/data/Entity.js.map +0 -1
  194. package/dist/core/data/EventUtils.d.ts.map +0 -1
  195. package/dist/core/data/EventUtils.js +0 -35
  196. package/dist/core/data/EventUtils.js.map +0 -1
  197. package/dist/core/data/FileObject.d.ts.map +0 -1
  198. package/dist/core/data/FileObject.js.map +0 -1
  199. package/dist/core/data/Mutual.d.ts.map +0 -1
  200. package/dist/core/data/Mutual.js +0 -496
  201. package/dist/core/data/Mutual.js.map +0 -1
  202. package/dist/core/data/ProjectionExpression.d.ts.map +0 -1
  203. package/dist/core/data/ProjectionExpression.js.map +0 -1
  204. package/dist/core/data/Tag.d.ts.map +0 -1
  205. package/dist/core/data/Tag.js +0 -330
  206. package/dist/core/data/Tag.js.map +0 -1
  207. package/dist/core/data/abstract/Item.base.d.ts.map +0 -1
  208. package/dist/core/data/abstract/Item.base.js.map +0 -1
  209. package/dist/core/data/abstract/Repository.base.d.ts.map +0 -1
  210. package/dist/core/data/abstract/Repository.base.js.map +0 -1
  211. package/dist/core/errors/api-error.d.ts.map +0 -1
  212. package/dist/core/errors/api-error.js.map +0 -1
  213. package/dist/core/errors/extendable-error.d.ts.map +0 -1
  214. package/dist/core/errors/extendable-error.js.map +0 -1
  215. package/dist/core/errors/standard-error.d.ts.map +0 -1
  216. package/dist/core/errors/standard-error.js.map +0 -1
  217. package/dist/core/helpers/dependencies.d.ts.map +0 -1
  218. package/dist/core/helpers/dependencies.js.map +0 -1
  219. package/dist/core/helpers/event.d.ts.map +0 -1
  220. package/dist/core/helpers/event.js +0 -47
  221. package/dist/core/helpers/event.js.map +0 -1
  222. package/dist/core/helpers/fromLastKeyQuery.d.ts.map +0 -1
  223. package/dist/core/helpers/fromLastKeyQuery.js.map +0 -1
  224. package/dist/core/helpers/sleep.d.ts.map +0 -1
  225. package/dist/core/helpers/sleep.js.map +0 -1
  226. package/dist/core/helpers/test/test-utils.d.ts +0 -314
  227. package/dist/core/helpers/test/test-utils.d.ts.map +0 -1
  228. package/dist/core/helpers/test/test-utils.js +0 -196
  229. package/dist/core/helpers/test/test-utils.js.map +0 -1
  230. package/dist/core/helpers/toLastKeyResponse.d.ts.map +0 -1
  231. package/dist/core/helpers/toLastKeyResponse.js.map +0 -1
  232. package/dist/core/index.d.ts.map +0 -1
  233. package/dist/core/index.js.map +0 -1
  234. package/dist/core/middlewares/entity-type-check.d.ts.map +0 -1
  235. package/dist/core/middlewares/entity-type-check.js.map +0 -1
  236. package/dist/core/middlewares/mutual-type-check.d.ts.map +0 -1
  237. package/dist/core/middlewares/mutual-type-check.js.map +0 -1
  238. package/dist/core/processors/create-entity-processor.d.ts.map +0 -1
  239. package/dist/core/processors/create-entity-processor.js.map +0 -1
  240. package/dist/core/processors/mutual-processor.d.ts.map +0 -1
  241. package/dist/core/processors/mutual-processor.js.map +0 -1
  242. package/dist/core/processors/prejoin-processor.d.ts.map +0 -1
  243. package/dist/core/processors/prejoin-processor.js +0 -149
  244. package/dist/core/processors/prejoin-processor.js.map +0 -1
  245. package/dist/core/processors/replication-processor.d.ts.map +0 -1
  246. package/dist/core/processors/replication-processor.js.map +0 -1
  247. package/dist/core/processors/tag-processor.d.ts.map +0 -1
  248. package/dist/core/processors/tag-processor.js.map +0 -1
  249. package/dist/core/services/DependencyContainer.d.ts.map +0 -1
  250. package/dist/core/services/DependencyContainer.js.map +0 -1
  251. package/dist/core/services/entity-service-lifecycle.d.ts.map +0 -1
  252. package/dist/core/services/entity-service-lifecycle.js +0 -32
  253. package/dist/core/services/entity-service-lifecycle.js.map +0 -1
  254. package/dist/core/services/entity.service.d.ts.map +0 -1
  255. package/dist/core/services/entity.service.js +0 -117
  256. package/dist/core/services/entity.service.js.map +0 -1
  257. package/dist/core/services/mutual.service.d.ts.map +0 -1
  258. package/dist/core/services/mutual.service.js +0 -137
  259. package/dist/core/services/mutual.service.js.map +0 -1
  260. package/dist/core/types/entity.type.d.ts.map +0 -1
  261. package/dist/core/types/event.d.ts.map +0 -1
  262. package/dist/core/types/event.js.map +0 -1
  263. package/dist/core/vitest.config.d.ts.map +0 -1
  264. package/dist/core/vitest.config.js.map +0 -1
  265. /package/dist/{core/configs → configs}/service.config.d.ts +0 -0
  266. /package/dist/{core/configs → configs}/service.config.js +0 -0
  267. /package/dist/{core/constants → constants}/table.d.ts +0 -0
  268. /package/dist/{core/constants → constants}/table.js +0 -0
  269. /package/dist/{core/controllers → controllers}/entity/create-entity.controller.d.ts +0 -0
  270. /package/dist/{core/controllers → controllers}/entity/delete-entity.controller.d.ts +0 -0
  271. /package/dist/{core/controllers → controllers}/entity/get-entity-by-unique-field-value.controller.d.ts +0 -0
  272. /package/dist/{core/controllers → controllers}/entity/get-entity.controller.d.ts +0 -0
  273. /package/dist/{core/controllers → controllers}/entity/list-entities.controller.d.ts +0 -0
  274. /package/dist/{core/controllers → controllers}/entity/update-entity.controller.d.ts +0 -0
  275. /package/dist/{core/controllers → controllers}/entity/upsert-entity.controller.d.ts +0 -0
  276. /package/dist/{core/controllers → controllers}/mutual/create-mutual.controller.d.ts +0 -0
  277. /package/dist/{core/controllers → controllers}/mutual/delete-mutual.controller.d.ts +0 -0
  278. /package/dist/{core/controllers → controllers}/mutual/get-mutual.controller.d.ts +0 -0
  279. /package/dist/{core/controllers → controllers}/mutual/list-entities-by-entity.controller.d.ts +0 -0
  280. /package/dist/{core/controllers → controllers}/mutual/update-mutual.controller.d.ts +0 -0
  281. /package/dist/{core/controllers → controllers}/setupRoutes.d.ts +0 -0
  282. /package/dist/{core/controllers → controllers}/setupRoutes.js +0 -0
  283. /package/dist/{core/controllers → controllers}/tag/list-tags.controller.d.ts +0 -0
  284. /package/dist/{core/data → data}/DbUtils.d.ts +0 -0
  285. /package/dist/{core/data → data}/Entity.d.ts +0 -0
  286. /package/dist/{core/data → data}/EventUtils.d.ts +0 -0
  287. /package/dist/{core/data → data}/FileObject.d.ts +0 -0
  288. /package/dist/{core/data → data}/FileObject.js +0 -0
  289. /package/dist/{core/data → data}/Mutual.d.ts +0 -0
  290. /package/dist/{core/data → data}/ProjectionExpression.d.ts +0 -0
  291. /package/dist/{core/data → data}/ProjectionExpression.js +0 -0
  292. /package/dist/{core/data → data}/Tag.d.ts +0 -0
  293. /package/dist/{core/data → data}/abstract/Item.base.d.ts +0 -0
  294. /package/dist/{core/data → data}/abstract/Item.base.js +0 -0
  295. /package/dist/{core/data → data}/abstract/Repository.base.d.ts +0 -0
  296. /package/dist/{core/errors → errors}/api-error.d.ts +0 -0
  297. /package/dist/{core/errors → errors}/api-error.js +0 -0
  298. /package/dist/{core/errors → errors}/extendable-error.d.ts +0 -0
  299. /package/dist/{core/errors → errors}/standard-error.d.ts +0 -0
  300. /package/dist/{core/helpers → helpers}/dependencies.d.ts +0 -0
  301. /package/dist/{core/helpers → helpers}/dependencies.js +0 -0
  302. /package/dist/{core/helpers → helpers}/event.d.ts +0 -0
  303. /package/dist/{core/helpers → helpers}/fromLastKeyQuery.d.ts +0 -0
  304. /package/dist/{core/helpers → helpers}/fromLastKeyQuery.js +0 -0
  305. /package/dist/{core/helpers → helpers}/sleep.d.ts +0 -0
  306. /package/dist/{core/helpers → helpers}/sleep.js +0 -0
  307. /package/dist/{core/helpers → helpers}/toLastKeyResponse.d.ts +0 -0
  308. /package/dist/{core/helpers → helpers}/toLastKeyResponse.js +0 -0
  309. /package/dist/{core/index.d.ts → index.d.ts} +0 -0
  310. /package/dist/{core/middlewares → middlewares}/entity-type-check.d.ts +0 -0
  311. /package/dist/{core/middlewares → middlewares}/entity-type-check.js +0 -0
  312. /package/dist/{core/middlewares → middlewares}/mutual-type-check.d.ts +0 -0
  313. /package/dist/{core/middlewares → middlewares}/mutual-type-check.js +0 -0
  314. /package/dist/{core/processors → processors}/create-entity-processor.d.ts +0 -0
  315. /package/dist/{core/processors → processors}/mutual-processor.d.ts +0 -0
  316. /package/dist/{core/processors → processors}/prejoin-processor.d.ts +0 -0
  317. /package/dist/{core/processors → processors}/replication-processor.d.ts +0 -0
  318. /package/dist/{core/processors → processors}/tag-processor.d.ts +0 -0
  319. /package/dist/{core/services → services}/DependencyContainer.d.ts +0 -0
  320. /package/dist/{core/services → services}/entity-service-lifecycle.d.ts +0 -0
  321. /package/dist/{core/services → services}/entity.service.d.ts +0 -0
  322. /package/dist/{core/services → services}/mutual.service.d.ts +0 -0
  323. /package/dist/{core/types → types}/entity.type.d.ts +0 -0
  324. /package/dist/{core/types → types}/entity.type.js +0 -0
  325. /package/dist/{core/types → types}/event.d.ts +0 -0
  326. /package/dist/{core/types → types}/event.js +0 -0
  327. /package/dist/{core/vitest.config.d.ts → vitest.config.d.ts} +0 -0
  328. /package/dist/{core/vitest.config.js → vitest.config.js} +0 -0
@@ -1,499 +0,0 @@
1
- import { ConditionalCheckFailedException, } from '@aws-sdk/client-dynamodb';
2
- import { marshall, unmarshall } from '@aws-sdk/util-dynamodb';
3
- import { ulid } from 'ulid';
4
- import { StandardError } from '../errors/standard-error';
5
- import { Item } from './abstract/Item.base';
6
- import { Repository } from './abstract/Repository.base';
7
- export class Entity extends Item {
8
- entityType;
9
- entityId;
10
- data;
11
- _createdAt;
12
- _updatedAt;
13
- fullId;
14
- constructor(entityType, entityId, data = {}, _createdAt, _updatedAt) {
15
- super();
16
- this.entityType = entityType;
17
- this.entityId = entityId;
18
- this.data = data;
19
- this._createdAt = _createdAt;
20
- this._updatedAt = _updatedAt;
21
- this.fullId = this.pk;
22
- }
23
- static fromItem(item) {
24
- if (!item)
25
- throw new StandardError('ENTITY_IS_UNDEFINED', 'Entity item empty');
26
- const parsedItem = unmarshall(item);
27
- return new Entity(parsedItem.entityType, parsedItem.entityId, parsedItem.data, parsedItem.createdAt ? new Date(parsedItem.createdAt) : undefined, parsedItem.updatedAt ? new Date(parsedItem.updatedAt) : undefined);
28
- }
29
- get pk() {
30
- return `${this.entityType}#${this.entityId}`;
31
- }
32
- get sk() {
33
- return '#METADATA#';
34
- }
35
- get listActionKey() {
36
- return `LIST#${this.entityType}`;
37
- }
38
- get emailKeys() {
39
- return {
40
- PK: {
41
- S: `EMAIL#${this.data.email}`,
42
- },
43
- SK: {
44
- S: `${this.entityType}#${this.entityId}`,
45
- },
46
- };
47
- }
48
- get createdAt() {
49
- return this._createdAt?.toISOString();
50
- }
51
- get updatedAt() {
52
- return this._updatedAt?.toISOString();
53
- }
54
- toItem() {
55
- return {
56
- ...marshall(this.toJSON(), { removeUndefinedValues: true }),
57
- ...this.keys(),
58
- };
59
- }
60
- toJSON() {
61
- return {
62
- entityType: this.entityType,
63
- entityId: this.entityId,
64
- data: this.data,
65
- createdAt: this.createdAt,
66
- updatedAt: this.updatedAt,
67
- };
68
- }
69
- }
70
- export class EntityRepository extends Repository {
71
- EntityConfig;
72
- TABLE_NAME;
73
- dynamodbClient;
74
- EmailAuthEnabledEntities;
75
- constructor(EntityConfig, TABLE_NAME, dynamodbClient, EmailAuthEnabledEntities) {
76
- super();
77
- this.EntityConfig = EntityConfig;
78
- this.TABLE_NAME = TABLE_NAME;
79
- this.dynamodbClient = dynamodbClient;
80
- this.EmailAuthEnabledEntities = EmailAuthEnabledEntities;
81
- }
82
- async listEntities({ entityType, limit, // if this is not set, it will return all items
83
- between, options = {}, }) {
84
- const entity = new Entity(entityType);
85
- // when query for records that SK are between provided start and end
86
- const expression = between
87
- ? {
88
- KeyConditionExpression: '#PK = :PK and #SK between :SKStart and :SKEnd',
89
- ExpressionAttributeNames: {
90
- '#PK': 'PK',
91
- '#SK': 'SK',
92
- },
93
- ExpressionAttributeValues: {
94
- ':PK': {
95
- S: entity.listActionKey,
96
- },
97
- ':SKStart': {
98
- S: `${entityType}#${between.start}`,
99
- },
100
- ':SKEnd': {
101
- S: `${entityType}#${between.end}`,
102
- },
103
- },
104
- }
105
- : {
106
- KeyConditionExpression: '#PK = :PK',
107
- ExpressionAttributeNames: {
108
- '#PK': 'PK',
109
- },
110
- ExpressionAttributeValues: {
111
- ':PK': {
112
- S: entity.listActionKey,
113
- },
114
- },
115
- };
116
- const defaultListQuery = {
117
- TableName: this.TABLE_NAME,
118
- Limit: limit,
119
- ScanIndexForward: false,
120
- ProjectionExpression: options?.ProjectionExpression,
121
- ...expression,
122
- };
123
- let lastKey = options.lastKey;
124
- let items = [];
125
- let remainingCount = limit ?? 0;
126
- do {
127
- const resp = await this.dynamodbClient.query({
128
- ...defaultListQuery,
129
- ...(remainingCount && { Limit: remainingCount }),
130
- ...(lastKey && {
131
- ExclusiveStartKey: lastKey,
132
- }),
133
- });
134
- items = items.concat(resp.Items ?? []);
135
- lastKey = resp.LastEvaluatedKey;
136
- if (limit) {
137
- remainingCount = remainingCount - (resp.Items?.length ?? 0);
138
- }
139
- } while (
140
- // limit is given, haven't reach limit, and there are still items to retrieve
141
- (limit && remainingCount && lastKey) ||
142
- // no limit is given and there are still items to retrieve
143
- (!limit && lastKey));
144
- return {
145
- items: (items || []).map((Entity.fromItem)),
146
- totalCount: items.length,
147
- lastKey,
148
- };
149
- }
150
- async getEntity(entityType, entityId) {
151
- const entity = new Entity(entityType, entityId);
152
- const resp = await this.dynamodbClient.getItem({
153
- TableName: this.TABLE_NAME,
154
- Key: entity.keys(),
155
- });
156
- return Entity.fromItem(resp.Item);
157
- }
158
- async getEntityByEmail(entityType, email) {
159
- const resp = await this.dynamodbClient.query({
160
- TableName: this.TABLE_NAME,
161
- KeyConditionExpression: '#PK = :PK and begins_with(#SK, :SK)',
162
- ExpressionAttributeNames: {
163
- '#PK': 'PK',
164
- '#SK': 'SK',
165
- },
166
- ExpressionAttributeValues: {
167
- ':PK': { S: `EMAIL#${email}` },
168
- ':SK': { S: entityType },
169
- },
170
- });
171
- return Entity.fromItem(resp.Items?.[0]);
172
- }
173
- async getEmailAvailability(entityType, email) {
174
- const resp = await this.dynamodbClient.query({
175
- TableName: this.TABLE_NAME,
176
- KeyConditionExpression: '#PK = :PK and begins_with(#SK, :SK)',
177
- ExpressionAttributeNames: {
178
- '#PK': 'PK',
179
- '#SK': 'SK',
180
- },
181
- ExpressionAttributeValues: {
182
- ':PK': { S: `EMAIL#${email}` },
183
- ':SK': { S: entityType },
184
- },
185
- });
186
- if (resp.Items?.[0]) {
187
- throw new StandardError('EMAIL_EXISTS', 'Email already exists');
188
- }
189
- return;
190
- }
191
- async getEntityByUniqueField(entityType, fieldName, value) {
192
- const resp = await this.dynamodbClient.query({
193
- TableName: this.TABLE_NAME,
194
- KeyConditionExpression: '#PK = :PK and begins_with(#SK, :SK)',
195
- ExpressionAttributeNames: {
196
- '#PK': 'PK',
197
- '#SK': 'SK',
198
- },
199
- ExpressionAttributeValues: {
200
- ':PK': { S: `UNIQUE#${fieldName}#${value}` },
201
- ':SK': { S: entityType },
202
- },
203
- });
204
- return Entity.fromItem(resp.Items?.[0]);
205
- }
206
- async getUniqueFieldValueAvailability(entityType, fieldName, value) {
207
- const resp = await this.dynamodbClient.query({
208
- TableName: this.TABLE_NAME,
209
- KeyConditionExpression: '#PK = :PK and begins_with(#SK, :SK)',
210
- ExpressionAttributeNames: {
211
- '#PK': 'PK',
212
- '#SK': 'SK',
213
- },
214
- ExpressionAttributeValues: {
215
- ':PK': { S: `UNIQUE#${fieldName}#${value}` },
216
- ':SK': { S: entityType },
217
- },
218
- });
219
- if (resp.Items?.[0]) {
220
- throw new StandardError('UNIQUE_VALUE_EXISTS', `${fieldName} '${value}' already exists`);
221
- }
222
- return;
223
- }
224
- createEntityTransactItems(entity, opts) {
225
- const TransactItems = [
226
- {
227
- Put: {
228
- TableName: this.TABLE_NAME,
229
- ConditionExpression: 'attribute_not_exists(PK)',
230
- Item: {
231
- ...entity.toItem(),
232
- ...(opts?.mutualId && {
233
- R2PK: { S: opts.mutualId },
234
- R2SK: { S: entity.pk },
235
- }),
236
- },
237
- },
238
- },
239
- {
240
- Put: {
241
- TableName: this.TABLE_NAME,
242
- ConditionExpression: 'attribute_not_exists(PK)',
243
- Item: {
244
- ...entity.toItem(),
245
- PK: { S: entity.listActionKey },
246
- SK: entity.keys().PK,
247
- R1PK: entity.keys().PK,
248
- R1SK: { S: entity.listActionKey },
249
- },
250
- },
251
- },
252
- ];
253
- // currently when detected it's an account, create email record
254
- // TODO: Future improvement, if we introduce multiple ways to register/login,
255
- // here we should also check if entity has the respective auth method defined
256
- // in the config file
257
- if (this.EmailAuthEnabledEntities.includes(entity.entityType)) {
258
- TransactItems.push({
259
- Put: {
260
- TableName: this.TABLE_NAME,
261
- ConditionExpression: 'attribute_not_exists(PK)',
262
- Item: {
263
- ...entity.toItem(),
264
- ...entity.emailKeys,
265
- R1PK: entity.emailKeys.SK,
266
- R1SK: entity.emailKeys.PK,
267
- },
268
- },
269
- });
270
- }
271
- for (const field in opts.uniqueFieldValues || {}) {
272
- TransactItems.push({
273
- Put: {
274
- TableName: this.TABLE_NAME,
275
- ConditionExpression: 'attribute_not_exists(PK)',
276
- Item: {
277
- ...entity.toItem(),
278
- PK: {
279
- S: `UNIQUE#${field}#${entity.data[field]}`,
280
- },
281
- SK: { S: entity.entityType },
282
- R1PK: entity.keys().PK,
283
- R1SK: entity.keys().SK,
284
- },
285
- },
286
- });
287
- }
288
- return TransactItems;
289
- }
290
- async createEntity(entityType, entityPayload, entityId, opts) {
291
- const currentDatetime = opts?.createAndUpdateDatetime ?? new Date();
292
- const entity = new Entity(entityType, entityId || ulid(), entityPayload, currentDatetime, currentDatetime);
293
- const uniqueFields = (this.EntityConfig[entityType].uniqueFields ||
294
- []);
295
- const hasUniqueFields = Object.keys(entityPayload).some((field) => uniqueFields.includes(field));
296
- let uniqueFieldValues = {};
297
- if (hasUniqueFields) {
298
- for (const field of uniqueFields) {
299
- if (typeof entityPayload[field] !== 'string') {
300
- throw new StandardError('INVALID_UNIQUE_VALUE_TYPE', `Invalid type. ${field} is not a 'string'.`);
301
- }
302
- }
303
- uniqueFieldValues = uniqueFields.reduce((acc, field) => ({
304
- ...acc,
305
- [field]: entityPayload[field],
306
- }), {});
307
- }
308
- const TransactItems = this.createEntityTransactItems(entity, {
309
- mutualId: opts?.mutualId,
310
- uniqueFieldValues,
311
- });
312
- await this.dynamodbClient.transactWriteItems({ TransactItems });
313
- return entity;
314
- }
315
- async upsertEntity(entityType, entityId, payload) {
316
- const currentDatetime = new Date().toISOString();
317
- const toUpdateExpressions = this.toUpdate({
318
- entityType,
319
- entityId,
320
- data: payload,
321
- updatedAt: currentDatetime,
322
- });
323
- const params = {
324
- TableName: this.TABLE_NAME,
325
- ReturnValues: 'ALL_NEW',
326
- Key: new Entity(entityType, entityId).keys(),
327
- UpdateExpression: toUpdateExpressions.UpdateExpression,
328
- ExpressionAttributeNames: {
329
- ...toUpdateExpressions.ExpressionAttributeNames,
330
- },
331
- ExpressionAttributeValues: {
332
- ...toUpdateExpressions.ExpressionAttributeValues,
333
- },
334
- };
335
- const resp = await this.dynamodbClient.updateItem(params);
336
- const updatedEntity = Entity.fromItem(resp.Attributes);
337
- return updatedEntity;
338
- }
339
- updateEntityTransactItems(entity, updateParams, previousUniqueFieldValues, previousEntity) {
340
- const transactItems = [
341
- {
342
- Update: {
343
- ...updateParams,
344
- UpdateExpression: updateParams.UpdateExpression,
345
- },
346
- },
347
- ];
348
- for (const field in previousUniqueFieldValues) {
349
- transactItems.push({
350
- Delete: {
351
- TableName: this.TABLE_NAME,
352
- Key: {
353
- PK: { S: `UNIQUE#${field}#${previousUniqueFieldValues[field]}` },
354
- SK: { S: entity.entityType },
355
- },
356
- },
357
- }, {
358
- Put: {
359
- TableName: this.TABLE_NAME,
360
- ConditionExpression: 'attribute_not_exists(PK)',
361
- Item: {
362
- ...entity.toItem(),
363
- data: {
364
- M: {
365
- ...previousEntity.toItem().data.M,
366
- ...entity.toItem().data.M,
367
- },
368
- },
369
- PK: {
370
- S: `UNIQUE#${field}#${entity.data[field]}`,
371
- },
372
- SK: { S: entity.entityType },
373
- R1PK: entity.keys().PK,
374
- R1SK: entity.keys().SK,
375
- },
376
- },
377
- });
378
- }
379
- return transactItems;
380
- }
381
- async updateEntity(entityType, entityId, toUpdate, opts) {
382
- try {
383
- const currentDatetime = new Date().toISOString();
384
- const toUpdateExpressions = this.toUpdate({
385
- updatedAt: currentDatetime,
386
- ...toUpdate,
387
- });
388
- const params = {
389
- TableName: this.TABLE_NAME,
390
- ReturnValues: 'ALL_NEW',
391
- Key: new Entity(entityType, entityId).keys(),
392
- ConditionExpression: opts?.ConditionExpression || 'attribute_exists(PK)',
393
- UpdateExpression: toUpdateExpressions.UpdateExpression,
394
- ExpressionAttributeNames: {
395
- ...toUpdateExpressions.ExpressionAttributeNames,
396
- ...opts?.ExpressionAttributeNames,
397
- },
398
- ExpressionAttributeValues: {
399
- ...toUpdateExpressions.ExpressionAttributeValues,
400
- ...opts?.ExpressionAttributeValues,
401
- },
402
- };
403
- const entity = new Entity(entityType, entityId, toUpdate.data);
404
- const uniqueFields = (this.EntityConfig[entityType].uniqueFields ||
405
- []);
406
- const hasUniqueFields = Object.keys(toUpdate.data).some((field) => uniqueFields.includes(field));
407
- let updatedUniqueFields = [];
408
- let previousUniqueFieldValues = {};
409
- let previousEntity;
410
- if (hasUniqueFields) {
411
- previousEntity = await this.getEntity(entityType, entityId);
412
- // check if any of the unique fields has changed
413
- updatedUniqueFields = uniqueFields.filter((field) => toUpdate.data[field] !==
414
- previousEntity.data[field]);
415
- previousUniqueFieldValues = updatedUniqueFields.reduce((acc, field) => ({
416
- ...acc,
417
- [field]: previousEntity.data[field],
418
- }), {});
419
- for (const field in previousUniqueFieldValues) {
420
- if (typeof toUpdate.data[field] !==
421
- 'string') {
422
- throw new StandardError('INVALID_UNIQUE_VALUE_TYPE', `Invalid type. ${field} is not a 'string'.`);
423
- }
424
- }
425
- if (updatedUniqueFields.length > 0) {
426
- const TransactItems = this.updateEntityTransactItems(entity, params, previousUniqueFieldValues, previousEntity);
427
- await this.dynamodbClient.transactWriteItems({ TransactItems });
428
- return await this.getEntity(entityType, entityId);
429
- }
430
- }
431
- const resp = await this.dynamodbClient.updateItem(params);
432
- const updatedEntity = Entity.fromItem(resp.Attributes);
433
- return updatedEntity;
434
- }
435
- catch (err) {
436
- if (err instanceof ConditionalCheckFailedException) {
437
- throw new StandardError('ENTITY_NOT_FOUND', 'Entity not found', err, {
438
- entityId,
439
- toUpdate,
440
- });
441
- }
442
- throw err;
443
- }
444
- }
445
- async deleteEntity(entityType, entityId) {
446
- try {
447
- const entity = new Entity(entityType, entityId);
448
- await this.dynamodbClient.deleteItem({
449
- TableName: this.TABLE_NAME,
450
- Key: entity.keys(),
451
- ConditionExpression: 'attribute_exists(PK)',
452
- });
453
- }
454
- catch (err) {
455
- if (err instanceof ConditionalCheckFailedException) {
456
- throw new StandardError('ENTITY_NOT_FOUND', 'Entity not found', err, {
457
- entityId,
458
- });
459
- }
460
- throw err;
461
- }
462
- }
463
- async queryEntities(entityType, query) {
464
- const results = {
465
- items: [],
466
- totalCount: 0,
467
- };
468
- // let regex be empty if its invalid (eg. +)
469
- let queryRegex = /(?:)/;
470
- try {
471
- queryRegex = new RegExp(query.toLowerCase());
472
- }
473
- catch (err) {
474
- return results;
475
- }
476
- const listResults = await this.listEntities({
477
- entityType,
478
- });
479
- results.items.push(...listResults.items);
480
- results.totalCount += listResults.totalCount || 0;
481
- const filteredItems = [];
482
- const { searchableFields } = this.EntityConfig[entityType];
483
- for (const item of results.items) {
484
- const searchTerm = (searchableFields ?? [])
485
- .map((field) => item.data[field]?.toLowerCase())
486
- .join(' ');
487
- const isMatched = queryRegex.test(searchTerm);
488
- if (isMatched) {
489
- filteredItems.push(item);
490
- }
491
- }
492
- return {
493
- items: filteredItems,
494
- totalCount: results.totalCount,
495
- filteredCount: filteredItems.length,
496
- };
497
- }
498
- }
499
- //# sourceMappingURL=Entity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../../data/Entity.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventUtils.d.ts","sourceRoot":"","sources":["../../../data/EventUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,KAAK,iBAAiB,CAAC,CAAC,SAAS,UAAU,IAAI;IAC7C,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC,CAAC;AAEF,qBAAa,UAAU;IAEZ,YAAY,EAAE,MAAM,CACzB,UAAU,EACV,UAAU,CAAC,OAAO,kBAAkB,CAAC,CACtC;IACD,OAAO,CAAC,YAAY;gBAJb,YAAY,EAAE,MAAM,CACzB,UAAU,EACV,UAAU,CAAC,OAAO,kBAAkB,CAAC,CACtC,EACO,YAAY,EAAE,OAAO,gBAAgB;IAI/C,yBAAyB,GAAU,CAAC,SAAS,UAAU,EAAE,4BAGtD,iBAAiB,CAAC,CAAC,CAAC,mBA2BrB;CACH"}
@@ -1,35 +0,0 @@
1
- import { EVENT } from '../types/event';
2
- export class EventUtils {
3
- EntityConfig;
4
- publishEvent;
5
- constructor(EntityConfig, publishEvent) {
6
- this.EntityConfig = EntityConfig;
7
- this.publishEvent = publishEvent;
8
- }
9
- // Always when create entity, this must be called following, to make sure mutual data processor will be called
10
- publishCreateMutualsEvent = async ({ entity, mutualPayload, }) => {
11
- const publishEventPromises = [];
12
- for (const [fieldKey, config] of Object.entries(this.EntityConfig[entity.entityType].mutual?.mutualFields || {})) {
13
- const toMutualIds = config.toMutualIds;
14
- const mutualPayloadByFieldKey = mutualPayload[fieldKey];
15
- if (!mutualPayloadByFieldKey)
16
- continue;
17
- publishEventPromises.push(this.publishEvent({
18
- event: EVENT.CORE.ENTITY_MUTUAL_TO_CREATE,
19
- payload: {
20
- byEntityType: entity.entityType,
21
- byEntityId: entity.entityId,
22
- entityType: config.entityType,
23
- field: fieldKey,
24
- mutualIds: toMutualIds
25
- ? toMutualIds(mutualPayloadByFieldKey)
26
- : mutualPayloadByFieldKey,
27
- customContext: toMutualIds ? mutualPayloadByFieldKey : {},
28
- publishedAt: entity.updatedAt || new Date().toISOString(),
29
- },
30
- }));
31
- }
32
- await Promise.allSettled(publishEventPromises);
33
- };
34
- }
35
- //# sourceMappingURL=EventUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventUtils.js","sourceRoot":"","sources":["../../../data/EventUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAQvC,MAAM,OAAO,UAAU;IAEZ;IAIC;IALV,YACS,YAGN,EACO,YAAqC;QAJtC,iBAAY,GAAZ,YAAY,CAGlB;QACO,iBAAY,GAAZ,YAAY,CAAyB;IAC5C,CAAC;IAEJ,8GAA8G;IAC9G,yBAAyB,GAAG,KAAK,EAAwB,EACvD,MAAM,EACN,aAAa,GACQ,EAAE,EAAE;QACzB,MAAM,oBAAoB,GAAG,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAC7C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,YAAY,IAAI,EAAE,CAChE,EAAE,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;YACvC,MAAM,uBAAuB,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,CAAC,uBAAuB;gBAAE,SAAS;YAEvC,oBAAoB,CAAC,IAAI,CACvB,IAAI,CAAC,YAAY,CAAC;gBAChB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB;gBACzC,OAAO,EAAE;oBACP,YAAY,EAAE,MAAM,CAAC,UAAU;oBAC/B,UAAU,EAAE,MAAM,CAAC,QAAQ;oBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,KAAK,EAAE,QAAQ;oBACf,SAAS,EAAE,WAAW;wBACpB,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;wBACtC,CAAC,CAAC,uBAAuB;oBAC3B,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE;oBACzD,WAAW,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBAC1D;aACF,CAAC,CACH,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACjD,CAAC,CAAC;CACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileObject.d.ts","sourceRoot":"","sources":["../../../data/FileObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMrB,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileObject.js","sourceRoot":"","sources":["../../../data/FileObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,gBAAgB;IACzB,SAAS,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACtC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Mutual.d.ts","sourceRoot":"","sources":["../../../data/Mutual.ts"],"names":[],"mappings":"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"}