@thangk/easythemer
Version:
Easily generate shades from a colour palette for use in your app
52 lines (42 loc) • 1.16 kB
text/typescript
/**
* ValidateObjectKeysSize
* @param object1
* @param object2
* @getters getResult(), hasErrors(), getErrorsList()
* @result boolean
* @description Validates if two objects have the same amount of keys
*/
export default class ValidateObjectKeysSize<T extends Object> {
private result: boolean = false;
private errors: boolean = false;
private errmsg: string[] = [];
constructor(object1: T, object2: T) {
this.result = this.isObjectKeysSizeEqual(object1, object2);
}
get getResult() {
return this.result;
}
get hasErrors() {
return this.errors;
}
get getErrorsList() {
return this.errmsg;
}
private showErrors() {
this.errmsg.forEach((msg) => {
console.log(msg);
});
}
private isObjectKeysSizeEqual(object1: T, object2: T) {
if (Object.keys(object1).length === Object.keys(object2).length) return true;
this.addError("Object keys size are not equal.");
this.setErrorState();
return false;
}
private addError(msg: string) {
this.errmsg.push(msg);
}
private setErrorState() {
this.errors = true;
}
}