effect-dynamodb 1.0.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/DynamoClient.d.ts +1 -1
- package/dist/DynamoClient.d.ts.map +1 -1
- package/dist/DynamoClient.js.map +1 -1
- package/dist/Entity.d.ts +109 -35
- package/dist/Entity.d.ts.map +1 -1
- package/dist/Entity.js +447 -86
- package/dist/Entity.js.map +1 -1
- package/dist/KeyComposer.d.ts +81 -17
- package/dist/KeyComposer.d.ts.map +1 -1
- package/dist/KeyComposer.js +89 -40
- package/dist/KeyComposer.js.map +1 -1
- package/dist/Marshaller.d.ts.map +1 -1
- package/dist/Marshaller.js +1 -1
- package/dist/Marshaller.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/BoundCrud.d.ts +181 -0
- package/dist/internal/BoundCrud.d.ts.map +1 -0
- package/dist/internal/BoundCrud.js +160 -0
- package/dist/internal/BoundCrud.js.map +1 -0
- package/dist/internal/EntityConfig.d.ts +33 -0
- package/dist/internal/EntityConfig.d.ts.map +1 -1
- package/dist/internal/EntitySchemas.d.ts +14 -3
- package/dist/internal/EntitySchemas.d.ts.map +1 -1
- package/dist/internal/EntitySchemas.js +41 -2
- package/dist/internal/EntitySchemas.js.map +1 -1
- package/dist/internal/EntityTypes.d.ts +35 -3
- package/dist/internal/EntityTypes.d.ts.map +1 -1
- package/dist/internal/TransactableOps.d.ts +1 -1
- package/dist/internal/TransactableOps.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/KeyComposer.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* the key format; KeyComposer extracts attribute values and delegates.
|
|
7
7
|
*/
|
|
8
8
|
import { DateTime } from "effect";
|
|
9
|
-
import { composeClusteredSortKey, composeCollectionKey, composeIsolatedSortKey, composeKey, } from "./DynamoSchema.js";
|
|
9
|
+
import { applyCasing, composeClusteredSortKey, composeCollectionKey, composeIsolatedSortKey, composeKey, } from "./DynamoSchema.js";
|
|
10
10
|
/** Normalize a GsiConfig (entity input) to an IndexDefinition (internal format). */
|
|
11
11
|
export const normalizeGsiConfig = (config) => {
|
|
12
12
|
// Detect old format and give helpful migration error
|
|
@@ -23,6 +23,7 @@ export const normalizeGsiConfig = (config) => {
|
|
|
23
23
|
type: config.type ?? "isolated",
|
|
24
24
|
pk: { field: config.pk.field, composite: [...config.pk.composite] },
|
|
25
25
|
sk: { field: config.sk.field, composite: [...config.sk.composite] },
|
|
26
|
+
indexPolicy: config.indexPolicy,
|
|
26
27
|
};
|
|
27
28
|
};
|
|
28
29
|
/**
|
|
@@ -171,53 +172,80 @@ export const composeAllKeys = (schema, entityType, entityVersion, indexes, recor
|
|
|
171
172
|
return result;
|
|
172
173
|
};
|
|
173
174
|
/**
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
* the update payload. If so, composes the full GSI keys using values merged from
|
|
177
|
-
* keyRecord (primary key composites) and updatePayload.
|
|
175
|
+
* Policy-aware GSI key composition for `Entity.update` and time-series
|
|
176
|
+
* `.append`.
|
|
178
177
|
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
*
|
|
178
|
+
* Each touched GSI is resolved via its `indexPolicy` (if any) and returns a
|
|
179
|
+
* combination of SET and REMOVE operations for the index's key fields. See
|
|
180
|
+
* `DESIGN.md §7 Policy-Aware GSI Composition` for the full decision table.
|
|
181
|
+
*
|
|
182
|
+
* Rules (per touched GSI):
|
|
183
|
+
* 1. **Cascade (REMOVE of a composite attr)** — any composite in `removedSet`
|
|
184
|
+
* forces REMOVE of both key fields, overriding `indexPolicy`.
|
|
185
|
+
* 2. **Sparse wins** — if any composite is absent and its policy is `"sparse"`,
|
|
186
|
+
* REMOVE both key fields.
|
|
187
|
+
* 3. **Full recompose** — if all composites are present, SET both halves.
|
|
188
|
+
* 4. **Mixed (some `"preserve"` absent, no `"sparse"` absent)** — evaluate pk
|
|
189
|
+
* and sk independently: the half whose composites are all present is SET;
|
|
190
|
+
* the half missing a preserve attr is left alone (no SET, no REMOVE).
|
|
191
|
+
*
|
|
192
|
+
* A GSI is considered "touched" when any of its composites appears in
|
|
193
|
+
* `updatePayload` or `removedSet`. Untouched GSIs are skipped.
|
|
182
194
|
*/
|
|
183
|
-
export const
|
|
184
|
-
const
|
|
195
|
+
export const composeGsiKeysForUpdatePolicyAware = (schema, entityType, entityVersion, indexes, updatePayload, keyRecord, options) => {
|
|
196
|
+
const sets = {};
|
|
197
|
+
const removes = [];
|
|
198
|
+
const removedSet = options?.removedSet;
|
|
185
199
|
for (const [indexName, index] of Object.entries(indexes)) {
|
|
186
200
|
if (indexName === "primary")
|
|
187
201
|
continue;
|
|
188
|
-
const
|
|
189
|
-
const
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
202
|
+
const pkComposites = index.pk.composite;
|
|
203
|
+
const skComposites = index.sk.composite;
|
|
204
|
+
const allComposites = [...pkComposites, ...skComposites];
|
|
205
|
+
const cascadeRemove = removedSet !== undefined && allComposites.some((attr) => removedSet.has(attr));
|
|
206
|
+
const touchedByPayload = allComposites.some((attr) => attr in updatePayload);
|
|
207
|
+
// GSIs that declare an `indexPolicy` are always evaluated — the policy is a
|
|
208
|
+
// declarative statement about the GSI's membership invariant, so "attr not
|
|
209
|
+
// in payload" is treated as "attr not set" per the policy (sparse → drop,
|
|
210
|
+
// preserve → leave that half alone). GSIs without a policy keep the
|
|
211
|
+
// conventional touched gate: skip unless a composite is in the payload.
|
|
212
|
+
const hasPolicy = index.indexPolicy !== undefined;
|
|
213
|
+
if (!cascadeRemove && !touchedByPayload && !hasPolicy)
|
|
214
|
+
continue;
|
|
215
|
+
// Cascade takes precedence over policy.
|
|
216
|
+
if (cascadeRemove) {
|
|
217
|
+
removes.push(index.pk.field, index.sk.field);
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
const merged = { ...keyRecord, ...updatePayload };
|
|
221
|
+
const policy = index.indexPolicy?.(merged) ?? {};
|
|
222
|
+
const isPresent = (attr) => {
|
|
223
|
+
const v = merged[attr];
|
|
224
|
+
return v !== undefined && v !== null;
|
|
225
|
+
};
|
|
226
|
+
// Sparse wins across the whole GSI.
|
|
227
|
+
const anySparseMissing = allComposites.some((attr) => !isPresent(attr) && policy[attr] === "sparse");
|
|
228
|
+
if (anySparseMissing) {
|
|
229
|
+
removes.push(index.pk.field, index.sk.field);
|
|
230
|
+
continue;
|
|
231
|
+
}
|
|
232
|
+
const pkAllPresent = pkComposites.every(isPresent);
|
|
233
|
+
const skAllPresent = skComposites.every(isPresent);
|
|
234
|
+
if (pkAllPresent && skAllPresent) {
|
|
235
|
+
Object.assign(sets, composeIndexKeys(schema, entityType, entityVersion, index, merged));
|
|
236
|
+
continue;
|
|
237
|
+
}
|
|
238
|
+
// Half-wise preservation: SET halves whose composites are all present;
|
|
239
|
+
// leave halves with a missing-preserve attr untouched (no partial rewrite).
|
|
240
|
+
if (pkAllPresent) {
|
|
241
|
+
sets[index.pk.field] = composePk(schema, entityType, index, merged);
|
|
242
|
+
}
|
|
243
|
+
if (skAllPresent) {
|
|
244
|
+
sets[index.sk.field] = composeSk(schema, entityType, entityVersion, index, merged);
|
|
197
245
|
}
|
|
198
246
|
}
|
|
199
|
-
return
|
|
247
|
+
return { sets, removes };
|
|
200
248
|
};
|
|
201
|
-
/**
|
|
202
|
-
* Thrown when an update provides some but not all composite attributes for a GSI.
|
|
203
|
-
* Caught by Entity.update and converted to a tagged `ValidationError`.
|
|
204
|
-
*/
|
|
205
|
-
export class PartialGsiCompositeError extends Error {
|
|
206
|
-
indexName;
|
|
207
|
-
provided;
|
|
208
|
-
missing;
|
|
209
|
-
required;
|
|
210
|
-
constructor(indexName, provided, missing, required) {
|
|
211
|
-
super(`Partial GSI composite update on index "${indexName}": ` +
|
|
212
|
-
`provided [${provided.join(", ")}] but missing [${missing.join(", ")}]. ` +
|
|
213
|
-
`When updating any composite for a GSI, all composites must be provided: [${required.join(", ")}]`);
|
|
214
|
-
this.name = "PartialGsiCompositeError";
|
|
215
|
-
this.indexName = indexName;
|
|
216
|
-
this.provided = provided;
|
|
217
|
-
this.missing = missing;
|
|
218
|
-
this.required = required;
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
249
|
/**
|
|
222
250
|
* Compose a partial sort key prefix for query operations.
|
|
223
251
|
* Used when not all SK composite attributes are provided.
|
|
@@ -254,4 +282,25 @@ export const composeSortKeyPrefix = (schema, entityType, entityVersion, index, r
|
|
|
254
282
|
}
|
|
255
283
|
return composeKey(schema, entityType, available, { casing: index.casing, names });
|
|
256
284
|
};
|
|
285
|
+
// ---------------------------------------------------------------------------
|
|
286
|
+
// Time-series key helpers (used by `Entity.append()` / `.history()`).
|
|
287
|
+
// Event item SK format: `<currentSk>#e#<serialised-orderBy-value>`.
|
|
288
|
+
// Casing is applied to both the `#e#` infix and the value for consistency with
|
|
289
|
+
// the rest of the SK — matches how every other composite segment is cased.
|
|
290
|
+
// ---------------------------------------------------------------------------
|
|
291
|
+
const EVENT_SK_INFIX = "e";
|
|
292
|
+
/**
|
|
293
|
+
* Compose an event-item sort key by decorating the current-item SK.
|
|
294
|
+
*
|
|
295
|
+
* Given `currentSk = "$app#v1#telemetry_1"` and `orderByValue = 42`, returns
|
|
296
|
+
* `"$app#v1#telemetry_1#e#0000000000000042"` (with default lowercase casing).
|
|
297
|
+
*/
|
|
298
|
+
export const composeEventSk = (currentSk, orderByValue, casing = "lowercase") => `${currentSk}#${applyCasing(EVENT_SK_INFIX, casing)}#${applyCasing(serializeValue(orderByValue), casing)}`;
|
|
299
|
+
/**
|
|
300
|
+
* Compose the prefix used to scope `.history()` queries to event items only.
|
|
301
|
+
*
|
|
302
|
+
* Given `currentSk = "$app#v1#telemetry_1"`, returns
|
|
303
|
+
* `"$app#v1#telemetry_1#e#"`.
|
|
304
|
+
*/
|
|
305
|
+
export const composeEventSkPrefix = (currentSk, casing = "lowercase") => `${currentSk}#${applyCasing(EVENT_SK_INFIX, casing)}#`;
|
|
257
306
|
//# sourceMappingURL=KeyComposer.js.map
|
package/dist/KeyComposer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyComposer.js","sourceRoot":"","sources":["../src/KeyComposer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,GACX,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"KeyComposer.js","sourceRoot":"","sources":["../src/KeyComposer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,GACX,MAAM,mBAAmB,CAAA;AAwE1B,oFAAoF;AACpF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAiB,EAAmB,EAAE;IACvE,qDAAqD;IACrD,IAAI,OAAO,IAAI,MAAM,IAAI,OAAQ,MAAkC,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvF,MAAM,IAAI,KAAK,CACb,8DAA8D;YAC5D,oHAAoH,CACvH,CAAA;IACH,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAA;IACH,CAAC;IACD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,IAAI;QAClB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,UAAU;QAC/B,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE;QACnE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE;QACnE,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAA;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,SAAgC,EAChC,MAA+B,EACR,EAAE,CACzB,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;IACrB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,aAAa,CAAC,CAAA;IACpE,CAAC;IACD,OAAO,cAAc,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC,CAAC,CAAA;AAEJ;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAAgC,EAChC,MAA+B,EACI,EAAE;IACrC,MAAM,MAAM,GAAkB,EAAE,CAAA;IAChC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,SAAS,CAAA;QAC3D,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAU,EAAE;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IACrE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IACrE,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;IAC/D,uEAAuE;IACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9E,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IACD,cAAc;IACd,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAA;IACrD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAAiC,EACjC,UAAkB,EAClB,KAAsB,EACtB,MAA+B,EACvB,EAAE;IACV,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAChE,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;IAEnC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,6CAA6C;QAC7C,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,UAAU,CAAA;QAC9E,OAAO,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IAClG,CAAC;IAED,6CAA6C;IAC7C,OAAO,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;AACpF,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAAiC,EACjC,UAAkB,EAClB,aAAqB,EACrB,KAAsB,EACtB,MAA+B,EACvB,EAAE;IACV,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAChE,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;IACnC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,IAAI,UAAU,CAAA;IAE/C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;YACnC,2EAA2E;YAC3E,sEAAsE;YACtE,OAAO,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE;gBACxF,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK;aACN,CAAC,CAAA;QACJ,CAAC;QACD,WAAW;QACX,OAAO,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE;YAC3E,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK;SACN,CAAC,CAAA;IACJ,CAAC;IAED,qCAAqC;IACrC,OAAO,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;AACpF,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,MAAiC,EACjC,UAAkB,EAClB,aAAqB,EACrB,KAAsB,EACtB,MAA+B,EACP,EAAE,CAAC,CAAC;IAC5B,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC;IAC9D,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC;CAC9E,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAiC,EACjC,UAAkB,EAClB,aAAqB,EACrB,KAAsB,EACtB,MAA+B,EACK,EAAE;IACtC,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACpF,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACpF,OAAO,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;AAC3E,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,MAAiC,EACjC,UAAkB,EAClB,aAAqB,EACrB,OAAwC,EACxC,MAA+B,EACP,EAAE;IAC1B,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,+DAA+D;YAC/D,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;QAC3F,CAAC;aAAM,CAAC;YACN,uDAAuD;YACvD,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;YAClF,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAgBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,MAAiC,EACjC,UAAkB,EAClB,aAAqB,EACrB,OAAwC,EACxC,aAAsC,EACtC,SAAkC,EAClC,OAAmE,EAClD,EAAE;IACnB,MAAM,IAAI,GAA2B,EAAE,CAAA;IACvC,MAAM,OAAO,GAAkB,EAAE,CAAA;IACjC,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,CAAA;IAEtC,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,IAAI,SAAS,KAAK,SAAS;YAAE,SAAQ;QAErC,MAAM,YAAY,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,CAAA;QACvC,MAAM,YAAY,GAAG,KAAK,CAAC,EAAE,CAAC,SAAS,CAAA;QACvC,MAAM,aAAa,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,YAAY,CAAC,CAAA;QAExD,MAAM,aAAa,GACjB,UAAU,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAChF,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,aAAa,CAAC,CAAA;QAC5E,4EAA4E;QAC5E,2EAA2E;QAC3E,0EAA0E;QAC1E,oEAAoE;QACpE,wEAAwE;QACxE,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,KAAK,SAAS,CAAA;QAEjD,IAAI,CAAC,aAAa,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS;YAAE,SAAQ;QAE/D,wCAAwC;QACxC,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;YAC5C,SAAQ;QACV,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,aAAa,EAAE,CAAA;QACjD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAEhD,MAAM,SAAS,GAAG,CAAC,IAAY,EAAW,EAAE;YAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YACtB,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAA;QACtC,CAAC,CAAA;QAED,oCAAoC;QACpC,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,CACzC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,CACxD,CAAA;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;YAC5C,SAAQ;QACV,CAAC;QAED,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAClD,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAElD,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;YACvF,SAAQ;QACV,CAAC;QAED,uEAAuE;QACvE,4EAA4E;QAC5E,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QACrE,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QACpF,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC1B,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAAiC,EACjC,UAAkB,EAClB,aAAqB,EACrB,KAAsB,EACtB,MAA+B,EACvB,EAAE;IACV,uEAAuE;IACvE,MAAM,SAAS,GAAkB,EAAE,CAAA;IACnC,MAAM,KAAK,GAAkB,EAAE,CAAA;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,MAAK;QAChD,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;QACrC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;IACnC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,IAAI,UAAU,CAAA;IAE/C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;YACnC,wEAAwE;YACxE,sDAAsD;YACtD,OAAO,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE;gBACvF,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK;aACN,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE;YAC1E,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK;SACN,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;AACnF,CAAC,CAAA;AAED,8EAA8E;AAC9E,sEAAsE;AACtE,oEAAoE;AACpE,+EAA+E;AAC/E,2EAA2E;AAC3E,8EAA8E;AAE9E,MAAM,cAAc,GAAG,GAAG,CAAA;AAE1B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,SAAiB,EACjB,YAAqB,EACrB,SAA8B,WAAW,EACjC,EAAE,CACV,GAAG,SAAS,IAAI,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,EAAE,CAAA;AAE5G;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAAiB,EACjB,SAA8B,WAAW,EACjC,EAAE,CAAC,GAAG,SAAS,IAAI,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAA"}
|
package/dist/Marshaller.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/Marshaller.js
CHANGED
|
@@ -10,7 +10,7 @@ export const toAttributeMap = (item) => marshall(item, { removeUndefinedValues:
|
|
|
10
10
|
/** Unmarshall a DynamoDB attribute map to a JS object */
|
|
11
11
|
export const fromAttributeMap = (item) => unmarshall(item);
|
|
12
12
|
/** Marshall a single value to a DynamoDB attribute value */
|
|
13
|
-
export const toAttributeValue = (value) => marshall({ v: value }).v;
|
|
13
|
+
export const toAttributeValue = (value) => marshall({ v: value }, { removeUndefinedValues: true, convertClassInstanceToMap: true }).v;
|
|
14
14
|
/** Unmarshall a single DynamoDB attribute value */
|
|
15
15
|
export const fromAttributeValue = (value) => unmarshall({ v: value }).v;
|
|
16
16
|
// ---------------------------------------------------------------------------
|
package/dist/Marshaller.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Marshaller.js","sourceRoot":"","sources":["../src/Marshaller.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAGjC,uDAAuD;AACvD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAA6B,EAAkC,EAAE,CAC9F,QAAQ,CAAC,IAAI,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC,CAAA;AAElF,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAoC,EAA2B,EAAE,CAChG,UAAU,CAAC,IAAI,CAAC,CAAA;AAElB,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"Marshaller.js","sourceRoot":"","sources":["../src/Marshaller.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export type { ConditionInput, ExpressionResult, UpdateInput, } from "./Expressio
|
|
|
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 { EntityInputType, EntityKeyType, EntityRecordType, EntityRefInputType, EntityRefUpdateType, EntityUpdateType, IndexPkComposites, IndexPkInput, IndexSkComposites, ModelType, PrimaryKeyComposites, RefErrors, SystemFieldsType, } from "./internal/EntityTypes.js";
|
|
20
|
+
export type { AppendInputType, AppendResult, 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":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
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;
|
|
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"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal BoundCrud — Fluent builders for bound-entity CRUD operations.
|
|
3
|
+
*
|
|
4
|
+
* These builders wrap the unbound `EntityOp` / `EntityDelete` intermediates with
|
|
5
|
+
* a pre-resolved `provide` function so `yield* builder` returns an Effect with
|
|
6
|
+
* `R = never`. Each chainable call returns a new builder (immutable, mirroring
|
|
7
|
+
* `BoundQuery`).
|
|
8
|
+
*
|
|
9
|
+
* Builders implement `Pipeable.Pipeable` + `[Symbol.iterator]` (via
|
|
10
|
+
* `Utils.SingleShotGen`) — NOT `Effect.Effect`. They are yieldable inside
|
|
11
|
+
* `Effect.gen`; use `.asEffect()` for Effect combinator interop.
|
|
12
|
+
*/
|
|
13
|
+
import type { Effect } from "effect";
|
|
14
|
+
import { Pipeable } from "effect";
|
|
15
|
+
import type { CascadeTarget, EntityDelete, EntityPut, EntityUpdate, PathAddOp, PathAppendOp, PathDeleteOp, PathIfNotExistsOp, PathPrependOp, PathSetOp, PathSubtractOp, ReturnValuesMode } from "./EntityOps.js";
|
|
16
|
+
import type { ConditionOps, Expr } from "./Expr.js";
|
|
17
|
+
import type { PathBuilder } from "./PathBuilder.js";
|
|
18
|
+
/** Condition input accepted by `.condition()` — callback or shorthand record. */
|
|
19
|
+
export type ConditionArg<Model> = ((t: PathBuilder<Model, Model, never>, ops: ConditionOps<Model>) => Expr) | globalThis.Record<string, unknown>;
|
|
20
|
+
/** Execution wiring shared by all bound-CRUD builders. */
|
|
21
|
+
export interface BoundCrudConfig<Model> {
|
|
22
|
+
readonly pathBuilder: PathBuilder<Model, Model, never>;
|
|
23
|
+
readonly conditionOps: ConditionOps<Model>;
|
|
24
|
+
readonly provide: <X, E>(eff: Effect.Effect<X, E, any>) => Effect.Effect<X, E, never>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Fluent builder for put/create/upsert.
|
|
28
|
+
*
|
|
29
|
+
* ```ts
|
|
30
|
+
* yield* db.entities.Users.put(input)
|
|
31
|
+
* yield* db.entities.Users.put(input).condition({ status: "active" })
|
|
32
|
+
* yield* db.entities.Users.create(input).condition((t, { eq }) => eq(t.status, "active"))
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export interface BoundPut<Model, A, E> extends Pipeable.Pipeable {
|
|
36
|
+
/** Add a condition expression. Callback or shorthand. */
|
|
37
|
+
readonly condition: (cond: ConditionArg<Model>) => BoundPut<Model, A, E>;
|
|
38
|
+
/** Convert to an executable Effect for Effect combinator interop. */
|
|
39
|
+
readonly asEffect: () => Effect.Effect<A, E, never>;
|
|
40
|
+
/** Yield support for `Effect.gen`. */
|
|
41
|
+
readonly [Symbol.iterator]: () => Iterator<Effect.Effect<A, E, never>, A>;
|
|
42
|
+
}
|
|
43
|
+
/** @internal */
|
|
44
|
+
export declare class BoundPutImpl<Model, A, E> implements BoundPut<Model, A, E> {
|
|
45
|
+
readonly _op: EntityPut<A, any, E, any>;
|
|
46
|
+
readonly _config: BoundCrudConfig<Model>;
|
|
47
|
+
constructor(_op: EntityPut<A, any, E, any>, _config: BoundCrudConfig<Model>);
|
|
48
|
+
condition(cond: ConditionArg<Model>): BoundPutImpl<Model, A, E>;
|
|
49
|
+
asEffect(): Effect.Effect<A, E, never>;
|
|
50
|
+
[Symbol.iterator](): any;
|
|
51
|
+
pipe(): unknown;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Fluent builder for delete/deleteIfExists.
|
|
55
|
+
*
|
|
56
|
+
* ```ts
|
|
57
|
+
* yield* db.entities.Tasks.delete({ taskId })
|
|
58
|
+
* yield* db.entities.Tasks.delete({ taskId }).condition({ status: "archived" })
|
|
59
|
+
* yield* db.entities.Tasks.delete({ taskId }).returnValues("allOld")
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export interface BoundDelete<Model, E> extends Pipeable.Pipeable {
|
|
63
|
+
/** Add a condition expression. Callback or shorthand. */
|
|
64
|
+
readonly condition: (cond: ConditionArg<Model>) => BoundDelete<Model, E>;
|
|
65
|
+
/** Set ReturnValues mode (`"none"` or `"allOld"`). */
|
|
66
|
+
readonly returnValues: (mode: ReturnValuesMode) => BoundDelete<Model, E>;
|
|
67
|
+
/** Convert to an executable Effect for Effect combinator interop. */
|
|
68
|
+
readonly asEffect: () => Effect.Effect<void, E, never>;
|
|
69
|
+
/** Yield support for `Effect.gen`. */
|
|
70
|
+
readonly [Symbol.iterator]: () => Iterator<Effect.Effect<void, E, never>, void>;
|
|
71
|
+
}
|
|
72
|
+
/** @internal */
|
|
73
|
+
export declare class BoundDeleteImpl<Model, E> implements BoundDelete<Model, E> {
|
|
74
|
+
readonly _op: EntityDelete<E, any>;
|
|
75
|
+
readonly _config: BoundCrudConfig<Model>;
|
|
76
|
+
constructor(_op: EntityDelete<E, any>, _config: BoundCrudConfig<Model>);
|
|
77
|
+
condition(cond: ConditionArg<Model>): BoundDeleteImpl<Model, E>;
|
|
78
|
+
returnValues(mode: ReturnValuesMode): BoundDeleteImpl<Model, E>;
|
|
79
|
+
asEffect(): Effect.Effect<void, E, never>;
|
|
80
|
+
[Symbol.iterator](): any;
|
|
81
|
+
pipe(): unknown;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Fluent builder for update/patch.
|
|
85
|
+
*
|
|
86
|
+
* ```ts
|
|
87
|
+
* yield* db.entities.Tasks.update(key).set({ status: "done" })
|
|
88
|
+
* yield* db.entities.Tasks.update(key).set({ status: "done" }).expectedVersion(3)
|
|
89
|
+
* yield* db.entities.Products.update(key)
|
|
90
|
+
* .set({ price: 24.99 })
|
|
91
|
+
* .add({ viewCount: 1 })
|
|
92
|
+
* .subtract({ stock: 3 })
|
|
93
|
+
* .append({ tags: ["clearance"] })
|
|
94
|
+
* .remove(["temporaryFlag"])
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export interface BoundUpdate<Model, A, U, E> extends Pipeable.Pipeable {
|
|
98
|
+
/** Set the fields to update (record-based SET). */
|
|
99
|
+
readonly set: (updates: U) => BoundUpdate<Model, A, U, E>;
|
|
100
|
+
/** Remove attributes (REMOVE clause). */
|
|
101
|
+
readonly remove: (fields: ReadonlyArray<string>) => BoundUpdate<Model, A, U, E>;
|
|
102
|
+
/** Atomic numeric ADD. */
|
|
103
|
+
readonly add: (values: globalThis.Record<string, number>) => BoundUpdate<Model, A, U, E>;
|
|
104
|
+
/** Numeric SET subtraction (synthesized as `SET #f = #f - :v`). */
|
|
105
|
+
readonly subtract: (values: globalThis.Record<string, number>) => BoundUpdate<Model, A, U, E>;
|
|
106
|
+
/** List append (synthesized as `SET #f = list_append(#f, :v)`). */
|
|
107
|
+
readonly append: (values: globalThis.Record<string, ReadonlyArray<unknown>>) => BoundUpdate<Model, A, U, E>;
|
|
108
|
+
/** Delete elements from a set attribute. */
|
|
109
|
+
readonly deleteFromSet: (values: globalThis.Record<string, unknown>) => BoundUpdate<Model, A, U, E>;
|
|
110
|
+
/** Optimistic concurrency — expected version. */
|
|
111
|
+
readonly expectedVersion: (version: number) => BoundUpdate<Model, A, U, E>;
|
|
112
|
+
/** Add a condition expression. Callback or shorthand. */
|
|
113
|
+
readonly condition: (cond: ConditionArg<Model>) => BoundUpdate<Model, A, U, E>;
|
|
114
|
+
/** Set ReturnValues mode. */
|
|
115
|
+
readonly returnValues: (mode: ReturnValuesMode) => BoundUpdate<Model, A, U, E>;
|
|
116
|
+
/** Configure cascade updates to denormalized target entities. */
|
|
117
|
+
readonly cascade: (config: {
|
|
118
|
+
readonly targets: ReadonlyArray<CascadeTarget>;
|
|
119
|
+
readonly filter?: globalThis.Record<string, unknown> | undefined;
|
|
120
|
+
readonly mode?: "eventual" | "transactional" | undefined;
|
|
121
|
+
}) => BoundUpdate<Model, A, U, E>;
|
|
122
|
+
/** Path-based SET. */
|
|
123
|
+
readonly pathSet: (op: PathSetOp) => BoundUpdate<Model, A, U, E>;
|
|
124
|
+
/** Path-based REMOVE. */
|
|
125
|
+
readonly pathRemove: (segments: ReadonlyArray<string | number>) => BoundUpdate<Model, A, U, E>;
|
|
126
|
+
/** Path-based ADD. */
|
|
127
|
+
readonly pathAdd: (op: PathAddOp) => BoundUpdate<Model, A, U, E>;
|
|
128
|
+
/** Path-based SUBTRACT. */
|
|
129
|
+
readonly pathSubtract: (op: PathSubtractOp) => BoundUpdate<Model, A, U, E>;
|
|
130
|
+
/** Path-based APPEND. */
|
|
131
|
+
readonly pathAppend: (op: PathAppendOp) => BoundUpdate<Model, A, U, E>;
|
|
132
|
+
/** Path-based PREPEND. */
|
|
133
|
+
readonly pathPrepend: (op: PathPrependOp) => BoundUpdate<Model, A, U, E>;
|
|
134
|
+
/** Path-based if_not_exists. */
|
|
135
|
+
readonly pathIfNotExists: (op: PathIfNotExistsOp) => BoundUpdate<Model, A, U, E>;
|
|
136
|
+
/** Path-based DELETE (set removal). */
|
|
137
|
+
readonly pathDelete: (op: PathDeleteOp) => BoundUpdate<Model, A, U, E>;
|
|
138
|
+
/** Convert to an executable Effect for Effect combinator interop. */
|
|
139
|
+
readonly asEffect: () => Effect.Effect<A, E, never>;
|
|
140
|
+
/** Yield support for `Effect.gen`. */
|
|
141
|
+
readonly [Symbol.iterator]: () => Iterator<Effect.Effect<A, E, never>, A>;
|
|
142
|
+
}
|
|
143
|
+
/** @internal */
|
|
144
|
+
export declare class BoundUpdateImpl<Model, A, U, E> implements BoundUpdate<Model, A, U, E> {
|
|
145
|
+
readonly _op: EntityUpdate<A, any, U, E, any>;
|
|
146
|
+
readonly _config: BoundCrudConfig<Model>;
|
|
147
|
+
constructor(_op: EntityUpdate<A, any, U, E, any>, _config: BoundCrudConfig<Model>);
|
|
148
|
+
private _with;
|
|
149
|
+
set(updates: U): BoundUpdateImpl<Model, A, U, E>;
|
|
150
|
+
remove(fields: ReadonlyArray<string>): BoundUpdateImpl<Model, A, U, E>;
|
|
151
|
+
add(values: globalThis.Record<string, number>): BoundUpdateImpl<Model, A, U, E>;
|
|
152
|
+
subtract(values: globalThis.Record<string, number>): BoundUpdateImpl<Model, A, U, E>;
|
|
153
|
+
append(values: globalThis.Record<string, ReadonlyArray<unknown>>): BoundUpdateImpl<Model, A, U, E>;
|
|
154
|
+
deleteFromSet(values: globalThis.Record<string, unknown>): BoundUpdateImpl<Model, A, U, E>;
|
|
155
|
+
expectedVersion(version: number): BoundUpdateImpl<Model, A, U, E>;
|
|
156
|
+
condition(cond: ConditionArg<Model>): BoundUpdateImpl<Model, A, U, E>;
|
|
157
|
+
returnValues(mode: ReturnValuesMode): BoundUpdateImpl<Model, A, U, E>;
|
|
158
|
+
cascade(config: {
|
|
159
|
+
readonly targets: ReadonlyArray<CascadeTarget>;
|
|
160
|
+
readonly filter?: globalThis.Record<string, unknown> | undefined;
|
|
161
|
+
readonly mode?: "eventual" | "transactional" | undefined;
|
|
162
|
+
}): BoundUpdateImpl<Model, A, U, E>;
|
|
163
|
+
pathSet(op: PathSetOp): BoundUpdateImpl<Model, A, U, E>;
|
|
164
|
+
pathRemove(segments: ReadonlyArray<string | number>): BoundUpdateImpl<Model, A, U, E>;
|
|
165
|
+
pathAdd(op: PathAddOp): BoundUpdateImpl<Model, A, U, E>;
|
|
166
|
+
pathSubtract(op: PathSubtractOp): BoundUpdateImpl<Model, A, U, E>;
|
|
167
|
+
pathAppend(op: PathAppendOp): BoundUpdateImpl<Model, A, U, E>;
|
|
168
|
+
pathPrepend(op: PathPrependOp): BoundUpdateImpl<Model, A, U, E>;
|
|
169
|
+
pathIfNotExists(op: PathIfNotExistsOp): BoundUpdateImpl<Model, A, U, E>;
|
|
170
|
+
pathDelete(op: PathDeleteOp): BoundUpdateImpl<Model, A, U, E>;
|
|
171
|
+
asEffect(): Effect.Effect<A, E, never>;
|
|
172
|
+
[Symbol.iterator](): any;
|
|
173
|
+
pipe(): unknown;
|
|
174
|
+
}
|
|
175
|
+
/** @internal */
|
|
176
|
+
export declare const makeBoundPut: <Model, A, E>(op: EntityPut<A, any, E, any>, config: BoundCrudConfig<Model>) => BoundPut<Model, A, E>;
|
|
177
|
+
/** @internal */
|
|
178
|
+
export declare const makeBoundDelete: <Model, E>(op: EntityDelete<E, any>, config: BoundCrudConfig<Model>) => BoundDelete<Model, E>;
|
|
179
|
+
/** @internal */
|
|
180
|
+
export declare const makeBoundUpdate: <Model, A, U, E>(op: EntityUpdate<A, any, U, E, any>, config: BoundCrudConfig<Model>) => BoundUpdate<Model, A, U, E>;
|
|
181
|
+
//# sourceMappingURL=BoundCrud.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoundCrud.d.ts","sourceRoot":"","sources":["../../src/internal/BoundCrud.ts"],"names":[],"mappings":"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"}
|