@expo/entity 0.25.3 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/LICENSE +21 -0
  2. package/build/ComposedEntityCacheAdapter.d.ts +4 -2
  3. package/build/ComposedEntityCacheAdapter.js +39 -3
  4. package/build/ComposedEntityCacheAdapter.js.map +1 -1
  5. package/build/ComposedSecondaryEntityCache.d.ts +3 -2
  6. package/build/ComposedSecondaryEntityCache.js +3 -2
  7. package/build/ComposedSecondaryEntityCache.js.map +1 -1
  8. package/build/EnforcingEntityLoader.d.ts +10 -10
  9. package/build/EnforcingEntityLoader.js +8 -8
  10. package/build/EnforcingEntityLoader.js.map +1 -1
  11. package/build/Entity.d.ts +5 -5
  12. package/build/Entity.js +9 -9
  13. package/build/Entity.js.map +1 -1
  14. package/build/EntityAssociationLoader.d.ts +9 -4
  15. package/build/EntityAssociationLoader.js +5 -0
  16. package/build/EntityAssociationLoader.js.map +1 -1
  17. package/build/EntityCacheAdapter.d.ts +1 -1
  18. package/build/EntityCompanion.d.ts +1 -1
  19. package/build/EntityCompanion.js +1 -1
  20. package/build/EntityCompanionProvider.d.ts +9 -9
  21. package/build/EntityCompanionProvider.js +3 -3
  22. package/build/EntityConfiguration.d.ts +2 -2
  23. package/build/EntityDatabaseAdapter.d.ts +15 -6
  24. package/build/EntityDatabaseAdapter.js +8 -2
  25. package/build/EntityDatabaseAdapter.js.map +1 -1
  26. package/build/EntityFieldDefinition.d.ts +16 -8
  27. package/build/EntityFieldDefinition.js +12 -5
  28. package/build/EntityFieldDefinition.js.map +1 -1
  29. package/build/EntityFields.d.ts +11 -11
  30. package/build/EntityFields.js +11 -11
  31. package/build/EntityLoader.d.ts +7 -7
  32. package/build/EntityLoader.js +7 -7
  33. package/build/EntityLoader.js.map +1 -1
  34. package/build/EntityMutationInfo.d.ts +2 -0
  35. package/build/EntityMutationTriggerConfiguration.d.ts +1 -1
  36. package/build/EntityMutationTriggerConfiguration.js +1 -1
  37. package/build/EntityMutator.d.ts +7 -9
  38. package/build/EntityMutator.js +59 -47
  39. package/build/EntityMutator.js.map +1 -1
  40. package/build/EntityMutatorFactory.d.ts +4 -4
  41. package/build/EntityMutatorFactory.js +6 -6
  42. package/build/EntityMutatorFactory.js.map +1 -1
  43. package/build/EntityPrivacyPolicy.d.ts +18 -5
  44. package/build/EntityPrivacyPolicy.js +18 -5
  45. package/build/EntityPrivacyPolicy.js.map +1 -1
  46. package/build/EntityQueryContext.d.ts +12 -1
  47. package/build/EntityQueryContext.js +12 -1
  48. package/build/EntityQueryContext.js.map +1 -1
  49. package/build/EntityQueryContextProvider.d.ts +1 -1
  50. package/build/EntitySecondaryCacheLoader.d.ts +1 -1
  51. package/build/EntitySecondaryCacheLoader.js +1 -1
  52. package/build/GenericSecondaryEntityCache.d.ts +1 -1
  53. package/build/GenericSecondaryEntityCache.js +1 -1
  54. package/build/ReadonlyEntity.d.ts +1 -1
  55. package/build/ReadonlyEntity.js +1 -1
  56. package/build/ViewerContext.d.ts +2 -2
  57. package/build/ViewerContext.js +2 -2
  58. package/build/ViewerScopedEntityCompanion.d.ts +2 -2
  59. package/build/ViewerScopedEntityCompanion.js +2 -2
  60. package/build/ViewerScopedEntityLoaderFactory.d.ts +1 -1
  61. package/build/ViewerScopedEntityLoaderFactory.js +1 -1
  62. package/build/ViewerScopedEntityMutatorFactory.d.ts +5 -5
  63. package/build/ViewerScopedEntityMutatorFactory.js +7 -7
  64. package/build/ViewerScopedEntityMutatorFactory.js.map +1 -1
  65. package/build/__tests__/ComposedCacheAdapter-test.js +37 -4
  66. package/build/__tests__/ComposedCacheAdapter-test.js.map +1 -1
  67. package/build/__tests__/EntityCommonUseCases-test.js +5 -1
  68. package/build/__tests__/EntityCommonUseCases-test.js.map +1 -1
  69. package/build/__tests__/EntityCompanion-test.js +5 -1
  70. package/build/__tests__/EntityCompanion-test.js.map +1 -1
  71. package/build/__tests__/EntityCompanionProvider-test.js +5 -1
  72. package/build/__tests__/EntityCompanionProvider-test.js.map +1 -1
  73. package/build/__tests__/EntityEdges-test.js +199 -33
  74. package/build/__tests__/EntityEdges-test.js.map +1 -1
  75. package/build/__tests__/EntityLoader-test.js +5 -1
  76. package/build/__tests__/EntityLoader-test.js.map +1 -1
  77. package/build/__tests__/EntityMutator-test.js +38 -53
  78. package/build/__tests__/EntityMutator-test.js.map +1 -1
  79. package/build/__tests__/EntityPrivacyPolicy-test.js +5 -1
  80. package/build/__tests__/EntityPrivacyPolicy-test.js.map +1 -1
  81. package/build/__tests__/EntitySelfReferentialEdges-test.js +2 -2
  82. package/build/__tests__/EntitySelfReferentialEdges-test.js.map +1 -1
  83. package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js +5 -1
  84. package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js.map +1 -1
  85. package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js +2 -3
  86. package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js.map +1 -1
  87. package/build/errors/EntityCacheAdapterError.js +5 -1
  88. package/build/errors/EntityCacheAdapterError.js.map +1 -1
  89. package/build/errors/EntityDatabaseAdapterError.js +5 -1
  90. package/build/errors/EntityDatabaseAdapterError.js.map +1 -1
  91. package/build/errors/EntityInvalidFieldValueError.js +6 -2
  92. package/build/errors/EntityInvalidFieldValueError.js.map +1 -1
  93. package/build/errors/EntityNotAuthorizedError.js +5 -1
  94. package/build/errors/EntityNotAuthorizedError.js.map +1 -1
  95. package/build/errors/EntityNotFoundError.js +6 -2
  96. package/build/errors/EntityNotFoundError.js.map +1 -1
  97. package/build/index.js +5 -1
  98. package/build/index.js.map +1 -1
  99. package/build/internal/EntityDataManager.d.ts +5 -5
  100. package/build/internal/EntityDataManager.js +10 -7
  101. package/build/internal/EntityDataManager.js.map +1 -1
  102. package/build/internal/EntityFieldTransformationUtils.js +1 -1
  103. package/build/internal/EntityFieldTransformationUtils.js.map +1 -1
  104. package/build/internal/ReadThroughEntityCache.d.ts +2 -2
  105. package/build/internal/ReadThroughEntityCache.js +3 -3
  106. package/build/internal/ReadThroughEntityCache.js.map +1 -1
  107. package/build/internal/__tests__/EntityDataManager-test.js +12 -7
  108. package/build/internal/__tests__/EntityDataManager-test.js.map +1 -1
  109. package/build/internal/__tests__/ReadThroughEntityCache-test.js +5 -1
  110. package/build/internal/__tests__/ReadThroughEntityCache-test.js.map +1 -1
  111. package/build/metrics/IEntityMetricsAdapter.d.ts +63 -18
  112. package/build/metrics/IEntityMetricsAdapter.js +17 -1
  113. package/build/metrics/IEntityMetricsAdapter.js.map +1 -1
  114. package/build/metrics/NoOpEntityMetricsAdapter.d.ts +1 -3
  115. package/build/metrics/NoOpEntityMetricsAdapter.js +1 -3
  116. package/build/metrics/NoOpEntityMetricsAdapter.js.map +1 -1
  117. package/build/rules/AlwaysAllowPrivacyPolicyRule.js +5 -1
  118. package/build/rules/AlwaysAllowPrivacyPolicyRule.js.map +1 -1
  119. package/build/rules/AlwaysDenyPrivacyPolicyRule.js +5 -1
  120. package/build/rules/AlwaysDenyPrivacyPolicyRule.js.map +1 -1
  121. package/build/rules/AlwaysSkipPrivacyPolicyRule.js +5 -1
  122. package/build/rules/AlwaysSkipPrivacyPolicyRule.js.map +1 -1
  123. package/build/rules/PrivacyPolicyRule.d.ts +1 -1
  124. package/build/rules/PrivacyPolicyRule.js +1 -1
  125. package/build/utils/collections/maps.d.ts +1 -1
  126. package/build/utils/collections/maps.js +1 -1
  127. package/build/utils/testing/PrivacyPolicyRuleTestUtils.d.ts +1 -2
  128. package/build/utils/testing/StubDatabaseAdapter.js +6 -2
  129. package/build/utils/testing/StubDatabaseAdapter.js.map +1 -1
  130. package/build/utils/testing/StubQueryContextProvider.d.ts +1 -1
  131. package/build/utils/testing/StubQueryContextProvider.js +2 -0
  132. package/build/utils/testing/StubQueryContextProvider.js.map +1 -1
  133. package/package.json +3 -2
  134. package/src/ComposedEntityCacheAdapter.ts +44 -3
  135. package/src/ComposedSecondaryEntityCache.ts +3 -2
  136. package/src/EnforcingEntityLoader.ts +14 -10
  137. package/src/Entity.ts +9 -9
  138. package/src/EntityAssociationLoader.ts +9 -4
  139. package/src/EntityCacheAdapter.ts +1 -1
  140. package/src/EntityCompanion.ts +1 -1
  141. package/src/EntityCompanionProvider.ts +9 -9
  142. package/src/EntityConfiguration.ts +2 -2
  143. package/src/EntityDatabaseAdapter.ts +33 -6
  144. package/src/EntityFieldDefinition.ts +15 -6
  145. package/src/EntityFields.ts +11 -11
  146. package/src/EntityLoader.ts +11 -8
  147. package/src/EntityMutationInfo.ts +2 -0
  148. package/src/EntityMutationTriggerConfiguration.ts +1 -1
  149. package/src/EntityMutator.ts +99 -68
  150. package/src/EntityMutatorFactory.ts +4 -10
  151. package/src/EntityPrivacyPolicy.ts +20 -5
  152. package/src/EntityQueryContext.ts +12 -1
  153. package/src/EntityQueryContextProvider.ts +1 -1
  154. package/src/EntitySecondaryCacheLoader.ts +1 -1
  155. package/src/GenericSecondaryEntityCache.ts +1 -1
  156. package/src/ReadonlyEntity.ts +1 -1
  157. package/src/ViewerContext.ts +2 -2
  158. package/src/ViewerScopedEntityCompanion.ts +2 -2
  159. package/src/ViewerScopedEntityLoaderFactory.ts +1 -1
  160. package/src/ViewerScopedEntityMutatorFactory.ts +8 -23
  161. package/src/__tests__/ComposedCacheAdapter-test.ts +43 -4
  162. package/src/__tests__/EntityEdges-test.ts +287 -32
  163. package/src/__tests__/EntityMutator-test.ts +33 -54
  164. package/src/__tests__/EntitySelfReferentialEdges-test.ts +2 -2
  165. package/src/__tests__/ViewerScopedEntityMutatorFactory-test.ts +2 -6
  166. package/src/errors/EntityInvalidFieldValueError.ts +1 -1
  167. package/src/errors/EntityNotFoundError.ts +1 -1
  168. package/src/internal/EntityDataManager.ts +18 -9
  169. package/src/internal/EntityFieldTransformationUtils.ts +1 -1
  170. package/src/internal/ReadThroughEntityCache.ts +5 -3
  171. package/src/internal/__tests__/EntityDataManager-test.ts +11 -8
  172. package/src/metrics/IEntityMetricsAdapter.ts +73 -20
  173. package/src/metrics/NoOpEntityMetricsAdapter.ts +1 -5
  174. package/src/rules/PrivacyPolicyRule.ts +1 -1
  175. package/src/utils/collections/maps.ts +1 -1
  176. package/src/utils/testing/PrivacyPolicyRuleTestUtils.ts +1 -1
  177. package/src/utils/testing/StubDatabaseAdapter.ts +4 -1
  178. package/src/utils/testing/StubQueryContextProvider.ts +1 -1
@@ -1,11 +1,11 @@
1
1
  import EntityConfiguration from './EntityConfiguration';
2
2
  import { EntityQueryContext } from './EntityQueryContext';
3
3
  import { FieldTransformerMap } from './internal/EntityFieldTransformationUtils';
4
- interface SingleValueFieldEqualityCondition<TFields, N extends keyof TFields = keyof TFields> {
4
+ export interface SingleValueFieldEqualityCondition<TFields, N extends keyof TFields = keyof TFields> {
5
5
  fieldName: N;
6
6
  fieldValue: TFields[N];
7
7
  }
8
- interface MultiValueFieldEqualityCondition<TFields, N extends keyof TFields = keyof TFields> {
8
+ export interface MultiValueFieldEqualityCondition<TFields, N extends keyof TFields = keyof TFields> {
9
9
  fieldName: N;
10
10
  fieldValues: readonly TFields[N][];
11
11
  }
@@ -43,6 +43,12 @@ export interface QuerySelectionModifiers<TFields> {
43
43
  */
44
44
  limit?: number;
45
45
  }
46
+ export interface QuerySelectionModifiersWithOrderByRaw<TFields> extends QuerySelectionModifiers<TFields> {
47
+ /**
48
+ * Order the entities by a raw SQL `ORDER BY` clause.
49
+ */
50
+ orderByRaw?: string;
51
+ }
46
52
  export interface TableQuerySelectionModifiers {
47
53
  orderBy: {
48
54
  columnName: string;
@@ -51,6 +57,9 @@ export interface TableQuerySelectionModifiers {
51
57
  offset: number | undefined;
52
58
  limit: number | undefined;
53
59
  }
60
+ export interface TableQuerySelectionModifiersWithOrderByRaw extends TableQuerySelectionModifiers {
61
+ orderByRaw: string | undefined;
62
+ }
54
63
  /**
55
64
  * A database adapter is an interface by which entity objects can be
56
65
  * fetched, inserted, updated, and deleted from a database. This base class
@@ -83,7 +92,7 @@ export default abstract class EntityDatabaseAdapter<TFields> {
83
92
  *
84
93
  * @param queryContext - query context with which to perform the fetch
85
94
  * @param fieldEqualityOperands - list of field equality where clause operand specifications
86
- * @param querySelectionModifiers - limit, offset, and orderBy for the query
95
+ * @param querySelectionModifiers - limit, offset, orderBy, and orderByRaw for the query
87
96
  * @returns array of objects matching the query
88
97
  */
89
98
  fetchManyByFieldEqualityConjunctionAsync<N extends keyof TFields>(queryContext: EntityQueryContext, fieldEqualityOperands: FieldEqualityCondition<TFields, N>[], querySelectionModifiers: QuerySelectionModifiers<TFields>): Promise<readonly Readonly<TFields>[]>;
@@ -97,8 +106,8 @@ export default abstract class EntityDatabaseAdapter<TFields> {
97
106
  * @param querySelectionModifiers - limit, offset, and orderBy for the query
98
107
  * @returns array of objects matching the query
99
108
  */
100
- fetchManyByRawWhereClauseAsync(queryContext: EntityQueryContext, rawWhereClause: string, bindings: any[] | object, querySelectionModifiers: QuerySelectionModifiers<TFields>): Promise<readonly Readonly<TFields>[]>;
101
- protected abstract fetchManyByRawWhereClauseInternalAsync(queryInterface: any, tableName: string, rawWhereClause: string, bindings: any[] | object, querySelectionModifiers: TableQuerySelectionModifiers): Promise<object[]>;
109
+ fetchManyByRawWhereClauseAsync(queryContext: EntityQueryContext, rawWhereClause: string, bindings: any[] | object, querySelectionModifiers: QuerySelectionModifiersWithOrderByRaw<TFields>): Promise<readonly Readonly<TFields>[]>;
110
+ protected abstract fetchManyByRawWhereClauseInternalAsync(queryInterface: any, tableName: string, rawWhereClause: string, bindings: any[] | object, querySelectionModifiers: TableQuerySelectionModifiersWithOrderByRaw): Promise<object[]>;
102
111
  /**
103
112
  * Insert an object.
104
113
  *
@@ -128,6 +137,6 @@ export default abstract class EntityDatabaseAdapter<TFields> {
128
137
  */
129
138
  deleteAsync<K extends keyof TFields>(queryContext: EntityQueryContext, idField: K, id: any): Promise<void>;
130
139
  protected abstract deleteInternalAsync(queryInterface: any, tableName: string, tableIdField: string, id: any): Promise<number>;
140
+ private convertToTableQueryModifiersWithOrderByRaw;
131
141
  private convertToTableQueryModifiers;
132
142
  }
133
- export {};
@@ -50,7 +50,7 @@ class EntityDatabaseAdapter {
50
50
  *
51
51
  * @param queryContext - query context with which to perform the fetch
52
52
  * @param fieldEqualityOperands - list of field equality where clause operand specifications
53
- * @param querySelectionModifiers - limit, offset, and orderBy for the query
53
+ * @param querySelectionModifiers - limit, offset, orderBy, and orderByRaw for the query
54
54
  * @returns array of objects matching the query
55
55
  */
56
56
  async fetchManyByFieldEqualityConjunctionAsync(queryContext, fieldEqualityOperands, querySelectionModifiers) {
@@ -83,7 +83,7 @@ class EntityDatabaseAdapter {
83
83
  * @returns array of objects matching the query
84
84
  */
85
85
  async fetchManyByRawWhereClauseAsync(queryContext, rawWhereClause, bindings, querySelectionModifiers) {
86
- const results = await this.fetchManyByRawWhereClauseInternalAsync(queryContext.getQueryInterface(), this.entityConfiguration.tableName, rawWhereClause, bindings, this.convertToTableQueryModifiers(querySelectionModifiers));
86
+ const results = await this.fetchManyByRawWhereClauseInternalAsync(queryContext.getQueryInterface(), this.entityConfiguration.tableName, rawWhereClause, bindings, this.convertToTableQueryModifiersWithOrderByRaw(querySelectionModifiers));
87
87
  return results.map((result) => (0, EntityFieldTransformationUtils_1.transformDatabaseObjectToFields)(this.entityConfiguration, this.fieldTransformerMap, result));
88
88
  }
89
89
  /**
@@ -139,6 +139,12 @@ class EntityDatabaseAdapter {
139
139
  throw new Error(`Excessive deletions from database adapter delete: ${this.entityConfiguration.tableName}(id = ${id})`);
140
140
  }
141
141
  }
142
+ convertToTableQueryModifiersWithOrderByRaw(querySelectionModifiers) {
143
+ return {
144
+ ...this.convertToTableQueryModifiers(querySelectionModifiers),
145
+ orderByRaw: querySelectionModifiers.orderByRaw,
146
+ };
147
+ }
142
148
  convertToTableQueryModifiers(querySelectionModifiers) {
143
149
  const orderBy = querySelectionModifiers.orderBy;
144
150
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"EntityDatabaseAdapter.js","sourceRoot":"","sources":["../src/EntityDatabaseAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityDatabaseAdapter.js","sourceRoot":"","sources":["../src/EntityDatabaseAdapter.ts"],"names":[],"mappings":"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"}
@@ -4,25 +4,32 @@ import ReadonlyEntity from './ReadonlyEntity';
4
4
  import ViewerContext from './ViewerContext';
5
5
  export declare enum EntityEdgeDeletionBehavior {
6
6
  /**
7
- * Default. Invalidate the cache for all entities that reference the entity
7
+ * Invalidate the cache for all entities that reference the entity
8
8
  * being deleted through this field, and transitively run deletions on those entities.
9
9
  * This is most useful when the database itself expresses foreign
10
- * keys and cascading deletes or set nulls and the entity framework just needs to
10
+ * keys and cascading deletes and the entity framework just needs to
11
11
  * be kept consistent with the state of the database.
12
12
  */
13
- CASCADE_DELETE_INVALIDATE_CACHE = 0,
13
+ CASCADE_DELETE_INVALIDATE_CACHE_ONLY = 0,
14
+ /**
15
+ * Invalidate the cache for all entities that reference the entity
16
+ * being deleted through this field. This is most useful when the database itself expresses
17
+ * foreign keys and cascading "SET NULL"s and the entity framework just needs to be
18
+ * kept consistent with the state of the database.
19
+ */
20
+ SET_NULL_INVALIDATE_CACHE_ONLY = 1,
14
21
  /**
15
22
  * Delete all entities that reference the entity being deleted through this field. This is very similar
16
23
  * to SQL `ON DELETE CASCADE` but is done in the Entity framework instead of at the underlying level.
17
24
  * This will also invalidate the cached referencing entities.
18
25
  */
19
- CASCADE_DELETE = 1,
26
+ CASCADE_DELETE = 2,
20
27
  /**
21
28
  * Set this field to null when the referenced entity is deleted. This is very similar
22
29
  * to SQL `ON DELETE SET NULL` but is done in the Entity framework instead of at the underlying level.
23
30
  * This will also invalidate the cached referencing entities.
24
31
  */
25
- SET_NULL = 2
32
+ SET_NULL = 3
26
33
  }
27
34
  /**
28
35
  * Defines an association between entities. An association is primarily used to define cascading deletion behavior.
@@ -43,16 +50,17 @@ export interface EntityAssociationDefinition<TViewerContext extends ViewerContex
43
50
  *
44
51
  * @remarks
45
52
  * The entity framework doesn't prescribe a one-size-fits-all solution for referential
46
- * integrity; instead it exposes mechanisms that supports both database foreign key constraints
53
+ * integrity; instead it exposes mechanisms that support both database foreign key constraints
47
54
  * and implicit entity-specified foreign keys. Choosing which approach to use often depends on
48
55
  * application requirements, and sometimes even a mix-and-match is the right choice.
49
56
  *
50
57
  * - If referential integrity is critical to your application, database foreign key constraints
51
- * combined with {@link EntityEdgeDeletionBehavior.CASACDE_DELETE_INVALIDATE_CACHE} are recommended.
58
+ * combined with EntityEdgeDeletionBehavior.CASCADE_DELETE_INVALIDATE_CACHE_ONLY or
59
+ * EntityEdgeDeletionBehavior.SET_NULL_INVALIDATE_CACHE_ONLY are recommended.
52
60
  * - If the database being used doesn't support foreign keys, then using the entity framework for referential
53
61
  * integrity is recommended.
54
62
  */
55
- edgeDeletionBehavior?: EntityEdgeDeletionBehavior;
63
+ edgeDeletionBehavior: EntityEdgeDeletionBehavior;
56
64
  }
57
65
  /**
58
66
  * Definition for a field referencing a column in the underlying database. Specifies things like
@@ -4,25 +4,32 @@ exports.EntityFieldDefinition = exports.EntityEdgeDeletionBehavior = void 0;
4
4
  var EntityEdgeDeletionBehavior;
5
5
  (function (EntityEdgeDeletionBehavior) {
6
6
  /**
7
- * Default. Invalidate the cache for all entities that reference the entity
7
+ * Invalidate the cache for all entities that reference the entity
8
8
  * being deleted through this field, and transitively run deletions on those entities.
9
9
  * This is most useful when the database itself expresses foreign
10
- * keys and cascading deletes or set nulls and the entity framework just needs to
10
+ * keys and cascading deletes and the entity framework just needs to
11
11
  * be kept consistent with the state of the database.
12
12
  */
13
- EntityEdgeDeletionBehavior[EntityEdgeDeletionBehavior["CASCADE_DELETE_INVALIDATE_CACHE"] = 0] = "CASCADE_DELETE_INVALIDATE_CACHE";
13
+ EntityEdgeDeletionBehavior[EntityEdgeDeletionBehavior["CASCADE_DELETE_INVALIDATE_CACHE_ONLY"] = 0] = "CASCADE_DELETE_INVALIDATE_CACHE_ONLY";
14
+ /**
15
+ * Invalidate the cache for all entities that reference the entity
16
+ * being deleted through this field. This is most useful when the database itself expresses
17
+ * foreign keys and cascading "SET NULL"s and the entity framework just needs to be
18
+ * kept consistent with the state of the database.
19
+ */
20
+ EntityEdgeDeletionBehavior[EntityEdgeDeletionBehavior["SET_NULL_INVALIDATE_CACHE_ONLY"] = 1] = "SET_NULL_INVALIDATE_CACHE_ONLY";
14
21
  /**
15
22
  * Delete all entities that reference the entity being deleted through this field. This is very similar
16
23
  * to SQL `ON DELETE CASCADE` but is done in the Entity framework instead of at the underlying level.
17
24
  * This will also invalidate the cached referencing entities.
18
25
  */
19
- EntityEdgeDeletionBehavior[EntityEdgeDeletionBehavior["CASCADE_DELETE"] = 1] = "CASCADE_DELETE";
26
+ EntityEdgeDeletionBehavior[EntityEdgeDeletionBehavior["CASCADE_DELETE"] = 2] = "CASCADE_DELETE";
20
27
  /**
21
28
  * Set this field to null when the referenced entity is deleted. This is very similar
22
29
  * to SQL `ON DELETE SET NULL` but is done in the Entity framework instead of at the underlying level.
23
30
  * This will also invalidate the cached referencing entities.
24
31
  */
25
- EntityEdgeDeletionBehavior[EntityEdgeDeletionBehavior["SET_NULL"] = 2] = "SET_NULL";
32
+ EntityEdgeDeletionBehavior[EntityEdgeDeletionBehavior["SET_NULL"] = 3] = "SET_NULL";
26
33
  })(EntityEdgeDeletionBehavior = exports.EntityEdgeDeletionBehavior || (exports.EntityEdgeDeletionBehavior = {}));
27
34
  /**
28
35
  * Definition for a field referencing a column in the underlying database. Specifies things like
@@ -1 +1 @@
1
- {"version":3,"file":"EntityFieldDefinition.js","sourceRoot":"","sources":["../src/EntityFieldDefinition.ts"],"names":[],"mappings":";;;AAKA,IAAY,0BAuBX;AAvBD,WAAY,0BAA0B;IACpC;;;;;;OAMG;IACH,iIAA+B,CAAA;IAE/B;;;;OAIG;IACH,+FAAc,CAAA;IAEd;;;;OAIG;IACH,mFAAQ,CAAA;AACV,CAAC,EAvBW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAuBrC;AA4DD;;;GAGG;AACH,MAAsB,qBAAqB;IAIzC;;;;;;;OAOG;IACH,YAAY,EACV,UAAU,EACV,KAAK,GAAG,KAAK,EACb,WAAW,GAKZ;QACC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACI,kBAAkB,CAAC,KAA2B;QACnD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;YACzC,OAAO,IAAI,CAAC;SACb;QAED,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;CAEF;AAvCD,sDAuCC"}
1
+ {"version":3,"file":"EntityFieldDefinition.js","sourceRoot":"","sources":["../src/EntityFieldDefinition.ts"],"names":[],"mappings":";;;AAKA,IAAY,0BA+BX;AA/BD,WAAY,0BAA0B;IACpC;;;;;;OAMG;IACH,2IAAoC,CAAA;IAEpC;;;;;OAKG;IACH,+HAA8B,CAAA;IAE9B;;;;OAIG;IACH,+FAAc,CAAA;IAEd;;;;OAIG;IACH,mFAAQ,CAAA;AACV,CAAC,EA/BW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QA+BrC;AA6DD;;;GAGG;AACH,MAAsB,qBAAqB;IAIzC;;;;;;;OAOG;IACH,YAAY,EACV,UAAU,EACV,KAAK,GAAG,KAAK,EACb,WAAW,GAKZ;QACC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACI,kBAAkB,CAAC,KAA2B;QACnD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;YACzC,OAAO,IAAI,CAAC;SACb;QAED,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;CAEF;AAvCD,sDAuCC"}
@@ -1,70 +1,70 @@
1
1
  import { EntityFieldDefinition } from './EntityFieldDefinition';
2
2
  /**
3
- * {@link EntityFieldDefinition} for a column with a JS string type.
3
+ * EntityFieldDefinition for a column with a JS string type.
4
4
  */
5
5
  export declare class StringField extends EntityFieldDefinition<string> {
6
6
  protected validateInputValueInternal(value: string): boolean;
7
7
  }
8
8
  /**
9
- * {@link EntityFieldDefinition} for a column with a JS string type.
9
+ * EntityFieldDefinition for a column with a JS string type.
10
10
  * Enforces that the string is a valid UUID.
11
11
  */
12
12
  export declare class UUIDField extends StringField {
13
13
  protected validateInputValueInternal(value: string): boolean;
14
14
  }
15
15
  /**
16
- * {@link EntityFieldDefinition} for a column with a JS Date type.
16
+ * EntityFieldDefinition for a column with a JS Date type.
17
17
  */
18
18
  export declare class DateField extends EntityFieldDefinition<Date> {
19
19
  protected validateInputValueInternal(value: Date): boolean;
20
20
  }
21
21
  /**
22
- * {@link EntityFieldDefinition} for a column with a JS boolean type.
22
+ * EntityFieldDefinition for a column with a JS boolean type.
23
23
  */
24
24
  export declare class BooleanField extends EntityFieldDefinition<boolean> {
25
25
  protected validateInputValueInternal(value: boolean): boolean;
26
26
  }
27
27
  /**
28
- * {@link EntityFieldDefinition} for a column with a JS number type.
28
+ * EntityFieldDefinition for a column with a JS number type.
29
29
  * Enforces that the number is an integer.
30
30
  */
31
31
  export declare class IntField extends EntityFieldDefinition<number> {
32
32
  protected validateInputValueInternal(value: number): boolean;
33
33
  }
34
34
  /**
35
- * {@link EntityFieldDefinition} for a column with a JS number type.
35
+ * EntityFieldDefinition for a column with a JS number type.
36
36
  * Enforces that the number is a float (which includes integers in JS).
37
37
  */
38
38
  export declare class FloatField extends EntityFieldDefinition<number> {
39
39
  protected validateInputValueInternal(value: number): boolean;
40
40
  }
41
41
  /**
42
- * {@link EntityFieldDefinition} for a column with a JS string array type.
42
+ * EntityFieldDefinition for a column with a JS string array type.
43
43
  * Enforces that every member of the string array is a string.
44
44
  */
45
45
  export declare class StringArrayField extends EntityFieldDefinition<string[]> {
46
46
  protected validateInputValueInternal(value: string[]): boolean;
47
47
  }
48
48
  /**
49
- * {@link EntityFieldDefinition} for a column with a JS JSON object type.
49
+ * EntityFieldDefinition for a column with a JS JSON object type.
50
50
  */
51
51
  export declare class JSONObjectField extends EntityFieldDefinition<object> {
52
52
  protected validateInputValueInternal(value: object): boolean;
53
53
  }
54
54
  /**
55
- * {@link EntityFieldDefinition} for a enum column with a JS string or number type.
55
+ * EntityFieldDefinition for a enum column with a JS string or number type.
56
56
  */
57
57
  export declare class EnumField extends EntityFieldDefinition<string | number> {
58
58
  protected validateInputValueInternal(value: string | number): boolean;
59
59
  }
60
60
  /**
61
- * {@link EntityFieldDefinition} for a column with a JS JSON array type.
61
+ * EntityFieldDefinition for a column with a JS JSON array type.
62
62
  */
63
63
  export declare class JSONArrayField extends EntityFieldDefinition<any[]> {
64
64
  protected validateInputValueInternal(value: any[]): boolean;
65
65
  }
66
66
  /**
67
- * {@link EntityFieldDefinition} for a column that may be a JS JSON array type.
67
+ * EntityFieldDefinition for a column that may be a JS JSON array type.
68
68
  * Does not do any validation.
69
69
  */
70
70
  export declare class MaybeJSONArrayField extends EntityFieldDefinition<any | any[]> {
@@ -4,7 +4,7 @@ exports.MaybeJSONArrayField = exports.JSONArrayField = exports.EnumField = expor
4
4
  const uuid_1 = require("uuid");
5
5
  const EntityFieldDefinition_1 = require("./EntityFieldDefinition");
6
6
  /**
7
- * {@link EntityFieldDefinition} for a column with a JS string type.
7
+ * EntityFieldDefinition for a column with a JS string type.
8
8
  */
9
9
  class StringField extends EntityFieldDefinition_1.EntityFieldDefinition {
10
10
  validateInputValueInternal(value) {
@@ -13,7 +13,7 @@ class StringField extends EntityFieldDefinition_1.EntityFieldDefinition {
13
13
  }
14
14
  exports.StringField = StringField;
15
15
  /**
16
- * {@link EntityFieldDefinition} for a column with a JS string type.
16
+ * EntityFieldDefinition for a column with a JS string type.
17
17
  * Enforces that the string is a valid UUID.
18
18
  */
19
19
  class UUIDField extends StringField {
@@ -23,7 +23,7 @@ class UUIDField extends StringField {
23
23
  }
24
24
  exports.UUIDField = UUIDField;
25
25
  /**
26
- * {@link EntityFieldDefinition} for a column with a JS Date type.
26
+ * EntityFieldDefinition for a column with a JS Date type.
27
27
  */
28
28
  class DateField extends EntityFieldDefinition_1.EntityFieldDefinition {
29
29
  validateInputValueInternal(value) {
@@ -32,7 +32,7 @@ class DateField extends EntityFieldDefinition_1.EntityFieldDefinition {
32
32
  }
33
33
  exports.DateField = DateField;
34
34
  /**
35
- * {@link EntityFieldDefinition} for a column with a JS boolean type.
35
+ * EntityFieldDefinition for a column with a JS boolean type.
36
36
  */
37
37
  class BooleanField extends EntityFieldDefinition_1.EntityFieldDefinition {
38
38
  validateInputValueInternal(value) {
@@ -41,7 +41,7 @@ class BooleanField extends EntityFieldDefinition_1.EntityFieldDefinition {
41
41
  }
42
42
  exports.BooleanField = BooleanField;
43
43
  /**
44
- * {@link EntityFieldDefinition} for a column with a JS number type.
44
+ * EntityFieldDefinition for a column with a JS number type.
45
45
  * Enforces that the number is an integer.
46
46
  */
47
47
  class IntField extends EntityFieldDefinition_1.EntityFieldDefinition {
@@ -51,7 +51,7 @@ class IntField extends EntityFieldDefinition_1.EntityFieldDefinition {
51
51
  }
52
52
  exports.IntField = IntField;
53
53
  /**
54
- * {@link EntityFieldDefinition} for a column with a JS number type.
54
+ * EntityFieldDefinition for a column with a JS number type.
55
55
  * Enforces that the number is a float (which includes integers in JS).
56
56
  */
57
57
  class FloatField extends EntityFieldDefinition_1.EntityFieldDefinition {
@@ -61,7 +61,7 @@ class FloatField extends EntityFieldDefinition_1.EntityFieldDefinition {
61
61
  }
62
62
  exports.FloatField = FloatField;
63
63
  /**
64
- * {@link EntityFieldDefinition} for a column with a JS string array type.
64
+ * EntityFieldDefinition for a column with a JS string array type.
65
65
  * Enforces that every member of the string array is a string.
66
66
  */
67
67
  class StringArrayField extends EntityFieldDefinition_1.EntityFieldDefinition {
@@ -71,7 +71,7 @@ class StringArrayField extends EntityFieldDefinition_1.EntityFieldDefinition {
71
71
  }
72
72
  exports.StringArrayField = StringArrayField;
73
73
  /**
74
- * {@link EntityFieldDefinition} for a column with a JS JSON object type.
74
+ * EntityFieldDefinition for a column with a JS JSON object type.
75
75
  */
76
76
  class JSONObjectField extends EntityFieldDefinition_1.EntityFieldDefinition {
77
77
  validateInputValueInternal(value) {
@@ -80,7 +80,7 @@ class JSONObjectField extends EntityFieldDefinition_1.EntityFieldDefinition {
80
80
  }
81
81
  exports.JSONObjectField = JSONObjectField;
82
82
  /**
83
- * {@link EntityFieldDefinition} for a enum column with a JS string or number type.
83
+ * EntityFieldDefinition for a enum column with a JS string or number type.
84
84
  */
85
85
  class EnumField extends EntityFieldDefinition_1.EntityFieldDefinition {
86
86
  validateInputValueInternal(value) {
@@ -89,7 +89,7 @@ class EnumField extends EntityFieldDefinition_1.EntityFieldDefinition {
89
89
  }
90
90
  exports.EnumField = EnumField;
91
91
  /**
92
- * {@link EntityFieldDefinition} for a column with a JS JSON array type.
92
+ * EntityFieldDefinition for a column with a JS JSON array type.
93
93
  */
94
94
  class JSONArrayField extends EntityFieldDefinition_1.EntityFieldDefinition {
95
95
  validateInputValueInternal(value) {
@@ -98,7 +98,7 @@ class JSONArrayField extends EntityFieldDefinition_1.EntityFieldDefinition {
98
98
  }
99
99
  exports.JSONArrayField = JSONArrayField;
100
100
  /**
101
- * {@link EntityFieldDefinition} for a column that may be a JS JSON array type.
101
+ * EntityFieldDefinition for a column that may be a JS JSON array type.
102
102
  * Does not do any validation.
103
103
  */
104
104
  class MaybeJSONArrayField extends EntityFieldDefinition_1.EntityFieldDefinition {
@@ -2,7 +2,7 @@ import { Result } from '@expo/results';
2
2
  import EnforcingEntityLoader from './EnforcingEntityLoader';
3
3
  import { IEntityClass } from './Entity';
4
4
  import EntityConfiguration from './EntityConfiguration';
5
- import { FieldEqualityCondition, QuerySelectionModifiers } from './EntityDatabaseAdapter';
5
+ import { FieldEqualityCondition, QuerySelectionModifiers, QuerySelectionModifiersWithOrderByRaw } from './EntityDatabaseAdapter';
6
6
  import EntityPrivacyPolicy, { EntityPrivacyPolicyEvaluationContext } from './EntityPrivacyPolicy';
7
7
  import { EntityQueryContext } from './EntityQueryContext';
8
8
  import ReadonlyEntity from './ReadonlyEntity';
@@ -11,7 +11,7 @@ import EntityDataManager from './internal/EntityDataManager';
11
11
  import IEntityMetricsAdapter from './metrics/IEntityMetricsAdapter';
12
12
  /**
13
13
  * The primary interface for loading entities. All normal loads are batched,
14
- * cached, and authorized against the entity's {@link EntityPrivacyPolicy}.
14
+ * cached, and authorized against the entity's EntityPrivacyPolicy.
15
15
  */
16
16
  export default class EntityLoader<TFields, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TID, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields> {
17
17
  private readonly viewerContext;
@@ -100,20 +100,20 @@ export default class EntityLoader<TFields, TID extends NonNullable<TFields[TSele
100
100
  * bindings: `[1]`
101
101
  * Entites returned `WHERE id = 1`
102
102
  *
103
- * {@link http://knexjs.org/#Builder-whereRaw}
104
- * {@link http://knexjs.org/#Raw-Bindings}
103
+ * http://knexjs.org/#Builder-whereRaw
104
+ * http://knexjs.org/#Raw-Bindings
105
105
  *
106
106
  * @param rawWhereClause - parameterized SQL WHERE clause with positional binding placeholders or named binding placeholders
107
107
  * @param bindings - array of positional bindings or object of named bindings
108
- * @param querySelectionModifiers - limit, offset, and orderBy for the query
108
+ * @param querySelectionModifiers - limit, offset, orderBy, and orderByRaw for the query
109
109
  * @returns array of entity results that match the query, where result error can be UnauthorizedError
110
110
  * @throws Error when rawWhereClause or bindings are invalid
111
111
  *
112
112
  * @deprecated prefer caching loaders
113
113
  */
114
- loadManyByRawWhereClauseAsync(rawWhereClause: string, bindings: any[] | object, querySelectionModifiers?: QuerySelectionModifiers<TFields>): Promise<readonly Result<TEntity>[]>;
114
+ loadManyByRawWhereClauseAsync(rawWhereClause: string, bindings: any[] | object, querySelectionModifiers?: QuerySelectionModifiersWithOrderByRaw<TFields>): Promise<readonly Result<TEntity>[]>;
115
115
  /**
116
- * Invalidate all caches for an entity's fields. Exposed primarily for internal use by {@link EntityMutator}.
116
+ * Invalidate all caches for an entity's fields. Exposed primarily for internal use by EntityMutator.
117
117
  * @param objectFields - entity data object to be invalidated
118
118
  */
119
119
  invalidateFieldsAsync(objectFields: Readonly<TFields>): Promise<void>;
@@ -12,7 +12,7 @@ const EntityNotFoundError_1 = __importDefault(require("./errors/EntityNotFoundEr
12
12
  const maps_1 = require("./utils/collections/maps");
13
13
  /**
14
14
  * The primary interface for loading entities. All normal loads are batched,
15
- * cached, and authorized against the entity's {@link EntityPrivacyPolicy}.
15
+ * cached, and authorized against the entity's EntityPrivacyPolicy.
16
16
  */
17
17
  class EntityLoader {
18
18
  constructor(viewerContext, queryContext, privacyPolicyEvaluationContext, entityConfiguration, entityClass, privacyPolicy, dataManager, metricsAdapter) {
@@ -67,7 +67,7 @@ class EntityLoader {
67
67
  async loadByFieldEqualingAsync(uniqueFieldName, fieldValue) {
68
68
  var _a;
69
69
  const entityResults = await this.loadManyByFieldEqualingAsync(uniqueFieldName, fieldValue);
70
- (0, invariant_1.default)(entityResults.length <= 1, `loadByFieldEqualing: Multiple entities of type ${this.entityClass.name} found for ${uniqueFieldName}=${fieldValue}`);
70
+ (0, invariant_1.default)(entityResults.length <= 1, `loadByFieldEqualing: Multiple entities of type ${this.entityClass.name} found for ${String(uniqueFieldName)}=${fieldValue}`);
71
71
  return (_a = entityResults[0]) !== null && _a !== void 0 ? _a : null;
72
72
  }
73
73
  /**
@@ -148,12 +148,12 @@ class EntityLoader {
148
148
  * bindings: `[1]`
149
149
  * Entites returned `WHERE id = 1`
150
150
  *
151
- * {@link http://knexjs.org/#Builder-whereRaw}
152
- * {@link http://knexjs.org/#Raw-Bindings}
151
+ * http://knexjs.org/#Builder-whereRaw
152
+ * http://knexjs.org/#Raw-Bindings
153
153
  *
154
154
  * @param rawWhereClause - parameterized SQL WHERE clause with positional binding placeholders or named binding placeholders
155
155
  * @param bindings - array of positional bindings or object of named bindings
156
- * @param querySelectionModifiers - limit, offset, and orderBy for the query
156
+ * @param querySelectionModifiers - limit, offset, orderBy, and orderByRaw for the query
157
157
  * @returns array of entity results that match the query, where result error can be UnauthorizedError
158
158
  * @throws Error when rawWhereClause or bindings are invalid
159
159
  *
@@ -170,7 +170,7 @@ class EntityLoader {
170
170
  }));
171
171
  }
172
172
  /**
173
- * Invalidate all caches for an entity's fields. Exposed primarily for internal use by {@link EntityMutator}.
173
+ * Invalidate all caches for an entity's fields. Exposed primarily for internal use by EntityMutator.
174
174
  * @param objectFields - entity data object to be invalidated
175
175
  */
176
176
  async invalidateFieldsAsync(objectFields) {
@@ -216,7 +216,7 @@ class EntityLoader {
216
216
  }
217
217
  validateFieldValues(fieldName, fieldValues) {
218
218
  const fieldDefinition = this.entityConfiguration.schema.get(fieldName);
219
- (0, invariant_1.default)(fieldDefinition, `must have field definition for field = ${fieldName}`);
219
+ (0, invariant_1.default)(fieldDefinition, `must have field definition for field = ${String(fieldName)}`);
220
220
  for (const fieldValue of fieldValues) {
221
221
  const isInputValid = fieldDefinition.validateInputValue(fieldValue);
222
222
  if (!isInputValid) {
@@ -1 +1 @@
1
- {"version":3,"file":"EntityLoader.js","sourceRoot":"","sources":["../src/EntityLoader.ts"],"names":[],"mappings":";;;;;AAAA,2CAA4D;AAC5D,0DAAkC;AAElC,oFAA4D;AAG5D,mEAIiC;AAKjC,yGAAiF;AACjF,uFAA+D;AAG/D,mDAA+D;AAE/D;;;GAGG;AACH,MAAqB,YAAY;IAc/B,YACmB,aAA6B,EAC7B,YAAgC,EAChC,8BAAoE,EACpE,mBAAiD,EACjD,WAOhB,EACgB,aAA6B,EAC7B,WAAuC,EACrC,cAAqC;QAdvC,kBAAa,GAAb,aAAa,CAAgB;QAC7B,iBAAY,GAAZ,YAAY,CAAoB;QAChC,mCAA8B,GAA9B,8BAA8B,CAAsC;QACpE,wBAAmB,GAAnB,mBAAmB,CAA8B;QACjD,gBAAW,GAAX,WAAW,CAO3B;QACgB,kBAAa,GAAb,aAAa,CAAgB;QAC7B,gBAAW,GAAX,WAAW,CAA4B;QACrC,mBAAc,GAAd,cAAc,CAAuB;IACvD,CAAC;IAEJ;;;;OAIG;IACH,SAAS;QAQP,OAAO,IAAI,+BAAqB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gCAAgC,CACpC,SAAY,EACZ,WAA+C;QAE/C,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAEjD,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,4BAA4B,CACnF,IAAI,CAAC,YAAY,EACjB,SAAS,EACT,WAAW,CACZ,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;IAClF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,4BAA4B,CAChC,SAAY,EACZ,UAAmC;QAEnC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3F,MAAM,0BAA0B,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjE,IAAA,mBAAS,EACP,0BAA0B,KAAK,SAAS,EACxC,GAAG,UAAU,iEAAiE,CAC/E,CAAC;QACF,OAAO,0BAA2B,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,wBAAwB,CAC5B,eAAkB,EAClB,UAAmC;;QAEnC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3F,IAAA,mBAAS,EACP,aAAa,CAAC,MAAM,IAAI,CAAC,EACzB,kDAAkD,IAAI,CAAC,WAAW,CAAC,IAAI,cAAc,eAAe,IAAI,UAAU,EAAE,CACrH,CAAC;QACF,OAAO,MAAA,aAAa,CAAC,CAAC,CAAC,mCAAI,IAAI,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,EAAO;QACzB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,OAAO,IAAA,gBAAM,EACX,IAAI,6BAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC,CAChF,CAAC;SACH;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CAAC,EAAO;QACjC,OAAO,MAAM,IAAI,CAAC,wBAAwB,CACxC,IAAI,CAAC,mBAAmB,CAAC,OAA0B,EACnD,EAAE,CACH,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CAAC,GAAmB;QAC1C,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,gCAAgC,CAChE,IAAI,CAAC,mBAAmB,CAAC,OAA0B,EACnD,GAAG,CACJ,CAAiD,CAAC;QACnD,OAAO,IAAA,aAAM,EAAC,aAAa,EAAE,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE;YACtD,MAAM,YAAY,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAC3C,OAAO,CACL,YAAY,aAAZ,YAAY,cAAZ,YAAY,GACZ,IAAA,gBAAM,EAAC,IAAI,6BAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CACxF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,uCAAuC,CAC3C,qBAA2D,EAC3D,0BAA4D,EAAE;QAE9D,KAAK,MAAM,oBAAoB,IAAI,qBAAqB,EAAE;YACxD,MAAM,WAAW,GAAG,IAAA,2DAAmC,EAAC,oBAAoB,CAAC;gBAC3E,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC;gBACnC,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC;YACrC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SACvE;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,uCAAuC,CACjF,IAAI,CAAC,YAAY,EACjB,qBAAqB,EACrB,uBAAuB,CACxB,CAAC;QACF,MAAM,sBAAsB,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACvE,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE;YACzD,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE;gBAC7B,OAAO,qBAAqB,CAAC;aAC9B;YACD,OAAO,MAAM,IAAA,qBAAW,EACtB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CACnC,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,8BAA8B,EACnC,qBAAqB,CAAC,KAAK,EAC3B,IAAI,CAAC,cAAc,CACpB,CACF,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,6BAA6B,CACjC,cAAsB,EACtB,QAAwB,EACxB,0BAA4D,EAAE;QAE9D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,6BAA6B,CACvE,IAAI,CAAC,YAAY,EACjB,cAAc,EACd,QAAQ,EACR,uBAAuB,CACxB,CAAC;QACF,MAAM,sBAAsB,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACvE,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE;YACzD,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE;gBAC7B,OAAO,qBAAqB,CAAC;aAC9B;YACD,OAAO,MAAM,IAAA,qBAAW,EACtB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CACnC,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,8BAA8B,EACnC,qBAAqB,CAAC,KAAK,EAC3B,IAAI,CAAC,cAAc,CACpB,CACF,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,YAA+B;QACzD,MAAM,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CAAC,MAAe;QACzC,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAClE,CAAC;IAEO,oBAAoB,CAAC,aAAiC;QAC5D,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;YACxC,IAAI;gBACF,OAAO,IAAA,gBAAM,EAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;aACvE;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE;oBACzB,MAAM,CAAC,CAAC;iBACT;gBACD,OAAO,IAAA,gBAAM,EAAC,CAAC,CAAC,CAAC;aAClB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,kCAAkC,CAC7C,GAAiD;QAEjD,MAAM,yBAAyB,GAAG,IAAA,aAAM,EAAC,GAAG,EAAE,CAAC,YAAY,EAAE,EAAE,CAC7D,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CACxC,CAAC;QACF,OAAO,MAAM,IAAA,kBAAW,EAAC,yBAAyB,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE;YACnF,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE;gBACzD,IAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE;oBAC7B,OAAO,qBAAqB,CAAC;iBAC9B;gBACD,OAAO,MAAM,IAAA,qBAAW,EACtB,IAAI,CAAC,aAAa,CAAC,kBAAkB,CACnC,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,8BAA8B,EACnC,qBAAqB,CAAC,KAAK,EAC3B,IAAI,CAAC,cAAc,CACpB,CACF,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB,CACzB,SAAY,EACZ,WAAkC;QAElC,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvE,IAAA,mBAAS,EAAC,eAAe,EAAE,0CAA0C,SAAS,EAAE,CAAC,CAAC;QAClF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,YAAY,GAAG,eAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY,EAAE;gBACjB,MAAM,IAAI,sCAA4B,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;aACjF;SACF;IACH,CAAC;CACF;AA/UD,+BA+UC"}
1
+ {"version":3,"file":"EntityLoader.js","sourceRoot":"","sources":["../src/EntityLoader.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export declare type EntityValidatorMutationInfo<TFields, TID extends NonNullable
10
10
  } | {
11
11
  type: EntityMutationType.UPDATE;
12
12
  previousValue: TEntity;
13
+ cascadingDeleteCause: EntityCascadingDeletionInfo | null;
13
14
  };
14
15
  /**
15
16
  * Information about a cascading deletion.
@@ -29,6 +30,7 @@ export declare type EntityTriggerMutationInfo<TFields, TID extends NonNullable<T
29
30
  } | {
30
31
  type: EntityMutationType.UPDATE;
31
32
  previousValue: TEntity;
33
+ cascadingDeleteCause: EntityCascadingDeletionInfo | null;
32
34
  } | {
33
35
  type: EntityMutationType.DELETE;
34
36
  cascadingDeleteCause: EntityCascadingDeletionInfo | null;
@@ -55,7 +55,7 @@ export declare abstract class EntityMutationTrigger<TFields, TID extends NonNull
55
55
  abstract executeAsync(viewerContext: TViewerContext, queryContext: EntityTransactionalQueryContext, entity: TEntity, mutationInfo: EntityTriggerMutationInfo<TFields, TID, TViewerContext, TEntity, TSelectedFields>): Promise<void>;
56
56
  }
57
57
  /**
58
- * A non-transactional trigger is like a {@link EntityMutationTrigger} but used for afterCommit triggers
58
+ * A non-transactional trigger is like a EntityMutationTrigger but used for afterCommit triggers
59
59
  * since they explicitly occur outside of the transaction.
60
60
  */
61
61
  export declare abstract class EntityNonTransactionalMutationTrigger<TFields, TID extends NonNullable<TFields[TSelectedFields]>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TID, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields> {
@@ -10,7 +10,7 @@ class EntityMutationTrigger {
10
10
  }
11
11
  exports.EntityMutationTrigger = EntityMutationTrigger;
12
12
  /**
13
- * A non-transactional trigger is like a {@link EntityMutationTrigger} but used for afterCommit triggers
13
+ * A non-transactional trigger is like a EntityMutationTrigger but used for afterCommit triggers
14
14
  * since they explicitly occur outside of the transaction.
15
15
  */
16
16
  class EntityNonTransactionalMutationTrigger {