UNPKG

@vendasta/store

Version:

Components and data for Store

80 lines 10.4 kB
import { Currency, Frequency } from '@vendasta/billing'; export function hasCommitment(commitment, frequency) { if (frequency !== Frequency.OneTime && frequency !== 'One Time' && commitment && !(commitment.initial === 1 && commitment.recurring === 1)) { return true; } else { return false; } } export function formatPrice(currency, value) { value = value || 0; let priceString = (value / 100).toFixed(2); if (currency === Currency.CAD || currency === Currency.USD || currency === Currency.AUD) { priceString = '$' + priceString; } return priceString; } export function formatCurrencyAndFrequencyString(currency, frequency) { let currencyString = ''; if (currency !== Currency.USD) { currencyString = currency; } let frequencyString = ''; switch (frequency) { case 'Monthly': case Frequency.Monthly: frequencyString = 'per month'; break; case 'Yearly': case Frequency.Yearly: frequencyString = 'per year'; break; } if (currencyString && frequencyString) { return `${currencyString} ${frequencyString}`; } else if (currencyString && !frequencyString) { return `${currencyString}`; } return frequencyString; } export function formatCommitmentString(commitment, frequency) { let initialCommitment = commitment.initial; let recurringCommitment = commitment.recurring; let formattedInitialFrequency = ''; let formattedRecurringFrequency = ''; if (frequency === 'Monthly' || frequency === Frequency.Monthly) { formattedInitialFrequency = getFormattedMonthString(initialCommitment); formattedRecurringFrequency = getFormattedMonthString(recurringCommitment); initialCommitment = checkForTwelveMonthsToYear(commitment.initial); recurringCommitment = checkForTwelveMonthsToYear(commitment.recurring); } else if (frequency === 'Yearly' || frequency === Frequency.Yearly) { formattedInitialFrequency = getFormattedYearString(initialCommitment); formattedRecurringFrequency = getFormattedYearString(recurringCommitment); } else { return ''; } if (commitment.recurring > 0) { return `${initialCommitment} ${formattedInitialFrequency} initial commitment, ${recurringCommitment} ${formattedRecurringFrequency} recurring commitment`; } return `${initialCommitment} ${formattedInitialFrequency} commitment`; } function getFormattedMonthString(commitmentLength) { if (commitmentLength === 12) { return 'year'; } return commitmentLength > 1 ? 'months' : 'month'; } function getFormattedYearString(commitmentLength) { return commitmentLength > 1 ? 'years' : 'year'; } function checkForTwelveMonthsToYear(commitmentLength) { return commitmentLength === 12 ? 1 : commitmentLength; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1pbmZvLXN0cmluZy1mb3JtYXR0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zdG9yZS9zcmMvbGliL3Byb2R1Y3QtZGV0YWlscy12Mi9wcm9kdWN0LWluZm8tc3RyaW5nLWZvcm1hdHRpbmcvcHJvZHVjdC1pbmZvLXN0cmluZy1mb3JtYXR0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFeEQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxVQUFVLEVBQUUsU0FBUztJQUNqRCxJQUNFLFNBQVMsS0FBSyxTQUFTLENBQUMsT0FBTztRQUMvQixTQUFTLEtBQUssVUFBVTtRQUN4QixVQUFVO1FBQ1YsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxTQUFTLEtBQUssQ0FBQyxDQUFDLEVBQ3pEO1FBQ0EsT0FBTyxJQUFJLENBQUM7S0FDYjtTQUFNO1FBQ0wsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLFFBQVEsRUFBRSxLQUFhO0lBQ2pELEtBQUssR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ25CLElBQUksV0FBVyxHQUFHLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsR0FBRyxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsR0FBRyxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3ZGLFdBQVcsR0FBRyxHQUFHLEdBQUcsV0FBVyxDQUFDO0tBQ2pDO0lBRUQsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUVELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FBQyxRQUFRLEVB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ZW5kYXN0YS9iaWxsaW5nJztcblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0NvbW1pdG1lbnQoY29tbWl0bWVudCwgZnJlcXVlbmN5KTogYm9vbGVhbiB7XG4gIGlmIChcbiAgICBmcmVxdWVuY3kgIT09IEZyZXF1ZW5jeS5PbmVUaW1lICYmXG4gICAgZnJlcXVlbmN5ICE9PSAnT25lIFRpbWUnICYmXG4gICAgY29tbWl0bWVudCAmJlxuICAgICEoY29tbWl0bWVudC5pbml0aWFsID09PSAxICYmIGNvbW1pdG1lbnQucmVjdXJyaW5nID09PSAxKVxuICApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFByaWNlKGN1cnJlbmN5LCB2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgdmFsdWUgPSB2YWx1ZSB8fCAwO1xuICBsZXQgcHJpY2VTdHJpbmcgPSAodmFsdWUgLyAxMDApLnRvRml4ZWQoMik7XG4gIGlmIChjdXJyZW5jeSA9PT0gQ3VycmVuY3kuQ0FEIHx8IGN1cnJlbmN5ID09PSBDdXJyZW5jeS5VU0QgfHwgY3VycmVuY3kgPT09IEN1cnJlbmN5LkFVRCkge1xuICAgIHByaWNlU3RyaW5nID0gJyQnICsgcHJpY2VTdHJpbmc7XG4gIH1cblxuICByZXR1cm4gcHJpY2VTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRDdXJyZW5jeUFuZEZyZXF1ZW5jeVN0cmluZyhjdXJyZW5jeSwgZnJlcXVlbmN5KTogc3RyaW5nIHtcbiAgbGV0IGN1cnJlbmN5U3RyaW5nID0gJyc7XG4gIGlmIChjdXJyZW5jeSAhPT0gQ3VycmVuY3kuVVNEKSB7XG4gICAgY3VycmVuY3lTdHJpbmcgPSBjdXJyZW5jeTtcbiAgfVxuXG4gIGxldCBmcmVxdWVuY3lTdHJpbmcgPSAnJztcbiAgc3dpdGNoIChmcmVxdWVuY3kpIHtcbiAgICBjYXNlICdNb250aGx5JzpcbiAgICBjYXNlIEZyZXF1ZW5jeS5Nb250aGx5OlxuICAgICAgZnJlcXVlbmN5U3RyaW5nID0gJ3BlciBtb250aCc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdZZWFybHknOlxuICAgIGNhc2UgRnJlcXVlbmN5LlllYXJseTpcbiAgICAgIGZyZXF1ZW5jeVN0cmluZyA9ICdwZXIgeWVhcic7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIGlmIChjdXJyZW5jeVN0cmluZyAmJiBmcmVxdWVuY3lTdHJpbmcpIHtcbiAgICByZXR1cm4gYCR7Y3VycmVuY3lTdHJpbmd9ICR7ZnJlcXVlbmN5U3RyaW5nfWA7XG4gIH0gZWxzZSBpZiAoY3VycmVuY3lTdHJpbmcgJiYgIWZyZXF1ZW5jeVN0cmluZykge1xuICAgIHJldHVybiBgJHtjdXJyZW5jeVN0cmluZ31gO1xuICB9XG4gIHJldHVybiBmcmVxdWVuY3lTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRDb21taXRtZW50U3RyaW5nKGNvbW1pdG1lbnQsIGZyZXF1ZW5jeSk6IHN0cmluZyB7XG4gIGxldCBpbml0aWFsQ29tbWl0bWVudCA9IGNvbW1pdG1lbnQuaW5pdGlhbDtcbiAgbGV0IHJlY3VycmluZ0NvbW1pdG1lbnQgPSBjb21taXRtZW50LnJlY3VycmluZztcbiAgbGV0IGZvcm1hdHRlZEluaXRpYWxGcmVxdWVuY3kgPSAnJztcbiAgbGV0IGZvcm1hdHRlZFJlY3VycmluZ0ZyZXF1ZW5jeSA9ICcnO1xuICBpZiAoZnJlcXVlbmN5ID09PSAnTW9udGhseScgfHwgZnJlcXVlbmN5ID09PSBGcmVxdWVuY3kuTW9udGhseSkge1xuICAgIGZvcm1hdHRlZEluaXRpYWxGcmVxdWVuY3kgPSBnZXRGb3JtYXR0ZWRNb250aFN0cmluZyhpbml0aWFsQ29tbWl0bWVudCk7XG4gICAgZm9ybWF0dGVkUmVjdXJyaW5nRnJlcXVlbmN5ID0gZ2V0Rm9ybWF0dGVkTW9udGhTdHJpbmcocmVjdXJyaW5nQ29tbWl0bWVudCk7XG4gICAgaW5pdGlhbENvbW1pdG1lbnQgPSBjaGVja0ZvclR3ZWx2ZU1vbnRoc1RvWWVhcihjb21taXRtZW50LmluaXRpYWwpO1xuICAgIHJlY3VycmluZ0NvbW1pdG1lbnQgPSBjaGVja0ZvclR3ZWx2ZU1vbnRoc1RvWWVhcihjb21taXRtZW50LnJlY3VycmluZyk7XG4gIH0gZWxzZSBpZiAoZnJlcXVlbmN5ID09PSAnWWVhcmx5JyB8fCBmcmVxdWVuY3kgPT09IEZyZXF1ZW5jeS5ZZWFybHkpIHtcbiAgICBmb3JtYXR0ZWRJbml0aWFsRnJlcXVlbmN5ID0gZ2V0Rm9ybWF0dGVkWWVhclN0cmluZyhpbml0aWFsQ29tbWl0bWVudCk7XG4gICAgZm9ybWF0dGVkUmVjdXJyaW5nRnJlcXVlbmN5ID0gZ2V0Rm9ybWF0dGVkWWVhclN0cmluZyhyZWN1cnJpbmdDb21taXRtZW50KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBpZiAoY29tbWl0bWVudC5yZWN1cnJpbmcgPiAwKSB7XG4gICAgcmV0dXJuIGAke2luaXRpYWxDb21taXRtZW50fSAke2Zvcm1hdHRlZEluaXRpYWxGcmVxdWVuY3l9IGluaXRpYWwgY29tbWl0bWVudCwgJHtyZWN1cnJpbmdDb21taXRtZW50fSAke2Zvcm1hdHRlZFJlY3VycmluZ0ZyZXF1ZW5jeX0gcmVjdXJyaW5nIGNvbW1pdG1lbnRgO1xuICB9XG4gIHJldHVybiBgJHtpbml0aWFsQ29tbWl0bWVudH0gJHtmb3JtYXR0ZWRJbml0aWFsRnJlcXVlbmN5fSBjb21taXRtZW50YDtcbn1cblxuZnVuY3Rpb24gZ2V0Rm9ybWF0dGVkTW9udGhTdHJpbmcoY29tbWl0bWVudExlbmd0aCk6IHN0cmluZyB7XG4gIGlmIChjb21taXRtZW50TGVuZ3RoID09PSAxMikge1xuICAgIHJldHVybiAneWVhcic7XG4gIH1cbiAgcmV0dXJuIGNvbW1pdG1lbnRMZW5ndGggPiAxID8gJ21vbnRocycgOiAnbW9udGgnO1xufVxuXG5mdW5jdGlvbiBnZXRGb3JtYXR0ZWRZZWFyU3RyaW5nKGNvbW1pdG1lbnRMZW5ndGgpOiBzdHJpbmcge1xuICByZXR1cm4gY29tbWl0bWVudExlbmd0aCA+IDEgPyAneWVhcnMnIDogJ3llYXInO1xufVxuXG5mdW5jdGlvbiBjaGVja0ZvclR3ZWx2ZU1vbnRoc1RvWWVhcihjb21taXRtZW50TGVuZ3RoKTogbnVtYmVyIHtcbiAgcmV0dXJuIGNvbW1pdG1lbnRMZW5ndGggPT09IDEyID8gMSA6IGNvbW1pdG1lbnRMZW5ndGg7XG59XG4iXX0=