@rnw-community/react-native-payments
Version:
Accept Payments with Apple Pay and Android Pay using the Payment Request API.
16 lines • 1.02 kB
JavaScript
import { isDefined, isNotEmptyString, isString } from '@rnw-community/shared';
import { isValidDecimalMonetaryValue } from './is-valid-decimal-monetary-value/is-valid-decimal-monetary-value.util.js';
export const validateShippingOptions = (ErrorType, shippingOptions = []) => {
shippingOptions.forEach(shippingOption => {
if (!isDefined(shippingOption) || !isNotEmptyString(shippingOption.id) || !isNotEmptyString(shippingOption.label)) {
throw new ErrorType(`Missing required member(s): id, label.`);
}
if (!isDefined(shippingOption.amount) || !isDefined(shippingOption.amount.value)) {
throw new ErrorType(`required member value is undefined.`);
}
if (!isString(shippingOption.amount.value) || !isValidDecimalMonetaryValue(shippingOption.amount.value)) {
throw new ErrorType(`'${shippingOption.amount.value}' is not a valid amount format for shipping options`);
}
});
};
//# sourceMappingURL=validate-shipping-options.util.js.map