@expo/entity 0.49.0 → 0.51.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 (46) hide show
  1. package/build/src/AuthorizationResultBasedEntityMutator.d.ts +6 -6
  2. package/build/src/AuthorizationResultBasedEntityMutator.js +9 -2
  3. package/build/src/AuthorizationResultBasedEntityMutator.js.map +1 -1
  4. package/build/src/EntityCompanion.js +1 -1
  5. package/build/src/EntityCompanionProvider.d.ts +4 -4
  6. package/build/src/EntityDatabaseAdapter.d.ts +17 -0
  7. package/build/src/EntityDatabaseAdapter.js +11 -0
  8. package/build/src/EntityDatabaseAdapter.js.map +1 -1
  9. package/build/src/EntityMutationInfo.d.ts +4 -8
  10. package/build/src/EntityMutationValidatorConfiguration.d.ts +26 -0
  11. package/build/src/{EntityMutationValidator.js → EntityMutationValidatorConfiguration.js} +3 -3
  12. package/build/src/EntityMutationValidatorConfiguration.js.map +1 -0
  13. package/build/src/EntityMutatorFactory.d.ts +2 -2
  14. package/build/src/EntityMutatorFactory.js.map +1 -1
  15. package/build/src/IEntityCacheAdapter.js +2 -0
  16. package/build/src/IEntityCacheAdapter.js.map +1 -1
  17. package/build/src/IEntityCacheAdapterProvider.js +2 -0
  18. package/build/src/IEntityCacheAdapterProvider.js.map +1 -1
  19. package/build/src/IEntityDatabaseAdapterProvider.js +2 -0
  20. package/build/src/IEntityDatabaseAdapterProvider.js.map +1 -1
  21. package/build/src/IEntityGenericCacher.js +2 -0
  22. package/build/src/IEntityGenericCacher.js.map +1 -1
  23. package/build/src/index.d.ts +1 -1
  24. package/build/src/index.js +1 -1
  25. package/build/src/index.js.map +1 -1
  26. package/package.json +5 -5
  27. package/src/AuthorizationResultBasedEntityMutator.ts +28 -16
  28. package/src/EntityCompanion.ts +1 -1
  29. package/src/EntityCompanionProvider.ts +5 -5
  30. package/src/EntityDatabaseAdapter.ts +19 -0
  31. package/src/EntityMutationInfo.ts +29 -17
  32. package/src/EntityMutationValidatorConfiguration.ts +64 -0
  33. package/src/EntityMutatorFactory.ts +3 -3
  34. package/src/IEntityCacheAdapter.ts +4 -0
  35. package/src/IEntityCacheAdapterProvider.ts +4 -0
  36. package/src/IEntityDatabaseAdapterProvider.ts +4 -0
  37. package/src/IEntityGenericCacher.ts +4 -0
  38. package/src/__tests__/EntityMutator-test.ts +161 -54
  39. package/src/__tests__/GenericEntityCacheAdapter-test.ts +24 -0
  40. package/src/__tests__/GenericSecondaryEntityCache-test.ts +180 -0
  41. package/src/index.ts +1 -1
  42. package/src/utils/__testfixtures__/PrivacyPolicyRuleTestUtils.ts +2 -2
  43. package/src/utils/__testfixtures__/StubDatabaseAdapter.ts +11 -1
  44. package/build/src/EntityMutationValidator.d.ts +0 -11
  45. package/build/src/EntityMutationValidator.js.map +0 -1
  46. package/src/EntityMutationValidator.ts +0 -29
@@ -6,7 +6,7 @@ import { EntityDatabaseAdapter } from './EntityDatabaseAdapter';
6
6
  import { EntityLoaderFactory } from './EntityLoaderFactory';
7
7
  import { EntityCascadingDeletionInfo, EntityTriggerMutationInfo, EntityValidatorMutationInfo } from './EntityMutationInfo';
8
8
  import { EntityMutationTrigger, EntityMutationTriggerConfiguration, EntityNonTransactionalMutationTrigger } from './EntityMutationTriggerConfiguration';
9
- import { EntityMutationValidator } from './EntityMutationValidator';
9
+ import { EntityMutationValidator, EntityMutationValidatorConfiguration } from './EntityMutationValidatorConfiguration';
10
10
  import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
11
11
  import { EntityQueryContext, EntityTransactionalQueryContext } from './EntityQueryContext';
12
12
  import { ViewerContext } from './ViewerContext';
@@ -104,14 +104,14 @@ export declare abstract class AuthorizationResultBasedBaseMutator<TFields extend
104
104
  protected readonly entityConfiguration: EntityConfiguration<TFields, TIDField>;
105
105
  protected readonly entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
106
106
  protected readonly privacyPolicy: TPrivacyPolicy;
107
- protected readonly mutationValidators: EntityMutationValidator<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[];
107
+ protected readonly mutationValidators: EntityMutationValidatorConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>;
108
108
  protected readonly mutationTriggers: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>;
109
109
  protected readonly entityLoaderFactory: EntityLoaderFactory<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>;
110
110
  protected readonly databaseAdapter: EntityDatabaseAdapter<TFields, TIDField>;
111
111
  protected readonly metricsAdapter: IEntityMetricsAdapter;
112
- constructor(companionProvider: EntityCompanionProvider, viewerContext: TViewerContext, queryContext: EntityQueryContext, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, privacyPolicy: TPrivacyPolicy, mutationValidators: EntityMutationValidator<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[], mutationTriggers: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, entityLoaderFactory: EntityLoaderFactory<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, databaseAdapter: EntityDatabaseAdapter<TFields, TIDField>, metricsAdapter: IEntityMetricsAdapter);
112
+ constructor(companionProvider: EntityCompanionProvider, viewerContext: TViewerContext, queryContext: EntityQueryContext, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, privacyPolicy: TPrivacyPolicy, mutationValidators: EntityMutationValidatorConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, mutationTriggers: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, entityLoaderFactory: EntityLoaderFactory<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, databaseAdapter: EntityDatabaseAdapter<TFields, TIDField>, metricsAdapter: IEntityMetricsAdapter);
113
113
  protected validateFields(fields: Partial<TFields>): void;
114
- protected executeMutationValidatorsAsync(validators: EntityMutationValidator<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[], queryContext: EntityTransactionalQueryContext, entity: TEntity, mutationInfo: EntityValidatorMutationInfo<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>): Promise<void>;
114
+ protected executeMutationValidatorsAsync(validators: EntityMutationValidator<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[] | undefined, queryContext: EntityTransactionalQueryContext, entity: TEntity, mutationInfo: EntityValidatorMutationInfo<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>): Promise<void>;
115
115
  protected executeMutationTriggersAsync(triggers: EntityMutationTrigger<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[] | undefined, queryContext: EntityTransactionalQueryContext, entity: TEntity, mutationInfo: EntityTriggerMutationInfo<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>): Promise<void>;
116
116
  protected executeNonTransactionalMutationTriggersAsync(triggers: EntityNonTransactionalMutationTrigger<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[] | undefined, entity: TEntity, mutationInfo: EntityTriggerMutationInfo<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>): Promise<void>;
117
117
  }
@@ -143,7 +143,7 @@ export declare class AuthorizationResultBasedUpdateMutator<TFields extends Recor
143
143
  private readonly originalEntity;
144
144
  private readonly fieldsForEntity;
145
145
  private readonly updatedFields;
146
- constructor(companionProvider: EntityCompanionProvider, viewerContext: TViewerContext, queryContext: EntityQueryContext, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, privacyPolicy: TPrivacyPolicy, mutationValidators: EntityMutationValidator<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[], mutationTriggers: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, entityLoaderFactory: EntityLoaderFactory<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, databaseAdapter: EntityDatabaseAdapter<TFields, TIDField>, metricsAdapter: IEntityMetricsAdapter, originalEntity: TEntity, cascadingDeleteCause: EntityCascadingDeletionInfo | null);
146
+ constructor(companionProvider: EntityCompanionProvider, viewerContext: TViewerContext, queryContext: EntityQueryContext, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, privacyPolicy: TPrivacyPolicy, mutationValidators: EntityMutationValidatorConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, mutationTriggers: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, entityLoaderFactory: EntityLoaderFactory<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, databaseAdapter: EntityDatabaseAdapter<TFields, TIDField>, metricsAdapter: IEntityMetricsAdapter, originalEntity: TEntity, cascadingDeleteCause: EntityCascadingDeletionInfo | null);
147
147
  /**
148
148
  * Set the value for entity field.
149
149
  * @param fieldName - entity field being updated
@@ -166,7 +166,7 @@ export declare class AuthorizationResultBasedUpdateMutator<TFields extends Recor
166
166
  export declare class AuthorizationResultBasedDeleteMutator<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends Entity<TFields, TIDField, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, TSelectedFields extends keyof TFields> extends AuthorizationResultBasedBaseMutator<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields> {
167
167
  private readonly entity;
168
168
  private readonly cascadingDeleteCause;
169
- constructor(companionProvider: EntityCompanionProvider, viewerContext: TViewerContext, queryContext: EntityQueryContext, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, privacyPolicy: TPrivacyPolicy, mutationValidators: EntityMutationValidator<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[], mutationTriggers: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, entityLoaderFactory: EntityLoaderFactory<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, databaseAdapter: EntityDatabaseAdapter<TFields, TIDField>, metricsAdapter: IEntityMetricsAdapter, entity: TEntity, cascadingDeleteCause: EntityCascadingDeletionInfo | null);
169
+ constructor(companionProvider: EntityCompanionProvider, viewerContext: TViewerContext, queryContext: EntityQueryContext, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, privacyPolicy: TPrivacyPolicy, mutationValidators: EntityMutationValidatorConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, mutationTriggers: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, entityLoaderFactory: EntityLoaderFactory<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, databaseAdapter: EntityDatabaseAdapter<TFields, TIDField>, metricsAdapter: IEntityMetricsAdapter, entity: TEntity, cascadingDeleteCause: EntityCascadingDeletionInfo | null);
170
170
  /**
171
171
  * Delete the entity after authorizing against delete privacy rules. The entity is invalidated in all caches.
172
172
  * @returns void result, where result error can be UnauthorizedError
@@ -136,6 +136,9 @@ class AuthorizationResultBasedBaseMutator {
136
136
  }
137
137
  }
138
138
  async executeMutationValidatorsAsync(validators, queryContext, entity, mutationInfo) {
139
+ if (!validators) {
140
+ return;
141
+ }
139
142
  await Promise.all(validators.map((validator) => validator.executeAsync(this.viewerContext, queryContext, entity, mutationInfo)));
140
143
  }
141
144
  async executeMutationTriggersAsync(triggers, queryContext, entity, mutationInfo) {
@@ -191,7 +194,7 @@ class AuthorizationResultBasedCreateMutator extends AuthorizationResultBasedBase
191
194
  if (!authorizeCreateResult.ok) {
192
195
  return authorizeCreateResult;
193
196
  }
194
- await this.executeMutationValidatorsAsync(this.mutationValidators, queryContext, temporaryEntityForPrivacyCheck, { type: EntityMutationInfo_1.EntityMutationType.CREATE });
197
+ await this.executeMutationValidatorsAsync(this.mutationValidators.beforeCreateAndUpdate, queryContext, temporaryEntityForPrivacyCheck, { type: EntityMutationInfo_1.EntityMutationType.CREATE });
195
198
  await this.executeMutationTriggersAsync(this.mutationTriggers.beforeAll, queryContext, temporaryEntityForPrivacyCheck, { type: EntityMutationInfo_1.EntityMutationType.CREATE });
196
199
  await this.executeMutationTriggersAsync(this.mutationTriggers.beforeCreate, queryContext, temporaryEntityForPrivacyCheck, { type: EntityMutationInfo_1.EntityMutationType.CREATE });
197
200
  const insertResult = await this.databaseAdapter.insertAsync(queryContext, this.fieldsForEntity);
@@ -258,7 +261,7 @@ class AuthorizationResultBasedUpdateMutator extends AuthorizationResultBasedBase
258
261
  if (!authorizeUpdateResult.ok) {
259
262
  return authorizeUpdateResult;
260
263
  }
261
- await this.executeMutationValidatorsAsync(this.mutationValidators, queryContext, entityAboutToBeUpdated, {
264
+ await this.executeMutationValidatorsAsync(this.mutationValidators.beforeCreateAndUpdate, queryContext, entityAboutToBeUpdated, {
262
265
  type: EntityMutationInfo_1.EntityMutationType.UPDATE,
263
266
  previousValue: this.originalEntity,
264
267
  cascadingDeleteCause: this.cascadingDeleteCause,
@@ -348,6 +351,10 @@ class AuthorizationResultBasedDeleteMutator extends AuthorizationResultBasedBase
348
351
  return authorizeDeleteResult;
349
352
  }
350
353
  await this.processEntityDeletionForInboundEdgesAsync(this.entity, queryContext, processedEntityIdentifiersFromTransitiveDeletions);
354
+ await this.executeMutationValidatorsAsync(this.mutationValidators.beforeDelete, queryContext, this.entity, {
355
+ type: EntityMutationInfo_1.EntityMutationType.DELETE,
356
+ cascadingDeleteCause: this.cascadingDeleteCause,
357
+ });
351
358
  await this.executeMutationTriggersAsync(this.mutationTriggers.beforeAll, queryContext, this.entity, {
352
359
  type: EntityMutationInfo_1.EntityMutationType.DELETE,
353
360
  cascadingDeleteCause: this.cascadingDeleteCause,
@@ -1 +1 @@
1
- {"version":3,"file":"AuthorizationResultBasedEntityMutator.js","sourceRoot":"","sources":["../../src/AuthorizationResultBasedEntityMutator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthorizationResultBasedEntityMutator.js","sourceRoot":"","sources":["../../src/AuthorizationResultBasedEntityMutator.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ class EntityCompanion {
22
22
  this.metricsAdapter = metricsAdapter;
23
23
  this.privacyPolicy = new entityCompanionDefinition.privacyPolicyClass();
24
24
  this.entityLoaderFactory = new EntityLoaderFactory_1.EntityLoaderFactory(this, tableDataCoordinator.dataManager, metricsAdapter);
25
- this.entityMutatorFactory = new EntityMutatorFactory_1.EntityMutatorFactory(entityCompanionProvider, tableDataCoordinator.entityConfiguration, entityCompanionDefinition.entityClass, this.privacyPolicy, entityCompanionDefinition.mutationValidators ?? [], (0, mergeEntityMutationTriggerConfigurations_1.mergeEntityMutationTriggerConfigurations)(entityCompanionDefinition.mutationTriggers ?? {}, entityCompanionProvider.globalMutationTriggers ?? {}), this.entityLoaderFactory, tableDataCoordinator.databaseAdapter, metricsAdapter);
25
+ this.entityMutatorFactory = new EntityMutatorFactory_1.EntityMutatorFactory(entityCompanionProvider, tableDataCoordinator.entityConfiguration, entityCompanionDefinition.entityClass, this.privacyPolicy, entityCompanionDefinition.mutationValidators ?? {}, (0, mergeEntityMutationTriggerConfigurations_1.mergeEntityMutationTriggerConfigurations)(entityCompanionDefinition.mutationTriggers ?? {}, entityCompanionProvider.globalMutationTriggers ?? {}), this.entityLoaderFactory, tableDataCoordinator.databaseAdapter, metricsAdapter);
26
26
  }
27
27
  getLoaderFactory() {
28
28
  return this.entityLoaderFactory;
@@ -2,7 +2,7 @@ import { IEntityClass } from './Entity';
2
2
  import { EntityCompanion, IPrivacyPolicyClass } from './EntityCompanion';
3
3
  import { EntityConfiguration } from './EntityConfiguration';
4
4
  import { EntityMutationTriggerConfiguration } from './EntityMutationTriggerConfiguration';
5
- import { EntityMutationValidator } from './EntityMutationValidator';
5
+ import { EntityMutationValidatorConfiguration } from './EntityMutationValidatorConfiguration';
6
6
  import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
7
7
  import { EntityQueryContextProvider } from './EntityQueryContextProvider';
8
8
  import { IEntityCacheAdapterProvider } from './IEntityCacheAdapterProvider';
@@ -54,11 +54,11 @@ export interface EntityCompanionDefinition<TFields extends Record<string, any>,
54
54
  */
55
55
  readonly privacyPolicyClass: IPrivacyPolicyClass<TPrivacyPolicy>;
56
56
  /**
57
- * An optional list of EntityMutationValidator for this entity.
57
+ * An optional EntityMutationValidatorConfiguration for this entity.
58
58
  */
59
- readonly mutationValidators?: EntityMutationValidator<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[];
59
+ readonly mutationValidators?: EntityMutationValidatorConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>;
60
60
  /**
61
- * An optional list of EntityMutationTrigger for this entity.
61
+ * An optional EntityMutationTriggerConfiguration for this entity.
62
62
  */
63
63
  readonly mutationTriggers?: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>;
64
64
  /**
@@ -30,8 +30,19 @@ export interface TableFieldMultiValueEqualityCondition {
30
30
  tableField: string;
31
31
  tableValues: readonly any[];
32
32
  }
33
+ /**
34
+ * Ordering options for `orderBy` clauses.
35
+ */
33
36
  export declare enum OrderByOrdering {
37
+ /**
38
+ * Ascending order (lowest to highest).
39
+ * Ascending order puts smaller values first, where "smaller" is defined in terms of the %3C operator.
40
+ */
34
41
  ASCENDING = "asc",
42
+ /**
43
+ * Descending order (highest to lowest).
44
+ * Descending order puts larger values first, where "larger" is defined in terms of the %3E operator.
45
+ */
35
46
  DESCENDING = "desc"
36
47
  }
37
48
  /**
@@ -42,7 +53,13 @@ export interface QuerySelectionModifiers<TFields extends Record<string, any>> {
42
53
  * Order the entities by specified columns and orders.
43
54
  */
44
55
  orderBy?: {
56
+ /**
57
+ * The field name to order by.
58
+ */
45
59
  fieldName: keyof TFields;
60
+ /**
61
+ * The OrderByOrdering to order by.
62
+ */
46
63
  order: OrderByOrdering;
47
64
  }[];
48
65
  /**
@@ -11,9 +11,20 @@ const EntityFieldTransformationUtils_1 = require("./internal/EntityFieldTransfor
11
11
  function isSingleValueFieldEqualityCondition(condition) {
12
12
  return condition.fieldValue !== undefined;
13
13
  }
14
+ /**
15
+ * Ordering options for `orderBy` clauses.
16
+ */
14
17
  var OrderByOrdering;
15
18
  (function (OrderByOrdering) {
19
+ /**
20
+ * Ascending order (lowest to highest).
21
+ * Ascending order puts smaller values first, where "smaller" is defined in terms of the %3C operator.
22
+ */
16
23
  OrderByOrdering["ASCENDING"] = "asc";
24
+ /**
25
+ * Descending order (highest to lowest).
26
+ * Descending order puts larger values first, where "larger" is defined in terms of the %3E operator.
27
+ */
17
28
  OrderByOrdering["DESCENDING"] = "desc";
18
29
  })(OrderByOrdering || (exports.OrderByOrdering = OrderByOrdering = {}));
19
30
  /**
@@ -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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"}
@@ -5,13 +5,6 @@ export declare enum EntityMutationType {
5
5
  UPDATE = 1,
6
6
  DELETE = 2
7
7
  }
8
- export type EntityValidatorMutationInfo<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends Entity<TFields, TIDField, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields> = {
9
- type: EntityMutationType.CREATE;
10
- } | {
11
- type: EntityMutationType.UPDATE;
12
- previousValue: TEntity;
13
- cascadingDeleteCause: EntityCascadingDeletionInfo | null;
14
- };
15
8
  /**
16
9
  * Information about a cascading deletion.
17
10
  */
@@ -25,7 +18,7 @@ export type EntityCascadingDeletionInfo = {
25
18
  */
26
19
  cascadingDeleteCause: EntityCascadingDeletionInfo | null;
27
20
  };
28
- export type EntityTriggerMutationInfo<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends Entity<TFields, TIDField, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields> = {
21
+ type EntityTriggerOrValidatorMutationInfo<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends Entity<TFields, TIDField, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields> = {
29
22
  type: EntityMutationType.CREATE;
30
23
  } | {
31
24
  type: EntityMutationType.UPDATE;
@@ -35,3 +28,6 @@ export type EntityTriggerMutationInfo<TFields extends Record<string, any>, TIDFi
35
28
  type: EntityMutationType.DELETE;
36
29
  cascadingDeleteCause: EntityCascadingDeletionInfo | null;
37
30
  };
31
+ export type EntityValidatorMutationInfo<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends Entity<TFields, TIDField, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields> = EntityTriggerOrValidatorMutationInfo<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>;
32
+ export type EntityTriggerMutationInfo<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends Entity<TFields, TIDField, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields> = EntityTriggerOrValidatorMutationInfo<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>;
33
+ export {};
@@ -0,0 +1,26 @@
1
+ import { EntityValidatorMutationInfo } from './EntityMutationInfo';
2
+ import { EntityTransactionalQueryContext } from './EntityQueryContext';
3
+ import { ReadonlyEntity } from './ReadonlyEntity';
4
+ import { ViewerContext } from './ViewerContext';
5
+ /**
6
+ * Interface to define validator behavior for entities.
7
+ */
8
+ export interface EntityMutationValidatorConfiguration<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TIDField, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields> {
9
+ /**
10
+ * Validator set that runs within the transaction but before the entity is created.
11
+ */
12
+ beforeCreateAndUpdate?: EntityMutationValidator<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[];
13
+ /**
14
+ * Validator set that runs within the transaction but before the entity is deleted. This can be used
15
+ * to maintain constraints not expressable via other means, like checking that this entity is not referenced
16
+ * by other entities (in a non-foreign-key-manner) before proceeding with deletion.
17
+ */
18
+ beforeDelete?: EntityMutationValidator<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[];
19
+ }
20
+ /**
21
+ * A validator is a way to specify side-effect-free entity mutation validation that runs within the
22
+ * same transaction as the mutation itself.
23
+ */
24
+ export declare abstract class EntityMutationValidator<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TIDField, TViewerContext, TSelectedFields>, TSelectedFields extends keyof TFields = keyof TFields> {
25
+ abstract executeAsync(viewerContext: TViewerContext, queryContext: EntityTransactionalQueryContext, entity: TEntity, mutationInfo: EntityValidatorMutationInfo<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>): Promise<void>;
26
+ }
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EntityMutationValidator = void 0;
4
4
  /**
5
- * A validator is a way to specify entity mutation validation that runs within the
6
- * same transaction as the mutation itself before creating or updating an entity.
5
+ * A validator is a way to specify side-effect-free entity mutation validation that runs within the
6
+ * same transaction as the mutation itself.
7
7
  */
8
8
  class EntityMutationValidator {
9
9
  }
10
10
  exports.EntityMutationValidator = EntityMutationValidator;
11
- //# sourceMappingURL=EntityMutationValidator.js.map
11
+ //# sourceMappingURL=EntityMutationValidatorConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityMutationValidatorConfiguration.js","sourceRoot":"","sources":["../../src/EntityMutationValidatorConfiguration.ts"],"names":[],"mappings":";;;AAwCA;;;GAGG;AACH,MAAsB,uBAAuB;CAmB5C;AAnBD,0DAmBC"}
@@ -6,7 +6,7 @@ import { EntityDatabaseAdapter } from './EntityDatabaseAdapter';
6
6
  import { EntityLoaderFactory } from './EntityLoaderFactory';
7
7
  import { EntityCascadingDeletionInfo } from './EntityMutationInfo';
8
8
  import { EntityMutationTriggerConfiguration } from './EntityMutationTriggerConfiguration';
9
- import { EntityMutationValidator } from './EntityMutationValidator';
9
+ import { EntityMutationValidatorConfiguration } from './EntityMutationValidatorConfiguration';
10
10
  import { EntityPrivacyPolicy } from './EntityPrivacyPolicy';
11
11
  import { EntityQueryContext } from './EntityQueryContext';
12
12
  import { ViewerContext } from './ViewerContext';
@@ -24,7 +24,7 @@ export declare class EntityMutatorFactory<TFields extends Record<string, any>, T
24
24
  private readonly entityLoaderFactory;
25
25
  private readonly databaseAdapter;
26
26
  private readonly metricsAdapter;
27
- constructor(entityCompanionProvider: EntityCompanionProvider, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, privacyPolicy: TPrivacyPolicy, mutationValidators: EntityMutationValidator<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>[], mutationTriggers: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, entityLoaderFactory: EntityLoaderFactory<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, databaseAdapter: EntityDatabaseAdapter<TFields, TIDField>, metricsAdapter: IEntityMetricsAdapter);
27
+ constructor(entityCompanionProvider: EntityCompanionProvider, entityConfiguration: EntityConfiguration<TFields, TIDField>, entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, privacyPolicy: TPrivacyPolicy, mutationValidators: EntityMutationValidatorConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, mutationTriggers: EntityMutationTriggerConfiguration<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, entityLoaderFactory: EntityLoaderFactory<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, databaseAdapter: EntityDatabaseAdapter<TFields, TIDField>, metricsAdapter: IEntityMetricsAdapter);
28
28
  /**
29
29
  * Vend mutator for creating a new entity in given query context.
30
30
  * @param viewerContext - viewer context of creating user
@@ -1 +1 @@
1
- {"version":3,"file":"EntityMutatorFactory.js","sourceRoot":"","sources":["../../src/EntityMutatorFactory.ts"],"names":[],"mappings":";;;AAAA,mGAIiD;AAcjD;;GAEG;AACH,MAAa,oBAAoB;IAeZ;IACA;IACA;IAQA;IACA;IAOA;IAOA;IAQA;IACA;IAnCnB,YACmB,uBAAgD,EAChD,mBAA2D,EAC3D,WAOhB,EACgB,aAA6B,EAC7B,kBAMd,EACc,gBAMhB,EACgB,mBAOhB,EACgB,eAAyD,EACzD,cAAqC;QAlCrC,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,wBAAmB,GAAnB,mBAAmB,CAAwC;QAC3D,gBAAW,GAAX,WAAW,CAO3B;QACgB,kBAAa,GAAb,aAAa,CAAgB;QAC7B,uBAAkB,GAAlB,kBAAkB,CAMhC;QACc,qBAAgB,GAAhB,gBAAgB,CAMhC;QACgB,wBAAmB,GAAnB,mBAAmB,CAOnC;QACgB,oBAAe,GAAf,eAAe,CAA0C;QACzD,mBAAc,GAAd,cAAc,CAAuB;IACrD,CAAC;IAEJ;;;;;OAKG;IACH,SAAS,CACP,aAA6B,EAC7B,YAAgC;QAShC,OAAO,IAAI,6EAAqC,CAC9C,IAAI,CAAC,uBAAuB,EAC5B,aAAa,EACb,YAAY,EACZ,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,CACpB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,SAAS,CACP,cAAuB,EACvB,YAAgC,EAChC,oBAAwD;QASxD,OAAO,IAAI,6EAAqC,CAC9C,IAAI,CAAC,uBAAuB,EAC5B,cAAc,CAAC,gBAAgB,EAAE,EACjC,YAAY,EACZ,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,EACnB,cAAc,EACd,oBAAoB,CACrB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,SAAS,CACP,cAAuB,EACvB,YAAgC,EAChC,oBAAwD;QASxD,OAAO,IAAI,6EAAqC,CAC9C,IAAI,CAAC,uBAAuB,EAC5B,cAAc,CAAC,gBAAgB,EAAE,EACjC,YAAY,EACZ,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,EACnB,cAAc,EACd,oBAAoB,CACrB,CAAC;IACJ,CAAC;CACF;AAxJD,oDAwJC"}
1
+ {"version":3,"file":"EntityMutatorFactory.js","sourceRoot":"","sources":["../../src/EntityMutatorFactory.ts"],"names":[],"mappings":";;;AAAA,mGAIiD;AAcjD;;GAEG;AACH,MAAa,oBAAoB;IAeZ;IACA;IACA;IAQA;IACA;IAOA;IAOA;IAQA;IACA;IAnCnB,YACmB,uBAAgD,EAChD,mBAA2D,EAC3D,WAOhB,EACgB,aAA6B,EAC7B,kBAMhB,EACgB,gBAMhB,EACgB,mBAOhB,EACgB,eAAyD,EACzD,cAAqC;QAlCrC,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,wBAAmB,GAAnB,mBAAmB,CAAwC;QAC3D,gBAAW,GAAX,WAAW,CAO3B;QACgB,kBAAa,GAAb,aAAa,CAAgB;QAC7B,uBAAkB,GAAlB,kBAAkB,CAMlC;QACgB,qBAAgB,GAAhB,gBAAgB,CAMhC;QACgB,wBAAmB,GAAnB,mBAAmB,CAOnC;QACgB,oBAAe,GAAf,eAAe,CAA0C;QACzD,mBAAc,GAAd,cAAc,CAAuB;IACrD,CAAC;IAEJ;;;;;OAKG;IACH,SAAS,CACP,aAA6B,EAC7B,YAAgC;QAShC,OAAO,IAAI,6EAAqC,CAC9C,IAAI,CAAC,uBAAuB,EAC5B,aAAa,EACb,YAAY,EACZ,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,CACpB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,SAAS,CACP,cAAuB,EACvB,YAAgC,EAChC,oBAAwD;QASxD,OAAO,IAAI,6EAAqC,CAC9C,IAAI,CAAC,uBAAuB,EAC5B,cAAc,CAAC,gBAAgB,EAAE,EACjC,YAAY,EACZ,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,EACnB,cAAc,EACd,oBAAoB,CACrB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,SAAS,CACP,cAAuB,EACvB,YAAgC,EAChC,oBAAwD;QASxD,OAAO,IAAI,6EAAqC,CAC9C,IAAI,CAAC,uBAAuB,EAC5B,cAAc,CAAC,gBAAgB,EAAE,EACjC,YAAY,EACZ,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,EACnB,cAAc,EACd,oBAAoB,CACrB,CAAC;IACJ,CAAC;CACF;AAxJD,oDAwJC"}
@@ -1,3 +1,5 @@
1
1
  "use strict";
2
+ /* c8 ignore start - interface only */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ /* c8 ignore stop - interface only */
3
5
  //# sourceMappingURL=IEntityCacheAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IEntityCacheAdapter.js","sourceRoot":"","sources":["../../src/IEntityCacheAdapter.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"IEntityCacheAdapter.js","sourceRoot":"","sources":["../../src/IEntityCacheAdapter.ts"],"names":[],"mappings":";AAAA,sCAAsC;;AAwEtC,qCAAqC"}
@@ -1,3 +1,5 @@
1
1
  "use strict";
2
+ /* c8 ignore start - interface only */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ /* c8 ignore stop - interface only */
3
5
  //# sourceMappingURL=IEntityCacheAdapterProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IEntityCacheAdapterProvider.js","sourceRoot":"","sources":["../../src/IEntityCacheAdapterProvider.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"IEntityCacheAdapterProvider.js","sourceRoot":"","sources":["../../src/IEntityCacheAdapterProvider.ts"],"names":[],"mappings":";AAAA,sCAAsC;;AAkBtC,qCAAqC"}
@@ -1,3 +1,5 @@
1
1
  "use strict";
2
+ /* c8 ignore start - interface only */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ /* c8 ignore stop - interface only */
3
5
  //# sourceMappingURL=IEntityDatabaseAdapterProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IEntityDatabaseAdapterProvider.js","sourceRoot":"","sources":["../../src/IEntityDatabaseAdapterProvider.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"IEntityDatabaseAdapterProvider.js","sourceRoot":"","sources":["../../src/IEntityDatabaseAdapterProvider.ts"],"names":[],"mappings":";AAAA,sCAAsC;;AAkBtC,qCAAqC"}
@@ -1,3 +1,5 @@
1
1
  "use strict";
2
+ /* c8 ignore start - interface only */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ /* c8 ignore stop - interface only */
3
5
  //# sourceMappingURL=IEntityGenericCacher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IEntityGenericCacher.js","sourceRoot":"","sources":["../../src/IEntityGenericCacher.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"IEntityGenericCacher.js","sourceRoot":"","sources":["../../src/IEntityGenericCacher.ts"],"names":[],"mappings":";AAAA,sCAAsC;;AA4EtC,qCAAqC"}
@@ -27,7 +27,7 @@ export * from './EntityLoaderFactory';
27
27
  export * from './EntityLoaderUtils';
28
28
  export * from './EntityMutationInfo';
29
29
  export * from './EntityMutationTriggerConfiguration';
30
- export * from './EntityMutationValidator';
30
+ export * from './EntityMutationValidatorConfiguration';
31
31
  export * from './EntityMutatorFactory';
32
32
  export * from './EntityPrivacyPolicy';
33
33
  export * from './EntityQueryContext';
@@ -44,7 +44,7 @@ __exportStar(require("./EntityLoaderFactory"), exports);
44
44
  __exportStar(require("./EntityLoaderUtils"), exports);
45
45
  __exportStar(require("./EntityMutationInfo"), exports);
46
46
  __exportStar(require("./EntityMutationTriggerConfiguration"), exports);
47
- __exportStar(require("./EntityMutationValidator"), exports);
47
+ __exportStar(require("./EntityMutationValidatorConfiguration"), exports);
48
48
  __exportStar(require("./EntityMutatorFactory"), exports);
49
49
  __exportStar(require("./EntityPrivacyPolicy"), exports);
50
50
  __exportStar(require("./EntityQueryContext"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC;;;GAGG;;;;;;;;;;;;;;;;AAEH,oFAAkE;AAClE,yEAAuD;AACvD,0EAAwD;AACxD,+DAA6C;AAC7C,iEAA+C;AAC/C,qEAAmD;AACnD,2DAAyC;AACzC,2DAAyC;AACzC,0DAAwC;AACxC,2DAAyC;AACzC,2CAAyB;AACzB,4DAA0C;AAC1C,oDAAkC;AAClC,4DAA0C;AAC1C,wDAAsC;AACtC,kDAAgC;AAChC,0DAAwC;AACxC,kDAAgC;AAChC,0DAAwC;AACxC,iDAA+B;AAC/B,iDAA+B;AAC/B,wDAAsC;AACtC,sDAAoC;AACpC,uDAAqC;AACrC,uEAAqD;AACrD,4DAA0C;AAC1C,yDAAuC;AACvC,wDAAsC;AACtC,uDAAqC;AACrC,+DAA6C;AAC7C,+DAA6C;AAC7C,kDAAgC;AAChC,gDAA8B;AAC9B,8DAA4C;AAC5C,gEAA8C;AAC9C,wDAAsC;AACtC,gEAA8C;AAC9C,mEAAiD;AACjD,yDAAuC;AACvC,mDAAiC;AACjC,kDAAgC;AAChC,gEAA8C;AAC9C,wEAAsD;AACtD,oEAAkD;AAClD,qEAAmD;AACnD,mEAAiD;AACjD,sEAAoD;AACpD,uDAAqC;AACrC,wEAAsD;AACtD,oEAAkD;AAClD,+DAA6C;AAC7C,kEAAgD;AAChD,oEAAkD;AAClD,+DAA6C;AAC7C,4EAA0D;AAC1D,kEAAgD;AAChD,wEAAsD;AACtD,oEAAkD;AAClD,+DAA6C;AAC7C,+DAA6C;AAC7C,kEAAgD;AAChD,qEAAmD;AACnD,uEAAqD;AACrD,sEAAoD;AACpD,sEAAoD;AACpD,4DAA0C;AAC1C,8DAA4C;AAC5C,6DAA2C;AAC3C,mFAAiE;AACjE,2DAAyC;AACzC,yEAAuD;AACvD,2DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC;;;GAGG;;;;;;;;;;;;;;;;AAEH,oFAAkE;AAClE,yEAAuD;AACvD,0EAAwD;AACxD,+DAA6C;AAC7C,iEAA+C;AAC/C,qEAAmD;AACnD,2DAAyC;AACzC,2DAAyC;AACzC,0DAAwC;AACxC,2DAAyC;AACzC,2CAAyB;AACzB,4DAA0C;AAC1C,oDAAkC;AAClC,4DAA0C;AAC1C,wDAAsC;AACtC,kDAAgC;AAChC,0DAAwC;AACxC,kDAAgC;AAChC,0DAAwC;AACxC,iDAA+B;AAC/B,iDAA+B;AAC/B,wDAAsC;AACtC,sDAAoC;AACpC,uDAAqC;AACrC,uEAAqD;AACrD,yEAAuD;AACvD,yDAAuC;AACvC,wDAAsC;AACtC,uDAAqC;AACrC,+DAA6C;AAC7C,+DAA6C;AAC7C,kDAAgC;AAChC,gDAA8B;AAC9B,8DAA4C;AAC5C,gEAA8C;AAC9C,wDAAsC;AACtC,gEAA8C;AAC9C,mEAAiD;AACjD,yDAAuC;AACvC,mDAAiC;AACjC,kDAAgC;AAChC,gEAA8C;AAC9C,wEAAsD;AACtD,oEAAkD;AAClD,qEAAmD;AACnD,mEAAiD;AACjD,sEAAoD;AACpD,uDAAqC;AACrC,wEAAsD;AACtD,oEAAkD;AAClD,+DAA6C;AAC7C,kEAAgD;AAChD,oEAAkD;AAClD,+DAA6C;AAC7C,4EAA0D;AAC1D,kEAAgD;AAChD,wEAAsD;AACtD,oEAAkD;AAClD,+DAA6C;AAC7C,+DAA6C;AAC7C,kEAAgD;AAChD,qEAAmD;AACnD,uEAAqD;AACrD,sEAAoD;AACpD,sEAAoD;AACpD,4DAA0C;AAC1C,8DAA4C;AAC5C,6DAA2C;AAC3C,mFAAiE;AACjE,2DAAyC;AACzC,yEAAuD;AACvD,2DAAyC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/entity",
3
- "version": "0.49.0",
3
+ "version": "0.51.0",
4
4
  "description": "A privacy-first data model",
5
5
  "files": [
6
6
  "build",
@@ -33,16 +33,16 @@
33
33
  "invariant": "^2.2.4"
34
34
  },
35
35
  "devDependencies": {
36
- "@jest/globals": "^30.0.1",
36
+ "@jest/globals": "^30.2.0",
37
37
  "@types/invariant": "^2.2.37",
38
- "@types/lodash": "^4.17.16",
38
+ "@types/lodash": "^4.17.20",
39
39
  "@types/node": "^20.19.1",
40
40
  "@types/uuid": "^8.3.0",
41
41
  "lodash": "^4.17.21",
42
42
  "ts-mockito": "^2.6.1",
43
- "typescript": "^5.8.3",
43
+ "typescript": "^5.9.3",
44
44
  "uuid": "^8.3.0",
45
45
  "uuidv7": "^1.0.0"
46
46
  },
47
- "gitHead": "4ab2cf1cc498f0e06bdb0f792a08aca3f49d27fc"
47
+ "gitHead": "9140938e1cd20bab7e89224b9e5670e963d735d9"
48
48
  }