armisa-models
Version:
models of armisa!
28 lines (25 loc) • 1.23 kB
text/typescript
import { IResultOfValidate } from "../..";
import { IMainStateFactory } from "../Types";
export class Cach {
constructor(
public value: any,
public hasChange: any,
public validation: any
) {
}
public static isCached(obj: { mainStateFactory: IMainStateFactory, factoryFieldName: string }) {
return obj.mainStateFactory.any.cach &&
obj.mainStateFactory.any.cach[obj.factoryFieldName] &&
obj.mainStateFactory.any.cach[obj.factoryFieldName] instanceof Cach;
}
public static getCached(obj: { mainStateFactory: IMainStateFactory, factoryFieldName: string }) {
return obj.mainStateFactory.any.cach[obj.factoryFieldName] as Cach;
}
public static clear(obj: { mainStateFactory: IMainStateFactory, factoryFieldName: string }) {
delete obj.mainStateFactory.any.cach[obj.factoryFieldName];
}
public static setValue(obj: { mainStateFactory: IMainStateFactory, factoryFieldName: string, hasChange: boolean, validation: IResultOfValidate }, value: any) {
const result = new Cach(value, obj.hasChange, obj.validation);
obj.mainStateFactory.any.cach[obj.factoryFieldName] = result;
}
}