@effect-dynamodb/schema 1.25.0 → 1.27.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.
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Compression — pluggable compressors for packed storage
3
+ * (`DynamoModel.Packed({ format: "json", compression: { codec } })`).
4
+ *
5
+ * This module is runtime-neutral: it declares the synchronous
6
+ * {@link Compressor} interface, a registry keyed by codec, and the
7
+ * {@link Compression} service through which a registry reaches the read and
8
+ * write paths. It never imports a compression library. `node:zlib`-backed implementations
9
+ * (gzip, brotli, zstd) ship from `effect-dynamodb/compression/zlib`;
10
+ * any other runtime can supply its own.
11
+ *
12
+ * Every pack/unpack site reads the service with `Effect.serviceOption`, so no
13
+ * operation gains a requirement. An absent service behaves as an empty
14
+ * registry: uncompressed packed values (`S`) read and write everywhere, and
15
+ * only a value that needs a codec fails — with the operation's existing
16
+ * `ValidationError`, whose `cause` is the tagged `CompressorNotRegistered`.
17
+ *
18
+ * See `DESIGN.md §7 "Packed Storage"`.
19
+ */
20
+ import { Context, Layer } from "effect";
21
+ import { type CompressionCodec } from "./DynamoModel.js";
22
+ export type { CompressionCodec } from "./DynamoModel.js";
23
+ /**
24
+ * A synchronous compression codec implementation.
25
+ *
26
+ * `compress` and `decompress` may throw (a corrupt payload, an output-size
27
+ * limit); the library turns a throw into a `ValidationError` naming the
28
+ * attribute. Tuning (level, quality, output limits) belongs to the
29
+ * implementation, not to the stored data: readers only need the codec, which
30
+ * the stored header carries.
31
+ */
32
+ export interface Compressor {
33
+ readonly codec: CompressionCodec;
34
+ readonly compress: (input: Uint8Array) => Uint8Array;
35
+ readonly decompress: (input: Uint8Array) => Uint8Array;
36
+ }
37
+ /** Registered compressors, keyed by codec. */
38
+ export interface CompressionRegistry {
39
+ readonly get: (codec: CompressionCodec) => Compressor | undefined;
40
+ /** The registered codecs, in registration order. */
41
+ readonly codecs: ReadonlyArray<CompressionCodec>;
42
+ }
43
+ /**
44
+ * Build a registry from compressors.
45
+ *
46
+ * @throws `[EDD-9078]` when two compressors share a codec, or a compressor's
47
+ * `codec` is not `"gzip"`, `"brotli"` or `"zstd"`.
48
+ */
49
+ export declare const make: (compressors: ReadonlyArray<Compressor>) => CompressionRegistry;
50
+ /** The registry with no compressors — what an absent `Compression` service means. */
51
+ export declare const empty: CompressionRegistry;
52
+ declare const Compression_base: Context.ServiceClass<Compression, "@effect-dynamodb/Compression", CompressionRegistry>;
53
+ /**
54
+ * Effect `Context.Service` carrying the {@link CompressionRegistry} packed
55
+ * storage reads and writes with.
56
+ *
57
+ * Provide it with {@link Compression.layer} merged into the application layer
58
+ * beside the client (recommended: it reaches every layer and program however
59
+ * the client layer is composed), pass `compressors` to `DynamoClient.make`
60
+ * (bundled into every bound operation), or use `DynamoClient.layer({
61
+ * compressors })` — whose `Compression` output does not survive a wrapper
62
+ * layer that consumes it through `Layer.provide`.
63
+ *
64
+ * @example
65
+ * ```typescript
66
+ * import * as ZlibCompression from "effect-dynamodb/compression/zlib"
67
+ *
68
+ * const AppLayer = Layer.mergeAll(
69
+ * DynamoClient.layer({ region: "us-east-1" }),
70
+ * Compression.layer([ZlibCompression.zstd(), ZlibCompression.gzip()]),
71
+ * )
72
+ * ```
73
+ */
74
+ export declare class Compression extends Compression_base {
75
+ /** A layer providing a registry built from `compressors` (see {@link make}). */
76
+ static readonly layer: (compressors: ReadonlyArray<Compressor>) => Layer.Layer<Compression>;
77
+ /** Build a registry from compressors (see {@link make}). */
78
+ static readonly make: (compressors: ReadonlyArray<Compressor>) => CompressionRegistry;
79
+ /** The registry with no compressors. */
80
+ static readonly empty: CompressionRegistry;
81
+ }
82
+ //# sourceMappingURL=Compression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Compression.d.ts","sourceRoot":"","sources":["../src/Compression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,KAAK,gBAAgB,EAAqB,MAAM,kBAAkB,CAAA;AAE3E,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;IAChC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,UAAU,CAAA;IACpD,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,UAAU,CAAA;CACvD;AAED,8CAA8C;AAC9C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,UAAU,GAAG,SAAS,CAAA;IACjE,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAA;CACjD;AAED;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,aAAa,aAAa,CAAC,UAAU,CAAC,KAAG,mBA0B7D,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,KAAK,EAAE,mBAA8B,CAAA;;AAElD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,WAAY,SAAQ,gBAEhC;IACC,gFAAgF;IAChF,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAI,aAAa,aAAa,CAAC,UAAU,CAAC,KAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAC3C;IAE/C,4DAA4D;IAC5D,MAAM,CAAC,QAAQ,CAAC,IAAI,gBA5DY,aAAa,CAAC,UAAU,CAAC,KAAG,mBAAmB,CA4DpD;IAE3B,wCAAwC;IACxC,MAAM,CAAC,QAAQ,CAAC,KAAK,sBAAQ;CAC9B"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Compression — pluggable compressors for packed storage
3
+ * (`DynamoModel.Packed({ format: "json", compression: { codec } })`).
4
+ *
5
+ * This module is runtime-neutral: it declares the synchronous
6
+ * {@link Compressor} interface, a registry keyed by codec, and the
7
+ * {@link Compression} service through which a registry reaches the read and
8
+ * write paths. It never imports a compression library. `node:zlib`-backed implementations
9
+ * (gzip, brotli, zstd) ship from `effect-dynamodb/compression/zlib`;
10
+ * any other runtime can supply its own.
11
+ *
12
+ * Every pack/unpack site reads the service with `Effect.serviceOption`, so no
13
+ * operation gains a requirement. An absent service behaves as an empty
14
+ * registry: uncompressed packed values (`S`) read and write everywhere, and
15
+ * only a value that needs a codec fails — with the operation's existing
16
+ * `ValidationError`, whose `cause` is the tagged `CompressorNotRegistered`.
17
+ *
18
+ * See `DESIGN.md §7 "Packed Storage"`.
19
+ */
20
+ import { Context, Layer } from "effect";
21
+ import { compressionCodecs } from "./DynamoModel.js";
22
+ /**
23
+ * Build a registry from compressors.
24
+ *
25
+ * @throws `[EDD-9078]` when two compressors share a codec, or a compressor's
26
+ * `codec` is not `"gzip"`, `"brotli"` or `"zstd"`.
27
+ */
28
+ export const make = (compressors) => {
29
+ const byCodec = new Map();
30
+ for (const compressor of compressors) {
31
+ const codec = compressor?.codec;
32
+ if (!compressionCodecs.includes(codec)) {
33
+ throw new Error(`[EDD-9078] Compression: a compressor has codec ${JSON.stringify(codec)} — expected ` +
34
+ `one of ${compressionCodecs.map((c) => `"${c}"`).join(", ")}`);
35
+ }
36
+ if (typeof compressor.compress !== "function" || typeof compressor.decompress !== "function") {
37
+ throw new Error(`[EDD-9078] Compression: the "${codec}" compressor must provide ` +
38
+ `compress and decompress functions`);
39
+ }
40
+ if (byCodec.has(codec)) {
41
+ throw new Error(`[EDD-9078] Compression: two compressors are registered for codec "${codec}" — ` +
42
+ `register exactly one per codec`);
43
+ }
44
+ byCodec.set(codec, compressor);
45
+ }
46
+ const codecs = Object.freeze([...byCodec.keys()]);
47
+ return Object.freeze({ get: (codec) => byCodec.get(codec), codecs });
48
+ };
49
+ /** The registry with no compressors — what an absent `Compression` service means. */
50
+ export const empty = make([]);
51
+ /**
52
+ * Effect `Context.Service` carrying the {@link CompressionRegistry} packed
53
+ * storage reads and writes with.
54
+ *
55
+ * Provide it with {@link Compression.layer} merged into the application layer
56
+ * beside the client (recommended: it reaches every layer and program however
57
+ * the client layer is composed), pass `compressors` to `DynamoClient.make`
58
+ * (bundled into every bound operation), or use `DynamoClient.layer({
59
+ * compressors })` — whose `Compression` output does not survive a wrapper
60
+ * layer that consumes it through `Layer.provide`.
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * import * as ZlibCompression from "effect-dynamodb/compression/zlib"
65
+ *
66
+ * const AppLayer = Layer.mergeAll(
67
+ * DynamoClient.layer({ region: "us-east-1" }),
68
+ * Compression.layer([ZlibCompression.zstd(), ZlibCompression.gzip()]),
69
+ * )
70
+ * ```
71
+ */
72
+ export class Compression extends Context.Service()("@effect-dynamodb/Compression") {
73
+ /** A layer providing a registry built from `compressors` (see {@link make}). */
74
+ static layer = (compressors) => Layer.succeed(Compression, make(compressors));
75
+ /** Build a registry from compressors (see {@link make}). */
76
+ static make = make;
77
+ /** The registry with no compressors. */
78
+ static empty = empty;
79
+ }
80
+ //# sourceMappingURL=Compression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Compression.js","sourceRoot":"","sources":["../src/Compression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAyB,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AA0B3E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,WAAsC,EAAuB,EAAE;IAClF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAA;IACvD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,KAAK,GAAI,UAA8D,EAAE,KAAK,CAAA;QACpF,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAyB,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,kDAAkD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc;gBACnF,UAAU,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChE,CAAA;QACH,CAAC;QACD,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,UAAU,IAAI,OAAO,UAAU,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAC7F,MAAM,IAAI,KAAK,CACb,gCAAgC,KAAe,4BAA4B;gBACzE,mCAAmC,CACtC,CAAA;QACH,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAyB,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,qEAAqE,KAAe,MAAM;gBACxF,gCAAgC,CACnC,CAAA;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAyB,EAAE,UAAU,CAAC,CAAA;IACpD,CAAC;IACD,MAAM,MAAM,GAAoC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAClF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,KAAuB,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;AACxF,CAAC,CAAA;AAED,qFAAqF;AACrF,MAAM,CAAC,MAAM,KAAK,GAAwB,IAAI,CAAC,EAAE,CAAC,CAAA;AAElD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,WAAY,SAAQ,OAAO,CAAC,OAAO,EAAoC,CAClF,8BAA8B,CAC/B;IACC,gFAAgF;IAChF,MAAM,CAAU,KAAK,GAAG,CAAC,WAAsC,EAA4B,EAAE,CAC3F,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;IAE/C,4DAA4D;IAC5D,MAAM,CAAU,IAAI,GAAG,IAAI,CAAA;IAE3B,wCAAwC;IACxC,MAAM,CAAU,KAAK,GAAG,KAAK,CAAA"}
@@ -9,6 +9,8 @@
9
9
  * - `storedAs` modifier — overrides DynamoDB storage format via annotation
10
10
  * - `SparseMap()` — opt a `Schema.Record` field into flattened storage (one
11
11
  * top-level attribute per entry)
12
+ * - `Packed()` — store an object/array-shaped field (or EventStore data/state)
13
+ * as one JSON string, optionally compressed over a threshold
12
14
  *
13
15
  * See docs/design-dynamo-model.md for the three-layer model (wire → domain → storage).
14
16
  */
@@ -240,6 +242,95 @@ export declare const SparseMap: (options?: {
240
242
  }) => SparseMapConfig;
241
243
  /** Type guard — returns true iff `value` is a {@link SparseMapConfig}. */
242
244
  export declare const isSparseMapConfig: (value: unknown) => value is SparseMapConfig;
245
+ /**
246
+ * The serialisation of a packed value. Only `"json"` is accepted; `"binary"`
247
+ * (a future SchemaBinary encoding) is reserved in the stored header and refused
248
+ * here until it is implemented.
249
+ */
250
+ export type PackedFormat = "json";
251
+ /** A compression codec a packed value may be stored with. */
252
+ export type CompressionCodec = "gzip" | "brotli" | "zstd";
253
+ /** Every {@link CompressionCodec}, in header-code order. */
254
+ export declare const compressionCodecs: ReadonlyArray<CompressionCodec>;
255
+ /**
256
+ * Default `compression.threshold`: 1,024 bytes of UTF-8 JSON. DynamoDB rounds
257
+ * write capacity per item at 1 KB, so compressing a smaller value saves no WCU
258
+ * and costs a decompression on every read.
259
+ */
260
+ export declare const DEFAULT_COMPRESSION_THRESHOLD = 1024;
261
+ /** Options accepted by {@link Packed}. */
262
+ export interface PackedOptions {
263
+ readonly format: PackedFormat;
264
+ readonly compression?: {
265
+ readonly codec: CompressionCodec;
266
+ /**
267
+ * UTF-8 byte length of the JSON at or above which compression is tried.
268
+ * A non-negative safe integer; `0` always tries. Default 1024.
269
+ */
270
+ readonly threshold?: number | undefined;
271
+ } | undefined;
272
+ }
273
+ /** Brand symbol identifying a {@link PackedConfig} produced by {@link Packed}. */
274
+ declare const PackedTag: unique symbol;
275
+ /**
276
+ * The validated, frozen storage config returned by {@link Packed} — the value
277
+ * of an entity field's `storedAs`, an EventStore stream's `storedAs.data`, or a
278
+ * snapshot's `storedAs`.
279
+ */
280
+ export interface PackedConfig {
281
+ readonly [PackedTag]: true;
282
+ readonly format: PackedFormat;
283
+ readonly compression: {
284
+ readonly codec: CompressionCodec;
285
+ readonly threshold: number;
286
+ } | undefined;
287
+ }
288
+ /**
289
+ * Store a value packed into one attribute: its wire form as a JSON string
290
+ * (`S`), or — when `compression` is set, the JSON is at least `threshold`
291
+ * UTF-8 bytes long, and the compressed bytes plus a one-byte header are
292
+ * smaller — as compressed binary (`B`).
293
+ *
294
+ * The stored form is self-describing: readers dispatch on what is stored (a
295
+ * native map, `S`, or `B` with its header), never on the current config, so
296
+ * switching a field or stream between native, packed and compressed storage
297
+ * needs no rewrite.
298
+ *
299
+ * Compression codecs are pluggable: register implementations through the
300
+ * `Compression` service (`node:zlib`-backed ones ship from `effect-dynamodb/compression/zlib`).
301
+ *
302
+ * @example
303
+ * ```ts
304
+ * DynamoModel.configure(Order, {
305
+ * lines: { storedAs: DynamoModel.Packed({ format: "json" }) },
306
+ * details: {
307
+ * storedAs: DynamoModel.Packed({ format: "json", compression: { codec: "zstd" } }),
308
+ * },
309
+ * })
310
+ * ```
311
+ *
312
+ * @throws `[EDD-9071]` on invalid options: a `format` other than `"json"`, an
313
+ * unknown `compression.codec`, a `threshold` that is not a non-negative safe
314
+ * integer, or an unknown option key.
315
+ */
316
+ export declare const Packed: (options: PackedOptions) => PackedConfig;
317
+ /** Type guard — returns true iff `value` is a {@link PackedConfig}. */
318
+ export declare const isPackedConfig: (value: unknown) => value is PackedConfig;
319
+ /**
320
+ * Resolve the packed storage config for every field on a model configured
321
+ * `storedAs: DynamoModel.Packed(...)` via {@link configure}.
322
+ *
323
+ * Returns `Record<domainFieldName, PackedConfig>` — empty when the model is not
324
+ * a `ConfiguredModel` or configures no packed field. Like sparse maps, packing
325
+ * is a storage concern: it is read from `ConfiguredModel.attributes` only.
326
+ */
327
+ export declare const getPackedFields: (model: Schema.Top | ConfiguredModel<any, any>) => globalThis.Record<string, PackedConfig>;
328
+ /** The domain field names a `ConfiguredModel` stores packed (`never` when none). */
329
+ export type ExtractPackedFields<Model> = Model extends ConfiguredModel<any, infer A> ? {
330
+ [K in keyof A & string]: A[K] extends {
331
+ readonly storedAs: PackedConfig;
332
+ } ? K : never;
333
+ }[keyof A & string] : never;
243
334
  /**
244
335
  * A model wrapped with DynamoDB-specific attribute overrides.
245
336
  *
@@ -248,7 +339,9 @@ export declare const isSparseMapConfig: (value: unknown) => value is SparseMapCo
248
339
  * - `storedAs` — override DynamoDB storage encoding (resolved to DynamoEncoding)
249
340
  * OR a {@link SparseMapConfig} (via {@link SparseMap}) to
250
341
  * flatten a `Schema.Record` field into per-entry top-level
251
- * attributes (see {@link SparseConfig}).
342
+ * attributes (see {@link SparseConfig})
343
+ * OR a {@link PackedConfig} (via {@link Packed}) to store the
344
+ * field as one JSON string / compressed binary value.
252
345
  * - `immutable` — mark field as read-only after creation (excluded from Entity.Update)
253
346
  * - `identifier` — mark field as the identity field for ref resolution
254
347
  * - `ref` — mark field as a denormalized reference to another entity
@@ -264,6 +357,7 @@ export interface ConfiguredModel<M extends Schema.Top, A extends ConfigureAttrib
264
357
  readonly identifier?: boolean;
265
358
  readonly ref?: boolean;
266
359
  readonly sparse?: SparseConfig;
360
+ readonly packed?: PackedConfig;
267
361
  }>;
268
362
  }
269
363
  /** Extract the identifier field name from a ConfiguredModel's attributes type. */
@@ -286,7 +380,7 @@ export declare const isConfiguredModel: (value: unknown) => value is ConfiguredM
286
380
  * Walks `ConfiguredModel.attributes` only — schema-level annotations are not
287
381
  * supported for sparse (it's a deployment concern, not a domain one).
288
382
  */
289
- export declare const getSparseFields: (model: Schema.Top) => globalThis.Record<string, SparseConfig>;
383
+ export declare const getSparseFields: (model: Schema.Top | ConfiguredModel<any, any>) => globalThis.Record<string, SparseConfig>;
290
384
  /**
291
385
  * Inspect a Schema field to determine whether it is shaped like a `Schema.Record`.
292
386
  *
@@ -315,6 +409,9 @@ export declare const isRecordAst: (valueAst: unknown) => boolean;
315
409
  * - `identifier` — Mark as the identity field for ref resolution.
316
410
  * - `ref` — Mark as a denormalized reference field.
317
411
  *
412
+ * Or {@link Packed}(...) to store an object/array-shaped field as one JSON
413
+ * string or compressed binary value.
414
+ *
318
415
  * Note: the `prefix` option moved into the {@link SparseMap} config in 1.6 —
319
416
  * pass `storedAs: DynamoModel.SparseMap({ prefix })` instead of declaring
320
417
  * `prefix` as a sibling here. The sibling form had no meaning for non-sparse
@@ -322,11 +419,18 @@ export declare const isRecordAst: (valueAst: unknown) => boolean;
322
419
  */
323
420
  type AttributeConfig<A> = {
324
421
  readonly field?: string;
325
- readonly storedAs?: Schema.Schema<A> | SparseMapConfig;
422
+ readonly storedAs?: Schema.Schema<A> | SparseMapConfig | PackableStorage<A>;
326
423
  readonly immutable?: boolean;
327
424
  readonly identifier?: boolean;
328
425
  readonly ref?: boolean;
329
426
  };
427
+ /**
428
+ * `PackedConfig` is admitted only on fields whose domain type is object- or
429
+ * array-shaped (or `unknown`); a scalar field is a compile error. The runtime
430
+ * shape rule at `Entity.make()` (EDD-9073), which inspects the encoded side,
431
+ * stays authoritative.
432
+ */
433
+ type PackableStorage<A> = unknown extends A ? PackedConfig : [NonNullable<A>] extends [object] ? PackedConfig : never;
330
434
  /**
331
435
  * Type-safe attribute overrides map: keys constrained to model fields,
332
436
  * `storedAs` constrained to matching domain type.
@@ -1 +1 @@
1
- {"version":3,"file":"DynamoModel.d.ts","sourceRoot":"","sources":["../src/DynamoModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DynamoModel.d.ts","sourceRoot":"","sources":["../src/DynamoModel.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@
9
9
  * - `storedAs` modifier — overrides DynamoDB storage format via annotation
10
10
  * - `SparseMap()` — opt a `Schema.Record` field into flattened storage (one
11
11
  * top-level attribute per entry)
12
+ * - `Packed()` — store an object/array-shaped field (or EventStore data/state)
13
+ * as one JSON string, optionally compressed over a threshold
12
14
  *
13
15
  * See docs/design-dynamo-model.md for the three-layer model (wire → domain → storage).
14
16
  */
@@ -402,6 +404,115 @@ export const SparseMap = (options) => {
402
404
  export const isSparseMapConfig = (value) => typeof value === "object" &&
403
405
  value !== null &&
404
406
  value[SparseMapTag] === true;
407
+ /** Every {@link CompressionCodec}, in header-code order. */
408
+ export const compressionCodecs = ["gzip", "brotli", "zstd"];
409
+ /**
410
+ * Default `compression.threshold`: 1,024 bytes of UTF-8 JSON. DynamoDB rounds
411
+ * write capacity per item at 1 KB, so compressing a smaller value saves no WCU
412
+ * and costs a decompression on every read.
413
+ */
414
+ export const DEFAULT_COMPRESSION_THRESHOLD = 1024;
415
+ /** Brand symbol identifying a {@link PackedConfig} produced by {@link Packed}. */
416
+ const PackedTag = Symbol.for("effect-dynamodb/Packed");
417
+ const packedError = (message) => new Error(`[EDD-9071] DynamoModel.Packed: ${message}`);
418
+ /**
419
+ * Store a value packed into one attribute: its wire form as a JSON string
420
+ * (`S`), or — when `compression` is set, the JSON is at least `threshold`
421
+ * UTF-8 bytes long, and the compressed bytes plus a one-byte header are
422
+ * smaller — as compressed binary (`B`).
423
+ *
424
+ * The stored form is self-describing: readers dispatch on what is stored (a
425
+ * native map, `S`, or `B` with its header), never on the current config, so
426
+ * switching a field or stream between native, packed and compressed storage
427
+ * needs no rewrite.
428
+ *
429
+ * Compression codecs are pluggable: register implementations through the
430
+ * `Compression` service (`node:zlib`-backed ones ship from `effect-dynamodb/compression/zlib`).
431
+ *
432
+ * @example
433
+ * ```ts
434
+ * DynamoModel.configure(Order, {
435
+ * lines: { storedAs: DynamoModel.Packed({ format: "json" }) },
436
+ * details: {
437
+ * storedAs: DynamoModel.Packed({ format: "json", compression: { codec: "zstd" } }),
438
+ * },
439
+ * })
440
+ * ```
441
+ *
442
+ * @throws `[EDD-9071]` on invalid options: a `format` other than `"json"`, an
443
+ * unknown `compression.codec`, a `threshold` that is not a non-negative safe
444
+ * integer, or an unknown option key.
445
+ */
446
+ export const Packed = (options) => {
447
+ if (typeof options !== "object" || options === null) {
448
+ throw packedError('options must be an object, e.g. { format: "json" }');
449
+ }
450
+ for (const key of Object.keys(options)) {
451
+ if (key !== "format" && key !== "compression") {
452
+ throw packedError(`unknown option "${key}" (expected "format" and optional "compression")`);
453
+ }
454
+ }
455
+ const format = options.format;
456
+ if (format === "binary") {
457
+ throw packedError(`format "binary" is reserved for a future SchemaBinary encoding and is not supported ` +
458
+ `by this version — use format: "json"`);
459
+ }
460
+ if (format !== "json") {
461
+ throw packedError(`unknown format ${JSON.stringify(format)} — the supported format is "json"`);
462
+ }
463
+ const compression = options.compression;
464
+ if (compression === undefined) {
465
+ return Object.freeze({ [PackedTag]: true, format, compression: undefined });
466
+ }
467
+ if (typeof compression !== "object" || compression === null) {
468
+ throw packedError('compression must be an object, e.g. { codec: "zstd" }');
469
+ }
470
+ for (const key of Object.keys(compression)) {
471
+ if (key !== "codec" && key !== "threshold") {
472
+ throw packedError(`unknown compression option "${key}" (expected "codec" and optional "threshold")`);
473
+ }
474
+ }
475
+ const { codec, threshold } = compression;
476
+ if (!compressionCodecs.includes(codec)) {
477
+ throw packedError(`unknown compression codec ${JSON.stringify(codec)} — expected one of ` +
478
+ compressionCodecs.map((c) => `"${c}"`).join(", "));
479
+ }
480
+ if (threshold !== undefined &&
481
+ (typeof threshold !== "number" || !Number.isSafeInteger(threshold) || threshold < 0)) {
482
+ throw packedError(`compression.threshold must be a non-negative safe integer (bytes of UTF-8 JSON), ` +
483
+ `got ${String(threshold)}`);
484
+ }
485
+ return Object.freeze({
486
+ [PackedTag]: true,
487
+ format,
488
+ compression: Object.freeze({
489
+ codec: codec,
490
+ threshold: threshold ?? DEFAULT_COMPRESSION_THRESHOLD,
491
+ }),
492
+ });
493
+ };
494
+ /** Type guard — returns true iff `value` is a {@link PackedConfig}. */
495
+ export const isPackedConfig = (value) => typeof value === "object" &&
496
+ value !== null &&
497
+ value[PackedTag] === true;
498
+ /**
499
+ * Resolve the packed storage config for every field on a model configured
500
+ * `storedAs: DynamoModel.Packed(...)` via {@link configure}.
501
+ *
502
+ * Returns `Record<domainFieldName, PackedConfig>` — empty when the model is not
503
+ * a `ConfiguredModel` or configures no packed field. Like sparse maps, packing
504
+ * is a storage concern: it is read from `ConfiguredModel.attributes` only.
505
+ */
506
+ export const getPackedFields = (model) => {
507
+ if (!isConfiguredModel(model))
508
+ return {};
509
+ const out = {};
510
+ for (const [name, attr] of Object.entries(model.attributes)) {
511
+ if (attr.packed)
512
+ out[name] = attr.packed;
513
+ }
514
+ return out;
515
+ };
405
516
  /**
406
517
  * Check if a value is a ConfiguredModel.
407
518
  */
@@ -494,6 +605,13 @@ export const configure = (model, attributes) => {
494
605
  }
495
606
  entry.sparse = { prefix };
496
607
  }
608
+ else if (isPackedConfig(config.storedAs)) {
609
+ // Packed storage: the field is stored as one JSON string (S) or
610
+ // compressed binary (B). Shape, key, unique and ref guards run at
611
+ // Entity.make() time (EDD-9072–9075), where the model and its indexes
612
+ // are known.
613
+ entry.packed = config.storedAs;
614
+ }
497
615
  else if (config.storedAs !== undefined) {
498
616
  const encoding = getEncoding(config.storedAs);
499
617
  if (!encoding) {
@@ -1 +1 @@
1
- {"version":3,"file":"DynamoModel.js","sourceRoot":"","sources":["../src/DynamoModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DynamoModel.js","sourceRoot":"","sources":["../src/DynamoModel.ts"],"names":[],"mappings":"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"}
package/dist/Entity.d.ts CHANGED
@@ -16,7 +16,7 @@
16
16
  * dependency graph or type surface.
17
17
  */
18
18
  import { Duration, type Schema } from "effect";
19
- import { type ConfiguredModel, type DynamoEncoding, type ExtractIdentifier, type SparseConfig } from "./DynamoModel.js";
19
+ import { type ConfiguredModel, type DynamoEncoding, type ExtractIdentifier, type ExtractPackedFields, type PackedConfig, type SparseConfig } from "./DynamoModel.js";
20
20
  import type * as DynamoSchema from "./DynamoSchema.js";
21
21
  import type { RefEntity } from "./internal/AggregateEdges.js";
22
22
  import type { CascadeIndexConfig, GeneratedIdConfig, SoftDeleteConfig, TimeSeriesConfig, TimestampsConfig, UniqueConfig, UniqueConstraintDef, VersionedConfig } from "./internal/EntityConfig.js";
@@ -122,6 +122,16 @@ export interface EntityDefinitionData {
122
122
  readonly entityVersion: number;
123
123
  readonly sparseFields: globalThis.Record<string, SparseConfig>;
124
124
  readonly hasSparseFields: boolean;
125
+ /** Domain field name → packed storage config (`storedAs: DynamoModel.Packed`). */
126
+ readonly packedFields: Readonly<globalThis.Record<string, PackedConfig>>;
127
+ /** Stored attribute name (after `field` renames) → packed storage config. */
128
+ readonly packedAttributes: Readonly<globalThis.Record<string, PackedConfig>>;
129
+ /**
130
+ * Stored attribute names read by their stored form (packed ones plus every
131
+ * object/array-shaped field — see `internal/EntityPacked.ts`).
132
+ */
133
+ readonly dispatchAttributes: ReadonlyArray<string>;
134
+ readonly hasPackedFields: boolean;
125
135
  readonly fieldRenames: globalThis.Record<string, string>;
126
136
  readonly hasRenames: boolean;
127
137
  readonly renameToDynamo: (item: globalThis.Record<string, unknown>) => void;
@@ -162,7 +172,7 @@ export interface EntityDefinitionConfig {
162
172
  * NOT carry AWS-coupled CRUD/query operations — those live on the runtime
163
173
  * `effect-dynamodb` `Entity` type, which extends this.
164
174
  */
165
- export interface EntityDefinition<TModel extends Schema.Top = Schema.Top, TEntityType extends string = string, TIndexes extends globalThis.Record<string, IndexDefinition> = globalThis.Record<string, IndexDefinition>, TTimestamps extends TimestampsConfig | undefined = TimestampsConfig | undefined, TVersioned extends VersionedConfig | undefined = VersionedConfig | undefined, TSoftDelete extends SoftDeleteConfig | undefined = SoftDeleteConfig | undefined, TUnique extends UniqueConfig | undefined = UniqueConfig | undefined, TRefs extends globalThis.Record<string, AnyRefValue> | undefined = undefined, TIdentifier extends string | undefined = undefined, TTimeSeries extends TimeSeriesConfig<any> | undefined = undefined, TGeneratedId extends GeneratedIdConfig | undefined = undefined, TVectorIndexes extends globalThis.Record<string, VectorIndexConfig> | undefined = undefined> {
175
+ export interface EntityDefinition<TModel extends Schema.Top = Schema.Top, TEntityType extends string = string, TIndexes extends globalThis.Record<string, IndexDefinition> = globalThis.Record<string, IndexDefinition>, TTimestamps extends TimestampsConfig | undefined = TimestampsConfig | undefined, TVersioned extends VersionedConfig | undefined = VersionedConfig | undefined, TSoftDelete extends SoftDeleteConfig | undefined = SoftDeleteConfig | undefined, TUnique extends UniqueConfig | undefined = UniqueConfig | undefined, TRefs extends globalThis.Record<string, AnyRefValue> | undefined = undefined, TIdentifier extends string | undefined = undefined, TTimeSeries extends TimeSeriesConfig<any> | undefined = undefined, TGeneratedId extends GeneratedIdConfig | undefined = undefined, TVectorIndexes extends globalThis.Record<string, VectorIndexConfig> | undefined = undefined, TPackedFields extends string = never> {
166
176
  readonly _tag: "Entity";
167
177
  readonly model: TModel;
168
178
  readonly entityType: TEntityType;
@@ -182,6 +192,12 @@ export interface EntityDefinition<TModel extends Schema.Top = Schema.Top, TEntit
182
192
  * partition attributes on writes, and build search accessors.
183
193
  */
184
194
  readonly _vectorIndexes: globalThis.Record<string, VectorIndexDefinition>;
195
+ /**
196
+ * The domain fields stored packed (`storedAs: DynamoModel.Packed(...)`).
197
+ * Carries the `TPackedFields` type, which narrows expression path builders:
198
+ * a packed field can be tested only with `exists` / `notExists` as a whole.
199
+ */
200
+ readonly _packedFields: ReadonlyArray<TPackedFields>;
185
201
  /** @internal Resolved ref metadata — used by cascade to inspect target entities */
186
202
  readonly _resolvedRefs: ReadonlyArray<{
187
203
  readonly fieldName: string;
@@ -294,5 +310,5 @@ export declare const make: <TModel extends Schema.Top, const TEntityType extends
294
310
  readonly timeSeries?: TTimeSeries;
295
311
  readonly generatedId?: TGeneratedId;
296
312
  readonly vectorIndexes?: TVectorIndexes;
297
- }) => EntityDefinition<TModel, TEntityType, NormalizedIndexes<TPrimaryKey, TGsiIndexes>, TTimestamps, TVersioned, TSoftDelete, TUnique, TRefs, ExtractIdentifier<ConfiguredModel<TModel, TAttrs>>, TTimeSeries, TGeneratedId, TVectorIndexes>;
313
+ }) => EntityDefinition<TModel, TEntityType, NormalizedIndexes<TPrimaryKey, TGsiIndexes>, TTimestamps, TVersioned, TSoftDelete, TUnique, TRefs, ExtractIdentifier<ConfiguredModel<TModel, TAttrs>>, TTimeSeries, TGeneratedId, TVectorIndexes, ExtractPackedFields<ConfiguredModel<TModel, TAttrs>>>;
298
314
  //# sourceMappingURL=Entity.d.ts.map