@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
package/README.md ADDED
@@ -0,0 +1,97 @@
1
+ # cascade
2
+
3
+ A powerful and easy to use MongoDB driver for `Nodejs`
4
+
5
+ ## Features
6
+
7
+ cascade is a MongoDB driver for Nodejs, it's built on top of the official MongoDB driver, and it provides a simple and easy to use API for working with MongoDB, it is fast, efficient, reliable and will make your life easier with real world apps.
8
+
9
+ Some but not all of the features:
10
+
11
+
12
+ - **Easy to use:** `Cascade` is very easy to use, it's just a wrapper around MongoDB driver.
13
+ - **Supports multiple connections:** You can perform multiple connections to different MongoDB connections and use each one of them separately.
14
+ - **Supports multiple databases:** `Cascade` supports multiple databases, you can connect to multiple databases at the same time.
15
+ - **Powerful Aggregate framework:** `Cascade` has a powerful aggregate framework that helps you to perform complex queries.
16
+ - **Basic CRUD operations:** `Cascade` supports basic CRUD operations, you can perform create, read, update and delete operations.
17
+ - **Events Driven:** `Cascade` is events driven, you can listen to events and perform actions, for example before creating, updating or deleting a document.
18
+ - **Powerful Models:** `Cascade` has a powerful models system, a Model is a collection manager document based, it manages a collection's document easily with many utilities.
19
+ - **Learning curve:** `Cascade` has a very small learning curve, you can learn it in few minutes.
20
+ - **Pagination support:** `Cascade` supports pagination, you can paginate your results easily.
21
+ - **Output formatting:** `Cascade` supports output formatting, you can format your output easily when model is sent as a response.
22
+ - **Auto incremented id:** `Cascade` supports auto incremented id, you can use it as a primary key for your documents.
23
+ - **Random or sequential id:** `Cascade` supports random or sequential id.
24
+ - **Recycle Bin:** Reduce collection documents by removing the document entirely from the collection, but move it to a separate collection trash.
25
+ - **Migration system:** `Cascade` has a migration system, you can create migrations and run them easily.
26
+ - **Data casting:** You can cast your data to a specific type or using custom casting.
27
+ - **Embedded documents:** `Cascade` supports single and multiple embedded documents, you can embed documents inside other documents.
28
+ - **Syncing Models**: Auto update documents when model's data is updated or deleted.
29
+
30
+
31
+ ## Installation
32
+
33
+ ```bash
34
+ npm i @warlock.js/cascade
35
+ ```
36
+
37
+ Using yarn:
38
+
39
+ ```bash
40
+ yarn add @warlock.js/cascade
41
+ ```
42
+
43
+ Using pnpm:
44
+
45
+ ```bash
46
+ pnpm add @warlock.js/cascade
47
+ ```
48
+
49
+
50
+ ## Peek inside cascade
51
+
52
+ Here is a simple example of defining a User model:
53
+
54
+ ```ts title="src/models/user.ts"
55
+ import { Model } from "@warlock.js/cascade";
56
+
57
+ export class User extends Model {
58
+ /**
59
+ * The collection name
60
+ * Must be defined explicitly.
61
+ */
62
+ public static collection = "users";
63
+ }
64
+ ```
65
+
66
+ A quick example of creating a user:
67
+
68
+ ```ts title="src/controllers/users.ts"
69
+ import { User } from "src/models/user";
70
+
71
+ export async function createUser() {
72
+ const user = await User.create({
73
+ name: "Hasan Zohdy",
74
+ email: "hassanzohdy@gmail.com",
75
+ });
76
+
77
+ console.log(user.data);
78
+ }
79
+ ```
80
+
81
+ Outputs something similar to:
82
+
83
+ ```json
84
+ {
85
+ "id": 1231412,
86
+ "_id": "fagtrw43qwedasjoijwq",
87
+ "name": "Hasan Zohdy",
88
+ "email": "hassanzohdy@gmail.com",
89
+ "createdAt": "2023-06-01 00:00:00",
90
+ "updatedAt": "2023-06-01 00:00:00"
91
+ }
92
+ ```
93
+
94
+
95
+ ## Documentation
96
+
97
+ To see the full documentation, please visit [Cascade Documentation](https://warlock.js.org/docs/cascade/getting-started/introduction)
@@ -0,0 +1,10 @@
1
+ import { Pipeline } from "./pipeline";
2
+ export declare class DeselectPipeline extends Pipeline {
3
+ protected readonly columns: string[];
4
+ /**
5
+ * Constructor
6
+ */
7
+ constructor(columns: string[]);
8
+ }
9
+ export declare function deselectPipeline(columns: string[]): DeselectPipeline;
10
+ //# sourceMappingURL=DeselectPipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeselectPipeline.d.ts","sourceRoot":"","sources":["../../src/aggregate/DeselectPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,gBAAiB,SAAQ,QAAQ;IAIzB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;IAHvD;;OAEG;gBACmC,OAAO,EAAE,MAAM,EAAE;CAWxD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,oBAEjD"}
@@ -0,0 +1,17 @@
1
+ 'use strict';var pipeline=require('./pipeline.js');class DeselectPipeline extends pipeline.Pipeline {
2
+ columns;
3
+ /**
4
+ * Constructor
5
+ */
6
+ constructor(columns) {
7
+ super("project");
8
+ this.columns = columns;
9
+ this.data(columns.reduce((acc, column) => {
10
+ acc[column] = 0;
11
+ return acc;
12
+ }, {}));
13
+ }
14
+ }
15
+ function deselectPipeline(columns) {
16
+ return new DeselectPipeline(columns);
17
+ }exports.DeselectPipeline=DeselectPipeline;exports.deselectPipeline=deselectPipeline;//# sourceMappingURL=DeselectPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeselectPipeline.js","sources":["../../src/aggregate/DeselectPipeline.ts"],"sourcesContent":[null],"names":["Pipeline"],"mappings":"mDAEM,MAAO,gBAAiB,SAAQA,iBAAQ,CAAA;AAIN,IAAA,OAAA,CAAA;AAHtC;;AAEG;AACH,IAAA,WAAA,CAAsC,OAAiB,EAAA;QACrD,KAAK,CAAC,SAAS,CAAC,CAAC;QADmB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAU;AAGrD,QAAA,IAAI,CAAC,IAAI,CACP,OAAO,CAAC,MAAM,CAAC,CAAC,GAAsB,EAAE,MAAM,KAAI;AAChD,YAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAEhB,YAAA,OAAO,GAAG,CAAC;AACb,SAAC,EAAE,EAAE,CAAC,CACP,CAAC;KACH;AACF,CAAA;AAEK,SAAU,gBAAgB,CAAC,OAAiB,EAAA;AAChD,IAAA,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACvC"}
@@ -0,0 +1,34 @@
1
+ import { Pipeline } from "./pipeline";
2
+ import { GeoLocation } from "./types";
3
+ export declare class GeoNearPipeline extends Pipeline {
4
+ protected readonly column: string;
5
+ protected readonly location: GeoLocation;
6
+ protected readonly maxDistance?: number;
7
+ protected readonly minDistance?: number;
8
+ /**
9
+ * Constructor
10
+ */
11
+ constructor(column: string, location: GeoLocation, maxDistance?: number, minDistance?: number);
12
+ /**
13
+ * {@inheritdoc}
14
+ */
15
+ parse(): {
16
+ $geoNear: {
17
+ spherical: boolean;
18
+ distanceMultiplier: number;
19
+ minDistance: number;
20
+ maxDistance: number;
21
+ near: {
22
+ type: string;
23
+ coordinates: number[];
24
+ };
25
+ distanceField: string;
26
+ };
27
+ };
28
+ /**
29
+ * Sort Order
30
+ */
31
+ sortOrder(): number;
32
+ }
33
+ export declare function geoNearPipeline(column: string, location: GeoLocation, maxDistance?: number, minDistance?: number): GeoNearPipeline;
34
+ //# sourceMappingURL=GeoNearPipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeoNearPipeline.d.ts","sourceRoot":"","sources":["../../src/aggregate/GeoNearPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,qBAAa,eAAgB,SAAQ,QAAQ;IAKzC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACjC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW;IACxC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM;IACvC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM;IAPzC;;OAEG;gBAEkB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM;IAKzC;;OAEG;IACI,KAAK;;;;;;;;;;;;;IAiBZ;;OAEG;IACI,SAAS;CAGjB;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,mBAGrB"}
@@ -0,0 +1,44 @@
1
+ 'use strict';var pipeline=require('./pipeline.js');class GeoNearPipeline extends pipeline.Pipeline {
2
+ column;
3
+ location;
4
+ maxDistance;
5
+ minDistance;
6
+ /**
7
+ * Constructor
8
+ */
9
+ constructor(column, location, maxDistance, minDistance) {
10
+ super("geoNear");
11
+ this.column = column;
12
+ this.location = location;
13
+ this.maxDistance = maxDistance;
14
+ this.minDistance = minDistance;
15
+ }
16
+ /**
17
+ * {@inheritdoc}
18
+ */
19
+ parse() {
20
+ return {
21
+ $geoNear: {
22
+ near: {
23
+ type: "Point",
24
+ coordinates: [this.location.lng, this.location.lat],
25
+ },
26
+ distanceField: this.column,
27
+ ...(this.maxDistance && { maxDistance: this.maxDistance }),
28
+ ...(this.minDistance && { minDistance: this.minDistance }),
29
+ spherical: true,
30
+ // distance should be calculated in kilometers
31
+ distanceMultiplier: 0.001,
32
+ },
33
+ };
34
+ }
35
+ /**
36
+ * Sort Order
37
+ */
38
+ sortOrder() {
39
+ return -1;
40
+ }
41
+ }
42
+ function geoNearPipeline(column, location, maxDistance, minDistance) {
43
+ return new GeoNearPipeline(column, location, maxDistance, minDistance);
44
+ }exports.GeoNearPipeline=GeoNearPipeline;exports.geoNearPipeline=geoNearPipeline;//# sourceMappingURL=GeoNearPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeoNearPipeline.js","sources":["../../src/aggregate/GeoNearPipeline.ts"],"sourcesContent":[null],"names":["Pipeline"],"mappings":"mDAGM,MAAO,eAAgB,SAAQA,iBAAQ,CAAA;AAKtB,IAAA,MAAA,CAAA;AACA,IAAA,QAAA,CAAA;AACA,IAAA,WAAA,CAAA;AACA,IAAA,WAAA,CAAA;AAPrB;;AAEG;AACH,IAAA,WAAA,CACqB,MAAc,EACd,QAAqB,EACrB,WAAoB,EACpB,WAAoB,EAAA;QAEvC,KAAK,CAAC,SAAS,CAAC,CAAC;QALE,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAa;QACrB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAS;QACpB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAS;KAGxC;AAED;;AAEG;IACI,KAAK,GAAA;QACV,OAAO;AACL,YAAA,QAAQ,EAAE;AACR,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,WAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AACpD,iBAAA;gBACD,aAAa,EAAE,IAAI,CAAC,MAAM;AAC1B,gBAAA,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AACzD,gBAAA,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AACzD,gBAAA,SAAS,EAAE,IAAI;;AAEf,gBAAA,kBAAkB,EAAE,KAAK;AAC1B,aAAA;SACF,CAAC;KACH;AAED;;AAEG;IACI,SAAS,GAAA;QACd,OAAO,CAAC,CAAC,CAAC;KACX;AACF,CAAA;AAEK,SAAU,eAAe,CAC7B,MAAc,EACd,QAAqB,EACrB,WAAoB,EACpB,WAAoB,EAAA;IAEpB,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AACzE"}
@@ -0,0 +1,12 @@
1
+ import { GenericObject } from "@mongez/reinforcements";
2
+ import { Pipeline } from "./pipeline";
3
+ export declare class GroupByPipeline extends Pipeline {
4
+ protected readonly _id: string | null | GenericObject | string[];
5
+ protected groupByData: GenericObject;
6
+ /**
7
+ * Constructor
8
+ */
9
+ constructor(_id: string | null | GenericObject | string[], groupByData?: GenericObject);
10
+ }
11
+ export declare function groupByPipeline(column: string | null | GenericObject, groupByData: Record<string, any>): GroupByPipeline;
12
+ //# sourceMappingURL=GroupByPipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupByPipeline.d.ts","sourceRoot":"","sources":["../../src/aggregate/GroupByPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,eAAgB,SAAQ,QAAQ;IAKzC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,GAAG,MAAM,EAAE;IAChE,SAAS,CAAC,WAAW,EAAE,aAAa;IALtC;;OAEG;gBAEkB,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,GAAG,MAAM,EAAE,EACtD,WAAW,GAAE,aAAkB;CAqB5C;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,EACrC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,mBAGjC"}
@@ -0,0 +1,28 @@
1
+ 'use strict';var expressions=require('./expressions.js'),pipeline=require('./pipeline.js');class GroupByPipeline extends pipeline.Pipeline {
2
+ _id;
3
+ groupByData;
4
+ /**
5
+ * Constructor
6
+ */
7
+ constructor(_id, groupByData = {}) {
8
+ super("group");
9
+ this._id = _id;
10
+ this.groupByData = groupByData;
11
+ if (typeof _id === "string") {
12
+ _id = expressions.$agg.columnName(_id);
13
+ }
14
+ if (Array.isArray(_id)) {
15
+ _id = _id.reduce((result, column) => {
16
+ result[column.split(".")[0]] = expressions.$agg.columnName(column);
17
+ return result;
18
+ }, {});
19
+ }
20
+ this.data({
21
+ _id: _id,
22
+ ...this.groupByData,
23
+ });
24
+ }
25
+ }
26
+ function groupByPipeline(column, groupByData) {
27
+ return new GroupByPipeline(column, groupByData);
28
+ }exports.GroupByPipeline=GroupByPipeline;exports.groupByPipeline=groupByPipeline;//# sourceMappingURL=GroupByPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupByPipeline.js","sources":["../../src/aggregate/GroupByPipeline.ts"],"sourcesContent":[null],"names":["Pipeline","$agg"],"mappings":"2FAIM,MAAO,eAAgB,SAAQA,iBAAQ,CAAA;AAKtB,IAAA,GAAA,CAAA;AACT,IAAA,WAAA,CAAA;AALZ;;AAEG;IACH,WACqB,CAAA,GAA6C,EACtD,WAAA,GAA6B,EAAE,EAAA;QAEzC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHI,IAAG,CAAA,GAAA,GAAH,GAAG,CAA0C;QACtD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAoB;AAIzC,QAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC3B,YAAA,GAAG,GAAGC,gBAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC5B,SAAA;AAED,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtB,GAAG,GAAI,GAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,KAAI;AAChD,gBAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGA,gBAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAEvD,gBAAA,OAAO,MAAM,CAAC;aACf,EAAE,EAAS,CAAC,CAAC;AACf,SAAA;QAED,IAAI,CAAC,IAAI,CAAC;AACR,YAAA,GAAG,EAAE,GAAG;YACR,GAAG,IAAI,CAAC,WAAW;AACpB,SAAA,CAAC,CAAC;KACJ;AACF,CAAA;AAEe,SAAA,eAAe,CAC7B,MAAqC,EACrC,WAAgC,EAAA;AAEhC,IAAA,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAClD"}
@@ -0,0 +1,10 @@
1
+ import { Pipeline } from "./pipeline";
2
+ export declare class LimitPipeline extends Pipeline {
3
+ protected readonly limit: number;
4
+ /**
5
+ * Constructor
6
+ */
7
+ constructor(limit: number);
8
+ }
9
+ export declare function limitPipeline(limit: number): LimitPipeline;
10
+ //# sourceMappingURL=LimitPipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LimitPipeline.d.ts","sourceRoot":"","sources":["../../src/aggregate/LimitPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,aAAc,SAAQ,QAAQ;IAItB,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM;IAHnD;;OAEG;gBACmC,KAAK,EAAE,MAAM;CAKpD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,iBAE1C"}
@@ -0,0 +1,14 @@
1
+ 'use strict';var pipeline=require('./pipeline.js');class LimitPipeline extends pipeline.Pipeline {
2
+ limit;
3
+ /**
4
+ * Constructor
5
+ */
6
+ constructor(limit) {
7
+ super("limit");
8
+ this.limit = limit;
9
+ this.data(limit);
10
+ }
11
+ }
12
+ function limitPipeline(limit) {
13
+ return new LimitPipeline(limit);
14
+ }exports.LimitPipeline=LimitPipeline;exports.limitPipeline=limitPipeline;//# sourceMappingURL=LimitPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LimitPipeline.js","sources":["../../src/aggregate/LimitPipeline.ts"],"sourcesContent":[null],"names":["Pipeline"],"mappings":"mDAEM,MAAO,aAAc,SAAQA,iBAAQ,CAAA;AAIH,IAAA,KAAA,CAAA;AAHtC;;AAEG;AACH,IAAA,WAAA,CAAsC,KAAa,EAAA;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;QADqB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;AAGjD,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAClB;AACF,CAAA;AAEK,SAAU,aAAa,CAAC,KAAa,EAAA;AACzC,IAAA,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;AAClC"}
@@ -0,0 +1,19 @@
1
+ import { GenericObject } from "@mongez/reinforcements";
2
+ import { Pipeline } from "./pipeline";
3
+ export type LookupPipelineOptions = {
4
+ from: string;
5
+ localField?: string;
6
+ foreignField?: string;
7
+ as?: string;
8
+ single?: boolean;
9
+ pipeline?: (Pipeline | GenericObject)[];
10
+ let?: GenericObject;
11
+ };
12
+ export declare class LookupPipeline extends Pipeline {
13
+ /**
14
+ * Constructor
15
+ */
16
+ constructor(options: LookupPipelineOptions);
17
+ }
18
+ export declare function lookupPipeline(options: LookupPipelineOptions): LookupPipeline;
19
+ //# sourceMappingURL=LookupPipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LookupPipeline.d.ts","sourceRoot":"","sources":["../../src/aggregate/LookupPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC;IACxC,GAAG,CAAC,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,qBAAa,cAAe,SAAQ,QAAQ;IAC1C;;OAEG;gBACgB,OAAO,EAAE,qBAAqB;CAalD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,kBAE5D"}
@@ -0,0 +1,19 @@
1
+ 'use strict';var parsePipelines=require('./parsePipelines.js'),pipeline=require('./pipeline.js');class LookupPipeline extends pipeline.Pipeline {
2
+ /**
3
+ * Constructor
4
+ */
5
+ constructor(options) {
6
+ super("lookup");
7
+ const { from, localField, foreignField, as, pipeline = [] } = options;
8
+ this.data({
9
+ from,
10
+ localField,
11
+ foreignField,
12
+ as,
13
+ pipeline: parsePipelines.parsePipelines(pipeline),
14
+ });
15
+ }
16
+ }
17
+ function lookupPipeline(options) {
18
+ return new LookupPipeline(options);
19
+ }exports.LookupPipeline=LookupPipeline;exports.lookupPipeline=lookupPipeline;//# sourceMappingURL=LookupPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LookupPipeline.js","sources":["../../src/aggregate/LookupPipeline.ts"],"sourcesContent":[null],"names":["Pipeline","parsePipelines"],"mappings":"iGAcM,MAAO,cAAe,SAAQA,iBAAQ,CAAA;AAC1C;;AAEG;AACH,IAAA,WAAA,CAAmB,OAA8B,EAAA;QAC/C,KAAK,CAAC,QAAQ,CAAC,CAAC;AAEhB,QAAA,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QAEtE,IAAI,CAAC,IAAI,CAAC;YACR,IAAI;YACJ,UAAU;YACV,YAAY;YACZ,EAAE;AACF,YAAA,QAAQ,EAAEC,6BAAc,CAAC,QAAQ,CAAC;AACnC,SAAA,CAAC,CAAC;KACJ;AACF,CAAA;AAEK,SAAU,cAAc,CAAC,OAA8B,EAAA;AAC3D,IAAA,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AACrC"}
@@ -0,0 +1,23 @@
1
+ import { GenericObject } from "@mongez/reinforcements";
2
+ import { WherePipeline } from "./WherePipeline";
3
+ export declare class OrWherePipeline extends WherePipeline {
4
+ /**
5
+ * Constructor
6
+ */
7
+ constructor(...operations: GenericObject[]);
8
+ constructor(...operations: [column: string, value: any][]);
9
+ /**
10
+ * {@inheritDoc}
11
+ */
12
+ parse(): {
13
+ $match: {
14
+ $or: {
15
+ [key: string]: any;
16
+ }[];
17
+ };
18
+ };
19
+ }
20
+ export declare function orWherePipeline(column: string, value: any): OrWherePipeline;
21
+ export declare function orWherePipeline(column: string, operator: string, value: any): OrWherePipeline;
22
+ export declare function orWherePipeline(column: any): OrWherePipeline;
23
+ //# sourceMappingURL=OrWherePipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrWherePipeline.d.ts","sourceRoot":"","sources":["../../src/aggregate/OrWherePipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,eAAgB,SAAQ,aAAa;IAChD;;OAEG;gBAEgB,GAAG,UAAU,EAAE,aAAa,EAAE;gBAC9B,GAAG,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE;IAIhE;;OAEG;IACI,KAAK;;;;;;;CAkCb;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,eAAe,CAAC;AAC7E,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,GAAG,GACT,eAAe,CAAC;AACnB,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,eAAe,CAAC"}
@@ -0,0 +1,42 @@
1
+ 'use strict';var WhereExpression=require('./WhereExpression.js'),WherePipeline=require('./WherePipeline.js');class OrWherePipeline extends WherePipeline.WherePipeline {
2
+ constructor(expression) {
3
+ super(expression);
4
+ }
5
+ /**
6
+ * {@inheritDoc}
7
+ */
8
+ parse() {
9
+ const data = [];
10
+ // we have three types of where
11
+ // first one is an array of arrays, each array contains two items, column and value
12
+ // second one is an array of objects, each object contains column and value
13
+ // third one is an object, each key is the column and the value is the value
14
+ if (Array.isArray(this.pipelineData)) {
15
+ for (const operation of this.pipelineData) {
16
+ if (Array.isArray(operation)) {
17
+ data.push({
18
+ [operation[0]]: operation[1],
19
+ });
20
+ }
21
+ else {
22
+ data.push(operation);
23
+ }
24
+ }
25
+ }
26
+ else {
27
+ for (const column in this.pipelineData) {
28
+ data.push({
29
+ [column]: this.pipelineData[column],
30
+ });
31
+ }
32
+ }
33
+ return {
34
+ $match: {
35
+ $or: data,
36
+ },
37
+ };
38
+ }
39
+ }
40
+ function orWherePipeline(...args) {
41
+ return new OrWherePipeline(WhereExpression.WhereExpression.parse.apply(null, args));
42
+ }exports.OrWherePipeline=OrWherePipeline;exports.orWherePipeline=orWherePipeline;//# sourceMappingURL=OrWherePipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrWherePipeline.js","sources":["../../src/aggregate/OrWherePipeline.ts"],"sourcesContent":[null],"names":["WherePipeline","WhereExpression"],"mappings":"6GAIM,MAAO,eAAgB,SAAQA,2BAAa,CAAA;AAOhD,IAAA,WAAA,CAAmB,UAAyB,EAAA;QAC1C,KAAK,CAAC,UAAU,CAAC,CAAC;KACnB;AACD;;AAEG;IACI,KAAK,GAAA;QACV,MAAM,IAAI,GAEJ,EAAE,CAAC;;;;;QAOT,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;AACpC,YAAA,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE;AACzC,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBAC5B,IAAI,CAAC,IAAI,CAAC;wBACR,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;AAC7B,qBAAA,CAAC,CAAC;AACJ,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACtB,iBAAA;AACF,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE;gBACtC,IAAI,CAAC,IAAI,CAAC;oBACR,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AACpC,iBAAA,CAAC,CAAC;AACJ,aAAA;AACF,SAAA;QAED,OAAO;AACL,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,EAAE,IAAI;AACV,aAAA;SACF,CAAC;KACH;AACF,CAAA;AASe,SAAA,eAAe,CAAC,GAAG,IAAW,EAAA;AAC5C,IAAA,OAAO,IAAI,eAAe,CAACC,+BAAe,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAW,CAAC,CAAC,CAAC;AAC7E"}
@@ -0,0 +1,10 @@
1
+ import { Pipeline } from "./pipeline";
2
+ export declare class SelectPipeline extends Pipeline {
3
+ protected readonly columns: string[] | Record<string, 0 | 1 | boolean>;
4
+ /**
5
+ * Constructor
6
+ */
7
+ constructor(columns: string[] | Record<string, 0 | 1 | boolean>);
8
+ }
9
+ export declare function selectPipeline(columns: string[] | Record<string, 0 | 1 | boolean>): SelectPipeline;
10
+ //# sourceMappingURL=SelectPipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectPipeline.d.ts","sourceRoot":"","sources":["../../src/aggregate/SelectPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,cAAe,SAAQ,QAAQ;IAKxC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IAJxE;;OAEG;gBAEkB,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;CAqBzE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,kBAGpD"}
@@ -0,0 +1,26 @@
1
+ 'use strict';var pipeline=require('./pipeline.js');class SelectPipeline extends pipeline.Pipeline {
2
+ columns;
3
+ /**
4
+ * Constructor
5
+ */
6
+ constructor(columns) {
7
+ super("project");
8
+ this.columns = columns;
9
+ const selections = {};
10
+ if (Array.isArray(columns)) {
11
+ this.data(columns.reduce((selections, column) => {
12
+ selections[column] = 1;
13
+ return selections;
14
+ }, selections));
15
+ }
16
+ else {
17
+ for (const column in columns) {
18
+ selections[column] = columns[column] ? 1 : 0;
19
+ }
20
+ this.data(selections);
21
+ }
22
+ }
23
+ }
24
+ function selectPipeline(columns) {
25
+ return new SelectPipeline(columns);
26
+ }exports.SelectPipeline=SelectPipeline;exports.selectPipeline=selectPipeline;//# sourceMappingURL=SelectPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectPipeline.js","sources":["../../src/aggregate/SelectPipeline.ts"],"sourcesContent":[null],"names":["Pipeline"],"mappings":"mDAEM,MAAO,cAAe,SAAQA,iBAAQ,CAAA;AAKrB,IAAA,OAAA,CAAA;AAJrB;;AAEG;AACH,IAAA,WAAA,CACqB,OAAmD,EAAA;QAEtE,KAAK,CAAC,SAAS,CAAC,CAAC;QAFE,IAAO,CAAA,OAAA,GAAP,OAAO,CAA4C;QAGtE,MAAM,UAAU,GAA0B,EAAE,CAAC;AAE7C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC1B,YAAA,IAAI,CAAC,IAAI,CACP,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,KAAI;AACpC,gBAAA,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAEvB,gBAAA,OAAO,UAAU,CAAC;AACpB,aAAC,EAAE,UAAU,CAAC,CACf,CAAC;AACH,SAAA;AAAM,aAAA;AACL,YAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;AAC5B,gBAAA,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9C,aAAA;AAED,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACvB,SAAA;KACF;AACF,CAAA;AAEK,SAAU,cAAc,CAC5B,OAAmD,EAAA;AAEnD,IAAA,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AACrC"}
@@ -0,0 +1,10 @@
1
+ import { Pipeline } from "./pipeline";
2
+ export declare class SkipPipeline extends Pipeline {
3
+ protected readonly skip: number;
4
+ /**
5
+ * Constructor
6
+ */
7
+ constructor(skip: number);
8
+ }
9
+ export declare function skipPipeline(skip: number): SkipPipeline;
10
+ //# sourceMappingURL=SkipPipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkipPipeline.d.ts","sourceRoot":"","sources":["../../src/aggregate/SkipPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,YAAa,SAAQ,QAAQ;IAIrB,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAHlD;;OAEG;gBACmC,IAAI,EAAE,MAAM;CAKnD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,gBAExC"}
@@ -0,0 +1,14 @@
1
+ 'use strict';var pipeline=require('./pipeline.js');class SkipPipeline extends pipeline.Pipeline {
2
+ skip;
3
+ /**
4
+ * Constructor
5
+ */
6
+ constructor(skip) {
7
+ super("skip");
8
+ this.skip = skip;
9
+ this.data(skip);
10
+ }
11
+ }
12
+ function skipPipeline(skip) {
13
+ return new SkipPipeline(skip);
14
+ }exports.SkipPipeline=SkipPipeline;exports.skipPipeline=skipPipeline;//# sourceMappingURL=SkipPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkipPipeline.js","sources":["../../src/aggregate/SkipPipeline.ts"],"sourcesContent":[null],"names":["Pipeline"],"mappings":"mDAEM,MAAO,YAAa,SAAQA,iBAAQ,CAAA;AAIF,IAAA,IAAA,CAAA;AAHtC;;AAEG;AACH,IAAA,WAAA,CAAsC,IAAY,EAAA;QAChD,KAAK,CAAC,MAAM,CAAC,CAAC;QADsB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;AAGhD,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjB;AACF,CAAA;AAEK,SAAU,YAAY,CAAC,IAAY,EAAA;AACvC,IAAA,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;AAChC"}
@@ -0,0 +1,10 @@
1
+ import { Pipeline } from "./pipeline";
2
+ export declare class SortByPipeline extends Pipeline {
3
+ protected readonly columns: Record<string, "desc" | "asc">;
4
+ /**
5
+ * Constructor
6
+ */
7
+ constructor(columns: Record<string, "desc" | "asc">);
8
+ }
9
+ export declare function sortByPipeline(columns: Record<string, "desc" | "asc">): SortByPipeline;
10
+ //# sourceMappingURL=SortByPipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortByPipeline.d.ts","sourceRoot":"","sources":["../../src/aggregate/SortByPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,cAAe,SAAQ,QAAQ;IAKxC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IAJ5D;;OAEG;gBAEkB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;CAY7D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,kBAErE"}
@@ -0,0 +1,18 @@
1
+ 'use strict';var pipeline=require('./pipeline.js');class SortByPipeline extends pipeline.Pipeline {
2
+ columns;
3
+ /**
4
+ * Constructor
5
+ */
6
+ constructor(columns) {
7
+ super("sort");
8
+ this.columns = columns;
9
+ const data = {};
10
+ for (const column in columns) {
11
+ data[column] = columns[column] === "asc" ? 1 : -1;
12
+ }
13
+ this.data(data);
14
+ }
15
+ }
16
+ function sortByPipeline(columns) {
17
+ return new SortByPipeline(columns);
18
+ }exports.SortByPipeline=SortByPipeline;exports.sortByPipeline=sortByPipeline;//# sourceMappingURL=SortByPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortByPipeline.js","sources":["../../src/aggregate/SortByPipeline.ts"],"sourcesContent":[null],"names":["Pipeline"],"mappings":"mDAEM,MAAO,cAAe,SAAQA,iBAAQ,CAAA;AAKrB,IAAA,OAAA,CAAA;AAJrB;;AAEG;AACH,IAAA,WAAA,CACqB,OAAuC,EAAA;QAE1D,KAAK,CAAC,MAAM,CAAC,CAAC;QAFK,IAAO,CAAA,OAAA,GAAP,OAAO,CAAgC;QAI1D,MAAM,IAAI,GAA2B,EAAE,CAAC;AAExC,QAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;AAC5B,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjB;AACF,CAAA;AAEK,SAAU,cAAc,CAAC,OAAuC,EAAA;AACpE,IAAA,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AACrC"}
@@ -0,0 +1,11 @@
1
+ import { Pipeline } from "./pipeline";
2
+ export declare class SortPipeline extends Pipeline {
3
+ protected readonly column: string;
4
+ protected readonly direction: "asc" | "desc";
5
+ /**
6
+ * Constructor
7
+ */
8
+ constructor(column: string, direction?: "asc" | "desc");
9
+ }
10
+ export declare function sortPipeline(column: string, direction?: "asc" | "desc"): SortPipeline;
11
+ //# sourceMappingURL=SortPipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortPipeline.d.ts","sourceRoot":"","sources":["../../src/aggregate/SortPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,YAAa,SAAQ,QAAQ;IAKtC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACjC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,MAAM;IAL9C;;OAEG;gBAEkB,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,KAAK,GAAG,MAAc;CAQvD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,KAAK,GAAG,MAAc,gBAGlC"}
@@ -0,0 +1,18 @@
1
+ 'use strict';var pipeline=require('./pipeline.js');class SortPipeline extends pipeline.Pipeline {
2
+ column;
3
+ direction;
4
+ /**
5
+ * Constructor
6
+ */
7
+ constructor(column, direction = "asc") {
8
+ super("sort");
9
+ this.column = column;
10
+ this.direction = direction;
11
+ this.data({
12
+ [column]: direction === "asc" ? 1 : -1,
13
+ });
14
+ }
15
+ }
16
+ function sortPipeline(column, direction = "asc") {
17
+ return new SortPipeline(column, direction);
18
+ }exports.SortPipeline=SortPipeline;exports.sortPipeline=sortPipeline;//# sourceMappingURL=SortPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortPipeline.js","sources":["../../src/aggregate/SortPipeline.ts"],"sourcesContent":[null],"names":["Pipeline"],"mappings":"mDAEM,MAAO,YAAa,SAAQA,iBAAQ,CAAA;AAKnB,IAAA,MAAA,CAAA;AACA,IAAA,SAAA,CAAA;AALrB;;AAEG;IACH,WACqB,CAAA,MAAc,EACd,SAAA,GAA4B,KAAK,EAAA;QAEpD,KAAK,CAAC,MAAM,CAAC,CAAC;QAHK,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAS,CAAA,SAAA,GAAT,SAAS,CAAwB;QAIpD,IAAI,CAAC,IAAI,CAAC;AACR,YAAA,CAAC,MAAM,GAAG,SAAS,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;AACvC,SAAA,CAAC,CAAC;KACJ;AACF,CAAA;SAEe,YAAY,CAC1B,MAAc,EACd,YAA4B,KAAK,EAAA;AAEjC,IAAA,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAC7C"}
@@ -0,0 +1,10 @@
1
+ import { Pipeline } from "./pipeline";
2
+ export declare class SortRandomPipeline extends Pipeline {
3
+ protected readonly size: number;
4
+ /**
5
+ * Constructor
6
+ */
7
+ constructor(size: number);
8
+ }
9
+ export declare function sortRandomPipeline(size: number): SortRandomPipeline;
10
+ //# sourceMappingURL=SortRandomPipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortRandomPipeline.d.ts","sourceRoot":"","sources":["../../src/aggregate/SortRandomPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,qBAAa,kBAAmB,SAAQ,QAAQ;IAI3B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAHlD;;OAEG;gBACmC,IAAI,EAAE,MAAM;CAOnD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,sBAE9C"}
@@ -0,0 +1,16 @@
1
+ 'use strict';var pipeline=require('./pipeline.js');class SortRandomPipeline extends pipeline.Pipeline {
2
+ size;
3
+ /**
4
+ * Constructor
5
+ */
6
+ constructor(size) {
7
+ super("sample");
8
+ this.size = size;
9
+ this.data({
10
+ size,
11
+ });
12
+ }
13
+ }
14
+ function sortRandomPipeline(size) {
15
+ return new SortRandomPipeline(size);
16
+ }exports.SortRandomPipeline=SortRandomPipeline;exports.sortRandomPipeline=sortRandomPipeline;//# sourceMappingURL=SortRandomPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortRandomPipeline.js","sources":["../../src/aggregate/SortRandomPipeline.ts"],"sourcesContent":[null],"names":["Pipeline"],"mappings":"mDAEM,MAAO,kBAAmB,SAAQA,iBAAQ,CAAA;AAIR,IAAA,IAAA,CAAA;AAHtC;;AAEG;AACH,IAAA,WAAA,CAAsC,IAAY,EAAA;QAChD,KAAK,CAAC,QAAQ,CAAC,CAAC;QADoB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;QAGhD,IAAI,CAAC,IAAI,CAAC;YACR,IAAI;AACL,SAAA,CAAC,CAAC;KACJ;AACF,CAAA;AAEK,SAAU,kBAAkB,CAAC,IAAY,EAAA;AAC7C,IAAA,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACtC"}