effect-dynamodb 1.3.3 → 1.5.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.
Files changed (50) hide show
  1. package/dist/Aggregate.d.ts.map +1 -1
  2. package/dist/Aggregate.js +51 -23
  3. package/dist/Aggregate.js.map +1 -1
  4. package/dist/DynamoModel.d.ts +50 -2
  5. package/dist/DynamoModel.d.ts.map +1 -1
  6. package/dist/DynamoModel.js +73 -1
  7. package/dist/DynamoModel.js.map +1 -1
  8. package/dist/Entity.d.ts +48 -21
  9. package/dist/Entity.d.ts.map +1 -1
  10. package/dist/Entity.js +586 -223
  11. package/dist/Entity.js.map +1 -1
  12. package/dist/Errors.d.ts +48 -1
  13. package/dist/Errors.d.ts.map +1 -1
  14. package/dist/Errors.js +38 -1
  15. package/dist/Errors.js.map +1 -1
  16. package/dist/Marshaller.d.ts +29 -12
  17. package/dist/Marshaller.d.ts.map +1 -1
  18. package/dist/Marshaller.js +104 -84
  19. package/dist/Marshaller.js.map +1 -1
  20. package/dist/index.d.ts +2 -2
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/internal/BoundCrud.d.ts +68 -0
  25. package/dist/internal/BoundCrud.d.ts.map +1 -1
  26. package/dist/internal/BoundCrud.js +42 -1
  27. package/dist/internal/BoundCrud.js.map +1 -1
  28. package/dist/internal/EntityCombinators.d.ts +28 -0
  29. package/dist/internal/EntityCombinators.d.ts.map +1 -1
  30. package/dist/internal/EntityCombinators.js +40 -0
  31. package/dist/internal/EntityCombinators.js.map +1 -1
  32. package/dist/internal/EntityOps.d.ts +18 -0
  33. package/dist/internal/EntityOps.d.ts.map +1 -1
  34. package/dist/internal/EntityOps.js +2 -0
  35. package/dist/internal/EntityOps.js.map +1 -1
  36. package/dist/internal/EntitySchemas.d.ts +93 -16
  37. package/dist/internal/EntitySchemas.d.ts.map +1 -1
  38. package/dist/internal/EntitySchemas.js +396 -79
  39. package/dist/internal/EntitySchemas.js.map +1 -1
  40. package/dist/internal/EntityTypes.d.ts +7 -12
  41. package/dist/internal/EntityTypes.d.ts.map +1 -1
  42. package/dist/internal/PathBuilder.d.ts +29 -4
  43. package/dist/internal/PathBuilder.d.ts.map +1 -1
  44. package/dist/internal/PathBuilder.js +47 -6
  45. package/dist/internal/PathBuilder.js.map +1 -1
  46. package/dist/internal/TransactableOps.d.ts +5 -0
  47. package/dist/internal/TransactableOps.d.ts.map +1 -1
  48. package/dist/internal/TransactableOps.js +45 -27
  49. package/dist/internal/TransactableOps.js.map +1 -1
  50. package/package.json +1 -1
package/dist/Errors.js CHANGED
@@ -17,9 +17,46 @@ export class ResourceNotFoundError extends Data.TaggedError("ResourceNotFoundErr
17
17
  /** GetItem returned no item for the given key */
18
18
  export class ItemNotFound extends Data.TaggedError("ItemNotFound") {
19
19
  }
20
- /** PutItem/DeleteItem conditional check failed */
20
+ /**
21
+ * PutItem/DeleteItem/UpdateItem conditional check failed.
22
+ *
23
+ * On `Entity.append()` (time-series), this is surfaced when a user-supplied
24
+ * `condition` rejected the write while the CAS predicate held. In that case
25
+ * `current` is `Option.some(<decoded post-state>)` carrying the live current
26
+ * item snapshot read via the follow-up GetItem. For non-append paths and for
27
+ * append calls that opted out via `.skipFollowUp()`, `current` is omitted /
28
+ * `Option.none()` (no follow-up GetItem was issued).
29
+ *
30
+ * On the `.skipFollowUp()` path of `.append()`, user-condition failures cannot
31
+ * be distinguished from CAS failures, so they are reported as
32
+ * {@link StaleAppend} instead — see that error's docs.
33
+ */
21
34
  export class ConditionalCheckFailed extends Data.TaggedError("ConditionalCheckFailed") {
22
35
  }
36
+ /**
37
+ * `Entity.append()` was rejected because the CAS predicate
38
+ * (`attribute_not_exists(pk) OR <orderBy> < :newOrderBy`) did not hold —
39
+ * i.e. another writer has already advanced the current item past
40
+ * `attemptedOrderBy`. This is an EXPECTED outcome under newer-wins
41
+ * concurrency; callers typically `Effect.catchTag("StaleAppend", ...)` and
42
+ * treat it as a no-op.
43
+ *
44
+ * `current` carries the winning state when the follow-up GetItem ran:
45
+ * - `Option.some(<raw decoded item>)` on the default path.
46
+ * - `Option.none()` when the caller opted out via `.skipFollowUp()`.
47
+ *
48
+ * The value is typed as `unknown` because `StaleAppend` has no model
49
+ * generic; callers that need a typed value can decode it with the entity's
50
+ * record schema themselves.
51
+ *
52
+ * NOTE on the `skipFollowUp` path: a user-supplied `.condition()` failure
53
+ * also raises `StaleAppend` (not {@link ConditionalCheckFailed}) because no
54
+ * follow-up GetItem ran, so the two cancellation modes are
55
+ * indistinguishable. If you need the disambiguation, do not call
56
+ * `.skipFollowUp()`.
57
+ */
58
+ export class StaleAppend extends Data.TaggedError("StaleAppend") {
59
+ }
23
60
  /** Schema decode/encode validation failed */
24
61
  export class ValidationError extends Data.TaggedError("ValidationError") {
25
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Errors.js","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Errors.js","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  /**
2
2
  * Marshaller — Thin wrapper around @aws-sdk/util-dynamodb for converting
3
- * between JS objects and DynamoDB attribute maps, plus date-aware serialization
4
- * for DynamoEncoding-annotated fields.
3
+ * between JS objects and DynamoDB attribute maps.
4
+ *
5
+ * Date-aware (de)serialization is no longer handled here — both Entity and
6
+ * Aggregate now route date conversion through substituted bidirectional
7
+ * Schema transforms (`buildDateTransform` in `internal/EntitySchemas.ts`)
8
+ * and the standard `Schema.encode` / `Schema.decode` pipelines.
5
9
  */
6
10
  import type { AttributeValue } from "@aws-sdk/client-dynamodb";
7
- import { DateTime } from "effect";
8
- import type { DynamoEncoding } from "./DynamoModel.js";
11
+ import type { SparseConfig } from "./DynamoModel.js";
9
12
  /** Marshall a JS object to a DynamoDB attribute map */
10
13
  export declare const toAttributeMap: (item: Record<string, unknown>) => Record<string, AttributeValue>;
11
14
  /** Unmarshall a DynamoDB attribute map to a JS object */
@@ -15,16 +18,30 @@ export declare const toAttributeValue: (value: unknown) => AttributeValue;
15
18
  /** Unmarshall a single DynamoDB attribute value */
16
19
  export declare const fromAttributeValue: (value: AttributeValue) => unknown;
17
20
  /**
18
- * Convert a domain date value to the storage primitive based on DynamoEncoding.
21
+ * Flatten sparse-map fields on an item before marshalling.
22
+ *
23
+ * For each `(fieldName, { prefix })` in `sparseFields`:
24
+ * - If `item[fieldName]` is undefined/null, drop the field (no-op).
25
+ * - Otherwise, expect `Record<string, V>`. For each `(k, v)`:
26
+ * validate `k`, write `item["<prefix>#<k>"] = v`.
27
+ * - Delete the original `item[fieldName]` so it doesn't marshal as a Map.
19
28
  *
20
- * Domain types supported:
21
- * - `DateTime.Utc` → ISO string, epoch ms, or epoch seconds
22
- * - `DateTime.Zoned` → extended ISO string (only "string" storage)
23
- * - `Date` → ISO string, epoch ms, or epoch seconds
29
+ * Mutates `item` in place. Idempotent on items already flattened (the field is
30
+ * absent — the for/in skips it).
24
31
  */
25
- export declare const serializeDateForDynamo: (value: unknown, encoding: DynamoEncoding) => string | number;
32
+ export declare const encodeSparseFields: (item: Record<string, unknown>, sparseFields: Record<string, SparseConfig>) => void;
26
33
  /**
27
- * Convert a DynamoDB storage primitive back to the domain value based on DynamoEncoding.
34
+ * Rebuild sparse-map fields on a raw item after unmarshalling.
35
+ *
36
+ * For each `(fieldName, { prefix })` in `sparseFields`:
37
+ * - Walk top-level keys, collect any matching `<prefix>#<key>`,
38
+ * extract the key portion, and accumulate into `out[fieldName][key]`.
39
+ * - Delete the flattened attributes from the raw item.
40
+ * - If no matching attributes are found, the result is `{}` — sparse fields
41
+ * on the domain side are required (a `Schema.Record` always decodes to an
42
+ * object, never `undefined`).
43
+ *
44
+ * Mutates `raw` in place.
28
45
  */
29
- export declare const deserializeDateFromDynamo: (stored: unknown, encoding: DynamoEncoding) => DateTime.Utc | DateTime.Zoned | Date;
46
+ export declare const decodeSparseFields: (raw: Record<string, unknown>, sparseFields: Record<string, SparseConfig>) => void;
30
47
  //# sourceMappingURL=Marshaller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Marshaller.d.ts","sourceRoot":"","sources":["../src/Marshaller.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD,uDAAuD;AACvD,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CACV,CAAA;AAElF,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAC5E,CAAA;AAElB,4DAA4D;AAC5D,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,cAC2C,CAAA;AAE7F,mDAAmD;AACnD,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,KAAG,OAAqC,CAAA;AAMhG;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GACjC,OAAO,OAAO,EACd,UAAU,cAAc,KACvB,MAAM,GAAG,MAyBX,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACpC,QAAQ,OAAO,EACf,UAAU,cAAc,KACvB,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,GAAG,IAsElC,CAAA"}
1
+ {"version":3,"file":"Marshaller.d.ts","sourceRoot":"","sources":["../src/Marshaller.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAE9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,uDAAuD;AACvD,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CACV,CAAA;AAElF,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAC5E,CAAA;AAElB,4DAA4D;AAC5D,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,cAC2C,CAAA;AAE7F,mDAAmD;AACnD,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,KAAG,OAAqC,CAAA;AA2ChG;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,cAAc,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,KACzC,IAkBF,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,GAC7B,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,cAAc,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,KACzC,IAmCF,CAAA"}
@@ -1,10 +1,13 @@
1
1
  /**
2
2
  * Marshaller — Thin wrapper around @aws-sdk/util-dynamodb for converting
3
- * between JS objects and DynamoDB attribute maps, plus date-aware serialization
4
- * for DynamoEncoding-annotated fields.
3
+ * between JS objects and DynamoDB attribute maps.
4
+ *
5
+ * Date-aware (de)serialization is no longer handled here — both Entity and
6
+ * Aggregate now route date conversion through substituted bidirectional
7
+ * Schema transforms (`buildDateTransform` in `internal/EntitySchemas.ts`)
8
+ * and the standard `Schema.encode` / `Schema.decode` pipelines.
5
9
  */
6
10
  import { marshall, unmarshall } from "@aws-sdk/util-dynamodb";
7
- import { DateTime } from "effect";
8
11
  /** Marshall a JS object to a DynamoDB attribute map */
9
12
  export const toAttributeMap = (item) => marshall(item, { removeUndefinedValues: true, convertClassInstanceToMap: true });
10
13
  /** Unmarshall a DynamoDB attribute map to a JS object */
@@ -14,102 +17,119 @@ export const toAttributeValue = (value) => marshall({ v: value }, { removeUndefi
14
17
  /** Unmarshall a single DynamoDB attribute value */
15
18
  export const fromAttributeValue = (value) => unmarshall({ v: value }).v;
16
19
  // ---------------------------------------------------------------------------
17
- // Date-aware serialization for DynamoEncoding-annotated fields
20
+ // Sparse Map flatten / rebuild
18
21
  // ---------------------------------------------------------------------------
19
22
  /**
20
- * Convert a domain date value to the storage primitive based on DynamoEncoding.
23
+ * Validate a sparse-map key at write time.
24
+ *
25
+ * Rules:
26
+ * - Must be a string (we don't silently coerce).
27
+ * - Must not contain `#` — `#` is reserved as the prefix/key delimiter.
28
+ * - The composed `<prefix>#<key>` must satisfy DynamoDB's 1–255 byte
29
+ * attribute-name limit.
21
30
  *
22
- * Domain types supported:
23
- * - `DateTime.Utc` → ISO string, epoch ms, or epoch seconds
24
- * - `DateTime.Zoned` → extended ISO string (only "string" storage)
25
- * - `Date` → ISO string, epoch ms, or epoch seconds
31
+ * Throws on violation. Caller is expected to translate into a tagged
32
+ * `ValidationError` at the entity boundary.
26
33
  */
27
- export const serializeDateForDynamo = (value, encoding) => {
28
- let epochMs;
29
- if (DateTime.isDateTime(value)) {
30
- epochMs = DateTime.toEpochMillis(value);
34
+ const validateSparseKey = (field, prefix, key) => {
35
+ if (typeof key !== "string") {
36
+ throw new Error(`Sparse map "${field}": key must be a string, got ${typeof key}`);
31
37
  }
32
- else if (value instanceof Date) {
33
- epochMs = value.getTime();
38
+ if (key.length === 0) {
39
+ throw new Error(`Sparse map "${field}": key must be non-empty`);
34
40
  }
35
- else {
36
- throw new Error(`serializeDateForDynamo: unsupported value type: ${typeof value}`);
41
+ if (key.includes("#")) {
42
+ throw new Error(`Sparse map "${field}": key "${key}" must not contain '#' — the library does not silently escape`);
37
43
  }
38
- switch (encoding.storage) {
39
- case "string":
40
- if (encoding.domain === "DateTime.Zoned" &&
41
- DateTime.isDateTime(value) &&
42
- DateTime.isZoned(value)) {
43
- return DateTime.formatIsoZoned(value);
44
- }
45
- return new Date(epochMs).toISOString();
46
- case "epochMs":
47
- return epochMs;
48
- case "epochSeconds":
49
- return Math.floor(epochMs / 1000);
44
+ const attrName = `${prefix}#${key}`;
45
+ // DynamoDB attribute names: 1–255 bytes. Length check is approximate (UTF-8
46
+ // bytes vs JS code units), but `key.length + prefix.length + 1` is an upper
47
+ // bound on byte length when both are ASCII, which is the common case.
48
+ // For full UTF-8 correctness, encode via TextEncoder.
49
+ const byteLen = new TextEncoder().encode(attrName).length;
50
+ if (byteLen < 1 || byteLen > 255) {
51
+ throw new Error(`Sparse map "${field}": composed attribute name "${attrName}" is ${byteLen} bytes (must be 1–255)`);
50
52
  }
51
53
  };
52
54
  /**
53
- * Convert a DynamoDB storage primitive back to the domain value based on DynamoEncoding.
55
+ * Flatten sparse-map fields on an item before marshalling.
56
+ *
57
+ * For each `(fieldName, { prefix })` in `sparseFields`:
58
+ * - If `item[fieldName]` is undefined/null, drop the field (no-op).
59
+ * - Otherwise, expect `Record<string, V>`. For each `(k, v)`:
60
+ * validate `k`, write `item["<prefix>#<k>"] = v`.
61
+ * - Delete the original `item[fieldName]` so it doesn't marshal as a Map.
62
+ *
63
+ * Mutates `item` in place. Idempotent on items already flattened (the field is
64
+ * absent — the for/in skips it).
54
65
  */
55
- export const deserializeDateFromDynamo = (stored, encoding) => {
56
- const label = `${encoding.domain}/${encoding.storage}`;
57
- switch (encoding.domain) {
58
- case "DateTime.Zoned": {
59
- if (typeof stored !== "string") {
60
- throw new Error(`deserializeDateFromDynamo: expected string for ${label}, got ${typeof stored}`);
61
- }
62
- try {
63
- const match = stored.match(/^(.+)\[(.+)\]$/);
64
- if (match) {
65
- const utc = DateTime.makeUnsafe(match[1]);
66
- return DateTime.makeZonedUnsafe(utc, { timeZone: match[2] });
67
- }
68
- // Offset-only or plain ISO → treat as UTC-zoned
69
- const utc = DateTime.makeUnsafe(stored);
70
- return DateTime.makeZonedUnsafe(utc, { timeZone: "UTC" });
71
- }
72
- catch (e) {
73
- throw new Error(`deserializeDateFromDynamo: invalid DateTime.Zoned value "${stored}": ${e instanceof Error ? e.message : e}`);
74
- }
66
+ export const encodeSparseFields = (item, sparseFields) => {
67
+ for (const [fieldName, sparse] of Object.entries(sparseFields)) {
68
+ if (!(fieldName in item))
69
+ continue;
70
+ const value = item[fieldName];
71
+ if (value === undefined || value === null) {
72
+ delete item[fieldName];
73
+ continue;
75
74
  }
76
- case "DateTime.Utc": {
77
- if (encoding.storage === "string") {
78
- if (typeof stored !== "string") {
79
- throw new Error(`deserializeDateFromDynamo: expected string for ${label}, got ${typeof stored}`);
80
- }
81
- try {
82
- return DateTime.makeUnsafe(stored);
83
- }
84
- catch (e) {
85
- throw new Error(`deserializeDateFromDynamo: invalid DateTime.Utc value "${stored}": ${e instanceof Error ? e.message : e}`);
86
- }
87
- }
88
- if (typeof stored !== "number" || !Number.isFinite(stored)) {
89
- throw new Error(`deserializeDateFromDynamo: expected finite number for ${label}, got ${typeof stored === "number" ? stored : typeof stored}`);
90
- }
91
- if (encoding.storage === "epochMs")
92
- return DateTime.makeUnsafe(stored);
93
- return DateTime.makeUnsafe(stored * 1000);
75
+ if (typeof value !== "object") {
76
+ throw new Error(`Sparse map "${fieldName}": expected an object/record, got ${typeof value}`);
94
77
  }
95
- case "Date": {
96
- if (encoding.storage === "string") {
97
- if (typeof stored !== "string") {
98
- throw new Error(`deserializeDateFromDynamo: expected string for ${label}, got ${typeof stored}`);
99
- }
100
- const d = new Date(stored);
101
- if (Number.isNaN(d.getTime())) {
102
- throw new Error(`deserializeDateFromDynamo: invalid Date value "${stored}"`);
103
- }
104
- return d;
105
- }
106
- if (typeof stored !== "number" || !Number.isFinite(stored)) {
107
- throw new Error(`deserializeDateFromDynamo: expected finite number for ${label}, got ${typeof stored === "number" ? stored : typeof stored}`);
78
+ const record = value;
79
+ for (const [k, v] of Object.entries(record)) {
80
+ validateSparseKey(fieldName, sparse.prefix, k);
81
+ item[`${sparse.prefix}#${k}`] = v;
82
+ }
83
+ delete item[fieldName];
84
+ }
85
+ };
86
+ /**
87
+ * Rebuild sparse-map fields on a raw item after unmarshalling.
88
+ *
89
+ * For each `(fieldName, { prefix })` in `sparseFields`:
90
+ * - Walk top-level keys, collect any matching `<prefix>#<key>`,
91
+ * extract the key portion, and accumulate into `out[fieldName][key]`.
92
+ * - Delete the flattened attributes from the raw item.
93
+ * - If no matching attributes are found, the result is `{}` — sparse fields
94
+ * on the domain side are required (a `Schema.Record` always decodes to an
95
+ * object, never `undefined`).
96
+ *
97
+ * Mutates `raw` in place.
98
+ */
99
+ export const decodeSparseFields = (raw, sparseFields) => {
100
+ if (Object.keys(sparseFields).length === 0)
101
+ return;
102
+ // Build a list of (fieldName, prefix, prefixWithDelim) once so we don't
103
+ // re-concatenate per attribute.
104
+ const entries = [];
105
+ for (const [fieldName, sparse] of Object.entries(sparseFields)) {
106
+ entries.push([fieldName, sparse.prefix, `${sparse.prefix}#`]);
107
+ }
108
+ // Sort by prefix length descending so a longer prefix wins over a shorter
109
+ // prefix that happens to be its own substring (e.g. `metric` vs `metrics`).
110
+ entries.sort((a, b) => b[2].length - a[2].length);
111
+ // Initialize empty buckets for each sparse field.
112
+ const buckets = {};
113
+ for (const [fieldName] of entries)
114
+ buckets[fieldName] = {};
115
+ // One pass over keys.
116
+ const keys = Object.keys(raw);
117
+ for (const k of keys) {
118
+ for (const [fieldName, , prefixWithDelim] of entries) {
119
+ if (k.startsWith(prefixWithDelim)) {
120
+ const subKey = k.substring(prefixWithDelim.length);
121
+ // Skip empty sub-keys (defensive — would mean the stored attr was
122
+ // literally `<prefix>#`, which validation rejects on write).
123
+ if (subKey.length === 0)
124
+ break;
125
+ buckets[fieldName][subKey] = raw[k];
126
+ delete raw[k];
127
+ break;
108
128
  }
109
- if (encoding.storage === "epochMs")
110
- return new Date(stored);
111
- return new Date(stored * 1000);
112
129
  }
113
130
  }
131
+ for (const [fieldName] of entries) {
132
+ raw[fieldName] = buckets[fieldName];
133
+ }
114
134
  };
115
135
  //# sourceMappingURL=Marshaller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Marshaller.js","sourceRoot":"","sources":["../src/Marshaller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Marshaller.js","sourceRoot":"","sources":["../src/Marshaller.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -11,13 +11,13 @@ export type { Casing, DynamoSchema as DynamoSchemaType } from "./DynamoSchema.js
11
11
  export * as DynamoSchema from "./DynamoSchema.js";
12
12
  export type { BoundEntity, Entity as EntityType, EntityDelete, EntityGet, EntityPut, EntityUpdate, TransactableInfo, } from "./Entity.js";
13
13
  export * as Entity from "./Entity.js";
14
- export { AggregateAssemblyError, AggregateDecompositionError, AggregateTransactionOverflow, CascadePartialFailure, ConditionalCheckFailed, DynamoError, DynamoValidationError, InternalServerError, ItemDeleted, ItemNotDeleted, ItemNotFound, OptimisticLockError, RefNotFound, ResourceNotFoundError, ThrottlingError, TransactionCancelled, TransactionOverflow, UniqueConstraintViolation, ValidationError, VersionConflict, } from "./Errors.js";
14
+ export { AggregateAssemblyError, AggregateDecompositionError, AggregateTransactionOverflow, CascadePartialFailure, ConditionalCheckFailed, DynamoError, DynamoValidationError, InternalServerError, ItemDeleted, ItemNotDeleted, ItemNotFound, OptimisticLockError, RefNotFound, ResourceNotFoundError, StaleAppend, ThrottlingError, TransactionCancelled, TransactionOverflow, UniqueConstraintViolation, ValidationError, VersionConflict, } from "./Errors.js";
15
15
  export * as EventStore from "./EventStore.js";
16
16
  export type { ConditionInput, ExpressionResult, UpdateInput, } from "./Expression.js";
17
17
  export * as Expression from "./Expression.js";
18
18
  export type { BoundQuery, BoundQueryBase, BoundQueryWithWhere, SkConditionOps, } from "./internal/BoundQuery.js";
19
19
  export { makeBoundQuery } from "./internal/BoundQuery.js";
20
- export type { AppendInputType, AppendResult, EntityInputType, EntityKeyType, EntityRecordType, EntityRefInputType, EntityRefUpdateType, EntityUpdateType, IndexPkComposites, IndexPkInput, IndexSkComposites, ModelType, PrimaryKeyComposites, RefErrors, SystemFieldsType, } from "./internal/EntityTypes.js";
20
+ export type { AppendInputType, AppendSuccess, EntityInputType, EntityKeyType, EntityRecordType, EntityRefInputType, EntityRefUpdateType, EntityUpdateType, IndexPkComposites, IndexPkInput, IndexSkComposites, ModelType, PrimaryKeyComposites, RefErrors, SystemFieldsType, } from "./internal/EntityTypes.js";
21
21
  export type { CompileResult, ConditionOps, ConditionShorthand, Expr, } from "./internal/Expr.js";
22
22
  export { compileExpr, createConditionOps, isExpr, parseShorthand, parseSimpleShorthand, } from "./internal/Expr.js";
23
23
  export type { ArrayPath, DeepPick, Path, PathBuilder, PathKeys, SizeOperand, } from "./internal/PathBuilder.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,YAAY,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,WAAW,GACZ,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,YAAY,EACV,WAAW,EACX,MAAM,IAAI,UAAU,EACpB,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACZ,gBAAgB,GACjB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,WAAW,GACZ,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,YAAY,EACV,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,cAAc,GACf,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,YAAY,EACV,eAAe,EACf,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,SAAS,EACT,gBAAgB,GACjB,MAAM,2BAA2B,CAAA;AAClC,YAAY,EACV,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,IAAI,GACL,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,MAAM,EACN,cAAc,EACd,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,WAAW,GACZ,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClF,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,YAAY,EAAE,KAAK,IAAI,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ export { DynamoClient } from "./DynamoClient.js";
5
5
  export * as DynamoModel from "./DynamoModel.js";
6
6
  export * as DynamoSchema from "./DynamoSchema.js";
7
7
  export * as Entity from "./Entity.js";
8
- export { AggregateAssemblyError, AggregateDecompositionError, AggregateTransactionOverflow, CascadePartialFailure, ConditionalCheckFailed, DynamoError, DynamoValidationError, InternalServerError, ItemDeleted, ItemNotDeleted, ItemNotFound, OptimisticLockError, RefNotFound, ResourceNotFoundError, ThrottlingError, TransactionCancelled, TransactionOverflow, UniqueConstraintViolation, ValidationError, VersionConflict, } from "./Errors.js";
8
+ export { AggregateAssemblyError, AggregateDecompositionError, AggregateTransactionOverflow, CascadePartialFailure, ConditionalCheckFailed, DynamoError, DynamoValidationError, InternalServerError, ItemDeleted, ItemNotDeleted, ItemNotFound, OptimisticLockError, RefNotFound, ResourceNotFoundError, StaleAppend, ThrottlingError, TransactionCancelled, TransactionOverflow, UniqueConstraintViolation, ValidationError, VersionConflict, } from "./Errors.js";
9
9
  export * as EventStore from "./EventStore.js";
10
10
  export * as Expression from "./Expression.js";
11
11
  export { makeBoundQuery } from "./internal/BoundQuery.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAQ7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAUjD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAM7C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAO7C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAwBzD,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,MAAM,EACN,cAAc,EACd,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAS3B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAElF,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAQ7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAUjD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAM7C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAO7C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAwBzD,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,MAAM,EACN,cAAc,EACd,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAS3B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAElF,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA"}
@@ -135,6 +135,19 @@ export interface BoundUpdate<Model, A, U, E> extends Pipeable.Pipeable {
135
135
  readonly pathIfNotExists: (op: PathIfNotExistsOp) => BoundUpdate<Model, A, U, E>;
136
136
  /** Path-based DELETE (set removal). */
137
137
  readonly pathDelete: (op: PathDeleteOp) => BoundUpdate<Model, A, U, E>;
138
+ /**
139
+ * Remove specific entries from a sparse-map field. Compiles to
140
+ * `REMOVE <prefix>#k1, <prefix>#k2, ...`. Removing an entry that doesn't
141
+ * exist is a no-op (DynamoDB REMOVE semantics).
142
+ */
143
+ readonly removeEntries: (field: string, keys: ReadonlyArray<string>) => BoundUpdate<Model, A, U, E>;
144
+ /**
145
+ * Clear all entries of a sparse-map field. Two-op helper: reads the current
146
+ * item, then folds REMOVE clauses for the discovered `<prefix>#*` attrs into
147
+ * the same final UpdateItem. Atomic via the version CAS for `versioned`
148
+ * entities; best-effort for non-versioned.
149
+ */
150
+ readonly clearMap: (field: string) => BoundUpdate<Model, A, U, E>;
138
151
  /** Convert to an executable Effect for Effect combinator interop. */
139
152
  readonly asEffect: () => Effect.Effect<A, E, never>;
140
153
  /** Yield support for `Effect.gen`. */
@@ -168,6 +181,8 @@ export declare class BoundUpdateImpl<Model, A, U, E> implements BoundUpdate<Mode
168
181
  pathPrepend(op: PathPrependOp): BoundUpdateImpl<Model, A, U, E>;
169
182
  pathIfNotExists(op: PathIfNotExistsOp): BoundUpdateImpl<Model, A, U, E>;
170
183
  pathDelete(op: PathDeleteOp): BoundUpdateImpl<Model, A, U, E>;
184
+ removeEntries(field: string, keys: ReadonlyArray<string>): BoundUpdateImpl<Model, A, U, E>;
185
+ clearMap(field: string): BoundUpdateImpl<Model, A, U, E>;
171
186
  asEffect(): Effect.Effect<A, E, never>;
172
187
  [Symbol.iterator](): any;
173
188
  pipe(): unknown;
@@ -178,4 +193,57 @@ export declare const makeBoundPut: <Model, A, E>(op: EntityPut<A, any, E, any>,
178
193
  export declare const makeBoundDelete: <Model, E>(op: EntityDelete<E, any>, config: BoundCrudConfig<Model>) => BoundDelete<Model, E>;
179
194
  /** @internal */
180
195
  export declare const makeBoundUpdate: <Model, A, U, E>(op: EntityUpdate<A, any, U, E, any>, config: BoundCrudConfig<Model>) => BoundUpdate<Model, A, U, E>;
196
+ /**
197
+ * Fluent builder for `Entity.append()` on time-series entities.
198
+ *
199
+ * `.append(input)` returns a `BoundAppend` carrying `{ current }` on success
200
+ * and failing with `StaleAppend` (CAS) or `ConditionalCheckFailed`
201
+ * (user-condition rejected, default path only) on the error channel.
202
+ *
203
+ * Combinators:
204
+ * - `.condition(...)` — AND a user condition onto the CAS predicate.
205
+ * - `.skipFollowUp()` — skip the post-transaction GetItem; success is `void`,
206
+ * user-condition failures collapse into `StaleAppend` (cannot disambiguate).
207
+ *
208
+ * ```ts
209
+ * yield* db.entities.Telemetry.append(input) // → { current }
210
+ * yield* db.entities.Telemetry.append(input).condition(c) // → { current }
211
+ * yield* db.entities.Telemetry.append(input).skipFollowUp() // → void
212
+ * yield* db.entities.Telemetry.append(input).condition(c).skipFollowUp() // → void
213
+ * ```
214
+ */
215
+ export interface BoundAppend<Model, A, E, ESkip> extends Pipeable.Pipeable {
216
+ /** Add a condition expression. Callback or shorthand. */
217
+ readonly condition: (cond: ConditionArg<Model>) => BoundAppend<Model, A, E, ESkip>;
218
+ /** Skip the follow-up GetItem; success becomes `void`. */
219
+ readonly skipFollowUp: () => BoundAppend<Model, void, ESkip, ESkip>;
220
+ /** Convert to an executable Effect for Effect combinator interop. */
221
+ readonly asEffect: () => Effect.Effect<A, E, never>;
222
+ /** Yield support for `Effect.gen`. */
223
+ readonly [Symbol.iterator]: () => Iterator<Effect.Effect<A, E, never>, A>;
224
+ }
225
+ /** @internal Execution wiring for the time-series append() path. */
226
+ export interface BoundAppendConfig<Model> extends BoundCrudConfig<Model> {
227
+ /** Run the entity's append() Effect with assembled options. */
228
+ readonly run: (opts: {
229
+ readonly input: unknown;
230
+ readonly condition: Expr | undefined;
231
+ readonly skipFollowUp: boolean;
232
+ }) => Effect.Effect<unknown, unknown, never>;
233
+ }
234
+ /** @internal */
235
+ export declare class BoundAppendImpl<Model, A, E, ESkip> implements BoundAppend<Model, A, E, ESkip> {
236
+ readonly _input: unknown;
237
+ readonly _config: BoundAppendConfig<Model>;
238
+ readonly _condition: Expr | undefined;
239
+ readonly _skip: boolean;
240
+ constructor(_input: unknown, _config: BoundAppendConfig<Model>, _condition?: Expr | undefined, _skip?: boolean);
241
+ condition(cond: ConditionArg<Model>): BoundAppendImpl<Model, A, E, ESkip>;
242
+ skipFollowUp(): BoundAppendImpl<Model, void, ESkip, ESkip>;
243
+ asEffect(): Effect.Effect<A, E, never>;
244
+ [Symbol.iterator](): any;
245
+ pipe(): unknown;
246
+ }
247
+ /** @internal */
248
+ export declare const makeBoundAppend: <Model, A, E, ESkip>(input: unknown, config: BoundAppendConfig<Model>) => BoundAppend<Model, A, E, ESkip>;
181
249
  //# sourceMappingURL=BoundCrud.d.ts.map
@@ -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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"}