Skip to content

Commit 6a6fb5c

Browse files
committed
chore: remove use of PromisifyCallbacks
1 parent 0e4b681 commit 6a6fb5c

6 files changed

Lines changed: 21 additions & 25 deletions

File tree

meteor/server/collections/changeStream/changeStreamCursor.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import {
77
ObserveCallbacks,
88
ObserveChangesCallbacks,
99
} from '@sofie-automation/corelib/dist/mongo'
10-
import { PromisifyCallbacks } from '@sofie-automation/shared-lib/dist/lib/types'
1110
import { observeChangesViaChangeStream, observeViaChangeStream, ObserveMultiplexerDeps } from './observeMultiplexer'
1211
import type { MinimalMongoCursor } from '../collection'
1312

@@ -47,7 +46,7 @@ export class ChangeStreamCursor<TDoc extends { _id: ProtectedString<any> }> impl
4746
}
4847

4948
async observeChangesAsync(
50-
callbacks: PromisifyCallbacks<ObserveChangesCallbacks<TDoc>>,
49+
callbacks: ObserveChangesCallbacks<TDoc>,
5150
options?: ObserveChangesOptions
5251
): Promise<Meteor.LiveQueryHandle> {
5352
const abort = new AbortController()
@@ -74,7 +73,7 @@ export class ChangeStreamCursor<TDoc extends { _id: ProtectedString<any> }> impl
7473
}
7574
}
7675

77-
async observeAsync(callbacks: PromisifyCallbacks<ObserveCallbacks<TDoc>>): Promise<Meteor.LiveQueryHandle> {
76+
async observeAsync(callbacks: ObserveCallbacks<TDoc>): Promise<Meteor.LiveQueryHandle> {
7877
const abort = new AbortController()
7978

8079
try {

meteor/server/collections/changeStream/observeMultiplexer.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/* eslint-disable @typescript-eslint/await-thenable */
12
import type { ChangeStreamDocument } from 'mongodb'
23
import clone from 'fast-clone'
34
import { ProtectedString } from '@sofie-automation/corelib/dist/protectedString'
@@ -7,7 +8,6 @@ import {
78
ObserveCallbacks,
89
ObserveChangesCallbacks,
910
} from '@sofie-automation/corelib/dist/mongo'
10-
import { PromisifyCallbacks } from '@sofie-automation/shared-lib/dist/lib/types'
1111
import { stringifyError } from '@sofie-automation/shared-lib/dist/lib/stringifyError'
1212
import { EJSON } from 'meteor/ejson'
1313
import { logger } from '../../logging'
@@ -30,13 +30,13 @@ export interface ObserveMultiplexerDeps<TDoc extends Doc> {
3030

3131
interface ChangesSubscriber<TDoc extends Doc> {
3232
type: 'changes'
33-
callbacks: PromisifyCallbacks<ObserveChangesCallbacks<TDoc>>
33+
callbacks: ObserveChangesCallbacks<TDoc>
3434
nonMutating: boolean
3535
live: boolean
3636
}
3737
interface ObserveSubscriber<TDoc extends Doc> {
3838
type: 'observe'
39-
callbacks: PromisifyCallbacks<ObserveCallbacks<TDoc>>
39+
callbacks: ObserveCallbacks<TDoc>
4040
nonMutating: boolean
4141
live: boolean
4242
}
@@ -127,7 +127,7 @@ export class ObserveMultiplexer<TDoc extends Doc> {
127127
// --- subscriber management -------------------------------------------------------------------
128128

129129
async addObserveChangesSubscriber(
130-
callbacks: PromisifyCallbacks<ObserveChangesCallbacks<TDoc>>,
130+
callbacks: ObserveChangesCallbacks<TDoc>,
131131
signal: AbortSignal,
132132
nonMutating: boolean
133133
): Promise<void> {
@@ -136,7 +136,7 @@ export class ObserveMultiplexer<TDoc extends Doc> {
136136
}
137137

138138
async addObserveSubscriber(
139-
callbacks: PromisifyCallbacks<ObserveCallbacks<TDoc>>,
139+
callbacks: ObserveCallbacks<TDoc>,
140140
signal: AbortSignal,
141141
nonMutating: boolean
142142
): Promise<void> {
@@ -310,7 +310,7 @@ export async function observeChangesViaChangeStream<TDoc extends Doc>(
310310
collectionName: string,
311311
selector: MongoQuery<TDoc>,
312312
projection: MongoFieldSpecifier<TDoc> | undefined,
313-
callbacks: PromisifyCallbacks<ObserveChangesCallbacks<TDoc>>,
313+
callbacks: ObserveChangesCallbacks<TDoc>,
314314
signal: AbortSignal,
315315
nonMutating: boolean,
316316
makeDeps: () => ObserveMultiplexerDeps<TDoc>
@@ -324,7 +324,7 @@ export async function observeViaChangeStream<TDoc extends Doc>(
324324
collectionName: string,
325325
selector: MongoQuery<TDoc>,
326326
projection: MongoFieldSpecifier<TDoc> | undefined,
327-
callbacks: PromisifyCallbacks<ObserveCallbacks<TDoc>>,
327+
callbacks: ObserveCallbacks<TDoc>,
328328
signal: AbortSignal,
329329
nonMutating: boolean,
330330
makeDeps: () => ObserveMultiplexerDeps<TDoc>

meteor/server/collections/collection.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import {
99
} from '@sofie-automation/corelib/dist/mongo'
1010
import { ProtectedString } from '@sofie-automation/corelib/dist/protectedString'
1111
import { Meteor } from 'meteor/meteor'
12-
import { PromisifyCallbacks } from '@sofie-automation/shared-lib/dist/lib/types'
1312
import type { CreateIndexesOptions, IndexDescriptionInfo } from 'mongodb'
1413
import { CollectionName } from '@sofie-automation/corelib/dist/dataModel/Collections'
1514
import { registerCollection } from './lib'
@@ -230,7 +229,7 @@ export interface AsyncOnlyReadOnlyMongoCollection<DBInterface extends { _id: Pro
230229
*/
231230
observeChanges(
232231
selector: MongoQuery<DBInterface> | DBInterface['_id'],
233-
callbacks: PromisifyCallbacks<ObserveChangesCallbacks<DBInterface>>,
232+
callbacks: ObserveChangesCallbacks<DBInterface>,
234233
findOptions?: Omit<FindOptions<DBInterface>, 'fields'>,
235234
callbackOptions?: ObserveChangesOptions
236235
): Promise<Meteor.LiveQueryHandle>
@@ -241,7 +240,7 @@ export interface AsyncOnlyReadOnlyMongoCollection<DBInterface extends { _id: Pro
241240
*/
242241
observe(
243242
selector: MongoQuery<DBInterface> | DBInterface['_id'],
244-
callbacks: PromisifyCallbacks<ObserveCallbacks<DBInterface>>,
243+
callbacks: ObserveCallbacks<DBInterface>,
245244
options?: Omit<FindOptions<DBInterface>, 'fields'>
246245
): Promise<Meteor.LiveQueryHandle>
247246

meteor/server/collections/implementations/asyncCollection.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import { stringifyError } from '@sofie-automation/shared-lib/dist/lib/stringifyE
1919
import { MongoFieldSpecifier } from '@sofie-automation/corelib/dist/mongo'
2020
import { profiler } from '../../api/profiler'
2121
import { logger } from '../../logging'
22-
import { PromisifyCallbacks } from '@sofie-automation/shared-lib/dist/lib/types'
2322
import { AsyncOnlyMongoCollection, MinimalMongoCursor } from '../collection'
2423
import { getMongoDb } from '../mongoConnection'
2524
import {
@@ -169,7 +168,7 @@ export class WrappedAsyncMongoCollection<
169168

170169
async observeChanges(
171170
selector: MongoQuery<DBInterface> | DBInterface['_id'],
172-
callbacks: PromisifyCallbacks<ObserveChangesCallbacks<DBInterface>>,
171+
callbacks: ObserveChangesCallbacks<DBInterface>,
173172
findOptions?: FindOptions<DBInterface>,
174173
callbackOptions?: ObserveChangesOptions
175174
): Promise<Meteor.LiveQueryHandle> {
@@ -208,7 +207,7 @@ export class WrappedAsyncMongoCollection<
208207

209208
async observe(
210209
selector: MongoQuery<DBInterface> | DBInterface['_id'],
211-
callbacks: PromisifyCallbacks<ObserveCallbacks<DBInterface>>,
210+
callbacks: ObserveCallbacks<DBInterface>,
212211
options?: FindOptions<DBInterface>
213212
): Promise<Meteor.LiveQueryHandle> {
214213
// Note: this span only covers the observer setup (initial snapshot + diff), not the lifetime of the observer

meteor/server/collections/implementations/mock.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import { ProtectedString } from '@sofie-automation/corelib/dist/protectedString'
1111
import { Meteor } from 'meteor/meteor'
1212
import type { CreateIndexesOptions, IndexDescriptionInfo } from 'mongodb'
1313
import { InMemoryMongoCollection } from '@sofie-automation/corelib/dist/memoryCollection'
14-
import { PromisifyCallbacks } from '@sofie-automation/shared-lib/dist/lib/types'
1514
import { UpdateOptions, IndexSpecifier } from '@sofie-automation/meteor-lib/dist/collections/lib'
1615
import { AsyncOnlyMongoCollection, MinimalMongoCursor } from '../collection'
1716

@@ -114,7 +113,7 @@ export class WrappedMockCollection<
114113

115114
async observe(
116115
selector: MongoQuery<DBInterface> | DBInterface['_id'],
117-
callbacks: PromisifyCallbacks<ObserveCallbacks<DBInterface>>,
116+
callbacks: ObserveCallbacks<DBInterface>,
118117
options?: Omit<FindOptions<DBInterface>, 'fields'>
119118
): Promise<Meteor.LiveQueryHandle> {
120119
await this.#sleep(0)
@@ -123,7 +122,7 @@ export class WrappedMockCollection<
123122

124123
async observeChanges(
125124
selector: MongoQuery<DBInterface> | DBInterface['_id'],
126-
callbacks: PromisifyCallbacks<ObserveChangesCallbacks<DBInterface>>,
125+
callbacks: ObserveChangesCallbacks<DBInterface>,
127126
findOptions?: Omit<FindOptions<DBInterface>, 'fields'>,
128127
callbackOptions?: ObserveChangesOptions
129128
): Promise<Meteor.LiveQueryHandle> {

packages/corelib/src/mongo.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,18 +70,18 @@ export interface ObserveChangesOptions {
7070

7171
/** Callbacks for observing the full documents of a query as its result set changes. */
7272
export interface ObserveCallbacks<DBInterface> {
73-
added?(document: DBInterface): void
74-
changed?(newDocument: DBInterface, oldDocument: DBInterface): void
75-
removed?(oldDocument: DBInterface): void
73+
added?(document: DBInterface): void | Promise<void>
74+
changed?(newDocument: DBInterface, oldDocument: DBInterface): void | Promise<void>
75+
removed?(oldDocument: DBInterface): void | Promise<void>
7676
}
7777
/**
7878
* Callbacks for observing a query as its result set changes. Only the differences between the old and new
7979
* documents are passed to the callbacks.
8080
*/
8181
export interface ObserveChangesCallbacks<DBInterface extends { _id: ProtectedString<any> }> {
82-
added?(id: DBInterface['_id'], fields: Partial<DBInterface>): void
83-
changed?(id: DBInterface['_id'], fields: Partial<DBInterface>): void
84-
removed?(id: DBInterface['_id']): void
82+
added?(id: DBInterface['_id'], fields: Partial<DBInterface>): void | Promise<void>
83+
changed?(id: DBInterface['_id'], fields: Partial<DBInterface>): void | Promise<void>
84+
removed?(id: DBInterface['_id']): void | Promise<void>
8585
}
8686

8787
/**

0 commit comments

Comments
 (0)