effect-dynamodb 1.22.0 → 1.24.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 +729 -53
- package/dist/EventStore.d.ts.map +1 -1
- package/dist/EventStore.js +1216 -231
- 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
|
@@ -9,6 +9,23 @@ import { ValidationError } from "@effect-dynamodb/schema/Errors.js";
|
|
|
9
9
|
import * as KeyComposer from "@effect-dynamodb/schema/KeyComposer.js";
|
|
10
10
|
import { DateTime, Effect, Schema } from "effect";
|
|
11
11
|
import type { Entity } from "../Entity.js";
|
|
12
|
+
/**
|
|
13
|
+
* @internal Hidden per-incarnation token of a versioned entity (#133): set
|
|
14
|
+
* when an item is created, it tells an item apart from a deleted-and-recreated
|
|
15
|
+
* one at the same version. Named like
|
|
16
|
+
* `__edd_e__` so it cannot collide with a model field; never decoded.
|
|
17
|
+
*/
|
|
18
|
+
export declare const INCARNATION_TOKEN = "__edd_i__";
|
|
19
|
+
/**
|
|
20
|
+
* @internal Hidden string set naming the unique-constraint fields an item
|
|
21
|
+
* holds a DEFAULT for (#133): a decoding-default field that is also an index
|
|
22
|
+
* composite is stored when omitted, but a default never creates a unique
|
|
23
|
+
* sentinel — so no sentinel is composed, rotated or deleted for a field
|
|
24
|
+
* listed here until a write supplies a value for it.
|
|
25
|
+
*/
|
|
26
|
+
export declare const UNSENTINELED_DEFAULTS = "__edd_d__";
|
|
27
|
+
/** @internal A fresh incarnation token. */
|
|
28
|
+
export declare const freshIncarnationToken: Effect.Effect<string>;
|
|
12
29
|
/**
|
|
13
30
|
* Generate a wire-form timestamp value for the configured encoding from a
|
|
14
31
|
* Clock-backed `now: DateTime.Utc` (resolved by the caller via `yield*
|
|
@@ -72,17 +89,16 @@ export declare const batchRejectReason: (entity: Entity, opType: "put" | "delete
|
|
|
72
89
|
* writes an item with no embedding, so it silently drops out of the index.
|
|
73
90
|
*
|
|
74
91
|
* **The multi-item lifecycle features split by direction (#113).** `unique`,
|
|
75
|
-
* `versioned: { retain }` and `softDelete` all need MORE than one item per write
|
|
76
|
-
* The line between "expand" and "reject" is whether the extra items are
|
|
77
|
-
* derivable from the caller's payload or only from stored state:
|
|
92
|
+
* `versioned: { retain }` and `softDelete` all need MORE than one item per write:
|
|
78
93
|
*
|
|
79
|
-
* - **put** —
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
94
|
+
* - **put** — expanded. A put of a versioned or unique-constrained entity is
|
|
95
|
+
* planned exactly as `Entity.put` plans it (#133): the item is read, and the
|
|
96
|
+
* Put is guarded on what was read, beside its sentinel reservations and
|
|
97
|
+
* (owned) releases and its retain snapshot (`Entity._planPut`).
|
|
98
|
+
* - **delete** — rejected with **EDD-9048**. The sentinel to release is keyed by
|
|
99
|
+
* the *stored* item's unique values, a retain snapshot copies the *stored* row,
|
|
100
|
+
* and a soft-delete tombstone IS the stored row relocated to a new sort key;
|
|
101
|
+
* the transaction path builds a delete from its key alone.
|
|
86
102
|
*
|
|
87
103
|
* `Batch.write` rejects BOTH directions (**EDD-9049**) — see `batchRejectReason`.
|
|
88
104
|
*
|
|
@@ -115,14 +131,17 @@ export declare const composePrimaryKey: (entity: Entity, key: Record<string, unk
|
|
|
115
131
|
* are handled in the encode pass — no per-field serialization needed.
|
|
116
132
|
*
|
|
117
133
|
* Returns the unmarshalled `item` alongside the marshalled one, plus the `now`
|
|
118
|
-
* the timestamps were generated from
|
|
119
|
-
*
|
|
120
|
-
* that were written (#113), and
|
|
121
|
-
*
|
|
134
|
+
* the timestamps were generated from, and whether the input supplied
|
|
135
|
+
* `createdAt`. `Entity._planPut` needs them to derive uniqueness sentinels and
|
|
136
|
+
* the retain snapshot from the same values that were written (#113), and to
|
|
137
|
+
* keep a replaced item's `createdAt` (#133); re-deriving `now` there would risk
|
|
138
|
+
* a skew between an item's `createdAt` and its snapshot's TTL.
|
|
122
139
|
*/
|
|
123
140
|
export declare const validateAndBuildPutItem: (entity: Entity, input: Record<string, unknown>, operation: string) => Effect.Effect<{
|
|
124
141
|
readonly item: Record<string, unknown>;
|
|
125
142
|
readonly marshalled: Record<string, import("@aws-sdk/client-dynamodb").AttributeValue>;
|
|
126
143
|
readonly now: DateTime.Utc;
|
|
144
|
+
/** Whether the input supplied `createdAt` (a replacing put keeps the stored one otherwise). */
|
|
145
|
+
readonly createdAtSupplied: boolean;
|
|
127
146
|
}, ValidationError>;
|
|
128
147
|
//# sourceMappingURL=TransactableOps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactableOps.d.ts","sourceRoot":"","sources":["../../src/internal/TransactableOps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"TransactableOps.d.ts","sourceRoot":"","sources":["../../src/internal/TransactableOps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAEnE,OAAO,KAAK,WAAW,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAG1C;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,cAAc,CAAA;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,cAAc,CAAA;AAIhD,2CAA2C;AAC3C,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAEvD,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,GACrC,KAAK,QAAQ,CAAC,GAAG,EACjB,UAAU,cAAc,GAAG,IAAI,KAC9B,MAAM,GAAG,MAaX,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,KAAG,MAGzB,CAAA;AAY3B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,EAAE,QAAQ,KAAK,GAAG,QAAQ,KAAG,MAAM,GAAG,SAcrF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,QAAQ,KAAK,GAAG,QAAQ,EACxB,SAAS,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS;AAChD;;;;GAIG;AACH,QAAQ,OAAO,KACd,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAkFrC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,aAAa,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,wiBAU/E,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,MAAM,EACd,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAaxB,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB,GAClC,QAAQ,MAAM,EACd,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,WAAW,MAAM,KAChB,MAAM,CAAC,MAAM,CACd;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,0BAA0B,EAAE,cAAc,CAAC,CAAA;IACtF,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAA;IAC1B,+FAA+F;IAC/F,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;CACpC,EACD,eAAe,CAoFb,CAAA"}
|
|
@@ -5,9 +5,28 @@
|
|
|
5
5
|
* and put-item construction (validation + key composition + system fields).
|
|
6
6
|
*/
|
|
7
7
|
import { ValidationError } from "@effect-dynamodb/schema/Errors.js";
|
|
8
|
+
import { makeDefaultCrypto } from "@effect-dynamodb/schema/internal/DefaultCrypto.js";
|
|
8
9
|
import * as KeyComposer from "@effect-dynamodb/schema/KeyComposer.js";
|
|
9
10
|
import { DateTime, Effect, Schema } from "effect";
|
|
10
11
|
import { toAttributeMap } from "../Marshaller.js";
|
|
12
|
+
/**
|
|
13
|
+
* @internal Hidden per-incarnation token of a versioned entity (#133): set
|
|
14
|
+
* when an item is created, it tells an item apart from a deleted-and-recreated
|
|
15
|
+
* one at the same version. Named like
|
|
16
|
+
* `__edd_e__` so it cannot collide with a model field; never decoded.
|
|
17
|
+
*/
|
|
18
|
+
export const INCARNATION_TOKEN = "__edd_i__";
|
|
19
|
+
/**
|
|
20
|
+
* @internal Hidden string set naming the unique-constraint fields an item
|
|
21
|
+
* holds a DEFAULT for (#133): a decoding-default field that is also an index
|
|
22
|
+
* composite is stored when omitted, but a default never creates a unique
|
|
23
|
+
* sentinel — so no sentinel is composed, rotated or deleted for a field
|
|
24
|
+
* listed here until a write supplies a value for it.
|
|
25
|
+
*/
|
|
26
|
+
export const UNSENTINELED_DEFAULTS = "__edd_d__";
|
|
27
|
+
const incarnationCrypto = makeDefaultCrypto();
|
|
28
|
+
/** @internal A fresh incarnation token. */
|
|
29
|
+
export const freshIncarnationToken = Effect.orDie(incarnationCrypto.randomUUIDv4);
|
|
11
30
|
/**
|
|
12
31
|
* Generate a wire-form timestamp value for the configured encoding from a
|
|
13
32
|
* Clock-backed `now: DateTime.Utc` (resolved by the caller via `yield*
|
|
@@ -106,17 +125,16 @@ export const batchRejectReason = (entity, opType) => {
|
|
|
106
125
|
* writes an item with no embedding, so it silently drops out of the index.
|
|
107
126
|
*
|
|
108
127
|
* **The multi-item lifecycle features split by direction (#113).** `unique`,
|
|
109
|
-
* `versioned: { retain }` and `softDelete` all need MORE than one item per write
|
|
110
|
-
* The line between "expand" and "reject" is whether the extra items are
|
|
111
|
-
* derivable from the caller's payload or only from stored state:
|
|
128
|
+
* `versioned: { retain }` and `softDelete` all need MORE than one item per write:
|
|
112
129
|
*
|
|
113
|
-
* - **put** —
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
130
|
+
* - **put** — expanded. A put of a versioned or unique-constrained entity is
|
|
131
|
+
* planned exactly as `Entity.put` plans it (#133): the item is read, and the
|
|
132
|
+
* Put is guarded on what was read, beside its sentinel reservations and
|
|
133
|
+
* (owned) releases and its retain snapshot (`Entity._planPut`).
|
|
134
|
+
* - **delete** — rejected with **EDD-9048**. The sentinel to release is keyed by
|
|
135
|
+
* the *stored* item's unique values, a retain snapshot copies the *stored* row,
|
|
136
|
+
* and a soft-delete tombstone IS the stored row relocated to a new sort key;
|
|
137
|
+
* the transaction path builds a delete from its key alone.
|
|
120
138
|
*
|
|
121
139
|
* `Batch.write` rejects BOTH directions (**EDD-9049**) — see `batchRejectReason`.
|
|
122
140
|
*
|
|
@@ -146,8 +164,8 @@ input) => {
|
|
|
146
164
|
if (opType === "delete" && entity._multiItemWriteFeatures.length > 0) {
|
|
147
165
|
return Effect.fail(fail(`[EDD-9048] deleting an entity configured with ${describeFeatures(entity._multiItemWriteFeatures)}`, "the extra items a delete must write are derived from the STORED item — the sentinel " +
|
|
148
166
|
"to release is keyed by its unique values, a retain snapshot copies it, and a " +
|
|
149
|
-
"soft-delete tombstone is that row relocated to a new sort key. This path
|
|
150
|
-
"
|
|
167
|
+
"soft-delete tombstone is that row relocated to a new sort key. This path builds a " +
|
|
168
|
+
"delete from its key alone, so it cannot build them. Run the delete as its own operation " +
|
|
151
169
|
"(db.entities.X.delete(...)), which reads the item first."));
|
|
152
170
|
}
|
|
153
171
|
// --- entity-configuration level -----------------------------------------
|
|
@@ -221,10 +239,11 @@ export const composePrimaryKey = (entity, key) => {
|
|
|
221
239
|
* are handled in the encode pass — no per-field serialization needed.
|
|
222
240
|
*
|
|
223
241
|
* Returns the unmarshalled `item` alongside the marshalled one, plus the `now`
|
|
224
|
-
* the timestamps were generated from
|
|
225
|
-
*
|
|
226
|
-
* that were written (#113), and
|
|
227
|
-
*
|
|
242
|
+
* the timestamps were generated from, and whether the input supplied
|
|
243
|
+
* `createdAt`. `Entity._planPut` needs them to derive uniqueness sentinels and
|
|
244
|
+
* the retain snapshot from the same values that were written (#113), and to
|
|
245
|
+
* keep a replaced item's `createdAt` (#133); re-deriving `now` there would risk
|
|
246
|
+
* a skew between an item's `createdAt` and its snapshot's TTL.
|
|
228
247
|
*/
|
|
229
248
|
export const validateAndBuildPutItem = (entity, input, operation) => Effect.gen(function* () {
|
|
230
249
|
// Clock-backed time source resolved once per op; threaded into the sync
|
|
@@ -232,13 +251,18 @@ export const validateAndBuildPutItem = (entity, input, operation) => Effect.gen(
|
|
|
232
251
|
const now = yield* DateTime.now;
|
|
233
252
|
const inputSchema = entity.schemas.inputSchema;
|
|
234
253
|
// Encode → fall back to decode-then-encode (mirrors Entity.put).
|
|
235
|
-
|
|
254
|
+
// Omitted decoding defaults are stored, exactly as `Entity.put` does.
|
|
255
|
+
const filled = yield* entity._fillDecodingDefaults(input);
|
|
256
|
+
const unsentineled = entity._unsentineledDefaults(input);
|
|
257
|
+
const encoded = yield* Schema.encodeUnknownEffect(inputSchema)(filled).pipe(Effect.catch(() => Schema.decodeUnknownEffect(inputSchema)(filled).pipe(Effect.flatMap((decoded) => Schema.encodeUnknownEffect(inputSchema)(decoded)))), Effect.mapError((cause) => new ValidationError({
|
|
236
258
|
entityType: entity.entityType,
|
|
237
259
|
operation,
|
|
238
260
|
cause,
|
|
239
261
|
})));
|
|
240
262
|
const item = { ...encoded };
|
|
241
263
|
item.__edd_e__ = entity.entityType;
|
|
264
|
+
if (unsentineled.length > 0)
|
|
265
|
+
item[UNSENTINELED_DEFAULTS] = new Set(unsentineled);
|
|
242
266
|
// Same normalisation `Entity.put` applies. Without it a `BigIntFromString`
|
|
243
267
|
// composite composed `txn_420` here and `txn_000…0420` there, so the two
|
|
244
268
|
// APIs wrote two different rows for the same logical item and neither
|
|
@@ -250,6 +274,7 @@ export const validateAndBuildPutItem = (entity, input, operation) => Effect.gen(
|
|
|
250
274
|
// (already encoded to wire by `Schema.encode`); else generate a wire
|
|
251
275
|
// primitive directly.
|
|
252
276
|
const sf = entity.systemFields;
|
|
277
|
+
const createdAtSupplied = sf.createdAt !== null && item[sf.createdAt] !== undefined;
|
|
253
278
|
if (sf.createdAt) {
|
|
254
279
|
if (item[sf.createdAt] === undefined) {
|
|
255
280
|
item[sf.createdAt] = generateTimestampPrimitive(now, sf.createdAtEncoding);
|
|
@@ -262,11 +287,13 @@ export const validateAndBuildPutItem = (entity, input, operation) => Effect.gen(
|
|
|
262
287
|
}
|
|
263
288
|
if (sf.version)
|
|
264
289
|
item[sf.version] = 1;
|
|
290
|
+
if (entity._incarnationToken)
|
|
291
|
+
item[INCARNATION_TOKEN] = yield* freshIncarnationToken;
|
|
265
292
|
// Rename domain fields to their stored attribute names, in the same
|
|
266
293
|
// position `Entity.put` does (after keys + system fields, before sparse
|
|
267
294
|
// flattening). Omitting it gave a `field:`-renamed entity a differently
|
|
268
295
|
// shaped item depending on whether `put` or `transactWrite` wrote it — and
|
|
269
|
-
// `
|
|
296
|
+
// `_planPut` derives the retain snapshot from this same item,
|
|
270
297
|
// so the snapshot inherited the wrong shape too (#111).
|
|
271
298
|
entity._renameToDynamo(item);
|
|
272
299
|
// Flatten sparse-map fields into per-entry top-level attributes. Throws
|
|
@@ -281,6 +308,6 @@ export const validateAndBuildPutItem = (entity, input, operation) => Effect.gen(
|
|
|
281
308
|
cause: e instanceof Error ? e.message : String(e),
|
|
282
309
|
});
|
|
283
310
|
}
|
|
284
|
-
return { item, marshalled: toAttributeMap(item), now };
|
|
311
|
+
return { item, marshalled: toAttributeMap(item), now, createdAtSupplied };
|
|
285
312
|
});
|
|
286
313
|
//# sourceMappingURL=TransactableOps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactableOps.js","sourceRoot":"","sources":["../../src/internal/TransactableOps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,WAAW,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,GAAiB,EACjB,QAA+B,EACd,EAAE;IACnB,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAC7C,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACtC,QAAQ,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzB,KAAK,QAAQ;YACX,iEAAiE;YACjE,mEAAmE;YACnE,OAAO,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QAChC,KAAK,SAAS;YACZ,OAAO,EAAE,CAAA;QACX,KAAK,cAAc;YACjB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IAChC,CAAC;AACH,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAU,EAAE,CAC3D,cAAc,SAAS,+DAA+D;IACtF,qFAAqF;IACrF,yBAAyB,CAAA;AAE3B,sEAAsE;AACtE,MAAM,gBAAgB,GAAG,CAAC,QAA2D,EAAU,EAAE;IAC/F,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,cAAc,CAChG,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC;QACxB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE;QACZ,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAA;AAC1E,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAE,MAAwB,EAAsB,EAAE;IAChG,MAAM,QAAQ,GAAG,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;IAC3D,uEAAuE;IACvE,4EAA4E;IAC5E,yBAAyB;IACzB,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAChD,CAAA;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAC3C,OAAO,CACL,iCAAiC,MAAM,8BAA8B,gBAAgB,CAAC,QAAQ,CAAC,KAAK;QACpG,gFAAgF;QAChF,iFAAiF;QACjF,uEAAuE,CACxE,CAAA;AACH,CAAC,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"TransactableOps.js","sourceRoot":"","sources":["../../src/internal/TransactableOps.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.
|
|
3
|
+
"version": "1.24.0",
|
|
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.
|
|
51
|
+
"@effect-dynamodb/schema": "^1.24.0"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
54
|
"effect": "^4.0.0"
|