@prisma-next/mongo-orm 0.11.0-dev.68 → 0.11.0-dev.69
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/index.d.mts +55 -54
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +15 -13
- package/dist/index.mjs.map +1 -1
- package/package.json +15 -15
- package/src/collection.ts +34 -25
- package/src/field-accessor.ts +52 -31
- package/src/mongo-raw.ts +4 -3
- package/src/types.ts +33 -32
package/dist/index.d.mts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { ContractField, ContractReferenceRelation, ContractValueObject, ContractValueObjectsMap } from "@prisma-next/contract/types";
|
|
1
2
|
import { AsyncIterableResult } from "@prisma-next/framework-components/runtime";
|
|
2
3
|
import { MongoFilterExpr, MongoQueryPlan, MongoQueryPlan as MongoQueryPlan$1 } from "@prisma-next/mongo-query-ast/execution";
|
|
3
4
|
import { Document, MongoValue } from "@prisma-next/mongo-value";
|
|
4
5
|
import { SimplifyDeep } from "@prisma-next/utils/simplify-deep";
|
|
5
|
-
import { ExtractMongoCodecTypes, ExtractMongoFieldInputTypes, ExtractMongoFieldOutputTypes, InferModelRow, MongoContract, MongoContractWithTypeMaps, MongoModelDefinition, MongoTypeMaps, RootModelName } from "@prisma-next/mongo-contract";
|
|
6
|
-
import { ContractField, ContractReferenceRelation, ContractValueObject } from "@prisma-next/contract/types";
|
|
6
|
+
import { ExtractMongoCodecTypes, ExtractMongoFieldInputTypes, ExtractMongoFieldOutputTypes, InferModelRow, MongoContract, MongoContractWithTypeMaps, MongoModelDefinition, MongoModelsMap, MongoTypeMaps, RootModelName } from "@prisma-next/mongo-contract";
|
|
7
7
|
|
|
8
8
|
//#region src/executor.d.ts
|
|
9
9
|
interface MongoQueryExecutor {
|
|
@@ -17,42 +17,42 @@ interface FieldOperation {
|
|
|
17
17
|
readonly field: string;
|
|
18
18
|
readonly value: MongoValue;
|
|
19
19
|
}
|
|
20
|
-
type ScalarFieldKeys<TContract extends MongoContract, ModelName extends string & keyof TContract
|
|
20
|
+
type ScalarFieldKeys<TContract extends MongoContract, ModelName extends string & keyof MongoModelsMap<TContract>> = { [K in keyof MongoModelsMap<TContract>[ModelName]['fields'] & string]: MongoModelsMap<TContract>[ModelName]['fields'][K] extends {
|
|
21
21
|
readonly type: {
|
|
22
22
|
readonly kind: 'scalar';
|
|
23
23
|
};
|
|
24
|
-
} ? K : never }[keyof TContract[
|
|
25
|
-
type ValueObjectFieldKeys<TContract extends MongoContract, ModelName extends string & keyof TContract
|
|
24
|
+
} ? K : never }[keyof MongoModelsMap<TContract>[ModelName]['fields'] & string];
|
|
25
|
+
type ValueObjectFieldKeys<TContract extends MongoContract, ModelName extends string & keyof MongoModelsMap<TContract>> = { [K in keyof MongoModelsMap<TContract>[ModelName]['fields'] & string]: MongoModelsMap<TContract>[ModelName]['fields'][K] extends {
|
|
26
26
|
readonly type: {
|
|
27
27
|
readonly kind: 'valueObject';
|
|
28
28
|
readonly name: string;
|
|
29
29
|
};
|
|
30
|
-
} ? K : never }[keyof TContract[
|
|
31
|
-
type ResolvedModelRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
30
|
+
} ? K : never }[keyof MongoModelsMap<TContract>[ModelName]['fields'] & string];
|
|
31
|
+
type ResolvedModelRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, TCodecTypes extends Record<string, {
|
|
32
32
|
output: unknown;
|
|
33
|
-
}> = ExtractMongoCodecTypes<TContract>> = string extends keyof ExtractMongoFieldOutputTypes<TContract> ? InferModelRow<TContract, ModelName, TContract[
|
|
34
|
-
type ResolveFieldType<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
33
|
+
}> = ExtractMongoCodecTypes<TContract>> = string extends keyof ExtractMongoFieldOutputTypes<TContract> ? InferModelRow<TContract, ModelName, MongoModelsMap<TContract>[ModelName]['fields'], TCodecTypes> : ModelName extends keyof ExtractMongoFieldOutputTypes<TContract> ? { -readonly [K in keyof ExtractMongoFieldOutputTypes<TContract>[ModelName]]: ExtractMongoFieldOutputTypes<TContract>[ModelName][K] } : InferModelRow<TContract, ModelName, MongoModelsMap<TContract>[ModelName]['fields'], TCodecTypes>;
|
|
34
|
+
type ResolveFieldType<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, K extends keyof MongoModelsMap<TContract>[ModelName]['fields'] & string, TCodecTypes extends Record<string, {
|
|
35
35
|
output: unknown;
|
|
36
|
-
}> = ExtractMongoCodecTypes<TContract>> = TContract[
|
|
36
|
+
}> = ExtractMongoCodecTypes<TContract>> = MongoModelsMap<TContract>[ModelName]['fields'][K] extends {
|
|
37
37
|
readonly type: {
|
|
38
38
|
readonly kind: 'scalar';
|
|
39
39
|
readonly codecId: infer CId extends string & keyof TCodecTypes;
|
|
40
40
|
};
|
|
41
41
|
readonly many: true;
|
|
42
42
|
readonly nullable: true;
|
|
43
|
-
} ? readonly TCodecTypes[CId]['output'][] | null : TContract[
|
|
43
|
+
} ? readonly TCodecTypes[CId]['output'][] | null : MongoModelsMap<TContract>[ModelName]['fields'][K] extends {
|
|
44
44
|
readonly type: {
|
|
45
45
|
readonly kind: 'scalar';
|
|
46
46
|
readonly codecId: infer CId extends string & keyof TCodecTypes;
|
|
47
47
|
};
|
|
48
48
|
readonly many: true;
|
|
49
|
-
} ? readonly TCodecTypes[CId]['output'][] : TContract[
|
|
49
|
+
} ? readonly TCodecTypes[CId]['output'][] : MongoModelsMap<TContract>[ModelName]['fields'][K] extends {
|
|
50
50
|
readonly type: {
|
|
51
51
|
readonly kind: 'scalar';
|
|
52
52
|
readonly codecId: infer CId extends string & keyof TCodecTypes;
|
|
53
53
|
};
|
|
54
54
|
readonly nullable: true;
|
|
55
|
-
} ? TCodecTypes[CId]['output'] | null : TContract[
|
|
55
|
+
} ? TCodecTypes[CId]['output'] | null : MongoModelsMap<TContract>[ModelName]['fields'][K] extends {
|
|
56
56
|
readonly type: {
|
|
57
57
|
readonly kind: 'scalar';
|
|
58
58
|
readonly codecId: infer CId extends string & keyof TCodecTypes;
|
|
@@ -70,12 +70,13 @@ type FieldExpression<T = unknown> = {
|
|
|
70
70
|
addToSet(value: T extends readonly (infer E)[] ? E : unknown): FieldOperation;
|
|
71
71
|
pop(end: 1 | -1): FieldOperation;
|
|
72
72
|
} & (T extends number ? NumericOps : unknown);
|
|
73
|
-
type HasValueObjects =
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
73
|
+
type HasValueObjects = MongoContract;
|
|
74
|
+
type MergedContractValueObjects<TContract extends HasValueObjects> = ContractValueObjectsMap<TContract> & (TContract extends {
|
|
75
|
+
readonly valueObjects?: infer VOs;
|
|
76
|
+
} ? VOs extends Record<string, ContractValueObject> ? VOs : Record<string, never> : Record<string, never>);
|
|
77
|
+
type VOFields<TContract extends HasValueObjects, VOName extends string> = VOName extends keyof MergedContractValueObjects<TContract> ? MergedContractValueObjects<TContract>[VOName] extends {
|
|
78
|
+
readonly fields: infer F extends Record<string, ContractField>;
|
|
79
|
+
} ? F : never : never;
|
|
79
80
|
type VOScalarFieldKeys<Fields extends Record<string, ContractField>> = { [K in keyof Fields & string]: Fields[K] extends {
|
|
80
81
|
readonly type: {
|
|
81
82
|
readonly kind: 'scalar';
|
|
@@ -93,7 +94,7 @@ type VODotPaths<TContract extends HasValueObjects, Fields extends Record<string,
|
|
|
93
94
|
readonly name: infer N extends string;
|
|
94
95
|
};
|
|
95
96
|
} ? VODotPaths<TContract, VOFields<TContract, N>, `${Prefix}${K}.`> : never }[VOValueObjectFieldKeys<Fields>];
|
|
96
|
-
type DotPath<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
97
|
+
type DotPath<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>> = { [K in ValueObjectFieldKeys<TContract, ModelName>]: MongoModelsMap<TContract>[ModelName]['fields'][K] extends {
|
|
97
98
|
readonly type: {
|
|
98
99
|
readonly kind: 'valueObject';
|
|
99
100
|
readonly name: infer N extends string;
|
|
@@ -112,85 +113,85 @@ type ResolveDotPathInFields<TContract extends HasValueObjects, Fields extends Re
|
|
|
112
113
|
readonly codecId: infer CId extends string & keyof TCodecTypes;
|
|
113
114
|
};
|
|
114
115
|
} ? TCodecTypes[CId]['output'] : unknown : never;
|
|
115
|
-
type ResolveDotPathType<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
116
|
+
type ResolveDotPathType<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, Path extends string, TCodecTypes extends Record<string, {
|
|
116
117
|
output: unknown;
|
|
117
|
-
}> = ExtractMongoCodecTypes<TContract>> = Path extends `${infer Head}.${infer Rest}` ? Head extends keyof TContract[
|
|
118
|
+
}> = ExtractMongoCodecTypes<TContract>> = Path extends `${infer Head}.${infer Rest}` ? Head extends keyof MongoModelsMap<TContract>[ModelName]['fields'] & string ? MongoModelsMap<TContract>[ModelName]['fields'][Head] extends {
|
|
118
119
|
readonly type: {
|
|
119
120
|
readonly kind: 'valueObject';
|
|
120
121
|
readonly name: infer N extends string;
|
|
121
122
|
};
|
|
122
123
|
} ? ResolveDotPathInFields<TContract, VOFields<TContract, N>, Rest, TCodecTypes> : never : never : never;
|
|
123
|
-
type FieldAccessor<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
124
|
+
type FieldAccessor<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, TCodecTypes extends Record<string, {
|
|
124
125
|
output: unknown;
|
|
125
126
|
}> = ExtractMongoCodecTypes<TContract>> = { readonly [K in ScalarFieldKeys<TContract, ModelName>]: FieldExpression<ResolveFieldType<TContract, ModelName, K, TCodecTypes>> } & { readonly [K in ValueObjectFieldKeys<TContract, ModelName>]: FieldExpression<ResolveFieldType<TContract, ModelName, K, TCodecTypes>> } & (<P extends DotPath<TContract, ModelName>>(path: P) => FieldExpression<ResolveDotPathType<TContract, ModelName, P, TCodecTypes>>);
|
|
126
|
-
declare function createFieldAccessor<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
127
|
+
declare function createFieldAccessor<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, TCodecTypes extends Record<string, {
|
|
127
128
|
output: unknown;
|
|
128
129
|
}> = ExtractMongoCodecTypes<TContract>>(): FieldAccessor<TContract, ModelName, TCodecTypes>;
|
|
129
130
|
//#endregion
|
|
130
131
|
//#region src/types.d.ts
|
|
131
132
|
type Simplify<T> = T extends unknown ? { [K in keyof T]: T[K] } : never;
|
|
132
|
-
type ModelRelations<TContract extends MongoContract, ModelName extends string & keyof TContract
|
|
133
|
-
type ReferenceRelationKeys<TContract extends MongoContract, ModelName extends string & keyof TContract
|
|
134
|
-
type EmbedRelationKeys<TContract extends MongoContract, ModelName extends string & keyof TContract
|
|
135
|
-
type ResolvedOutputRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
136
|
-
type ResolvedInputRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
133
|
+
type ModelRelations<TContract extends MongoContract, ModelName extends string & keyof MongoModelsMap<TContract>> = NonNullable<MongoModelsMap<TContract>[ModelName]['relations']>;
|
|
134
|
+
type ReferenceRelationKeys<TContract extends MongoContract, ModelName extends string & keyof MongoModelsMap<TContract>> = { [K in keyof ModelRelations<TContract, ModelName>]: ModelRelations<TContract, ModelName>[K] extends ContractReferenceRelation ? K : never }[keyof ModelRelations<TContract, ModelName>];
|
|
135
|
+
type EmbedRelationKeys<TContract extends MongoContract, ModelName extends string & keyof MongoModelsMap<TContract>> = { [K in keyof ModelRelations<TContract, ModelName>]: ModelRelations<TContract, ModelName>[K] extends ContractReferenceRelation ? never : K }[keyof ModelRelations<TContract, ModelName>];
|
|
136
|
+
type ResolvedOutputRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>> = string extends keyof ExtractMongoFieldOutputTypes<TContract> ? InferModelRow<TContract, ModelName> : ModelName extends keyof ExtractMongoFieldOutputTypes<TContract> ? { -readonly [K in keyof ExtractMongoFieldOutputTypes<TContract>[ModelName]]: ExtractMongoFieldOutputTypes<TContract>[ModelName][K] } : InferModelRow<TContract, ModelName>;
|
|
137
|
+
type ResolvedInputRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>> = string extends keyof ExtractMongoFieldInputTypes<TContract> ? InferModelRow<TContract, ModelName> : ModelName extends keyof ExtractMongoFieldInputTypes<TContract> ? { -readonly [K in keyof ExtractMongoFieldInputTypes<TContract>[ModelName]]: ExtractMongoFieldInputTypes<TContract>[ModelName][K] } : InferModelRow<TContract, ModelName>;
|
|
137
138
|
type RelationTargetModel<TContract extends MongoContract, R> = R extends {
|
|
138
139
|
readonly to: {
|
|
139
|
-
readonly model: infer M extends string & keyof TContract
|
|
140
|
+
readonly model: infer M extends string & keyof MongoModelsMap<TContract>;
|
|
140
141
|
};
|
|
141
142
|
} ? M : never;
|
|
142
|
-
type EmbedRelationRowType<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
143
|
+
type EmbedRelationRowType<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, RelKey extends keyof ModelRelations<TContract, ModelName>> = ModelRelations<TContract, ModelName>[RelKey] extends infer R ? R extends {
|
|
143
144
|
readonly cardinality: infer C;
|
|
144
|
-
} ? ModelRelations<TContract, ModelName>[RelKey] extends ContractReferenceRelation ? never : RelationTargetModel<TContract, R> extends infer To extends string & keyof TContract
|
|
145
|
-
type InferFullRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
146
|
-
type VariantRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
145
|
+
} ? ModelRelations<TContract, ModelName>[RelKey] extends ContractReferenceRelation ? never : RelationTargetModel<TContract, R> extends infer To extends string & keyof MongoModelsMap<TContract> ? C extends '1:N' ? ResolvedOutputRow<TContract, To>[] : ResolvedOutputRow<TContract, To> : never : never : never;
|
|
146
|
+
type InferFullRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>> = EmbedRelationKeys<TContract, ModelName> extends never ? ResolvedOutputRow<TContract, ModelName> : ResolvedOutputRow<TContract, ModelName> & { -readonly [K in EmbedRelationKeys<TContract, ModelName> & keyof ModelRelations<TContract, ModelName>]: EmbedRelationRowType<TContract, ModelName, K> };
|
|
147
|
+
type VariantRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>> = MongoModelsMap<TContract>[ModelName] extends {
|
|
147
148
|
readonly discriminator: {
|
|
148
149
|
readonly field: infer DiscField extends string;
|
|
149
150
|
};
|
|
150
151
|
readonly variants: infer V;
|
|
151
152
|
} ? V extends Record<string, {
|
|
152
153
|
readonly value: string;
|
|
153
|
-
}> ? { [VK in keyof V]: VK extends string & keyof TContract
|
|
154
|
-
type InferRootRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
155
|
-
type VariantNames<TContract extends MongoContract, ModelName extends string & keyof TContract
|
|
154
|
+
}> ? { [VK in keyof V]: VK extends string & keyof MongoModelsMap<TContract> ? Simplify<Omit<InferFullRow<TContract, ModelName>, DiscField> & InferFullRow<TContract, VK> & Record<DiscField, V[VK]['value']>> : never }[keyof V] : InferFullRow<TContract, ModelName> : InferFullRow<TContract, ModelName>;
|
|
155
|
+
type InferRootRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>> = VariantRow<TContract, ModelName>;
|
|
156
|
+
type VariantNames<TContract extends MongoContract, ModelName extends string & keyof MongoModelsMap<TContract>> = MongoModelsMap<TContract>[ModelName] extends {
|
|
156
157
|
readonly variants: infer V extends Record<string, unknown>;
|
|
157
158
|
} ? keyof V & string : never;
|
|
158
|
-
type VariantModelRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
159
|
+
type VariantModelRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, VariantName extends string> = MongoModelsMap<TContract>[ModelName] extends {
|
|
159
160
|
readonly discriminator: {
|
|
160
161
|
readonly field: infer DiscField extends string;
|
|
161
162
|
};
|
|
162
163
|
readonly variants: infer V;
|
|
163
164
|
} ? V extends Record<string, {
|
|
164
165
|
readonly value: string;
|
|
165
|
-
}> ? VariantName extends keyof V & string & keyof TContract
|
|
166
|
-
type IncludeRelationRowType<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
166
|
+
}> ? VariantName extends keyof V & string & keyof MongoModelsMap<TContract> ? Simplify<Omit<InferFullRow<TContract, ModelName>, DiscField> & InferFullRow<TContract, VariantName> & Record<DiscField, V[VariantName]['value']>> : InferFullRow<TContract, ModelName> : InferFullRow<TContract, ModelName> : InferFullRow<TContract, ModelName>;
|
|
167
|
+
type IncludeRelationRowType<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, RelKey extends keyof ModelRelations<TContract, ModelName>> = ModelRelations<TContract, ModelName>[RelKey] extends ContractReferenceRelation ? ModelRelations<TContract, ModelName>[RelKey] extends infer R ? R extends {
|
|
167
168
|
readonly cardinality: infer C;
|
|
168
|
-
} ? RelationTargetModel<TContract, R> extends infer To extends string & keyof TContract
|
|
169
|
-
type IncludeResultFields<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
170
|
-
type MongoWhereFilter<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
169
|
+
} ? RelationTargetModel<TContract, R> extends infer To extends string & keyof MongoModelsMap<TContract> ? C extends 'N:1' | '1:1' ? InferFullRow<TContract, To> | null : InferFullRow<TContract, To>[] : never : never : never : never;
|
|
170
|
+
type IncludeResultFields<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, TInclude extends MongoIncludeSpec<TContract, ModelName>> = { -readonly [K in keyof TInclude & string as TInclude[K] extends true ? K : never]: K extends keyof ModelRelations<TContract, ModelName> ? IncludeRelationRowType<TContract, ModelName, K> : never };
|
|
171
|
+
type MongoWhereFilter<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, TCodecTypes extends Record<string, {
|
|
171
172
|
output: unknown;
|
|
172
|
-
}> = ExtractMongoCodecTypes<TContract>> = { readonly [K in keyof TContract[
|
|
173
|
+
}> = ExtractMongoCodecTypes<TContract>> = { readonly [K in keyof MongoModelsMap<TContract>[ModelName]['fields']]?: MongoModelsMap<TContract>[ModelName]['fields'][K] extends {
|
|
173
174
|
readonly type: {
|
|
174
175
|
readonly kind: 'scalar';
|
|
175
176
|
readonly codecId: infer CId extends string & keyof TCodecTypes;
|
|
176
177
|
};
|
|
177
178
|
} ? TCodecTypes[CId]['output'] : unknown };
|
|
178
|
-
type MongoIncludeSpec<TContract extends MongoContract, ModelName extends string & keyof TContract
|
|
179
|
+
type MongoIncludeSpec<TContract extends MongoContract, ModelName extends string & keyof MongoModelsMap<TContract>> = { readonly [K in ReferenceRelationKeys<TContract, ModelName>]?: true };
|
|
179
180
|
type NoIncludes = Pick<Record<string, boolean>, never>;
|
|
180
|
-
type IncludedRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
181
|
-
type DefaultModelRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
182
|
-
type CreateInput<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
183
|
-
type DiscriminatorField<TContract extends MongoContract, ModelName extends string & keyof TContract
|
|
181
|
+
type IncludedRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, TIncludes extends MongoIncludeSpec<TContract, ModelName> = NoIncludes> = InferRootRow<TContract, ModelName> & IncludeResultFields<TContract, ModelName, TIncludes>;
|
|
182
|
+
type DefaultModelRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>> = ResolvedOutputRow<TContract, ModelName>;
|
|
183
|
+
type CreateInput<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>> = Omit<ResolvedInputRow<TContract, ModelName>, '_id'> & Partial<Pick<ResolvedInputRow<TContract, ModelName>, '_id' & keyof ResolvedInputRow<TContract, ModelName>>>;
|
|
184
|
+
type DiscriminatorField<TContract extends MongoContract, ModelName extends string & keyof MongoModelsMap<TContract>> = MongoModelsMap<TContract>[ModelName] extends {
|
|
184
185
|
readonly discriminator: {
|
|
185
186
|
readonly field: infer F extends string;
|
|
186
187
|
};
|
|
187
188
|
} ? F : never;
|
|
188
|
-
type VariantCreateInput<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
189
|
-
type ResolvedCreateInput<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
189
|
+
type VariantCreateInput<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, VariantName extends string> = Omit<VariantModelRow<TContract, ModelName, VariantName>, '_id' | DiscriminatorField<TContract, ModelName>> & Partial<Pick<ResolvedInputRow<TContract, ModelName>, '_id' & keyof ResolvedInputRow<TContract, ModelName>>>;
|
|
190
|
+
type ResolvedCreateInput<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, TVariant extends string> = [TVariant] extends [never] ? CreateInput<TContract, ModelName> : VariantCreateInput<TContract, ModelName, TVariant>;
|
|
190
191
|
//#endregion
|
|
191
192
|
//#region src/collection.d.ts
|
|
192
|
-
type ModelFieldKeys<TContract extends MongoContract, ModelName extends string & keyof TContract
|
|
193
|
-
interface MongoCollection<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
193
|
+
type ModelFieldKeys<TContract extends MongoContract, ModelName extends string & keyof MongoModelsMap<TContract>> = keyof MongoModelsMap<TContract>[ModelName]['fields'] & string;
|
|
194
|
+
interface MongoCollection<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, TIncludes extends MongoIncludeSpec<TContract, ModelName> = NoIncludes, TVariant extends string = never> {
|
|
194
195
|
/** Narrows to a specific variant, injecting a discriminator filter. */
|
|
195
196
|
variant<V extends VariantNames<TContract, ModelName>>(variantName: V): MongoCollection<TContract, ModelName, TIncludes, V>;
|
|
196
197
|
/** Appends equality filters from a plain object. Values are encoded through codecs. */
|
|
@@ -250,7 +251,7 @@ interface MongoCollection<TContract extends MongoContractWithTypeMaps<MongoContr
|
|
|
250
251
|
update: (u: FieldAccessor<TContract, ModelName>) => FieldOperation[];
|
|
251
252
|
}): Promise<IncludedRow<TContract, ModelName, TIncludes>>;
|
|
252
253
|
}
|
|
253
|
-
declare function createMongoCollection<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
254
|
+
declare function createMongoCollection<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>>(contract: TContract, modelName: ModelName, executor: MongoQueryExecutor): MongoCollection<TContract, ModelName>;
|
|
254
255
|
//#endregion
|
|
255
256
|
//#region src/collection-state.d.ts
|
|
256
257
|
interface MongoIncludeExpr {
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/executor.ts","../src/field-accessor.ts","../src/types.ts","../src/collection.ts","../src/collection-state.ts","../src/compile.ts","../src/mongo-orm.ts","../src/raw-collection.ts","../src/mongo-raw.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/executor.ts","../src/field-accessor.ts","../src/types.ts","../src/collection.ts","../src/collection-state.ts","../src/compile.ts","../src/mongo-orm.ts","../src/raw-collection.ts","../src/mongo-raw.ts"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { contractModels, contractValueObjects } from "@prisma-next/contract/types";
|
|
1
2
|
import { AsyncIterableResult } from "@prisma-next/framework-components/runtime";
|
|
2
3
|
import { AggregateCommand, DeleteManyCommand, FindOneAndDeleteCommand, FindOneAndUpdateCommand, InsertManyCommand, InsertOneCommand, MongoAndExpr, MongoFieldFilter, MongoLimitStage, MongoLookupStage, MongoMatchStage, MongoProjectStage, MongoSkipStage, MongoSortStage, MongoUnwindStage, RawAggregateCommand, RawDeleteManyCommand, RawDeleteOneCommand, RawFindOneAndDeleteCommand, RawFindOneAndUpdateCommand, RawInsertManyCommand, RawInsertOneCommand, RawUpdateManyCommand, RawUpdateOneCommand, UpdateManyCommand, isMongoFilterExpr } from "@prisma-next/mongo-query-ast/execution";
|
|
3
4
|
import { MongoParamRef } from "@prisma-next/mongo-value";
|
|
@@ -163,12 +164,12 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
163
164
|
this.#contract = contract;
|
|
164
165
|
this.#modelName = modelName;
|
|
165
166
|
this.#executor = executor;
|
|
166
|
-
const model = contract
|
|
167
|
+
const model = contractModels(contract)[modelName];
|
|
167
168
|
this.#collectionName = resolveCollectionName(model, modelName);
|
|
168
169
|
this.#state = emptyCollectionState();
|
|
169
170
|
}
|
|
170
171
|
variant(variantName) {
|
|
171
|
-
const model = this.#contract
|
|
172
|
+
const model = contractModels(this.#contract)[this.#modelName];
|
|
172
173
|
if (!model?.discriminator || !model.variants) return this;
|
|
173
174
|
const variantEntry = model.variants[variantName];
|
|
174
175
|
if (!variantEntry) return this;
|
|
@@ -184,7 +185,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
184
185
|
return this.#clone({ selectedFields: [...this.#state.selectedFields ?? [], ...fields] });
|
|
185
186
|
}
|
|
186
187
|
include(relationName) {
|
|
187
|
-
const relation = this.#contract
|
|
188
|
+
const relation = contractModels(this.#contract)[this.#modelName].relations?.[relationName];
|
|
188
189
|
if (!relation) throw new Error(`Unknown relation "${relationName}" on model "${this.#modelName}"`);
|
|
189
190
|
if (!("on" in relation)) throw new Error(`Relation "${relationName}" is an embed relation — only reference relations can be included`);
|
|
190
191
|
const ref = relation;
|
|
@@ -192,7 +193,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
192
193
|
const foreignField = ref.on.targetFields[0];
|
|
193
194
|
if (!localField || !foreignField || ref.on.localFields.length !== 1 || ref.on.targetFields.length !== 1) throw new Error(`Compound references are not yet supported: relation "${relationName}"`);
|
|
194
195
|
const targetModelName = ref.to.model;
|
|
195
|
-
const targetModel = this.#contract
|
|
196
|
+
const targetModel = contractModels(this.#contract)[targetModelName];
|
|
196
197
|
if (!targetModel) throw new Error(`Target model "${targetModelName}" not found for relation "${relationName}"`);
|
|
197
198
|
const includeExpr = {
|
|
198
199
|
relationName,
|
|
@@ -364,7 +365,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
364
365
|
return this.#executor.execute(plan);
|
|
365
366
|
}
|
|
366
367
|
#compile() {
|
|
367
|
-
const model = this.#contract
|
|
368
|
+
const model = contractModels(this.#contract)[this.#modelName];
|
|
368
369
|
if (!model) throw new Error(`Unknown model: "${this.#modelName}".`);
|
|
369
370
|
return compileMongoQuery(this.#collectionName, this.#state, this.#contract.storage.storageHash, model);
|
|
370
371
|
}
|
|
@@ -383,7 +384,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
383
384
|
return rows;
|
|
384
385
|
}
|
|
385
386
|
#modelFields() {
|
|
386
|
-
return this.#contract
|
|
387
|
+
return contractModels(this.#contract)[this.#modelName]?.fields ?? {};
|
|
387
388
|
}
|
|
388
389
|
#compileWhereObject(data) {
|
|
389
390
|
const fields = this.#modelFields();
|
|
@@ -400,7 +401,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
400
401
|
if (field.type.kind === "scalar") return new MongoParamRef(value, { codecId: field.type.codecId });
|
|
401
402
|
if (field.type.kind === "valueObject") {
|
|
402
403
|
const voName = field.type.name;
|
|
403
|
-
const voDef = this.#contract
|
|
404
|
+
const voDef = contractValueObjects(this.#contract)?.[voName];
|
|
404
405
|
if (!voDef || value === null) return new MongoParamRef(value);
|
|
405
406
|
if (field.many && Array.isArray(value)) return value.map((item) => this.#wrapValueObject(item, voDef));
|
|
406
407
|
return this.#wrapValueObject(value, voDef);
|
|
@@ -459,7 +460,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
459
460
|
const raw = value.value;
|
|
460
461
|
if (typeof raw === "object" && raw !== null && !Array.isArray(raw)) {
|
|
461
462
|
const voName = contractField.type.name;
|
|
462
|
-
const voDef = this.#contract
|
|
463
|
+
const voDef = contractValueObjects(this.#contract)?.[voName];
|
|
463
464
|
if (voDef) return this.#wrapValueObject(raw, voDef);
|
|
464
465
|
}
|
|
465
466
|
}
|
|
@@ -472,7 +473,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
472
473
|
for (let i = 1; i < parts.length; i++) {
|
|
473
474
|
if (!currentField || currentField.type.kind !== "valueObject") return value;
|
|
474
475
|
const voName = currentField.type.name;
|
|
475
|
-
const voDef = this.#contract
|
|
476
|
+
const voDef = contractValueObjects(this.#contract)?.[voName];
|
|
476
477
|
if (!voDef) return value;
|
|
477
478
|
const partKey = parts[i];
|
|
478
479
|
currentField = partKey ? voDef.fields[partKey] : void 0;
|
|
@@ -482,7 +483,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
482
483
|
const raw = value.value;
|
|
483
484
|
if (typeof raw === "object" && raw !== null && !Array.isArray(raw)) {
|
|
484
485
|
const voName = currentField.type.name;
|
|
485
|
-
const voDef = this.#contract
|
|
486
|
+
const voDef = contractValueObjects(this.#contract)?.[voName];
|
|
486
487
|
if (voDef) return this.#wrapValueObject(raw, voDef);
|
|
487
488
|
}
|
|
488
489
|
}
|
|
@@ -511,7 +512,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
511
512
|
}
|
|
512
513
|
#injectDiscriminator(data) {
|
|
513
514
|
if (!this.#variantName) return data;
|
|
514
|
-
const model = this.#contract
|
|
515
|
+
const model = contractModels(this.#contract)[this.#modelName];
|
|
515
516
|
if (!model?.discriminator || !model.variants) return data;
|
|
516
517
|
const variantEntry = model.variants[this.#variantName];
|
|
517
518
|
if (!variantEntry) return data;
|
|
@@ -598,8 +599,9 @@ function mongoRaw(options) {
|
|
|
598
599
|
const { contract } = options;
|
|
599
600
|
return { collection(rootName) {
|
|
600
601
|
const modelName = contract.roots[rootName]?.model;
|
|
601
|
-
|
|
602
|
-
|
|
602
|
+
const models = contractModels(contract);
|
|
603
|
+
if (!modelName || !Object.hasOwn(models, modelName)) throw new Error(`Unknown model "${modelName ?? ""}" for root "${rootName}"`);
|
|
604
|
+
return createRawMongoCollection(models[modelName].storage.collection ?? modelName, {
|
|
603
605
|
target: "mongo",
|
|
604
606
|
storageHash: contract.storage.storageHash,
|
|
605
607
|
lane: "mongo-raw"
|