effect-dynamodb 1.22.0 → 1.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Aggregate.d.ts +9 -4
- package/dist/Aggregate.d.ts.map +1 -1
- package/dist/Aggregate.js +644 -219
- package/dist/Aggregate.js.map +1 -1
- package/dist/Batch.d.ts +7 -0
- package/dist/Batch.d.ts.map +1 -1
- package/dist/Batch.js +132 -7
- package/dist/Batch.js.map +1 -1
- package/dist/Collection.d.ts.map +1 -1
- package/dist/Collection.js +13 -31
- package/dist/Collection.js.map +1 -1
- package/dist/DynamoClient.d.ts +40 -3
- package/dist/DynamoClient.d.ts.map +1 -1
- package/dist/DynamoClient.js +70 -19
- package/dist/DynamoClient.js.map +1 -1
- package/dist/Entity.d.ts +138 -55
- package/dist/Entity.d.ts.map +1 -1
- package/dist/Entity.js +3061 -626
- package/dist/Entity.js.map +1 -1
- package/dist/EventStore.d.ts +15 -6
- package/dist/EventStore.d.ts.map +1 -1
- package/dist/EventStore.js +169 -148
- package/dist/EventStore.js.map +1 -1
- package/dist/Query.d.ts +75 -3
- package/dist/Query.d.ts.map +1 -1
- package/dist/Query.js +228 -30
- package/dist/Query.js.map +1 -1
- package/dist/Transaction.d.ts +13 -2
- package/dist/Transaction.d.ts.map +1 -1
- package/dist/Transaction.js +48 -38
- package/dist/Transaction.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/BoundCrud.d.ts +31 -20
- package/dist/internal/BoundCrud.d.ts.map +1 -1
- package/dist/internal/BoundCrud.js +1 -1
- package/dist/internal/BoundCrud.js.map +1 -1
- package/dist/internal/BoundQuery.d.ts +47 -2
- package/dist/internal/BoundQuery.d.ts.map +1 -1
- package/dist/internal/BoundQuery.js +182 -18
- package/dist/internal/BoundQuery.js.map +1 -1
- package/dist/internal/EntityCombinators.d.ts +32 -10
- package/dist/internal/EntityCombinators.d.ts.map +1 -1
- package/dist/internal/EntityCombinators.js +16 -7
- package/dist/internal/EntityCombinators.js.map +1 -1
- package/dist/internal/EntityOps.d.ts +44 -10
- package/dist/internal/EntityOps.d.ts.map +1 -1
- package/dist/internal/EntityOps.js +48 -5
- package/dist/internal/EntityOps.js.map +1 -1
- package/dist/internal/Expr.d.ts +23 -0
- package/dist/internal/Expr.d.ts.map +1 -1
- package/dist/internal/Expr.js +84 -9
- package/dist/internal/Expr.js.map +1 -1
- package/dist/internal/ItemSize.d.ts +38 -0
- package/dist/internal/ItemSize.d.ts.map +1 -0
- package/dist/internal/ItemSize.js +62 -0
- package/dist/internal/ItemSize.js.map +1 -0
- package/dist/internal/TransactWriteOps.d.ts +112 -19
- package/dist/internal/TransactWriteOps.d.ts.map +1 -1
- package/dist/internal/TransactWriteOps.js +210 -33
- package/dist/internal/TransactWriteOps.js.map +1 -1
- package/dist/internal/TransactableOps.d.ts +33 -14
- package/dist/internal/TransactableOps.d.ts.map +1 -1
- package/dist/internal/TransactableOps.js +46 -19
- package/dist/internal/TransactableOps.js.map +1 -1
- package/package.json +2 -2
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Function as Fn } from "effect";
|
|
7
7
|
import { EntityDeleteImpl, EntityDeleteTypeId, EntityGetImpl, EntityOpTypeId, EntityPutImpl, EntityUpdateImpl, EntityUpdateTypeId, } from "./EntityOps.js";
|
|
8
|
+
import { nonEmptyCondition } from "./Expr.js";
|
|
8
9
|
/** Decode through model schema (default for yield*). Returns clean model class instance. */
|
|
9
10
|
export const asModel = (self) => self._run("model");
|
|
10
11
|
/** Decode through record schema (model + system fields). */
|
|
@@ -59,6 +60,7 @@ export const project = Fn.dual(2, (self, attributes) => {
|
|
|
59
60
|
const impl = self;
|
|
60
61
|
return new EntityGetImpl(impl._builder, impl._entity, impl._key, impl._consistentRead, attributes);
|
|
61
62
|
});
|
|
63
|
+
/** @internal Whether a condition compiles to nothing (`{}`, `and()`). */
|
|
62
64
|
/**
|
|
63
65
|
* Add a condition expression to a put, update, or delete operation.
|
|
64
66
|
* The condition is evaluated server-side by DynamoDB. If it fails,
|
|
@@ -69,11 +71,15 @@ export const project = Fn.dual(2, (self, attributes) => {
|
|
|
69
71
|
* Accepts either a `ConditionInput` shorthand or a compiled `Expr` node.
|
|
70
72
|
* For updates, the user condition is ANDed with any optimistic lock condition.
|
|
71
73
|
*/
|
|
72
|
-
export const condition = Fn.dual(2, (self,
|
|
74
|
+
export const condition = Fn.dual(2, (self, given) => {
|
|
75
|
+
// An empty condition (`{}`, `and()`) is no condition (#133): like any later
|
|
76
|
+
// `.condition()`, it replaces an earlier one — with none.
|
|
77
|
+
const cond = nonEmptyCondition(given);
|
|
73
78
|
if (EntityDeleteTypeId in self) {
|
|
74
|
-
// EntityDelete
|
|
79
|
+
// EntityDelete. `deleteIfExists`'s existence check is the op's own guard
|
|
80
|
+
// (`_mustExist`), never its condition: it stays, ANDed with this one.
|
|
75
81
|
const impl = self;
|
|
76
|
-
return new EntityDeleteImpl(impl._builder, impl._entity, impl._key, cond, impl._returnValues);
|
|
82
|
+
return new EntityDeleteImpl(impl._builder, impl._entity, impl._key, cond, impl._returnValues, impl._mustExist);
|
|
77
83
|
}
|
|
78
84
|
if (EntityUpdateTypeId in self) {
|
|
79
85
|
// EntityUpdate
|
|
@@ -113,15 +119,18 @@ export const withVector = Fn.dual(3, (self, name, vector) => {
|
|
|
113
119
|
* - `"none"` — return nothing (default for delete)
|
|
114
120
|
* - `"allOld"` — return the item as it was before the operation
|
|
115
121
|
* - `"allNew"` — return the item as it is after the operation (default for update)
|
|
116
|
-
* - `"updatedOld"` — return only the
|
|
117
|
-
*
|
|
122
|
+
* - `"updatedOld"` — return only the top-level attributes the update wrote, with
|
|
123
|
+
* their old values, decoded as a partial
|
|
124
|
+
* - `"updatedNew"` — the same attributes with their new values
|
|
118
125
|
*
|
|
119
|
-
*
|
|
126
|
+
* An update's result type follows the mode (`undefined` for `"none"`, a
|
|
127
|
+
* `Partial` for the `updated*` modes). For deletes, only `"none"` and
|
|
128
|
+
* `"allOld"` are valid DynamoDB modes.
|
|
120
129
|
*/
|
|
121
130
|
export const returnValues = Fn.dual(2, (self, mode) => {
|
|
122
131
|
if (EntityDeleteTypeId in self) {
|
|
123
132
|
const impl = self;
|
|
124
|
-
return new EntityDeleteImpl(impl._builder, impl._entity, impl._key, impl._condition, mode);
|
|
133
|
+
return new EntityDeleteImpl(impl._builder, impl._entity, impl._key, impl._condition, mode, impl._mustExist);
|
|
125
134
|
}
|
|
126
135
|
// EntityUpdate
|
|
127
136
|
const impl = self;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityCombinators.js","sourceRoot":"","sources":["../../src/internal/EntityCombinators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAe,QAAQ,IAAI,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEpD,OAAO,EAIL,gBAAgB,EAChB,kBAAkB,EAElB,aAAa,EAEb,cAAc,EAEd,aAAa,EAEb,gBAAgB,EAChB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"EntityCombinators.js","sourceRoot":"","sources":["../../src/internal/EntityCombinators.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,9 @@
|
|
|
6
6
|
import type { ReturnValue } from "@aws-sdk/client-dynamodb";
|
|
7
7
|
import type * as DynamoSchema from "@effect-dynamodb/schema/DynamoSchema.js";
|
|
8
8
|
import type { IndexDefinition } from "@effect-dynamodb/schema/KeyComposer.js";
|
|
9
|
-
import
|
|
10
|
-
import { Pipeable } from "effect";
|
|
9
|
+
import { Effect, Pipeable } from "effect";
|
|
11
10
|
import type { ConditionInput } from "../Expression.js";
|
|
12
|
-
import type
|
|
11
|
+
import { type Expr } from "../internal/Expr.js";
|
|
13
12
|
import type { TableConfig } from "../Table.js";
|
|
14
13
|
/** @internal */
|
|
15
14
|
export declare const EntityOpTypeId: unique symbol;
|
|
@@ -23,6 +22,21 @@ export type EntityDeleteTypeId = typeof EntityDeleteTypeId;
|
|
|
23
22
|
export type DecodeMode = "model" | "record" | "item" | "native" | "raw";
|
|
24
23
|
/** DynamoDB ReturnValues modes */
|
|
25
24
|
export type ReturnValuesMode = "none" | "allOld" | "allNew" | "updatedOld" | "updatedNew";
|
|
25
|
+
/**
|
|
26
|
+
* What an update returns for a `returnValues` mode (#133): `"none"` →
|
|
27
|
+
* `undefined`; `"updatedOld"` / `"updatedNew"` → only the attributes the
|
|
28
|
+
* update wrote, as a `Partial`; `"allOld"` / `"allNew"` → the whole item.
|
|
29
|
+
*/
|
|
30
|
+
export type UpdateReturn<A, M extends ReturnValuesMode> = M extends "none" ? undefined : M extends "updatedOld" | "updatedNew" ? Partial<A> : A;
|
|
31
|
+
/**
|
|
32
|
+
* @internal An op's built-in guard ANDed with the caller's condition (#133):
|
|
33
|
+
* `create`'s not-exists, `patch`'s and `deleteIfExists`'s exists. The guard
|
|
34
|
+
* is held apart from the caller's condition, so no `.condition()` — empty,
|
|
35
|
+
* or replacing an earlier one — can remove it. Compiled as ONE expression,
|
|
36
|
+
* so their placeholders never collide; with no caller's condition, the guard
|
|
37
|
+
* alone (what these ops always sent).
|
|
38
|
+
*/
|
|
39
|
+
export declare const withGuard: (guard: ConditionInput | undefined, condition: Expr | ConditionInput | undefined) => Expr | ConditionInput | undefined;
|
|
26
40
|
/** @internal Map from our mode names to DynamoDB ReturnValues strings */
|
|
27
41
|
export declare const returnValuesMap: globalThis.Record<ReturnValuesMode, ReturnValue>;
|
|
28
42
|
/** @internal Minimal shape needed from cascade target entities */
|
|
@@ -87,6 +101,11 @@ export interface UpdateState {
|
|
|
87
101
|
* escape hatch that skips the Embedder for the named vector index.
|
|
88
102
|
*/
|
|
89
103
|
readonly withVectors: WithVectors | undefined;
|
|
104
|
+
/**
|
|
105
|
+
* `patch()`: the update requires the item to exist and reports a missing
|
|
106
|
+
* one as `ConditionalCheckFailed` (its documented contract).
|
|
107
|
+
*/
|
|
108
|
+
readonly patch?: boolean | undefined;
|
|
90
109
|
}
|
|
91
110
|
/** @internal Path-based SET operation */
|
|
92
111
|
export interface PathSetOp {
|
|
@@ -199,12 +218,19 @@ export interface EntityUpdate<A, Rec, U, E, R> extends EntityOp<A, Rec, E, R> {
|
|
|
199
218
|
* Does NOT extend EntityOp (no decode mode — delete returns void).
|
|
200
219
|
* Yieldable in `Effect.gen`.
|
|
201
220
|
*/
|
|
202
|
-
|
|
221
|
+
/**
|
|
222
|
+
* A delete descriptor. `A` is what it returns: nothing, or with
|
|
223
|
+
* `returnValues("allOld")` the item it deleted (`Model`, `undefined` when there
|
|
224
|
+
* was none).
|
|
225
|
+
*/
|
|
226
|
+
export interface EntityDelete<E, R, A = void, Model = unknown> extends Pipeable.Pipeable {
|
|
203
227
|
readonly [EntityDeleteTypeId]: EntityDeleteTypeId;
|
|
204
228
|
/** Convert this descriptor to an executable Effect. */
|
|
205
|
-
readonly asEffect: () => Effect.Effect<
|
|
229
|
+
readonly asEffect: () => Effect.Effect<A, E, R>;
|
|
206
230
|
/** Yield support for `Effect.gen`. */
|
|
207
|
-
readonly [Symbol.iterator]: () => Iterator<Effect.Effect<
|
|
231
|
+
readonly [Symbol.iterator]: () => Iterator<Effect.Effect<A, E, R>, A>;
|
|
232
|
+
/** @internal Phantom: the model an `"allOld"` delete returns. */
|
|
233
|
+
readonly _deleteModel?: Model | undefined;
|
|
208
234
|
/** @internal */ readonly _opType: "delete";
|
|
209
235
|
/** @internal */ readonly _entity: EntityBase;
|
|
210
236
|
/** @internal */ readonly _key: globalThis.Record<string, unknown>;
|
|
@@ -245,6 +271,10 @@ export type WithVectors = globalThis.Record<string, ReadonlyArray<number>>;
|
|
|
245
271
|
export interface EntityPutOpts {
|
|
246
272
|
readonly condition: Expr | ConditionInput | undefined;
|
|
247
273
|
readonly withVectors?: WithVectors | undefined;
|
|
274
|
+
/** Which put-shaped op is running (`create` fails on an existing item). */
|
|
275
|
+
readonly putKind?: PutKind | undefined;
|
|
276
|
+
/** The operation errors name — `upsert` runs its create through `put`. */
|
|
277
|
+
readonly operation?: string | undefined;
|
|
248
278
|
}
|
|
249
279
|
/**
|
|
250
280
|
* @internal Which `put`-shaped entity operation produced an `EntityPutImpl`.
|
|
@@ -290,22 +320,26 @@ export declare class EntityUpdateImpl<A, Rec, U, E, R> implements Pipeable.Pipea
|
|
|
290
320
|
[Symbol.iterator](): any;
|
|
291
321
|
pipe(): unknown;
|
|
292
322
|
}
|
|
293
|
-
export declare class EntityDeleteImpl<E, R> implements Pipeable.Pipeable {
|
|
323
|
+
export declare class EntityDeleteImpl<E, R, A = void> implements Pipeable.Pipeable {
|
|
294
324
|
readonly _builder: (opts: {
|
|
295
325
|
readonly condition: Expr | ConditionInput | undefined;
|
|
296
326
|
readonly returnValues: ReturnValuesMode | undefined;
|
|
297
|
-
|
|
327
|
+
readonly mustExist: boolean;
|
|
328
|
+
}) => Effect.Effect<A, E, R>;
|
|
298
329
|
readonly [EntityDeleteTypeId]: EntityDeleteTypeId;
|
|
299
330
|
readonly _opType: "delete";
|
|
300
331
|
readonly _entity: EntityBase;
|
|
301
332
|
readonly _key: globalThis.Record<string, unknown>;
|
|
302
333
|
readonly _condition: Expr | ConditionInput | undefined;
|
|
303
334
|
readonly _returnValues: ReturnValuesMode | undefined;
|
|
335
|
+
/** `deleteIfExists`: the item must exist — a guard no `.condition()` replaces. */
|
|
336
|
+
readonly _mustExist: boolean;
|
|
304
337
|
constructor(_builder: (opts: {
|
|
305
338
|
readonly condition: Expr | ConditionInput | undefined;
|
|
306
339
|
readonly returnValues: ReturnValuesMode | undefined;
|
|
307
|
-
|
|
308
|
-
|
|
340
|
+
readonly mustExist: boolean;
|
|
341
|
+
}) => Effect.Effect<A, E, R>, entity: EntityBase, key: globalThis.Record<string, unknown>, condition?: Expr | ConditionInput | undefined, returnValues?: ReturnValuesMode | undefined, mustExist?: boolean);
|
|
342
|
+
asEffect(): Effect.Effect<A, E, R>;
|
|
309
343
|
[Symbol.iterator](): any;
|
|
310
344
|
pipe(): unknown;
|
|
311
345
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityOps.d.ts","sourceRoot":"","sources":["../../src/internal/EntityOps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EntityOps.d.ts","sourceRoot":"","sources":["../../src/internal/EntityOps.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Extracted from Entity.ts for decomposition. Not part of the public API.
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { ValidationError } from "@effect-dynamodb/schema/Errors.js";
|
|
7
|
+
import { Effect, Pipeable, Utils } from "effect";
|
|
8
|
+
import { ExprTag, emptyPartProblem, toExpr } from "../internal/Expr.js";
|
|
7
9
|
// ---------------------------------------------------------------------------
|
|
8
10
|
// TypeId symbols
|
|
9
11
|
// ---------------------------------------------------------------------------
|
|
@@ -13,6 +15,36 @@ export const EntityOpTypeId = Symbol.for("effect-dynamodb/EntityOp");
|
|
|
13
15
|
export const EntityUpdateTypeId = Symbol.for("effect-dynamodb/EntityUpdate");
|
|
14
16
|
/** @internal */
|
|
15
17
|
export const EntityDeleteTypeId = Symbol.for("effect-dynamodb/EntityDelete");
|
|
18
|
+
/**
|
|
19
|
+
* @internal An op's built-in guard ANDed with the caller's condition (#133):
|
|
20
|
+
* `create`'s not-exists, `patch`'s and `deleteIfExists`'s exists. The guard
|
|
21
|
+
* is held apart from the caller's condition, so no `.condition()` — empty,
|
|
22
|
+
* or replacing an earlier one — can remove it. Compiled as ONE expression,
|
|
23
|
+
* so their placeholders never collide; with no caller's condition, the guard
|
|
24
|
+
* alone (what these ops always sent).
|
|
25
|
+
*/
|
|
26
|
+
export const withGuard = (guard, condition) => {
|
|
27
|
+
if (guard === undefined)
|
|
28
|
+
return condition;
|
|
29
|
+
if (condition === undefined)
|
|
30
|
+
return guard;
|
|
31
|
+
return { [ExprTag]: ExprTag, _tag: "and", exprs: [toExpr(guard), toExpr(condition)] };
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* @internal Run a write op unless its condition has an empty part where none
|
|
35
|
+
* may be (`emptyPartProblem`, #133): refused with a `ValidationError` before
|
|
36
|
+
* anything is sent.
|
|
37
|
+
*/
|
|
38
|
+
const refuseEmptyParts = (entity, operation, condition, run) => {
|
|
39
|
+
const problem = condition === undefined ? undefined : emptyPartProblem(toExpr(condition));
|
|
40
|
+
if (problem === undefined)
|
|
41
|
+
return run();
|
|
42
|
+
return Effect.fail(new ValidationError({
|
|
43
|
+
entityType: entity.entityType ?? "unknown",
|
|
44
|
+
operation: `${operation}.condition`,
|
|
45
|
+
cause: `${operation}: ${problem} Nothing was sent.`,
|
|
46
|
+
}));
|
|
47
|
+
};
|
|
16
48
|
/** @internal Map from our mode names to DynamoDB ReturnValues strings */
|
|
17
49
|
export const returnValuesMap = {
|
|
18
50
|
none: "NONE",
|
|
@@ -94,7 +126,11 @@ export class EntityPutImpl {
|
|
|
94
126
|
this._putKind = putKind;
|
|
95
127
|
}
|
|
96
128
|
get _run() {
|
|
97
|
-
return (mode) => this.
|
|
129
|
+
return (mode) => refuseEmptyParts(this._entity, this._putKind, this._condition, () => this._builder(mode, {
|
|
130
|
+
condition: this._condition,
|
|
131
|
+
withVectors: this._withVectors,
|
|
132
|
+
putKind: this._putKind,
|
|
133
|
+
}));
|
|
98
134
|
}
|
|
99
135
|
asEffect() {
|
|
100
136
|
return this._run("model");
|
|
@@ -121,7 +157,7 @@ export class EntityUpdateImpl {
|
|
|
121
157
|
this._key = key;
|
|
122
158
|
}
|
|
123
159
|
get _run() {
|
|
124
|
-
return (mode) => this._builder(mode, this._updateState);
|
|
160
|
+
return (mode) => refuseEmptyParts(this._entity, this._updateState.patch ? "patch" : "update", this._updateState.condition, () => this._builder(mode, this._updateState));
|
|
125
161
|
}
|
|
126
162
|
asEffect() {
|
|
127
163
|
return this._run("model");
|
|
@@ -141,15 +177,22 @@ export class EntityDeleteImpl {
|
|
|
141
177
|
_key;
|
|
142
178
|
_condition;
|
|
143
179
|
_returnValues;
|
|
144
|
-
|
|
180
|
+
/** `deleteIfExists`: the item must exist — a guard no `.condition()` replaces. */
|
|
181
|
+
_mustExist;
|
|
182
|
+
constructor(_builder, entity, key, condition, returnValues, mustExist = false) {
|
|
145
183
|
this._builder = _builder;
|
|
146
184
|
this._entity = entity;
|
|
147
185
|
this._key = key;
|
|
148
186
|
this._condition = condition;
|
|
149
187
|
this._returnValues = returnValues;
|
|
188
|
+
this._mustExist = mustExist;
|
|
150
189
|
}
|
|
151
190
|
asEffect() {
|
|
152
|
-
return this.
|
|
191
|
+
return refuseEmptyParts(this._entity, this._mustExist ? "deleteIfExists" : "delete", this._condition, () => this._builder({
|
|
192
|
+
condition: this._condition,
|
|
193
|
+
returnValues: this._returnValues,
|
|
194
|
+
mustExist: this._mustExist,
|
|
195
|
+
}));
|
|
153
196
|
}
|
|
154
197
|
[Symbol.iterator]() {
|
|
155
198
|
return new Utils.SingleShotGen(this.asEffect());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityOps.js","sourceRoot":"","sources":["../../src/internal/EntityOps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"EntityOps.js","sourceRoot":"","sources":["../../src/internal/EntityOps.ts"],"names":[],"mappings":"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"}
|
package/dist/internal/Expr.d.ts
CHANGED
|
@@ -123,6 +123,29 @@ export interface CompileResult {
|
|
|
123
123
|
* Compile an Expr node to a DynamoDB expression string with name/value placeholders.
|
|
124
124
|
*/
|
|
125
125
|
export declare const compileExpr: (expr: Expr, resolveDbName?: (name: string) => string) => CompileResult;
|
|
126
|
+
/**
|
|
127
|
+
* Whether an expression asserts nothing: `and()` — a `{}` shorthand — or an
|
|
128
|
+
* `and` of only such parts. A whole condition or filter that is empty is no
|
|
129
|
+
* condition, and an empty part directly under `and` is left out.
|
|
130
|
+
*/
|
|
131
|
+
export declare const isEmptyExpr: (expr: Expr) => boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Why an expression cannot be sent, or `undefined`: an empty part anywhere but
|
|
134
|
+
* directly under `and` or as the whole expression (#133). `or(x, {})` and
|
|
135
|
+
* `not({})` have no reading that does not widen what the caller wrote — `{}`
|
|
136
|
+
* asserts nothing, so `or(x, {})` would match everything and `not({})`
|
|
137
|
+
* nothing — and `or()` with no parts matches nothing at all. Each is refused
|
|
138
|
+
* with a `ValidationError` before anything is sent, never dropped.
|
|
139
|
+
*/
|
|
140
|
+
export declare const emptyPartProblem: (expr: Expr) => string | undefined;
|
|
141
|
+
/** A condition or filter as an `Expr`: shorthand records are parsed. */
|
|
142
|
+
export declare const toExpr: (cond: Expr | ConditionInput) => Expr;
|
|
143
|
+
/**
|
|
144
|
+
* The one place an empty condition becomes no condition (#133): a whole
|
|
145
|
+
* condition that asserts nothing (`{}`, `and()`) is `undefined`; anything
|
|
146
|
+
* else — including one `emptyPartProblem` will refuse — is kept as given.
|
|
147
|
+
*/
|
|
148
|
+
export declare const nonEmptyCondition: <C extends Expr | ConditionInput>(cond: C | undefined) => C | undefined;
|
|
126
149
|
/**
|
|
127
150
|
* Convert a ConditionInput shorthand object to an Expr ADT node.
|
|
128
151
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Expr.d.ts","sourceRoot":"","sources":["../../src/internal/Expr.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Expr.d.ts","sourceRoot":"","sources":["../../src/internal/Expr.ts"],"names":[],"mappings":"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"}
|
package/dist/internal/Expr.js
CHANGED
|
@@ -157,6 +157,13 @@ export const not = (expr) => ({
|
|
|
157
157
|
* Compile an Expr node to a DynamoDB expression string with name/value placeholders.
|
|
158
158
|
*/
|
|
159
159
|
export const compileExpr = (expr, resolveDbName) => {
|
|
160
|
+
// Every user-facing entry point refuses these with a `ValidationError`
|
|
161
|
+
// before compiling (#133); reaching here with one is a library bug, and
|
|
162
|
+
// compiling it would silently send a widened or invalid expression.
|
|
163
|
+
const problem = emptyPartProblem(expr);
|
|
164
|
+
if (problem !== undefined) {
|
|
165
|
+
throw new Error(`compileExpr: ${problem} (refuse it with emptyPartProblem before compiling)`);
|
|
166
|
+
}
|
|
160
167
|
const names = {};
|
|
161
168
|
const values = {};
|
|
162
169
|
const counter = { value: 0 };
|
|
@@ -204,19 +211,23 @@ export const compileExpr = (expr, resolveDbName) => {
|
|
|
204
211
|
return `begins_with(${compileOperand(node.operand)}, ${compileOperand(node.prefix)})`;
|
|
205
212
|
case "contains":
|
|
206
213
|
return `contains(${compileOperand(node.operand)}, ${compileOperand(node.value)})`;
|
|
214
|
+
// An empty part (`and()`, a `{}` shorthand) directly under `and` is no
|
|
215
|
+
// condition: it is left out, never compiled to `()`, which DynamoDB
|
|
216
|
+
// rejects (#133). Under `or` or `not` it has no meaning that would not
|
|
217
|
+
// widen the expression — `emptyPartProblem` refuses it, above.
|
|
207
218
|
case "and": {
|
|
208
|
-
|
|
219
|
+
const parts = node.exprs.map((e) => compile(e)).filter((part) => part !== "");
|
|
220
|
+
if (parts.length === 0)
|
|
209
221
|
return "";
|
|
210
|
-
if (
|
|
211
|
-
return
|
|
212
|
-
return
|
|
222
|
+
if (parts.length === 1)
|
|
223
|
+
return parts[0];
|
|
224
|
+
return parts.map((part) => `(${part})`).join(" AND ");
|
|
213
225
|
}
|
|
214
226
|
case "or": {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
return node.exprs.map((e) => `(${compile(e)})`).join(" OR ");
|
|
227
|
+
const parts = node.exprs.map((e) => compile(e));
|
|
228
|
+
if (parts.length === 1)
|
|
229
|
+
return parts[0];
|
|
230
|
+
return parts.map((part) => `(${part})`).join(" OR ");
|
|
220
231
|
}
|
|
221
232
|
case "not":
|
|
222
233
|
return `NOT (${compile(node.expr)})`;
|
|
@@ -225,6 +236,70 @@ export const compileExpr = (expr, resolveDbName) => {
|
|
|
225
236
|
return { expression: compile(expr), names, values };
|
|
226
237
|
};
|
|
227
238
|
// ---------------------------------------------------------------------------
|
|
239
|
+
// Empty parts (#133)
|
|
240
|
+
// ---------------------------------------------------------------------------
|
|
241
|
+
/**
|
|
242
|
+
* Whether an expression asserts nothing: `and()` — a `{}` shorthand — or an
|
|
243
|
+
* `and` of only such parts. A whole condition or filter that is empty is no
|
|
244
|
+
* condition, and an empty part directly under `and` is left out.
|
|
245
|
+
*/
|
|
246
|
+
export const isEmptyExpr = (expr) => expr._tag === "and" && expr.exprs.every((part) => isEmptyExpr(part));
|
|
247
|
+
/**
|
|
248
|
+
* Why an expression cannot be sent, or `undefined`: an empty part anywhere but
|
|
249
|
+
* directly under `and` or as the whole expression (#133). `or(x, {})` and
|
|
250
|
+
* `not({})` have no reading that does not widen what the caller wrote — `{}`
|
|
251
|
+
* asserts nothing, so `or(x, {})` would match everything and `not({})`
|
|
252
|
+
* nothing — and `or()` with no parts matches nothing at all. Each is refused
|
|
253
|
+
* with a `ValidationError` before anything is sent, never dropped.
|
|
254
|
+
*/
|
|
255
|
+
export const emptyPartProblem = (expr) => {
|
|
256
|
+
switch (expr._tag) {
|
|
257
|
+
case "and": {
|
|
258
|
+
for (const part of expr.exprs) {
|
|
259
|
+
const problem = emptyPartProblem(part);
|
|
260
|
+
if (problem !== undefined)
|
|
261
|
+
return problem;
|
|
262
|
+
}
|
|
263
|
+
return undefined;
|
|
264
|
+
}
|
|
265
|
+
case "or": {
|
|
266
|
+
if (expr.exprs.length === 0) {
|
|
267
|
+
return "or() has no parts — it would match nothing. Give it at least one condition.";
|
|
268
|
+
}
|
|
269
|
+
for (const part of expr.exprs) {
|
|
270
|
+
if (isEmptyExpr(part)) {
|
|
271
|
+
return ("an empty part ({} or and()) under or() would match everything. " +
|
|
272
|
+
"Remove it, or give it a condition.");
|
|
273
|
+
}
|
|
274
|
+
const problem = emptyPartProblem(part);
|
|
275
|
+
if (problem !== undefined)
|
|
276
|
+
return problem;
|
|
277
|
+
}
|
|
278
|
+
return undefined;
|
|
279
|
+
}
|
|
280
|
+
case "in":
|
|
281
|
+
return expr.values.length === 0
|
|
282
|
+
? "isIn() with no values matches nothing, and DynamoDB rejects `IN ()`. Give it at least one value."
|
|
283
|
+
: undefined;
|
|
284
|
+
case "not":
|
|
285
|
+
if (isEmptyExpr(expr.expr)) {
|
|
286
|
+
return ("not() of an empty part ({} or and()) would match nothing. " +
|
|
287
|
+
"Remove it, or give it a condition.");
|
|
288
|
+
}
|
|
289
|
+
return emptyPartProblem(expr.expr);
|
|
290
|
+
default:
|
|
291
|
+
return undefined;
|
|
292
|
+
}
|
|
293
|
+
};
|
|
294
|
+
/** A condition or filter as an `Expr`: shorthand records are parsed. */
|
|
295
|
+
export const toExpr = (cond) => isExpr(cond) ? cond : parseShorthand(cond);
|
|
296
|
+
/**
|
|
297
|
+
* The one place an empty condition becomes no condition (#133): a whole
|
|
298
|
+
* condition that asserts nothing (`{}`, `and()`) is `undefined`; anything
|
|
299
|
+
* else — including one `emptyPartProblem` will refuse — is kept as given.
|
|
300
|
+
*/
|
|
301
|
+
export const nonEmptyCondition = (cond) => (cond === undefined || isEmptyExpr(toExpr(cond)) ? undefined : cond);
|
|
302
|
+
// ---------------------------------------------------------------------------
|
|
228
303
|
// Shorthand parser — convert ConditionInput-like objects to Expr
|
|
229
304
|
// ---------------------------------------------------------------------------
|
|
230
305
|
/**
|