/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ /** * This file defines fallback objects to be used during development outside * of the paymentDialogWrapper. When loaded in the wrapper, a frame script * overwrites these methods. Since these methods need to get overwritten in the * global scope, it can't be converted into an ES module. */ /* eslint-disable no-console */ /* exported log, PaymentDialogUtils */ "use strict"; var log = { error: console.error.bind(console, "paymentRequest.xhtml:"), warn: console.warn.bind(console, "paymentRequest.xhtml:"), info: console.info.bind(console, "paymentRequest.xhtml:"), debug: console.debug.bind(console, "paymentRequest.xhtml:"), }; var PaymentDialogUtils = { getAddressLabel(address, addressFields = null) { if (addressFields) { let requestedFields = addressFields.trim().split(/\s+/); return requestedFields.filter(f => f && address[f]).map(f => address[f]).join(", ") + ` (${address.guid})`; } return `${address.name} (${address.guid})`; }, isCCNumber(str) { return !!str.replace(/[-\s]/g, "").match(/^\d{9,}$/); }, DEFAULT_REGION: "US", supportedCountries: ["US", "CA"], getFormFormat(country) { return { "addressLevel1Label": country == "US" ? "state" : "province", "postalCodeLabel": country == "US" ? "zip" : "postalCode", "fieldsOrder": [ {fieldId: "name", newLine: true}, {fieldId: "organization", newLine: true}, {fieldId: "street-address", newLine: true}, {fieldId: "address-level2"}, {fieldId: "address-level1"}, {fieldId: "postal-code"}, ], // The following values come from addressReferences.js and should not be changed. /* eslint-disable-next-line max-len */ "postalCodePattern": country == "US" ? "(\\d{5})(?:[ \\-](\\d{4}))?" : "[ABCEGHJKLMNPRSTVXY]\\d[ABCEGHJ-NPRSTV-Z] ?\\d[ABCEGHJ-NPRSTV-Z]\\d", }; }, getDefaultPreferences() { let prefValues = { saveCreditCardDefaultChecked: false, saveAddressDefaultChecked: true, }; return prefValues; }, };