effect-dynamodb 0.1.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.
Files changed (171) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +69 -0
  3. package/dist/Aggregate.d.ts +210 -0
  4. package/dist/Aggregate.d.ts.map +1 -0
  5. package/dist/Aggregate.js +1169 -0
  6. package/dist/Aggregate.js.map +1 -0
  7. package/dist/Batch.d.ts +62 -0
  8. package/dist/Batch.d.ts.map +1 -0
  9. package/dist/Batch.js +218 -0
  10. package/dist/Batch.js.map +1 -0
  11. package/dist/Collection.d.ts +58 -0
  12. package/dist/Collection.d.ts.map +1 -0
  13. package/dist/Collection.js +195 -0
  14. package/dist/Collection.js.map +1 -0
  15. package/dist/Collections.d.ts +121 -0
  16. package/dist/Collections.d.ts.map +1 -0
  17. package/dist/Collections.js +121 -0
  18. package/dist/Collections.js.map +1 -0
  19. package/dist/DynamoClient.d.ts +317 -0
  20. package/dist/DynamoClient.d.ts.map +1 -0
  21. package/dist/DynamoClient.js +653 -0
  22. package/dist/DynamoClient.js.map +1 -0
  23. package/dist/DynamoModel.d.ts +278 -0
  24. package/dist/DynamoModel.d.ts.map +1 -0
  25. package/dist/DynamoModel.js +453 -0
  26. package/dist/DynamoModel.js.map +1 -0
  27. package/dist/DynamoSchema.d.ts +137 -0
  28. package/dist/DynamoSchema.d.ts.map +1 -0
  29. package/dist/DynamoSchema.js +188 -0
  30. package/dist/DynamoSchema.js.map +1 -0
  31. package/dist/Entity.d.ts +628 -0
  32. package/dist/Entity.d.ts.map +1 -0
  33. package/dist/Entity.js +2371 -0
  34. package/dist/Entity.js.map +1 -0
  35. package/dist/Errors.d.ts +227 -0
  36. package/dist/Errors.d.ts.map +1 -0
  37. package/dist/Errors.js +93 -0
  38. package/dist/Errors.js.map +1 -0
  39. package/dist/EventStore.d.ts +208 -0
  40. package/dist/EventStore.d.ts.map +1 -0
  41. package/dist/EventStore.js +333 -0
  42. package/dist/EventStore.js.map +1 -0
  43. package/dist/Expression.d.ts +50 -0
  44. package/dist/Expression.d.ts.map +1 -0
  45. package/dist/Expression.js +170 -0
  46. package/dist/Expression.js.map +1 -0
  47. package/dist/KeyComposer.d.ts +125 -0
  48. package/dist/KeyComposer.d.ts.map +1 -0
  49. package/dist/KeyComposer.js +257 -0
  50. package/dist/KeyComposer.js.map +1 -0
  51. package/dist/Marshaller.d.ts +30 -0
  52. package/dist/Marshaller.d.ts.map +1 -0
  53. package/dist/Marshaller.js +115 -0
  54. package/dist/Marshaller.js.map +1 -0
  55. package/dist/Projection.d.ts +28 -0
  56. package/dist/Projection.d.ts.map +1 -0
  57. package/dist/Projection.js +39 -0
  58. package/dist/Projection.js.map +1 -0
  59. package/dist/Query.d.ts +214 -0
  60. package/dist/Query.d.ts.map +1 -0
  61. package/dist/Query.js +397 -0
  62. package/dist/Query.js.map +1 -0
  63. package/dist/Table.d.ts +178 -0
  64. package/dist/Table.d.ts.map +1 -0
  65. package/dist/Table.js +211 -0
  66. package/dist/Table.js.map +1 -0
  67. package/dist/Transaction.d.ts +79 -0
  68. package/dist/Transaction.d.ts.map +1 -0
  69. package/dist/Transaction.js +215 -0
  70. package/dist/Transaction.js.map +1 -0
  71. package/dist/_AggregateCursor.d.ts +44 -0
  72. package/dist/_AggregateCursor.d.ts.map +1 -0
  73. package/dist/_AggregateCursor.js +18 -0
  74. package/dist/_AggregateCursor.js.map +1 -0
  75. package/dist/_AggregateEdges.d.ts +77 -0
  76. package/dist/_AggregateEdges.d.ts.map +1 -0
  77. package/dist/_AggregateEdges.js +41 -0
  78. package/dist/_AggregateEdges.js.map +1 -0
  79. package/dist/_AggregateSchemas.d.ts +69 -0
  80. package/dist/_AggregateSchemas.d.ts.map +1 -0
  81. package/dist/_AggregateSchemas.js +194 -0
  82. package/dist/_AggregateSchemas.js.map +1 -0
  83. package/dist/_AggregateTypes.d.ts +94 -0
  84. package/dist/_AggregateTypes.d.ts.map +1 -0
  85. package/dist/_AggregateTypes.js +7 -0
  86. package/dist/_AggregateTypes.js.map +1 -0
  87. package/dist/_EntityCombinators.d.ts +155 -0
  88. package/dist/_EntityCombinators.d.ts.map +1 -0
  89. package/dist/_EntityCombinators.js +158 -0
  90. package/dist/_EntityCombinators.js.map +1 -0
  91. package/dist/_EntityConfig.d.ts +100 -0
  92. package/dist/_EntityConfig.d.ts.map +1 -0
  93. package/dist/_EntityConfig.js +7 -0
  94. package/dist/_EntityConfig.js.map +1 -0
  95. package/dist/_EntityOps.d.ts +205 -0
  96. package/dist/_EntityOps.d.ts.map +1 -0
  97. package/dist/_EntityOps.js +137 -0
  98. package/dist/_EntityOps.js.map +1 -0
  99. package/dist/_EntitySchemas.d.ts +57 -0
  100. package/dist/_EntitySchemas.d.ts.map +1 -0
  101. package/dist/_EntitySchemas.js +298 -0
  102. package/dist/_EntitySchemas.js.map +1 -0
  103. package/dist/_EntityTypes.d.ts +81 -0
  104. package/dist/_EntityTypes.d.ts.map +1 -0
  105. package/dist/_EntityTypes.js +7 -0
  106. package/dist/_EntityTypes.js.map +1 -0
  107. package/dist/_sparse_check.d.ts +2 -0
  108. package/dist/_sparse_check.d.ts.map +1 -0
  109. package/dist/_sparse_check.js +193 -0
  110. package/dist/_sparse_check.js.map +1 -0
  111. package/dist/index.d.ts +35 -0
  112. package/dist/index.d.ts.map +1 -0
  113. package/dist/index.js +20 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/internal/AggregateCursor.d.ts +44 -0
  116. package/dist/internal/AggregateCursor.d.ts.map +1 -0
  117. package/dist/internal/AggregateCursor.js +18 -0
  118. package/dist/internal/AggregateCursor.js.map +1 -0
  119. package/dist/internal/AggregateEdges.d.ts +77 -0
  120. package/dist/internal/AggregateEdges.d.ts.map +1 -0
  121. package/dist/internal/AggregateEdges.js +41 -0
  122. package/dist/internal/AggregateEdges.js.map +1 -0
  123. package/dist/internal/AggregateSchemas.d.ts +69 -0
  124. package/dist/internal/AggregateSchemas.d.ts.map +1 -0
  125. package/dist/internal/AggregateSchemas.js +193 -0
  126. package/dist/internal/AggregateSchemas.js.map +1 -0
  127. package/dist/internal/AggregateTypes.d.ts +94 -0
  128. package/dist/internal/AggregateTypes.d.ts.map +1 -0
  129. package/dist/internal/AggregateTypes.js +7 -0
  130. package/dist/internal/AggregateTypes.js.map +1 -0
  131. package/dist/internal/BoundQuery.d.ts +107 -0
  132. package/dist/internal/BoundQuery.d.ts.map +1 -0
  133. package/dist/internal/BoundQuery.js +111 -0
  134. package/dist/internal/BoundQuery.js.map +1 -0
  135. package/dist/internal/EntityCombinators.d.ts +173 -0
  136. package/dist/internal/EntityCombinators.d.ts.map +1 -0
  137. package/dist/internal/EntityCombinators.js +183 -0
  138. package/dist/internal/EntityCombinators.js.map +1 -0
  139. package/dist/internal/EntityConfig.d.ts +100 -0
  140. package/dist/internal/EntityConfig.d.ts.map +1 -0
  141. package/dist/internal/EntityConfig.js +7 -0
  142. package/dist/internal/EntityConfig.js.map +1 -0
  143. package/dist/internal/EntityOps.d.ts +268 -0
  144. package/dist/internal/EntityOps.d.ts.map +1 -0
  145. package/dist/internal/EntityOps.js +153 -0
  146. package/dist/internal/EntityOps.js.map +1 -0
  147. package/dist/internal/EntitySchemas.d.ts +57 -0
  148. package/dist/internal/EntitySchemas.d.ts.map +1 -0
  149. package/dist/internal/EntitySchemas.js +299 -0
  150. package/dist/internal/EntitySchemas.js.map +1 -0
  151. package/dist/internal/EntityTypes.d.ts +128 -0
  152. package/dist/internal/EntityTypes.d.ts.map +1 -0
  153. package/dist/internal/EntityTypes.js +7 -0
  154. package/dist/internal/EntityTypes.js.map +1 -0
  155. package/dist/internal/Expr.d.ts +141 -0
  156. package/dist/internal/Expr.d.ts.map +1 -0
  157. package/dist/internal/Expr.js +332 -0
  158. package/dist/internal/Expr.js.map +1 -0
  159. package/dist/internal/PathBuilder.d.ts +88 -0
  160. package/dist/internal/PathBuilder.d.ts.map +1 -0
  161. package/dist/internal/PathBuilder.js +100 -0
  162. package/dist/internal/PathBuilder.js.map +1 -0
  163. package/dist/internal/TransactableOps.d.ts +25 -0
  164. package/dist/internal/TransactableOps.d.ts.map +1 -0
  165. package/dist/internal/TransactableOps.js +58 -0
  166. package/dist/internal/TransactableOps.js.map +1 -0
  167. package/dist/internal/sparse_check.d.ts +2 -0
  168. package/dist/internal/sparse_check.d.ts.map +1 -0
  169. package/dist/internal/sparse_check.js +196 -0
  170. package/dist/internal/sparse_check.js.map +1 -0
  171. package/package.json +71 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamoClient.js","sourceRoot":"","sources":["../src/DynamoClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,278 @@
1
+ /**
2
+ * DynamoModel — Schema annotations, date schemas, and model configuration for effect-dynamodb.
3
+ *
4
+ * Provides:
5
+ * - `configure` — per-field DynamoDB overrides (field rename, storage encoding, immutable, identifier, ref)
6
+ * - `Hidden` annotation — marks fields as excluded from default decode (asModel/asRecord)
7
+ * - `DynamoEncoding` annotation — controls how date fields are stored in DynamoDB
8
+ * - Date schemas — wire ↔ domain ↔ storage transformations for DateTime.Utc, DateTime.Zoned, Date
9
+ * - `storedAs` modifier — overrides DynamoDB storage format via annotation
10
+ *
11
+ * See docs/design-dynamo-model.md for the three-layer model (wire → domain → storage).
12
+ */
13
+ import { DateTime, Schema } from "effect";
14
+ /**
15
+ * Mark a schema field as the primary identifier for ref resolution.
16
+ *
17
+ * Entities that can be referenced via `DynamoModel.ref` must annotate exactly
18
+ * one field with `identifier`. The annotated field should be a string or
19
+ * branded string type.
20
+ */
21
+ export declare const identifier: <S extends Schema.Top>(schema: S) => S;
22
+ /**
23
+ * Check if a schema field has the Identifier annotation.
24
+ */
25
+ export declare const isIdentifier: (schema: Schema.Top) => boolean;
26
+ /**
27
+ * Find the identifier field in a schema with `.fields` (Schema.Class or Schema.Struct).
28
+ * Checks both schema-level `DynamoModel.identifier` annotations and ConfiguredModel
29
+ * `identifier: true` overrides.
30
+ *
31
+ * Returns the field name and schema, or undefined if no field has the identifier annotation.
32
+ */
33
+ export declare const getIdentifierField: (model: Schema.Top) => {
34
+ readonly name: string;
35
+ readonly schema: Schema.Top;
36
+ } | undefined;
37
+ /** Annotation metadata stored on ref-annotated fields */
38
+ export interface RefAnnotation {
39
+ readonly _tag: "Ref";
40
+ /** Schema.Class identifier of the referenced type (e.g., "Team", "Player") */
41
+ readonly refSchemaId?: string | undefined;
42
+ }
43
+ /**
44
+ * Mark a schema field as a denormalized reference to another entity.
45
+ *
46
+ * Ref fields:
47
+ * - In `Entity.Input`, become ID fields (e.g., `team: Team` → `teamId: string`)
48
+ * - In `Entity.Record`, remain the full entity domain type
49
+ * - In `Entity.Update`, become optional ID fields
50
+ * - In DynamoDB, store the entity's core domain data as an embedded map
51
+ *
52
+ * The referenced entity's model must have exactly one `DynamoModel.identifier`-annotated field.
53
+ */
54
+ export declare const ref: <S extends Schema.Top>(schema: S) => S;
55
+ /**
56
+ * Check if a schema field has the Ref annotation.
57
+ */
58
+ export declare const isRef: (schema: Schema.Top) => boolean;
59
+ /**
60
+ * Check if a field is a ref, considering both schema-level annotations and
61
+ * ConfiguredModel overrides. Use this when you have access to the configured model.
62
+ */
63
+ export declare const isRefField: (fieldName: string, model: Schema.Top) => boolean;
64
+ /**
65
+ * Get the full Ref annotation metadata from a schema field.
66
+ * Returns undefined if the field is not ref-annotated.
67
+ */
68
+ export declare const getRefAnnotation: (schema: Schema.Top) => RefAnnotation | undefined;
69
+ /**
70
+ * Mark a schema field as hidden from default decode modes (asModel, asRecord).
71
+ *
72
+ * Hidden fields:
73
+ * - Stored in DynamoDB normally
74
+ * - Visible in asItem and asNative decode modes
75
+ * - Stripped from asModel and asRecord decode modes
76
+ *
77
+ * Use for internal/infrastructure fields that shouldn't leak into application code.
78
+ */
79
+ export declare const Hidden: <S extends Schema.Top>(schema: S) => S;
80
+ /**
81
+ * Check if a schema field has the Hidden annotation.
82
+ */
83
+ export declare const isHidden: (schema: Schema.Top) => boolean;
84
+ /** Unique symbol for the DynamoEncoding annotation */
85
+ export declare const DynamoEncodingKey: unique symbol;
86
+ /**
87
+ * Describes how a date field is stored in DynamoDB.
88
+ * - `storage` — the DynamoDB attribute format
89
+ * - `domain` — the domain type (for deserialization dispatch)
90
+ */
91
+ export interface DynamoEncoding {
92
+ readonly storage: "string" | "epochMs" | "epochSeconds";
93
+ readonly domain: "DateTime.Utc" | "DateTime.Zoned" | "Date";
94
+ }
95
+ /**
96
+ * Read the DynamoEncoding annotation from a schema, if present.
97
+ */
98
+ export declare const getEncoding: (schema: Schema.Top) => DynamoEncoding | undefined;
99
+ /**
100
+ * Wire: ISO 8601 string ↔ Domain: DateTime.Utc
101
+ *
102
+ * Default storage: ISO string (`S`).
103
+ * This is a thin wrapper around `Schema.DateTimeUtcFromString` with the DynamoEncoding annotation.
104
+ */
105
+ export declare const DateString: Schema.DateTimeUtcFromString;
106
+ /**
107
+ * Wire: epoch milliseconds (number) ↔ Domain: DateTime.Utc
108
+ *
109
+ * Default storage: epoch ms (`N`).
110
+ */
111
+ export declare const DateEpochMs: Schema.decodeTo<Schema.DateTimeUtc, Schema.Number, never, never>;
112
+ /**
113
+ * Wire: epoch seconds (number) ↔ Domain: DateTime.Utc
114
+ *
115
+ * Default storage: epoch seconds (`N`).
116
+ * DynamoDB TTL requires this format.
117
+ */
118
+ export declare const DateEpochSeconds: Schema.decodeTo<Schema.DateTimeUtc, Schema.Number, never, never>;
119
+ /**
120
+ * Wire: auto-detect epoch ms or seconds ↔ Domain: DateTime.Utc
121
+ *
122
+ * Uses a minimum threshold to disambiguate: if the value interpreted as ms
123
+ * produces a date before `minimum`, it tries seconds instead.
124
+ *
125
+ * @param options.minimum - Threshold date for disambiguation
126
+ * @param options.encode - Epoch schema for wire encoding (default: DateEpochMs)
127
+ */
128
+ export declare const DateEpoch: (options: {
129
+ readonly minimum: string | DateTime.DateTime.Input;
130
+ readonly encode?: typeof DateEpochMs | typeof DateEpochSeconds;
131
+ }) => Schema.decodeTo<Schema.DateTimeUtc, Schema.Number, never, never>;
132
+ /**
133
+ * Wire: ISO 8601 string with offset/zone ↔ Domain: DateTime.Zoned
134
+ *
135
+ * Default storage: extended ISO with zone (`S`).
136
+ * Format: `2024-01-01T15:00:00+09:00[Asia/Tokyo]`
137
+ *
138
+ * Cannot use epoch storage — timezone information would be lost (enforced at type level via storedAs).
139
+ */
140
+ export declare const DateTimeZoned: Schema.decodeTo<Schema.DateTimeZoned, Schema.String, never, never>;
141
+ /**
142
+ * Wire: ISO 8601 string ↔ Domain: native Date (mutable)
143
+ *
144
+ * Default storage: ISO string (`S`).
145
+ * For interop with non-Effect code that expects native JS Date objects.
146
+ */
147
+ export declare const UnsafeDateString: Schema.decodeTo<Schema.DateValid, Schema.String, never, never>;
148
+ /**
149
+ * Wire: epoch milliseconds (number) ↔ Domain: native Date (mutable)
150
+ *
151
+ * Default storage: epoch ms (`N`).
152
+ */
153
+ export declare const UnsafeDateEpochMs: Schema.decodeTo<Schema.DateValid, Schema.Number, never, never>;
154
+ /**
155
+ * Wire: epoch seconds (number) ↔ Domain: native Date (mutable)
156
+ *
157
+ * Default storage: epoch seconds (`N`).
158
+ */
159
+ export declare const UnsafeDateEpochSeconds: Schema.decodeTo<Schema.DateValid, Schema.Number, never, never>;
160
+ /**
161
+ * Alias for `DateEpochSeconds`. DynamoDB TTL requires epoch seconds.
162
+ * A named alias makes intent clear at the call site.
163
+ */
164
+ export declare const TTL: Schema.decodeTo<Schema.DateTimeUtc, Schema.Number, never, never>;
165
+ /**
166
+ * Override the DynamoDB storage format for a date field.
167
+ *
168
+ * `storedAs` reads the DynamoEncoding annotation from the target storage schema
169
+ * and applies its storage format to the field schema. The domain type must match
170
+ * (enforced at the type level via the `A` constraint).
171
+ *
172
+ * @example
173
+ * ```typescript
174
+ * // Wire: ISO string, DynamoDB: epoch seconds (for TTL)
175
+ * DynamoModel.DateString.pipe(DynamoModel.storedAs(DynamoModel.DateEpochSeconds))
176
+ *
177
+ * // Wire: epoch ms, DynamoDB: ISO string
178
+ * DynamoModel.DateEpochMs.pipe(DynamoModel.storedAs(DynamoModel.DateString))
179
+ * ```
180
+ *
181
+ * Type-safe: incompatible domain types produce a compile error:
182
+ * ```typescript
183
+ * // Type error — DateTime.Zoned ≠ DateTime.Utc
184
+ * DynamoModel.DateTimeZoned.pipe(DynamoModel.storedAs(DynamoModel.DateEpochMs))
185
+ * ```
186
+ */
187
+ export declare const storedAs: <A>(storageSchema: Schema.Schema<A>) => (<S extends Schema.Schema<A>>(fieldSchema: S) => S);
188
+ /** Unique symbol identifying a ConfiguredModel wrapper */
189
+ export declare const ConfiguredModelTag: unique symbol;
190
+ /**
191
+ * A model wrapped with DynamoDB-specific attribute overrides.
192
+ *
193
+ * Carries the original model plus per-field configuration:
194
+ * - `field` — rename domain field → DynamoDB attribute name
195
+ * - `storedAs` — override DynamoDB storage encoding (resolved to DynamoEncoding)
196
+ * - `immutable` — mark field as read-only after creation (excluded from Entity.Update)
197
+ * - `identifier` — mark field as the identity field for ref resolution
198
+ * - `ref` — mark field as a denormalized reference to another entity
199
+ */
200
+ export interface ConfiguredModel<M extends Schema.Top, A extends ConfigureAttributes<M> = ConfigureAttributes<M>> {
201
+ readonly [ConfiguredModelTag]: true;
202
+ readonly model: M;
203
+ readonly _attributes: A;
204
+ readonly attributes: globalThis.Record<string, {
205
+ readonly field?: string;
206
+ readonly encoding?: DynamoEncoding;
207
+ readonly immutable?: boolean;
208
+ readonly identifier?: boolean;
209
+ readonly ref?: boolean;
210
+ }>;
211
+ }
212
+ /** Extract the identifier field name from a ConfiguredModel's attributes type. */
213
+ export type ExtractIdentifier<Model> = Model extends ConfiguredModel<any, infer A> ? {
214
+ [K in keyof A & string]: A[K] extends {
215
+ readonly identifier: true;
216
+ } ? K : never;
217
+ }[keyof A & string] : undefined;
218
+ /**
219
+ * Check if a value is a ConfiguredModel.
220
+ */
221
+ export declare const isConfiguredModel: (value: unknown) => value is ConfiguredModel<Schema.Top, any>;
222
+ /**
223
+ * Attribute override for a single field in `DynamoModel.configure`.
224
+ *
225
+ * - `field` — Rename the domain field to a different DynamoDB attribute name
226
+ * - `storedAs` — Override DynamoDB storage format via a DynamoModel date schema
227
+ * - `immutable` — Mark as read-only after creation (excluded from Entity.Update)
228
+ * - `identifier` — Mark as the identity field for ref resolution
229
+ * - `ref` — Mark as a denormalized reference field
230
+ */
231
+ type AttributeConfig<A> = {
232
+ readonly field?: string;
233
+ readonly storedAs?: Schema.Schema<A>;
234
+ readonly immutable?: boolean;
235
+ readonly identifier?: boolean;
236
+ readonly ref?: boolean;
237
+ };
238
+ /**
239
+ * Type-safe attribute overrides map: keys constrained to model fields,
240
+ * `storedAs` constrained to matching domain type.
241
+ */
242
+ type ConfigureAttributes<M extends Schema.Top> = {
243
+ readonly [K in keyof Schema.Schema.Type<M>]?: AttributeConfig<Schema.Schema.Type<M>[K]>;
244
+ };
245
+ /**
246
+ * Compile-time validation: detects `field` rename targets that collide
247
+ * with existing model field names. Replaces the `field` type with an
248
+ * error tuple to produce a readable type error at the call site.
249
+ */
250
+ type ValidateFieldRenames<Fields extends string, A> = {
251
+ [K in keyof A]: A[K] extends {
252
+ readonly field: infer F extends string;
253
+ } ? F extends Exclude<Fields, K & string> ? {
254
+ readonly field: [`EDD-9007: "${F}" collides with existing model field`];
255
+ } & Omit<A[K], "field"> : A[K] : A[K];
256
+ };
257
+ /**
258
+ * Create a configured model with per-field DynamoDB overrides.
259
+ *
260
+ * Separates DynamoDB infrastructure (storage format, field renaming) from
261
+ * the domain model, enabling pure models that work across storage backends.
262
+ *
263
+ * @example
264
+ * ```typescript
265
+ * class Order extends Schema.Class<Order>("Order")({
266
+ * orderId: Schema.String,
267
+ * placedAt: Schema.DateTimeUtcFromString,
268
+ * expiresAt: Schema.DateTimeUtcFromString,
269
+ * }) {}
270
+ *
271
+ * const OrderModel = DynamoModel.configure(Order, {
272
+ * expiresAt: { field: "ttl", storedAs: DynamoModel.DateEpochSeconds },
273
+ * })
274
+ * ```
275
+ */
276
+ export declare const configure: <M extends Schema.Top, const A extends ConfigureAttributes<M>>(model: M, attributes: A & ValidateFieldRenames<keyof Schema.Schema.Type<M> & string, A>) => ConfiguredModel<M, A>;
277
+ export {};
278
+ //# sourceMappingURL=DynamoModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamoModel.d.ts","sourceRoot":"","sources":["../src/DynamoModel.ts"],"names":[],"mappings":"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"}