@warlock.js/cascade 1.0.3 → 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 (339) 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 -12
  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/index.d.ts +0 -1
  46. package/esm/index.d.ts.map +1 -1
  47. package/esm/index.js +1 -1
  48. package/esm/migration/migrate.d.ts.map +1 -1
  49. package/esm/migration/migrate.js +2 -6
  50. package/esm/migration/migrate.js.map +1 -1
  51. package/esm/migration/migration-office.d.ts +3 -3
  52. package/esm/migration/migration-office.d.ts.map +1 -1
  53. package/esm/migration/migration-office.js +15 -1
  54. package/esm/migration/migration-office.js.map +1 -1
  55. package/esm/migration/types.d.ts +10 -0
  56. package/esm/migration/types.d.ts.map +1 -1
  57. package/esm/model/ModelAggregate.js +1 -1
  58. package/esm/model/ModelAggregate.js.map +1 -1
  59. package/esm/model/base-model.d.ts +2 -2
  60. package/esm/model/base-model.d.ts.map +1 -1
  61. package/esm/model/base-model.js +14 -4
  62. package/esm/model/base-model.js.map +1 -1
  63. package/esm/model/model.d.ts +13 -2
  64. package/esm/model/model.d.ts.map +1 -1
  65. package/esm/model/model.js +41 -3
  66. package/esm/model/model.js.map +1 -1
  67. package/esm/types.d.ts +30 -0
  68. package/esm/types.d.ts.map +1 -1
  69. package/esm/utils/deep-diff.d.ts +9 -0
  70. package/esm/utils/deep-diff.d.ts.map +1 -0
  71. package/esm/utils/deep-diff.js +42 -0
  72. package/esm/utils/deep-diff.js.map +1 -0
  73. package/package.json +2 -1
  74. package/cjs/aggregate/DeselectPipeline.d.ts +0 -10
  75. package/cjs/aggregate/DeselectPipeline.d.ts.map +0 -1
  76. package/cjs/aggregate/DeselectPipeline.js +0 -17
  77. package/cjs/aggregate/DeselectPipeline.js.map +0 -1
  78. package/cjs/aggregate/GeoNearPipeline.d.ts +0 -34
  79. package/cjs/aggregate/GeoNearPipeline.d.ts.map +0 -1
  80. package/cjs/aggregate/GeoNearPipeline.js +0 -44
  81. package/cjs/aggregate/GeoNearPipeline.js.map +0 -1
  82. package/cjs/aggregate/GroupByPipeline.d.ts +0 -12
  83. package/cjs/aggregate/GroupByPipeline.d.ts.map +0 -1
  84. package/cjs/aggregate/GroupByPipeline.js +0 -28
  85. package/cjs/aggregate/GroupByPipeline.js.map +0 -1
  86. package/cjs/aggregate/LimitPipeline.d.ts +0 -10
  87. package/cjs/aggregate/LimitPipeline.d.ts.map +0 -1
  88. package/cjs/aggregate/LimitPipeline.js +0 -14
  89. package/cjs/aggregate/LimitPipeline.js.map +0 -1
  90. package/cjs/aggregate/LookupPipeline.d.ts +0 -19
  91. package/cjs/aggregate/LookupPipeline.d.ts.map +0 -1
  92. package/cjs/aggregate/LookupPipeline.js +0 -19
  93. package/cjs/aggregate/LookupPipeline.js.map +0 -1
  94. package/cjs/aggregate/OrWherePipeline.d.ts +0 -23
  95. package/cjs/aggregate/OrWherePipeline.d.ts.map +0 -1
  96. package/cjs/aggregate/OrWherePipeline.js +0 -42
  97. package/cjs/aggregate/OrWherePipeline.js.map +0 -1
  98. package/cjs/aggregate/SelectPipeline.d.ts +0 -10
  99. package/cjs/aggregate/SelectPipeline.d.ts.map +0 -1
  100. package/cjs/aggregate/SelectPipeline.js +0 -26
  101. package/cjs/aggregate/SelectPipeline.js.map +0 -1
  102. package/cjs/aggregate/SkipPipeline.d.ts +0 -10
  103. package/cjs/aggregate/SkipPipeline.d.ts.map +0 -1
  104. package/cjs/aggregate/SkipPipeline.js +0 -14
  105. package/cjs/aggregate/SkipPipeline.js.map +0 -1
  106. package/cjs/aggregate/SortByPipeline.d.ts +0 -10
  107. package/cjs/aggregate/SortByPipeline.d.ts.map +0 -1
  108. package/cjs/aggregate/SortByPipeline.js +0 -18
  109. package/cjs/aggregate/SortByPipeline.js.map +0 -1
  110. package/cjs/aggregate/SortPipeline.d.ts +0 -11
  111. package/cjs/aggregate/SortPipeline.d.ts.map +0 -1
  112. package/cjs/aggregate/SortPipeline.js +0 -18
  113. package/cjs/aggregate/SortPipeline.js.map +0 -1
  114. package/cjs/aggregate/SortRandomPipeline.d.ts +0 -10
  115. package/cjs/aggregate/SortRandomPipeline.d.ts.map +0 -1
  116. package/cjs/aggregate/SortRandomPipeline.js +0 -16
  117. package/cjs/aggregate/SortRandomPipeline.js.map +0 -1
  118. package/cjs/aggregate/UnwindPipeline.d.ts +0 -14
  119. package/cjs/aggregate/UnwindPipeline.d.ts.map +0 -1
  120. package/cjs/aggregate/UnwindPipeline.js +0 -19
  121. package/cjs/aggregate/UnwindPipeline.js.map +0 -1
  122. package/cjs/aggregate/WhereExpression.d.ts +0 -17
  123. package/cjs/aggregate/WhereExpression.d.ts.map +0 -1
  124. package/cjs/aggregate/WhereExpression.js +0 -149
  125. package/cjs/aggregate/WhereExpression.js.map +0 -1
  126. package/cjs/aggregate/WhereExpressionPipeline.d.ts +0 -10
  127. package/cjs/aggregate/WhereExpressionPipeline.d.ts.map +0 -1
  128. package/cjs/aggregate/WhereExpressionPipeline.js +0 -15
  129. package/cjs/aggregate/WhereExpressionPipeline.js.map +0 -1
  130. package/cjs/aggregate/WherePipeline.d.ts +0 -13
  131. package/cjs/aggregate/WherePipeline.d.ts.map +0 -1
  132. package/cjs/aggregate/WherePipeline.js +0 -12
  133. package/cjs/aggregate/WherePipeline.js.map +0 -1
  134. package/cjs/aggregate/aggregate.d.ts +0 -358
  135. package/cjs/aggregate/aggregate.d.ts.map +0 -1
  136. package/cjs/aggregate/aggregate.js +0 -680
  137. package/cjs/aggregate/aggregate.js.map +0 -1
  138. package/cjs/aggregate/expressions.d.ts +0 -361
  139. package/cjs/aggregate/expressions.d.ts.map +0 -1
  140. package/cjs/aggregate/expressions.js +0 -536
  141. package/cjs/aggregate/expressions.js.map +0 -1
  142. package/cjs/aggregate/index.d.ts +0 -21
  143. package/cjs/aggregate/index.d.ts.map +0 -1
  144. package/cjs/aggregate/parsePipelines.d.ts +0 -5
  145. package/cjs/aggregate/parsePipelines.d.ts.map +0 -1
  146. package/cjs/aggregate/parsePipelines.js +0 -6
  147. package/cjs/aggregate/parsePipelines.js.map +0 -1
  148. package/cjs/aggregate/pipeline.d.ts +0 -31
  149. package/cjs/aggregate/pipeline.d.ts.map +0 -1
  150. package/cjs/aggregate/pipeline.js +0 -42
  151. package/cjs/aggregate/pipeline.js.map +0 -1
  152. package/cjs/aggregate/types.d.ts +0 -8
  153. package/cjs/aggregate/types.d.ts.map +0 -1
  154. package/cjs/aggregate/types.js +0 -31
  155. package/cjs/aggregate/types.js.map +0 -1
  156. package/cjs/blueprint/blueprint-column.d.ts +0 -82
  157. package/cjs/blueprint/blueprint-column.d.ts.map +0 -1
  158. package/cjs/blueprint/blueprint.d.ts +0 -162
  159. package/cjs/blueprint/blueprint.d.ts.map +0 -1
  160. package/cjs/blueprint/blueprint.js +0 -338
  161. package/cjs/blueprint/blueprint.js.map +0 -1
  162. package/cjs/blueprint/index.d.ts +0 -3
  163. package/cjs/blueprint/index.d.ts.map +0 -1
  164. package/cjs/blueprint/model-blueprint.d.ts +0 -15
  165. package/cjs/blueprint/model-blueprint.d.ts.map +0 -1
  166. package/cjs/blueprint/model-blueprint.js +0 -16
  167. package/cjs/blueprint/model-blueprint.js.map +0 -1
  168. package/cjs/casts/arrayOf.d.ts +0 -5
  169. package/cjs/casts/arrayOf.d.ts.map +0 -1
  170. package/cjs/casts/arrayOf.js +0 -18
  171. package/cjs/casts/arrayOf.js.map +0 -1
  172. package/cjs/casts/cast-email.d.ts +0 -2
  173. package/cjs/casts/cast-email.d.ts.map +0 -1
  174. package/cjs/casts/cast-email.js +0 -5
  175. package/cjs/casts/cast-email.js.map +0 -1
  176. package/cjs/casts/castModel.d.ts +0 -3
  177. package/cjs/casts/castModel.d.ts.map +0 -1
  178. package/cjs/casts/castModel.js +0 -49
  179. package/cjs/casts/castModel.js.map +0 -1
  180. package/cjs/casts/expiresAfter.d.ts +0 -3
  181. package/cjs/casts/expiresAfter.d.ts.map +0 -1
  182. package/cjs/casts/expiresAfter.js +0 -5
  183. package/cjs/casts/expiresAfter.js.map +0 -1
  184. package/cjs/casts/index.d.ts +0 -9
  185. package/cjs/casts/index.d.ts.map +0 -1
  186. package/cjs/casts/oneOf.d.ts +0 -3
  187. package/cjs/casts/oneOf.d.ts.map +0 -1
  188. package/cjs/casts/oneOf.js +0 -22
  189. package/cjs/casts/oneOf.js.map +0 -1
  190. package/cjs/casts/random-string.d.ts +0 -2
  191. package/cjs/casts/random-string.d.ts.map +0 -1
  192. package/cjs/casts/random-string.js +0 -5
  193. package/cjs/casts/random-string.js.map +0 -1
  194. package/cjs/casts/randomInteger.d.ts +0 -2
  195. package/cjs/casts/randomInteger.d.ts.map +0 -1
  196. package/cjs/casts/randomInteger.js +0 -7
  197. package/cjs/casts/randomInteger.js.map +0 -1
  198. package/cjs/casts/shapedArray.d.ts +0 -26
  199. package/cjs/casts/shapedArray.d.ts.map +0 -1
  200. package/cjs/casts/shapedArray.js +0 -100
  201. package/cjs/casts/shapedArray.js.map +0 -1
  202. package/cjs/config.d.ts +0 -4
  203. package/cjs/config.d.ts.map +0 -1
  204. package/cjs/config.js +0 -10
  205. package/cjs/config.js.map +0 -1
  206. package/cjs/connection.d.ts +0 -45
  207. package/cjs/connection.d.ts.map +0 -1
  208. package/cjs/connection.js +0 -98
  209. package/cjs/connection.js.map +0 -1
  210. package/cjs/console/db-indexes-command.d.ts +0 -3
  211. package/cjs/console/db-indexes-command.d.ts.map +0 -1
  212. package/cjs/console/db-indexes-command.js +0 -18
  213. package/cjs/console/db-indexes-command.js.map +0 -1
  214. package/cjs/console/index.d.ts +0 -4
  215. package/cjs/console/index.d.ts.map +0 -1
  216. package/cjs/console/migrate-command.d.ts +0 -2
  217. package/cjs/console/migrate-command.d.ts.map +0 -1
  218. package/cjs/console/migrate-command.js +0 -13
  219. package/cjs/console/migrate-command.js.map +0 -1
  220. package/cjs/console/register-blueprint-command.d.ts +0 -2
  221. package/cjs/console/register-blueprint-command.d.ts.map +0 -1
  222. package/cjs/console/register-blueprint-command.js +0 -19
  223. package/cjs/console/register-blueprint-command.js.map +0 -1
  224. package/cjs/database.d.ts +0 -49
  225. package/cjs/database.d.ts.map +0 -1
  226. package/cjs/database.js +0 -85
  227. package/cjs/database.js.map +0 -1
  228. package/cjs/migration/index.d.ts +0 -4
  229. package/cjs/migration/index.d.ts.map +0 -1
  230. package/cjs/migration/migrate.d.ts +0 -13
  231. package/cjs/migration/migrate.d.ts.map +0 -1
  232. package/cjs/migration/migrate.js +0 -76
  233. package/cjs/migration/migrate.js.map +0 -1
  234. package/cjs/migration/migration-office.d.ts +0 -21
  235. package/cjs/migration/migration-office.d.ts.map +0 -1
  236. package/cjs/migration/migration-office.js +0 -26
  237. package/cjs/migration/migration-office.js.map +0 -1
  238. package/cjs/migration/migration-officer.d.ts +0 -33
  239. package/cjs/migration/migration-officer.d.ts.map +0 -1
  240. package/cjs/migration/migration-officer.js +0 -55
  241. package/cjs/migration/migration-officer.js.map +0 -1
  242. package/cjs/migration/types.d.ts +0 -24
  243. package/cjs/migration/types.d.ts.map +0 -1
  244. package/cjs/model/ModelAggregate.d.ts +0 -84
  245. package/cjs/model/ModelAggregate.d.ts.map +0 -1
  246. package/cjs/model/ModelAggregate.js +0 -164
  247. package/cjs/model/ModelAggregate.js.map +0 -1
  248. package/cjs/model/ModelSync.d.ts +0 -74
  249. package/cjs/model/ModelSync.d.ts.map +0 -1
  250. package/cjs/model/ModelSync.js +0 -215
  251. package/cjs/model/ModelSync.js.map +0 -1
  252. package/cjs/model/RelationshipWithMany.d.ts +0 -24
  253. package/cjs/model/RelationshipWithMany.d.ts.map +0 -1
  254. package/cjs/model/RelationshipWithMany.js +0 -42
  255. package/cjs/model/RelationshipWithMany.js.map +0 -1
  256. package/cjs/model/base-model.d.ts +0 -155
  257. package/cjs/model/base-model.d.ts.map +0 -1
  258. package/cjs/model/base-model.js +0 -220
  259. package/cjs/model/base-model.js.map +0 -1
  260. package/cjs/model/crud-model.d.ts +0 -117
  261. package/cjs/model/crud-model.d.ts.map +0 -1
  262. package/cjs/model/crud-model.js +0 -352
  263. package/cjs/model/crud-model.js.map +0 -1
  264. package/cjs/model/index.d.ts +0 -10
  265. package/cjs/model/index.d.ts.map +0 -1
  266. package/cjs/model/joinable.d.ts +0 -87
  267. package/cjs/model/joinable.d.ts.map +0 -1
  268. package/cjs/model/joinable.js +0 -155
  269. package/cjs/model/joinable.js.map +0 -1
  270. package/cjs/model/master-mind.d.ts +0 -44
  271. package/cjs/model/master-mind.d.ts.map +0 -1
  272. package/cjs/model/master-mind.js +0 -129
  273. package/cjs/model/master-mind.js.map +0 -1
  274. package/cjs/model/model-events.d.ts +0 -57
  275. package/cjs/model/model-events.d.ts.map +0 -1
  276. package/cjs/model/model-events.js +0 -102
  277. package/cjs/model/model-events.js.map +0 -1
  278. package/cjs/model/model.d.ts +0 -390
  279. package/cjs/model/model.d.ts.map +0 -1
  280. package/cjs/model/model.js +0 -990
  281. package/cjs/model/model.js.map +0 -1
  282. package/cjs/model/relationships.d.ts +0 -69
  283. package/cjs/model/relationships.d.ts.map +0 -1
  284. package/cjs/model/relationships.js +0 -144
  285. package/cjs/model/relationships.js.map +0 -1
  286. package/cjs/model/types.d.ts +0 -113
  287. package/cjs/model/types.d.ts.map +0 -1
  288. package/cjs/model/types.js +0 -11
  289. package/cjs/model/types.js.map +0 -1
  290. package/cjs/query/index.d.ts +0 -2
  291. package/cjs/query/index.d.ts.map +0 -1
  292. package/cjs/query/query.d.ts +0 -228
  293. package/cjs/query/query.d.ts.map +0 -1
  294. package/cjs/query/query.js +0 -675
  295. package/cjs/query/query.js.map +0 -1
  296. package/cjs/query/types.d.ts +0 -56
  297. package/cjs/query/types.d.ts.map +0 -1
  298. package/cjs/types.d.ts +0 -32
  299. package/cjs/types.d.ts.map +0 -1
  300. package/cjs/utils/connectToDatabase.d.ts +0 -3
  301. package/cjs/utils/connectToDatabase.d.ts.map +0 -1
  302. package/cjs/utils/connectToDatabase.js +0 -3
  303. package/cjs/utils/connectToDatabase.js.map +0 -1
  304. package/cjs/utils/dropAllDatabaseIndexes.d.ts +0 -2
  305. package/cjs/utils/dropAllDatabaseIndexes.d.ts.map +0 -1
  306. package/cjs/utils/dropAllDatabaseIndexes.js +0 -10
  307. package/cjs/utils/dropAllDatabaseIndexes.js.map +0 -1
  308. package/cjs/utils/index.d.ts +0 -5
  309. package/cjs/utils/index.d.ts.map +0 -1
  310. package/cjs/utils/joinable-proxy.d.ts +0 -3
  311. package/cjs/utils/joinable-proxy.d.ts.map +0 -1
  312. package/cjs/utils/joinable-proxy.js +0 -14
  313. package/cjs/utils/joinable-proxy.js.map +0 -1
  314. package/cjs/utils/listDatabaseIndexes.d.ts +0 -4
  315. package/cjs/utils/listDatabaseIndexes.d.ts.map +0 -1
  316. package/cjs/utils/listDatabaseIndexes.js +0 -101
  317. package/cjs/utils/listDatabaseIndexes.js.map +0 -1
  318. package/cjs/utils/onceConnected.d.ts +0 -2
  319. package/cjs/utils/onceConnected.d.ts.map +0 -1
  320. package/cjs/utils/onceConnected.js +0 -8
  321. package/cjs/utils/onceConnected.js.map +0 -1
  322. package/esm/console/db-indexes-command.d.ts +0 -3
  323. package/esm/console/db-indexes-command.d.ts.map +0 -1
  324. package/esm/console/db-indexes-command.js +0 -18
  325. package/esm/console/db-indexes-command.js.map +0 -1
  326. package/esm/console/index.d.ts +0 -4
  327. package/esm/console/index.d.ts.map +0 -1
  328. package/esm/console/migrate-command.d.ts +0 -2
  329. package/esm/console/migrate-command.d.ts.map +0 -1
  330. package/esm/console/migrate-command.js +0 -13
  331. package/esm/console/migrate-command.js.map +0 -1
  332. package/esm/console/register-blueprint-command.d.ts +0 -2
  333. package/esm/console/register-blueprint-command.d.ts.map +0 -1
  334. package/esm/console/register-blueprint-command.js +0 -19
  335. package/esm/console/register-blueprint-command.js.map +0 -1
  336. package/esm/model/relationships.d.ts +0 -69
  337. package/esm/model/relationships.d.ts.map +0 -1
  338. package/esm/model/relationships.js +0 -144
  339. package/esm/model/relationships.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"model.js","sources":["../../src/model/model.ts"],"sourcesContent":[null],"names":["CrudModel","clone","ObjectId","get","except","only","set","merge","MongoServerError","areEqual","castModel","castEnum","isEmpty","isPlainObject","dayjs","toUTC","ModelDeleteStrategy","RelationshipWithMany","ModelAggregate","ModelSync","joinable","Joinable","joinableProxy"],"mappings":"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"}
@@ -1,69 +0,0 @@
1
- import { ModelAggregate } from "./ModelAggregate";
2
- import { ModelSync } from "./ModelSync";
3
- import { RelationshipWithMany } from "./RelationshipWithMany";
4
- import { CrudModel } from "./crud-model";
5
- import { Model } from "./model";
6
- import type { ChildModel, ModelDocument } from "./types";
7
- export declare abstract class RelationshipModel extends CrudModel {
8
- /**
9
- * Sync with list
10
- */
11
- syncWith: ModelSync[];
12
- /**
13
- * Get relationship with the given model class
14
- */
15
- hasMany<T extends Model = Model>(modelClass: typeof Model, column: string): RelationshipWithMany<T>;
16
- /**
17
- * Get new aggregate for current model
18
- */
19
- static aggregate<T extends Model = Model>(this: ChildModel<T>): ModelAggregate<T>;
20
- /**
21
- * Get query builder
22
- * @alias aggregate
23
- */
24
- static queryBuilder<T extends Model = Model>(this: ChildModel<T>): ModelAggregate<T>;
25
- /**
26
- * Sync with the given model
27
- */
28
- static sync(columns: string | string[], embedMethod?: string): ModelSync;
29
- /**
30
- * Sync data on saving
31
- */
32
- startSyncing(saveMode: "create" | "update", oldModel?: Model): void;
33
- /**
34
- * Sync destruction
35
- * Called when destroy method is called
36
- */
37
- syncDestruction(): void;
38
- /**
39
- * The syncing model (That calls startSyncing) is being embedded in multiple documents of current model
40
- * I.e Country.syncMany('cities') while current model is City
41
- */
42
- static syncMany(columns: string | string[], embedMethod?: string): ModelSync;
43
- /**
44
- * Reassociate a model/object/document with the current model
45
- * If the model is already associated, it will be updated
46
- * If not, it will be associated
47
- * the model/document must have an id
48
- *
49
- * If it is a model, you can set the embed method to use
50
- */
51
- reassociate(this: Model, column: string, model: Model | ModelDocument | any, embedWith?: string): Model;
52
- /**
53
- * Associate a model with the current model
54
- */
55
- associate(this: Model, column: string, model: Model | ModelDocument | any, embedWith?: string): Model;
56
- /**
57
- * Disassociate a model with the current model
58
- */
59
- disassociate(this: Model, column: string, model: Model | ModelDocument | any): Model;
60
- /**
61
- * Make a wrapper to list when models should be updated when only one of the given columns is updated
62
- */
63
- syncUpdateWhenChange(columns: string | string[], syncModels: ModelSync[]): ModelSync[];
64
- /**
65
- * Get a Joinable instance for current model
66
- */
67
- static joinable(localField?: string, foreignField?: string, single?: boolean, as?: string): import("./joinable").JoinableProxy;
68
- }
69
- //# sourceMappingURL=relationships.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../src/model/relationships.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEzD,8BAAsB,iBAAkB,SAAQ,SAAS;IACvD;;OAEG;IACI,QAAQ,EAAE,SAAS,EAAE,CAAM;IAElC;;OAEG;IACI,OAAO,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EACpC,UAAU,EAAE,OAAO,KAAK,EACxB,MAAM,EAAE,MAAM;IAKhB;;OAEG;WACW,SAAS,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAIpE;;;OAGG;WACW,YAAY,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAIvE;;OAEG;WACW,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,WAAW,SAAc;IAIxE;;OAEG;IACI,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,KAAK;IAMnE;;;OAGG;IACI,eAAe;IAMtB;;;OAGG;WACW,QAAQ,CACpB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,WAAW,SAAc;IAK3B;;;;;;;OAOG;IACI,WAAW,CAChB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,GAAG,aAAa,GAAG,GAAG,EAClC,SAAS,CAAC,EAAE,MAAM;IA6BpB;;OAEG;IACI,SAAS,CACd,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,GAAG,aAAa,GAAG,GAAG,EAClC,SAAS,CAAC,EAAE,MAAM;IAoBpB;;OAEG;IACI,YAAY,CACjB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,GAAG,aAAa,GAAG,GAAG;IAuBpC;;OAEG;IACI,oBAAoB,CACzB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,UAAU,EAAE,SAAS,EAAE;IASzB;;OAEG;WACW,QAAQ,CACpB,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,OAAO,EAChB,EAAE,CAAC,EAAE,MAAM;CAsBd"}
@@ -1,144 +0,0 @@
1
- 'use strict';var reinforcements=require('@mongez/reinforcements'),joinableProxy=require('../utils/joinable-proxy.js'),ModelAggregate=require('./ModelAggregate.js'),ModelSync=require('./ModelSync.js'),RelationshipWithMany=require('./RelationshipWithMany.js'),crudModel=require('./crud-model.js'),joinable=require('./joinable.js'),model=require('./model.js');class RelationshipModel extends crudModel.CrudModel {
2
- /**
3
- * Sync with list
4
- */
5
- syncWith = [];
6
- /**
7
- * Get relationship with the given model class
8
- */
9
- hasMany(modelClass, column) {
10
- return new RelationshipWithMany.RelationshipWithMany(this, modelClass, column);
11
- }
12
- /**
13
- * Get new aggregate for current model
14
- */
15
- static aggregate() {
16
- return new ModelAggregate.ModelAggregate(this);
17
- }
18
- /**
19
- * Get query builder
20
- * @alias aggregate
21
- */
22
- static queryBuilder() {
23
- return new ModelAggregate.ModelAggregate(this);
24
- }
25
- /**
26
- * Sync with the given model
27
- */
28
- static sync(columns, embedMethod = "embedData") {
29
- return new ModelSync.ModelSync(this, columns, embedMethod);
30
- }
31
- /**
32
- * Sync data on saving
33
- */
34
- startSyncing(saveMode, oldModel) {
35
- for (const modelSync of this.syncWith) {
36
- modelSync.sync(this, saveMode, oldModel);
37
- }
38
- }
39
- /**
40
- * Sync destruction
41
- * Called when destroy method is called
42
- */
43
- syncDestruction() {
44
- for (const modelSync of this.syncWith) {
45
- modelSync.syncDestruction(this);
46
- }
47
- }
48
- /**
49
- * The syncing model (That calls startSyncing) is being embedded in multiple documents of current model
50
- * I.e Country.syncMany('cities') while current model is City
51
- */
52
- static syncMany(columns, embedMethod = "embedData") {
53
- return new ModelSync.ModelSync(this, columns, embedMethod).syncMany();
54
- }
55
- /**
56
- * Reassociate a model/object/document with the current model
57
- * If the model is already associated, it will be updated
58
- * If not, it will be associated
59
- * the model/document must have an id
60
- *
61
- * If it is a model, you can set the embed method to use
62
- */
63
- reassociate(column, model$1, embedWith) {
64
- const columnValue = model$1 instanceof model.Model
65
- ? embedWith
66
- ? model$1[embedWith]()
67
- : model$1.embeddedData
68
- : model$1;
69
- if (columnValue === undefined)
70
- return this;
71
- // make a deep copy so when changing the data, it won't affect the original data
72
- const documentsList = reinforcements.clone(this.get(column, []));
73
- const index = documentsList.findIndex((doc) => (doc?.id || doc) === (columnValue?.id || columnValue));
74
- if (index === -1) {
75
- documentsList.push(columnValue);
76
- }
77
- else {
78
- documentsList[index] = columnValue;
79
- }
80
- this.set(column, [...documentsList]);
81
- return this;
82
- }
83
- /**
84
- * Associate a model with the current model
85
- */
86
- associate(column, model$1, embedWith) {
87
- const columnValue = model$1 instanceof model.Model
88
- ? embedWith
89
- ? model$1[embedWith]()
90
- : model$1.embeddedData
91
- : model$1;
92
- if (columnValue === undefined)
93
- return this;
94
- const documentsList = this.get(column, []);
95
- documentsList.push(columnValue);
96
- this.set(column, documentsList);
97
- return this;
98
- }
99
- /**
100
- * Disassociate a model with the current model
101
- */
102
- disassociate(column, model$1) {
103
- const columnValue = model$1 instanceof model.Model ? model$1.embeddedData : model$1;
104
- if (columnValue === undefined)
105
- return this;
106
- const documentsList = this.get(column, []);
107
- if (!Array.isArray(documentsList))
108
- return this;
109
- const index = documentsList.findIndex((doc) => (doc?.id || doc) === (columnValue?.id || columnValue));
110
- if (index !== -1) {
111
- documentsList.splice(index, 1);
112
- }
113
- this.set(column, documentsList);
114
- return this;
115
- }
116
- /**
117
- * Make a wrapper to list when models should be updated when only one of the given columns is updated
118
- */
119
- syncUpdateWhenChange(columns, syncModels) {
120
- return syncModels.map(syncModel => {
121
- syncModel.updateWhenChange(columns);
122
- return syncModel;
123
- });
124
- }
125
- /**
126
- * Get a Joinable instance for current model
127
- */
128
- static joinable(localField, foreignField, single, as) {
129
- const joinable$1 = new joinable.Joinable(this);
130
- if (localField) {
131
- joinable$1.localField(localField);
132
- }
133
- if (foreignField) {
134
- joinable$1.foreignField(foreignField);
135
- }
136
- if (single) {
137
- joinable$1.single(single);
138
- }
139
- if (as) {
140
- joinable$1.as(as);
141
- }
142
- return joinableProxy.joinableProxy(joinable$1);
143
- }
144
- }exports.RelationshipModel=RelationshipModel;//# sourceMappingURL=relationships.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relationships.js","sources":["../../src/model/relationships.ts"],"sourcesContent":[null],"names":["CrudModel","RelationshipWithMany","ModelAggregate","ModelSync","model","Model","clone","joinable","Joinable","joinableProxy"],"mappings":"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"}
@@ -1,113 +0,0 @@
1
- import type { Faker } from "@faker-js/faker";
2
- import type { ObjectId, WithId } from "mongodb";
3
- import type { Model } from "./model";
4
- /**
5
- * Primary id type
6
- */
7
- export type PrimaryIdType = string | number | ObjectId;
8
- /**
9
- * Base model to be extended with Child Models
10
- */
11
- export type ChildModel<T> = typeof Model & (new () => T);
12
- /**
13
- * Factory creator callback
14
- */
15
- export type FactoryCreatorCallback = (faker: Faker, index: number) => Document;
16
- /**
17
- * Find or create options
18
- */
19
- export type FindOrCreateOptions = {
20
- /**
21
- * Merge the filter data with the created data
22
- * @default true
23
- */
24
- merge?: boolean;
25
- };
26
- /**
27
- * Model delete strategy
28
- *
29
- * @default moveToTrash
30
- */
31
- export declare enum ModelDeleteStrategy {
32
- "softDelete" = 0,
33
- "moveToTrash" = 1,
34
- "hardDelete" = 2
35
- }
36
- export type PaginationInfo = {
37
- /**
38
- * Limit of the query
39
- */
40
- limit: number;
41
- /**
42
- * Results of the query
43
- */
44
- result: number;
45
- /**
46
- * Current page of the query
47
- */
48
- page: number;
49
- /**
50
- * total results of the query
51
- */
52
- total: number;
53
- /**
54
- * total pages of the query
55
- */
56
- pages: number;
57
- };
58
- /**
59
- * The result of the paginate query
60
- */
61
- export type PaginationListing<T> = {
62
- /**
63
- * Results of the query
64
- */
65
- documents: T[];
66
- /**
67
- * The pagination results
68
- */
69
- paginationInfo: PaginationInfo;
70
- };
71
- /**
72
- * Filter object
73
- */
74
- export type Filter = Record<string, any>;
75
- /**
76
- * Document data will be used in insertion, updates or replace
77
- */
78
- export type Document = Record<string, any>;
79
- /**
80
- * Model Document that contains the model with both mongodb _id and our custom id
81
- */
82
- export type ModelDocument = WithId<{
83
- /**
84
- * Auto Increment id
85
- */
86
- id?: number;
87
- /**
88
- * Dynamic columns
89
- */
90
- [key: string]: any;
91
- }>;
92
- export type WithTimestampsDocument<T> = ModelDocument & T & {
93
- createdAt?: Date;
94
- updatedAt?: Date;
95
- };
96
- export type CustomCastType = (value: any, column: string, model: Model) => any;
97
- /**
98
- * Custom casts
99
- */
100
- export type CustomCasts<T extends string = string> = Record<T, (model: Model, column: string) => any | Promise<any>>;
101
- type EnumType<T extends Record<string, string | number>> = T[keyof T];
102
- type EnumColumn = EnumType<any>;
103
- export type EmbeddedModel = {
104
- model: typeof Model;
105
- embedKey?: string;
106
- };
107
- export type CastType = "string" | "localized" | "number" | "int" | "float" | "integer" | "bool" | "object" | "array" | "date" | "location" | "boolean" | "any" | "mixed" | CustomCastType | [CustomCastType] | EnumColumn | typeof Model | EmbeddedModel;
108
- export type Casts = {
109
- [column: string]: CastType;
110
- };
111
- export type ChunkCallback<T> = (documents: T[], paginationInfo: PaginationListing<T>["paginationInfo"]) => false | any | Promise<false | any>;
112
- export {};
113
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- 'use strict';/**
2
- * Model delete strategy
3
- *
4
- * @default moveToTrash
5
- */
6
- exports.ModelDeleteStrategy=void 0;
7
- (function (ModelDeleteStrategy) {
8
- ModelDeleteStrategy[ModelDeleteStrategy["softDelete"] = 0] = "softDelete";
9
- ModelDeleteStrategy[ModelDeleteStrategy["moveToTrash"] = 1] = "moveToTrash";
10
- ModelDeleteStrategy[ModelDeleteStrategy["hardDelete"] = 2] = "hardDelete";
11
- })(exports.ModelDeleteStrategy || (exports.ModelDeleteStrategy = {}));//# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sources":["../../src/model/types.ts"],"sourcesContent":[null],"names":["ModelDeleteStrategy"],"mappings":"aA8BA;;;;AAIG;AACSA,mCAIX;AAJD,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,mBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAY,CAAA;AACZ,IAAA,mBAAA,CAAA,mBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAa,CAAA;AACb,IAAA,mBAAA,CAAA,mBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAY,CAAA;AACd,CAAC,EAJWA,2BAAmB,KAAnBA,2BAAmB,GAI9B,EAAA,CAAA,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from "./query";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/query/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -1,228 +0,0 @@
1
- import type { AggregateOptions, ClientSession, CountDocumentsOptions, ExplainVerbosityLike, FindCursor, FindOptions, UpdateFilter, UpdateOptions } from "mongodb";
2
- import { type Database } from "../database";
3
- import type { Document, Filter, ModelDocument } from "../model/types";
4
- import type { CountedEventPayload, CountingEventPayload, CreatedEventPayload, CreatingEventPayload, DeletedEventPayload, DeletingEventPayload, ExplainedEventPayload, ExplainingEventPayload, FetchedEventPayload, FetchingEventPayload, ReplacedEventPayload, ReplacingEventPayload, SavedEventPayload, SavingEventPayload, UpdatedEventPayload, UpdatingEventPayload, UpsertedEventPayload, UpsertingEventPayload } from "./types";
5
- export declare class Query {
6
- /**
7
- * Connection instance
8
- */
9
- protected database: Database;
10
- /**
11
- * class event name
12
- */
13
- eventName: string;
14
- /**
15
- * Set the database instance
16
- */
17
- setDatabase(database: Database): this;
18
- /**
19
- * Get collection query for the given collection name
20
- */
21
- query(collection: string): Collection;
22
- /**
23
- * Get current active session from database object
24
- */
25
- getCurrentSession(): ClientSession;
26
- /**
27
- * Create a new document in the given collection
28
- */
29
- create(collection: string, data: Document, { session }?: {
30
- session?: ClientSession;
31
- }): Promise<WithId<{
32
- [key: string]: any;
33
- id?: number;
34
- }>>;
35
- /**
36
- * Create many documents in the given collection
37
- */
38
- createMany(collection: string, data: Document[], { session }?: {
39
- session?: ClientSession;
40
- }): Promise<{
41
- _id: any;
42
- }[]>;
43
- /**
44
- * Update model by the given id
45
- */
46
- update(collection: string, filter: Filter, data: Document, { session }?: {
47
- session?: ClientSession;
48
- }): Promise<Partial<ModelDocument> | null>;
49
- /**
50
- * Update many documents
51
- */
52
- updateMany(collection: string, filter: Filter, updateOptions: UpdateFilter<Document>, options?: UpdateOptions, { session }?: {
53
- session?: ClientSession;
54
- }): Promise<any>;
55
- /**
56
- * Replace the entire document for the given document id with the given new data
57
- */
58
- replace(collection: string, filter: Filter, data: Document, { session }?: {
59
- session?: ClientSession;
60
- }): Promise<Partial<ModelDocument> | null>;
61
- /**
62
- * Find and update the document for the given filter with the given data or create a new document/record
63
- * if filter has no matching
64
- */
65
- upsert(collection: string, filter: Filter, data: Document, { session }?: {
66
- session?: ClientSession;
67
- }): Promise<Partial<ModelDocument> | null>;
68
- /**
69
- * Perform a single delete operation for the given collection
70
- */
71
- deleteOne(collection: string, filter?: Filter, { session }?: {
72
- session?: ClientSession;
73
- }): Promise<boolean>;
74
- /**
75
- * Delete multiple documents from the given collection
76
- */
77
- delete(collection: string, filter?: Filter, { session }?: {
78
- session?: ClientSession;
79
- }): Promise<number>;
80
- /**
81
- * Alias to delete
82
- */
83
- deleteMany(collection: string, filter?: Filter, { session }?: {
84
- session?: ClientSession;
85
- }): Promise<number>;
86
- /**
87
- * Check if document exists for the given collection with the given filter
88
- */
89
- exists(collection: string, filter?: Filter, { session }?: {
90
- session?: ClientSession;
91
- }): Promise<boolean>;
92
- /**
93
- * Find a single document for the given collection with the given filter
94
- */
95
- first<T = Document>(collection: string, filter?: Filter, findOptions?: FindOptions, { session }?: {
96
- session?: ClientSession;
97
- }): Promise<any>;
98
- /**
99
- * Find last document for the given collection with the given filter
100
- */
101
- last(collection: string, filter?: Filter, options?: FindOptions, { session }?: {
102
- session?: ClientSession;
103
- }): Promise<any>;
104
- /**
105
- * Find multiple document for the given collection with the given filter
106
- */
107
- list(collection: string, filter?: Filter, queryHandler?: (query: FindCursor) => void, findOptions?: FindOptions, { session }?: {
108
- session?: ClientSession;
109
- }): Promise<any>;
110
- /**
111
- * Find latest documents for the given collection with the given filter
112
- */
113
- latest(collection: string, filter?: Filter, findOptions?: FindOptions, { session }?: {
114
- session?: ClientSession;
115
- }): Promise<any>;
116
- /**
117
- * Find oldest documents for the given collection with the given filter
118
- */
119
- oldest(collection: string, filter?: Filter, findOptions?: FindOptions, { session }?: {
120
- session?: ClientSession;
121
- }): Promise<any>;
122
- /**
123
- * Get distinct values for the given collection with the given filter
124
- */
125
- distinct(collection: string, field: string, filter?: Filter, { session }?: {
126
- session?: ClientSession;
127
- }): Promise<any>;
128
- /**
129
- * Count documents for the given collection with the given filter
130
- */
131
- count(collection: string, filter?: Filter, options?: CountDocumentsOptions, { session }?: {
132
- session?: ClientSession;
133
- }): Promise<any>;
134
- /**
135
- * Create an explain fetch query
136
- */
137
- explain(collection: string, filter?: Filter, findOptions?: FindOptions, verbosity?: ExplainVerbosityLike, { session }?: {
138
- session?: ClientSession;
139
- }): Promise<any>;
140
- /**
141
- * Create aggregate query
142
- */
143
- aggregate(collection: string, pipeline: Document[], options?: AggregateOptions, { session }?: {
144
- session?: ClientSession;
145
- }): Promise<any>;
146
- /**
147
- * Trigger event
148
- */
149
- trigger(eventName: string, payload?: Record<string, any>): Promise<import("@mongez/events").EventTriggerResponse[]>;
150
- /**
151
- * Listen on creating event
152
- */
153
- onCreating(callback: (payload: CreatingEventPayload) => void): this;
154
- /**
155
- * Listen on created event
156
- */
157
- onCreated(callback: (payload: CreatedEventPayload) => void): this;
158
- /**
159
- * Listen on updating event
160
- */
161
- onUpdating(callback: (payload: UpdatingEventPayload) => void): this;
162
- /**
163
- * Listen on updated event
164
- */
165
- onUpdated(callback: (payload: UpdatedEventPayload) => void): this;
166
- /**
167
- * Listen on upserting event
168
- */
169
- onUpserting(callback: (payload: UpsertingEventPayload) => void): this;
170
- /**
171
- * Listen on upserted event
172
- */
173
- onUpserted(callback: (payload: UpsertedEventPayload) => void): this;
174
- /**
175
- * Listen on replacing event
176
- */
177
- onReplacing(callback: (payload: ReplacingEventPayload) => void): this;
178
- /**
179
- * Listen on replaced event
180
- */
181
- onReplaced(callback: (payload: ReplacedEventPayload) => void): this;
182
- /**
183
- * Listen on saving event
184
- */
185
- onSaving(callback: (payload: SavingEventPayload) => void): this;
186
- /**
187
- * Listen on saved event
188
- */
189
- onSaved(callback: (payload: SavedEventPayload) => void): this;
190
- /**
191
- * Listen on fetching event
192
- */
193
- onFetching(callback: (payload: FetchingEventPayload) => void): this;
194
- /**
195
- * Listen on fetched event
196
- */
197
- onFetched(callback: (payload: FetchedEventPayload) => void): this;
198
- /**
199
- * Listen on counting event
200
- */
201
- onCounting(callback: (payload: CountingEventPayload) => void): this;
202
- /**
203
- * Listen on counted event
204
- */
205
- onCounted(callback: (payload: CountedEventPayload) => void): this;
206
- /**
207
- * Listen on explaining event
208
- */
209
- onExplaining(callback: (payload: ExplainingEventPayload) => void): this;
210
- /**
211
- * Listen on explained event
212
- */
213
- onExplained(callback: (payload: ExplainedEventPayload) => void): this;
214
- /**
215
- * Listen on deleting event
216
- */
217
- onDeleting(callback: (payload: DeletingEventPayload) => void): this;
218
- /**
219
- * Listen on deleted event
220
- */
221
- onDeleted(callback: (payload: DeletedEventPayload) => void): this;
222
- /**
223
- * Listen to the given event
224
- */
225
- on(event: string, callback: (payload: any) => void): void;
226
- }
227
- export declare const query: Query;
228
- //# sourceMappingURL=query.d.ts.map