@warlock.js/cascade 4.0.92 → 4.0.93

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 (269) hide show
  1. package/cjs/contracts/database-driver.contract.d.ts +118 -0
  2. package/cjs/contracts/database-driver.contract.d.ts.map +1 -1
  3. package/cjs/contracts/migration-driver.contract.d.ts +14 -0
  4. package/cjs/contracts/migration-driver.contract.d.ts.map +1 -1
  5. package/cjs/contracts/query-builder.contract.d.ts +410 -1
  6. package/cjs/contracts/query-builder.contract.d.ts.map +1 -1
  7. package/cjs/data-source/data-source-registry.d.ts +4 -0
  8. package/cjs/data-source/data-source-registry.d.ts.map +1 -1
  9. package/cjs/data-source/data-source-registry.js +7 -0
  10. package/cjs/data-source/data-source-registry.js.map +1 -1
  11. package/cjs/drivers/mongodb/mongodb-blueprint.d.ts.map +1 -0
  12. package/cjs/drivers/mongodb/mongodb-blueprint.js.map +1 -0
  13. package/{esm/drivers/mongo → cjs/drivers/mongodb}/mongodb-driver.d.ts +49 -0
  14. package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +1 -0
  15. package/cjs/drivers/{mongo → mongodb}/mongodb-driver.js +125 -8
  16. package/cjs/drivers/mongodb/mongodb-driver.js.map +1 -0
  17. package/cjs/drivers/{mongo/mongo-id-generator.d.ts → mongodb/mongodb-id-generator.d.ts} +1 -1
  18. package/cjs/drivers/mongodb/mongodb-id-generator.d.ts.map +1 -0
  19. package/cjs/drivers/{mongo/mongo-id-generator.js → mongodb/mongodb-id-generator.js} +1 -1
  20. package/cjs/drivers/mongodb/mongodb-id-generator.js.map +1 -0
  21. package/cjs/drivers/{mongo/mongo-migration-driver.d.ts → mongodb/mongodb-migration-driver.d.ts} +10 -1
  22. package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -0
  23. package/cjs/drivers/{mongo/mongo-migration-driver.js → mongodb/mongodb-migration-driver.js} +18 -1
  24. package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +1 -0
  25. package/cjs/drivers/{mongo/mongo-query-builder.d.ts → mongodb/mongodb-query-builder.d.ts} +172 -4
  26. package/cjs/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -0
  27. package/cjs/drivers/{mongo/mongo-query-builder.js → mongodb/mongodb-query-builder.js} +220 -14
  28. package/cjs/drivers/mongodb/mongodb-query-builder.js.map +1 -0
  29. package/{esm/drivers/mongo/mongo-query-operations.d.ts → cjs/drivers/mongodb/mongodb-query-operations.d.ts} +16 -16
  30. package/cjs/drivers/mongodb/mongodb-query-operations.d.ts.map +1 -0
  31. package/cjs/drivers/{mongo/mongo-query-operations.js → mongodb/mongodb-query-operations.js} +22 -22
  32. package/cjs/drivers/mongodb/mongodb-query-operations.js.map +1 -0
  33. package/cjs/drivers/{mongo/mongo-query-parser.d.ts → mongodb/mongodb-query-parser.d.ts} +2 -2
  34. package/cjs/drivers/mongodb/mongodb-query-parser.d.ts.map +1 -0
  35. package/cjs/drivers/{mongo/mongo-query-parser.js → mongodb/mongodb-query-parser.js} +87 -87
  36. package/cjs/drivers/mongodb/mongodb-query-parser.js.map +1 -0
  37. package/cjs/drivers/{mongo/mongo-sync-adapter.d.ts → mongodb/mongodb-sync-adapter.d.ts} +2 -2
  38. package/cjs/drivers/mongodb/mongodb-sync-adapter.d.ts.map +1 -0
  39. package/cjs/drivers/{mongo/mongo-sync-adapter.js → mongodb/mongodb-sync-adapter.js} +2 -2
  40. package/cjs/drivers/mongodb/mongodb-sync-adapter.js.map +1 -0
  41. package/{esm/drivers/mongo → cjs/drivers/mongodb}/types.d.ts +2 -2
  42. package/cjs/drivers/mongodb/types.d.ts.map +1 -0
  43. package/cjs/drivers/postgres/index.d.ts +16 -0
  44. package/cjs/drivers/postgres/index.d.ts.map +1 -0
  45. package/cjs/drivers/postgres/postgres-blueprint.d.ts +64 -0
  46. package/cjs/drivers/postgres/postgres-blueprint.d.ts.map +1 -0
  47. package/cjs/drivers/postgres/postgres-blueprint.js +121 -0
  48. package/cjs/drivers/postgres/postgres-blueprint.js.map +1 -0
  49. package/cjs/drivers/postgres/postgres-dialect.d.ts +135 -0
  50. package/cjs/drivers/postgres/postgres-dialect.d.ts.map +1 -0
  51. package/cjs/drivers/postgres/postgres-dialect.js +245 -0
  52. package/cjs/drivers/postgres/postgres-dialect.js.map +1 -0
  53. package/cjs/drivers/postgres/postgres-driver.d.ts +360 -0
  54. package/cjs/drivers/postgres/postgres-driver.d.ts.map +1 -0
  55. package/cjs/drivers/postgres/postgres-driver.js +763 -0
  56. package/cjs/drivers/postgres/postgres-driver.js.map +1 -0
  57. package/cjs/drivers/postgres/postgres-migration-driver.d.ts +297 -0
  58. package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +1 -0
  59. package/cjs/drivers/postgres/postgres-migration-driver.js +578 -0
  60. package/cjs/drivers/postgres/postgres-migration-driver.js.map +1 -0
  61. package/cjs/drivers/postgres/postgres-query-builder.d.ts +824 -0
  62. package/cjs/drivers/postgres/postgres-query-builder.d.ts.map +1 -0
  63. package/cjs/drivers/postgres/postgres-query-builder.js +1800 -0
  64. package/cjs/drivers/postgres/postgres-query-builder.js.map +1 -0
  65. package/cjs/drivers/postgres/postgres-query-parser.d.ts +308 -0
  66. package/cjs/drivers/postgres/postgres-query-parser.d.ts.map +1 -0
  67. package/cjs/drivers/postgres/postgres-query-parser.js +706 -0
  68. package/cjs/drivers/postgres/postgres-query-parser.js.map +1 -0
  69. package/cjs/drivers/postgres/postgres-sync-adapter.d.ts +83 -0
  70. package/cjs/drivers/postgres/postgres-sync-adapter.d.ts.map +1 -0
  71. package/cjs/drivers/postgres/postgres-sync-adapter.js +197 -0
  72. package/cjs/drivers/postgres/postgres-sync-adapter.js.map +1 -0
  73. package/cjs/drivers/postgres/types.d.ts +142 -0
  74. package/cjs/drivers/postgres/types.d.ts.map +1 -0
  75. package/cjs/drivers/sql/index.d.ts +10 -0
  76. package/cjs/drivers/sql/index.d.ts.map +1 -0
  77. package/cjs/drivers/sql/sql-dialect.contract.d.ts +203 -0
  78. package/cjs/drivers/sql/sql-dialect.contract.d.ts.map +1 -0
  79. package/cjs/drivers/sql/sql-types.d.ts +202 -0
  80. package/cjs/drivers/sql/sql-types.d.ts.map +1 -0
  81. package/cjs/index.d.ts +9 -6
  82. package/cjs/index.d.ts.map +1 -1
  83. package/cjs/index.js +1 -1
  84. package/cjs/migration/migration-runner.d.ts.map +1 -1
  85. package/cjs/migration/migration-runner.js +3 -0
  86. package/cjs/migration/migration-runner.js.map +1 -1
  87. package/cjs/model/model.d.ts +236 -1
  88. package/cjs/model/model.d.ts.map +1 -1
  89. package/cjs/model/model.js +203 -4
  90. package/cjs/model/model.js.map +1 -1
  91. package/cjs/relations/helpers.d.ts +156 -0
  92. package/cjs/relations/helpers.d.ts.map +1 -0
  93. package/cjs/relations/helpers.js +197 -0
  94. package/cjs/relations/helpers.js.map +1 -0
  95. package/cjs/relations/index.d.ts +33 -0
  96. package/cjs/relations/index.d.ts.map +1 -0
  97. package/cjs/relations/pivot-operations.d.ts +160 -0
  98. package/cjs/relations/pivot-operations.d.ts.map +1 -0
  99. package/cjs/relations/pivot-operations.js +293 -0
  100. package/cjs/relations/pivot-operations.js.map +1 -0
  101. package/cjs/relations/relation-loader.d.ts +194 -0
  102. package/cjs/relations/relation-loader.d.ts.map +1 -0
  103. package/cjs/relations/relation-loader.js +466 -0
  104. package/cjs/relations/relation-loader.js.map +1 -0
  105. package/cjs/relations/types.d.ts +280 -0
  106. package/cjs/relations/types.d.ts.map +1 -0
  107. package/cjs/sync/model-sync-operation.js +1 -1
  108. package/cjs/sync/model-sync-operation.js.map +1 -1
  109. package/cjs/utils/connect-to-database.d.ts.map +1 -1
  110. package/cjs/utils/connect-to-database.js +15 -3
  111. package/cjs/utils/connect-to-database.js.map +1 -1
  112. package/cjs/utils/define-model.d.ts +51 -29
  113. package/cjs/utils/define-model.d.ts.map +1 -1
  114. package/cjs/validation/rules/database-model-rule.js +1 -1
  115. package/cjs/validation/rules/database-model-rule.js.map +1 -1
  116. package/esm/contracts/database-driver.contract.d.ts +118 -0
  117. package/esm/contracts/database-driver.contract.d.ts.map +1 -1
  118. package/esm/contracts/migration-driver.contract.d.ts +14 -0
  119. package/esm/contracts/migration-driver.contract.d.ts.map +1 -1
  120. package/esm/contracts/query-builder.contract.d.ts +410 -1
  121. package/esm/contracts/query-builder.contract.d.ts.map +1 -1
  122. package/esm/data-source/data-source-registry.d.ts +4 -0
  123. package/esm/data-source/data-source-registry.d.ts.map +1 -1
  124. package/esm/data-source/data-source-registry.js +7 -0
  125. package/esm/data-source/data-source-registry.js.map +1 -1
  126. package/esm/drivers/mongodb/mongodb-blueprint.d.ts.map +1 -0
  127. package/esm/drivers/mongodb/mongodb-blueprint.js.map +1 -0
  128. package/{cjs/drivers/mongo → esm/drivers/mongodb}/mongodb-driver.d.ts +49 -0
  129. package/esm/drivers/mongodb/mongodb-driver.d.ts.map +1 -0
  130. package/esm/drivers/{mongo → mongodb}/mongodb-driver.js +121 -4
  131. package/esm/drivers/mongodb/mongodb-driver.js.map +1 -0
  132. package/esm/drivers/{mongo/mongo-id-generator.d.ts → mongodb/mongodb-id-generator.d.ts} +1 -1
  133. package/esm/drivers/mongodb/mongodb-id-generator.d.ts.map +1 -0
  134. package/esm/drivers/{mongo/mongo-id-generator.js → mongodb/mongodb-id-generator.js} +1 -1
  135. package/esm/drivers/mongodb/mongodb-id-generator.js.map +1 -0
  136. package/esm/drivers/{mongo/mongo-migration-driver.d.ts → mongodb/mongodb-migration-driver.d.ts} +10 -1
  137. package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -0
  138. package/esm/drivers/{mongo/mongo-migration-driver.js → mongodb/mongodb-migration-driver.js} +18 -1
  139. package/esm/drivers/mongodb/mongodb-migration-driver.js.map +1 -0
  140. package/esm/drivers/{mongo/mongo-query-builder.d.ts → mongodb/mongodb-query-builder.d.ts} +172 -4
  141. package/esm/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -0
  142. package/esm/drivers/{mongo/mongo-query-builder.js → mongodb/mongodb-query-builder.js} +218 -12
  143. package/esm/drivers/mongodb/mongodb-query-builder.js.map +1 -0
  144. package/{cjs/drivers/mongo/mongo-query-operations.d.ts → esm/drivers/mongodb/mongodb-query-operations.d.ts} +16 -16
  145. package/esm/drivers/mongodb/mongodb-query-operations.d.ts.map +1 -0
  146. package/esm/drivers/{mongo/mongo-query-operations.js → mongodb/mongodb-query-operations.js} +22 -22
  147. package/esm/drivers/mongodb/mongodb-query-operations.js.map +1 -0
  148. package/esm/drivers/{mongo/mongo-query-parser.d.ts → mongodb/mongodb-query-parser.d.ts} +2 -2
  149. package/esm/drivers/mongodb/mongodb-query-parser.d.ts.map +1 -0
  150. package/esm/drivers/{mongo/mongo-query-parser.js → mongodb/mongodb-query-parser.js} +87 -87
  151. package/esm/drivers/mongodb/mongodb-query-parser.js.map +1 -0
  152. package/esm/drivers/{mongo/mongo-sync-adapter.d.ts → mongodb/mongodb-sync-adapter.d.ts} +2 -2
  153. package/esm/drivers/mongodb/mongodb-sync-adapter.d.ts.map +1 -0
  154. package/esm/drivers/{mongo/mongo-sync-adapter.js → mongodb/mongodb-sync-adapter.js} +2 -2
  155. package/esm/drivers/mongodb/mongodb-sync-adapter.js.map +1 -0
  156. package/{cjs/drivers/mongo → esm/drivers/mongodb}/types.d.ts +2 -2
  157. package/esm/drivers/mongodb/types.d.ts.map +1 -0
  158. package/esm/drivers/postgres/index.d.ts +16 -0
  159. package/esm/drivers/postgres/index.d.ts.map +1 -0
  160. package/esm/drivers/postgres/postgres-blueprint.d.ts +64 -0
  161. package/esm/drivers/postgres/postgres-blueprint.d.ts.map +1 -0
  162. package/esm/drivers/postgres/postgres-blueprint.js +121 -0
  163. package/esm/drivers/postgres/postgres-blueprint.js.map +1 -0
  164. package/esm/drivers/postgres/postgres-dialect.d.ts +135 -0
  165. package/esm/drivers/postgres/postgres-dialect.d.ts.map +1 -0
  166. package/esm/drivers/postgres/postgres-dialect.js +245 -0
  167. package/esm/drivers/postgres/postgres-dialect.js.map +1 -0
  168. package/esm/drivers/postgres/postgres-driver.d.ts +360 -0
  169. package/esm/drivers/postgres/postgres-driver.d.ts.map +1 -0
  170. package/esm/drivers/postgres/postgres-driver.js +763 -0
  171. package/esm/drivers/postgres/postgres-driver.js.map +1 -0
  172. package/esm/drivers/postgres/postgres-migration-driver.d.ts +297 -0
  173. package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +1 -0
  174. package/esm/drivers/postgres/postgres-migration-driver.js +578 -0
  175. package/esm/drivers/postgres/postgres-migration-driver.js.map +1 -0
  176. package/esm/drivers/postgres/postgres-query-builder.d.ts +824 -0
  177. package/esm/drivers/postgres/postgres-query-builder.d.ts.map +1 -0
  178. package/esm/drivers/postgres/postgres-query-builder.js +1800 -0
  179. package/esm/drivers/postgres/postgres-query-builder.js.map +1 -0
  180. package/esm/drivers/postgres/postgres-query-parser.d.ts +308 -0
  181. package/esm/drivers/postgres/postgres-query-parser.d.ts.map +1 -0
  182. package/esm/drivers/postgres/postgres-query-parser.js +706 -0
  183. package/esm/drivers/postgres/postgres-query-parser.js.map +1 -0
  184. package/esm/drivers/postgres/postgres-sync-adapter.d.ts +83 -0
  185. package/esm/drivers/postgres/postgres-sync-adapter.d.ts.map +1 -0
  186. package/esm/drivers/postgres/postgres-sync-adapter.js +197 -0
  187. package/esm/drivers/postgres/postgres-sync-adapter.js.map +1 -0
  188. package/esm/drivers/postgres/types.d.ts +142 -0
  189. package/esm/drivers/postgres/types.d.ts.map +1 -0
  190. package/esm/drivers/sql/index.d.ts +10 -0
  191. package/esm/drivers/sql/index.d.ts.map +1 -0
  192. package/esm/drivers/sql/sql-dialect.contract.d.ts +203 -0
  193. package/esm/drivers/sql/sql-dialect.contract.d.ts.map +1 -0
  194. package/esm/drivers/sql/sql-types.d.ts +202 -0
  195. package/esm/drivers/sql/sql-types.d.ts.map +1 -0
  196. package/esm/index.d.ts +9 -6
  197. package/esm/index.d.ts.map +1 -1
  198. package/esm/index.js +1 -1
  199. package/esm/migration/migration-runner.d.ts.map +1 -1
  200. package/esm/migration/migration-runner.js +3 -0
  201. package/esm/migration/migration-runner.js.map +1 -1
  202. package/esm/model/model.d.ts +236 -1
  203. package/esm/model/model.d.ts.map +1 -1
  204. package/esm/model/model.js +203 -4
  205. package/esm/model/model.js.map +1 -1
  206. package/esm/relations/helpers.d.ts +156 -0
  207. package/esm/relations/helpers.d.ts.map +1 -0
  208. package/esm/relations/helpers.js +197 -0
  209. package/esm/relations/helpers.js.map +1 -0
  210. package/esm/relations/index.d.ts +33 -0
  211. package/esm/relations/index.d.ts.map +1 -0
  212. package/esm/relations/pivot-operations.d.ts +160 -0
  213. package/esm/relations/pivot-operations.d.ts.map +1 -0
  214. package/esm/relations/pivot-operations.js +293 -0
  215. package/esm/relations/pivot-operations.js.map +1 -0
  216. package/esm/relations/relation-loader.d.ts +194 -0
  217. package/esm/relations/relation-loader.d.ts.map +1 -0
  218. package/esm/relations/relation-loader.js +466 -0
  219. package/esm/relations/relation-loader.js.map +1 -0
  220. package/esm/relations/types.d.ts +280 -0
  221. package/esm/relations/types.d.ts.map +1 -0
  222. package/esm/sync/model-sync-operation.js +1 -1
  223. package/esm/sync/model-sync-operation.js.map +1 -1
  224. package/esm/utils/connect-to-database.d.ts.map +1 -1
  225. package/esm/utils/connect-to-database.js +15 -3
  226. package/esm/utils/connect-to-database.js.map +1 -1
  227. package/esm/utils/define-model.d.ts +51 -29
  228. package/esm/utils/define-model.d.ts.map +1 -1
  229. package/esm/validation/rules/database-model-rule.js +1 -1
  230. package/esm/validation/rules/database-model-rule.js.map +1 -1
  231. package/package.json +4 -4
  232. package/cjs/drivers/mongo/mongo-id-generator.d.ts.map +0 -1
  233. package/cjs/drivers/mongo/mongo-id-generator.js.map +0 -1
  234. package/cjs/drivers/mongo/mongo-migration-driver.d.ts.map +0 -1
  235. package/cjs/drivers/mongo/mongo-migration-driver.js.map +0 -1
  236. package/cjs/drivers/mongo/mongo-query-builder.d.ts.map +0 -1
  237. package/cjs/drivers/mongo/mongo-query-builder.js.map +0 -1
  238. package/cjs/drivers/mongo/mongo-query-operations.d.ts.map +0 -1
  239. package/cjs/drivers/mongo/mongo-query-operations.js.map +0 -1
  240. package/cjs/drivers/mongo/mongo-query-parser.d.ts.map +0 -1
  241. package/cjs/drivers/mongo/mongo-query-parser.js.map +0 -1
  242. package/cjs/drivers/mongo/mongo-sync-adapter.d.ts.map +0 -1
  243. package/cjs/drivers/mongo/mongo-sync-adapter.js.map +0 -1
  244. package/cjs/drivers/mongo/mongodb-blueprint.d.ts.map +0 -1
  245. package/cjs/drivers/mongo/mongodb-blueprint.js.map +0 -1
  246. package/cjs/drivers/mongo/mongodb-driver.d.ts.map +0 -1
  247. package/cjs/drivers/mongo/mongodb-driver.js.map +0 -1
  248. package/cjs/drivers/mongo/types.d.ts.map +0 -1
  249. package/esm/drivers/mongo/mongo-id-generator.d.ts.map +0 -1
  250. package/esm/drivers/mongo/mongo-id-generator.js.map +0 -1
  251. package/esm/drivers/mongo/mongo-migration-driver.d.ts.map +0 -1
  252. package/esm/drivers/mongo/mongo-migration-driver.js.map +0 -1
  253. package/esm/drivers/mongo/mongo-query-builder.d.ts.map +0 -1
  254. package/esm/drivers/mongo/mongo-query-builder.js.map +0 -1
  255. package/esm/drivers/mongo/mongo-query-operations.d.ts.map +0 -1
  256. package/esm/drivers/mongo/mongo-query-operations.js.map +0 -1
  257. package/esm/drivers/mongo/mongo-query-parser.d.ts.map +0 -1
  258. package/esm/drivers/mongo/mongo-query-parser.js.map +0 -1
  259. package/esm/drivers/mongo/mongo-sync-adapter.d.ts.map +0 -1
  260. package/esm/drivers/mongo/mongo-sync-adapter.js.map +0 -1
  261. package/esm/drivers/mongo/mongodb-blueprint.d.ts.map +0 -1
  262. package/esm/drivers/mongo/mongodb-blueprint.js.map +0 -1
  263. package/esm/drivers/mongo/mongodb-driver.d.ts.map +0 -1
  264. package/esm/drivers/mongo/mongodb-driver.js.map +0 -1
  265. package/esm/drivers/mongo/types.d.ts.map +0 -1
  266. /package/cjs/drivers/{mongo → mongodb}/mongodb-blueprint.d.ts +0 -0
  267. /package/cjs/drivers/{mongo → mongodb}/mongodb-blueprint.js +0 -0
  268. /package/esm/drivers/{mongo → mongodb}/mongodb-blueprint.d.ts +0 -0
  269. /package/esm/drivers/{mongo → mongodb}/mongodb-blueprint.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sources":["../../src/model/model.ts"],"sourcesContent":[null],"names":["DatabaseDirtyTracker","getModelFromRegistry","getAllModelsFromRegistry","modelSync","get","only","set","unset","merge","globalModelEvents","dataSourceRegistry","DatabaseRemover","DatabaseRestorer","ModelEvents","removeModelFromRegistery","DatabaseWriter"],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sources":["../../src/model/model.ts"],"sourcesContent":[null],"names":["ModelEvents","RelationLoader","DatabaseDirtyTracker","getModelFromRegistry","getAllModelsFromRegistry","modelSync","get","only","set","unset","merge","globalModelEvents","dataSourceRegistry","DatabaseRemover","DatabaseRestorer","removeModelFromRegistery","DatabaseWriter"],"mappings":"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"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * @fileoverview Helper functions for defining model relationships.
3
+ *
4
+ * This module provides a clean, intuitive API for defining relationships
5
+ * between models using helper functions instead of raw configuration objects.
6
+ *
7
+ * @module @warlock.js/cascade/relations/helpers
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * import { hasMany, belongsTo, belongsToMany, hasOne } from "@warlock.js/cascade";
12
+ *
13
+ * class User extends Model {
14
+ * static relations = {
15
+ * posts: hasMany("Post"),
16
+ * profile: hasOne("Profile"),
17
+ * organization: belongsTo("Organization", { foreignKey: "organizationId" }),
18
+ * roles: belongsToMany("Role", { pivot: "user_roles" }),
19
+ * };
20
+ * }
21
+ * ```
22
+ */
23
+ import type { BelongsToManyOptions, BelongsToOptions, HasManyOptions, HasOneOptions, RelationDefinition } from "./types";
24
+ /**
25
+ * Defines a one-to-many relationship.
26
+ *
27
+ * Use this when the current model owns many instances of another model.
28
+ * The foreign key is stored on the related model.
29
+ *
30
+ * @param model - The name of the related model in the registry
31
+ * @param options - Optional configuration for the relationship
32
+ * @returns A relation definition object
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * // User has many Posts
37
+ * // The Post model has a userId column referencing User.id
38
+ * static relations = {
39
+ * posts: hasMany("Post"),
40
+ * };
41
+ *
42
+ * // With custom foreign key
43
+ * static relations = {
44
+ * comments: hasMany("Comment", { foreignKey: "authorId" }),
45
+ * };
46
+ *
47
+ * // Usage
48
+ * const user = await User.query().with("posts").find(1);
49
+ * console.log(user.posts); // Post[]
50
+ * ```
51
+ */
52
+ export declare function hasMany(model: string, options?: HasManyOptions): RelationDefinition;
53
+ /**
54
+ * Defines a one-to-one relationship where the foreign key is on the related model.
55
+ *
56
+ * Use this when the current model owns exactly one instance of another model.
57
+ * The foreign key is stored on the related model.
58
+ *
59
+ * @param model - The name of the related model in the registry
60
+ * @param options - Optional configuration for the relationship
61
+ * @returns A relation definition object
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * // User has one Profile
66
+ * // The Profile model has a userId column referencing User.id
67
+ * static relations = {
68
+ * profile: hasOne("Profile"),
69
+ * };
70
+ *
71
+ * // With custom keys
72
+ * static relations = {
73
+ * settings: hasOne("UserSettings", {
74
+ * foreignKey: "ownerId",
75
+ * localKey: "id",
76
+ * }),
77
+ * };
78
+ *
79
+ * // Usage
80
+ * const user = await User.query().with("profile").find(1);
81
+ * console.log(user.profile); // Profile | null
82
+ * ```
83
+ */
84
+ export declare function hasOne(model: string, options?: HasOneOptions): RelationDefinition;
85
+ /**
86
+ * Defines a many-to-one (inverse) relationship.
87
+ *
88
+ * Use this when the current model belongs to another model.
89
+ * The foreign key is stored on this model.
90
+ *
91
+ * @param model - The name of the related model in the registry
92
+ * @param options - Optional configuration for the relationship
93
+ * @returns A relation definition object
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * // Post belongs to User (author)
98
+ * // The Post model has a userId column referencing User.id
99
+ * static relations = {
100
+ * author: belongsTo("User", { foreignKey: "userId" }),
101
+ * };
102
+ *
103
+ * // Category self-reference (parent category)
104
+ * static relations = {
105
+ * parent: belongsTo("Category", { foreignKey: "parentId" }),
106
+ * };
107
+ *
108
+ * // Usage
109
+ * const post = await Post.query().with("author").find(1);
110
+ * console.log(post.author); // User | null
111
+ * ```
112
+ */
113
+ export declare function belongsTo(model: string, options?: BelongsToOptions): RelationDefinition;
114
+ /**
115
+ * Defines a many-to-many relationship through a pivot table.
116
+ *
117
+ * Use this when both models can have many of each other.
118
+ * A pivot (junction) table connects the two models.
119
+ *
120
+ * @param model - The name of the related model in the registry
121
+ * @param options - Configuration for the relationship including the pivot table
122
+ * @returns A relation definition object
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * // Post belongs to many Tags through post_tags pivot table
127
+ * // Pivot table: post_tags (postId, tagId)
128
+ * static relations = {
129
+ * tags: belongsToMany("Tag", {
130
+ * pivot: "post_tags",
131
+ * localKey: "postId", // Column in pivot referencing this model
132
+ * foreignKey: "tagId", // Column in pivot referencing related model
133
+ * }),
134
+ * };
135
+ *
136
+ * // User has many Roles through user_roles pivot
137
+ * static relations = {
138
+ * roles: belongsToMany("Role", {
139
+ * pivot: "user_roles",
140
+ * localKey: "userId",
141
+ * foreignKey: "roleId",
142
+ * }),
143
+ * };
144
+ *
145
+ * // Usage
146
+ * const post = await Post.query().with("tags").find(1);
147
+ * console.log(post.tags); // Tag[]
148
+ *
149
+ * // Pivot operations
150
+ * await post.attach("tags", [1, 2, 3]);
151
+ * await post.detach("tags", [2]);
152
+ * await post.sync("tags", [1, 3, 5]);
153
+ * ```
154
+ */
155
+ export declare function belongsToMany(model: string, options: BelongsToManyOptions): RelationDefinition;
156
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/relations/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAMjB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAOnF;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,kBAAkB,CAOjF;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,kBAAkB,CAOvF;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,kBAAkB,CAU9F"}
@@ -0,0 +1,197 @@
1
+ 'use strict';/**
2
+ * @fileoverview Helper functions for defining model relationships.
3
+ *
4
+ * This module provides a clean, intuitive API for defining relationships
5
+ * between models using helper functions instead of raw configuration objects.
6
+ *
7
+ * @module @warlock.js/cascade/relations/helpers
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * import { hasMany, belongsTo, belongsToMany, hasOne } from "@warlock.js/cascade";
12
+ *
13
+ * class User extends Model {
14
+ * static relations = {
15
+ * posts: hasMany("Post"),
16
+ * profile: hasOne("Profile"),
17
+ * organization: belongsTo("Organization", { foreignKey: "organizationId" }),
18
+ * roles: belongsToMany("Role", { pivot: "user_roles" }),
19
+ * };
20
+ * }
21
+ * ```
22
+ */
23
+ // ============================================================================
24
+ // HAS MANY
25
+ // ============================================================================
26
+ /**
27
+ * Defines a one-to-many relationship.
28
+ *
29
+ * Use this when the current model owns many instances of another model.
30
+ * The foreign key is stored on the related model.
31
+ *
32
+ * @param model - The name of the related model in the registry
33
+ * @param options - Optional configuration for the relationship
34
+ * @returns A relation definition object
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * // User has many Posts
39
+ * // The Post model has a userId column referencing User.id
40
+ * static relations = {
41
+ * posts: hasMany("Post"),
42
+ * };
43
+ *
44
+ * // With custom foreign key
45
+ * static relations = {
46
+ * comments: hasMany("Comment", { foreignKey: "authorId" }),
47
+ * };
48
+ *
49
+ * // Usage
50
+ * const user = await User.query().with("posts").find(1);
51
+ * console.log(user.posts); // Post[]
52
+ * ```
53
+ */
54
+ function hasMany(model, options) {
55
+ return {
56
+ type: "hasMany",
57
+ model,
58
+ foreignKey: options?.foreignKey,
59
+ localKey: options?.localKey ?? "id",
60
+ };
61
+ }
62
+ // ============================================================================
63
+ // HAS ONE
64
+ // ============================================================================
65
+ /**
66
+ * Defines a one-to-one relationship where the foreign key is on the related model.
67
+ *
68
+ * Use this when the current model owns exactly one instance of another model.
69
+ * The foreign key is stored on the related model.
70
+ *
71
+ * @param model - The name of the related model in the registry
72
+ * @param options - Optional configuration for the relationship
73
+ * @returns A relation definition object
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * // User has one Profile
78
+ * // The Profile model has a userId column referencing User.id
79
+ * static relations = {
80
+ * profile: hasOne("Profile"),
81
+ * };
82
+ *
83
+ * // With custom keys
84
+ * static relations = {
85
+ * settings: hasOne("UserSettings", {
86
+ * foreignKey: "ownerId",
87
+ * localKey: "id",
88
+ * }),
89
+ * };
90
+ *
91
+ * // Usage
92
+ * const user = await User.query().with("profile").find(1);
93
+ * console.log(user.profile); // Profile | null
94
+ * ```
95
+ */
96
+ function hasOne(model, options) {
97
+ return {
98
+ type: "hasOne",
99
+ model,
100
+ foreignKey: options?.foreignKey,
101
+ localKey: options?.localKey ?? "id",
102
+ };
103
+ }
104
+ // ============================================================================
105
+ // BELONGS TO
106
+ // ============================================================================
107
+ /**
108
+ * Defines a many-to-one (inverse) relationship.
109
+ *
110
+ * Use this when the current model belongs to another model.
111
+ * The foreign key is stored on this model.
112
+ *
113
+ * @param model - The name of the related model in the registry
114
+ * @param options - Optional configuration for the relationship
115
+ * @returns A relation definition object
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * // Post belongs to User (author)
120
+ * // The Post model has a userId column referencing User.id
121
+ * static relations = {
122
+ * author: belongsTo("User", { foreignKey: "userId" }),
123
+ * };
124
+ *
125
+ * // Category self-reference (parent category)
126
+ * static relations = {
127
+ * parent: belongsTo("Category", { foreignKey: "parentId" }),
128
+ * };
129
+ *
130
+ * // Usage
131
+ * const post = await Post.query().with("author").find(1);
132
+ * console.log(post.author); // User | null
133
+ * ```
134
+ */
135
+ function belongsTo(model, options) {
136
+ return {
137
+ type: "belongsTo",
138
+ model,
139
+ foreignKey: options?.foreignKey,
140
+ localKey: options?.ownerKey ?? "id",
141
+ };
142
+ }
143
+ // ============================================================================
144
+ // BELONGS TO MANY
145
+ // ============================================================================
146
+ /**
147
+ * Defines a many-to-many relationship through a pivot table.
148
+ *
149
+ * Use this when both models can have many of each other.
150
+ * A pivot (junction) table connects the two models.
151
+ *
152
+ * @param model - The name of the related model in the registry
153
+ * @param options - Configuration for the relationship including the pivot table
154
+ * @returns A relation definition object
155
+ *
156
+ * @example
157
+ * ```typescript
158
+ * // Post belongs to many Tags through post_tags pivot table
159
+ * // Pivot table: post_tags (postId, tagId)
160
+ * static relations = {
161
+ * tags: belongsToMany("Tag", {
162
+ * pivot: "post_tags",
163
+ * localKey: "postId", // Column in pivot referencing this model
164
+ * foreignKey: "tagId", // Column in pivot referencing related model
165
+ * }),
166
+ * };
167
+ *
168
+ * // User has many Roles through user_roles pivot
169
+ * static relations = {
170
+ * roles: belongsToMany("Role", {
171
+ * pivot: "user_roles",
172
+ * localKey: "userId",
173
+ * foreignKey: "roleId",
174
+ * }),
175
+ * };
176
+ *
177
+ * // Usage
178
+ * const post = await Post.query().with("tags").find(1);
179
+ * console.log(post.tags); // Tag[]
180
+ *
181
+ * // Pivot operations
182
+ * await post.attach("tags", [1, 2, 3]);
183
+ * await post.detach("tags", [2]);
184
+ * await post.sync("tags", [1, 3, 5]);
185
+ * ```
186
+ */
187
+ function belongsToMany(model, options) {
188
+ return {
189
+ type: "belongsToMany",
190
+ model,
191
+ pivot: options.pivot,
192
+ localKey: options.localKey,
193
+ foreignKey: options.foreignKey,
194
+ pivotLocalKey: options.pivotLocalKey ?? "id",
195
+ pivotForeignKey: options.pivotForeignKey ?? "id",
196
+ };
197
+ }exports.belongsTo=belongsTo;exports.belongsToMany=belongsToMany;exports.hasMany=hasMany;exports.hasOne=hasOne;//# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sources":["../../src/relations/helpers.ts"],"sourcesContent":[null],"names":[],"mappings":"aAAA;;;;;;;;;;;;;;;;;;;;;AAqBG;AAUH;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACa,SAAA,OAAO,CAAC,KAAa,EAAE,OAAwB,EAAA;IAC7D,OAAO;AACL,QAAA,IAAI,EAAE,SAAS;QACf,KAAK;QACL,UAAU,EAAE,OAAO,EAAE,UAAU;AAC/B,QAAA,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;KACpC,CAAC;AACJ,CAAC;AAED;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BG;AACa,SAAA,MAAM,CAAC,KAAa,EAAE,OAAuB,EAAA;IAC3D,OAAO;AACL,QAAA,IAAI,EAAE,QAAQ;QACd,KAAK;QACL,UAAU,EAAE,OAAO,EAAE,UAAU;AAC/B,QAAA,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;KACpC,CAAC;AACJ,CAAC;AAED;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACa,SAAA,SAAS,CAAC,KAAa,EAAE,OAA0B,EAAA;IACjE,OAAO;AACL,QAAA,IAAI,EAAE,WAAW;QACjB,KAAK;QACL,UAAU,EAAE,OAAO,EAAE,UAAU;AAC/B,QAAA,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;KACpC,CAAC;AACJ,CAAC;AAED;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCG;AACa,SAAA,aAAa,CAAC,KAAa,EAAE,OAA6B,EAAA;IACxE,OAAO;AACL,QAAA,IAAI,EAAE,eAAe;QACrB,KAAK;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;AAC9B,QAAA,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;AAC5C,QAAA,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;KACjD,CAAC;AACJ"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @fileoverview Relations module for the Cascade ORM.
3
+ *
4
+ * This module exports all the types, helper functions, and classes
5
+ * needed for defining and loading model relationships.
6
+ *
7
+ * @module @warlock.js/cascade/relations
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * import {
12
+ * hasMany,
13
+ * belongsTo,
14
+ * belongsToMany,
15
+ * hasOne,
16
+ * RelationLoader,
17
+ * type RelationDefinition,
18
+ * } from "@warlock.js/cascade";
19
+ *
20
+ * class User extends Model {
21
+ * static relations = {
22
+ * posts: hasMany("Post"),
23
+ * organization: belongsTo("Organization"),
24
+ * roles: belongsToMany("Role", { pivot: "user_roles" }),
25
+ * };
26
+ * }
27
+ * ```
28
+ */
29
+ export type { BelongsToManyOptions, BelongsToOptions, HasManyOptions, HasOneOptions, LoadedRelationResult, LoadedRelationsMap, PivotData, PivotIds, RelationConstraintCallback, RelationConstraints, RelationDefinition, RelationDefinitions, RelationType, } from "./types";
30
+ export { belongsTo, belongsToMany, hasMany, hasOne } from "./helpers";
31
+ export { RelationLoader } from "./relation-loader";
32
+ export { PivotOperations, createPivotOperations } from "./pivot-operations";
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/relations/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,GACb,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * @fileoverview Pivot table operations for many-to-many relationships.
3
+ *
4
+ * This module provides methods for managing the pivot table in
5
+ * belongsToMany relationships: attach, detach, sync, and toggle.
6
+ *
7
+ * @module @warlock.js/cascade/relations/pivot-operations
8
+ */
9
+ import type { ChildModel, Model } from "../model/model";
10
+ import type { PivotData, PivotIds, RelationDefinition } from "./types";
11
+ /**
12
+ * Manages pivot table operations for many-to-many relationships.
13
+ *
14
+ * Provides attach, detach, sync, and toggle operations for managing
15
+ * the connections between two models through a pivot table.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const pivotOps = new PivotOperations(post, "tags", tagsDefinition);
20
+ *
21
+ * // Attach tags
22
+ * await pivotOps.attach([1, 2, 3]);
23
+ *
24
+ * // Attach with pivot data
25
+ * await pivotOps.attach([4], { addedBy: userId });
26
+ *
27
+ * // Detach specific tags
28
+ * await pivotOps.detach([2]);
29
+ *
30
+ * // Sync (replace all)
31
+ * await pivotOps.sync([1, 5, 6]);
32
+ *
33
+ * // Toggle (attach if missing, detach if present)
34
+ * await pivotOps.toggle([1, 7]);
35
+ * ```
36
+ */
37
+ export declare class PivotOperations {
38
+ /**
39
+ * The model instance performing the pivot operation.
40
+ */
41
+ private readonly model;
42
+ /**
43
+ * The name of the relation.
44
+ */
45
+ private readonly relationName;
46
+ /**
47
+ * The relation definition with pivot table configuration.
48
+ */
49
+ private readonly definition;
50
+ /**
51
+ * The model class of the source model.
52
+ */
53
+ private readonly modelClass;
54
+ /**
55
+ * Creates a new PivotOperations instance.
56
+ *
57
+ * @param model - The model instance performing the operation
58
+ * @param relationName - The name of the belongsToMany relation
59
+ * @param definition - The relation definition
60
+ * @param modelClass - The model class constructor
61
+ */
62
+ constructor(model: Model, relationName: string, definition: RelationDefinition, modelClass: ChildModel<Model>);
63
+ /**
64
+ * Attaches one or more related models via the pivot table.
65
+ *
66
+ * Creates new records in the pivot table linking this model to the
67
+ * specified related model IDs. Existing attachments are not duplicated.
68
+ *
69
+ * @param ids - The IDs of the related models to attach
70
+ * @param pivotData - Optional additional data to store in the pivot record
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * // Attach tags to a post
75
+ * await post.attach("tags", [1, 2, 3]);
76
+ *
77
+ * // Attach with additional pivot data
78
+ * await post.attach("tags", [4], { addedBy: currentUserId });
79
+ * ```
80
+ */
81
+ attach(ids: PivotIds, pivotData?: PivotData): Promise<void>;
82
+ /**
83
+ * Detaches one or more related models from the pivot table.
84
+ *
85
+ * Removes records from the pivot table. If no IDs are specified,
86
+ * all attachments for this model are removed.
87
+ *
88
+ * @param ids - Optional IDs to detach. If omitted, detaches all.
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * // Detach specific tags
93
+ * await post.detach("tags", [2, 3]);
94
+ *
95
+ * // Detach all tags
96
+ * await post.detach("tags");
97
+ * ```
98
+ */
99
+ detach(ids?: PivotIds): Promise<void>;
100
+ /**
101
+ * Synchronizes the pivot table to match the specified IDs.
102
+ *
103
+ * Attaches any new IDs and detaches any IDs not in the list.
104
+ * After sync, the pivot table will contain exactly the specified IDs.
105
+ *
106
+ * @param ids - The IDs that should be attached after sync
107
+ * @param pivotData - Optional data for newly attached records
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * // Set tags to exactly [1, 3, 5], removing any others
112
+ * await post.sync("tags", [1, 3, 5]);
113
+ * ```
114
+ */
115
+ sync(ids: PivotIds, pivotData?: PivotData): Promise<void>;
116
+ /**
117
+ * Toggles the attachment status of the specified IDs.
118
+ *
119
+ * For each ID: if attached, detaches it; if not attached, attaches it.
120
+ *
121
+ * @param ids - The IDs to toggle
122
+ * @param pivotData - Optional data for newly attached records
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * // Toggle tags - attached become detached, detached become attached
127
+ * await post.toggle("tags", [1, 4]);
128
+ * ```
129
+ */
130
+ toggle(ids: PivotIds, pivotData?: PivotData): Promise<void>;
131
+ /**
132
+ * Gets the pivot table configuration.
133
+ *
134
+ * @returns The pivot configuration object
135
+ */
136
+ private getPivotConfig;
137
+ /**
138
+ * Gets all currently attached IDs from the pivot table.
139
+ *
140
+ * @returns A set of attached foreign key values
141
+ */
142
+ private getExistingPivotIds;
143
+ /**
144
+ * Infers a foreign key name from a model name.
145
+ *
146
+ * @param modelName - The model class name
147
+ * @returns The inferred foreign key (e.g., "User" -> "userId")
148
+ */
149
+ private inferForeignKey;
150
+ }
151
+ /**
152
+ * Creates a PivotOperations instance for a model and relation.
153
+ *
154
+ * @param model - The model instance
155
+ * @param relationName - The name of the belongsToMany relation
156
+ * @returns A PivotOperations instance
157
+ * @throws Error if the relation is not a belongsToMany or not defined
158
+ */
159
+ export declare function createPivotOperations(model: Model, relationName: string): PivotOperations;
160
+ //# sourceMappingURL=pivot-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pivot-operations.d.ts","sourceRoot":"","sources":["../../src/relations/pivot-operations.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAMvE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,eAAe;IAK1B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAE9B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAEhD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAM/C;;;;;;;OAOG;gBAED,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC;IAuB/B;;;;;;;;;;;;;;;;;OAiBG;IACU,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBxE;;;;;;;;;;;;;;;;OAgBG;IACU,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlD;;;;;;;;;;;;;;OAcG;IACU,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBtE;;;;;;;;;;;;;OAaG;IACU,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BxE;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAwBtB;;;;OAIG;YACW,mBAAmB;IAqBjC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;CAGxB;AAMD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,CAUzF"}