@openfisca/json-model
Version:
Library to handle informations extracted in JSON or YAML format from OpenFisca parameters, variables, etc
38 lines (37 loc) • 1.65 kB
TypeScript
export interface ChangingUnit extends UnitBase {
units: {
[date: string]: ConstantUnit;
};
}
export interface ConstantUnit extends UnitBase {
parameter?: string;
ratio?: boolean;
units?: undefined;
}
export declare const pluralizationCategories: readonly ["zero", "one", "two", "few", "many", "other"];
type PluralizationCategoriesTuple = typeof pluralizationCategories;
export type PluralizationCategory = PluralizationCategoriesTuple[number];
export type StringByPluralizationCategory = {
[Property in PluralizationCategory]?: string;
};
export type Unit = ChangingUnit | ConstantUnit;
export interface UnitBase {
label?: StringByPluralizationCategory | string;
name: string;
short_label?: StringByPluralizationCategory | string;
units?: {
[date: string]: ConstantUnit;
} | undefined;
}
export declare function getUnitAtDate(unitByName: {
[name: string]: Unit;
}, name: string | undefined | null, date: string | undefined | null): Unit | undefined;
export declare function getUnitLabel(unitByName: {
[name: string]: Unit;
}, name: string | undefined | null, date: string | undefined | null, pluralizationCategory: PluralizationCategory): string;
export declare function getUnitShortLabel(unitByName: {
[name: string]: Unit;
}, name: string | undefined | null, date: string | undefined | null, pluralizationCategory: PluralizationCategory): string;
export declare function labelFromUnit(unit: Unit, pluralizationCategory: PluralizationCategory): string;
export declare function shortLabelFromUnit(unit: Unit, pluralizationCategory: PluralizationCategory): string;
export {};