UNPKG

tape-slider

Version:

simple way ever to make your website interactive add tape slider for your website

42 lines (41 loc) 1.46 kB
import { ITapeSliderData } from "./api/ITapeSliderData"; import { ITapeSliderOptions } from "./api/ITapeSliderOptions"; import { IValidatorError } from "./api/IValidatorError"; export class TapeSliderOptionValidator { private validationErrors: IValidatorError[] = []; private options: ITapeSliderOptions; constructor(options: ITapeSliderOptions) { this.options = options; } validate() { let result = this.validateSpeed(this.options.speed); if (this.shouldAppendToErrors(result)) { this.validationErrors.push(result) } result = this.validateData(this.options.data); if (this.shouldAppendToErrors(result)) { this.validationErrors.push(result) } return !this.isFails(); } isFails(){ if(this.validationErrors.length > 0) return true; return false; } getErrors(){ return this.validationErrors; } private shouldAppendToErrors(validatorError: IValidatorError | null) { if (validatorError !== null) return true; return false; } private validateSpeed(speed: number): IValidatorError | null { if(speed <1 || speed > 10){ return {name:'speed',error:'speed must be between 1 and 10'}; } return null; } private validateData(data: ITapeSliderData): IValidatorError | null { return null; } }