@solarpunkltd/swarm-chat-js 0.0.2 → 2.1.0
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 +3 -1
- package/dist/index.d.ts +2 -4
- package/dist/index.esm.js +43205 -23583
- package/dist/index.js +23 -26
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/{libs → src/lib}/constants.d.ts +5 -5
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/core.d.ts +47 -0
- package/dist/src/lib/core.d.ts.map +1 -0
- package/dist/src/lib/history.d.ts +49 -0
- package/dist/src/lib/history.d.ts.map +1 -0
- package/dist/src/lib/mine.d.ts +2 -0
- package/dist/src/lib/mine.d.ts.map +1 -0
- package/dist/src/lib/swarmEventEmitterReader.d.ts +15 -0
- package/dist/src/lib/swarmEventEmitterReader.d.ts.map +1 -0
- package/dist/src/lib/types/chat.d.ts +59 -0
- package/dist/src/lib/types/chat.d.ts.map +1 -0
- package/dist/src/lib/types/index.d.ts +4 -0
- package/dist/src/lib/types/index.d.ts.map +1 -0
- package/dist/src/lib/types/message.d.ts +14 -0
- package/dist/src/lib/types/message.d.ts.map +1 -0
- package/dist/src/lib/types/user.d.ts +35 -0
- package/dist/src/lib/types/user.d.ts.map +1 -0
- package/dist/src/lib/utils.d.ts +34 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/utils/bee.d.ts +18 -0
- package/dist/src/utils/bee.d.ts.map +1 -0
- package/dist/src/utils/common.d.ts +4 -0
- package/dist/src/utils/common.d.ts.map +1 -0
- package/dist/src/utils/error.d.ts +6 -0
- package/dist/src/utils/error.d.ts.map +1 -0
- package/dist/src/utils/eventEmitter.d.ts.map +1 -0
- package/dist/src/utils/logger.d.ts +12 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/{utils → src/utils}/queue.d.ts +3 -8
- package/dist/src/utils/queue.d.ts.map +1 -0
- package/dist/src/utils/validation.d.ts +7 -0
- package/dist/src/utils/validation.d.ts.map +1 -0
- package/dist/src/utils/waitForBroadcast.d.ts +10 -0
- package/dist/src/utils/waitForBroadcast.d.ts.map +1 -0
- package/dist/swarm-chat-umd.js +23 -26
- package/package.json +11 -5
- package/dist/index.d.ts.map +0 -1
- package/dist/libs/constants.d.ts.map +0 -1
- package/dist/libs/core.d.ts +0 -59
- package/dist/libs/core.d.ts.map +0 -1
- package/dist/libs/mine.d.ts +0 -4
- package/dist/libs/mine.d.ts.map +0 -1
- package/dist/libs/types.d.ts +0 -85
- package/dist/libs/types.d.ts.map +0 -1
- package/dist/libs/utils.d.ts +0 -34
- package/dist/libs/utils.d.ts.map +0 -1
- package/dist/utils/common.d.ts +0 -2
- package/dist/utils/common.d.ts.map +0 -1
- package/dist/utils/eventEmitter.d.ts.map +0 -1
- package/dist/utils/queue.d.ts.map +0 -1
- /package/dist/{utils → src/utils}/eventEmitter.d.ts +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { SwarmChat } from './lib/core';
|
|
2
|
+
export { EVENTS } from './lib/constants';
|
|
3
|
+
export type { MessageData, User } from './lib/types';
|
|
4
|
+
export type { EthAddress } from '../node_modules/@ethersphere/bee-js/dist/types/index.d.ts';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAErD,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export declare const CONSENSUS_ID = "SwarmStream";
|
|
2
1
|
export declare const EVENTS: {
|
|
3
|
-
|
|
2
|
+
LOADING_INIT: string;
|
|
3
|
+
LOADING_PREVIOUS_MESSAGES: string;
|
|
4
4
|
MESSAGE_RECEIVED: string;
|
|
5
|
-
|
|
5
|
+
MESSAGE_REQUEST_INITIATED: string;
|
|
6
|
+
MESSAGE_REQUEST_UPLOADED: string;
|
|
6
7
|
MESSAGE_REQUEST_ERROR: string;
|
|
7
|
-
|
|
8
|
+
CRITICAL_ERROR: string;
|
|
8
9
|
};
|
|
9
10
|
export declare const SECOND = 1000;
|
|
10
11
|
export declare const MINUTE: number;
|
|
11
12
|
export declare const HOUR: number;
|
|
12
|
-
export declare const HEX_RADIX = 16;
|
|
13
13
|
export declare const ETH_ADDRESS_LENGTH = 42;
|
|
14
14
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;CAQlB,CAAC;AAEF,eAAO,MAAM,MAAM,OAAO,CAAC;AAC3B,eAAO,MAAM,MAAM,QAAc,CAAC;AAClC,eAAO,MAAM,IAAI,QAAc,CAAC;AAEhC,eAAO,MAAM,kBAAkB,KAAK,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { EventEmitter } from '../utils/eventEmitter';
|
|
2
|
+
import { ChatSettings, MessageData } from './types';
|
|
3
|
+
export declare class SwarmChat {
|
|
4
|
+
private emitter;
|
|
5
|
+
private utils;
|
|
6
|
+
private history;
|
|
7
|
+
private swarmEventEmitterReader;
|
|
8
|
+
private options;
|
|
9
|
+
private userDetails;
|
|
10
|
+
private swarmSettings;
|
|
11
|
+
private logger;
|
|
12
|
+
private errorHandler;
|
|
13
|
+
private messagesQueue;
|
|
14
|
+
private gsocListenerQueue;
|
|
15
|
+
private activeUsers;
|
|
16
|
+
private latestMessage;
|
|
17
|
+
private userIndexCache;
|
|
18
|
+
constructor(settings: ChatSettings);
|
|
19
|
+
start(): void;
|
|
20
|
+
stop(): void;
|
|
21
|
+
getEmitter(): EventEmitter;
|
|
22
|
+
orderMessages(messages: any[]): any[];
|
|
23
|
+
sendMessage(message: string, id?: string): Promise<void>;
|
|
24
|
+
fetchPreviousMessages(): Promise<void>;
|
|
25
|
+
retrySendMessage(message: MessageData): Promise<void>;
|
|
26
|
+
retryBroadcastUserMessage(message: MessageData): Promise<void>;
|
|
27
|
+
private init;
|
|
28
|
+
private initOwnIndex;
|
|
29
|
+
private subscribeToGSOCEvent;
|
|
30
|
+
private processGsocEvent;
|
|
31
|
+
private waitForMessageBroadcast;
|
|
32
|
+
private broadcastUserMessage;
|
|
33
|
+
private makeMessageSender;
|
|
34
|
+
private readAllActiveUserMessage;
|
|
35
|
+
private readMessage;
|
|
36
|
+
private unsubFromGSOCEvent;
|
|
37
|
+
private startMessagesFetchProcess;
|
|
38
|
+
private stopMessagesFetchProcess;
|
|
39
|
+
private startIdleUserCleanup;
|
|
40
|
+
private stopIdleUserCleanup;
|
|
41
|
+
private isUserIndexRead;
|
|
42
|
+
private setUserIndexCache;
|
|
43
|
+
private getOwnIndex;
|
|
44
|
+
private removeIdleUsers;
|
|
45
|
+
private updateActiveUsers;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/lib/core.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AASrD,OAAO,EAAe,YAAY,EAAuC,WAAW,EAAiB,MAAM,SAAS,CAAC;AAGrH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,uBAAuB,CAA0B;IAEzD,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,aAAa,CAAoB;IAEzC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,iBAAiB,CAAqC;IAE9D,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,cAAc,CAA8B;gBAExC,QAAQ,EAAE,YAAY;IAiC3B,KAAK;IAQL,IAAI;IAQJ,UAAU;IAIV,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE;IAWvB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BxD,qBAAqB;IAUrB,gBAAgB,CAAC,OAAO,EAAE,WAAW;IAIrC,yBAAyB,CAAC,OAAO,EAAE,WAAW;YAU7C,IAAI;YAsBJ,YAAY;IAiB1B,OAAO,CAAC,oBAAoB;YAyBd,gBAAgB;YAiChB,uBAAuB;YAavB,oBAAoB;YAqBpB,iBAAiB;YAwBjB,wBAAwB;YAuBxB,WAAW;IAoBzB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,yBAAyB;IAUjC,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,iBAAiB;CAG1B"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { EventEmitter } from '../utils/eventEmitter';
|
|
2
|
+
import { ChatHistoryEntry, ChatSettingsUser, UserMap } from './types';
|
|
3
|
+
import { SwarmChatUtils } from './utils';
|
|
4
|
+
export declare class SwarmHistory {
|
|
5
|
+
private userDetails;
|
|
6
|
+
private utils;
|
|
7
|
+
private emitter;
|
|
8
|
+
private mutex;
|
|
9
|
+
private logger;
|
|
10
|
+
private errorHandler;
|
|
11
|
+
private messagesQueue;
|
|
12
|
+
private historyEntry;
|
|
13
|
+
private history;
|
|
14
|
+
private processedUpdaterRefs;
|
|
15
|
+
private loadedMessagesCache;
|
|
16
|
+
private updaterEntryBuffer;
|
|
17
|
+
private historyUpdateTimer;
|
|
18
|
+
private HISTORY_UPDATE_INTERVAL_TIME;
|
|
19
|
+
private MAX_LOADED_MESSAGES_CACHE_SIZE;
|
|
20
|
+
constructor(userDetails: ChatSettingsUser, utils: SwarmChatUtils, emitter: EventEmitter);
|
|
21
|
+
init(): Promise<void>;
|
|
22
|
+
startHistoryUpdateProcess(): void;
|
|
23
|
+
stopHistoryUpdateProcess(): void;
|
|
24
|
+
getHistoryEntryWithNewUpdater(activeUsers: UserMap): ChatHistoryEntry;
|
|
25
|
+
setHistoryEntry(historyEntry: ChatHistoryEntry): void;
|
|
26
|
+
processHistoryUpdaterEntry(activeUsers: UserMap, updaterEntry: ChatHistoryEntry): Promise<void>;
|
|
27
|
+
fetchPreviousMessages(options: {
|
|
28
|
+
preDownloadHistory: boolean;
|
|
29
|
+
}): Promise<void>;
|
|
30
|
+
private createHistoryEntry;
|
|
31
|
+
private waitForHistoryEntryBroadcast;
|
|
32
|
+
private broadcastHistoryEntry;
|
|
33
|
+
private uploadHistory;
|
|
34
|
+
private fetchHistory;
|
|
35
|
+
private fetchLatestHistoryEntry;
|
|
36
|
+
private readAllMessageEntry;
|
|
37
|
+
private readMessage;
|
|
38
|
+
private updateLocalHistory;
|
|
39
|
+
private mergeChatHistory;
|
|
40
|
+
private mergeUserHistory;
|
|
41
|
+
private trimHistory;
|
|
42
|
+
private chooseNewUpdater;
|
|
43
|
+
private selectLatestMessages;
|
|
44
|
+
private selectBestEntryForUpdate;
|
|
45
|
+
private cleanupUpdaterEntryBuffer;
|
|
46
|
+
private createNewHistoryEntry;
|
|
47
|
+
private initializeDefaultEntry;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/lib/history.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAOrD,OAAO,EAGL,gBAAgB,EAEhB,gBAAgB,EAGhB,OAAO,EAER,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAKzC,qBAAa,YAAY;IAoBX,OAAO,CAAC,WAAW;IAAoB,OAAO,CAAC,KAAK;IAAkB,OAAO,CAAC,OAAO;IAnBjG,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,aAAa,CAAqC;IAE1D,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,OAAO,CAEb;IAEF,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,kBAAkB,CAA0B;IAEpD,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,4BAA4B,CAAQ;IAC5C,OAAO,CAAC,8BAA8B,CAAM;gBAExB,WAAW,EAAE,gBAAgB,EAAU,KAAK,EAAE,cAAc,EAAU,OAAO,EAAE,YAAY;IAMlG,IAAI;IAqBV,yBAAyB;IAQzB,wBAAwB;IAOxB,6BAA6B,CAAC,WAAW,EAAE,OAAO,GAAG,gBAAgB;IAOrE,eAAe,CAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI;IAW/C,0BAA0B,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB;IAqB/E,qBAAqB,CAAC,OAAO,EAAE;QAAE,kBAAkB,EAAE,OAAO,CAAA;KAAE;YAwB7D,kBAAkB;YA0BlB,4BAA4B;YAY5B,qBAAqB;YAgBrB,aAAa;YAUb,YAAY;YAcZ,uBAAuB;YAkBvB,mBAAmB;YAOnB,WAAW;IAUzB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,gBAAgB;IAsCxB,OAAO,CAAC,WAAW;IA6CnB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,oBAAoB;IAiC5B,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,sBAAsB;CAQ/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mine.d.ts","sourceRoot":"","sources":["../../../src/lib/mine.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ChatSettingsChain } from './types';
|
|
2
|
+
export declare class SwarmEventEmitterReader {
|
|
3
|
+
private settings;
|
|
4
|
+
private evm;
|
|
5
|
+
private svm;
|
|
6
|
+
constructor(settings: ChatSettingsChain);
|
|
7
|
+
private init;
|
|
8
|
+
private initEvm;
|
|
9
|
+
private initSvm;
|
|
10
|
+
onMessageFrom(callback: (sender: string, message: string) => void): Promise<void>;
|
|
11
|
+
private listenToEvm;
|
|
12
|
+
private listenToSvm;
|
|
13
|
+
removeAllListeners(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=swarmEventEmitterReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swarmEventEmitterReader.d.ts","sourceRoot":"","sources":["../../../src/lib/swarmEventEmitterReader.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,qBAAa,uBAAuB;IAYtB,OAAO,CAAC,QAAQ;IAX5B,OAAO,CAAC,GAAG,CAGK;IAEhB,OAAO,CAAC,GAAG,CAIK;gBAEI,QAAQ,EAAE,iBAAiB;IAI/C,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,OAAO;IAef,OAAO,CAAC,OAAO;IAcF,aAAa,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI;IAQ9E,OAAO,CAAC,WAAW;YAQL,WAAW;IAaZ,kBAAkB;CAShC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Bee } from '../../../node_modules/@ethersphere/bee-js/dist/types/index.d.ts';
|
|
2
|
+
export type ChainType = 'EVM' | 'SVM';
|
|
3
|
+
export interface ChatSettings {
|
|
4
|
+
user: {
|
|
5
|
+
privateKey: string;
|
|
6
|
+
nickname: string;
|
|
7
|
+
};
|
|
8
|
+
infra: {
|
|
9
|
+
swarm: {
|
|
10
|
+
beeUrl: string;
|
|
11
|
+
enveloped: boolean;
|
|
12
|
+
stamp?: string;
|
|
13
|
+
gsocTopic: string;
|
|
14
|
+
gsocResourceId: string;
|
|
15
|
+
chatTopic: string;
|
|
16
|
+
chatAddress: string;
|
|
17
|
+
};
|
|
18
|
+
chain: {
|
|
19
|
+
rpcUrl: string;
|
|
20
|
+
contractAddress?: string;
|
|
21
|
+
chainType: ChainType;
|
|
22
|
+
swarmEmitterAddress: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
options?: {
|
|
26
|
+
fetchMessageIntervalTime: number;
|
|
27
|
+
idleUserCleanupIntervalTime: number;
|
|
28
|
+
readMessageTimeout: number;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface ChatSettingsChain {
|
|
32
|
+
rpcUrl: string;
|
|
33
|
+
contractAddress?: string;
|
|
34
|
+
chainType: ChainType;
|
|
35
|
+
swarmEmitterAddress: string;
|
|
36
|
+
}
|
|
37
|
+
export interface ChatOptions {
|
|
38
|
+
fetchMessageTimer: NodeJS.Timeout | null;
|
|
39
|
+
idleUserCleanupInterval: NodeJS.Timeout | null;
|
|
40
|
+
FETCH_MESSAGE_INTERVAL_TIME: number;
|
|
41
|
+
IDLE_USER_CLEANUP_INTERVAL_TIME: number;
|
|
42
|
+
READ_MESSAGE_TIMEOUT: number;
|
|
43
|
+
}
|
|
44
|
+
export interface ChatSettingsUser {
|
|
45
|
+
privateKey: string;
|
|
46
|
+
ownAddress: string;
|
|
47
|
+
nickname: string;
|
|
48
|
+
ownIndex: number;
|
|
49
|
+
}
|
|
50
|
+
export interface ChatSettingsSwarm {
|
|
51
|
+
bee: Bee;
|
|
52
|
+
stamp: string;
|
|
53
|
+
enveloped: boolean;
|
|
54
|
+
gsocTopic: string;
|
|
55
|
+
gsocResourceId: string;
|
|
56
|
+
chatTopic: string;
|
|
57
|
+
chatAddress: string;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=chat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE1C,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC;AAEtC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,EAAE;QACL,KAAK,EAAE;YACL,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,OAAO,CAAC;YACnB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;YAClB,cAAc,EAAE,MAAM,CAAC;YACvB,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,KAAK,EAAE;YACL,MAAM,EAAE,MAAM,CAAC;YACf,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,SAAS,EAAE,SAAS,CAAC;YACrB,mBAAmB,EAAE,MAAM,CAAC;SAC7B,CAAC;KACH,CAAC;IACF,OAAO,CAAC,EAAE;QACR,wBAAwB,EAAE,MAAM,CAAC;QACjC,2BAA2B,EAAE,MAAM,CAAC;QACpC,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AACD,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACzC,uBAAuB,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC/C,2BAA2B,EAAE,MAAM,CAAC;IACpC,+BAA+B,EAAE,MAAM,CAAC;IACxC,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ChatHistoryEntry, User } from './user';
|
|
2
|
+
export interface MessageData {
|
|
3
|
+
id: string;
|
|
4
|
+
message: string;
|
|
5
|
+
username: string;
|
|
6
|
+
address: string;
|
|
7
|
+
timestamp: number;
|
|
8
|
+
index: number;
|
|
9
|
+
}
|
|
10
|
+
export interface ChatMessage {
|
|
11
|
+
messageSender: User;
|
|
12
|
+
historyEntry: ChatHistoryEntry;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,IAAI,CAAC;IACpB,YAAY,EAAE,gBAAgB,CAAC;CAChC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface User {
|
|
2
|
+
username: string;
|
|
3
|
+
address: string;
|
|
4
|
+
timestamp: number;
|
|
5
|
+
index: number;
|
|
6
|
+
signature: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ChatHistoryEntry {
|
|
9
|
+
id: number;
|
|
10
|
+
ref: string;
|
|
11
|
+
updater: string;
|
|
12
|
+
timestamp: number;
|
|
13
|
+
}
|
|
14
|
+
export interface ChatEvent {
|
|
15
|
+
type: string;
|
|
16
|
+
timestamp: number;
|
|
17
|
+
}
|
|
18
|
+
export interface MessageEntry {
|
|
19
|
+
index: number;
|
|
20
|
+
timestamp: number;
|
|
21
|
+
}
|
|
22
|
+
export interface UserHistory {
|
|
23
|
+
events: ChatEvent[];
|
|
24
|
+
messageEntries: MessageEntry[];
|
|
25
|
+
}
|
|
26
|
+
export type UserMessageEntry = {
|
|
27
|
+
address: string;
|
|
28
|
+
entry: MessageEntry;
|
|
29
|
+
};
|
|
30
|
+
export type UserMap = Record<string, User>;
|
|
31
|
+
export type UserHistoryMap = Record<string, UserHistory>;
|
|
32
|
+
export interface ChatHistory {
|
|
33
|
+
allTimeUsers: UserHistoryMap;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/user.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,cAAc,EAAE,YAAY,EAAE,CAAC;CAChC;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAE3C,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,cAAc,CAAC;CAC9B"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ChatSettingsSwarm, ChatSettingsUser } from './types';
|
|
2
|
+
export declare class SwarmChatUtils {
|
|
3
|
+
private userDetails;
|
|
4
|
+
private swarmSettings;
|
|
5
|
+
private depth;
|
|
6
|
+
private logger;
|
|
7
|
+
private errorHandler;
|
|
8
|
+
private UPLOAD_GSOC_TIMEOUT;
|
|
9
|
+
constructor(userDetails: ChatSettingsUser, swarmSettings: ChatSettingsSwarm);
|
|
10
|
+
writeOwnFeedDataByIndex(index: number, data: any): Promise<void>;
|
|
11
|
+
private writeOwnFeedDataByIndexOwned;
|
|
12
|
+
private writeOwnFeedDataByIndexEnvelope;
|
|
13
|
+
fetchUserFeedDataByIndex(userAddress: string, index: number, options?: {
|
|
14
|
+
timeout?: number;
|
|
15
|
+
}): Promise<unknown>;
|
|
16
|
+
orderMessages(messages: any[]): any[];
|
|
17
|
+
retryAwaitableAsync<T>(fn: () => Promise<T>, retries?: number, delay?: number): Promise<T>;
|
|
18
|
+
uploadObjectToBee(jsObject: object): Promise<string | null>;
|
|
19
|
+
private uploadObjectToBeeOwn;
|
|
20
|
+
private uploadObjectToBeeEnvelope;
|
|
21
|
+
downloadObjectFromBee(reference: string): Promise<any>;
|
|
22
|
+
getOwnLatestFeedIndex(): Promise<{
|
|
23
|
+
latestIndex: number;
|
|
24
|
+
nextIndex: number;
|
|
25
|
+
}>;
|
|
26
|
+
fetchLatestChatMessage(): Promise<any>;
|
|
27
|
+
fetchChatMessage(index: string): Promise<any>;
|
|
28
|
+
sendMessageToGsoc(message: string): Promise<void>;
|
|
29
|
+
private sendMessageToGsocOwn;
|
|
30
|
+
private sendMessageToGsocEnvelope;
|
|
31
|
+
private generateUserOwnedFeedId;
|
|
32
|
+
private isNotFoundError;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAM9D,qBAAa,cAAc;IAQb,OAAO,CAAC,WAAW;IAAoB,OAAO,CAAC,aAAa;IANxE,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,mBAAmB,CAAQ;gBAEf,WAAW,EAAE,gBAAgB,EAAU,aAAa,EAAE,iBAAiB;IAE9E,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;YAY/C,4BAA4B;YAgB5B,+BAA+B;IA2BhC,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IA4BjG,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IAW/B,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,MAAU,EAAE,KAAK,GAAE,MAAY,GAAG,OAAO,CAAC,CAAC,CAAC;IAoBlG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAY1D,oBAAoB;YAYpB,yBAAyB;IAuB1B,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAWtD,qBAAqB;;;;IAiCrB,sBAAsB,IAAI,OAAO,CAAC,GAAG,CAAC;IAStC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAS7C,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAYhD,oBAAoB;YAkBpB,yBAAyB;IAmCvC,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,eAAe;CAMxB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Bytes, EthAddress, FeedIndex, Identifier, PrivateKey, Reference, Signature, Span, Topic } from '../../node_modules/@ethersphere/bee-js/dist/types/index.d.ts';
|
|
2
|
+
export interface Chunk {
|
|
3
|
+
readonly data: Uint8Array;
|
|
4
|
+
span: Span;
|
|
5
|
+
payload: Bytes;
|
|
6
|
+
address: Reference;
|
|
7
|
+
}
|
|
8
|
+
export interface SingleOwnerChunk extends Chunk {
|
|
9
|
+
identifier: Identifier;
|
|
10
|
+
signature: Signature;
|
|
11
|
+
owner: EthAddress;
|
|
12
|
+
}
|
|
13
|
+
export declare function makeFeedIdentifier(topic: Topic, index: FeedIndex | number): Identifier;
|
|
14
|
+
export declare function calculateChunkAddress(chunkContent: Uint8Array): Reference;
|
|
15
|
+
export declare function makeContentAddressedChunk(payloadBytes: Uint8Array | string): Chunk;
|
|
16
|
+
export declare function makeSOCAddress(identifier: Identifier, address: EthAddress): Reference;
|
|
17
|
+
export declare function makeSingleOwnerChunk(chunk: Chunk, identifier: Identifier | Uint8Array | string, signer: PrivateKey | Uint8Array | string): SingleOwnerChunk;
|
|
18
|
+
//# sourceMappingURL=bee.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bee.d.ts","sourceRoot":"","sources":["../../../src/utils/bee.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,IAAI,EACJ,KAAK,EACN,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC7C,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;CACnB;AAQD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,CAItF;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,UAAU,GAAG,SAAS,CAOzE;AAeD,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,UAAU,GAAG,MAAM,GAAG,KAAK,CAoBlF;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,SAAS,CAErF;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,EAC5C,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,GACvC,gBAAgB,CAmBlB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function sleep(delay: number): Promise<unknown>;
|
|
2
|
+
export declare function mergeUnique<T>(remoteItems: T[], localItems: T[], getKey: (item: T) => string | number, sortComparator: (a: T, b: T) => number): T[];
|
|
3
|
+
export declare function remove0x(hex: string): string;
|
|
4
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"AAKA,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,oBAIlC;AAUD,wBAAgB,WAAW,CAAC,CAAC,EAC3B,WAAW,EAAE,CAAC,EAAE,EAChB,UAAU,EAAE,CAAC,EAAE,EACf,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,EACpC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GACrC,CAAC,EAAE,CAYL;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,UAEnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/utils/error.ts"],"names":[],"mappings":"AAGA,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAwB;;IAItC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;CAQpD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventEmitter.d.ts","sourceRoot":"","sources":["../../../src/utils/eventEmitter.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAM3C,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAc;;IASrB,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IAOvD,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IAQxD,QAAQ,IAAI,IAAI;IAIhB,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;CAInD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare class Logger {
|
|
2
|
+
private static instance;
|
|
3
|
+
private constructor();
|
|
4
|
+
static getInstance(): Logger;
|
|
5
|
+
private formatMessage;
|
|
6
|
+
log(...args: any[]): void;
|
|
7
|
+
info(...args: any[]): void;
|
|
8
|
+
warn(...args: any[]): void;
|
|
9
|
+
error(...args: any[]): void;
|
|
10
|
+
debug(...args: any[]): void;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAS;IAEhC,OAAO;WAEO,WAAW,IAAI,MAAM;IAOnC,OAAO,CAAC,aAAa;IAOrB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAIzB,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI1B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI1B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI3B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;CAG5B"}
|
|
@@ -4,17 +4,12 @@ export declare class Queue {
|
|
|
4
4
|
private isProcessing;
|
|
5
5
|
private isWaiting;
|
|
6
6
|
private clearWaitTime;
|
|
7
|
-
private
|
|
8
|
-
constructor(settings
|
|
7
|
+
private errorHandler;
|
|
8
|
+
constructor(settings?: {
|
|
9
9
|
clearWaitTime?: number;
|
|
10
|
-
}
|
|
11
|
-
error: Error;
|
|
12
|
-
context: string;
|
|
13
|
-
throw: boolean;
|
|
14
|
-
}) => void);
|
|
10
|
+
});
|
|
15
11
|
private processQueue;
|
|
16
12
|
enqueue(task: Task): void;
|
|
17
|
-
clearQueue(): Promise<void>;
|
|
18
13
|
waitForProcessing(): Promise<boolean>;
|
|
19
14
|
}
|
|
20
15
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/utils/queue.ts"],"names":[],"mappings":"AAGA,KAAK,IAAI,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvC,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAsB;gBAGxC,QAAQ,GAAE;QACR,aAAa,CAAC,EAAE,MAAM,CAAC;KACnB;YAKM,YAAY;IAsBnB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAKnB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;CAYnD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function validateGsocMessage(message: any): boolean;
|
|
2
|
+
export declare function validateHistoryEntry(entry: any): boolean;
|
|
3
|
+
export declare function validateChatHistory(chatHistory: any): boolean;
|
|
4
|
+
export declare function validateUserHistory(userHistory: any): boolean;
|
|
5
|
+
export declare function validateUser(user: any): boolean;
|
|
6
|
+
export declare function validateUserSignature(validatedUser: any): boolean;
|
|
7
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAqCA,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAezD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAOxD;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,GAAG,GAAG,OAAO,CAO7D;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,GAAG,GAAG,OAAO,CAO7D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAQ/C;AAED,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,GAAG,GAAG,OAAO,CAyBjE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface BroadcastWaiterOptions<T> {
|
|
2
|
+
condition: () => Promise<boolean> | boolean;
|
|
3
|
+
broadcast: () => Promise<T>;
|
|
4
|
+
maxRetries?: number;
|
|
5
|
+
initialDelayMs?: number;
|
|
6
|
+
checkIntervalMs?: number;
|
|
7
|
+
checkCount?: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function waitForBroadcast<T>(options: BroadcastWaiterOptions<T>): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=waitForBroadcast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waitForBroadcast.d.ts","sourceRoot":"","sources":["../../../src/utils/waitForBroadcast.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC5C,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC3F"}
|