effect-dynamodb 1.15.0 → 1.16.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 +1 -1
- package/dist/Aggregate.d.ts.map +1 -1
- package/dist/Aggregate.js +326 -67
- package/dist/Aggregate.js.map +1 -1
- package/dist/Batch.d.ts +10 -2
- package/dist/Batch.d.ts.map +1 -1
- package/dist/Batch.js +45 -6
- package/dist/Batch.js.map +1 -1
- package/dist/Collection.d.ts +0 -7
- package/dist/Collection.d.ts.map +1 -1
- package/dist/Collection.js +84 -2
- package/dist/Collection.js.map +1 -1
- package/dist/DynamoClient.d.ts +3 -1
- package/dist/DynamoClient.d.ts.map +1 -1
- package/dist/DynamoClient.js +253 -26
- package/dist/DynamoClient.js.map +1 -1
- package/dist/Entity.d.ts +87 -6
- package/dist/Entity.d.ts.map +1 -1
- package/dist/Entity.js +413 -144
- package/dist/Entity.js.map +1 -1
- package/dist/EventStore.d.ts.map +1 -1
- package/dist/EventStore.js +49 -17
- package/dist/EventStore.js.map +1 -1
- package/dist/Query.d.ts +56 -5
- package/dist/Query.d.ts.map +1 -1
- package/dist/Query.js +206 -30
- package/dist/Query.js.map +1 -1
- package/dist/Transaction.d.ts +2 -2
- package/dist/Transaction.d.ts.map +1 -1
- package/dist/Transaction.js +29 -9
- package/dist/Transaction.js.map +1 -1
- package/dist/internal/BoundCrud.d.ts +76 -9
- package/dist/internal/BoundCrud.d.ts.map +1 -1
- package/dist/internal/BoundCrud.js +22 -1
- package/dist/internal/BoundCrud.js.map +1 -1
- package/dist/internal/BoundQuery.d.ts +75 -13
- package/dist/internal/BoundQuery.d.ts.map +1 -1
- package/dist/internal/BoundQuery.js +85 -11
- package/dist/internal/BoundQuery.js.map +1 -1
- package/dist/internal/BoundVectorQuery.d.ts +9 -0
- package/dist/internal/BoundVectorQuery.d.ts.map +1 -1
- package/dist/internal/BoundVectorQuery.js +3 -2
- package/dist/internal/BoundVectorQuery.js.map +1 -1
- package/dist/internal/EntityCombinators.d.ts +31 -5
- package/dist/internal/EntityCombinators.d.ts.map +1 -1
- package/dist/internal/EntityCombinators.js +7 -7
- package/dist/internal/EntityCombinators.js.map +1 -1
- package/dist/internal/EntityOps.d.ts +14 -1
- package/dist/internal/EntityOps.d.ts.map +1 -1
- package/dist/internal/EntityOps.js +4 -1
- package/dist/internal/EntityOps.js.map +1 -1
- package/dist/internal/TransactWriteOps.d.ts +44 -5
- package/dist/internal/TransactWriteOps.d.ts.map +1 -1
- package/dist/internal/TransactWriteOps.js +98 -20
- package/dist/internal/TransactWriteOps.js.map +1 -1
- package/dist/internal/TransactableOps.d.ts +69 -1
- package/dist/internal/TransactableOps.d.ts.map +1 -1
- package/dist/internal/TransactableOps.js +138 -4
- package/dist/internal/TransactableOps.js.map +1 -1
- package/package.json +2 -2
|
@@ -10,11 +10,44 @@
|
|
|
10
10
|
* `Utils.SingleShotGen`) — NOT `Effect.Effect`. They are yieldable inside
|
|
11
11
|
* `Effect.gen`; use `.asEffect()` for Effect combinator interop.
|
|
12
12
|
*/
|
|
13
|
+
import type { ConditionalCheckFailed } from "@effect-dynamodb/schema/Errors.js";
|
|
13
14
|
import type { Effect } from "effect";
|
|
14
15
|
import { Pipeable } from "effect";
|
|
15
16
|
import type { CascadeTarget, EntityDelete, EntityPut, EntityUpdate, PathAddOp, PathAppendOp, PathDeleteOp, PathIfNotExistsOp, PathPrependOp, PathSetOp, PathSubtractOp, ReturnValuesMode } from "./EntityOps.js";
|
|
16
17
|
import type { ConditionOps, Expr } from "./Expr.js";
|
|
17
18
|
import type { PathBuilder } from "./PathBuilder.js";
|
|
19
|
+
/**
|
|
20
|
+
* @internal Marker carried by every bound-CRUD builder so the transactable
|
|
21
|
+
* extraction protocol (`Entity.extractTransactable`) can unwrap a builder back
|
|
22
|
+
* to the `EntityOp` / `EntityDelete` intermediate it wraps.
|
|
23
|
+
*
|
|
24
|
+
* Bound builders are the ONLY way to author a write for an entity declared with
|
|
25
|
+
* the pure `@effect-dynamodb/schema` `Entity.make` (a pure definition carries no
|
|
26
|
+
* operations), so Batch/Transaction/EventStore must accept them — see #100.
|
|
27
|
+
*/
|
|
28
|
+
export declare const BoundOpTypeId: unique symbol;
|
|
29
|
+
export type BoundOpTypeId = typeof BoundOpTypeId;
|
|
30
|
+
/** @internal Shape every bound-CRUD builder exposes for op extraction. */
|
|
31
|
+
export interface BoundOp {
|
|
32
|
+
readonly [BoundOpTypeId]: BoundOpTypeId;
|
|
33
|
+
/** @internal The wrapped unbound intermediate. */
|
|
34
|
+
readonly _op: unknown;
|
|
35
|
+
}
|
|
36
|
+
/** @internal Narrow an unknown value to a bound-CRUD builder. */
|
|
37
|
+
export declare const isBoundOp: (op: object) => op is BoundOp;
|
|
38
|
+
/**
|
|
39
|
+
* A bound-CRUD builder accepted by `Batch.write`,
|
|
40
|
+
* `Transaction.transactWrite`, and `EventStore.append({ additionalItems })`.
|
|
41
|
+
*
|
|
42
|
+
* Type parameters are erased deliberately: `BoundPut<any, any, any, any>` is not
|
|
43
|
+
* a supertype of a concrete `BoundPut` (the `withVector` name parameter is
|
|
44
|
+
* contravariant and narrows to `never` for entities with no vector indexes), so
|
|
45
|
+
* the write unions match on the marker plus the op kind instead.
|
|
46
|
+
*/
|
|
47
|
+
export interface BoundWriteOp {
|
|
48
|
+
readonly [BoundOpTypeId]: BoundOpTypeId;
|
|
49
|
+
readonly _boundOpType: "put" | "delete";
|
|
50
|
+
}
|
|
18
51
|
/** Condition input accepted by `.condition()` — callback or shorthand record. */
|
|
19
52
|
export type ConditionArg<Model> = ((t: PathBuilder<Model, Model, never>, ops: ConditionOps<Model>) => Expr) | globalThis.Record<string, unknown>;
|
|
20
53
|
/** Execution wiring shared by all bound-CRUD builders. */
|
|
@@ -33,8 +66,16 @@ export interface BoundCrudConfig<Model> {
|
|
|
33
66
|
* ```
|
|
34
67
|
*/
|
|
35
68
|
export interface BoundPut<Model, A, E, VN extends string = string> extends Pipeable.Pipeable {
|
|
36
|
-
|
|
37
|
-
readonly
|
|
69
|
+
readonly [BoundOpTypeId]: BoundOpTypeId;
|
|
70
|
+
readonly _boundOpType: "put";
|
|
71
|
+
/**
|
|
72
|
+
* Add a condition expression. Callback or shorthand.
|
|
73
|
+
*
|
|
74
|
+
* Widens the error channel with {@link ConditionalCheckFailed} — DynamoDB
|
|
75
|
+
* rejecting the condition is the failure this combinator makes reachable, so
|
|
76
|
+
* `Effect.catchTag("ConditionalCheckFailed", ...)` type-checks downstream.
|
|
77
|
+
*/
|
|
78
|
+
readonly condition: (cond: ConditionArg<Model>) => BoundPut<Model, A, E | ConditionalCheckFailed, VN>;
|
|
38
79
|
/**
|
|
39
80
|
* Supply a pre-computed embedding for a named vector index, skipping the
|
|
40
81
|
* `Embedder` for that index on this write. `name` is the LOGICAL vector index
|
|
@@ -50,8 +91,10 @@ export interface BoundPut<Model, A, E, VN extends string = string> extends Pipea
|
|
|
50
91
|
export declare class BoundPutImpl<Model, A, E, VN extends string = string> implements BoundPut<Model, A, E, VN> {
|
|
51
92
|
readonly _op: EntityPut<A, any, E, any>;
|
|
52
93
|
readonly _config: BoundCrudConfig<Model>;
|
|
94
|
+
readonly [BoundOpTypeId]: BoundOpTypeId;
|
|
95
|
+
readonly _boundOpType: "put";
|
|
53
96
|
constructor(_op: EntityPut<A, any, E, any>, _config: BoundCrudConfig<Model>);
|
|
54
|
-
condition(cond: ConditionArg<Model>): BoundPutImpl<Model, A, E, VN>;
|
|
97
|
+
condition(cond: ConditionArg<Model>): BoundPutImpl<Model, A, E | ConditionalCheckFailed, VN>;
|
|
55
98
|
withVector(name: VN, vector: ReadonlyArray<number>): BoundPutImpl<Model, A, E, VN>;
|
|
56
99
|
asEffect(): Effect.Effect<A, E, never>;
|
|
57
100
|
[Symbol.iterator](): any;
|
|
@@ -67,8 +110,16 @@ export declare class BoundPutImpl<Model, A, E, VN extends string = string> imple
|
|
|
67
110
|
* ```
|
|
68
111
|
*/
|
|
69
112
|
export interface BoundDelete<Model, E> extends Pipeable.Pipeable {
|
|
70
|
-
|
|
71
|
-
readonly
|
|
113
|
+
readonly [BoundOpTypeId]: BoundOpTypeId;
|
|
114
|
+
readonly _boundOpType: "delete";
|
|
115
|
+
/**
|
|
116
|
+
* Add a condition expression. Callback or shorthand.
|
|
117
|
+
*
|
|
118
|
+
* Widens the error channel with {@link ConditionalCheckFailed} — DynamoDB
|
|
119
|
+
* rejecting the condition is the failure this combinator makes reachable, so
|
|
120
|
+
* `Effect.catchTag("ConditionalCheckFailed", ...)` type-checks downstream.
|
|
121
|
+
*/
|
|
122
|
+
readonly condition: (cond: ConditionArg<Model>) => BoundDelete<Model, E | ConditionalCheckFailed>;
|
|
72
123
|
/** Set ReturnValues mode (`"none"` or `"allOld"`). */
|
|
73
124
|
readonly returnValues: (mode: ReturnValuesMode) => BoundDelete<Model, E>;
|
|
74
125
|
/** Convert to an executable Effect for Effect combinator interop. */
|
|
@@ -80,8 +131,10 @@ export interface BoundDelete<Model, E> extends Pipeable.Pipeable {
|
|
|
80
131
|
export declare class BoundDeleteImpl<Model, E> implements BoundDelete<Model, E> {
|
|
81
132
|
readonly _op: EntityDelete<E, any>;
|
|
82
133
|
readonly _config: BoundCrudConfig<Model>;
|
|
134
|
+
readonly [BoundOpTypeId]: BoundOpTypeId;
|
|
135
|
+
readonly _boundOpType: "delete";
|
|
83
136
|
constructor(_op: EntityDelete<E, any>, _config: BoundCrudConfig<Model>);
|
|
84
|
-
condition(cond: ConditionArg<Model>): BoundDeleteImpl<Model, E>;
|
|
137
|
+
condition(cond: ConditionArg<Model>): BoundDeleteImpl<Model, E | ConditionalCheckFailed>;
|
|
85
138
|
returnValues(mode: ReturnValuesMode): BoundDeleteImpl<Model, E>;
|
|
86
139
|
asEffect(): Effect.Effect<void, E, never>;
|
|
87
140
|
[Symbol.iterator](): any;
|
|
@@ -102,6 +155,8 @@ export declare class BoundDeleteImpl<Model, E> implements BoundDelete<Model, E>
|
|
|
102
155
|
* ```
|
|
103
156
|
*/
|
|
104
157
|
export interface BoundUpdate<Model, A, U, E, VN extends string = string> extends Pipeable.Pipeable {
|
|
158
|
+
readonly [BoundOpTypeId]: BoundOpTypeId;
|
|
159
|
+
readonly _boundOpType: "update";
|
|
105
160
|
/** Set the fields to update (record-based SET). */
|
|
106
161
|
readonly set: (updates: U) => BoundUpdate<Model, A, U, E, VN>;
|
|
107
162
|
/** Remove attributes (REMOVE clause). */
|
|
@@ -116,8 +171,18 @@ export interface BoundUpdate<Model, A, U, E, VN extends string = string> extends
|
|
|
116
171
|
readonly deleteFromSet: (values: globalThis.Record<string, unknown>) => BoundUpdate<Model, A, U, E, VN>;
|
|
117
172
|
/** Optimistic concurrency — expected version. */
|
|
118
173
|
readonly expectedVersion: (version: number) => BoundUpdate<Model, A, U, E, VN>;
|
|
119
|
-
/**
|
|
120
|
-
|
|
174
|
+
/**
|
|
175
|
+
* Add a condition expression. Callback or shorthand.
|
|
176
|
+
*
|
|
177
|
+
* Widens the error channel with {@link ConditionalCheckFailed} — DynamoDB
|
|
178
|
+
* rejecting the condition is the failure this combinator makes reachable, so
|
|
179
|
+
* `Effect.catchTag("ConditionalCheckFailed", ...)` type-checks downstream.
|
|
180
|
+
*
|
|
181
|
+
* Note: when `.expectedVersion(...)` is also set, a rejection is reported as
|
|
182
|
+
* `OptimisticLockError` — the two conditions ride the same
|
|
183
|
+
* `ConditionExpression` and DynamoDB does not say which half failed.
|
|
184
|
+
*/
|
|
185
|
+
readonly condition: (cond: ConditionArg<Model>) => BoundUpdate<Model, A, U, E | ConditionalCheckFailed, VN>;
|
|
121
186
|
/**
|
|
122
187
|
* Supply a pre-computed embedding for a named vector index, skipping the
|
|
123
188
|
* `Embedder` for that index on this write. `name` is the LOGICAL vector index
|
|
@@ -170,6 +235,8 @@ export interface BoundUpdate<Model, A, U, E, VN extends string = string> extends
|
|
|
170
235
|
export declare class BoundUpdateImpl<Model, A, U, E, VN extends string = string> implements BoundUpdate<Model, A, U, E, VN> {
|
|
171
236
|
readonly _op: EntityUpdate<A, any, U, E, any>;
|
|
172
237
|
readonly _config: BoundCrudConfig<Model>;
|
|
238
|
+
readonly [BoundOpTypeId]: BoundOpTypeId;
|
|
239
|
+
readonly _boundOpType: "update";
|
|
173
240
|
constructor(_op: EntityUpdate<A, any, U, E, any>, _config: BoundCrudConfig<Model>);
|
|
174
241
|
private _with;
|
|
175
242
|
set(updates: U): BoundUpdateImpl<Model, A, U, E, VN>;
|
|
@@ -179,7 +246,7 @@ export declare class BoundUpdateImpl<Model, A, U, E, VN extends string = string>
|
|
|
179
246
|
append(values: globalThis.Record<string, ReadonlyArray<unknown>>): BoundUpdateImpl<Model, A, U, E, VN>;
|
|
180
247
|
deleteFromSet(values: globalThis.Record<string, unknown>): BoundUpdateImpl<Model, A, U, E, VN>;
|
|
181
248
|
expectedVersion(version: number): BoundUpdateImpl<Model, A, U, E, VN>;
|
|
182
|
-
condition(cond: ConditionArg<Model>): BoundUpdateImpl<Model, A, U, E, VN>;
|
|
249
|
+
condition(cond: ConditionArg<Model>): BoundUpdateImpl<Model, A, U, E | ConditionalCheckFailed, VN>;
|
|
183
250
|
withVector(name: VN, vector: ReadonlyArray<number>): BoundUpdateImpl<Model, A, U, E, VN>;
|
|
184
251
|
returnValues(mode: ReturnValuesMode): BoundUpdateImpl<Model, A, U, E, VN>;
|
|
185
252
|
cascade(config: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoundCrud.d.ts","sourceRoot":"","sources":["../../src/internal/BoundCrud.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BoundCrud.d.ts","sourceRoot":"","sources":["../../src/internal/BoundCrud.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,21 @@
|
|
|
13
13
|
import { Pipeable, Utils } from "effect";
|
|
14
14
|
import { add as addCombinator, append as appendCombinator, cascade as cascadeCombinator, clearMap as clearMapCombinator, condition as conditionCombinator, deleteFromSet as deleteFromSetCombinator, expectedVersion as expectedVersionCombinator, pathAdd as pathAddCombinator, pathAppend as pathAppendCombinator, pathDelete as pathDeleteCombinator, pathIfNotExists as pathIfNotExistsCombinator, pathPrepend as pathPrependCombinator, pathRemove as pathRemoveCombinator, pathSet as pathSetCombinator, pathSubtract as pathSubtractCombinator, remove as removeCombinator, removeEntries as removeEntriesCombinator, returnValues as returnValuesCombinator, set as setCombinator, subtract as subtractCombinator, withVector as withVectorCombinator, } from "./EntityCombinators.js";
|
|
15
15
|
import { parseSimpleShorthand } from "./Expr.js";
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
// Shared types
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
/**
|
|
20
|
+
* @internal Marker carried by every bound-CRUD builder so the transactable
|
|
21
|
+
* extraction protocol (`Entity.extractTransactable`) can unwrap a builder back
|
|
22
|
+
* to the `EntityOp` / `EntityDelete` intermediate it wraps.
|
|
23
|
+
*
|
|
24
|
+
* Bound builders are the ONLY way to author a write for an entity declared with
|
|
25
|
+
* the pure `@effect-dynamodb/schema` `Entity.make` (a pure definition carries no
|
|
26
|
+
* operations), so Batch/Transaction/EventStore must accept them — see #100.
|
|
27
|
+
*/
|
|
28
|
+
export const BoundOpTypeId = Symbol.for("effect-dynamodb/BoundOp");
|
|
29
|
+
/** @internal Narrow an unknown value to a bound-CRUD builder. */
|
|
30
|
+
export const isBoundOp = (op) => BoundOpTypeId in op;
|
|
16
31
|
/** Build a compiled condition Expr from a callback or simple shorthand record.
|
|
17
32
|
* Simple `{ field: value }` shorthand is parsed via `parseSimpleShorthand`,
|
|
18
33
|
* matching the behaviour of entity-scoped `Entity.condition(...)`.
|
|
@@ -26,6 +41,8 @@ const buildCondition = (cfg, arg) => {
|
|
|
26
41
|
export class BoundPutImpl {
|
|
27
42
|
_op;
|
|
28
43
|
_config;
|
|
44
|
+
[BoundOpTypeId] = BoundOpTypeId;
|
|
45
|
+
_boundOpType = "put";
|
|
29
46
|
constructor(_op, _config) {
|
|
30
47
|
this._op = _op;
|
|
31
48
|
this._config = _config;
|
|
@@ -52,6 +69,8 @@ export class BoundPutImpl {
|
|
|
52
69
|
export class BoundDeleteImpl {
|
|
53
70
|
_op;
|
|
54
71
|
_config;
|
|
72
|
+
[BoundOpTypeId] = BoundOpTypeId;
|
|
73
|
+
_boundOpType = "delete";
|
|
55
74
|
constructor(_op, _config) {
|
|
56
75
|
this._op = _op;
|
|
57
76
|
this._config = _config;
|
|
@@ -79,6 +98,8 @@ export class BoundDeleteImpl {
|
|
|
79
98
|
export class BoundUpdateImpl {
|
|
80
99
|
_op;
|
|
81
100
|
_config;
|
|
101
|
+
[BoundOpTypeId] = BoundOpTypeId;
|
|
102
|
+
_boundOpType = "update";
|
|
82
103
|
constructor(_op, _config) {
|
|
83
104
|
this._op = _op;
|
|
84
105
|
this._config = _config;
|
|
@@ -109,7 +130,7 @@ export class BoundUpdateImpl {
|
|
|
109
130
|
}
|
|
110
131
|
condition(cond) {
|
|
111
132
|
const compiled = buildCondition(this._config, cond);
|
|
112
|
-
return
|
|
133
|
+
return new BoundUpdateImpl(conditionCombinator(this._op, compiled), this._config);
|
|
113
134
|
}
|
|
114
135
|
withVector(name, vector) {
|
|
115
136
|
return this._with(withVectorCombinator(this._op, name, vector));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoundCrud.js","sourceRoot":"","sources":["../../src/internal/BoundCrud.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"BoundCrud.js","sourceRoot":"","sources":["../../src/internal/BoundCrud.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,16 +15,61 @@ import type { DynamoClientError } from "../DynamoClient.js";
|
|
|
15
15
|
import * as Query from "../Query.js";
|
|
16
16
|
import type { ConditionOps, ConditionShorthand, Expr } from "./Expr.js";
|
|
17
17
|
import type { Path, PathBuilder } from "./PathBuilder.js";
|
|
18
|
+
/**
|
|
19
|
+
* Operand type accepted by a `.where()` condition on a sort key composite
|
|
20
|
+
* whose value type is `V`.
|
|
21
|
+
*
|
|
22
|
+
* - **String-typed composites** (including literal unions like
|
|
23
|
+
* `"todo" | "done"`) widen to `string`, so open bounds and `beginsWith`
|
|
24
|
+
* prefixes that are not themselves valid values still typecheck.
|
|
25
|
+
* - **Every other composite** keeps its own type. That is the point of
|
|
26
|
+
* issue #114: `serializeValue` zero-pads numbers to 16 digits and bigints
|
|
27
|
+
* to 38 on the write path, so a stringly-typed `"42"` compares against
|
|
28
|
+
* `"0000000000000042"` and sorts *after* every stored value — a silent
|
|
29
|
+
* mismatch. Requiring the composite's own type also lets the operand run
|
|
30
|
+
* through the composite's own codec, which is what makes a transformed
|
|
31
|
+
* composite (`Schema.BigIntFromString`) compare against the value that was
|
|
32
|
+
* actually stored.
|
|
33
|
+
*/
|
|
34
|
+
export type SkOperand<V> = [V] extends [string] ? string : V;
|
|
35
|
+
/**
|
|
36
|
+
* A `.where()` condition before its operands become key strings.
|
|
37
|
+
*
|
|
38
|
+
* Mirrors `Query.SortKeyCondition` but keeps the operands `unknown`, because
|
|
39
|
+
* the composite's own value (a `bigint`, a `Date`, a `DateTime`) must reach
|
|
40
|
+
* `composeSkCondition` intact: that hook encodes it through the model's field
|
|
41
|
+
* codec — the step `Entity.put` performs before composing keys — and only then
|
|
42
|
+
* serialises. Serialising here first would erase the type the codec needs.
|
|
43
|
+
*
|
|
44
|
+
* `Query.SortKeyCondition` is assignable to this, so a hand-built `{ eq: "x" }`
|
|
45
|
+
* still satisfies the `.where()` callback.
|
|
46
|
+
*/
|
|
47
|
+
export type RawSortKeyCondition = {
|
|
48
|
+
readonly eq: unknown;
|
|
49
|
+
} | {
|
|
50
|
+
readonly lt: unknown;
|
|
51
|
+
} | {
|
|
52
|
+
readonly lte: unknown;
|
|
53
|
+
} | {
|
|
54
|
+
readonly gt: unknown;
|
|
55
|
+
} | {
|
|
56
|
+
readonly gte: unknown;
|
|
57
|
+
} | {
|
|
58
|
+
readonly between: readonly [unknown, unknown];
|
|
59
|
+
} | {
|
|
60
|
+
readonly beginsWith: unknown;
|
|
61
|
+
};
|
|
18
62
|
/** Sort key condition operators for `.where()` callback.
|
|
19
|
-
* The `field` parameter accepts values from `t` (e.g. `t.status`)
|
|
63
|
+
* The `field` parameter accepts values from `t` (e.g. `t.status`); `V` is
|
|
64
|
+
* inferred from it so the operand type follows the composite. */
|
|
20
65
|
export interface SkConditionOps<SK = Record<string, unknown>> {
|
|
21
|
-
readonly eq:
|
|
22
|
-
readonly lt:
|
|
23
|
-
readonly lte:
|
|
24
|
-
readonly gt:
|
|
25
|
-
readonly gte:
|
|
26
|
-
readonly between:
|
|
27
|
-
readonly beginsWith:
|
|
66
|
+
readonly eq: <V extends SK[keyof SK]>(field: V, value: SkOperand<V>) => RawSortKeyCondition;
|
|
67
|
+
readonly lt: <V extends SK[keyof SK]>(field: V, value: SkOperand<V>) => RawSortKeyCondition;
|
|
68
|
+
readonly lte: <V extends SK[keyof SK]>(field: V, value: SkOperand<V>) => RawSortKeyCondition;
|
|
69
|
+
readonly gt: <V extends SK[keyof SK]>(field: V, value: SkOperand<V>) => RawSortKeyCondition;
|
|
70
|
+
readonly gte: <V extends SK[keyof SK]>(field: V, value: SkOperand<V>) => RawSortKeyCondition;
|
|
71
|
+
readonly between: <V extends SK[keyof SK]>(field: V, low: SkOperand<V>, high: SkOperand<V>) => RawSortKeyCondition;
|
|
72
|
+
readonly beginsWith: <V extends SK[keyof SK]>(field: V, prefix: SkOperand<V>) => RawSortKeyCondition;
|
|
28
73
|
}
|
|
29
74
|
export interface BoundQueryBase<Model, SkRemaining, A> {
|
|
30
75
|
/** Add a filter expression (post-read). Callback or shorthand. */
|
|
@@ -37,8 +82,17 @@ export interface BoundQueryBase<Model, SkRemaining, A> {
|
|
|
37
82
|
(fn: (t: PathBuilder<Model, Model, never>) => ReadonlyArray<Path<Model, any, any>>): BoundQuery<Model, SkRemaining, Record<string, unknown>>;
|
|
38
83
|
(attributes: ReadonlyArray<string>): BoundQuery<Model, SkRemaining, Record<string, unknown>>;
|
|
39
84
|
};
|
|
40
|
-
/**
|
|
85
|
+
/**
|
|
86
|
+
* Return at most `n` items — a contract on results. The query accumulates
|
|
87
|
+
* across as many requests as it takes, which is what makes it work under a
|
|
88
|
+
* `.filter()`. Use `.pageSize()` to size the requests themselves.
|
|
89
|
+
*/
|
|
41
90
|
readonly limit: (n: number) => BoundQuery<Model, SkRemaining, A>;
|
|
91
|
+
/**
|
|
92
|
+
* Fetch in batches of `n` — sets DynamoDB's `Limit` (rows examined per
|
|
93
|
+
* request). A contract on round trips, not on what comes back.
|
|
94
|
+
*/
|
|
95
|
+
readonly pageSize: (n: number) => BoundQuery<Model, SkRemaining, A>;
|
|
42
96
|
/** Set the maximum number of DynamoDB pages to fetch. */
|
|
43
97
|
readonly maxPages: (n: number) => BoundQuery<Model, SkRemaining, A>;
|
|
44
98
|
/** Reverse the sort order (ScanIndexForward = false). */
|
|
@@ -68,7 +122,7 @@ export interface BoundQueryWithWhere<Model, SkRemaining, A> {
|
|
|
68
122
|
* .where((t, { eq }) => eq(t.status, "done"))
|
|
69
123
|
* ```
|
|
70
124
|
*/
|
|
71
|
-
readonly where: (fn: (t: SkRemaining, ops: SkConditionOps<SkRemaining>) =>
|
|
125
|
+
readonly where: (fn: (t: SkRemaining, ops: SkConditionOps<SkRemaining>) => RawSortKeyCondition) => BoundQuery<Model, never, A>;
|
|
72
126
|
}
|
|
73
127
|
export type BoundQuery<Model, SkRemaining, A> = BoundQueryBase<Model, SkRemaining, A> & ([SkRemaining] extends [never] ? {} : BoundQueryWithWhere<Model, SkRemaining, A>);
|
|
74
128
|
/** @internal */
|
|
@@ -78,18 +132,26 @@ export interface BoundQueryConfig<Model> {
|
|
|
78
132
|
/** SK composite field names for building the SkAccessor in `.where()`. */
|
|
79
133
|
readonly skFields?: ReadonlyArray<string> | undefined;
|
|
80
134
|
readonly provide: <X, E>(eff: Effect.Effect<X, E, any>) => Effect.Effect<X, E, never>;
|
|
81
|
-
/**
|
|
82
|
-
|
|
135
|
+
/**
|
|
136
|
+
* Optional: transform the raw SK condition produced by `.where()` into one
|
|
137
|
+
* whose operands are composed the same way stored sort keys are.
|
|
138
|
+
*
|
|
139
|
+
* `field` is the SK composite name the caller targeted (`t.status` →
|
|
140
|
+
* `"status"`), or `undefined` when the callback did not go through the sk
|
|
141
|
+
* accessor.
|
|
142
|
+
*/
|
|
143
|
+
readonly composeSkCondition?: (condition: RawSortKeyCondition, field: string | undefined) => Query.SortKeyCondition;
|
|
83
144
|
}
|
|
84
145
|
/** @internal */
|
|
85
146
|
export declare class BoundQueryImpl<Model, SkRemaining, A> {
|
|
86
147
|
readonly _query: Query.Query<A>;
|
|
87
148
|
readonly _config: BoundQueryConfig<Model>;
|
|
88
149
|
constructor(_query: Query.Query<A>, _config: BoundQueryConfig<Model>);
|
|
89
|
-
where(fn: (t: SkRemaining, ops: SkConditionOps<SkRemaining>) =>
|
|
150
|
+
where(fn: (t: SkRemaining, ops: SkConditionOps<SkRemaining>) => RawSortKeyCondition): BoundQueryImpl<Model, never, A>;
|
|
90
151
|
filter(fnOrShorthand: ((t: PathBuilder<Model, Model, never>, ops: ConditionOps<Model>) => Expr) | ConditionShorthand): BoundQueryImpl<Model, SkRemaining, A>;
|
|
91
152
|
select(fnOrAttrs: ((t: PathBuilder<Model, Model, never>) => ReadonlyArray<Path<Model, any, any>>) | ReadonlyArray<string>): BoundQueryImpl<Model, SkRemaining, Record<string, unknown>>;
|
|
92
153
|
limit(n: number): BoundQueryImpl<Model, SkRemaining, A>;
|
|
154
|
+
pageSize(n: number): BoundQueryImpl<Model, SkRemaining, A>;
|
|
93
155
|
maxPages(n: number): BoundQueryImpl<Model, SkRemaining, A>;
|
|
94
156
|
reverse(): BoundQueryImpl<Model, SkRemaining, A>;
|
|
95
157
|
startFrom(cursor: string): BoundQueryImpl<Model, SkRemaining, A>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoundQuery.d.ts","sourceRoot":"","sources":["../../src/internal/BoundQuery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"BoundQuery.d.ts","sourceRoot":"","sources":["../../src/internal/BoundQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,17 +9,87 @@
|
|
|
9
9
|
* - `where` is only available when `SkRemaining` is not `never`.
|
|
10
10
|
* - Terminals: `fetch`, `collect`, `paginate`, `count`.
|
|
11
11
|
*/
|
|
12
|
+
import * as KeyComposer from "@effect-dynamodb/schema/KeyComposer.js";
|
|
12
13
|
import { Stream } from "effect";
|
|
13
14
|
import * as Query from "../Query.js";
|
|
14
15
|
import { parseSimpleShorthand } from "./Expr.js";
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Build the runtime `SkConditionOps` for one `.where()` invocation.
|
|
18
|
+
*
|
|
19
|
+
* The ops record which SK composite the caller targeted (`t.status` → the
|
|
20
|
+
* string `"status"`, courtesy of `buildSkAccessor`). `composeSkCondition`
|
|
21
|
+
* needs that name so it can compose the operand into the *same* position of
|
|
22
|
+
* the stored sort key — otherwise the raw operand is compared against a fully
|
|
23
|
+
* composed key and the condition silently matches everything or nothing.
|
|
24
|
+
*
|
|
25
|
+
* Operands are handed on **unserialised**. `composeSkCondition` encodes them
|
|
26
|
+
* through the model's field codec — the step `Entity.put` performs before
|
|
27
|
+
* composing keys — and then composes, so both sides of the comparison come out
|
|
28
|
+
* of one pipeline (issues #114 and the encoded/decoded gap it exposed).
|
|
29
|
+
* Without a hook there is no model to consult, so `KeyComposer.serializeValue`
|
|
30
|
+
* is applied directly: the same zero-padding / ISO formatting the write path
|
|
31
|
+
* uses. Casing is never applied here — it belongs to key composition.
|
|
32
|
+
*
|
|
33
|
+
* The callback is invoked synchronously and exactly once, so a closed-over
|
|
34
|
+
* mutable slot is safe here.
|
|
35
|
+
*/
|
|
36
|
+
const makeSkConditionOps = () => {
|
|
37
|
+
let target;
|
|
38
|
+
const capture = (field) => {
|
|
39
|
+
if (typeof field === "string")
|
|
40
|
+
target = field;
|
|
41
|
+
};
|
|
42
|
+
const ops = {
|
|
43
|
+
eq: (field, value) => {
|
|
44
|
+
capture(field);
|
|
45
|
+
return { eq: value };
|
|
46
|
+
},
|
|
47
|
+
lt: (field, value) => {
|
|
48
|
+
capture(field);
|
|
49
|
+
return { lt: value };
|
|
50
|
+
},
|
|
51
|
+
lte: (field, value) => {
|
|
52
|
+
capture(field);
|
|
53
|
+
return { lte: value };
|
|
54
|
+
},
|
|
55
|
+
gt: (field, value) => {
|
|
56
|
+
capture(field);
|
|
57
|
+
return { gt: value };
|
|
58
|
+
},
|
|
59
|
+
gte: (field, value) => {
|
|
60
|
+
capture(field);
|
|
61
|
+
return { gte: value };
|
|
62
|
+
},
|
|
63
|
+
between: (field, low, high) => {
|
|
64
|
+
capture(field);
|
|
65
|
+
return { between: [low, high] };
|
|
66
|
+
},
|
|
67
|
+
beginsWith: (field, prefix) => {
|
|
68
|
+
capture(field);
|
|
69
|
+
return { beginsWith: prefix };
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
return { ops, targetField: () => target };
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Serialise a raw condition's operands. Used only when no `composeSkCondition`
|
|
76
|
+
* hook is present — with one, encoding + composition happen there instead.
|
|
77
|
+
*/
|
|
78
|
+
const serializeRawCondition = (condition) => {
|
|
79
|
+
const s = (value) => KeyComposer.serializeValue(value);
|
|
80
|
+
if ("eq" in condition)
|
|
81
|
+
return { eq: s(condition.eq) };
|
|
82
|
+
if ("lt" in condition)
|
|
83
|
+
return { lt: s(condition.lt) };
|
|
84
|
+
if ("lte" in condition)
|
|
85
|
+
return { lte: s(condition.lte) };
|
|
86
|
+
if ("gt" in condition)
|
|
87
|
+
return { gt: s(condition.gt) };
|
|
88
|
+
if ("gte" in condition)
|
|
89
|
+
return { gte: s(condition.gte) };
|
|
90
|
+
if ("between" in condition)
|
|
91
|
+
return { between: [s(condition.between[0]), s(condition.between[1])] };
|
|
92
|
+
return { beginsWith: s(condition.beginsWith) };
|
|
23
93
|
};
|
|
24
94
|
/** Build the runtime sk accessor object — each property returns its field name. */
|
|
25
95
|
const buildSkAccessor = (fields) => {
|
|
@@ -42,10 +112,11 @@ export class BoundQueryImpl {
|
|
|
42
112
|
// --- where ---
|
|
43
113
|
where(fn) {
|
|
44
114
|
const skAccessor = (this._config.skFields ? buildSkAccessor(this._config.skFields) : {});
|
|
45
|
-
const
|
|
115
|
+
const { ops, targetField } = makeSkConditionOps();
|
|
116
|
+
const condition = fn(skAccessor, ops);
|
|
46
117
|
const finalCondition = this._config.composeSkCondition
|
|
47
|
-
? this._config.composeSkCondition(condition)
|
|
48
|
-
: condition;
|
|
118
|
+
? this._config.composeSkCondition(condition, targetField())
|
|
119
|
+
: serializeRawCondition(condition);
|
|
49
120
|
return new BoundQueryImpl(Query.where(this._query, finalCondition), this._config);
|
|
50
121
|
}
|
|
51
122
|
// --- filter ---
|
|
@@ -71,6 +142,9 @@ export class BoundQueryImpl {
|
|
|
71
142
|
limit(n) {
|
|
72
143
|
return new BoundQueryImpl(Query.limit(this._query, n), this._config);
|
|
73
144
|
}
|
|
145
|
+
pageSize(n) {
|
|
146
|
+
return new BoundQueryImpl(Query.pageSize(this._query, n), this._config);
|
|
147
|
+
}
|
|
74
148
|
maxPages(n) {
|
|
75
149
|
return new BoundQueryImpl(Query.maxPages(this._query, n), this._config);
|
|
76
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoundQuery.js","sourceRoot":"","sources":["../../src/internal/BoundQuery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAe,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE5C,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"BoundQuery.js","sourceRoot":"","sources":["../../src/internal/BoundQuery.ts"],"names":[],"mappings":"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"}
|