@warlock.js/cascade 4.0.30 → 4.0.39

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 (533) hide show
  1. package/cjs/index.js +15 -1
  2. package/cjs/index.js.map +1 -1
  3. package/esm/index.js +15 -1
  4. package/esm/index.js.map +1 -1
  5. package/package.json +52 -61
  6. package/cjs/aggregate/DeselectPipeline.d.ts +0 -10
  7. package/cjs/aggregate/DeselectPipeline.d.ts.map +0 -1
  8. package/cjs/aggregate/DeselectPipeline.js +0 -17
  9. package/cjs/aggregate/DeselectPipeline.js.map +0 -1
  10. package/cjs/aggregate/GeoNearPipeline.d.ts +0 -34
  11. package/cjs/aggregate/GeoNearPipeline.d.ts.map +0 -1
  12. package/cjs/aggregate/GeoNearPipeline.js +0 -44
  13. package/cjs/aggregate/GeoNearPipeline.js.map +0 -1
  14. package/cjs/aggregate/GroupByPipeline.d.ts +0 -12
  15. package/cjs/aggregate/GroupByPipeline.d.ts.map +0 -1
  16. package/cjs/aggregate/GroupByPipeline.js +0 -28
  17. package/cjs/aggregate/GroupByPipeline.js.map +0 -1
  18. package/cjs/aggregate/LimitPipeline.d.ts +0 -10
  19. package/cjs/aggregate/LimitPipeline.d.ts.map +0 -1
  20. package/cjs/aggregate/LimitPipeline.js +0 -14
  21. package/cjs/aggregate/LimitPipeline.js.map +0 -1
  22. package/cjs/aggregate/LookupPipeline.d.ts +0 -19
  23. package/cjs/aggregate/LookupPipeline.d.ts.map +0 -1
  24. package/cjs/aggregate/LookupPipeline.js +0 -23
  25. package/cjs/aggregate/LookupPipeline.js.map +0 -1
  26. package/cjs/aggregate/OrWherePipeline.d.ts +0 -21
  27. package/cjs/aggregate/OrWherePipeline.d.ts.map +0 -1
  28. package/cjs/aggregate/OrWherePipeline.js +0 -63
  29. package/cjs/aggregate/OrWherePipeline.js.map +0 -1
  30. package/cjs/aggregate/SelectPipeline.d.ts +0 -10
  31. package/cjs/aggregate/SelectPipeline.d.ts.map +0 -1
  32. package/cjs/aggregate/SelectPipeline.js +0 -26
  33. package/cjs/aggregate/SelectPipeline.js.map +0 -1
  34. package/cjs/aggregate/SkipPipeline.d.ts +0 -10
  35. package/cjs/aggregate/SkipPipeline.d.ts.map +0 -1
  36. package/cjs/aggregate/SkipPipeline.js +0 -14
  37. package/cjs/aggregate/SkipPipeline.js.map +0 -1
  38. package/cjs/aggregate/SortByPipeline.d.ts +0 -10
  39. package/cjs/aggregate/SortByPipeline.d.ts.map +0 -1
  40. package/cjs/aggregate/SortByPipeline.js +0 -18
  41. package/cjs/aggregate/SortByPipeline.js.map +0 -1
  42. package/cjs/aggregate/SortPipeline.d.ts +0 -11
  43. package/cjs/aggregate/SortPipeline.d.ts.map +0 -1
  44. package/cjs/aggregate/SortPipeline.js +0 -18
  45. package/cjs/aggregate/SortPipeline.js.map +0 -1
  46. package/cjs/aggregate/SortRandomPipeline.d.ts +0 -10
  47. package/cjs/aggregate/SortRandomPipeline.d.ts.map +0 -1
  48. package/cjs/aggregate/SortRandomPipeline.js +0 -16
  49. package/cjs/aggregate/SortRandomPipeline.js.map +0 -1
  50. package/cjs/aggregate/UnwindPipeline.d.ts +0 -14
  51. package/cjs/aggregate/UnwindPipeline.d.ts.map +0 -1
  52. package/cjs/aggregate/UnwindPipeline.js +0 -19
  53. package/cjs/aggregate/UnwindPipeline.js.map +0 -1
  54. package/cjs/aggregate/WhereExpression.d.ts +0 -17
  55. package/cjs/aggregate/WhereExpression.d.ts.map +0 -1
  56. package/cjs/aggregate/WhereExpression.js +0 -149
  57. package/cjs/aggregate/WhereExpression.js.map +0 -1
  58. package/cjs/aggregate/WhereExpressionPipeline.d.ts +0 -10
  59. package/cjs/aggregate/WhereExpressionPipeline.d.ts.map +0 -1
  60. package/cjs/aggregate/WhereExpressionPipeline.js +0 -15
  61. package/cjs/aggregate/WhereExpressionPipeline.js.map +0 -1
  62. package/cjs/aggregate/WherePipeline.d.ts +0 -13
  63. package/cjs/aggregate/WherePipeline.d.ts.map +0 -1
  64. package/cjs/aggregate/WherePipeline.js +0 -12
  65. package/cjs/aggregate/WherePipeline.js.map +0 -1
  66. package/cjs/aggregate/aggregate.d.ts +0 -409
  67. package/cjs/aggregate/aggregate.d.ts.map +0 -1
  68. package/cjs/aggregate/aggregate.js +0 -911
  69. package/cjs/aggregate/aggregate.js.map +0 -1
  70. package/cjs/aggregate/expressions.d.ts +0 -361
  71. package/cjs/aggregate/expressions.d.ts.map +0 -1
  72. package/cjs/aggregate/expressions.js +0 -536
  73. package/cjs/aggregate/expressions.js.map +0 -1
  74. package/cjs/aggregate/filters/apply-filters.d.ts +0 -3
  75. package/cjs/aggregate/filters/apply-filters.d.ts.map +0 -1
  76. package/cjs/aggregate/filters/apply-filters.js +0 -75
  77. package/cjs/aggregate/filters/apply-filters.js.map +0 -1
  78. package/cjs/aggregate/filters/boolean-filters.d.ts +0 -3
  79. package/cjs/aggregate/filters/boolean-filters.d.ts.map +0 -1
  80. package/cjs/aggregate/filters/boolean-filters.js +0 -33
  81. package/cjs/aggregate/filters/boolean-filters.js.map +0 -1
  82. package/cjs/aggregate/filters/date-filters.d.ts +0 -3
  83. package/cjs/aggregate/filters/date-filters.d.ts.map +0 -1
  84. package/cjs/aggregate/filters/date-filters.js +0 -128
  85. package/cjs/aggregate/filters/date-filters.js.map +0 -1
  86. package/cjs/aggregate/filters/index.d.ts +0 -3
  87. package/cjs/aggregate/filters/index.d.ts.map +0 -1
  88. package/cjs/aggregate/filters/numeric-filters.d.ts +0 -3
  89. package/cjs/aggregate/filters/numeric-filters.d.ts.map +0 -1
  90. package/cjs/aggregate/filters/numeric-filters.js +0 -99
  91. package/cjs/aggregate/filters/numeric-filters.js.map +0 -1
  92. package/cjs/aggregate/filters/types.d.ts +0 -46
  93. package/cjs/aggregate/filters/types.d.ts.map +0 -1
  94. package/cjs/aggregate/filters/utils.d.ts +0 -13
  95. package/cjs/aggregate/filters/utils.d.ts.map +0 -1
  96. package/cjs/aggregate/filters/utils.js +0 -38
  97. package/cjs/aggregate/filters/utils.js.map +0 -1
  98. package/cjs/aggregate/index.d.ts +0 -21
  99. package/cjs/aggregate/index.d.ts.map +0 -1
  100. package/cjs/aggregate/parsePipelines.d.ts +0 -5
  101. package/cjs/aggregate/parsePipelines.d.ts.map +0 -1
  102. package/cjs/aggregate/parsePipelines.js +0 -6
  103. package/cjs/aggregate/parsePipelines.js.map +0 -1
  104. package/cjs/aggregate/pipeline.d.ts +0 -31
  105. package/cjs/aggregate/pipeline.d.ts.map +0 -1
  106. package/cjs/aggregate/pipeline.js +0 -42
  107. package/cjs/aggregate/pipeline.js.map +0 -1
  108. package/cjs/aggregate/types.d.ts +0 -8
  109. package/cjs/aggregate/types.d.ts.map +0 -1
  110. package/cjs/aggregate/types.js +0 -31
  111. package/cjs/aggregate/types.js.map +0 -1
  112. package/cjs/blueprint/blueprint-column.d.ts +0 -82
  113. package/cjs/blueprint/blueprint-column.d.ts.map +0 -1
  114. package/cjs/blueprint/blueprint.d.ts +0 -162
  115. package/cjs/blueprint/blueprint.d.ts.map +0 -1
  116. package/cjs/blueprint/blueprint.js +0 -340
  117. package/cjs/blueprint/blueprint.js.map +0 -1
  118. package/cjs/blueprint/index.d.ts +0 -3
  119. package/cjs/blueprint/index.d.ts.map +0 -1
  120. package/cjs/blueprint/model-blueprint.d.ts +0 -15
  121. package/cjs/blueprint/model-blueprint.d.ts.map +0 -1
  122. package/cjs/blueprint/model-blueprint.js +0 -16
  123. package/cjs/blueprint/model-blueprint.js.map +0 -1
  124. package/cjs/casts/arrayOf.d.ts +0 -5
  125. package/cjs/casts/arrayOf.d.ts.map +0 -1
  126. package/cjs/casts/arrayOf.js +0 -18
  127. package/cjs/casts/arrayOf.js.map +0 -1
  128. package/cjs/casts/cast-email.d.ts +0 -2
  129. package/cjs/casts/cast-email.d.ts.map +0 -1
  130. package/cjs/casts/cast-email.js +0 -5
  131. package/cjs/casts/cast-email.js.map +0 -1
  132. package/cjs/casts/castModel.d.ts +0 -3
  133. package/cjs/casts/castModel.d.ts.map +0 -1
  134. package/cjs/casts/castModel.js +0 -49
  135. package/cjs/casts/castModel.js.map +0 -1
  136. package/cjs/casts/expiresAfter.d.ts +0 -3
  137. package/cjs/casts/expiresAfter.d.ts.map +0 -1
  138. package/cjs/casts/expiresAfter.js +0 -5
  139. package/cjs/casts/expiresAfter.js.map +0 -1
  140. package/cjs/casts/index.d.ts +0 -9
  141. package/cjs/casts/index.d.ts.map +0 -1
  142. package/cjs/casts/oneOf.d.ts +0 -3
  143. package/cjs/casts/oneOf.d.ts.map +0 -1
  144. package/cjs/casts/oneOf.js +0 -22
  145. package/cjs/casts/oneOf.js.map +0 -1
  146. package/cjs/casts/random-string.d.ts +0 -2
  147. package/cjs/casts/random-string.d.ts.map +0 -1
  148. package/cjs/casts/random-string.js +0 -5
  149. package/cjs/casts/random-string.js.map +0 -1
  150. package/cjs/casts/randomInteger.d.ts +0 -2
  151. package/cjs/casts/randomInteger.d.ts.map +0 -1
  152. package/cjs/casts/randomInteger.js +0 -7
  153. package/cjs/casts/randomInteger.js.map +0 -1
  154. package/cjs/casts/shapedArray.d.ts +0 -26
  155. package/cjs/casts/shapedArray.d.ts.map +0 -1
  156. package/cjs/casts/shapedArray.js +0 -100
  157. package/cjs/casts/shapedArray.js.map +0 -1
  158. package/cjs/config.d.ts +0 -6
  159. package/cjs/config.d.ts.map +0 -1
  160. package/cjs/config.js +0 -16
  161. package/cjs/config.js.map +0 -1
  162. package/cjs/connection.d.ts +0 -49
  163. package/cjs/connection.d.ts.map +0 -1
  164. package/cjs/connection.js +0 -108
  165. package/cjs/connection.js.map +0 -1
  166. package/cjs/database.d.ts +0 -97
  167. package/cjs/database.d.ts.map +0 -1
  168. package/cjs/database.js +0 -164
  169. package/cjs/database.js.map +0 -1
  170. package/cjs/index.d.ts +0 -13
  171. package/cjs/index.d.ts.map +0 -1
  172. package/cjs/migration/index.d.ts +0 -4
  173. package/cjs/migration/index.d.ts.map +0 -1
  174. package/cjs/migration/migrate.d.ts +0 -13
  175. package/cjs/migration/migrate.d.ts.map +0 -1
  176. package/cjs/migration/migrate.js +0 -72
  177. package/cjs/migration/migrate.js.map +0 -1
  178. package/cjs/migration/migration-office.d.ts +0 -21
  179. package/cjs/migration/migration-office.d.ts.map +0 -1
  180. package/cjs/migration/migration-office.js +0 -39
  181. package/cjs/migration/migration-office.js.map +0 -1
  182. package/cjs/migration/migration-officer.d.ts +0 -33
  183. package/cjs/migration/migration-officer.d.ts.map +0 -1
  184. package/cjs/migration/migration-officer.js +0 -55
  185. package/cjs/migration/migration-officer.js.map +0 -1
  186. package/cjs/migration/types.d.ts +0 -34
  187. package/cjs/migration/types.d.ts.map +0 -1
  188. package/cjs/model/ModelAggregate.d.ts +0 -114
  189. package/cjs/model/ModelAggregate.d.ts.map +0 -1
  190. package/cjs/model/ModelAggregate.js +0 -182
  191. package/cjs/model/ModelAggregate.js.map +0 -1
  192. package/cjs/model/ModelSync.d.ts +0 -73
  193. package/cjs/model/ModelSync.d.ts.map +0 -1
  194. package/cjs/model/ModelSync.js +0 -215
  195. package/cjs/model/ModelSync.js.map +0 -1
  196. package/cjs/model/RelationshipWithMany.d.ts +0 -24
  197. package/cjs/model/RelationshipWithMany.d.ts.map +0 -1
  198. package/cjs/model/RelationshipWithMany.js +0 -42
  199. package/cjs/model/RelationshipWithMany.js.map +0 -1
  200. package/cjs/model/base-model.d.ts +0 -161
  201. package/cjs/model/base-model.d.ts.map +0 -1
  202. package/cjs/model/base-model.js +0 -265
  203. package/cjs/model/base-model.js.map +0 -1
  204. package/cjs/model/crud-model.d.ts +0 -122
  205. package/cjs/model/crud-model.d.ts.map +0 -1
  206. package/cjs/model/crud-model.js +0 -366
  207. package/cjs/model/crud-model.js.map +0 -1
  208. package/cjs/model/index.d.ts +0 -10
  209. package/cjs/model/index.d.ts.map +0 -1
  210. package/cjs/model/joinable.d.ts +0 -87
  211. package/cjs/model/joinable.d.ts.map +0 -1
  212. package/cjs/model/joinable.js +0 -158
  213. package/cjs/model/joinable.js.map +0 -1
  214. package/cjs/model/master-mind.d.ts +0 -44
  215. package/cjs/model/master-mind.d.ts.map +0 -1
  216. package/cjs/model/master-mind.js +0 -118
  217. package/cjs/model/master-mind.js.map +0 -1
  218. package/cjs/model/model-events.d.ts +0 -57
  219. package/cjs/model/model-events.d.ts.map +0 -1
  220. package/cjs/model/model-events.js +0 -102
  221. package/cjs/model/model-events.js.map +0 -1
  222. package/cjs/model/model.d.ts +0 -464
  223. package/cjs/model/model.d.ts.map +0 -1
  224. package/cjs/model/model.js +0 -1134
  225. package/cjs/model/model.js.map +0 -1
  226. package/cjs/model/types.d.ts +0 -149
  227. package/cjs/model/types.d.ts.map +0 -1
  228. package/cjs/model/types.js +0 -11
  229. package/cjs/model/types.js.map +0 -1
  230. package/cjs/query/index.d.ts +0 -2
  231. package/cjs/query/index.d.ts.map +0 -1
  232. package/cjs/query/query.d.ts +0 -218
  233. package/cjs/query/query.d.ts.map +0 -1
  234. package/cjs/query/query.js +0 -672
  235. package/cjs/query/query.js.map +0 -1
  236. package/cjs/query/types.d.ts +0 -60
  237. package/cjs/query/types.d.ts.map +0 -1
  238. package/cjs/types.d.ts +0 -75
  239. package/cjs/types.d.ts.map +0 -1
  240. package/cjs/utils/connectToDatabase.d.ts +0 -3
  241. package/cjs/utils/connectToDatabase.d.ts.map +0 -1
  242. package/cjs/utils/connectToDatabase.js +0 -3
  243. package/cjs/utils/connectToDatabase.js.map +0 -1
  244. package/cjs/utils/deep-diff.d.ts +0 -9
  245. package/cjs/utils/deep-diff.d.ts.map +0 -1
  246. package/cjs/utils/deep-diff.js +0 -44
  247. package/cjs/utils/deep-diff.js.map +0 -1
  248. package/cjs/utils/dropAllDatabaseIndexes.d.ts +0 -2
  249. package/cjs/utils/dropAllDatabaseIndexes.d.ts.map +0 -1
  250. package/cjs/utils/dropAllDatabaseIndexes.js +0 -10
  251. package/cjs/utils/dropAllDatabaseIndexes.js.map +0 -1
  252. package/cjs/utils/index.d.ts +0 -6
  253. package/cjs/utils/index.d.ts.map +0 -1
  254. package/cjs/utils/joinable-proxy.d.ts +0 -3
  255. package/cjs/utils/joinable-proxy.d.ts.map +0 -1
  256. package/cjs/utils/joinable-proxy.js +0 -14
  257. package/cjs/utils/joinable-proxy.js.map +0 -1
  258. package/cjs/utils/listDatabaseIndexes.d.ts +0 -4
  259. package/cjs/utils/listDatabaseIndexes.d.ts.map +0 -1
  260. package/cjs/utils/listDatabaseIndexes.js +0 -101
  261. package/cjs/utils/listDatabaseIndexes.js.map +0 -1
  262. package/cjs/utils/onceConnected.d.ts +0 -2
  263. package/cjs/utils/onceConnected.d.ts.map +0 -1
  264. package/cjs/utils/onceConnected.js +0 -8
  265. package/cjs/utils/onceConnected.js.map +0 -1
  266. package/cjs/utils/sync-with.d.ts +0 -27
  267. package/cjs/utils/sync-with.d.ts.map +0 -1
  268. package/cjs/utils/sync-with.js +0 -60
  269. package/cjs/utils/sync-with.js.map +0 -1
  270. package/esm/aggregate/DeselectPipeline.d.ts +0 -10
  271. package/esm/aggregate/DeselectPipeline.d.ts.map +0 -1
  272. package/esm/aggregate/DeselectPipeline.js +0 -17
  273. package/esm/aggregate/DeselectPipeline.js.map +0 -1
  274. package/esm/aggregate/GeoNearPipeline.d.ts +0 -34
  275. package/esm/aggregate/GeoNearPipeline.d.ts.map +0 -1
  276. package/esm/aggregate/GeoNearPipeline.js +0 -44
  277. package/esm/aggregate/GeoNearPipeline.js.map +0 -1
  278. package/esm/aggregate/GroupByPipeline.d.ts +0 -12
  279. package/esm/aggregate/GroupByPipeline.d.ts.map +0 -1
  280. package/esm/aggregate/GroupByPipeline.js +0 -28
  281. package/esm/aggregate/GroupByPipeline.js.map +0 -1
  282. package/esm/aggregate/LimitPipeline.d.ts +0 -10
  283. package/esm/aggregate/LimitPipeline.d.ts.map +0 -1
  284. package/esm/aggregate/LimitPipeline.js +0 -14
  285. package/esm/aggregate/LimitPipeline.js.map +0 -1
  286. package/esm/aggregate/LookupPipeline.d.ts +0 -19
  287. package/esm/aggregate/LookupPipeline.d.ts.map +0 -1
  288. package/esm/aggregate/LookupPipeline.js +0 -23
  289. package/esm/aggregate/LookupPipeline.js.map +0 -1
  290. package/esm/aggregate/OrWherePipeline.d.ts +0 -21
  291. package/esm/aggregate/OrWherePipeline.d.ts.map +0 -1
  292. package/esm/aggregate/OrWherePipeline.js +0 -63
  293. package/esm/aggregate/OrWherePipeline.js.map +0 -1
  294. package/esm/aggregate/SelectPipeline.d.ts +0 -10
  295. package/esm/aggregate/SelectPipeline.d.ts.map +0 -1
  296. package/esm/aggregate/SelectPipeline.js +0 -26
  297. package/esm/aggregate/SelectPipeline.js.map +0 -1
  298. package/esm/aggregate/SkipPipeline.d.ts +0 -10
  299. package/esm/aggregate/SkipPipeline.d.ts.map +0 -1
  300. package/esm/aggregate/SkipPipeline.js +0 -14
  301. package/esm/aggregate/SkipPipeline.js.map +0 -1
  302. package/esm/aggregate/SortByPipeline.d.ts +0 -10
  303. package/esm/aggregate/SortByPipeline.d.ts.map +0 -1
  304. package/esm/aggregate/SortByPipeline.js +0 -18
  305. package/esm/aggregate/SortByPipeline.js.map +0 -1
  306. package/esm/aggregate/SortPipeline.d.ts +0 -11
  307. package/esm/aggregate/SortPipeline.d.ts.map +0 -1
  308. package/esm/aggregate/SortPipeline.js +0 -18
  309. package/esm/aggregate/SortPipeline.js.map +0 -1
  310. package/esm/aggregate/SortRandomPipeline.d.ts +0 -10
  311. package/esm/aggregate/SortRandomPipeline.d.ts.map +0 -1
  312. package/esm/aggregate/SortRandomPipeline.js +0 -16
  313. package/esm/aggregate/SortRandomPipeline.js.map +0 -1
  314. package/esm/aggregate/UnwindPipeline.d.ts +0 -14
  315. package/esm/aggregate/UnwindPipeline.d.ts.map +0 -1
  316. package/esm/aggregate/UnwindPipeline.js +0 -19
  317. package/esm/aggregate/UnwindPipeline.js.map +0 -1
  318. package/esm/aggregate/WhereExpression.d.ts +0 -17
  319. package/esm/aggregate/WhereExpression.d.ts.map +0 -1
  320. package/esm/aggregate/WhereExpression.js +0 -149
  321. package/esm/aggregate/WhereExpression.js.map +0 -1
  322. package/esm/aggregate/WhereExpressionPipeline.d.ts +0 -10
  323. package/esm/aggregate/WhereExpressionPipeline.d.ts.map +0 -1
  324. package/esm/aggregate/WhereExpressionPipeline.js +0 -15
  325. package/esm/aggregate/WhereExpressionPipeline.js.map +0 -1
  326. package/esm/aggregate/WherePipeline.d.ts +0 -13
  327. package/esm/aggregate/WherePipeline.d.ts.map +0 -1
  328. package/esm/aggregate/WherePipeline.js +0 -12
  329. package/esm/aggregate/WherePipeline.js.map +0 -1
  330. package/esm/aggregate/aggregate.d.ts +0 -409
  331. package/esm/aggregate/aggregate.d.ts.map +0 -1
  332. package/esm/aggregate/aggregate.js +0 -911
  333. package/esm/aggregate/aggregate.js.map +0 -1
  334. package/esm/aggregate/expressions.d.ts +0 -361
  335. package/esm/aggregate/expressions.d.ts.map +0 -1
  336. package/esm/aggregate/expressions.js +0 -536
  337. package/esm/aggregate/expressions.js.map +0 -1
  338. package/esm/aggregate/filters/apply-filters.d.ts +0 -3
  339. package/esm/aggregate/filters/apply-filters.d.ts.map +0 -1
  340. package/esm/aggregate/filters/apply-filters.js +0 -75
  341. package/esm/aggregate/filters/apply-filters.js.map +0 -1
  342. package/esm/aggregate/filters/boolean-filters.d.ts +0 -3
  343. package/esm/aggregate/filters/boolean-filters.d.ts.map +0 -1
  344. package/esm/aggregate/filters/boolean-filters.js +0 -33
  345. package/esm/aggregate/filters/boolean-filters.js.map +0 -1
  346. package/esm/aggregate/filters/date-filters.d.ts +0 -3
  347. package/esm/aggregate/filters/date-filters.d.ts.map +0 -1
  348. package/esm/aggregate/filters/date-filters.js +0 -128
  349. package/esm/aggregate/filters/date-filters.js.map +0 -1
  350. package/esm/aggregate/filters/index.d.ts +0 -3
  351. package/esm/aggregate/filters/index.d.ts.map +0 -1
  352. package/esm/aggregate/filters/numeric-filters.d.ts +0 -3
  353. package/esm/aggregate/filters/numeric-filters.d.ts.map +0 -1
  354. package/esm/aggregate/filters/numeric-filters.js +0 -99
  355. package/esm/aggregate/filters/numeric-filters.js.map +0 -1
  356. package/esm/aggregate/filters/types.d.ts +0 -46
  357. package/esm/aggregate/filters/types.d.ts.map +0 -1
  358. package/esm/aggregate/filters/utils.d.ts +0 -13
  359. package/esm/aggregate/filters/utils.d.ts.map +0 -1
  360. package/esm/aggregate/filters/utils.js +0 -38
  361. package/esm/aggregate/filters/utils.js.map +0 -1
  362. package/esm/aggregate/index.d.ts +0 -21
  363. package/esm/aggregate/index.d.ts.map +0 -1
  364. package/esm/aggregate/parsePipelines.d.ts +0 -5
  365. package/esm/aggregate/parsePipelines.d.ts.map +0 -1
  366. package/esm/aggregate/parsePipelines.js +0 -6
  367. package/esm/aggregate/parsePipelines.js.map +0 -1
  368. package/esm/aggregate/pipeline.d.ts +0 -31
  369. package/esm/aggregate/pipeline.d.ts.map +0 -1
  370. package/esm/aggregate/pipeline.js +0 -42
  371. package/esm/aggregate/pipeline.js.map +0 -1
  372. package/esm/aggregate/types.d.ts +0 -8
  373. package/esm/aggregate/types.d.ts.map +0 -1
  374. package/esm/aggregate/types.js +0 -31
  375. package/esm/aggregate/types.js.map +0 -1
  376. package/esm/blueprint/blueprint-column.d.ts +0 -82
  377. package/esm/blueprint/blueprint-column.d.ts.map +0 -1
  378. package/esm/blueprint/blueprint.d.ts +0 -162
  379. package/esm/blueprint/blueprint.d.ts.map +0 -1
  380. package/esm/blueprint/blueprint.js +0 -340
  381. package/esm/blueprint/blueprint.js.map +0 -1
  382. package/esm/blueprint/index.d.ts +0 -3
  383. package/esm/blueprint/index.d.ts.map +0 -1
  384. package/esm/blueprint/model-blueprint.d.ts +0 -15
  385. package/esm/blueprint/model-blueprint.d.ts.map +0 -1
  386. package/esm/blueprint/model-blueprint.js +0 -16
  387. package/esm/blueprint/model-blueprint.js.map +0 -1
  388. package/esm/casts/arrayOf.d.ts +0 -5
  389. package/esm/casts/arrayOf.d.ts.map +0 -1
  390. package/esm/casts/arrayOf.js +0 -18
  391. package/esm/casts/arrayOf.js.map +0 -1
  392. package/esm/casts/cast-email.d.ts +0 -2
  393. package/esm/casts/cast-email.d.ts.map +0 -1
  394. package/esm/casts/cast-email.js +0 -5
  395. package/esm/casts/cast-email.js.map +0 -1
  396. package/esm/casts/castModel.d.ts +0 -3
  397. package/esm/casts/castModel.d.ts.map +0 -1
  398. package/esm/casts/castModel.js +0 -49
  399. package/esm/casts/castModel.js.map +0 -1
  400. package/esm/casts/expiresAfter.d.ts +0 -3
  401. package/esm/casts/expiresAfter.d.ts.map +0 -1
  402. package/esm/casts/expiresAfter.js +0 -5
  403. package/esm/casts/expiresAfter.js.map +0 -1
  404. package/esm/casts/index.d.ts +0 -9
  405. package/esm/casts/index.d.ts.map +0 -1
  406. package/esm/casts/oneOf.d.ts +0 -3
  407. package/esm/casts/oneOf.d.ts.map +0 -1
  408. package/esm/casts/oneOf.js +0 -22
  409. package/esm/casts/oneOf.js.map +0 -1
  410. package/esm/casts/random-string.d.ts +0 -2
  411. package/esm/casts/random-string.d.ts.map +0 -1
  412. package/esm/casts/random-string.js +0 -5
  413. package/esm/casts/random-string.js.map +0 -1
  414. package/esm/casts/randomInteger.d.ts +0 -2
  415. package/esm/casts/randomInteger.d.ts.map +0 -1
  416. package/esm/casts/randomInteger.js +0 -7
  417. package/esm/casts/randomInteger.js.map +0 -1
  418. package/esm/casts/shapedArray.d.ts +0 -26
  419. package/esm/casts/shapedArray.d.ts.map +0 -1
  420. package/esm/casts/shapedArray.js +0 -100
  421. package/esm/casts/shapedArray.js.map +0 -1
  422. package/esm/config.d.ts +0 -6
  423. package/esm/config.d.ts.map +0 -1
  424. package/esm/config.js +0 -16
  425. package/esm/config.js.map +0 -1
  426. package/esm/connection.d.ts +0 -49
  427. package/esm/connection.d.ts.map +0 -1
  428. package/esm/connection.js +0 -108
  429. package/esm/connection.js.map +0 -1
  430. package/esm/database.d.ts +0 -97
  431. package/esm/database.d.ts.map +0 -1
  432. package/esm/database.js +0 -164
  433. package/esm/database.js.map +0 -1
  434. package/esm/index.d.ts +0 -13
  435. package/esm/index.d.ts.map +0 -1
  436. package/esm/migration/index.d.ts +0 -4
  437. package/esm/migration/index.d.ts.map +0 -1
  438. package/esm/migration/migrate.d.ts +0 -13
  439. package/esm/migration/migrate.d.ts.map +0 -1
  440. package/esm/migration/migrate.js +0 -72
  441. package/esm/migration/migrate.js.map +0 -1
  442. package/esm/migration/migration-office.d.ts +0 -21
  443. package/esm/migration/migration-office.d.ts.map +0 -1
  444. package/esm/migration/migration-office.js +0 -39
  445. package/esm/migration/migration-office.js.map +0 -1
  446. package/esm/migration/migration-officer.d.ts +0 -33
  447. package/esm/migration/migration-officer.d.ts.map +0 -1
  448. package/esm/migration/migration-officer.js +0 -55
  449. package/esm/migration/migration-officer.js.map +0 -1
  450. package/esm/migration/types.d.ts +0 -34
  451. package/esm/migration/types.d.ts.map +0 -1
  452. package/esm/model/ModelAggregate.d.ts +0 -114
  453. package/esm/model/ModelAggregate.d.ts.map +0 -1
  454. package/esm/model/ModelAggregate.js +0 -182
  455. package/esm/model/ModelAggregate.js.map +0 -1
  456. package/esm/model/ModelSync.d.ts +0 -73
  457. package/esm/model/ModelSync.d.ts.map +0 -1
  458. package/esm/model/ModelSync.js +0 -215
  459. package/esm/model/ModelSync.js.map +0 -1
  460. package/esm/model/RelationshipWithMany.d.ts +0 -24
  461. package/esm/model/RelationshipWithMany.d.ts.map +0 -1
  462. package/esm/model/RelationshipWithMany.js +0 -42
  463. package/esm/model/RelationshipWithMany.js.map +0 -1
  464. package/esm/model/base-model.d.ts +0 -161
  465. package/esm/model/base-model.d.ts.map +0 -1
  466. package/esm/model/base-model.js +0 -265
  467. package/esm/model/base-model.js.map +0 -1
  468. package/esm/model/crud-model.d.ts +0 -122
  469. package/esm/model/crud-model.d.ts.map +0 -1
  470. package/esm/model/crud-model.js +0 -366
  471. package/esm/model/crud-model.js.map +0 -1
  472. package/esm/model/index.d.ts +0 -10
  473. package/esm/model/index.d.ts.map +0 -1
  474. package/esm/model/joinable.d.ts +0 -87
  475. package/esm/model/joinable.d.ts.map +0 -1
  476. package/esm/model/joinable.js +0 -158
  477. package/esm/model/joinable.js.map +0 -1
  478. package/esm/model/master-mind.d.ts +0 -44
  479. package/esm/model/master-mind.d.ts.map +0 -1
  480. package/esm/model/master-mind.js +0 -118
  481. package/esm/model/master-mind.js.map +0 -1
  482. package/esm/model/model-events.d.ts +0 -57
  483. package/esm/model/model-events.d.ts.map +0 -1
  484. package/esm/model/model-events.js +0 -102
  485. package/esm/model/model-events.js.map +0 -1
  486. package/esm/model/model.d.ts +0 -464
  487. package/esm/model/model.d.ts.map +0 -1
  488. package/esm/model/model.js +0 -1134
  489. package/esm/model/model.js.map +0 -1
  490. package/esm/model/types.d.ts +0 -149
  491. package/esm/model/types.d.ts.map +0 -1
  492. package/esm/model/types.js +0 -11
  493. package/esm/model/types.js.map +0 -1
  494. package/esm/query/index.d.ts +0 -2
  495. package/esm/query/index.d.ts.map +0 -1
  496. package/esm/query/query.d.ts +0 -218
  497. package/esm/query/query.d.ts.map +0 -1
  498. package/esm/query/query.js +0 -672
  499. package/esm/query/query.js.map +0 -1
  500. package/esm/query/types.d.ts +0 -60
  501. package/esm/query/types.d.ts.map +0 -1
  502. package/esm/types.d.ts +0 -75
  503. package/esm/types.d.ts.map +0 -1
  504. package/esm/utils/connectToDatabase.d.ts +0 -3
  505. package/esm/utils/connectToDatabase.d.ts.map +0 -1
  506. package/esm/utils/connectToDatabase.js +0 -3
  507. package/esm/utils/connectToDatabase.js.map +0 -1
  508. package/esm/utils/deep-diff.d.ts +0 -9
  509. package/esm/utils/deep-diff.d.ts.map +0 -1
  510. package/esm/utils/deep-diff.js +0 -44
  511. package/esm/utils/deep-diff.js.map +0 -1
  512. package/esm/utils/dropAllDatabaseIndexes.d.ts +0 -2
  513. package/esm/utils/dropAllDatabaseIndexes.d.ts.map +0 -1
  514. package/esm/utils/dropAllDatabaseIndexes.js +0 -10
  515. package/esm/utils/dropAllDatabaseIndexes.js.map +0 -1
  516. package/esm/utils/index.d.ts +0 -6
  517. package/esm/utils/index.d.ts.map +0 -1
  518. package/esm/utils/joinable-proxy.d.ts +0 -3
  519. package/esm/utils/joinable-proxy.d.ts.map +0 -1
  520. package/esm/utils/joinable-proxy.js +0 -14
  521. package/esm/utils/joinable-proxy.js.map +0 -1
  522. package/esm/utils/listDatabaseIndexes.d.ts +0 -4
  523. package/esm/utils/listDatabaseIndexes.d.ts.map +0 -1
  524. package/esm/utils/listDatabaseIndexes.js +0 -101
  525. package/esm/utils/listDatabaseIndexes.js.map +0 -1
  526. package/esm/utils/onceConnected.d.ts +0 -2
  527. package/esm/utils/onceConnected.d.ts.map +0 -1
  528. package/esm/utils/onceConnected.js +0 -8
  529. package/esm/utils/onceConnected.js.map +0 -1
  530. package/esm/utils/sync-with.d.ts +0 -27
  531. package/esm/utils/sync-with.d.ts.map +0 -1
  532. package/esm/utils/sync-with.js +0 -60
  533. package/esm/utils/sync-with.js.map +0 -1
@@ -1,366 +0,0 @@
1
- 'use strict';var mongodb=require('mongodb'),baseModel=require('./base-model.js'),types=require('./types.js');class CrudModel extends baseModel.BaseModel {
2
- /**
3
- * Create a new record in the database for the current model (child class of this one)
4
- * and return a new instance of it with the created data and the new generated id
5
- */
6
- static async create(data) {
7
- const model = this.self(data); // get new instance of model
8
- // save the model, and generate the proper columns needed
9
- await model.beforeCreating(data);
10
- await model.save();
11
- await model.onCreate();
12
- return model;
13
- }
14
- /**
15
- * Create many records in the database for the current model (child class of this one)
16
- */
17
- static async createMany(data) {
18
- // prepare data for creating
19
- const models = await Promise.all(data.map(async (record) => {
20
- const model = this.self(record);
21
- await model.prepareDataForCreating();
22
- return model;
23
- }));
24
- // now we need to make bulk create in database and return the models
25
- const documents = await this.query.createMany(this.collection, models.map(model => model.data));
26
- return models.map(model => {
27
- model.data = documents.find(document => document.id === model.id);
28
- model.triggerCreatedEvents();
29
- return model;
30
- });
31
- }
32
- /**
33
- * Called before creating a new record
34
- */
35
- async beforeCreating(_data) {
36
- //
37
- }
38
- /**
39
- * Called after creating a new record
40
- */
41
- async onCreate() {
42
- //
43
- }
44
- /**
45
- * Update model by the given id
46
- */
47
- static async update(id, data) {
48
- const model = (await this.find(id));
49
- // execute the update operation
50
- if (!model)
51
- return null;
52
- await model.save(data);
53
- return model;
54
- }
55
- /**
56
- * Replace the entire document for the given document id with the given new data
57
- */
58
- static async replace(id, data) {
59
- const model = (await this.find(id));
60
- if (!model)
61
- return null;
62
- model.replaceWith(data);
63
- await model.save();
64
- return model;
65
- }
66
- /**
67
- * Restore the document from trash
68
- */
69
- static async restore(id) {
70
- const deleteStrategy = this.deleteStrategy;
71
- if (deleteStrategy === types.ModelDeleteStrategy.softDelete) {
72
- const model = await this.query.first(this.collection, {
73
- id,
74
- });
75
- if (!model)
76
- return null;
77
- model.unset("deletedAt");
78
- await model.save();
79
- return model;
80
- }
81
- // retrieve the document from trash collection
82
- const result = await this.query.first(this.collection + "Trash", await this.prepareFilters({
83
- [this.primaryIdColumn]: id,
84
- }));
85
- if (!result)
86
- return null;
87
- const document = result.document;
88
- // otherwise, create a new model with it
89
- document.restoredAt = new Date();
90
- const model = this.self(document);
91
- model.unset("deletedAt");
92
- model.markAsRestored();
93
- await model.save(); // save again in the same collection
94
- return model;
95
- }
96
- /**
97
- * Restore all documents from trash or by the given filter
98
- */
99
- static async restoreAll(filter) {
100
- const deleteStrategy = this.deleteStrategy;
101
- if (deleteStrategy === types.ModelDeleteStrategy.softDelete) {
102
- const models = await this.query.list(this.collection, filter);
103
- for (const model of models) {
104
- model.unset("deletedAt");
105
- if (model.id) {
106
- model.set("id", Number(model.id));
107
- }
108
- await model.save();
109
- }
110
- return models;
111
- }
112
- if (filter) {
113
- for (const key in filter) {
114
- filter[`document.` + key] = filter[key];
115
- delete filter[key];
116
- }
117
- }
118
- const documents = await this.query.list(this.collection + "Trash", filter);
119
- const models = [];
120
- for (const document of documents) {
121
- const model = this.self(document.document);
122
- if (model.id) {
123
- model.set("id", Number(model.id));
124
- }
125
- model.unset("deletedAt");
126
- model.markAsRestored();
127
- await model.save();
128
- models.push(model);
129
- }
130
- return models;
131
- }
132
- /**
133
- * Get deleted document by id
134
- */
135
- static async getDeleted(id) {
136
- const deleteStrategy = this.deleteStrategy;
137
- if (deleteStrategy === types.ModelDeleteStrategy.softDelete) {
138
- const model = await this.query.first(this.collection, {
139
- id,
140
- });
141
- if (!model)
142
- return null;
143
- return model;
144
- }
145
- const result = await this.query.first(this.collection + "Trash", await this.prepareFilters({
146
- [this.primaryIdColumn]: id,
147
- }));
148
- if (!result)
149
- return null;
150
- const document = result.document;
151
- // otherwise, create a new model with it
152
- const model = this.self(document);
153
- return model;
154
- }
155
- /**
156
- * Get all deleted documents
157
- */
158
- static async getAllDeleted(filter) {
159
- const deleteStrategy = this.deleteStrategy;
160
- if (deleteStrategy === types.ModelDeleteStrategy.softDelete) {
161
- return await this.query.list(this.collection, filter);
162
- }
163
- if (filter) {
164
- for (const key in filter) {
165
- filter[`document.` + key] = filter[key];
166
- delete filter[key];
167
- }
168
- }
169
- const documents = await this.query.list(this.collection + "Trash", filter);
170
- const models = [];
171
- for (const document of documents) {
172
- const model = this.self(document.document);
173
- models.push(model);
174
- }
175
- return models;
176
- }
177
- /**
178
- * Find and update the document for the given filter with the given data or create a new document/record
179
- * if filter has no matching
180
- */
181
- static async upsert(filter, data) {
182
- filter = await this.prepareFilters(filter);
183
- const model = (await this.first(filter)) || this.self(data);
184
- model.merge(data);
185
- await model.save();
186
- return model;
187
- }
188
- /**
189
- * Find document by id
190
- */
191
- static async find(id) {
192
- if (this.primaryIdColumn === "id") {
193
- id = Number(id);
194
- }
195
- else if (this.primaryIdColumn === "_id" && typeof id === "string") {
196
- id = new mongodb.ObjectId(id);
197
- }
198
- return this.findBy(this.primaryIdColumn, id);
199
- }
200
- /**
201
- * Find document by the given column and value
202
- */
203
- static async findBy(column, value) {
204
- const result = await this.query.first(this.collection, await this.prepareFilters({
205
- [column]: value,
206
- }));
207
- return result ? this.self(result) : null;
208
- }
209
- /**
210
- * Create an explain plan for the given filter
211
- */
212
- static async explain(filter = {}, options) {
213
- return await this.query.explain(this.collection, await this.prepareFilters(filter), options);
214
- }
215
- /**
216
- * List multiple documents based on the given filter
217
- */
218
- static async list(filter = {}, options) {
219
- const documents = await this.query.list(this.collection, await this.prepareFilters(filter), options);
220
- return documents.map(document => this.self(document));
221
- }
222
- /**
223
- * Paginate records based on the given filter
224
- */
225
- static async paginate(filter, page = 1, limit = 15) {
226
- filter = await this.prepareFilters(filter);
227
- const documents = await this.query.list(this.collection, filter, {
228
- skip: (page - 1) * limit,
229
- limit,
230
- });
231
- const totalDocumentsOfFilter = await this.query.count(this.collection, filter);
232
- const result = {
233
- documents: documents.map(document => this.self(document)),
234
- paginationInfo: {
235
- limit,
236
- page,
237
- result: documents.length,
238
- total: totalDocumentsOfFilter,
239
- pages: Math.ceil(totalDocumentsOfFilter / limit),
240
- },
241
- };
242
- return result;
243
- }
244
- /**
245
- * Find or create a new document based on the given filter and data
246
- * If the document is not found, it will be created
247
- * otherwise, just return the found document
248
- */
249
- static async findOrCreate(filter, data, { merge = false } = {}) {
250
- filter = await this.prepareFilters(filter);
251
- let model = (await this.first(filter));
252
- if (!model) {
253
- model = this.self({
254
- ...(merge ? filter : {}),
255
- ...data,
256
- });
257
- await model.save();
258
- }
259
- return model;
260
- }
261
- /**
262
- * Update or create a new document based on the given filter and data
263
- */
264
- static async updateOrCreate(filter, data) {
265
- filter = await this.prepareFilters(filter);
266
- let model = (await this.first(filter));
267
- if (!model) {
268
- model = this.self(data);
269
- }
270
- else {
271
- model.merge(data);
272
- }
273
- await model.save();
274
- return model;
275
- }
276
- /**
277
- * Count total documents based on the given filter
278
- */
279
- static async count(filter = {}) {
280
- return await this.query.count(this.collection, await this.prepareFilters(filter));
281
- }
282
- /**
283
- * Get first model for the given filter
284
- */
285
- static async first(filter = {}) {
286
- const result = await this.query.first(this.collection, await this.prepareFilters(filter));
287
- return result ? this.self(result) : null;
288
- }
289
- /**
290
- * Get last model for the given filter
291
- */
292
- static async last(filter = {}) {
293
- const result = await this.query.last(this.collection, await this.prepareFilters(filter));
294
- return result ? this.self(result) : null;
295
- }
296
- /**
297
- * Get latest documents
298
- */
299
- static async latest(filter = {}) {
300
- const documents = await this.query.latest(this.collection, await this.prepareFilters(filter));
301
- return documents.map(document => this.self(document));
302
- }
303
- /**
304
- * Delete single document if the given filter is an ObjectId of mongodb
305
- * Otherwise, delete multiple documents based on the given filter object
306
- */
307
- static async delete(filter = {}) {
308
- if (filter instanceof mongodb.ObjectId ||
309
- typeof filter === "string" ||
310
- typeof filter === "number") {
311
- return (await this.query.deleteOne(this.collection, await this.prepareFilters({
312
- [this.primaryIdColumn]: filter,
313
- })))
314
- ? 1
315
- : 0;
316
- }
317
- filter = await this.prepareFilters(filter);
318
- return await this.query.delete(this.collection, filter);
319
- }
320
- static async chunk(limitOrFilter, callback) {
321
- let limit = limitOrFilter;
322
- let filter = {};
323
- if (typeof limitOrFilter === "object") {
324
- limit = limitOrFilter.limit;
325
- delete limitOrFilter.limit;
326
- filter = limitOrFilter;
327
- }
328
- const totalDocumentsOfFilter = await this.query.count(this.collection, filter);
329
- const totalPages = Math.ceil(totalDocumentsOfFilter / limit);
330
- for (let page = 1; page <= totalPages; page++) {
331
- const result = await this.paginate(filter, page, limit);
332
- const output = await callback(result.documents, result.paginationInfo);
333
- if (output === false)
334
- return;
335
- }
336
- }
337
- /**
338
- * Check if document exists for the given filter
339
- */
340
- static async exists(filter = {}) {
341
- return await this.query.exists(this.collection, await this.prepareFilters(filter));
342
- }
343
- /**
344
- * Get distinct values for the given column
345
- */
346
- static async distinct(column, filter = {}) {
347
- return await this.query.distinct(this.collection, column, await this.prepareFilters(filter));
348
- }
349
- /**
350
- * Prepare filters
351
- */
352
- static async prepareFilters(filters = {}) {
353
- // if filter contains _id and it is a string, convert it to ObjectId
354
- if (filters._id && typeof filters._id === "string") {
355
- filters._id = new mongodb.ObjectId(filters._id);
356
- }
357
- const deleteStrategy = this.deleteStrategy;
358
- if (deleteStrategy === types.ModelDeleteStrategy.softDelete &&
359
- !filters.withDeleted) {
360
- filters.deletedAt = null;
361
- }
362
- await this.events().trigger("fetching", this, filters);
363
- await baseModel.BaseModel.events().trigger("fetching", this, filters);
364
- return filters;
365
- }
366
- }exports.CrudModel=CrudModel;//# sourceMappingURL=crud-model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crud-model.js","sources":["../../src/model/crud-model.ts"],"sourcesContent":[null],"names":["BaseModel","ModelDeleteStrategy","ObjectId"],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export * from "../migration/migration-office";
2
- export * from "./ModelAggregate";
3
- export * from "./ModelSync";
4
- export * from "./base-model";
5
- export * from "./crud-model";
6
- export * from "./joinable";
7
- export * from "./master-mind";
8
- export * from "./model";
9
- export * from "./types";
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -1,87 +0,0 @@
1
- import type { GenericObject } from "@mongez/reinforcements";
2
- import type { LookupPipelineOptions, Pipeline } from "../aggregate";
3
- import { Aggregate } from "../aggregate";
4
- import type { Model } from "../model";
5
- export type JoinableProxy = Joinable & Aggregate;
6
- export type ReturnAsCallback = (data: any | any[]) => any;
7
- export declare class Joinable {
8
- model: typeof Model;
9
- /**
10
- * Lookup data
11
- */
12
- protected lookupData: LookupPipelineOptions;
13
- /**
14
- * Whether to return the data in model
15
- */
16
- isInModel: boolean;
17
- /**
18
- * Return data as callback
19
- */
20
- protected returnAsCallback: ReturnAsCallback;
21
- /**
22
- * Aggregate instance
23
- */
24
- query: Aggregate;
25
- /**
26
- * Constructor
27
- * The Joined Model
28
- */
29
- constructor(model: typeof Model);
30
- /**
31
- * Set the return as callback
32
- */
33
- returnAs(callback: ReturnAsCallback): this;
34
- /**
35
- * Get return as callback
36
- */
37
- getReturnAs(): ReturnAsCallback;
38
- /**
39
- * Return data in model
40
- */
41
- inModel(inModel?: boolean): this;
42
- /**
43
- * Set the local field
44
- */
45
- localField(localField: string): this;
46
- /**
47
- * Get value from lookup data
48
- */
49
- get(key: keyof LookupPipelineOptions, defaultValue?: any): any;
50
- /**
51
- * Set the foreign field
52
- */
53
- foreignField(foreignField: string): this;
54
- /**
55
- * Set the as field
56
- */
57
- as(as: string): this;
58
- /**
59
- * Wether to return a single document or an array
60
- */
61
- single(single?: boolean): this;
62
- /**
63
- * Set the pipeline
64
- */
65
- addPipeline(pipeline: (Pipeline | GenericObject)[]): this;
66
- /**
67
- * Add let
68
- */
69
- let(letData: LookupPipelineOptions["let"]): this;
70
- /**
71
- * Set all lookup data
72
- */
73
- set(data: LookupPipelineOptions): this;
74
- /**
75
- * Parse the lookup data
76
- */
77
- parse(): Required<LookupPipelineOptions>;
78
- /**
79
- * Reset the pipelines
80
- */
81
- reset(): void;
82
- /**
83
- * Clone the current instance
84
- */
85
- clone(): Joinable;
86
- }
87
- //# sourceMappingURL=joinable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"joinable.d.ts","sourceRoot":"","sources":["../../src/model/joinable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,GAAG,CAAC;AAE1D,qBAAa,QAAQ;IAuCO,KAAK,EAAE,OAAO,KAAK;IAtC7C;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,qBAAqB,CAMzC;IAEF;;OAEG;IACI,SAAS,UAAS;IAEzB;;OAEG;IACH,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAQ1C;IAEF;;OAEG;IACI,KAAK,EAAE,SAAS,CAAC;IAExB;;;OAGG;gBACuB,KAAK,EAAE,OAAO,KAAK;IAK7C;;OAEG;IACI,QAAQ,CAAC,QAAQ,EAAE,gBAAgB;IAM1C;;OAEG;IACI,WAAW;IAIlB;;OAEG;IACI,OAAO,CAAC,OAAO,UAAO;IAM7B;;OAEG;IACI,UAAU,CAAC,UAAU,EAAE,MAAM;IAMpC;;OAEG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,qBAAqB,EAAE,YAAY,CAAC,EAAE,GAAG;IAI/D;;OAEG;IACI,YAAY,CAAC,YAAY,EAAE,MAAM;IAMxC;;OAEG;IACI,EAAE,CAAC,EAAE,EAAE,MAAM;IAMpB;;OAEG;IACI,MAAM,CAAC,MAAM,UAAO;IAM3B;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAC,EAAE;IAKzD;;OAEG;IACI,GAAG,CAAC,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC;IAMhD;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,qBAAqB;IAUtC;;OAEG;IACI,KAAK;IA2BZ;;OAEG;IACI,KAAK;IAIZ;;OAEG;IACI,KAAK;CAab"}
@@ -1,158 +0,0 @@
1
- 'use strict';var supportiveIs=require('@mongez/supportive-is'),pluralize=require('pluralize-esm');require('@mongez/reinforcements'),require('@mongez/time-wizard');var aggregate=require('../aggregate/aggregate.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var pluralize__default=/*#__PURE__*/_interopDefault(pluralize);class Joinable {
2
- model;
3
- /**
4
- * Lookup data
5
- */
6
- lookupData = {
7
- from: "",
8
- localField: "",
9
- foreignField: "id",
10
- as: "",
11
- single: false,
12
- };
13
- /**
14
- * Whether to return the data in model
15
- */
16
- isInModel = false;
17
- /**
18
- * Return data as callback
19
- */
20
- returnAsCallback = (data) => {
21
- if (this.isInModel) {
22
- return Array.isArray(data)
23
- ? data.map(item => new this.model(item))
24
- : new this.model(data);
25
- }
26
- return data;
27
- };
28
- /**
29
- * Aggregate instance
30
- */
31
- query;
32
- /**
33
- * Constructor
34
- * The Joined Model
35
- */
36
- constructor(model) {
37
- this.model = model;
38
- this.lookupData.from = model.collection;
39
- this.query = new aggregate.Aggregate(model.collection);
40
- }
41
- /**
42
- * Set the return as callback
43
- */
44
- returnAs(callback) {
45
- this.returnAsCallback = callback;
46
- return this;
47
- }
48
- /**
49
- * Get return as callback
50
- */
51
- getReturnAs() {
52
- return this.returnAsCallback;
53
- }
54
- /**
55
- * Return data in model
56
- */
57
- inModel(inModel = true) {
58
- this.isInModel = inModel;
59
- return this;
60
- }
61
- /**
62
- * Set the local field
63
- */
64
- localField(localField) {
65
- this.lookupData.localField = localField;
66
- return this;
67
- }
68
- /**
69
- * Get value from lookup data
70
- */
71
- get(key, defaultValue) {
72
- return this.lookupData[key] || defaultValue;
73
- }
74
- /**
75
- * Set the foreign field
76
- */
77
- foreignField(foreignField) {
78
- this.lookupData.foreignField = foreignField;
79
- return this;
80
- }
81
- /**
82
- * Set the as field
83
- */
84
- as(as) {
85
- this.lookupData.as = as;
86
- return this;
87
- }
88
- /**
89
- * Wether to return a single document or an array
90
- */
91
- single(single = true) {
92
- this.lookupData.single = single;
93
- return this;
94
- }
95
- /**
96
- * Set the pipeline
97
- */
98
- addPipeline(pipeline) {
99
- this.query.addPipeline(pipeline);
100
- return this;
101
- }
102
- /**
103
- * Add let
104
- */
105
- let(letData) {
106
- this.lookupData.let = letData;
107
- return this;
108
- }
109
- /**
110
- * Set all lookup data
111
- */
112
- set(data) {
113
- if (!data.from) {
114
- data.from = this.model.collection;
115
- }
116
- this.lookupData = data;
117
- return this;
118
- }
119
- /**
120
- * Parse the lookup data
121
- */
122
- parse() {
123
- const name = this.lookupData.single
124
- ? pluralize__default.default(this.model.collection, 1)
125
- : pluralize__default.default(this.model.collection);
126
- const lookupData = { ...this.lookupData };
127
- if (!lookupData.as) {
128
- lookupData.as = name;
129
- }
130
- if (!lookupData.localField) {
131
- lookupData.localField = name + ".id";
132
- }
133
- const pipeline = this.query.parse();
134
- if (!supportiveIs.isEmpty(pipeline)) {
135
- lookupData.pipeline = pipeline;
136
- }
137
- // reset the pipelines
138
- this.reset();
139
- return lookupData;
140
- }
141
- /**
142
- * Reset the pipelines
143
- */
144
- reset() {
145
- this.query = new aggregate.Aggregate(this.model.collection);
146
- }
147
- /**
148
- * Clone the current instance
149
- */
150
- clone() {
151
- const clone = new Joinable(this.model);
152
- clone.set(this.lookupData);
153
- clone.query.addPipelines(this.query.getPipelines());
154
- clone.isInModel = this.isInModel;
155
- clone.returnAsCallback = this.returnAsCallback.bind(clone);
156
- return clone;
157
- }
158
- }exports.Joinable=Joinable;//# sourceMappingURL=joinable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"joinable.js","sources":["../../src/model/joinable.ts"],"sourcesContent":[null],"names":["Aggregate","pluralize","isEmpty"],"mappings":"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"}