@effect-dynamodb/schema 1.24.0 → 1.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Compression.d.ts +82 -0
- package/dist/Compression.d.ts.map +1 -0
- package/dist/Compression.js +80 -0
- package/dist/Compression.js.map +1 -0
- package/dist/DynamoModel.d.ts +107 -3
- package/dist/DynamoModel.d.ts.map +1 -1
- package/dist/DynamoModel.js +118 -0
- package/dist/DynamoModel.js.map +1 -1
- package/dist/Entity.d.ts +19 -3
- package/dist/Entity.d.ts.map +1 -1
- package/dist/Entity.js +30 -3
- package/dist/Entity.js.map +1 -1
- package/dist/Errors.d.ts +85 -12
- package/dist/Errors.d.ts.map +1 -1
- package/dist/Errors.js +70 -7
- package/dist/Errors.js.map +1 -1
- package/dist/VectorIndex.d.ts +32 -10
- package/dist/VectorIndex.d.ts.map +1 -1
- package/dist/VectorIndex.js +37 -25
- package/dist/VectorIndex.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/DefaultCrypto.d.ts +4 -4
- package/dist/internal/DefaultCrypto.js +4 -4
- package/dist/internal/EntityPacked.d.ts +64 -0
- package/dist/internal/EntityPacked.d.ts.map +1 -0
- package/dist/internal/EntityPacked.js +105 -0
- package/dist/internal/EntityPacked.js.map +1 -0
- package/dist/internal/PackedCodec.d.ts +186 -0
- package/dist/internal/PackedCodec.d.ts.map +1 -0
- package/dist/internal/PackedCodec.js +454 -0
- package/dist/internal/PackedCodec.js.map +1 -0
- package/package.json +1 -1
package/dist/VectorIndex.d.ts
CHANGED
|
@@ -13,19 +13,34 @@
|
|
|
13
13
|
* See `DESIGN.md §14 Vector Search`.
|
|
14
14
|
*/
|
|
15
15
|
import type * as DynamoSchema from "./DynamoSchema.js";
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Minimum vector dimensionality accepted by DynamoDB. Not pre-checked: DynamoDB
|
|
18
|
+
* rejects an index outside 1..4096, and the rejection is diagnosed against the
|
|
19
|
+
* request (#144).
|
|
20
|
+
*/
|
|
17
21
|
export declare const MIN_DIMENSIONS = 1;
|
|
18
|
-
/** Maximum vector dimensionality accepted by DynamoDB. */
|
|
22
|
+
/** Maximum vector dimensionality accepted by DynamoDB (not pre-checked; see {@link MIN_DIMENSIONS}). */
|
|
19
23
|
export declare const MAX_DIMENSIONS = 4096;
|
|
20
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* Minimum `TopK` accepted by `SearchVectors`. Not pre-checked: `.topK()` sends
|
|
26
|
+
* what it is given, and DynamoDB's rejection is diagnosed (#144).
|
|
27
|
+
*/
|
|
21
28
|
export declare const MIN_TOP_K = 1;
|
|
22
|
-
/** Maximum `TopK` accepted by `SearchVectors` (hard limit — there is no pagination). */
|
|
29
|
+
/** Maximum `TopK` accepted by `SearchVectors` (hard limit — there is no pagination; not pre-checked). */
|
|
23
30
|
export declare const MAX_TOP_K = 100;
|
|
24
31
|
/** Default `TopK` applied when `.topK()` is not called. */
|
|
25
32
|
export declare const DEFAULT_TOP_K = 10;
|
|
26
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Maximum `INLINE_FILTER` attributes per vector index (AWS quota, not
|
|
35
|
+
* adjustable). Not pre-checked: DynamoDB rejects an index over it, and the
|
|
36
|
+
* rejection is diagnosed against the request (#144).
|
|
37
|
+
*/
|
|
27
38
|
export declare const MAX_INLINE_FILTERS = 18;
|
|
28
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Vector indexes per physical table — AWS's DEFAULT quota, which AWS Support
|
|
41
|
+
* can raise. Not pre-checked: DynamoDB rejects a table over the account's
|
|
42
|
+
* quota, and the rejection is diagnosed against the request (#144).
|
|
43
|
+
*/
|
|
29
44
|
export declare const MAX_VECTOR_INDEXES_PER_TABLE = 5;
|
|
30
45
|
/**
|
|
31
46
|
* Name of the stored embedding attribute for a physical vector index.
|
|
@@ -187,7 +202,14 @@ export type VectorFilterInput<TField extends string = string> = {
|
|
|
187
202
|
/**
|
|
188
203
|
* Validate an entity's vector index declarations at `Entity.make()` time.
|
|
189
204
|
*
|
|
190
|
-
*
|
|
205
|
+
* DynamoDB's own limits are not checked here (#144): dimensions outside
|
|
206
|
+
* 1..4096, too many `INLINE_FILTER` attributes or vector indexes are sent, and
|
|
207
|
+
* DynamoDB's rejection of the `CreateTable` / `UpdateTable` is diagnosed. A
|
|
208
|
+
* non-integer `dimensions` stays refused: DynamoDB reads an integer member
|
|
209
|
+
* leniently (DynamoDB Local truncates `2.9` to `2`), so it could be accepted as
|
|
210
|
+
* a different, immutable dimensionality.
|
|
211
|
+
*
|
|
212
|
+
* @throws on invalid configuration (EDD-903x, EDD-9070).
|
|
191
213
|
*/
|
|
192
214
|
export declare const validateVectorIndexes: (params: {
|
|
193
215
|
readonly entityType: string;
|
|
@@ -197,9 +219,9 @@ export declare const validateVectorIndexes: (params: {
|
|
|
197
219
|
/**
|
|
198
220
|
* Clamp a caller-supplied `TopK` into DynamoDB's accepted range.
|
|
199
221
|
*
|
|
200
|
-
*
|
|
201
|
-
*
|
|
202
|
-
*
|
|
222
|
+
* @deprecated No longer used by the library (#144): `.topK()` sends the value
|
|
223
|
+
* it is given, and DynamoDB's rejection of one outside 1..100 is diagnosed as
|
|
224
|
+
* a `ValidationError` naming it. Kept so existing imports compile.
|
|
203
225
|
*/
|
|
204
226
|
export declare const clampTopK: (topK: number) => number;
|
|
205
227
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VectorIndex.d.ts","sourceRoot":"","sources":["../src/VectorIndex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAMtD
|
|
1
|
+
{"version":3,"file":"VectorIndex.d.ts","sourceRoot":"","sources":["../src/VectorIndex.ts"],"names":[],"mappings":"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"}
|
package/dist/VectorIndex.js
CHANGED
|
@@ -15,19 +15,34 @@
|
|
|
15
15
|
// ---------------------------------------------------------------------------
|
|
16
16
|
// Limits (DynamoDB service quotas)
|
|
17
17
|
// ---------------------------------------------------------------------------
|
|
18
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Minimum vector dimensionality accepted by DynamoDB. Not pre-checked: DynamoDB
|
|
20
|
+
* rejects an index outside 1..4096, and the rejection is diagnosed against the
|
|
21
|
+
* request (#144).
|
|
22
|
+
*/
|
|
19
23
|
export const MIN_DIMENSIONS = 1;
|
|
20
|
-
/** Maximum vector dimensionality accepted by DynamoDB. */
|
|
24
|
+
/** Maximum vector dimensionality accepted by DynamoDB (not pre-checked; see {@link MIN_DIMENSIONS}). */
|
|
21
25
|
export const MAX_DIMENSIONS = 4096;
|
|
22
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* Minimum `TopK` accepted by `SearchVectors`. Not pre-checked: `.topK()` sends
|
|
28
|
+
* what it is given, and DynamoDB's rejection is diagnosed (#144).
|
|
29
|
+
*/
|
|
23
30
|
export const MIN_TOP_K = 1;
|
|
24
|
-
/** Maximum `TopK` accepted by `SearchVectors` (hard limit — there is no pagination). */
|
|
31
|
+
/** Maximum `TopK` accepted by `SearchVectors` (hard limit — there is no pagination; not pre-checked). */
|
|
25
32
|
export const MAX_TOP_K = 100;
|
|
26
33
|
/** Default `TopK` applied when `.topK()` is not called. */
|
|
27
34
|
export const DEFAULT_TOP_K = 10;
|
|
28
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* Maximum `INLINE_FILTER` attributes per vector index (AWS quota, not
|
|
37
|
+
* adjustable). Not pre-checked: DynamoDB rejects an index over it, and the
|
|
38
|
+
* rejection is diagnosed against the request (#144).
|
|
39
|
+
*/
|
|
29
40
|
export const MAX_INLINE_FILTERS = 18;
|
|
30
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* Vector indexes per physical table — AWS's DEFAULT quota, which AWS Support
|
|
43
|
+
* can raise. Not pre-checked: DynamoDB rejects a table over the account's
|
|
44
|
+
* quota, and the rejection is diagnosed against the request (#144).
|
|
45
|
+
*/
|
|
31
46
|
export const MAX_VECTOR_INDEXES_PER_TABLE = 5;
|
|
32
47
|
// ---------------------------------------------------------------------------
|
|
33
48
|
// Attribute naming — library-managed, mirrors the `__edd_e__` convention
|
|
@@ -173,23 +188,29 @@ export const deriveSourceText = (definition, record) => {
|
|
|
173
188
|
*/
|
|
174
189
|
export const touchesSource = (definition, updatePayload) => definition.sourceFields.some((field) => field in updatePayload);
|
|
175
190
|
// ---------------------------------------------------------------------------
|
|
176
|
-
// Validation (EDD-903x)
|
|
191
|
+
// Validation (EDD-903x, EDD-9070)
|
|
177
192
|
// ---------------------------------------------------------------------------
|
|
178
193
|
/**
|
|
179
194
|
* Validate an entity's vector index declarations at `Entity.make()` time.
|
|
180
195
|
*
|
|
181
|
-
*
|
|
196
|
+
* DynamoDB's own limits are not checked here (#144): dimensions outside
|
|
197
|
+
* 1..4096, too many `INLINE_FILTER` attributes or vector indexes are sent, and
|
|
198
|
+
* DynamoDB's rejection of the `CreateTable` / `UpdateTable` is diagnosed. A
|
|
199
|
+
* non-integer `dimensions` stays refused: DynamoDB reads an integer member
|
|
200
|
+
* leniently (DynamoDB Local truncates `2.9` to `2`), so it could be accepted as
|
|
201
|
+
* a different, immutable dimensionality.
|
|
202
|
+
*
|
|
203
|
+
* @throws on invalid configuration (EDD-903x, EDD-9070).
|
|
182
204
|
*/
|
|
183
205
|
export const validateVectorIndexes = (params) => {
|
|
184
206
|
const { entityType, definitions, validFields } = params;
|
|
185
207
|
const sortedFields = () => [...validFields].sort().join(", ");
|
|
186
208
|
const seenPhysical = new Map();
|
|
187
209
|
for (const [logicalName, definition] of Object.entries(definitions)) {
|
|
188
|
-
if (!Number.isInteger(definition.dimensions)
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
`${definition.dimensions}. DynamoDB accepts an integer in ${MIN_DIMENSIONS}..${MAX_DIMENSIONS}.`);
|
|
210
|
+
if (!Number.isInteger(definition.dimensions)) {
|
|
211
|
+
throw new Error(`[EDD-9070] Entity "${entityType}": vector index "${logicalName}" has dimensions ` +
|
|
212
|
+
`${definition.dimensions}, which is not an integer. Declare the embedding's exact ` +
|
|
213
|
+
`dimensionality.`);
|
|
193
214
|
}
|
|
194
215
|
if (definition.sourceFields.length === 0) {
|
|
195
216
|
throw new Error(`[EDD-9031] Entity "${entityType}": vector index "${logicalName}" declares no source.fields. ` +
|
|
@@ -206,11 +227,6 @@ export const validateVectorIndexes = (params) => {
|
|
|
206
227
|
checkFields("source.fields", definition.sourceFields);
|
|
207
228
|
checkFields("partition", definition.partition);
|
|
208
229
|
checkFields("filters", definition.filters);
|
|
209
|
-
if (definition.filters.length > MAX_INLINE_FILTERS) {
|
|
210
|
-
throw new Error(`[EDD-9032] Entity "${entityType}": vector index "${logicalName}" declares ` +
|
|
211
|
-
`${definition.filters.length} filters. DynamoDB allows at most ${MAX_INLINE_FILTERS} ` +
|
|
212
|
-
`INLINE_FILTER attributes per vector index.`);
|
|
213
|
-
}
|
|
214
230
|
const duplicateFilter = definition.filters.find((field, i) => definition.filters.indexOf(field) !== i);
|
|
215
231
|
if (duplicateFilter !== undefined) {
|
|
216
232
|
throw new Error(`[EDD-9032] Entity "${entityType}": vector index "${logicalName}" lists filter ` +
|
|
@@ -224,17 +240,13 @@ export const validateVectorIndexes = (params) => {
|
|
|
224
240
|
}
|
|
225
241
|
seenPhysical.set(definition.index, logicalName);
|
|
226
242
|
}
|
|
227
|
-
if (seenPhysical.size > MAX_VECTOR_INDEXES_PER_TABLE) {
|
|
228
|
-
throw new Error(`[EDD-9034] Entity "${entityType}" declares ${seenPhysical.size} vector indexes. ` +
|
|
229
|
-
`DynamoDB allows at most ${MAX_VECTOR_INDEXES_PER_TABLE} per table.`);
|
|
230
|
-
}
|
|
231
243
|
};
|
|
232
244
|
/**
|
|
233
245
|
* Clamp a caller-supplied `TopK` into DynamoDB's accepted range.
|
|
234
246
|
*
|
|
235
|
-
*
|
|
236
|
-
*
|
|
237
|
-
*
|
|
247
|
+
* @deprecated No longer used by the library (#144): `.topK()` sends the value
|
|
248
|
+
* it is given, and DynamoDB's rejection of one outside 1..100 is diagnosed as
|
|
249
|
+
* a `ValidationError` naming it. Kept so existing imports compile.
|
|
238
250
|
*/
|
|
239
251
|
export const clampTopK = (topK) => Math.min(MAX_TOP_K, Math.max(MIN_TOP_K, Math.floor(topK)));
|
|
240
252
|
//# sourceMappingURL=VectorIndex.js.map
|
package/dist/VectorIndex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VectorIndex.js","sourceRoot":"","sources":["../src/VectorIndex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,8EAA8E;AAC9E,mCAAmC;AACnC,8EAA8E;AAE9E
|
|
1
|
+
{"version":3,"file":"VectorIndex.js","sourceRoot":"","sources":["../src/VectorIndex.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
*/
|
|
19
19
|
export type { AggregateDefinition, BoundAggregate } from "./Aggregate.js";
|
|
20
20
|
export * as Aggregate from "./Aggregate.js";
|
|
21
|
+
export type { CompressionCodec, CompressionRegistry, Compressor } from "./Compression.js";
|
|
22
|
+
export { Compression } from "./Compression.js";
|
|
21
23
|
export * as DynamoModel from "./DynamoModel.js";
|
|
22
24
|
export type { Casing, DynamoSchema as DynamoSchemaType } from "./DynamoSchema.js";
|
|
23
25
|
export * as DynamoSchema from "./DynamoSchema.js";
|
|
@@ -25,7 +27,7 @@ export type { EmbedderService } from "./Embedder.js";
|
|
|
25
27
|
export { Embedder } from "./Embedder.js";
|
|
26
28
|
export type { AnyRefValue, EntityDefinition, EntityDefinition as EntityType, } from "./Entity.js";
|
|
27
29
|
export * as Entity from "./Entity.js";
|
|
28
|
-
export { AdditionalItemConditionFailed, AggregateAssemblyError, AggregateDecompositionError, AggregateTransactionOverflow, AppendTooLarge, CascadePartialFailure, CompositeKeyHoleError, CompositeNullableError, ConcurrentModification, ConditionalCheckFailed, DeleteAppliedButUnreadable, DuplicateCommand, DynamoError, DynamoValidationError, EmbeddingError, InternalServerError, ItemDeleted, ItemNotDeleted, ItemNotFound, makeCompositeKeyHoleError, makeCompositeNullableError, OptimisticLockError, RefNotFound, ResourceNotFoundError, StaleAppend, ThrottlingError, TRANSACT_WRITE_ITEMS_LIMIT, TransactionCancelled, TransactionOverflow, UniqueConstraintViolation, UpdateAppliedButUnreadable, ValidationError, VectorIndexBackfilling, VersionConflict, } from "./Errors.js";
|
|
30
|
+
export { AdditionalItemConditionFailed, AggregateAssemblyError, AggregateDecompositionError, AggregateTransactionOverflow, AppendTooLarge, CascadePartialFailure, CompositeKeyHoleError, CompositeNullableError, CompressorNotRegistered, ConcurrentModification, ConditionalCheckFailed, DeleteAppliedButUnreadable, DuplicateCommand, DynamoError, DynamoValidationError, EmbeddingError, InternalServerError, ItemDeleted, ItemNotDeleted, ItemNotFound, makeCompositeKeyHoleError, makeCompositeNullableError, OptimisticLockError, RefNotFound, ResourceNotFoundError, StaleAppend, ThrottlingError, TRANSACT_WRITE_ITEMS_LIMIT, TransactionCancelled, TransactionOverflow, UniqueConstraintViolation, UpdateAppliedButUnreadable, ValidationError, VectorIndexBackfilling, VersionConflict, } from "./Errors.js";
|
|
29
31
|
export type { AppendInputType, AppendSuccess, EntityInputType, EntityKeyType, EntityRecordType, EntityRefInputType, EntityRefUpdateType, EntityUpdateType, IndexPkComposites, IndexPkInput, IndexSkComposites, ModelType, PrimaryKeyComposites, RefErrors, SystemFieldsType, VectorErrors, } from "./internal/EntityTypes.js";
|
|
30
32
|
export type { GsiConfig, IndexDefinition, KeyPart } from "./KeyComposer.js";
|
|
31
33
|
export * as KeyComposer from "./KeyComposer.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACzE,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,IAAI,UAAU,GAC/B,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,eAAe,GAChB,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,YAAY,GACb,MAAM,2BAA2B,CAAA;AAClC,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACzE,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,IAAI,UAAU,GAC/B,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,eAAe,GAChB,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,YAAY,GACb,MAAM,2BAA2B,CAAA;AAClC,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -17,11 +17,12 @@
|
|
|
17
17
|
* Collection, Marshaller).
|
|
18
18
|
*/
|
|
19
19
|
export * as Aggregate from "./Aggregate.js";
|
|
20
|
+
export { Compression } from "./Compression.js";
|
|
20
21
|
export * as DynamoModel from "./DynamoModel.js";
|
|
21
22
|
export * as DynamoSchema from "./DynamoSchema.js";
|
|
22
23
|
export { Embedder } from "./Embedder.js";
|
|
23
24
|
export * as Entity from "./Entity.js";
|
|
24
|
-
export { AdditionalItemConditionFailed, AggregateAssemblyError, AggregateDecompositionError, AggregateTransactionOverflow, AppendTooLarge, CascadePartialFailure, CompositeKeyHoleError, CompositeNullableError, ConcurrentModification, ConditionalCheckFailed, DeleteAppliedButUnreadable, DuplicateCommand, DynamoError, DynamoValidationError, EmbeddingError, InternalServerError, ItemDeleted, ItemNotDeleted, ItemNotFound, makeCompositeKeyHoleError, makeCompositeNullableError, OptimisticLockError, RefNotFound, ResourceNotFoundError, StaleAppend, ThrottlingError, TRANSACT_WRITE_ITEMS_LIMIT, TransactionCancelled, TransactionOverflow, UniqueConstraintViolation, UpdateAppliedButUnreadable, ValidationError, VectorIndexBackfilling, VersionConflict, } from "./Errors.js";
|
|
25
|
+
export { AdditionalItemConditionFailed, AggregateAssemblyError, AggregateDecompositionError, AggregateTransactionOverflow, AppendTooLarge, CascadePartialFailure, CompositeKeyHoleError, CompositeNullableError, CompressorNotRegistered, ConcurrentModification, ConditionalCheckFailed, DeleteAppliedButUnreadable, DuplicateCommand, DynamoError, DynamoValidationError, EmbeddingError, InternalServerError, ItemDeleted, ItemNotDeleted, ItemNotFound, makeCompositeKeyHoleError, makeCompositeNullableError, OptimisticLockError, RefNotFound, ResourceNotFoundError, StaleAppend, ThrottlingError, TRANSACT_WRITE_ITEMS_LIMIT, TransactionCancelled, TransactionOverflow, UniqueConstraintViolation, UpdateAppliedButUnreadable, ValidationError, VectorIndexBackfilling, VersionConflict, } from "./Errors.js";
|
|
25
26
|
export * as KeyComposer from "./KeyComposer.js";
|
|
26
27
|
export * as Projection from "./Projection.js";
|
|
27
28
|
export * as VectorIndex from "./VectorIndex.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAMxC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,eAAe,GAChB,MAAM,aAAa,CAAA;AAoBpB,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAU7C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA"}
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
* surfaced as a requirement.
|
|
10
10
|
*
|
|
11
11
|
* The implementation is a thin wrapper over the global Web Crypto API
|
|
12
|
-
* (`globalThis.crypto`), available on Node
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* `DynamoClient.make({ crypto })`.
|
|
12
|
+
* (`globalThis.crypto`), available on Node 19+ (Node 18 only with
|
|
13
|
+
* `--experimental-global-webcrypto`) and all modern browsers/edge runtimes —
|
|
14
|
+
* NO new dependency. Consumers needing a platform-specific source (e.g.
|
|
15
|
+
* `@effect/platform-node`) may override it via `DynamoClient.make({ crypto })`.
|
|
16
16
|
*/
|
|
17
17
|
import { Crypto } from "effect";
|
|
18
18
|
/**
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
* surfaced as a requirement.
|
|
10
10
|
*
|
|
11
11
|
* The implementation is a thin wrapper over the global Web Crypto API
|
|
12
|
-
* (`globalThis.crypto`), available on Node
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* `DynamoClient.make({ crypto })`.
|
|
12
|
+
* (`globalThis.crypto`), available on Node 19+ (Node 18 only with
|
|
13
|
+
* `--experimental-global-webcrypto`) and all modern browsers/edge runtimes —
|
|
14
|
+
* NO new dependency. Consumers needing a platform-specific source (e.g.
|
|
15
|
+
* `@effect/platform-node`) may override it via `DynamoClient.make({ crypto })`.
|
|
16
16
|
*/
|
|
17
17
|
import { Crypto, Effect, PlatformError } from "effect";
|
|
18
18
|
/**
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal Packed entity fields (`storedAs: DynamoModel.Packed(...)`) —
|
|
3
|
+
* definition-time guards and the derived storage plan.
|
|
4
|
+
*
|
|
5
|
+
* Shared by the pure `Entity.make` (this package) and the runtime one
|
|
6
|
+
* (`effect-dynamodb`), through `buildEntityDefinition`. See
|
|
7
|
+
* `docs/designs/storage-encoding.md` §6.1 and `DESIGN.md §7 "Packed Storage"`.
|
|
8
|
+
*
|
|
9
|
+
* Guards (thrown as plain `Error`s at `Entity.make()`, like the sparse ones):
|
|
10
|
+
*
|
|
11
|
+
* - `[EDD-9073]` the packed field does not exist on the model, or its encoded
|
|
12
|
+
* side is not object- or array-shaped (a scalar, a date — so never a TTL
|
|
13
|
+
* attribute — binary, a set, or a union with such a member).
|
|
14
|
+
* - `[EDD-9072]` the packed field feeds a key or index attribute: a primary-key
|
|
15
|
+
* or secondary-index composite (collection-injected indexes are checked again
|
|
16
|
+
* when injected — {@link packedIndexRefusal}), `timeSeries.orderBy`, or a
|
|
17
|
+
* vector index partition / filter field.
|
|
18
|
+
* - `[EDD-9074]` a unique constraint names the packed field.
|
|
19
|
+
* - `[EDD-9075]` the packed field is a `DynamoModel.ref` field.
|
|
20
|
+
*
|
|
21
|
+
* Sparse + packed is impossible by construction: a field has one `storedAs`.
|
|
22
|
+
*/
|
|
23
|
+
import type { Schema } from "effect";
|
|
24
|
+
import { type PackedConfig } from "../DynamoModel.js";
|
|
25
|
+
import type { IndexDefinition } from "../KeyComposer.js";
|
|
26
|
+
import type { VectorIndexConfig } from "../VectorIndex.js";
|
|
27
|
+
import type { TimeSeriesConfig, UniqueConfig } from "./EntityConfig.js";
|
|
28
|
+
/** The storage plan of an entity's packed fields. */
|
|
29
|
+
export interface PackedPlan {
|
|
30
|
+
/** Domain field name → config, for every field configured packed. */
|
|
31
|
+
readonly packedFields: Readonly<Record<string, PackedConfig>>;
|
|
32
|
+
/** Stored attribute name (after `field` renames) → config. */
|
|
33
|
+
readonly packedAttributes: Readonly<Record<string, PackedConfig>>;
|
|
34
|
+
/**
|
|
35
|
+
* Stored attribute names a reader dispatches on by stored form: every packed
|
|
36
|
+
* attribute, plus every non-sparse model field whose encoded side is
|
|
37
|
+
* object- or array-shaped (a native value of it is never `S` or `B`, so a
|
|
38
|
+
* value written while the field was packed still reads after it is not).
|
|
39
|
+
*/
|
|
40
|
+
readonly dispatchAttributes: ReadonlyArray<string>;
|
|
41
|
+
readonly hasPackedFields: boolean;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Why a (possibly injected) index cannot be added to an entity with these
|
|
45
|
+
* packed fields, or `undefined`: one of its composites is packed (`[EDD-9072]`).
|
|
46
|
+
*/
|
|
47
|
+
export declare const packedIndexRefusal: (entityType: string, packedFields: Readonly<Record<string, PackedConfig>>, indexName: string, def: IndexDefinition) => string | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Validate the packed fields of an entity definition and derive its
|
|
50
|
+
* {@link PackedPlan}. Throws on the first refusal (see the module header).
|
|
51
|
+
*/
|
|
52
|
+
export declare const resolvePackedPlan: (args: {
|
|
53
|
+
readonly entityType: string;
|
|
54
|
+
readonly model: Schema.Top;
|
|
55
|
+
readonly packedFields: Readonly<Record<string, PackedConfig>>;
|
|
56
|
+
readonly sparseFields: Readonly<Record<string, unknown>>;
|
|
57
|
+
readonly modelFields: Readonly<Record<string, Schema.Top>>;
|
|
58
|
+
readonly indexes: Readonly<Record<string, IndexDefinition>>;
|
|
59
|
+
readonly unique: UniqueConfig | undefined;
|
|
60
|
+
readonly timeSeries: TimeSeriesConfig<any> | undefined;
|
|
61
|
+
readonly vectorIndexes: Readonly<Record<string, VectorIndexConfig>> | undefined;
|
|
62
|
+
readonly resolveDbName: (domainName: string) => string;
|
|
63
|
+
}) => PackedPlan;
|
|
64
|
+
//# sourceMappingURL=EntityPacked.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityPacked.d.ts","sourceRoot":"","sources":["../../src/internal/EntityPacked.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIvE,qDAAqD;AACrD,MAAM,WAAW,UAAU;IACzB,qEAAqE;IACrE,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IAC7D,8DAA8D;IAC9D,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IACjE;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAClD,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CAClC;AAKD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC7B,YAAY,MAAM,EAClB,cAAc,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,EACpD,WAAW,MAAM,EACjB,KAAK,eAAe,KACnB,MAAM,GAAG,SAYX,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAA;IAC1B,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IAC7D,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACxD,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;IAC3D,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;IACtD,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,GAAG,SAAS,CAAA;IAC/E,QAAQ,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAA;CACvD,KAAG,UA4FH,CAAA"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal Packed entity fields (`storedAs: DynamoModel.Packed(...)`) —
|
|
3
|
+
* definition-time guards and the derived storage plan.
|
|
4
|
+
*
|
|
5
|
+
* Shared by the pure `Entity.make` (this package) and the runtime one
|
|
6
|
+
* (`effect-dynamodb`), through `buildEntityDefinition`. See
|
|
7
|
+
* `docs/designs/storage-encoding.md` §6.1 and `DESIGN.md §7 "Packed Storage"`.
|
|
8
|
+
*
|
|
9
|
+
* Guards (thrown as plain `Error`s at `Entity.make()`, like the sparse ones):
|
|
10
|
+
*
|
|
11
|
+
* - `[EDD-9073]` the packed field does not exist on the model, or its encoded
|
|
12
|
+
* side is not object- or array-shaped (a scalar, a date — so never a TTL
|
|
13
|
+
* attribute — binary, a set, or a union with such a member).
|
|
14
|
+
* - `[EDD-9072]` the packed field feeds a key or index attribute: a primary-key
|
|
15
|
+
* or secondary-index composite (collection-injected indexes are checked again
|
|
16
|
+
* when injected — {@link packedIndexRefusal}), `timeSeries.orderBy`, or a
|
|
17
|
+
* vector index partition / filter field.
|
|
18
|
+
* - `[EDD-9074]` a unique constraint names the packed field.
|
|
19
|
+
* - `[EDD-9075]` the packed field is a `DynamoModel.ref` field.
|
|
20
|
+
*
|
|
21
|
+
* Sparse + packed is impossible by construction: a field has one `storedAs`.
|
|
22
|
+
*/
|
|
23
|
+
import { isRefField } from "../DynamoModel.js";
|
|
24
|
+
import { resolveUniqueFields } from "./EntitySchemas.js";
|
|
25
|
+
import { isDispatchEligible, packedShape } from "./PackedCodec.js";
|
|
26
|
+
const refusal = (code, entityType, field, message) => new Error(`[${code}] Entity "${entityType}": packed field "${field}" ${message}`);
|
|
27
|
+
/**
|
|
28
|
+
* Why a (possibly injected) index cannot be added to an entity with these
|
|
29
|
+
* packed fields, or `undefined`: one of its composites is packed (`[EDD-9072]`).
|
|
30
|
+
*/
|
|
31
|
+
export const packedIndexRefusal = (entityType, packedFields, indexName, def) => {
|
|
32
|
+
for (const attr of [...def.pk.composite, ...def.sk.composite]) {
|
|
33
|
+
if (attr in packedFields) {
|
|
34
|
+
return (`[EDD-9072] Entity "${entityType}": packed field "${attr}" cannot be a composite of ` +
|
|
35
|
+
`${indexName === "primary" ? "the primary key" : `index "${indexName}"`}. A packed value ` +
|
|
36
|
+
"is one opaque JSON string or compressed binary attribute; key composites must be " +
|
|
37
|
+
"scalar model values.");
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Validate the packed fields of an entity definition and derive its
|
|
44
|
+
* {@link PackedPlan}. Throws on the first refusal (see the module header).
|
|
45
|
+
*/
|
|
46
|
+
export const resolvePackedPlan = (args) => {
|
|
47
|
+
const { entityType, packedFields, modelFields } = args;
|
|
48
|
+
for (const [field] of Object.entries(packedFields)) {
|
|
49
|
+
const schema = modelFields[field];
|
|
50
|
+
if (schema === undefined) {
|
|
51
|
+
throw refusal("EDD-9073", entityType, field, `does not exist on the model. Valid model fields: ${Object.keys(modelFields).sort().join(", ")}`);
|
|
52
|
+
}
|
|
53
|
+
const shape = packedShape(schema);
|
|
54
|
+
if (shape._tag === "Refused") {
|
|
55
|
+
throw refusal("EDD-9073", entityType, field, `cannot be packed: ${shape.reason}. Packed storage holds object- or array-shaped JSON ` +
|
|
56
|
+
"(a scalar or date — including a TTL attribute — stays native).");
|
|
57
|
+
}
|
|
58
|
+
if (isRefField(field, args.model)) {
|
|
59
|
+
throw refusal("EDD-9075", entityType, field, "is a DynamoModel.ref field. A ref is a denormalised copy the library writes and " +
|
|
60
|
+
"cascades into; it stays a native map.");
|
|
61
|
+
}
|
|
62
|
+
for (const [indexName, def] of Object.entries(args.indexes)) {
|
|
63
|
+
const refused = packedIndexRefusal(entityType, packedFields, indexName, def);
|
|
64
|
+
if (refused !== undefined && [...def.pk.composite, ...def.sk.composite].includes(field)) {
|
|
65
|
+
throw new Error(refused);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (args.timeSeries?.orderBy === field) {
|
|
69
|
+
throw refusal("EDD-9072", entityType, field, "cannot be timeSeries.orderBy: the event clock is compared by DynamoDB (CAS) and " +
|
|
70
|
+
"composed into the event sort key.");
|
|
71
|
+
}
|
|
72
|
+
for (const [name, vector] of Object.entries(args.vectorIndexes ?? {})) {
|
|
73
|
+
if ((vector.partition ?? []).includes(field)) {
|
|
74
|
+
throw refusal("EDD-9072", entityType, field, `cannot be a partition composite of vector index "${name}".`);
|
|
75
|
+
}
|
|
76
|
+
if ((vector.filters ?? []).includes(field)) {
|
|
77
|
+
throw refusal("EDD-9072", entityType, field, `cannot be a filter field of vector index "${name}": DynamoDB filters on the stored value.`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
for (const [constraint, def] of Object.entries(args.unique ?? {})) {
|
|
81
|
+
if (resolveUniqueFields(def).includes(field)) {
|
|
82
|
+
throw refusal("EDD-9074", entityType, field, `cannot be named by unique constraint "${constraint}": its sentinel is composed from ` +
|
|
83
|
+
"scalar field values.");
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const packedAttributes = {};
|
|
88
|
+
for (const [field, config] of Object.entries(packedFields)) {
|
|
89
|
+
packedAttributes[args.resolveDbName(field)] = config;
|
|
90
|
+
}
|
|
91
|
+
const dispatch = new Set(Object.keys(packedAttributes));
|
|
92
|
+
for (const [field, schema] of Object.entries(modelFields)) {
|
|
93
|
+
if (field in args.sparseFields)
|
|
94
|
+
continue;
|
|
95
|
+
if (isDispatchEligible(schema))
|
|
96
|
+
dispatch.add(args.resolveDbName(field));
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
packedFields,
|
|
100
|
+
packedAttributes,
|
|
101
|
+
dispatchAttributes: [...dispatch],
|
|
102
|
+
hasPackedFields: Object.keys(packedFields).length > 0,
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=EntityPacked.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityPacked.js","sourceRoot":"","sources":["../../src/internal/EntityPacked.ts"],"names":[],"mappings":"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"}
|