UNPKG

@teamsight/flight

Version:

Lambda life cycles

20 lines (19 loc) 863 B
export interface IMetric { rank?: number; total: number; chartData?: number[][]; } export interface IReportCreatorBase<TReport, TUser> { full(data: TReport): Promise<TReport>; slim(data: TReport): Promise<TReport>; user(data: TReport, userId: string): Promise<TUser>; create(orgId: string, start: Date, end: Date): Promise<TReport>; } export declare abstract class ReportCreatorBase<TReport, TUser> implements IReportCreatorBase<TReport, TUser> { abstract full(data: TReport): Promise<TReport>; abstract slim(data: TReport): Promise<TReport>; abstract user(data: TReport, userId: string): Promise<TUser>; abstract create(orgId: string, start: Date, end: Date): Promise<TReport>; protected rankStats(items: TUser[], fn: (userReport: TUser) => IMetric): void; protected abstract calcImpact(item: any): IMetric; }