@warlock.js/cascade 1.0.4 → 1.0.5

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 (300) hide show
  1. package/cjs/commands/create-new-app/get-app-path.d.ts +2 -0
  2. package/cjs/commands/create-new-app/get-app-path.d.ts.map +1 -0
  3. package/cjs/commands/create-new-app/get-app-path.js +8 -0
  4. package/cjs/commands/create-new-app/get-app-path.js.map +1 -0
  5. package/cjs/commands/create-new-app/index.d.ts +2 -0
  6. package/cjs/commands/create-new-app/index.d.ts.map +1 -0
  7. package/cjs/commands/create-new-app/index.js +44 -0
  8. package/cjs/commands/create-new-app/index.js.map +1 -0
  9. package/cjs/commands/create-new-app/select-app-type.d.ts +2 -0
  10. package/cjs/commands/create-new-app/select-app-type.d.ts.map +1 -0
  11. package/cjs/commands/create-new-app/types.d.ts +9 -0
  12. package/cjs/commands/create-new-app/types.d.ts.map +1 -0
  13. package/cjs/commands/create-warlock-app/index.d.ts +3 -0
  14. package/cjs/commands/create-warlock-app/index.d.ts.map +1 -0
  15. package/cjs/commands/create-warlock-app/index.js +18 -0
  16. package/cjs/commands/create-warlock-app/index.js.map +1 -0
  17. package/cjs/helpers/app.d.ts +51 -0
  18. package/cjs/helpers/app.d.ts.map +1 -0
  19. package/cjs/helpers/app.js +127 -0
  20. package/cjs/helpers/app.js.map +1 -0
  21. package/cjs/helpers/exec.d.ts +10 -0
  22. package/cjs/helpers/exec.d.ts.map +1 -0
  23. package/cjs/helpers/exec.js +69 -0
  24. package/cjs/helpers/exec.js.map +1 -0
  25. package/cjs/helpers/package-manager.d.ts +6 -0
  26. package/cjs/helpers/package-manager.d.ts.map +1 -0
  27. package/cjs/helpers/package-manager.js +22 -0
  28. package/cjs/helpers/package-manager.js.map +1 -0
  29. package/cjs/helpers/paths.d.ts +4 -0
  30. package/cjs/helpers/paths.d.ts.map +1 -0
  31. package/cjs/helpers/paths.js +8 -0
  32. package/cjs/helpers/paths.js.map +1 -0
  33. package/cjs/helpers/project-builder-helpers.d.ts +7 -0
  34. package/cjs/helpers/project-builder-helpers.d.ts.map +1 -0
  35. package/cjs/helpers/project-builder-helpers.js +44 -0
  36. package/cjs/helpers/project-builder-helpers.js.map +1 -0
  37. package/cjs/index.d.ts +1 -11
  38. package/cjs/index.d.ts.map +1 -1
  39. package/cjs/index.js +5 -1
  40. package/cjs/index.js.map +1 -1
  41. package/esm/blueprint/blueprint.d.ts +2 -2
  42. package/esm/blueprint/blueprint.d.ts.map +1 -1
  43. package/esm/blueprint/blueprint.js +2 -0
  44. package/esm/blueprint/blueprint.js.map +1 -1
  45. package/esm/migration/migrate.d.ts.map +1 -1
  46. package/esm/migration/migrate.js +2 -6
  47. package/esm/migration/migrate.js.map +1 -1
  48. package/esm/migration/migration-office.d.ts +3 -3
  49. package/esm/migration/migration-office.d.ts.map +1 -1
  50. package/esm/migration/migration-office.js +15 -1
  51. package/esm/migration/migration-office.js.map +1 -1
  52. package/esm/migration/types.d.ts +10 -0
  53. package/esm/migration/types.d.ts.map +1 -1
  54. package/esm/model/ModelAggregate.js +1 -1
  55. package/esm/model/ModelAggregate.js.map +1 -1
  56. package/esm/model/base-model.d.ts +2 -2
  57. package/esm/model/base-model.d.ts.map +1 -1
  58. package/esm/model/base-model.js +14 -4
  59. package/esm/model/base-model.js.map +1 -1
  60. package/esm/model/model.d.ts +13 -2
  61. package/esm/model/model.d.ts.map +1 -1
  62. package/esm/model/model.js +41 -3
  63. package/esm/model/model.js.map +1 -1
  64. package/esm/types.d.ts +30 -0
  65. package/esm/types.d.ts.map +1 -1
  66. package/esm/utils/deep-diff.d.ts +9 -0
  67. package/esm/utils/deep-diff.d.ts.map +1 -0
  68. package/esm/utils/deep-diff.js +42 -0
  69. package/esm/utils/deep-diff.js.map +1 -0
  70. package/package.json +1 -1
  71. package/cjs/aggregate/DeselectPipeline.d.ts +0 -10
  72. package/cjs/aggregate/DeselectPipeline.d.ts.map +0 -1
  73. package/cjs/aggregate/DeselectPipeline.js +0 -17
  74. package/cjs/aggregate/DeselectPipeline.js.map +0 -1
  75. package/cjs/aggregate/GeoNearPipeline.d.ts +0 -34
  76. package/cjs/aggregate/GeoNearPipeline.d.ts.map +0 -1
  77. package/cjs/aggregate/GeoNearPipeline.js +0 -44
  78. package/cjs/aggregate/GeoNearPipeline.js.map +0 -1
  79. package/cjs/aggregate/GroupByPipeline.d.ts +0 -12
  80. package/cjs/aggregate/GroupByPipeline.d.ts.map +0 -1
  81. package/cjs/aggregate/GroupByPipeline.js +0 -28
  82. package/cjs/aggregate/GroupByPipeline.js.map +0 -1
  83. package/cjs/aggregate/LimitPipeline.d.ts +0 -10
  84. package/cjs/aggregate/LimitPipeline.d.ts.map +0 -1
  85. package/cjs/aggregate/LimitPipeline.js +0 -14
  86. package/cjs/aggregate/LimitPipeline.js.map +0 -1
  87. package/cjs/aggregate/LookupPipeline.d.ts +0 -19
  88. package/cjs/aggregate/LookupPipeline.d.ts.map +0 -1
  89. package/cjs/aggregate/LookupPipeline.js +0 -19
  90. package/cjs/aggregate/LookupPipeline.js.map +0 -1
  91. package/cjs/aggregate/OrWherePipeline.d.ts +0 -23
  92. package/cjs/aggregate/OrWherePipeline.d.ts.map +0 -1
  93. package/cjs/aggregate/OrWherePipeline.js +0 -42
  94. package/cjs/aggregate/OrWherePipeline.js.map +0 -1
  95. package/cjs/aggregate/SelectPipeline.d.ts +0 -10
  96. package/cjs/aggregate/SelectPipeline.d.ts.map +0 -1
  97. package/cjs/aggregate/SelectPipeline.js +0 -26
  98. package/cjs/aggregate/SelectPipeline.js.map +0 -1
  99. package/cjs/aggregate/SkipPipeline.d.ts +0 -10
  100. package/cjs/aggregate/SkipPipeline.d.ts.map +0 -1
  101. package/cjs/aggregate/SkipPipeline.js +0 -14
  102. package/cjs/aggregate/SkipPipeline.js.map +0 -1
  103. package/cjs/aggregate/SortByPipeline.d.ts +0 -10
  104. package/cjs/aggregate/SortByPipeline.d.ts.map +0 -1
  105. package/cjs/aggregate/SortByPipeline.js +0 -18
  106. package/cjs/aggregate/SortByPipeline.js.map +0 -1
  107. package/cjs/aggregate/SortPipeline.d.ts +0 -11
  108. package/cjs/aggregate/SortPipeline.d.ts.map +0 -1
  109. package/cjs/aggregate/SortPipeline.js +0 -18
  110. package/cjs/aggregate/SortPipeline.js.map +0 -1
  111. package/cjs/aggregate/SortRandomPipeline.d.ts +0 -10
  112. package/cjs/aggregate/SortRandomPipeline.d.ts.map +0 -1
  113. package/cjs/aggregate/SortRandomPipeline.js +0 -16
  114. package/cjs/aggregate/SortRandomPipeline.js.map +0 -1
  115. package/cjs/aggregate/UnwindPipeline.d.ts +0 -14
  116. package/cjs/aggregate/UnwindPipeline.d.ts.map +0 -1
  117. package/cjs/aggregate/UnwindPipeline.js +0 -19
  118. package/cjs/aggregate/UnwindPipeline.js.map +0 -1
  119. package/cjs/aggregate/WhereExpression.d.ts +0 -17
  120. package/cjs/aggregate/WhereExpression.d.ts.map +0 -1
  121. package/cjs/aggregate/WhereExpression.js +0 -149
  122. package/cjs/aggregate/WhereExpression.js.map +0 -1
  123. package/cjs/aggregate/WhereExpressionPipeline.d.ts +0 -10
  124. package/cjs/aggregate/WhereExpressionPipeline.d.ts.map +0 -1
  125. package/cjs/aggregate/WhereExpressionPipeline.js +0 -15
  126. package/cjs/aggregate/WhereExpressionPipeline.js.map +0 -1
  127. package/cjs/aggregate/WherePipeline.d.ts +0 -13
  128. package/cjs/aggregate/WherePipeline.d.ts.map +0 -1
  129. package/cjs/aggregate/WherePipeline.js +0 -12
  130. package/cjs/aggregate/WherePipeline.js.map +0 -1
  131. package/cjs/aggregate/aggregate.d.ts +0 -358
  132. package/cjs/aggregate/aggregate.d.ts.map +0 -1
  133. package/cjs/aggregate/aggregate.js +0 -680
  134. package/cjs/aggregate/aggregate.js.map +0 -1
  135. package/cjs/aggregate/expressions.d.ts +0 -361
  136. package/cjs/aggregate/expressions.d.ts.map +0 -1
  137. package/cjs/aggregate/expressions.js +0 -536
  138. package/cjs/aggregate/expressions.js.map +0 -1
  139. package/cjs/aggregate/index.d.ts +0 -21
  140. package/cjs/aggregate/index.d.ts.map +0 -1
  141. package/cjs/aggregate/parsePipelines.d.ts +0 -5
  142. package/cjs/aggregate/parsePipelines.d.ts.map +0 -1
  143. package/cjs/aggregate/parsePipelines.js +0 -6
  144. package/cjs/aggregate/parsePipelines.js.map +0 -1
  145. package/cjs/aggregate/pipeline.d.ts +0 -31
  146. package/cjs/aggregate/pipeline.d.ts.map +0 -1
  147. package/cjs/aggregate/pipeline.js +0 -42
  148. package/cjs/aggregate/pipeline.js.map +0 -1
  149. package/cjs/aggregate/types.d.ts +0 -8
  150. package/cjs/aggregate/types.d.ts.map +0 -1
  151. package/cjs/aggregate/types.js +0 -31
  152. package/cjs/aggregate/types.js.map +0 -1
  153. package/cjs/blueprint/blueprint-column.d.ts +0 -82
  154. package/cjs/blueprint/blueprint-column.d.ts.map +0 -1
  155. package/cjs/blueprint/blueprint.d.ts +0 -162
  156. package/cjs/blueprint/blueprint.d.ts.map +0 -1
  157. package/cjs/blueprint/blueprint.js +0 -338
  158. package/cjs/blueprint/blueprint.js.map +0 -1
  159. package/cjs/blueprint/index.d.ts +0 -3
  160. package/cjs/blueprint/index.d.ts.map +0 -1
  161. package/cjs/blueprint/model-blueprint.d.ts +0 -15
  162. package/cjs/blueprint/model-blueprint.d.ts.map +0 -1
  163. package/cjs/blueprint/model-blueprint.js +0 -16
  164. package/cjs/blueprint/model-blueprint.js.map +0 -1
  165. package/cjs/casts/arrayOf.d.ts +0 -5
  166. package/cjs/casts/arrayOf.d.ts.map +0 -1
  167. package/cjs/casts/arrayOf.js +0 -18
  168. package/cjs/casts/arrayOf.js.map +0 -1
  169. package/cjs/casts/cast-email.d.ts +0 -2
  170. package/cjs/casts/cast-email.d.ts.map +0 -1
  171. package/cjs/casts/cast-email.js +0 -5
  172. package/cjs/casts/cast-email.js.map +0 -1
  173. package/cjs/casts/castModel.d.ts +0 -3
  174. package/cjs/casts/castModel.d.ts.map +0 -1
  175. package/cjs/casts/castModel.js +0 -49
  176. package/cjs/casts/castModel.js.map +0 -1
  177. package/cjs/casts/expiresAfter.d.ts +0 -3
  178. package/cjs/casts/expiresAfter.d.ts.map +0 -1
  179. package/cjs/casts/expiresAfter.js +0 -5
  180. package/cjs/casts/expiresAfter.js.map +0 -1
  181. package/cjs/casts/index.d.ts +0 -9
  182. package/cjs/casts/index.d.ts.map +0 -1
  183. package/cjs/casts/oneOf.d.ts +0 -3
  184. package/cjs/casts/oneOf.d.ts.map +0 -1
  185. package/cjs/casts/oneOf.js +0 -22
  186. package/cjs/casts/oneOf.js.map +0 -1
  187. package/cjs/casts/random-string.d.ts +0 -2
  188. package/cjs/casts/random-string.d.ts.map +0 -1
  189. package/cjs/casts/random-string.js +0 -5
  190. package/cjs/casts/random-string.js.map +0 -1
  191. package/cjs/casts/randomInteger.d.ts +0 -2
  192. package/cjs/casts/randomInteger.d.ts.map +0 -1
  193. package/cjs/casts/randomInteger.js +0 -7
  194. package/cjs/casts/randomInteger.js.map +0 -1
  195. package/cjs/casts/shapedArray.d.ts +0 -26
  196. package/cjs/casts/shapedArray.d.ts.map +0 -1
  197. package/cjs/casts/shapedArray.js +0 -100
  198. package/cjs/casts/shapedArray.js.map +0 -1
  199. package/cjs/config.d.ts +0 -4
  200. package/cjs/config.d.ts.map +0 -1
  201. package/cjs/config.js +0 -10
  202. package/cjs/config.js.map +0 -1
  203. package/cjs/connection.d.ts +0 -45
  204. package/cjs/connection.d.ts.map +0 -1
  205. package/cjs/connection.js +0 -98
  206. package/cjs/connection.js.map +0 -1
  207. package/cjs/database.d.ts +0 -49
  208. package/cjs/database.d.ts.map +0 -1
  209. package/cjs/database.js +0 -85
  210. package/cjs/database.js.map +0 -1
  211. package/cjs/migration/index.d.ts +0 -4
  212. package/cjs/migration/index.d.ts.map +0 -1
  213. package/cjs/migration/migrate.d.ts +0 -13
  214. package/cjs/migration/migrate.d.ts.map +0 -1
  215. package/cjs/migration/migrate.js +0 -76
  216. package/cjs/migration/migrate.js.map +0 -1
  217. package/cjs/migration/migration-office.d.ts +0 -21
  218. package/cjs/migration/migration-office.d.ts.map +0 -1
  219. package/cjs/migration/migration-office.js +0 -26
  220. package/cjs/migration/migration-office.js.map +0 -1
  221. package/cjs/migration/migration-officer.d.ts +0 -33
  222. package/cjs/migration/migration-officer.d.ts.map +0 -1
  223. package/cjs/migration/migration-officer.js +0 -55
  224. package/cjs/migration/migration-officer.js.map +0 -1
  225. package/cjs/migration/types.d.ts +0 -24
  226. package/cjs/migration/types.d.ts.map +0 -1
  227. package/cjs/model/ModelAggregate.d.ts +0 -84
  228. package/cjs/model/ModelAggregate.d.ts.map +0 -1
  229. package/cjs/model/ModelAggregate.js +0 -164
  230. package/cjs/model/ModelAggregate.js.map +0 -1
  231. package/cjs/model/ModelSync.d.ts +0 -74
  232. package/cjs/model/ModelSync.d.ts.map +0 -1
  233. package/cjs/model/ModelSync.js +0 -215
  234. package/cjs/model/ModelSync.js.map +0 -1
  235. package/cjs/model/RelationshipWithMany.d.ts +0 -24
  236. package/cjs/model/RelationshipWithMany.d.ts.map +0 -1
  237. package/cjs/model/RelationshipWithMany.js +0 -42
  238. package/cjs/model/RelationshipWithMany.js.map +0 -1
  239. package/cjs/model/base-model.d.ts +0 -155
  240. package/cjs/model/base-model.d.ts.map +0 -1
  241. package/cjs/model/base-model.js +0 -220
  242. package/cjs/model/base-model.js.map +0 -1
  243. package/cjs/model/crud-model.d.ts +0 -117
  244. package/cjs/model/crud-model.d.ts.map +0 -1
  245. package/cjs/model/crud-model.js +0 -352
  246. package/cjs/model/crud-model.js.map +0 -1
  247. package/cjs/model/index.d.ts +0 -10
  248. package/cjs/model/index.d.ts.map +0 -1
  249. package/cjs/model/joinable.d.ts +0 -87
  250. package/cjs/model/joinable.d.ts.map +0 -1
  251. package/cjs/model/joinable.js +0 -155
  252. package/cjs/model/joinable.js.map +0 -1
  253. package/cjs/model/master-mind.d.ts +0 -44
  254. package/cjs/model/master-mind.d.ts.map +0 -1
  255. package/cjs/model/master-mind.js +0 -129
  256. package/cjs/model/master-mind.js.map +0 -1
  257. package/cjs/model/model-events.d.ts +0 -57
  258. package/cjs/model/model-events.d.ts.map +0 -1
  259. package/cjs/model/model-events.js +0 -102
  260. package/cjs/model/model-events.js.map +0 -1
  261. package/cjs/model/model.d.ts +0 -390
  262. package/cjs/model/model.d.ts.map +0 -1
  263. package/cjs/model/model.js +0 -990
  264. package/cjs/model/model.js.map +0 -1
  265. package/cjs/model/types.d.ts +0 -113
  266. package/cjs/model/types.d.ts.map +0 -1
  267. package/cjs/model/types.js +0 -11
  268. package/cjs/model/types.js.map +0 -1
  269. package/cjs/query/index.d.ts +0 -2
  270. package/cjs/query/index.d.ts.map +0 -1
  271. package/cjs/query/query.d.ts +0 -228
  272. package/cjs/query/query.d.ts.map +0 -1
  273. package/cjs/query/query.js +0 -675
  274. package/cjs/query/query.js.map +0 -1
  275. package/cjs/query/types.d.ts +0 -56
  276. package/cjs/query/types.d.ts.map +0 -1
  277. package/cjs/types.d.ts +0 -32
  278. package/cjs/types.d.ts.map +0 -1
  279. package/cjs/utils/connectToDatabase.d.ts +0 -3
  280. package/cjs/utils/connectToDatabase.d.ts.map +0 -1
  281. package/cjs/utils/connectToDatabase.js +0 -3
  282. package/cjs/utils/connectToDatabase.js.map +0 -1
  283. package/cjs/utils/dropAllDatabaseIndexes.d.ts +0 -2
  284. package/cjs/utils/dropAllDatabaseIndexes.d.ts.map +0 -1
  285. package/cjs/utils/dropAllDatabaseIndexes.js +0 -10
  286. package/cjs/utils/dropAllDatabaseIndexes.js.map +0 -1
  287. package/cjs/utils/index.d.ts +0 -5
  288. package/cjs/utils/index.d.ts.map +0 -1
  289. package/cjs/utils/joinable-proxy.d.ts +0 -3
  290. package/cjs/utils/joinable-proxy.d.ts.map +0 -1
  291. package/cjs/utils/joinable-proxy.js +0 -14
  292. package/cjs/utils/joinable-proxy.js.map +0 -1
  293. package/cjs/utils/listDatabaseIndexes.d.ts +0 -4
  294. package/cjs/utils/listDatabaseIndexes.d.ts.map +0 -1
  295. package/cjs/utils/listDatabaseIndexes.js +0 -101
  296. package/cjs/utils/listDatabaseIndexes.js.map +0 -1
  297. package/cjs/utils/onceConnected.d.ts +0 -2
  298. package/cjs/utils/onceConnected.d.ts.map +0 -1
  299. package/cjs/utils/onceConnected.js +0 -8
  300. package/cjs/utils/onceConnected.js.map +0 -1
@@ -1,74 +0,0 @@
1
- import type { ModelAggregate } from "./ModelAggregate";
2
- import type { Model } from "./model";
3
- type OnDelete = "unset" | "remove" | "ignore";
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: OnDelete;
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
- export {};
74
- //# sourceMappingURL=ModelSync.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModelSync.d.ts","sourceRoot":"","sources":["../../src/model/ModelSync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,KAAK,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9C,qBAAa,SAAS;IA8BlB,SAAS,CAAC,KAAK,EAAE,OAAO,KAAK;IAC7B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IACpC,SAAS,CAAC,WAAW;IA/BvB;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAW;IAEzC;;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
- 'use strict';var reinforcements=require('@mongez/reinforcements');class ModelSync {
2
- model;
3
- columns;
4
- embedMethod;
5
- /**
6
- * What do do when model is deleted
7
- */
8
- whenDelete = "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 => reinforcements.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
- }exports.ModelSync=ModelSync;//# sourceMappingURL=ModelSync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModelSync.js","sources":["../../src/model/ModelSync.ts"],"sourcesContent":[null],"names":["areEqual"],"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
- 'use strict';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
- }exports.RelationshipWithMany=RelationshipWithMany;//# sourceMappingURL=RelationshipWithMany.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RelationshipWithMany.js","sources":["../../src/model/RelationshipWithMany.ts"],"sourcesContent":[null],"names":[],"mappings":"mBAGa,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"}
@@ -1,155 +0,0 @@
1
- import { type Database } from "../database";
2
- import type { Model } from "./model";
3
- import { ModelEvents } from "./model-events";
4
- import type { FactoryCreatorCallback } from "./types";
5
- import { ModelDeleteStrategy, type ChildModel, type Document } from "./types";
6
- export declare abstract class BaseModel {
7
- /**
8
- * Collection Name
9
- */
10
- static collection: string;
11
- /**
12
- * Connection instance
13
- */
14
- static database: Database;
15
- /**
16
- * Model associated output
17
- */
18
- static output?: any;
19
- /**
20
- * Missing key symbol
21
- */
22
- static MISSING_KEY: symbol;
23
- /**
24
- * Define the initial value of the id
25
- */
26
- static initialId?: number;
27
- /**
28
- * Define the amount to eb incremented by for the next generated id
29
- */
30
- static incrementIdBy?: number;
31
- /**
32
- * Primary id column
33
- */
34
- static get primaryIdColumn(): string;
35
- /**
36
- * A flag to determine whether to auto generate id on insertion or not
37
- *
38
- * @default true
39
- */
40
- static autoGenerateId: boolean;
41
- /**
42
- * Query instance
43
- */
44
- static query: import("../query/query").Query;
45
- /**
46
- * Define the delete method
47
- *
48
- * @default true
49
- */
50
- static deleteStrategy: ModelDeleteStrategy;
51
- /**
52
- * Items per page
53
- */
54
- static perPage: number;
55
- /**
56
- * If set to true, then only the original data and the data in the casts property will be saved
57
- * If set to false, all data will be saved
58
- */
59
- static isStrict: boolean;
60
- /**
61
- * Get increment id by
62
- */
63
- static getIncrementIdBy(): number;
64
- /**
65
- * Get initial id
66
- */
67
- static getInitialId(): number;
68
- /**
69
- * Generate next id
70
- */
71
- static genNextId(): Promise<number>;
72
- /**
73
- * Get last id of current model
74
- */
75
- static getLastId(): Promise<number>;
76
- /**
77
- * Get an instance of child class
78
- */
79
- protected static self(data: Document): any;
80
- /**
81
- * Get collection name
82
- */
83
- getCollection(): string;
84
- /**
85
- * Get collection query
86
- */
87
- getQuery(): any;
88
- /**
89
- * Get database instance
90
- */
91
- getDatabase(): Database;
92
- /**
93
- * Get static property
94
- */
95
- getStaticProperty(property: keyof typeof BaseModel): any;
96
- /**
97
- * Prepare model for response
98
- */
99
- toJSON(): Promise<any>;
100
- /**
101
- * Get current output instance
102
- */
103
- getOutput(data?: Document): any;
104
- /**
105
- * Get model events instance
106
- */
107
- static events<T extends Model>(this: ChildModel<T>): ModelEvents;
108
- /**
109
- * Get model events for current model
110
- */
111
- getModelEvents(): ModelEvents;
112
- /**
113
- * Get base model events
114
- */
115
- getBaseModelEvents(): ModelEvents;
116
- /**
117
- * Get model blueprint
118
- */
119
- static blueprint(): import("../blueprint/model-blueprint").ModelBlueprint;
120
- /**
121
- * Define what columns should be embedded when model document is embedded in another document.
122
- */
123
- static embedOnly(...columns: string[]): {
124
- model: typeof BaseModel;
125
- embeddedKey: string[];
126
- };
127
- /**
128
- * Define the embedded getter key to be used when embedding the model
129
- */
130
- static embed(key: string | string[]): {
131
- model: typeof BaseModel;
132
- embeddedKey: string | string[];
133
- };
134
- /**
135
- * Embed only id
136
- */
137
- static get embedOnlyId(): {
138
- model: typeof BaseModel;
139
- embeddedKey: string;
140
- };
141
- /**
142
- * Document Factory
143
- */
144
- protected static documentFactory: FactoryCreatorCallback;
145
- /**
146
- * Get user factory
147
- */
148
- static get factory(): {
149
- /**
150
- * Create documents based on the given number of records
151
- */
152
- create: (size: number, recordCallback?: FactoryCreatorCallback) => Promise<void>;
153
- };
154
- }
155
- //# sourceMappingURL=base-model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-model.d.ts","sourceRoot":"","sources":["../../src/model/base-model.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAe9E,8BAAsB,SAAS;IAC7B;;OAEG;IACH,OAAc,UAAU,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,OAAc,QAAQ,EAAE,QAAQ,CAAY;IAE5C;;OAEG;IACH,OAAc,MAAM,CAAC,EAAE,GAAG,CAAC;IAE3B;;OAEG;IACH,OAAc,WAAW,SAAyB;IAElD;;OAEG;IACH,OAAc,SAAS,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,OAAc,aAAa,CAAC,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,WAAkB,eAAe,WAEhC;IAED;;;;OAIG;IACH,OAAc,cAAc,UAAQ;IAEpC;;OAEG;IACH,OAAc,KAAK,iCAAS;IAE5B;;;;OAIG;IACH,OAAc,cAAc,EAAE,mBAAmB,CACf;IAElC;;OAEG;IACH,OAAc,OAAO,SAAM;IAE3B;;;OAGG;IACH,OAAc,QAAQ,UAAQ;IAE9B;;OAEG;WACW,gBAAgB;IAO9B;;OAEG;WACW,YAAY;IAO1B;;OAEG;WACiB,SAAS;IAQ7B;;OAEG;WACiB,SAAS;IAI7B;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ;IAIpC;;OAEG;IACI,aAAa,IAAI,MAAM;IAI9B;;OAEG;IACI,QAAQ;IAIf;;OAEG;IACI,WAAW,IAAI,QAAQ;IAI9B;;OAEG;IACI,iBAAiB,CAAC,QAAQ,EAAE,MAAM,OAAO,SAAS;IAIzD;;OAEG;IACU,MAAM;IAcnB;;OAEG;IACI,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ;IAOhC;;OAEG;WACW,MAAM,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAIzD;;OAEG;IACI,cAAc;IAIrB;;OAEG;IACI,kBAAkB;IAIzB;;OAEG;WACW,SAAS;IAIvB;;OAEG;WACW,SAAS,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE;;;;IAO5C;;OAEG;WACW,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;;;;IAO1C;;OAEG;IACH,WAAkB,WAAW;;;MAK5B;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAOtD;IAEF;;OAEG;IACH,WAAkB,OAAO;QAErB;;WAEG;uBAEK,MAAM,mBACI,sBAAsB;MAO3C;CACF"}