@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 +0,0 @@
1
- {"version":3,"file":"master-mind.d.ts","sourceRoot":"","sources":["../../src/model/master-mind.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGtD,qBAAa,UAAU;IACrB;;OAEG;IACI,UAAU,SAAgB;IAEjC;;OAEG;IACI,QAAQ,EAAE,QAAQ,CAAY;IAErC;;OAEG;IACU,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAU3D;;OAEG;IACU,SAAS,CACpB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,EAAE,OAAkC,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAO;IAsC1E;;OAEG;IACU,gBAAgB,CAC3B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,EAAE,OAAkC,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAO;IA0B1E;;OAEG;IACI,iBAAiB;IAIxB;;OAEG;IACU,eAAe;IAa5B;;OAEG;IACU,cAAc,CACzB,UAAU,EAAE,MAAM,EAClB,aAAa,SAAI,EACjB,SAAS,SAAI,EACb,EAAE,OAAkC,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAO,GACvE,OAAO,CAAC,MAAM,CAAC;CA+CnB;AAED,eAAO,MAAM,UAAU,YAAmB,CAAC"}
@@ -1,129 +0,0 @@
1
- 'use strict';var aggregate=require('../aggregate/aggregate.js'),database=require('../database.js'),query=require('../query/query.js');class MasterMind {
2
- /**
3
- * Master Mind Collection name
4
- */
5
- collection = "MasterMind";
6
- /**
7
- * Connection instance
8
- */
9
- database = database.database;
10
- /**
11
- * Get last id of the given collection
12
- */
13
- async getLastId(collection) {
14
- const query = this.database.collection(this.collection);
15
- const collectionDocument = await query.findOne({
16
- collection: collection,
17
- });
18
- return collectionDocument ? collectionDocument.id : 0;
19
- }
20
- /**
21
- * Set last id for the given collection
22
- */
23
- async setLastId(collection, id, { session = this.getCurrentSession() } = {}) {
24
- const query = this.database.collection(this.collection);
25
- const collectionDocument = await query.findOne({
26
- collection: collection,
27
- });
28
- if (collectionDocument) {
29
- // update the collection with the latest id
30
- await query.updateOne({
31
- collection: collection,
32
- }, {
33
- $set: {
34
- id: id,
35
- },
36
- }, {
37
- session,
38
- });
39
- }
40
- else {
41
- // if the collection is not found in the master mind table
42
- // create a new record for it
43
- await query.insertOne({
44
- collection: collection,
45
- id: id,
46
- }, {
47
- session,
48
- });
49
- }
50
- }
51
- /**
52
- * Rename the given collection to the new one to keep the last id updated and not to be reset
53
- */
54
- async renameCollection(oldCollection, newCollection, { session = this.getCurrentSession() } = {}) {
55
- const query = this.database.collection(this.collection);
56
- const collectionDocument = await query.findOne({
57
- collection: oldCollection,
58
- });
59
- if (collectionDocument) {
60
- // update the collection with the latest id
61
- await query.updateOne({
62
- collection: oldCollection,
63
- }, {
64
- $set: {
65
- collection: newCollection,
66
- },
67
- }, {
68
- session,
69
- });
70
- }
71
- }
72
- /**
73
- * Get current active session from database object
74
- */
75
- getCurrentSession() {
76
- return this.database.getActiveSession()?.session;
77
- }
78
- /**
79
- * Update all collections by the last id of each collection in current database
80
- */
81
- async updateAllLastId() {
82
- for (const document of await query.query.list("MasterMind")) {
83
- const { collection, id } = document;
84
- if (!collection)
85
- continue;
86
- const biggestId = (await new aggregate.Aggregate(collection).orderByDesc("id").first())?.id;
87
- if (biggestId && biggestId > id) {
88
- await masterMind.setLastId(collection, biggestId + 1);
89
- }
90
- }
91
- }
92
- /**
93
- * Generate next id for the given collection name
94
- */
95
- async generateNextId(collection, incrementIdBy = 1, initialId = 1, { session = this.getCurrentSession() } = {}) {
96
- const query = this.database.collection(this.collection);
97
- const collectionDocument = await query.findOne({
98
- collection: collection,
99
- }, {
100
- session,
101
- });
102
- if (collectionDocument) {
103
- const nextId = collectionDocument.id + incrementIdBy;
104
- // update the collection with the latest id
105
- await query.updateOne({
106
- collection: collection,
107
- }, {
108
- $set: {
109
- id: nextId,
110
- },
111
- }, {
112
- // session,
113
- });
114
- return nextId;
115
- }
116
- else {
117
- // if the collection is not found in the master mind table
118
- // create a new record for it
119
- await query.insertOne({
120
- collection: collection,
121
- id: initialId,
122
- }, {
123
- session,
124
- });
125
- return initialId;
126
- }
127
- }
128
- }
129
- const masterMind = new MasterMind();exports.MasterMind=MasterMind;exports.masterMind=masterMind;//# sourceMappingURL=master-mind.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"master-mind.js","sources":["../../src/model/master-mind.ts"],"sourcesContent":[null],"names":["database","query","Aggregate"],"mappings":"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"}
@@ -1,57 +0,0 @@
1
- import type { Filter } from "./types";
2
- export declare class ModelEvents {
3
- collection?: string;
4
- /**
5
- * Event callbacks
6
- */
7
- callbacks: Record<string, any[]>;
8
- /**
9
- * {@inheritdoc}
10
- */
11
- constructor(collection?: string);
12
- /**
13
- * Add callback when model is about to be created or updated
14
- *
15
- * Triggered before saving the model
16
- */
17
- onSaving(callback: (model: any, oldModel?: any) => void): this;
18
- /**
19
- * Add callback when model is created or updated
20
- *
21
- * Triggered after saving the model
22
- */
23
- onSaved(callback: (model: any, oldModel?: any) => void): this;
24
- /**
25
- * Add callback when model is about to be created
26
- */
27
- onCreating(callback: (model: any) => void): this;
28
- /**
29
- * Add callback when model is created
30
- */
31
- onCreated(callback: (model: any) => void): this;
32
- /**
33
- * Add callback when model is about to be updated
34
- */
35
- onUpdating(callback: (model: any, oldModel: any) => void): this;
36
- /**
37
- * Add callback when model is updated
38
- */
39
- onUpdated(callback: (model: any, oldModel: any) => void): this;
40
- /**
41
- * Add callback when model is about to be deleted
42
- */
43
- onDeleting(callback: (model: any) => void): this;
44
- /**
45
- * Add callback when model is deleted
46
- */
47
- onDeleted(callback: (model: any) => void): this;
48
- /**
49
- * Add callback when model is about to be fetched
50
- */
51
- onFetching(callback: (model: any, filterOptions: Filter) => void): this;
52
- /**
53
- * Trigger the given event
54
- */
55
- trigger(event: string, ...args: any[]): Promise<void>;
56
- }
57
- //# sourceMappingURL=model-events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-events.d.ts","sourceRoot":"","sources":["../../src/model/model-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,qBAAa,WAAW;IAmBI,UAAU,CAAC,EAAE,MAAM;IAlB7C;;OAEG;IACI,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAUrC;IAEF;;OAEG;gBACuB,UAAU,CAAC,EAAE,MAAM;IAI7C;;;;OAIG;IACI,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,KAAK,IAAI;IAK9D;;;;OAIG;IACI,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,KAAK,IAAI;IAM7D;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI;IAMhD;;OAEG;IACI,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI;IAM/C;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI;IAM/D;;OAEG;IACI,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI;IAM9D;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI;IAMhD;;OAEG;IACI,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI;IAM/C;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI;IAMvE;;OAEG;IACU,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;CASnD"}
@@ -1,102 +0,0 @@
1
- 'use strict';class ModelEvents {
2
- collection;
3
- /**
4
- * Event callbacks
5
- */
6
- callbacks = {
7
- saving: [],
8
- saved: [],
9
- creating: [],
10
- created: [],
11
- updating: [],
12
- updated: [],
13
- deleting: [],
14
- deleted: [],
15
- fetching: [],
16
- };
17
- /**
18
- * {@inheritdoc}
19
- */
20
- constructor(collection) {
21
- this.collection = collection;
22
- //
23
- }
24
- /**
25
- * Add callback when model is about to be created or updated
26
- *
27
- * Triggered before saving the model
28
- */
29
- onSaving(callback) {
30
- this.callbacks.saving.push(callback);
31
- return this;
32
- }
33
- /**
34
- * Add callback when model is created or updated
35
- *
36
- * Triggered after saving the model
37
- */
38
- onSaved(callback) {
39
- this.callbacks.saved.push(callback);
40
- return this;
41
- }
42
- /**
43
- * Add callback when model is about to be created
44
- */
45
- onCreating(callback) {
46
- this.callbacks.creating.push(callback);
47
- return this;
48
- }
49
- /**
50
- * Add callback when model is created
51
- */
52
- onCreated(callback) {
53
- this.callbacks.created.push(callback);
54
- return this;
55
- }
56
- /**
57
- * Add callback when model is about to be updated
58
- */
59
- onUpdating(callback) {
60
- this.callbacks.updating.push(callback);
61
- return this;
62
- }
63
- /**
64
- * Add callback when model is updated
65
- */
66
- onUpdated(callback) {
67
- this.callbacks.updated.push(callback);
68
- return this;
69
- }
70
- /**
71
- * Add callback when model is about to be deleted
72
- */
73
- onDeleting(callback) {
74
- this.callbacks.deleting.push(callback);
75
- return this;
76
- }
77
- /**
78
- * Add callback when model is deleted
79
- */
80
- onDeleted(callback) {
81
- this.callbacks.deleted.push(callback);
82
- return this;
83
- }
84
- /**
85
- * Add callback when model is about to be fetched
86
- */
87
- onFetching(callback) {
88
- this.callbacks.fetching.push(callback);
89
- return this;
90
- }
91
- /**
92
- * Trigger the given event
93
- */
94
- async trigger(event, ...args) {
95
- const callbacks = this.callbacks[event];
96
- if (!callbacks)
97
- return;
98
- for (const callback of callbacks) {
99
- await callback(...args);
100
- }
101
- }
102
- }exports.ModelEvents=ModelEvents;//# sourceMappingURL=model-events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-events.js","sources":["../../src/model/model-events.ts"],"sourcesContent":[null],"names":[],"mappings":"mBAEa,WAAW,CAAA;AAmBI,IAAA,UAAA,CAAA;AAlB1B;;AAEG;AACI,IAAA,SAAS,GAA0B;AACxC,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,QAAQ,EAAE,EAAE;KACb,CAAC;AAEF;;AAEG;AACH,IAAA,WAAA,CAA0B,UAAmB,EAAA;QAAnB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAS;;KAE5C;AAED;;;;AAIG;AACI,IAAA,QAAQ,CAAC,QAA8C,EAAA;QAC5D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACI,IAAA,OAAO,CAAC,QAA8C,EAAA;QAC3D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEpC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,UAAU,CAAC,QAA8B,EAAA;QAC9C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEvC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,SAAS,CAAC,QAA8B,EAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEtC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,UAAU,CAAC,QAA6C,EAAA;QAC7D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEvC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,SAAS,CAAC,QAA6C,EAAA;QAC5D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEtC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,UAAU,CAAC,QAA8B,EAAA;QAC9C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEvC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,SAAS,CAAC,QAA8B,EAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEtC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,UAAU,CAAC,QAAqD,EAAA;QACrE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEvC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,MAAM,OAAO,CAAC,KAAa,EAAE,GAAG,IAAW,EAAA;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAExC,QAAA,IAAI,CAAC,SAAS;YAAE,OAAO;AAEvB,QAAA,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;AAChC,YAAA,MAAM,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;AACzB,SAAA;KACF;AACF"}
@@ -1,390 +0,0 @@
1
- import { ObjectId } from "mongodb";
2
- import { ModelAggregate } from "./ModelAggregate";
3
- import { ModelSync } from "./ModelSync";
4
- import { RelationshipWithMany } from "./RelationshipWithMany";
5
- import { CrudModel } from "./crud-model";
6
- import { Joinable } from "./joinable";
7
- import type { CastType, Casts, ChildModel, CustomCasts, Document, ModelDocument } from "./types";
8
- export type Schema<ModelSchema = Document> = ModelSchema & {
9
- _id?: ObjectId;
10
- id?: number;
11
- createdAt?: Date;
12
- updatedAt?: Date;
13
- };
14
- type ModelSchema = Schema;
15
- export declare class Model extends CrudModel {
16
- /**
17
- * Model Initial Document data
18
- */
19
- initialData: Partial<ModelSchema>;
20
- /**
21
- * Joinings list
22
- */
23
- static joinings: Record<string, Joinable>;
24
- /**
25
- * Model Document data
26
- */
27
- data: ModelSchema;
28
- /**
29
- * Define Default value data that will be merged with the models' data
30
- * on the create process
31
- */
32
- defaultValue: Partial<ModelSchema>;
33
- /**
34
- * A flag to determine if the model is being restored
35
- */
36
- protected isRestored: boolean;
37
- /**
38
- * Model casts types
39
- */
40
- protected casts: Casts;
41
- /**
42
- * Sync with list
43
- */
44
- syncWith: ModelSync[];
45
- /**
46
- * Set custom casts that will be used to cast the model's data are not related to the current value of the collection's column
47
- *
48
- * For example: `name` is not a column in the given data, but it will be concatenation of `firstName` and `lastName`
49
- */
50
- protected customCasts: CustomCasts<string>;
51
- /**
52
- * Guarded fields
53
- */
54
- guarded: (keyof ModelDocument)[];
55
- /**
56
- * Fillable fields
57
- */
58
- filled: (keyof ModelDocument)[];
59
- /**
60
- * Embedded columns
61
- */
62
- embedded: (keyof ModelSchema)[];
63
- /**
64
- * Embed all columns except the given columns
65
- */
66
- embedAllExcept: (keyof ModelDocument)[];
67
- /**
68
- * Embed all columns except timestamps and created|updated|deleted by columns
69
- */
70
- embedAllExceptTimestampsAndUserColumns: boolean;
71
- /**
72
- * Created at column
73
- */
74
- createdAtColumn: string;
75
- /**
76
- * Updated at column
77
- */
78
- updatedAtColumn: string;
79
- /**
80
- * Deleted at column
81
- */
82
- deletedAtColumn: string;
83
- /**
84
- * Created by column
85
- */
86
- createdByColumn: string;
87
- /**
88
- * Updated by column
89
- */
90
- updatedByColumn: string;
91
- /**
92
- * Deleted by column
93
- */
94
- deletedByColumn: string;
95
- /**
96
- * Date format
97
- */
98
- dateFormat: string;
99
- /**
100
- * A flag to determine if the id is auto generated not added manually
101
- */
102
- protected autoGeneratedId: boolean;
103
- /**
104
- * Is active column
105
- */
106
- protected isActiveColumn: string;
107
- /**
108
- * Original data
109
- */
110
- originalData: ModelSchema;
111
- /**
112
- * Constructor
113
- */
114
- constructor(originalData?: Partial<ModelSchema>);
115
- /**
116
- * Get save columns which are the casts keys
117
- */
118
- get castColumns(): string[];
119
- /**
120
- * Get value from original data
121
- */
122
- original(key: string, defaultValue?: any): any;
123
- /**
124
- * Get all data except the guarded fields
125
- */
126
- get publicData(): any;
127
- /**
128
- * Get guarded data
129
- */
130
- get guardedData(): any;
131
- /**
132
- * Get the model's id
133
- */
134
- get id(): number;
135
- /**
136
- * Check if current user is active
137
- */
138
- get isActive(): boolean;
139
- /**
140
- * Get mongodb id
141
- */
142
- get _id(): ObjectId;
143
- /**
144
- * Mark the current model as being restored
145
- */
146
- markAsRestored(): void;
147
- /**
148
- * Set a column in the model data
149
- */
150
- set(column: keyof ModelSchema, value: any): this;
151
- /**
152
- * Increment the given column by the given value
153
- */
154
- increment(column: keyof ModelSchema, value?: number): this;
155
- /**
156
- * Decrement the given column by the given value
157
- */
158
- decrement(column: keyof ModelSchema, value?: number): this;
159
- /**
160
- * Get initial value of the given column
161
- */
162
- getInitial(column: keyof ModelSchema, defaultValue?: any): any;
163
- /**
164
- * Get value of the given column
165
- */
166
- get<ValueType = any>(column: keyof ModelSchema, defaultValue?: any): ValueType;
167
- /**
168
- * Return the value of the given column as a string
169
- */
170
- string(column: keyof ModelSchema, defaultValue?: any): string;
171
- /**
172
- * Return the value of the given column as an integer
173
- */
174
- int(column: keyof ModelSchema, defaultValue?: any): number;
175
- /**
176
- * Return the value of the given column as a float
177
- */
178
- float(column: keyof ModelSchema, defaultValue?: any): number;
179
- /**
180
- * Return the value of the given column as a number
181
- */
182
- number(column: keyof ModelSchema, defaultValue?: any): number;
183
- /**
184
- * Return the value of the given column as a boolean
185
- */
186
- bool(column: keyof ModelSchema, defaultValue?: any): boolean;
187
- /**
188
- * Determine whether the given column exists in the document
189
- */
190
- has(column: keyof ModelSchema): boolean;
191
- /**
192
- * Get all columns except the given ones
193
- */
194
- except(columns: (keyof ModelSchema)[]): Document;
195
- /**
196
- * Get only the given columns
197
- */
198
- only(columns: (keyof ModelSchema)[]): Document;
199
- /**
200
- * Get only id
201
- */
202
- get onlyId(): Document;
203
- /**
204
- * Unset or remove the given columns from the data
205
- */
206
- unset(...columns: (keyof ModelSchema)[]): this;
207
- /**
208
- * Replace the entire document data with the given new data
209
- */
210
- replaceWith(data: ModelSchema): this;
211
- /**
212
- * Merge the given documents to current document
213
- */
214
- merge(data: Document): this;
215
- /**
216
- * Push the given values to the given column
217
- * If the given column does not exists, it will be created
218
- * If the given value exists but not an array it will be ignored
219
- */
220
- push(column: keyof ModelSchema, ...values: any[]): this;
221
- /**
222
- * Push the given values to the given column only if not exists
223
- */
224
- pushOnce(column: keyof ModelSchema, ...values: any[]): this;
225
- /**
226
- * Add the given values to the beginning of the given column
227
- * If the given column does not exists, it will be created
228
- * If the given value exists but not an array it will be ignored
229
- */
230
- unshift(column: keyof ModelSchema, ...values: any[]): this;
231
- /**
232
- * Add the given values to the beginning of the given column only if not exists
233
- */
234
- unshiftOnce(column: keyof ModelSchema, ...values: any[]): this;
235
- /**
236
- * Perform saving operation either by updating or creating a new record in database
237
- */
238
- save(mergedData?: Omit<ModelSchema, "id" | "_id">, { triggerEvents, cast, forceUpdate, }?: {
239
- triggerEvents?: boolean;
240
- cast?: boolean;
241
- forceUpdate?: boolean;
242
- }): Promise<this>;
243
- /**
244
- * Generate and return next id
245
- */
246
- generateNextId(): Promise<number>;
247
- /**
248
- * Perform saving but without any events triggers
249
- */
250
- silentSaving(mergedData?: Omit<ModelSchema, "id" | "_id">, options?: {
251
- cast?: boolean;
252
- }): Promise<this>;
253
- /**
254
- * Determine whether the model should be updated or not
255
- */
256
- protected shouldUpdate(originalData: ModelSchema, data: ModelSchema): boolean;
257
- /**
258
- * Triggered before saving the model either by creating or updating
259
- */
260
- protected onSaving(): Promise<void>;
261
- /**
262
- * Triggered after saving the model either by creating or updating
263
- */
264
- protected onSaved(): Promise<void>;
265
- /**
266
- * Triggered before creating the model
267
- */
268
- protected onCreating(): Promise<void>;
269
- /**
270
- * Triggered after creating the model
271
- */
272
- protected onCreated(): Promise<void>;
273
- /**
274
- * Triggered before updating the model
275
- */
276
- protected onUpdating(): Promise<void>;
277
- /**
278
- * Triggered after updating the model
279
- */
280
- protected onUpdated(): Promise<void>;
281
- /**
282
- * Triggered before deleting the model
283
- */
284
- protected onDeleting(): Promise<void>;
285
- /**
286
- * Triggered after deleting the model
287
- */
288
- protected onDeleted(): Promise<void>;
289
- /**
290
- * Cast data before saving
291
- */
292
- protected castData(forceUpdate?: boolean): Promise<void>;
293
- /**
294
- * Return only the given columns to be used in output
295
- */
296
- outputOnly(columns: string[]): this;
297
- /**
298
- * Return all columns except the given columns to be used in output
299
- */
300
- outputExcept(columns: string[]): this;
301
- /**
302
- * Cast the given value based on the given cast type
303
- */
304
- protected castValue(value: any, castType: CastType): any;
305
- /**
306
- * Check for default values
307
- */
308
- protected checkDefaultValues(): void;
309
- /**
310
- * Destroy the model and delete it from database collection
311
- */
312
- destroy(): Promise<void>;
313
- /**
314
- * Determine if the given column is dirty column
315
- *
316
- * Dirty columns are columns that their values have been changed from the original data
317
- */
318
- isDirty(column?: string): boolean;
319
- /**
320
- * Check if current model is a new model
321
- */
322
- isNewModel(): boolean;
323
- /**
324
- * Get embedded data
325
- */
326
- get embeddedData(): any;
327
- /**
328
- * Clone the model
329
- */
330
- clone(data?: Document): this;
331
- /**
332
- * Get relationship with the given model class
333
- */
334
- hasMany<T extends Model = Model>(modelClass: typeof Model, column: string): RelationshipWithMany<T>;
335
- /**
336
- * Get new aggregate for current model
337
- */
338
- static aggregate<T extends Model = Model>(this: ChildModel<T>): ModelAggregate<T>;
339
- /**
340
- * Get query builder
341
- * @alias aggregate
342
- */
343
- static queryBuilder<T extends Model = Model>(this: ChildModel<T>): ModelAggregate<T>;
344
- /**
345
- * Sync with the given model
346
- */
347
- static sync(columns: string | string[], embedMethod?: string): ModelSync;
348
- /**
349
- * Sync data on saving
350
- */
351
- startSyncing(saveMode: "create" | "update", oldModel?: Model): void;
352
- /**
353
- * Sync destruction
354
- * Called when destroy method is called
355
- */
356
- syncDestruction(): void;
357
- /**
358
- * The syncing model (That calls startSyncing) is being embedded in multiple documents of current model
359
- * I.e Country.syncMany('cities') while current model is City
360
- */
361
- static syncMany(columns: string | string[], embedMethod?: string): ModelSync;
362
- /**
363
- * Reassociate a model/object/document with the current model
364
- * If the model is already associated, it will be updated
365
- * If not, it will be associated
366
- * the model/document must have an id
367
- *
368
- * If it is a model, you can set the embed method to use
369
- */
370
- reassociate(this: Model, column: string, model: Model | ModelDocument | any, embedWith?: string): Model;
371
- /**
372
- * Associate a model with the current model
373
- */
374
- associate(this: Model, column: string, model: Model | ModelDocument | any, embedWith?: string): Model;
375
- /**
376
- * Disassociate a model with the current model
377
- */
378
- disassociate(this: Model, column: string, model: Model | ModelDocument | any): Model;
379
- /**
380
- * Make a wrapper to list when models should be updated when only one of the given columns is updated
381
- */
382
- syncUpdateWhenChange(columns: string | string[], syncModels: ModelSync[]): ModelSync[];
383
- /**
384
- * Get a Joinable instance for current model
385
- */
386
- static joinable(localField?: string, foreignField?: string, single?: boolean, as?: string): import("./joinable").JoinableProxy;
387
- }
388
- export type ModelType = typeof Model;
389
- export {};
390
- //# sourceMappingURL=model.d.ts.map