@prisma-next/mongo-orm 0.11.0-dev.9 → 0.12.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/index.d.mts +87 -51
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +21 -17
- package/dist/index.mjs.map +1 -1
- package/package.json +28 -17
- package/src/collection.ts +37 -27
- package/src/field-accessor.ts +92 -35
- package/src/mongo-orm.ts +11 -6
- package/src/mongo-raw.ts +6 -5
- package/src/types.ts +56 -45
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 } 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,19 +17,47 @@ 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
|
|
32
|
-
|
|
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
|
+
output: unknown;
|
|
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
|
+
output: unknown;
|
|
36
|
+
}> = ExtractMongoCodecTypes<TContract>> = MongoModelsMap<TContract>[ModelName]['fields'][K] extends {
|
|
37
|
+
readonly type: {
|
|
38
|
+
readonly kind: 'scalar';
|
|
39
|
+
readonly codecId: infer CId extends string & keyof TCodecTypes;
|
|
40
|
+
};
|
|
41
|
+
readonly many: true;
|
|
42
|
+
readonly nullable: true;
|
|
43
|
+
} ? readonly TCodecTypes[CId]['output'][] | null : MongoModelsMap<TContract>[ModelName]['fields'][K] extends {
|
|
44
|
+
readonly type: {
|
|
45
|
+
readonly kind: 'scalar';
|
|
46
|
+
readonly codecId: infer CId extends string & keyof TCodecTypes;
|
|
47
|
+
};
|
|
48
|
+
readonly many: true;
|
|
49
|
+
} ? readonly TCodecTypes[CId]['output'][] : MongoModelsMap<TContract>[ModelName]['fields'][K] extends {
|
|
50
|
+
readonly type: {
|
|
51
|
+
readonly kind: 'scalar';
|
|
52
|
+
readonly codecId: infer CId extends string & keyof TCodecTypes;
|
|
53
|
+
};
|
|
54
|
+
readonly nullable: true;
|
|
55
|
+
} ? TCodecTypes[CId]['output'] | null : MongoModelsMap<TContract>[ModelName]['fields'][K] extends {
|
|
56
|
+
readonly type: {
|
|
57
|
+
readonly kind: 'scalar';
|
|
58
|
+
readonly codecId: infer CId extends string & keyof TCodecTypes;
|
|
59
|
+
};
|
|
60
|
+
} ? TCodecTypes[CId]['output'] : K extends keyof ResolvedModelRow<TContract, ModelName, TCodecTypes> ? ResolvedModelRow<TContract, ModelName, TCodecTypes>[K] : unknown;
|
|
33
61
|
type NumericOps = {
|
|
34
62
|
inc(value: number): FieldOperation;
|
|
35
63
|
mul(value: number): FieldOperation;
|
|
@@ -42,12 +70,13 @@ type FieldExpression<T = unknown> = {
|
|
|
42
70
|
addToSet(value: T extends readonly (infer E)[] ? E : unknown): FieldOperation;
|
|
43
71
|
pop(end: 1 | -1): FieldOperation;
|
|
44
72
|
} & (T extends number ? NumericOps : unknown);
|
|
45
|
-
type HasValueObjects =
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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;
|
|
51
80
|
type VOScalarFieldKeys<Fields extends Record<string, ContractField>> = { [K in keyof Fields & string]: Fields[K] extends {
|
|
52
81
|
readonly type: {
|
|
53
82
|
readonly kind: 'scalar';
|
|
@@ -65,7 +94,7 @@ type VODotPaths<TContract extends HasValueObjects, Fields extends Record<string,
|
|
|
65
94
|
readonly name: infer N extends string;
|
|
66
95
|
};
|
|
67
96
|
} ? VODotPaths<TContract, VOFields<TContract, N>, `${Prefix}${K}.`> : never }[VOValueObjectFieldKeys<Fields>];
|
|
68
|
-
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 {
|
|
69
98
|
readonly type: {
|
|
70
99
|
readonly kind: 'valueObject';
|
|
71
100
|
readonly name: infer N extends string;
|
|
@@ -84,78 +113,85 @@ type ResolveDotPathInFields<TContract extends HasValueObjects, Fields extends Re
|
|
|
84
113
|
readonly codecId: infer CId extends string & keyof TCodecTypes;
|
|
85
114
|
};
|
|
86
115
|
} ? TCodecTypes[CId]['output'] : unknown : never;
|
|
87
|
-
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, {
|
|
88
117
|
output: unknown;
|
|
89
|
-
}> = 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 {
|
|
90
119
|
readonly type: {
|
|
91
120
|
readonly kind: 'valueObject';
|
|
92
121
|
readonly name: infer N extends string;
|
|
93
122
|
};
|
|
94
123
|
} ? ResolveDotPathInFields<TContract, VOFields<TContract, N>, Rest, TCodecTypes> : never : never : never;
|
|
95
|
-
type FieldAccessor<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof
|
|
96
|
-
|
|
124
|
+
type FieldAccessor<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, TCodecTypes extends Record<string, {
|
|
125
|
+
output: unknown;
|
|
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>>);
|
|
127
|
+
declare function createFieldAccessor<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, TCodecTypes extends Record<string, {
|
|
128
|
+
output: unknown;
|
|
129
|
+
}> = ExtractMongoCodecTypes<TContract>>(): FieldAccessor<TContract, ModelName, TCodecTypes>;
|
|
97
130
|
//#endregion
|
|
98
131
|
//#region src/types.d.ts
|
|
99
132
|
type Simplify<T> = T extends unknown ? { [K in keyof T]: T[K] } : never;
|
|
100
|
-
type ModelRelations<TContract extends MongoContract, ModelName extends string & keyof TContract
|
|
101
|
-
type ReferenceRelationKeys<TContract extends MongoContract, ModelName extends string & keyof TContract
|
|
102
|
-
type EmbedRelationKeys<TContract extends MongoContract, ModelName extends string & keyof TContract
|
|
103
|
-
type ResolvedOutputRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
104
|
-
type ResolvedInputRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
105
|
-
type
|
|
106
|
-
readonly to:
|
|
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>;
|
|
138
|
+
type RelationTargetModel<TContract extends MongoContract, R> = R extends {
|
|
139
|
+
readonly to: {
|
|
140
|
+
readonly model: infer M extends string & keyof MongoModelsMap<TContract>;
|
|
141
|
+
};
|
|
142
|
+
} ? M : never;
|
|
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 {
|
|
107
144
|
readonly cardinality: infer C;
|
|
108
|
-
} ? ModelRelations<TContract, ModelName>[RelKey] extends ContractReferenceRelation ? never : C extends '1:N' ? ResolvedOutputRow<TContract, To>[] : ResolvedOutputRow<TContract, To> : never;
|
|
109
|
-
type InferFullRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
110
|
-
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 {
|
|
111
148
|
readonly discriminator: {
|
|
112
149
|
readonly field: infer DiscField extends string;
|
|
113
150
|
};
|
|
114
151
|
readonly variants: infer V;
|
|
115
152
|
} ? V extends Record<string, {
|
|
116
153
|
readonly value: string;
|
|
117
|
-
}> ? { [VK in keyof V]: VK extends string & keyof TContract
|
|
118
|
-
type InferRootRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
119
|
-
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 {
|
|
120
157
|
readonly variants: infer V extends Record<string, unknown>;
|
|
121
158
|
} ? keyof V & string : never;
|
|
122
|
-
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 {
|
|
123
160
|
readonly discriminator: {
|
|
124
161
|
readonly field: infer DiscField extends string;
|
|
125
162
|
};
|
|
126
163
|
readonly variants: infer V;
|
|
127
164
|
} ? V extends Record<string, {
|
|
128
165
|
readonly value: string;
|
|
129
|
-
}> ? VariantName extends keyof V & string & keyof TContract
|
|
130
|
-
type IncludeRelationRowType<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
131
|
-
readonly to: infer To extends string & keyof TContract['models'];
|
|
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 {
|
|
132
168
|
readonly cardinality: infer C;
|
|
133
|
-
} ? C extends 'N:1' | '1:1' ? InferFullRow<TContract, To> | null : InferFullRow<TContract, To>[] : never : never;
|
|
134
|
-
type IncludeResultFields<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
135
|
-
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, {
|
|
136
172
|
output: unknown;
|
|
137
|
-
}> = ExtractMongoCodecTypes<TContract>> = { readonly [K in keyof TContract[
|
|
173
|
+
}> = ExtractMongoCodecTypes<TContract>> = { readonly [K in keyof MongoModelsMap<TContract>[ModelName]['fields']]?: MongoModelsMap<TContract>[ModelName]['fields'][K] extends {
|
|
138
174
|
readonly type: {
|
|
139
175
|
readonly kind: 'scalar';
|
|
140
176
|
readonly codecId: infer CId extends string & keyof TCodecTypes;
|
|
141
177
|
};
|
|
142
178
|
} ? TCodecTypes[CId]['output'] : unknown };
|
|
143
|
-
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 };
|
|
144
180
|
type NoIncludes = Pick<Record<string, boolean>, never>;
|
|
145
|
-
type IncludedRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
146
|
-
type DefaultModelRow<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
147
|
-
type CreateInput<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
148
|
-
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 {
|
|
149
185
|
readonly discriminator: {
|
|
150
186
|
readonly field: infer F extends string;
|
|
151
187
|
};
|
|
152
188
|
} ? F : never;
|
|
153
|
-
type VariantCreateInput<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>, ModelName extends string & keyof TContract
|
|
154
|
-
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>;
|
|
155
191
|
//#endregion
|
|
156
192
|
//#region src/collection.d.ts
|
|
157
|
-
type ModelFieldKeys<TContract extends MongoContract, ModelName extends string & keyof TContract
|
|
158
|
-
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> {
|
|
159
195
|
/** Narrows to a specific variant, injecting a discriminator filter. */
|
|
160
196
|
variant<V extends VariantNames<TContract, ModelName>>(variantName: V): MongoCollection<TContract, ModelName, TIncludes, V>;
|
|
161
197
|
/** Appends equality filters from a plain object. Values are encoded through codecs. */
|
|
@@ -215,7 +251,7 @@ interface MongoCollection<TContract extends MongoContractWithTypeMaps<MongoContr
|
|
|
215
251
|
update: (u: FieldAccessor<TContract, ModelName>) => FieldOperation[];
|
|
216
252
|
}): Promise<IncludedRow<TContract, ModelName, TIncludes>>;
|
|
217
253
|
}
|
|
218
|
-
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>;
|
|
219
255
|
//#endregion
|
|
220
256
|
//#region src/collection-state.d.ts
|
|
221
257
|
interface MongoIncludeExpr {
|
|
@@ -242,7 +278,7 @@ interface MongoOrmOptions<TContract extends MongoContract> {
|
|
|
242
278
|
readonly contract: TContract;
|
|
243
279
|
readonly executor: MongoQueryExecutor;
|
|
244
280
|
}
|
|
245
|
-
type MongoOrmClient<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>> = { readonly [K in keyof TContract['roots']
|
|
281
|
+
type MongoOrmClient<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>> = { readonly [K in keyof TContract['roots'] & string]: MongoCollection<TContract, RootModelName<TContract, K>> };
|
|
246
282
|
declare function mongoOrm<TContract extends MongoContractWithTypeMaps<MongoContract, MongoTypeMaps>>(options: MongoOrmOptions<TContract>): MongoOrmClient<TContract>;
|
|
247
283
|
//#endregion
|
|
248
284
|
//#region src/raw-collection.d.ts
|
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,8 +1,10 @@
|
|
|
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";
|
|
4
5
|
import { contractModelToMongoResultShape } from "@prisma-next/mongo-query-builder";
|
|
5
6
|
import { ifDefined } from "@prisma-next/utils/defined";
|
|
7
|
+
import { blindCast } from "@prisma-next/utils/casts";
|
|
6
8
|
//#region src/collection-state.ts
|
|
7
9
|
function emptyCollectionState() {
|
|
8
10
|
return {
|
|
@@ -162,12 +164,12 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
162
164
|
this.#contract = contract;
|
|
163
165
|
this.#modelName = modelName;
|
|
164
166
|
this.#executor = executor;
|
|
165
|
-
const model = contract
|
|
167
|
+
const model = contractModels(contract)[modelName];
|
|
166
168
|
this.#collectionName = resolveCollectionName(model, modelName);
|
|
167
169
|
this.#state = emptyCollectionState();
|
|
168
170
|
}
|
|
169
171
|
variant(variantName) {
|
|
170
|
-
const model = this.#contract
|
|
172
|
+
const model = contractModels(this.#contract)[this.#modelName];
|
|
171
173
|
if (!model?.discriminator || !model.variants) return this;
|
|
172
174
|
const variantEntry = model.variants[variantName];
|
|
173
175
|
if (!variantEntry) return this;
|
|
@@ -183,18 +185,19 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
183
185
|
return this.#clone({ selectedFields: [...this.#state.selectedFields ?? [], ...fields] });
|
|
184
186
|
}
|
|
185
187
|
include(relationName) {
|
|
186
|
-
const relation = this.#contract
|
|
188
|
+
const relation = contractModels(this.#contract)[this.#modelName].relations?.[relationName];
|
|
187
189
|
if (!relation) throw new Error(`Unknown relation "${relationName}" on model "${this.#modelName}"`);
|
|
188
190
|
if (!("on" in relation)) throw new Error(`Relation "${relationName}" is an embed relation — only reference relations can be included`);
|
|
189
191
|
const ref = relation;
|
|
190
192
|
const localField = ref.on.localFields[0];
|
|
191
193
|
const foreignField = ref.on.targetFields[0];
|
|
192
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}"`);
|
|
193
|
-
const
|
|
194
|
-
|
|
195
|
+
const targetModelName = ref.to.model;
|
|
196
|
+
const targetModel = contractModels(this.#contract)[targetModelName];
|
|
197
|
+
if (!targetModel) throw new Error(`Target model "${targetModelName}" not found for relation "${relationName}"`);
|
|
195
198
|
const includeExpr = {
|
|
196
199
|
relationName,
|
|
197
|
-
from: resolveCollectionName(targetModel,
|
|
200
|
+
from: resolveCollectionName(targetModel, targetModelName),
|
|
198
201
|
localField,
|
|
199
202
|
foreignField,
|
|
200
203
|
cardinality: ref.cardinality
|
|
@@ -362,7 +365,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
362
365
|
return this.#executor.execute(plan);
|
|
363
366
|
}
|
|
364
367
|
#compile() {
|
|
365
|
-
const model = this.#contract
|
|
368
|
+
const model = contractModels(this.#contract)[this.#modelName];
|
|
366
369
|
if (!model) throw new Error(`Unknown model: "${this.#modelName}".`);
|
|
367
370
|
return compileMongoQuery(this.#collectionName, this.#state, this.#contract.storage.storageHash, model);
|
|
368
371
|
}
|
|
@@ -381,7 +384,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
381
384
|
return rows;
|
|
382
385
|
}
|
|
383
386
|
#modelFields() {
|
|
384
|
-
return this.#contract
|
|
387
|
+
return contractModels(this.#contract)[this.#modelName]?.fields ?? {};
|
|
385
388
|
}
|
|
386
389
|
#compileWhereObject(data) {
|
|
387
390
|
const fields = this.#modelFields();
|
|
@@ -398,7 +401,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
398
401
|
if (field.type.kind === "scalar") return new MongoParamRef(value, { codecId: field.type.codecId });
|
|
399
402
|
if (field.type.kind === "valueObject") {
|
|
400
403
|
const voName = field.type.name;
|
|
401
|
-
const voDef = this.#contract
|
|
404
|
+
const voDef = contractValueObjects(this.#contract)?.[voName];
|
|
402
405
|
if (!voDef || value === null) return new MongoParamRef(value);
|
|
403
406
|
if (field.many && Array.isArray(value)) return value.map((item) => this.#wrapValueObject(item, voDef));
|
|
404
407
|
return this.#wrapValueObject(value, voDef);
|
|
@@ -457,7 +460,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
457
460
|
const raw = value.value;
|
|
458
461
|
if (typeof raw === "object" && raw !== null && !Array.isArray(raw)) {
|
|
459
462
|
const voName = contractField.type.name;
|
|
460
|
-
const voDef = this.#contract
|
|
463
|
+
const voDef = contractValueObjects(this.#contract)?.[voName];
|
|
461
464
|
if (voDef) return this.#wrapValueObject(raw, voDef);
|
|
462
465
|
}
|
|
463
466
|
}
|
|
@@ -470,7 +473,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
470
473
|
for (let i = 1; i < parts.length; i++) {
|
|
471
474
|
if (!currentField || currentField.type.kind !== "valueObject") return value;
|
|
472
475
|
const voName = currentField.type.name;
|
|
473
|
-
const voDef = this.#contract
|
|
476
|
+
const voDef = contractValueObjects(this.#contract)?.[voName];
|
|
474
477
|
if (!voDef) return value;
|
|
475
478
|
const partKey = parts[i];
|
|
476
479
|
currentField = partKey ? voDef.fields[partKey] : void 0;
|
|
@@ -480,7 +483,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
480
483
|
const raw = value.value;
|
|
481
484
|
if (typeof raw === "object" && raw !== null && !Array.isArray(raw)) {
|
|
482
485
|
const voName = currentField.type.name;
|
|
483
|
-
const voDef = this.#contract
|
|
486
|
+
const voDef = contractValueObjects(this.#contract)?.[voName];
|
|
484
487
|
if (voDef) return this.#wrapValueObject(raw, voDef);
|
|
485
488
|
}
|
|
486
489
|
}
|
|
@@ -509,7 +512,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
|
|
|
509
512
|
}
|
|
510
513
|
#injectDiscriminator(data) {
|
|
511
514
|
if (!this.#variantName) return data;
|
|
512
|
-
const model = this.#contract
|
|
515
|
+
const model = contractModels(this.#contract)[this.#modelName];
|
|
513
516
|
if (!model?.discriminator || !model.variants) return data;
|
|
514
517
|
const variantEntry = model.variants[this.#variantName];
|
|
515
518
|
if (!variantEntry) return data;
|
|
@@ -547,7 +550,7 @@ function createMongoCollection(contract, modelName, executor) {
|
|
|
547
550
|
function mongoOrm(options) {
|
|
548
551
|
const { contract, executor } = options;
|
|
549
552
|
const client = {};
|
|
550
|
-
for (const [rootName,
|
|
553
|
+
for (const [rootName, rootRef] of Object.entries(contract.roots)) client[rootName] = createMongoCollection(contract, blindCast(rootRef.model), executor);
|
|
551
554
|
return client;
|
|
552
555
|
}
|
|
553
556
|
//#endregion
|
|
@@ -595,9 +598,10 @@ function createRawMongoCollection(collectionName, meta) {
|
|
|
595
598
|
function mongoRaw(options) {
|
|
596
599
|
const { contract } = options;
|
|
597
600
|
return { collection(rootName) {
|
|
598
|
-
const modelName = contract.roots[rootName];
|
|
599
|
-
|
|
600
|
-
|
|
601
|
+
const modelName = contract.roots[rootName]?.model;
|
|
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, {
|
|
601
605
|
target: "mongo",
|
|
602
606
|
storageHash: contract.storage.storageHash,
|
|
603
607
|
lane: "mongo-raw"
|