@ahrowe/mongo 0.0.3 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/db.d.ts +50 -273
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +4 -0
- package/dist/db.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/docs/CLAUDE.md +8 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -191,7 +191,7 @@ first so it releases any leases it's holding.
|
|
|
191
191
|
- `OutboxOp`, `OutboxStatus`, `OutboxRow`, `OUTBOX_COLLECTION` — outbox row shape, for tooling/inspection
|
|
192
192
|
- `DbService<T>` methods: `find`, `findOne`, `findCursor`, `insert`, `updateOne`,
|
|
193
193
|
`updateMany`, `removeOne`, `removeMany`, `count`, `exists`, `aggregate`, `distinct`,
|
|
194
|
-
`createIndex`, `bulkWrite`, `on`, `onPropertiesUpdated`, `eventBus`, `generateId`, `name`
|
|
194
|
+
`createIndex`, `dropIndex`, `bulkWrite`, `on`, `onPropertiesUpdated`, `eventBus`, `generateId`, `name`
|
|
195
195
|
|
|
196
196
|
See [docs/CLAUDE.md](docs/CLAUDE.md) for gotchas (upserts are rejected, `findOne`
|
|
197
197
|
strictness, the opt-in `maxLimit`/`maxBatchSize` caps, `bulkWrite` safety gate).
|
package/dist/db.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ClientSession, UpdateFilter, FindOptions, Filter, UpdateOptions, FindOneAndUpdateOptions, FindOneAndDeleteOptions, BulkWriteOptions, AggregateOptions, ClientSessionOptions, type Document, Collection as MongoCollection } from 'mongodb';
|
|
1
|
+
import { ObjectId, ClientSession, UpdateFilter, FindOptions, Filter, UpdateOptions, FindOneAndUpdateOptions, FindOneAndDeleteOptions, BulkWriteOptions, BulkWriteResult, AggregateOptions, ClientSessionOptions, type Document, type WithId, type InferIdType, type FindCursor, Collection as MongoCollection } from 'mongodb';
|
|
2
2
|
import { EventEmitter } from 'node:events';
|
|
3
3
|
import { type OutboxRow } from './types/outbox.js';
|
|
4
4
|
type ContextProvider = () => unknown;
|
|
@@ -31,22 +31,47 @@ type WithEntityFields = {
|
|
|
31
31
|
createdOn?: Date;
|
|
32
32
|
updatedOn?: Date;
|
|
33
33
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
/** Values that are objects to TypeScript but leaves to an index path (a Date's methods are not fields). */
|
|
35
|
+
type IndexPathLeaf = Date | RegExp | ObjectId | ((...args: any[]) => any);
|
|
36
|
+
/** Decrements the recursion budget below. `never` at 0 stops the expansion. */
|
|
37
|
+
type PathDepth = [never, 0, 1, 2, 3, 4, 5];
|
|
38
|
+
/**
|
|
39
|
+
* Dotted index paths for `T`, e.g. `'title' | 'users' | 'users._id'`, following arrays into their
|
|
40
|
+
* element type the way Mongo's multikey indexes do.
|
|
41
|
+
*
|
|
42
|
+
* Depth-capped, and exported (rather than declared inside `generateService`, where it used to
|
|
43
|
+
* live). Both matter: a function-local type can't be named in the emitted `.d.ts`, so TypeScript
|
|
44
|
+
* inlined its full recursive expansion into `createService`'s return type — once per call site.
|
|
45
|
+
* That cost consumers seconds of checking per concrete entity and never terminated at all for a
|
|
46
|
+
* generic one, which is enough to hang `tsc` on a project that wraps `createService` in its own
|
|
47
|
+
* generic factory. Leave it named, exported, and bounded.
|
|
48
|
+
*/
|
|
49
|
+
export type NestedPaths<T, D extends number = 3> = [D] extends [never] ? never : T extends readonly (infer U)[] ? NestedPaths<U, D> : T extends IndexPathLeaf ? never : T extends object ? {
|
|
50
|
+
[K in keyof T & string]: NonNullable<T[K]> extends infer V ? V extends IndexPathLeaf ? K : V extends object ? K | `${K}.${NestedPaths<V, PathDepth[D]>}` : K : never;
|
|
51
|
+
}[keyof T & string] : never;
|
|
52
|
+
/** Index direction/type accepted by `createIndex`, keyed by any valid path of `T`. */
|
|
53
|
+
export type IndexSpec<T> = Partial<Record<NestedPaths<T> | (keyof T & string), 1 | -1 | 'text' | 'hashed' | '2dsphere' | '2d'>>;
|
|
54
|
+
/**
|
|
55
|
+
* What `createService` returns. Written out rather than inferred: an inferred return type gets
|
|
56
|
+
* inlined in full at every declaration that mentions it (`createService`, `connect`'s return, and
|
|
57
|
+
* every consumer's own `.d.ts`), which is how the `createIndex` path expansion above used to reach
|
|
58
|
+
* consumers dozens of times over. Naming it means all of those emit `DbService<T>` and nothing more.
|
|
59
|
+
* The object literal `generateService` returns is checked against this, so the two can't drift.
|
|
60
|
+
*/
|
|
61
|
+
export interface DbService<T extends WithEntityFields> {
|
|
62
|
+
find: (query: Filter<T>, options?: FindOptions) => Promise<WithId<T>[]>;
|
|
63
|
+
findCursor: (query: Filter<T>, options?: FindOptionsWithReadPref) => FindCursor<WithId<T>>;
|
|
64
|
+
findOne: (query: Filter<T>, options?: FindOptions) => Promise<WithId<T>>;
|
|
65
|
+
updateOne: (query: Filter<T>, updateBody: UpdateFilter<T>, options?: Omit<FindOneAndUpdateOptions, 'upsert'> & {
|
|
41
66
|
returnOriginal?: boolean;
|
|
42
67
|
skipValidation?: boolean;
|
|
43
68
|
meta?: Record<string, unknown>;
|
|
44
69
|
}) => Promise<T | null>;
|
|
45
|
-
upsertOne: (query: Filter<T>, updateBody: UpdateFilter<T>, options?: Omit<FindOneAndUpdateOptions,
|
|
70
|
+
upsertOne: (query: Filter<T>, updateBody: UpdateFilter<T>, options?: Omit<FindOneAndUpdateOptions, 'upsert' | 'returnDocument'> & {
|
|
46
71
|
skipValidation?: boolean;
|
|
47
72
|
meta?: Record<string, unknown>;
|
|
48
73
|
}) => Promise<T>;
|
|
49
|
-
updateMany: (query: Filter<T>, updateBody: UpdateFilter<T> | UpdateFilter<T>[], options?: Omit<UpdateOptions,
|
|
74
|
+
updateMany: (query: Filter<T>, updateBody: UpdateFilter<T> | UpdateFilter<T>[], options?: Omit<UpdateOptions, 'upsert'> & {
|
|
50
75
|
skipValidation?: boolean;
|
|
51
76
|
meta?: Record<string, unknown>;
|
|
52
77
|
maxBatchSize?: number;
|
|
@@ -56,13 +81,13 @@ declare const generateService: <T extends WithEntityFields>(collectionName: stri
|
|
|
56
81
|
matchedCount: number;
|
|
57
82
|
modifiedCount: number;
|
|
58
83
|
upsertedCount: number;
|
|
59
|
-
upsertedId:
|
|
84
|
+
upsertedId: InferIdType<T> | null;
|
|
60
85
|
}>;
|
|
61
86
|
removeOne: (query: Filter<T>, options?: FindOneAndDeleteOptions & {
|
|
62
87
|
meta?: Record<string, unknown>;
|
|
63
|
-
}) => Promise<
|
|
88
|
+
}) => Promise<WithId<T> | null>;
|
|
64
89
|
removeMany: (query: Filter<T>, options?: any) => Promise<{
|
|
65
|
-
results:
|
|
90
|
+
results: WithId<T>[] | undefined;
|
|
66
91
|
acknowledged: boolean;
|
|
67
92
|
deletedCount: number;
|
|
68
93
|
} | {
|
|
@@ -71,10 +96,10 @@ declare const generateService: <T extends WithEntityFields>(collectionName: stri
|
|
|
71
96
|
results: T[] | undefined;
|
|
72
97
|
}>;
|
|
73
98
|
insert: {
|
|
74
|
-
(entitiesToCreate: Omit<T,
|
|
99
|
+
(entitiesToCreate: Omit<T, '_id'> & {
|
|
75
100
|
_id?: string;
|
|
76
101
|
}, options?: any): Promise<T>;
|
|
77
|
-
(entitiesToCreate: (Omit<T,
|
|
102
|
+
(entitiesToCreate: (Omit<T, '_id'> & {
|
|
78
103
|
_id?: string;
|
|
79
104
|
})[], options?: any): Promise<T[]>;
|
|
80
105
|
};
|
|
@@ -82,155 +107,31 @@ declare const generateService: <T extends WithEntityFields>(collectionName: stri
|
|
|
82
107
|
preferReadFromSecondary?: boolean;
|
|
83
108
|
}) => Promise<number>;
|
|
84
109
|
exists: (query: Filter<T>) => Promise<boolean>;
|
|
85
|
-
aggregate: <
|
|
110
|
+
aggregate: <TResult extends Document>(pipeline?: object[], options?: AggregateOptions & {
|
|
86
111
|
preferReadFromSecondary?: boolean;
|
|
87
|
-
}) => Promise<
|
|
112
|
+
}) => Promise<TResult[]>;
|
|
88
113
|
generateId: () => string;
|
|
89
114
|
distinct: (field: keyof T, query: Filter<T>, options?: any) => Promise<any[]>;
|
|
90
115
|
name: string;
|
|
91
|
-
createIndex: (fields:
|
|
116
|
+
createIndex: (fields: IndexSpec<T>, options?: any) => Promise<string>;
|
|
117
|
+
dropIndex: (indexName: string, options?: any) => Promise<Document>;
|
|
92
118
|
on: (eventName: string, callback: (...args: any[]) => void) => EventEmitter<[never]>;
|
|
93
119
|
onPropertiesUpdated: (properties: Array<string | ReadonlyArray<string>>, callback: (...args: any[]) => void) => EventEmitter<[never]>;
|
|
94
120
|
eventBus: EventEmitter<[never]>;
|
|
95
121
|
bulkWrite: (operations: any[], options?: BulkWriteOptions & {
|
|
96
122
|
allowBulkwrite?: boolean;
|
|
97
|
-
}) => Promise<
|
|
98
|
-
}
|
|
123
|
+
}) => Promise<BulkWriteResult>;
|
|
124
|
+
}
|
|
99
125
|
declare const createService: <T extends WithEntityFields>(collectionName: string, validate?: ((entity: T) => {
|
|
100
126
|
error?: unknown;
|
|
101
|
-
}) | null, options?: ServiceOptions) =>
|
|
102
|
-
find: (query: Filter<T>, options?: FindOptions) => Promise<import("mongodb").WithId<T>[]>;
|
|
103
|
-
findCursor: (query: Filter<T>, options?: FindOptionsWithReadPref) => import("mongodb").FindCursor<import("mongodb").WithId<T>>;
|
|
104
|
-
findOne: (query: Filter<T>, options?: FindOptions) => Promise<import("mongodb").WithId<T>>;
|
|
105
|
-
updateOne: (query: Filter<T>, updateBody: UpdateFilter<T>, options?: Omit<FindOneAndUpdateOptions, "upsert"> & {
|
|
106
|
-
returnOriginal?: boolean;
|
|
107
|
-
skipValidation?: boolean;
|
|
108
|
-
meta?: Record<string, unknown>;
|
|
109
|
-
}) => Promise<T | null>;
|
|
110
|
-
upsertOne: (query: Filter<T>, updateBody: UpdateFilter<T>, options?: Omit<FindOneAndUpdateOptions, "upsert" | "returnDocument"> & {
|
|
111
|
-
skipValidation?: boolean;
|
|
112
|
-
meta?: Record<string, unknown>;
|
|
113
|
-
}) => Promise<T>;
|
|
114
|
-
updateMany: (query: Filter<T>, updateBody: UpdateFilter<T> | UpdateFilter<T>[], options?: Omit<UpdateOptions, "upsert"> & {
|
|
115
|
-
skipValidation?: boolean;
|
|
116
|
-
meta?: Record<string, unknown>;
|
|
117
|
-
maxBatchSize?: number;
|
|
118
|
-
}) => Promise<{
|
|
119
|
-
nModified: number;
|
|
120
|
-
acknowledged: boolean;
|
|
121
|
-
matchedCount: number;
|
|
122
|
-
modifiedCount: number;
|
|
123
|
-
upsertedCount: number;
|
|
124
|
-
upsertedId: import("mongodb").InferIdType<T> | null;
|
|
125
|
-
}>;
|
|
126
|
-
removeOne: (query: Filter<T>, options?: FindOneAndDeleteOptions & {
|
|
127
|
-
meta?: Record<string, unknown>;
|
|
128
|
-
}) => Promise<import("mongodb").WithId<T> | null>;
|
|
129
|
-
removeMany: (query: Filter<T>, options?: any) => Promise<{
|
|
130
|
-
results: import("mongodb").WithId<T>[] | undefined;
|
|
131
|
-
acknowledged: boolean;
|
|
132
|
-
deletedCount: number;
|
|
133
|
-
} | {
|
|
134
|
-
acknowledged: boolean;
|
|
135
|
-
deletedCount: number;
|
|
136
|
-
results: T[] | undefined;
|
|
137
|
-
}>;
|
|
138
|
-
insert: {
|
|
139
|
-
(entitiesToCreate: Omit<T, "_id"> & {
|
|
140
|
-
_id?: string;
|
|
141
|
-
}, options?: any): Promise<T>;
|
|
142
|
-
(entitiesToCreate: (Omit<T, "_id"> & {
|
|
143
|
-
_id?: string;
|
|
144
|
-
})[], options?: any): Promise<T[]>;
|
|
145
|
-
};
|
|
146
|
-
count: (query: Filter<T>, options?: {
|
|
147
|
-
preferReadFromSecondary?: boolean;
|
|
148
|
-
}) => Promise<number>;
|
|
149
|
-
exists: (query: Filter<T>) => Promise<boolean>;
|
|
150
|
-
aggregate: <T_1 extends Document>(pipeline?: object[], options?: AggregateOptions & {
|
|
151
|
-
preferReadFromSecondary?: boolean;
|
|
152
|
-
}) => Promise<T_1[]>;
|
|
153
|
-
generateId: () => string;
|
|
154
|
-
distinct: (field: keyof T, query: Filter<T>, options?: any) => Promise<any[]>;
|
|
155
|
-
name: string;
|
|
156
|
-
createIndex: (fields: Partial<Record<keyof T | (T extends object ? { [K in keyof T]: K extends string ? T[K] extends object ? K | `${K}.${T[K] extends infer T_1 ? T_1 extends T[K] ? T_1 extends object ? { [K_2 in keyof T_1]: K_2 extends string ? T_1[K_2] extends object ? K_2 | `${K_2}.${T_1[K_2] extends infer T_2 ? T_2 extends T_1[K_2] ? T_2 extends object ? { [K_3 in keyof T_2]: K_3 extends string ? T_2[K_3] extends object ? K_3 | `${K_3}.${T_2[K_3] extends infer T_3 ? T_3 extends T_2[K_3] ? T_3 extends object ? { [K_4 in keyof T_3]: K_4 extends string ? T_3[K_4] extends object ? K_4 | `${K_4}.${T_3[K_4] extends infer T_4 ? T_4 extends T_3[K_4] ? T_4 extends object ? { [K_5 in keyof T_4]: K_5 extends string ? T_4[K_5] extends object ? K_5 | `${K_5}.${T_4[K_5] extends infer T_5 ? T_5 extends T_4[K_5] ? T_5 extends object ? { [K_6 in keyof T_5]: K_6 extends string ? T_5[K_6] extends object ? K_6 | `${K_6}.${T_5[K_6] extends infer T_6 ? T_6 extends T_5[K_6] ? T_6 extends object ? { [K_7 in keyof T_6]: K_7 extends string ? T_6[K_7] extends object ? K_7 | `${K_7}.${T_6[K_7] extends infer T_7 ? T_7 extends T_6[K_7] ? T_7 extends object ? { [K_8 in keyof T_7]: K_8 extends string ? T_7[K_8] extends object ? K_8 | `${K_8}.${T_7[K_8] extends infer T_8 ? T_8 extends T_7[K_8] ? T_8 extends object ? { [K_9 in keyof T_8]: K_9 extends string ? T_8[K_9] extends object ? K_9 | `${K_9}.${T_8[K_9] extends infer T_9 ? T_9 extends T_8[K_9] ? T_9 extends object ? { [K_10 in keyof T_9]: K_10 extends string ? T_9[K_10] extends object ? K_10 | `${K_10}.${T_9[K_10] extends infer T_10 ? T_10 extends T_9[K_10] ? T_10 extends object ? { [K_11 in keyof T_10]: K_11 extends string ? T_10[K_11] extends object ? K_11 | `${K_11}.${/*elided*/ any}` : K_11 : never; }[keyof T_10] : never : never : never}` : K_10 : never; }[keyof T_9] : never : never : never}` : K_9 : never; }[keyof T_8] : never : never : never}` : K_8 : never; }[keyof T_7] : never : never : never}` : K_7 : never; }[keyof T_6] : never : never : never}` : K_6 : never; }[keyof T_5] : never : never : never}` : K_5 : never; }[keyof T_4] : never : never : never}` : K_4 : never; }[keyof T_3] : never : never : never}` : K_3 : never; }[keyof T_2] : never : never : never}` : K_2 : never; }[keyof T_1] : never : never : never}` : K : never; }[keyof T] : never), 1 | -1>>, options?: any) => Promise<string>;
|
|
157
|
-
on: (eventName: string, callback: (...args: any[]) => void) => EventEmitter<[never]>;
|
|
158
|
-
onPropertiesUpdated: (properties: Array<string | ReadonlyArray<string>>, callback: (...args: any[]) => void) => EventEmitter<[never]>;
|
|
159
|
-
eventBus: EventEmitter<[never]>;
|
|
160
|
-
bulkWrite: (operations: any[], options?: BulkWriteOptions & {
|
|
161
|
-
allowBulkwrite?: boolean;
|
|
162
|
-
}) => Promise<import("mongodb").BulkWriteResult>;
|
|
163
|
-
};
|
|
127
|
+
}) | null, options?: ServiceOptions) => DbService<T>;
|
|
164
128
|
declare const connect: (connectionString: string, databaseName?: string) => {
|
|
165
129
|
createService: <T extends WithEntityFields>(collectionName: string, validate?: ((entity: T) => {
|
|
166
130
|
error?: unknown;
|
|
167
|
-
}) | null, options?: ServiceOptions) =>
|
|
168
|
-
find: (query: Filter<T>, options?: FindOptions) => Promise<import("mongodb").WithId<T>[]>;
|
|
169
|
-
findCursor: (query: Filter<T>, options?: FindOptionsWithReadPref) => import("mongodb").FindCursor<import("mongodb").WithId<T>>;
|
|
170
|
-
findOne: (query: Filter<T>, options?: FindOptions) => Promise<import("mongodb").WithId<T>>;
|
|
171
|
-
updateOne: (query: Filter<T>, updateBody: UpdateFilter<T>, options?: Omit<FindOneAndUpdateOptions, "upsert"> & {
|
|
172
|
-
returnOriginal?: boolean;
|
|
173
|
-
skipValidation?: boolean;
|
|
174
|
-
meta?: Record<string, unknown>;
|
|
175
|
-
}) => Promise<T | null>;
|
|
176
|
-
upsertOne: (query: Filter<T>, updateBody: UpdateFilter<T>, options?: Omit<FindOneAndUpdateOptions, "upsert" | "returnDocument"> & {
|
|
177
|
-
skipValidation?: boolean;
|
|
178
|
-
meta?: Record<string, unknown>;
|
|
179
|
-
}) => Promise<T>;
|
|
180
|
-
updateMany: (query: Filter<T>, updateBody: UpdateFilter<T> | UpdateFilter<T>[], options?: Omit<UpdateOptions, "upsert"> & {
|
|
181
|
-
skipValidation?: boolean;
|
|
182
|
-
meta?: Record<string, unknown>;
|
|
183
|
-
maxBatchSize?: number;
|
|
184
|
-
}) => Promise<{
|
|
185
|
-
nModified: number;
|
|
186
|
-
acknowledged: boolean;
|
|
187
|
-
matchedCount: number;
|
|
188
|
-
modifiedCount: number;
|
|
189
|
-
upsertedCount: number;
|
|
190
|
-
upsertedId: import("mongodb").InferIdType<T> | null;
|
|
191
|
-
}>;
|
|
192
|
-
removeOne: (query: Filter<T>, options?: FindOneAndDeleteOptions & {
|
|
193
|
-
meta?: Record<string, unknown>;
|
|
194
|
-
}) => Promise<import("mongodb").WithId<T> | null>;
|
|
195
|
-
removeMany: (query: Filter<T>, options?: any) => Promise<{
|
|
196
|
-
results: import("mongodb").WithId<T>[] | undefined;
|
|
197
|
-
acknowledged: boolean;
|
|
198
|
-
deletedCount: number;
|
|
199
|
-
} | {
|
|
200
|
-
acknowledged: boolean;
|
|
201
|
-
deletedCount: number;
|
|
202
|
-
results: T[] | undefined;
|
|
203
|
-
}>;
|
|
204
|
-
insert: {
|
|
205
|
-
(entitiesToCreate: Omit<T, "_id"> & {
|
|
206
|
-
_id?: string;
|
|
207
|
-
}, options?: any): Promise<T>;
|
|
208
|
-
(entitiesToCreate: (Omit<T, "_id"> & {
|
|
209
|
-
_id?: string;
|
|
210
|
-
})[], options?: any): Promise<T[]>;
|
|
211
|
-
};
|
|
212
|
-
count: (query: Filter<T>, options?: {
|
|
213
|
-
preferReadFromSecondary?: boolean;
|
|
214
|
-
}) => Promise<number>;
|
|
215
|
-
exists: (query: Filter<T>) => Promise<boolean>;
|
|
216
|
-
aggregate: <T_1 extends Document>(pipeline?: object[], options?: AggregateOptions & {
|
|
217
|
-
preferReadFromSecondary?: boolean;
|
|
218
|
-
}) => Promise<T_1[]>;
|
|
219
|
-
generateId: () => string;
|
|
220
|
-
distinct: (field: keyof T, query: Filter<T>, options?: any) => Promise<any[]>;
|
|
221
|
-
name: string;
|
|
222
|
-
createIndex: (fields: Partial<Record<keyof T | (T extends object ? { [K in keyof T]: K extends string ? T[K] extends object ? K | `${K}.${T[K] extends infer T_1 ? T_1 extends T[K] ? T_1 extends object ? { [K_2 in keyof T_1]: K_2 extends string ? T_1[K_2] extends object ? K_2 | `${K_2}.${T_1[K_2] extends infer T_2 ? T_2 extends T_1[K_2] ? T_2 extends object ? { [K_3 in keyof T_2]: K_3 extends string ? T_2[K_3] extends object ? K_3 | `${K_3}.${T_2[K_3] extends infer T_3 ? T_3 extends T_2[K_3] ? T_3 extends object ? { [K_4 in keyof T_3]: K_4 extends string ? T_3[K_4] extends object ? K_4 | `${K_4}.${T_3[K_4] extends infer T_4 ? T_4 extends T_3[K_4] ? T_4 extends object ? { [K_5 in keyof T_4]: K_5 extends string ? T_4[K_5] extends object ? K_5 | `${K_5}.${T_4[K_5] extends infer T_5 ? T_5 extends T_4[K_5] ? T_5 extends object ? { [K_6 in keyof T_5]: K_6 extends string ? T_5[K_6] extends object ? K_6 | `${K_6}.${T_5[K_6] extends infer T_6 ? T_6 extends T_5[K_6] ? T_6 extends object ? { [K_7 in keyof T_6]: K_7 extends string ? T_6[K_7] extends object ? K_7 | `${K_7}.${T_6[K_7] extends infer T_7 ? T_7 extends T_6[K_7] ? T_7 extends object ? { [K_8 in keyof T_7]: K_8 extends string ? T_7[K_8] extends object ? K_8 | `${K_8}.${T_7[K_8] extends infer T_8 ? T_8 extends T_7[K_8] ? T_8 extends object ? { [K_9 in keyof T_8]: K_9 extends string ? T_8[K_9] extends object ? K_9 | `${K_9}.${T_8[K_9] extends infer T_9 ? T_9 extends T_8[K_9] ? T_9 extends object ? { [K_10 in keyof T_9]: K_10 extends string ? T_9[K_10] extends object ? K_10 | `${K_10}.${T_9[K_10] extends infer T_10 ? T_10 extends T_9[K_10] ? T_10 extends object ? { [K_11 in keyof T_10]: K_11 extends string ? T_10[K_11] extends object ? K_11 | `${K_11}.${/*elided*/ any}` : K_11 : never; }[keyof T_10] : never : never : never}` : K_10 : never; }[keyof T_9] : never : never : never}` : K_9 : never; }[keyof T_8] : never : never : never}` : K_8 : never; }[keyof T_7] : never : never : never}` : K_7 : never; }[keyof T_6] : never : never : never}` : K_6 : never; }[keyof T_5] : never : never : never}` : K_5 : never; }[keyof T_4] : never : never : never}` : K_4 : never; }[keyof T_3] : never : never : never}` : K_3 : never; }[keyof T_2] : never : never : never}` : K_2 : never; }[keyof T_1] : never : never : never}` : K : never; }[keyof T] : never), 1 | -1>>, options?: any) => Promise<string>;
|
|
223
|
-
on: (eventName: string, callback: (...args: any[]) => void) => EventEmitter<[never]>;
|
|
224
|
-
onPropertiesUpdated: (properties: Array<string | ReadonlyArray<string>>, callback: (...args: any[]) => void) => EventEmitter<[never]>;
|
|
225
|
-
eventBus: EventEmitter<[never]>;
|
|
226
|
-
bulkWrite: (operations: any[], options?: BulkWriteOptions & {
|
|
227
|
-
allowBulkwrite?: boolean;
|
|
228
|
-
}) => Promise<import("mongodb").BulkWriteResult>;
|
|
229
|
-
};
|
|
131
|
+
}) | null, options?: ServiceOptions) => DbService<T>;
|
|
230
132
|
on: (eventName: string, callback: (...args: any[]) => void) => EventEmitter<[never]>;
|
|
231
133
|
};
|
|
232
134
|
export declare const disconnect: () => Promise<void>;
|
|
233
|
-
export type DbService<T extends WithEntityFields> = ReturnType<typeof generateService<T>>;
|
|
234
135
|
export { connect, createService };
|
|
235
136
|
export declare const withSession: <R>(callback: (session: ClientSession) => Promise<R>) => Promise<R>;
|
|
236
137
|
export declare const startSession: (options?: ClientSessionOptions) => Promise<ClientSession>;
|
|
@@ -238,136 +139,12 @@ declare const _default: {
|
|
|
238
139
|
connect: (connectionString: string, databaseName?: string) => {
|
|
239
140
|
createService: <T extends WithEntityFields>(collectionName: string, validate?: ((entity: T) => {
|
|
240
141
|
error?: unknown;
|
|
241
|
-
}) | null, options?: ServiceOptions) =>
|
|
242
|
-
find: (query: Filter<T>, options?: FindOptions) => Promise<import("mongodb").WithId<T>[]>;
|
|
243
|
-
findCursor: (query: Filter<T>, options?: FindOptionsWithReadPref) => import("mongodb").FindCursor<import("mongodb").WithId<T>>;
|
|
244
|
-
findOne: (query: Filter<T>, options?: FindOptions) => Promise<import("mongodb").WithId<T>>;
|
|
245
|
-
updateOne: (query: Filter<T>, updateBody: UpdateFilter<T>, options?: Omit<FindOneAndUpdateOptions, "upsert"> & {
|
|
246
|
-
returnOriginal?: boolean;
|
|
247
|
-
skipValidation?: boolean;
|
|
248
|
-
meta?: Record<string, unknown>;
|
|
249
|
-
}) => Promise<T | null>;
|
|
250
|
-
upsertOne: (query: Filter<T>, updateBody: UpdateFilter<T>, options?: Omit<FindOneAndUpdateOptions, "upsert" | "returnDocument"> & {
|
|
251
|
-
skipValidation?: boolean;
|
|
252
|
-
meta?: Record<string, unknown>;
|
|
253
|
-
}) => Promise<T>;
|
|
254
|
-
updateMany: (query: Filter<T>, updateBody: UpdateFilter<T> | UpdateFilter<T>[], options?: Omit<UpdateOptions, "upsert"> & {
|
|
255
|
-
skipValidation?: boolean;
|
|
256
|
-
meta?: Record<string, unknown>;
|
|
257
|
-
maxBatchSize?: number;
|
|
258
|
-
}) => Promise<{
|
|
259
|
-
nModified: number;
|
|
260
|
-
acknowledged: boolean;
|
|
261
|
-
matchedCount: number;
|
|
262
|
-
modifiedCount: number;
|
|
263
|
-
upsertedCount: number;
|
|
264
|
-
upsertedId: import("mongodb").InferIdType<T> | null;
|
|
265
|
-
}>;
|
|
266
|
-
removeOne: (query: Filter<T>, options?: FindOneAndDeleteOptions & {
|
|
267
|
-
meta?: Record<string, unknown>;
|
|
268
|
-
}) => Promise<import("mongodb").WithId<T> | null>;
|
|
269
|
-
removeMany: (query: Filter<T>, options?: any) => Promise<{
|
|
270
|
-
results: import("mongodb").WithId<T>[] | undefined;
|
|
271
|
-
acknowledged: boolean;
|
|
272
|
-
deletedCount: number;
|
|
273
|
-
} | {
|
|
274
|
-
acknowledged: boolean;
|
|
275
|
-
deletedCount: number;
|
|
276
|
-
results: T[] | undefined;
|
|
277
|
-
}>;
|
|
278
|
-
insert: {
|
|
279
|
-
(entitiesToCreate: Omit<T, "_id"> & {
|
|
280
|
-
_id?: string;
|
|
281
|
-
}, options?: any): Promise<T>;
|
|
282
|
-
(entitiesToCreate: (Omit<T, "_id"> & {
|
|
283
|
-
_id?: string;
|
|
284
|
-
})[], options?: any): Promise<T[]>;
|
|
285
|
-
};
|
|
286
|
-
count: (query: Filter<T>, options?: {
|
|
287
|
-
preferReadFromSecondary?: boolean;
|
|
288
|
-
}) => Promise<number>;
|
|
289
|
-
exists: (query: Filter<T>) => Promise<boolean>;
|
|
290
|
-
aggregate: <T_1 extends Document>(pipeline?: object[], options?: AggregateOptions & {
|
|
291
|
-
preferReadFromSecondary?: boolean;
|
|
292
|
-
}) => Promise<T_1[]>;
|
|
293
|
-
generateId: () => string;
|
|
294
|
-
distinct: (field: keyof T, query: Filter<T>, options?: any) => Promise<any[]>;
|
|
295
|
-
name: string;
|
|
296
|
-
createIndex: (fields: Partial<Record<keyof T | (T extends object ? { [K in keyof T]: K extends string ? T[K] extends object ? K | `${K}.${T[K] extends infer T_1 ? T_1 extends T[K] ? T_1 extends object ? { [K_2 in keyof T_1]: K_2 extends string ? T_1[K_2] extends object ? K_2 | `${K_2}.${T_1[K_2] extends infer T_2 ? T_2 extends T_1[K_2] ? T_2 extends object ? { [K_3 in keyof T_2]: K_3 extends string ? T_2[K_3] extends object ? K_3 | `${K_3}.${T_2[K_3] extends infer T_3 ? T_3 extends T_2[K_3] ? T_3 extends object ? { [K_4 in keyof T_3]: K_4 extends string ? T_3[K_4] extends object ? K_4 | `${K_4}.${T_3[K_4] extends infer T_4 ? T_4 extends T_3[K_4] ? T_4 extends object ? { [K_5 in keyof T_4]: K_5 extends string ? T_4[K_5] extends object ? K_5 | `${K_5}.${T_4[K_5] extends infer T_5 ? T_5 extends T_4[K_5] ? T_5 extends object ? { [K_6 in keyof T_5]: K_6 extends string ? T_5[K_6] extends object ? K_6 | `${K_6}.${T_5[K_6] extends infer T_6 ? T_6 extends T_5[K_6] ? T_6 extends object ? { [K_7 in keyof T_6]: K_7 extends string ? T_6[K_7] extends object ? K_7 | `${K_7}.${T_6[K_7] extends infer T_7 ? T_7 extends T_6[K_7] ? T_7 extends object ? { [K_8 in keyof T_7]: K_8 extends string ? T_7[K_8] extends object ? K_8 | `${K_8}.${T_7[K_8] extends infer T_8 ? T_8 extends T_7[K_8] ? T_8 extends object ? { [K_9 in keyof T_8]: K_9 extends string ? T_8[K_9] extends object ? K_9 | `${K_9}.${T_8[K_9] extends infer T_9 ? T_9 extends T_8[K_9] ? T_9 extends object ? { [K_10 in keyof T_9]: K_10 extends string ? T_9[K_10] extends object ? K_10 | `${K_10}.${T_9[K_10] extends infer T_10 ? T_10 extends T_9[K_10] ? T_10 extends object ? { [K_11 in keyof T_10]: K_11 extends string ? T_10[K_11] extends object ? K_11 | `${K_11}.${/*elided*/ any}` : K_11 : never; }[keyof T_10] : never : never : never}` : K_10 : never; }[keyof T_9] : never : never : never}` : K_9 : never; }[keyof T_8] : never : never : never}` : K_8 : never; }[keyof T_7] : never : never : never}` : K_7 : never; }[keyof T_6] : never : never : never}` : K_6 : never; }[keyof T_5] : never : never : never}` : K_5 : never; }[keyof T_4] : never : never : never}` : K_4 : never; }[keyof T_3] : never : never : never}` : K_3 : never; }[keyof T_2] : never : never : never}` : K_2 : never; }[keyof T_1] : never : never : never}` : K : never; }[keyof T] : never), 1 | -1>>, options?: any) => Promise<string>;
|
|
297
|
-
on: (eventName: string, callback: (...args: any[]) => void) => EventEmitter<[never]>;
|
|
298
|
-
onPropertiesUpdated: (properties: Array<string | ReadonlyArray<string>>, callback: (...args: any[]) => void) => EventEmitter<[never]>;
|
|
299
|
-
eventBus: EventEmitter<[never]>;
|
|
300
|
-
bulkWrite: (operations: any[], options?: BulkWriteOptions & {
|
|
301
|
-
allowBulkwrite?: boolean;
|
|
302
|
-
}) => Promise<import("mongodb").BulkWriteResult>;
|
|
303
|
-
};
|
|
142
|
+
}) | null, options?: ServiceOptions) => DbService<T>;
|
|
304
143
|
on: (eventName: string, callback: (...args: any[]) => void) => EventEmitter<[never]>;
|
|
305
144
|
};
|
|
306
145
|
createService: <T extends WithEntityFields>(collectionName: string, validate?: ((entity: T) => {
|
|
307
146
|
error?: unknown;
|
|
308
|
-
}) | null, options?: ServiceOptions) =>
|
|
309
|
-
find: (query: Filter<T>, options?: FindOptions) => Promise<import("mongodb").WithId<T>[]>;
|
|
310
|
-
findCursor: (query: Filter<T>, options?: FindOptionsWithReadPref) => import("mongodb").FindCursor<import("mongodb").WithId<T>>;
|
|
311
|
-
findOne: (query: Filter<T>, options?: FindOptions) => Promise<import("mongodb").WithId<T>>;
|
|
312
|
-
updateOne: (query: Filter<T>, updateBody: UpdateFilter<T>, options?: Omit<FindOneAndUpdateOptions, "upsert"> & {
|
|
313
|
-
returnOriginal?: boolean;
|
|
314
|
-
skipValidation?: boolean;
|
|
315
|
-
meta?: Record<string, unknown>;
|
|
316
|
-
}) => Promise<T | null>;
|
|
317
|
-
upsertOne: (query: Filter<T>, updateBody: UpdateFilter<T>, options?: Omit<FindOneAndUpdateOptions, "upsert" | "returnDocument"> & {
|
|
318
|
-
skipValidation?: boolean;
|
|
319
|
-
meta?: Record<string, unknown>;
|
|
320
|
-
}) => Promise<T>;
|
|
321
|
-
updateMany: (query: Filter<T>, updateBody: UpdateFilter<T> | UpdateFilter<T>[], options?: Omit<UpdateOptions, "upsert"> & {
|
|
322
|
-
skipValidation?: boolean;
|
|
323
|
-
meta?: Record<string, unknown>;
|
|
324
|
-
maxBatchSize?: number;
|
|
325
|
-
}) => Promise<{
|
|
326
|
-
nModified: number;
|
|
327
|
-
acknowledged: boolean;
|
|
328
|
-
matchedCount: number;
|
|
329
|
-
modifiedCount: number;
|
|
330
|
-
upsertedCount: number;
|
|
331
|
-
upsertedId: import("mongodb").InferIdType<T> | null;
|
|
332
|
-
}>;
|
|
333
|
-
removeOne: (query: Filter<T>, options?: FindOneAndDeleteOptions & {
|
|
334
|
-
meta?: Record<string, unknown>;
|
|
335
|
-
}) => Promise<import("mongodb").WithId<T> | null>;
|
|
336
|
-
removeMany: (query: Filter<T>, options?: any) => Promise<{
|
|
337
|
-
results: import("mongodb").WithId<T>[] | undefined;
|
|
338
|
-
acknowledged: boolean;
|
|
339
|
-
deletedCount: number;
|
|
340
|
-
} | {
|
|
341
|
-
acknowledged: boolean;
|
|
342
|
-
deletedCount: number;
|
|
343
|
-
results: T[] | undefined;
|
|
344
|
-
}>;
|
|
345
|
-
insert: {
|
|
346
|
-
(entitiesToCreate: Omit<T, "_id"> & {
|
|
347
|
-
_id?: string;
|
|
348
|
-
}, options?: any): Promise<T>;
|
|
349
|
-
(entitiesToCreate: (Omit<T, "_id"> & {
|
|
350
|
-
_id?: string;
|
|
351
|
-
})[], options?: any): Promise<T[]>;
|
|
352
|
-
};
|
|
353
|
-
count: (query: Filter<T>, options?: {
|
|
354
|
-
preferReadFromSecondary?: boolean;
|
|
355
|
-
}) => Promise<number>;
|
|
356
|
-
exists: (query: Filter<T>) => Promise<boolean>;
|
|
357
|
-
aggregate: <T_1 extends Document>(pipeline?: object[], options?: AggregateOptions & {
|
|
358
|
-
preferReadFromSecondary?: boolean;
|
|
359
|
-
}) => Promise<T_1[]>;
|
|
360
|
-
generateId: () => string;
|
|
361
|
-
distinct: (field: keyof T, query: Filter<T>, options?: any) => Promise<any[]>;
|
|
362
|
-
name: string;
|
|
363
|
-
createIndex: (fields: Partial<Record<keyof T | (T extends object ? { [K in keyof T]: K extends string ? T[K] extends object ? K | `${K}.${T[K] extends infer T_1 ? T_1 extends T[K] ? T_1 extends object ? { [K_2 in keyof T_1]: K_2 extends string ? T_1[K_2] extends object ? K_2 | `${K_2}.${T_1[K_2] extends infer T_2 ? T_2 extends T_1[K_2] ? T_2 extends object ? { [K_3 in keyof T_2]: K_3 extends string ? T_2[K_3] extends object ? K_3 | `${K_3}.${T_2[K_3] extends infer T_3 ? T_3 extends T_2[K_3] ? T_3 extends object ? { [K_4 in keyof T_3]: K_4 extends string ? T_3[K_4] extends object ? K_4 | `${K_4}.${T_3[K_4] extends infer T_4 ? T_4 extends T_3[K_4] ? T_4 extends object ? { [K_5 in keyof T_4]: K_5 extends string ? T_4[K_5] extends object ? K_5 | `${K_5}.${T_4[K_5] extends infer T_5 ? T_5 extends T_4[K_5] ? T_5 extends object ? { [K_6 in keyof T_5]: K_6 extends string ? T_5[K_6] extends object ? K_6 | `${K_6}.${T_5[K_6] extends infer T_6 ? T_6 extends T_5[K_6] ? T_6 extends object ? { [K_7 in keyof T_6]: K_7 extends string ? T_6[K_7] extends object ? K_7 | `${K_7}.${T_6[K_7] extends infer T_7 ? T_7 extends T_6[K_7] ? T_7 extends object ? { [K_8 in keyof T_7]: K_8 extends string ? T_7[K_8] extends object ? K_8 | `${K_8}.${T_7[K_8] extends infer T_8 ? T_8 extends T_7[K_8] ? T_8 extends object ? { [K_9 in keyof T_8]: K_9 extends string ? T_8[K_9] extends object ? K_9 | `${K_9}.${T_8[K_9] extends infer T_9 ? T_9 extends T_8[K_9] ? T_9 extends object ? { [K_10 in keyof T_9]: K_10 extends string ? T_9[K_10] extends object ? K_10 | `${K_10}.${T_9[K_10] extends infer T_10 ? T_10 extends T_9[K_10] ? T_10 extends object ? { [K_11 in keyof T_10]: K_11 extends string ? T_10[K_11] extends object ? K_11 | `${K_11}.${/*elided*/ any}` : K_11 : never; }[keyof T_10] : never : never : never}` : K_10 : never; }[keyof T_9] : never : never : never}` : K_9 : never; }[keyof T_8] : never : never : never}` : K_8 : never; }[keyof T_7] : never : never : never}` : K_7 : never; }[keyof T_6] : never : never : never}` : K_6 : never; }[keyof T_5] : never : never : never}` : K_5 : never; }[keyof T_4] : never : never : never}` : K_4 : never; }[keyof T_3] : never : never : never}` : K_3 : never; }[keyof T_2] : never : never : never}` : K_2 : never; }[keyof T_1] : never : never : never}` : K : never; }[keyof T] : never), 1 | -1>>, options?: any) => Promise<string>;
|
|
364
|
-
on: (eventName: string, callback: (...args: any[]) => void) => EventEmitter<[never]>;
|
|
365
|
-
onPropertiesUpdated: (properties: Array<string | ReadonlyArray<string>>, callback: (...args: any[]) => void) => EventEmitter<[never]>;
|
|
366
|
-
eventBus: EventEmitter<[never]>;
|
|
367
|
-
bulkWrite: (operations: any[], options?: BulkWriteOptions & {
|
|
368
|
-
allowBulkwrite?: boolean;
|
|
369
|
-
}) => Promise<import("mongodb").BulkWriteResult>;
|
|
370
|
-
};
|
|
147
|
+
}) | null, options?: ServiceOptions) => DbService<T>;
|
|
371
148
|
withSession: <R>(callback: (session: ClientSession) => Promise<R>) => Promise<R>;
|
|
372
149
|
startSession: (options?: ClientSessionOptions) => Promise<ClientSession>;
|
|
373
150
|
disconnect: () => Promise<void>;
|
package/dist/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
package/dist/db.js
CHANGED
|
@@ -381,6 +381,9 @@ const generateService = (collectionName, validate = null, { addCreatedOnField =
|
|
|
381
381
|
const background = options.background ?? true;
|
|
382
382
|
return driver.createIndex(fields, { ...options, background });
|
|
383
383
|
}
|
|
384
|
+
async function dropIndex(indexName, options = {}) {
|
|
385
|
+
return driver.dropIndex(indexName, options);
|
|
386
|
+
}
|
|
384
387
|
async function bulkWrite(operations, options = {}) {
|
|
385
388
|
if (!options.allowBulkwrite)
|
|
386
389
|
throw new Error('Bulkwrite not allowed');
|
|
@@ -403,6 +406,7 @@ const generateService = (collectionName, validate = null, { addCreatedOnField =
|
|
|
403
406
|
distinct,
|
|
404
407
|
name,
|
|
405
408
|
createIndex,
|
|
409
|
+
dropIndex,
|
|
406
410
|
on,
|
|
407
411
|
onPropertiesUpdated,
|
|
408
412
|
eventBus: bus,
|
package/dist/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EACL,WAAW,EAEX,QAAQ,GAkBT,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAE9F,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,KAAK,EAAE,OAAO,CAAC,KAAK;CACrB,CAAC;AAEF,IAAI,MAAmB,CAAC;AACxB,IAAI,UAAuB,CAAC;AAC5B,IAAI,EAAM,CAAC;AACX,IAAI,MAAU,CAAC;AACf,MAAM,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC;AAKzC,IAAI,eAAe,GAA2B,IAAI,CAAC;AACnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EAAmB,EAAQ,EAAE;IACpE,eAAe,GAAG,EAAE,CAAC;AACvB,CAAC,CAAC;AAEF,0FAA0F;AAC1F,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAwB,CAAC;AAC3D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,cAAsB,EAA4B,EAAE,CAChF,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAa,EAAE,CAAC,CAAC,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;AAEvF,qFAAqF;AACrF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAA+B,EAAE,CAClE,EAAE,CAAC,UAAU,CAAY,iBAAiB,CAAC,CAAC;AAE9C,kFAAkF;AAClF,MAAM,UAAU,GAAG,CAAC,GAAY,EAA2B,EAAE,CAC3D,CAAC,CAAC,IAAI,CAAC,GAA8B,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AASxD,KAAK,UAAU,aAAa,CAAC,cAAsB,EAAE,OAAsB,EAAE,IAAmB;IAC9F,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO;IACzB,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,UAAU,GAAgB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC,WAAW,EAAE;QACjC,cAAc;QACd,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,GAAG,EAAE,CAAC,CAAC,GAA8B;QACrC,OAAO,EAAG,CAAC,CAAC,OAAmC,IAAI,IAAI;QACvD,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;QACpB,OAAO;QACP,MAAM,EAAE,YAAY,CAAC,OAAO;QAC5B,QAAQ,EAAE,CAAC;QACX,aAAa,EAAE,GAAG;QAClB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,GAAG;QACd,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC,CAAC;IACJ,MAAM,EAAE,CAAC,UAAU,CAAY,iBAAiB,CAAC,CAAC,UAAU,CAAC,UAAmD,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACjI,CAAC;AAED,sFAAsF;AAEtF,SAAS,aAAa,CAAC,KAAa,EAAE,QAAkC;IACtE,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjD,MAAM,CAAC,KAAK,CAAC,gBAAgB,KAAK,YAAY,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAkJD,MAAM,eAAe,GAAG,CACtB,cAAsB,EACtB,WAAwD,IAAI,EAC5D,EACE,iBAAiB,GAAG,IAAI,EACxB,iBAAiB,GAAG,IAAI,EACxB,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,mBAAmB,EACjC,gBAAgB,GAAG,IAAI,MACL,EAAE,EACR,EAAE;IAChB,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAI,cAAc,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAI,cAAc,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC;IACnC,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CACT,kBAAkB,IAAI,wDAAwD;YAC5E,mFAAmF;YACnF,qFAAqF;YACrF,yDAAyD,CAC5D,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,WAAW,IAAI,IAAI,YAAY,EAAE,CAAC;IAC9C,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAElC,SAAS,cAAc,CAAC,MAA4B;QAClD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAW,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,KAAK;gBAAE,MAAM,MAAM,CAAC,KAAK,CAAC;QACvC,CAAC;QACD,OAAO,MAAW,CAAC;IACrB,CAAC;IAED,KAAK,UAAU,sBAAsB,CAAI,aAAqD;QAC5F,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC1C,OAAO,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;gBACxC,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,0BAA0B,CAAC,UAA+C;QACjF,IAAI,CAAC,iBAAiB;YAAE,OAAO,UAAU,CAAC;QAC1C,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,EAAgC,CAAC;QACrF,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAAE,OAAO,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,CAAC;QAClE,IAAI,UAAU,CAAC,IAAI;YAAE,OAAO,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,EAAqB,CAAC;QACtH,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,UAAU,EAAE,CAAC;IAC1C,CAAC;IAED,SAAS,UAAU;QACjB,OAAO,IAAI,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;IACtC,CAAC;IAED,+EAA+E;IAC/E,8EAA8E;IAC9E,kFAAkF;IAClF,SAAS,EAAE,CAAC,SAAiB,EAAE,QAAkC;QAC/D,MAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,aAAa,SAAS,EAAE,CAAC,CAAC;QAC1E,OAAO,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,SAAS,mBAAmB,CAC1B,UAAiD,EACjD,QAAkC;QAElC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;YACxB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;YAC7B,MAAM,wBAAwB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;YACvG,IAAI,wBAAwB;gBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,UAAU,CAAC,KAAgB,EAAE,UAAmC,EAAE;QACzE,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,oCAAoC,KAAK,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAClH,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC;QAC5C,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC,CAAC;QAC7E,OAAO,uBAAuB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACzG,CAAC;IAED,KAAK,UAAU,IAAI,CAAC,KAAgB,EAAE,UAAuB,EAAE;QAC7D,OAAO,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,KAAgB,EAAE,UAAuB,EAAE;QAChE,MAAM,KAAK,GAAG,CAAC,CAAC;QAChB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACvE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oDAAoD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/F,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC5B,CAAC;IAED,8EAA8E;IAC9E,yDAAyD;IACzD,KAAK,UAAU,mBAAmB,CAChC,KAAgB,EAChB,UAA2B,EAC3B,OAAsB,EACtB,UAAiH,EAAE;QAEnH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,EAAE;YAC1E,GAAG,OAAO;YACV,cAAc,EAAE,OAAO;YACvB,OAAO;SACR,CAAC,CAAC;QACH,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,cAAc;YAAE,cAAc,CAAC,UAAe,CAAC,CAAC;QAC7D,OAAO,EAAE,SAAS,EAAG,SAAe,IAAI,IAAI,EAAE,UAAU,EAAE,UAAe,EAAE,CAAC;IAC9E,CAAC;IAED,KAAK,UAAU,SAAS,CACtB,KAAgB,EAChB,UAA2B,EAC3B,UAGI,EAAE;QAEN,SAAS,eAAe,CAAC,IAAqB;YAC5C,MAAM,QAAQ,GAAG,0BAA0B,CAAC,IAAI,CAA4B,CAAC;YAC7E,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAC;YACzC,MAAM,WAAW,GAA4B,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAsB,IAAI,EAAE,CAAC,EAAE,CAAC;YAC5F,IAAI,iBAAiB;gBAAE,WAAW,CAAC,SAAS,KAArB,WAAW,CAAC,SAAS,GAAK,IAAI,IAAI,EAAE,EAAC;YAC5D,IAAI,CAAC,CAAC,KAAK,IAAK,KAAgB,CAAC;gBAAE,WAAW,CAAC,GAAG,KAAf,WAAW,CAAC,GAAG,GAAK,UAAU,EAAE,EAAC;YACpE,OAAO,EAAE,GAAG,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAqB,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE;gBAC7D,GAAG,OAAO;gBACV,MAAM,EAAE,IAAI;gBACZ,cAAc,EAAE,OAAO;gBACvB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YACxF,IAAI,CAAC,OAAO,CAAC,cAAc;gBAAE,cAAc,CAAC,OAAY,CAAC,CAAC;YAC1D,OAAO,OAAY,CAAC;QACtB,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,EAAE,OAAsB,EAAc,EAAE;YAC7D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE;gBAC7D,GAAG,OAAO;gBACV,MAAM,EAAE,IAAI;gBACZ,cAAc,EAAE,OAAO;gBACvB,OAAO;aACR,CAAC,CAAC;YACH,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YACxF,IAAI,CAAC,OAAO,CAAC,cAAc;gBAAE,cAAc,CAAC,OAAY,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC;YACnC,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACnG,CAAC;iBAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,OAAY,CAAC,CAAC,EAAE,CAAC;gBACrE,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5G,CAAC;YACD,OAAO,OAAY,CAAC;QACtB,CAAC,CAAC;QAEF,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,UAAU,SAAS,CACtB,KAAgB,EAChB,UAA2B,EAC3B,UAII,EAAE;QAEN,IAAI,QAAQ,IAAI,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAEhH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,+EAA+E;YAC/E,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;YAClE,MAAM,GAAG,GAAG,KAAK,EAAE,OAAsB,EAAE,EAAE;gBAC3C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,EAAE;oBACtE,GAAG,OAAO;oBACV,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;oBAC3D,OAAO;iBACR,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,cAAc;oBAAE,cAAc,CAAC,MAAW,CAAC,CAAC;gBACzD,OAAO,MAAW,CAAC;YACrB,CAAC,CAAC;YACF,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjD,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,eAAe,GAAG,KAAK,EAAE,OAAsB,EAAE,EAAE;YACvD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACjG,IAAI,SAAS,IAAI,UAAU,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBACzF,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1H,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;QACnC,CAAC,CAAC;QACF,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,OAAO;YAC/C,CAAC,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC;YACxC,CAAC,CAAC,MAAM,sBAAsB,CAAC,eAAe,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IACzD,CAAC;IAED,KAAK,UAAU,UAAU,CACvB,KAAgB,EAChB,UAA+C,EAC/C,UAA+H,EAAE;QAEjI,IAAI,QAAQ,IAAI,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACjH,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC;QAEvD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,0FAA0F;YAC1F,MAAM,SAAS,GAAG,KAAK,EAAE,OAAsB,EAAE,EAAE;gBACjD,MAAM,iBAAiB,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7H,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;gBAClE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBAClG,IAAI,CAAC,cAAc,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpD,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG,EAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC9F,cAAc,CAAC,gBAAqB,CAAC,CAAC;gBACxC,CAAC;gBACD,OAAO,aAAa,CAAC;YACvB,CAAC,CAAC;YACF,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACzG,OAAO,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC;QAClD,CAAC;QAED,6EAA6E;QAC7E,+EAA+E;QAC/E,8EAA8E;QAC9E,2EAA2E;QAC3E,2FAA2F;QAC3F,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,mBAAmB,CAAC;QACjE,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAsB,EAAE,EAAE;YACzD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACrE,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,YAAY,EAAE,CAAC;gBAC9D,MAAM,IAAI,KAAK,CACb,uBAAuB,YAAY,0CAA0C,YAAY,qHAAqH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,+GAA+G,CACnV,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAsC,CAAC;YACnI,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,MAAM,QAAQ,CAAkB;gBAC9B,YAAY,EAAE,UAAU;gBACxB,SAAS,EAAE,GAAG;gBACd,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;oBAC/B,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,mBAAmB,CAAC,EAAE,GAAG,EAAe,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;oBAC3H,IAAI,UAAU,EAAE,CAAC;wBACf,aAAa,IAAI,CAAC,CAAC;wBACnB,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;4BAC3E,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBAC1H,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;QACzC,CAAC,CAAC;QACF,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,OAAO;YACrD,CAAC,CAAC,MAAM,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC;YAC1C,CAAC,CAAC,MAAM,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;QACpD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC3H,CAAC;IAED,KAAK,UAAU,SAAS,CAAC,KAAgB,EAAE,UAAwE,EAAE;QACnH,IAAI,CAAC,gBAAgB;YAAE,OAAO,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,KAAK,EAAE,OAAsB,EAAE,EAAE;YACjD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9E,IAAI,OAAO;gBAAE,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9G,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QACF,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,KAAgB,EAAE,UAAe,EAAE;QAC3D,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;QAEpD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/E,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC1D,OAAO,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QACpD,CAAC;QAED,qEAAqE;QACrE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,mBAAmB,CAAC;QACjE,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAsB,EAAE,EAAE;YACzD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACrE,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,YAAY,EAAE,CAAC;gBAC9D,MAAM,IAAI,KAAK,CACb,uBAAuB,YAAY,0CAA0C,YAAY,qHAAqH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,qGAAqG,CACzU,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAsC,CAAC;YACnI,MAAM,OAAO,GAAQ,EAAE,CAAC;YACxB,MAAM,QAAQ,CAAkB;gBAC9B,YAAY,EAAE,UAAU;gBACxB,SAAS,EAAE,GAAG;gBACd,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;oBAC/B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAe,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;oBACpF,IAAI,UAAU,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,UAAe,CAAC,CAAC;wBAC9B,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACtG,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YACH,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;QACnC,CAAC,CAAC;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO;YACjC,CAAC,CAAC,MAAM,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC;YAC1C,CAAC,CAAC,MAAM,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;QACpD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC5G,CAAC;IAMD,KAAK,UAAU,MAAM,CAAC,gBAA6C,EAAE,UAAe,EAAE;QACpF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,CAAC,MAAmB,EAAK,EAAE,CAAC,CAAC;YAC7C,GAAG,MAAM;YACT,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,UAAU,EAAE;YAC/B,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAG,MAAc,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/E,CAAA,CAAC;QACR,MAAM,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QAC/E,MAAM,eAAe,GAAG,KAAK,EAAE,OAAsB,EAAE,EAAE;YACvD,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACxF,MAAM,MAAM,CAAC,UAAU,CAAC,cAA+C,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAClG,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACvH,CAAC;YACD,OAAO,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,UAAU,KAAK,CAAC,KAAgB,EAAE,UAAiD,EAAE;QACxF,OAAO,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3G,CAAC;IAED,KAAK,UAAU,MAAM,CAAC,KAAgB;QACpC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5E,CAAC;IAED,KAAK,UAAU,SAAS,CAAqB,WAAqB,EAAE,EAAE,UAAoE,EAAE;QAC1I,MAAM,EAAE,uBAAuB,EAAE,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC;QAC3D,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAI,QAAQ,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;IACtG,CAAC;IAED,KAAK,UAAU,QAAQ,CAAC,KAAc,EAAE,KAAgB,EAAE,UAAe,EAAE;QACzE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAe,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,UAAU,WAAW,CAAC,MAAoB,EAAE,UAAe,EAAE;QAChE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;QAC9C,OAAO,MAAM,CAAC,WAAW,CAAC,MAAa,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,UAAU,SAAS,CAAC,SAAiB,EAAE,UAAe,EAAE;QAC3D,OAAO,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,UAAU,SAAS,CAAC,UAAiB,EAAE,UAA2D,EAAE;QACvG,IAAI,CAAC,OAAO,CAAC,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACL,IAAI;QACJ,UAAU;QACV,OAAO;QACP,SAAS;QACT,SAAS;QACT,UAAU;QACV,SAAS;QACT,UAAU;QACV,MAAM;QACN,KAAK;QACL,MAAM;QACN,SAAS;QACT,UAAU;QACV,QAAQ;QACR,IAAI;QACJ,WAAW;QACX,SAAS;QACT,EAAE;QACF,mBAAmB;QACnB,QAAQ,EAAE,GAAG;QACb,SAAS;KACV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CACpB,cAAsB,EACtB,WAAwD,IAAI,EAC5D,UAA0B,EAAE,EACd,EAAE,CAAC,eAAe,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAEtE,SAAS,oBAAoB,CAAC,WAAwB,EAAE,MAA0B;IAChF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;QACvC,MAAM,CAAC,KAAK,CAAC,WAAW,MAAM,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACvD,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE;QACxC,IAAI,KAAK;YAAE,MAAM,CAAC,KAAK,CAAC,WAAW,MAAM,mBAAmB,EAAE,KAAK,CAAC,CAAC;QACrE,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,gBAAwB,EAAE,YAAqB,EAAE,EAAE;IAClE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClC,MAAM,GAAG,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAC3C,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QAC7B,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAExC,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7D,UAAU,GAAG,IAAI,WAAW,CAAC,GAAG,gBAAgB,GAAG,SAAS,2DAA2D,CAAC,CAAC;QACzH,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QACrC,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO;QACL,aAAa;QACb,EAAE,EAAE,CAAC,SAAiB,EAAE,QAAkC,EAAE,EAAE,CAC5D,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,SAAS,qBAAqB,EAAE,QAAQ,CAAC,CAAC;KAC3F,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;IACnC,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACjF,MAAM,GAAG,SAAmC,CAAC;IAC7C,UAAU,GAAG,SAAmC,CAAC;AACnD,CAAC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAK,QAAgD,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACvH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,OAA8B,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACnG,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { connect, createService, withSession, startSession, disconnect, setOutboxContextProvider, getServiceBus, getRegisteredCollections, getOutboxCollection, type DbService, } from './db.js';
|
|
1
|
+
export { connect, createService, withSession, startSession, disconnect, setOutboxContextProvider, getServiceBus, getRegisteredCollections, getOutboxCollection, type DbService, type IndexSpec, type NestedPaths, } from './db.js';
|
|
2
2
|
export { default } from './db.js';
|
|
3
3
|
export { startOutboxRelay, type OutboxRelay, type OutboxRelayOptions } from './outboxRelay.js';
|
|
4
4
|
export { OUTBOX_COLLECTION, OutboxOp, OutboxStatus, type OutboxRow } from './types/outbox.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,wBAAwB,EACxB,aAAa,EACb,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,wBAAwB,EACxB,aAAa,EACb,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,WAAW,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,wBAAwB,EACxB,aAAa,EACb,wBAAwB,EACxB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,wBAAwB,EACxB,aAAa,EACb,wBAAwB,EACxB,mBAAmB,GAIpB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAA6C,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAC"}
|
package/docs/CLAUDE.md
CHANGED
|
@@ -56,9 +56,14 @@ Every `createService<T>(...)` call returns:
|
|
|
56
56
|
a `'removed'` outbox row with `{ doc, meta }` for each removed document (no row
|
|
57
57
|
if nothing matched). `removeMany` always uses the reliable per-document path,
|
|
58
58
|
same as `updateMany`.
|
|
59
|
-
- `
|
|
60
|
-
`
|
|
61
|
-
`
|
|
59
|
+
- `createIndex(fields, options?)` — `fields` is `IndexSpec<T>`: any top-level key of
|
|
60
|
+
`T` or a dotted path into it (`'users._id'`), following arrays into their element
|
|
61
|
+
type, mapped to `1 | -1 | 'text' | 'hashed' | '2dsphere' | '2d'`. Paths are
|
|
62
|
+
resolved 3 levels deep; index deeper than that by casting the spec.
|
|
63
|
+
- `count`, `exists`, `aggregate`, `distinct`, `dropIndex`, `bulkWrite`
|
|
64
|
+
(requires `{ allowBulkwrite: true }` — guards against accidental unvalidated writes).
|
|
65
|
+
`bulkWrite` does not enqueue outbox rows. `dropIndex(indexName, options?)` drops
|
|
66
|
+
a single index by name (not by key spec) and does not enqueue outbox rows.
|
|
62
67
|
- `on(event, cb)` / `onPropertiesUpdated(properties, cb)` — subscribe to the
|
|
63
68
|
service's own `eventBus` (a plain `node:events` `EventEmitter`). Listeners
|
|
64
69
|
registered here are dispatched to by `startOutboxRelay`, not by the write call
|
package/package.json
CHANGED