effect-dynamodb 1.19.1 → 1.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Query.d.ts CHANGED
@@ -42,6 +42,11 @@ interface QueryState {
42
42
  readonly condition: SortKeyCondition;
43
43
  }>;
44
44
  readonly exprFilters: ReadonlyArray<Expr>;
45
+ /**
46
+ * Client-side predicates, evaluated on the DECODED item inside the same
47
+ * accumulate loop the server-side filter uses (see {@link filterBy}).
48
+ */
49
+ readonly predicates: ReadonlyArray<(item: never) => boolean>;
45
50
  readonly entityTypes: ReadonlyArray<string>;
46
51
  /** Maximum number of items to RETURN (a contract on results). */
47
52
  readonly limitValue: number | undefined;
@@ -197,6 +202,47 @@ export declare const filterExpr: {
197
202
  (expr: Expr): <A>(self: Query<A>) => Query<A>;
198
203
  <A>(self: Query<A>, expr: Expr): Query<A>;
199
204
  };
205
+ /**
206
+ * Add a **client-side** predicate, evaluated on the decoded item.
207
+ *
208
+ * `limit` is a contract on results, and the request loop fills a page by
209
+ * accumulating until `n` items are accepted, rebuilding the cursor from the
210
+ * last accepted item. Until now only `FilterExpression` could take part in
211
+ * that loop, so a predicate DynamoDB cannot express had to be applied after
212
+ * `execute` — which breaks pagination two ways: the page comes back short, and
213
+ * its cursor resumes after the last item RETURNED rather than the last one
214
+ * KEPT, skipping rows (#122).
215
+ *
216
+ * A predicate registered here runs inside the loop instead, so `limit` still
217
+ * fills the page and the cursor still lands after the last accepted item.
218
+ *
219
+ * **Prefer {@link filter} whenever DynamoDB can express the condition.** A
220
+ * `FilterExpression` is evaluated before the rows cross the wire; this runs
221
+ * after, so every examined row is still read and paid for. Reach for it when
222
+ * the comparison is not expressible server-side — case-insensitive matching is
223
+ * the standard case, since DynamoDB has no `lower()` and a `FilterExpression`
224
+ * compares the stored attribute byte-for-byte:
225
+ *
226
+ * ```ts
227
+ * query.pipe(
228
+ * Query.filterBy((venue) => venue.name.toLowerCase().startsWith("melbourne")),
229
+ * Query.limit(25),
230
+ * Query.execute,
231
+ * )
232
+ * ```
233
+ *
234
+ * Composite KEYS do not have this problem — `DynamoSchema.applyCasing` folds
235
+ * both the stored key and the operand — so take as much as the key prefix can
236
+ * carry and match the rest here.
237
+ *
238
+ * Multiple predicates are ANDed. They cannot be combined with a projection
239
+ * ({@link select} / {@link selectPaths}), which would hand the predicate an
240
+ * item missing the attributes it reads — see EDD-9054.
241
+ */
242
+ export declare const filterBy: {
243
+ <A>(predicate: (item: A) => boolean): (self: Query<A>) => Query<A>;
244
+ <A>(self: Query<A>, predicate: (item: A) => boolean): Query<A>;
245
+ };
200
246
  /**
201
247
  * Apply path-based projections. Compiles path segments to ProjectionExpression.
202
248
  * When projection is active, items are returned as raw `Record<string, unknown>`.
@@ -254,7 +300,7 @@ export declare const paginate: <A>(self: Query<A>) => Effect.Effect<Stream.Strea
254
300
  * counting once `n` is reached — which makes `.limit(1).count()` a cheap
255
301
  * existence check. {@link pageSize} sets the rows examined per request.
256
302
  */
257
- export declare const count: <A>(self: Query<A>) => Effect.Effect<number, DynamoClientError, DynamoClient>;
303
+ export declare const count: <A>(self: Query<A>) => Effect.Effect<number, DynamoClientError | ValidationError, DynamoClient>;
258
304
  /**
259
305
  * Return the built DynamoDB command input without executing.
260
306
  * Useful for debugging, logging, or passing to DynamoClient directly.
@@ -1 +1 @@
1
- {"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../src/Query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../src/Query.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAExE,OAAO,EAAE,MAAM,EAAoB,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAe,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAQ3D;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACvB;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACvB;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACxB;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACvB;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACxB;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC/C;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAA;AAMnC,UAAU,UAAU;IAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;QACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAA;KACrC,CAAC,CAAA;IACF,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IACzC;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,CAAA;IAC5D,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3C,iEAAiE;IACjE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,gFAAgF;IAChF,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACtD,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;IACnF,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;IAC3F,wFAAwF;IACxF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;IACxE;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;CACtD;AAeD,QAAA,MAAM,WAAW,EAAE,OAAO,MAA4C,CAAA;AACtE,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAA;AAE5C;;;;;;;;GAQG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,QAAQ;IACjD,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IACnC,gBAAgB;IAChB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,gBAAgB;IAChB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;CAC7B;AAsBD,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,QAAQ;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,eAAe,CAAC,CAAA;IACrF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;IACzE,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAA;CACnE,KAAG,KAAK,CAAC,CAAC,CA0BP,CAAA;AAEJ;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,QAAQ;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,eAAe,CAAC,CAAA;IACrF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;IACzE,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAA;CACnE,KAAG,KAAK,CAAC,CAAC,CA0BP,CAAA;AAcJ;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE;IAClB,CAAC,SAAS,EAAE,gBAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;CAQ1D,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,KAAK,EAAE;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;CAQzC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE;IACrB,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;CAQzC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,KAAG,KAAK,CAAC,CAAC,CAI/C,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE;IAC3B,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAA;IACnC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;CAQ9B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE;IACrB,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;CAQzC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,KAAG,KAAK,CAAC,CAAC,CAIvD,CAAA;AAEJ;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE;IACtB,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAA;IACjD,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;CAU9C,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE;IACnB,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC1F,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAavF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAA;IAC7C,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;CAWzC,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,QAAQ,EAAE;IACrB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAA;IAClE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;CAS9D,CAAA;AAmBF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE;IACxB,CACE,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GACnD,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACxD,CAAC,CAAC,EACA,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EACd,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GACnD,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAgBlC,CAAA;AAmPD;;GAEG;AACH,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAMD;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,EACvB,MAAM,KAAK,CAAC,CAAC,CAAC,KACb,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,iBAAiB,GAAG,eAAe,EAAE,YAAY,CAKxE,CAAA;AAEJ;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,EACvB,MAAM,KAAK,CAAC,CAAC,CAAC,KACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,iBAAiB,GAAG,eAAe,EAAE,YAAY,CAmFvE,CAAA;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EACxB,MAAM,KAAK,CAAC,CAAC,CAAC,KACb,MAAM,CAAC,MAAM,CACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,iBAAiB,GAAG,eAAe,CAAC,EAC5D,KAAK,EACL,YAAY,CACa,CAAA;AA6E3B;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EACrB,MAAM,KAAK,CAAC,CAAC,CAAC,KACb,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe,EAAE,YAAY,CA2CtE,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,CAK1F,CAAA;AAMJ,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CACE,CAAA"}
package/dist/Query.js CHANGED
@@ -49,6 +49,7 @@ export const make = (config) => new QueryImpl({
49
49
  skField: config.skField,
50
50
  skConditions: [],
51
51
  exprFilters: [],
52
+ predicates: [],
52
53
  entityTypes: config.entityTypes,
53
54
  limitValue: undefined,
54
55
  pageSizeValue: undefined,
@@ -77,6 +78,7 @@ export const makeScan = (config) => new QueryImpl({
77
78
  skField: undefined,
78
79
  skConditions: [],
79
80
  exprFilters: [],
81
+ predicates: [],
80
82
  entityTypes: config.entityTypes,
81
83
  limitValue: undefined,
82
84
  pageSizeValue: undefined,
@@ -189,11 +191,16 @@ export const startFrom = Function.dual(2, (self, cursor) => cursor === ""
189
191
  * items are returned as raw `Record<string, unknown>` instead of decoded
190
192
  * schema instances, since projected items may be partial.
191
193
  */
192
- export const select = Function.dual(2, (self, attributes) => new QueryImpl({
193
- ...self._state,
194
- projection: attributes,
195
- decoder: (raw) => Effect.succeed(raw),
196
- }));
194
+ export const select = Function.dual(2, (self, attributes) => {
195
+ if (self._state.predicates.length > 0) {
196
+ throw new Error(rejectPredicateWithProjection("select() after filterBy()"));
197
+ }
198
+ return new QueryImpl({
199
+ ...self._state,
200
+ projection: attributes,
201
+ decoder: (raw) => Effect.succeed(raw),
202
+ });
203
+ });
197
204
  /**
198
205
  * Add an Expr-based filter expression to the query.
199
206
  * Multiple filterExpr calls are ANDed together.
@@ -210,15 +217,81 @@ export const filterExpr = Function.dual(2, (self, expr) => {
210
217
  exprFilters: [...self._state.exprFilters, expr],
211
218
  });
212
219
  });
220
+ /**
221
+ * Add a **client-side** predicate, evaluated on the decoded item.
222
+ *
223
+ * `limit` is a contract on results, and the request loop fills a page by
224
+ * accumulating until `n` items are accepted, rebuilding the cursor from the
225
+ * last accepted item. Until now only `FilterExpression` could take part in
226
+ * that loop, so a predicate DynamoDB cannot express had to be applied after
227
+ * `execute` — which breaks pagination two ways: the page comes back short, and
228
+ * its cursor resumes after the last item RETURNED rather than the last one
229
+ * KEPT, skipping rows (#122).
230
+ *
231
+ * A predicate registered here runs inside the loop instead, so `limit` still
232
+ * fills the page and the cursor still lands after the last accepted item.
233
+ *
234
+ * **Prefer {@link filter} whenever DynamoDB can express the condition.** A
235
+ * `FilterExpression` is evaluated before the rows cross the wire; this runs
236
+ * after, so every examined row is still read and paid for. Reach for it when
237
+ * the comparison is not expressible server-side — case-insensitive matching is
238
+ * the standard case, since DynamoDB has no `lower()` and a `FilterExpression`
239
+ * compares the stored attribute byte-for-byte:
240
+ *
241
+ * ```ts
242
+ * query.pipe(
243
+ * Query.filterBy((venue) => venue.name.toLowerCase().startsWith("melbourne")),
244
+ * Query.limit(25),
245
+ * Query.execute,
246
+ * )
247
+ * ```
248
+ *
249
+ * Composite KEYS do not have this problem — `DynamoSchema.applyCasing` folds
250
+ * both the stored key and the operand — so take as much as the key prefix can
251
+ * carry and match the rest here.
252
+ *
253
+ * Multiple predicates are ANDed. They cannot be combined with a projection
254
+ * ({@link select} / {@link selectPaths}), which would hand the predicate an
255
+ * item missing the attributes it reads — see EDD-9054.
256
+ */
257
+ export const filterBy = Function.dual(2, (self, predicate) => {
258
+ if (self._state.projection !== undefined || self._state.projectionPaths !== undefined) {
259
+ throw new Error(rejectPredicateWithProjection("filterBy() after select()"));
260
+ }
261
+ return new QueryImpl({
262
+ ...self._state,
263
+ predicates: [...self._state.predicates, predicate],
264
+ });
265
+ });
266
+ /**
267
+ * @internal A projection and a client-side predicate cannot both be active.
268
+ *
269
+ * The predicate is an opaque closure, so the library cannot know which
270
+ * attributes it reads and cannot borrow them into the ProjectionExpression the
271
+ * way {@link cursorProjectionFields} borrows key attributes. Under a projection
272
+ * the predicate would silently receive an item whose fields are absent and
273
+ * quietly reject (or accept) every row. Refuse instead — the combination has no
274
+ * correct reading the library can pick on the caller's behalf.
275
+ */
276
+ const rejectPredicateWithProjection = (what) => `[EDD-9054] ${what} is not supported: a client-side predicate runs on the decoded ` +
277
+ "item, but a projection returns only the attributes it names, and the predicate is a " +
278
+ "closure whose attribute reads the library cannot see — so it would be handed items " +
279
+ "missing the fields it tests. Drop the projection, or express the condition as a " +
280
+ "server-side .filter() which DynamoDB evaluates against the stored item.";
213
281
  /**
214
282
  * Apply path-based projections. Compiles path segments to ProjectionExpression.
215
283
  * When projection is active, items are returned as raw `Record<string, unknown>`.
216
284
  */
217
- export const selectPaths = Function.dual(2, (self, paths) => new QueryImpl({
218
- ...self._state,
219
- projectionPaths: paths,
220
- decoder: (raw) => Effect.succeed(raw),
221
- }));
285
+ export const selectPaths = Function.dual(2, (self, paths) => {
286
+ if (self._state.predicates.length > 0) {
287
+ throw new Error(rejectPredicateWithProjection("select() after filterBy()"));
288
+ }
289
+ return new QueryImpl({
290
+ ...self._state,
291
+ projectionPaths: paths,
292
+ decoder: (raw) => Effect.succeed(raw),
293
+ });
294
+ });
222
295
  // ---------------------------------------------------------------------------
223
296
  // Internal: shared filter clause builder (entity type + user filters)
224
297
  // ---------------------------------------------------------------------------
@@ -357,15 +430,25 @@ const buildDynamoCommand = (state, tableName, overrides, extraProjectionFields =
357
430
  * - With a user filter, `limit` cannot be expressed as `Limit` at all (it bounds
358
431
  * rows examined, and the filter runs after), so the request asks for
359
432
  * `pageSize` — or, unset, a natural (1 MB) page.
433
+ * - A client-side predicate ({@link filterBy}) rejects rows even later, after
434
+ * decode, so it disqualifies the budget for exactly the same reason.
360
435
  */
361
436
  const computeRequestLimit = (state, remaining) => {
362
437
  const pageSize = state.pageSizeValue;
363
438
  if (remaining === undefined)
364
439
  return pageSize;
365
- if (state.exprFilters.length > 0)
440
+ if (state.exprFilters.length > 0 || state.predicates.length > 0)
366
441
  return pageSize;
367
442
  return pageSize === undefined ? remaining : Math.min(pageSize, remaining);
368
443
  };
444
+ /** @internal Does the decoded item pass every client-side predicate? */
445
+ const accepts = (state, item) => {
446
+ for (const predicate of state.predicates) {
447
+ if (!predicate(item))
448
+ return false;
449
+ }
450
+ return true;
451
+ };
369
452
  /**
370
453
  * @internal Attribute names that form a resume key for this response.
371
454
  * The `LastEvaluatedKey`, when present, is authoritative about the key shape.
@@ -447,6 +530,7 @@ export const execute = (self) => Effect.gen(function* () {
447
530
  // Key attributes borrowed into an active projection so an over-reading
448
531
  // request can still rebuild a cursor. Stripped again before decoding.
449
532
  const borrowedFields = cursorProjectionFields(state);
533
+ const hasPredicate = state.predicates.length > 0;
450
534
  const items = [];
451
535
  let startKey = state.exclusiveStartKey;
452
536
  let pageCount = 0;
@@ -458,18 +542,37 @@ export const execute = (self) => Effect.gen(function* () {
458
542
  const result = state.isScan ? yield* client.scan(cmd) : yield* client.query(cmd);
459
543
  const returned = (result.Items ?? []);
460
544
  const lastEvaluatedKey = result.LastEvaluatedKey;
461
- const take = remaining === undefined ? returned.length : Math.min(remaining, returned.length);
545
+ // Without a client predicate every returned row is accepted, so the take
546
+ // window is known before decoding and the budget can bound it directly.
547
+ // With one, acceptance is only known AFTER decode, so every returned row
548
+ // is examined and the loop stops once the budget fills (#122).
549
+ const take = remaining === undefined || hasPredicate
550
+ ? returned.length
551
+ : Math.min(remaining, returned.length);
552
+ /** Index of the last row examined when the limit was reached, else -1. */
553
+ let stoppedAt = -1;
462
554
  for (let i = 0; i < take; i++) {
463
555
  const raw = fromAttributeMap(returned[i]);
464
556
  for (const field of borrowedFields)
465
557
  delete raw[field];
466
- items.push(yield* state.decoder(raw));
558
+ const item = yield* state.decoder(raw);
559
+ if (hasPredicate && !accepts(state, item))
560
+ continue;
561
+ items.push(item);
562
+ if (limitValue !== undefined && items.length >= limitValue) {
563
+ stoppedAt = i;
564
+ break;
565
+ }
467
566
  }
468
- // Over-read: the surplus was discarded, so the cursor has to be rebuilt
469
- // from the last item handed back rather than from LastEvaluatedKey.
470
- if (take < returned.length) {
567
+ // Stopped inside the page: the surplus was discarded, so the cursor has
568
+ // to be rebuilt from the last item handed back rather than from
569
+ // LastEvaluatedKey. `stoppedAt` is the last row ACCEPTED, which is what
570
+ // makes this correct under a predicate — resuming from the last row
571
+ // EXAMINED would skip the rejected rows a later page might still need,
572
+ // and resuming from LastEvaluatedKey would skip the rest of this page.
573
+ if (stoppedAt >= 0 && stoppedAt < returned.length - 1) {
471
574
  cursor =
472
- cursorFromItem(returned[take - 1], resumeKeyNames(state, lastEvaluatedKey)) ??
575
+ cursorFromItem(returned[stoppedAt], resumeKeyNames(state, lastEvaluatedKey)) ??
473
576
  (lastEvaluatedKey != null ? encodeCursor(lastEvaluatedKey) : null);
474
577
  break;
475
578
  }
@@ -512,8 +615,15 @@ const paginateInternal = (self) => Effect.gen(function* () {
512
615
  });
513
616
  const result = state.isScan ? yield* client.scan(cmd) : yield* client.query(cmd);
514
617
  const returned = (result.Items ?? []);
515
- const take = remaining === undefined ? returned.length : Math.min(remaining, returned.length);
516
- const decoded = yield* Effect.forEach(returned.slice(0, take).map((item) => fromAttributeMap(item)), (raw) => state.decoder(raw));
618
+ // See `execute` — a client predicate rejects rows after decode, so
619
+ // the budget cannot bound the examine window, only the accepted one.
620
+ const hasPredicate = state.predicates.length > 0;
621
+ const take = remaining === undefined || hasPredicate
622
+ ? returned.length
623
+ : Math.min(remaining, returned.length);
624
+ const examined = yield* Effect.forEach(returned.slice(0, take).map((item) => fromAttributeMap(item)), (raw) => state.decoder(raw));
625
+ const kept = hasPredicate ? examined.filter((item) => accepts(state, item)) : examined;
626
+ const decoded = remaining === undefined ? kept : kept.slice(0, remaining);
517
627
  const emitted = pageState.emitted + decoded.length;
518
628
  const hasMorePages = result.LastEvaluatedKey != null;
519
629
  const maxPagesReached = state.maxPagesValue != null && pageCount >= state.maxPagesValue;
@@ -544,6 +654,17 @@ export const count = (self) => Effect.gen(function* () {
544
654
  const limitValue = state.limitValue;
545
655
  if (limitValue !== undefined && limitValue <= 0)
546
656
  return 0;
657
+ // A client-side predicate runs on the DECODED item, and `Select: "COUNT"`
658
+ // returns no items to decode — so counting server-side would report every
659
+ // row the key condition and FilterExpression matched, silently ignoring the
660
+ // predicate. Count the accepted items instead. This reads the rows rather
661
+ // than counting them in DynamoDB, which costs more; it is the price of a
662
+ // predicate the database cannot evaluate, and the alternative is a wrong
663
+ // number (#122).
664
+ if (state.predicates.length > 0) {
665
+ const items = yield* collect(self);
666
+ return items.length;
667
+ }
547
668
  let total = 0;
548
669
  let pageCount = 0;
549
670
  let exclusiveStartKey;
package/dist/Query.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Query.js","sourceRoot":"","sources":["../src/Query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Query.js","sourceRoot":"","sources":["../src/Query.ts"],"names":[],"mappings":"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"}
@@ -77,6 +77,27 @@ export interface BoundQueryBase<Model, SkRemaining, A> {
77
77
  (fn: (t: PathBuilder<Model, Model, never>, ops: ConditionOps<Model>) => Expr): BoundQuery<Model, SkRemaining, A>;
78
78
  (shorthand: ConditionShorthand): BoundQuery<Model, SkRemaining, A>;
79
79
  };
80
+ /**
81
+ * Add a **client-side** predicate, evaluated on the decoded item inside the
82
+ * same accumulate loop `.limit()` uses — so a page still fills to `n` and its
83
+ * cursor still resumes after the last item kept (#122).
84
+ *
85
+ * Prefer `.filter()` whenever DynamoDB can express the condition: a
86
+ * `FilterExpression` is evaluated before the rows cross the wire, while this
87
+ * runs after, so every examined row is still read and paid for. Reach for it
88
+ * when the comparison is not expressible server-side — case-insensitive
89
+ * matching being the standard case, since DynamoDB has no `lower()`:
90
+ *
91
+ * ```ts
92
+ * db.entities.Venues.byCity({ city: "melbourne" })
93
+ * .filterBy((v) => v.name.toLowerCase().startsWith("melbourne"))
94
+ * .limit(25)
95
+ * .fetch()
96
+ * ```
97
+ *
98
+ * Cannot be combined with `.select()` — see EDD-9054.
99
+ */
100
+ readonly filterBy: (predicate: (item: A) => boolean) => BoundQuery<Model, SkRemaining, A>;
80
101
  /** Select specific attributes (projection). Callback or string array. */
81
102
  readonly select: {
82
103
  (fn: (t: PathBuilder<Model, Model, never>) => ReadonlyArray<Path<Model, any, any>>): BoundQuery<Model, SkRemaining, Record<string, unknown>>;
@@ -109,8 +130,15 @@ export interface BoundQueryBase<Model, SkRemaining, A> {
109
130
  readonly collect: () => Effect.Effect<Array<A>, DynamoClientError | ValidationError, never>;
110
131
  /** Execute and return a lazy Stream of items. Automatically paginates. */
111
132
  readonly paginate: () => Stream.Stream<A, DynamoClientError | ValidationError, never>;
112
- /** Execute a count-only query (no items returned). */
113
- readonly count: () => Effect.Effect<number, DynamoClientError, never>;
133
+ /**
134
+ * Execute a count-only query (no items returned).
135
+ *
136
+ * Under `.filterBy()` there is nothing to count server-side — `Select:
137
+ * "COUNT"` returns no items to run the predicate against — so the rows are
138
+ * read and the accepted ones counted. Correct, but it pays for the read;
139
+ * that is why the error channel carries `ValidationError` (decode can fail).
140
+ */
141
+ readonly count: () => Effect.Effect<number, DynamoClientError | ValidationError, never>;
114
142
  }
115
143
  export interface BoundQueryWithWhere<Model, SkRemaining, A> {
116
144
  /**
@@ -149,6 +177,7 @@ export declare class BoundQueryImpl<Model, SkRemaining, A> {
149
177
  constructor(_query: Query.Query<A>, _config: BoundQueryConfig<Model>);
150
178
  where(fn: (t: SkRemaining, ops: SkConditionOps<SkRemaining>) => RawSortKeyCondition): BoundQueryImpl<Model, never, A>;
151
179
  filter(fnOrShorthand: ((t: PathBuilder<Model, Model, never>, ops: ConditionOps<Model>) => Expr) | ConditionShorthand): BoundQueryImpl<Model, SkRemaining, A>;
180
+ filterBy(predicate: (item: A) => boolean): BoundQueryImpl<Model, SkRemaining, A>;
152
181
  select(fnOrAttrs: ((t: PathBuilder<Model, Model, never>) => ReadonlyArray<Path<Model, any, any>>) | ReadonlyArray<string>): BoundQueryImpl<Model, SkRemaining, Record<string, unknown>>;
153
182
  limit(n: number): BoundQueryImpl<Model, SkRemaining, A>;
154
183
  pageSize(n: number): BoundQueryImpl<Model, SkRemaining, A>;
@@ -160,7 +189,7 @@ export declare class BoundQueryImpl<Model, SkRemaining, A> {
160
189
  fetch(): Effect.Effect<Query.Page<A>, DynamoClientError | ValidationError, never>;
161
190
  collect(): Effect.Effect<Array<A>, DynamoClientError | ValidationError, never>;
162
191
  paginate(): Stream.Stream<A, DynamoClientError | ValidationError, never>;
163
- count(): Effect.Effect<number, DynamoClientError, never>;
192
+ count(): Effect.Effect<number, DynamoClientError | ValidationError, never>;
164
193
  }
165
194
  /**
166
195
  * @internal Create a BoundQuery wrapping a Query with pre-resolved config.
@@ -1 +1 @@
1
- {"version":3,"file":"BoundQuery.d.ts","sourceRoot":"","sources":["../../src/internal/BoundQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BoundQuery.d.ts","sourceRoot":"","sources":["../../src/internal/BoundQuery.ts"],"names":[],"mappings":"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"}
@@ -129,6 +129,10 @@ export class BoundQueryImpl {
129
129
  const expr = parseSimpleShorthand(fnOrShorthand);
130
130
  return new BoundQueryImpl(Query.filterExpr(this._query, expr), this._config);
131
131
  }
132
+ // --- filterBy ---
133
+ filterBy(predicate) {
134
+ return new BoundQueryImpl(Query.filterBy(this._query, predicate), this._config);
135
+ }
132
136
  // --- select ---
133
137
  select(fnOrAttrs) {
134
138
  if (typeof fnOrAttrs === "function") {
@@ -1 +1 @@
1
- {"version":3,"file":"BoundQuery.js","sourceRoot":"","sources":["../../src/internal/BoundQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BoundQuery.js","sourceRoot":"","sources":["../../src/internal/BoundQuery.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect-dynamodb",
3
- "version": "1.19.1",
3
+ "version": "1.20.1",
4
4
  "description": "Effect TS ORM for DynamoDB — schema-driven entity modeling, single-table design, composite keys, transactions, and Stream-based pagination",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -48,7 +48,7 @@
48
48
  "dependencies": {
49
49
  "@aws-sdk/client-dynamodb": "^3.1104.0",
50
50
  "@aws-sdk/util-dynamodb": "^3.700.0",
51
- "@effect-dynamodb/schema": "^1.19.1"
51
+ "@effect-dynamodb/schema": "^1.20.1"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "effect": "^4.0.0-rc.112"