UNPKG

fullfiller

Version:
46 lines (35 loc) 1.34 kB
import { quantityNotNumber, quantityTooSmall, } from 'fullfiller-common/src/errorMessages'; import { unitType, breakdownOptionType } from 'fullfiller-common/src/types'; function getType(value: unknown) { return Array.isArray(value) ? 'array' : typeof value; } function validateQuantity( quantity: number, unit: unitType, sentencesPerParagraph: breakdownOptionType, wordsPerSentence: breakdownOptionType ): string[] { const errors: string[] = []; const type = getType(quantity); if (type !== 'number' || Number.isNaN(quantity)) { errors.push(quantityNotNumber); } // if (type === 'number' && (unit === 'words' || unit === 'paragraphs')) { // const wordsPerParagraphMin = // sentencesPerParagraphDefault.min * wordsPerSentenceDefault.min; // const minimumQuantityAllowed = unit === 'words' ? wordsPerParagraphMin : 1; // if (quantity < minimumQuantityAllowed) { // errors.push(quantityTooSmall(minimumQuantityAllowed)); if (type === 'number' && (unit === 'words' || unit === 'paragraphs')) { const minimumQuantityAllowed = unit === 'words' ? sentencesPerParagraph.min * wordsPerSentence.min : 1; if (quantity < minimumQuantityAllowed) { errors.push(quantityTooSmall(minimumQuantityAllowed)); } } return errors; } export default validateQuantity;