@jbouduin/holidays-lib
Version:
Get World-Wide Holidays
25 lines • 1.09 kB
TypeScript
import { IBaseHoliday } from '../holidays';
import { Cycle } from '../types';
import { Category } from '../types';
import { IDataExtractor } from './data-extractor';
import { IFactoryResult } from './factory-result';
export interface IBaseFactory<T extends IBaseHoliday<U>, U> {
create(location: string, obj: any): IFactoryResult<T>;
}
export declare abstract class BaseFactory<T extends IBaseHoliday<U>, U> implements IBaseFactory<IBaseHoliday<U>, U> {
private errors;
private location;
protected dataExtractor: IDataExtractor;
private cycle;
private category;
private validFrom;
private validTo;
constructor();
protected abstract extractKey(obj: any): U;
protected abstract extractData(obj: any): void;
protected abstract createHoliday(key: U, category: Category, cycle: Cycle, validFrom: number, validTo: number): T;
create(location: string, obj: any): IFactoryResult<T>;
protected addError(key: string, ...args: Array<any>): void;
private extractBaseHolidayData;
}
//# sourceMappingURL=base-factory.d.ts.map