fc-toolkit
Version:
fc-toolkit
40 lines (39 loc) • 1.26 kB
TypeScript
/// <reference types="node" />
import { StorageEngine } from '../types';
export declare type AliyunCallback = (error: any, response: IReplyPayload) => any;
export declare type OSS_TYPE = 'oss' | 'aws';
export declare type replyFunc = (callback: AliyunCallback) => (returnValue: string | Buffer, directReturn?: boolean, meta?: any) => Promise<void>;
export interface IReceiveParsedPayload {
storeType: string;
ossType: string;
body: string;
ossKey?: string;
headers?: any;
isBuffer?: boolean;
}
export interface ILogger {
debug(...data: any[]): void;
info(...data: any[]): void;
warn(...data: any[]): void;
error(...data: any[]): void;
log(...data: any[]): void;
}
export interface IReceiverContext {
logger?: ILogger;
}
export interface IReplyPayload {
storeType: string;
isBuffer?: boolean;
body: string;
meta?: any;
}
export interface IReceiveResponse {
headers?: any;
body: any;
storeType?: string;
cleanup: () => Promise<void>;
}
export declare function initReceiver(noOSS?: boolean, ossType?: StorageEngine, ossThreshold?: number): {
receive: (event: Buffer | string | IReceiveParsedPayload, context?: IReceiverContext) => Promise<IReceiveResponse>;
reply: replyFunc;
};