purespectrum-lib
Version:
shared code between front and backend projects
62 lines (61 loc) • 2 kB
TypeScript
export declare class QuotaChildGenderAgeMapper {
/**
* map old children quota to new child gender age quota
*/
toChildAgeGender(quotas: QuotaClient[]): QuotaClient[];
/**
* Core mapper of old children quota to new child gender age quota
*/
toChildAgeGenderCriteria(hasChildrenConditionCodes: string[], genderConditionCodes?: string[], ageRange?: RangeSet, criteria?: CriteriaClient): CriteriaClient;
private _getNewAgeFromToConditionCodes;
/**
* map new child gender age quota to old children quota
*/
toChildren(quotas: QuotaDatabase[]): QuotaDatabase[];
/**
* get new child gender age criteria from criteria array, as child age gender
* always have only one criterias, return this single criteria or null in case
* of invalid or more than one criteria.
*/
private _getChildGenderAgeCriteriaIfValid;
/**
* map new child gender age criteria to old children 3 criterias
*/
fromNewChildGenderAgeCriteriaToChildrenCriterias(criteria: CriteriaClient[]): CriteriaClient[];
/**
* Core mapper of new child gender age condition codes to old 3 children criterias
*/
toChildrenCriterias(conditionCodes: string[], criteria: Criteria): CriteriaClient[];
private _setOldGenderAgeCriterias;
}
export interface QuotaDatabase {
criteria: CriteriaDatabase[];
}
export interface QuotaClient {
criteria: CriteriaClient[];
}
export interface Criteria {
qualification_code: number;
qualification_name: string;
q_type?: string;
range_sets?: RangeSet[];
}
export interface CriteriaDatabase extends Criteria {
conditions: Conditions[];
}
export interface CriteriaClient extends Criteria {
condition_codes: string[];
}
export interface Conditions {
id: string;
name?: string;
}
export interface RangeSet {
units: number;
to: number;
from: number;
}
export interface Qualification {
qualification_code: number;
condition_codes: string[];
}