1
- import type { CountDocumentsOptions } from 'mongodb' ;
1
+ import type { CountDocumentsOptions , Filter , UpdateFilter } from 'mongodb' ;
2
2
3
- import type { Cursor , Options , Selector , DispatchTransform } from './Cursor' ;
4
- import type { IIdMap } from './IdMap ' ;
3
+ import type { Cursor , Options , DispatchTransform } from './Cursor' ;
4
+ import type { IIdMap } from './IIdMap ' ;
5
5
import type { Query } from './Query' ;
6
6
7
7
export interface ILocalCollection < T extends { _id : string } > {
8
8
_docs : IIdMap < T [ '_id' ] , T > ;
9
9
_recomputeResults ( query : Query < T , Options < T > , any > , snapshot ?: IIdMap < T [ '_id' ] , T > | T [ ] ) : void ;
10
- next_qid : number ;
10
+ // next_qid: number;
11
11
queries : Record < string , Query < T , Options < T > , any > > ;
12
12
paused : boolean ;
13
- countDocuments ( selector ?: Selector < T > , options ?: CountDocumentsOptions ) : Promise < number > ;
13
+ countDocuments ( selector ?: Filter < T > , options ?: CountDocumentsOptions ) : Promise < number > ;
14
14
estimatedDocumentCount ( options : CountDocumentsOptions ) : Promise < number > ;
15
- find ( selector ?: Selector < T > ) : Cursor < T , Options < T > , T > ;
16
- find < O extends Options < T > > ( selector ?: Selector < T > , options ?: O ) : Cursor < T , O , DispatchTransform < O [ 'transform' ] , T , T > > ;
17
- findOne ( selector ?: Selector < T > ) : T | undefined ;
18
- findOne < O extends Omit < Options < T > , 'limit' > > ( selector ?: Selector < T > , options ?: O ) : DispatchTransform < O [ 'transform' ] , T , T > | undefined ;
19
- findOneAsync ( selector ?: Selector < T > ) : Promise < T | undefined > ;
15
+ find ( selector ?: Filter < T > ) : Cursor < T , Options < T > , T > ;
16
+ find < O extends Options < T > > ( selector ?: Filter < T > , options ?: O ) : Cursor < T , O , DispatchTransform < O [ 'transform' ] , T , T > > ;
17
+ findOne ( selector ?: Filter < T > ) : T | undefined ;
18
+ findOne < O extends Omit < Options < T > , 'limit' > > ( selector ?: Filter < T > , options ?: O ) : DispatchTransform < O [ 'transform' ] , T , T > | undefined ;
19
+ findOneAsync ( selector ?: Filter < T > ) : Promise < T | undefined > ;
20
20
findOneAsync < O extends Omit < Options < T > , 'limit' > > (
21
- selector ?: Selector < T > ,
21
+ selector ?: Filter < T > ,
22
22
options ?: O ,
23
23
) : Promise < DispatchTransform < O [ 'transform' ] , T , T > | undefined > ;
24
24
prepareInsert ( doc : T ) : string ;
25
25
insert ( doc : T , callback ?: ( error : Error | null , id : string ) => void ) : string ;
26
26
insertAsync ( doc : T , callback ?: ( error : Error | null , id : string ) => void ) : Promise < string > ;
27
27
pauseObservers ( ) : void ;
28
28
clearResultQueries ( callback : ( error : Error | null , result : number ) => void ) : number ;
29
- prepareRemove ( selector : Selector < T > ) : {
29
+ prepareRemove ( selector : Filter < T > ) : {
30
30
queriesToRecompute : string [ ] ;
31
31
queryRemove : { qid : string ; doc : T } [ ] ;
32
32
remove : T [ '_id' ] [ ] ;
33
33
} ;
34
- remove ( selector : Selector < T > , callback ?: ( error : Error | null , result : number ) => void ) : number ;
34
+ remove ( selector : Filter < T > , callback ?: ( error : Error | null , result : number ) => void ) : number ;
35
35
resumeObserversServer ( ) : Promise < void > ;
36
36
resumeObserversClient ( ) : void ;
37
37
retrieveOriginals ( ) : IIdMap < T [ '_id' ] , T | undefined > ;
38
38
saveOriginals ( ) : void ;
39
- prepareUpdate ( selector : Selector < T > ) : Record < string , IIdMap < T [ '_id' ] , T > | T [ ] > ;
39
+ prepareUpdate ( selector : Filter < T > ) : Record < string , IIdMap < T [ '_id' ] , T > | T [ ] > ;
40
40
finishUpdate ( params : {
41
41
options : { _returnObject ?: boolean } ;
42
42
updateCount : number ;
43
43
callback : ( error : Error | null , result : number | { numberAffected : number ; insertedId ?: string } ) => void ;
44
44
insertedId ?: string ;
45
45
selector ?: unknown ;
46
- mod ?: unknown ;
46
+ mod ?: UpdateFilter < T > ;
47
47
} ) : { numberAffected : number ; insertedId ?: string } | number ;
48
48
updateAsync (
49
- selector : Selector < T > ,
50
- mod : unknown ,
49
+ selector : Filter < T > ,
50
+ mod : UpdateFilter < T > ,
51
51
callback : (
52
52
error : Error | null ,
53
53
result :
@@ -59,8 +59,8 @@ export interface ILocalCollection<T extends { _id: string }> {
59
59
) => void ,
60
60
) : Promise < { numberAffected : number ; insertedId ?: string } | number > ;
61
61
updateAsync (
62
- selector : Selector < T > ,
63
- mod : unknown ,
62
+ selector : Filter < T > ,
63
+ mod : UpdateFilter < T > ,
64
64
options : { multi ?: boolean ; upsert ?: boolean ; insertedId ?: string ; _returnObject ?: boolean } | null ,
65
65
callback : (
66
66
error : Error | null ,
@@ -73,8 +73,8 @@ export interface ILocalCollection<T extends { _id: string }> {
73
73
) => void ,
74
74
) : Promise < { numberAffected : number ; insertedId ?: string } | number > ;
75
75
update (
76
- selector : Selector < T > ,
77
- mod : unknown ,
76
+ selector : Filter < T > ,
77
+ mod : UpdateFilter < T > ,
78
78
callback : (
79
79
error : Error | null ,
80
80
result :
@@ -86,8 +86,8 @@ export interface ILocalCollection<T extends { _id: string }> {
86
86
) => void ,
87
87
) : { numberAffected : number ; insertedId ?: string } | number ;
88
88
update (
89
- selector : Selector < T > ,
90
- mod : unknown ,
89
+ selector : Filter < T > ,
90
+ mod : UpdateFilter < T > ,
91
91
options : { multi ?: boolean ; upsert ?: boolean ; insertedId ?: string ; _returnObject ?: boolean } | null ,
92
92
callback : (
93
93
error : Error | null ,
@@ -100,8 +100,8 @@ export interface ILocalCollection<T extends { _id: string }> {
100
100
) => void ,
101
101
) : { numberAffected : number ; insertedId ?: string } | number ;
102
102
upsert (
103
- selector : Selector < T > ,
104
- mod : unknown ,
103
+ selector : Filter < T > ,
104
+ mod : UpdateFilter < T > ,
105
105
callback : (
106
106
error : Error | null ,
107
107
result :
@@ -113,8 +113,8 @@ export interface ILocalCollection<T extends { _id: string }> {
113
113
) => void ,
114
114
) : { numberAffected : number ; insertedId ?: string } | number ;
115
115
upsert (
116
- selector : Selector < T > ,
117
- mod : unknown ,
116
+ selector : Filter < T > ,
117
+ mod : UpdateFilter < T > ,
118
118
options : { multi ?: boolean ; upsert ?: boolean ; insertedId ?: string ; _returnObject ?: boolean } | null ,
119
119
callback : (
120
120
error : Error | null ,
@@ -127,8 +127,8 @@ export interface ILocalCollection<T extends { _id: string }> {
127
127
) => void ,
128
128
) : { numberAffected : number ; insertedId ?: string } | number ;
129
129
upsertAsync (
130
- selector : Selector < T > ,
131
- mod : unknown ,
130
+ selector : Filter < T > ,
131
+ mod : UpdateFilter < T > ,
132
132
callback : (
133
133
error : Error | null ,
134
134
result :
@@ -140,8 +140,8 @@ export interface ILocalCollection<T extends { _id: string }> {
140
140
) => void ,
141
141
) : Promise < { numberAffected : number ; insertedId ?: string } | number > ;
142
142
upsertAsync (
143
- selector : Selector < T > ,
144
- mod : unknown ,
143
+ selector : Filter < T > ,
144
+ mod : UpdateFilter < T > ,
145
145
options : { multi ?: boolean ; upsert ?: boolean ; insertedId ?: string ; _returnObject ?: boolean } | null ,
146
146
callback : (
147
147
error : Error | null ,
0 commit comments