@o3r/core
Version:
Core of the Otter Framework
24 lines • 1.42 kB
TypeScript
import { Observable } from 'rxjs';
import { ContentMessageData, FilterMessageToApplication, OtterMessage, OtterMessageContent } from './message.interfaces';
/**
* Determine if a message should be handle by the application
* @param message Message to analyze
*/
export declare const isToAppOtterMessage: <T extends OtterMessage>(message?: T) => message is FilterMessageToApplication<T & {
to: "app";
}>;
/**
* Determine if a message is emitted by an Otter tool
* @param message Message to analyze
*/
export declare const isOtterMessage: <T extends OtterMessageContent>(message: any) => message is OtterMessage<T>;
/**
* Send an Otter Message
* @param dataType Type of the message
* @param content content of the message
* @param preStringify determine if the message should JSON.stringify before being send (will use the default mechanism otherwise)
*/
export declare const sendOtterMessage: <T extends OtterMessageContent>(dataType: T["dataType"], content: ContentMessageData<T>, preStringify?: boolean) => void;
export declare function filterMessageContent<T extends Event | MessageEvent>(): (source$: Observable<T>) => Observable<OtterMessageContent<string>>;
export declare function filterMessageContent<T extends Event | MessageEvent, S extends OtterMessageContent>(predicate: (message: any) => message is S): (source$: Observable<T>) => Observable<S>;
//# sourceMappingURL=message.helpers.d.ts.map