@warlock.js/cascade 1.0.5 → 1.0.6

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 (275) hide show
  1. package/cjs/aggregate/DeselectPipeline.d.ts +10 -0
  2. package/cjs/aggregate/DeselectPipeline.d.ts.map +1 -0
  3. package/cjs/aggregate/DeselectPipeline.js +17 -0
  4. package/cjs/aggregate/DeselectPipeline.js.map +1 -0
  5. package/cjs/aggregate/GeoNearPipeline.d.ts +34 -0
  6. package/cjs/aggregate/GeoNearPipeline.d.ts.map +1 -0
  7. package/cjs/aggregate/GeoNearPipeline.js +44 -0
  8. package/cjs/aggregate/GeoNearPipeline.js.map +1 -0
  9. package/cjs/aggregate/GroupByPipeline.d.ts +12 -0
  10. package/cjs/aggregate/GroupByPipeline.d.ts.map +1 -0
  11. package/cjs/aggregate/GroupByPipeline.js +28 -0
  12. package/cjs/aggregate/GroupByPipeline.js.map +1 -0
  13. package/cjs/aggregate/LimitPipeline.d.ts +10 -0
  14. package/cjs/aggregate/LimitPipeline.d.ts.map +1 -0
  15. package/cjs/aggregate/LimitPipeline.js +14 -0
  16. package/cjs/aggregate/LimitPipeline.js.map +1 -0
  17. package/cjs/aggregate/LookupPipeline.d.ts +19 -0
  18. package/cjs/aggregate/LookupPipeline.d.ts.map +1 -0
  19. package/cjs/aggregate/LookupPipeline.js +19 -0
  20. package/cjs/aggregate/LookupPipeline.js.map +1 -0
  21. package/cjs/aggregate/OrWherePipeline.d.ts +23 -0
  22. package/cjs/aggregate/OrWherePipeline.d.ts.map +1 -0
  23. package/cjs/aggregate/OrWherePipeline.js +42 -0
  24. package/cjs/aggregate/OrWherePipeline.js.map +1 -0
  25. package/cjs/aggregate/SelectPipeline.d.ts +10 -0
  26. package/cjs/aggregate/SelectPipeline.d.ts.map +1 -0
  27. package/cjs/aggregate/SelectPipeline.js +26 -0
  28. package/cjs/aggregate/SelectPipeline.js.map +1 -0
  29. package/cjs/aggregate/SkipPipeline.d.ts +10 -0
  30. package/cjs/aggregate/SkipPipeline.d.ts.map +1 -0
  31. package/cjs/aggregate/SkipPipeline.js +14 -0
  32. package/cjs/aggregate/SkipPipeline.js.map +1 -0
  33. package/cjs/aggregate/SortByPipeline.d.ts +10 -0
  34. package/cjs/aggregate/SortByPipeline.d.ts.map +1 -0
  35. package/cjs/aggregate/SortByPipeline.js +18 -0
  36. package/cjs/aggregate/SortByPipeline.js.map +1 -0
  37. package/cjs/aggregate/SortPipeline.d.ts +11 -0
  38. package/cjs/aggregate/SortPipeline.d.ts.map +1 -0
  39. package/cjs/aggregate/SortPipeline.js +18 -0
  40. package/cjs/aggregate/SortPipeline.js.map +1 -0
  41. package/cjs/aggregate/SortRandomPipeline.d.ts +10 -0
  42. package/cjs/aggregate/SortRandomPipeline.d.ts.map +1 -0
  43. package/cjs/aggregate/SortRandomPipeline.js +16 -0
  44. package/cjs/aggregate/SortRandomPipeline.js.map +1 -0
  45. package/cjs/aggregate/UnwindPipeline.d.ts +14 -0
  46. package/cjs/aggregate/UnwindPipeline.d.ts.map +1 -0
  47. package/cjs/aggregate/UnwindPipeline.js +19 -0
  48. package/cjs/aggregate/UnwindPipeline.js.map +1 -0
  49. package/cjs/aggregate/WhereExpression.d.ts +17 -0
  50. package/cjs/aggregate/WhereExpression.d.ts.map +1 -0
  51. package/cjs/aggregate/WhereExpression.js +149 -0
  52. package/cjs/aggregate/WhereExpression.js.map +1 -0
  53. package/cjs/aggregate/WhereExpressionPipeline.d.ts +10 -0
  54. package/cjs/aggregate/WhereExpressionPipeline.d.ts.map +1 -0
  55. package/cjs/aggregate/WhereExpressionPipeline.js +15 -0
  56. package/cjs/aggregate/WhereExpressionPipeline.js.map +1 -0
  57. package/cjs/aggregate/WherePipeline.d.ts +13 -0
  58. package/cjs/aggregate/WherePipeline.d.ts.map +1 -0
  59. package/cjs/aggregate/WherePipeline.js +12 -0
  60. package/cjs/aggregate/WherePipeline.js.map +1 -0
  61. package/cjs/aggregate/aggregate.d.ts +358 -0
  62. package/cjs/aggregate/aggregate.d.ts.map +1 -0
  63. package/cjs/aggregate/aggregate.js +680 -0
  64. package/cjs/aggregate/aggregate.js.map +1 -0
  65. package/cjs/aggregate/expressions.d.ts +361 -0
  66. package/cjs/aggregate/expressions.d.ts.map +1 -0
  67. package/cjs/aggregate/expressions.js +536 -0
  68. package/cjs/aggregate/expressions.js.map +1 -0
  69. package/cjs/aggregate/index.d.ts +21 -0
  70. package/cjs/aggregate/index.d.ts.map +1 -0
  71. package/cjs/aggregate/parsePipelines.d.ts +5 -0
  72. package/cjs/aggregate/parsePipelines.d.ts.map +1 -0
  73. package/cjs/aggregate/parsePipelines.js +6 -0
  74. package/cjs/aggregate/parsePipelines.js.map +1 -0
  75. package/cjs/aggregate/pipeline.d.ts +31 -0
  76. package/cjs/aggregate/pipeline.d.ts.map +1 -0
  77. package/cjs/aggregate/pipeline.js +42 -0
  78. package/cjs/aggregate/pipeline.js.map +1 -0
  79. package/cjs/aggregate/types.d.ts +8 -0
  80. package/cjs/aggregate/types.d.ts.map +1 -0
  81. package/cjs/aggregate/types.js +31 -0
  82. package/cjs/aggregate/types.js.map +1 -0
  83. package/cjs/blueprint/blueprint-column.d.ts +82 -0
  84. package/cjs/blueprint/blueprint-column.d.ts.map +1 -0
  85. package/cjs/blueprint/blueprint.d.ts +162 -0
  86. package/cjs/blueprint/blueprint.d.ts.map +1 -0
  87. package/cjs/blueprint/blueprint.js +340 -0
  88. package/cjs/blueprint/blueprint.js.map +1 -0
  89. package/cjs/blueprint/index.d.ts +3 -0
  90. package/cjs/blueprint/index.d.ts.map +1 -0
  91. package/cjs/blueprint/model-blueprint.d.ts +15 -0
  92. package/cjs/blueprint/model-blueprint.d.ts.map +1 -0
  93. package/cjs/blueprint/model-blueprint.js +16 -0
  94. package/cjs/blueprint/model-blueprint.js.map +1 -0
  95. package/cjs/casts/arrayOf.d.ts +5 -0
  96. package/cjs/casts/arrayOf.d.ts.map +1 -0
  97. package/cjs/casts/arrayOf.js +18 -0
  98. package/cjs/casts/arrayOf.js.map +1 -0
  99. package/cjs/casts/cast-email.d.ts +2 -0
  100. package/cjs/casts/cast-email.d.ts.map +1 -0
  101. package/cjs/casts/cast-email.js +5 -0
  102. package/cjs/casts/cast-email.js.map +1 -0
  103. package/cjs/casts/castModel.d.ts +3 -0
  104. package/cjs/casts/castModel.d.ts.map +1 -0
  105. package/cjs/casts/castModel.js +49 -0
  106. package/cjs/casts/castModel.js.map +1 -0
  107. package/cjs/casts/expiresAfter.d.ts +3 -0
  108. package/cjs/casts/expiresAfter.d.ts.map +1 -0
  109. package/cjs/casts/expiresAfter.js +5 -0
  110. package/cjs/casts/expiresAfter.js.map +1 -0
  111. package/cjs/casts/index.d.ts +9 -0
  112. package/cjs/casts/index.d.ts.map +1 -0
  113. package/cjs/casts/oneOf.d.ts +3 -0
  114. package/cjs/casts/oneOf.d.ts.map +1 -0
  115. package/cjs/casts/oneOf.js +22 -0
  116. package/cjs/casts/oneOf.js.map +1 -0
  117. package/cjs/casts/random-string.d.ts +2 -0
  118. package/cjs/casts/random-string.d.ts.map +1 -0
  119. package/cjs/casts/random-string.js +5 -0
  120. package/cjs/casts/random-string.js.map +1 -0
  121. package/cjs/casts/randomInteger.d.ts +2 -0
  122. package/cjs/casts/randomInteger.d.ts.map +1 -0
  123. package/cjs/casts/randomInteger.js +7 -0
  124. package/cjs/casts/randomInteger.js.map +1 -0
  125. package/cjs/casts/shapedArray.d.ts +26 -0
  126. package/cjs/casts/shapedArray.d.ts.map +1 -0
  127. package/cjs/casts/shapedArray.js +100 -0
  128. package/cjs/casts/shapedArray.js.map +1 -0
  129. package/cjs/config.d.ts +4 -0
  130. package/cjs/config.d.ts.map +1 -0
  131. package/cjs/config.js +10 -0
  132. package/cjs/config.js.map +1 -0
  133. package/cjs/connection.d.ts +45 -0
  134. package/cjs/connection.d.ts.map +1 -0
  135. package/cjs/connection.js +98 -0
  136. package/cjs/connection.js.map +1 -0
  137. package/cjs/database.d.ts +49 -0
  138. package/cjs/database.d.ts.map +1 -0
  139. package/cjs/database.js +85 -0
  140. package/cjs/database.js.map +1 -0
  141. package/cjs/index.d.ts +11 -1
  142. package/cjs/index.d.ts.map +1 -1
  143. package/cjs/index.js +1 -5
  144. package/cjs/index.js.map +1 -1
  145. package/cjs/migration/index.d.ts +4 -0
  146. package/cjs/migration/index.d.ts.map +1 -0
  147. package/cjs/migration/migrate.d.ts +13 -0
  148. package/cjs/migration/migrate.d.ts.map +1 -0
  149. package/cjs/migration/migrate.js +72 -0
  150. package/cjs/migration/migrate.js.map +1 -0
  151. package/cjs/migration/migration-office.d.ts +21 -0
  152. package/cjs/migration/migration-office.d.ts.map +1 -0
  153. package/cjs/migration/migration-office.js +40 -0
  154. package/cjs/migration/migration-office.js.map +1 -0
  155. package/cjs/migration/migration-officer.d.ts +33 -0
  156. package/cjs/migration/migration-officer.d.ts.map +1 -0
  157. package/cjs/migration/migration-officer.js +55 -0
  158. package/cjs/migration/migration-officer.js.map +1 -0
  159. package/cjs/migration/types.d.ts +34 -0
  160. package/cjs/migration/types.d.ts.map +1 -0
  161. package/cjs/model/ModelAggregate.d.ts +84 -0
  162. package/cjs/model/ModelAggregate.d.ts.map +1 -0
  163. package/cjs/model/ModelAggregate.js +164 -0
  164. package/cjs/model/ModelAggregate.js.map +1 -0
  165. package/cjs/model/ModelSync.d.ts +74 -0
  166. package/cjs/model/ModelSync.d.ts.map +1 -0
  167. package/cjs/model/ModelSync.js +215 -0
  168. package/cjs/model/ModelSync.js.map +1 -0
  169. package/cjs/model/RelationshipWithMany.d.ts +24 -0
  170. package/cjs/model/RelationshipWithMany.d.ts.map +1 -0
  171. package/cjs/model/RelationshipWithMany.js +42 -0
  172. package/cjs/model/RelationshipWithMany.js.map +1 -0
  173. package/cjs/model/base-model.d.ts +155 -0
  174. package/cjs/model/base-model.d.ts.map +1 -0
  175. package/cjs/model/base-model.js +230 -0
  176. package/cjs/model/base-model.js.map +1 -0
  177. package/cjs/model/crud-model.d.ts +117 -0
  178. package/cjs/model/crud-model.d.ts.map +1 -0
  179. package/cjs/model/crud-model.js +352 -0
  180. package/cjs/model/crud-model.js.map +1 -0
  181. package/cjs/model/index.d.ts +10 -0
  182. package/cjs/model/index.d.ts.map +1 -0
  183. package/cjs/model/joinable.d.ts +87 -0
  184. package/cjs/model/joinable.d.ts.map +1 -0
  185. package/cjs/model/joinable.js +155 -0
  186. package/cjs/model/joinable.js.map +1 -0
  187. package/cjs/model/master-mind.d.ts +44 -0
  188. package/cjs/model/master-mind.d.ts.map +1 -0
  189. package/cjs/model/master-mind.js +129 -0
  190. package/cjs/model/master-mind.js.map +1 -0
  191. package/cjs/model/model-events.d.ts +57 -0
  192. package/cjs/model/model-events.d.ts.map +1 -0
  193. package/cjs/model/model-events.js +102 -0
  194. package/cjs/model/model-events.js.map +1 -0
  195. package/cjs/model/model.d.ts +401 -0
  196. package/cjs/model/model.d.ts.map +1 -0
  197. package/cjs/model/model.js +1028 -0
  198. package/cjs/model/model.js.map +1 -0
  199. package/cjs/model/types.d.ts +113 -0
  200. package/cjs/model/types.d.ts.map +1 -0
  201. package/cjs/model/types.js +11 -0
  202. package/cjs/model/types.js.map +1 -0
  203. package/cjs/query/index.d.ts +2 -0
  204. package/cjs/query/index.d.ts.map +1 -0
  205. package/cjs/query/query.d.ts +228 -0
  206. package/cjs/query/query.d.ts.map +1 -0
  207. package/cjs/query/query.js +675 -0
  208. package/cjs/query/query.js.map +1 -0
  209. package/cjs/query/types.d.ts +56 -0
  210. package/cjs/query/types.d.ts.map +1 -0
  211. package/cjs/types.d.ts +62 -0
  212. package/cjs/types.d.ts.map +1 -0
  213. package/cjs/utils/connectToDatabase.d.ts +3 -0
  214. package/cjs/utils/connectToDatabase.d.ts.map +1 -0
  215. package/cjs/utils/connectToDatabase.js +3 -0
  216. package/cjs/utils/connectToDatabase.js.map +1 -0
  217. package/cjs/utils/deep-diff.d.ts +9 -0
  218. package/cjs/utils/deep-diff.d.ts.map +1 -0
  219. package/cjs/utils/deep-diff.js +42 -0
  220. package/cjs/utils/deep-diff.js.map +1 -0
  221. package/cjs/utils/dropAllDatabaseIndexes.d.ts +2 -0
  222. package/cjs/utils/dropAllDatabaseIndexes.d.ts.map +1 -0
  223. package/cjs/utils/dropAllDatabaseIndexes.js +10 -0
  224. package/cjs/utils/dropAllDatabaseIndexes.js.map +1 -0
  225. package/cjs/utils/index.d.ts +5 -0
  226. package/cjs/utils/index.d.ts.map +1 -0
  227. package/cjs/utils/joinable-proxy.d.ts +3 -0
  228. package/cjs/utils/joinable-proxy.d.ts.map +1 -0
  229. package/cjs/utils/joinable-proxy.js +14 -0
  230. package/cjs/utils/joinable-proxy.js.map +1 -0
  231. package/cjs/utils/listDatabaseIndexes.d.ts +4 -0
  232. package/cjs/utils/listDatabaseIndexes.d.ts.map +1 -0
  233. package/cjs/utils/listDatabaseIndexes.js +101 -0
  234. package/cjs/utils/listDatabaseIndexes.js.map +1 -0
  235. package/cjs/utils/onceConnected.d.ts +2 -0
  236. package/cjs/utils/onceConnected.d.ts.map +1 -0
  237. package/cjs/utils/onceConnected.js +8 -0
  238. package/cjs/utils/onceConnected.js.map +1 -0
  239. package/package.json +1 -1
  240. package/cjs/commands/create-new-app/get-app-path.d.ts +0 -2
  241. package/cjs/commands/create-new-app/get-app-path.d.ts.map +0 -1
  242. package/cjs/commands/create-new-app/get-app-path.js +0 -8
  243. package/cjs/commands/create-new-app/get-app-path.js.map +0 -1
  244. package/cjs/commands/create-new-app/index.d.ts +0 -2
  245. package/cjs/commands/create-new-app/index.d.ts.map +0 -1
  246. package/cjs/commands/create-new-app/index.js +0 -44
  247. package/cjs/commands/create-new-app/index.js.map +0 -1
  248. package/cjs/commands/create-new-app/select-app-type.d.ts +0 -2
  249. package/cjs/commands/create-new-app/select-app-type.d.ts.map +0 -1
  250. package/cjs/commands/create-new-app/types.d.ts +0 -9
  251. package/cjs/commands/create-new-app/types.d.ts.map +0 -1
  252. package/cjs/commands/create-warlock-app/index.d.ts +0 -3
  253. package/cjs/commands/create-warlock-app/index.d.ts.map +0 -1
  254. package/cjs/commands/create-warlock-app/index.js +0 -18
  255. package/cjs/commands/create-warlock-app/index.js.map +0 -1
  256. package/cjs/helpers/app.d.ts +0 -51
  257. package/cjs/helpers/app.d.ts.map +0 -1
  258. package/cjs/helpers/app.js +0 -127
  259. package/cjs/helpers/app.js.map +0 -1
  260. package/cjs/helpers/exec.d.ts +0 -10
  261. package/cjs/helpers/exec.d.ts.map +0 -1
  262. package/cjs/helpers/exec.js +0 -69
  263. package/cjs/helpers/exec.js.map +0 -1
  264. package/cjs/helpers/package-manager.d.ts +0 -6
  265. package/cjs/helpers/package-manager.d.ts.map +0 -1
  266. package/cjs/helpers/package-manager.js +0 -22
  267. package/cjs/helpers/package-manager.js.map +0 -1
  268. package/cjs/helpers/paths.d.ts +0 -4
  269. package/cjs/helpers/paths.d.ts.map +0 -1
  270. package/cjs/helpers/paths.js +0 -8
  271. package/cjs/helpers/paths.js.map +0 -1
  272. package/cjs/helpers/project-builder-helpers.d.ts +0 -7
  273. package/cjs/helpers/project-builder-helpers.d.ts.map +0 -1
  274. package/cjs/helpers/project-builder-helpers.js +0 -44
  275. package/cjs/helpers/project-builder-helpers.js.map +0 -1
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,129 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"master-mind.js","sources":["../../src/model/master-mind.ts"],"sourcesContent":[null],"names":["database","query","Aggregate"],"mappings":"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"}
@@ -0,0 +1,57 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,102 @@
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
@@ -0,0 +1 @@
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"}