@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 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
- declare const generateService: <T extends WithEntityFields>(collectionName: string, validate?: ((entity: T) => {
35
- error?: unknown;
36
- }) | null, { addCreatedOnField, addUpdatedOnField, maxLimit: serviceMaxLimit, maxBatchSize: serviceMaxBatchSize, emitOutboxEvents, }?: ServiceOptions) => {
37
- find: (query: Filter<T>, options?: FindOptions) => Promise<import("mongodb").WithId<T>[]>;
38
- findCursor: (query: Filter<T>, options?: FindOptionsWithReadPref) => import("mongodb").FindCursor<import("mongodb").WithId<T>>;
39
- findOne: (query: Filter<T>, options?: FindOptions) => Promise<import("mongodb").WithId<T>>;
40
- updateOne: (query: Filter<T>, updateBody: UpdateFilter<T>, options?: Omit<FindOneAndUpdateOptions, "upsert"> & {
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, "upsert" | "returnDocument"> & {
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, "upsert"> & {
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: import("mongodb").InferIdType<T> | null;
84
+ upsertedId: InferIdType<T> | null;
60
85
  }>;
61
86
  removeOne: (query: Filter<T>, options?: FindOneAndDeleteOptions & {
62
87
  meta?: Record<string, unknown>;
63
- }) => Promise<import("mongodb").WithId<T> | null>;
88
+ }) => Promise<WithId<T> | null>;
64
89
  removeMany: (query: Filter<T>, options?: any) => Promise<{
65
- results: import("mongodb").WithId<T>[] | undefined;
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, "_id"> & {
99
+ (entitiesToCreate: Omit<T, '_id'> & {
75
100
  _id?: string;
76
101
  }, options?: any): Promise<T>;
77
- (entitiesToCreate: (Omit<T, "_id"> & {
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: <T_1 extends Document>(pipeline?: object[], options?: AggregateOptions & {
110
+ aggregate: <TResult extends Document>(pipeline?: object[], options?: AggregateOptions & {
86
111
  preferReadFromSecondary?: boolean;
87
- }) => Promise<T_1[]>;
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: Partial<Record<(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) | keyof T, 1 | -1>>, options?: any) => Promise<string>;
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<import("mongodb").BulkWriteResult>;
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":"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"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,WAAW,EACX,MAAM,EACN,aAAa,EACb,uBAAuB,EACvB,uBAAuB,EAEvB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,UAAU,IAAI,eAAe,EAC9B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAA6C,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAiB9F,KAAK,eAAe,GAAG,MAAM,OAAO,CAAC;AAErC,eAAO,MAAM,wBAAwB,GAAI,IAAI,eAAe,KAAG,IAE9D,CAAC;AAIF,eAAO,MAAM,aAAa,GAAI,gBAAgB,MAAM,KAAG,YAAY,GAAG,SAC9B,CAAC;AACzC,eAAO,MAAM,wBAAwB,QAAO,MAAM,EAAoC,CAAC;AAEvF,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,QAAO,eAAe,CAAC,SAAS,CACnB,CAAC;AAmD9C,UAAU,cAAc;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yHAAyH;IACzH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,UAAU,uBAAwB,SAAQ,WAAW;IACnD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,gBAAgB,GAAG;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB,CAAC;AAEF,2GAA2G;AAC3G,KAAK,aAAa,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;AAE1E,+EAA+E;AAC/E,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAClE,KAAK,GACL,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC5B,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GACjB,CAAC,SAAS,aAAa,GACrB,KAAK,GACL,CAAC,SAAS,MAAM,GACd;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GACtD,CAAC,SAAS,aAAa,GACrB,CAAC,GACD,CAAC,SAAS,MAAM,GACd,CAAC,GAAG,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAC1C,CAAC,GACL,KAAK;CACV,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GACnB,KAAK,CAAC;AAEhB,sFAAsF;AACtF,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;AAEhI;;;;;;GAMG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,gBAAgB;IACnD,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxE,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,uBAAuB,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,SAAS,EAAE,CACT,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAChB,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC,GAAG;QAClD,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,KACE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,SAAS,EAAE,CACT,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAChB,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,IAAI,CAAC,uBAAuB,EAAE,QAAQ,GAAG,gBAAgB,CAAC,GAAG;QACrE,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,KACE,OAAO,CAAC,CAAC,CAAC,CAAC;IAChB,UAAU,EAAE,CACV,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAChB,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,EAC/C,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG;QACxC,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,KACE,OAAO,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,OAAO,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;KACnC,CAAC,CAAC;IACH,SAAS,EAAE,CACT,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAChB,OAAO,CAAC,EAAE,uBAAuB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KACnE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,UAAU,EAAE,CACV,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAChB,OAAO,CAAC,EAAE,GAAG,KACV,OAAO,CACR;QAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC;QAAC,YAAY,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GACjF;QAAE,YAAY,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,EAAE,GAAG,SAAS,CAAA;KAAE,CAC5E,CAAC;IACF,MAAM,EAAE;QACN,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG;YAAE,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG;YAAE,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;KACxF,CAAC;IACF,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;QAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9F,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,SAAS,EAAE,CAAC,OAAO,SAAS,QAAQ,EAClC,QAAQ,CAAC,EAAE,MAAM,EAAE,EACnB,OAAO,CAAC,EAAE,gBAAgB,GAAG;QAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;KAAE,KAC/D,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACxB,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtE,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnE,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,KAAK,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACrF,mBAAmB,EAAE,CACnB,UAAU,EAAE,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,EACjD,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,KAC/B,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3B,QAAQ,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAChC,SAAS,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;CACvH;AAyZD,QAAA,MAAM,aAAa,GAAI,CAAC,SAAS,gBAAgB,EAC/C,gBAAgB,MAAM,EACtB,WAAU,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,IAAW,EAC5D,UAAS,cAAmB,KAC3B,SAAS,CAAC,CAAC,CAAuD,CAAC;AAatE,QAAA,MAAM,OAAO,GAAI,kBAAkB,MAAM,EAAE,eAAe,MAAM;oBAjBzC,CAAC,SAAS,gBAAgB,kBAC/B,MAAM,aACZ,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,IAAI,YAC5C,cAAc,KACtB,SAAS,CAAC,CAAC,CAAC;oBA6BK,MAAM,YAAY,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;CAG7D,CAAC;AAEF,eAAO,MAAM,UAAU,qBAItB,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;AAClC,eAAO,MAAM,WAAW,GAAU,CAAC,EAAE,UAAU,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,eAAiC,CAAC;AACvH,eAAO,MAAM,YAAY,GAAU,UAAU,oBAAoB,2BAAiC,CAAC;;gCA7BhE,MAAM,iBAAiB,MAAM;wBAjBzC,CAAC,SAAS,gBAAgB,kBAC/B,MAAM,aACZ,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK;YAAE,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,GAAG,IAAI,YAC5C,cAAc,KACtB,SAAS,CAAC,CAAC,CAAC;wBA6BK,MAAM,YAAY,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;;oBAjCvC,CAAC,SAAS,gBAAgB,kBAC/B,MAAM,aACZ,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,IAAI,YAC5C,cAAc,KACtB,SAAS,CAAC,CAAC,CAAC;kBAyCmB,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC;6BACxC,oBAAoB;;;AACjE,wBAAiF"}
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":"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"}
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';
@@ -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,GACf,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"}
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,GAEpB,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"}
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
- - `count`, `exists`, `aggregate`, `distinct`, `createIndex`, `bulkWrite` (requires
60
- `{ allowBulkwrite: true }` — guards against accidental unvalidated writes).
61
- `bulkWrite` does not enqueue outbox rows.
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ahrowe/mongo",
3
- "version": "0.0.3",
3
+ "version": "0.1.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Typed MongoDB CRUD service factory with built-in transactions, event hooks, and optional document validation.",