@warlock.js/cascade 4.0.31 → 4.0.39

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 (533) hide show
  1. package/cjs/index.js +15 -1
  2. package/cjs/index.js.map +1 -1
  3. package/esm/index.js +15 -1
  4. package/esm/index.js.map +1 -1
  5. package/package.json +52 -61
  6. package/cjs/aggregate/DeselectPipeline.d.ts +0 -10
  7. package/cjs/aggregate/DeselectPipeline.d.ts.map +0 -1
  8. package/cjs/aggregate/DeselectPipeline.js +0 -17
  9. package/cjs/aggregate/DeselectPipeline.js.map +0 -1
  10. package/cjs/aggregate/GeoNearPipeline.d.ts +0 -34
  11. package/cjs/aggregate/GeoNearPipeline.d.ts.map +0 -1
  12. package/cjs/aggregate/GeoNearPipeline.js +0 -44
  13. package/cjs/aggregate/GeoNearPipeline.js.map +0 -1
  14. package/cjs/aggregate/GroupByPipeline.d.ts +0 -12
  15. package/cjs/aggregate/GroupByPipeline.d.ts.map +0 -1
  16. package/cjs/aggregate/GroupByPipeline.js +0 -28
  17. package/cjs/aggregate/GroupByPipeline.js.map +0 -1
  18. package/cjs/aggregate/LimitPipeline.d.ts +0 -10
  19. package/cjs/aggregate/LimitPipeline.d.ts.map +0 -1
  20. package/cjs/aggregate/LimitPipeline.js +0 -14
  21. package/cjs/aggregate/LimitPipeline.js.map +0 -1
  22. package/cjs/aggregate/LookupPipeline.d.ts +0 -19
  23. package/cjs/aggregate/LookupPipeline.d.ts.map +0 -1
  24. package/cjs/aggregate/LookupPipeline.js +0 -23
  25. package/cjs/aggregate/LookupPipeline.js.map +0 -1
  26. package/cjs/aggregate/OrWherePipeline.d.ts +0 -21
  27. package/cjs/aggregate/OrWherePipeline.d.ts.map +0 -1
  28. package/cjs/aggregate/OrWherePipeline.js +0 -63
  29. package/cjs/aggregate/OrWherePipeline.js.map +0 -1
  30. package/cjs/aggregate/SelectPipeline.d.ts +0 -10
  31. package/cjs/aggregate/SelectPipeline.d.ts.map +0 -1
  32. package/cjs/aggregate/SelectPipeline.js +0 -26
  33. package/cjs/aggregate/SelectPipeline.js.map +0 -1
  34. package/cjs/aggregate/SkipPipeline.d.ts +0 -10
  35. package/cjs/aggregate/SkipPipeline.d.ts.map +0 -1
  36. package/cjs/aggregate/SkipPipeline.js +0 -14
  37. package/cjs/aggregate/SkipPipeline.js.map +0 -1
  38. package/cjs/aggregate/SortByPipeline.d.ts +0 -10
  39. package/cjs/aggregate/SortByPipeline.d.ts.map +0 -1
  40. package/cjs/aggregate/SortByPipeline.js +0 -18
  41. package/cjs/aggregate/SortByPipeline.js.map +0 -1
  42. package/cjs/aggregate/SortPipeline.d.ts +0 -11
  43. package/cjs/aggregate/SortPipeline.d.ts.map +0 -1
  44. package/cjs/aggregate/SortPipeline.js +0 -18
  45. package/cjs/aggregate/SortPipeline.js.map +0 -1
  46. package/cjs/aggregate/SortRandomPipeline.d.ts +0 -10
  47. package/cjs/aggregate/SortRandomPipeline.d.ts.map +0 -1
  48. package/cjs/aggregate/SortRandomPipeline.js +0 -16
  49. package/cjs/aggregate/SortRandomPipeline.js.map +0 -1
  50. package/cjs/aggregate/UnwindPipeline.d.ts +0 -14
  51. package/cjs/aggregate/UnwindPipeline.d.ts.map +0 -1
  52. package/cjs/aggregate/UnwindPipeline.js +0 -19
  53. package/cjs/aggregate/UnwindPipeline.js.map +0 -1
  54. package/cjs/aggregate/WhereExpression.d.ts +0 -17
  55. package/cjs/aggregate/WhereExpression.d.ts.map +0 -1
  56. package/cjs/aggregate/WhereExpression.js +0 -149
  57. package/cjs/aggregate/WhereExpression.js.map +0 -1
  58. package/cjs/aggregate/WhereExpressionPipeline.d.ts +0 -10
  59. package/cjs/aggregate/WhereExpressionPipeline.d.ts.map +0 -1
  60. package/cjs/aggregate/WhereExpressionPipeline.js +0 -15
  61. package/cjs/aggregate/WhereExpressionPipeline.js.map +0 -1
  62. package/cjs/aggregate/WherePipeline.d.ts +0 -13
  63. package/cjs/aggregate/WherePipeline.d.ts.map +0 -1
  64. package/cjs/aggregate/WherePipeline.js +0 -12
  65. package/cjs/aggregate/WherePipeline.js.map +0 -1
  66. package/cjs/aggregate/aggregate.d.ts +0 -409
  67. package/cjs/aggregate/aggregate.d.ts.map +0 -1
  68. package/cjs/aggregate/aggregate.js +0 -911
  69. package/cjs/aggregate/aggregate.js.map +0 -1
  70. package/cjs/aggregate/expressions.d.ts +0 -361
  71. package/cjs/aggregate/expressions.d.ts.map +0 -1
  72. package/cjs/aggregate/expressions.js +0 -536
  73. package/cjs/aggregate/expressions.js.map +0 -1
  74. package/cjs/aggregate/filters/apply-filters.d.ts +0 -3
  75. package/cjs/aggregate/filters/apply-filters.d.ts.map +0 -1
  76. package/cjs/aggregate/filters/apply-filters.js +0 -75
  77. package/cjs/aggregate/filters/apply-filters.js.map +0 -1
  78. package/cjs/aggregate/filters/boolean-filters.d.ts +0 -3
  79. package/cjs/aggregate/filters/boolean-filters.d.ts.map +0 -1
  80. package/cjs/aggregate/filters/boolean-filters.js +0 -33
  81. package/cjs/aggregate/filters/boolean-filters.js.map +0 -1
  82. package/cjs/aggregate/filters/date-filters.d.ts +0 -3
  83. package/cjs/aggregate/filters/date-filters.d.ts.map +0 -1
  84. package/cjs/aggregate/filters/date-filters.js +0 -128
  85. package/cjs/aggregate/filters/date-filters.js.map +0 -1
  86. package/cjs/aggregate/filters/index.d.ts +0 -3
  87. package/cjs/aggregate/filters/index.d.ts.map +0 -1
  88. package/cjs/aggregate/filters/numeric-filters.d.ts +0 -3
  89. package/cjs/aggregate/filters/numeric-filters.d.ts.map +0 -1
  90. package/cjs/aggregate/filters/numeric-filters.js +0 -99
  91. package/cjs/aggregate/filters/numeric-filters.js.map +0 -1
  92. package/cjs/aggregate/filters/types.d.ts +0 -46
  93. package/cjs/aggregate/filters/types.d.ts.map +0 -1
  94. package/cjs/aggregate/filters/utils.d.ts +0 -13
  95. package/cjs/aggregate/filters/utils.d.ts.map +0 -1
  96. package/cjs/aggregate/filters/utils.js +0 -38
  97. package/cjs/aggregate/filters/utils.js.map +0 -1
  98. package/cjs/aggregate/index.d.ts +0 -21
  99. package/cjs/aggregate/index.d.ts.map +0 -1
  100. package/cjs/aggregate/parsePipelines.d.ts +0 -5
  101. package/cjs/aggregate/parsePipelines.d.ts.map +0 -1
  102. package/cjs/aggregate/parsePipelines.js +0 -6
  103. package/cjs/aggregate/parsePipelines.js.map +0 -1
  104. package/cjs/aggregate/pipeline.d.ts +0 -31
  105. package/cjs/aggregate/pipeline.d.ts.map +0 -1
  106. package/cjs/aggregate/pipeline.js +0 -42
  107. package/cjs/aggregate/pipeline.js.map +0 -1
  108. package/cjs/aggregate/types.d.ts +0 -8
  109. package/cjs/aggregate/types.d.ts.map +0 -1
  110. package/cjs/aggregate/types.js +0 -31
  111. package/cjs/aggregate/types.js.map +0 -1
  112. package/cjs/blueprint/blueprint-column.d.ts +0 -82
  113. package/cjs/blueprint/blueprint-column.d.ts.map +0 -1
  114. package/cjs/blueprint/blueprint.d.ts +0 -162
  115. package/cjs/blueprint/blueprint.d.ts.map +0 -1
  116. package/cjs/blueprint/blueprint.js +0 -340
  117. package/cjs/blueprint/blueprint.js.map +0 -1
  118. package/cjs/blueprint/index.d.ts +0 -3
  119. package/cjs/blueprint/index.d.ts.map +0 -1
  120. package/cjs/blueprint/model-blueprint.d.ts +0 -15
  121. package/cjs/blueprint/model-blueprint.d.ts.map +0 -1
  122. package/cjs/blueprint/model-blueprint.js +0 -16
  123. package/cjs/blueprint/model-blueprint.js.map +0 -1
  124. package/cjs/casts/arrayOf.d.ts +0 -5
  125. package/cjs/casts/arrayOf.d.ts.map +0 -1
  126. package/cjs/casts/arrayOf.js +0 -18
  127. package/cjs/casts/arrayOf.js.map +0 -1
  128. package/cjs/casts/cast-email.d.ts +0 -2
  129. package/cjs/casts/cast-email.d.ts.map +0 -1
  130. package/cjs/casts/cast-email.js +0 -5
  131. package/cjs/casts/cast-email.js.map +0 -1
  132. package/cjs/casts/castModel.d.ts +0 -3
  133. package/cjs/casts/castModel.d.ts.map +0 -1
  134. package/cjs/casts/castModel.js +0 -49
  135. package/cjs/casts/castModel.js.map +0 -1
  136. package/cjs/casts/expiresAfter.d.ts +0 -3
  137. package/cjs/casts/expiresAfter.d.ts.map +0 -1
  138. package/cjs/casts/expiresAfter.js +0 -5
  139. package/cjs/casts/expiresAfter.js.map +0 -1
  140. package/cjs/casts/index.d.ts +0 -9
  141. package/cjs/casts/index.d.ts.map +0 -1
  142. package/cjs/casts/oneOf.d.ts +0 -3
  143. package/cjs/casts/oneOf.d.ts.map +0 -1
  144. package/cjs/casts/oneOf.js +0 -22
  145. package/cjs/casts/oneOf.js.map +0 -1
  146. package/cjs/casts/random-string.d.ts +0 -2
  147. package/cjs/casts/random-string.d.ts.map +0 -1
  148. package/cjs/casts/random-string.js +0 -5
  149. package/cjs/casts/random-string.js.map +0 -1
  150. package/cjs/casts/randomInteger.d.ts +0 -2
  151. package/cjs/casts/randomInteger.d.ts.map +0 -1
  152. package/cjs/casts/randomInteger.js +0 -7
  153. package/cjs/casts/randomInteger.js.map +0 -1
  154. package/cjs/casts/shapedArray.d.ts +0 -26
  155. package/cjs/casts/shapedArray.d.ts.map +0 -1
  156. package/cjs/casts/shapedArray.js +0 -100
  157. package/cjs/casts/shapedArray.js.map +0 -1
  158. package/cjs/config.d.ts +0 -6
  159. package/cjs/config.d.ts.map +0 -1
  160. package/cjs/config.js +0 -16
  161. package/cjs/config.js.map +0 -1
  162. package/cjs/connection.d.ts +0 -49
  163. package/cjs/connection.d.ts.map +0 -1
  164. package/cjs/connection.js +0 -108
  165. package/cjs/connection.js.map +0 -1
  166. package/cjs/database.d.ts +0 -97
  167. package/cjs/database.d.ts.map +0 -1
  168. package/cjs/database.js +0 -164
  169. package/cjs/database.js.map +0 -1
  170. package/cjs/index.d.ts +0 -13
  171. package/cjs/index.d.ts.map +0 -1
  172. package/cjs/migration/index.d.ts +0 -4
  173. package/cjs/migration/index.d.ts.map +0 -1
  174. package/cjs/migration/migrate.d.ts +0 -13
  175. package/cjs/migration/migrate.d.ts.map +0 -1
  176. package/cjs/migration/migrate.js +0 -72
  177. package/cjs/migration/migrate.js.map +0 -1
  178. package/cjs/migration/migration-office.d.ts +0 -21
  179. package/cjs/migration/migration-office.d.ts.map +0 -1
  180. package/cjs/migration/migration-office.js +0 -39
  181. package/cjs/migration/migration-office.js.map +0 -1
  182. package/cjs/migration/migration-officer.d.ts +0 -33
  183. package/cjs/migration/migration-officer.d.ts.map +0 -1
  184. package/cjs/migration/migration-officer.js +0 -55
  185. package/cjs/migration/migration-officer.js.map +0 -1
  186. package/cjs/migration/types.d.ts +0 -34
  187. package/cjs/migration/types.d.ts.map +0 -1
  188. package/cjs/model/ModelAggregate.d.ts +0 -114
  189. package/cjs/model/ModelAggregate.d.ts.map +0 -1
  190. package/cjs/model/ModelAggregate.js +0 -182
  191. package/cjs/model/ModelAggregate.js.map +0 -1
  192. package/cjs/model/ModelSync.d.ts +0 -73
  193. package/cjs/model/ModelSync.d.ts.map +0 -1
  194. package/cjs/model/ModelSync.js +0 -215
  195. package/cjs/model/ModelSync.js.map +0 -1
  196. package/cjs/model/RelationshipWithMany.d.ts +0 -24
  197. package/cjs/model/RelationshipWithMany.d.ts.map +0 -1
  198. package/cjs/model/RelationshipWithMany.js +0 -42
  199. package/cjs/model/RelationshipWithMany.js.map +0 -1
  200. package/cjs/model/base-model.d.ts +0 -161
  201. package/cjs/model/base-model.d.ts.map +0 -1
  202. package/cjs/model/base-model.js +0 -265
  203. package/cjs/model/base-model.js.map +0 -1
  204. package/cjs/model/crud-model.d.ts +0 -122
  205. package/cjs/model/crud-model.d.ts.map +0 -1
  206. package/cjs/model/crud-model.js +0 -366
  207. package/cjs/model/crud-model.js.map +0 -1
  208. package/cjs/model/index.d.ts +0 -10
  209. package/cjs/model/index.d.ts.map +0 -1
  210. package/cjs/model/joinable.d.ts +0 -87
  211. package/cjs/model/joinable.d.ts.map +0 -1
  212. package/cjs/model/joinable.js +0 -158
  213. package/cjs/model/joinable.js.map +0 -1
  214. package/cjs/model/master-mind.d.ts +0 -44
  215. package/cjs/model/master-mind.d.ts.map +0 -1
  216. package/cjs/model/master-mind.js +0 -118
  217. package/cjs/model/master-mind.js.map +0 -1
  218. package/cjs/model/model-events.d.ts +0 -57
  219. package/cjs/model/model-events.d.ts.map +0 -1
  220. package/cjs/model/model-events.js +0 -102
  221. package/cjs/model/model-events.js.map +0 -1
  222. package/cjs/model/model.d.ts +0 -464
  223. package/cjs/model/model.d.ts.map +0 -1
  224. package/cjs/model/model.js +0 -1134
  225. package/cjs/model/model.js.map +0 -1
  226. package/cjs/model/types.d.ts +0 -149
  227. package/cjs/model/types.d.ts.map +0 -1
  228. package/cjs/model/types.js +0 -11
  229. package/cjs/model/types.js.map +0 -1
  230. package/cjs/query/index.d.ts +0 -2
  231. package/cjs/query/index.d.ts.map +0 -1
  232. package/cjs/query/query.d.ts +0 -218
  233. package/cjs/query/query.d.ts.map +0 -1
  234. package/cjs/query/query.js +0 -672
  235. package/cjs/query/query.js.map +0 -1
  236. package/cjs/query/types.d.ts +0 -60
  237. package/cjs/query/types.d.ts.map +0 -1
  238. package/cjs/types.d.ts +0 -75
  239. package/cjs/types.d.ts.map +0 -1
  240. package/cjs/utils/connectToDatabase.d.ts +0 -3
  241. package/cjs/utils/connectToDatabase.d.ts.map +0 -1
  242. package/cjs/utils/connectToDatabase.js +0 -3
  243. package/cjs/utils/connectToDatabase.js.map +0 -1
  244. package/cjs/utils/deep-diff.d.ts +0 -9
  245. package/cjs/utils/deep-diff.d.ts.map +0 -1
  246. package/cjs/utils/deep-diff.js +0 -44
  247. package/cjs/utils/deep-diff.js.map +0 -1
  248. package/cjs/utils/dropAllDatabaseIndexes.d.ts +0 -2
  249. package/cjs/utils/dropAllDatabaseIndexes.d.ts.map +0 -1
  250. package/cjs/utils/dropAllDatabaseIndexes.js +0 -10
  251. package/cjs/utils/dropAllDatabaseIndexes.js.map +0 -1
  252. package/cjs/utils/index.d.ts +0 -6
  253. package/cjs/utils/index.d.ts.map +0 -1
  254. package/cjs/utils/joinable-proxy.d.ts +0 -3
  255. package/cjs/utils/joinable-proxy.d.ts.map +0 -1
  256. package/cjs/utils/joinable-proxy.js +0 -14
  257. package/cjs/utils/joinable-proxy.js.map +0 -1
  258. package/cjs/utils/listDatabaseIndexes.d.ts +0 -4
  259. package/cjs/utils/listDatabaseIndexes.d.ts.map +0 -1
  260. package/cjs/utils/listDatabaseIndexes.js +0 -101
  261. package/cjs/utils/listDatabaseIndexes.js.map +0 -1
  262. package/cjs/utils/onceConnected.d.ts +0 -2
  263. package/cjs/utils/onceConnected.d.ts.map +0 -1
  264. package/cjs/utils/onceConnected.js +0 -8
  265. package/cjs/utils/onceConnected.js.map +0 -1
  266. package/cjs/utils/sync-with.d.ts +0 -27
  267. package/cjs/utils/sync-with.d.ts.map +0 -1
  268. package/cjs/utils/sync-with.js +0 -60
  269. package/cjs/utils/sync-with.js.map +0 -1
  270. package/esm/aggregate/DeselectPipeline.d.ts +0 -10
  271. package/esm/aggregate/DeselectPipeline.d.ts.map +0 -1
  272. package/esm/aggregate/DeselectPipeline.js +0 -17
  273. package/esm/aggregate/DeselectPipeline.js.map +0 -1
  274. package/esm/aggregate/GeoNearPipeline.d.ts +0 -34
  275. package/esm/aggregate/GeoNearPipeline.d.ts.map +0 -1
  276. package/esm/aggregate/GeoNearPipeline.js +0 -44
  277. package/esm/aggregate/GeoNearPipeline.js.map +0 -1
  278. package/esm/aggregate/GroupByPipeline.d.ts +0 -12
  279. package/esm/aggregate/GroupByPipeline.d.ts.map +0 -1
  280. package/esm/aggregate/GroupByPipeline.js +0 -28
  281. package/esm/aggregate/GroupByPipeline.js.map +0 -1
  282. package/esm/aggregate/LimitPipeline.d.ts +0 -10
  283. package/esm/aggregate/LimitPipeline.d.ts.map +0 -1
  284. package/esm/aggregate/LimitPipeline.js +0 -14
  285. package/esm/aggregate/LimitPipeline.js.map +0 -1
  286. package/esm/aggregate/LookupPipeline.d.ts +0 -19
  287. package/esm/aggregate/LookupPipeline.d.ts.map +0 -1
  288. package/esm/aggregate/LookupPipeline.js +0 -23
  289. package/esm/aggregate/LookupPipeline.js.map +0 -1
  290. package/esm/aggregate/OrWherePipeline.d.ts +0 -21
  291. package/esm/aggregate/OrWherePipeline.d.ts.map +0 -1
  292. package/esm/aggregate/OrWherePipeline.js +0 -63
  293. package/esm/aggregate/OrWherePipeline.js.map +0 -1
  294. package/esm/aggregate/SelectPipeline.d.ts +0 -10
  295. package/esm/aggregate/SelectPipeline.d.ts.map +0 -1
  296. package/esm/aggregate/SelectPipeline.js +0 -26
  297. package/esm/aggregate/SelectPipeline.js.map +0 -1
  298. package/esm/aggregate/SkipPipeline.d.ts +0 -10
  299. package/esm/aggregate/SkipPipeline.d.ts.map +0 -1
  300. package/esm/aggregate/SkipPipeline.js +0 -14
  301. package/esm/aggregate/SkipPipeline.js.map +0 -1
  302. package/esm/aggregate/SortByPipeline.d.ts +0 -10
  303. package/esm/aggregate/SortByPipeline.d.ts.map +0 -1
  304. package/esm/aggregate/SortByPipeline.js +0 -18
  305. package/esm/aggregate/SortByPipeline.js.map +0 -1
  306. package/esm/aggregate/SortPipeline.d.ts +0 -11
  307. package/esm/aggregate/SortPipeline.d.ts.map +0 -1
  308. package/esm/aggregate/SortPipeline.js +0 -18
  309. package/esm/aggregate/SortPipeline.js.map +0 -1
  310. package/esm/aggregate/SortRandomPipeline.d.ts +0 -10
  311. package/esm/aggregate/SortRandomPipeline.d.ts.map +0 -1
  312. package/esm/aggregate/SortRandomPipeline.js +0 -16
  313. package/esm/aggregate/SortRandomPipeline.js.map +0 -1
  314. package/esm/aggregate/UnwindPipeline.d.ts +0 -14
  315. package/esm/aggregate/UnwindPipeline.d.ts.map +0 -1
  316. package/esm/aggregate/UnwindPipeline.js +0 -19
  317. package/esm/aggregate/UnwindPipeline.js.map +0 -1
  318. package/esm/aggregate/WhereExpression.d.ts +0 -17
  319. package/esm/aggregate/WhereExpression.d.ts.map +0 -1
  320. package/esm/aggregate/WhereExpression.js +0 -149
  321. package/esm/aggregate/WhereExpression.js.map +0 -1
  322. package/esm/aggregate/WhereExpressionPipeline.d.ts +0 -10
  323. package/esm/aggregate/WhereExpressionPipeline.d.ts.map +0 -1
  324. package/esm/aggregate/WhereExpressionPipeline.js +0 -15
  325. package/esm/aggregate/WhereExpressionPipeline.js.map +0 -1
  326. package/esm/aggregate/WherePipeline.d.ts +0 -13
  327. package/esm/aggregate/WherePipeline.d.ts.map +0 -1
  328. package/esm/aggregate/WherePipeline.js +0 -12
  329. package/esm/aggregate/WherePipeline.js.map +0 -1
  330. package/esm/aggregate/aggregate.d.ts +0 -409
  331. package/esm/aggregate/aggregate.d.ts.map +0 -1
  332. package/esm/aggregate/aggregate.js +0 -911
  333. package/esm/aggregate/aggregate.js.map +0 -1
  334. package/esm/aggregate/expressions.d.ts +0 -361
  335. package/esm/aggregate/expressions.d.ts.map +0 -1
  336. package/esm/aggregate/expressions.js +0 -536
  337. package/esm/aggregate/expressions.js.map +0 -1
  338. package/esm/aggregate/filters/apply-filters.d.ts +0 -3
  339. package/esm/aggregate/filters/apply-filters.d.ts.map +0 -1
  340. package/esm/aggregate/filters/apply-filters.js +0 -75
  341. package/esm/aggregate/filters/apply-filters.js.map +0 -1
  342. package/esm/aggregate/filters/boolean-filters.d.ts +0 -3
  343. package/esm/aggregate/filters/boolean-filters.d.ts.map +0 -1
  344. package/esm/aggregate/filters/boolean-filters.js +0 -33
  345. package/esm/aggregate/filters/boolean-filters.js.map +0 -1
  346. package/esm/aggregate/filters/date-filters.d.ts +0 -3
  347. package/esm/aggregate/filters/date-filters.d.ts.map +0 -1
  348. package/esm/aggregate/filters/date-filters.js +0 -128
  349. package/esm/aggregate/filters/date-filters.js.map +0 -1
  350. package/esm/aggregate/filters/index.d.ts +0 -3
  351. package/esm/aggregate/filters/index.d.ts.map +0 -1
  352. package/esm/aggregate/filters/numeric-filters.d.ts +0 -3
  353. package/esm/aggregate/filters/numeric-filters.d.ts.map +0 -1
  354. package/esm/aggregate/filters/numeric-filters.js +0 -99
  355. package/esm/aggregate/filters/numeric-filters.js.map +0 -1
  356. package/esm/aggregate/filters/types.d.ts +0 -46
  357. package/esm/aggregate/filters/types.d.ts.map +0 -1
  358. package/esm/aggregate/filters/utils.d.ts +0 -13
  359. package/esm/aggregate/filters/utils.d.ts.map +0 -1
  360. package/esm/aggregate/filters/utils.js +0 -38
  361. package/esm/aggregate/filters/utils.js.map +0 -1
  362. package/esm/aggregate/index.d.ts +0 -21
  363. package/esm/aggregate/index.d.ts.map +0 -1
  364. package/esm/aggregate/parsePipelines.d.ts +0 -5
  365. package/esm/aggregate/parsePipelines.d.ts.map +0 -1
  366. package/esm/aggregate/parsePipelines.js +0 -6
  367. package/esm/aggregate/parsePipelines.js.map +0 -1
  368. package/esm/aggregate/pipeline.d.ts +0 -31
  369. package/esm/aggregate/pipeline.d.ts.map +0 -1
  370. package/esm/aggregate/pipeline.js +0 -42
  371. package/esm/aggregate/pipeline.js.map +0 -1
  372. package/esm/aggregate/types.d.ts +0 -8
  373. package/esm/aggregate/types.d.ts.map +0 -1
  374. package/esm/aggregate/types.js +0 -31
  375. package/esm/aggregate/types.js.map +0 -1
  376. package/esm/blueprint/blueprint-column.d.ts +0 -82
  377. package/esm/blueprint/blueprint-column.d.ts.map +0 -1
  378. package/esm/blueprint/blueprint.d.ts +0 -162
  379. package/esm/blueprint/blueprint.d.ts.map +0 -1
  380. package/esm/blueprint/blueprint.js +0 -340
  381. package/esm/blueprint/blueprint.js.map +0 -1
  382. package/esm/blueprint/index.d.ts +0 -3
  383. package/esm/blueprint/index.d.ts.map +0 -1
  384. package/esm/blueprint/model-blueprint.d.ts +0 -15
  385. package/esm/blueprint/model-blueprint.d.ts.map +0 -1
  386. package/esm/blueprint/model-blueprint.js +0 -16
  387. package/esm/blueprint/model-blueprint.js.map +0 -1
  388. package/esm/casts/arrayOf.d.ts +0 -5
  389. package/esm/casts/arrayOf.d.ts.map +0 -1
  390. package/esm/casts/arrayOf.js +0 -18
  391. package/esm/casts/arrayOf.js.map +0 -1
  392. package/esm/casts/cast-email.d.ts +0 -2
  393. package/esm/casts/cast-email.d.ts.map +0 -1
  394. package/esm/casts/cast-email.js +0 -5
  395. package/esm/casts/cast-email.js.map +0 -1
  396. package/esm/casts/castModel.d.ts +0 -3
  397. package/esm/casts/castModel.d.ts.map +0 -1
  398. package/esm/casts/castModel.js +0 -49
  399. package/esm/casts/castModel.js.map +0 -1
  400. package/esm/casts/expiresAfter.d.ts +0 -3
  401. package/esm/casts/expiresAfter.d.ts.map +0 -1
  402. package/esm/casts/expiresAfter.js +0 -5
  403. package/esm/casts/expiresAfter.js.map +0 -1
  404. package/esm/casts/index.d.ts +0 -9
  405. package/esm/casts/index.d.ts.map +0 -1
  406. package/esm/casts/oneOf.d.ts +0 -3
  407. package/esm/casts/oneOf.d.ts.map +0 -1
  408. package/esm/casts/oneOf.js +0 -22
  409. package/esm/casts/oneOf.js.map +0 -1
  410. package/esm/casts/random-string.d.ts +0 -2
  411. package/esm/casts/random-string.d.ts.map +0 -1
  412. package/esm/casts/random-string.js +0 -5
  413. package/esm/casts/random-string.js.map +0 -1
  414. package/esm/casts/randomInteger.d.ts +0 -2
  415. package/esm/casts/randomInteger.d.ts.map +0 -1
  416. package/esm/casts/randomInteger.js +0 -7
  417. package/esm/casts/randomInteger.js.map +0 -1
  418. package/esm/casts/shapedArray.d.ts +0 -26
  419. package/esm/casts/shapedArray.d.ts.map +0 -1
  420. package/esm/casts/shapedArray.js +0 -100
  421. package/esm/casts/shapedArray.js.map +0 -1
  422. package/esm/config.d.ts +0 -6
  423. package/esm/config.d.ts.map +0 -1
  424. package/esm/config.js +0 -16
  425. package/esm/config.js.map +0 -1
  426. package/esm/connection.d.ts +0 -49
  427. package/esm/connection.d.ts.map +0 -1
  428. package/esm/connection.js +0 -108
  429. package/esm/connection.js.map +0 -1
  430. package/esm/database.d.ts +0 -97
  431. package/esm/database.d.ts.map +0 -1
  432. package/esm/database.js +0 -164
  433. package/esm/database.js.map +0 -1
  434. package/esm/index.d.ts +0 -13
  435. package/esm/index.d.ts.map +0 -1
  436. package/esm/migration/index.d.ts +0 -4
  437. package/esm/migration/index.d.ts.map +0 -1
  438. package/esm/migration/migrate.d.ts +0 -13
  439. package/esm/migration/migrate.d.ts.map +0 -1
  440. package/esm/migration/migrate.js +0 -72
  441. package/esm/migration/migrate.js.map +0 -1
  442. package/esm/migration/migration-office.d.ts +0 -21
  443. package/esm/migration/migration-office.d.ts.map +0 -1
  444. package/esm/migration/migration-office.js +0 -39
  445. package/esm/migration/migration-office.js.map +0 -1
  446. package/esm/migration/migration-officer.d.ts +0 -33
  447. package/esm/migration/migration-officer.d.ts.map +0 -1
  448. package/esm/migration/migration-officer.js +0 -55
  449. package/esm/migration/migration-officer.js.map +0 -1
  450. package/esm/migration/types.d.ts +0 -34
  451. package/esm/migration/types.d.ts.map +0 -1
  452. package/esm/model/ModelAggregate.d.ts +0 -114
  453. package/esm/model/ModelAggregate.d.ts.map +0 -1
  454. package/esm/model/ModelAggregate.js +0 -182
  455. package/esm/model/ModelAggregate.js.map +0 -1
  456. package/esm/model/ModelSync.d.ts +0 -73
  457. package/esm/model/ModelSync.d.ts.map +0 -1
  458. package/esm/model/ModelSync.js +0 -215
  459. package/esm/model/ModelSync.js.map +0 -1
  460. package/esm/model/RelationshipWithMany.d.ts +0 -24
  461. package/esm/model/RelationshipWithMany.d.ts.map +0 -1
  462. package/esm/model/RelationshipWithMany.js +0 -42
  463. package/esm/model/RelationshipWithMany.js.map +0 -1
  464. package/esm/model/base-model.d.ts +0 -161
  465. package/esm/model/base-model.d.ts.map +0 -1
  466. package/esm/model/base-model.js +0 -265
  467. package/esm/model/base-model.js.map +0 -1
  468. package/esm/model/crud-model.d.ts +0 -122
  469. package/esm/model/crud-model.d.ts.map +0 -1
  470. package/esm/model/crud-model.js +0 -366
  471. package/esm/model/crud-model.js.map +0 -1
  472. package/esm/model/index.d.ts +0 -10
  473. package/esm/model/index.d.ts.map +0 -1
  474. package/esm/model/joinable.d.ts +0 -87
  475. package/esm/model/joinable.d.ts.map +0 -1
  476. package/esm/model/joinable.js +0 -158
  477. package/esm/model/joinable.js.map +0 -1
  478. package/esm/model/master-mind.d.ts +0 -44
  479. package/esm/model/master-mind.d.ts.map +0 -1
  480. package/esm/model/master-mind.js +0 -118
  481. package/esm/model/master-mind.js.map +0 -1
  482. package/esm/model/model-events.d.ts +0 -57
  483. package/esm/model/model-events.d.ts.map +0 -1
  484. package/esm/model/model-events.js +0 -102
  485. package/esm/model/model-events.js.map +0 -1
  486. package/esm/model/model.d.ts +0 -464
  487. package/esm/model/model.d.ts.map +0 -1
  488. package/esm/model/model.js +0 -1134
  489. package/esm/model/model.js.map +0 -1
  490. package/esm/model/types.d.ts +0 -149
  491. package/esm/model/types.d.ts.map +0 -1
  492. package/esm/model/types.js +0 -11
  493. package/esm/model/types.js.map +0 -1
  494. package/esm/query/index.d.ts +0 -2
  495. package/esm/query/index.d.ts.map +0 -1
  496. package/esm/query/query.d.ts +0 -218
  497. package/esm/query/query.d.ts.map +0 -1
  498. package/esm/query/query.js +0 -672
  499. package/esm/query/query.js.map +0 -1
  500. package/esm/query/types.d.ts +0 -60
  501. package/esm/query/types.d.ts.map +0 -1
  502. package/esm/types.d.ts +0 -75
  503. package/esm/types.d.ts.map +0 -1
  504. package/esm/utils/connectToDatabase.d.ts +0 -3
  505. package/esm/utils/connectToDatabase.d.ts.map +0 -1
  506. package/esm/utils/connectToDatabase.js +0 -3
  507. package/esm/utils/connectToDatabase.js.map +0 -1
  508. package/esm/utils/deep-diff.d.ts +0 -9
  509. package/esm/utils/deep-diff.d.ts.map +0 -1
  510. package/esm/utils/deep-diff.js +0 -44
  511. package/esm/utils/deep-diff.js.map +0 -1
  512. package/esm/utils/dropAllDatabaseIndexes.d.ts +0 -2
  513. package/esm/utils/dropAllDatabaseIndexes.d.ts.map +0 -1
  514. package/esm/utils/dropAllDatabaseIndexes.js +0 -10
  515. package/esm/utils/dropAllDatabaseIndexes.js.map +0 -1
  516. package/esm/utils/index.d.ts +0 -6
  517. package/esm/utils/index.d.ts.map +0 -1
  518. package/esm/utils/joinable-proxy.d.ts +0 -3
  519. package/esm/utils/joinable-proxy.d.ts.map +0 -1
  520. package/esm/utils/joinable-proxy.js +0 -14
  521. package/esm/utils/joinable-proxy.js.map +0 -1
  522. package/esm/utils/listDatabaseIndexes.d.ts +0 -4
  523. package/esm/utils/listDatabaseIndexes.d.ts.map +0 -1
  524. package/esm/utils/listDatabaseIndexes.js +0 -101
  525. package/esm/utils/listDatabaseIndexes.js.map +0 -1
  526. package/esm/utils/onceConnected.d.ts +0 -2
  527. package/esm/utils/onceConnected.d.ts.map +0 -1
  528. package/esm/utils/onceConnected.js +0 -8
  529. package/esm/utils/onceConnected.js.map +0 -1
  530. package/esm/utils/sync-with.d.ts +0 -27
  531. package/esm/utils/sync-with.d.ts.map +0 -1
  532. package/esm/utils/sync-with.js +0 -60
  533. package/esm/utils/sync-with.js.map +0 -1
@@ -1,182 +0,0 @@
1
- import {colors}from'@mongez/copper';import {$agg}from'../aggregate/expressions.js';import'@mongez/supportive-is';import'@mongez/time-wizard';import {Aggregate}from'../aggregate/aggregate.js';import {joinableProxy}from'../utils/joinable-proxy.js';class ModelAggregate extends Aggregate {
2
- model;
3
- /**
4
- * Joining list
5
- * Each key will have the model as a value reference to it
6
- */
7
- joiningList = {};
8
- /**
9
- * Constructor
10
- */
11
- constructor(model) {
12
- super(model.collection);
13
- this.model = model;
14
- this.query = model.query;
15
- }
16
- /**
17
- * {@inheritDoc}
18
- */
19
- async get(mapData) {
20
- if (!mapData) {
21
- mapData = (record) => {
22
- const model = new this.model(record);
23
- for (const relation in this.joiningList) {
24
- const data = model.get(relation);
25
- if (!data)
26
- continue;
27
- model.set(relation, this.joiningList[relation](data));
28
- }
29
- return model;
30
- };
31
- }
32
- return (await super.get(mapData));
33
- }
34
- /**
35
- * Find or create
36
- */
37
- async findOrCreate(data) {
38
- return (await this.first()) || (await this.model.create(data));
39
- }
40
- /**
41
- * Find and update the given data
42
- * Please note that the filter should be done via where() methods
43
- * This method returns the updated records
44
- * If you need just to update the records directly in the database, then use `update` method directly.
45
- */
46
- async findAndUpdate(data) {
47
- const records = await this.get();
48
- await Promise.all(records.map(async (model) => await model.save(data)));
49
- return records;
50
- }
51
- /**
52
- * {@inheritdoc}
53
- */
54
- async chunk(limit, callback, mapData) {
55
- return super.chunk(limit, callback, mapData);
56
- }
57
- /**
58
- * {@inheritDoc}
59
- */
60
- async first(mapData) {
61
- return (await super.first(mapData));
62
- }
63
- /**
64
- * {@inheritDoc}
65
- */
66
- async last(filters) {
67
- return (await super.last(filters));
68
- }
69
- /**
70
- * {@inheritDoc}
71
- */
72
- async paginate(page = 1, limit = this.model.perPage) {
73
- return await super.paginate(page, limit);
74
- }
75
- /**
76
- * Delete records
77
- */
78
- async delete() {
79
- const records = await this.get();
80
- records.forEach(async (model) => {
81
- await model.destroy();
82
- });
83
- return records.length;
84
- }
85
- /**
86
- * Include a related collection in the query results based on a defined relationship.
87
- *
88
- * @param relationName - The name of the relationship as defined in the static relations property
89
- * @param options - Optional. Override or extend the base relationship configuration
90
- * @returns The query builder for chaining
91
- *
92
- * @example
93
- * // Basic usage with defaults from relation definition
94
- * Post.aggregate().joining("author").get();
95
- *
96
- * // With overrides
97
- * Post.aggregate().joining("author", {
98
- * select: ["id", "name", "avatar"],
99
- * where: { isActive: true }
100
- * }).get();
101
- *
102
- * @example
103
- * // Using a function to override the query
104
- * Post.aggregate().joining("author", query => {
105
- * query.where("id", 1);
106
- * }).get();
107
- *
108
- * @example
109
- * // Using multiple options
110
- * Post.aggregate().joining("author", {
111
- * select: ["id", "name", "avatar"],
112
- * where: { isActive: true },
113
- * query: query => {
114
- * query.where("id", 1);
115
- * }
116
- * }).get();
117
- */
118
- joining(joining, options) {
119
- joining = this.getJoinable(joining);
120
- if (typeof options === "function") {
121
- options(joining);
122
- }
123
- else {
124
- if (options?.where) {
125
- joining.where(options.where);
126
- }
127
- if (options?.query) {
128
- options.query(joining);
129
- }
130
- if (options?.select) {
131
- joining.select(...options.select);
132
- }
133
- if (options?.as) {
134
- joining.as(options.as);
135
- }
136
- if (options?.joining) ;
137
- if (options?.pipeline) {
138
- joining.addPipelines(options.pipeline);
139
- }
140
- }
141
- const data = joining.parse();
142
- this.joiningList[data.as] = joining.getReturnAs();
143
- return this.lookup(data);
144
- }
145
- /**
146
- * Get joinable instance for current model
147
- */
148
- getJoinable(joinable) {
149
- let joinableObject;
150
- if (typeof joinable === "string") {
151
- joinableObject = this.model.relations[joinable];
152
- if (!joinableObject) {
153
- throw new Error(`Call to undefined joinable ${colors.redBright(joinable)} in ${this.model.name} model relations`);
154
- }
155
- }
156
- else {
157
- joinableObject = joinable;
158
- }
159
- return joinableProxy(joinableObject.clone());
160
- }
161
- /**
162
- * Perform a join and count the records of the joined collection
163
- */
164
- countJoining(joining, options) {
165
- const joiningObject = this.getJoinable(joining);
166
- const as = joiningObject.get("as");
167
- const returnAs = options?.as || (as || "document") + "Count";
168
- return this.joining(joiningObject, options)
169
- .addField(returnAs, {
170
- $size: $agg.columnName(as),
171
- })
172
- .deselect([as]);
173
- }
174
- /**
175
- * Clone the aggregate model class
176
- */
177
- clone() {
178
- const aggregate = new ModelAggregate(this.model);
179
- aggregate.pipelines = this.pipelines.slice();
180
- return aggregate;
181
- }
182
- }export{ModelAggregate};//# sourceMappingURL=ModelAggregate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModelAggregate.js","sources":["../../src/model/ModelAggregate.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,73 +0,0 @@
1
- import type { ModelAggregate } from "./ModelAggregate";
2
- import type { Model } from "./model";
3
- import type { CascadeOnDelete } from "./types";
4
- export declare class ModelSync {
5
- protected model: typeof Model;
6
- protected columns: string | string[];
7
- protected embedMethod: string;
8
- /**
9
- * What do do when model is deleted
10
- */
11
- protected whenDelete: CascadeOnDelete;
12
- /**
13
- * Embed on create
14
- */
15
- protected embedOnCreate: string;
16
- /**
17
- * Sync mode
18
- */
19
- protected syncMode: "single" | "many";
20
- /**
21
- * Query runner using `when` method
22
- */
23
- protected queryRunner?: (query: ModelAggregate<Model>) => void;
24
- /**
25
- * Define when should the synced model starts to update when any of the given columns is updated in the original model
26
- */
27
- protected _updateWhenChange?: string[];
28
- /**
29
- * Constructor
30
- */
31
- constructor(model: typeof Model, columns: string | string[], embedMethod?: string);
32
- /**
33
- * Define when should the synced model starts to update when any of the given columns is updated in the original model
34
- */
35
- updateWhenChange(columns: string | string[]): this;
36
- /**
37
- * Set query runner
38
- */
39
- where(queryRunner: (query: ModelAggregate<Model>) => void): this;
40
- /**
41
- * Unset on delete
42
- */
43
- unsetOnDelete(): this;
44
- /**
45
- * Ignore on delete
46
- */
47
- ignoreOnDelete(): this;
48
- /**
49
- * Remove all matched documents on delete to be fully deleted
50
- */
51
- removeOnDelete(): this;
52
- /**
53
- * Embed on create to injected model one the original model is created
54
- */
55
- embedOnCreateFrom(column: string): this;
56
- /**
57
- * Mark as many sync
58
- */
59
- syncMany(): this;
60
- /**
61
- * Start syncing the model
62
- */
63
- sync(model: Model, saveMode: "create" | "update", oldModel?: Model): Promise<void>;
64
- /**
65
- * Sync update
66
- */
67
- syncUpdate(model: Model, oldModel?: Model): Promise<void>;
68
- /**
69
- * Sync model destruction
70
- */
71
- syncDestruction(model: Model): Promise<void>;
72
- }
73
- //# sourceMappingURL=ModelSync.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModelSync.d.ts","sourceRoot":"","sources":["../../src/model/ModelSync.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,qBAAa,SAAS;IA+BlB,SAAS,CAAC,KAAK,EAAE,OAAO,KAAK;IAC7B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IACpC,SAAS,CAAC,WAAW;IAhCvB;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,eAAe,CACoB;IAEzD;;OAEG;IACH,SAAS,CAAC,aAAa,SAAM;IAE7B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAY;IAEjD;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IAE/D;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvC;;OAEG;gBAES,KAAK,EAAE,OAAO,KAAK,EACnB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,WAAW,SAAc;IAKrC;;OAEG;IACI,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAMlD;;OAEG;IACI,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI;IAMhE;;OAEG;IACI,aAAa;IAMpB;;OAEG;IACI,cAAc;IAMrB;;OAEG;IACI,cAAc;IAMrB;;OAEG;IACI,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAMvC;;OAEG;IACI,QAAQ;IAMf;;OAEG;IACU,IAAI,CACf,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,GAAG,QAAQ,EAC7B,QAAQ,CAAC,EAAE,KAAK;IAsClB;;OAEG;IACU,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK;IA8EtD;;OAEG;IACU,eAAe,CAAC,KAAK,EAAE,KAAK;CA8B1C"}
@@ -1,215 +0,0 @@
1
- import {areEqual}from'@mongez/reinforcements';import {getDatabaseConfig}from'../config.js';class ModelSync {
2
- model;
3
- columns;
4
- embedMethod;
5
- /**
6
- * What do do when model is deleted
7
- */
8
- whenDelete = getDatabaseConfig("model")?.cascadeOnDelete || "unset";
9
- /**
10
- * Embed on create
11
- */
12
- embedOnCreate = "";
13
- /**
14
- * Sync mode
15
- */
16
- syncMode = "single";
17
- /**
18
- * Query runner using `when` method
19
- */
20
- queryRunner;
21
- /**
22
- * Define when should the synced model starts to update when any of the given columns is updated in the original model
23
- */
24
- _updateWhenChange;
25
- /**
26
- * Constructor
27
- */
28
- constructor(model, columns, embedMethod = "embedData") {
29
- this.model = model;
30
- this.columns = columns;
31
- this.embedMethod = embedMethod;
32
- //
33
- }
34
- /**
35
- * Define when should the synced model starts to update when any of the given columns is updated in the original model
36
- */
37
- updateWhenChange(columns) {
38
- this._updateWhenChange = Array.isArray(columns) ? columns : [columns];
39
- return this;
40
- }
41
- /**
42
- * Set query runner
43
- */
44
- where(queryRunner) {
45
- this.queryRunner = queryRunner;
46
- return this;
47
- }
48
- /**
49
- * Unset on delete
50
- */
51
- unsetOnDelete() {
52
- this.whenDelete = "unset";
53
- return this;
54
- }
55
- /**
56
- * Ignore on delete
57
- */
58
- ignoreOnDelete() {
59
- this.whenDelete = "ignore";
60
- return this;
61
- }
62
- /**
63
- * Remove all matched documents on delete to be fully deleted
64
- */
65
- removeOnDelete() {
66
- this.whenDelete = "remove";
67
- return this;
68
- }
69
- /**
70
- * Embed on create to injected model one the original model is created
71
- */
72
- embedOnCreateFrom(column) {
73
- this.embedOnCreate = column;
74
- return this;
75
- }
76
- /**
77
- * Mark as many sync
78
- */
79
- syncMany() {
80
- this.syncMode = "many";
81
- return this;
82
- }
83
- /**
84
- * Start syncing the model
85
- */
86
- async sync(model, saveMode, oldModel) {
87
- if (saveMode === "update") {
88
- return this.syncUpdate(model, oldModel);
89
- }
90
- if (!this.embedOnCreate)
91
- return;
92
- const columns = Array.isArray(this.columns) ? this.columns : [this.columns];
93
- const syncedModel = await this.model.first({
94
- id: model.get(this.embedOnCreate + ".id"),
95
- });
96
- if (!syncedModel)
97
- return;
98
- try {
99
- const modelData = typeof model[this.embedMethod] !== "undefined"
100
- ? model[this.embedMethod]
101
- : model.data;
102
- for (const column of columns) {
103
- if (this.syncMode === "single") {
104
- syncedModel.set(column, modelData);
105
- }
106
- else {
107
- syncedModel.associate(column, modelData);
108
- }
109
- }
110
- await syncedModel.save();
111
- }
112
- catch (error) {
113
- console.log("Error in Sync", error.message);
114
- console.log(model);
115
- throw error;
116
- }
117
- }
118
- /**
119
- * Sync update
120
- */
121
- async syncUpdate(model, oldModel) {
122
- if (this._updateWhenChange && oldModel) {
123
- // now check if any of the columns has changed
124
- // if all of them are the same, then we don't need to update
125
- if (this._updateWhenChange.every(column => areEqual(model.get(column), oldModel.get(column)))) {
126
- return;
127
- }
128
- }
129
- const columns = Array.isArray(this.columns) ? this.columns : [this.columns];
130
- const whereOptions = {};
131
- for (const column of columns) {
132
- whereOptions[column + ".id"] = model.id;
133
- }
134
- const query = this.model.aggregate().orWhere(whereOptions);
135
- if (this.queryRunner) {
136
- this.queryRunner(query);
137
- }
138
- const models = await query.get();
139
- try {
140
- const modelData = typeof model[this.embedMethod] !== "undefined"
141
- ? model[this.embedMethod]
142
- : model.embeddedData;
143
- for (const updatingModel of models) {
144
- for (const column of columns) {
145
- if (this.syncMode === "single") {
146
- updatingModel.set(column, modelData);
147
- }
148
- else {
149
- if (column.includes(".")) {
150
- // if column includes dot, then it's a nested column
151
- // so we need to get the top document key as it should be an array.
152
- const [topKey, nestedKey] = column.split(".");
153
- const documentsList = updatingModel.get(topKey) || [];
154
- // as we're updating, so there should be at least one document
155
- if (documentsList?.length === 0)
156
- continue;
157
- // now we need to find the document that has the same id as the model we're updating
158
- const documentIndex = documentsList.findIndex((document) => document[nestedKey]?.id === model.get("id"));
159
- // if document is not found, then we don't need to update
160
- if (documentIndex === -1)
161
- continue;
162
- // now we need to update the document
163
- documentsList[documentIndex][nestedKey] = modelData;
164
- // and finally set the updated documents list
165
- updatingModel.set(topKey, documentsList);
166
- }
167
- else {
168
- // otherwise, it is a direct column update so we can just set it
169
- updatingModel.reassociate(column, modelData);
170
- }
171
- }
172
- }
173
- // disable casting so we can save the data as it is
174
- await updatingModel.save(undefined, {
175
- cast: false,
176
- });
177
- }
178
- }
179
- catch (error) {
180
- console.log("Error in Sync", error.message);
181
- console.log(model);
182
- throw error;
183
- }
184
- }
185
- /**
186
- * Sync model destruction
187
- */
188
- async syncDestruction(model) {
189
- const columns = Array.isArray(this.columns) ? this.columns : [this.columns];
190
- const query = {};
191
- for (const column of columns) {
192
- query[column + ".id"] = model.get("id");
193
- }
194
- const models = await this.model
195
- .aggregate()
196
- .orWhere(query)
197
- .get();
198
- for (const currentModel of models) {
199
- if (this.whenDelete === "unset") {
200
- for (const column of columns) {
201
- if (this.syncMode === "single") {
202
- currentModel.unset(column);
203
- }
204
- else {
205
- currentModel.disassociate(column, model);
206
- }
207
- }
208
- await currentModel.save();
209
- }
210
- else if (this.whenDelete === "remove") {
211
- await currentModel.destroy();
212
- }
213
- }
214
- }
215
- }export{ModelSync};//# sourceMappingURL=ModelSync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModelSync.js","sources":["../../src/model/ModelSync.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import type { Model } from "./model";
2
- import type { Filter } from "./types";
3
- export declare class RelationshipWithMany<T> {
4
- protected model: Model;
5
- protected relatedModel: typeof Model;
6
- protected column: string;
7
- /**
8
- * Constructor
9
- */
10
- constructor(model: Model, relatedModel: typeof Model, column: string);
11
- /**
12
- * Create and add the given model to the relationship
13
- */
14
- create(data: any): Promise<Model>;
15
- /**
16
- * Remove the given model from the relationship
17
- */
18
- remove(model: Model): Promise<void>;
19
- /**
20
- * Get all related models
21
- */
22
- list(filter?: Filter): Promise<T[]>;
23
- }
24
- //# sourceMappingURL=RelationshipWithMany.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RelationshipWithMany.d.ts","sourceRoot":"","sources":["../../src/model/RelationshipWithMany.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,SAAS,CAAC;AAErD,qBAAa,oBAAoB,CAAC,CAAC;IAK/B,SAAS,CAAC,KAAK,EAAE,KAAK;IACtB,SAAS,CAAC,YAAY,EAAE,OAAO,KAAK;IACpC,SAAS,CAAC,MAAM,EAAE,MAAM;IAN1B;;OAEG;gBAES,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,OAAO,KAAK,EAC1B,MAAM,EAAE,MAAM;IAK1B;;OAEG;IACU,MAAM,CAAC,IAAI,EAAE,GAAG;IAM7B;;OAEG;IACU,MAAM,CAAC,KAAK,EAAE,KAAK;IAIhC;;OAEG;IACU,IAAI,CAAC,MAAM,GAAE,MAAW;CAiBtC"}
@@ -1,42 +0,0 @@
1
- class RelationshipWithMany {
2
- model;
3
- relatedModel;
4
- column;
5
- /**
6
- * Constructor
7
- */
8
- constructor(model, relatedModel, column) {
9
- this.model = model;
10
- this.relatedModel = relatedModel;
11
- this.column = column;
12
- //
13
- }
14
- /**
15
- * Create and add the given model to the relationship
16
- */
17
- async create(data) {
18
- data[this.column] = this.model.id;
19
- return await this.relatedModel.create(data);
20
- }
21
- /**
22
- * Remove the given model from the relationship
23
- */
24
- async remove(model) {
25
- await this.model.disassociate(this.column, model).save();
26
- }
27
- /**
28
- * Get all related models
29
- */
30
- async list(filter = {}) {
31
- const embeddedDocuments = this.model.get(this.column) || [];
32
- const embeddedDocumentsIds = embeddedDocuments.map(
33
- // because it may be an array of ids or an array of documents
34
- (document) => document.id || document);
35
- const documents = (await this.relatedModel.list({
36
- id: embeddedDocumentsIds,
37
- ...filter,
38
- }));
39
- this.model.set(this.column, documents);
40
- return documents;
41
- }
42
- }export{RelationshipWithMany};//# sourceMappingURL=RelationshipWithMany.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RelationshipWithMany.js","sources":["../../src/model/RelationshipWithMany.ts"],"sourcesContent":[null],"names":[],"mappings":"MAGa,oBAAoB,CAAA;AAKnB,IAAA,KAAA,CAAA;AACA,IAAA,YAAA,CAAA;AACA,IAAA,MAAA,CAAA;AANZ;;AAEG;AACH,IAAA,WAAA,CACY,KAAY,EACZ,YAA0B,EAC1B,MAAc,EAAA;QAFd,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;QACZ,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAC1B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;;KAGzB;AAED;;AAEG;IACI,MAAM,MAAM,CAAC,IAAS,EAAA;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAElC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC7C;AAED;;AAEG;IACI,MAAM,MAAM,CAAC,KAAY,EAAA;AAC9B,QAAA,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;KAC1D;AAED;;AAEG;AACI,IAAA,MAAM,IAAI,CAAC,MAAA,GAAiB,EAAE,EAAA;AACnC,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAE5D,QAAA,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,GAAG;;QAEhD,CAAC,QAAuB,KAAK,QAAQ,CAAC,EAAE,IAAI,QAAQ,CACrD,CAAC;QAEF,MAAM,SAAS,IAAI,MAAO,IAAI,CAAC,YAAoB,CAAC,IAAI,CAAC;AACvD,YAAA,EAAE,EAAE,oBAAoB;AACxB,YAAA,GAAG,MAAM;AACV,SAAA,CAAC,CAAQ,CAAC;QAEX,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEvC,QAAA,OAAO,SAAS,CAAC;KAClB;AACF"}