@warlock.js/cascade 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/cjs/commands/create-new-app/get-app-path.d.ts +2 -0
  2. package/cjs/commands/create-new-app/get-app-path.d.ts.map +1 -0
  3. package/cjs/commands/create-new-app/get-app-path.js +8 -0
  4. package/cjs/commands/create-new-app/get-app-path.js.map +1 -0
  5. package/cjs/commands/create-new-app/index.d.ts +2 -0
  6. package/cjs/commands/create-new-app/index.d.ts.map +1 -0
  7. package/cjs/commands/create-new-app/index.js +44 -0
  8. package/cjs/commands/create-new-app/index.js.map +1 -0
  9. package/cjs/commands/create-new-app/select-app-type.d.ts +2 -0
  10. package/cjs/commands/create-new-app/select-app-type.d.ts.map +1 -0
  11. package/cjs/commands/create-new-app/types.d.ts +9 -0
  12. package/cjs/commands/create-new-app/types.d.ts.map +1 -0
  13. package/cjs/commands/create-warlock-app/index.d.ts +3 -0
  14. package/cjs/commands/create-warlock-app/index.d.ts.map +1 -0
  15. package/cjs/commands/create-warlock-app/index.js +18 -0
  16. package/cjs/commands/create-warlock-app/index.js.map +1 -0
  17. package/cjs/helpers/app.d.ts +51 -0
  18. package/cjs/helpers/app.d.ts.map +1 -0
  19. package/cjs/helpers/app.js +127 -0
  20. package/cjs/helpers/app.js.map +1 -0
  21. package/cjs/helpers/exec.d.ts +10 -0
  22. package/cjs/helpers/exec.d.ts.map +1 -0
  23. package/cjs/helpers/exec.js +69 -0
  24. package/cjs/helpers/exec.js.map +1 -0
  25. package/cjs/helpers/package-manager.d.ts +6 -0
  26. package/cjs/helpers/package-manager.d.ts.map +1 -0
  27. package/cjs/helpers/package-manager.js +22 -0
  28. package/cjs/helpers/package-manager.js.map +1 -0
  29. package/cjs/helpers/paths.d.ts +4 -0
  30. package/cjs/helpers/paths.d.ts.map +1 -0
  31. package/cjs/helpers/paths.js +8 -0
  32. package/cjs/helpers/paths.js.map +1 -0
  33. package/cjs/helpers/project-builder-helpers.d.ts +7 -0
  34. package/cjs/helpers/project-builder-helpers.d.ts.map +1 -0
  35. package/cjs/helpers/project-builder-helpers.js +44 -0
  36. package/cjs/helpers/project-builder-helpers.js.map +1 -0
  37. package/cjs/index.d.ts +1 -12
  38. package/cjs/index.d.ts.map +1 -1
  39. package/cjs/index.js +5 -1
  40. package/cjs/index.js.map +1 -1
  41. package/esm/blueprint/blueprint.d.ts +2 -2
  42. package/esm/blueprint/blueprint.d.ts.map +1 -1
  43. package/esm/blueprint/blueprint.js +2 -0
  44. package/esm/blueprint/blueprint.js.map +1 -1
  45. package/esm/index.d.ts +0 -1
  46. package/esm/index.d.ts.map +1 -1
  47. package/esm/index.js +1 -1
  48. package/esm/migration/migrate.d.ts.map +1 -1
  49. package/esm/migration/migrate.js +2 -6
  50. package/esm/migration/migrate.js.map +1 -1
  51. package/esm/migration/migration-office.d.ts +3 -3
  52. package/esm/migration/migration-office.d.ts.map +1 -1
  53. package/esm/migration/migration-office.js +15 -1
  54. package/esm/migration/migration-office.js.map +1 -1
  55. package/esm/migration/types.d.ts +10 -0
  56. package/esm/migration/types.d.ts.map +1 -1
  57. package/esm/model/ModelAggregate.js +1 -1
  58. package/esm/model/ModelAggregate.js.map +1 -1
  59. package/esm/model/base-model.d.ts +2 -2
  60. package/esm/model/base-model.d.ts.map +1 -1
  61. package/esm/model/base-model.js +14 -4
  62. package/esm/model/base-model.js.map +1 -1
  63. package/esm/model/model.d.ts +13 -2
  64. package/esm/model/model.d.ts.map +1 -1
  65. package/esm/model/model.js +41 -3
  66. package/esm/model/model.js.map +1 -1
  67. package/esm/types.d.ts +30 -0
  68. package/esm/types.d.ts.map +1 -1
  69. package/esm/utils/deep-diff.d.ts +9 -0
  70. package/esm/utils/deep-diff.d.ts.map +1 -0
  71. package/esm/utils/deep-diff.js +42 -0
  72. package/esm/utils/deep-diff.js.map +1 -0
  73. package/package.json +2 -1
  74. package/cjs/aggregate/DeselectPipeline.d.ts +0 -10
  75. package/cjs/aggregate/DeselectPipeline.d.ts.map +0 -1
  76. package/cjs/aggregate/DeselectPipeline.js +0 -17
  77. package/cjs/aggregate/DeselectPipeline.js.map +0 -1
  78. package/cjs/aggregate/GeoNearPipeline.d.ts +0 -34
  79. package/cjs/aggregate/GeoNearPipeline.d.ts.map +0 -1
  80. package/cjs/aggregate/GeoNearPipeline.js +0 -44
  81. package/cjs/aggregate/GeoNearPipeline.js.map +0 -1
  82. package/cjs/aggregate/GroupByPipeline.d.ts +0 -12
  83. package/cjs/aggregate/GroupByPipeline.d.ts.map +0 -1
  84. package/cjs/aggregate/GroupByPipeline.js +0 -28
  85. package/cjs/aggregate/GroupByPipeline.js.map +0 -1
  86. package/cjs/aggregate/LimitPipeline.d.ts +0 -10
  87. package/cjs/aggregate/LimitPipeline.d.ts.map +0 -1
  88. package/cjs/aggregate/LimitPipeline.js +0 -14
  89. package/cjs/aggregate/LimitPipeline.js.map +0 -1
  90. package/cjs/aggregate/LookupPipeline.d.ts +0 -19
  91. package/cjs/aggregate/LookupPipeline.d.ts.map +0 -1
  92. package/cjs/aggregate/LookupPipeline.js +0 -19
  93. package/cjs/aggregate/LookupPipeline.js.map +0 -1
  94. package/cjs/aggregate/OrWherePipeline.d.ts +0 -23
  95. package/cjs/aggregate/OrWherePipeline.d.ts.map +0 -1
  96. package/cjs/aggregate/OrWherePipeline.js +0 -42
  97. package/cjs/aggregate/OrWherePipeline.js.map +0 -1
  98. package/cjs/aggregate/SelectPipeline.d.ts +0 -10
  99. package/cjs/aggregate/SelectPipeline.d.ts.map +0 -1
  100. package/cjs/aggregate/SelectPipeline.js +0 -26
  101. package/cjs/aggregate/SelectPipeline.js.map +0 -1
  102. package/cjs/aggregate/SkipPipeline.d.ts +0 -10
  103. package/cjs/aggregate/SkipPipeline.d.ts.map +0 -1
  104. package/cjs/aggregate/SkipPipeline.js +0 -14
  105. package/cjs/aggregate/SkipPipeline.js.map +0 -1
  106. package/cjs/aggregate/SortByPipeline.d.ts +0 -10
  107. package/cjs/aggregate/SortByPipeline.d.ts.map +0 -1
  108. package/cjs/aggregate/SortByPipeline.js +0 -18
  109. package/cjs/aggregate/SortByPipeline.js.map +0 -1
  110. package/cjs/aggregate/SortPipeline.d.ts +0 -11
  111. package/cjs/aggregate/SortPipeline.d.ts.map +0 -1
  112. package/cjs/aggregate/SortPipeline.js +0 -18
  113. package/cjs/aggregate/SortPipeline.js.map +0 -1
  114. package/cjs/aggregate/SortRandomPipeline.d.ts +0 -10
  115. package/cjs/aggregate/SortRandomPipeline.d.ts.map +0 -1
  116. package/cjs/aggregate/SortRandomPipeline.js +0 -16
  117. package/cjs/aggregate/SortRandomPipeline.js.map +0 -1
  118. package/cjs/aggregate/UnwindPipeline.d.ts +0 -14
  119. package/cjs/aggregate/UnwindPipeline.d.ts.map +0 -1
  120. package/cjs/aggregate/UnwindPipeline.js +0 -19
  121. package/cjs/aggregate/UnwindPipeline.js.map +0 -1
  122. package/cjs/aggregate/WhereExpression.d.ts +0 -17
  123. package/cjs/aggregate/WhereExpression.d.ts.map +0 -1
  124. package/cjs/aggregate/WhereExpression.js +0 -149
  125. package/cjs/aggregate/WhereExpression.js.map +0 -1
  126. package/cjs/aggregate/WhereExpressionPipeline.d.ts +0 -10
  127. package/cjs/aggregate/WhereExpressionPipeline.d.ts.map +0 -1
  128. package/cjs/aggregate/WhereExpressionPipeline.js +0 -15
  129. package/cjs/aggregate/WhereExpressionPipeline.js.map +0 -1
  130. package/cjs/aggregate/WherePipeline.d.ts +0 -13
  131. package/cjs/aggregate/WherePipeline.d.ts.map +0 -1
  132. package/cjs/aggregate/WherePipeline.js +0 -12
  133. package/cjs/aggregate/WherePipeline.js.map +0 -1
  134. package/cjs/aggregate/aggregate.d.ts +0 -358
  135. package/cjs/aggregate/aggregate.d.ts.map +0 -1
  136. package/cjs/aggregate/aggregate.js +0 -680
  137. package/cjs/aggregate/aggregate.js.map +0 -1
  138. package/cjs/aggregate/expressions.d.ts +0 -361
  139. package/cjs/aggregate/expressions.d.ts.map +0 -1
  140. package/cjs/aggregate/expressions.js +0 -536
  141. package/cjs/aggregate/expressions.js.map +0 -1
  142. package/cjs/aggregate/index.d.ts +0 -21
  143. package/cjs/aggregate/index.d.ts.map +0 -1
  144. package/cjs/aggregate/parsePipelines.d.ts +0 -5
  145. package/cjs/aggregate/parsePipelines.d.ts.map +0 -1
  146. package/cjs/aggregate/parsePipelines.js +0 -6
  147. package/cjs/aggregate/parsePipelines.js.map +0 -1
  148. package/cjs/aggregate/pipeline.d.ts +0 -31
  149. package/cjs/aggregate/pipeline.d.ts.map +0 -1
  150. package/cjs/aggregate/pipeline.js +0 -42
  151. package/cjs/aggregate/pipeline.js.map +0 -1
  152. package/cjs/aggregate/types.d.ts +0 -8
  153. package/cjs/aggregate/types.d.ts.map +0 -1
  154. package/cjs/aggregate/types.js +0 -31
  155. package/cjs/aggregate/types.js.map +0 -1
  156. package/cjs/blueprint/blueprint-column.d.ts +0 -82
  157. package/cjs/blueprint/blueprint-column.d.ts.map +0 -1
  158. package/cjs/blueprint/blueprint.d.ts +0 -162
  159. package/cjs/blueprint/blueprint.d.ts.map +0 -1
  160. package/cjs/blueprint/blueprint.js +0 -338
  161. package/cjs/blueprint/blueprint.js.map +0 -1
  162. package/cjs/blueprint/index.d.ts +0 -3
  163. package/cjs/blueprint/index.d.ts.map +0 -1
  164. package/cjs/blueprint/model-blueprint.d.ts +0 -15
  165. package/cjs/blueprint/model-blueprint.d.ts.map +0 -1
  166. package/cjs/blueprint/model-blueprint.js +0 -16
  167. package/cjs/blueprint/model-blueprint.js.map +0 -1
  168. package/cjs/casts/arrayOf.d.ts +0 -5
  169. package/cjs/casts/arrayOf.d.ts.map +0 -1
  170. package/cjs/casts/arrayOf.js +0 -18
  171. package/cjs/casts/arrayOf.js.map +0 -1
  172. package/cjs/casts/cast-email.d.ts +0 -2
  173. package/cjs/casts/cast-email.d.ts.map +0 -1
  174. package/cjs/casts/cast-email.js +0 -5
  175. package/cjs/casts/cast-email.js.map +0 -1
  176. package/cjs/casts/castModel.d.ts +0 -3
  177. package/cjs/casts/castModel.d.ts.map +0 -1
  178. package/cjs/casts/castModel.js +0 -49
  179. package/cjs/casts/castModel.js.map +0 -1
  180. package/cjs/casts/expiresAfter.d.ts +0 -3
  181. package/cjs/casts/expiresAfter.d.ts.map +0 -1
  182. package/cjs/casts/expiresAfter.js +0 -5
  183. package/cjs/casts/expiresAfter.js.map +0 -1
  184. package/cjs/casts/index.d.ts +0 -9
  185. package/cjs/casts/index.d.ts.map +0 -1
  186. package/cjs/casts/oneOf.d.ts +0 -3
  187. package/cjs/casts/oneOf.d.ts.map +0 -1
  188. package/cjs/casts/oneOf.js +0 -22
  189. package/cjs/casts/oneOf.js.map +0 -1
  190. package/cjs/casts/random-string.d.ts +0 -2
  191. package/cjs/casts/random-string.d.ts.map +0 -1
  192. package/cjs/casts/random-string.js +0 -5
  193. package/cjs/casts/random-string.js.map +0 -1
  194. package/cjs/casts/randomInteger.d.ts +0 -2
  195. package/cjs/casts/randomInteger.d.ts.map +0 -1
  196. package/cjs/casts/randomInteger.js +0 -7
  197. package/cjs/casts/randomInteger.js.map +0 -1
  198. package/cjs/casts/shapedArray.d.ts +0 -26
  199. package/cjs/casts/shapedArray.d.ts.map +0 -1
  200. package/cjs/casts/shapedArray.js +0 -100
  201. package/cjs/casts/shapedArray.js.map +0 -1
  202. package/cjs/config.d.ts +0 -4
  203. package/cjs/config.d.ts.map +0 -1
  204. package/cjs/config.js +0 -10
  205. package/cjs/config.js.map +0 -1
  206. package/cjs/connection.d.ts +0 -45
  207. package/cjs/connection.d.ts.map +0 -1
  208. package/cjs/connection.js +0 -98
  209. package/cjs/connection.js.map +0 -1
  210. package/cjs/console/db-indexes-command.d.ts +0 -3
  211. package/cjs/console/db-indexes-command.d.ts.map +0 -1
  212. package/cjs/console/db-indexes-command.js +0 -18
  213. package/cjs/console/db-indexes-command.js.map +0 -1
  214. package/cjs/console/index.d.ts +0 -4
  215. package/cjs/console/index.d.ts.map +0 -1
  216. package/cjs/console/migrate-command.d.ts +0 -2
  217. package/cjs/console/migrate-command.d.ts.map +0 -1
  218. package/cjs/console/migrate-command.js +0 -13
  219. package/cjs/console/migrate-command.js.map +0 -1
  220. package/cjs/console/register-blueprint-command.d.ts +0 -2
  221. package/cjs/console/register-blueprint-command.d.ts.map +0 -1
  222. package/cjs/console/register-blueprint-command.js +0 -19
  223. package/cjs/console/register-blueprint-command.js.map +0 -1
  224. package/cjs/database.d.ts +0 -49
  225. package/cjs/database.d.ts.map +0 -1
  226. package/cjs/database.js +0 -85
  227. package/cjs/database.js.map +0 -1
  228. package/cjs/migration/index.d.ts +0 -4
  229. package/cjs/migration/index.d.ts.map +0 -1
  230. package/cjs/migration/migrate.d.ts +0 -13
  231. package/cjs/migration/migrate.d.ts.map +0 -1
  232. package/cjs/migration/migrate.js +0 -76
  233. package/cjs/migration/migrate.js.map +0 -1
  234. package/cjs/migration/migration-office.d.ts +0 -21
  235. package/cjs/migration/migration-office.d.ts.map +0 -1
  236. package/cjs/migration/migration-office.js +0 -26
  237. package/cjs/migration/migration-office.js.map +0 -1
  238. package/cjs/migration/migration-officer.d.ts +0 -33
  239. package/cjs/migration/migration-officer.d.ts.map +0 -1
  240. package/cjs/migration/migration-officer.js +0 -55
  241. package/cjs/migration/migration-officer.js.map +0 -1
  242. package/cjs/migration/types.d.ts +0 -24
  243. package/cjs/migration/types.d.ts.map +0 -1
  244. package/cjs/model/ModelAggregate.d.ts +0 -84
  245. package/cjs/model/ModelAggregate.d.ts.map +0 -1
  246. package/cjs/model/ModelAggregate.js +0 -164
  247. package/cjs/model/ModelAggregate.js.map +0 -1
  248. package/cjs/model/ModelSync.d.ts +0 -74
  249. package/cjs/model/ModelSync.d.ts.map +0 -1
  250. package/cjs/model/ModelSync.js +0 -215
  251. package/cjs/model/ModelSync.js.map +0 -1
  252. package/cjs/model/RelationshipWithMany.d.ts +0 -24
  253. package/cjs/model/RelationshipWithMany.d.ts.map +0 -1
  254. package/cjs/model/RelationshipWithMany.js +0 -42
  255. package/cjs/model/RelationshipWithMany.js.map +0 -1
  256. package/cjs/model/base-model.d.ts +0 -155
  257. package/cjs/model/base-model.d.ts.map +0 -1
  258. package/cjs/model/base-model.js +0 -220
  259. package/cjs/model/base-model.js.map +0 -1
  260. package/cjs/model/crud-model.d.ts +0 -117
  261. package/cjs/model/crud-model.d.ts.map +0 -1
  262. package/cjs/model/crud-model.js +0 -352
  263. package/cjs/model/crud-model.js.map +0 -1
  264. package/cjs/model/index.d.ts +0 -10
  265. package/cjs/model/index.d.ts.map +0 -1
  266. package/cjs/model/joinable.d.ts +0 -87
  267. package/cjs/model/joinable.d.ts.map +0 -1
  268. package/cjs/model/joinable.js +0 -155
  269. package/cjs/model/joinable.js.map +0 -1
  270. package/cjs/model/master-mind.d.ts +0 -44
  271. package/cjs/model/master-mind.d.ts.map +0 -1
  272. package/cjs/model/master-mind.js +0 -129
  273. package/cjs/model/master-mind.js.map +0 -1
  274. package/cjs/model/model-events.d.ts +0 -57
  275. package/cjs/model/model-events.d.ts.map +0 -1
  276. package/cjs/model/model-events.js +0 -102
  277. package/cjs/model/model-events.js.map +0 -1
  278. package/cjs/model/model.d.ts +0 -390
  279. package/cjs/model/model.d.ts.map +0 -1
  280. package/cjs/model/model.js +0 -990
  281. package/cjs/model/model.js.map +0 -1
  282. package/cjs/model/relationships.d.ts +0 -69
  283. package/cjs/model/relationships.d.ts.map +0 -1
  284. package/cjs/model/relationships.js +0 -144
  285. package/cjs/model/relationships.js.map +0 -1
  286. package/cjs/model/types.d.ts +0 -113
  287. package/cjs/model/types.d.ts.map +0 -1
  288. package/cjs/model/types.js +0 -11
  289. package/cjs/model/types.js.map +0 -1
  290. package/cjs/query/index.d.ts +0 -2
  291. package/cjs/query/index.d.ts.map +0 -1
  292. package/cjs/query/query.d.ts +0 -228
  293. package/cjs/query/query.d.ts.map +0 -1
  294. package/cjs/query/query.js +0 -675
  295. package/cjs/query/query.js.map +0 -1
  296. package/cjs/query/types.d.ts +0 -56
  297. package/cjs/query/types.d.ts.map +0 -1
  298. package/cjs/types.d.ts +0 -32
  299. package/cjs/types.d.ts.map +0 -1
  300. package/cjs/utils/connectToDatabase.d.ts +0 -3
  301. package/cjs/utils/connectToDatabase.d.ts.map +0 -1
  302. package/cjs/utils/connectToDatabase.js +0 -3
  303. package/cjs/utils/connectToDatabase.js.map +0 -1
  304. package/cjs/utils/dropAllDatabaseIndexes.d.ts +0 -2
  305. package/cjs/utils/dropAllDatabaseIndexes.d.ts.map +0 -1
  306. package/cjs/utils/dropAllDatabaseIndexes.js +0 -10
  307. package/cjs/utils/dropAllDatabaseIndexes.js.map +0 -1
  308. package/cjs/utils/index.d.ts +0 -5
  309. package/cjs/utils/index.d.ts.map +0 -1
  310. package/cjs/utils/joinable-proxy.d.ts +0 -3
  311. package/cjs/utils/joinable-proxy.d.ts.map +0 -1
  312. package/cjs/utils/joinable-proxy.js +0 -14
  313. package/cjs/utils/joinable-proxy.js.map +0 -1
  314. package/cjs/utils/listDatabaseIndexes.d.ts +0 -4
  315. package/cjs/utils/listDatabaseIndexes.d.ts.map +0 -1
  316. package/cjs/utils/listDatabaseIndexes.js +0 -101
  317. package/cjs/utils/listDatabaseIndexes.js.map +0 -1
  318. package/cjs/utils/onceConnected.d.ts +0 -2
  319. package/cjs/utils/onceConnected.d.ts.map +0 -1
  320. package/cjs/utils/onceConnected.js +0 -8
  321. package/cjs/utils/onceConnected.js.map +0 -1
  322. package/esm/console/db-indexes-command.d.ts +0 -3
  323. package/esm/console/db-indexes-command.d.ts.map +0 -1
  324. package/esm/console/db-indexes-command.js +0 -18
  325. package/esm/console/db-indexes-command.js.map +0 -1
  326. package/esm/console/index.d.ts +0 -4
  327. package/esm/console/index.d.ts.map +0 -1
  328. package/esm/console/migrate-command.d.ts +0 -2
  329. package/esm/console/migrate-command.d.ts.map +0 -1
  330. package/esm/console/migrate-command.js +0 -13
  331. package/esm/console/migrate-command.js.map +0 -1
  332. package/esm/console/register-blueprint-command.d.ts +0 -2
  333. package/esm/console/register-blueprint-command.d.ts.map +0 -1
  334. package/esm/console/register-blueprint-command.js +0 -19
  335. package/esm/console/register-blueprint-command.js.map +0 -1
  336. package/esm/model/relationships.d.ts +0 -69
  337. package/esm/model/relationships.d.ts.map +0 -1
  338. package/esm/model/relationships.js +0 -144
  339. package/esm/model/relationships.js.map +0 -1
@@ -1,144 +0,0 @@
1
- import {clone}from'@mongez/reinforcements';import {joinableProxy}from'../utils/joinable-proxy.js';import {ModelAggregate}from'./ModelAggregate.js';import {ModelSync}from'./ModelSync.js';import {RelationshipWithMany}from'./RelationshipWithMany.js';import {CrudModel}from'./crud-model.js';import {Joinable}from'./joinable.js';import {Model}from'./model.js';class RelationshipModel extends CrudModel {
2
- /**
3
- * Sync with list
4
- */
5
- syncWith = [];
6
- /**
7
- * Get relationship with the given model class
8
- */
9
- hasMany(modelClass, column) {
10
- return new RelationshipWithMany(this, modelClass, column);
11
- }
12
- /**
13
- * Get new aggregate for current model
14
- */
15
- static aggregate() {
16
- return new ModelAggregate(this);
17
- }
18
- /**
19
- * Get query builder
20
- * @alias aggregate
21
- */
22
- static queryBuilder() {
23
- return new ModelAggregate(this);
24
- }
25
- /**
26
- * Sync with the given model
27
- */
28
- static sync(columns, embedMethod = "embedData") {
29
- return new ModelSync(this, columns, embedMethod);
30
- }
31
- /**
32
- * Sync data on saving
33
- */
34
- startSyncing(saveMode, oldModel) {
35
- for (const modelSync of this.syncWith) {
36
- modelSync.sync(this, saveMode, oldModel);
37
- }
38
- }
39
- /**
40
- * Sync destruction
41
- * Called when destroy method is called
42
- */
43
- syncDestruction() {
44
- for (const modelSync of this.syncWith) {
45
- modelSync.syncDestruction(this);
46
- }
47
- }
48
- /**
49
- * The syncing model (That calls startSyncing) is being embedded in multiple documents of current model
50
- * I.e Country.syncMany('cities') while current model is City
51
- */
52
- static syncMany(columns, embedMethod = "embedData") {
53
- return new ModelSync(this, columns, embedMethod).syncMany();
54
- }
55
- /**
56
- * Reassociate a model/object/document with the current model
57
- * If the model is already associated, it will be updated
58
- * If not, it will be associated
59
- * the model/document must have an id
60
- *
61
- * If it is a model, you can set the embed method to use
62
- */
63
- reassociate(column, model, embedWith) {
64
- const columnValue = model instanceof Model
65
- ? embedWith
66
- ? model[embedWith]()
67
- : model.embeddedData
68
- : model;
69
- if (columnValue === undefined)
70
- return this;
71
- // make a deep copy so when changing the data, it won't affect the original data
72
- const documentsList = clone(this.get(column, []));
73
- const index = documentsList.findIndex((doc) => (doc?.id || doc) === (columnValue?.id || columnValue));
74
- if (index === -1) {
75
- documentsList.push(columnValue);
76
- }
77
- else {
78
- documentsList[index] = columnValue;
79
- }
80
- this.set(column, [...documentsList]);
81
- return this;
82
- }
83
- /**
84
- * Associate a model with the current model
85
- */
86
- associate(column, model, embedWith) {
87
- const columnValue = model instanceof Model
88
- ? embedWith
89
- ? model[embedWith]()
90
- : model.embeddedData
91
- : model;
92
- if (columnValue === undefined)
93
- return this;
94
- const documentsList = this.get(column, []);
95
- documentsList.push(columnValue);
96
- this.set(column, documentsList);
97
- return this;
98
- }
99
- /**
100
- * Disassociate a model with the current model
101
- */
102
- disassociate(column, model) {
103
- const columnValue = model instanceof Model ? model.embeddedData : model;
104
- if (columnValue === undefined)
105
- return this;
106
- const documentsList = this.get(column, []);
107
- if (!Array.isArray(documentsList))
108
- return this;
109
- const index = documentsList.findIndex((doc) => (doc?.id || doc) === (columnValue?.id || columnValue));
110
- if (index !== -1) {
111
- documentsList.splice(index, 1);
112
- }
113
- this.set(column, documentsList);
114
- return this;
115
- }
116
- /**
117
- * Make a wrapper to list when models should be updated when only one of the given columns is updated
118
- */
119
- syncUpdateWhenChange(columns, syncModels) {
120
- return syncModels.map(syncModel => {
121
- syncModel.updateWhenChange(columns);
122
- return syncModel;
123
- });
124
- }
125
- /**
126
- * Get a Joinable instance for current model
127
- */
128
- static joinable(localField, foreignField, single, as) {
129
- const joinable = new Joinable(this);
130
- if (localField) {
131
- joinable.localField(localField);
132
- }
133
- if (foreignField) {
134
- joinable.foreignField(foreignField);
135
- }
136
- if (single) {
137
- joinable.single(single);
138
- }
139
- if (as) {
140
- joinable.as(as);
141
- }
142
- return joinableProxy(joinable);
143
- }
144
- }export{RelationshipModel};//# sourceMappingURL=relationships.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relationships.js","sources":["../../src/model/relationships.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}