@effect-dynamodb/schema 1.9.0 → 1.9.2
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/internal/AggregateEdges.d.ts +8 -2
- package/dist/internal/AggregateEdges.d.ts.map +1 -1
- package/dist/internal/AggregateEdges.js.map +1 -1
- package/dist/internal/AggregateSchemas.d.ts +15 -5
- package/dist/internal/AggregateSchemas.d.ts.map +1 -1
- package/dist/internal/AggregateSchemas.js +7 -3
- package/dist/internal/AggregateSchemas.js.map +1 -1
- package/package.json +10 -10
|
@@ -16,6 +16,14 @@ import type { Schema } from "effect";
|
|
|
16
16
|
* `indexes` mirrors `Entity.indexes` (`{ primary: { pk: { composite } }, ... }`);
|
|
17
17
|
* `RefEntityIdentifierValue` reads `indexes.primary.pk.composite` to recover the
|
|
18
18
|
* branded id type. A wider/looser `indexes` simply falls back to `string`.
|
|
19
|
+
*
|
|
20
|
+
* This is a PURE structural bound: edge derivation only reads
|
|
21
|
+
* `model`/`indexes`/`entityType`/`schemas` to recover the ref-id field and its
|
|
22
|
+
* (branded) identifier type — it never calls a runtime operation. It must
|
|
23
|
+
* therefore be satisfiable by a pure `EntityDefinition` (which has no `get`), so
|
|
24
|
+
* aggregate edges can be authored from `@effect-dynamodb/schema` entities with
|
|
25
|
+
* no AWS runtime (issue #66). The runtime ref-hydration path narrows back to a
|
|
26
|
+
* `get`-bearing entity at its single call site.
|
|
19
27
|
*/
|
|
20
28
|
export interface RefEntity<M extends Schema.Top = Schema.Top, TIndexes = unknown> {
|
|
21
29
|
readonly _tag: "Entity";
|
|
@@ -25,8 +33,6 @@ export interface RefEntity<M extends Schema.Top = Schema.Top, TIndexes = unknown
|
|
|
25
33
|
readonly schemas: {
|
|
26
34
|
readonly recordSchema: Schema.Codec<any>;
|
|
27
35
|
};
|
|
28
|
-
/** Get an entity by key — uses `any` for structural compatibility with Entity's narrower key type */
|
|
29
|
-
readonly get: (key: any) => any;
|
|
30
36
|
}
|
|
31
37
|
/**
|
|
32
38
|
* A one-to-one edge: one member item per aggregate instance.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AggregateEdges.d.ts","sourceRoot":"","sources":["../../src/internal/AggregateEdges.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAMpC
|
|
1
|
+
{"version":3,"file":"AggregateEdges.d.ts","sourceRoot":"","sources":["../../src/internal/AggregateEdges.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AggregateEdges.js","sourceRoot":"","sources":["../../src/internal/AggregateEdges.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"AggregateEdges.js","sourceRoot":"","sources":["../../src/internal/AggregateEdges.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsGH,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CACjB,IAAY,EACZ,MAIC,EACW,EAAE,CAAC,CAAC;IAChB,IAAI,EAAE,SAAS;IACf,IAAI;IACJ,UAAU,EAAE,MAAM,CAAC,UAAU;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,aAAa,EAAE,MAAM,CAAC,aAAa;CACpC,CAAC,CAAA;AAWF,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,MAAsB;IACvD,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,IAAI;QACJ,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAA4B,MAAS,EAAc,EAAE,CAAC,CAAC;IACxE,IAAI,EAAE,SAAS;IACf,MAAM;CACP,CAAC,CAAA;AAEF,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAmB,EAAwB,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAA;AAC/F,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAmB,EAAyB,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAA;AAClG,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAmB,EAAwB,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAA"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Schema } from "effect";
|
|
7
7
|
import type { AggregateEdge, RefEntity } from "./AggregateEdges.js";
|
|
8
|
-
import type { BoundSubAggregate } from "./AggregateTypes.js";
|
|
8
|
+
import type { AggregateInputType, BoundSubAggregate } from "./AggregateTypes.js";
|
|
9
9
|
/**
|
|
10
10
|
* Derive an input schema from an aggregate definition.
|
|
11
11
|
*
|
|
@@ -16,11 +16,21 @@ import type { BoundSubAggregate } from "./AggregateTypes.js";
|
|
|
16
16
|
* - PK composite fields are omitted (auto-generated)
|
|
17
17
|
* - `Schema.toCodecJson` is applied at the end so Date fields accept ISO strings
|
|
18
18
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Precisely-typed derived aggregate schemas. `TInput` is the aggregate's derived
|
|
21
|
+
* input/create payload type (see {@link AggregateInputType}); `updateSchema` is
|
|
22
|
+
* the same shape with every field optional. This lets the table-free
|
|
23
|
+
* `deriveAggregateSchemas` path be as typed as the top-level `Aggregate.make`,
|
|
24
|
+
* so an AWS-free contract package can read `typeof result.inputSchema.Type`
|
|
25
|
+
* without fabricating a stub table tag (issue #67).
|
|
26
|
+
*/
|
|
27
|
+
export interface DerivedAggregateSchemas<TInput = unknown> {
|
|
28
|
+
readonly inputSchema: Schema.Codec<TInput>;
|
|
29
|
+
/** Alias for `inputSchema` — aggregates have no PK-composite stripping on create. */
|
|
30
|
+
readonly createSchema: Schema.Codec<TInput>;
|
|
31
|
+
readonly updateSchema: Schema.Codec<Partial<TInput>>;
|
|
22
32
|
}
|
|
23
|
-
export declare const deriveAggregateSchemas:
|
|
33
|
+
export declare const deriveAggregateSchemas: <TSchema extends Schema.Top, const TEdges extends Record<string, AggregateEdge | BoundSubAggregate<any, any>>, const TPK extends ReadonlyArray<string>>(schema: TSchema, edges: TEdges, pkComposites: TPK) => DerivedAggregateSchemas<AggregateInputType<Schema.Schema.Type<TSchema>, TEdges, TPK>>;
|
|
24
34
|
/**
|
|
25
35
|
* Check if a field schema represents an optional field.
|
|
26
36
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AggregateSchemas.d.ts","sourceRoot":"","sources":["../../src/internal/AggregateSchemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAY,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"AggregateSchemas.d.ts","sourceRoot":"","sources":["../../src/internal/AggregateSchemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAY,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAWhF;;;;;;;;;GASG;AACH;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB,CAAC,MAAM,GAAG,OAAO;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1C,qFAAqF;IACrF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC3C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;CACrD;AAED,eAAO,MAAM,sBAAsB,GACjC,OAAO,SAAS,MAAM,CAAC,GAAG,EAC1B,KAAK,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAChF,KAAK,CAAC,GAAG,SAAS,aAAa,CAAC,MAAM,CAAC,EAEvC,QAAQ,OAAO,EACf,OAAO,MAAM,EACb,cAAc,GAAG,KAChB,uBAAuB,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CA8DtF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,aAAa,MAAM,CAAC,GAAG,KAAG,OACxB,CAAA;AAElC;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,SAAS,KAAG,MAKzD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,GACnC,kBAAkB,MAAM,CAAC,GAAG,EAC5B,SAAS,SAAS,KACjB,MAAM,CAAC,GAAG,GAAG,SAkCf,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,CAAC,GAAG,KAAG,MAAM,CAAC,GAMtD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,CAAC,GAAG,EAAE,QAAQ,SAAS,KAAG,OAQ9E,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,GAAI,aAAa,MAAM,CAAC,GAAG,KAAG,MAAM,CAAC,GAAG,GAAG,SACrC,CAAA;AAEtC;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,CAAC,GAAG,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,SACrD,CAAA"}
|
|
@@ -8,8 +8,9 @@ import { ConfiguredModelTag } from "../DynamoModel.js";
|
|
|
8
8
|
import { extractArrayElement as extractArrayElementImpl, getSchemaFields as getSchemaFieldsImpl, isFieldOptional as isFieldOptionalImpl, } from "./SchemaAccessors.js";
|
|
9
9
|
export const deriveAggregateSchemas = (schema, edges, pkComposites) => {
|
|
10
10
|
const fields = getSchemaFields(schema);
|
|
11
|
-
if (!fields)
|
|
12
|
-
return { inputSchema: schema, updateSchema: schema };
|
|
11
|
+
if (!fields) {
|
|
12
|
+
return { inputSchema: schema, createSchema: schema, updateSchema: schema };
|
|
13
|
+
}
|
|
13
14
|
const omit = new Set(pkComposites);
|
|
14
15
|
const newFields = {};
|
|
15
16
|
for (const [name, fieldSchema] of Object.entries(fields)) {
|
|
@@ -56,7 +57,10 @@ export const deriveAggregateSchemas = (schema, edges, pkComposites) => {
|
|
|
56
57
|
: Schema.optional(fieldSchema);
|
|
57
58
|
}
|
|
58
59
|
const updateSchema = Schema.toCodecJson(Schema.Struct(optionalFields));
|
|
59
|
-
|
|
60
|
+
// Runtime members are `Schema.Codec<unknown>`-shaped; the precise input type
|
|
61
|
+
// is a compile-time phantom (`AggregateInputType`) — same approach the
|
|
62
|
+
// top-level `Aggregate.make` overload uses. `createSchema` aliases `inputSchema`.
|
|
63
|
+
return { inputSchema, createSchema: inputSchema, updateSchema };
|
|
60
64
|
};
|
|
61
65
|
/**
|
|
62
66
|
* Check if a field schema represents an optional field.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AggregateSchemas.js","sourceRoot":"","sources":["../../src/internal/AggregateSchemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAGtD,OAAO,EACL,mBAAmB,IAAI,uBAAuB,EAC9C,eAAe,IAAI,mBAAmB,EACtC,eAAe,IAAI,mBAAmB,GACvC,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"AggregateSchemas.js","sourceRoot":"","sources":["../../src/internal/AggregateSchemas.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-dynamodb/schema",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.2",
|
|
4
4
|
"description": "Pure Effect Schema-driven entity/aggregate modeling and relationship derivation for effect-dynamodb — importable without @aws-sdk",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -49,14 +49,6 @@
|
|
|
49
49
|
"README.md",
|
|
50
50
|
"LICENSE"
|
|
51
51
|
],
|
|
52
|
-
"scripts": {
|
|
53
|
-
"build": "tsc",
|
|
54
|
-
"test": "vitest run",
|
|
55
|
-
"test:watch": "vitest",
|
|
56
|
-
"check": "tsc --noEmit",
|
|
57
|
-
"lint": "biome check .",
|
|
58
|
-
"lint:fix": "biome check --write ."
|
|
59
|
-
},
|
|
60
52
|
"peerDependencies": {
|
|
61
53
|
"effect": "^4.0.0-beta.85"
|
|
62
54
|
},
|
|
@@ -66,5 +58,13 @@
|
|
|
66
58
|
"effect": "4.0.0-beta.85",
|
|
67
59
|
"typescript": "^5.7.0",
|
|
68
60
|
"vitest": "^4.1.0"
|
|
61
|
+
},
|
|
62
|
+
"scripts": {
|
|
63
|
+
"build": "tsc",
|
|
64
|
+
"test": "vitest run",
|
|
65
|
+
"test:watch": "vitest",
|
|
66
|
+
"check": "tsc --noEmit && tsc --noEmit -p tsconfig.test.json",
|
|
67
|
+
"lint": "biome check .",
|
|
68
|
+
"lint:fix": "biome check --write ."
|
|
69
69
|
}
|
|
70
|
-
}
|
|
70
|
+
}
|