aretherecookies-mobile/js/helpers/QuantityHelpers.js
2018-08-19 12:16:47 -05:00

45 lines
994 B
JavaScript

// @flow
import { type Quantity } from '../constants/QuantityConstants';
const quantityLabels: { [Quantity]: string } = {
none: 'None left',
few: 'A few left',
lots: 'A lot left',
many: 'Plenty left',
};
export const getQuantityLabelText = (quantity: Quantity) =>
quantityLabels[quantity] || quantityLabels['many'];
export const getQuantityDropdownText = (quantity: Quantity) => {
const label = quantityLabels[quantity];
switch (quantity) {
case 'none':
return `${label} - 0`;
case 'few':
return `${label} - 6 or fewer`;
case 'lots':
return `${label} - 10 or fewer`;
default:
return `${label} - more than 10`;
}
};
const quantityAsNumber = (q: Quantity): number => {
switch (q) {
case 'none':
return 3;
case 'few':
return 2;
case 'lots':
return 1;
case 'many':
return 0;
default:
return 3;
}
};
export const compareQuantity = (left: Quantity, right: Quantity): number => {
return quantityAsNumber(left) - quantityAsNumber(right);
};