web-push-notifications
Version:
Pushwoosh web push notifications
45 lines (44 loc) • 1.49 kB
TypeScript
export type TLoggerLevelSilent = 'silent';
export type TLoggerLevelFatal = 'fatal';
export type TLoggerLevelError = 'error';
export type TLoggerLevelWarn = 'warn';
export type TLoggerLevelInfo = 'info';
export type TLoggerLevelDebug = 'debug';
export type TLoggerFromSDK = 'sdk';
export type TLoggerFromCP = 'cp';
export type TLoggerApplicationType = TLoggerFromSDK | TLoggerFromCP;
export type TLoggerOutputLevels = TLoggerLevelFatal | TLoggerLevelError | TLoggerLevelWarn | TLoggerLevelInfo | TLoggerLevelDebug;
export type TLoggerLevels = TLoggerLevelSilent | TLoggerOutputLevels;
export interface ILoggerLogOptions {
handler?: TLoggerHandler;
[key: string]: any;
}
export interface ILoggerLogParams {
type: TLoggerOutputLevels;
text: string;
code?: string | number;
options?: ILoggerLogOptions;
}
export type TLoggerHandler = (message: ILoggerMessage) => void | Promise<void>;
export interface ILoggerSubscriber {
handler: TLoggerHandler;
level: TLoggerOutputLevels;
}
export interface ILoggerMessage {
type: TLoggerOutputLevels;
text: string;
applicationType: TLoggerApplicationType;
code?: string | number;
applicationCode?: string;
domain?: string;
deviceInfo?: {
[key: string]: any;
};
[key: string]: any;
}
export interface ILoggerConfig {
level?: TLoggerLevels;
applicationType?: TLoggerApplicationType;
subscribers?: ILoggerSubscriber[];
}
export type TReject = (reason: Error) => void;