@effect-dynamodb/schema 1.9.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/LICENSE +21 -0
- package/README.md +53 -0
- package/dist/Aggregate.d.ts +128 -0
- package/dist/Aggregate.d.ts.map +1 -0
- package/dist/Aggregate.js +69 -0
- package/dist/Aggregate.js.map +1 -0
- package/dist/DynamoModel.d.ts +370 -0
- package/dist/DynamoModel.d.ts.map +1 -0
- package/dist/DynamoModel.js +541 -0
- package/dist/DynamoModel.js.map +1 -0
- package/dist/DynamoSchema.d.ts +137 -0
- package/dist/DynamoSchema.d.ts.map +1 -0
- package/dist/DynamoSchema.js +188 -0
- package/dist/DynamoSchema.js.map +1 -0
- package/dist/Entity.d.ts +239 -0
- package/dist/Entity.d.ts.map +1 -0
- package/dist/Entity.js +558 -0
- package/dist/Entity.js.map +1 -0
- package/dist/Errors.d.ts +387 -0
- package/dist/Errors.d.ts.map +1 -0
- package/dist/Errors.js +218 -0
- package/dist/Errors.js.map +1 -0
- package/dist/KeyComposer.d.ts +264 -0
- package/dist/KeyComposer.d.ts.map +1 -0
- package/dist/KeyComposer.js +516 -0
- package/dist/KeyComposer.js.map +1 -0
- package/dist/Projection.d.ts +28 -0
- package/dist/Projection.d.ts.map +1 -0
- package/dist/Projection.js +39 -0
- package/dist/Projection.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/AggregateCursor.d.ts +44 -0
- package/dist/internal/AggregateCursor.d.ts.map +1 -0
- package/dist/internal/AggregateCursor.js +18 -0
- package/dist/internal/AggregateCursor.js.map +1 -0
- package/dist/internal/AggregateEdges.d.ts +117 -0
- package/dist/internal/AggregateEdges.d.ts.map +1 -0
- package/dist/internal/AggregateEdges.js +51 -0
- package/dist/internal/AggregateEdges.js.map +1 -0
- package/dist/internal/AggregateSchemas.d.ts +76 -0
- package/dist/internal/AggregateSchemas.d.ts.map +1 -0
- package/dist/internal/AggregateSchemas.js +164 -0
- package/dist/internal/AggregateSchemas.js.map +1 -0
- package/dist/internal/AggregateTypes.d.ts +132 -0
- package/dist/internal/AggregateTypes.d.ts.map +1 -0
- package/dist/internal/AggregateTypes.js +7 -0
- package/dist/internal/AggregateTypes.js.map +1 -0
- package/dist/internal/DefaultCrypto.d.ts +26 -0
- package/dist/internal/DefaultCrypto.d.ts.map +1 -0
- package/dist/internal/DefaultCrypto.js +40 -0
- package/dist/internal/DefaultCrypto.js.map +1 -0
- package/dist/internal/EntityConfig.d.ts +152 -0
- package/dist/internal/EntityConfig.d.ts.map +1 -0
- package/dist/internal/EntityConfig.js +7 -0
- package/dist/internal/EntityConfig.js.map +1 -0
- package/dist/internal/EntitySchemas.d.ts +198 -0
- package/dist/internal/EntitySchemas.d.ts.map +1 -0
- package/dist/internal/EntitySchemas.js +798 -0
- package/dist/internal/EntitySchemas.js.map +1 -0
- package/dist/internal/EntityTypes.d.ts +233 -0
- package/dist/internal/EntityTypes.d.ts.map +1 -0
- package/dist/internal/EntityTypes.js +7 -0
- package/dist/internal/EntityTypes.js.map +1 -0
- package/dist/internal/SchemaAccessors.d.ts +90 -0
- package/dist/internal/SchemaAccessors.d.ts.map +1 -0
- package/dist/internal/SchemaAccessors.js +171 -0
- package/dist/internal/SchemaAccessors.js.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntitySchemas.js","sourceRoot":"","sources":["../../src/internal/EntitySchemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal Entity type-level computations — derived types for Entity operations.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from Entity.ts for decomposition. Not part of the public API.
|
|
5
|
+
*/
|
|
6
|
+
import type { DateTime, Schema } from "effect";
|
|
7
|
+
import type { RefNotFound } from "../Errors.js";
|
|
8
|
+
/** Extract the model's Type directly — preserves Schema.Class name (e.g. `User`) */
|
|
9
|
+
export type ModelType<TModel extends Schema.Top> = Schema.Schema.Type<TModel>;
|
|
10
|
+
/**
|
|
11
|
+
* Flatten an intersection of object types into a single object literal for
|
|
12
|
+
* cleaner hover/IntelliSense display. Pure identity at the type level —
|
|
13
|
+
* `Simplify<A & B>` is assignable to `A & B` and vice versa.
|
|
14
|
+
*/
|
|
15
|
+
export type Simplify<T> = {
|
|
16
|
+
[K in keyof T]: T[K];
|
|
17
|
+
} & {};
|
|
18
|
+
/** Detect the `any` type — needed to short-circuit conditional type computations
|
|
19
|
+
* that would otherwise distribute over `any` and produce nonsense shapes. */
|
|
20
|
+
type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
21
|
+
type TimestampFieldName<C, Default extends string> = [C] extends [undefined] ? Default : C extends string ? C : C extends {
|
|
22
|
+
readonly field: infer F extends string;
|
|
23
|
+
} ? F : Default;
|
|
24
|
+
type CreatedAtFieldName<TTimestamps> = [TTimestamps] extends [undefined | false] ? never : TTimestamps extends true ? "createdAt" : TTimestamps extends {
|
|
25
|
+
readonly created?: infer C;
|
|
26
|
+
} ? TimestampFieldName<C, "createdAt"> : "createdAt";
|
|
27
|
+
type UpdatedAtFieldName<TTimestamps, TTimeSeries = undefined> = [TTimeSeries] extends [
|
|
28
|
+
undefined | false
|
|
29
|
+
] ? [TTimestamps] extends [undefined | false] ? never : TTimestamps extends true ? "updatedAt" : TTimestamps extends {
|
|
30
|
+
readonly updated?: infer U;
|
|
31
|
+
} ? TimestampFieldName<U, "updatedAt"> : "updatedAt" : never;
|
|
32
|
+
type VersionFieldName<TVersioned> = [TVersioned] extends [undefined | false] ? never : TVersioned extends true ? "version" : TVersioned extends {
|
|
33
|
+
readonly field: infer F extends string;
|
|
34
|
+
} ? F : "version";
|
|
35
|
+
/**
|
|
36
|
+
* Apply system-field collision adjustments to an input/create type:
|
|
37
|
+
* - Colliding `createdAt`/`updatedAt` become optional (caller may supply or
|
|
38
|
+
* let the library auto-generate).
|
|
39
|
+
* - Colliding `version` is stripped entirely (optimistic locking requires
|
|
40
|
+
* library-managed increment).
|
|
41
|
+
*/
|
|
42
|
+
export type WithSystemCollisions<T, TTimestamps, TVersioned, TTimeSeries = undefined> = IsAny<T> extends true ? T : IsAny<TTimestamps> extends true ? T : IsAny<TVersioned> extends true ? T : Simplify<Omit<T, (CreatedAtFieldName<TTimestamps> & keyof T) | (UpdatedAtFieldName<TTimestamps, TTimeSeries> & keyof T) | (VersionFieldName<TVersioned> & keyof T)> & Partial<Pick<T, (CreatedAtFieldName<TTimestamps> & keyof T) | (UpdatedAtFieldName<TTimestamps, TTimeSeries> & keyof T)>>>;
|
|
43
|
+
/**
|
|
44
|
+
* Apply system-field collision adjustments to an update type. `createdAt` is
|
|
45
|
+
* treated as immutable (stripped entirely); `updatedAt` stays optional (it
|
|
46
|
+
* already is, via `Partial`); `version` is stripped.
|
|
47
|
+
*/
|
|
48
|
+
export type WithSystemCollisionsForUpdate<T, TTimestamps, TVersioned> = IsAny<T> extends true ? T : IsAny<TTimestamps> extends true ? T : IsAny<TVersioned> extends true ? T : Simplify<Omit<T, (CreatedAtFieldName<TTimestamps> & keyof T) | (VersionFieldName<TVersioned> & keyof T)>>;
|
|
49
|
+
/** Extract primary key composite attribute names as a string union */
|
|
50
|
+
export type PrimaryKeyComposites<TIndexes> = TIndexes extends {
|
|
51
|
+
readonly primary: {
|
|
52
|
+
readonly pk: {
|
|
53
|
+
readonly composite: infer PKC extends ReadonlyArray<string>;
|
|
54
|
+
};
|
|
55
|
+
readonly sk: {
|
|
56
|
+
readonly composite: infer SKC extends ReadonlyArray<string>;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
} ? PKC[number] | SKC[number] : string;
|
|
60
|
+
/** Compute system fields added by timestamps and versioned config.
|
|
61
|
+
*
|
|
62
|
+
* Time-series entities auto-suppress `updatedAt` — the `orderBy` attribute IS
|
|
63
|
+
* the update clock. `createdAt` is preserved and set via `if_not_exists`.
|
|
64
|
+
*/
|
|
65
|
+
export type SystemFieldsType<TTimestamps, TVersioned, TTimeSeries = undefined> = ([
|
|
66
|
+
TTimestamps
|
|
67
|
+
] extends [undefined] ? {} : [TTimestamps] extends [false] ? {} : [TTimeSeries] extends [undefined | false] ? {
|
|
68
|
+
readonly createdAt: DateTime.Utc;
|
|
69
|
+
readonly updatedAt: DateTime.Utc;
|
|
70
|
+
} : {
|
|
71
|
+
readonly createdAt: DateTime.Utc;
|
|
72
|
+
}) & ([TVersioned] extends [undefined] ? {} : [TVersioned] extends [false] ? {} : {
|
|
73
|
+
readonly version: number;
|
|
74
|
+
});
|
|
75
|
+
/**
|
|
76
|
+
* Make the auto-generated id field optional on an input type.
|
|
77
|
+
*
|
|
78
|
+
* When an entity declares `generatedId: { field: "id" }`, the `id` field is
|
|
79
|
+
* filled by the library at write time when the caller omits it. The input type
|
|
80
|
+
* therefore marks the field optional (caller MAY supply it to override). The
|
|
81
|
+
* record/return type keeps it required — a decoded record always carries it.
|
|
82
|
+
*
|
|
83
|
+
* `TGeneratedId` is the `generatedId` config (or `undefined`). When absent the
|
|
84
|
+
* input type is returned unchanged.
|
|
85
|
+
*/
|
|
86
|
+
export type WithGeneratedId<T, TGeneratedId> = [TGeneratedId] extends [undefined] ? T : TGeneratedId extends {
|
|
87
|
+
readonly field: infer F extends string;
|
|
88
|
+
} ? F extends keyof T ? Simplify<Omit<T, F> & Partial<Pick<T, F>>> : T : T;
|
|
89
|
+
/** Entity key type: Pick model fields by primary key composites */
|
|
90
|
+
export type EntityKeyType<TModel extends Schema.Top, TIndexes> = Pick<ModelType<TModel>, PrimaryKeyComposites<TIndexes> & keyof ModelType<TModel>>;
|
|
91
|
+
/** Entity record type: model fields + system fields */
|
|
92
|
+
export type EntityRecordType<TModel extends Schema.Top, TTimestamps, TVersioned, TTimeSeries = undefined> = ModelType<TModel> & SystemFieldsType<TTimestamps, TVersioned, TTimeSeries>;
|
|
93
|
+
/** Entity input type: model fields with system-colliding fields adjusted. */
|
|
94
|
+
export type EntityInputType<TModel extends Schema.Top, TTimestamps = undefined, TVersioned = undefined, TTimeSeries = undefined> = WithSystemCollisions<ModelType<TModel>, TTimestamps, TVersioned, TTimeSeries>;
|
|
95
|
+
/** Entity create type: input fields minus identifier (or PK composites as fallback) */
|
|
96
|
+
export type EntityCreateType<TModel extends Schema.Top, TIndexes, TIdentifier extends string | undefined, TTimestamps = undefined, TVersioned = undefined, TTimeSeries = undefined> = WithSystemCollisions<[
|
|
97
|
+
TIdentifier
|
|
98
|
+
] extends [string] ? Omit<ModelType<TModel>, TIdentifier> : Omit<ModelType<TModel>, PrimaryKeyComposites<TIndexes>>, TTimestamps, TVersioned, TTimeSeries>;
|
|
99
|
+
/**
|
|
100
|
+
* Entity update type: partial model fields minus primary key composites.
|
|
101
|
+
*
|
|
102
|
+
* Each field's value type matches the model declaration exactly — under v3
|
|
103
|
+
* there is no `null` widening. The v1.6 widening to `T | null | undefined`
|
|
104
|
+
* existed to support the v1.6 three-way payload classification, which is
|
|
105
|
+
* collapsed in v3 to two-way (null = undefined = absent). Combined with the
|
|
106
|
+
* EDD-9025 make-time check (composite attribute schemas must not include
|
|
107
|
+
* `null`), `set({ composite: null })` no longer compiles and the stale-GSI
|
|
108
|
+
* footgun is closed at the type level. See `DESIGN.md §7`.
|
|
109
|
+
*/
|
|
110
|
+
export type EntityUpdateType<TModel extends Schema.Top, TIndexes, TTimestamps = undefined, TVersioned = undefined> = WithSystemCollisionsForUpdate<{
|
|
111
|
+
[K in keyof Omit<ModelType<TModel>, PrimaryKeyComposites<TIndexes>>]?: Omit<ModelType<TModel>, PrimaryKeyComposites<TIndexes>>[K];
|
|
112
|
+
}, TTimestamps, TVersioned>;
|
|
113
|
+
/**
|
|
114
|
+
* Input type for `.append()` on a time-series entity.
|
|
115
|
+
*
|
|
116
|
+
* Derived from the required `appendInput` schema. Always includes `orderBy`
|
|
117
|
+
* plus all PK/SK composite fields (enforced at `Entity.make()` time).
|
|
118
|
+
*/
|
|
119
|
+
export type AppendInputType<TAppendInput> = [TAppendInput] extends [Schema.Top] ? Schema.Schema.Type<TAppendInput> : never;
|
|
120
|
+
/**
|
|
121
|
+
* Success type of `.append()` (default path) — `{ current: Model }`.
|
|
122
|
+
*
|
|
123
|
+
* Stale outcomes are surfaced on the Effect ERROR channel as
|
|
124
|
+
* `StaleAppend` (CAS rejected) or `ConditionalCheckFailed` (user-supplied
|
|
125
|
+
* `.condition()` rejected while CAS held). `.skipFollowUp()` narrows the
|
|
126
|
+
* success channel to `void` and collapses both error modes into
|
|
127
|
+
* `StaleAppend` (cannot disambiguate without the follow-up GetItem).
|
|
128
|
+
*/
|
|
129
|
+
export type AppendSuccess<TModel extends Schema.Top> = {
|
|
130
|
+
readonly current: ModelType<TModel>;
|
|
131
|
+
};
|
|
132
|
+
/** Extract PK-only composite attribute names (excludes SK) */
|
|
133
|
+
type PrimaryPkOnlyComposites<TIndexes> = TIndexes extends {
|
|
134
|
+
readonly primary: {
|
|
135
|
+
readonly pk: {
|
|
136
|
+
readonly composite: infer PKC extends ReadonlyArray<string>;
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
} ? PKC[number] : never;
|
|
140
|
+
/** Extract the Entity from a ref value `{ entity: Entity, cascade?: ... }`. */
|
|
141
|
+
export type ExtractRefEntity<R> = R extends {
|
|
142
|
+
readonly entity: infer E;
|
|
143
|
+
} ? E : never;
|
|
144
|
+
/**
|
|
145
|
+
* Resolve a branded identifier value type directly from an entity-shaped type
|
|
146
|
+
* carrying `{ model, indexes }`. For an entity with `pk: { composite: ["id"] }`
|
|
147
|
+
* and `id: TeamId`, yields `TeamId`; falls back to `string` when the entity
|
|
148
|
+
* type does not expose enough information to recover the brand.
|
|
149
|
+
*
|
|
150
|
+
* This is the shared core used by both the Entity ref path
|
|
151
|
+
* ({@link EntityIdentifierValue}, which unwraps `{ entity }` first) and the
|
|
152
|
+
* Aggregate edge path, where the entity is referenced directly on the edge.
|
|
153
|
+
*/
|
|
154
|
+
export type RefEntityIdentifierValue<E> = E extends {
|
|
155
|
+
readonly model: infer M extends Schema.Top;
|
|
156
|
+
readonly indexes: infer I;
|
|
157
|
+
} ? ModelType<M>[PrimaryPkOnlyComposites<I> & keyof ModelType<M>] : string;
|
|
158
|
+
/** Extract the identifier value type from a ref Entity's PK composites.
|
|
159
|
+
* For an entity with `pk: { composite: ["id"] }` and `id: TeamId`, yields `TeamId`. */
|
|
160
|
+
type EntityIdentifierValue<E> = RefEntityIdentifierValue<ExtractRefEntity<E>>;
|
|
161
|
+
/** Entity ref input type: when refs present, replace ref fields with branded ID fields */
|
|
162
|
+
export type EntityRefInputType<TModel extends Schema.Top, TRefs, TTimestamps = undefined, TVersioned = undefined, TTimeSeries = undefined> = [TRefs] extends [undefined] ? EntityInputType<TModel, TTimestamps, TVersioned, TTimeSeries> : WithSystemCollisions<Omit<ModelType<TModel>, keyof TRefs & string> & {
|
|
163
|
+
readonly [K in keyof TRefs & string as `${K}Id`]: EntityIdentifierValue<TRefs[K]>;
|
|
164
|
+
}, TTimestamps, TVersioned, TTimeSeries>;
|
|
165
|
+
/** Entity ref create type: input minus identifier (or PK composites), ref-aware */
|
|
166
|
+
export type EntityRefCreateType<TModel extends Schema.Top, TIndexes, TRefs, TIdentifier extends string | undefined, TTimestamps = undefined, TVersioned = undefined, TTimeSeries = undefined> = [TRefs] extends [undefined] ? EntityCreateType<TModel, TIndexes, TIdentifier, TTimestamps, TVersioned, TTimeSeries> : WithSystemCollisions<[
|
|
167
|
+
TIdentifier
|
|
168
|
+
] extends [string] ? Omit<Omit<ModelType<TModel>, keyof TRefs & string> & {
|
|
169
|
+
readonly [K in keyof TRefs & string as `${K}Id`]: EntityIdentifierValue<TRefs[K]>;
|
|
170
|
+
}, TIdentifier> : Omit<Omit<ModelType<TModel>, keyof TRefs & string> & {
|
|
171
|
+
readonly [K in keyof TRefs & string as `${K}Id`]: EntityIdentifierValue<TRefs[K]>;
|
|
172
|
+
}, PrimaryKeyComposites<TIndexes>>, TTimestamps, TVersioned, TTimeSeries>;
|
|
173
|
+
/** Entity ref update type: when refs present, swap ref fields for optional branded ID fields */
|
|
174
|
+
export type EntityRefUpdateType<TModel extends Schema.Top, TIndexes, TRefs, TTimestamps = undefined, TVersioned = undefined> = [TRefs] extends [undefined] ? EntityUpdateType<TModel, TIndexes, TTimestamps, TVersioned> : WithSystemCollisionsForUpdate<Partial<Omit<ModelType<TModel>, PrimaryKeyComposites<TIndexes> | (keyof TRefs & string)>> & {
|
|
175
|
+
readonly [K in keyof TRefs & string as `${K}Id`]?: EntityIdentifierValue<TRefs[K]>;
|
|
176
|
+
}, TTimestamps, TVersioned>;
|
|
177
|
+
/** Error type contribution from refs — never when no refs, RefNotFound when refs present */
|
|
178
|
+
export type RefErrors<TRefs> = [TRefs] extends [undefined] ? never : RefNotFound;
|
|
179
|
+
/** Extract pk composite names for a specific index */
|
|
180
|
+
export type IndexPkComposites<TIndexes, K extends keyof TIndexes> = TIndexes[K] extends {
|
|
181
|
+
readonly pk: {
|
|
182
|
+
readonly composite: infer PKC extends ReadonlyArray<string>;
|
|
183
|
+
};
|
|
184
|
+
} ? PKC[number] : never;
|
|
185
|
+
/** Extract sk composite names (union) for a specific index */
|
|
186
|
+
export type IndexSkComposites<TIndexes, K extends keyof TIndexes> = TIndexes[K] extends {
|
|
187
|
+
readonly sk: {
|
|
188
|
+
readonly composite: infer SKC extends ReadonlyArray<string>;
|
|
189
|
+
};
|
|
190
|
+
} ? SKC[number] : never;
|
|
191
|
+
/**
|
|
192
|
+
* Map a refs config object to its derived `${ref}Id` field map.
|
|
193
|
+
*
|
|
194
|
+
* For `{ team: { entity: TeamEntity }, player: { entity: PlayerEntity } }` this yields
|
|
195
|
+
* `{ teamId: TeamId, playerId: PlayerId }`, using each referenced entity's identifier
|
|
196
|
+
* value type (branded when available, falling back to `string`).
|
|
197
|
+
*/
|
|
198
|
+
type RefIdFields<TRefs> = [TRefs] extends [undefined] ? {} : {
|
|
199
|
+
readonly [K in keyof TRefs & string as `${K}Id`]: EntityIdentifierValue<TRefs[K]>;
|
|
200
|
+
};
|
|
201
|
+
/**
|
|
202
|
+
* Composite-resolvable fields for an entity: model fields plus the derived ref-id
|
|
203
|
+
* fields. This is the canonical lookup table for resolving the value type of a
|
|
204
|
+
* composite key name like `playerId` (which lives on the ref, not on the model).
|
|
205
|
+
*/
|
|
206
|
+
type CompositeFields<TModel extends Schema.Top, TRefs> = ModelType<TModel> & RefIdFields<TRefs>;
|
|
207
|
+
/** Pick SK composite fields from the model (or refs) with their actual types. */
|
|
208
|
+
export type IndexSkFields<TModel extends Schema.Top, TIndexes, K extends keyof TIndexes, TRefs = undefined> = Pick<CompositeFields<TModel, TRefs>, IndexSkComposites<TIndexes, K> & keyof CompositeFields<TModel, TRefs>>;
|
|
209
|
+
/**
|
|
210
|
+
* Widen string literal types to include their lowercase variants.
|
|
211
|
+
* Since the key composer applies casing (default: lowercase) to composite values,
|
|
212
|
+
* queries should accept both `"Male"` and `"male"` for indexed attributes.
|
|
213
|
+
* Non-string types pass through unchanged.
|
|
214
|
+
*/
|
|
215
|
+
type CaseInsensitive<T> = T extends string ? T | Lowercase<T> : T;
|
|
216
|
+
/** Apply CaseInsensitive to all properties of an object type */
|
|
217
|
+
type CaseInsensitiveProps<T> = {
|
|
218
|
+
[K in keyof T]: CaseInsensitive<T[K]>;
|
|
219
|
+
};
|
|
220
|
+
/**
|
|
221
|
+
* Compute the typed query input for a specific index.
|
|
222
|
+
* PK composites are required. SK composites are optional.
|
|
223
|
+
* SK prefix ordering is enforced at runtime.
|
|
224
|
+
* String literal types are widened to include lowercase variants.
|
|
225
|
+
*
|
|
226
|
+
* When `TRefs` is provided, ref-derived composite names (e.g. `teamId` for a
|
|
227
|
+
* `team: Team.pipe(DynamoModel.ref)` field) resolve to the referenced entity's
|
|
228
|
+
* branded identifier type. Without this, an index whose pk composite references
|
|
229
|
+
* a renamed ref field would silently collapse to `Pick<Model, never>`.
|
|
230
|
+
*/
|
|
231
|
+
export type IndexPkInput<TModel extends Schema.Top, TIndexes, K extends keyof TIndexes, TRefs = undefined> = Simplify<CaseInsensitiveProps<Pick<CompositeFields<TModel, TRefs>, IndexPkComposites<TIndexes, K> & keyof CompositeFields<TModel, TRefs>>> & Partial<CaseInsensitiveProps<Pick<CompositeFields<TModel, TRefs>, IndexSkComposites<TIndexes, K> & keyof CompositeFields<TModel, TRefs>>>>>;
|
|
232
|
+
export {};
|
|
233
|
+
//# sourceMappingURL=EntityTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityTypes.d.ts","sourceRoot":"","sources":["../../src/internal/EntityTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityTypes.js","sourceRoot":"","sources":["../../src/internal/EntityTypes.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal Stable, typed accessors over Effect Schema / SchemaAST internals.
|
|
3
|
+
*
|
|
4
|
+
* Effect's beta releases periodically reshape the Schema AST (e.g. beta.71
|
|
5
|
+
* moved the array element off `.schema` onto `.value`, silently breaking
|
|
6
|
+
* `extractArrayElement` — shipped as regression #53). This module centralises
|
|
7
|
+
* the few AST/Schema introspections the entity & aggregate derivation layers
|
|
8
|
+
* need, routing each through Effect's stable typed accessors and `SchemaAST`
|
|
9
|
+
* type guards instead of ad-hoc `as any` poking. A single canary test
|
|
10
|
+
* (`SchemaAST.test.ts`) probes the runtime shapes so a future beta break
|
|
11
|
+
* surfaces loudly in one place rather than as silent mis-derivation.
|
|
12
|
+
*
|
|
13
|
+
* Not part of the public API.
|
|
14
|
+
*/
|
|
15
|
+
import { type Schema, SchemaAST } from "effect";
|
|
16
|
+
/**
|
|
17
|
+
* Read `.fields` from a `Schema.Struct` or `Schema.Class`.
|
|
18
|
+
*
|
|
19
|
+
* Both `Struct<Fields>` and `Class<...>` expose a typed public `fields`
|
|
20
|
+
* property in Effect v4 (`Struct.fields`, `Class.fields`). Returns `undefined`
|
|
21
|
+
* for any schema that does not carry a `fields` record (e.g. `Schema.String`,
|
|
22
|
+
* `Schema.Array`).
|
|
23
|
+
*/
|
|
24
|
+
export declare const getSchemaFields: (schema: Schema.Top) => Record<string, Schema.Top> | undefined;
|
|
25
|
+
/** Type guard: schema carries a typed `.fields` record (Struct / Class). */
|
|
26
|
+
export declare const hasFields: (schema: Schema.Top) => schema is Schema.Top & {
|
|
27
|
+
readonly fields: Record<string, Schema.Top>;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Whether a struct-field schema is optional.
|
|
31
|
+
*
|
|
32
|
+
* `Schema.optionalKey(X)` / `Schema.optional(X)` both flip the field's AST
|
|
33
|
+
* context to optional. `SchemaAST.isOptional(ast)` is the stable public guard
|
|
34
|
+
* for this — it works regardless of whether the optional wrapper produced an
|
|
35
|
+
* `Arrays`, `Union`, or other node tag.
|
|
36
|
+
*/
|
|
37
|
+
export declare const isFieldOptional: (fieldSchema: Schema.Top) => boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Extract the element schema from a field that is `Schema.Array(T)`,
|
|
40
|
+
* `Schema.NonEmptyArray(T)`, `Schema.optionalKey(Schema.Array(T))`, or
|
|
41
|
+
* `Schema.optional(Schema.Array(T))`. Returns `T`, or `undefined` when the
|
|
42
|
+
* field is not array-shaped.
|
|
43
|
+
*
|
|
44
|
+
* Routing (verified runtime shape on Effect beta.85):
|
|
45
|
+
* - `Array(T)` / `NonEmptyArray(T)` → AST is `Arrays`; the element is the
|
|
46
|
+
* typed `.value` property on the schema.
|
|
47
|
+
* - `optionalKey(Array(T))` → AST is still `Arrays` (`isOptional` true); the
|
|
48
|
+
* inner array is the typed `.schema` property, whose element is `.value`.
|
|
49
|
+
* - `optional(Array(T))` → AST is a `Union` (`Array | undefined`); the inner
|
|
50
|
+
* union is the typed `.schema` property, and its typed `.members` contains
|
|
51
|
+
* the `Arrays` member whose element is `.value`.
|
|
52
|
+
*/
|
|
53
|
+
export declare const extractArrayElement: (fieldSchema: Schema.Top) => Schema.Top | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Inspect a schema's AST as a `Record`-shaped `Objects` node:
|
|
56
|
+
* no property signatures + exactly one (string-keyed) index signature.
|
|
57
|
+
*
|
|
58
|
+
* Returns the index-signature value AST on match, otherwise `undefined`.
|
|
59
|
+
* Effect v4 `Schema.Record(K, V)` produces an `Objects` AST node with an empty
|
|
60
|
+
* `propertySignatures` and a single `indexSignatures` entry.
|
|
61
|
+
*/
|
|
62
|
+
export declare const recordValueAst: (schema: Schema.Top) => SchemaAST.AST | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* As {@link recordValueAst}, but operating directly on a raw AST (e.g. the
|
|
65
|
+
* value AST of an outer `Record`, for nested-sparse detection).
|
|
66
|
+
*/
|
|
67
|
+
export declare const recordValueAstFromAst: (ast: SchemaAST.AST | undefined) => SchemaAST.AST | undefined;
|
|
68
|
+
/**
|
|
69
|
+
* Read the wire form (`"string"` or `"number"`) a transform schema encodes to,
|
|
70
|
+
* by walking its encoding chain (`Base.encoding`, a non-empty tuple of `Link`s)
|
|
71
|
+
* to the final leaf and matching the leaf's `to` AST with `SchemaAST.isString`
|
|
72
|
+
* / `isNumber`. Returns `undefined` when there is no encoding or the leaf is
|
|
73
|
+
* neither a string nor a number node.
|
|
74
|
+
*/
|
|
75
|
+
export declare const transformWireKind: (schema: Schema.Top) => "string" | "number" | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* Read the first type-parameter AST off a declaration AST (e.g. the inner type
|
|
78
|
+
* of `Redacted<T>`).
|
|
79
|
+
*
|
|
80
|
+
* UNSTABLE: `ast.typeParameters` has no public typed accessor on Effect v4 —
|
|
81
|
+
* the property exists at runtime on `Declaration` nodes but is not surfaced on
|
|
82
|
+
* the typed `AST` union. This helper isolates that single untyped read so a
|
|
83
|
+
* future beta break surfaces in exactly one place (and is covered by the
|
|
84
|
+
* `SchemaAST.test.ts` canary). Returns `undefined` when no type parameters are
|
|
85
|
+
* present.
|
|
86
|
+
*
|
|
87
|
+
* @see https://github.com/Effect-TS/effect-smol — `Declaration` AST node
|
|
88
|
+
*/
|
|
89
|
+
export declare const firstTypeParameterAst: (ast: SchemaAST.AST) => SchemaAST.AST | undefined;
|
|
90
|
+
//# sourceMappingURL=SchemaAccessors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaAccessors.d.ts","sourceRoot":"","sources":["../../src/internal/SchemaAccessors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,CAAC,GAAG,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,SAGjF,CAAA;AAED,4EAA4E;AAC5E,eAAO,MAAM,SAAS,GACpB,QAAQ,MAAM,CAAC,GAAG,KACjB,MAAM,IAAI,MAAM,CAAC,GAAG,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;CAGZ,CAAA;AAE3D;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,aAAa,MAAM,CAAC,GAAG,KAAG,OACnB,CAAA;AAEvC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,GAAI,aAAa,MAAM,CAAC,GAAG,KAAG,MAAM,CAAC,GAAG,GAAG,SA4B1E,CAAA;AAgCD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,CAAC,GAAG,KAAG,SAAS,CAAC,GAAG,GAAG,SACjC,CAAA;AAEnC;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,KAAK,SAAS,CAAC,GAAG,GAAG,SAAS,KAC7B,SAAS,CAAC,GAAG,GAAG,SAIlB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,CAAC,GAAG,KAAG,QAAQ,GAAG,QAAQ,GAAG,SAS5E,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,GAAI,KAAK,SAAS,CAAC,GAAG,KAAG,SAAS,CAAC,GAAG,GAAG,SAK1E,CAAA"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal Stable, typed accessors over Effect Schema / SchemaAST internals.
|
|
3
|
+
*
|
|
4
|
+
* Effect's beta releases periodically reshape the Schema AST (e.g. beta.71
|
|
5
|
+
* moved the array element off `.schema` onto `.value`, silently breaking
|
|
6
|
+
* `extractArrayElement` — shipped as regression #53). This module centralises
|
|
7
|
+
* the few AST/Schema introspections the entity & aggregate derivation layers
|
|
8
|
+
* need, routing each through Effect's stable typed accessors and `SchemaAST`
|
|
9
|
+
* type guards instead of ad-hoc `as any` poking. A single canary test
|
|
10
|
+
* (`SchemaAST.test.ts`) probes the runtime shapes so a future beta break
|
|
11
|
+
* surfaces loudly in one place rather than as silent mis-derivation.
|
|
12
|
+
*
|
|
13
|
+
* Not part of the public API.
|
|
14
|
+
*/
|
|
15
|
+
import { SchemaAST } from "effect";
|
|
16
|
+
/**
|
|
17
|
+
* Read `.fields` from a `Schema.Struct` or `Schema.Class`.
|
|
18
|
+
*
|
|
19
|
+
* Both `Struct<Fields>` and `Class<...>` expose a typed public `fields`
|
|
20
|
+
* property in Effect v4 (`Struct.fields`, `Class.fields`). Returns `undefined`
|
|
21
|
+
* for any schema that does not carry a `fields` record (e.g. `Schema.String`,
|
|
22
|
+
* `Schema.Array`).
|
|
23
|
+
*/
|
|
24
|
+
export const getSchemaFields = (schema) => {
|
|
25
|
+
if (hasFields(schema))
|
|
26
|
+
return schema.fields;
|
|
27
|
+
return undefined;
|
|
28
|
+
};
|
|
29
|
+
/** Type guard: schema carries a typed `.fields` record (Struct / Class). */
|
|
30
|
+
export const hasFields = (schema) => "fields" in schema &&
|
|
31
|
+
typeof schema.fields === "object" &&
|
|
32
|
+
schema.fields !== null;
|
|
33
|
+
/**
|
|
34
|
+
* Whether a struct-field schema is optional.
|
|
35
|
+
*
|
|
36
|
+
* `Schema.optionalKey(X)` / `Schema.optional(X)` both flip the field's AST
|
|
37
|
+
* context to optional. `SchemaAST.isOptional(ast)` is the stable public guard
|
|
38
|
+
* for this — it works regardless of whether the optional wrapper produced an
|
|
39
|
+
* `Arrays`, `Union`, or other node tag.
|
|
40
|
+
*/
|
|
41
|
+
export const isFieldOptional = (fieldSchema) => SchemaAST.isOptional(fieldSchema.ast);
|
|
42
|
+
/**
|
|
43
|
+
* Extract the element schema from a field that is `Schema.Array(T)`,
|
|
44
|
+
* `Schema.NonEmptyArray(T)`, `Schema.optionalKey(Schema.Array(T))`, or
|
|
45
|
+
* `Schema.optional(Schema.Array(T))`. Returns `T`, or `undefined` when the
|
|
46
|
+
* field is not array-shaped.
|
|
47
|
+
*
|
|
48
|
+
* Routing (verified runtime shape on Effect beta.85):
|
|
49
|
+
* - `Array(T)` / `NonEmptyArray(T)` → AST is `Arrays`; the element is the
|
|
50
|
+
* typed `.value` property on the schema.
|
|
51
|
+
* - `optionalKey(Array(T))` → AST is still `Arrays` (`isOptional` true); the
|
|
52
|
+
* inner array is the typed `.schema` property, whose element is `.value`.
|
|
53
|
+
* - `optional(Array(T))` → AST is a `Union` (`Array | undefined`); the inner
|
|
54
|
+
* union is the typed `.schema` property, and its typed `.members` contains
|
|
55
|
+
* the `Arrays` member whose element is `.value`.
|
|
56
|
+
*/
|
|
57
|
+
export const extractArrayElement = (fieldSchema) => {
|
|
58
|
+
const ast = fieldSchema.ast;
|
|
59
|
+
// Array(T) / NonEmptyArray(T) — including optionalKey(Array(T)), whose AST is
|
|
60
|
+
// still an `Arrays` node with `isOptional` set.
|
|
61
|
+
if (SchemaAST.isArrays(ast)) {
|
|
62
|
+
if (SchemaAST.isOptional(ast)) {
|
|
63
|
+
// optionalKey(Array(T)): the inner Array(T) is the typed `.schema`.
|
|
64
|
+
const inner = getSchemaProp(fieldSchema, "schema");
|
|
65
|
+
return inner ? arrayValue(inner) : undefined;
|
|
66
|
+
}
|
|
67
|
+
// Direct Array(T) / NonEmptyArray(T): the element is the typed `.value`.
|
|
68
|
+
return arrayValue(fieldSchema);
|
|
69
|
+
}
|
|
70
|
+
// optional(Array(T)): AST is a Union (Array | undefined). The inner union is
|
|
71
|
+
// the typed `.schema`; its typed `.members` holds the `Arrays` member.
|
|
72
|
+
if (SchemaAST.isUnion(ast) && SchemaAST.isOptional(ast)) {
|
|
73
|
+
const inner = getSchemaProp(fieldSchema, "schema");
|
|
74
|
+
const members = inner ? getSchemaMembers(inner) : undefined;
|
|
75
|
+
if (members) {
|
|
76
|
+
for (const member of members) {
|
|
77
|
+
if (SchemaAST.isArrays(member.ast))
|
|
78
|
+
return arrayValue(member);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return undefined;
|
|
83
|
+
};
|
|
84
|
+
/** Read the typed `.value` element schema off an `Array`/`NonEmptyArray` schema. */
|
|
85
|
+
const arrayValue = (schema) => getSchemaProp(schema, "value");
|
|
86
|
+
/** Read the typed `.members` array off a `Union` schema, if present. */
|
|
87
|
+
const getSchemaMembers = (schema) => {
|
|
88
|
+
const members = schema.members;
|
|
89
|
+
return Array.isArray(members) ? members : undefined;
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Read a typed nested-schema property (`schema` / `value`) that Effect exposes
|
|
93
|
+
* on wrapper schemas (`optionalKey.schema`, `$Array.value`, …). Validates the
|
|
94
|
+
* value is itself a schema (carries `.ast`) before returning it.
|
|
95
|
+
*
|
|
96
|
+
* Note: a schema may be either an object (`Schema.Struct`, `Schema.String`) or
|
|
97
|
+
* a function (a `Schema.Class` is its constructor) — both carry `.ast`, so we
|
|
98
|
+
* accept either `typeof`.
|
|
99
|
+
*/
|
|
100
|
+
const getSchemaProp = (schema, prop) => {
|
|
101
|
+
const value = schema[prop];
|
|
102
|
+
if (isSchemaLike(value))
|
|
103
|
+
return value;
|
|
104
|
+
return undefined;
|
|
105
|
+
};
|
|
106
|
+
/** A schema is any object or function (class constructor) carrying `.ast`. */
|
|
107
|
+
const isSchemaLike = (value) => value != null &&
|
|
108
|
+
(typeof value === "object" || typeof value === "function") &&
|
|
109
|
+
"ast" in value;
|
|
110
|
+
/**
|
|
111
|
+
* Inspect a schema's AST as a `Record`-shaped `Objects` node:
|
|
112
|
+
* no property signatures + exactly one (string-keyed) index signature.
|
|
113
|
+
*
|
|
114
|
+
* Returns the index-signature value AST on match, otherwise `undefined`.
|
|
115
|
+
* Effect v4 `Schema.Record(K, V)` produces an `Objects` AST node with an empty
|
|
116
|
+
* `propertySignatures` and a single `indexSignatures` entry.
|
|
117
|
+
*/
|
|
118
|
+
export const recordValueAst = (schema) => recordValueAstFromAst(schema.ast);
|
|
119
|
+
/**
|
|
120
|
+
* As {@link recordValueAst}, but operating directly on a raw AST (e.g. the
|
|
121
|
+
* value AST of an outer `Record`, for nested-sparse detection).
|
|
122
|
+
*/
|
|
123
|
+
export const recordValueAstFromAst = (ast) => {
|
|
124
|
+
if (!ast || !SchemaAST.isObjects(ast))
|
|
125
|
+
return undefined;
|
|
126
|
+
if (ast.propertySignatures.length !== 0 || ast.indexSignatures.length !== 1)
|
|
127
|
+
return undefined;
|
|
128
|
+
return ast.indexSignatures[0].type;
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Read the wire form (`"string"` or `"number"`) a transform schema encodes to,
|
|
132
|
+
* by walking its encoding chain (`Base.encoding`, a non-empty tuple of `Link`s)
|
|
133
|
+
* to the final leaf and matching the leaf's `to` AST with `SchemaAST.isString`
|
|
134
|
+
* / `isNumber`. Returns `undefined` when there is no encoding or the leaf is
|
|
135
|
+
* neither a string nor a number node.
|
|
136
|
+
*/
|
|
137
|
+
export const transformWireKind = (schema) => {
|
|
138
|
+
const encoding = schema.ast.encoding;
|
|
139
|
+
if (!encoding || encoding.length === 0)
|
|
140
|
+
return undefined;
|
|
141
|
+
const leaf = encoding[encoding.length - 1];
|
|
142
|
+
if (!leaf)
|
|
143
|
+
return undefined;
|
|
144
|
+
const to = leaf.to;
|
|
145
|
+
if (SchemaAST.isString(to))
|
|
146
|
+
return "string";
|
|
147
|
+
if (SchemaAST.isNumber(to))
|
|
148
|
+
return "number";
|
|
149
|
+
return undefined;
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Read the first type-parameter AST off a declaration AST (e.g. the inner type
|
|
153
|
+
* of `Redacted<T>`).
|
|
154
|
+
*
|
|
155
|
+
* UNSTABLE: `ast.typeParameters` has no public typed accessor on Effect v4 —
|
|
156
|
+
* the property exists at runtime on `Declaration` nodes but is not surfaced on
|
|
157
|
+
* the typed `AST` union. This helper isolates that single untyped read so a
|
|
158
|
+
* future beta break surfaces in exactly one place (and is covered by the
|
|
159
|
+
* `SchemaAST.test.ts` canary). Returns `undefined` when no type parameters are
|
|
160
|
+
* present.
|
|
161
|
+
*
|
|
162
|
+
* @see https://github.com/Effect-TS/effect-smol — `Declaration` AST node
|
|
163
|
+
*/
|
|
164
|
+
export const firstTypeParameterAst = (ast) => {
|
|
165
|
+
const params = ast
|
|
166
|
+
.typeParameters;
|
|
167
|
+
if (!params || params.length === 0)
|
|
168
|
+
return undefined;
|
|
169
|
+
return params[0];
|
|
170
|
+
};
|
|
171
|
+
//# sourceMappingURL=SchemaAccessors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaAccessors.js","sourceRoot":"","sources":["../../src/internal/SchemaAccessors.ts"],"names":[],"mappings":"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"}
|