@warlock.js/cascade 1.0.0

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 (506) hide show
  1. package/README.md +97 -0
  2. package/cjs/aggregate/DeselectPipeline.d.ts +10 -0
  3. package/cjs/aggregate/DeselectPipeline.d.ts.map +1 -0
  4. package/cjs/aggregate/DeselectPipeline.js +17 -0
  5. package/cjs/aggregate/DeselectPipeline.js.map +1 -0
  6. package/cjs/aggregate/GeoNearPipeline.d.ts +34 -0
  7. package/cjs/aggregate/GeoNearPipeline.d.ts.map +1 -0
  8. package/cjs/aggregate/GeoNearPipeline.js +44 -0
  9. package/cjs/aggregate/GeoNearPipeline.js.map +1 -0
  10. package/cjs/aggregate/GroupByPipeline.d.ts +12 -0
  11. package/cjs/aggregate/GroupByPipeline.d.ts.map +1 -0
  12. package/cjs/aggregate/GroupByPipeline.js +28 -0
  13. package/cjs/aggregate/GroupByPipeline.js.map +1 -0
  14. package/cjs/aggregate/LimitPipeline.d.ts +10 -0
  15. package/cjs/aggregate/LimitPipeline.d.ts.map +1 -0
  16. package/cjs/aggregate/LimitPipeline.js +14 -0
  17. package/cjs/aggregate/LimitPipeline.js.map +1 -0
  18. package/cjs/aggregate/LookupPipeline.d.ts +19 -0
  19. package/cjs/aggregate/LookupPipeline.d.ts.map +1 -0
  20. package/cjs/aggregate/LookupPipeline.js +19 -0
  21. package/cjs/aggregate/LookupPipeline.js.map +1 -0
  22. package/cjs/aggregate/OrWherePipeline.d.ts +23 -0
  23. package/cjs/aggregate/OrWherePipeline.d.ts.map +1 -0
  24. package/cjs/aggregate/OrWherePipeline.js +42 -0
  25. package/cjs/aggregate/OrWherePipeline.js.map +1 -0
  26. package/cjs/aggregate/SelectPipeline.d.ts +10 -0
  27. package/cjs/aggregate/SelectPipeline.d.ts.map +1 -0
  28. package/cjs/aggregate/SelectPipeline.js +26 -0
  29. package/cjs/aggregate/SelectPipeline.js.map +1 -0
  30. package/cjs/aggregate/SkipPipeline.d.ts +10 -0
  31. package/cjs/aggregate/SkipPipeline.d.ts.map +1 -0
  32. package/cjs/aggregate/SkipPipeline.js +14 -0
  33. package/cjs/aggregate/SkipPipeline.js.map +1 -0
  34. package/cjs/aggregate/SortByPipeline.d.ts +10 -0
  35. package/cjs/aggregate/SortByPipeline.d.ts.map +1 -0
  36. package/cjs/aggregate/SortByPipeline.js +18 -0
  37. package/cjs/aggregate/SortByPipeline.js.map +1 -0
  38. package/cjs/aggregate/SortPipeline.d.ts +11 -0
  39. package/cjs/aggregate/SortPipeline.d.ts.map +1 -0
  40. package/cjs/aggregate/SortPipeline.js +18 -0
  41. package/cjs/aggregate/SortPipeline.js.map +1 -0
  42. package/cjs/aggregate/SortRandomPipeline.d.ts +10 -0
  43. package/cjs/aggregate/SortRandomPipeline.d.ts.map +1 -0
  44. package/cjs/aggregate/SortRandomPipeline.js +16 -0
  45. package/cjs/aggregate/SortRandomPipeline.js.map +1 -0
  46. package/cjs/aggregate/UnwindPipeline.d.ts +14 -0
  47. package/cjs/aggregate/UnwindPipeline.d.ts.map +1 -0
  48. package/cjs/aggregate/UnwindPipeline.js +19 -0
  49. package/cjs/aggregate/UnwindPipeline.js.map +1 -0
  50. package/cjs/aggregate/WhereExpression.d.ts +17 -0
  51. package/cjs/aggregate/WhereExpression.d.ts.map +1 -0
  52. package/cjs/aggregate/WhereExpression.js +149 -0
  53. package/cjs/aggregate/WhereExpression.js.map +1 -0
  54. package/cjs/aggregate/WhereExpressionPipeline.d.ts +10 -0
  55. package/cjs/aggregate/WhereExpressionPipeline.d.ts.map +1 -0
  56. package/cjs/aggregate/WhereExpressionPipeline.js +15 -0
  57. package/cjs/aggregate/WhereExpressionPipeline.js.map +1 -0
  58. package/cjs/aggregate/WherePipeline.d.ts +13 -0
  59. package/cjs/aggregate/WherePipeline.d.ts.map +1 -0
  60. package/cjs/aggregate/WherePipeline.js +12 -0
  61. package/cjs/aggregate/WherePipeline.js.map +1 -0
  62. package/cjs/aggregate/aggregate.d.ts +346 -0
  63. package/cjs/aggregate/aggregate.d.ts.map +1 -0
  64. package/cjs/aggregate/aggregate.js +656 -0
  65. package/cjs/aggregate/aggregate.js.map +1 -0
  66. package/cjs/aggregate/expressions.d.ts +361 -0
  67. package/cjs/aggregate/expressions.d.ts.map +1 -0
  68. package/cjs/aggregate/expressions.js +536 -0
  69. package/cjs/aggregate/expressions.js.map +1 -0
  70. package/cjs/aggregate/index.d.ts +21 -0
  71. package/cjs/aggregate/index.d.ts.map +1 -0
  72. package/cjs/aggregate/parsePipelines.d.ts +5 -0
  73. package/cjs/aggregate/parsePipelines.d.ts.map +1 -0
  74. package/cjs/aggregate/parsePipelines.js +6 -0
  75. package/cjs/aggregate/parsePipelines.js.map +1 -0
  76. package/cjs/aggregate/pipeline.d.ts +31 -0
  77. package/cjs/aggregate/pipeline.d.ts.map +1 -0
  78. package/cjs/aggregate/pipeline.js +42 -0
  79. package/cjs/aggregate/pipeline.js.map +1 -0
  80. package/cjs/aggregate/types.d.ts +8 -0
  81. package/cjs/aggregate/types.d.ts.map +1 -0
  82. package/cjs/aggregate/types.js +31 -0
  83. package/cjs/aggregate/types.js.map +1 -0
  84. package/cjs/blueprint/blueprint.d.ts +154 -0
  85. package/cjs/blueprint/blueprint.d.ts.map +1 -0
  86. package/cjs/blueprint/blueprint.js +328 -0
  87. package/cjs/blueprint/blueprint.js.map +1 -0
  88. package/cjs/blueprint/index.d.ts +3 -0
  89. package/cjs/blueprint/index.d.ts.map +1 -0
  90. package/cjs/blueprint/model-blueprint.d.ts +15 -0
  91. package/cjs/blueprint/model-blueprint.d.ts.map +1 -0
  92. package/cjs/blueprint/model-blueprint.js +16 -0
  93. package/cjs/blueprint/model-blueprint.js.map +1 -0
  94. package/cjs/casts/arrayOf.d.ts +5 -0
  95. package/cjs/casts/arrayOf.d.ts.map +1 -0
  96. package/cjs/casts/arrayOf.js +18 -0
  97. package/cjs/casts/arrayOf.js.map +1 -0
  98. package/cjs/casts/cast-email.d.ts +2 -0
  99. package/cjs/casts/cast-email.d.ts.map +1 -0
  100. package/cjs/casts/cast-email.js +5 -0
  101. package/cjs/casts/cast-email.js.map +1 -0
  102. package/cjs/casts/castModel.d.ts +3 -0
  103. package/cjs/casts/castModel.d.ts.map +1 -0
  104. package/cjs/casts/castModel.js +49 -0
  105. package/cjs/casts/castModel.js.map +1 -0
  106. package/cjs/casts/expiresAfter.d.ts +3 -0
  107. package/cjs/casts/expiresAfter.d.ts.map +1 -0
  108. package/cjs/casts/expiresAfter.js +5 -0
  109. package/cjs/casts/expiresAfter.js.map +1 -0
  110. package/cjs/casts/index.d.ts +9 -0
  111. package/cjs/casts/index.d.ts.map +1 -0
  112. package/cjs/casts/oneOf.d.ts +3 -0
  113. package/cjs/casts/oneOf.d.ts.map +1 -0
  114. package/cjs/casts/oneOf.js +22 -0
  115. package/cjs/casts/oneOf.js.map +1 -0
  116. package/cjs/casts/random-string.d.ts +2 -0
  117. package/cjs/casts/random-string.d.ts.map +1 -0
  118. package/cjs/casts/random-string.js +5 -0
  119. package/cjs/casts/random-string.js.map +1 -0
  120. package/cjs/casts/randomInteger.d.ts +2 -0
  121. package/cjs/casts/randomInteger.d.ts.map +1 -0
  122. package/cjs/casts/randomInteger.js +7 -0
  123. package/cjs/casts/randomInteger.js.map +1 -0
  124. package/cjs/casts/shapedArray.d.ts +26 -0
  125. package/cjs/casts/shapedArray.d.ts.map +1 -0
  126. package/cjs/casts/shapedArray.js +100 -0
  127. package/cjs/casts/shapedArray.js.map +1 -0
  128. package/cjs/config.d.ts +4 -0
  129. package/cjs/config.d.ts.map +1 -0
  130. package/cjs/config.js +10 -0
  131. package/cjs/config.js.map +1 -0
  132. package/cjs/connection.d.ts +44 -0
  133. package/cjs/connection.d.ts.map +1 -0
  134. package/cjs/connection.js +98 -0
  135. package/cjs/connection.js.map +1 -0
  136. package/cjs/console/db-indexes-command.d.ts +3 -0
  137. package/cjs/console/db-indexes-command.d.ts.map +1 -0
  138. package/cjs/console/db-indexes-command.js +18 -0
  139. package/cjs/console/db-indexes-command.js.map +1 -0
  140. package/cjs/console/index.d.ts +4 -0
  141. package/cjs/console/index.d.ts.map +1 -0
  142. package/cjs/console/migrate-command.d.ts +3 -0
  143. package/cjs/console/migrate-command.d.ts.map +1 -0
  144. package/cjs/console/migrate-command.js +14 -0
  145. package/cjs/console/migrate-command.js.map +1 -0
  146. package/cjs/console/register-blueprint-command.d.ts +4 -0
  147. package/cjs/console/register-blueprint-command.d.ts.map +1 -0
  148. package/cjs/console/register-blueprint-command.js +27 -0
  149. package/cjs/console/register-blueprint-command.js.map +1 -0
  150. package/cjs/database.d.ts +49 -0
  151. package/cjs/database.d.ts.map +1 -0
  152. package/cjs/database.js +85 -0
  153. package/cjs/database.js.map +1 -0
  154. package/cjs/index.d.ts +14 -0
  155. package/cjs/index.d.ts.map +1 -0
  156. package/cjs/index.js +1 -0
  157. package/cjs/index.js.map +1 -0
  158. package/cjs/migrate.d.ts +8 -0
  159. package/cjs/migrate.d.ts.map +1 -0
  160. package/cjs/migrate.js +89 -0
  161. package/cjs/migrate.js.map +1 -0
  162. package/cjs/model/ModelAggregate.d.ts +71 -0
  163. package/cjs/model/ModelAggregate.d.ts.map +1 -0
  164. package/cjs/model/ModelAggregate.js +147 -0
  165. package/cjs/model/ModelAggregate.js.map +1 -0
  166. package/cjs/model/ModelSync.d.ts +74 -0
  167. package/cjs/model/ModelSync.d.ts.map +1 -0
  168. package/cjs/model/ModelSync.js +215 -0
  169. package/cjs/model/ModelSync.js.map +1 -0
  170. package/cjs/model/RelationshipWithMany.d.ts +29 -0
  171. package/cjs/model/RelationshipWithMany.d.ts.map +1 -0
  172. package/cjs/model/RelationshipWithMany.js +52 -0
  173. package/cjs/model/RelationshipWithMany.js.map +1 -0
  174. package/cjs/model/base-model.d.ts +148 -0
  175. package/cjs/model/base-model.d.ts.map +1 -0
  176. package/cjs/model/base-model.js +212 -0
  177. package/cjs/model/base-model.js.map +1 -0
  178. package/cjs/model/crud-model.d.ts +117 -0
  179. package/cjs/model/crud-model.d.ts.map +1 -0
  180. package/cjs/model/crud-model.js +346 -0
  181. package/cjs/model/crud-model.js.map +1 -0
  182. package/cjs/model/index.d.ts +11 -0
  183. package/cjs/model/index.d.ts.map +1 -0
  184. package/cjs/model/joinable.d.ts +86 -0
  185. package/cjs/model/joinable.d.ts.map +1 -0
  186. package/cjs/model/joinable.js +155 -0
  187. package/cjs/model/joinable.js.map +1 -0
  188. package/cjs/model/master-mind.d.ts +44 -0
  189. package/cjs/model/master-mind.d.ts.map +1 -0
  190. package/cjs/model/master-mind.js +129 -0
  191. package/cjs/model/master-mind.js.map +1 -0
  192. package/cjs/model/migration-office.d.ts +33 -0
  193. package/cjs/model/migration-office.d.ts.map +1 -0
  194. package/cjs/model/migration-office.js +55 -0
  195. package/cjs/model/migration-office.js.map +1 -0
  196. package/cjs/model/model-events.d.ts +57 -0
  197. package/cjs/model/model-events.d.ts.map +1 -0
  198. package/cjs/model/model-events.js +102 -0
  199. package/cjs/model/model-events.js.map +1 -0
  200. package/cjs/model/model.d.ts +323 -0
  201. package/cjs/model/model.d.ts.map +1 -0
  202. package/cjs/model/model.js +843 -0
  203. package/cjs/model/model.js.map +1 -0
  204. package/cjs/model/relationships.d.ts +69 -0
  205. package/cjs/model/relationships.d.ts.map +1 -0
  206. package/cjs/model/relationships.js +144 -0
  207. package/cjs/model/relationships.js.map +1 -0
  208. package/cjs/model/types.d.ts +113 -0
  209. package/cjs/model/types.d.ts.map +1 -0
  210. package/cjs/model/types.js +11 -0
  211. package/cjs/model/types.js.map +1 -0
  212. package/cjs/models/Log.d.ts +12 -0
  213. package/cjs/models/Log.d.ts.map +1 -0
  214. package/cjs/models/Log.js +16 -0
  215. package/cjs/models/Log.js.map +1 -0
  216. package/cjs/models/index.d.ts +2 -0
  217. package/cjs/models/index.d.ts.map +1 -0
  218. package/cjs/query/index.d.ts +2 -0
  219. package/cjs/query/index.d.ts.map +1 -0
  220. package/cjs/query/query.d.ts +228 -0
  221. package/cjs/query/query.d.ts.map +1 -0
  222. package/cjs/query/query.js +675 -0
  223. package/cjs/query/query.js.map +1 -0
  224. package/cjs/query/types.d.ts +56 -0
  225. package/cjs/query/types.d.ts.map +1 -0
  226. package/cjs/types.d.ts +46 -0
  227. package/cjs/types.d.ts.map +1 -0
  228. package/cjs/utils/DatabaseLog.d.ts +25 -0
  229. package/cjs/utils/DatabaseLog.d.ts.map +1 -0
  230. package/cjs/utils/DatabaseLog.js +41 -0
  231. package/cjs/utils/DatabaseLog.js.map +1 -0
  232. package/cjs/utils/connectToDatabase.d.ts +3 -0
  233. package/cjs/utils/connectToDatabase.d.ts.map +1 -0
  234. package/cjs/utils/connectToDatabase.js +3 -0
  235. package/cjs/utils/connectToDatabase.js.map +1 -0
  236. package/cjs/utils/dropAllDatabaseIndexes.d.ts +2 -0
  237. package/cjs/utils/dropAllDatabaseIndexes.d.ts.map +1 -0
  238. package/cjs/utils/dropAllDatabaseIndexes.js +10 -0
  239. package/cjs/utils/dropAllDatabaseIndexes.js.map +1 -0
  240. package/cjs/utils/index.d.ts +6 -0
  241. package/cjs/utils/index.d.ts.map +1 -0
  242. package/cjs/utils/joinable-proxy.d.ts +3 -0
  243. package/cjs/utils/joinable-proxy.d.ts.map +1 -0
  244. package/cjs/utils/joinable-proxy.js +14 -0
  245. package/cjs/utils/joinable-proxy.js.map +1 -0
  246. package/cjs/utils/listDatabaseIndexes.d.ts +4 -0
  247. package/cjs/utils/listDatabaseIndexes.d.ts.map +1 -0
  248. package/cjs/utils/listDatabaseIndexes.js +101 -0
  249. package/cjs/utils/listDatabaseIndexes.js.map +1 -0
  250. package/cjs/utils/onceConnected.d.ts +2 -0
  251. package/cjs/utils/onceConnected.d.ts.map +1 -0
  252. package/cjs/utils/onceConnected.js +8 -0
  253. package/cjs/utils/onceConnected.js.map +1 -0
  254. package/esm/aggregate/DeselectPipeline.d.ts +10 -0
  255. package/esm/aggregate/DeselectPipeline.d.ts.map +1 -0
  256. package/esm/aggregate/DeselectPipeline.js +17 -0
  257. package/esm/aggregate/DeselectPipeline.js.map +1 -0
  258. package/esm/aggregate/GeoNearPipeline.d.ts +34 -0
  259. package/esm/aggregate/GeoNearPipeline.d.ts.map +1 -0
  260. package/esm/aggregate/GeoNearPipeline.js +44 -0
  261. package/esm/aggregate/GeoNearPipeline.js.map +1 -0
  262. package/esm/aggregate/GroupByPipeline.d.ts +12 -0
  263. package/esm/aggregate/GroupByPipeline.d.ts.map +1 -0
  264. package/esm/aggregate/GroupByPipeline.js +28 -0
  265. package/esm/aggregate/GroupByPipeline.js.map +1 -0
  266. package/esm/aggregate/LimitPipeline.d.ts +10 -0
  267. package/esm/aggregate/LimitPipeline.d.ts.map +1 -0
  268. package/esm/aggregate/LimitPipeline.js +14 -0
  269. package/esm/aggregate/LimitPipeline.js.map +1 -0
  270. package/esm/aggregate/LookupPipeline.d.ts +19 -0
  271. package/esm/aggregate/LookupPipeline.d.ts.map +1 -0
  272. package/esm/aggregate/LookupPipeline.js +19 -0
  273. package/esm/aggregate/LookupPipeline.js.map +1 -0
  274. package/esm/aggregate/OrWherePipeline.d.ts +23 -0
  275. package/esm/aggregate/OrWherePipeline.d.ts.map +1 -0
  276. package/esm/aggregate/OrWherePipeline.js +42 -0
  277. package/esm/aggregate/OrWherePipeline.js.map +1 -0
  278. package/esm/aggregate/SelectPipeline.d.ts +10 -0
  279. package/esm/aggregate/SelectPipeline.d.ts.map +1 -0
  280. package/esm/aggregate/SelectPipeline.js +26 -0
  281. package/esm/aggregate/SelectPipeline.js.map +1 -0
  282. package/esm/aggregate/SkipPipeline.d.ts +10 -0
  283. package/esm/aggregate/SkipPipeline.d.ts.map +1 -0
  284. package/esm/aggregate/SkipPipeline.js +14 -0
  285. package/esm/aggregate/SkipPipeline.js.map +1 -0
  286. package/esm/aggregate/SortByPipeline.d.ts +10 -0
  287. package/esm/aggregate/SortByPipeline.d.ts.map +1 -0
  288. package/esm/aggregate/SortByPipeline.js +18 -0
  289. package/esm/aggregate/SortByPipeline.js.map +1 -0
  290. package/esm/aggregate/SortPipeline.d.ts +11 -0
  291. package/esm/aggregate/SortPipeline.d.ts.map +1 -0
  292. package/esm/aggregate/SortPipeline.js +18 -0
  293. package/esm/aggregate/SortPipeline.js.map +1 -0
  294. package/esm/aggregate/SortRandomPipeline.d.ts +10 -0
  295. package/esm/aggregate/SortRandomPipeline.d.ts.map +1 -0
  296. package/esm/aggregate/SortRandomPipeline.js +16 -0
  297. package/esm/aggregate/SortRandomPipeline.js.map +1 -0
  298. package/esm/aggregate/UnwindPipeline.d.ts +14 -0
  299. package/esm/aggregate/UnwindPipeline.d.ts.map +1 -0
  300. package/esm/aggregate/UnwindPipeline.js +19 -0
  301. package/esm/aggregate/UnwindPipeline.js.map +1 -0
  302. package/esm/aggregate/WhereExpression.d.ts +17 -0
  303. package/esm/aggregate/WhereExpression.d.ts.map +1 -0
  304. package/esm/aggregate/WhereExpression.js +149 -0
  305. package/esm/aggregate/WhereExpression.js.map +1 -0
  306. package/esm/aggregate/WhereExpressionPipeline.d.ts +10 -0
  307. package/esm/aggregate/WhereExpressionPipeline.d.ts.map +1 -0
  308. package/esm/aggregate/WhereExpressionPipeline.js +15 -0
  309. package/esm/aggregate/WhereExpressionPipeline.js.map +1 -0
  310. package/esm/aggregate/WherePipeline.d.ts +13 -0
  311. package/esm/aggregate/WherePipeline.d.ts.map +1 -0
  312. package/esm/aggregate/WherePipeline.js +12 -0
  313. package/esm/aggregate/WherePipeline.js.map +1 -0
  314. package/esm/aggregate/aggregate.d.ts +346 -0
  315. package/esm/aggregate/aggregate.d.ts.map +1 -0
  316. package/esm/aggregate/aggregate.js +656 -0
  317. package/esm/aggregate/aggregate.js.map +1 -0
  318. package/esm/aggregate/expressions.d.ts +361 -0
  319. package/esm/aggregate/expressions.d.ts.map +1 -0
  320. package/esm/aggregate/expressions.js +536 -0
  321. package/esm/aggregate/expressions.js.map +1 -0
  322. package/esm/aggregate/index.d.ts +21 -0
  323. package/esm/aggregate/index.d.ts.map +1 -0
  324. package/esm/aggregate/parsePipelines.d.ts +5 -0
  325. package/esm/aggregate/parsePipelines.d.ts.map +1 -0
  326. package/esm/aggregate/parsePipelines.js +6 -0
  327. package/esm/aggregate/parsePipelines.js.map +1 -0
  328. package/esm/aggregate/pipeline.d.ts +31 -0
  329. package/esm/aggregate/pipeline.d.ts.map +1 -0
  330. package/esm/aggregate/pipeline.js +42 -0
  331. package/esm/aggregate/pipeline.js.map +1 -0
  332. package/esm/aggregate/types.d.ts +8 -0
  333. package/esm/aggregate/types.d.ts.map +1 -0
  334. package/esm/aggregate/types.js +31 -0
  335. package/esm/aggregate/types.js.map +1 -0
  336. package/esm/blueprint/blueprint.d.ts +154 -0
  337. package/esm/blueprint/blueprint.d.ts.map +1 -0
  338. package/esm/blueprint/blueprint.js +328 -0
  339. package/esm/blueprint/blueprint.js.map +1 -0
  340. package/esm/blueprint/index.d.ts +3 -0
  341. package/esm/blueprint/index.d.ts.map +1 -0
  342. package/esm/blueprint/model-blueprint.d.ts +15 -0
  343. package/esm/blueprint/model-blueprint.d.ts.map +1 -0
  344. package/esm/blueprint/model-blueprint.js +16 -0
  345. package/esm/blueprint/model-blueprint.js.map +1 -0
  346. package/esm/casts/arrayOf.d.ts +5 -0
  347. package/esm/casts/arrayOf.d.ts.map +1 -0
  348. package/esm/casts/arrayOf.js +18 -0
  349. package/esm/casts/arrayOf.js.map +1 -0
  350. package/esm/casts/cast-email.d.ts +2 -0
  351. package/esm/casts/cast-email.d.ts.map +1 -0
  352. package/esm/casts/cast-email.js +5 -0
  353. package/esm/casts/cast-email.js.map +1 -0
  354. package/esm/casts/castModel.d.ts +3 -0
  355. package/esm/casts/castModel.d.ts.map +1 -0
  356. package/esm/casts/castModel.js +49 -0
  357. package/esm/casts/castModel.js.map +1 -0
  358. package/esm/casts/expiresAfter.d.ts +3 -0
  359. package/esm/casts/expiresAfter.d.ts.map +1 -0
  360. package/esm/casts/expiresAfter.js +5 -0
  361. package/esm/casts/expiresAfter.js.map +1 -0
  362. package/esm/casts/index.d.ts +9 -0
  363. package/esm/casts/index.d.ts.map +1 -0
  364. package/esm/casts/oneOf.d.ts +3 -0
  365. package/esm/casts/oneOf.d.ts.map +1 -0
  366. package/esm/casts/oneOf.js +22 -0
  367. package/esm/casts/oneOf.js.map +1 -0
  368. package/esm/casts/random-string.d.ts +2 -0
  369. package/esm/casts/random-string.d.ts.map +1 -0
  370. package/esm/casts/random-string.js +5 -0
  371. package/esm/casts/random-string.js.map +1 -0
  372. package/esm/casts/randomInteger.d.ts +2 -0
  373. package/esm/casts/randomInteger.d.ts.map +1 -0
  374. package/esm/casts/randomInteger.js +7 -0
  375. package/esm/casts/randomInteger.js.map +1 -0
  376. package/esm/casts/shapedArray.d.ts +26 -0
  377. package/esm/casts/shapedArray.d.ts.map +1 -0
  378. package/esm/casts/shapedArray.js +100 -0
  379. package/esm/casts/shapedArray.js.map +1 -0
  380. package/esm/config.d.ts +4 -0
  381. package/esm/config.d.ts.map +1 -0
  382. package/esm/config.js +10 -0
  383. package/esm/config.js.map +1 -0
  384. package/esm/connection.d.ts +44 -0
  385. package/esm/connection.d.ts.map +1 -0
  386. package/esm/connection.js +98 -0
  387. package/esm/connection.js.map +1 -0
  388. package/esm/console/db-indexes-command.d.ts +3 -0
  389. package/esm/console/db-indexes-command.d.ts.map +1 -0
  390. package/esm/console/db-indexes-command.js +18 -0
  391. package/esm/console/db-indexes-command.js.map +1 -0
  392. package/esm/console/index.d.ts +4 -0
  393. package/esm/console/index.d.ts.map +1 -0
  394. package/esm/console/migrate-command.d.ts +3 -0
  395. package/esm/console/migrate-command.d.ts.map +1 -0
  396. package/esm/console/migrate-command.js +14 -0
  397. package/esm/console/migrate-command.js.map +1 -0
  398. package/esm/console/register-blueprint-command.d.ts +4 -0
  399. package/esm/console/register-blueprint-command.d.ts.map +1 -0
  400. package/esm/console/register-blueprint-command.js +27 -0
  401. package/esm/console/register-blueprint-command.js.map +1 -0
  402. package/esm/database.d.ts +49 -0
  403. package/esm/database.d.ts.map +1 -0
  404. package/esm/database.js +85 -0
  405. package/esm/database.js.map +1 -0
  406. package/esm/index.d.ts +14 -0
  407. package/esm/index.d.ts.map +1 -0
  408. package/esm/index.js +1 -0
  409. package/esm/index.js.map +1 -0
  410. package/esm/migrate.d.ts +8 -0
  411. package/esm/migrate.d.ts.map +1 -0
  412. package/esm/migrate.js +89 -0
  413. package/esm/migrate.js.map +1 -0
  414. package/esm/model/ModelAggregate.d.ts +71 -0
  415. package/esm/model/ModelAggregate.d.ts.map +1 -0
  416. package/esm/model/ModelAggregate.js +147 -0
  417. package/esm/model/ModelAggregate.js.map +1 -0
  418. package/esm/model/ModelSync.d.ts +74 -0
  419. package/esm/model/ModelSync.d.ts.map +1 -0
  420. package/esm/model/ModelSync.js +215 -0
  421. package/esm/model/ModelSync.js.map +1 -0
  422. package/esm/model/RelationshipWithMany.d.ts +29 -0
  423. package/esm/model/RelationshipWithMany.d.ts.map +1 -0
  424. package/esm/model/RelationshipWithMany.js +52 -0
  425. package/esm/model/RelationshipWithMany.js.map +1 -0
  426. package/esm/model/base-model.d.ts +148 -0
  427. package/esm/model/base-model.d.ts.map +1 -0
  428. package/esm/model/base-model.js +212 -0
  429. package/esm/model/base-model.js.map +1 -0
  430. package/esm/model/crud-model.d.ts +117 -0
  431. package/esm/model/crud-model.d.ts.map +1 -0
  432. package/esm/model/crud-model.js +346 -0
  433. package/esm/model/crud-model.js.map +1 -0
  434. package/esm/model/index.d.ts +11 -0
  435. package/esm/model/index.d.ts.map +1 -0
  436. package/esm/model/joinable.d.ts +86 -0
  437. package/esm/model/joinable.d.ts.map +1 -0
  438. package/esm/model/joinable.js +155 -0
  439. package/esm/model/joinable.js.map +1 -0
  440. package/esm/model/master-mind.d.ts +44 -0
  441. package/esm/model/master-mind.d.ts.map +1 -0
  442. package/esm/model/master-mind.js +129 -0
  443. package/esm/model/master-mind.js.map +1 -0
  444. package/esm/model/migration-office.d.ts +33 -0
  445. package/esm/model/migration-office.d.ts.map +1 -0
  446. package/esm/model/migration-office.js +55 -0
  447. package/esm/model/migration-office.js.map +1 -0
  448. package/esm/model/model-events.d.ts +57 -0
  449. package/esm/model/model-events.d.ts.map +1 -0
  450. package/esm/model/model-events.js +102 -0
  451. package/esm/model/model-events.js.map +1 -0
  452. package/esm/model/model.d.ts +323 -0
  453. package/esm/model/model.d.ts.map +1 -0
  454. package/esm/model/model.js +843 -0
  455. package/esm/model/model.js.map +1 -0
  456. package/esm/model/relationships.d.ts +69 -0
  457. package/esm/model/relationships.d.ts.map +1 -0
  458. package/esm/model/relationships.js +144 -0
  459. package/esm/model/relationships.js.map +1 -0
  460. package/esm/model/types.d.ts +113 -0
  461. package/esm/model/types.d.ts.map +1 -0
  462. package/esm/model/types.js +11 -0
  463. package/esm/model/types.js.map +1 -0
  464. package/esm/models/Log.d.ts +12 -0
  465. package/esm/models/Log.d.ts.map +1 -0
  466. package/esm/models/Log.js +16 -0
  467. package/esm/models/Log.js.map +1 -0
  468. package/esm/models/index.d.ts +2 -0
  469. package/esm/models/index.d.ts.map +1 -0
  470. package/esm/query/index.d.ts +2 -0
  471. package/esm/query/index.d.ts.map +1 -0
  472. package/esm/query/query.d.ts +228 -0
  473. package/esm/query/query.d.ts.map +1 -0
  474. package/esm/query/query.js +675 -0
  475. package/esm/query/query.js.map +1 -0
  476. package/esm/query/types.d.ts +56 -0
  477. package/esm/query/types.d.ts.map +1 -0
  478. package/esm/types.d.ts +46 -0
  479. package/esm/types.d.ts.map +1 -0
  480. package/esm/utils/DatabaseLog.d.ts +25 -0
  481. package/esm/utils/DatabaseLog.d.ts.map +1 -0
  482. package/esm/utils/DatabaseLog.js +41 -0
  483. package/esm/utils/DatabaseLog.js.map +1 -0
  484. package/esm/utils/connectToDatabase.d.ts +3 -0
  485. package/esm/utils/connectToDatabase.d.ts.map +1 -0
  486. package/esm/utils/connectToDatabase.js +3 -0
  487. package/esm/utils/connectToDatabase.js.map +1 -0
  488. package/esm/utils/dropAllDatabaseIndexes.d.ts +2 -0
  489. package/esm/utils/dropAllDatabaseIndexes.d.ts.map +1 -0
  490. package/esm/utils/dropAllDatabaseIndexes.js +10 -0
  491. package/esm/utils/dropAllDatabaseIndexes.js.map +1 -0
  492. package/esm/utils/index.d.ts +6 -0
  493. package/esm/utils/index.d.ts.map +1 -0
  494. package/esm/utils/joinable-proxy.d.ts +3 -0
  495. package/esm/utils/joinable-proxy.d.ts.map +1 -0
  496. package/esm/utils/joinable-proxy.js +14 -0
  497. package/esm/utils/joinable-proxy.js.map +1 -0
  498. package/esm/utils/listDatabaseIndexes.d.ts +4 -0
  499. package/esm/utils/listDatabaseIndexes.d.ts.map +1 -0
  500. package/esm/utils/listDatabaseIndexes.js +101 -0
  501. package/esm/utils/listDatabaseIndexes.js.map +1 -0
  502. package/esm/utils/onceConnected.d.ts +2 -0
  503. package/esm/utils/onceConnected.d.ts.map +1 -0
  504. package/esm/utils/onceConnected.js +8 -0
  505. package/esm/utils/onceConnected.js.map +1 -0
  506. package/package.json +61 -0
@@ -0,0 +1,675 @@
1
+ 'use strict';var events=require('@mongez/events'),reinforcements=require('@mongez/reinforcements'),database=require('../database.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var events__default=/*#__PURE__*/_interopDefault(events);class Query {
2
+ /**
3
+ * Connection instance
4
+ */
5
+ database = database.database;
6
+ /**
7
+ * class event name
8
+ */
9
+ eventName = "mongodb.query." + reinforcements.Random.id();
10
+ /**
11
+ * Set the database instance
12
+ */
13
+ setDatabase(database) {
14
+ this.database = database;
15
+ return this;
16
+ }
17
+ /**
18
+ * Get collection query for the given collection name
19
+ */
20
+ query(collection) {
21
+ return this.database.collection(collection);
22
+ }
23
+ /**
24
+ * Get current active session from database object
25
+ */
26
+ getCurrentSession() {
27
+ return this.database.getActiveSession()?.session;
28
+ }
29
+ /**
30
+ * Create a new document in the given collection
31
+ */
32
+ async create(collection, data, { session = this.getCurrentSession() } = {}) {
33
+ const query = this.query(collection);
34
+ await this.trigger("creating saving", {
35
+ collection,
36
+ data,
37
+ query,
38
+ isMany: false,
39
+ });
40
+ const result = await query.insertOne(data, {
41
+ session,
42
+ });
43
+ const document = {
44
+ ...data,
45
+ _id: result.insertedId,
46
+ };
47
+ await this.trigger("created saved", {
48
+ collection,
49
+ document,
50
+ isMany: false,
51
+ });
52
+ return document;
53
+ }
54
+ /**
55
+ * Create many documents in the given collection
56
+ */
57
+ async createMany(collection, data, { session = this.getCurrentSession() } = {}) {
58
+ const query = this.query(collection);
59
+ await this.trigger("creating saving", {
60
+ collection,
61
+ data,
62
+ query,
63
+ isMany: true,
64
+ });
65
+ const result = await query.insertMany(data, {
66
+ session,
67
+ });
68
+ const documents = data.map((data, index) => ({
69
+ ...data,
70
+ _id: result.insertedIds[index],
71
+ }));
72
+ await this.trigger("created saved", {
73
+ collection,
74
+ documents,
75
+ isMany: true,
76
+ });
77
+ return documents;
78
+ }
79
+ /**
80
+ * Update model by the given id
81
+ */
82
+ async update(collection, filter, data, { session = this.getCurrentSession() } = {}) {
83
+ // get the query of the current collection
84
+ const query = this.query(collection);
85
+ await this.trigger("updating saving", {
86
+ collection,
87
+ filter,
88
+ data,
89
+ query,
90
+ isMany: false,
91
+ });
92
+ const result = await query.findOneAndUpdate(filter, {
93
+ $set: data,
94
+ }, {
95
+ returnDocument: "after",
96
+ session,
97
+ });
98
+ const output = result.ok ? result.value : null;
99
+ await this.trigger("updated saved", {
100
+ collection,
101
+ filter,
102
+ data,
103
+ document: output,
104
+ isMany: false,
105
+ });
106
+ return output;
107
+ }
108
+ /**
109
+ * Update many documents
110
+ */
111
+ async updateMany(collection, filter, updateOptions, options, { session = this.getCurrentSession() } = {}) {
112
+ const query = this.query(collection);
113
+ if (!options?.session) {
114
+ options = {
115
+ ...options,
116
+ session,
117
+ };
118
+ }
119
+ await this.trigger("updating saving", {
120
+ collection,
121
+ filter,
122
+ updateOptions,
123
+ options,
124
+ query,
125
+ isMany: true,
126
+ });
127
+ const result = await query.updateMany(filter, updateOptions, options);
128
+ await this.trigger("updated saved", {
129
+ collection,
130
+ filter,
131
+ updateOptions,
132
+ options,
133
+ result: result,
134
+ isMany: true,
135
+ });
136
+ return result;
137
+ }
138
+ /**
139
+ * Replace the entire document for the given document id with the given new data
140
+ */
141
+ async replace(collection, filter, data, { session = this.getCurrentSession() } = {}) {
142
+ const query = this.query(collection);
143
+ await this.trigger("replacing saving", {
144
+ collection,
145
+ filter,
146
+ data,
147
+ query,
148
+ });
149
+ const result = await query.findOneAndReplace(filter, data, {
150
+ returnDocument: "after",
151
+ session,
152
+ });
153
+ const output = result.ok ? result.value : null;
154
+ await this.trigger("replaced saved", {
155
+ collection,
156
+ filter,
157
+ data,
158
+ output,
159
+ });
160
+ return output;
161
+ }
162
+ /**
163
+ * Find and update the document for the given filter with the given data or create a new document/record
164
+ * if filter has no matching
165
+ */
166
+ async upsert(collection, filter, data, { session = this.getCurrentSession() } = {}) {
167
+ // get the query of the current collection
168
+ const query = this.query(collection);
169
+ await this.trigger("upserting saving", {
170
+ collection,
171
+ filter,
172
+ data,
173
+ query,
174
+ });
175
+ // execute the update operation
176
+ const result = await query.findOneAndUpdate(filter, {
177
+ $set: data,
178
+ }, {
179
+ returnDocument: "after",
180
+ upsert: true,
181
+ session,
182
+ });
183
+ const output = result.ok ? result.value : null;
184
+ await this.trigger("upserted saved", {
185
+ collection,
186
+ filter,
187
+ data,
188
+ output,
189
+ });
190
+ return output;
191
+ }
192
+ /**
193
+ * Perform a single delete operation for the given collection
194
+ */
195
+ async deleteOne(collection, filter, { session = this.getCurrentSession() } = {}) {
196
+ const query = this.query(collection);
197
+ await this.trigger("deleting", {
198
+ collection,
199
+ filter,
200
+ query,
201
+ isMany: false,
202
+ });
203
+ const result = await query.deleteOne(filter, {
204
+ session,
205
+ });
206
+ const isDeleted = result.deletedCount > 0;
207
+ await this.trigger("deleted", {
208
+ collection,
209
+ filter,
210
+ isDeleted,
211
+ count: result.deletedCount,
212
+ result,
213
+ isMany: false,
214
+ });
215
+ return isDeleted;
216
+ }
217
+ /**
218
+ * Delete multiple documents from the given collection
219
+ */
220
+ async delete(collection, filter = {}, { session = this.getCurrentSession() } = {}) {
221
+ const query = this.query(collection);
222
+ await this.trigger("deleting", {
223
+ collection,
224
+ filter,
225
+ query,
226
+ isMany: true,
227
+ });
228
+ const result = await query.deleteMany(filter, {
229
+ session,
230
+ });
231
+ const output = result.deletedCount;
232
+ await this.trigger("deleted", {
233
+ collection,
234
+ filter,
235
+ output,
236
+ result,
237
+ count: result.deletedCount,
238
+ isMany: true,
239
+ });
240
+ return output;
241
+ }
242
+ /**
243
+ * Alias to delete
244
+ */
245
+ async deleteMany(collection, filter = {}, { session = this.getCurrentSession() } = {}) {
246
+ return this.delete(collection, filter, { session });
247
+ }
248
+ /**
249
+ * Check if document exists for the given collection with the given filter
250
+ */
251
+ async exists(collection, filter = {}, { session = this.getCurrentSession() } = {}) {
252
+ const query = this.query(collection);
253
+ await this.trigger("counting", {
254
+ collection,
255
+ filter,
256
+ query,
257
+ });
258
+ const output = await query.countDocuments(filter, {
259
+ session,
260
+ });
261
+ await this.trigger("counted", {
262
+ collection,
263
+ filter,
264
+ output,
265
+ });
266
+ return output > 0;
267
+ }
268
+ /**
269
+ * Find a single document for the given collection with the given filter
270
+ */
271
+ async first(collection, filter = {}, findOptions, { session = this.getCurrentSession() } = {}) {
272
+ const query = this.query(collection);
273
+ if (!findOptions?.session) {
274
+ findOptions = {
275
+ ...findOptions,
276
+ session,
277
+ };
278
+ }
279
+ await this.trigger("fetching", {
280
+ collection,
281
+ filter,
282
+ query,
283
+ findOptions,
284
+ isMany: false,
285
+ });
286
+ const output = await query.findOne(filter, findOptions);
287
+ await this.trigger("fetched", {
288
+ collection,
289
+ filter,
290
+ output,
291
+ isMany: false,
292
+ count: output ? 1 : 0,
293
+ });
294
+ return output;
295
+ }
296
+ /**
297
+ * Find last document for the given collection with the given filter
298
+ */
299
+ async last(collection, filter = {}, options, { session = this.getCurrentSession() } = {}) {
300
+ const query = this.query(collection);
301
+ if (!options?.session) {
302
+ options = {
303
+ ...options,
304
+ session,
305
+ };
306
+ }
307
+ await this.trigger("fetching", {
308
+ collection,
309
+ filter,
310
+ query,
311
+ options,
312
+ isMany: false,
313
+ });
314
+ const results = await query
315
+ .find(filter, options)
316
+ .sort({
317
+ id: "desc",
318
+ })
319
+ .limit(1)
320
+ .toArray();
321
+ const output = results.length > 0 ? results[0] : null;
322
+ await this.trigger("fetched", {
323
+ collection,
324
+ filter,
325
+ output,
326
+ isMany: false,
327
+ count: results.length,
328
+ });
329
+ return output;
330
+ }
331
+ /**
332
+ * Find multiple document for the given collection with the given filter
333
+ */
334
+ async list(collection, filter = {}, queryHandler, findOptions, { session = this.getCurrentSession() } = {}) {
335
+ const query = this.query(collection);
336
+ if (!findOptions?.session) {
337
+ findOptions = {
338
+ ...findOptions,
339
+ session,
340
+ };
341
+ }
342
+ await this.trigger("fetching", {
343
+ collection,
344
+ filter,
345
+ query,
346
+ findOptions,
347
+ isMany: true,
348
+ });
349
+ const findOperation = query.find(filter, findOptions);
350
+ if (queryHandler) {
351
+ queryHandler(findOperation);
352
+ }
353
+ const documents = await findOperation.toArray();
354
+ await this.trigger(this.eventName + ".fetched", {
355
+ collection,
356
+ filter,
357
+ documents,
358
+ findOptions,
359
+ isMany: true,
360
+ count: documents.length,
361
+ });
362
+ return documents;
363
+ }
364
+ /**
365
+ * Find latest documents for the given collection with the given filter
366
+ */
367
+ async latest(collection, filter = {}, findOptions, { session = this.getCurrentSession() } = {}) {
368
+ const query = this.query(collection);
369
+ if (!findOptions?.session) {
370
+ findOptions = {
371
+ ...findOptions,
372
+ session,
373
+ };
374
+ }
375
+ await this.trigger("fetching", {
376
+ collection,
377
+ filter,
378
+ query,
379
+ findOptions,
380
+ isMany: true,
381
+ });
382
+ const documents = await query
383
+ .find(filter, findOptions)
384
+ .sort({
385
+ id: "desc",
386
+ })
387
+ .toArray();
388
+ await this.trigger("fetched", {
389
+ collection,
390
+ filter,
391
+ documents,
392
+ findOptions,
393
+ isMany: true,
394
+ count: documents.length,
395
+ });
396
+ return documents;
397
+ }
398
+ /**
399
+ * Find oldest documents for the given collection with the given filter
400
+ */
401
+ async oldest(collection, filter = {}, findOptions, { session = this.getCurrentSession() } = {}) {
402
+ const query = this.query(collection);
403
+ if (!findOptions?.session) {
404
+ findOptions = {
405
+ ...findOptions,
406
+ session,
407
+ };
408
+ }
409
+ await this.trigger("fetching", {
410
+ collection,
411
+ filter,
412
+ query,
413
+ findOptions,
414
+ isMany: true,
415
+ });
416
+ const documents = await query
417
+ .find(filter, findOptions)
418
+ .sort({
419
+ id: "asc",
420
+ })
421
+ .toArray();
422
+ await this.trigger("fetched", {
423
+ collection,
424
+ filter,
425
+ documents,
426
+ findOptions,
427
+ count: documents.length,
428
+ isMany: true,
429
+ });
430
+ return documents;
431
+ }
432
+ /**
433
+ * Get distinct values for the given collection with the given filter
434
+ */
435
+ async distinct(collection, field, filter = {}, { session = this.getCurrentSession() } = {}) {
436
+ const query = this.query(collection);
437
+ await this.trigger("fetching", {
438
+ collection,
439
+ filter,
440
+ query,
441
+ isMany: true,
442
+ });
443
+ const data = await query.distinct(field, filter, {
444
+ session,
445
+ });
446
+ await this.trigger("fetched", {
447
+ collection,
448
+ filter,
449
+ data,
450
+ count: data.length,
451
+ isMany: true,
452
+ });
453
+ return data;
454
+ }
455
+ /**
456
+ * Count documents for the given collection with the given filter
457
+ */
458
+ async count(collection, filter = {}, options, { session = this.getCurrentSession() } = {}) {
459
+ const query = this.query(collection);
460
+ if (!options?.session) {
461
+ options = {
462
+ ...options,
463
+ session,
464
+ };
465
+ }
466
+ await this.trigger("counting", {
467
+ collection,
468
+ filter,
469
+ query,
470
+ });
471
+ const output = await query.countDocuments(filter, options);
472
+ await this.trigger("counted", {
473
+ collection,
474
+ filter,
475
+ output,
476
+ });
477
+ return output;
478
+ }
479
+ /**
480
+ * Create an explain fetch query
481
+ */
482
+ async explain(collection, filter = {}, findOptions, verbosity, { session = this.getCurrentSession() } = {}) {
483
+ const query = this.query(collection);
484
+ if (!findOptions?.session) {
485
+ findOptions = {
486
+ ...findOptions,
487
+ session,
488
+ };
489
+ }
490
+ await this.trigger("explaining", {
491
+ collection,
492
+ filter,
493
+ query,
494
+ });
495
+ const result = await query
496
+ .find(filter, {
497
+ ...(findOptions || {}),
498
+ explain: true,
499
+ })
500
+ .explain(verbosity);
501
+ await this.trigger("explained", {
502
+ collection,
503
+ filter,
504
+ result,
505
+ });
506
+ return result;
507
+ }
508
+ /**
509
+ * Create aggregate query
510
+ */
511
+ async aggregate(collection, pipeline, options, { session = this.getCurrentSession() } = {}) {
512
+ const query = this.query(collection);
513
+ if (!options?.session) {
514
+ options = {
515
+ ...options,
516
+ session,
517
+ };
518
+ }
519
+ await this.trigger("aggregating", {
520
+ collection,
521
+ pipeline,
522
+ options,
523
+ query,
524
+ });
525
+ const aggregate = await query.aggregate(pipeline, options);
526
+ await this.trigger("aggregated", {
527
+ collection,
528
+ pipeline,
529
+ options,
530
+ aggregate,
531
+ });
532
+ return aggregate;
533
+ }
534
+ /**
535
+ * Trigger event
536
+ */
537
+ async trigger(eventName, payload = {}) {
538
+ return Promise.all(eventName
539
+ .split(" ")
540
+ .map(async (eventName) => events__default.default.triggerAllAsync(this.eventName + "." + eventName, payload)));
541
+ }
542
+ /**
543
+ * Listen on creating event
544
+ */
545
+ onCreating(callback) {
546
+ this.on("creating", callback);
547
+ return this;
548
+ }
549
+ /**
550
+ * Listen on created event
551
+ */
552
+ onCreated(callback) {
553
+ this.on("created", callback);
554
+ return this;
555
+ }
556
+ /**
557
+ * Listen on updating event
558
+ */
559
+ onUpdating(callback) {
560
+ this.on("updating", callback);
561
+ return this;
562
+ }
563
+ /**
564
+ * Listen on updated event
565
+ */
566
+ onUpdated(callback) {
567
+ this.on("updated", callback);
568
+ return this;
569
+ }
570
+ /**
571
+ * Listen on upserting event
572
+ */
573
+ onUpserting(callback) {
574
+ this.on("upserting", callback);
575
+ return this;
576
+ }
577
+ /**
578
+ * Listen on upserted event
579
+ */
580
+ onUpserted(callback) {
581
+ this.on("upserted", callback);
582
+ return this;
583
+ }
584
+ /**
585
+ * Listen on replacing event
586
+ */
587
+ onReplacing(callback) {
588
+ this.on("replacing", callback);
589
+ return this;
590
+ }
591
+ /**
592
+ * Listen on replaced event
593
+ */
594
+ onReplaced(callback) {
595
+ this.on("replaced", callback);
596
+ return this;
597
+ }
598
+ /**
599
+ * Listen on saving event
600
+ */
601
+ onSaving(callback) {
602
+ this.on("saving", callback);
603
+ return this;
604
+ }
605
+ /**
606
+ * Listen on saved event
607
+ */
608
+ onSaved(callback) {
609
+ this.on("saved", callback);
610
+ return this;
611
+ }
612
+ /**
613
+ * Listen on fetching event
614
+ */
615
+ onFetching(callback) {
616
+ this.on("fetching", callback);
617
+ return this;
618
+ }
619
+ /**
620
+ * Listen on fetched event
621
+ */
622
+ onFetched(callback) {
623
+ this.on("fetched", callback);
624
+ return this;
625
+ }
626
+ /**
627
+ * Listen on counting event
628
+ */
629
+ onCounting(callback) {
630
+ this.on("counting", callback);
631
+ return this;
632
+ }
633
+ /**
634
+ * Listen on counted event
635
+ */
636
+ onCounted(callback) {
637
+ this.on("counted", callback);
638
+ return this;
639
+ }
640
+ /**
641
+ * Listen on explaining event
642
+ */
643
+ onExplaining(callback) {
644
+ this.on("explaining", callback);
645
+ return this;
646
+ }
647
+ /**
648
+ * Listen on explained event
649
+ */
650
+ onExplained(callback) {
651
+ this.on("explained", callback);
652
+ return this;
653
+ }
654
+ /**
655
+ * Listen on deleting event
656
+ */
657
+ onDeleting(callback) {
658
+ this.on("deleting", callback);
659
+ return this;
660
+ }
661
+ /**
662
+ * Listen on deleted event
663
+ */
664
+ onDeleted(callback) {
665
+ this.on("deleted", callback);
666
+ return this;
667
+ }
668
+ /**
669
+ * Listen to the given event
670
+ */
671
+ on(event, callback) {
672
+ events__default.default.on(this.eventName + "." + event, callback);
673
+ }
674
+ }
675
+ const query = new Query();exports.Query=Query;exports.query=query;//# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sources":["../../src/query/query.ts"],"sourcesContent":[null],"names":["database","Random","events"],"mappings":"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"}