UNPKG

ts-mls

Version:

[![CI](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml/badge.svg)](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml) [![npm version](https://badge.fury.io/js/ts-mls.svg)](https://badge.fury.io/js/ts-mls) [![Coverage Status](https://co

27 lines (26 loc) 1.48 kB
import { ClientState } from "./clientState.js"; import { CiphersuiteImpl } from "./crypto/ciphersuite.js"; import { IncomingMessageAction, IncomingMessageCallback } from "./incomingMessageAction.js"; import { MlsPrivateMessage, MlsPublicMessage } from "./message.js"; import { PrivateMessage } from "./privateMessage.js"; import { PskIndex } from "./pskIndex.js"; import { PublicMessage } from "./publicMessage.js"; export type ProcessMessageResult = { kind: "newState"; newState: ClientState; actionTaken: IncomingMessageAction; } | { kind: "applicationMessage"; message: Uint8Array; newState: ClientState; }; /** * Process private message and apply proposal or commit and return the updated ClientState or return an application message */ export declare function processPrivateMessage(state: ClientState, pm: PrivateMessage, pskSearch: PskIndex, cs: CiphersuiteImpl, callback?: IncomingMessageCallback): Promise<ProcessMessageResult>; export interface NewStateWithActionTaken { newState: ClientState; actionTaken: IncomingMessageAction; } export declare function processPublicMessage(state: ClientState, pm: PublicMessage, pskSearch: PskIndex, cs: CiphersuiteImpl, callback?: IncomingMessageCallback): Promise<NewStateWithActionTaken>; export declare function processMessage(message: MlsPrivateMessage | MlsPublicMessage, state: ClientState, pskIndex: PskIndex, action: IncomingMessageCallback, cs: CiphersuiteImpl): Promise<ProcessMessageResult>;