mongodb-livedata-server 0.1.3 → 0.1.5
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 +2 -2
- package/dist/livedata_server.d.ts +4 -4
- package/dist/livedata_server.js +11 -11
- package/dist/meteor/binary-heap/max_heap.d.ts +31 -31
- package/dist/meteor/binary-heap/max_heap.js +186 -186
- package/dist/meteor/binary-heap/min_heap.d.ts +6 -6
- package/dist/meteor/binary-heap/min_heap.js +17 -17
- package/dist/meteor/binary-heap/min_max_heap.d.ts +11 -11
- package/dist/meteor/binary-heap/min_max_heap.js +48 -48
- package/dist/meteor/callback-hook/hook.d.ts +11 -11
- package/dist/meteor/callback-hook/hook.js +78 -78
- package/dist/meteor/ddp/crossbar.d.ts +15 -15
- package/dist/meteor/ddp/crossbar.js +136 -136
- package/dist/meteor/ddp/heartbeat.d.ts +19 -19
- package/dist/meteor/ddp/heartbeat.js +77 -77
- package/dist/meteor/ddp/livedata_server.d.ts +141 -142
- package/dist/meteor/ddp/livedata_server.js +403 -403
- package/dist/meteor/ddp/method-invocation.d.ts +35 -35
- package/dist/meteor/ddp/method-invocation.js +72 -72
- package/dist/meteor/ddp/random-stream.d.ts +8 -8
- package/dist/meteor/ddp/random-stream.js +100 -100
- package/dist/meteor/ddp/session-collection-view.d.ts +20 -20
- package/dist/meteor/ddp/session-collection-view.js +106 -106
- package/dist/meteor/ddp/session-document-view.d.ts +8 -8
- package/dist/meteor/ddp/session-document-view.js +82 -82
- package/dist/meteor/ddp/session.d.ts +75 -75
- package/dist/meteor/ddp/session.js +590 -590
- package/dist/meteor/ddp/stream_server.d.ts +20 -21
- package/dist/meteor/ddp/stream_server.js +181 -181
- package/dist/meteor/ddp/subscription.d.ts +94 -94
- package/dist/meteor/ddp/subscription.js +370 -370
- package/dist/meteor/ddp/utils.d.ts +8 -8
- package/dist/meteor/ddp/utils.js +104 -104
- package/dist/meteor/ddp/writefence.d.ts +20 -20
- package/dist/meteor/ddp/writefence.js +111 -111
- package/dist/meteor/diff-sequence/diff.d.ts +17 -17
- package/dist/meteor/diff-sequence/diff.js +257 -257
- package/dist/meteor/ejson/ejson.d.ts +82 -82
- package/dist/meteor/ejson/ejson.js +568 -569
- package/dist/meteor/ejson/stringify.d.ts +2 -2
- package/dist/meteor/ejson/stringify.js +119 -119
- package/dist/meteor/ejson/utils.d.ts +12 -12
- package/dist/meteor/ejson/utils.js +42 -42
- package/dist/meteor/mongo/caching_change_observer.d.ts +16 -16
- package/dist/meteor/mongo/caching_change_observer.js +63 -63
- package/dist/meteor/mongo/doc_fetcher.d.ts +7 -7
- package/dist/meteor/mongo/doc_fetcher.js +53 -53
- package/dist/meteor/mongo/geojson_utils.d.ts +3 -3
- package/dist/meteor/mongo/geojson_utils.js +40 -41
- package/dist/meteor/mongo/live_connection.d.ts +28 -28
- package/dist/meteor/mongo/live_connection.js +264 -264
- package/dist/meteor/mongo/live_cursor.d.ts +25 -25
- package/dist/meteor/mongo/live_cursor.js +60 -60
- package/dist/meteor/mongo/minimongo_common.d.ts +84 -84
- package/dist/meteor/mongo/minimongo_common.js +1998 -1998
- package/dist/meteor/mongo/minimongo_matcher.d.ts +23 -23
- package/dist/meteor/mongo/minimongo_matcher.js +283 -283
- package/dist/meteor/mongo/minimongo_sorter.d.ts +16 -16
- package/dist/meteor/mongo/minimongo_sorter.js +268 -268
- package/dist/meteor/mongo/observe_driver_utils.d.ts +9 -9
- package/dist/meteor/mongo/observe_driver_utils.js +72 -73
- package/dist/meteor/mongo/observe_multiplexer.d.ts +46 -46
- package/dist/meteor/mongo/observe_multiplexer.js +203 -203
- package/dist/meteor/mongo/oplog-observe-driver.d.ts +68 -68
- package/dist/meteor/mongo/oplog-observe-driver.js +918 -918
- package/dist/meteor/mongo/oplog_tailing.d.ts +35 -35
- package/dist/meteor/mongo/oplog_tailing.js +352 -352
- package/dist/meteor/mongo/oplog_v2_converter.d.ts +1 -1
- package/dist/meteor/mongo/oplog_v2_converter.js +125 -126
- package/dist/meteor/mongo/polling_observe_driver.d.ts +30 -30
- package/dist/meteor/mongo/polling_observe_driver.js +216 -221
- package/dist/meteor/mongo/synchronous-cursor.d.ts +17 -17
- package/dist/meteor/mongo/synchronous-cursor.js +261 -261
- package/dist/meteor/mongo/synchronous-queue.d.ts +13 -13
- package/dist/meteor/mongo/synchronous-queue.js +110 -110
- package/dist/meteor/ordered-dict/ordered_dict.d.ts +31 -31
- package/dist/meteor/ordered-dict/ordered_dict.js +198 -198
- package/dist/meteor/random/AbstractRandomGenerator.d.ts +42 -42
- package/dist/meteor/random/AbstractRandomGenerator.js +92 -92
- package/dist/meteor/random/AleaRandomGenerator.d.ts +13 -13
- package/dist/meteor/random/AleaRandomGenerator.js +90 -90
- package/dist/meteor/random/NodeRandomGenerator.d.ts +16 -16
- package/dist/meteor/random/NodeRandomGenerator.js +42 -42
- package/dist/meteor/random/createAleaGenerator.d.ts +2 -2
- package/dist/meteor/random/createAleaGenerator.js +32 -32
- package/dist/meteor/random/createRandom.d.ts +1 -1
- package/dist/meteor/random/createRandom.js +22 -22
- package/dist/meteor/random/main.d.ts +1 -1
- package/dist/meteor/random/main.js +12 -12
- package/dist/meteor/types.d.ts +1 -1
- package/dist/meteor/types.js +2 -2
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function oplogV2V1Converter(oplogEntry: any): any;
|
|
1
|
+
export declare function oplogV2V1Converter(oplogEntry: any): any;
|
|
@@ -1,126 +1,125 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Converter of the new MongoDB Oplog format (>=5.0) to the one that Meteor
|
|
3
|
-
// handles well, i.e., `$set` and `$unset`. The new format is completely new,
|
|
4
|
-
// and looks as follows:
|
|
5
|
-
//
|
|
6
|
-
// { $v: 2, diff: Diff }
|
|
7
|
-
//
|
|
8
|
-
// where `Diff` is a recursive structure:
|
|
9
|
-
//
|
|
10
|
-
// {
|
|
11
|
-
// // Nested updates (sometimes also represented with an s-field).
|
|
12
|
-
// // Example: `{ $set: { 'foo.bar': 1 } }`.
|
|
13
|
-
// i: { <key>: <value>, ... },
|
|
14
|
-
//
|
|
15
|
-
// // Top-level updates.
|
|
16
|
-
// // Example: `{ $set: { foo: { bar: 1 } } }`.
|
|
17
|
-
// u: { <key>: <value>, ... },
|
|
18
|
-
//
|
|
19
|
-
// // Unsets.
|
|
20
|
-
// // Example: `{ $unset: { foo: '' } }`.
|
|
21
|
-
// d: { <key>: false, ... },
|
|
22
|
-
//
|
|
23
|
-
// // Array operations.
|
|
24
|
-
// // Example: `{ $push: { foo: 'bar' } }`.
|
|
25
|
-
// s<key>: { a: true, u<index>: <value>, ... },
|
|
26
|
-
// ...
|
|
27
|
-
//
|
|
28
|
-
// // Nested operations (sometimes also represented in the `i` field).
|
|
29
|
-
// // Example: `{ $set: { 'foo.bar': 1 } }`.
|
|
30
|
-
// s<key>: Diff,
|
|
31
|
-
// ...
|
|
32
|
-
// }
|
|
33
|
-
//
|
|
34
|
-
// (all fields are optional).
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.oplogV2V1Converter =
|
|
37
|
-
function join(prefix, key) {
|
|
38
|
-
return prefix ? `${prefix}.${key}` : key;
|
|
39
|
-
}
|
|
40
|
-
const arrayOperatorKeyRegex = /^(a|u\d+)$/;
|
|
41
|
-
function isArrayOperatorKey(field) {
|
|
42
|
-
return arrayOperatorKeyRegex.test(field);
|
|
43
|
-
}
|
|
44
|
-
function isArrayOperator(operator) {
|
|
45
|
-
return operator.a === true && Object.keys(operator).every(isArrayOperatorKey);
|
|
46
|
-
}
|
|
47
|
-
function flattenObjectInto(target, source, prefix) {
|
|
48
|
-
if (Array.isArray(source) || typeof source !== 'object' || source === null) {
|
|
49
|
-
target[prefix] = source;
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
const entries = Object.entries(source);
|
|
53
|
-
if (entries.length) {
|
|
54
|
-
entries.forEach(([key, value]) => {
|
|
55
|
-
flattenObjectInto(target, value, join(prefix, key));
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
target[prefix] = source;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
const logDebugMessages = !!process.env.OPLOG_CONVERTER_DEBUG;
|
|
64
|
-
function convertOplogDiff(oplogEntry, diff, prefix) {
|
|
65
|
-
if (logDebugMessages) {
|
|
66
|
-
console.log(`convertOplogDiff(${JSON.stringify(oplogEntry)}, ${JSON.stringify(diff)}, ${JSON.stringify(prefix)})`);
|
|
67
|
-
}
|
|
68
|
-
Object.entries(diff).forEach(([diffKey, value]) => {
|
|
69
|
-
var _a, _b, _c;
|
|
70
|
-
if (diffKey === 'd') {
|
|
71
|
-
// Handle `$unset`s.
|
|
72
|
-
(_a = oplogEntry.$unset) !== null && _a !== void 0 ? _a : (oplogEntry.$unset = {});
|
|
73
|
-
Object.keys(value).forEach(key => {
|
|
74
|
-
oplogEntry.$unset[join(prefix, key)] = true;
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
else if (diffKey === 'i') {
|
|
78
|
-
// Handle (potentially) nested `$set`s.
|
|
79
|
-
(_b = oplogEntry.$set) !== null && _b !== void 0 ? _b : (oplogEntry.$set = {});
|
|
80
|
-
flattenObjectInto(oplogEntry.$set, value, prefix);
|
|
81
|
-
}
|
|
82
|
-
else if (diffKey === 'u') {
|
|
83
|
-
// Handle flat `$set`s.
|
|
84
|
-
(_c = oplogEntry.$set) !== null && _c !== void 0 ? _c : (oplogEntry.$set = {});
|
|
85
|
-
Object.entries(value).forEach(([key, value]) => {
|
|
86
|
-
oplogEntry.$set[join(prefix, key)] = value;
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
// Handle s-fields.
|
|
91
|
-
const key = diffKey.slice(1);
|
|
92
|
-
if (isArrayOperator(value)) {
|
|
93
|
-
// Array operator.
|
|
94
|
-
Object.entries(value).forEach(([position, value]) => {
|
|
95
|
-
var _a, _b;
|
|
96
|
-
if (position === 'a') {
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
const positionKey = join(join(prefix, key), position.slice(1));
|
|
100
|
-
if (value === null) {
|
|
101
|
-
(_a = oplogEntry.$unset) !== null && _a !== void 0 ? _a : (oplogEntry.$unset = {});
|
|
102
|
-
oplogEntry.$unset[positionKey] = true;
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
(_b = oplogEntry.$set) !== null && _b !== void 0 ? _b : (oplogEntry.$set = {});
|
|
106
|
-
oplogEntry.$set[positionKey] = value;
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
else if (key) {
|
|
111
|
-
// Nested object.
|
|
112
|
-
convertOplogDiff(oplogEntry, value, join(prefix, key));
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
function oplogV2V1Converter(oplogEntry) {
|
|
118
|
-
// Pass-through v1 and (probably) invalid entries.
|
|
119
|
-
if (oplogEntry.$v !== 2 || !oplogEntry.diff) {
|
|
120
|
-
return oplogEntry;
|
|
121
|
-
}
|
|
122
|
-
const convertedOplogEntry = { $v: 2 };
|
|
123
|
-
convertOplogDiff(convertedOplogEntry, oplogEntry.diff, '');
|
|
124
|
-
return convertedOplogEntry;
|
|
125
|
-
}
|
|
126
|
-
exports.oplogV2V1Converter = oplogV2V1Converter;
|
|
1
|
+
"use strict";
|
|
2
|
+
// Converter of the new MongoDB Oplog format (>=5.0) to the one that Meteor
|
|
3
|
+
// handles well, i.e., `$set` and `$unset`. The new format is completely new,
|
|
4
|
+
// and looks as follows:
|
|
5
|
+
//
|
|
6
|
+
// { $v: 2, diff: Diff }
|
|
7
|
+
//
|
|
8
|
+
// where `Diff` is a recursive structure:
|
|
9
|
+
//
|
|
10
|
+
// {
|
|
11
|
+
// // Nested updates (sometimes also represented with an s-field).
|
|
12
|
+
// // Example: `{ $set: { 'foo.bar': 1 } }`.
|
|
13
|
+
// i: { <key>: <value>, ... },
|
|
14
|
+
//
|
|
15
|
+
// // Top-level updates.
|
|
16
|
+
// // Example: `{ $set: { foo: { bar: 1 } } }`.
|
|
17
|
+
// u: { <key>: <value>, ... },
|
|
18
|
+
//
|
|
19
|
+
// // Unsets.
|
|
20
|
+
// // Example: `{ $unset: { foo: '' } }`.
|
|
21
|
+
// d: { <key>: false, ... },
|
|
22
|
+
//
|
|
23
|
+
// // Array operations.
|
|
24
|
+
// // Example: `{ $push: { foo: 'bar' } }`.
|
|
25
|
+
// s<key>: { a: true, u<index>: <value>, ... },
|
|
26
|
+
// ...
|
|
27
|
+
//
|
|
28
|
+
// // Nested operations (sometimes also represented in the `i` field).
|
|
29
|
+
// // Example: `{ $set: { 'foo.bar': 1 } }`.
|
|
30
|
+
// s<key>: Diff,
|
|
31
|
+
// ...
|
|
32
|
+
// }
|
|
33
|
+
//
|
|
34
|
+
// (all fields are optional).
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.oplogV2V1Converter = oplogV2V1Converter;
|
|
37
|
+
function join(prefix, key) {
|
|
38
|
+
return prefix ? `${prefix}.${key}` : key;
|
|
39
|
+
}
|
|
40
|
+
const arrayOperatorKeyRegex = /^(a|u\d+)$/;
|
|
41
|
+
function isArrayOperatorKey(field) {
|
|
42
|
+
return arrayOperatorKeyRegex.test(field);
|
|
43
|
+
}
|
|
44
|
+
function isArrayOperator(operator) {
|
|
45
|
+
return operator.a === true && Object.keys(operator).every(isArrayOperatorKey);
|
|
46
|
+
}
|
|
47
|
+
function flattenObjectInto(target, source, prefix) {
|
|
48
|
+
if (Array.isArray(source) || typeof source !== 'object' || source === null) {
|
|
49
|
+
target[prefix] = source;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
const entries = Object.entries(source);
|
|
53
|
+
if (entries.length) {
|
|
54
|
+
entries.forEach(([key, value]) => {
|
|
55
|
+
flattenObjectInto(target, value, join(prefix, key));
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
target[prefix] = source;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const logDebugMessages = !!process.env.OPLOG_CONVERTER_DEBUG;
|
|
64
|
+
function convertOplogDiff(oplogEntry, diff, prefix) {
|
|
65
|
+
if (logDebugMessages) {
|
|
66
|
+
console.log(`convertOplogDiff(${JSON.stringify(oplogEntry)}, ${JSON.stringify(diff)}, ${JSON.stringify(prefix)})`);
|
|
67
|
+
}
|
|
68
|
+
Object.entries(diff).forEach(([diffKey, value]) => {
|
|
69
|
+
var _a, _b, _c;
|
|
70
|
+
if (diffKey === 'd') {
|
|
71
|
+
// Handle `$unset`s.
|
|
72
|
+
(_a = oplogEntry.$unset) !== null && _a !== void 0 ? _a : (oplogEntry.$unset = {});
|
|
73
|
+
Object.keys(value).forEach(key => {
|
|
74
|
+
oplogEntry.$unset[join(prefix, key)] = true;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
else if (diffKey === 'i') {
|
|
78
|
+
// Handle (potentially) nested `$set`s.
|
|
79
|
+
(_b = oplogEntry.$set) !== null && _b !== void 0 ? _b : (oplogEntry.$set = {});
|
|
80
|
+
flattenObjectInto(oplogEntry.$set, value, prefix);
|
|
81
|
+
}
|
|
82
|
+
else if (diffKey === 'u') {
|
|
83
|
+
// Handle flat `$set`s.
|
|
84
|
+
(_c = oplogEntry.$set) !== null && _c !== void 0 ? _c : (oplogEntry.$set = {});
|
|
85
|
+
Object.entries(value).forEach(([key, value]) => {
|
|
86
|
+
oplogEntry.$set[join(prefix, key)] = value;
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
// Handle s-fields.
|
|
91
|
+
const key = diffKey.slice(1);
|
|
92
|
+
if (isArrayOperator(value)) {
|
|
93
|
+
// Array operator.
|
|
94
|
+
Object.entries(value).forEach(([position, value]) => {
|
|
95
|
+
var _a, _b;
|
|
96
|
+
if (position === 'a') {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const positionKey = join(join(prefix, key), position.slice(1));
|
|
100
|
+
if (value === null) {
|
|
101
|
+
(_a = oplogEntry.$unset) !== null && _a !== void 0 ? _a : (oplogEntry.$unset = {});
|
|
102
|
+
oplogEntry.$unset[positionKey] = true;
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
(_b = oplogEntry.$set) !== null && _b !== void 0 ? _b : (oplogEntry.$set = {});
|
|
106
|
+
oplogEntry.$set[positionKey] = value;
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
else if (key) {
|
|
111
|
+
// Nested object.
|
|
112
|
+
convertOplogDiff(oplogEntry, value, join(prefix, key));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
function oplogV2V1Converter(oplogEntry) {
|
|
118
|
+
// Pass-through v1 and (probably) invalid entries.
|
|
119
|
+
if (oplogEntry.$v !== 2 || !oplogEntry.diff) {
|
|
120
|
+
return oplogEntry;
|
|
121
|
+
}
|
|
122
|
+
const convertedOplogEntry = { $v: 2 };
|
|
123
|
+
convertOplogDiff(convertedOplogEntry, oplogEntry.diff, '');
|
|
124
|
+
return convertedOplogEntry;
|
|
125
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { LiveMongoConnection } from "./live_connection";
|
|
2
|
-
import { ObserveMultiplexer } from "./observe_multiplexer";
|
|
3
|
-
import { CursorDescription } from "./live_cursor";
|
|
4
|
-
interface PollingObserveDriverOptions<TOrdered extends boolean> {
|
|
5
|
-
cursorDescription: CursorDescription<any>;
|
|
6
|
-
mongoHandle: LiveMongoConnection;
|
|
7
|
-
ordered: TOrdered;
|
|
8
|
-
multiplexer: ObserveMultiplexer;
|
|
9
|
-
stopCallbacks?: (() => void)[];
|
|
10
|
-
matcher?: any;
|
|
11
|
-
sorter?: any;
|
|
12
|
-
}
|
|
13
|
-
export declare class PollingObserveDriver<TOrdered extends boolean> {
|
|
14
|
-
private _cursorDescription;
|
|
15
|
-
private _mongoHandle;
|
|
16
|
-
private _ordered;
|
|
17
|
-
private _multiplexer;
|
|
18
|
-
private _stopCallbacks;
|
|
19
|
-
private _stopped;
|
|
20
|
-
private _results;
|
|
21
|
-
private _pollsScheduledButNotStarted;
|
|
22
|
-
private _pendingWrites;
|
|
23
|
-
private _ensurePollIsScheduled;
|
|
24
|
-
private _taskQueue;
|
|
25
|
-
constructor(options: PollingObserveDriverOptions<TOrdered>);
|
|
26
|
-
_unthrottledEnsurePollIsScheduled(): void;
|
|
27
|
-
_pollMongo(): Promise<void>;
|
|
28
|
-
stop(): void;
|
|
29
|
-
}
|
|
30
|
-
export {};
|
|
1
|
+
import { LiveMongoConnection } from "./live_connection";
|
|
2
|
+
import { ObserveMultiplexer } from "./observe_multiplexer";
|
|
3
|
+
import { CursorDescription } from "./live_cursor";
|
|
4
|
+
interface PollingObserveDriverOptions<TOrdered extends boolean> {
|
|
5
|
+
cursorDescription: CursorDescription<any>;
|
|
6
|
+
mongoHandle: LiveMongoConnection;
|
|
7
|
+
ordered: TOrdered;
|
|
8
|
+
multiplexer: ObserveMultiplexer;
|
|
9
|
+
stopCallbacks?: (() => void)[];
|
|
10
|
+
matcher?: any;
|
|
11
|
+
sorter?: any;
|
|
12
|
+
}
|
|
13
|
+
export declare class PollingObserveDriver<TOrdered extends boolean> {
|
|
14
|
+
private _cursorDescription;
|
|
15
|
+
private _mongoHandle;
|
|
16
|
+
private _ordered;
|
|
17
|
+
private _multiplexer;
|
|
18
|
+
private _stopCallbacks;
|
|
19
|
+
private _stopped;
|
|
20
|
+
private _results;
|
|
21
|
+
private _pollsScheduledButNotStarted;
|
|
22
|
+
private _pendingWrites;
|
|
23
|
+
private _ensurePollIsScheduled;
|
|
24
|
+
private _taskQueue;
|
|
25
|
+
constructor(options: PollingObserveDriverOptions<TOrdered>);
|
|
26
|
+
_unthrottledEnsurePollIsScheduled(): void;
|
|
27
|
+
_pollMongo(): Promise<void>;
|
|
28
|
+
stop(): void;
|
|
29
|
+
}
|
|
30
|
+
export {};
|