joist-core 2.1.0 → 2.2.0-next.1

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 (165) 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 +4 -2
  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 +25 -39
  11. package/build/EntityManager.d.ts.map +1 -1
  12. package/build/EntityManager.js +96 -44
  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 +67 -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 +13 -18
  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/dataloaders/findPaginatedDataLoader.d.ts +8 -0
  82. package/build/dataloaders/findPaginatedDataLoader.d.ts.map +1 -0
  83. package/build/dataloaders/findPaginatedDataLoader.js +71 -0
  84. package/build/dataloaders/findPaginatedDataLoader.js.map +1 -0
  85. package/build/defaults.d.ts.map +1 -1
  86. package/build/defaults.js +49 -42
  87. package/build/defaults.js.map +1 -1
  88. package/build/drivers/buildRawQuery.d.ts +6 -4
  89. package/build/drivers/buildRawQuery.d.ts.map +1 -1
  90. package/build/drivers/buildRawQuery.js +6 -5
  91. package/build/drivers/buildRawQuery.js.map +1 -1
  92. package/build/drivers/buildUtils.d.ts +7 -2
  93. package/build/drivers/buildUtils.d.ts.map +1 -1
  94. package/build/drivers/buildUtils.js +14 -5
  95. package/build/drivers/buildUtils.js.map +1 -1
  96. package/build/fields.d.ts.map +1 -1
  97. package/build/fields.js +16 -7
  98. package/build/fields.js.map +1 -1
  99. package/build/index.d.ts +2 -1
  100. package/build/index.d.ts.map +1 -1
  101. package/build/index.js +7 -5
  102. package/build/index.js.map +1 -1
  103. package/build/json.d.ts +3 -3
  104. package/build/json.d.ts.map +1 -1
  105. package/build/json.js +4 -4
  106. package/build/json.js.map +1 -1
  107. package/build/loadHints.d.ts +4 -4
  108. package/build/loadHints.d.ts.map +1 -1
  109. package/build/loadLens.js +1 -1
  110. package/build/loadLens.js.map +1 -1
  111. package/build/preloading/JsonAggregatePreloader.js +6 -2
  112. package/build/preloading/JsonAggregatePreloader.js.map +1 -1
  113. package/build/reactiveHints.d.ts +24 -7
  114. package/build/reactiveHints.d.ts.map +1 -1
  115. package/build/reactiveHints.js +45 -28
  116. package/build/reactiveHints.js.map +1 -1
  117. package/build/relations/AbstractRelationImpl.d.ts +7 -2
  118. package/build/relations/AbstractRelationImpl.d.ts.map +1 -1
  119. package/build/relations/AbstractRelationImpl.js.map +1 -1
  120. package/build/relations/AsyncProperty.d.ts +36 -0
  121. package/build/relations/AsyncProperty.d.ts.map +1 -0
  122. package/build/relations/AsyncProperty.js +80 -0
  123. package/build/relations/AsyncProperty.js.map +1 -0
  124. package/build/relations/{ReactiveQueryField.d.ts → AsyncReactiveField.d.ts} +10 -10
  125. package/build/relations/AsyncReactiveField.d.ts.map +1 -0
  126. package/build/relations/{ReactiveQueryField.js → AsyncReactiveField.js} +19 -19
  127. package/build/relations/{ReactiveQueryField.js.map → AsyncReactiveField.js.map} +1 -1
  128. package/build/relations/ReactiveField.d.ts +7 -9
  129. package/build/relations/ReactiveField.d.ts.map +1 -1
  130. package/build/relations/ReactiveField.js +5 -10
  131. package/build/relations/ReactiveField.js.map +1 -1
  132. package/build/relations/ReactiveGetter.d.ts +5 -5
  133. package/build/relations/ReactiveGetter.d.ts.map +1 -1
  134. package/build/relations/ReactiveGetter.js +3 -3
  135. package/build/relations/ReactiveGetter.js.map +1 -1
  136. package/build/relations/ReactiveReference.d.ts +2 -2
  137. package/build/relations/ReactiveReference.d.ts.map +1 -1
  138. package/build/relations/ReactiveReference.js +100 -36
  139. package/build/relations/ReactiveReference.js.map +1 -1
  140. package/build/relations/{hasAsyncProperty.d.ts → hasProperty.d.ts} +12 -12
  141. package/build/relations/hasProperty.d.ts.map +1 -0
  142. package/build/relations/{hasAsyncProperty.js → hasProperty.js} +20 -20
  143. package/build/relations/hasProperty.js.map +1 -0
  144. package/build/relations/index.d.ts +3 -2
  145. package/build/relations/index.d.ts.map +1 -1
  146. package/build/relations/index.js +16 -11
  147. package/build/relations/index.js.map +1 -1
  148. package/build/resurrection.d.ts +10 -0
  149. package/build/resurrection.d.ts.map +1 -0
  150. package/build/resurrection.js +93 -0
  151. package/build/resurrection.js.map +1 -0
  152. package/build/rules.js +3 -3
  153. package/build/trusted.d.ts +1 -1
  154. package/build/trusted.d.ts.map +1 -1
  155. package/build/trusted.js +1 -1
  156. package/build/trusted.js.map +1 -1
  157. package/build/upsert.d.ts.map +1 -1
  158. package/build/upsert.js +26 -10
  159. package/build/upsert.js.map +1 -1
  160. package/build/withLoaded.js +5 -5
  161. package/build/withLoaded.js.map +1 -1
  162. package/package.json +9 -9
  163. package/build/relations/ReactiveQueryField.d.ts.map +0 -1
  164. package/build/relations/hasAsyncProperty.d.ts.map +0 -1
  165. package/build/relations/hasAsyncProperty.js.map +0 -1
@@ -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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"}
@@ -1,9 +1,9 @@
1
1
  import { Entity } from "../Entity";
2
2
  import { LoadHint, Loaded } from "../loadHints";
3
3
  import { MaybeReactedPropertyEntity, Reacted, ReactiveHint } from "../reactiveHints";
4
- export declare const AsyncPropertyT: unique symbol;
5
- export interface AsyncProperty<T extends Entity, V> {
6
- [AsyncPropertyT]: T;
4
+ export declare const PropertyT: unique symbol;
5
+ export interface Property<T extends Entity, V> {
6
+ [PropertyT]: T;
7
7
  isLoaded: boolean;
8
8
  load(): Promise<V>;
9
9
  }
@@ -18,7 +18,7 @@ export interface LoadedProperty<T extends Entity, V> {
18
18
  * But if `someProperty` is used as a populate hint, then it can be accessed synchronously,
19
19
  * with `someProperty.get`.
20
20
  */
21
- export declare function hasAsyncProperty<T extends Entity, const H extends LoadHint<T>, V>(loadHint: H, fn: (entity: Loaded<T, H>) => V): AsyncProperty<T, V>;
21
+ export declare function hasProperty<T extends Entity, const H extends LoadHint<T>, V>(loadHint: H, fn: (entity: Loaded<T, H>) => V): Property<T, V>;
22
22
  /**
23
23
  * Creates a calculated derived value from a load hint + lambda.
24
24
  *
@@ -27,8 +27,8 @@ export declare function hasAsyncProperty<T extends Entity, const H extends LoadH
27
27
  * But if `someProperty` is used as a populate hint, then it can be accessed synchronously,
28
28
  * with `someProperty.get`.
29
29
  */
30
- export declare function hasReactiveAsyncProperty<T extends Entity, const H extends ReactiveHint<T>, V>(reactiveHint: H, fn: (entity: Reacted<T, H>) => MaybeReactedPropertyEntity<V>): AsyncProperty<T, V>;
31
- export declare class AsyncPropertyImpl<T extends Entity, H extends LoadHint<T>, V> implements AsyncProperty<T, V> {
30
+ export declare function hasReactiveProperty<T extends Entity, const H extends ReactiveHint<T>, V>(reactiveHint: H, fn: (entity: Reacted<T, H>) => MaybeReactedPropertyEntity<V>): Property<T, V>;
31
+ export declare class PropertyImpl<T extends Entity, H extends LoadHint<T>, V> implements Property<T, V> {
32
32
  #private;
33
33
  private fn;
34
34
  private opts;
@@ -40,10 +40,10 @@ export declare class AsyncPropertyImpl<T extends Entity, H extends LoadHint<T>,
40
40
  get reactiveHint(): ReactiveHint<T> | undefined;
41
41
  get get(): V;
42
42
  get isLoaded(): boolean;
43
- [AsyncPropertyT]: T;
43
+ [PropertyT]: T;
44
44
  }
45
- /** Type guard utility for determining if an entity field is an AsyncProperty. */
46
- export declare function isAsyncProperty(maybeAsyncProperty: any): maybeAsyncProperty is AsyncProperty<any, any>;
47
- /** Type guard utility for determining if an entity field is a loaded AsyncProperty. */
48
- export declare function isLoadedAsyncProperty(maybeAsyncProperty: any): maybeAsyncProperty is AsyncProperty<any, any> & LoadedProperty<any, any>;
49
- //# sourceMappingURL=hasAsyncProperty.d.ts.map
45
+ /** Type guard utility for determining if an entity field is a Property. */
46
+ export declare function isProperty(maybeProperty: any): maybeProperty is Property<any, any>;
47
+ /** Type guard utility for determining if an entity field is a loaded Property. */
48
+ export declare function isLoadedProperty(maybeProperty: any): maybeProperty is Property<any, any> & LoadedProperty<any, any>;
49
+ //# sourceMappingURL=hasProperty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasProperty.d.ts","sourceRoot":"","sources":["../../src/relations/hasProperty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAY,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,0BAA0B,EAAE,OAAO,EAAE,YAAY,EAAqB,MAAM,kBAAkB,CAAC;AAGxG,eAAO,MAAM,SAAS,eAAW,CAAC;AAElC,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IAE3C,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CACpB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IACjD,GAAG,EAAE,CAAC,CAAC;CACR;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1E,QAAQ,EAAE,CAAC,EACX,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAC9B,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAIhB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EACtF,YAAY,EAAE,CAAC,EACf,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,0BAA0B,CAAC,CAAC,CAAC,GAC3D,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAIhB;AAED,qBAAa,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,YAAW,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;;IAW3F,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI;gBAHZ,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EACjB,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAC/B,IAAI,GAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO;IAQ7C,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC;IAWlB,IAAI,QAAQ,IAAI,CAAC,CAMhB;IAED,IAAI,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAE9C;IAED,IAAI,GAAG,IAAI,CAAC,CAEX;IAED,IAAI,QAAQ,YAMX;IAED,CAAC,SAAS,CAAC,EAAuB,CAAC,CAAC;CACrC;AAED,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,aAAa,EAAE,GAAG,GAAG,aAAa,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAElF;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,GAAG,GACjB,aAAa,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAEhE"}
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AsyncPropertyImpl = exports.AsyncPropertyT = void 0;
4
- exports.hasAsyncProperty = hasAsyncProperty;
5
- exports.hasReactiveAsyncProperty = hasReactiveAsyncProperty;
6
- exports.isAsyncProperty = isAsyncProperty;
7
- exports.isLoadedAsyncProperty = isLoadedAsyncProperty;
3
+ exports.PropertyImpl = exports.PropertyT = void 0;
4
+ exports.hasProperty = hasProperty;
5
+ exports.hasReactiveProperty = hasReactiveProperty;
6
+ exports.isProperty = isProperty;
7
+ exports.isLoadedProperty = isLoadedProperty;
8
8
  const EntityMetadata_1 = require("../EntityMetadata");
9
9
  const loadHints_1 = require("../loadHints");
10
10
  const newEntity_1 = require("../newEntity");
11
11
  const reactiveHints_1 = require("../reactiveHints");
12
12
  const utils_1 = require("../utils");
13
- exports.AsyncPropertyT = Symbol();
13
+ exports.PropertyT = Symbol();
14
14
  /**
15
15
  * Creates a calculated derived value from a load hint + lambda.
16
16
  *
@@ -19,9 +19,9 @@ exports.AsyncPropertyT = Symbol();
19
19
  * But if `someProperty` is used as a populate hint, then it can be accessed synchronously,
20
20
  * with `someProperty.get`.
21
21
  */
22
- function hasAsyncProperty(loadHint, fn) {
22
+ function hasProperty(loadHint, fn) {
23
23
  return (0, newEntity_1.lazyField)((entity) => {
24
- return new AsyncPropertyImpl(entity, loadHint, fn);
24
+ return new PropertyImpl(entity, loadHint, fn);
25
25
  });
26
26
  }
27
27
  /**
@@ -32,12 +32,12 @@ function hasAsyncProperty(loadHint, fn) {
32
32
  * But if `someProperty` is used as a populate hint, then it can be accessed synchronously,
33
33
  * with `someProperty.get`.
34
34
  */
35
- function hasReactiveAsyncProperty(reactiveHint, fn) {
35
+ function hasReactiveProperty(reactiveHint, fn) {
36
36
  return (0, newEntity_1.lazyField)((entity) => {
37
- return new AsyncPropertyImpl(entity, reactiveHint, fn, { isReactive: true });
37
+ return new PropertyImpl(entity, reactiveHint, fn, { isReactive: true });
38
38
  });
39
39
  }
40
- class AsyncPropertyImpl {
40
+ class PropertyImpl {
41
41
  fn;
42
42
  opts;
43
43
  // We'll probe for loaded if undefined
@@ -84,15 +84,15 @@ class AsyncPropertyImpl {
84
84
  }
85
85
  return !!this.#loaded;
86
86
  }
87
- [exports.AsyncPropertyT] = undefined;
87
+ [exports.PropertyT] = undefined;
88
88
  }
89
- exports.AsyncPropertyImpl = AsyncPropertyImpl;
90
- /** Type guard utility for determining if an entity field is an AsyncProperty. */
91
- function isAsyncProperty(maybeAsyncProperty) {
92
- return maybeAsyncProperty instanceof AsyncPropertyImpl;
89
+ exports.PropertyImpl = PropertyImpl;
90
+ /** Type guard utility for determining if an entity field is a Property. */
91
+ function isProperty(maybeProperty) {
92
+ return maybeProperty instanceof PropertyImpl;
93
93
  }
94
- /** Type guard utility for determining if an entity field is a loaded AsyncProperty. */
95
- function isLoadedAsyncProperty(maybeAsyncProperty) {
96
- return isAsyncProperty(maybeAsyncProperty) && maybeAsyncProperty.isLoaded;
94
+ /** Type guard utility for determining if an entity field is a loaded Property. */
95
+ function isLoadedProperty(maybeProperty) {
96
+ return isProperty(maybeProperty) && maybeProperty.isLoaded;
97
97
  }
98
- //# sourceMappingURL=hasAsyncProperty.js.map
98
+ //# sourceMappingURL=hasProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasProperty.js","sourceRoot":"","sources":["../../src/relations/hasProperty.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@ export { Collection, LoadedCollection, isCollection, isLoadedCollection } from "
2
2
  export { CustomCollection, hasCustomCollection } from "./CustomCollection";
3
3
  export { CustomReference, hasCustomReference } from "./CustomReference";
4
4
  export { AsyncMethod, LoadedMethod, hasAsyncMethod } from "./hasAsyncMethod";
5
- export { AsyncProperty, AsyncPropertyImpl, LoadedProperty, hasAsyncProperty, hasReactiveAsyncProperty, isAsyncProperty, isLoadedAsyncProperty, } from "./hasAsyncProperty";
5
+ export { LoadedProperty, Property, PropertyImpl, hasProperty, hasReactiveProperty, isLoadedProperty, isProperty, } from "./hasProperty";
6
+ export { AsyncProperty, AsyncPropertyImpl, hasAsyncProperty, isAsyncProperty, isLoadedAsyncProperty, } from "./AsyncProperty";
6
7
  export { hasManyDerived } from "./hasManyDerived";
7
8
  export { hasManyThrough } from "./hasManyThrough";
8
9
  export { hasOneDerived } from "./hasOneDerived";
@@ -19,7 +20,7 @@ export { ReactiveField, hasReactiveField, isReactiveField } from "./ReactiveFiel
19
20
  export { ReactiveGetter, hasReactiveGetter, isReactiveGetter } from "./ReactiveGetter";
20
21
  export { ReactiveManyToMany, ReactiveManyToManyImpl, hasReactiveManyToMany, isReactiveManyToMany, } from "./ReactiveManyToMany";
21
22
  export { ReactiveManyToManyOtherSide, ReactiveManyToManyOtherSideImpl, hasReactiveManyToManyOtherSide, isReactiveManyToManyOtherSide, } from "./ReactiveManyToManyOtherSide";
22
- export { hasReactiveQueryField, isReactiveQueryField } from "./ReactiveQueryField";
23
+ export { hasAsyncReactiveField, isAsyncReactiveField } from "./AsyncReactiveField";
23
24
  export { ReactiveReference, ReactiveReferenceImpl, hasReactiveReference, isReactiveReference, } from "./ReactiveReference";
24
25
  export { LoadedReadOnlyCollection, ReadOnlyCollection, isLoadedReadOnlyCollection, isReadOnlyCollection, } from "./ReadOnlyCollection";
25
26
  export { RecursiveCycleError, hasRecursiveChildren, hasRecursiveM2m, hasRecursiveParents } from "./RecursiveCollection";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/relations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAChH,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACxH,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/relations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACL,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAChH,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACxH,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isLoadedReadOnlyCollection = exports.isReactiveReference = exports.hasReactiveReference = exports.ReactiveReferenceImpl = exports.isReactiveQueryField = exports.hasReactiveQueryField = exports.isReactiveManyToManyOtherSide = exports.hasReactiveManyToManyOtherSide = exports.ReactiveManyToManyOtherSideImpl = exports.isReactiveManyToMany = exports.hasReactiveManyToMany = exports.ReactiveManyToManyImpl = exports.isReactiveGetter = exports.hasReactiveGetter = exports.isReactiveField = exports.hasReactiveField = exports.isPolymorphicReference = exports.hasOnePolymorphic = exports.PolymorphicReferenceImpl = exports.isOneToOneReference = exports.isLoadedOneToOneReference = exports.hasOneToOne = exports.OneToOneReferenceImpl = exports.hasLargeMany = exports.OneToManyLargeCollection = exports.hasMany = exports.OneToManyCollection = exports.isManyToOneReference = exports.hasOne = exports.ManyToOneReferenceImpl = exports.hasLargeManyToMany = exports.ManyToManyLargeCollection = exports.hasManyToMany = exports.ManyToManyCollection = exports.hasOneThrough = exports.hasOneDerived = exports.hasManyThrough = exports.hasManyDerived = exports.isLoadedAsyncProperty = exports.isAsyncProperty = exports.hasReactiveAsyncProperty = exports.hasAsyncProperty = exports.AsyncPropertyImpl = exports.hasAsyncMethod = exports.hasCustomReference = exports.CustomReference = exports.hasCustomCollection = exports.CustomCollection = exports.isLoadedCollection = exports.isCollection = void 0;
4
- exports.isRelation = exports.isReference = exports.isLoadedReference = exports.hasRecursiveParents = exports.hasRecursiveM2m = exports.hasRecursiveChildren = exports.RecursiveCycleError = exports.isReadOnlyCollection = void 0;
3
+ exports.isAsyncReactiveField = exports.hasAsyncReactiveField = exports.isReactiveManyToManyOtherSide = exports.hasReactiveManyToManyOtherSide = exports.ReactiveManyToManyOtherSideImpl = exports.isReactiveManyToMany = exports.hasReactiveManyToMany = exports.ReactiveManyToManyImpl = exports.isReactiveGetter = exports.hasReactiveGetter = exports.isReactiveField = exports.hasReactiveField = exports.isPolymorphicReference = exports.hasOnePolymorphic = exports.PolymorphicReferenceImpl = exports.isOneToOneReference = exports.isLoadedOneToOneReference = exports.hasOneToOne = exports.OneToOneReferenceImpl = exports.hasLargeMany = exports.OneToManyLargeCollection = exports.hasMany = exports.OneToManyCollection = exports.isManyToOneReference = exports.hasOne = exports.ManyToOneReferenceImpl = exports.hasLargeManyToMany = exports.ManyToManyLargeCollection = exports.hasManyToMany = exports.ManyToManyCollection = exports.hasOneThrough = exports.hasOneDerived = exports.hasManyThrough = exports.hasManyDerived = exports.isLoadedAsyncProperty = exports.isAsyncProperty = exports.hasAsyncProperty = exports.AsyncPropertyImpl = exports.isProperty = exports.isLoadedProperty = exports.hasReactiveProperty = exports.hasProperty = exports.PropertyImpl = exports.hasAsyncMethod = exports.hasCustomReference = exports.CustomReference = exports.hasCustomCollection = exports.CustomCollection = exports.isLoadedCollection = exports.isCollection = void 0;
4
+ exports.isRelation = exports.isReference = exports.isLoadedReference = exports.hasRecursiveParents = exports.hasRecursiveM2m = exports.hasRecursiveChildren = exports.RecursiveCycleError = exports.isReadOnlyCollection = exports.isLoadedReadOnlyCollection = exports.isReactiveReference = exports.hasReactiveReference = exports.ReactiveReferenceImpl = void 0;
5
5
  var Collection_1 = require("./Collection");
6
6
  Object.defineProperty(exports, "isCollection", { enumerable: true, get: function () { return Collection_1.isCollection; } });
7
7
  Object.defineProperty(exports, "isLoadedCollection", { enumerable: true, get: function () { return Collection_1.isLoadedCollection; } });
@@ -13,12 +13,17 @@ Object.defineProperty(exports, "CustomReference", { enumerable: true, get: funct
13
13
  Object.defineProperty(exports, "hasCustomReference", { enumerable: true, get: function () { return CustomReference_1.hasCustomReference; } });
14
14
  var hasAsyncMethod_1 = require("./hasAsyncMethod");
15
15
  Object.defineProperty(exports, "hasAsyncMethod", { enumerable: true, get: function () { return hasAsyncMethod_1.hasAsyncMethod; } });
16
- var hasAsyncProperty_1 = require("./hasAsyncProperty");
17
- Object.defineProperty(exports, "AsyncPropertyImpl", { enumerable: true, get: function () { return hasAsyncProperty_1.AsyncPropertyImpl; } });
18
- Object.defineProperty(exports, "hasAsyncProperty", { enumerable: true, get: function () { return hasAsyncProperty_1.hasAsyncProperty; } });
19
- Object.defineProperty(exports, "hasReactiveAsyncProperty", { enumerable: true, get: function () { return hasAsyncProperty_1.hasReactiveAsyncProperty; } });
20
- Object.defineProperty(exports, "isAsyncProperty", { enumerable: true, get: function () { return hasAsyncProperty_1.isAsyncProperty; } });
21
- Object.defineProperty(exports, "isLoadedAsyncProperty", { enumerable: true, get: function () { return hasAsyncProperty_1.isLoadedAsyncProperty; } });
16
+ var hasProperty_1 = require("./hasProperty");
17
+ Object.defineProperty(exports, "PropertyImpl", { enumerable: true, get: function () { return hasProperty_1.PropertyImpl; } });
18
+ Object.defineProperty(exports, "hasProperty", { enumerable: true, get: function () { return hasProperty_1.hasProperty; } });
19
+ Object.defineProperty(exports, "hasReactiveProperty", { enumerable: true, get: function () { return hasProperty_1.hasReactiveProperty; } });
20
+ Object.defineProperty(exports, "isLoadedProperty", { enumerable: true, get: function () { return hasProperty_1.isLoadedProperty; } });
21
+ Object.defineProperty(exports, "isProperty", { enumerable: true, get: function () { return hasProperty_1.isProperty; } });
22
+ var AsyncProperty_1 = require("./AsyncProperty");
23
+ Object.defineProperty(exports, "AsyncPropertyImpl", { enumerable: true, get: function () { return AsyncProperty_1.AsyncPropertyImpl; } });
24
+ Object.defineProperty(exports, "hasAsyncProperty", { enumerable: true, get: function () { return AsyncProperty_1.hasAsyncProperty; } });
25
+ Object.defineProperty(exports, "isAsyncProperty", { enumerable: true, get: function () { return AsyncProperty_1.isAsyncProperty; } });
26
+ Object.defineProperty(exports, "isLoadedAsyncProperty", { enumerable: true, get: function () { return AsyncProperty_1.isLoadedAsyncProperty; } });
22
27
  var hasManyDerived_1 = require("./hasManyDerived");
23
28
  Object.defineProperty(exports, "hasManyDerived", { enumerable: true, get: function () { return hasManyDerived_1.hasManyDerived; } });
24
29
  var hasManyThrough_1 = require("./hasManyThrough");
@@ -66,9 +71,9 @@ var ReactiveManyToManyOtherSide_1 = require("./ReactiveManyToManyOtherSide");
66
71
  Object.defineProperty(exports, "ReactiveManyToManyOtherSideImpl", { enumerable: true, get: function () { return ReactiveManyToManyOtherSide_1.ReactiveManyToManyOtherSideImpl; } });
67
72
  Object.defineProperty(exports, "hasReactiveManyToManyOtherSide", { enumerable: true, get: function () { return ReactiveManyToManyOtherSide_1.hasReactiveManyToManyOtherSide; } });
68
73
  Object.defineProperty(exports, "isReactiveManyToManyOtherSide", { enumerable: true, get: function () { return ReactiveManyToManyOtherSide_1.isReactiveManyToManyOtherSide; } });
69
- var ReactiveQueryField_1 = require("./ReactiveQueryField");
70
- Object.defineProperty(exports, "hasReactiveQueryField", { enumerable: true, get: function () { return ReactiveQueryField_1.hasReactiveQueryField; } });
71
- Object.defineProperty(exports, "isReactiveQueryField", { enumerable: true, get: function () { return ReactiveQueryField_1.isReactiveQueryField; } });
74
+ var AsyncReactiveField_1 = require("./AsyncReactiveField");
75
+ Object.defineProperty(exports, "hasAsyncReactiveField", { enumerable: true, get: function () { return AsyncReactiveField_1.hasAsyncReactiveField; } });
76
+ Object.defineProperty(exports, "isAsyncReactiveField", { enumerable: true, get: function () { return AsyncReactiveField_1.isAsyncReactiveField; } });
72
77
  var ReactiveReference_1 = require("./ReactiveReference");
73
78
  Object.defineProperty(exports, "ReactiveReferenceImpl", { enumerable: true, get: function () { return ReactiveReference_1.ReactiveReferenceImpl; } });
74
79
  Object.defineProperty(exports, "hasReactiveReference", { enumerable: true, get: function () { return ReactiveReference_1.hasReactiveReference; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/relations/index.ts"],"names":[],"mappings":";;;;AAAA,2CAA8F;AAAvD,0GAAA,YAAY,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AACvE,uDAA2E;AAAlE,oHAAA,gBAAgB,OAAA;AAAE,uHAAA,mBAAmB,OAAA;AAC9C,qDAAwE;AAA/D,kHAAA,eAAe,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAC5C,mDAA6E;AAAzC,gHAAA,cAAc,OAAA;AAClD,uDAQ4B;AAN1B,qHAAA,iBAAiB,OAAA;AAEjB,oHAAA,gBAAgB,OAAA;AAChB,4HAAA,wBAAwB,OAAA;AACxB,mHAAA,eAAe,OAAA;AACf,yHAAA,qBAAqB,OAAA;AAEvB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB,+DAA6E;AAApE,4HAAA,oBAAoB,OAAA;AAAE,qHAAA,aAAa,OAAA;AAC5C,yEAA4F;AAAnF,sIAAA,yBAAyB,OAAA;AAAE,+HAAA,kBAAkB,OAAA;AACtD,2DAAgH;AAAnF,4HAAA,sBAAsB,OAAA;AAAE,4GAAA,MAAM,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AACjF,6DAAqE;AAA5D,0HAAA,mBAAmB,OAAA;AAAE,8GAAA,OAAO,OAAA;AACrC,uEAAoF;AAA3E,oIAAA,wBAAwB,OAAA;AAAE,wHAAA,YAAY,OAAA;AAC/C,yDAM6B;AAJ3B,0HAAA,qBAAqB,OAAA;AACrB,gHAAA,WAAW,OAAA;AACX,8HAAA,yBAAyB,OAAA;AACzB,wHAAA,mBAAmB,OAAA;AAErB,+DAKgC;AAH9B,gIAAA,wBAAwB,OAAA;AACxB,yHAAA,iBAAiB,OAAA;AACjB,8HAAA,sBAAsB,OAAA;AAExB,iDAAmF;AAA3D,iHAAA,gBAAgB,OAAA;AAAE,gHAAA,eAAe,OAAA;AACzD,mDAAuF;AAA9D,mHAAA,iBAAiB,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AAC5D,2DAK8B;AAH5B,4HAAA,sBAAsB,OAAA;AACtB,2HAAA,qBAAqB,OAAA;AACrB,0HAAA,oBAAoB,OAAA;AAEtB,6EAKuC;AAHrC,8IAAA,+BAA+B,OAAA;AAC/B,6IAAA,8BAA8B,OAAA;AAC9B,4IAAA,6BAA6B,OAAA;AAE/B,2DAAmF;AAA1E,2HAAA,qBAAqB,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AACpD,yDAK6B;AAH3B,0HAAA,qBAAqB,OAAA;AACrB,yHAAA,oBAAoB,OAAA;AACpB,wHAAA,mBAAmB,OAAA;AAErB,2DAK8B;AAF5B,gIAAA,0BAA0B,OAAA;AAC1B,0HAAA,oBAAoB,OAAA;AAEtB,6DAAwH;AAA/G,0HAAA,mBAAmB,OAAA;AAAE,2HAAA,oBAAoB,OAAA;AAAE,sHAAA,eAAe,OAAA;AAAE,0HAAA,mBAAmB,OAAA;AACxF,yCAAyF;AAApD,8GAAA,iBAAiB,OAAA;AAAE,wGAAA,WAAW,OAAA;AACnE,uCAAkD;AAA/B,sGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/relations/index.ts"],"names":[],"mappings":";;;;AAAA,2CAA8F;AAAvD,0GAAA,YAAY,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AACvE,uDAA2E;AAAlE,oHAAA,gBAAgB,OAAA;AAAE,uHAAA,mBAAmB,OAAA;AAC9C,qDAAwE;AAA/D,kHAAA,eAAe,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAC5C,mDAA6E;AAAzC,gHAAA,cAAc,OAAA;AAClD,6CAQuB;AALrB,2GAAA,YAAY,OAAA;AACZ,0GAAA,WAAW,OAAA;AACX,kHAAA,mBAAmB,OAAA;AACnB,+GAAA,gBAAgB,OAAA;AAChB,yGAAA,UAAU,OAAA;AAEZ,iDAMyB;AAJvB,kHAAA,iBAAiB,OAAA;AACjB,iHAAA,gBAAgB,OAAA;AAChB,gHAAA,eAAe,OAAA;AACf,sHAAA,qBAAqB,OAAA;AAEvB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAEtB,+DAA6E;AAApE,4HAAA,oBAAoB,OAAA;AAAE,qHAAA,aAAa,OAAA;AAC5C,yEAA4F;AAAnF,sIAAA,yBAAyB,OAAA;AAAE,+HAAA,kBAAkB,OAAA;AACtD,2DAAgH;AAAnF,4HAAA,sBAAsB,OAAA;AAAE,4GAAA,MAAM,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AACjF,6DAAqE;AAA5D,0HAAA,mBAAmB,OAAA;AAAE,8GAAA,OAAO,OAAA;AACrC,uEAAoF;AAA3E,oIAAA,wBAAwB,OAAA;AAAE,wHAAA,YAAY,OAAA;AAC/C,yDAM6B;AAJ3B,0HAAA,qBAAqB,OAAA;AACrB,gHAAA,WAAW,OAAA;AACX,8HAAA,yBAAyB,OAAA;AACzB,wHAAA,mBAAmB,OAAA;AAErB,+DAKgC;AAH9B,gIAAA,wBAAwB,OAAA;AACxB,yHAAA,iBAAiB,OAAA;AACjB,8HAAA,sBAAsB,OAAA;AAExB,iDAAmF;AAA3D,iHAAA,gBAAgB,OAAA;AAAE,gHAAA,eAAe,OAAA;AACzD,mDAAuF;AAA9D,mHAAA,iBAAiB,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AAC5D,2DAK8B;AAH5B,4HAAA,sBAAsB,OAAA;AACtB,2HAAA,qBAAqB,OAAA;AACrB,0HAAA,oBAAoB,OAAA;AAEtB,6EAKuC;AAHrC,8IAAA,+BAA+B,OAAA;AAC/B,6IAAA,8BAA8B,OAAA;AAC9B,4IAAA,6BAA6B,OAAA;AAE/B,2DAAmF;AAA1E,2HAAA,qBAAqB,OAAA;AAAE,0HAAA,oBAAoB,OAAA;AACpD,yDAK6B;AAH3B,0HAAA,qBAAqB,OAAA;AACrB,yHAAA,oBAAoB,OAAA;AACpB,wHAAA,mBAAmB,OAAA;AAErB,2DAK8B;AAF5B,gIAAA,0BAA0B,OAAA;AAC1B,0HAAA,oBAAoB,OAAA;AAEtB,6DAAwH;AAA/G,0HAAA,mBAAmB,OAAA;AAAE,2HAAA,oBAAoB,OAAA;AAAE,sHAAA,eAAe,OAAA;AAAE,0HAAA,mBAAmB,OAAA;AACxF,yCAAyF;AAApD,8GAAA,iBAAiB,OAAA;AAAE,wGAAA,WAAW,OAAA;AACnE,uCAAkD;AAA/B,sGAAA,UAAU,OAAA"}
@@ -0,0 +1,10 @@
1
+ import { Entity } from "./Entity";
2
+ import { EntityManager, MaybeAbstractEntityConstructor } from "./EntityManager";
3
+ /** Clears the soft-delete marker so a matched entity is updated instead of recreated. */
4
+ export declare function resurrectIfSoftDeleted(entity: Entity): void;
5
+ /**
6
+ * Finds an existing entity when the input fully covers one configured `uniqueBy` candidate.
7
+ * I.e. with `uniqueBy = [["email"], ["author", "title"]]`, `{ email }` or `{ authorId, title }` can lookup an existing row.
8
+ */
9
+ export declare function findExistingIfUniqueBy<T extends Entity>(em: EntityManager<any, any, any>, constructor: MaybeAbstractEntityConstructor<T>, input: object): Promise<T | undefined>;
10
+ //# sourceMappingURL=resurrection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resurrection.d.ts","sourceRoot":"","sources":["../src/resurrection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAgB,MAAM,iBAAiB,CAAC;AAI9F,yFAAyF;AACzF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAK3D;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAC3D,EAAE,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAChC,WAAW,EAAE,8BAA8B,CAAC,CAAC,CAAC,EAC9C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAyBxB"}