formsquare
Version:
Serialize html5 forms the smart way
1 lines • 7.02 kB
JavaScript
var formsquare=function(){'use strict';function a(b){"@babel/helpers - typeof";return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},a(b)}function b(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function c(a,b){return f(a)||h(a,b)||j(a,b)||m()}function d(a){return e(a)||g(a)||j(a)||l()}function e(a){if(Array.isArray(a))return k(a)}function f(a){if(Array.isArray(a))return a}function g(a){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a))return Array.from(a)}function h(a,b){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(a)){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!(b&&c.length===b));d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h["return"]||h["return"]()}finally{if(e)throw f}}return c}}function j(a,b){if(a){if("string"==typeof a)return k(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(c):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?k(a,b):void 0}}function k(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function l(){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 m(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function n(a,b){for(var c=b.length,d=0;d<c;d+=1)if(!a(b[d]))return!1;return!0}function o(a){return function(b){return n(function(a){return a(b)},a)}}function p(a,b){for(var c=b.length,d=0;d<c;d+=1)if(a(b[d]))return!0;return!1}function q(a,b){for(var c=b.length,d=0;d<c;d+=1)if(b[d]===a)return!0;return!1}function r(c,a){for(var b=a.length,d=0;d<b;d+=1)q(a[d],c)||c.push(a[d]);return c}function s(a,b){for(var c=[],d=b.length,e=0;e<d;e+=1)a(b[e])&&c.push(b[e]);return c}function t(a,b){return w(function(b,c){for(var d=a(c),e=d.length,f=0;f<e;f+=1)b.push(d[f]);return b},[],b)}function u(b){if(!b)return!1;if(b instanceof Date||b instanceof Promise||Array.isArray(b))return!1;var c=a(b);return"bigint"!==c&&"boolean"!==c&&"number"!==c&&"string"!==c&&"symbol"!==c}function v(a,b){for(var c=[],d=b.length,e=0;e<d;e+=1)c.push(a(b[e]));return c}function w(a,b,c){for(var d=b,e=c.length,f=0;f<e;f+=1)d=a(d,c[f]);return d}function x(a){var b=a.selectedOptions||s(function(a){return a.selected},a.options);return v(function(a){return a.value},b)}function y(a,b){return b.slice(0,a.length)===a}function z(a){if(a instanceof NodeList||Array.isArray(a))return t(z,a);var b=a.elements;if(!a.id||"function"==typeof window.HTMLFormControlsCollection&&b instanceof window.HTMLFormControlsCollection)return b;var c=document.querySelectorAll("[form=\"".concat(a.id,"\"]")),d=s(function(b){return q(b.getAttribute("form"),["",null,a.id])},b);return r(d,c)}function A(a){var b=a.indexOf(":"),c=a.indexOf(";",b),d=a.indexOf(",",c);return{type:a.slice(b+1,c),body:a.slice(d+1)}}function B(a){if(!a)return Promise.resolve(null);var b=new FileReader,c=new Promise(function(a,c){b.addEventListener("load",a,!1),b.addEventListener("error",c,!1),b.addEventListener("abort",c,!1)});return b.readAsDataURL(a),c.then(function(b){var c=A(b.target.result),d=c.type,e=c.body;return{body:e,type:d,name:a.name}})}function C(a,b){return null===a?"number"==typeof b[0]?[]:Object.create(null):a}function D(a){var b=Number.parseInt,c=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[];if(0===a.length)return c;var d=a.indexOf("["),e=a.indexOf("]");if(0>=d&&-1===e)return c.push(a),c;for(;e<d&&-1!==e;)e=a.slice(e).indexOf("]");if(-1===e)return c.push(a),c;if(0<d)return c.push(a.slice(0,d)),D(a.slice(d),c);var f=a.slice(d+1,e);return""===f?c.push(-1):f.match(N)?c.push(b(f,10)):c.push(f),D(a.slice(e+1),c)}function E(a){if(!a.match(/^\s*\d+\s*-W\s*\d+\s*$/))return a;var b=a.split("-W"),d=c(b,2),e=d[0],f=d[1];if(e=parseInt(e,10),f=parseInt(f,10),0>=f||53<f)return a;var g=new Date(Date.UTC(e,0,1+7*(f-1))),h=g.getUTCDay(),i=g;return 4>=h?i.setUTCDate(g.getUTCDate()-g.getUTCDay()+1):i.setUTCDate(g.getUTCDate()+8-g.getUTCDay()),"Invalid Date"===i.toString()?a:i}function F(a){var b=Number.parseFloat,c=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[];if("select-multiple"===a.type)return x(a);if("number"===a.type||"range"===a.type)return b(a.value);if(q(a.getAttribute("type"),["date","datetime-local","month"])){var d=new Date(a.value);return"Invalid Date"===d.toString()?a.value:d}if("week"===a.getAttribute("type"))return E(a.value)||a.getAttribute("value");if("file"===a.type)return a.multiple?0===a.files.length?Promise.resolve([]):Promise.all(v(B,a.files)):B(a.files[0]);var e=a.value;return c.forEach(function(b){e=b(e,a)}),e}function G(a,c){if(Array.isArray(a)&&"number"==typeof c&&a.length<c)for(var d=a.length;d<c;d+=1)"undefined"==typeof a[d]&&Object.assign(a,b({},d,null))}function H(a,c,d,e){var f=-1===c?a.length:c;"undefined"!=typeof a[f]&&null!==a[f]?(!Array.isArray(a[f])&&Object.assign(a,b({},f,[a[f]])),a[f].push(e?{"":d}:d)):(G(a,f),Object.assign(a,b({},f,e?{"":d}:d)))}function I(a,c){if(1>=a.length)return c;var d=a[0],e=a.slice(1),f=-1===d?c.length:d,g=c[f];if("undefined"==typeof g){var h="number"==typeof e[0]?[]:Object.create(null);if(Array.isArray(c)&&-1===f)return c.push(h),I(e,h);G(c,f),Object.assign(c,b({},f,h))}return I(e,c[f])}function J(a){return"number"==typeof a.slice(-1)[0]}function K(a,b){var c=a;if(null===c){if(0===b.length||"number"==typeof b[0])return[];c=Object.create(null)}var d=I(b,c),e=b.slice(-1)[0];return 0<b.length&&"undefined"==typeof d[e]&&!J(b)&&(d[e]=[]),c}function L(a,c){return w(function(d,e){var f=e.name,g=e.type,h=e.value,i=D(f);if("radio"===g&&!e.checked)return d;if("checkbox"===g&&null===e.getAttribute("value"))h=e.checked;else if("checkbox"===g&&!e.checked){if(J(i)||p(function(a){return a.name===f&&a!==e},a))return K(d,i);h=null}else h=F(e,c);if(0===i.length)return null===d?h:Array.isArray(d)?(d.push(h),d):u(d)?(Object.assign(d,b({},Object.keys(d).length,h)),d):[d,h];var j=C(d,i),k=I(i,j),l=i.slice(-1)[0],m="number"!=typeof l&&p(function(a){return y(f,a.name)&&a!==e&&a.name.slice(f.length).match(/\[[^\]]\]/)},a);return H(k,l,h,m),j},null,a)}function M(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},b=a.filters,c=void 0===b?[]:b,e=a.maps,f=void 0===e?[]:e,g=Object.create(null);return Object.defineProperty(g,"filter",{value:function(a){return M({filters:[].concat(d(c),[a]),maps:f})}}),Object.defineProperty(g,"map",{value:function(a){return M({maps:[].concat(d(f),[a]),filters:c})}}),Object.defineProperty(g,"parse",{value:function(a){var b=s(o(c),z(a));return L(b,f)}}),g}var N=/^\s*\d+\s*$/,O=M();return O}();