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.
- package/dist/Aggregate.d.ts.map +1 -1
- package/dist/Aggregate.js +51 -23
- package/dist/Aggregate.js.map +1 -1
- package/dist/DynamoModel.d.ts +50 -2
- package/dist/DynamoModel.d.ts.map +1 -1
- package/dist/DynamoModel.js +73 -1
- package/dist/DynamoModel.js.map +1 -1
- package/dist/Entity.d.ts +48 -21
- package/dist/Entity.d.ts.map +1 -1
- package/dist/Entity.js +586 -223
- package/dist/Entity.js.map +1 -1
- package/dist/Errors.d.ts +48 -1
- package/dist/Errors.d.ts.map +1 -1
- package/dist/Errors.js +38 -1
- package/dist/Errors.js.map +1 -1
- package/dist/Marshaller.d.ts +29 -12
- package/dist/Marshaller.d.ts.map +1 -1
- package/dist/Marshaller.js +104 -84
- package/dist/Marshaller.js.map +1 -1
- package/dist/index.d.ts +2 -2
- 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 +68 -0
- package/dist/internal/BoundCrud.d.ts.map +1 -1
- package/dist/internal/BoundCrud.js +42 -1
- package/dist/internal/BoundCrud.js.map +1 -1
- package/dist/internal/EntityCombinators.d.ts +28 -0
- package/dist/internal/EntityCombinators.d.ts.map +1 -1
- package/dist/internal/EntityCombinators.js +40 -0
- package/dist/internal/EntityCombinators.js.map +1 -1
- package/dist/internal/EntityOps.d.ts +18 -0
- package/dist/internal/EntityOps.d.ts.map +1 -1
- package/dist/internal/EntityOps.js +2 -0
- package/dist/internal/EntityOps.js.map +1 -1
- package/dist/internal/EntitySchemas.d.ts +93 -16
- package/dist/internal/EntitySchemas.d.ts.map +1 -1
- package/dist/internal/EntitySchemas.js +396 -79
- package/dist/internal/EntitySchemas.js.map +1 -1
- package/dist/internal/EntityTypes.d.ts +7 -12
- package/dist/internal/EntityTypes.d.ts.map +1 -1
- package/dist/internal/PathBuilder.d.ts +29 -4
- package/dist/internal/PathBuilder.d.ts.map +1 -1
- package/dist/internal/PathBuilder.js +47 -6
- package/dist/internal/PathBuilder.js.map +1 -1
- package/dist/internal/TransactableOps.d.ts +5 -0
- package/dist/internal/TransactableOps.d.ts.map +1 -1
- package/dist/internal/TransactableOps.js +45 -27
- package/dist/internal/TransactableOps.js.map +1 -1
- 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
|
-
/**
|
|
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
|
}
|
package/dist/Errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Errors.js","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"Errors.js","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"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"}
|
package/dist/Marshaller.d.ts
CHANGED
|
@@ -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
|
|
4
|
-
*
|
|
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 {
|
|
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
|
-
*
|
|
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
|
-
*
|
|
21
|
-
*
|
|
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
|
|
32
|
+
export declare const encodeSparseFields: (item: Record<string, unknown>, sparseFields: Record<string, SparseConfig>) => void;
|
|
26
33
|
/**
|
|
27
|
-
*
|
|
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
|
|
46
|
+
export declare const decodeSparseFields: (raw: Record<string, unknown>, sparseFields: Record<string, SparseConfig>) => void;
|
|
30
47
|
//# sourceMappingURL=Marshaller.d.ts.map
|
package/dist/Marshaller.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Marshaller.d.ts","sourceRoot":"","sources":["../src/Marshaller.ts"],"names":[],"mappings":"AAAA
|
|
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"}
|
package/dist/Marshaller.js
CHANGED
|
@@ -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
|
|
4
|
-
*
|
|
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
|
-
//
|
|
20
|
+
// Sparse Map flatten / rebuild
|
|
18
21
|
// ---------------------------------------------------------------------------
|
|
19
22
|
/**
|
|
20
|
-
*
|
|
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
|
-
*
|
|
23
|
-
*
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
-
|
|
33
|
-
|
|
38
|
+
if (key.length === 0) {
|
|
39
|
+
throw new Error(`Sparse map "${field}": key must be non-empty`);
|
|
34
40
|
}
|
|
35
|
-
|
|
36
|
-
throw new Error(`
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
*
|
|
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
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
-
|
|
77
|
-
|
|
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
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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
|
package/dist/Marshaller.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Marshaller.js","sourceRoot":"","sources":["../src/Marshaller.ts"],"names":[],"mappings":"AAAA
|
|
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,
|
|
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";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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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"}
|