UNPKG

@openfisca/json-model

Version:

Library to handle informations extracted in JSON or YAML format from OpenFisca parameters, variables, etc

55 lines (54 loc) 1.51 kB
import type { ReferencesByInstant } from "./references"; export interface Customization extends DecompositionCore { description?: ReferencesByInstant; input?: boolean; linked_other_variables?: string[]; main_parameters?: string[]; reference?: ReferencesByInstant; variables?: string[]; } export type CustomizationByName = { [name: string]: Customization; }; export interface Decomposition extends DecompositionCore { label: string; } export type DecompositionByName = { [name: string]: Decomposition; }; interface DecompositionCore { children?: DecompositionReference[]; description?: ReferencesByInstant; hidden?: boolean; label?: string; last_value_still_valid_on?: string; obsolete?: boolean; options?: DecompositionOptions[]; reference?: ReferencesByInstant; short_label?: string; virtual?: boolean; } export type DecompositionOptions = VariablesOptions | WaterfallOptions; export interface DecompositionReference { name: string; negate?: boolean; } export interface VariablesCustomization { hidden?: boolean; } export type VariablesOptions = { else?: VariablesCustomization; then?: VariablesCustomization; } & { [name: string]: boolean[] | string[]; }; export interface WaterfallCustomization { children?: DecompositionReference[]; hidden?: boolean; } export interface WaterfallOptions { else?: WaterfallCustomization; then?: WaterfallCustomization; waterfall?: string[]; } export {};