@expo/entity 0.53.0 → 0.54.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 (59) hide show
  1. package/build/src/ComposedEntityCacheAdapter.js.map +1 -1
  2. package/build/src/ComposedSecondaryEntityCache.js.map +1 -1
  3. package/build/src/EntityDatabaseAdapter.js.map +1 -1
  4. package/build/src/EntityFieldDefinition.js.map +1 -1
  5. package/build/src/EntityLoaderUtils.js +14 -18
  6. package/build/src/EntityLoaderUtils.js.map +1 -1
  7. package/build/src/GenericEntityCacheAdapter.js.map +1 -1
  8. package/build/src/GenericSecondaryEntityCache.js.map +1 -1
  9. package/build/src/entityUtils.js +7 -2
  10. package/build/src/entityUtils.js.map +1 -1
  11. package/build/src/errors/EntityCacheAdapterError.d.ts +2 -2
  12. package/build/src/errors/EntityCacheAdapterError.js +12 -2
  13. package/build/src/errors/EntityCacheAdapterError.js.map +1 -1
  14. package/build/src/errors/EntityDatabaseAdapterError.d.ts +24 -24
  15. package/build/src/errors/EntityDatabaseAdapterError.js +111 -24
  16. package/build/src/errors/EntityDatabaseAdapterError.js.map +1 -1
  17. package/build/src/errors/EntityError.d.ts +2 -4
  18. package/build/src/errors/EntityError.js +5 -8
  19. package/build/src/errors/EntityError.js.map +1 -1
  20. package/build/src/errors/EntityInvalidFieldValueError.d.ts +2 -2
  21. package/build/src/errors/EntityInvalidFieldValueError.js +9 -2
  22. package/build/src/errors/EntityInvalidFieldValueError.js.map +1 -1
  23. package/build/src/errors/EntityNotAuthorizedError.d.ts +2 -2
  24. package/build/src/errors/EntityNotAuthorizedError.js +9 -2
  25. package/build/src/errors/EntityNotAuthorizedError.js.map +1 -1
  26. package/build/src/errors/EntityNotFoundError.d.ts +2 -2
  27. package/build/src/errors/EntityNotFoundError.js +9 -2
  28. package/build/src/errors/EntityNotFoundError.js.map +1 -1
  29. package/build/src/internal/CompositeFieldHolder.js.map +1 -1
  30. package/build/src/internal/CompositeFieldValueMap.js.map +1 -1
  31. package/build/src/internal/SingleFieldHolder.js.map +1 -1
  32. package/build/src/utils/EntityPrivacyUtils.js +34 -15
  33. package/build/src/utils/EntityPrivacyUtils.js.map +1 -1
  34. package/package.json +10 -13
  35. package/src/ComposedEntityCacheAdapter.ts +1 -2
  36. package/src/ComposedSecondaryEntityCache.ts +4 -3
  37. package/src/EntityDatabaseAdapter.ts +3 -2
  38. package/src/EntityFieldDefinition.ts +1 -2
  39. package/src/EntityLoaderUtils.ts +17 -20
  40. package/src/GenericEntityCacheAdapter.ts +1 -2
  41. package/src/GenericSecondaryEntityCache.ts +1 -2
  42. package/src/__tests__/ComposedCacheAdapter-test.ts +4 -3
  43. package/src/__tests__/EntityFields-test.ts +2 -8
  44. package/src/entityUtils.ts +7 -4
  45. package/src/errors/EntityCacheAdapterError.ts +16 -3
  46. package/src/errors/EntityDatabaseAdapterError.ts +137 -25
  47. package/src/errors/EntityError.ts +7 -8
  48. package/src/errors/EntityInvalidFieldValueError.ts +11 -2
  49. package/src/errors/EntityNotAuthorizedError.ts +11 -2
  50. package/src/errors/EntityNotFoundError.ts +11 -2
  51. package/src/errors/__tests__/EntityDatabaseAdapterError-test.ts +68 -11
  52. package/src/errors/__tests__/EntityError-test.ts +36 -0
  53. package/src/internal/CompositeFieldHolder.ts +7 -10
  54. package/src/internal/CompositeFieldValueMap.ts +1 -2
  55. package/src/internal/SingleFieldHolder.ts +10 -6
  56. package/src/utils/EntityPrivacyUtils.ts +61 -20
  57. package/src/utils/__testfixtures__/StubCacheAdapter.ts +2 -4
  58. package/src/utils/__testfixtures__/StubDatabaseAdapter.ts +1 -1
  59. package/src/utils/__tests__/EntityPrivacyUtils-test.ts +295 -0
@@ -1,10 +1,6 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.EntityError = exports.EntityErrorCode = exports.EntityErrorState = void 0;
7
- const es6_error_1 = __importDefault(require("es6-error"));
8
4
  /**
9
5
  * The state of an entity error, indicating whether it may be transient/retryable.
10
6
  */
@@ -39,11 +35,12 @@ var EntityErrorCode;
39
35
  /**
40
36
  * Base class for all known errors thrown by the entity system.
41
37
  */
42
- class EntityError extends es6_error_1.default {
43
- cause;
38
+ class EntityError extends Error {
39
+ static {
40
+ this.prototype.name = 'EntityError';
41
+ }
44
42
  constructor(message, cause) {
45
- super(message);
46
- this.cause = cause;
43
+ super(message, { cause });
47
44
  }
48
45
  }
49
46
  exports.EntityError = EntityError;
@@ -1 +1 @@
1
- {"version":3,"file":"EntityError.js","sourceRoot":"","sources":["../../../src/errors/EntityError.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAiC;AAEjC;;GAEG;AACH,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,6DAAO,CAAA;IACP,iEAAS,CAAA;IACT,iEAAS,CAAA;AACX,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B;AAED;;GAEG;AACH,IAAY,eAiBX;AAjBD,WAAY,eAAe;IACzB,0EAAuD,CAAA;IACvD,gEAA6C,CAAA;IAC7C,oFAAiE,CAAA;IACjE,kGAA+E,CAAA;IAC/E,8FAA2E,CAAA;IAC3E,gHAA6F,CAAA;IAC7F,wHAAqG,CAAA;IACrG,4HAAyG,CAAA;IACzG,sHAAmG,CAAA;IACnG,kHAA+F,CAAA;IAC/F,8HAA2G,CAAA;IAC3G,sHAAmG,CAAA;IACnG,8HAA2G,CAAA;IAC3G,sHAAmG,CAAA;IACnG,8HAA2G,CAAA;IAC3G,4FAAyE,CAAA;AAC3E,CAAC,EAjBW,eAAe,+BAAf,eAAe,QAiB1B;AAED;;GAEG;AACH,MAAsB,WAAY,SAAQ,mBAAQ;IAMrB;IAF3B,YACE,OAAe,EACU,KAAa;QAEtC,KAAK,CAAC,OAAO,CAAC,CAAC;QAFU,UAAK,GAAL,KAAK,CAAQ;IAGxC,CAAC;CACF;AAVD,kCAUC"}
1
+ {"version":3,"file":"EntityError.js","sourceRoot":"","sources":["../../../src/errors/EntityError.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,6DAAO,CAAA;IACP,iEAAS,CAAA;IACT,iEAAS,CAAA;AACX,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B;AAED;;GAEG;AACH,IAAY,eAiBX;AAjBD,WAAY,eAAe;IACzB,0EAAuD,CAAA;IACvD,gEAA6C,CAAA;IAC7C,oFAAiE,CAAA;IACjE,kGAA+E,CAAA;IAC/E,8FAA2E,CAAA;IAC3E,gHAA6F,CAAA;IAC7F,wHAAqG,CAAA;IACrG,4HAAyG,CAAA;IACzG,sHAAmG,CAAA;IACnG,kHAA+F,CAAA;IAC/F,8HAA2G,CAAA;IAC3G,sHAAmG,CAAA;IACnG,8HAA2G,CAAA;IAC3G,sHAAmG,CAAA;IACnG,8HAA2G,CAAA;IAC3G,4FAAyE,CAAA;AAC3E,CAAC,EAjBW,eAAe,+BAAf,eAAe,QAiB1B;AAED;;GAEG;AACH,MAAsB,WAAY,SAAQ,KAAK;IAC7C;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC;IACtC,CAAC;IAKD,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5B,CAAC;CACF;AAXD,kCAWC"}
@@ -7,7 +7,7 @@ import { EntityError, EntityErrorCode, EntityErrorState } from './EntityError';
7
7
  * Error thrown when an entity field has an invalid value, either during load or mutation.
8
8
  */
9
9
  export declare class EntityInvalidFieldValueError<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TIDField, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, N extends keyof TFields, TSelectedFields extends keyof TFields = keyof TFields> extends EntityError {
10
- readonly state = EntityErrorState.PERMANENT;
11
- readonly code = EntityErrorCode.ERR_ENTITY_INVALID_FIELD_VALUE;
10
+ get state(): EntityErrorState.PERMANENT;
11
+ get code(): EntityErrorCode.ERR_ENTITY_INVALID_FIELD_VALUE;
12
12
  constructor(entityClass: IEntityClass<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, TSelectedFields>, fieldName: N, fieldValue?: TFields[N]);
13
13
  }
@@ -6,8 +6,15 @@ const EntityError_1 = require("./EntityError");
6
6
  * Error thrown when an entity field has an invalid value, either during load or mutation.
7
7
  */
8
8
  class EntityInvalidFieldValueError extends EntityError_1.EntityError {
9
- state = EntityError_1.EntityErrorState.PERMANENT;
10
- code = EntityError_1.EntityErrorCode.ERR_ENTITY_INVALID_FIELD_VALUE;
9
+ static {
10
+ this.prototype.name = 'EntityInvalidFieldValueError';
11
+ }
12
+ get state() {
13
+ return EntityError_1.EntityErrorState.PERMANENT;
14
+ }
15
+ get code() {
16
+ return EntityError_1.EntityErrorCode.ERR_ENTITY_INVALID_FIELD_VALUE;
17
+ }
11
18
  constructor(entityClass, fieldName, fieldValue) {
12
19
  super(`Entity field not valid: ${entityClass.name} (${String(fieldName)} = ${fieldValue})`);
13
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EntityInvalidFieldValueError.js","sourceRoot":"","sources":["../../../src/errors/EntityInvalidFieldValueError.ts"],"names":[],"mappings":";;;AAIA,+CAA+E;AAE/E;;GAEG;AACH,MAAa,4BAcX,SAAQ,yBAAW;IACH,KAAK,GAAG,8BAAgB,CAAC,SAAS,CAAC;IACnC,IAAI,GAAG,6BAAe,CAAC,8BAA8B,CAAC;IAEtE,YACE,WAOC,EACD,SAAY,EACZ,UAAuB;QAEvB,KAAK,CAAC,2BAA2B,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;IAC9F,CAAC;CACF;AAhCD,oEAgCC"}
1
+ {"version":3,"file":"EntityInvalidFieldValueError.js","sourceRoot":"","sources":["../../../src/errors/EntityInvalidFieldValueError.ts"],"names":[],"mappings":";;;AAIA,+CAA+E;AAE/E;;GAEG;AACH,MAAa,4BAcX,SAAQ,yBAAW;IACnB;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,8BAA8B,CAAC;IACvD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,8BAAgB,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,6BAAe,CAAC,8BAA8B,CAAC;IACxD,CAAC;IAED,YACE,WAOC,EACD,SAAY,EACZ,UAAuB;QAEvB,KAAK,CAAC,2BAA2B,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;IAC9F,CAAC;CACF;AAzCD,oEAyCC"}
@@ -6,8 +6,8 @@ import { EntityError, EntityErrorCode, EntityErrorState } from './EntityError';
6
6
  * Error thrown when viewer context is not authorized to perform an action on an entity.
7
7
  */
8
8
  export declare class EntityNotAuthorizedError<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> extends EntityError {
9
- readonly state = EntityErrorState.PERMANENT;
10
- readonly code = EntityErrorCode.ERR_ENTITY_NOT_AUTHORIZED;
9
+ get state(): EntityErrorState.PERMANENT;
10
+ get code(): EntityErrorCode.ERR_ENTITY_NOT_AUTHORIZED;
11
11
  readonly entityClassName: string;
12
12
  constructor(entity: TEntity, viewerContext: TViewerContext, action: EntityAuthorizationAction, ruleIndex: number);
13
13
  }
@@ -7,8 +7,15 @@ const EntityError_1 = require("./EntityError");
7
7
  * Error thrown when viewer context is not authorized to perform an action on an entity.
8
8
  */
9
9
  class EntityNotAuthorizedError extends EntityError_1.EntityError {
10
- state = EntityError_1.EntityErrorState.PERMANENT;
11
- code = EntityError_1.EntityErrorCode.ERR_ENTITY_NOT_AUTHORIZED;
10
+ static {
11
+ this.prototype.name = 'EntityNotAuthorizedError';
12
+ }
13
+ get state() {
14
+ return EntityError_1.EntityErrorState.PERMANENT;
15
+ }
16
+ get code() {
17
+ return EntityError_1.EntityErrorCode.ERR_ENTITY_NOT_AUTHORIZED;
18
+ }
12
19
  entityClassName;
13
20
  constructor(entity, viewerContext, action, ruleIndex) {
14
21
  super(`Entity not authorized: ${entity} (viewer = ${viewerContext}, action = ${EntityPrivacyPolicy_1.EntityAuthorizationAction[action]}, ruleIndex = ${ruleIndex})`);
@@ -1 +1 @@
1
- {"version":3,"file":"EntityNotAuthorizedError.js","sourceRoot":"","sources":["../../../src/errors/EntityNotAuthorizedError.ts"],"names":[],"mappings":";;;AAAA,gEAAmE;AAGnE,+CAA+E;AAE/E;;GAEG;AACH,MAAa,wBAMX,SAAQ,yBAAW;IACH,KAAK,GAAG,8BAAgB,CAAC,SAAS,CAAC;IACnC,IAAI,GAAG,6BAAe,CAAC,yBAAyB,CAAC;IAEjD,eAAe,CAAS;IAExC,YACE,MAAe,EACf,aAA6B,EAC7B,MAAiC,EACjC,SAAiB;QAEjB,KAAK,CACH,0BAA0B,MAAM,cAAc,aAAa,cAAc,+CAAyB,CAAC,MAAM,CAAC,iBAAiB,SAAS,GAAG,CACxI,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;IACjD,CAAC;CACF;AAvBD,4DAuBC"}
1
+ {"version":3,"file":"EntityNotAuthorizedError.js","sourceRoot":"","sources":["../../../src/errors/EntityNotAuthorizedError.ts"],"names":[],"mappings":";;;AAAA,gEAAmE;AAGnE,+CAA+E;AAE/E;;GAEG;AACH,MAAa,wBAMX,SAAQ,yBAAW;IACnB;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACnD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,8BAAgB,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,6BAAe,CAAC,yBAAyB,CAAC;IACnD,CAAC;IAEe,eAAe,CAAS;IAExC,YACE,MAAe,EACf,aAA6B,EAC7B,MAAiC,EACjC,SAAiB;QAEjB,KAAK,CACH,0BAA0B,MAAM,cAAc,aAAa,cAAc,+CAAyB,CAAC,MAAM,CAAC,iBAAiB,SAAS,GAAG,CACxI,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;IACjD,CAAC;CACF;AAhCD,4DAgCC"}
@@ -12,8 +12,8 @@ type EntityNotFoundOptions<TFields extends Record<string, any>, TIDField extends
12
12
  * Error thrown when an entity is not found during certain load methods.
13
13
  */
14
14
  export declare class EntityNotFoundError<TFields extends Record<string, any>, TIDField extends keyof NonNullable<Pick<TFields, TSelectedFields>>, TViewerContext extends ViewerContext, TEntity extends ReadonlyEntity<TFields, TIDField, TViewerContext, TSelectedFields>, TPrivacyPolicy extends EntityPrivacyPolicy<TFields, TIDField, TViewerContext, TEntity, TSelectedFields>, N extends keyof TFields, TSelectedFields extends keyof TFields = keyof TFields> extends EntityError {
15
- readonly state = EntityErrorState.PERMANENT;
16
- readonly code = EntityErrorCode.ERR_ENTITY_NOT_FOUND;
15
+ get state(): EntityErrorState.PERMANENT;
16
+ get code(): EntityErrorCode.ERR_ENTITY_NOT_FOUND;
17
17
  constructor(message: string);
18
18
  constructor(options: EntityNotFoundOptions<TFields, TIDField, TViewerContext, TEntity, TPrivacyPolicy, N, TSelectedFields>);
19
19
  }
@@ -6,8 +6,15 @@ const EntityError_1 = require("./EntityError");
6
6
  * Error thrown when an entity is not found during certain load methods.
7
7
  */
8
8
  class EntityNotFoundError extends EntityError_1.EntityError {
9
- state = EntityError_1.EntityErrorState.PERMANENT;
10
- code = EntityError_1.EntityErrorCode.ERR_ENTITY_NOT_FOUND;
9
+ static {
10
+ this.prototype.name = 'EntityNotFoundError';
11
+ }
12
+ get state() {
13
+ return EntityError_1.EntityErrorState.PERMANENT;
14
+ }
15
+ get code() {
16
+ return EntityError_1.EntityErrorCode.ERR_ENTITY_NOT_FOUND;
17
+ }
11
18
  constructor(messageOrOptions) {
12
19
  if (typeof messageOrOptions === 'string') {
13
20
  super(messageOrOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"EntityNotFoundError.js","sourceRoot":"","sources":["../../../src/errors/EntityNotFoundError.ts"],"names":[],"mappings":";;;AAIA,+CAA+E;AA6B/E;;GAEG;AACH,MAAa,mBAcX,SAAQ,yBAAW;IACH,KAAK,GAAG,8BAAgB,CAAC,SAAS,CAAC;IACnC,IAAI,GAAG,6BAAe,CAAC,oBAAoB,CAAC;IAe5D,YACE,gBAUK;QAEL,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACzC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,KAAK,CACH,qBAAqB,gBAAgB,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,gBAAgB,CAAC,UAAU,GAAG,CAClI,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AApDD,kDAoDC"}
1
+ {"version":3,"file":"EntityNotFoundError.js","sourceRoot":"","sources":["../../../src/errors/EntityNotFoundError.ts"],"names":[],"mappings":";;;AAIA,+CAA+E;AA6B/E;;GAEG;AACH,MAAa,mBAcX,SAAQ,yBAAW;IACnB;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,qBAAqB,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,8BAAgB,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,6BAAe,CAAC,oBAAoB,CAAC;IAC9C,CAAC;IAeD,YACE,gBAUK;QAEL,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACzC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,KAAK,CACH,qBAAqB,gBAAgB,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,gBAAgB,CAAC,UAAU,GAAG,CAClI,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA7DD,kDA6DC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CompositeFieldHolder.js","sourceRoot":"","sources":["../../../src/internal/CompositeFieldHolder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CompositeFieldHolder.js","sourceRoot":"","sources":["../../../src/internal/CompositeFieldHolder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CompositeFieldValueMap.js","sourceRoot":"","sources":["../../../src/internal/CompositeFieldValueMap.ts"],"names":[],"mappings":";;;AACA,iEAGgC;AAEhC;;GAEG;AACH,MAAa,sBAAsB;IAMhB,GAAG,CAAoD;IAExE,YAAY,OAA2D;QACrE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAgD,CAAC;QACpE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACnC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,mBAA0D;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,gDAAyB,CAAC,mBAAmB,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,GAAG,CAAC,mBAA0D;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,gDAAyB,CAAC,mBAAmB,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,CACL,UAIS,EACT,OAAa;QAEb,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC9B,UAAU,CAAC,IAAI,CACb,OAAO,EACP,KAAK,EACL,gDAAyB,CAAC,WAAW,CAAa,GAAG,CAAC,CAAC,mBAAmB,EAC1E,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,CAAC,OAAO;QACN,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,MAAM,CAAC,gDAAyB,CAAC,WAAW,CAAa,GAAG,CAAC,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,CAAC,IAAI;QACH,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,MAAM,gDAAyB,CAAC,WAAW,CAAa,GAAG,CAAC,CAAC,mBAAmB,CAAC;QACnF,CAAC;IACH,CAAC;IAED,CAAC,MAAM;QACL,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,wBAAwB,CAAC;IAClC,CAAC;CACF;AAvED,wDAuEC"}
1
+ {"version":3,"file":"CompositeFieldValueMap.js","sourceRoot":"","sources":["../../../src/internal/CompositeFieldValueMap.ts"],"names":[],"mappings":";;;AACA,iEAGgC;AAEhC;;GAEG;AACH,MAAa,sBAAsB;IAKhB,GAAG,CAAoD;IAExE,YAAY,OAA2D;QACrE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAgD,CAAC;QACpE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACnC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,mBAA0D;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,gDAAyB,CAAC,mBAAmB,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,GAAG,CAAC,mBAA0D;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,gDAAyB,CAAC,mBAAmB,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,CACL,UAIS,EACT,OAAa;QAEb,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC9B,UAAU,CAAC,IAAI,CACb,OAAO,EACP,KAAK,EACL,gDAAyB,CAAC,WAAW,CAAa,GAAG,CAAC,CAAC,mBAAmB,EAC1E,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,CAAC,OAAO;QACN,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,MAAM,CAAC,gDAAyB,CAAC,WAAW,CAAa,GAAG,CAAC,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,CAAC,IAAI;QACH,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,MAAM,gDAAyB,CAAC,WAAW,CAAa,GAAG,CAAC,CAAC,mBAAmB,CAAC;QACnF,CAAC;IACH,CAAC;IAED,CAAC,MAAM;QACL,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC;QACf,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,wBAAwB,CAAC;IAClC,CAAC;CACF;AAtED,wDAsEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SingleFieldHolder.js","sourceRoot":"","sources":["../../../src/internal/SingleFieldHolder.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAGlC,qFAAkF;AAClF,iEAKgC;AAEhC;;;;GAIG;AACH,MAAa,iBAAiB;IAOA;IAA5B,YAA4B,SAAY;QAAZ,cAAS,GAAT,SAAS,CAAG;IAAG,CAAC;IAE5C,QAAQ;QACN,OAAO,eAAe,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;IAClD,CAAC;IAEM,WAAW,CAAC,mBAA2D;QAC5E,OAAO,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;IAEM,kBAAkB,CAAC,mBAA2D;QACnF,OAAO,CAAC,IAAA,+DAA8B,EAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,iBAAiB,CAAC,KAAyC;QACzD,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IAED,qBAAqB,CAAC,MAAyB;QAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,+BAA+B,CAC7B,mBAA2D,EAC3D,KAAyC;QAEzC,MAAM,UAAU,GAAG,mBAAmB,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtF,IAAA,mBAAS,EAAC,UAAU,EAAE,sCAAsC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACtF,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,iBAAiB;QACf,OAAO,2CAAoB,CAAC,MAAM,CAAC;IACrC,CAAC;IAED,2BAA2B;QACzB,OAAO,IAAI,CAAC,SAAmB,CAAC;IAClC,CAAC;IAED,kBAAkB,CAAC,KAAyC;QAC1D,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC;IAED,oBAAoB,CAAC,KAA8B;QACjD,OAAO,sBAAsB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,iDAAiD,CAC/C,MAAqD,EACrD,eAAuB;QAEvB,MAAM,yBAAyB,GAAG,MAAM,CAAC,SAAS,CAChD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CACvE,CAAC;QACF,IAAI,yBAAyB,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,iBAAiB,eAAe,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MACzD,MAAM,CAAC,yBAAyB,CAAC,EAAE,UACrC,GAAG,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,mBAAmB;QAKjB,OAAO,IAAI,yBAAyB,EAAE,CAAC;IACzC,CAAC;CACF;AAjFD,8CAiFC;AAED;;;;GAIG;AACH,MAAa,sBAAsB;IAGL;IAA5B,YAA4B,UAAmC;QAAnC,eAAU,GAAV,UAAU,CAAyB;IAAG,CAAC;IAEnE,QAAQ;QACN,OAAO,oBAAoB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;IACxD,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,UAAmC;QAEnC,OAAO,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;CACF;AAlBD,wDAkBC;AAED;;GAEG;AACH,MAAa,yBAIX,SAAQ,mCAA4E;IACjE,cAAc,CAC/B,aAAsC;QAEtC,OAAO,sBAAsB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;CACF;AAVD,8DAUC"}
1
+ {"version":3,"file":"SingleFieldHolder.js","sourceRoot":"","sources":["../../../src/internal/SingleFieldHolder.ts"],"names":[],"mappings":"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"}
@@ -30,8 +30,7 @@ async function canViewerUpdateAsync(entityClass, sourceEntity, queryContext = so
30
30
  .getViewerScopedEntityCompanionForClass(entityClass)
31
31
  .getQueryContextProvider()
32
32
  .getQueryContext()) {
33
- const result = await canViewerUpdateInternalAsync(entityClass, sourceEntity,
34
- /* cascadingDeleteCause */ null, queryContext);
33
+ const result = await canViewerUpdateInternalAsync(entityClass, sourceEntity, { previousValue: sourceEntity, cascadingDeleteCause: null }, queryContext);
35
34
  return result.allowed;
36
35
  }
37
36
  /**
@@ -48,15 +47,14 @@ async function getCanViewerUpdateResultAsync(entityClass, sourceEntity, queryCon
48
47
  .getViewerScopedEntityCompanionForClass(entityClass)
49
48
  .getQueryContextProvider()
50
49
  .getQueryContext()) {
51
- return await canViewerUpdateInternalAsync(entityClass, sourceEntity,
52
- /* cascadingDeleteCause */ null, queryContext);
50
+ return await canViewerUpdateInternalAsync(entityClass, sourceEntity, { previousValue: sourceEntity, cascadingDeleteCause: null }, queryContext);
53
51
  }
54
- async function canViewerUpdateInternalAsync(entityClass, sourceEntity, cascadingDeleteCause, queryContext) {
52
+ async function canViewerUpdateInternalAsync(entityClass, sourceEntity, evaluationContext, queryContext) {
55
53
  const companion = sourceEntity
56
54
  .getViewerContext()
57
55
  .getViewerScopedEntityCompanionForClass(entityClass);
58
56
  const privacyPolicy = companion.entityCompanion.privacyPolicy;
59
- const evaluationResult = await (0, results_1.asyncResult)(privacyPolicy.authorizeUpdateAsync(sourceEntity.getViewerContext(), queryContext, { previousValue: null, cascadingDeleteCause }, sourceEntity, companion.getMetricsAdapter()));
57
+ const evaluationResult = await (0, results_1.asyncResult)(privacyPolicy.authorizeUpdateAsync(sourceEntity.getViewerContext(), queryContext, evaluationContext, sourceEntity, companion.getMetricsAdapter()));
60
58
  if (!evaluationResult.ok) {
61
59
  if (evaluationResult.reason instanceof EntityNotAuthorizedError_1.EntityNotAuthorizedError) {
62
60
  return { allowed: false, authorizationErrors: [evaluationResult.reason] };
@@ -82,8 +80,7 @@ async function canViewerDeleteAsync(entityClass, sourceEntity, queryContext = so
82
80
  .getViewerScopedEntityCompanionForClass(entityClass)
83
81
  .getQueryContextProvider()
84
82
  .getQueryContext()) {
85
- const result = await canViewerDeleteInternalAsync(entityClass, sourceEntity,
86
- /* cascadingDeleteCause */ null, queryContext);
83
+ const result = await canViewerDeleteInternalAsync(entityClass, sourceEntity, { previousValue: null, cascadingDeleteCause: null }, queryContext);
87
84
  return result.allowed;
88
85
  }
89
86
  /**
@@ -100,17 +97,16 @@ async function getCanViewerDeleteResultAsync(entityClass, sourceEntity, queryCon
100
97
  .getViewerScopedEntityCompanionForClass(entityClass)
101
98
  .getQueryContextProvider()
102
99
  .getQueryContext()) {
103
- return await canViewerDeleteInternalAsync(entityClass, sourceEntity,
104
- /* cascadingDeleteCause */ null, queryContext);
100
+ return await canViewerDeleteInternalAsync(entityClass, sourceEntity, { previousValue: null, cascadingDeleteCause: null }, queryContext);
105
101
  }
106
- async function canViewerDeleteInternalAsync(entityClass, sourceEntity, cascadingDeleteCause, queryContext) {
102
+ async function canViewerDeleteInternalAsync(entityClass, sourceEntity, evaluationContext, queryContext) {
107
103
  const viewerContext = sourceEntity.getViewerContext();
108
104
  const entityCompanionProvider = viewerContext.entityCompanionProvider;
109
105
  const viewerScopedCompanion = sourceEntity
110
106
  .getViewerContext()
111
107
  .getViewerScopedEntityCompanionForClass(entityClass);
112
108
  const privacyPolicy = viewerScopedCompanion.entityCompanion.privacyPolicy;
113
- const evaluationResult = await (0, results_1.asyncResult)(privacyPolicy.authorizeDeleteAsync(sourceEntity.getViewerContext(), queryContext, { previousValue: null, cascadingDeleteCause }, sourceEntity, viewerScopedCompanion.getMetricsAdapter()));
109
+ const evaluationResult = await (0, results_1.asyncResult)(privacyPolicy.authorizeDeleteAsync(sourceEntity.getViewerContext(), queryContext, evaluationContext, sourceEntity, viewerScopedCompanion.getMetricsAdapter()));
114
110
  if (!evaluationResult.ok) {
115
111
  if (evaluationResult.reason instanceof EntityNotAuthorizedError_1.EntityNotAuthorizedError) {
116
112
  return { allowed: false, authorizationErrors: [evaluationResult.reason] };
@@ -121,7 +117,7 @@ async function canViewerDeleteInternalAsync(entityClass, sourceEntity, cascading
121
117
  }
122
118
  const newCascadingDeleteCause = {
123
119
  entity: sourceEntity,
124
- cascadingDeleteCause,
120
+ cascadingDeleteCause: evaluationContext.cascadingDeleteCause,
125
121
  };
126
122
  // Take entity X which is proposed to be deleted, look at inbound edges (entities that reference X).
127
123
  // These inbound edges are the entities that will either get deleted or have their references
@@ -188,7 +184,7 @@ async function canViewerDeleteInternalAsync(entityClass, sourceEntity, cascading
188
184
  switch (association.edgeDeletionBehavior) {
189
185
  case EntityFieldDefinition_1.EntityEdgeDeletionBehavior.CASCADE_DELETE:
190
186
  case EntityFieldDefinition_1.EntityEdgeDeletionBehavior.CASCADE_DELETE_INVALIDATE_CACHE_ONLY: {
191
- const canDeleteEvaluationResults = await Promise.all(entitiesForInboundEdge.map((entity) => canViewerDeleteInternalAsync(inboundEdge, entity, newCascadingDeleteCause, queryContext)));
187
+ const canDeleteEvaluationResults = await Promise.all(entitiesForInboundEdge.map((entity) => canViewerDeleteInternalAsync(inboundEdge, entity, { previousValue: null, cascadingDeleteCause: newCascadingDeleteCause }, queryContext)));
192
188
  const reducedEvaluationResult = reduceEvaluationResults(canDeleteEvaluationResults);
193
189
  if (!reducedEvaluationResult.allowed) {
194
190
  return reducedEvaluationResult;
@@ -197,7 +193,30 @@ async function canViewerDeleteInternalAsync(entityClass, sourceEntity, cascading
197
193
  }
198
194
  case EntityFieldDefinition_1.EntityEdgeDeletionBehavior.SET_NULL:
199
195
  case EntityFieldDefinition_1.EntityEdgeDeletionBehavior.SET_NULL_INVALIDATE_CACHE_ONLY: {
200
- const canUpdateEvaluationResults = await Promise.all(entitiesForInboundEdge.map((entity) => canViewerUpdateInternalAsync(inboundEdge, entity, newCascadingDeleteCause, queryContext)));
196
+ // create synthetic entities with the reference field set to null to properly evaluate
197
+ // privacy policy as it would be after the cascading SET NULL operation
198
+ const previousAndSyntheticEntitiesForInboundEdge = entitiesForInboundEdge.map((entity) => {
199
+ const entityLoader = viewerContext
200
+ .getViewerScopedEntityCompanionForClass(inboundEdge)
201
+ .getLoaderFactory()
202
+ .forLoad(queryContext, {
203
+ previousValue: entity,
204
+ cascadingDeleteCause: newCascadingDeleteCause,
205
+ });
206
+ const allFields = entity.getAllDatabaseFields();
207
+ const syntheticFields = {
208
+ ...allFields,
209
+ [fieldName]: null,
210
+ };
211
+ return {
212
+ previousValue: entity,
213
+ syntheticallyUpdatedValue: entityLoader.utils.constructEntity(syntheticFields),
214
+ };
215
+ });
216
+ const canUpdateEvaluationResults = await Promise.all(previousAndSyntheticEntitiesForInboundEdge.map(({ previousValue, syntheticallyUpdatedValue }) => canViewerUpdateInternalAsync(inboundEdge, syntheticallyUpdatedValue, {
217
+ previousValue,
218
+ cascadingDeleteCause: newCascadingDeleteCause,
219
+ }, queryContext)));
201
220
  const reducedEvaluationResult = reduceEvaluationResults(canUpdateEvaluationResults);
202
221
  if (!reducedEvaluationResult.allowed) {
203
222
  return reducedEvaluationResult;
@@ -1 +1 @@
1
- {"version":3,"file":"EntityPrivacyUtils.js","sourceRoot":"","sources":["../../../src/utils/EntityPrivacyUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityPrivacyUtils.js","sourceRoot":"","sources":["../../../src/utils/EntityPrivacyUtils.ts"],"names":[],"mappings":";;AA4CA,oDAoCC;AAWD,sEAmCC;AAmED,oDAoCC;AAWD,sEAmCC;AAnRD,2CAAoD;AAGpD,oEAGkC;AAKlC,gDAA+D;AAC/D,iFAA8E;AAe9E;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,oBAAoB,CAcxC,WAOC,EACD,YAAqB,EACrB,eAAmC,YAAY;KAC5C,gBAAgB,EAAE;KAClB,sCAAsC,CAAC,WAAW,CAAC;KACnD,uBAAuB,EAAE;KACzB,eAAe,EAAE;IAEpB,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAC/C,WAAW,EACX,YAAY,EACZ,EAAE,aAAa,EAAE,YAAY,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAC3D,YAAY,CACb,CAAC;IACF,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,6BAA6B,CAcjD,WAOC,EACD,YAAqB,EACrB,eAAmC,YAAY;KAC5C,gBAAgB,EAAE;KAClB,sCAAsC,CAAC,WAAW,CAAC;KACnD,uBAAuB,EAAE;KACzB,eAAe,EAAE;IAEpB,OAAO,MAAM,4BAA4B,CACvC,WAAW,EACX,YAAY,EACZ,EAAE,aAAa,EAAE,YAAY,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAC3D,YAAY,CACb,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,4BAA4B,CAczC,WAOC,EACD,YAAqB,EACrB,iBAMC,EACD,YAAgC;IAEhC,MAAM,SAAS,GAAG,YAAY;SAC3B,gBAAgB,EAAE;SAClB,sCAAsC,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,SAAS,CAAC,eAAe,CAAC,aAAa,CAAC;IAC9D,MAAM,gBAAgB,GAAG,MAAM,IAAA,qBAAW,EACxC,aAAa,CAAC,oBAAoB,CAChC,YAAY,CAAC,gBAAgB,EAAE,EAC/B,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,SAAS,CAAC,iBAAiB,EAAE,CAC9B,CACF,CAAC;IACF,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;QACzB,IAAI,gBAAgB,CAAC,MAAM,YAAY,mDAAwB,EAAE,CAAC;YAChE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,CAAC,MAAM,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,oBAAoB,CAcxC,WAOC,EACD,YAAqB,EACrB,eAAmC,YAAY;KAC5C,gBAAgB,EAAE;KAClB,sCAAsC,CAAC,WAAW,CAAC;KACnD,uBAAuB,EAAE;KACzB,eAAe,EAAE;IAEpB,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAC/C,WAAW,EACX,YAAY,EACZ,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EACnD,YAAY,CACb,CAAC;IACF,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,6BAA6B,CAcjD,WAOC,EACD,YAAqB,EACrB,eAAmC,YAAY;KAC5C,gBAAgB,EAAE;KAClB,sCAAsC,CAAC,WAAW,CAAC;KACnD,uBAAuB,EAAE;KACzB,eAAe,EAAE;IAEpB,OAAO,MAAM,4BAA4B,CACvC,WAAW,EACX,YAAY,EACZ,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EACnD,YAAY,CACb,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,4BAA4B,CAczC,WAOC,EACD,YAAqB,EACrB,iBAMC,EACD,YAAgC;IAEhC,MAAM,aAAa,GAAG,YAAY,CAAC,gBAAgB,EAAE,CAAC;IACtD,MAAM,uBAAuB,GAAG,aAAa,CAAC,uBAAuB,CAAC;IACtE,MAAM,qBAAqB,GAAG,YAAY;SACvC,gBAAgB,EAAE;SAClB,sCAAsC,CAAC,WAAW,CAAC,CAAC;IAEvD,MAAM,aAAa,GAAG,qBAAqB,CAAC,eAAe,CAAC,aAAa,CAAC;IAC1E,MAAM,gBAAgB,GAAG,MAAM,IAAA,qBAAW,EACxC,aAAa,CAAC,oBAAoB,CAChC,YAAY,CAAC,gBAAgB,EAAE,EAC/B,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,CAAC,iBAAiB,EAAE,CAC1C,CACF,CAAC;IACF,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;QACzB,IAAI,gBAAgB,CAAC,MAAM,YAAY,mDAAwB,EAAE,CAAC;YAChE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,CAAC,MAAM,CAAC;QAChC,CAAC;IACH,CAAC;IAED,MAAM,uBAAuB,GAAG;QAC9B,MAAM,EAAE,YAAY;QACpB,oBAAoB,EAAE,iBAAiB,CAAC,oBAAoB;KAC7D,CAAC;IAEF,oGAAoG;IACpG,6FAA6F;IAC7F,mFAAmF;IACnF,wFAAwF;IACxF,kDAAkD;IAClD,kFAAkF;IAClF,+FAA+F;IAC/F,mFAAmF;IAEnF,MAAM,mBAAmB,GACvB,qBAAqB,CAAC,eAAe,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;IACtF,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC;IAEtD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,2BAA2B,GAC/B,uBAAuB,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,yBAAyB;aACjF,mBAAmB,CAAC;QAEzB,MAAM,MAAM,GAAG,aAAa;aACzB,sCAAsC,CAAC,WAAW,CAAC;aACnD,gBAAgB,EAAE;aAClB,OAAO,CAAC,YAAY,EAAE;YACrB,aAAa,EAAE,IAAI;YACnB,oBAAoB,EAAE,uBAAuB;SAC9C,CAAC,CAAC;QAEL,KAAK,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,2BAA2B,CAAC,MAAM,EAAE,CAAC;YAC9E,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;YAChD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,SAAS;YACX,CAAC;YAED,MAAM,uBAAuB,GAAG,uBAAuB,CAAC,qBAAqB,CAC3E,WAAW,CAAC,qBAAqB,CAClC,CAAC,yBAAyB,CAAC,mBAAmB,CAAC;YAChD,IAAI,uBAAuB,KAAK,mBAAmB,EAAE,CAAC;gBACpD,SAAS;YACX,CAAC;YAED,MAAM,uCAAuC,GAC3C,WAAW,CAAC,0CAA0C,CAAC;YAEzD,IAAI,kCAAyF,CAAC;YAE9F,IACE,uCAAuC;gBACvC,wEAAgD,CAAC,eAAe,EAChE,CAAC;gBACD,MAAM,sCAAsC,GAC1C,MAAM,MAAM,CAAC,wCAAwC,CACnD;oBACE;wBACE,SAAS;wBACT,UAAU,EAAE,WAAW,CAAC,6BAA6B;4BACnD,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,6BAAoC,CAAC;4BACzE,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE;qBACzB;iBACF,EACD,EAAE,OAAO,EAAE,EAAE,EAAE,CAChB,CAAC;gBACJ,kCAAkC,GAAG,sCAAsC;oBACzE,CAAC,CAAC,CAAC,sCAAsC,CAAC;oBAC1C,CAAC,CAAC,EAAE,CAAC;YACT,CAAC;iBAAM,CAAC;gBACN,MAAM,2BAA2B,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAC3E,SAAS,EACT,WAAW,CAAC,6BAA6B;oBACvC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,6BAAoC,CAAC;oBACzE,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CACzB,CAAC;gBACF,kCAAkC,GAAG,2BAA2B,CAAC;YACnE,CAAC;YAED,MAAM,uBAAuB,GAAG,IAAA,2BAAa,EAAC,kCAAkC,CAAC,CAAC;YAClF,KAAK,MAAM,YAAY,IAAI,uBAAuB,EAAE,CAAC;gBACnD,IAAI,YAAY,CAAC,MAAM,YAAY,mDAAwB,EAAE,CAAC;oBAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxE,CAAC;qBAAM,CAAC;oBACN,MAAM,YAAY,CAAC,MAAM,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,iEAAiE;YACjE,MAAM,sBAAsB,GAAG,kCAAkC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1E,CAAC,CAAC,YAAY,EAAE,CACjB,CAAC;YAEF,QAAQ,WAAW,CAAC,oBAAoB,EAAE,CAAC;gBACzC,KAAK,kDAA0B,CAAC,cAAc,CAAC;gBAC/C,KAAK,kDAA0B,CAAC,oCAAoC,CAAC,CAAC,CAAC;oBACrE,MAAM,0BAA0B,GAAG,MAAM,OAAO,CAAC,GAAG,CAClD,sBAAsB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpC,4BAA4B,CAC1B,WAAW,EACX,MAAM,EACN,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,EACtE,YAAY,CACb,CACF,CACF,CAAC;oBAEF,MAAM,uBAAuB,GAAG,uBAAuB,CAAC,0BAA0B,CAAC,CAAC;oBACpF,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC;wBACrC,OAAO,uBAAuB,CAAC;oBACjC,CAAC;oBAED,MAAM;gBACR,CAAC;gBAED,KAAK,kDAA0B,CAAC,QAAQ,CAAC;gBACzC,KAAK,kDAA0B,CAAC,8BAA8B,CAAC,CAAC,CAAC;oBAC/D,sFAAsF;oBACtF,uEAAuE;oBACvE,MAAM,0CAA0C,GAAG,sBAAsB,CAAC,GAAG,CAC3E,CAAC,MAAM,EAAE,EAAE;wBACT,MAAM,YAAY,GAAG,aAAa;6BAC/B,sCAAsC,CAAC,WAAW,CAAC;6BACnD,gBAAgB,EAAE;6BAClB,OAAO,CAAC,YAAY,EAAE;4BACrB,aAAa,EAAE,MAAM;4BACrB,oBAAoB,EAAE,uBAAuB;yBAC9C,CAAC,CAAC;wBAEL,MAAM,SAAS,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;wBAChD,MAAM,eAAe,GAAG;4BACtB,GAAG,SAAS;4BACZ,CAAC,SAAS,CAAC,EAAE,IAAI;yBAClB,CAAC;wBAEF,OAAO;4BACL,aAAa,EAAE,MAAM;4BACrB,yBAAyB,EAAE,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,eAAe,CAAC;yBAC/E,CAAC;oBACJ,CAAC,CACF,CAAC;oBAEF,MAAM,0BAA0B,GAAG,MAAM,OAAO,CAAC,GAAG,CAClD,0CAA0C,CAAC,GAAG,CAC5C,CAAC,EAAE,aAAa,EAAE,yBAAyB,EAAE,EAAE,EAAE,CAC/C,4BAA4B,CAC1B,WAAW,EACX,yBAAyB,EACzB;wBACE,aAAa;wBACb,oBAAoB,EAAE,uBAAuB;qBAC9C,EACD,YAAY,CACb,CACJ,CACF,CAAC;oBAEF,MAAM,uBAAuB,GAAG,uBAAuB,CAAC,0BAA0B,CAAC,CAAC;oBACpF,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC;wBACrC,OAAO,uBAAuB,CAAC;oBACjC,CAAC;oBAED,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,uBAAuB,CAC9B,iBAAkD;IAElD,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,GAAG,IAAA,4BAAc,EAGrD,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAErE,IAAI,cAAc,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACvD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,mBAAmB,EAAE,cAAc,CAAC,OAAO,CACzC,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,mBAAmB,CACrD;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/entity",
3
- "version": "0.53.0",
3
+ "version": "0.54.0",
4
4
  "description": "A privacy-first data model",
5
5
  "files": [
6
6
  "build",
@@ -29,20 +29,17 @@
29
29
  "dependencies": {
30
30
  "@expo/results": "^1.0.0",
31
31
  "dataloader": "^2.2.3",
32
- "es6-error": "^4.1.1",
33
32
  "invariant": "^2.2.4"
34
33
  },
35
34
  "devDependencies": {
36
- "@jest/globals": "^30.2.0",
37
- "@types/invariant": "^2.2.37",
38
- "@types/lodash": "^4.17.20",
39
- "@types/node": "^24.10.2",
40
- "@types/uuid": "^8.3.0",
41
- "lodash": "^4.17.21",
42
- "ts-mockito": "^2.6.1",
43
- "typescript": "^5.9.3",
44
- "uuid": "^8.3.0",
45
- "uuidv7": "^1.0.0"
35
+ "@jest/globals": "30.2.0",
36
+ "@types/invariant": "2.2.37",
37
+ "@types/lodash": "4.17.23",
38
+ "@types/node": "24.10.9",
39
+ "lodash": "4.17.21",
40
+ "ts-mockito": "2.6.1",
41
+ "typescript": "5.9.3",
42
+ "uuid": "13.0.0"
46
43
  },
47
- "gitHead": "833e2e8c55fca79fd78692a37116756a017166e4"
44
+ "gitHead": "283c02eedbd4f5721afad96f31ada85bf92afb41"
48
45
  }
@@ -10,8 +10,7 @@ import { CacheLoadResult, CacheStatus } from './internal/ReadThroughEntityCache'
10
10
  export class ComposedEntityCacheAdapter<
11
11
  TFields extends Record<string, any>,
12
12
  TIDField extends keyof TFields,
13
- > implements IEntityCacheAdapter<TFields, TIDField>
14
- {
13
+ > implements IEntityCacheAdapter<TFields, TIDField> {
15
14
  /**
16
15
  * @param cacheAdapters - list of cache adapters to compose in order of precedence.
17
16
  * Earlier cache adapters are read from first and written to (including invalidations) last.
@@ -5,9 +5,10 @@ import { ISecondaryEntityCache } from './EntitySecondaryCacheLoader';
5
5
  /**
6
6
  * A ISecondaryEntityCache that composes other ISecondaryEntityCache instances.
7
7
  */
8
- export class ComposedSecondaryEntityCache<TLoadParams, TFields extends Record<string, any>>
9
- implements ISecondaryEntityCache<TFields, TLoadParams>
10
- {
8
+ export class ComposedSecondaryEntityCache<
9
+ TLoadParams,
10
+ TFields extends Record<string, any>,
11
+ > implements ISecondaryEntityCache<TFields, TLoadParams> {
11
12
  /**
12
13
  * @param secondaryEntityCaches - list of caches to compose in order of precedence.
13
14
  * Earlier caches are read from first and written to (including invalidations) last.
@@ -114,8 +114,9 @@ export interface QuerySelectionModifiers<TFields extends Record<string, any>> {
114
114
  limit?: number;
115
115
  }
116
116
 
117
- export interface QuerySelectionModifiersWithOrderByRaw<TFields extends Record<string, any>>
118
- extends QuerySelectionModifiers<TFields> {
117
+ export interface QuerySelectionModifiersWithOrderByRaw<
118
+ TFields extends Record<string, any>,
119
+ > extends QuerySelectionModifiers<TFields> {
119
120
  /**
120
121
  * Order the entities by a raw SQL `ORDER BY` clause.
121
122
  */
@@ -147,8 +147,7 @@ export interface EntityFieldDefinitionOptionsBase {
147
147
  association?: EntityAssociationDefinition<any, any, any, any, any, any>;
148
148
  }
149
149
 
150
- export interface EntityFieldDefinitionOptionsExplicitCache
151
- extends EntityFieldDefinitionOptionsBase {
150
+ export interface EntityFieldDefinitionOptionsExplicitCache extends EntityFieldDefinitionOptionsBase {
152
151
  /**
153
152
  * Whether or not to cache loaded instances of the entity by this field. The column name is
154
153
  * used to derive a cache key for the cache entry. If true, this column must be able uniquely
@@ -61,29 +61,26 @@ export class EntityLoaderUtils<
61
61
  objectFields: Readonly<TFields>,
62
62
  ): readonly LoadPair<TFields, TIDField, any, any, any>[] {
63
63
  const keys = Object.keys(objectFields) as (keyof TFields)[];
64
- const singleFieldKeyValues = keys
65
- .map((fieldName: keyof TFields) => {
66
- const value = objectFields[fieldName];
67
- if (value === undefined || value === null) {
68
- return null;
69
- }
70
- return [
64
+ const singleFieldKeyValues: LoadPair<TFields, TIDField, any, any, any>[] = [];
65
+ for (const fieldName of keys) {
66
+ const value = objectFields[fieldName];
67
+ if (value !== undefined && value !== null) {
68
+ singleFieldKeyValues.push([
71
69
  new SingleFieldHolder<TFields, TIDField, typeof fieldName>(fieldName),
72
70
  new SingleFieldValueHolder(value),
73
- ] as const;
74
- })
75
- .filter((kv) => kv !== null);
71
+ ]);
72
+ }
73
+ }
74
+
75
+ const compositeFieldKeyValues: LoadPair<TFields, TIDField, any, any, any>[] = [];
76
+ for (const compositeFieldHolder of this.entityConfiguration.compositeFieldInfo.getAllCompositeFieldHolders()) {
77
+ const compositeFieldValueHolder =
78
+ compositeFieldHolder.extractCompositeFieldValueHolderFromObjectFields(objectFields);
79
+ if (compositeFieldValueHolder) {
80
+ compositeFieldKeyValues.push([compositeFieldHolder, compositeFieldValueHolder]);
81
+ }
82
+ }
76
83
 
77
- const compositeFieldKeyValues = this.entityConfiguration.compositeFieldInfo
78
- .getAllCompositeFieldHolders()
79
- .map((compositeFieldHolder) => {
80
- const compositeFieldValueHolder =
81
- compositeFieldHolder.extractCompositeFieldValueHolderFromObjectFields(objectFields);
82
- return compositeFieldValueHolder
83
- ? ([compositeFieldHolder, compositeFieldValueHolder] as const)
84
- : null;
85
- })
86
- .filter((kv) => kv !== null);
87
84
  return [...singleFieldKeyValues, ...compositeFieldKeyValues];
88
85
  }
89
86
 
@@ -12,8 +12,7 @@ import { mapKeys } from './utils/collections/maps';
12
12
  export class GenericEntityCacheAdapter<
13
13
  TFields extends Record<string, any>,
14
14
  TIDField extends keyof TFields,
15
- > implements IEntityCacheAdapter<TFields, TIDField>
16
- {
15
+ > implements IEntityCacheAdapter<TFields, TIDField> {
17
16
  constructor(private readonly genericCacher: IEntityGenericCacher<TFields, TIDField>) {}
18
17
 
19
18
  public async loadManyAsync<
@@ -14,8 +14,7 @@ export abstract class GenericSecondaryEntityCache<
14
14
  TFields extends Record<string, any>,
15
15
  TIDField extends keyof TFields,
16
16
  TLoadParams,
17
- > implements ISecondaryEntityCache<TFields, TLoadParams>
18
- {
17
+ > implements ISecondaryEntityCache<TFields, TLoadParams> {
19
18
  constructor(
20
19
  protected readonly cacher: IEntityGenericCacher<TFields, TIDField>,
21
20
  protected readonly constructCacheKey: (params: Readonly<TLoadParams>) => string,
@@ -27,9 +27,10 @@ type LocalMemoryCacheValue<TFields extends Record<string, any>> =
27
27
  | Readonly<TFields>
28
28
  | typeof DOES_NOT_EXIST_LOCAL_MEMORY_CACHE;
29
29
 
30
- class TestLocalCacheAdapter<TFields extends Record<string, any>, TIDField extends keyof TFields>
31
- implements IEntityCacheAdapter<TFields, TIDField>
32
- {
30
+ class TestLocalCacheAdapter<
31
+ TFields extends Record<string, any>,
32
+ TIDField extends keyof TFields,
33
+ > implements IEntityCacheAdapter<TFields, TIDField> {
33
34
  constructor(
34
35
  private readonly entityConfiguration: EntityConfiguration<TFields, TIDField>,
35
36
  private readonly cache: Map<string, LocalMemoryCacheValue<TFields>>,
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it, test } from '@jest/globals';
2
- import { v1 as uuidv1, v3 as uuidv3, v4 as uuidv4, v5 as uuidv5 } from 'uuid';
2
+ import { v1 as uuidv1, v3 as uuidv3, v4 as uuidv4, v5 as uuidv5, v7 as uuidv7 } from 'uuid';
3
3
 
4
4
  import { EntityFieldDefinition } from '../EntityFieldDefinition';
5
5
  import {
@@ -58,13 +58,7 @@ describe(EntityFieldDefinition, () => {
58
58
  describeFieldTestCase(new StringField({ columnName: 'wat' }), ['hello', ''], [1, true, {}, [[]]]);
59
59
  describeFieldTestCase(
60
60
  new UUIDField({ columnName: 'wat' }),
61
- [
62
- uuidv1(),
63
- uuidv3('wat', uuidv3.DNS),
64
- uuidv4(),
65
- uuidv5('wat', uuidv5.DNS),
66
- /* UUIDv7 */ '018ebfda-dc80-782d-a891-22a0aa057d52',
67
- ],
61
+ [uuidv1(), uuidv3('wat', uuidv3.DNS), uuidv4(), uuidv5('wat', uuidv5.DNS), uuidv7()],
68
62
  [uuidv4().replace('-', ''), '', 'hello', uuidv4().toUpperCase()],
69
63
  );
70
64
  describeFieldTestCase(new DateField({ columnName: 'wat' }), [new Date()], [Date.now()]);
@@ -115,8 +115,11 @@ export const pick = <T extends object, U extends keyof T>(
115
115
  object: T,
116
116
  props: readonly U[],
117
117
  ): Pick<T, U> => {
118
- const propsSet = new Set(props);
119
- return Object.fromEntries(
120
- Object.entries(object).filter((entry) => propsSet.has(entry[0] as any)),
121
- ) as any;
118
+ const result = {} as Pick<T, U>;
119
+ for (const prop of props) {
120
+ if (object.hasOwnProperty(prop)) {
121
+ result[prop] = object[prop];
122
+ }
123
+ }
124
+ return result;
122
125
  };
@@ -3,13 +3,26 @@ import { EntityError, EntityErrorCode, EntityErrorState } from './EntityError';
3
3
  /**
4
4
  * Base class for errors thrown by the entity cache adapter.
5
5
  */
6
- export abstract class EntityCacheAdapterError extends EntityError {}
6
+ export abstract class EntityCacheAdapterError extends EntityError {
7
+ static {
8
+ this.prototype.name = 'EntityCacheAdapterError';
9
+ }
10
+ }
7
11
 
8
12
  /**
9
13
  * Error thrown when a transient error occurs in the entity cache adapter.
10
14
  * Transient errors may succeed if retried.
11
15
  */
12
16
  export class EntityCacheAdapterTransientError extends EntityCacheAdapterError {
13
- public readonly state = EntityErrorState.TRANSIENT;
14
- public readonly code = EntityErrorCode.ERR_ENTITY_CACHE_ADAPTER_TRANSIENT;
17
+ static {
18
+ this.prototype.name = 'EntityCacheAdapterTransientError';
19
+ }
20
+
21
+ get state(): EntityErrorState.TRANSIENT {
22
+ return EntityErrorState.TRANSIENT;
23
+ }
24
+
25
+ get code(): EntityErrorCode.ERR_ENTITY_CACHE_ADAPTER_TRANSIENT {
26
+ return EntityErrorCode.ERR_ENTITY_CACHE_ADAPTER_TRANSIENT;
27
+ }
15
28
  }