@polygonlabs/servercore 1.5.0 → 1.5.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/dist/index.d.ts +443 -31
- package/dist/index.js +951 -8
- package/dist/index.js.map +1 -1
- package/package.json +5 -3
- package/dist/api/health-check.d.ts +0 -8
- package/dist/api/health-check.js +0 -89
- package/dist/api/health-check.js.map +0 -1
- package/dist/api/index.d.ts +0 -9
- package/dist/api/index.js +0 -4
- package/dist/api/index.js.map +0 -1
- package/dist/api/response_handler.d.ts +0 -15
- package/dist/api/response_handler.js +0 -23
- package/dist/api/response_handler.js.map +0 -1
- package/dist/api/zod_utils.d.ts +0 -7
- package/dist/api/zod_utils.js +0 -42
- package/dist/api/zod_utils.js.map +0 -1
- package/dist/constants/error_codes.d.ts +0 -29
- package/dist/constants/error_codes.js +0 -34
- package/dist/constants/error_codes.js.map +0 -1
- package/dist/constants/http_success_codes.d.ts +0 -5
- package/dist/constants/http_success_codes.js +0 -7
- package/dist/constants/http_success_codes.js.map +0 -1
- package/dist/constants/index.d.ts +0 -2
- package/dist/constants/index.js +0 -3
- package/dist/constants/index.js.map +0 -1
- package/dist/consumers/abstract_cron_event_consumer.d.ts +0 -23
- package/dist/consumers/abstract_cron_event_consumer.js +0 -30
- package/dist/consumers/abstract_cron_event_consumer.js.map +0 -1
- package/dist/consumers/abstract_event_consumer.d.ts +0 -34
- package/dist/consumers/abstract_event_consumer.js +0 -41
- package/dist/consumers/abstract_event_consumer.js.map +0 -1
- package/dist/consumers/event_consumer.d.ts +0 -26
- package/dist/consumers/event_consumer.js +0 -141
- package/dist/consumers/event_consumer.js.map +0 -1
- package/dist/consumers/index.d.ts +0 -11
- package/dist/consumers/index.js +0 -4
- package/dist/consumers/index.js.map +0 -1
- package/dist/consumers/rest_api_consumer.d.ts +0 -30
- package/dist/consumers/rest_api_consumer.js +0 -131
- package/dist/consumers/rest_api_consumer.js.map +0 -1
- package/dist/errors/api_errors.d.ts +0 -32
- package/dist/errors/api_errors.js +0 -96
- package/dist/errors/api_errors.js.map +0 -1
- package/dist/errors/base_error.d.ts +0 -22
- package/dist/errors/base_error.js +0 -30
- package/dist/errors/base_error.js.map +0 -1
- package/dist/errors/consumer_errors.d.ts +0 -13
- package/dist/errors/consumer_errors.js +0 -18
- package/dist/errors/consumer_errors.js.map +0 -1
- package/dist/errors/database_errors.d.ts +0 -13
- package/dist/errors/database_errors.js +0 -18
- package/dist/errors/database_errors.js.map +0 -1
- package/dist/errors/external_dependency_error.d.ts +0 -15
- package/dist/errors/external_dependency_error.js +0 -29
- package/dist/errors/external_dependency_error.js.map +0 -1
- package/dist/errors/index.d.ts +0 -5
- package/dist/errors/index.js +0 -6
- package/dist/errors/index.js.map +0 -1
- package/dist/logger/index.d.ts +0 -3
- package/dist/logger/index.js +0 -2
- package/dist/logger/index.js.map +0 -1
- package/dist/logger/logger.d.ts +0 -54
- package/dist/logger/logger.js +0 -124
- package/dist/logger/logger.js.map +0 -1
- package/dist/storage/cache_interface.d.ts +0 -13
- package/dist/storage/cache_interface.js +0 -1
- package/dist/storage/cache_interface.js.map +0 -1
- package/dist/storage/db_interface.d.ts +0 -18
- package/dist/storage/db_interface.js +0 -1
- package/dist/storage/db_interface.js.map +0 -1
- package/dist/storage/index.d.ts +0 -5
- package/dist/storage/index.js +0 -4
- package/dist/storage/index.js.map +0 -1
- package/dist/storage/queue_interface.d.ts +0 -11
- package/dist/storage/queue_interface.js +0 -1
- package/dist/storage/queue_interface.js.map +0 -1
- package/dist/types/database.d.ts +0 -62
- package/dist/types/database.js +0 -1
- package/dist/types/database.js.map +0 -1
- package/dist/types/event_consumer_config.d.ts +0 -19
- package/dist/types/event_consumer_config.js +0 -1
- package/dist/types/event_consumer_config.js.map +0 -1
- package/dist/types/index.d.ts +0 -9
- package/dist/types/index.js +0 -8
- package/dist/types/index.js.map +0 -1
- package/dist/types/logger_config.d.ts +0 -18
- package/dist/types/logger_config.js +0 -2
- package/dist/types/logger_config.js.map +0 -1
- package/dist/types/observer.d.ts +0 -8
- package/dist/types/observer.js +0 -1
- package/dist/types/observer.js.map +0 -1
- package/dist/types/queue_job_opts.d.ts +0 -5
- package/dist/types/queue_job_opts.js +0 -1
- package/dist/types/queue_job_opts.js.map +0 -1
- package/dist/types/response_context.d.ts +0 -6
- package/dist/types/response_context.js +0 -1
- package/dist/types/response_context.js.map +0 -1
- package/dist/types/rest_api_consumer_config.d.ts +0 -17
- package/dist/types/rest_api_consumer_config.js +0 -1
- package/dist/types/rest_api_consumer_config.js.map +0 -1
- package/dist/utils/decoder.d.ts +0 -10
- package/dist/utils/decoder.js +0 -12
- package/dist/utils/decoder.js.map +0 -1
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.js +0 -3
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/ulid.d.ts +0 -3
- package/dist/utils/ulid.js +0 -24
- package/dist/utils/ulid.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,31 +1,443 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import winston from 'winston';
|
|
3
|
+
import { Address, AbiEvent, PublicClient, WatchEventReturnType } from 'viem';
|
|
4
|
+
import { EventEmitter } from 'events';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* BaseError used within the micro services that guarantees we don't loose the stack trace.
|
|
8
|
+
*/
|
|
9
|
+
declare class BaseError extends Error {
|
|
10
|
+
readonly name: string;
|
|
11
|
+
readonly code: number;
|
|
12
|
+
readonly isFatal: boolean;
|
|
13
|
+
readonly origin: string;
|
|
14
|
+
readonly context: Record<string, any>;
|
|
15
|
+
/**
|
|
16
|
+
* @param name {string} - The error name
|
|
17
|
+
* @param code {number} - The error code
|
|
18
|
+
* @param isFatal {boolean} - Flag to know if it is a fatal error
|
|
19
|
+
* @param message {string} - The actual error message
|
|
20
|
+
* @param origin {string} - The point this error originated
|
|
21
|
+
* @param context Record<string, any> - The stack trace
|
|
22
|
+
*/
|
|
23
|
+
constructor(name: string, code: number, message?: string, isFatal?: boolean, origin?: string, context?: Record<string, any>);
|
|
24
|
+
identifier: number;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
declare class ApiError extends BaseError {
|
|
28
|
+
constructor(message: string, { name, code, isFatal, origin, context, }?: {
|
|
29
|
+
name?: string;
|
|
30
|
+
code?: number;
|
|
31
|
+
isFatal?: boolean;
|
|
32
|
+
origin?: string;
|
|
33
|
+
context?: Record<string, any>;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
declare class UnauthorizedError extends ApiError {
|
|
37
|
+
constructor(message?: string, context?: Record<string, any>, origin?: string);
|
|
38
|
+
}
|
|
39
|
+
declare class ForbiddenError extends ApiError {
|
|
40
|
+
constructor(message?: string, context?: Record<string, any>, origin?: string);
|
|
41
|
+
}
|
|
42
|
+
declare class BadRequestError extends ApiError {
|
|
43
|
+
readonly validationErrors: Record<string, string[]>;
|
|
44
|
+
constructor(message?: string, validationErrors?: Record<string, any>, context?: Record<string, any>, origin?: string);
|
|
45
|
+
}
|
|
46
|
+
declare class NotFoundError extends ApiError {
|
|
47
|
+
constructor(message: string, entity?: string, identifier?: string | number, context?: Record<string, any>, origin?: string);
|
|
48
|
+
}
|
|
49
|
+
declare class RateLimitError extends ApiError {
|
|
50
|
+
constructor(message?: string, context?: Record<string, any>, origin?: string);
|
|
51
|
+
}
|
|
52
|
+
declare class TimeoutError extends ApiError {
|
|
53
|
+
constructor(operation: string, timeoutMs: number, context?: Record<string, any>, origin?: string);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
declare class DatabaseError extends BaseError {
|
|
57
|
+
constructor(message: string, originalError?: Error, { name, code, isFatal, origin, context, }?: {
|
|
58
|
+
name?: string;
|
|
59
|
+
code?: number;
|
|
60
|
+
isFatal?: boolean;
|
|
61
|
+
origin?: string;
|
|
62
|
+
context?: Record<string, any>;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
declare class ExternalDependencyError extends BaseError {
|
|
67
|
+
readonly apiName: string;
|
|
68
|
+
readonly externalCode?: string | number;
|
|
69
|
+
readonly rawError?: any;
|
|
70
|
+
constructor(apiName: string, message: string, { externalCode, rawError, context, origin, }?: {
|
|
71
|
+
externalCode?: string | number;
|
|
72
|
+
rawError?: any;
|
|
73
|
+
context?: Record<string, any>;
|
|
74
|
+
origin?: string;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
declare class ConsumerError extends BaseError {
|
|
79
|
+
constructor(message: string, { name, code, isFatal, origin, context, }?: {
|
|
80
|
+
name?: string;
|
|
81
|
+
code?: number;
|
|
82
|
+
isFatal?: boolean;
|
|
83
|
+
origin?: string;
|
|
84
|
+
context?: Record<string, any>;
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Logger configuration interface
|
|
90
|
+
*/
|
|
91
|
+
interface ILoggerConfig {
|
|
92
|
+
sentry?: {
|
|
93
|
+
dsn?: string;
|
|
94
|
+
level?: string;
|
|
95
|
+
environment?: string;
|
|
96
|
+
};
|
|
97
|
+
console?: {
|
|
98
|
+
level?: string;
|
|
99
|
+
};
|
|
100
|
+
winston?: winston.LoggerOptions;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
type WhereFilterOp = "<" | "<=" | "==" | "!=" | ">=" | ">" | "array-contains" | "in" | "not-in" | "array-contains-any";
|
|
104
|
+
type OrderByDirection = "desc" | "asc";
|
|
105
|
+
interface IQueryFilterOperationParams {
|
|
106
|
+
field: string;
|
|
107
|
+
operator: WhereFilterOp;
|
|
108
|
+
value: string | number | boolean | string[] | number[];
|
|
109
|
+
}
|
|
110
|
+
interface IQueryOrderOperationParams {
|
|
111
|
+
field: string;
|
|
112
|
+
order: OrderByDirection;
|
|
113
|
+
}
|
|
114
|
+
interface IDocumentConditionalModifications {
|
|
115
|
+
field: string;
|
|
116
|
+
value: string | number | boolean;
|
|
117
|
+
defaultValue: string | number | boolean;
|
|
118
|
+
}
|
|
119
|
+
interface IQueryOrFilterParams {
|
|
120
|
+
or: IQueryFilterOperationParams[];
|
|
121
|
+
}
|
|
122
|
+
interface AddDocumentsParams {
|
|
123
|
+
collectionPaths: string[] | string;
|
|
124
|
+
docDatas: any[];
|
|
125
|
+
docIds?: string[];
|
|
126
|
+
}
|
|
127
|
+
interface UpdateDocumentsParams {
|
|
128
|
+
collectionPaths: string[] | string;
|
|
129
|
+
docDatas: any[];
|
|
130
|
+
docIds: string[];
|
|
131
|
+
}
|
|
132
|
+
interface ConditionalUpdateDocumentsParams {
|
|
133
|
+
collectionPaths: string[] | string;
|
|
134
|
+
docDatas: any[];
|
|
135
|
+
docIds: string[];
|
|
136
|
+
conditions: IQueryFilterOperationParams[];
|
|
137
|
+
conditionModifications: IDocumentConditionalModifications[];
|
|
138
|
+
}
|
|
139
|
+
interface GetDocumentsParams {
|
|
140
|
+
collectionPath: string;
|
|
141
|
+
filter?: IQueryFilterOperationParams[];
|
|
142
|
+
limit?: number;
|
|
143
|
+
order?: IQueryOrderOperationParams[];
|
|
144
|
+
startAfterCursor?: string | number;
|
|
145
|
+
selectFields?: string[];
|
|
146
|
+
orFilters?: IQueryOrFilterParams[];
|
|
147
|
+
offset?: number;
|
|
148
|
+
returnTotalDocumentsCount?: boolean;
|
|
149
|
+
}
|
|
150
|
+
interface GetDocumentParams {
|
|
151
|
+
collectionId: string;
|
|
152
|
+
docId: string;
|
|
153
|
+
}
|
|
154
|
+
interface DeleteDocumentsParams {
|
|
155
|
+
collectionId: string;
|
|
156
|
+
docIds: string[];
|
|
157
|
+
}
|
|
158
|
+
interface GetCollectionGroupParams {
|
|
159
|
+
groupId: string;
|
|
160
|
+
filter?: IQueryFilterOperationParams[];
|
|
161
|
+
orFilters?: IQueryOrFilterParams[];
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
interface IObserver<T, E, U> {
|
|
165
|
+
next: (value: T) => Promise<void> | void;
|
|
166
|
+
summary: (value: U) => Promise<void> | void;
|
|
167
|
+
error: (value: E) => void;
|
|
168
|
+
closed: () => void;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
type ChainNativeCurrency = {
|
|
172
|
+
name: string;
|
|
173
|
+
symbol: string;
|
|
174
|
+
decimals: number;
|
|
175
|
+
};
|
|
176
|
+
interface IEventConsumerConfig {
|
|
177
|
+
contractAddress: Address | Address[];
|
|
178
|
+
events: AbiEvent[];
|
|
179
|
+
chainId: number;
|
|
180
|
+
rpcUrl: string;
|
|
181
|
+
nativeCurrency: ChainNativeCurrency;
|
|
182
|
+
startBlock: bigint;
|
|
183
|
+
pollBatchSize: bigint;
|
|
184
|
+
pollInterval: number;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
type ResponseContext = {
|
|
188
|
+
status: (statusCode: number) => ResponseContext;
|
|
189
|
+
json: (body: any) => any;
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
type JobOpts = {
|
|
193
|
+
replace?: boolean;
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
interface IRestAPIConsumerConfig {
|
|
197
|
+
apiUrl: URL;
|
|
198
|
+
startCount: {
|
|
199
|
+
key: string;
|
|
200
|
+
value: number;
|
|
201
|
+
};
|
|
202
|
+
cronExpr?: string;
|
|
203
|
+
pollSize?: number;
|
|
204
|
+
body?: Record<string, any>;
|
|
205
|
+
headers?: Record<string, string>;
|
|
206
|
+
method?: "GET" | "POST";
|
|
207
|
+
params?: Record<string, string>;
|
|
208
|
+
paginationParam?: string;
|
|
209
|
+
resultPath?: string;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
declare const handleResponse: (c: ResponseContext, data: any, pagination?: {
|
|
213
|
+
total: number;
|
|
214
|
+
limit: number;
|
|
215
|
+
offset?: number;
|
|
216
|
+
nextStartAfterCursor?: string | number;
|
|
217
|
+
}) => any;
|
|
218
|
+
declare const handleError: (c: ResponseContext, error: ApiError | ExternalDependencyError | DatabaseError) => any;
|
|
219
|
+
|
|
220
|
+
declare const validateBody: <T extends z.ZodTypeAny>(schema: T, data: unknown) => z.infer<T>;
|
|
221
|
+
declare const validateQuery: <T extends z.ZodTypeAny>(schema: T, query: Record<string, unknown>) => z.infer<T>;
|
|
222
|
+
declare const validateParams: <T extends z.ZodTypeAny>(schema: T, params: Record<string, string>) => z.infer<T>;
|
|
223
|
+
|
|
224
|
+
declare class HealthCheck {
|
|
225
|
+
private readonly urls;
|
|
226
|
+
constructor(urls: string[]);
|
|
227
|
+
checkHealth(): Promise<string>;
|
|
228
|
+
}
|
|
229
|
+
declare function setupHealthCheckServer(urls: string[], serverPort: number, func?: Function): void;
|
|
230
|
+
|
|
231
|
+
declare class Logger {
|
|
232
|
+
private static logger;
|
|
233
|
+
/**
|
|
234
|
+
* @static
|
|
235
|
+
* Create method must first be called before using the logger. It creates a singleton, which will then
|
|
236
|
+
* be referred to throughout the application.
|
|
237
|
+
*/
|
|
238
|
+
static create(config: ILoggerConfig): void;
|
|
239
|
+
static ensureInitialized(): void;
|
|
240
|
+
/**
|
|
241
|
+
* @static
|
|
242
|
+
* Method to log for level - "info", this should not be called if it has been custom levels are
|
|
243
|
+
* set which does not include "info"
|
|
244
|
+
*
|
|
245
|
+
* @param {string|object} message - String or object to log.
|
|
246
|
+
*/
|
|
247
|
+
static info(message: string | object): void;
|
|
248
|
+
/**
|
|
249
|
+
* @static
|
|
250
|
+
* Method to log for level - "debug", this should not be called if it has been custom levels are
|
|
251
|
+
* set which does not include "debug"
|
|
252
|
+
*
|
|
253
|
+
* @param {string|object} message - String or object to log.
|
|
254
|
+
*/
|
|
255
|
+
static debug(message: string | object): void;
|
|
256
|
+
/**
|
|
257
|
+
* @static
|
|
258
|
+
* Method to log for level - "error", this should not be called if it has been custom levels are
|
|
259
|
+
* set which does not include "error"
|
|
260
|
+
*
|
|
261
|
+
* @param {string|object} error - String or object to log.
|
|
262
|
+
*/
|
|
263
|
+
static error(error: string | object): void;
|
|
264
|
+
/**
|
|
265
|
+
* @static
|
|
266
|
+
* Method to log for level - "warn", this should not be called if it has been custom levels are
|
|
267
|
+
* set which does not include "warn"
|
|
268
|
+
*
|
|
269
|
+
* @param {string|object} message - String or object to log.
|
|
270
|
+
*/
|
|
271
|
+
static warn(message: string | object): void;
|
|
272
|
+
/**
|
|
273
|
+
* @static
|
|
274
|
+
* Method to log for any level, which should be used to log all custom levels that may be added.
|
|
275
|
+
*
|
|
276
|
+
* @param {string|object} message - String or object to log.
|
|
277
|
+
*/
|
|
278
|
+
static log(level: string, message: string | object): void;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
declare const errorCodes: {
|
|
282
|
+
base: {
|
|
283
|
+
BASE_ERROR: number;
|
|
284
|
+
};
|
|
285
|
+
consumer: {
|
|
286
|
+
UNKNOWN_CONSUMER_ERR: number;
|
|
287
|
+
};
|
|
288
|
+
datastore: {
|
|
289
|
+
UNKNOWN_DATASTORE_ERR: number;
|
|
290
|
+
DATASTORE_AUTH_ERR: number;
|
|
291
|
+
DATASTORE_READ_ERROR: number;
|
|
292
|
+
DATASTORE_WRITE_ERROR: number;
|
|
293
|
+
};
|
|
294
|
+
external: {
|
|
295
|
+
UNKNOWN_EXTERNAL_DEPENDENCY_ERROR: number;
|
|
296
|
+
};
|
|
297
|
+
api: {
|
|
298
|
+
BAD_REQUEST: number;
|
|
299
|
+
UNAUTHORIZED: number;
|
|
300
|
+
FORBIDDEN: number;
|
|
301
|
+
NOT_FOUND: number;
|
|
302
|
+
TOO_MANY_REQUESTS: number;
|
|
303
|
+
INTERNAL_SERVER_ERROR: number;
|
|
304
|
+
GATEWAY_ERROR: number;
|
|
305
|
+
TIMEOUT_ERROR: number;
|
|
306
|
+
};
|
|
307
|
+
};
|
|
308
|
+
|
|
309
|
+
declare const httpResponseCodes: {
|
|
310
|
+
OK_RESPONSE: number;
|
|
311
|
+
};
|
|
312
|
+
|
|
313
|
+
interface Database {
|
|
314
|
+
connect(): Promise<void>;
|
|
315
|
+
disconnect(): Promise<void>;
|
|
316
|
+
addDocuments(params: AddDocumentsParams): Promise<void>;
|
|
317
|
+
updateDocuments(params: UpdateDocumentsParams): Promise<void>;
|
|
318
|
+
conditionalUpdateDocuments(params: ConditionalUpdateDocumentsParams): Promise<void>;
|
|
319
|
+
getDocuments(params: GetDocumentsParams): Promise<{
|
|
320
|
+
documents: any[];
|
|
321
|
+
totalDocumentsCount?: number;
|
|
322
|
+
}>;
|
|
323
|
+
getDocument(params: GetDocumentParams): Promise<any | null>;
|
|
324
|
+
getCollectionGroup(params: GetCollectionGroupParams): Promise<any | null>;
|
|
325
|
+
deleteDocuments(params: DeleteDocumentsParams): Promise<void>;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
interface IQueue<JobData = any, JobResult = any> {
|
|
329
|
+
addJob(name: string, data: JobData, jobOpts?: JobOpts): Promise<void>;
|
|
330
|
+
pause(): Promise<void>;
|
|
331
|
+
resume(): Promise<void>;
|
|
332
|
+
clean(type: "completed" | "failed" | "wait" | "delayed"): Promise<void>;
|
|
333
|
+
getJobCounts(): Promise<Record<string, number>>;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
interface ICache<T = any> {
|
|
337
|
+
connect(): Promise<void>;
|
|
338
|
+
disconnect(): Promise<void>;
|
|
339
|
+
get(key: string): Promise<T | null>;
|
|
340
|
+
set(key: string, value: T, ttlSeconds?: number): Promise<void>;
|
|
341
|
+
delete(key: string): Promise<boolean>;
|
|
342
|
+
exists(key: string): Promise<boolean>;
|
|
343
|
+
clear(): Promise<void>;
|
|
344
|
+
ttl(key: string): Promise<number>;
|
|
345
|
+
keys(pattern?: string): Promise<string[]>;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
declare class AbstractEventConsumer extends EventEmitter {
|
|
349
|
+
constructor();
|
|
350
|
+
/**
|
|
351
|
+
* @public
|
|
352
|
+
*
|
|
353
|
+
* Method to register listener for events. The Abstract Event Consumer emits fatalError
|
|
354
|
+
* event.
|
|
355
|
+
*
|
|
356
|
+
* @param {"fatalError"} eventName - Event name to register listener for.
|
|
357
|
+
* @param listener - Listener to be called when emitting the event.
|
|
358
|
+
*
|
|
359
|
+
* @returns {this} - Returns an instance of the class.
|
|
360
|
+
*/
|
|
361
|
+
on(eventName: "fatalError", listener: (error: Error | ConsumerError) => void): this;
|
|
362
|
+
/**
|
|
363
|
+
* @public
|
|
364
|
+
*
|
|
365
|
+
* Method to register listener for events that will be called only once. The Abstract Event Consumer emits fatalError
|
|
366
|
+
* event.
|
|
367
|
+
*
|
|
368
|
+
* @param {"fatalError"} eventName - Event name to register listener for.
|
|
369
|
+
* @param listener - Listener to be called when emitting the event.
|
|
370
|
+
*
|
|
371
|
+
* @returns {this} - Returns an instance of the class.
|
|
372
|
+
*/
|
|
373
|
+
once(eventName: "fatalError", listener: (error: Error | ConsumerError) => void): this;
|
|
374
|
+
protected onFatalError(error: Error | ConsumerError): void;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
declare class EventConsumer<T, U> extends AbstractEventConsumer {
|
|
378
|
+
private readonly config;
|
|
379
|
+
protected client: PublicClient | null;
|
|
380
|
+
protected observer: IObserver<T, ConsumerError, U> | null;
|
|
381
|
+
isBackfillingInProcess: boolean;
|
|
382
|
+
protected unWatchFunction: WatchEventReturnType | undefined;
|
|
383
|
+
constructor(config: IEventConsumerConfig);
|
|
384
|
+
private _backfillEvents;
|
|
385
|
+
start(observer: IObserver<T, ConsumerError, U>): Promise<void>;
|
|
386
|
+
/**
|
|
387
|
+
* Private method which updates the connection status of consumer to disconnected, and removes all listeners.
|
|
388
|
+
*
|
|
389
|
+
* @returns {void}
|
|
390
|
+
*/
|
|
391
|
+
onDisconnect(): void;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
declare abstract class AbstractCronEventConsumer extends AbstractEventConsumer {
|
|
395
|
+
private cronJob;
|
|
396
|
+
/**
|
|
397
|
+
* Start the cron job with the given cron expression.
|
|
398
|
+
* @param cronExpr Cron expression string
|
|
399
|
+
*/
|
|
400
|
+
startCron(cronExpr: string): void;
|
|
401
|
+
/**
|
|
402
|
+
* Stop the cron job.
|
|
403
|
+
*/
|
|
404
|
+
stopCron(): void;
|
|
405
|
+
/**
|
|
406
|
+
* Implement this in subclasses to define what happens on each cron tick.
|
|
407
|
+
*/
|
|
408
|
+
protected abstract onTick(): Promise<void>;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
declare class RestAPIConsumer<T, U> extends AbstractCronEventConsumer {
|
|
412
|
+
private readonly config;
|
|
413
|
+
protected observer: IObserver<T, ConsumerError, U> | null;
|
|
414
|
+
private currentPage;
|
|
415
|
+
private highestValueSeen;
|
|
416
|
+
constructor(config: IRestAPIConsumerConfig);
|
|
417
|
+
start(observer: IObserver<T, ConsumerError, U>): Promise<void>;
|
|
418
|
+
stop(): void;
|
|
419
|
+
protected onTick(): Promise<void>;
|
|
420
|
+
private fetchPage;
|
|
421
|
+
private getValueByPath;
|
|
422
|
+
private processDataForCurrentCountValue;
|
|
423
|
+
/**
|
|
424
|
+
* Updates the start count value to a specific value.
|
|
425
|
+
* This allows reprocessing data from a specified point.
|
|
426
|
+
*
|
|
427
|
+
* @param value The value to set as the new start count
|
|
428
|
+
*/
|
|
429
|
+
setStartValue(value: number): void;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
declare const parseEventLog: (eventSignature: string[], data: `0x${string}`, topics: any) => {
|
|
433
|
+
eventName: undefined;
|
|
434
|
+
args: readonly unknown[] | undefined;
|
|
435
|
+
};
|
|
436
|
+
declare const decodeAbiParams: (params: Array<{
|
|
437
|
+
name?: string;
|
|
438
|
+
type: string;
|
|
439
|
+
}>, data: `0x${string}`) => readonly unknown[];
|
|
440
|
+
|
|
441
|
+
declare function generateDeterministicULID(dataToEncode: string[], timeSeed?: number, separator?: string): string;
|
|
442
|
+
|
|
443
|
+
export { AbstractCronEventConsumer, type AddDocumentsParams, ApiError, BadRequestError, BaseError, type ChainNativeCurrency, type ConditionalUpdateDocumentsParams, ConsumerError, type Database, DatabaseError, type DeleteDocumentsParams, EventConsumer, ExternalDependencyError, ForbiddenError, type GetCollectionGroupParams, type GetDocumentParams, type GetDocumentsParams, HealthCheck, type ICache, type IDocumentConditionalModifications, type IEventConsumerConfig, type ILoggerConfig, type IObserver, type IQueryFilterOperationParams, type IQueryOrFilterParams, type IQueryOrderOperationParams, type IQueue, type IRestAPIConsumerConfig, type JobOpts, Logger, NotFoundError, type OrderByDirection, RateLimitError, type ResponseContext, RestAPIConsumer, TimeoutError, UnauthorizedError, type UpdateDocumentsParams, type WhereFilterOp, decodeAbiParams, errorCodes, generateDeterministicULID, handleError, handleResponse, httpResponseCodes, parseEventLog, setupHealthCheckServer, validateBody, validateParams, validateQuery };
|