merchi_product_form
Version:
A React component for Merchi product forms
60 lines (53 loc) • 9 kB
JavaScript
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function cleanIds(raw) {
return raw.map(function (id) {
return id.trim();
}) // Trim each ID entry to remove whitespace
.filter(function (id) {
return /^\d+$/.test(id);
}) // Use a regular expression to ensure the ID is entirely numeric.
.map(function (id) {
return Number(id);
}); // Convert the remaining, valid ID entries into numbers
}
// Function to get the value of the "merchi_source" query parameter.
var getMerchiSourceValue = function getMerchiSourceValue() {
// Using URLSearchParams to parse query parameters
if (typeof window !== 'undefined') {
var searchParams = new URLSearchParams(window.location.search);
return searchParams.get('merchi_source');
}
return null;
};
// Function to retrieve and extend the merchi_source value in localStorage.
export var extendMerchiSourceInLocalStorage = function extendMerchiSourceInLocalStorage() {
var merchiSourceFromUrl = getMerchiSourceValue(); // Retrieve new value from URL.
if (merchiSourceFromUrl !== null) {
try {
if (typeof localStorage !== 'undefined' && localStorage !== null) {
// Retrieve the current merchi_source value from localStorage and split it into an array.
var currentMerchiSource = localStorage.getItem('merchi_source');
var currentIds = currentMerchiSource ? currentMerchiSource.split(',') : [];
// Split the new merchiSourceFromUrl value into an array.
var newIds = merchiSourceFromUrl.split(',');
// Create a set combining the two arrays to remove duplicates and convert back to an array.
var combinedIdsArray = Array.from(new Set([].concat(_toConsumableArray(currentIds), _toConsumableArray(newIds))));
var cleanedIds = cleanIds(combinedIdsArray);
// Convert the array back into a comma-separated string.
var combinedIdsString = cleanedIds.join(',');
// Store the new unique combined value in localStorage.
localStorage.setItem('merchi_source', combinedIdsString);
}
} catch (error) {
console.warn('Error extending "merchi_source" in localStorage:', error);
}
} else {
console.warn('No "merchi_source" value found in the URL query parameters.');
}
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjbGVhbklkcyIsInJhdyIsIm1hcCIsImlkIiwidHJpbSIsImZpbHRlciIsInRlc3QiLCJOdW1iZXIiLCJnZXRNZXJjaGlTb3VyY2VWYWx1ZSIsIndpbmRvdyIsInNlYXJjaFBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsImxvY2F0aW9uIiwic2VhcmNoIiwiZ2V0IiwiZXh0ZW5kTWVyY2hpU291cmNlSW5Mb2NhbFN0b3JhZ2UiLCJtZXJjaGlTb3VyY2VGcm9tVXJsIiwibG9jYWxTdG9yYWdlIiwiY3VycmVudE1lcmNoaVNvdXJjZSIsImdldEl0ZW0iLCJjdXJyZW50SWRzIiwic3BsaXQiLCJuZXdJZHMiLCJjb21iaW5lZElkc0FycmF5IiwiQXJyYXkiLCJmcm9tIiwiU2V0IiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiY2xlYW5lZElkcyIsImNvbWJpbmVkSWRzU3RyaW5nIiwiam9pbiIsInNldEl0ZW0iLCJlcnJvciIsImNvbnNvbGUiLCJ3YXJuIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL21lcmNoaVNvdXJjZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBjbGVhbklkcyhyYXc6IGFueVtdKSB7XG4gIHJldHVybiByYXcubWFwKGlkID0+IGlkLnRyaW0oKSkgICAgICAgICAgICAvLyBUcmltIGVhY2ggSUQgZW50cnkgdG8gcmVtb3ZlIHdoaXRlc3BhY2VcbiAgICAuZmlsdGVyKGlkID0+IC9eXFxkKyQvLnRlc3QoaWQpKSAgLy8gVXNlIGEgcmVndWxhciBleHByZXNzaW9uIHRvIGVuc3VyZSB0aGUgSUQgaXMgZW50aXJlbHkgbnVtZXJpYy5cbiAgICAubWFwKGlkID0+IE51bWJlcihpZCkpOyAgICAgICAgICAvLyBDb252ZXJ0IHRoZSByZW1haW5pbmcsIHZhbGlkIElEIGVudHJpZXMgaW50byBudW1iZXJzXG59XG5cbi8vIEZ1bmN0aW9uIHRvIGdldCB0aGUgdmFsdWUgb2YgdGhlIFwibWVyY2hpX3NvdXJjZVwiIHF1ZXJ5IHBhcmFtZXRlci5cbmNvbnN0IGdldE1lcmNoaVNvdXJjZVZhbHVlID0gKCk6IHN0cmluZyB8IG51bGwgPT4ge1xuICAvLyBVc2luZyBVUkxTZWFyY2hQYXJhbXMgdG8gcGFyc2UgcXVlcnkgcGFyYW1ldGVyc1xuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuICAgIHJldHVybiBzZWFyY2hQYXJhbXMuZ2V0KCdtZXJjaGlfc291cmNlJyk7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59O1xuXG4vLyBGdW5jdGlvbiB0byByZXRyaWV2ZSBhbmQgZXh0ZW5kIHRoZSBtZXJjaGlfc291cmNlIHZhbHVlIGluIGxvY2FsU3RvcmFnZS5cbmV4cG9ydCBjb25zdCBleHRlbmRNZXJjaGlTb3VyY2VJbkxvY2FsU3RvcmFnZSA9ICgpOiB2b2lkID0+IHtcbiAgY29uc3QgbWVyY2hpU291cmNlRnJvbVVybCA9IGdldE1lcmNoaVNvdXJjZVZhbHVlKCk7IC8vIFJldHJpZXZlIG5ldyB2YWx1ZSBmcm9tIFVSTC5cblxuICBpZiAobWVyY2hpU291cmNlRnJvbVVybCAhPT0gbnVsbCkge1xuICAgIHRyeSB7XG4gICAgICBpZiAodHlwZW9mIGxvY2FsU3RvcmFnZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbG9jYWxTdG9yYWdlICE9PSBudWxsKSB7XG5cbiAgICAgICAgLy8gUmV0cmlldmUgdGhlIGN1cnJlbnQgbWVyY2hpX3NvdXJjZSB2YWx1ZSBmcm9tIGxvY2FsU3RvcmFnZSBhbmQgc3BsaXQgaXQgaW50byBhbiBhcnJheS5cbiAgICAgICAgY29uc3QgY3VycmVudE1lcmNoaVNvdXJjZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdtZXJjaGlfc291cmNlJyk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJZHMgPSBjdXJyZW50TWVyY2hpU291cmNlID8gY3VycmVudE1lcmNoaVNvdXJjZS5zcGxpdCgnLCcpIDogW107XG4gICAgICAgIFxuICAgICAgICAvLyBTcGxpdCB0aGUgbmV3IG1lcmNoaVNvdXJjZUZyb21VcmwgdmFsdWUgaW50byBhbiBhcnJheS5cbiAgICAgICAgY29uc3QgbmV3SWRzID0gbWVyY2hpU291cmNlRnJvbVVybC5zcGxpdCgnLCcpO1xuXG4gICAgICAgIC8vIENyZWF0ZSBhIHNldCBjb21iaW5pbmcgdGhlIHR3byBhcnJheXMgdG8gcmVtb3ZlIGR1cGxpY2F0ZXMgYW5kIGNvbnZlcnQgYmFjayB0byBhbiBhcnJheS5cbiAgICAgICAgY29uc3QgY29tYmluZWRJZHNBcnJheSA9IEFycmF5LmZyb20obmV3IFNldChbLi4uY3VycmVudElkcywgLi4ubmV3SWRzXSkpO1xuXG4gICAgICAgIGNvbnN0IGNsZWFuZWRJZHMgPSBjbGVhbklkcyhjb21iaW5lZElkc0FycmF5KTtcblxuICAgICAgICAvLyBDb252ZXJ0IHRoZSBhcnJheSBiYWNrIGludG8gYSBjb21tYS1zZXBhcmF0ZWQgc3RyaW5nLlxuICAgICAgICBjb25zdCBjb21iaW5lZElkc1N0cmluZyA9IGNsZWFuZWRJZHMuam9pbignLCcpO1xuXG4gICAgICAgIC8vIFN0b3JlIHRoZSBuZXcgdW5pcXVlIGNvbWJpbmVkIHZhbHVlIGluIGxvY2FsU3RvcmFnZS5cbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ21lcmNoaV9zb3VyY2UnLCBjb21iaW5lZElkc1N0cmluZyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUud2FybignRXJyb3IgZXh0ZW5kaW5nIFwibWVyY2hpX3NvdXJjZVwiIGluIGxvY2FsU3RvcmFnZTonLCBlcnJvcik7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUud2FybignTm8gXCJtZXJjaGlfc291cmNlXCIgdmFsdWUgZm91bmQgaW4gdGhlIFVSTCBxdWVyeSBwYXJhbWV0ZXJzLicpO1xuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxTQUFTQSxRQUFRQSxDQUFDQyxHQUFVLEVBQUU7RUFDNUIsT0FBT0EsR0FBRyxDQUFDQyxHQUFHLENBQUMsVUFBQUMsRUFBRTtJQUFBLE9BQUlBLEVBQUUsQ0FBQ0MsSUFBSSxDQUFDLENBQUM7RUFBQSxFQUFDLENBQVk7RUFBQSxDQUN4Q0MsTUFBTSxDQUFDLFVBQUFGLEVBQUU7SUFBQSxPQUFJLE9BQU8sQ0FBQ0csSUFBSSxDQUFDSCxFQUFFLENBQUM7RUFBQSxFQUFDLENBQUU7RUFBQSxDQUNoQ0QsR0FBRyxDQUFDLFVBQUFDLEVBQUU7SUFBQSxPQUFJSSxNQUFNLENBQUNKLEVBQUUsQ0FBQztFQUFBLEVBQUMsQ0FBQyxDQUFVO0FBQ3JDOztBQUVBO0FBQ0EsSUFBTUssb0JBQW9CLEdBQUcsU0FBdkJBLG9CQUFvQkEsQ0FBQSxFQUF3QjtFQUNoRDtFQUNBLElBQUksT0FBT0MsTUFBTSxLQUFLLFdBQVcsRUFBRTtJQUNqQyxJQUFNQyxZQUFZLEdBQUcsSUFBSUMsZUFBZSxDQUFDRixNQUFNLENBQUNHLFFBQVEsQ0FBQ0MsTUFBTSxDQUFDO0lBQ2hFLE9BQU9ILFlBQVksQ0FBQ0ksR0FBRyxDQUFDLGVBQWUsQ0FBQztFQUMxQztFQUNBLE9BQU8sSUFBSTtBQUNiLENBQUM7O0FBRUQ7QUFDQSxPQUFPLElBQU1DLGdDQUFnQyxHQUFHLFNBQW5DQSxnQ0FBZ0NBLENBQUEsRUFBZTtFQUMxRCxJQUFNQyxtQkFBbUIsR0FBR1Isb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUM7O0VBRXBELElBQUlRLG1CQUFtQixLQUFLLElBQUksRUFBRTtJQUNoQyxJQUFJO01BQ0YsSUFBSSxPQUFPQyxZQUFZLEtBQUssV0FBVyxJQUFJQSxZQUFZLEtBQUssSUFBSSxFQUFFO1FBRWhFO1FBQ0EsSUFBTUMsbUJBQW1CLEdBQUdELFlBQVksQ0FBQ0UsT0FBTyxDQUFDLGVBQWUsQ0FBQztRQUNqRSxJQUFNQyxVQUFVLEdBQUdGLG1CQUFtQixHQUFHQSxtQkFBbUIsQ0FBQ0csS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7O1FBRTVFO1FBQ0EsSUFBTUMsTUFBTSxHQUFHTixtQkFBbUIsQ0FBQ0ssS0FBSyxDQUFDLEdBQUcsQ0FBQzs7UUFFN0M7UUFDQSxJQUFNRSxnQkFBZ0IsR0FBR0MsS0FBSyxDQUFDQyxJQUFJLENBQUMsSUFBSUMsR0FBRyxJQUFBQyxNQUFBLENBQUFDLGtCQUFBLENBQUtSLFVBQVUsR0FBQVEsa0JBQUEsQ0FBS04sTUFBTSxFQUFDLENBQUMsQ0FBQztRQUV4RSxJQUFNTyxVQUFVLEdBQUc3QixRQUFRLENBQUN1QixnQkFBZ0IsQ0FBQzs7UUFFN0M7UUFDQSxJQUFNTyxpQkFBaUIsR0FBR0QsVUFBVSxDQUFDRSxJQUFJLENBQUMsR0FBRyxDQUFDOztRQUU5QztRQUNBZCxZQUFZLENBQUNlLE9BQU8sQ0FBQyxlQUFlLEVBQUVGLGlCQUFpQixDQUFDO01BQzFEO0lBQ0YsQ0FBQyxDQUFDLE9BQU9HLEtBQUssRUFBRTtNQUNkQyxPQUFPLENBQUNDLElBQUksQ0FBQyxrREFBa0QsRUFBRUYsS0FBSyxDQUFDO0lBQ3pFO0VBQ0YsQ0FBQyxNQUFNO0lBQ0xDLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDLDZEQUE2RCxDQUFDO0VBQzdFO0FBQ0YsQ0FBQyJ9