effect-dynamodb 1.1.0 → 1.2.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/Entity.d.ts CHANGED
@@ -293,46 +293,61 @@ export interface Entity<TModel extends Schema.Top = Schema.Top, TEntityType exte
293
293
  * }) {}
294
294
  * ```
295
295
  */
296
- /** Combinator that transforms a put/create/upsert operation. */
297
- export type PutCombinator<M> = (op: EntityPut<M, any, any, any>) => EntityPut<M, any, any, any>;
298
- /** Combinator that transforms an update/patch operation. */
299
- export type UpdateCombinator<M> = (op: EntityUpdate<M, any, any, any, any>) => EntityUpdate<M, any, any, any, any>;
300
- /** Combinator that transforms a delete operation. */
301
- export type DeleteCombinator = (op: EntityDelete<any, any>) => EntityDelete<any, any>;
302
296
  export interface BoundEntity<TModel extends Schema.Top, TIndexes extends globalThis.Record<string, IndexDefinition>, TRefs extends globalThis.Record<string, AnyRefValue> | undefined, TKey = EntityKeyType<TModel, TIndexes>, TTimeSeries extends TimeSeriesConfig<any> | undefined = undefined> {
303
297
  /** Fetch an item by primary key. Returns an Effect that resolves to the model type. */
304
298
  readonly get: (key: TKey) => Effect.Effect<ModelType<TModel>, ItemNotFound | DynamoClientError | ValidationError, never>;
305
- /** Create or replace an item. Accepts optional combinators (e.g. `Entity.condition(...)`). */
306
- readonly put: (input: EntityRefInputType<TModel, TRefs>, ...combinators: ReadonlyArray<PutCombinator<ModelType<TModel>>>) => Effect.Effect<ModelType<TModel>, DynamoClientError | ValidationError | UniqueConstraintViolation | RefErrors<TRefs>, never>;
307
- /** Create a new item. Fails if primary key already exists. Accepts optional combinators. */
308
- readonly create: (input: EntityRefInputType<TModel, TRefs>, ...combinators: ReadonlyArray<PutCombinator<ModelType<TModel>>>) => Effect.Effect<ModelType<TModel>, DynamoClientError | ValidationError | UniqueConstraintViolation | ConditionalCheckFailed | RefErrors<TRefs>, never>;
309
299
  /**
310
- * Update an existing item. Applies combinators and returns an Effect.
300
+ * Create or replace an item. Returns a fluent {@link BoundPut} — yield to execute,
301
+ * chain `.condition(...)` to add a condition expression.
311
302
  *
312
303
  * ```ts
313
- * yield* teams.update({ id }, Entity.set(updates), Entity.expectedVersion(3))
304
+ * yield* db.entities.Users.put(input)
305
+ * yield* db.entities.Users.put(input).condition({ status: "active" })
314
306
  * ```
315
307
  */
316
- readonly update: (key: TKey, ...combinators: ReadonlyArray<UpdateCombinator<ModelType<TModel>>>) => Effect.Effect<ModelType<TModel>, DynamoClientError | ItemNotFound | OptimisticLockError | UniqueConstraintViolation | ValidationError | RefErrors<TRefs>, never>;
317
- /** Delete an item by primary key. Accepts optional combinators (e.g. `Entity.condition(...)`). */
318
- readonly delete: (key: TKey, ...combinators: ReadonlyArray<DeleteCombinator>) => Effect.Effect<void, DynamoClientError | ItemNotFound, never>;
308
+ readonly put: (input: EntityRefInputType<TModel, TRefs>) => import("./internal/BoundCrud.js").BoundPut<ModelType<TModel>, ModelType<TModel>, DynamoClientError | ValidationError | UniqueConstraintViolation | RefErrors<TRefs>>;
319
309
  /**
320
- * Create or update an item atomically. Uses DynamoDB UpdateItem with `if_not_exists()`
321
- * for immutable fields and createdAt so they're only set on first creation.
322
- * Accepts optional combinators.
310
+ * Create a new item. Fails with {@link ConditionalCheckFailed} if an item with the same
311
+ * primary key already exists. Returns a fluent {@link BoundPut}.
323
312
  */
324
- readonly upsert: (input: EntityRefInputType<TModel, TRefs>, ...combinators: ReadonlyArray<PutCombinator<ModelType<TModel>>>) => Effect.Effect<ModelType<TModel>, DynamoClientError | ValidationError | ItemNotFound | ConditionalCheckFailed | RefErrors<TRefs>, never>;
313
+ readonly create: (input: EntityRefInputType<TModel, TRefs>) => import("./internal/BoundCrud.js").BoundPut<ModelType<TModel>, ModelType<TModel>, DynamoClientError | ValidationError | UniqueConstraintViolation | ConditionalCheckFailed | RefErrors<TRefs>>;
325
314
  /**
326
- * Update an existing item. Fails with `ConditionalCheckFailed` if the item doesn't exist.
327
- * Applies combinators and returns an Effect.
315
+ * Begin an update on an existing item. Returns a fluent {@link BoundUpdate} — chain
316
+ * `.set(...)`, `.remove(...)`, `.add(...)`, `.condition(...)`, `.expectedVersion(...)`,
317
+ * then `yield*`.
318
+ *
319
+ * ```ts
320
+ * yield* db.entities.Tasks.update({ id }).set(updates).expectedVersion(3)
321
+ * ```
322
+ */
323
+ readonly update: (key: TKey) => import("./internal/BoundCrud.js").BoundUpdate<ModelType<TModel>, ModelType<TModel>, EntityRefUpdateType<TModel, TIndexes, TRefs>, DynamoClientError | ItemNotFound | OptimisticLockError | UniqueConstraintViolation | ValidationError | RefErrors<TRefs>>;
324
+ /**
325
+ * Delete an item by primary key. Returns a fluent {@link BoundDelete} — yield to execute,
326
+ * chain `.condition(...)` and/or `.returnValues(...)`.
327
+ *
328
+ * ```ts
329
+ * yield* db.entities.Tasks.delete(key)
330
+ * yield* db.entities.Tasks.delete(key).condition({ status: "archived" })
331
+ * ```
332
+ */
333
+ readonly delete: (key: TKey) => import("./internal/BoundCrud.js").BoundDelete<ModelType<TModel>, DynamoClientError | ItemNotFound>;
334
+ /**
335
+ * Create or update an item atomically. Returns a fluent {@link BoundPut}.
336
+ * Uses DynamoDB UpdateItem with `if_not_exists()` for immutable fields and
337
+ * createdAt so they're only set on first creation.
338
+ */
339
+ readonly upsert: (input: EntityRefInputType<TModel, TRefs>) => import("./internal/BoundCrud.js").BoundPut<ModelType<TModel>, ModelType<TModel>, DynamoClientError | ValidationError | ItemNotFound | ConditionalCheckFailed | RefErrors<TRefs>>;
340
+ /**
341
+ * Update an existing item. Fails with {@link ConditionalCheckFailed} if the item doesn't exist.
342
+ * Returns a fluent {@link BoundUpdate}.
328
343
  *
329
344
  * ```ts
330
- * yield* teams.patch({ id }, Entity.set(updates))
345
+ * yield* db.entities.Tasks.patch({ id }).set(updates)
331
346
  * ```
332
347
  */
333
- readonly patch: (key: TKey, ...combinators: ReadonlyArray<UpdateCombinator<ModelType<TModel>>>) => Effect.Effect<ModelType<TModel>, DynamoClientError | ItemNotFound | OptimisticLockError | UniqueConstraintViolation | ValidationError | ConditionalCheckFailed | RefErrors<TRefs>, never>;
334
- /** Delete an existing item, fails if not found. Accepts optional combinators. */
335
- readonly deleteIfExists: (key: TKey, ...combinators: ReadonlyArray<DeleteCombinator>) => Effect.Effect<void, DynamoClientError | ItemNotFound | ConditionalCheckFailed, never>;
348
+ readonly patch: (key: TKey) => import("./internal/BoundCrud.js").BoundUpdate<ModelType<TModel>, ModelType<TModel>, EntityRefUpdateType<TModel, TIndexes, TRefs>, DynamoClientError | ItemNotFound | OptimisticLockError | UniqueConstraintViolation | ValidationError | ConditionalCheckFailed | RefErrors<TRefs>>;
349
+ /** Delete an existing item, fails if not found. Returns a fluent {@link BoundDelete}. */
350
+ readonly deleteIfExists: (key: TKey) => import("./internal/BoundCrud.js").BoundDelete<ModelType<TModel>, DynamoClientError | ItemNotFound | ConditionalCheckFailed>;
336
351
  /** Fetch a specific version snapshot by version number. */
337
352
  readonly getVersion: (key: TKey, version: number) => Effect.Effect<ModelType<TModel>, ItemNotFound | DynamoClientError | ValidationError, never>;
338
353
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../src/Entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../src/Entity.ts"],"names":[],"mappings":"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"}
package/dist/Entity.js CHANGED
@@ -11,6 +11,7 @@ import { DynamoClient } from "./DynamoClient.js";
11
11
  import { getEncoding, getIdentifierField, isConfiguredModel, isHidden, isRef, isRefField, } from "./DynamoModel.js";
12
12
  import * as DynamoSchema from "./DynamoSchema.js";
13
13
  import { CascadePartialFailure, ConditionalCheckFailed, ItemNotFound, isAwsConditionalCheckFailed, isAwsTransactionCancelled, OptimisticLockError, RefNotFound, TransactionOverflow, UniqueConstraintViolation, ValidationError, } from "./Errors.js";
14
+ import { makeBoundDelete, makeBoundPut, makeBoundUpdate } from "./internal/BoundCrud.js";
14
15
  import { BoundQueryImpl } from "./internal/BoundQuery.js";
15
16
  import { compileExpr, createConditionOps, isExpr, parseShorthand, parseSimpleShorthand, } from "./internal/Expr.js";
16
17
  import { compilePath, createPathBuilder } from "./internal/PathBuilder.js";
@@ -1213,46 +1214,6 @@ const makeImpl = (config) => {
1213
1214
  setClauses.push(`${nameKey} = ${valKey}`);
1214
1215
  counter++;
1215
1216
  }
1216
- // Shared sets for GSI removal detection (used by both compose and REMOVE)
1217
- const removedSet = uState.remove ? new Set(uState.remove) : undefined;
1218
- const pkCompositeSet = new Set(primaryKeyComposites(config.indexes));
1219
- // Compose GSI keys for indexes whose composites are in the update,
1220
- // filtering out any GSI whose composites are targeted by REMOVE
1221
- const indexesForGsiUpdate = removedSet
1222
- ? (() => {
1223
- const filtered = {};
1224
- for (const [indexName, indexDef] of Object.entries(allIndexes)) {
1225
- if (!("index" in indexDef)) {
1226
- filtered[indexName] = indexDef;
1227
- continue;
1228
- }
1229
- const gsiComposites = [...indexDef.pk.composite, ...indexDef.sk.composite].filter((attr) => !pkCompositeSet.has(attr));
1230
- if (!gsiComposites.some((attr) => removedSet.has(attr))) {
1231
- filtered[indexName] = indexDef;
1232
- }
1233
- }
1234
- return filtered;
1235
- })()
1236
- : allIndexes;
1237
- let gsiKeys;
1238
- try {
1239
- gsiKeys = KeyComposer.composeGsiKeysForUpdate(schema, entityType, entityVersion, indexesForGsiUpdate, hydratedUpdates, decodedKey);
1240
- }
1241
- catch (e) {
1242
- return yield* new ValidationError({
1243
- entityType,
1244
- operation: "update.gsiComposites",
1245
- cause: e instanceof Error ? e.message : e,
1246
- });
1247
- }
1248
- for (const [field, value] of Object.entries(gsiKeys)) {
1249
- const nameKey = `#u${counter}`;
1250
- const valKey = `:u${counter}`;
1251
- names[nameKey] = field;
1252
- values[valKey] = toAttributeValue(value);
1253
- setClauses.push(`${nameKey} = ${valKey}`);
1254
- counter++;
1255
- }
1256
1217
  // Add updatedAt timestamp (encoding-aware)
1257
1218
  if (systemFields.updatedAt) {
1258
1219
  const nameKey = `#u${counter}`;
@@ -1297,6 +1258,7 @@ const makeImpl = (config) => {
1297
1258
  }
1298
1259
  }
1299
1260
  // REMOVE
1261
+ const removedSet = uState.remove ? new Set(uState.remove) : undefined;
1300
1262
  if (uState.remove) {
1301
1263
  for (const attr of uState.remove) {
1302
1264
  const nameKey = `#r${removeClauses.length}`;
@@ -1304,22 +1266,23 @@ const makeImpl = (config) => {
1304
1266
  removeClauses.push(nameKey);
1305
1267
  }
1306
1268
  }
1307
- // Cascade REMOVE to GSI key fields: when a removed attribute is a GSI
1308
- // composite, the GSI pk/sk fields must also be removed so the item drops
1309
- // out of the sparse index.
1310
- if (removedSet) {
1311
- for (const [, indexDef] of Object.entries(allIndexes)) {
1312
- if (!("index" in indexDef))
1313
- continue;
1314
- const gsiComposites = [...indexDef.pk.composite, ...indexDef.sk.composite].filter((attr) => !pkCompositeSet.has(attr));
1315
- if (gsiComposites.some((attr) => removedSet.has(attr))) {
1316
- for (const keyField of [indexDef.pk.field, indexDef.sk.field]) {
1317
- const nameKey = `#r${removeClauses.length}`;
1318
- names[nameKey] = keyField;
1319
- removeClauses.push(nameKey);
1320
- }
1321
- }
1322
- }
1269
+ // Policy-aware GSI key composition. One call covers SETs (full
1270
+ // recompose or half-wise), sparse dropout REMOVEs, and cascade
1271
+ // REMOVEs when an Entity.remove() targets a GSI composite.
1272
+ // See DESIGN.md §7 Policy-Aware GSI Composition.
1273
+ const gsiUpdate = KeyComposer.composeGsiKeysForUpdatePolicyAware(schema, entityType, entityVersion, allIndexes, hydratedUpdates, decodedKey, { removedSet });
1274
+ for (const [field, value] of Object.entries(gsiUpdate.sets)) {
1275
+ const nameKey = `#u${counter}`;
1276
+ const valKey = `:u${counter}`;
1277
+ names[nameKey] = field;
1278
+ values[valKey] = toAttributeValue(value);
1279
+ setClauses.push(`${nameKey} = ${valKey}`);
1280
+ counter++;
1281
+ }
1282
+ for (const keyField of gsiUpdate.removes) {
1283
+ const nameKey = `#r${removeClauses.length}`;
1284
+ names[nameKey] = keyField;
1285
+ removeClauses.push(nameKey);
1323
1286
  }
1324
1287
  // ADD (atomic numeric increment / set addition)
1325
1288
  if (uState.add) {
@@ -1874,29 +1837,48 @@ const makeImpl = (config) => {
1874
1837
  counter++;
1875
1838
  }
1876
1839
  // GSI key recomposition: any GSI whose composites are touched by input.
1877
- // Reuses the same machinery as `.update()`. PK composites are excluded
1878
- // from the update payload: they're already in the key and never change
1879
- // during an append. Non-PK composites that overlap between appendInput
1880
- // and a GSI trigger recomposition, which requires the full GSI composite
1881
- // set (partial presence raises `PartialGsiCompositeError`).
1840
+ // Reuses the policy-aware helper from `.update()`. PK composites are
1841
+ // excluded from the update payload — they're already in the key and
1842
+ // never change during an append. Non-PK composites in appendInput that
1843
+ // overlap a GSI's composites trigger per-GSI resolution via indexPolicy.
1882
1844
  const nonPkAppendFields = {};
1883
1845
  for (const [attr, val] of Object.entries(decoded)) {
1884
1846
  if (!pkCompositeSet.has(attr)) {
1885
1847
  nonPkAppendFields[attr] = val;
1886
1848
  }
1887
1849
  }
1888
- let gsiKeys;
1889
- try {
1890
- gsiKeys = KeyComposer.composeGsiKeysForUpdate(schema, entityType, entityVersion, allIndexes, nonPkAppendFields, decoded);
1891
- }
1892
- catch (e) {
1893
- return yield* new ValidationError({
1894
- entityType,
1895
- operation: "append.gsiComposites",
1896
- cause: e instanceof Error ? e.message : e,
1897
- });
1850
+ // At append-time, indexPolicy is restricted to composites that are
1851
+ // members of appendInput. Non-appendInput composites are owned by
1852
+ // other writers and are by contract never touched by .append(); their
1853
+ // policy cannot fire at append-time. Each GSI's indexPolicy return is
1854
+ // filtered to appendInput attrs only — non-appendInput keys fall through
1855
+ // to the implicit `"preserve"` default, leaving the half containing
1856
+ // them untouched.
1857
+ const appendInputFieldSet = new Set(Object.keys(appendInputSchema
1858
+ .fields ?? {}));
1859
+ const policyAwareIndexes = {};
1860
+ for (const [indexName, indexDef] of Object.entries(allIndexes)) {
1861
+ if (!indexDef.indexPolicy) {
1862
+ policyAwareIndexes[indexName] = indexDef;
1863
+ continue;
1864
+ }
1865
+ const originalPolicy = indexDef.indexPolicy;
1866
+ policyAwareIndexes[indexName] = {
1867
+ ...indexDef,
1868
+ indexPolicy: (item) => {
1869
+ const raw = originalPolicy(item);
1870
+ const filtered = {};
1871
+ for (const [attr, policy] of Object.entries(raw)) {
1872
+ if (appendInputFieldSet.has(attr) && policy !== undefined) {
1873
+ filtered[attr] = policy;
1874
+ }
1875
+ }
1876
+ return filtered;
1877
+ },
1878
+ };
1898
1879
  }
1899
- for (const [field, value] of Object.entries(gsiKeys)) {
1880
+ const gsiUpdate = KeyComposer.composeGsiKeysForUpdatePolicyAware(schema, entityType, entityVersion, policyAwareIndexes, nonPkAppendFields, decoded);
1881
+ for (const [field, value] of Object.entries(gsiUpdate.sets)) {
1900
1882
  const nameKey = `#a${counter}`;
1901
1883
  const valKey = `:a${counter}`;
1902
1884
  names[nameKey] = field;
@@ -1904,6 +1886,13 @@ const makeImpl = (config) => {
1904
1886
  setClauses.push(`${nameKey} = ${valKey}`);
1905
1887
  counter++;
1906
1888
  }
1889
+ const appendRemoveClauses = [];
1890
+ for (const keyField of gsiUpdate.removes) {
1891
+ const nameKey = `#a${counter}`;
1892
+ names[nameKey] = keyField;
1893
+ appendRemoveClauses.push(nameKey);
1894
+ counter++;
1895
+ }
1907
1896
  // Entity type discriminator — idempotent; ensures existing items
1908
1897
  // without __edd_e__ still get tagged on first append.
1909
1898
  {
@@ -1940,7 +1929,12 @@ const makeImpl = (config) => {
1940
1929
  Object.assign(names, uc.names);
1941
1930
  Object.assign(values, uc.values);
1942
1931
  }
1943
- const updateExpression = `SET ${setClauses.join(", ")}`;
1932
+ const exprParts = [];
1933
+ if (setClauses.length > 0)
1934
+ exprParts.push(`SET ${setClauses.join(", ")}`);
1935
+ if (appendRemoveClauses.length > 0)
1936
+ exprParts.push(`REMOVE ${appendRemoveClauses.join(", ")}`);
1937
+ const updateExpression = exprParts.join(" ");
1944
1938
  // ---------- Build Put of event item ----------
1945
1939
  const eventSk = KeyComposer.composeEventSk(currentSk, newObValue, schema.casing);
1946
1940
  const eventItem = { ...decoded };
@@ -2572,26 +2566,12 @@ const makeImpl = (config) => {
2572
2566
  export const bind = (entity) => Effect.gen(function* () {
2573
2567
  const ctx = yield* Effect.context();
2574
2568
  const provide = (effect) => Effect.provide(effect, ctx);
2575
- // Helper: apply combinators to an EntityUpdate, then run in record mode + provide
2576
- const applyUpdate = (op, combinators) => {
2577
- let result = op;
2578
- for (const fn of combinators)
2579
- result = fn(result);
2580
- return provide(result._run("record"));
2581
- };
2582
- // Helper: apply combinators to an EntityPut, then run in record mode + provide
2583
- const applyPut = (op, combinators) => {
2584
- let result = op;
2585
- for (const fn of combinators)
2586
- result = fn(result);
2587
- return provide(result._run("record"));
2588
- };
2589
- // Helper: apply combinators to an EntityDelete, then asEffect + provide
2590
- const applyDelete = (op, combinators) => {
2591
- let result = op;
2592
- for (const fn of combinators)
2593
- result = fn(result);
2594
- return provide(result.asEffect());
2569
+ // Shared config for the bound-CRUD builders — pre-resolved services plus
2570
+ // a typed PathBuilder/ConditionOps so `.condition((t, ops) => ...)` works.
2571
+ const boundCrudConfig = {
2572
+ pathBuilder: createPathBuilder(),
2573
+ conditionOps: createConditionOps(),
2574
+ provide,
2595
2575
  };
2596
2576
  // Helper: apply query combinators then execute
2597
2577
  const applyQuery = (q, combinators) => {
@@ -2613,15 +2593,15 @@ export const bind = (entity) => Effect.gen(function* () {
2613
2593
  return new BoundQueryImpl(q, bqConfig);
2614
2594
  };
2615
2595
  return {
2616
- // CRUD — all ops return Effect (auto-wrapped)
2596
+ // CRUD — fluent bound builders (yieldable, no .run() terminal)
2617
2597
  get: (key) => provide(entity.get(key)._run("record")),
2618
- put: (input, ...combinators) => applyPut(entity.put(input), combinators),
2619
- create: (input, ...combinators) => applyPut(entity.create(input), combinators),
2620
- update: (key, ...combinators) => applyUpdate(entity.update(key), combinators),
2621
- delete: (key, ...combinators) => applyDelete(entity.delete(key), combinators),
2622
- upsert: (input, ...combinators) => applyPut(entity.upsert(input), combinators),
2623
- patch: (key, ...combinators) => applyUpdate(entity.patch(key), combinators),
2624
- deleteIfExists: (key, ...combinators) => applyDelete(entity.deleteIfExists(key), combinators),
2598
+ put: (input) => makeBoundPut(entity.put(input), boundCrudConfig),
2599
+ create: (input) => makeBoundPut(entity.create(input), boundCrudConfig),
2600
+ update: (key) => makeBoundUpdate(entity.update(key), boundCrudConfig),
2601
+ delete: (key) => makeBoundDelete(entity.delete(key), boundCrudConfig),
2602
+ upsert: (input) => makeBoundPut(entity.upsert(input), boundCrudConfig),
2603
+ patch: (key) => makeBoundUpdate(entity.patch(key), boundCrudConfig),
2604
+ deleteIfExists: (key) => makeBoundDelete(entity.deleteIfExists(key), boundCrudConfig),
2625
2605
  // Lifecycle
2626
2606
  getVersion: (key, version) => provide(entity.getVersion(key, version)._run("record")),
2627
2607
  versions: (key) => wrapAsBoundQuery(entity.versions(key)),