joist-core 2.1.0 → 2.2.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 (160) hide show
  1. package/build/ConditionBuilder.d.ts +1 -22
  2. package/build/ConditionBuilder.d.ts.map +1 -1
  3. package/build/ConditionBuilder.js +6 -72
  4. package/build/ConditionBuilder.js.map +1 -1
  5. package/build/EntityFilter.d.ts +2 -0
  6. package/build/EntityFilter.d.ts.map +1 -1
  7. package/build/EntityGraphQLFilter.d.ts +2 -0
  8. package/build/EntityGraphQLFilter.d.ts.map +1 -1
  9. package/build/EntityGraphQLFilter.js.map +1 -1
  10. package/build/EntityManager.d.ts +5 -0
  11. package/build/EntityManager.d.ts.map +1 -1
  12. package/build/EntityManager.js +59 -29
  13. package/build/EntityManager.js.map +1 -1
  14. package/build/EntityMetadata.d.ts +2 -0
  15. package/build/EntityMetadata.d.ts.map +1 -1
  16. package/build/EntityMetadata.js.map +1 -1
  17. package/build/InstanceData.d.ts +7 -1
  18. package/build/InstanceData.d.ts.map +1 -1
  19. package/build/InstanceData.js +36 -7
  20. package/build/InstanceData.js.map +1 -1
  21. package/build/IsLoadedCache.d.ts +1 -1
  22. package/build/IsLoadedCache.d.ts.map +1 -1
  23. package/build/IsLoadedCache.js +6 -1
  24. package/build/IsLoadedCache.js.map +1 -1
  25. package/build/JoinRows.d.ts +1 -1
  26. package/build/JoinRows.js +6 -1
  27. package/build/JoinRows.js.map +1 -1
  28. package/build/PluginManager.d.ts +12 -0
  29. package/build/PluginManager.d.ts.map +1 -1
  30. package/build/PluginManager.js +18 -2
  31. package/build/PluginManager.js.map +1 -1
  32. package/build/QueryParser.collectionJoins.d.ts +27 -0
  33. package/build/QueryParser.collectionJoins.d.ts.map +1 -0
  34. package/build/QueryParser.collectionJoins.js +460 -0
  35. package/build/QueryParser.collectionJoins.js.map +1 -0
  36. package/build/QueryParser.collectionJoins.test.d.ts +2 -0
  37. package/build/QueryParser.collectionJoins.test.d.ts.map +1 -0
  38. package/build/QueryParser.collectionJoins.test.js +772 -0
  39. package/build/QueryParser.collectionJoins.test.js.map +1 -0
  40. package/build/QueryParser.d.ts +62 -9
  41. package/build/QueryParser.d.ts.map +1 -1
  42. package/build/QueryParser.js +39 -33
  43. package/build/QueryParser.js.map +1 -1
  44. package/build/QueryParser.pruning.d.ts +4 -2
  45. package/build/QueryParser.pruning.d.ts.map +1 -1
  46. package/build/QueryParser.pruning.js +80 -10
  47. package/build/QueryParser.pruning.js.map +1 -1
  48. package/build/QueryParser.pruning.test.d.ts +2 -0
  49. package/build/QueryParser.pruning.test.d.ts.map +1 -0
  50. package/build/QueryParser.pruning.test.js +106 -0
  51. package/build/QueryParser.pruning.test.js.map +1 -0
  52. package/build/QueryVisitor.d.ts.map +1 -1
  53. package/build/QueryVisitor.js +22 -0
  54. package/build/QueryVisitor.js.map +1 -1
  55. package/build/ReactionsManager.js +2 -2
  56. package/build/batchloaders/BatchLoader.d.ts.map +1 -1
  57. package/build/batchloaders/BatchLoader.js +4 -1
  58. package/build/batchloaders/BatchLoader.js.map +1 -1
  59. package/build/batchloaders/manyToManyBatchLoader.js +3 -1
  60. package/build/batchloaders/manyToManyBatchLoader.js.map +1 -1
  61. package/build/batchloaders/recursiveM2mBatchLoader.d.ts.map +1 -1
  62. package/build/batchloaders/recursiveM2mBatchLoader.js +3 -1
  63. package/build/batchloaders/recursiveM2mBatchLoader.js.map +1 -1
  64. package/build/changes.d.ts.map +1 -1
  65. package/build/changes.js +1 -4
  66. package/build/changes.js.map +1 -1
  67. package/build/config.d.ts.map +1 -1
  68. package/build/config.js +18 -10
  69. package/build/config.js.map +1 -1
  70. package/build/configure.js +2 -2
  71. package/build/dataloaders/findCountDataLoader.js +2 -2
  72. package/build/dataloaders/findCountDataLoader.js.map +1 -1
  73. package/build/dataloaders/findDataLoader.d.ts.map +1 -1
  74. package/build/dataloaders/findDataLoader.js +0 -7
  75. package/build/dataloaders/findDataLoader.js.map +1 -1
  76. package/build/dataloaders/findIdsDataLoader.js +2 -2
  77. package/build/dataloaders/findIdsDataLoader.js.map +1 -1
  78. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +1 -1
  79. package/build/dataloaders/findOrCreateDataLoader.js +6 -1
  80. package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
  81. package/build/defaults.d.ts.map +1 -1
  82. package/build/defaults.js +49 -42
  83. package/build/defaults.js.map +1 -1
  84. package/build/drivers/buildRawQuery.d.ts.map +1 -1
  85. package/build/drivers/buildRawQuery.js +3 -2
  86. package/build/drivers/buildRawQuery.js.map +1 -1
  87. package/build/drivers/buildUtils.d.ts +7 -2
  88. package/build/drivers/buildUtils.d.ts.map +1 -1
  89. package/build/drivers/buildUtils.js +14 -5
  90. package/build/drivers/buildUtils.js.map +1 -1
  91. package/build/fields.d.ts.map +1 -1
  92. package/build/fields.js +16 -7
  93. package/build/fields.js.map +1 -1
  94. package/build/index.d.ts +2 -1
  95. package/build/index.d.ts.map +1 -1
  96. package/build/index.js +7 -5
  97. package/build/index.js.map +1 -1
  98. package/build/json.d.ts +3 -3
  99. package/build/json.d.ts.map +1 -1
  100. package/build/json.js +4 -4
  101. package/build/json.js.map +1 -1
  102. package/build/loadHints.d.ts +4 -4
  103. package/build/loadHints.d.ts.map +1 -1
  104. package/build/loadLens.js +1 -1
  105. package/build/loadLens.js.map +1 -1
  106. package/build/preloading/JsonAggregatePreloader.js +6 -2
  107. package/build/preloading/JsonAggregatePreloader.js.map +1 -1
  108. package/build/reactiveHints.d.ts +24 -7
  109. package/build/reactiveHints.d.ts.map +1 -1
  110. package/build/reactiveHints.js +45 -28
  111. package/build/reactiveHints.js.map +1 -1
  112. package/build/relations/AbstractRelationImpl.d.ts +7 -2
  113. package/build/relations/AbstractRelationImpl.d.ts.map +1 -1
  114. package/build/relations/AbstractRelationImpl.js.map +1 -1
  115. package/build/relations/AsyncProperty.d.ts +36 -0
  116. package/build/relations/AsyncProperty.d.ts.map +1 -0
  117. package/build/relations/AsyncProperty.js +80 -0
  118. package/build/relations/AsyncProperty.js.map +1 -0
  119. package/build/relations/{ReactiveQueryField.d.ts → AsyncReactiveField.d.ts} +10 -10
  120. package/build/relations/AsyncReactiveField.d.ts.map +1 -0
  121. package/build/relations/{ReactiveQueryField.js → AsyncReactiveField.js} +19 -19
  122. package/build/relations/{ReactiveQueryField.js.map → AsyncReactiveField.js.map} +1 -1
  123. package/build/relations/ReactiveField.d.ts +7 -9
  124. package/build/relations/ReactiveField.d.ts.map +1 -1
  125. package/build/relations/ReactiveField.js +5 -10
  126. package/build/relations/ReactiveField.js.map +1 -1
  127. package/build/relations/ReactiveGetter.d.ts +5 -5
  128. package/build/relations/ReactiveGetter.d.ts.map +1 -1
  129. package/build/relations/ReactiveGetter.js +3 -3
  130. package/build/relations/ReactiveGetter.js.map +1 -1
  131. package/build/relations/ReactiveReference.d.ts +2 -2
  132. package/build/relations/ReactiveReference.d.ts.map +1 -1
  133. package/build/relations/ReactiveReference.js +100 -36
  134. package/build/relations/ReactiveReference.js.map +1 -1
  135. package/build/relations/{hasAsyncProperty.d.ts → hasProperty.d.ts} +12 -12
  136. package/build/relations/hasProperty.d.ts.map +1 -0
  137. package/build/relations/{hasAsyncProperty.js → hasProperty.js} +20 -20
  138. package/build/relations/hasProperty.js.map +1 -0
  139. package/build/relations/index.d.ts +3 -2
  140. package/build/relations/index.d.ts.map +1 -1
  141. package/build/relations/index.js +16 -11
  142. package/build/relations/index.js.map +1 -1
  143. package/build/resurrection.d.ts +10 -0
  144. package/build/resurrection.d.ts.map +1 -0
  145. package/build/resurrection.js +93 -0
  146. package/build/resurrection.js.map +1 -0
  147. package/build/rules.js +3 -3
  148. package/build/trusted.d.ts +1 -1
  149. package/build/trusted.d.ts.map +1 -1
  150. package/build/trusted.js +1 -1
  151. package/build/trusted.js.map +1 -1
  152. package/build/upsert.d.ts.map +1 -1
  153. package/build/upsert.js +26 -10
  154. package/build/upsert.js.map +1 -1
  155. package/build/withLoaded.js +5 -5
  156. package/build/withLoaded.js.map +1 -1
  157. package/package.json +9 -9
  158. package/build/relations/ReactiveQueryField.d.ts.map +0 -1
  159. package/build/relations/hasAsyncProperty.d.ts.map +0 -1
  160. package/build/relations/hasAsyncProperty.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReactiveQueryFieldImpl = void 0;
4
- exports.hasReactiveQueryField = hasReactiveQueryField;
5
- exports.isReactiveQueryField = isReactiveQueryField;
6
- exports.isLoadedReactiveQueryField = isLoadedReactiveQueryField;
3
+ exports.AsyncReactiveFieldImpl = void 0;
4
+ exports.hasAsyncReactiveField = hasAsyncReactiveField;
5
+ exports.isAsyncReactiveField = isAsyncReactiveField;
6
+ exports.isLoadedAsyncReactiveField = isLoadedAsyncReactiveField;
7
7
  const EntityMetadata_1 = require("../EntityMetadata");
8
8
  const fields_1 = require("../fields");
9
9
  const index_1 = require("../index");
@@ -11,9 +11,9 @@ const newEntity_1 = require("../newEntity");
11
11
  const reactiveHints_1 = require("../reactiveHints");
12
12
  const utils_1 = require("../utils");
13
13
  const AbstractPropertyImpl_1 = require("./AbstractPropertyImpl");
14
- const hasAsyncProperty_1 = require("./hasAsyncProperty");
14
+ const hasProperty_1 = require("./hasProperty");
15
15
  /**
16
- * A `ReactiveQueryField` is a value that is derived from a SQL query, similar to
16
+ * An `AsyncReactiveField` is a value that is derived from a SQL query, similar to
17
17
  * a `ReactiveField`, but when the value needs to be calculated from SQL because
18
18
  * it would be too expensive to calculate in-memory.
19
19
  *
@@ -21,12 +21,12 @@ const hasAsyncProperty_1 = require("./hasAsyncProperty");
21
21
  * `dbHint` reactive hints have changed, but only the `paramHint`'s data will be pulled
22
22
  * into memory.
23
23
  */
24
- function hasReactiveQueryField(paramHint, dbHint, fn) {
24
+ function hasAsyncReactiveField(paramHint, dbHint, fn) {
25
25
  return (0, newEntity_1.lazyField)((entity, fieldName) => {
26
- return new ReactiveQueryFieldImpl(entity, fieldName, paramHint, dbHint, fn);
26
+ return new AsyncReactiveFieldImpl(entity, fieldName, paramHint, dbHint, fn);
27
27
  });
28
28
  }
29
- class ReactiveQueryFieldImpl extends AbstractPropertyImpl_1.AbstractPropertyImpl {
29
+ class AsyncReactiveFieldImpl extends AbstractPropertyImpl_1.AbstractPropertyImpl {
30
30
  fieldName;
31
31
  paramHint;
32
32
  dbHint;
@@ -80,7 +80,7 @@ class ReactiveQueryFieldImpl extends AbstractPropertyImpl_1.AbstractPropertyImpl
80
80
  /** Returns the previously-calculated value. */
81
81
  get get() {
82
82
  // Regular ReactiveFields repeatedly call their `fn` lambda to calculate the value, to ensure
83
- // they always return the latest/correct value, but because ReactiveQueryFields are fundamentally
83
+ // they always return the latest/correct value, but because AsyncReactiveFields are fundamentally
84
84
  // calculated from DB queries, we can only return the previously-calculated value, if set.
85
85
  if (this.isSet) {
86
86
  return this.fieldValue;
@@ -111,15 +111,15 @@ class ReactiveQueryFieldImpl extends AbstractPropertyImpl_1.AbstractPropertyImpl
111
111
  this.#useFactoryValue = true;
112
112
  (0, fields_1.setField)(this.entity, this.fieldName, newValue);
113
113
  }
114
- [hasAsyncProperty_1.AsyncPropertyT] = undefined;
114
+ [hasProperty_1.PropertyT] = undefined;
115
115
  }
116
- exports.ReactiveQueryFieldImpl = ReactiveQueryFieldImpl;
117
- /** Type guard utility for determining if an entity field is an ReactiveQueryField. */
118
- function isReactiveQueryField(maybe) {
119
- return maybe instanceof ReactiveQueryFieldImpl;
116
+ exports.AsyncReactiveFieldImpl = AsyncReactiveFieldImpl;
117
+ /** Type guard utility for determining if an entity field is an AsyncReactiveField. */
118
+ function isAsyncReactiveField(maybe) {
119
+ return maybe instanceof AsyncReactiveFieldImpl;
120
120
  }
121
- /** Type guard utility for determining if an entity field is a loaded ReactiveQueryField. */
122
- function isLoadedReactiveQueryField(maybe) {
123
- return isReactiveQueryField(maybe) && maybe.isLoaded;
121
+ /** Type guard utility for determining if an entity field is a loaded AsyncReactiveField. */
122
+ function isLoadedAsyncReactiveField(maybe) {
123
+ return isAsyncReactiveField(maybe) && maybe.isLoaded;
124
124
  }
125
- //# sourceMappingURL=ReactiveQueryField.js.map
125
+ //# sourceMappingURL=AsyncReactiveField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveQueryField.js","sourceRoot":"","sources":["../../src/relations/ReactiveQueryField.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AsyncReactiveField.js","sourceRoot":"","sources":["../../src/relations/AsyncReactiveField.ts"],"names":[],"mappings":"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"}
@@ -3,22 +3,22 @@ import { PrimitiveField } from "../EntityMetadata";
3
3
  import { IsLoadedCachable } from "../IsLoadedCache";
4
4
  import { Reacted, ReactiveHint } from "../reactiveHints";
5
5
  import { AbstractPropertyImpl } from "./AbstractPropertyImpl";
6
- import { AsyncPropertyT } from "./hasAsyncProperty";
6
+ import { PropertyT } from "./hasProperty";
7
7
  /**
8
8
  * A `ReactiveField` is a value that is derived from other entities/values,
9
- * similar to an `AsyncProperty`, but it is also persisted in the database.
9
+ * similar to a `Property`, but it is also persisted in the database.
10
10
  *
11
11
  * This allows callers (or SQL queries) to access the value without first calling
12
12
  * `await load()` on the property.
13
13
  *
14
- * So, unlike `AsyncProperty`, `.get` is always available; if the property is unloaded,
14
+ * So, unlike `Property`, `.get` is always available; if the property is unloaded,
15
15
  * then `.get` will return the last-calculated value, but if the property is loaded,
16
16
  * then it will go ahead and invoke function to calculate the latest value (i.e. so
17
17
  * that you can observe the latest & greatest value w/o waiting for `em.flush` to
18
18
  * re-calc the value while persisting to the database.
19
19
  */
20
20
  export interface ReactiveField<T extends Entity, V> {
21
- [AsyncPropertyT]: T;
21
+ [PropertyT]: T;
22
22
  isLoaded: boolean;
23
23
  isSet: boolean;
24
24
  /**
@@ -77,11 +77,9 @@ export declare class ReactiveFieldImpl<T extends Entity, H extends ReactiveHint<
77
77
  resetIsLoaded(): void;
78
78
  get loadHint(): any;
79
79
  setFactoryValue(newValue: any): void;
80
- [AsyncPropertyT]: T;
80
+ [PropertyT]: T;
81
81
  private resetCacheUnlessFactoryPinned;
82
82
  }
83
- /** Type guard utility for determining if an entity field is an AsyncProperty. */
84
- export declare function isReactiveField(maybeAsyncProperty: any): maybeAsyncProperty is ReactiveField<any, any>;
85
- /** Type guard utility for determining if an entity field is a loaded AsyncProperty. */
86
- export declare function isLoadedAsyncProperty(maybeAsyncProperty: any): maybeAsyncProperty is ReactiveField<any, any>;
83
+ /** Type guard utility for determining if an entity field is a ReactiveField. */
84
+ export declare function isReactiveField(maybeReactiveField: any): maybeReactiveField is ReactiveField<any, any>;
87
85
  //# sourceMappingURL=ReactiveField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveField.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAe,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAqB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IAChD,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IAEf;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEnD,yGAAyG;IACzG,GAAG,EAAE,CAAC,CAAC;IAEP;;;;;;SAMK;IACL,UAAU,EAAE,CAAC,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EACnF,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAC/B,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAKrB;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAC3E,SAAQ,oBAAoB,CAAC,CAAC,CAC9B,YAAW,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB;;IAa9C,OAAO,CAAC,EAAE;gBAHV,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,CAAC,EACP,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;IAOpC,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IA2BxD,iHAAiH;IACjH,IAAI,GAAG,IAAI,CAAC,CAwBX;IAED,IAAI,SAAS,IAAI,MAAM,CAAC,GAAG,MAAM,CAEhC;IAED,IAAI,YAAY,IAAI,CAAC,CAEpB;IAED,IAAI,UAAU,IAAI,CAAC,CAElB;IAED,IAAI,KAAK,YAER;IAED,IAAI,QAAQ,YAMX;IAED,aAAa,IAAI,IAAI;IAOrB,IAAI,QAAQ,IAAI,GAAG,CAGlB;IAED,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI;IAKpC,CAAC,cAAc,CAAC,EAAuB,CAAC,CAAC;IAEzC,OAAO,CAAC,6BAA6B;CAKtC;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,kBAAkB,EAAE,GAAG,GAAG,kBAAkB,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAEtG;AAED,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,kBAAkB,EAAE,GAAG,GAAG,kBAAkB,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAE5G"}
1
+ {"version":3,"file":"ReactiveField.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveField.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAe,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAqB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IAChD,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IAEf;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEnD,yGAAyG;IACzG,GAAG,EAAE,CAAC,CAAC;IAEP;;;;;;SAMK;IACL,UAAU,EAAE,CAAC,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EACnF,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAC/B,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAKrB;AAED,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAC3E,SAAQ,oBAAoB,CAAC,CAAC,CAC9B,YAAW,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB;;IAa9C,OAAO,CAAC,EAAE;gBAHV,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,CAAC,EACP,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;IAOpC,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IA2BxD,iHAAiH;IACjH,IAAI,GAAG,IAAI,CAAC,CAwBX;IAED,IAAI,SAAS,IAAI,MAAM,CAAC,GAAG,MAAM,CAEhC;IAED,IAAI,YAAY,IAAI,CAAC,CAEpB;IAED,IAAI,UAAU,IAAI,CAAC,CAElB;IAED,IAAI,KAAK,YAER;IAED,IAAI,QAAQ,YAMX;IAED,aAAa,IAAI,IAAI;IAOrB,IAAI,QAAQ,IAAI,GAAG,CAGlB;IAED,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI;IAKpC,CAAC,SAAS,CAAC,EAAuB,CAAC,CAAC;IAEpC,OAAO,CAAC,6BAA6B;CAKtC;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,kBAAkB,EAAE,GAAG,GAAG,kBAAkB,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAEtG"}
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ReactiveFieldImpl = void 0;
4
4
  exports.hasReactiveField = hasReactiveField;
5
5
  exports.isReactiveField = isReactiveField;
6
- exports.isLoadedAsyncProperty = isLoadedAsyncProperty;
7
6
  const EntityManager_1 = require("../EntityManager");
8
7
  const EntityMetadata_1 = require("../EntityMetadata");
9
8
  const fields_1 = require("../fields");
@@ -11,7 +10,7 @@ const index_1 = require("../index");
11
10
  const newEntity_1 = require("../newEntity");
12
11
  const reactiveHints_1 = require("../reactiveHints");
13
12
  const AbstractPropertyImpl_1 = require("./AbstractPropertyImpl");
14
- const hasAsyncProperty_1 = require("./hasAsyncProperty");
13
+ const hasProperty_1 = require("./hasProperty");
15
14
  /**
16
15
  * Creates a calculated derived value from a load hint + lambda.
17
16
  *
@@ -129,7 +128,7 @@ class ReactiveFieldImpl extends AbstractPropertyImpl_1.AbstractPropertyImpl {
129
128
  (0, fields_1.setField)(this.entity, this.fieldName, newValue);
130
129
  this.#isCached = "factory-value";
131
130
  }
132
- [hasAsyncProperty_1.AsyncPropertyT] = undefined;
131
+ [hasProperty_1.PropertyT] = undefined;
133
132
  resetCacheUnlessFactoryPinned() {
134
133
  // If factories asked for a hard-coded value, don't reset the cached flag
135
134
  if (this.#isCached === "factory-value")
@@ -138,12 +137,8 @@ class ReactiveFieldImpl extends AbstractPropertyImpl_1.AbstractPropertyImpl {
138
137
  }
139
138
  }
140
139
  exports.ReactiveFieldImpl = ReactiveFieldImpl;
141
- /** Type guard utility for determining if an entity field is an AsyncProperty. */
142
- function isReactiveField(maybeAsyncProperty) {
143
- return maybeAsyncProperty instanceof ReactiveFieldImpl;
144
- }
145
- /** Type guard utility for determining if an entity field is a loaded AsyncProperty. */
146
- function isLoadedAsyncProperty(maybeAsyncProperty) {
147
- return isReactiveField(maybeAsyncProperty) && maybeAsyncProperty.isLoaded;
140
+ /** Type guard utility for determining if an entity field is a ReactiveField. */
141
+ function isReactiveField(maybeReactiveField) {
142
+ return maybeReactiveField instanceof ReactiveFieldImpl;
148
143
  }
149
144
  //# sourceMappingURL=ReactiveField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveField.js","sourceRoot":"","sources":["../../src/relations/ReactiveField.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactiveField.js","sourceRoot":"","sources":["../../src/relations/ReactiveField.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { Entity } from "../Entity";
2
2
  import { Reacted, ShallowReactiveHint } from "../reactiveHints";
3
- import { AsyncPropertyT } from "./hasAsyncProperty";
3
+ import { PropertyT } from "./hasProperty";
4
4
  /**
5
5
  * A `ReactiveGetter` is a getter that declares what primitive fields it depends on.
6
6
  *
7
- * This is very similar to a `ReactiveAsyncProperty`, except because it's limited to
7
+ * This is very similar to a `ReactiveProperty`, except because it's limited to
8
8
  * only immediate fields on the entity, it can always have `.get` called, and doesn't
9
9
  * need to be loaded.
10
10
  *
@@ -13,7 +13,7 @@ import { AsyncPropertyT } from "./hasAsyncProperty";
13
13
  * to access getter, and risk missing reactivity.
14
14
  */
15
15
  export interface ReactiveGetter<T extends Entity, V> {
16
- [AsyncPropertyT]: T;
16
+ [PropertyT]: T;
17
17
  get: V;
18
18
  }
19
19
  /** Creates a `ReactiveGetter`, for simple "getters" that still trackable for reactivity. */
@@ -23,8 +23,8 @@ export declare class ReactiveGetterImpl<T extends Entity, const H extends Shallo
23
23
  constructor(entity: T, fieldName: keyof T & string, hint: H, fn: (entity: Reacted<T, H>) => V);
24
24
  get get(): V;
25
25
  get reactiveHint(): H;
26
- [AsyncPropertyT]: T;
26
+ [PropertyT]: T;
27
27
  }
28
- /** Type guard utility for determining if an entity field is an AsyncProperty. */
28
+ /** Type guard utility for determining if an entity field is a ReactiveGetter. */
29
29
  export declare function isReactiveGetter(maybeReactiveGetter: any): maybeReactiveGetter is ReactiveGetter<any, any>;
30
30
  //# sourceMappingURL=ReactiveGetter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveGetter.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveGetter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IACjD,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACpB,GAAG,EAAE,CAAC,CAAC;CACR;AAED,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,EAC3F,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAC3B,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAC/B,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAItB;AAED,qBAAa,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,YAAW,cAAc,CACpH,CAAC,EACD,CAAC,CACF;;gBAMa,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;IAO7F,IAAI,GAAG,IAAI,CAAC,CAEX;IAED,IAAI,YAAY,IAAI,CAAC,CAEpB;IAED,CAAC,cAAc,CAAC,EAAuB,CAAC,CAAC;CAC1C;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,mBAAmB,EAAE,GAAG,GAAG,mBAAmB,IAAI,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAE1G"}
1
+ {"version":3,"file":"ReactiveGetter.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveGetter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IACjD,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACf,GAAG,EAAE,CAAC,CAAC;CACR;AAED,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,EAC3F,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAC3B,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAC/B,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAItB;AAED,qBAAa,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,YAAW,cAAc,CACpH,CAAC,EACD,CAAC,CACF;;gBAMa,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;IAO7F,IAAI,GAAG,IAAI,CAAC,CAEX;IAED,IAAI,YAAY,IAAI,CAAC,CAEpB;IAED,CAAC,SAAS,CAAC,EAAuB,CAAC,CAAC;CACrC;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,mBAAmB,EAAE,GAAG,GAAG,mBAAmB,IAAI,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAE1G"}
@@ -4,7 +4,7 @@ exports.ReactiveGetterImpl = void 0;
4
4
  exports.hasReactiveGetter = hasReactiveGetter;
5
5
  exports.isReactiveGetter = isReactiveGetter;
6
6
  const newEntity_1 = require("../newEntity");
7
- const hasAsyncProperty_1 = require("./hasAsyncProperty");
7
+ const hasProperty_1 = require("./hasProperty");
8
8
  /** Creates a `ReactiveGetter`, for simple "getters" that still trackable for reactivity. */
9
9
  function hasReactiveGetter(fieldName, hint, fn) {
10
10
  return (0, newEntity_1.lazyField)((entity, fieldName) => {
@@ -28,10 +28,10 @@ class ReactiveGetterImpl {
28
28
  get reactiveHint() {
29
29
  return this.#hint;
30
30
  }
31
- [hasAsyncProperty_1.AsyncPropertyT] = undefined;
31
+ [hasProperty_1.PropertyT] = undefined;
32
32
  }
33
33
  exports.ReactiveGetterImpl = ReactiveGetterImpl;
34
- /** Type guard utility for determining if an entity field is an AsyncProperty. */
34
+ /** Type guard utility for determining if an entity field is a ReactiveGetter. */
35
35
  function isReactiveGetter(maybeReactiveGetter) {
36
36
  return maybeReactiveGetter instanceof ReactiveGetterImpl;
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveGetter.js","sourceRoot":"","sources":["../../src/relations/ReactiveGetter.ts"],"names":[],"mappings":";;;AAsBA,8CAQC;AA8BD,4CAEC;AA7DD,4CAAyC;AAEzC,yDAAoD;AAkBpD,4FAA4F;AAC5F,SAAgB,iBAAiB,CAC/B,SAA2B,EAC3B,IAAO,EACP,EAAgC;IAEhC,OAAO,IAAA,qBAAS,EAAC,CAAC,MAAS,EAAE,SAAS,EAAE,EAAE;QACxC,OAAO,IAAI,kBAAkB,CAAC,MAAM,EAAE,SAA6B,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAa,kBAAkB;IAIpB,OAAO,CAAI;IACX,UAAU,CAAmB;IAC7B,KAAK,CAAI;IACT,GAAG,CAA+B;IAE3C,YAAY,MAAS,EAAE,SAA2B,EAAE,IAAO,EAAE,EAAgC;QAC3F,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAc,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,CAAC,iCAAc,CAAC,GAAG,SAAqB,CAAC;CAC1C;AAzBD,gDAyBC;AAED,iFAAiF;AACjF,SAAgB,gBAAgB,CAAC,mBAAwB;IACvD,OAAO,mBAAmB,YAAY,kBAAkB,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"ReactiveGetter.js","sourceRoot":"","sources":["../../src/relations/ReactiveGetter.ts"],"names":[],"mappings":";;;AAsBA,8CAQC;AA8BD,4CAEC;AA7DD,4CAAyC;AAEzC,+CAA0C;AAkB1C,4FAA4F;AAC5F,SAAgB,iBAAiB,CAC/B,SAA2B,EAC3B,IAAO,EACP,EAAgC;IAEhC,OAAO,IAAA,qBAAS,EAAC,CAAC,MAAS,EAAE,SAAS,EAAE,EAAE;QACxC,OAAO,IAAI,kBAAkB,CAAC,MAAM,EAAE,SAA6B,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAa,kBAAkB;IAIpB,OAAO,CAAI;IACX,UAAU,CAAmB;IAC7B,KAAK,CAAI;IACT,GAAG,CAA+B;IAE3C,YAAY,MAAS,EAAE,SAA2B,EAAE,IAAO,EAAE,EAAgC;QAC3F,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAc,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,CAAC,uBAAS,CAAC,GAAG,SAAqB,CAAC;CACrC;AAzBD,gDAyBC;AAED,iFAAiF;AACjF,SAAgB,gBAAgB,CAAC,mBAAwB;IACvD,OAAO,mBAAmB,YAAY,kBAAkB,CAAC;AAC3D,CAAC"}
@@ -58,13 +58,13 @@ export declare class ReactiveReferenceImpl<T extends Entity, U extends Entity, H
58
58
  private fn;
59
59
  constructor(entity: T, field: ManyToOneField, reactiveHint: H, fn: (entity: Reacted<T, H>) => MaybeReactedEntity<U> | N);
60
60
  load(opts?: {
61
- withDeleted?: true;
61
+ withDeleted?: boolean;
62
62
  forceReload?: true;
63
63
  }): Promise<U | N>;
64
64
  get isLoaded(): boolean;
65
65
  resetIsLoaded(): void;
66
66
  private doGet;
67
- get fieldValue(): U;
67
+ get fieldValue(): U | N;
68
68
  get getWithDeleted(): U | N;
69
69
  get get(): U | N;
70
70
  set(_: U | N): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveReference.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveReference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactiveReference.d.ts","sourceRoot":"","sources":["../../src/relations/ReactiveReference.ts"],"names":[],"mappings":"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"}
@@ -45,12 +45,7 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
45
45
  fn;
46
46
  #fieldName;
47
47
  #otherMeta;
48
- #reactiveHint;
49
- // Either the loaded entity, or N/undefined if we're allowed to be null
50
- #loaded;
51
- // In ref-mode, we use our materialized FK value (which might be undefined)
52
- // If full-mode, we calculate the FK value from the subgraph
53
- #loadedMode = undefined;
48
+ #state;
54
49
  // #isLoaded doesn't necessary care if we're ref-mode or full-mode, it's just
55
50
  // whether a caller can call `.get` and not have it blow up.
56
51
  #isLoaded = undefined;
@@ -63,7 +58,7 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
63
58
  // Minimizing changes until the other PR lands...
64
59
  this.#fieldName = field.fieldName;
65
60
  this.#otherMeta = field.otherMetadata();
66
- this.#reactiveHint = reactiveHint;
61
+ this.#state = new RRUnloadedState(this);
67
62
  // We can be initialized with [entity | id | undefined], and if it's entity or id, then setImpl
68
63
  // will set loaded appropriately; but if we're initialized undefined, then mark loaded here
69
64
  if (entity.isNewEntity) {
@@ -83,14 +78,18 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
83
78
  // full load hint if we need recalculated.
84
79
  const maybeDirty = opts?.forceReload || (0, __1.getEmInternalApi)(em).rm.isMaybePendingRecalc(this.entity, this.fieldName);
85
80
  if (maybeDirty) {
86
- this.#isCached = false;
87
- return (this.#loadPromise ??= em.populate(this.entity, { hint: loadHint, ...opts }).then(() => {
88
- this.#loadPromise = undefined;
89
- this.#loadedMode = "full";
81
+ return (this.#loadPromise ??= em
82
+ .populate(this.entity, { hint: loadHint, ...opts })
83
+ .then(() => {
84
+ this.#state = this.#state.enterRecalcMode(this);
90
85
  this.#isLoaded = true;
91
86
  (0, __1.getEmInternalApi)(this.entity.em).isLoadedCache.add(this);
92
87
  // Go through `this.get` so that `setField` is called to set our latest value
88
+ this.#isCached = false;
93
89
  return this.doGet(opts);
90
+ })
91
+ .finally(() => {
92
+ this.#loadPromise = undefined;
94
93
  }));
95
94
  }
96
95
  else {
@@ -98,24 +97,30 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
98
97
  // ...ideally we would check `isSet` and whether the key was in the `instanceData`
99
98
  const current = this.current();
100
99
  if ((0, __1.isEntity)(current) || current === undefined) {
101
- this.#loadedMode = "ref";
100
+ this.#state = new RRRefState(this, current);
102
101
  this.#isLoaded = true;
103
- this.#loaded = current;
104
102
  (0, __1.getEmInternalApi)(this.entity.em).isLoadedCache.add(this);
105
103
  return current;
106
104
  }
107
105
  else {
108
- return (this.#loadPromise ??= em.load(this.#otherMeta.cstr, current).then((loaded) => {
109
- this.#loadPromise = undefined;
110
- this.#loadedMode = "ref";
106
+ return (this.#loadPromise ??= em
107
+ .load(this.#otherMeta.cstr, current)
108
+ .then((loaded) => {
109
+ this.#state = new RRRefState(this, loaded);
111
110
  this.#isLoaded = true;
112
- this.#loaded = loaded;
113
111
  (0, __1.getEmInternalApi)(this.entity.em).isLoadedCache.add(this);
114
112
  return loaded;
113
+ })
114
+ .finally(() => {
115
+ this.#loadPromise = undefined;
115
116
  }));
116
117
  }
117
118
  }
118
119
  }
120
+ // The ReactiveField.load() always sets `#isCached = false`, but our assertion is that our
121
+ // IsLoadedCache/resetIsLoaded infra is good enough to "see all invalidating mutations",
122
+ // so we don't need this explicit reset.
123
+ // this.#isCached = false;
119
124
  return this.doGet(opts);
120
125
  }
121
126
  get isLoaded() {
@@ -127,13 +132,13 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
127
132
  const maybeDirty = (0, __1.getEmInternalApi)(this.entity.em).rm.isMaybePendingRecalc(this.entity, this.fieldName);
128
133
  if (maybeDirty) {
129
134
  // If we're dirty, only being "full" loaded is good enough to recalc
130
- this.#loadedMode = "full";
135
+ this.#state = this.#state.enterRecalcMode(this);
131
136
  this.#isLoaded = (0, __1.isLoaded)(this.entity, this.loadHint);
132
137
  this.#isCached = false;
133
138
  }
134
139
  else {
135
140
  // If we've had `.load` called before, assume we're still loaded
136
- this.#isLoaded = !!this.#loadedMode;
141
+ this.#isLoaded = this.#state.canReturnValue;
137
142
  }
138
143
  return this.#isLoaded;
139
144
  }
@@ -147,11 +152,11 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
147
152
  // Fast pass if we've already calculated this (cache invalidation will happen on
148
153
  // any mutation via #resetIsLoaded)..
149
154
  if (this.#isCached) {
150
- return this.#loaded ? this.filterDeleted(this.#loaded, opts) : undefined;
155
+ return this.filterDeleted(this.#state.doGet(), opts);
151
156
  }
152
157
  // Call isLoaded to probe the load hint, and get `#isLoaded` set, but still have
153
158
  // our `if` check the raw `#isLoaded` to know if we should eval-latest or return `loaded`.
154
- if (this.isLoaded && this.#loadedMode === "full") {
159
+ if (this.isLoaded && this.#state.kind === "full") {
155
160
  const newValue = this.filterDeleted(fn(this.entity), opts);
156
161
  // It's cheap to set this every time we're called, i.e. even if it's not the
157
162
  // official "being called during em.flush" update (...unless we're accessing it
@@ -160,14 +165,14 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
160
165
  if (!(0, __1.getEmInternalApi)(this.entity.em).isValidating) {
161
166
  this.setImpl(newValue);
162
167
  }
163
- this.#loaded = newValue;
168
+ this.#state = new RRFullState(this, newValue);
164
169
  this.#isCached = true;
165
170
  (0, __1.getEmInternalApi)(this.entity.em).isLoadedCache.add(this);
166
171
  }
167
- else if (!!this.#loadedMode) {
168
- // We're either loadedMode=ref, or loadedMode=full (but not actually fully loaded),
169
- // but in theory loadedMode only gets set in `.load()`, so we should have #loaded
170
- // set to some value, even if it's not fully up-to-date.
172
+ else if (this.#state.canReturnValue) {
173
+ // We're either in ref mode, or in full mode but not actually fully loaded,
174
+ // but in theory those states only get set after `.load()` / `.preload()` / import,
175
+ // so we should have some stored value, even if it's not fully up-to-date.
171
176
  this.#isCached = true;
172
177
  (0, __1.getEmInternalApi)(this.entity.em).isLoadedCache.add(this);
173
178
  }
@@ -175,7 +180,7 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
175
180
  const noun = this.entity.isNewEntity ? "derived" : "loaded";
176
181
  throw new Error(`${this.entity}.${this.fieldName} has not been ${noun} yet`);
177
182
  }
178
- return this.#loaded ? this.filterDeleted(this.#loaded, opts) : undefined;
183
+ return this.filterDeleted(this.#state.doGet(), opts);
179
184
  }
180
185
  get fieldValue() {
181
186
  return (0, fields_1.getField)(this.entity, this.fieldName);
@@ -205,20 +210,18 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
205
210
  return !!this.maybeFindEntity();
206
211
  }
207
212
  preload() {
208
- this.#loaded = this.maybeFindEntity();
209
- this.#loadedMode = "ref";
213
+ this.#state = new RRRefState(this, this.maybeFindEntity());
210
214
  this.#isLoaded = true;
211
215
  this.#isCached = true;
212
216
  }
213
217
  unload() {
214
- this.#loaded = undefined;
215
- this.#loadedMode = undefined;
218
+ this.#state = new RRUnloadedState(this);
216
219
  this.#isLoaded = false;
217
220
  this.#isCached = false;
221
+ this.#loadPromise = undefined;
218
222
  }
219
223
  import(other, findEntity) {
220
- this.#loaded = other.#loaded ? findEntity(other.#loaded) : undefined;
221
- this.#loadedMode = "ref";
224
+ this.#state = other.#state.import(this, findEntity);
222
225
  this.#isLoaded = true;
223
226
  this.#isCached = true;
224
227
  }
@@ -268,8 +271,10 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
268
271
  if (this.isCascadeDelete)
269
272
  return;
270
273
  (0, fields_1.setField)(this.entity, this.fieldName, undefined);
271
- this.#loaded = undefined;
274
+ this.#state = new RRRefState(this, undefined);
272
275
  this.#isLoaded = false;
276
+ this.#isCached = false;
277
+ this.#loadPromise = undefined;
273
278
  }
274
279
  // We need to keep U in data[fieldName] to handle entities without an id assigned yet.
275
280
  current(opts) {
@@ -317,9 +322,14 @@ class ReactiveReferenceImpl extends AbstractRelationImpl_1.AbstractRelationImpl
317
322
  */
318
323
  maybeFindEntity() {
319
324
  // Check this.loaded first b/c a new entity won't have an id yet
325
+ if (this.#state.canReturnValue) {
326
+ const loaded = this.#state.doGet();
327
+ if (loaded !== undefined) {
328
+ return loaded;
329
+ }
330
+ }
320
331
  const { idTaggedMaybe } = this;
321
- return (this.#loaded ??
322
- (idTaggedMaybe !== undefined ? this.entity.em.getEntity(idTaggedMaybe) : undefined));
332
+ return idTaggedMaybe !== undefined ? this.entity.em.getEntity(idTaggedMaybe) : undefined;
323
333
  }
324
334
  [Relation_1.RelationT] = null;
325
335
  [Relation_1.RelationU] = null;
@@ -330,4 +340,58 @@ exports.ReactiveReferenceImpl = ReactiveReferenceImpl;
330
340
  function isReactiveReference(maybeReactiveRef) {
331
341
  return maybeReactiveRef instanceof ReactiveReferenceImpl;
332
342
  }
343
+ class RRUnloadedState {
344
+ kind = "unloaded";
345
+ canReturnValue = false;
346
+ #rr;
347
+ constructor(rr) {
348
+ this.#rr = rr;
349
+ }
350
+ doGet() {
351
+ throw new Error(`${this.#rr.entity}.${this.#rr.fieldName} was not loaded`);
352
+ }
353
+ enterRecalcMode(target) {
354
+ return new RRFullState(target, undefined);
355
+ }
356
+ import(target, _findEntity) {
357
+ return new RRUnloadedState(target);
358
+ }
359
+ }
360
+ class RRRefState {
361
+ kind = "ref";
362
+ canReturnValue = true;
363
+ #loaded;
364
+ constructor(_rr, loaded) {
365
+ this.#loaded = loaded;
366
+ }
367
+ doGet() {
368
+ return this.#loaded;
369
+ }
370
+ enterRecalcMode(target) {
371
+ return new RRFullState(target, this.#loaded);
372
+ }
373
+ import(target, findEntity) {
374
+ return new RRRefState(target, mapReactiveReferenceEntity(this.#loaded, findEntity));
375
+ }
376
+ }
377
+ class RRFullState {
378
+ kind = "full";
379
+ canReturnValue = true;
380
+ #loaded;
381
+ constructor(_rr, loaded) {
382
+ this.#loaded = loaded;
383
+ }
384
+ doGet() {
385
+ return this.#loaded;
386
+ }
387
+ enterRecalcMode(_target) {
388
+ return this;
389
+ }
390
+ import(target, findEntity) {
391
+ return new RRRefState(target, mapReactiveReferenceEntity(this.#loaded, findEntity));
392
+ }
393
+ }
394
+ function mapReactiveReferenceEntity(entity, findEntity) {
395
+ return (0, __1.isEntity)(entity) ? findEntity(entity) : entity;
396
+ }
333
397
  //# sourceMappingURL=ReactiveReference.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactiveReference.js","sourceRoot":"","sources":["../../src/relations/ReactiveReference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactiveReference.js","sourceRoot":"","sources":["../../src/relations/ReactiveReference.ts"],"names":[],"mappings":"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"}