@prisma/orm-family-mongo 0.16.0-dev.36
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/LICENSE +201 -0
- package/README.md +27 -0
- package/dist/authoring-entity-types-BGtkMyoN-D32kzx28.mjs +176 -0
- package/dist/authoring-entity-types-BGtkMyoN-D32kzx28.mjs.map +1 -0
- package/dist/canonicalization-hooks-DF3Z6sjO.mjs +22 -0
- package/dist/canonicalization-hooks-DF3Z6sjO.mjs.map +1 -0
- package/dist/codec.d.mts +2 -0
- package/dist/codec.mjs +2 -0
- package/dist/config-types-CFDf9ivE.mjs +37 -0
- package/dist/config-types-CFDf9ivE.mjs.map +1 -0
- package/dist/config-types-CQOf5N7R.d.mts +12 -0
- package/dist/config-types-CQOf5N7R.d.mts.map +1 -0
- package/dist/contract-builder-BFq0gOMV.mjs +634 -0
- package/dist/contract-builder-BFq0gOMV.mjs.map +1 -0
- package/dist/contract-builder-DB8nguDE.d.mts +445 -0
- package/dist/contract-builder-DB8nguDE.d.mts.map +1 -0
- package/dist/contract-errors-BCN6RVI5-kMurtAbI.mjs +9 -0
- package/dist/contract-errors-BCN6RVI5-kMurtAbI.mjs.map +1 -0
- package/dist/contract-psl.d.mts +45 -0
- package/dist/contract-psl.d.mts.map +1 -0
- package/dist/contract-psl.mjs +2 -0
- package/dist/contract-psl__provider.d.mts +15 -0
- package/dist/contract-psl__provider.d.mts.map +1 -0
- package/dist/contract-psl__provider.mjs +82 -0
- package/dist/contract-psl__provider.mjs.map +1 -0
- package/dist/contract-ts.d.mts +3 -0
- package/dist/contract-ts.mjs +3 -0
- package/dist/contract-ts__config-types.d.mts +2 -0
- package/dist/contract-ts__config-types.mjs +2 -0
- package/dist/contract-ts__contract-builder.d.mts +2 -0
- package/dist/contract-ts__contract-builder.mjs +2 -0
- package/dist/contract.d.mts +3 -0
- package/dist/contract.mjs +3 -0
- package/dist/contract__canonicalization-hooks.d.mts +9 -0
- package/dist/contract__canonicalization-hooks.d.mts.map +1 -0
- package/dist/contract__canonicalization-hooks.mjs +2 -0
- package/dist/contract__entity-kinds.d.mts +17 -0
- package/dist/contract__entity-kinds.d.mts.map +1 -0
- package/dist/contract__entity-kinds.mjs +2 -0
- package/dist/control-C7-kthr1.d.mts +193 -0
- package/dist/control-C7-kthr1.d.mts.map +1 -0
- package/dist/control-CClR5JMr.mjs +127 -0
- package/dist/control-CClR5JMr.mjs.map +1 -0
- package/dist/control-CFr3tYsg.mjs +398 -0
- package/dist/control-CFr3tYsg.mjs.map +1 -0
- package/dist/control-Cj81sPbj.d.mts +101 -0
- package/dist/control-Cj81sPbj.d.mts.map +1 -0
- package/dist/control-adapter-Db5pT77b.d.mts +83 -0
- package/dist/control-adapter-Db5pT77b.d.mts.map +1 -0
- package/dist/dist-C7Ykq48Q.mjs +19 -0
- package/dist/dist-C7Ykq48Q.mjs.map +1 -0
- package/dist/dist-Czwqx_i3.mjs +58 -0
- package/dist/dist-Czwqx_i3.mjs.map +1 -0
- package/dist/dist-DHrEJnhK.mjs +236 -0
- package/dist/dist-DHrEJnhK.mjs.map +1 -0
- package/dist/dist-Dyp05u64.mjs +1546 -0
- package/dist/dist-Dyp05u64.mjs.map +1 -0
- package/dist/emitter.d.mts +22 -0
- package/dist/emitter.d.mts.map +1 -0
- package/dist/emitter.mjs +2 -0
- package/dist/entity-kinds-B4KNTF8z-DPIuUuuB.mjs +603 -0
- package/dist/entity-kinds-B4KNTF8z-DPIuUuuB.mjs.map +1 -0
- package/dist/execution-CKnUiOfm.d.mts +48 -0
- package/dist/execution-CKnUiOfm.d.mts.map +1 -0
- package/dist/execution-D5XyZ5XS.mjs +1269 -0
- package/dist/execution-D5XyZ5XS.mjs.map +1 -0
- package/dist/exports-Bx-hlnZ3.mjs +209 -0
- package/dist/exports-Bx-hlnZ3.mjs.map +1 -0
- package/dist/exports-CJMh0VTU.mjs +156 -0
- package/dist/exports-CJMh0VTU.mjs.map +1 -0
- package/dist/family.d.mts +10 -0
- package/dist/family.mjs +9 -0
- package/dist/family__control-adapter.d.mts +2 -0
- package/dist/family__control-adapter.mjs +1 -0
- package/dist/family__control.d.mts +2 -0
- package/dist/family__control.mjs +3 -0
- package/dist/family__ir.d.mts +3 -0
- package/dist/family__ir.mjs +4 -0
- package/dist/family__migration.d.mts +2 -0
- package/dist/family__migration.mjs +2 -0
- package/dist/family__pack.d.mts +2 -0
- package/dist/family__pack.mjs +16 -0
- package/dist/family__pack.mjs.map +1 -0
- package/dist/family__runtime.d.mts +3 -0
- package/dist/family__runtime.mjs +2 -0
- package/dist/family__schema-verify.d.mts +2 -0
- package/dist/family__schema-verify.mjs +2 -0
- package/dist/field-accessor-0oUt6RZC-B_Z30uAA.mjs +234 -0
- package/dist/field-accessor-0oUt6RZC-B_Z30uAA.mjs.map +1 -0
- package/dist/field-accessor-DHsAPiW3-BdYCspQC.d.mts +588 -0
- package/dist/field-accessor-DHsAPiW3-BdYCspQC.d.mts.map +1 -0
- package/dist/filter-expressions-Uo8ZdzwB-53qnqceS.mjs +181 -0
- package/dist/filter-expressions-Uo8ZdzwB-53qnqceS.mjs.map +1 -0
- package/dist/index-BR0ue13b.d.mts +136 -0
- package/dist/index-BR0ue13b.d.mts.map +1 -0
- package/dist/index-Cd2zLiU6.d.mts +128 -0
- package/dist/index-Cd2zLiU6.d.mts.map +1 -0
- package/dist/index-DAOkcTCK.d.mts +151 -0
- package/dist/index-DAOkcTCK.d.mts.map +1 -0
- package/dist/index-Dv2PNMiG.d.mts +53 -0
- package/dist/index-Dv2PNMiG.d.mts.map +1 -0
- package/dist/index-DxoO-ywI.d.mts +178 -0
- package/dist/index-DxoO-ywI.d.mts.map +1 -0
- package/dist/index-wKMm41HC.d.mts +30 -0
- package/dist/index-wKMm41HC.d.mts.map +1 -0
- package/dist/interpreter-BxbUTQ3k-ClR98Ned.mjs +1091 -0
- package/dist/interpreter-BxbUTQ3k-ClR98Ned.mjs.map +1 -0
- package/dist/ir-CQrenTYt.d.mts +147 -0
- package/dist/ir-CQrenTYt.d.mts.map +1 -0
- package/dist/ir-Ch2aPr7a.mjs +62 -0
- package/dist/ir-Ch2aPr7a.mjs.map +1 -0
- package/dist/lowering.d.mts +2 -0
- package/dist/lowering.mjs +1 -0
- package/dist/migration-CNDQv5yB.d.mts +50 -0
- package/dist/migration-CNDQv5yB.d.mts.map +1 -0
- package/dist/migration-dcM7u4HG.mjs +52 -0
- package/dist/migration-dcM7u4HG.mjs.map +1 -0
- package/dist/mongo-contract-serializer-Cx7Fae8e-C8ZYPXpc.mjs +119 -0
- package/dist/mongo-contract-serializer-Cx7Fae8e-C8ZYPXpc.mjs.map +1 -0
- package/dist/mongo-contract-view-AnejqfrQ-BaCFT0xm.d.mts +27 -0
- package/dist/mongo-contract-view-AnejqfrQ-BaCFT0xm.d.mts.map +1 -0
- package/dist/mongo-contract-view-rcWzby6f-wRBCUnBt.mjs +17 -0
- package/dist/mongo-contract-view-rcWzby6f-wRBCUnBt.mjs.map +1 -0
- package/dist/mongo-value-set-tNn9-pun-dJYx_rVD.d.mts +536 -0
- package/dist/mongo-value-set-tNn9-pun-dJYx_rVD.d.mts.map +1 -0
- package/dist/mongodb-types-B4HmhF1S.d.mts +2 -0
- package/dist/orm.d.mts +311 -0
- package/dist/orm.d.mts.map +1 -0
- package/dist/orm.mjs +664 -0
- package/dist/orm.mjs.map +1 -0
- package/dist/pack-D9aLY50F.d.mts +44 -0
- package/dist/pack-D9aLY50F.d.mts.map +1 -0
- package/dist/query-ast.d.mts +5 -0
- package/dist/query-ast.mjs +4 -0
- package/dist/query-ast__control.d.mts +4 -0
- package/dist/query-ast__control.mjs +3 -0
- package/dist/query-ast__execution.d.mts +3 -0
- package/dist/query-ast__execution.mjs +3 -0
- package/dist/query-builder.d.mts +836 -0
- package/dist/query-builder.d.mts.map +1 -0
- package/dist/query-builder.mjs +3 -0
- package/dist/query-builder__contract-free.d.mts +83 -0
- package/dist/query-builder__contract-free.d.mts.map +1 -0
- package/dist/query-builder__contract-free.mjs +107 -0
- package/dist/query-builder__contract-free.mjs.map +1 -0
- package/dist/query-plan-C0-Yu8hf-DdilEdW6.d.mts +822 -0
- package/dist/query-plan-C0-Yu8hf-DdilEdW6.d.mts.map +1 -0
- package/dist/runtime-DPkRW4iu.d.mts +1 -0
- package/dist/runtime.d.mts +286 -0
- package/dist/runtime.d.mts.map +1 -0
- package/dist/runtime.mjs +532 -0
- package/dist/runtime.mjs.map +1 -0
- package/dist/schema-ir.d.mts +2 -0
- package/dist/schema-ir.mjs +2 -0
- package/dist/schema-verify-DJGr28XW.d.mts +23 -0
- package/dist/schema-verify-DJGr28XW.d.mts.map +1 -0
- package/dist/value.d.mts +2 -0
- package/dist/value.mjs +2 -0
- package/dist/value__mongodb-types.d.mts +2 -0
- package/dist/value__mongodb-types.mjs +1 -0
- package/dist/verify-mongo-schema-De0FG2Rm-CCzwnNPY.mjs +447 -0
- package/dist/verify-mongo-schema-De0FG2Rm-CCzwnNPY.mjs.map +1 -0
- package/dist/wire.d.mts +3 -0
- package/dist/wire.mjs +190 -0
- package/dist/wire.mjs.map +1 -0
- package/package.json +89 -0
package/dist/orm.d.mts
ADDED
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
import { C as MongoContract, V as MongoModelsMap, X as MongoUnboundFieldInputTypes, Z as MongoUnboundFieldOutputTypes, at as RootModelName, n as ExtractMongoCodecTypes, o as InferModelRow, t as AnyMongoTypeMaps, w as MongoContractWithTypeMaps, z as MongoModelDefinition } from "./mongo-value-set-tNn9-pun-dJYx_rVD.mjs";
|
|
2
|
+
import "./index-Cd2zLiU6.mjs";
|
|
3
|
+
import { c as MongoValue, t as Document } from "./index-wKMm41HC.mjs";
|
|
4
|
+
import { B as MongoFilterExpr, rt as MongoQueryPlan } from "./query-plan-C0-Yu8hf-DdilEdW6.mjs";
|
|
5
|
+
import "./execution-CKnUiOfm.mjs";
|
|
6
|
+
import { ContractField, ContractReferenceRelation, ContractValueObject, ContractValueObjectDefinitions } from "@prisma/orm-framework/contract/types";
|
|
7
|
+
import { AsyncIterableResult } from "@prisma/orm-framework/components/runtime";
|
|
8
|
+
import { SimplifyDeep } from "@prisma/orm-framework/utils/simplify-deep";
|
|
9
|
+
//#region ../../../2-mongo-family/5-query-builders/orm/dist/index.d.mts
|
|
10
|
+
//#region src/executor.d.ts
|
|
11
|
+
interface MongoQueryExecutor {
|
|
12
|
+
execute<Row>(plan: MongoQueryPlan<Row>): AsyncIterableResult<Row>;
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/field-accessor.d.ts
|
|
16
|
+
type UpdateOperator = '$set' | '$unset' | '$inc' | '$mul' | '$push' | '$pull' | '$addToSet' | '$pop';
|
|
17
|
+
interface FieldOperation {
|
|
18
|
+
readonly operator: UpdateOperator;
|
|
19
|
+
readonly field: string;
|
|
20
|
+
readonly value: MongoValue;
|
|
21
|
+
}
|
|
22
|
+
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 {
|
|
23
|
+
readonly type: {
|
|
24
|
+
readonly kind: 'scalar';
|
|
25
|
+
};
|
|
26
|
+
} ? K : never; }[keyof MongoModelsMap<TContract>[ModelName]['fields'] & string];
|
|
27
|
+
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 {
|
|
28
|
+
readonly type: {
|
|
29
|
+
readonly kind: 'valueObject';
|
|
30
|
+
readonly name: string;
|
|
31
|
+
};
|
|
32
|
+
} ? K : never; }[keyof MongoModelsMap<TContract>[ModelName]['fields'] & string];
|
|
33
|
+
type ResolvedModelRow<TContract extends MongoContractWithTypeMaps<MongoContract, AnyMongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>> = InferModelRow<TContract, ModelName>;
|
|
34
|
+
type ResolveFieldType<TContract extends MongoContractWithTypeMaps<MongoContract, AnyMongoTypeMaps>, 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> ? ResolvedModelRow<TContract, ModelName>[K] : unknown;
|
|
61
|
+
type NumericOps = {
|
|
62
|
+
inc(value: number): FieldOperation;
|
|
63
|
+
mul(value: number): FieldOperation;
|
|
64
|
+
};
|
|
65
|
+
type FieldExpression<T = unknown> = {
|
|
66
|
+
set(value: T): FieldOperation;
|
|
67
|
+
unset(): FieldOperation;
|
|
68
|
+
push(value: T extends readonly (infer E)[] ? E : unknown): FieldOperation;
|
|
69
|
+
pull(match: T extends readonly (infer E)[] ? E | Partial<E> : unknown): FieldOperation;
|
|
70
|
+
addToSet(value: T extends readonly (infer E)[] ? E : unknown): FieldOperation;
|
|
71
|
+
pop(end: 1 | -1): FieldOperation;
|
|
72
|
+
} & (T extends number ? NumericOps : unknown);
|
|
73
|
+
type HasValueObjects = MongoContract;
|
|
74
|
+
type MergedContractValueObjects<TContract extends HasValueObjects> = ContractValueObjectDefinitions<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;
|
|
80
|
+
type VOScalarFieldKeys<Fields extends Record<string, ContractField>> = { [K in keyof Fields & string]: Fields[K] extends {
|
|
81
|
+
readonly type: {
|
|
82
|
+
readonly kind: 'scalar';
|
|
83
|
+
};
|
|
84
|
+
} ? K : never; }[keyof Fields & string];
|
|
85
|
+
type VOValueObjectFieldKeys<Fields extends Record<string, ContractField>> = { [K in keyof Fields & string]: Fields[K] extends {
|
|
86
|
+
readonly type: {
|
|
87
|
+
readonly kind: 'valueObject';
|
|
88
|
+
readonly name: string;
|
|
89
|
+
};
|
|
90
|
+
} ? K : never; }[keyof Fields & string];
|
|
91
|
+
type VODotPaths<TContract extends HasValueObjects, Fields extends Record<string, ContractField>, Prefix extends string> = { [K in VOScalarFieldKeys<Fields>]: `${Prefix}${K}`; }[VOScalarFieldKeys<Fields>] | { [K in VOValueObjectFieldKeys<Fields>]: Fields[K] extends {
|
|
92
|
+
readonly type: {
|
|
93
|
+
readonly kind: 'valueObject';
|
|
94
|
+
readonly name: infer N extends string;
|
|
95
|
+
};
|
|
96
|
+
} ? VODotPaths<TContract, VOFields<TContract, N>, `${Prefix}${K}.`> : never; }[VOValueObjectFieldKeys<Fields>];
|
|
97
|
+
type DotPath<TContract extends MongoContractWithTypeMaps<MongoContract, AnyMongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>> = { [K in ValueObjectFieldKeys<TContract, ModelName>]: MongoModelsMap<TContract>[ModelName]['fields'][K] extends {
|
|
98
|
+
readonly type: {
|
|
99
|
+
readonly kind: 'valueObject';
|
|
100
|
+
readonly name: infer N extends string;
|
|
101
|
+
};
|
|
102
|
+
} ? VODotPaths<TContract, VOFields<TContract, N>, `${K}.`> : never; }[ValueObjectFieldKeys<TContract, ModelName>];
|
|
103
|
+
type ResolveDotPathInFields<TContract extends HasValueObjects, Fields extends Record<string, ContractField>, Path extends string, TCodecTypes extends Record<string, {
|
|
104
|
+
output: unknown;
|
|
105
|
+
}>> = Path extends `${infer Head}.${infer Rest}` ? Head extends keyof Fields & string ? Fields[Head] extends {
|
|
106
|
+
readonly type: {
|
|
107
|
+
readonly kind: 'valueObject';
|
|
108
|
+
readonly name: infer N extends string;
|
|
109
|
+
};
|
|
110
|
+
} ? ResolveDotPathInFields<TContract, VOFields<TContract, N>, Rest, TCodecTypes> : never : never : Path extends keyof Fields & string ? Fields[Path] extends {
|
|
111
|
+
readonly type: {
|
|
112
|
+
readonly kind: 'scalar';
|
|
113
|
+
readonly codecId: infer CId extends string & keyof TCodecTypes;
|
|
114
|
+
};
|
|
115
|
+
} ? TCodecTypes[CId]['output'] : unknown : never;
|
|
116
|
+
type ResolveDotPathType<TContract extends MongoContractWithTypeMaps<MongoContract, AnyMongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, Path extends string, TCodecTypes extends Record<string, {
|
|
117
|
+
output: unknown;
|
|
118
|
+
}> = ExtractMongoCodecTypes<TContract>> = Path extends `${infer Head}.${infer Rest}` ? Head extends keyof MongoModelsMap<TContract>[ModelName]['fields'] & string ? MongoModelsMap<TContract>[ModelName]['fields'][Head] extends {
|
|
119
|
+
readonly type: {
|
|
120
|
+
readonly kind: 'valueObject';
|
|
121
|
+
readonly name: infer N extends string;
|
|
122
|
+
};
|
|
123
|
+
} ? ResolveDotPathInFields<TContract, VOFields<TContract, N>, Rest, TCodecTypes> : never : never : never;
|
|
124
|
+
type FieldAccessor<TContract extends MongoContractWithTypeMaps<MongoContract, AnyMongoTypeMaps>, 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, AnyMongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, TCodecTypes extends Record<string, {
|
|
128
|
+
output: unknown;
|
|
129
|
+
}> = ExtractMongoCodecTypes<TContract>>(): FieldAccessor<TContract, ModelName, TCodecTypes>;
|
|
130
|
+
//#endregion
|
|
131
|
+
//#region src/types.d.ts
|
|
132
|
+
type Simplify<T> = T extends unknown ? { [K in keyof T]: T[K]; } : never;
|
|
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, AnyMongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>> = string extends keyof MongoUnboundFieldOutputTypes<TContract> ? InferModelRow<TContract, ModelName> : ModelName extends keyof MongoUnboundFieldOutputTypes<TContract> ? { -readonly [K in keyof MongoUnboundFieldOutputTypes<TContract>[ModelName]]: MongoUnboundFieldOutputTypes<TContract>[ModelName][K]; } : InferModelRow<TContract, ModelName>;
|
|
137
|
+
type ResolvedInputRow<TContract extends MongoContractWithTypeMaps<MongoContract, AnyMongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>> = string extends keyof MongoUnboundFieldInputTypes<TContract> ? InferModelRow<TContract, ModelName> : ModelName extends keyof MongoUnboundFieldInputTypes<TContract> ? { -readonly [K in keyof MongoUnboundFieldInputTypes<TContract>[ModelName]]: MongoUnboundFieldInputTypes<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, AnyMongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, RelKey extends keyof ModelRelations<TContract, ModelName>> = ModelRelations<TContract, ModelName>[RelKey] extends (infer R) ? R extends {
|
|
144
|
+
readonly cardinality: infer C;
|
|
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, AnyMongoTypeMaps>, 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, AnyMongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>> = MongoModelsMap<TContract>[ModelName] extends {
|
|
148
|
+
readonly discriminator: {
|
|
149
|
+
readonly field: infer DiscField extends string;
|
|
150
|
+
};
|
|
151
|
+
readonly variants: infer V;
|
|
152
|
+
} ? V extends Record<string, {
|
|
153
|
+
readonly value: string;
|
|
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, AnyMongoTypeMaps>, 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 {
|
|
157
|
+
readonly variants: infer V extends Record<string, unknown>;
|
|
158
|
+
} ? keyof V & string : never;
|
|
159
|
+
type VariantModelRow<TContract extends MongoContractWithTypeMaps<MongoContract, AnyMongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, VariantName extends string> = MongoModelsMap<TContract>[ModelName] extends {
|
|
160
|
+
readonly discriminator: {
|
|
161
|
+
readonly field: infer DiscField extends string;
|
|
162
|
+
};
|
|
163
|
+
readonly variants: infer V;
|
|
164
|
+
} ? V extends Record<string, {
|
|
165
|
+
readonly value: string;
|
|
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, AnyMongoTypeMaps>, 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 {
|
|
168
|
+
readonly cardinality: infer C;
|
|
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, AnyMongoTypeMaps>, 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, AnyMongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, TCodecTypes extends Record<string, {
|
|
172
|
+
output: unknown;
|
|
173
|
+
}> = ExtractMongoCodecTypes<TContract>> = { readonly [K in keyof MongoModelsMap<TContract>[ModelName]['fields']]?: MongoModelsMap<TContract>[ModelName]['fields'][K] extends {
|
|
174
|
+
readonly type: {
|
|
175
|
+
readonly kind: 'scalar';
|
|
176
|
+
readonly codecId: infer CId extends string & keyof TCodecTypes;
|
|
177
|
+
};
|
|
178
|
+
} ? TCodecTypes[CId]['output'] : unknown; };
|
|
179
|
+
type MongoIncludeSpec<TContract extends MongoContract, ModelName extends string & keyof MongoModelsMap<TContract>> = { readonly [K in ReferenceRelationKeys<TContract, ModelName>]?: true; };
|
|
180
|
+
type NoIncludes = Pick<Record<string, boolean>, never>;
|
|
181
|
+
type IncludedRow<TContract extends MongoContractWithTypeMaps<MongoContract, AnyMongoTypeMaps>, 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, AnyMongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>> = ResolvedOutputRow<TContract, ModelName>;
|
|
183
|
+
type CreateInput<TContract extends MongoContractWithTypeMaps<MongoContract, AnyMongoTypeMaps>, 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 {
|
|
185
|
+
readonly discriminator: {
|
|
186
|
+
readonly field: infer F extends string;
|
|
187
|
+
};
|
|
188
|
+
} ? F : never;
|
|
189
|
+
type VariantCreateInput<TContract extends MongoContractWithTypeMaps<MongoContract, AnyMongoTypeMaps>, 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, AnyMongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, TVariant extends string> = [TVariant] extends [never] ? CreateInput<TContract, ModelName> : VariantCreateInput<TContract, ModelName, TVariant>;
|
|
191
|
+
//#endregion
|
|
192
|
+
//#region src/collection.d.ts
|
|
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, AnyMongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>, TIncludes extends MongoIncludeSpec<TContract, ModelName> = NoIncludes, TVariant extends string = never> {
|
|
195
|
+
/** Narrows to a specific variant, injecting a discriminator filter. */
|
|
196
|
+
variant<V extends VariantNames<TContract, ModelName>>(variantName: V): MongoCollection<TContract, ModelName, TIncludes, V>;
|
|
197
|
+
/** Appends equality filters from a plain object. Values are encoded through codecs. */
|
|
198
|
+
where(filter: MongoWhereFilter<TContract, ModelName>): MongoCollection<TContract, ModelName, TIncludes, TVariant>;
|
|
199
|
+
/** Appends a filter condition from a raw filter expression. */
|
|
200
|
+
where(filter: MongoFilterExpr): MongoCollection<TContract, ModelName, TIncludes, TVariant>;
|
|
201
|
+
/** Restricts returned fields to the given subset. Returns a new immutable collection. */
|
|
202
|
+
select(...fields: ModelFieldKeys<TContract, ModelName>[]): MongoCollection<TContract, ModelName, TIncludes, TVariant>;
|
|
203
|
+
/** Adds a `$lookup` for a reference relation. Returns a new immutable collection. */
|
|
204
|
+
include<K extends ReferenceRelationKeys<TContract, ModelName> & string>(relationName: K): MongoCollection<TContract, ModelName, TIncludes & Record<K, true>, TVariant>;
|
|
205
|
+
/** Sets sort order. Returns a new immutable collection. */
|
|
206
|
+
orderBy(spec: Partial<Record<ModelFieldKeys<TContract, ModelName>, 1 | -1>>): MongoCollection<TContract, ModelName, TIncludes, TVariant>;
|
|
207
|
+
/** Limits the number of results. Returns a new immutable collection. */
|
|
208
|
+
take(n: number): MongoCollection<TContract, ModelName, TIncludes, TVariant>;
|
|
209
|
+
/** Skips the first `n` results. Returns a new immutable collection. */
|
|
210
|
+
skip(n: number): MongoCollection<TContract, ModelName, TIncludes, TVariant>;
|
|
211
|
+
/** Executes the query and returns all matching rows as an async iterable. */
|
|
212
|
+
all(): AsyncIterableResult<IncludedRow<TContract, ModelName, TIncludes>>;
|
|
213
|
+
/** Executes the query with limit 1. Returns the first matching row or `null`. */
|
|
214
|
+
first(): Promise<IncludedRow<TContract, ModelName, TIncludes> | null>;
|
|
215
|
+
/** Returns the input data with the server-assigned `_id`. Does not re-read the stored document. */
|
|
216
|
+
create(data: ResolvedCreateInput<TContract, ModelName, TVariant>): Promise<IncludedRow<TContract, ModelName, TIncludes>>;
|
|
217
|
+
/** Returns input rows with server-assigned `_id`s. Does not re-read stored documents. */
|
|
218
|
+
createAll(data: ReadonlyArray<ResolvedCreateInput<TContract, ModelName, TVariant>>): AsyncIterableResult<IncludedRow<TContract, ModelName, TIncludes>>;
|
|
219
|
+
/** Inserts multiple documents and returns the number inserted. */
|
|
220
|
+
createAndCount(data: ReadonlyArray<ResolvedCreateInput<TContract, ModelName, TVariant>>): Promise<number>;
|
|
221
|
+
/** Updates one matching document via `findOneAndUpdate`. Returns the updated document or `null`. Requires `.where()`. */
|
|
222
|
+
update(data: Partial<DefaultModelRow<TContract, ModelName>>): Promise<IncludedRow<TContract, ModelName, TIncludes> | null>;
|
|
223
|
+
/** Updates one matching document using field operations from a callback. Requires `.where()`. */
|
|
224
|
+
update(callback: (u: FieldAccessor<TContract, ModelName>) => FieldOperation[]): Promise<IncludedRow<TContract, ModelName, TIncludes> | null>;
|
|
225
|
+
/** Non-atomic: captures matching `_id`s, updates, then re-reads by `_id`. Requires `.where()`. */
|
|
226
|
+
updateAll(data: Partial<DefaultModelRow<TContract, ModelName>>): AsyncIterableResult<IncludedRow<TContract, ModelName, TIncludes>>;
|
|
227
|
+
/** Updates all matching documents using field operations from a callback. Requires `.where()`. */
|
|
228
|
+
updateAll(callback: (u: FieldAccessor<TContract, ModelName>) => FieldOperation[]): AsyncIterableResult<IncludedRow<TContract, ModelName, TIncludes>>;
|
|
229
|
+
/** Updates all matching documents and returns the number modified. Requires `.where()`. */
|
|
230
|
+
updateAndCount(data: Partial<DefaultModelRow<TContract, ModelName>>): Promise<number>;
|
|
231
|
+
/** Updates all matching documents using field operations and returns the number modified. Requires `.where()`. */
|
|
232
|
+
updateAndCount(callback: (u: FieldAccessor<TContract, ModelName>) => FieldOperation[]): Promise<number>;
|
|
233
|
+
/** Deletes one matching document via `findOneAndDelete`. Returns the deleted document or `null`. Requires `.where()`. */
|
|
234
|
+
delete(): Promise<IncludedRow<TContract, ModelName, TIncludes> | null>;
|
|
235
|
+
/** Non-atomic: reads matching docs then deletes them. Concurrent writes may cause stale results. Requires `.where()`. */
|
|
236
|
+
deleteAll(): AsyncIterableResult<IncludedRow<TContract, ModelName, TIncludes>>;
|
|
237
|
+
/** Deletes all matching documents and returns the number deleted. Requires `.where()`. */
|
|
238
|
+
deleteAndCount(): Promise<number>;
|
|
239
|
+
/**
|
|
240
|
+
* On insert: `update` fields are applied via `$set`, remaining `create` fields via `$setOnInsert`.
|
|
241
|
+
* This means `update` values take precedence over `create` for overlapping fields on insert.
|
|
242
|
+
* Requires `.where()`.
|
|
243
|
+
*/
|
|
244
|
+
upsert(input: {
|
|
245
|
+
create: ResolvedCreateInput<TContract, ModelName, TVariant>;
|
|
246
|
+
update: Partial<DefaultModelRow<TContract, ModelName>>;
|
|
247
|
+
}): Promise<IncludedRow<TContract, ModelName, TIncludes>>;
|
|
248
|
+
/** Upsert using field operations callback for the update part. Requires `.where()`. */
|
|
249
|
+
upsert(input: {
|
|
250
|
+
create: ResolvedCreateInput<TContract, ModelName, TVariant>;
|
|
251
|
+
update: (u: FieldAccessor<TContract, ModelName>) => FieldOperation[];
|
|
252
|
+
}): Promise<IncludedRow<TContract, ModelName, TIncludes>>;
|
|
253
|
+
}
|
|
254
|
+
declare function createMongoCollection<TContract extends MongoContractWithTypeMaps<MongoContract, AnyMongoTypeMaps>, ModelName extends string & keyof MongoModelsMap<TContract>>(contract: TContract, modelName: ModelName, executor: MongoQueryExecutor): MongoCollection<TContract, ModelName>;
|
|
255
|
+
//#endregion
|
|
256
|
+
//#region src/collection-state.d.ts
|
|
257
|
+
interface MongoIncludeExpr {
|
|
258
|
+
readonly relationName: string;
|
|
259
|
+
readonly from: string;
|
|
260
|
+
readonly localField: string;
|
|
261
|
+
readonly foreignField: string;
|
|
262
|
+
readonly cardinality: '1:1' | 'N:1' | '1:N' | 'N:M';
|
|
263
|
+
}
|
|
264
|
+
interface MongoCollectionState {
|
|
265
|
+
readonly filters: readonly MongoFilterExpr[];
|
|
266
|
+
readonly includes: readonly MongoIncludeExpr[];
|
|
267
|
+
readonly orderBy: Readonly<Record<string, 1 | -1>> | undefined;
|
|
268
|
+
readonly selectedFields: readonly string[] | undefined;
|
|
269
|
+
readonly limit: number | undefined;
|
|
270
|
+
readonly offset: number | undefined;
|
|
271
|
+
}
|
|
272
|
+
//#endregion
|
|
273
|
+
//#region src/compile.d.ts
|
|
274
|
+
declare function compileMongoQuery<Row = unknown>(collection: string, state: MongoCollectionState, storageHash: string, model: MongoModelDefinition): MongoQueryPlan<Row>;
|
|
275
|
+
//#endregion
|
|
276
|
+
//#region src/mongo-orm.d.ts
|
|
277
|
+
interface MongoOrmOptions<TContract extends MongoContract> {
|
|
278
|
+
readonly contract: TContract;
|
|
279
|
+
readonly executor: MongoQueryExecutor;
|
|
280
|
+
}
|
|
281
|
+
type MongoOrmClient<TContract extends MongoContractWithTypeMaps<MongoContract, AnyMongoTypeMaps>> = { readonly [K in keyof TContract['roots'] & string]: MongoCollection<TContract, RootModelName<TContract, K>>; };
|
|
282
|
+
declare function mongoOrm<TContract extends MongoContractWithTypeMaps<MongoContract, AnyMongoTypeMaps>>(options: MongoOrmOptions<TContract>): MongoOrmClient<TContract>;
|
|
283
|
+
//#endregion
|
|
284
|
+
//#region src/raw-collection.d.ts
|
|
285
|
+
interface Buildable<Row = unknown> {
|
|
286
|
+
build(): MongoQueryPlan<Row>;
|
|
287
|
+
}
|
|
288
|
+
interface RawMongoCollection {
|
|
289
|
+
aggregate<Row = Record<string, unknown>>(pipeline: ReadonlyArray<Document>): Buildable<Row>;
|
|
290
|
+
insertOne(document: Document): Buildable;
|
|
291
|
+
insertMany(documents: ReadonlyArray<Document>): Buildable;
|
|
292
|
+
updateOne(filter: Document, update: Document | ReadonlyArray<Document>): Buildable;
|
|
293
|
+
updateMany(filter: Document, update: Document | ReadonlyArray<Document>): Buildable;
|
|
294
|
+
deleteOne(filter: Document): Buildable;
|
|
295
|
+
deleteMany(filter: Document): Buildable;
|
|
296
|
+
findOneAndUpdate(filter: Document, update: Document | ReadonlyArray<Document>, options?: {
|
|
297
|
+
upsert?: boolean;
|
|
298
|
+
}): Buildable;
|
|
299
|
+
findOneAndDelete(filter: Document): Buildable;
|
|
300
|
+
}
|
|
301
|
+
//#endregion
|
|
302
|
+
//#region src/mongo-raw.d.ts
|
|
303
|
+
interface MongoRawClient<TContract extends MongoContract> {
|
|
304
|
+
collection<K extends keyof TContract['roots'] & string>(rootName: K): RawMongoCollection;
|
|
305
|
+
}
|
|
306
|
+
declare function mongoRaw<TContract extends MongoContract>(options: {
|
|
307
|
+
contract: TContract;
|
|
308
|
+
}): MongoRawClient<TContract>;
|
|
309
|
+
//#endregion
|
|
310
|
+
export { type CreateInput, type DefaultModelRow, type DotPath, type FieldAccessor, type FieldExpression, type FieldOperation, type IncludeResultFields, type IncludedRow, type InferFullRow, type InferRootRow, type MongoCollection, type MongoIncludeSpec, type MongoOrmClient, type MongoOrmOptions, type MongoQueryExecutor, type MongoQueryPlan, type MongoRawClient, type MongoWhereFilter, type NoIncludes, type RawMongoCollection, type ResolveDotPathType, type ResolvedCreateInput, type SimplifyDeep, type UpdateOperator, type VariantCreateInput, type VariantModelRow, type VariantNames, compileMongoQuery, createFieldAccessor, createMongoCollection, mongoOrm, mongoRaw };
|
|
311
|
+
//# sourceMappingURL=orm.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orm.d.mts","names":[],"sources":["../../../../2-mongo-family/5-query-builders/orm/dist/index.d.mts"],"mappings":"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"}
|