joist-core 2.2.0 → 2.3.0-next.2
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.
- package/build/Aliases.d.ts.map +1 -1
- package/build/Aliases.js.map +1 -1
- package/build/BaseEntity.d.ts +2 -0
- package/build/BaseEntity.d.ts.map +1 -1
- package/build/BaseEntity.js +1 -1
- package/build/BaseEntity.js.map +1 -1
- package/build/Entity.d.ts +1 -0
- package/build/Entity.d.ts.map +1 -1
- package/build/EntityFilter.d.ts +29 -10
- package/build/EntityFilter.d.ts.map +1 -1
- package/build/EntityFilter.js +18 -0
- package/build/EntityFilter.js.map +1 -1
- package/build/EntityGraphQLFilter.d.ts +3 -0
- package/build/EntityGraphQLFilter.d.ts.map +1 -1
- package/build/EntityGraphQLFilter.js.map +1 -1
- package/build/EntityManager.d.ts +36 -50
- package/build/EntityManager.d.ts.map +1 -1
- package/build/EntityManager.js +248 -124
- package/build/EntityManager.js.map +1 -1
- package/build/EntityMetadata.d.ts +48 -2
- package/build/EntityMetadata.d.ts.map +1 -1
- package/build/EntityMetadata.js +17 -0
- package/build/EntityMetadata.js.map +1 -1
- package/build/IndexManager.d.ts +5 -5
- package/build/IndexManager.d.ts.map +1 -1
- package/build/IndexManager.js +48 -32
- package/build/IndexManager.js.map +1 -1
- package/build/InstanceData.d.ts +16 -2
- package/build/InstanceData.d.ts.map +1 -1
- package/build/InstanceData.js +37 -4
- package/build/InstanceData.js.map +1 -1
- package/build/IsLoadedCache.d.ts.map +1 -1
- package/build/IsLoadedCache.js +31 -25
- package/build/IsLoadedCache.js.map +1 -1
- package/build/JoinRows.d.ts +54 -12
- package/build/JoinRows.d.ts.map +1 -1
- package/build/JoinRows.js +114 -44
- package/build/JoinRows.js.map +1 -1
- package/build/QueryParser.collectionJoins.js +8 -2
- package/build/QueryParser.collectionJoins.js.map +1 -1
- package/build/QueryParser.d.ts +15 -3
- package/build/QueryParser.d.ts.map +1 -1
- package/build/QueryParser.js +293 -190
- package/build/QueryParser.js.map +1 -1
- package/build/QueryParser.pruning.d.ts.map +1 -1
- package/build/QueryParser.pruning.js +8 -1
- package/build/QueryParser.pruning.js.map +1 -1
- package/build/QueryParser.test.d.ts +2 -0
- package/build/QueryParser.test.d.ts.map +1 -0
- package/build/QueryParser.test.js +27 -0
- package/build/QueryParser.test.js.map +1 -0
- package/build/ReactionsManager.d.ts +2 -1
- package/build/ReactionsManager.d.ts.map +1 -1
- package/build/ReactionsManager.js +53 -49
- package/build/ReactionsManager.js.map +1 -1
- package/build/Todo.d.ts +4 -0
- package/build/Todo.d.ts.map +1 -1
- package/build/Todo.js.map +1 -1
- package/build/batchloaders/BatchLoader.d.ts.map +1 -1
- package/build/batchloaders/BatchLoader.js +6 -1
- package/build/batchloaders/BatchLoader.js.map +1 -1
- package/build/batchloaders/enumCollectionBatchLoader.d.ts +7 -0
- package/build/batchloaders/enumCollectionBatchLoader.d.ts.map +1 -0
- package/build/batchloaders/enumCollectionBatchLoader.js +54 -0
- package/build/batchloaders/enumCollectionBatchLoader.js.map +1 -0
- package/build/batchloaders/manyToManyBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/manyToManyBatchLoader.js +10 -2
- package/build/batchloaders/manyToManyBatchLoader.js.map +1 -1
- package/build/batchloaders/populateBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/populateBatchLoader.js +26 -8
- package/build/batchloaders/populateBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveChildrenBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/recursiveChildrenBatchLoader.js +2 -0
- package/build/batchloaders/recursiveChildrenBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveM2mBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/recursiveM2mBatchLoader.js +1 -3
- package/build/batchloaders/recursiveM2mBatchLoader.js.map +1 -1
- package/build/batchloaders/recursiveParentsBatchLoader.d.ts.map +1 -1
- package/build/batchloaders/recursiveParentsBatchLoader.js +2 -0
- package/build/batchloaders/recursiveParentsBatchLoader.js.map +1 -1
- package/build/changes.d.ts +13 -0
- package/build/changes.d.ts.map +1 -1
- package/build/changes.js +49 -0
- package/build/changes.js.map +1 -1
- package/build/configure.d.ts +5 -3
- package/build/configure.d.ts.map +1 -1
- package/build/configure.js +70 -0
- package/build/configure.js.map +1 -1
- package/build/dataloaders/fastWhereFilterHash.d.ts +15 -0
- package/build/dataloaders/fastWhereFilterHash.d.ts.map +1 -0
- package/build/dataloaders/fastWhereFilterHash.js +164 -0
- package/build/dataloaders/fastWhereFilterHash.js.map +1 -0
- package/build/dataloaders/fastWhereFilterHash.test.d.ts +2 -0
- package/build/dataloaders/fastWhereFilterHash.test.d.ts.map +1 -0
- package/build/dataloaders/fastWhereFilterHash.test.js +59 -0
- package/build/dataloaders/fastWhereFilterHash.test.js.map +1 -0
- package/build/dataloaders/findCountDataLoader.d.ts +13 -4
- package/build/dataloaders/findCountDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findCountDataLoader.js +58 -15
- package/build/dataloaders/findCountDataLoader.js.map +1 -1
- package/build/dataloaders/findDataLoader.d.ts +49 -10
- package/build/dataloaders/findDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findDataLoader.js +217 -108
- package/build/dataloaders/findDataLoader.js.map +1 -1
- package/build/dataloaders/findIdsDataLoader.d.ts +1 -2
- package/build/dataloaders/findIdsDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findIdsDataLoader.js +18 -17
- package/build/dataloaders/findIdsDataLoader.js.map +1 -1
- package/build/dataloaders/findOrCreateDataLoader.d.ts.map +1 -1
- package/build/dataloaders/findOrCreateDataLoader.js +3 -3
- package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
- package/build/dataloaders/findPaginatedDataLoader.d.ts +7 -0
- package/build/dataloaders/findPaginatedDataLoader.d.ts.map +1 -0
- package/build/dataloaders/findPaginatedDataLoader.js +84 -0
- package/build/dataloaders/findPaginatedDataLoader.js.map +1 -0
- package/build/dataloaders/manyToManyFindDataLoader.js +7 -1
- package/build/dataloaders/manyToManyFindDataLoader.js.map +1 -1
- package/build/drivers/EntityWriter.js +13 -7
- package/build/drivers/EntityWriter.js.map +1 -1
- package/build/drivers/buildRawQuery.d.ts +6 -4
- package/build/drivers/buildRawQuery.d.ts.map +1 -1
- package/build/drivers/buildRawQuery.js +8 -4
- package/build/drivers/buildRawQuery.js.map +1 -1
- package/build/fields.d.ts +2 -0
- package/build/fields.d.ts.map +1 -1
- package/build/fields.js +18 -6
- package/build/fields.js.map +1 -1
- package/build/index.d.ts +3 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +4 -1
- package/build/index.js.map +1 -1
- package/build/keys.d.ts.map +1 -1
- package/build/keys.js +8 -6
- package/build/keys.js.map +1 -1
- package/build/loadHints.d.ts +13 -4
- package/build/loadHints.d.ts.map +1 -1
- package/build/loadHints.js +63 -9
- package/build/loadHints.js.map +1 -1
- package/build/loadLens.d.ts +11 -0
- package/build/loadLens.d.ts.map +1 -1
- package/build/loadLens.js +43 -10
- package/build/loadLens.js.map +1 -1
- package/build/newEntity.d.ts.map +1 -1
- package/build/newEntity.js +16 -14
- package/build/newEntity.js.map +1 -1
- package/build/newTestInstance.d.ts.map +1 -1
- package/build/newTestInstance.js +3 -0
- package/build/newTestInstance.js.map +1 -1
- package/build/normalizeHints.d.ts +7 -0
- package/build/normalizeHints.d.ts.map +1 -1
- package/build/normalizeHints.js +40 -2
- package/build/normalizeHints.js.map +1 -1
- package/build/preloading/JsonAggregatePreloader.d.ts.map +1 -1
- package/build/preloading/JsonAggregatePreloader.js +91 -9
- package/build/preloading/JsonAggregatePreloader.js.map +1 -1
- package/build/preloading/canPreload.d.ts +2 -2
- package/build/preloading/canPreload.d.ts.map +1 -1
- package/build/preloading/canPreload.js +3 -0
- package/build/preloading/canPreload.js.map +1 -1
- package/build/preloading/partitionHint.d.ts.map +1 -1
- package/build/preloading/partitionHint.js +10 -4
- package/build/preloading/partitionHint.js.map +1 -1
- package/build/reactiveHints.d.ts +2 -2
- package/build/reactiveHints.d.ts.map +1 -1
- package/build/reactiveHints.js +9 -0
- package/build/reactiveHints.js.map +1 -1
- package/build/relations/EnumCollection.d.ts +81 -0
- package/build/relations/EnumCollection.d.ts.map +1 -0
- package/build/relations/EnumCollection.js +211 -0
- package/build/relations/EnumCollection.js.map +1 -0
- package/build/relations/ManyToManyCollection.d.ts +1 -0
- package/build/relations/ManyToManyCollection.d.ts.map +1 -1
- package/build/relations/ManyToManyCollection.js +5 -2
- package/build/relations/ManyToManyCollection.js.map +1 -1
- package/build/relations/ManyToManyLargeCollection.d.ts +3 -2
- package/build/relations/ManyToManyLargeCollection.d.ts.map +1 -1
- package/build/relations/ManyToManyLargeCollection.js +7 -4
- package/build/relations/ManyToManyLargeCollection.js.map +1 -1
- package/build/relations/OneToManyCollection.d.ts.map +1 -1
- package/build/relations/OneToManyCollection.js +2 -2
- package/build/relations/OneToManyCollection.js.map +1 -1
- package/build/relations/OneToManyLargeCollection.d.ts.map +1 -1
- package/build/relations/OneToManyLargeCollection.js +2 -1
- package/build/relations/OneToManyLargeCollection.js.map +1 -1
- package/build/relations/ReactiveManyToMany.d.ts +1 -0
- package/build/relations/ReactiveManyToMany.d.ts.map +1 -1
- package/build/relations/ReactiveManyToMany.js +4 -1
- package/build/relations/ReactiveManyToMany.js.map +1 -1
- package/build/relations/ReactiveManyToManyOtherSide.d.ts +1 -0
- package/build/relations/ReactiveManyToManyOtherSide.d.ts.map +1 -1
- package/build/relations/ReactiveManyToManyOtherSide.js +4 -1
- package/build/relations/ReactiveManyToManyOtherSide.js.map +1 -1
- package/build/relations/RecursiveCollection.d.ts +2 -6
- package/build/relations/RecursiveCollection.d.ts.map +1 -1
- package/build/relations/RecursiveCollection.js +9 -17
- package/build/relations/RecursiveCollection.js.map +1 -1
- package/build/relations/RecursiveCycleError.d.ts +13 -0
- package/build/relations/RecursiveCycleError.d.ts.map +1 -0
- package/build/relations/RecursiveCycleError.js +15 -0
- package/build/relations/RecursiveCycleError.js.map +1 -0
- package/build/relations/hasOneThrough.d.ts.map +1 -1
- package/build/relations/hasOneThrough.js +6 -4
- package/build/relations/hasOneThrough.js.map +1 -1
- package/build/relations/hasProperty.d.ts +2 -1
- package/build/relations/hasProperty.d.ts.map +1 -1
- package/build/relations/hasProperty.js +15 -5
- package/build/relations/hasProperty.js.map +1 -1
- package/build/relations/index.d.ts +1 -0
- package/build/relations/index.d.ts.map +1 -1
- package/build/relations/index.js +5 -2
- package/build/relations/index.js.map +1 -1
- package/build/rules.js +1 -1
- package/build/rules.js.map +1 -1
- package/build/scopes.d.ts +185 -0
- package/build/scopes.d.ts.map +1 -0
- package/build/scopes.js +302 -0
- package/build/scopes.js.map +1 -0
- package/build/temporal.d.ts +32 -2
- package/build/temporal.d.ts.map +1 -1
- package/build/temporal.js +18 -0
- package/build/temporal.js.map +1 -1
- package/build/upsert.d.ts.map +1 -1
- package/build/upsert.js +9 -2
- package/build/upsert.js.map +1 -1
- package/build/utils.d.ts +2 -0
- package/build/utils.d.ts.map +1 -1
- package/build/utils.js +12 -0
- package/build/utils.js.map +1 -1
- package/package.json +8 -10
- package/build/caches.d.ts +0 -6
- package/build/caches.d.ts.map +0 -1
- package/build/caches.js +0 -42
- package/build/caches.js.map +0 -1
package/build/scopes.js
ADDED
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isScopeJoinFilter = isScopeJoinFilter;
|
|
4
|
+
exports.newScopeFn = newScopeFn;
|
|
5
|
+
exports.isScope = isScope;
|
|
6
|
+
exports.resolveScope = resolveScope;
|
|
7
|
+
exports.isSelectAllFilter = isSelectAllFilter;
|
|
8
|
+
const configure_1 = require("./configure");
|
|
9
|
+
/**
|
|
10
|
+
* Discriminates an {@link AliasFn} result that is a {@link ScopeJoinFilter} from a bare
|
|
11
|
+
* condition / condition array.
|
|
12
|
+
*
|
|
13
|
+
* A `ScopeJoinFilter` is the only `AliasFn` return that carries both `where` and `conditions`
|
|
14
|
+
* keys; `ExpressionFilter` (`and`/`or`), `ColumnCondition`/`RawCondition` (`kind`), and arrays
|
|
15
|
+
* have neither, so the two-key check is unambiguous.
|
|
16
|
+
*/
|
|
17
|
+
function isScopeJoinFilter(result) {
|
|
18
|
+
return (typeof result === "object" &&
|
|
19
|
+
result !== null &&
|
|
20
|
+
!Array.isArray(result) &&
|
|
21
|
+
"where" in result &&
|
|
22
|
+
"conditions" in result);
|
|
23
|
+
}
|
|
24
|
+
// Use a symbol so stored scope fragments cannot collide with user-defined scope names.
|
|
25
|
+
const kOps = Symbol("scopeOps");
|
|
26
|
+
const kResolver = Symbol("scopeResolver");
|
|
27
|
+
const kWithScopeOp = Symbol("scopeWithOp");
|
|
28
|
+
// Symbol-keyed so it can't collide with a user's named scope (e.g. `Author.resolve`), which the
|
|
29
|
+
// proxy would otherwise treat as a chained ref.
|
|
30
|
+
const kResolve = Symbol("scopeResolve");
|
|
31
|
+
/** Creates a per-entity, pre-typed scope function. */
|
|
32
|
+
function newScopeFn(entityType) {
|
|
33
|
+
// We won't immediately have access to the EntityMetadata during static field assignment, so provide a lazy handle
|
|
34
|
+
const resolver = {
|
|
35
|
+
entityType,
|
|
36
|
+
maybeGet: () => (0, configure_1.maybeGetMetadataForType)(entityType)?.cstr,
|
|
37
|
+
};
|
|
38
|
+
// Create the scopeFn
|
|
39
|
+
function scopeFn(arg) {
|
|
40
|
+
return newScope(resolver, [toOp(arg)]);
|
|
41
|
+
}
|
|
42
|
+
// But then also add the `.fn(...)` for parameterized scopes
|
|
43
|
+
scopeFn.fn = function scopeFn(fn) {
|
|
44
|
+
return (...args) => newScope(resolver, [toOp(fn(...args))]);
|
|
45
|
+
};
|
|
46
|
+
return scopeFn;
|
|
47
|
+
}
|
|
48
|
+
/** Returns true if `value` is one of our scope proxies. */
|
|
49
|
+
function isScope(value) {
|
|
50
|
+
// A scope is a callable Proxy (so parameterized refs like `Author.adult.named("a")` work), so it's
|
|
51
|
+
// always `typeof === "function"`; that guard also keeps the `in` checks from throwing on primitives.
|
|
52
|
+
return typeof value === "function" && kOps in value && kResolver in value;
|
|
53
|
+
}
|
|
54
|
+
/** Resolves a scope proxy into ordered filter fragments plus collapsed settings. */
|
|
55
|
+
function resolveScope(scope) {
|
|
56
|
+
return asScopeInternalApi(scope)[kResolve]();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Returns true for find filters that select every row of the entity type, i.e. an empty `{}` filter
|
|
60
|
+
* or a scope that resolved to no fragments.
|
|
61
|
+
*
|
|
62
|
+
* Used by `em.findCount` and the count dataloader to short-circuit in-memory delete adjustments, which
|
|
63
|
+
* are only safe when the query has no `where`/`conditions` to evaluate created/deleted entities against.
|
|
64
|
+
*/
|
|
65
|
+
function isSelectAllFilter(where, conditions) {
|
|
66
|
+
if (conditions !== undefined)
|
|
67
|
+
return false;
|
|
68
|
+
if (isScope(where))
|
|
69
|
+
return resolveScope(where).fragments.length === 0;
|
|
70
|
+
return Object.keys(where).length === 0;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Creates an immutable scope proxy with `ops` as its current scope fragments.
|
|
74
|
+
*
|
|
75
|
+
* The proxy target is a function so the proxy is callable (for parameterized refs
|
|
76
|
+
* like `Author.adult.named("a")`); unknown property accesses always record a `ref`
|
|
77
|
+
* op, with validation against the entity constructor deferred until `compile` runs.
|
|
78
|
+
*/
|
|
79
|
+
function newScope(resolver, ops) {
|
|
80
|
+
const terminals = new ScopeTerminals(resolver, ops);
|
|
81
|
+
function callable() { }
|
|
82
|
+
Object.defineProperty(callable, kOps, { value: ops });
|
|
83
|
+
Object.defineProperty(callable, kResolver, { value: resolver });
|
|
84
|
+
return new Proxy(callable, {
|
|
85
|
+
get(target, prop) {
|
|
86
|
+
if (prop === kOps || prop === kResolver)
|
|
87
|
+
return Reflect.get(target, prop);
|
|
88
|
+
if (typeof prop === "symbol" || prop in terminals) {
|
|
89
|
+
const value = Reflect.get(terminals, prop, terminals);
|
|
90
|
+
return typeof value === "function" ? value.bind(terminals) : value;
|
|
91
|
+
}
|
|
92
|
+
// `await scope` probes `.then`; returning undefined lets await resolve to the scope itself
|
|
93
|
+
// instead of treating the proxy as a thenable.
|
|
94
|
+
if (prop === "then")
|
|
95
|
+
return undefined;
|
|
96
|
+
return newScope(resolver, [...ops, { kind: "ref", name: prop }]);
|
|
97
|
+
},
|
|
98
|
+
apply(_target, _thisArg, args) {
|
|
99
|
+
// Invoked for chained parameterized refs, i.e. the `("a")` in `Author.adult.named("a")`.
|
|
100
|
+
const lastOp = ops[ops.length - 1];
|
|
101
|
+
if (lastOp?.kind !== "ref")
|
|
102
|
+
throw new Error(`Scope is not parameterized`);
|
|
103
|
+
return newScope(resolver, [...ops.slice(0, -1), { ...lastOp, args }]);
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Concrete builder/terminal methods for a scope proxy.
|
|
109
|
+
*
|
|
110
|
+
* The outer proxy handles dynamic named-scope access like `.popular`; this class handles
|
|
111
|
+
* fixed methods like `.where`, `.find`, and `.toFindArgs`.
|
|
112
|
+
*/
|
|
113
|
+
class ScopeTerminals {
|
|
114
|
+
#ops;
|
|
115
|
+
#resolver;
|
|
116
|
+
constructor(resolver, ops) {
|
|
117
|
+
this.#resolver = resolver;
|
|
118
|
+
this.#ops = ops;
|
|
119
|
+
}
|
|
120
|
+
get [kOps]() {
|
|
121
|
+
return this.#ops;
|
|
122
|
+
}
|
|
123
|
+
/** Flattens our recorded ops (resolving named refs, collapsing settings) into a {@link ResolvedScope}. */
|
|
124
|
+
[kResolve]() {
|
|
125
|
+
return resolveScopeOps(this.#resolver, this.#ops);
|
|
126
|
+
}
|
|
127
|
+
where(arg) {
|
|
128
|
+
return this[kWithScopeOp](toOp(arg));
|
|
129
|
+
}
|
|
130
|
+
orderBy(orderBy) {
|
|
131
|
+
return this[kWithScopeOp]({ kind: "orderBy", orderBy });
|
|
132
|
+
}
|
|
133
|
+
limit(limit) {
|
|
134
|
+
return this[kWithScopeOp]({ kind: "limit", limit });
|
|
135
|
+
}
|
|
136
|
+
offset(offset) {
|
|
137
|
+
return this[kWithScopeOp]({ kind: "offset", offset });
|
|
138
|
+
}
|
|
139
|
+
softDeletes(value) {
|
|
140
|
+
return this[kWithScopeOp]({ kind: "softDeletes", value });
|
|
141
|
+
}
|
|
142
|
+
toFindArgs() {
|
|
143
|
+
return compile(this.#resolver, this.#ops);
|
|
144
|
+
}
|
|
145
|
+
find(em, opts) {
|
|
146
|
+
const args = compile(this.#resolver, this.#ops);
|
|
147
|
+
return em.find(resolveCstr(this.#resolver), args.where, toFindOptions(args, opts));
|
|
148
|
+
}
|
|
149
|
+
findOne(em, opts) {
|
|
150
|
+
const args = compile(this.#resolver, this.#ops);
|
|
151
|
+
return em.findOne(resolveCstr(this.#resolver), args.where, toFindOptions(args, opts));
|
|
152
|
+
}
|
|
153
|
+
findOneOrFail(em, opts) {
|
|
154
|
+
const args = compile(this.#resolver, this.#ops);
|
|
155
|
+
return em.findOneOrFail(resolveCstr(this.#resolver), args.where, toFindOptions(args, opts));
|
|
156
|
+
}
|
|
157
|
+
findCount(em) {
|
|
158
|
+
const args = compile(this.#resolver, this.#ops);
|
|
159
|
+
return em.findCount(resolveCstr(this.#resolver), args.where, toCountOptions(args));
|
|
160
|
+
}
|
|
161
|
+
findIds(em) {
|
|
162
|
+
const args = compile(this.#resolver, this.#ops);
|
|
163
|
+
return em.findIds(resolveCstr(this.#resolver), args.where, toCountOptions(args));
|
|
164
|
+
}
|
|
165
|
+
/** Returns a new scope with one more recorded operation. */
|
|
166
|
+
[kWithScopeOp](op) {
|
|
167
|
+
return newScope(this.#resolver, [...this.#ops, op]);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/** Compiles the ordered scope ops into Joist's existing find args shape. */
|
|
171
|
+
function compile(resolver, ops) {
|
|
172
|
+
const resolved = resolveScopeOps(resolver, ops);
|
|
173
|
+
return {
|
|
174
|
+
// A scope is a valid `FindFilter` `where`, so `em.find` re-parses & expands its fragments.
|
|
175
|
+
where: newScope(resolver, resolved.fragments),
|
|
176
|
+
orderBy: resolved.orderBys.length ? resolved.orderBys : undefined,
|
|
177
|
+
limit: resolved.limit,
|
|
178
|
+
offset: resolved.offset,
|
|
179
|
+
softDeletes: resolved.softDeletes,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
/** Resolves ordered scope ops into filter fragments and root-only settings. */
|
|
183
|
+
function resolveScopeOps(resolver, ops) {
|
|
184
|
+
const fragments = [];
|
|
185
|
+
const orderBys = [];
|
|
186
|
+
const refArgKeys = new WeakMap();
|
|
187
|
+
const nextRefArgKey = { value: 0 };
|
|
188
|
+
let limit;
|
|
189
|
+
let offset;
|
|
190
|
+
let softDeletes;
|
|
191
|
+
function expand(currentOps, seen) {
|
|
192
|
+
for (const op of currentOps) {
|
|
193
|
+
switch (op.kind) {
|
|
194
|
+
case "alias":
|
|
195
|
+
case "filter":
|
|
196
|
+
fragments.push(op);
|
|
197
|
+
break;
|
|
198
|
+
case "orderBy":
|
|
199
|
+
if (Array.isArray(op.orderBy))
|
|
200
|
+
orderBys.push(...op.orderBy);
|
|
201
|
+
else
|
|
202
|
+
orderBys.push(op.orderBy);
|
|
203
|
+
break;
|
|
204
|
+
case "limit":
|
|
205
|
+
limit = op.limit;
|
|
206
|
+
break;
|
|
207
|
+
case "offset":
|
|
208
|
+
offset = op.offset;
|
|
209
|
+
break;
|
|
210
|
+
case "softDeletes":
|
|
211
|
+
softDeletes = op.value;
|
|
212
|
+
break;
|
|
213
|
+
case "ref": {
|
|
214
|
+
const key = scopeRefKey(op, refArgKeys, nextRefArgKey);
|
|
215
|
+
if (seen.has(key))
|
|
216
|
+
break;
|
|
217
|
+
seen.add(key);
|
|
218
|
+
expand(scopeOpsForRef(resolver, op), seen);
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
expand(ops, new Set());
|
|
225
|
+
return { fragments, orderBys, limit, offset, softDeletes };
|
|
226
|
+
}
|
|
227
|
+
/** Resolves a recorded named-scope ref to its underlying ops. */
|
|
228
|
+
function scopeOpsForRef(resolver, op) {
|
|
229
|
+
const cstr = resolveCstr(resolver);
|
|
230
|
+
const sibling = cstr[op.name];
|
|
231
|
+
if (op.args) {
|
|
232
|
+
// Scope proxies are also `typeof === "function"`, so explicitly reject them via `isScope`.
|
|
233
|
+
if (typeof sibling !== "function" || isScope(sibling)) {
|
|
234
|
+
throw new Error(`Scope ${resolver.entityType}.${op.name} is not parameterized`);
|
|
235
|
+
}
|
|
236
|
+
return scopeOpsFromValue(resolver, op.name, sibling(...op.args));
|
|
237
|
+
}
|
|
238
|
+
return scopeOpsFromValue(resolver, op.name, sibling);
|
|
239
|
+
}
|
|
240
|
+
/** Extracts recorded scope ops from a resolved static field. */
|
|
241
|
+
function scopeOpsFromValue(resolver, name, value) {
|
|
242
|
+
if (isScope(value))
|
|
243
|
+
return asScopeInternalApi(value)[kOps];
|
|
244
|
+
if (value === undefined)
|
|
245
|
+
throw new Error(`Invalid scope ${resolver.entityType}.${name}`);
|
|
246
|
+
if (typeof value === "function")
|
|
247
|
+
throw new Error(`Scope ${resolver.entityType}.${name} requires arguments`);
|
|
248
|
+
throw new Error(`${resolver.entityType}.${name} is not a scope`);
|
|
249
|
+
}
|
|
250
|
+
/** Creates a cycle key for named-scope refs without serializing arbitrary entities/functions. */
|
|
251
|
+
function scopeRefKey(op, refArgKeys, nextRefArgKey) {
|
|
252
|
+
return op.args
|
|
253
|
+
? `${op.name}(${op.args.map((arg) => scopeRefArgKey(arg, refArgKeys, nextRefArgKey)).join(",")})`
|
|
254
|
+
: op.name;
|
|
255
|
+
}
|
|
256
|
+
/** Creates a stable per-resolution key for one named-scope argument. */
|
|
257
|
+
function scopeRefArgKey(arg, refArgKeys, nextRefArgKey) {
|
|
258
|
+
if ((typeof arg === "object" && arg !== null) || typeof arg === "function") {
|
|
259
|
+
let key = refArgKeys.get(arg);
|
|
260
|
+
if (key === undefined) {
|
|
261
|
+
key = nextRefArgKey.value;
|
|
262
|
+
nextRefArgKey.value += 1;
|
|
263
|
+
refArgKeys.set(arg, key);
|
|
264
|
+
}
|
|
265
|
+
return `${typeof arg}:${key}`;
|
|
266
|
+
}
|
|
267
|
+
return `${typeof arg}:${JSON.stringify(String(arg))}`;
|
|
268
|
+
}
|
|
269
|
+
/** Narrows a known scope proxy to its internal-only (symbol-keyed) API. */
|
|
270
|
+
function asScopeInternalApi(scope) {
|
|
271
|
+
if (!isScope(scope))
|
|
272
|
+
throw new Error("Invalid scope");
|
|
273
|
+
return scope;
|
|
274
|
+
}
|
|
275
|
+
/** Resolves the lazy entity constructor. */
|
|
276
|
+
function resolveCstr(resolver) {
|
|
277
|
+
const cstr = resolver.maybeGet();
|
|
278
|
+
if (cstr === undefined)
|
|
279
|
+
throw new Error(`Unknown type ${resolver.entityType}`);
|
|
280
|
+
return cstr;
|
|
281
|
+
}
|
|
282
|
+
/** Converts a scope declaration argument into a recorded op. */
|
|
283
|
+
function toOp(arg) {
|
|
284
|
+
return typeof arg === "function"
|
|
285
|
+
? { kind: "alias", fn: arg }
|
|
286
|
+
: { kind: "filter", filter: arg };
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Pulls the option half of `FilterAndSettings` back out for `em.find`.
|
|
290
|
+
*
|
|
291
|
+
* The scope's recorded settings are the defaults; terminal `opts` (orderBy/limit/offset/conditions/
|
|
292
|
+
* populate) override. The scope itself carries no `conditions` — it compiles to a `where` scope that
|
|
293
|
+
* `em.find` expands — so the only conditions are the caller's, which flow through the `...opts` spread.
|
|
294
|
+
*/
|
|
295
|
+
function toFindOptions(args, opts) {
|
|
296
|
+
return { orderBy: args.orderBy, limit: args.limit, offset: args.offset, softDeletes: args.softDeletes, ...opts };
|
|
297
|
+
}
|
|
298
|
+
/** Like `toFindOptions`, but drops the `orderBy`/`limit`/`offset` that `findCount`/`findIds` ignore. */
|
|
299
|
+
function toCountOptions(args) {
|
|
300
|
+
return { softDeletes: args.softDeletes };
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=scopes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scopes.js","sourceRoot":"","sources":["../src/scopes.ts"],"names":[],"mappings":"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"}
|
package/build/temporal.d.ts
CHANGED
|
@@ -1,9 +1,39 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Intl, type Temporal as TemporalType, type toTemporalInstant } from "temporal-polyfill";
|
|
2
2
|
type RequireTemporal = {
|
|
3
|
-
Temporal: typeof
|
|
3
|
+
Temporal: typeof TemporalType;
|
|
4
4
|
toTemporalInstant: typeof toTemporalInstant;
|
|
5
5
|
Intl: typeof Intl;
|
|
6
6
|
};
|
|
7
|
+
/**
|
|
8
|
+
* Lazily exposes Joist's native-first / polyfill-fallback Temporal detection.
|
|
9
|
+
*
|
|
10
|
+
* This is useful while the joist-orm repo itself has both pre-Node 26, and post-Node 26
|
|
11
|
+
* test coverage, b/c our CI test suite needs the same a) codegen output and b) test suites
|
|
12
|
+
* to "just work" with either Node 24/25 or Node 26, which means they can't have an explicit
|
|
13
|
+
* import to either `temporal-polyfill` or the `Temporal` global.
|
|
14
|
+
*
|
|
15
|
+
* This is exactly what Joist's internal temporal resolution was already working around, so
|
|
16
|
+
* this just exposes an `import { Temporal } from joist-orm` that lets the codegen & tests
|
|
17
|
+
* reuse the same abstraction.
|
|
18
|
+
*/
|
|
19
|
+
export declare const Temporal: typeof TemporalType;
|
|
20
|
+
/**
|
|
21
|
+
* A type-only `Temporal` namespace that merges with the `const Temporal` above.
|
|
22
|
+
*
|
|
23
|
+
* The `const` is only a value, so using `Temporal.PlainDate` / `Temporal.ZonedDateTime` as a
|
|
24
|
+
* type needs a namespace to resolve against. Node 26 has that as a global, but older Node
|
|
25
|
+
* versions don't, so we add it here by pointing the names at `temporal-polyfill`'s types.
|
|
26
|
+
*/
|
|
27
|
+
export declare namespace Temporal {
|
|
28
|
+
type Instant = TemporalType.Instant;
|
|
29
|
+
type ZonedDateTime = TemporalType.ZonedDateTime;
|
|
30
|
+
type PlainDate = TemporalType.PlainDate;
|
|
31
|
+
type PlainTime = TemporalType.PlainTime;
|
|
32
|
+
type PlainDateTime = TemporalType.PlainDateTime;
|
|
33
|
+
type PlainYearMonth = TemporalType.PlainYearMonth;
|
|
34
|
+
type PlainMonthDay = TemporalType.PlainMonthDay;
|
|
35
|
+
type Duration = TemporalType.Duration;
|
|
36
|
+
}
|
|
7
37
|
/**
|
|
8
38
|
* Conditionally/dynamically requires `temporal-polyfill`.
|
|
9
39
|
*
|
package/build/temporal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporal.d.ts","sourceRoot":"","sources":["../src/temporal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"temporal.d.ts","sourceRoot":"","sources":["../src/temporal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,IAAI,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGrG,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,OAAO,YAAY,CAAC;IAC9B,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,IAAI,EAAE,OAAO,IAAI,CAAC;CACnB,CAAC;AAGF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,EAOhB,OAAO,YAAY,CAAC;AAEzB;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IAChC,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;IAC3C,KAAY,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;IACvD,KAAY,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAC/C,KAAY,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAC/C,KAAY,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;IACvD,KAAY,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC;IACzD,KAAY,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;IACvD,KAAY,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;CAC9C;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,GAAG,SAAS,CA2BlE;AAED,wBAAgB,eAAe,IAAI,eAAe,CAEjD"}
|
package/build/temporal.js
CHANGED
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Temporal = void 0;
|
|
3
4
|
exports.maybeRequireTemporal = maybeRequireTemporal;
|
|
4
5
|
exports.requireTemporal = requireTemporal;
|
|
5
6
|
const utils_1 = require("./utils");
|
|
6
7
|
let temporal;
|
|
8
|
+
/**
|
|
9
|
+
* Lazily exposes Joist's native-first / polyfill-fallback Temporal detection.
|
|
10
|
+
*
|
|
11
|
+
* This is useful while the joist-orm repo itself has both pre-Node 26, and post-Node 26
|
|
12
|
+
* test coverage, b/c our CI test suite needs the same a) codegen output and b) test suites
|
|
13
|
+
* to "just work" with either Node 24/25 or Node 26, which means they can't have an explicit
|
|
14
|
+
* import to either `temporal-polyfill` or the `Temporal` global.
|
|
15
|
+
*
|
|
16
|
+
* This is exactly what Joist's internal temporal resolution was already working around, so
|
|
17
|
+
* this just exposes an `import { Temporal } from joist-orm` that lets the codegen & tests
|
|
18
|
+
* reuse the same abstraction.
|
|
19
|
+
*/
|
|
20
|
+
exports.Temporal = new Proxy({}, {
|
|
21
|
+
get(_target, property, receiver) {
|
|
22
|
+
return Reflect.get(requireTemporal().Temporal, property, receiver);
|
|
23
|
+
},
|
|
24
|
+
});
|
|
7
25
|
/**
|
|
8
26
|
* Conditionally/dynamically requires `temporal-polyfill`.
|
|
9
27
|
*
|
package/build/temporal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporal.js","sourceRoot":"","sources":["../src/temporal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"temporal.js","sourceRoot":"","sources":["../src/temporal.ts"],"names":[],"mappings":";;;AAuDA,oDA2BC;AAED,0CAEC;AArFD,mCAA+B;AAO/B,IAAI,QAA6C,CAAC;AAElD;;;;;;;;;;;GAWG;AACU,QAAA,QAAQ,GAAG,IAAI,KAAK,CAC/B,EAAE,EACF;IACE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ;QAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;CACF,CACqB,CAAC;AAoBzB;;;;;GAKG;AACH,SAAgB,oBAAoB;IAClC,+EAA+E;IAC/E,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACzC,oDAAoD;IACpD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,mCAAmC;IACnC,IAAI,UAAU,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QAC7C,QAAQ,GAAG;YACT,QAAQ,EAAE,MAAM,CAAC,QAA2B;YAC5C,iBAAiB,EAAG,IAAI,CAAC,SAAiB,CAAC,iBAAiB;YAC5D,IAAI,EAAE,MAAM,CAAC,IAAmB;SACjC,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,8CAA8C;IAC9C,IAAI,CAAC;QACH,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACxC,OAAO,QAA2B,CAAC;IACrC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IACd,gDAAgD;IAChD,IAAI,CAAC;QACH,QAAQ,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC5C,OAAO,QAA2B,CAAC;IACrC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IACd,mCAAmC;IACnC,QAAQ,GAAG,KAAK,CAAC;IACjB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,eAAe;IAC7B,OAAO,oBAAoB,EAAE,IAAI,IAAA,YAAI,EAAC,0CAA0C,CAAC,CAAC;AACpF,CAAC"}
|
package/build/upsert.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upsert.d.ts","sourceRoot":"","sources":["../src/upsert.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,IAAI,EAAS,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EAIL,aAAa,EAGd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAW,MAAM,SAAS,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,IAAI;IAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;CAAE,GAAG,yCAAyC,CACnH,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CACvC,GACC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEd,8DAA8D;AAC9D,KAAK,eAAe,GAAG;IACrB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,CAAC;CACtD,CAAC;AAEF,2CAA2C;AAC3C,KAAK,UAAU,GAAG;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,KAAK,yCAAyC,CAAC,CAAC,IAAI;KACjD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,CAAC,CAAC,GACjD,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,CAAC,SAAS,MAAM,GACd,KAAK,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GACpE,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,SAAS,MAAM,GACd,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GACxD,CAAC,CAAC,CAAC,CAAC,GACR,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"upsert.d.ts","sourceRoot":"","sources":["../src/upsert.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,IAAI,EAAS,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EAIL,aAAa,EAGd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAW,MAAM,SAAS,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,IAAI;IAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;CAAE,GAAG,yCAAyC,CACnH,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CACvC,GACC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEd,8DAA8D;AAC9D,KAAK,eAAe,GAAG;IACrB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,CAAC;CACtD,CAAC;AAEF,2CAA2C;AAC3C,KAAK,UAAU,GAAG;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,KAAK,yCAAyC,CAAC,CAAC,IAAI;KACjD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,CAAC,CAAC,GACjD,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,CAAC,SAAS,MAAM,GACd,KAAK,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GACpE,CAAC,CAAC,CAAC,CAAC,GACN,CAAC,SAAS,MAAM,GACd,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GACxD,CAAC,CAAC,CAAC,CAAC,GACR,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAyM3G;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,CAAC,SAAS,MAAM,EAC3C,EAAE,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAChC,WAAW,EAAE,8BAA8B,CAAC,CAAC,CAAC,EAC9C,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,CAAC,CAAC,CAcZ"}
|
package/build/upsert.js
CHANGED
|
@@ -140,8 +140,10 @@ async function updatePartial(entity, input) {
|
|
|
140
140
|
const values = (0, utils_1.toArray)(value);
|
|
141
141
|
const otherMeta = field.otherMetadata();
|
|
142
142
|
const maybeSoftDelete = otherMeta.timestampFields?.deletedAt;
|
|
143
|
-
// Incremental handling
|
|
144
|
-
|
|
143
|
+
// Incremental handling. Detect incremental mode by a meaningful `op` value--`op: undefined`/`op: null`
|
|
144
|
+
// is the natural shape of an optional field and must behave like "no op", consistent with how
|
|
145
|
+
// updatePartial treats `value === undefined` and how delete/remove are read by truthiness.
|
|
146
|
+
const anyValueHasOp = values.some((v) => v && typeof v === "object" && !(0, Entity_1.isEntity)(v) && v.op != null);
|
|
145
147
|
if (anyValueHasOp) {
|
|
146
148
|
let anyValueMissingOp = false;
|
|
147
149
|
const current = entity[name];
|
|
@@ -171,6 +173,11 @@ async function updatePartial(entity, input) {
|
|
|
171
173
|
else if (op === "incremental") {
|
|
172
174
|
// This is a marker entry, just ignore it
|
|
173
175
|
}
|
|
176
|
+
else {
|
|
177
|
+
// A child entered incremental mode (a sibling had a real op) but has no op of its own;
|
|
178
|
+
// never silently skip it--flag it so the guard below throws instead of dropping the row.
|
|
179
|
+
anyValueMissingOp = true;
|
|
180
|
+
}
|
|
174
181
|
}));
|
|
175
182
|
if (anyValueMissingOp) {
|
|
176
183
|
throw new Error("If any child sets the `op` key, then all children must have the `op` key.");
|
package/build/upsert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upsert.js","sourceRoot":"","sources":["../src/upsert.ts"],"names":[],"mappings":";;AA4DA,
|
|
1
|
+
{"version":3,"file":"upsert.js","sourceRoot":"","sources":["../src/upsert.ts"],"names":[],"mappings":"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"}
|
package/build/utils.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ export type MaybePromise<T> = T | Promise<T>;
|
|
|
17
17
|
export declare function maybePromiseThen<T, U>(promiseOrObj: MaybePromise<T>, callback: (obj: T) => U): MaybePromise<U>;
|
|
18
18
|
export declare function failIfAnyRejected<T>(results: PromiseSettledResult<T>[]): T[];
|
|
19
19
|
export declare function getOrSet<T extends Record<keyof unknown, unknown>>(record: T, key: keyof T, defaultValue: T[keyof T] | (() => T[keyof T])): T[keyof T];
|
|
20
|
+
/** Defines a getter that replaces itself with its computed value on first access. */
|
|
21
|
+
export declare function defineLazyGetter<T extends object, K extends keyof T>(obj: T, key: K, build: () => T[K]): void;
|
|
20
22
|
/**
|
|
21
23
|
* A utility to ensure a Promise-returning method actually returns a promise and doesn't
|
|
22
24
|
* early exit. Using `async function` guarantees these semantics, but sometimes we avoid
|
package/build/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/build/utils.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.maybePromiseThen = maybePromiseThen;
|
|
4
4
|
exports.failIfAnyRejected = failIfAnyRejected;
|
|
5
5
|
exports.getOrSet = getOrSet;
|
|
6
|
+
exports.defineLazyGetter = defineLazyGetter;
|
|
6
7
|
exports.tryResolve = tryResolve;
|
|
7
8
|
exports.fail = fail;
|
|
8
9
|
exports.remove = remove;
|
|
@@ -54,6 +55,17 @@ function getOrSet(record, key, defaultValue) {
|
|
|
54
55
|
}
|
|
55
56
|
return record[key];
|
|
56
57
|
}
|
|
58
|
+
/** Defines a getter that replaces itself with its computed value on first access. */
|
|
59
|
+
function defineLazyGetter(obj, key, build) {
|
|
60
|
+
Object.defineProperty(obj, key, {
|
|
61
|
+
configurable: true,
|
|
62
|
+
get: function getLazyProperty() {
|
|
63
|
+
const value = build();
|
|
64
|
+
Object.defineProperty(obj, key, { configurable: true, value });
|
|
65
|
+
return value;
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
}
|
|
57
69
|
/**
|
|
58
70
|
* A utility to ensure a Promise-returning method actually returns a promise and doesn't
|
|
59
71
|
* early exit. Using `async function` guarantees these semantics, but sometimes we avoid
|
package/build/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AAoBA,4CAEC;AAED,8CAOC;AAED,4BASC;AAOD,gCAMC;AAED,oBAEC;AAED,wBAKC;AAED,kCAEC;AAED,4BAIC;AAED,sBAEC;AAGD,wBAEC;AAED,0BAUC;AAED,0BAOC;AAED,0BAMC;AAED,8BAWC;AAGD,0BAEC;AAKD,kCAEC;AAED,oCAKC;AAWD,sBAEC;AAED,sCA8BC;AAID,oDASC;AAKD,4CAOC;AAGD,4BAEC;AAGD,sCAUC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AAoBA,4CAEC;AAED,8CAOC;AAED,4BASC;AAGD,4CASC;AAOD,gCAMC;AAED,oBAEC;AAED,wBAKC;AAED,kCAEC;AAED,4BAIC;AAED,sBAEC;AAGD,wBAEC;AAED,0BAUC;AAED,0BAOC;AAED,0BAMC;AAED,8BAWC;AAGD,0BAEC;AAKD,kCAEC;AAED,oCAKC;AAWD,sBAEC;AAED,sCA8BC;AAID,oDASC;AAKD,4CAOC;AAGD,4BAEC;AAGD,sCAUC;AApPD,mDAA4C;AAE5C,2CAA2D;AAI3D;;;;;;;;;;;GAWG;AACH,SAAgB,gBAAgB,CAAO,YAA6B,EAAE,QAAuB;IAC3F,OAAO,YAAY,YAAY,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAChG,CAAC;AAED,SAAgB,iBAAiB,CAAI,OAAkC;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IAC/D,mEAAmE;IACnE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC3D,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAA+B,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,SAAgB,QAAQ,CACtB,MAAS,EACT,GAAY,EACZ,YAA6C;IAE7C,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,YAAY,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;IACjF,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,qFAAqF;AACrF,SAAgB,gBAAgB,CAAsC,GAAM,EAAE,GAAM,EAAE,KAAiB;IACrG,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE;QAC9B,YAAY,EAAE,IAAI;QAClB,GAAG,EAAE,SAAS,eAAe;YAC3B,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/D,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAI,EAAW;IACvC,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAgB,IAAI,CAAC,OAAgB;IACnC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,MAAM,CAAI,KAAU,EAAE,CAAI;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;QACf,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAI,KAAsB,EAAE,CAAI;IACzD,IAAI,KAAK;QAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,QAAQ,CAAI,KAAU,EAAE,CAAI;IAC1C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAgB,KAAK,CAAI,KAAU;IACjC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,0CAA0C;AAC1C,SAAgB,MAAM,CAAC,CAAS;IAC9B,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,OAAO,CAAuB,IAAkB,EAAE,EAAe,EAAE,OAAqB;IACtG,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAE,CAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,OAAO,CAAuB,IAAS,EAAE,EAAe,EAAE,OAAqB;IAC7F,MAAM,MAAM,GAAG,IAAI,GAAG,EAAQ,CAAC;IAC/B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAE,CAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,OAAO,CAAI,IAAc,EAAE,CAAS;IAClD,MAAM,MAAM,GAAG,EAAW,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,SAAS,CAAI,KAAuB,EAAE,CAAqB;IACzE,MAAM,YAAY,GAAQ,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAQ,EAAE,CAAC;IAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACnB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACV,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACvC,CAAC;AAED,wFAAwF;AACxF,SAAgB,OAAO,CAAI,UAAsC;IAC/D,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AACtH,CAAC;AAKD,SAAgB,WAAW,CAAC,CAAQ;IAClC,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,YAAY,CAAC,SAAiB;IAC5C,OAAO,SAAS;SACb,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAChB,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,KAAK,CAAmB,MAAS;IAC/C,OAAO,MAAgB,CAAC;AAC1B,CAAC;AAED,SAAgB,aAAa,CAAC,EAAO,EAAE,EAAO,EAAE,SAAkB;IAChE,MAAM,CAAC,GAAG,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,IAAA,2BAAe,EAAC,EAAE,CAAC,EAAE,CAAC;QACxB,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;IAC/B,CAAC;IACD,IAAI,IAAA,2BAAe,EAAC,EAAE,CAAC,EAAE,CAAC;QACxB,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;IAC/B,CAAC;IACD,IAAI,IAAA,uBAAW,EAAC,EAAE,CAAC,IAAI,IAAA,uBAAW,EAAC,EAAE,CAAC,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,IAAK,EAAU,CAAC,GAAG,EAAE,WAAW,CAAC;QAC3D,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,IAAK,EAAU,CAAC,GAAG,EAAE,WAAW,CAAC;QAC3D,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,yDAAyD;YACnF,IAAI,MAAM;gBAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,sDAAsD;QACnF,CAAC;QACD,EAAE,GAAG,EAAE,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAK,EAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,SAAS,CAAC;QACnF,EAAE,GAAG,EAAE,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAK,EAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,SAAS,CAAC;IACrF,CAAC;IACD,IAAI,CAAC,IAAA,yBAAS,EAAC,EAAE,CAAC,IAAI,CAAC,IAAA,yBAAS,EAAC,EAAE,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,EAAE,YAAY,IAAI,IAAI,EAAE,YAAY,IAAI,EAAE,CAAC;QACpD,OAAO,CAAE,EAAW,CAAC,OAAO,EAAE,GAAI,EAAW,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,6BAA6B,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,iEAAiE;AACjE,SAAgB,oBAAoB,CAAC,MAAW,EAAE,MAAW;IAC3D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,4EAA4E;QAC5E,8EAA8E;QAC9E,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAChB,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,OAAO,GAAG,KAAK,CAAC;AACtB,MAAM,WAAW,GAAG,MAAM,CAAC;AAE3B,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,uDAAuD;IACvD,IAAI,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnG,mDAAmD;IACnD,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,kEAAkE;IAClE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,2GAA2G;AAC3G,SAAgB,QAAQ,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACnE,CAAC;AAED,0DAA0D;AAC1D,SAAgB,aAAa,CAAoB,IAA6B;IAC5E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAK,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,CAAC,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "joist-core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0-next.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -20,25 +20,23 @@
|
|
|
20
20
|
"build"
|
|
21
21
|
],
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"joist-utils": "2.
|
|
23
|
+
"joist-utils": "2.3.0-next.2"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"dataloader": "^2.2.3",
|
|
29
|
-
"object-hash": "^3.0.0"
|
|
26
|
+
"ansis": "^4.3.1",
|
|
27
|
+
"dataloader": "^2.2.3"
|
|
30
28
|
},
|
|
31
29
|
"devDependencies": {
|
|
32
|
-
"@swc/core": "^1.15.
|
|
30
|
+
"@swc/core": "^1.15.43",
|
|
33
31
|
"@swc/jest": "^0.2.39",
|
|
34
32
|
"@types/jest": "^30.0.0",
|
|
35
|
-
"@types/node": "^
|
|
33
|
+
"@types/node": "^26.0.1",
|
|
36
34
|
"jest": "30.4.2",
|
|
37
|
-
"prettier": "^3.8.
|
|
35
|
+
"prettier": "^3.8.4",
|
|
38
36
|
"prettier-plugin-organize-imports": "^4.3.0",
|
|
39
37
|
"temporal-polyfill": "^0.3.2",
|
|
40
38
|
"ts-node-dev": "^2.0.0",
|
|
41
39
|
"tsconfig-paths": "^4.2.0",
|
|
42
|
-
"typescript": "
|
|
40
|
+
"typescript": "6.0.3"
|
|
43
41
|
}
|
|
44
42
|
}
|
package/build/caches.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Reactable, ReactiveRule } from "./config";
|
|
2
|
-
import { EntityMetadata } from "./EntityMetadata";
|
|
3
|
-
export declare function getReactables(meta: EntityMetadata): Reactable[];
|
|
4
|
-
export declare function getReactablesIncludingReadOnly(meta: EntityMetadata): Reactable[];
|
|
5
|
-
export declare function getReactiveRules(meta: EntityMetadata): ReactiveRule[];
|
|
6
|
-
//# sourceMappingURL=caches.d.ts.map
|
package/build/caches.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"caches.d.ts","sourceRoot":"","sources":["../src/caches.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,cAAc,EAA+C,MAAM,kBAAkB,CAAC;AAO/F,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,EAAE,CAS/D;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,EAAE,CAOhF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,YAAY,EAAE,CAYrE"}
|