@push.rocks/smartlog
Version:
A minimalistic, distributed, and extensible logging tool supporting centralized log management.
29 lines (28 loc) • 1.06 kB
TypeScript
import * as plugins from './sl.receiver.plugins.js';
import type { ILogPackage, ILogPackageAuthenticated } from '../dist_ts_interfaces/index.js';
export type TValidatorFunction = (logPackage: ILogPackage) => Promise<boolean>;
export interface ISmartlogReceiverOptions {
smartlogInstance: plugins.smartlog.Smartlog;
passphrase: string;
validatorFunction: TValidatorFunction;
}
/**
* a class that receives smartlog packages
*/
export declare class SmartlogReceiver {
passphrase: string;
validatorFunction: TValidatorFunction;
smartlogInstance: plugins.smartlog.Smartlog;
constructor(smartlogReceiverOptions: ISmartlogReceiverOptions);
/**
* handles a authenticated log
*/
handleAuthenticatedLog(authenticatedLogPackageArg: ILogPackageAuthenticated): Promise<{
status: string;
}>;
/**
* handles an array of authenticated logs
* @param authenticatedLogsPackageArrayArg
*/
handleManyAuthenticatedLogs(authenticatedLogsPackageArrayArg: ILogPackageAuthenticated[]): Promise<void>;
}