dyna-record 0.6.1 → 0.6.3
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/README.md +70 -1
- package/dist/src/DynaRecord.d.ts +29 -9
- package/dist/src/DynaRecord.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/operations/Query/types.d.ts +107 -53
- package/dist/src/operations/Query/types.d.ts.map +1 -1
- package/dist/src/operations/types.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -671,6 +671,7 @@ The type system validates:
|
|
|
671
671
|
- **Filter attribute keys**: Only attributes that exist on the entity or its related entities are accepted. Relationship property names, partition keys, and sort keys are excluded.
|
|
672
672
|
- **`type` field values**: The `type` field only accepts entity names from the partition — the entity itself and its declared relationships. Entities from other tables or unrelated entities on the same table are rejected.
|
|
673
673
|
- **Sort key values**: Both `skCondition` and the `sk` property in key conditions only accept entity names from the partition. This matches dyna-record's single-table design where sort key values always start with an entity class name.
|
|
674
|
+
- **SK-scoped filters**: When `skCondition` narrows to specific entities, the `filter` parameter is scoped to only those entities' attributes. For example, `skCondition: { $beginsWith: "Order" }` restricts the filter to Order's attributes — using `lastFour` (a PaymentMethod attribute) produces a compile error.
|
|
674
675
|
- **`type` narrowing in `$or`**: Each `$or` element is independently narrowed. When an `$or` block specifies `type: "Order"`, only Order's attributes are allowed in that block.
|
|
675
676
|
- **Dot-path keys**: Nested `@ObjectAttribute` fields are available as typed filter keys using dot notation (e.g., `"address.city"`).
|
|
676
677
|
|
|
@@ -798,7 +799,73 @@ const specific = await Customer.query("123", { skCondition: "Order#123" });
|
|
|
798
799
|
// specific is QueryResults<Customer> (full union)
|
|
799
800
|
```
|
|
800
801
|
|
|
801
|
-
|
|
802
|
+
##### `$beginsWith` prefix matching
|
|
803
|
+
|
|
804
|
+
`$beginsWith` also accepts partial entity name prefixes that match multiple entity types. When a prefix matches more than one entity name, the return type and filter are scoped to the union of all matching entities:
|
|
805
|
+
|
|
806
|
+
```typescript
|
|
807
|
+
// "C" matches both "Customer" and "ContactInformation"
|
|
808
|
+
const results = await Customer.query("123", {
|
|
809
|
+
skCondition: { $beginsWith: "C" }
|
|
810
|
+
});
|
|
811
|
+
// results is Array<EntityAttributesInstance<Customer> | EntityAttributesInstance<ContactInformation>>
|
|
812
|
+
|
|
813
|
+
// When one entity name is a prefix of another (e.g., PaymentMethod / PaymentMethodProvider):
|
|
814
|
+
const results = await PaymentMethod.query("123", {
|
|
815
|
+
skCondition: { $beginsWith: "PaymentMethod" }
|
|
816
|
+
});
|
|
817
|
+
// results includes both PaymentMethod and PaymentMethodProvider
|
|
818
|
+
|
|
819
|
+
// Longer prefix narrows further
|
|
820
|
+
const results = await PaymentMethod.query("123", {
|
|
821
|
+
skCondition: { $beginsWith: "PaymentMethodP" }
|
|
822
|
+
});
|
|
823
|
+
// results is Array<EntityAttributesInstance<PaymentMethodProvider>>
|
|
824
|
+
|
|
825
|
+
// Prefixes that don't match any entity name are rejected
|
|
826
|
+
await Customer.query("123", {
|
|
827
|
+
skCondition: { $beginsWith: "X" } // Compile error
|
|
828
|
+
});
|
|
829
|
+
```
|
|
830
|
+
|
|
831
|
+
##### SK-scoped filter validation
|
|
832
|
+
|
|
833
|
+
When `skCondition` narrows to specific entities, the `filter` parameter is automatically scoped to only those entities' attributes. This prevents filtering on attributes from entities that can't appear in the results:
|
|
834
|
+
|
|
835
|
+
```typescript
|
|
836
|
+
// SK narrows to Order — filter accepts only Order attributes (+ default fields)
|
|
837
|
+
await Customer.query("123", {
|
|
838
|
+
skCondition: { $beginsWith: "Order" },
|
|
839
|
+
filter: { orderDate: "2023", customerId: "c1" } // OK: both are Order attributes
|
|
840
|
+
});
|
|
841
|
+
|
|
842
|
+
// Error: lastFour is a PaymentMethod attribute, not available when SK scopes to Order
|
|
843
|
+
await Customer.query("123", {
|
|
844
|
+
skCondition: { $beginsWith: "Order" },
|
|
845
|
+
filter: { lastFour: "1234" } // Compile error
|
|
846
|
+
});
|
|
847
|
+
|
|
848
|
+
// $or blocks are also scoped by SK
|
|
849
|
+
await Customer.query("123", {
|
|
850
|
+
skCondition: { $beginsWith: "Order" },
|
|
851
|
+
filter: {
|
|
852
|
+
$or: [
|
|
853
|
+
{ type: "Order", orderDate: "2023" }, // OK
|
|
854
|
+
{ type: "PaymentMethod", lastFour: "1234" } // Compile error: PaymentMethod outside SK scope
|
|
855
|
+
]
|
|
856
|
+
}
|
|
857
|
+
});
|
|
858
|
+
|
|
859
|
+
// When $beginsWith matches multiple entities, filter accepts attributes from all matches
|
|
860
|
+
await Customer.query("123", {
|
|
861
|
+
skCondition: { $beginsWith: "C" }, // matches Customer and ContactInformation
|
|
862
|
+
filter: { name: "John", email: "j@test.com" } // OK: name is on Customer, email on ContactInformation
|
|
863
|
+
});
|
|
864
|
+
```
|
|
865
|
+
|
|
866
|
+
##### Object key form (`{ pk, sk }`)
|
|
867
|
+
|
|
868
|
+
When using the object key form, sort key values are **validated** but the return type is **not narrowed**. Use `filter: { type: "Order" }` alongside key conditions for return type narrowing:
|
|
802
869
|
|
|
803
870
|
```typescript
|
|
804
871
|
// sk is validated but does NOT narrow the return type
|
|
@@ -818,6 +885,8 @@ const orders = await Customer.query(
|
|
|
818
885
|
> **Filter key narrowing:** When no `type` is specified, the return type automatically narrows based on which entities have the filtered attributes. For example, `filter: { orderDate: "2023" }` narrows to `Order` if only `Order` has `orderDate`. In `$or` blocks, each element narrows independently — by `type` if present, or by filter keys otherwise — and the return type is the union across all blocks.
|
|
819
886
|
>
|
|
820
887
|
> **AND intersection:** Since DynamoDB ANDs top-level filter conditions with `$or` blocks, the return type reflects this. When both top-level conditions and `$or` blocks independently narrow to specific entity sets, the return type is their intersection. If no entity satisfies both (e.g., `{ orderDate: "2023", $or: [{ lastFour: "1234" }] }` where `orderDate` is on `Order` and `lastFour` is on `PaymentMethod`), the return type is `never[]` — correctly indicating that no records can match.
|
|
888
|
+
>
|
|
889
|
+
> **SK intersection:** `skCondition` is always intersected with filter-based narrowing because it is a DynamoDB key condition that physically limits which items are scanned. When both `skCondition` and a filter narrow to different entity sets, the return type is their intersection.
|
|
821
890
|
|
|
822
891
|
### Querying on an index
|
|
823
892
|
|
package/dist/src/DynaRecord.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type TableMetadata } from "./metadata";
|
|
2
|
-
import { type FindByIdOptions, type FindByIdIncludesRes, type EntityKeyConditions, type QueryResults, Create, type CreateOptions, type UpdateOptions, type EntityAttributesInstance, type IncludedAssociations, type IndexKeyConditions, type OptionsWithoutIndex, type OptionsWithIndex, type TypedFilterParams, type TypedSortKeyCondition, type InferQueryResults } from "./operations";
|
|
2
|
+
import { type FindByIdOptions, type FindByIdIncludesRes, type EntityKeyConditions, type QueryResults, Create, type CreateOptions, type UpdateOptions, type EntityAttributesInstance, type IncludedAssociations, type IndexKeyConditions, type OptionsWithoutIndex, type OptionsWithIndex, type TypedFilterParams, type TypedSortKeyCondition, type InferQueryResults, type SKScopedFilterParams } from "./operations";
|
|
3
3
|
import type { DynamoTableItem, EntityClass, Optional } from "./types";
|
|
4
4
|
interface DynaRecordBase {
|
|
5
5
|
id: string;
|
|
@@ -93,13 +93,24 @@ declare abstract class DynaRecord implements DynaRecordBase {
|
|
|
93
93
|
* sort key format where SK values always start with an entity class name. Unrelated entities
|
|
94
94
|
* and entities from other tables are rejected at compile time.
|
|
95
95
|
*
|
|
96
|
+
* **SK-scoped filter:** When `skCondition` narrows to specific entities, the `filter`
|
|
97
|
+
* parameter is scoped to only those entities' attributes. For example,
|
|
98
|
+
* `skCondition: { $beginsWith: "Order" }` restricts the filter to Order's attributes —
|
|
99
|
+
* using attributes from other entities (e.g., `lastFour` from PaymentMethod) produces a
|
|
100
|
+
* compile error.
|
|
101
|
+
*
|
|
102
|
+
* **`$beginsWith` prefix matching:** `$beginsWith` accepts partial entity name prefixes
|
|
103
|
+
* that match multiple entity types. For example, `$beginsWith: "Inv"` matches both
|
|
104
|
+
* "Invoice" and "Inventory". The return type and filter are scoped to the union of
|
|
105
|
+
* all matching entities.
|
|
106
|
+
*
|
|
96
107
|
* **Return type narrowing:** The return type narrows automatically based on:
|
|
97
108
|
* - Top-level filter `type`: `type: "Order"` → `Array<EntityAttributesInstance<Order>>`
|
|
98
109
|
* - Top-level filter `type` array: `type: ["Order", "PaymentMethod"]` → union of both
|
|
99
110
|
* - Top-level filter keys: `{ orderDate: "2023" }` → narrows to entities that have `orderDate`
|
|
100
111
|
* - `$or` elements: each block narrows by `type` (if present) or by filter keys; return type is the union
|
|
101
112
|
* - AND intersection: when top-level conditions and `$or` both narrow, the return type is their intersection. Empty intersection → `never[]`.
|
|
102
|
-
* - `skCondition` option: `skCondition: "Order"` or `
|
|
113
|
+
* - `skCondition` option: always intersected with filter narrowing. `skCondition: "Order"` or `{ $beginsWith: "Order" }` → narrows to Order. `{ $beginsWith: "Inv" }` → narrows to all entities starting with "Inv".
|
|
103
114
|
* - No type/keys/SK specified → union of T and all related entities (e.g., `Customer | Order | PaymentMethod | ContactInformation`)
|
|
104
115
|
*
|
|
105
116
|
* Note: When using the object key form (`{ pk: "...", sk: "Order" }`), the `sk` value is
|
|
@@ -108,20 +119,20 @@ declare abstract class DynaRecord implements DynaRecordBase {
|
|
|
108
119
|
* return type narrowing.
|
|
109
120
|
*
|
|
110
121
|
* @template T - The entity type being queried.
|
|
111
|
-
* @template F - The inferred filter type, captured via `const` generic for literal type inference.
|
|
112
122
|
* @template SK - The inferred sort key condition type, captured via `const` generic for literal type inference.
|
|
123
|
+
* @template F - The inferred filter type, captured via `const` generic. Constrained by {@link SKScopedFilterParams} — when SK narrows, only matched entities' attributes are accepted.
|
|
113
124
|
* @param {string | EntityKeyConditions<T>} key - Entity Id (string) or an object with PartitionKey and optional SortKey conditions.
|
|
114
125
|
* @param {Object=} options - QueryOptions. Supports typed filter, consistentRead and skCondition. indexName is not supported.
|
|
115
|
-
* @param {
|
|
116
|
-
* @param {TypedSortKeyCondition<T>=} options.skCondition - Sort key condition.
|
|
117
|
-
* @returns A promise resolving to query results. The return type narrows based on the filter's `type` value
|
|
126
|
+
* @param {SKScopedFilterParams<T, SK>=} options.filter - Typed filter conditions. Keys are validated against partition entity attributes, scoped by `skCondition` when present. The `type` field accepts valid entity class names within the SK scope.
|
|
127
|
+
* @param {TypedSortKeyCondition<T>=} options.skCondition - Sort key condition. Accepts entity names, entity-name-prefixed strings, or `$beginsWith` with exact names or partial prefixes. Narrows the return type and scopes the filter to matched entities.
|
|
128
|
+
* @returns A promise resolving to query results. The return type narrows based on the filter's `type` value, filter keys, and `skCondition`.
|
|
118
129
|
*
|
|
119
130
|
* @example By entity ID
|
|
120
131
|
* ```typescript
|
|
121
132
|
* const results = await Customer.query("123");
|
|
122
133
|
* ```
|
|
123
134
|
*
|
|
124
|
-
* @example With skCondition (narrows return type to Order)
|
|
135
|
+
* @example With skCondition (narrows return type and scopes filter to Order)
|
|
125
136
|
* ```typescript
|
|
126
137
|
* const orders = await Customer.query("123", { skCondition: "Order" });
|
|
127
138
|
* // orders is Array<EntityAttributesInstance<Order>>
|
|
@@ -133,12 +144,21 @@ declare abstract class DynaRecord implements DynaRecordBase {
|
|
|
133
144
|
* // orders is Array<EntityAttributesInstance<Order>>
|
|
134
145
|
* ```
|
|
135
146
|
*
|
|
136
|
-
* @example
|
|
147
|
+
* @example $beginsWith prefix matching multiple entities
|
|
148
|
+
* ```typescript
|
|
149
|
+
* const results = await Customer.query("123", { skCondition: { $beginsWith: "C" } });
|
|
150
|
+
* // results includes Customer and ContactInformation (both start with "C")
|
|
151
|
+
* // filter accepts attributes from both entities
|
|
152
|
+
* ```
|
|
153
|
+
*
|
|
154
|
+
* @example SK-scoped filter (only Order attributes accepted)
|
|
137
155
|
* ```typescript
|
|
138
156
|
* const orders = await Customer.query("123", {
|
|
157
|
+
* skCondition: { $beginsWith: "Order" },
|
|
139
158
|
* filter: { type: "Order", orderDate: "2023-01-01" }
|
|
140
159
|
* });
|
|
141
160
|
* // orders is Array<EntityAttributesInstance<Order>>
|
|
161
|
+
* // filter: { lastFour: "1234" } would be a compile error (PaymentMethod attribute)
|
|
142
162
|
* ```
|
|
143
163
|
*
|
|
144
164
|
* @example By primary key (sk validated, return type NOT narrowed)
|
|
@@ -161,7 +181,7 @@ declare abstract class DynaRecord implements DynaRecordBase {
|
|
|
161
181
|
* const results = await Customer.query("123", { consistentRead: true });
|
|
162
182
|
* ```
|
|
163
183
|
*/
|
|
164
|
-
static query<T extends DynaRecord, const
|
|
184
|
+
static query<T extends DynaRecord, const SK extends TypedSortKeyCondition<T> = TypedSortKeyCondition<T>, const F extends SKScopedFilterParams<T, SK> = SKScopedFilterParams<T, SK>>(this: EntityClass<T>, key: string, options?: OptionsWithoutIndex<T, SK> & {
|
|
165
185
|
filter?: F;
|
|
166
186
|
skCondition?: SK;
|
|
167
187
|
}): Promise<InferQueryResults<T, F, SK>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynaRecord.d.ts","sourceRoot":"","sources":["../../src/DynaRecord.ts"],"names":[],"mappings":"AAAA,OAAiB,EAAsB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9E,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EAExB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,MAAM,EACN,KAAK,aAAa,EAElB,KAAK,aAAa,EAGlB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EAErB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,
|
|
1
|
+
{"version":3,"file":"DynaRecord.d.ts","sourceRoot":"","sources":["../../src/DynaRecord.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ export * from "./decorators";
|
|
|
2
2
|
export * from "./errors";
|
|
3
3
|
export * from "./relationships";
|
|
4
4
|
export * from "./dynamo-utils/errors";
|
|
5
|
-
export type { EntityAttributesOnly, EntityAttributesInstance as EntityInstance, FindByIdIncludesRes, TypedFilterParams, TypedSortKeyCondition, InferQueryResults, PartitionEntityNames } from "./operations";
|
|
5
|
+
export type { EntityAttributesOnly, EntityAttributesInstance as EntityInstance, FindByIdIncludesRes, TypedFilterParams, TypedSortKeyCondition, SKScopedFilterParams, InferQueryResults, PartitionEntityNames } from "./operations";
|
|
6
6
|
export type { PartitionKey, SortKey, ForeignKey, NullableForeignKey } from "./types";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AAEtC,YAAY,EACV,oBAAoB,EACpB,wBAAwB,IAAI,cAAc,EAC1C,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EACZ,OAAO,EACP,UAAU,EACV,kBAAkB,EACnB,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AAEtC,YAAY,EACV,oBAAoB,EACpB,wBAAwB,IAAI,cAAc,EAC1C,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EACZ,OAAO,EACP,UAAU,EACV,kBAAkB,EACnB,MAAM,SAAS,CAAC"}
|
|
@@ -31,8 +31,8 @@ export type QueryOptions = QueryBuilderOptions & {
|
|
|
31
31
|
* @template T - The entity type being queried. Defaults to `DynaRecord` for backward
|
|
32
32
|
* compatibility in generic contexts.
|
|
33
33
|
*/
|
|
34
|
-
export type OptionsWithoutIndex<T extends DynaRecord = DynaRecord> = Omit<QueryOptions, "indexName" | "filter" | "skCondition"> & {
|
|
35
|
-
filter?:
|
|
34
|
+
export type OptionsWithoutIndex<T extends DynaRecord = DynaRecord, SK = unknown> = Omit<QueryOptions, "indexName" | "filter" | "skCondition"> & {
|
|
35
|
+
filter?: SKScopedFilterParams<T, SK>;
|
|
36
36
|
};
|
|
37
37
|
/**
|
|
38
38
|
* Options for querying on an index. Consistent reads are not allowed
|
|
@@ -135,11 +135,6 @@ export type PartitionEntities<T extends DynaRecord> = T | RelationshipEntities<T
|
|
|
135
135
|
* Falls back to `string` if any entity lacks `declare readonly type`.
|
|
136
136
|
*/
|
|
137
137
|
export type PartitionEntityNames<T extends DynaRecord> = PartitionEntities<T>["type"];
|
|
138
|
-
/**
|
|
139
|
-
* Union of EntityFilterableKeys<E> for each entity E in PartitionEntities<T>.
|
|
140
|
-
* This is the full set of valid filter keys when no `type` narrowing is applied.
|
|
141
|
-
*/
|
|
142
|
-
export type AllPartitionFilterableKeys<T extends DynaRecord> = PartitionEntities<T> extends infer E ? E extends DynaRecord ? EntityFilterableKeys<E> : never : never;
|
|
143
138
|
/**
|
|
144
139
|
* Maps a union of string keys to an optional FilterTypes record.
|
|
145
140
|
* Shared helper for building filter records from key unions.
|
|
@@ -156,38 +151,56 @@ type FilterRecord<Keys extends string> = {
|
|
|
156
151
|
*/
|
|
157
152
|
export type EntityFilterRecord<E extends DynaRecord> = FilterRecord<EntityFilterableKeys<E>>;
|
|
158
153
|
/**
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
* @template T - The root entity whose partition defines the filter keys.
|
|
154
|
+
* Union of filterable keys across a set of entities (distributive).
|
|
162
155
|
*/
|
|
163
|
-
type
|
|
156
|
+
type FilterableKeysFor<Entities extends DynaRecord> = Entities extends DynaRecord ? EntityFilterableKeys<Entities> : never;
|
|
164
157
|
/**
|
|
165
|
-
* Discriminated union enabling per-block `type` narrowing
|
|
166
|
-
* When type is a single string literal, only that entity's
|
|
167
|
-
* When type is an array or absent, all
|
|
168
|
-
*
|
|
158
|
+
* Discriminated union enabling per-block `type` narrowing, scoped to a set
|
|
159
|
+
* of entities. When type is a single string literal, only that entity's
|
|
160
|
+
* attributes are allowed. When type is an array or absent, all scoped
|
|
161
|
+
* entity attributes are allowed.
|
|
162
|
+
*
|
|
163
|
+
* @template Entities - The union of entity types whose attributes are accepted.
|
|
169
164
|
*/
|
|
170
|
-
|
|
165
|
+
type AndFilterForEntities<Entities extends DynaRecord> = (Entities extends infer E extends DynaRecord ? {
|
|
171
166
|
type: E["type"];
|
|
172
|
-
} & EntityFilterRecord<E> : never
|
|
173
|
-
type:
|
|
174
|
-
} &
|
|
167
|
+
} & EntityFilterRecord<E> : never) | ({
|
|
168
|
+
type: Entities["type"][];
|
|
169
|
+
} & FilterRecord<FilterableKeysFor<Entities>>) | ({
|
|
175
170
|
type?: never;
|
|
176
|
-
} &
|
|
171
|
+
} & FilterRecord<FilterableKeysFor<Entities>>);
|
|
177
172
|
/**
|
|
178
|
-
* Typed `$or` filter
|
|
179
|
-
* Each `$or` element is independently narrowed: when a block specifies
|
|
180
|
-
* `type: "Order"`, only Order's attributes are accepted in that block.
|
|
181
|
-
*
|
|
182
|
-
* @template T - The root entity whose partition defines valid filter keys and type values.
|
|
173
|
+
* Typed `$or` filter scoped to a set of entities.
|
|
183
174
|
*/
|
|
184
|
-
|
|
185
|
-
$or?:
|
|
175
|
+
type OrFilterForEntities<Entities extends DynaRecord> = {
|
|
176
|
+
$or?: AndFilterForEntities<Entities>[];
|
|
186
177
|
};
|
|
187
178
|
/**
|
|
188
|
-
*
|
|
179
|
+
* Full filter params (AND + OR) scoped to a set of entities.
|
|
180
|
+
*/
|
|
181
|
+
type FilterParamsForEntities<Entities extends DynaRecord> = AndFilterForEntities<Entities> & OrFilterForEntities<Entities>;
|
|
182
|
+
/**
|
|
183
|
+
* Top-level filter combining AND and OR for a full partition.
|
|
184
|
+
* Alias for {@link FilterParamsForEntities} applied to {@link PartitionEntities}.
|
|
185
|
+
*/
|
|
186
|
+
export type TypedFilterParams<T extends DynaRecord> = FilterParamsForEntities<PartitionEntities<T>>;
|
|
187
|
+
/**
|
|
188
|
+
* Generates all non-empty prefixes of a string literal type.
|
|
189
|
+
* E.g. `Prefixes<"Order">` → `"O" | "Or" | "Ord" | "Orde" | "Order"`.
|
|
190
|
+
* Distributes over unions: `Prefixes<"A" | "B">` → prefixes of both.
|
|
191
|
+
*
|
|
192
|
+
* **Recursion limit:** This type recurses once per character. TypeScript's
|
|
193
|
+
* template literal recursion limit is ~24 characters per string. Entity class
|
|
194
|
+
* names should stay under this limit to avoid "Type instantiation is
|
|
195
|
+
* excessively deep" errors.
|
|
196
|
+
*/
|
|
197
|
+
type Prefixes<S extends string, Acc extends string = ""> = S extends `${infer Head}${infer Tail}` ? `${Acc}${Head}` | Prefixes<Tail, `${Acc}${Head}`> : never;
|
|
198
|
+
/**
|
|
199
|
+
* Finds partition entity names that start with a given prefix string.
|
|
200
|
+
* E.g. if partition has "Invoice" and "Inventory", `EntityNamesStartingWith<T, "Inv">`
|
|
201
|
+
* returns `"Invoice" | "Inventory"`.
|
|
189
202
|
*/
|
|
190
|
-
|
|
203
|
+
type EntityNamesStartingWith<T extends DynaRecord, Prefix extends string> = Extract<PartitionEntityNames<T>, `${Prefix}${string}`>;
|
|
191
204
|
/**
|
|
192
205
|
* Typed sort key condition for querying within an entity's partition.
|
|
193
206
|
*
|
|
@@ -201,28 +214,45 @@ export type TypedFilterParams<T extends DynaRecord> = TypedAndFilter<T> & TypedO
|
|
|
201
214
|
* entity's own name or its related entity names (or prefixes thereof). Unrelated
|
|
202
215
|
* entities and entities from other tables are rejected at compile time.
|
|
203
216
|
*
|
|
217
|
+
* The `$beginsWith` variant also accepts partial entity name prefixes — e.g.
|
|
218
|
+
* `$beginsWith: "Inv"` is valid when the partition contains "Invoice" and "Inventory",
|
|
219
|
+
* since DynamoDB's `begins_with` would match both entity types.
|
|
220
|
+
*
|
|
204
221
|
* @template T - The entity type being queried.
|
|
205
222
|
*/
|
|
206
223
|
export type TypedSortKeyCondition<T extends DynaRecord> = PartitionEntityNames<T> | `${PartitionEntityNames<T>}${string}` | {
|
|
207
|
-
$beginsWith: PartitionEntityNames<T> | `${PartitionEntityNames<T>}${string}
|
|
224
|
+
$beginsWith: PartitionEntityNames<T> | `${PartitionEntityNames<T>}${string}` | Prefixes<PartitionEntityNames<T>>;
|
|
208
225
|
};
|
|
209
226
|
/**
|
|
210
|
-
* Extracts
|
|
227
|
+
* Extracts entity names from a typed sort key condition for return type narrowing.
|
|
211
228
|
*
|
|
212
229
|
* Narrows when:
|
|
213
230
|
* - SK is an exact entity name: `"Order"` → `"Order"`
|
|
214
231
|
* - SK is `{ $beginsWith: "Order" }` → `"Order"`
|
|
232
|
+
* - SK is `{ $beginsWith: "Inv" }` → `"Invoice" | "Inventory"` (prefix matches multiple)
|
|
233
|
+
* - SK is `{ $beginsWith: "PaymentMethod" }` → `"PaymentMethod" | "PaymentMethodProvider"`
|
|
234
|
+
* (when one entity name is a prefix of another)
|
|
215
235
|
*
|
|
216
236
|
* Does not narrow when:
|
|
217
237
|
* - SK is a prefixed string like `"Order#123"` (can't parse the delimiter at type level)
|
|
218
|
-
* - SK is `{ $beginsWith: "Order#..." }` (specific prefix
|
|
238
|
+
* - SK is `{ $beginsWith: "Order#..." }` (specific prefix past entity name boundary)
|
|
219
239
|
*
|
|
220
240
|
* @template T - The entity type being queried.
|
|
221
241
|
* @template SK - The inferred sort key condition literal type.
|
|
222
242
|
*/
|
|
223
243
|
export type ExtractEntityFromSK<T extends DynaRecord, SK> = SK extends {
|
|
224
|
-
$beginsWith: infer V extends
|
|
225
|
-
} ? V : SK extends PartitionEntityNames<T> ? SK : never;
|
|
244
|
+
$beginsWith: infer V extends string;
|
|
245
|
+
} ? EntityNamesStartingWith<T, V> : SK extends PartitionEntityNames<T> ? SK : never;
|
|
246
|
+
/**
|
|
247
|
+
* Computes the filter type based on SK narrowing. When `skCondition` narrows to
|
|
248
|
+
* specific entities, only those entities' attributes are accepted in the filter.
|
|
249
|
+
* When SK doesn't narrow (no skCondition, suffixed string, etc.), falls back to
|
|
250
|
+
* the full {@link TypedFilterParams}.
|
|
251
|
+
*
|
|
252
|
+
* @template T - The root entity being queried.
|
|
253
|
+
* @template SK - The inferred sort key condition type.
|
|
254
|
+
*/
|
|
255
|
+
export type SKScopedFilterParams<T extends DynaRecord, SK> = ExtractEntityFromSK<T, SK> extends infer Names ? ShouldNarrow<T, Names> extends true ? FilterParamsForEntities<ResolveEntityByName<T, Names & string>> : TypedFilterParams<T> : TypedFilterParams<T>;
|
|
226
256
|
/**
|
|
227
257
|
* Extracts string values from a type that may be a string or an array of strings.
|
|
228
258
|
* Returns the literal string if single value, array element types if array, or `never`.
|
|
@@ -344,52 +374,76 @@ type FallbackToSK<T extends DynaRecord, SK> = ExtractEntityFromSK<T, SK> extends
|
|
|
344
374
|
type StrictNarrowByNames<T extends DynaRecord, Names extends string> = [
|
|
345
375
|
ResolveEntityByName<T, Names>
|
|
346
376
|
] extends [never] ? never[] : Array<DistributeEntityAttributes<ResolveEntityByName<T, Names>>>;
|
|
377
|
+
/**
|
|
378
|
+
* Intersects resolved entity names with SK-derived entity names.
|
|
379
|
+
* Since `skCondition` is a DynamoDB key condition that physically limits which
|
|
380
|
+
* items are scanned, it always constrains the result — it's not just a filter.
|
|
381
|
+
*
|
|
382
|
+
* - If SK narrows → intersect `Names` with SK entities. Empty intersection → `never[]`.
|
|
383
|
+
* - If SK does not narrow → use `Names` alone via {@link NarrowByNames}.
|
|
384
|
+
*/
|
|
385
|
+
type IntersectWithSK<T extends DynaRecord, Names extends string, SK> = ExtractEntityFromSK<T, SK> extends infer SKNames ? ShouldNarrow<T, SKNames> extends true ? StrictNarrowByNames<T, Extract<Names, SKNames & string>> : NarrowByNames<T, Names> : NarrowByNames<T, Names>;
|
|
386
|
+
/**
|
|
387
|
+
* Strict variant of {@link IntersectWithSK} that preserves `never[]` for empty
|
|
388
|
+
* name sets. Used when `Names` is already the result of an intersection (e.g.
|
|
389
|
+
* filter keys ∩ $or blocks) and may be `never` — in that case the result must
|
|
390
|
+
* stay `never[]`, not fall back to `QueryResults<T>`.
|
|
391
|
+
*/
|
|
392
|
+
type StrictIntersectWithSK<T extends DynaRecord, Names extends string, SK> = ExtractEntityFromSK<T, SK> extends infer SKNames ? ShouldNarrow<T, SKNames> extends true ? StrictNarrowByNames<T, Extract<Names, SKNames & string>> : StrictNarrowByNames<T, Names> : StrictNarrowByNames<T, Names>;
|
|
347
393
|
/**
|
|
348
394
|
* When top-level filter keys narrow to `KeyNames`, also checks if `$or` blocks
|
|
349
|
-
* narrow independently. Since DynamoDB ANDs top-level conditions
|
|
350
|
-
* a record must satisfy both — so the matching entities are the intersection.
|
|
395
|
+
* and `skCondition` narrow independently. Since DynamoDB ANDs top-level conditions
|
|
396
|
+
* with `$or`, a record must satisfy both — so the matching entities are the intersection.
|
|
397
|
+
* Additionally, `skCondition` is a key condition that always constrains the result.
|
|
351
398
|
*
|
|
352
|
-
* - If `$or` also narrows → intersect with `KeyNames
|
|
353
|
-
* - If `$or` does not narrow →
|
|
399
|
+
* - If `$or` also narrows → intersect with `KeyNames`, then intersect with SK (strict).
|
|
400
|
+
* - If `$or` does not narrow → intersect `KeyNames` with SK.
|
|
354
401
|
*/
|
|
355
|
-
type IntersectKeysWithOr<T extends DynaRecord, KeyNames extends string, F> = ResolveOrBlockEntityNames<T, F> extends infer OrNames ? ShouldNarrow<T, OrNames> extends true ?
|
|
402
|
+
type IntersectKeysWithOr<T extends DynaRecord, KeyNames extends string, F, SK = unknown> = ResolveOrBlockEntityNames<T, F> extends infer OrNames ? ShouldNarrow<T, OrNames> extends true ? StrictIntersectWithSK<T, Extract<KeyNames, OrNames & string>, SK> : IntersectWithSK<T, KeyNames, SK> : IntersectWithSK<T, KeyNames, SK>;
|
|
356
403
|
/**
|
|
357
404
|
* Falls back to `$or` block resolution (by type or filter keys), then SK, then full union.
|
|
405
|
+
* When `$or` narrows, also intersects with SK since it always constrains the result.
|
|
358
406
|
*/
|
|
359
|
-
type FallbackToOrBlocks<T extends DynaRecord, F, SK> = ResolveOrBlockEntityNames<T, F> extends infer Names ? ShouldNarrow<T, Names> extends true ?
|
|
407
|
+
type FallbackToOrBlocks<T extends DynaRecord, F, SK> = ResolveOrBlockEntityNames<T, F> extends infer Names ? ShouldNarrow<T, Names> extends true ? IntersectWithSK<T, Names & string, SK> : FallbackToSK<T, SK> : FallbackToSK<T, SK>;
|
|
360
408
|
/**
|
|
361
409
|
* Falls back to top-level filter key resolution, then `$or`, then SK, then full union.
|
|
362
410
|
*
|
|
363
411
|
* When top-level keys narrow, also intersects with `$or` block narrowing (if any)
|
|
364
|
-
* because DynamoDB ANDs them — a record must satisfy
|
|
365
|
-
* and at least one `$or` block.
|
|
412
|
+
* and `skCondition` narrowing because DynamoDB ANDs them — a record must satisfy
|
|
413
|
+
* the key condition, the top-level filter, and at least one `$or` block.
|
|
366
414
|
*/
|
|
367
|
-
type FallbackToFilterKeys<T extends DynaRecord, F, SK> = EntityNamesFromKeys<T, FilterKeysOf<F>> extends infer Names ? ShouldNarrow<T, Names> extends true ? IntersectKeysWithOr<T, Names & string, F> : FallbackToOrBlocks<T, F, SK> : FallbackToOrBlocks<T, F, SK>;
|
|
415
|
+
type FallbackToFilterKeys<T extends DynaRecord, F, SK> = EntityNamesFromKeys<T, FilterKeysOf<F>> extends infer Names ? ShouldNarrow<T, Names> extends true ? IntersectKeysWithOr<T, Names & string, F, SK> : FallbackToOrBlocks<T, F, SK> : FallbackToOrBlocks<T, F, SK>;
|
|
368
416
|
/**
|
|
369
|
-
* When a top-level `type` filter narrows, also checks if `$or` blocks
|
|
370
|
-
* to a disjoint set. Since DynamoDB ANDs them, the
|
|
417
|
+
* When a top-level `type` filter narrows, also checks if `$or` blocks and
|
|
418
|
+
* `skCondition` narrow to a disjoint set. Since DynamoDB ANDs them, the
|
|
419
|
+
* result is the intersection of all narrowing signals.
|
|
371
420
|
*/
|
|
372
|
-
type IntersectTypeWithOr<T extends DynaRecord, F> = ResolveOrBlockEntityNames<T, F> extends infer OrNames ? ShouldNarrow<T, OrNames> extends true ?
|
|
421
|
+
type IntersectTypeWithOr<T extends DynaRecord, F, SK = unknown> = ResolveOrBlockEntityNames<T, F> extends infer OrNames ? ShouldNarrow<T, OrNames> extends true ? StrictIntersectWithSK<T, Extract<ExtractTypeFromFilter<F> & string, OrNames & string>, SK> : IntersectWithSK<T, ExtractTypeFromFilter<F> & string, SK> : IntersectWithSK<T, ExtractTypeFromFilter<F> & string, SK>;
|
|
373
422
|
/**
|
|
374
423
|
* Infers query results from filter and SK for the non-index query overload.
|
|
375
424
|
*
|
|
376
425
|
* Narrowing strategy (respects DynamoDB's AND semantics):
|
|
377
426
|
* 1. If the filter specifies a top-level `type` value, narrow by that — then intersect
|
|
378
|
-
* with `$or` narrowing
|
|
427
|
+
* with `$or` narrowing and `skCondition` narrowing if present.
|
|
379
428
|
* 2. Otherwise, if top-level filter keys narrow to specific entities, use that — then
|
|
380
|
-
* intersect with `$or` narrowing if present.
|
|
381
|
-
* 3. Otherwise, if `$or` blocks resolve to specific entities (by type or keys), use that
|
|
429
|
+
* intersect with `$or` narrowing and `skCondition` narrowing if present.
|
|
430
|
+
* 3. Otherwise, if `$or` blocks resolve to specific entities (by type or keys), use that —
|
|
431
|
+
* then intersect with `skCondition` narrowing if present.
|
|
382
432
|
* 4. Otherwise, if `skCondition` matches an exact entity name or `$beginsWith` an entity name, narrow by that.
|
|
383
433
|
* 5. Otherwise, return the full `QueryResults<T>` union.
|
|
384
434
|
*
|
|
385
|
-
*
|
|
386
|
-
*
|
|
387
|
-
*
|
|
435
|
+
* `skCondition` is always intersected with other narrowing signals because it is a
|
|
436
|
+
* DynamoDB key condition that physically limits which items are scanned, unlike
|
|
437
|
+
* filter expressions which are applied post-scan.
|
|
438
|
+
*
|
|
439
|
+
* When multiple narrowing signals resolve to different entity sets, the intersection
|
|
440
|
+
* is taken. An empty intersection produces `never[]`, reflecting that no DynamoDB
|
|
441
|
+
* record can satisfy all combined conditions.
|
|
388
442
|
*
|
|
389
443
|
* @template T - The root entity being queried.
|
|
390
444
|
* @template F - The inferred filter type (captured via `const` generic).
|
|
391
445
|
* @template SK - The inferred sort key condition type.
|
|
392
446
|
*/
|
|
393
|
-
export type InferQueryResults<T extends DynaRecord, F, SK = unknown> = ExtractTypeFromFilter<F> extends infer Names ? ShouldNarrow<T, Names> extends true ? IntersectTypeWithOr<T, F> : FallbackToFilterKeys<T, F, SK> : FallbackToFilterKeys<T, F, SK>;
|
|
447
|
+
export type InferQueryResults<T extends DynaRecord, F, SK = unknown> = ExtractTypeFromFilter<F> extends infer Names ? ShouldNarrow<T, Names> extends true ? IntersectTypeWithOr<T, F, SK> : FallbackToFilterKeys<T, F, SK> : FallbackToFilterKeys<T, F, SK>;
|
|
394
448
|
export {};
|
|
395
449
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/operations/Query/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/operations/Query/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,7 +105,7 @@ export type ObjectDotPaths<T extends DynaRecord> = {
|
|
|
105
105
|
* - Relationship properties (via {@link EntityAttributesOnly})
|
|
106
106
|
* - Function fields (via {@link EntityAttributesOnly})
|
|
107
107
|
* - PartitionKeyAttribute and SortKeyAttribute
|
|
108
|
-
* - `type` (handled separately by {@link
|
|
108
|
+
* - `type` (handled separately by {@link AndFilterForEntities} for discriminated union narrowing)
|
|
109
109
|
*/
|
|
110
110
|
export type EntityFilterableKeys<T extends DynaRecord> = Exclude<keyof EntityAttributesOnly<T> & string, PartitionKeyAttribute<T> | SortKeyAttribute<T> | "type"> | ObjectDotPaths<T>;
|
|
111
111
|
export {};
|