UNPKG

cbcore-ts

Version:

CBCore is a library to build web applications using pure Typescript.

71 lines (70 loc) 4.42 kB
import { Socket } from "socket.io-client"; import { UIObject } from "../../uicore-ts"; import { CBCore } from "./CBCore"; import { CBSocketMessage, CBSocketMessageCompletionFunction, CBSocketMessageHandlerFunction, CBSocketMessageSendResponseFunction, CBSocketMultipleMessagecompletionFunction, SocketClientInterface } from "./CBDataInterfaces"; import { CBSocketCallbackHolder } from "./CBSocketCallbackHolder"; declare interface CBSocketClientMessageToBeSent { key: string; message: any; inResponseToMessage: CBSocketMessage<any>; keepWaitingForResponses: boolean; isBoundToUserWithID: string; completionPolicy: string; didSendFunction?: () => void; completion: CBSocketMessageCompletionFunction; } declare interface CBSocketClientErrorMessage { _isCBSocketErrorMessage: boolean; messageData: any; } export declare function IS_SOCKET_ERROR(object: any): object is CBSocketClientErrorMessage; export declare function IS_NOT_SOCKET_ERROR(object: any): boolean; export declare class CBSocketClient extends UIObject { _socket: Socket; _isConnectionEstablished: boolean; _collectMessagesToSendLater: boolean; _messagesToBeSent: CBSocketClientMessageToBeSent[]; static _sharedInstance: CBSocketClient; _core: CBCore; _subscribedKeys: { [x: string]: boolean; }; _callbackHolder: CBSocketCallbackHolder; static responseMessageKey: string; static multipleMessageKey: string; static disconnectionMessage: CBSocketClientErrorMessage; constructor(core: CBCore); get socket(): Socket<import("@socket.io/component-emitter").DefaultEventsMap, import("@socket.io/component-emitter").DefaultEventsMap>; cancelUnsentMessages(messagesToCancel: CBSocketClientMessageToBeSent[]): void; sendUnsentMessages(receiveResponsesTogether?: boolean, completion?: CBSocketMultipleMessagecompletionFunction): void; static completionPolicy: { readonly all: "all"; readonly allDifferent: "allDifferent"; readonly first: "first"; readonly last: "last"; readonly firstAndLast: "firstAndLast"; readonly firstAndLastIfDifferent: "firstAndLastIfDifferent"; readonly directOnly: "directOnly"; readonly firstOnly: "firstOnly"; readonly storedOrFirst: "storedOrFirst"; }; sendUserBoundMessageForKeyWithPolicy(key: keyof SocketClientInterface, message: any, completionPolicy: keyof typeof CBSocketClient.completionPolicy, completion?: CBSocketMessageCompletionFunction): void; sendUserBoundMessageForKey(key: keyof SocketClientInterface, message: any, completion?: CBSocketMessageCompletionFunction): void; sendMessageForKeyWithPolicy(key: keyof SocketClientInterface, message: any, completionPolicy: keyof typeof CBSocketClient.completionPolicy, completion?: CBSocketMessageCompletionFunction): void; sendMessageForKey(key: keyof SocketClientInterface, message: any, completion?: CBSocketMessageCompletionFunction): void; resultForMessageForKey(key: keyof SocketClientInterface, message: any, completionPolicy?: keyof typeof CBSocketClient.completionPolicy, isUserBound?: boolean): Promise<{ responseMessage: any; result: any; errorResult: any; respondWithMessage: CBSocketMessageSendResponseFunction; }>; _sendMessageForKey(key: string, message: any, inResponseToMessage?: CBSocketMessage<any>, keepMessageConnectionOpen?: boolean, completionPolicy?: keyof typeof CBSocketClient.completionPolicy, isUserBound?: boolean, didSendFunction?: () => void, completion?: CBSocketMessageCompletionFunction): CBSocketClientMessageToBeSent | undefined; sendMessagesAsGroup<FunctionReturnType extends object>(functionToCall: () => FunctionReturnType): FunctionReturnType; sendAndReceiveMessagesAsGroup<FunctionReturnType extends object>(functionToCall: () => FunctionReturnType, completion?: CBSocketMultipleMessagecompletionFunction): FunctionReturnType; didReceiveMessageForKey(key: string, message: CBSocketMessage<any>): void; addTargetForMessagesForKeys(keys: string[], handlerFunction: CBSocketMessageHandlerFunction): void; addTargetForMessagesForKey(key: string, handlerFunction: CBSocketMessageHandlerFunction): void; addTargetForOneMessageForKey(key: string, handlerFunction: CBSocketMessageHandlerFunction): void; } export declare const SocketClient: SocketClientInterface; export {};