bananareporter
Version:
Easily generate a report from multiple sources
52 lines (51 loc) • 1.56 kB
TypeScript
import { CommonBananaReporterObj, IntegrationBase } from './base';
import { BananaConfig } from '../core';
import { z } from 'zod';
import { Task } from '@lggruspe/todo-txt-parser';
export type TodoTxtConfig = z.infer<typeof TodoTxtConfig>;
export declare const TodoTxtConfig: z.ZodObject<{
file: z.ZodEffects<z.ZodDefault<z.ZodString>, string, string | undefined>;
filters: z.ZodOptional<z.ZodArray<z.ZodObject<{
on: z.ZodString;
regex: z.ZodString;
}, "strip", z.ZodTypeAny, {
on: string;
regex: string;
}, {
on: string;
regex: string;
}>, "atleastone">>;
from: z.ZodOptional<z.ZodString>;
to: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
file: string;
filters?: [{
on: string;
regex: string;
}, ...{
on: string;
regex: string;
}[]] | undefined;
from?: string | undefined;
to?: string | undefined;
}, {
file?: string | undefined;
filters?: [{
on: string;
regex: string;
}, ...{
on: string;
regex: string;
}[]] | undefined;
from?: string | undefined;
to?: string | undefined;
}>;
export declare class TodoTxtIntegration extends IntegrationBase {
static type: "todo.txt";
private config;
private dateRange;
private bananaReporterConfig;
constructor(_rawConfig: unknown, bananaReporterConfig: BananaConfig);
fetchData(): Promise<CommonBananaReporterObj[]>;
toBananaReporterObj(rawData: Task, index?: number): CommonBananaReporterObj;
}