{"_id":"@apicart/js-utils","_rev":"7-80e596d463e02405b17592994c4cf16a","name":"@apicart/js-utils","dist-tags":{"latest":"1.0.0-alpha7"},"versions":{"1.0.0-alpha1":{"name":"@apicart/js-utils","version":"1.0.0-alpha1","description":"A small set of useful utilities for simpler development.","main":"dist/utils.min.js","unpkg":"dist/utils.min.js","jsdelivr":"dist/utils.min.js","scripts":{"dev":"rollup -w src -c scripts/dev.js","build:prod":"rollup -c scripts/prod.js","build:prod-min":"rollup -c scripts/prod.min.js","build:test-stack":"rollup -c scripts/test-stack.js","lint":"eslint src/","lint:fix":"eslint src/ --fix","test:chrome":"karma start --single-run --browsers ChromeHeadless karma.conf.js"},"repository":{"type":"git","url":"git+https://github.com/apicart/js-utils.git"},"keywords":["js-utils","apicart","utilities"],"author":{"name":"Vladimír Macháček"},"license":"MIT","bugs":{"url":"https://github.com/apicart/js-utils/issues"},"homepage":"https://github.com/apicart/js-utils/#readme","devDependencies":{"chai":"^4.1.2","eslint":"^5.12.0","karma":"^2.0.5","karma-chai":"^0.1.0","karma-chrome-launcher":"^2.2.0","karma-mocha":"^1.3.0","mocha":"^5.2.0","rollup":"^1.1.0","rollup-plugin-banner":"^0.2.0","rollup-plugin-uglify":"^6.0.1"},"licenseText":"MIT License\n\nCopyright (c) 2019 Apicart\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@apicart/js-utils@1.0.0-alpha1","dist":{"shasum":"aa3611d004dbfa8dbcd5c22d3cc9b64b1ffd2d86","tarball":"https://registry.npmjs.org/@apicart/js-utils/-/js-utils-1.0.0-alpha1.tgz","integrity":"sha512-bti3oPLIG4CuoiEfThsdl4Mh08GmhPsd0wU53+1F8v1pR2C35qSVscm19iRJMf6Mf0N/bhP5x8MBSjKoM5RN4A==","fileCount":70,"unpackedSize":80749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRGpBCRA9TVsSAnZWagAAQWwQAI0gz4HuK9xDIeU0H767\nOvngYELSPaQY+ijqnqkQknIqyOcoNgL/b1T9qhcw0cVEsBcX5rRTTGW01ntW\nqWSxpTcHw0u1J7tEnyXHI+PSMgUcZ/mAKjd0iMOd8r1B4OHZSbopVberFPg+\nss1NOwb7iBR/Ox5TJOoHP93WJPNghGPK9FYQCLGeCos7OzfvcpMWDZvExk+S\nJVGAcWY5/rJe8w94SEUJUqKSH/fOZlkQOKZUfKow1Zs4BH+xhwOrr4o8UrBB\nSUeH8+cPCFrIHmYg238W0owNPFt3gEvtjAsKklTU1PnSqy85LU4I9W3j2c4y\nKL/Rv+RV5KT4adArhuLwJ7byFYvlsG+1sfQc1+2Uq5T2G5+pVMlFcZ9EgxwX\niX4loKc26/TzZx55k2WIpBz2+v/R2o+LdX5LptnakulcPpk1loxbKN00OfKV\nPy4zHdF7chP0h9chtPxGCCifzFlrtGWAT/aAGCBKeGxGj4DZxh5qEr7CHKgV\nE8P0ZAW32djnbklLi8Zo4hWxUj/l/I42zvHdoUtQYUmWrxrCuZAWJRwk0HKE\nlFOh6WFziS3AIoGd+8tVBpbGHRENcvRXhpIFK0rpbUpPGR56kCEsEb4cJjaE\n5XuoOY8wbgTMrLnpUF6dIw67ecUfuMDcpBdboTyfeommDd6tVxnI1tdAASkf\nSVQw\r\n=NuFR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGCC+VBJPpDwuUkBToEFKibwV8qSqVVOnYwh+kGdO0g0AiEAm9CqZs48UQseAcAXo5ka4y3Hwdz9l7ECR9aCRZISYn8="}]},"maintainers":[{"name":"apicart","email":"tools@apicart.net"}],"_npmUser":{"name":"apicart","email":"tools@apicart.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/js-utils_1.0.0-alpha1_1547987520865_0.755085859192594"},"_hasShrinkwrap":false},"1.0.0-alpha2":{"name":"@apicart/js-utils","version":"1.0.0-alpha2","description":"A small set of useful utilities for simpler development.","main":"dist/utils.min.js","unpkg":"dist/utils.min.js","jsdelivr":"dist/utils.min.js","scripts":{"dev":"rollup -w src -c scripts/dev.js","build":"yarn build:dev && yarn build:prod && yarn build:prod-min && yarn build:test-stack","build:dev":"rollup -c scripts/dev.js","build:prod":"rollup -c scripts/prod.js","build:prod-min":"rollup -c scripts/prod.min.js","build:test-stack":"rollup -c scripts/test-stack.js","lint":"eslint src/","lint:fix":"eslint src/ --fix","test:chrome":"karma start --single-run --browsers ChromeHeadless karma.conf.js"},"repository":{"type":"git","url":"git+https://github.com/apicart/js-utils.git"},"keywords":["js-utils","apicart","utilities"],"author":{"name":"Vladimír Macháček"},"license":"MIT","bugs":{"url":"https://github.com/apicart/js-utils/issues"},"homepage":"https://github.com/apicart/js-utils/#readme","devDependencies":{"chai":"^4.1.2","eslint":"^5.12.0","karma":"^2.0.5","karma-chai":"^0.1.0","karma-chrome-launcher":"^2.2.0","karma-mocha":"^1.3.0","mocha":"^5.2.0","rollup":"^1.1.0","rollup-plugin-banner":"^0.2.0","rollup-plugin-uglify":"^6.0.1"},"licenseText":"MIT License\n\nCopyright (c) 2019 Apicart\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@apicart/js-utils@1.0.0-alpha2","dist":{"shasum":"6111643a860553dd7fc69a189af5b1f722a77e34","tarball":"https://registry.npmjs.org/@apicart/js-utils/-/js-utils-1.0.0-alpha2.tgz","integrity":"sha512-12gI69jYypv7/vWQi52TLlEbCT1zU0TtYecRdbT8Dtr6MLu7HiMXKai2UOlsfDYeQeicBHiEF4r4451Q6CPwfw==","fileCount":70,"unpackedSize":95433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcctdgCRA9TVsSAnZWagAAGgkQAJPUCw9NH2pRCFvOAG0E\nwTDVuDYuUgtCD9NHPFKQ2PPaJsMwxATKC2uBLs+Q+JtPUFgmR6fCWMj2MY3G\nM0nOtAp84CIgZXLzEOMdVzacQy69wO2/opRHKb3o7KvEaaThsSuzlHI4wfl4\nSN6aaNBUJM9/jCxVc53JZGGMTwOQeA5/EjwJ0IFVZp3MWMX9lMPLqgaE8j/s\nzeFWxyYMp7iaoGV4iwws3seIuvW1D7kBjDyEkcVQp/otUU3FhU37+lOrn5zY\nb8mrCf7DX/Bm92tE0eAg9Zj6wzgNYKRdllhSkXHzCo/HdlxRFNwgH7G860qX\nrUSGqvGq0mpZP897QdLr6tvXEr+9dltKefBue2Wezj4mELsKvxzcKDTPuDyl\nqmXWAHTN3Kq5Kg+1/bJR+A6qB4/Y0WJAryBfr1V+XFcx4hsB5dEjffH90kkZ\ngNgFiPAWajjD+zW2hMvCS4VvJ+HUy0walqhrNW2JMb2r0qCuM32QLVrPEs7r\nC0tOIFuAJXDQigYOPyyT3r9Y/5iv6a4d2QjSajcG7s6HzWDfCP2wNs3fSOV/\nMPWS5lgwy8QWNAXrd1OUs2iWzODQ3usDQo8UAY5z7N7T/ekpWVzyAgbOrAaM\nepOsHD+UpAvpvLNE52tNe9RM8zabkiLBm+O6Om3DDzVIMSjy00xKac9mN2Ns\nNq24\r\n=dGW1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDoc35n57jNrtykC0NdkRmggRveYc5tTopv0K1jv9+GpAiBR24BLxYP/WonOYrAd35wX/WxI6JivS8hs1+P3Q749Ow=="}]},"maintainers":[{"name":"apicart","email":"tools@apicart.net"}],"_npmUser":{"name":"apicart","email":"tools@apicart.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/js-utils_1.0.0-alpha2_1551030112212_0.41374452434222064"},"_hasShrinkwrap":false},"1.0.0-alpha3":{"name":"@apicart/js-utils","description":"A small set of useful utilities for easier development","version":"1.0.0-alpha3","module":"dist/utils.esm.js","main":"dist/utils.cjs.js","unpkg":"dist/utils.min.js","jsdelivr":"dist/utils.min.js","scripts":{"watch":"rollup -c rollup.config.js -w src","build":"rollup -c rollup.config.js","test":"karma start --single-run --browsers ChromeHeadless karma.conf.js","lint:check":"eslint ./src/**/*.ts","lint:fix":"eslint  ./src/**/*.ts --fix"},"engines":{"node":">=8"},"repository":{"type":"git","url":"git+https://github.com/apicart/packages-js.git"},"keywords":["apicart","utilities"],"author":{"name":"Apicart Company"},"license":"MIT","bugs":{"url":"https://github.com/apicart/packages-js/issues"},"homepage":"https://github.com/apicart/packages-js/#readme","devDependencies":{"@rollup/plugin-typescript":"^3.0.0","@types/chai":"^4.2.4","@types/mocha":"^5.2.7","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.1.0","chai":"^4.1.2","eslint":"^6.5.1","karma":"^2.0.5","karma-chai":"^0.1.0","karma-chrome-launcher":"^3.1.0","karma-mocha":"^1.3.0","mocha":"^7.0.1","promise":"^8.0.3","rollup":"^1.1.0","rollup-plugin-banner":"^0.2.0","rollup-plugin-terser":"^5.1.1","tslib":"^1.10.0","typescript":"^3.6.2"},"gitHead":"c462c7af60779a8d9a62575f0d8c7720fcbc6a1c","_id":"@apicart/js-utils@1.0.0-alpha3","_nodeVersion":"10.14.2","_npmVersion":"lerna/3.20.2/node@v10.14.2+x64 (linux)","dist":{"integrity":"sha512-wEEJXfiIQRx40Rzf36QaE+eO463cZ89VEQzmBBC1xpUJ0zDepv4MRwFcU95X4Ur3yecOwao9CDB2RLITj0tmLA==","shasum":"e364cece1e10598888c891d957908ebf89c1b163","tarball":"https://registry.npmjs.org/@apicart/js-utils/-/js-utils-1.0.0-alpha3.tgz","fileCount":23,"unpackedSize":156029,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYN0KCRA9TVsSAnZWagAAzaQP/2gNiL3bRvVG5QoWmCoT\nI5WNExgJt/fxYNnaNY5w6RWXuDitGhvQT3ZQZt0F90nCUJ/cnLHa5iaLQdgP\nVHa0WQlGts4hpxQxRXEZeaIlGoclnlmUiRVA68rVEQCXNVnstKH8HMfitAK2\ngQ7nqYKdxaPmevsSp1zn9HmZWy5+fllT2XRDgYBYS80FviG8xl8k+BDvVp05\nQZjL1DqkKeWw7pCsVWzh4Wo9MuHFuZXEgPHoHK2redBV4CKLUH7yxvkZcPWp\nAHBYgTuKkZ2c4k9NuUbK6N12NPdXZd+Q2ApWsJL4Eo3O/EPr5Yg389OTNQs6\npgfAck0GtSeS7WwksXD33bI8OLoc7WjyAOL/4ySyAvMYVN3fr0edZgNdGOS0\nWeHNBRmEAA3OQcxE2V5clPO5EFwb3A+U5VPyTOVqp4K3514kMVHWkvvclLG2\nOmsLEJNnG6VQijalPFe5j0EL98f4ui2a8tJkNqPxBCODRJXBuez6qQr9E1WM\nBgHNFe4nbEAMHtzG+uxOZiv9COC+jnWpqyEI32H40crTu59MW4Fou8rDxWE+\nO0GhZCU4AJ5BqsPbH5mwSx1ZJ+UtjVEWWRLB9nDP/4ahNuM8SgmH7jti1nGe\nTsRZV6M1lxT1lMTKIsLryR0buC1nCjyfQXe6G6hbXPR9AV7WCeFquqjTd68k\nKkY5\r\n=p5fB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICISWhbaQKUb9zT3og5tctf2XlaGCHXHCdHkKKcNsafMAiAJLLFWTNFGGs3Fzu4dlkhJRVTQHpFVbDFiA21OtBZbBA=="}]},"maintainers":[{"name":"apicart","email":"tools@apicart.net"}],"_npmUser":{"name":"apicart","email":"tools@apicart.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/js-utils_1.0.0-alpha3_1583406345590_0.6817423227409465"},"_hasShrinkwrap":false},"1.0.0-alpha4":{"name":"@apicart/js-utils","description":"A small set of useful utilities for easier development","version":"1.0.0-alpha4","module":"./lib/Utils.js","main":"./dist/utils.js","browser":"./dist/utils.js","es2015":"./es5/Utils.js","esm5":"./es5/Utils.js","esm2015":"./es5/Utils.js","unpkg":"./dist/utils.js","jsdelivr":"./dist/utils.js","types":"./types","scripts":{"watch":"rollup -c rollup.config.js -w src","build":"rollup -c rollup.config.js","test":"karma start --single-run --browsers ChromeHeadless karma.conf.js","lint:check":"eslint './src/**/*.ts'","lint:fix":"eslint './src/**/*.ts' --fix"},"repository":{"type":"git","url":"git+https://github.com/apicart/packages-js.git","directory":"packages/js-utils"},"keywords":["apicart","utilities","javascript","api"],"author":{"name":"Apicart Company"},"license":"MIT","bugs":{"url":"https://github.com/apicart/packages-js/issues"},"homepage":"https://github.com/apicart/packages-js/#readme","devDependencies":{"@rollup/plugin-typescript":"^4.1.1","@types/chai":"^4.2.4","@types/mocha":"^5.2.7","@types/node":"^13.13.2","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.1.0","chai":"^4.1.2","eslint":"^6.5.1","karma":"^2.0.5","karma-chai":"^0.1.0","karma-chrome-launcher":"^3.1.0","karma-mocha":"^1.3.0","mocha":"^7.0.1","promise":"^8.0.3","rollup":"^2.7.2","rollup-plugin-banner":"^0.2.0","rollup-plugin-terser":"^5.3.0","tslib":"^1.11.0","typescript":"^3.8.3"},"publishConfig":{"access":"public"},"licenseText":"MIT License\n\nCopyright (c) 2019 Apicart\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@apicart/js-utils@1.0.0-alpha4","dist":{"shasum":"7a3cad68185203edb07753302a09513e72cbe2c1","integrity":"sha512-8DIOH/2pyF6kBPzFOND3wUR+i05KK6squuO9Tnjc1GfuXqNpOVdW40kdlW6psTMIlTIBw15HC2dPH6OuQQpOxQ==","tarball":"https://registry.npmjs.org/@apicart/js-utils/-/js-utils-1.0.0-alpha4.tgz","fileCount":33,"unpackedSize":197334,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetVjdCRA9TVsSAnZWagAAuSgQAKBTIKUmP3HPjGnv6A6m\n+yda2IkG07n3ENAqMoS1BNIlP6cAuML+1yVWFclviqeQxOClYwJxP3sDUhWE\nyw6INDmS2icYmPemocvrFGez964TgtFc1rh13Xq7432s90RHjPYDWsDzxMex\n+lPRakGZ+Pku9KlZhpmIWZWeWcyPxxY60XRXA9B72S827XwUoIkcWMXXZXw+\nfdHim6K9K5YarB52u026zt6s+7MXbeDCjwmd6mFwKY/4o2kyun/ZNnpAXyWE\nsh1aIz3J3gn67k8BHxzdzgTxJerL02fXldE3tNTdkv5l0XPQH38/5ioom+pd\njFX6yjwTRrZbuGQrkg7YB6UxYa/NCOyya9bkh/eSFJRfS2oBYlF12lboUjvC\n1wBngtD/RxA7vSCerwUmtU2pm6njlrlmv8kskltRpb+kjZlYD+4LSr8jU13t\n48nYHsKSE4TYzjBkvHraX1C8UnD8XaLhLPgCOUTxREFv1H9olxSh4XAWXKLE\n0XATvfXcGLvGtJFo3gdKJPgH4ZwXaC62V9DwCH0TicMR7qp5fcKv6+LDoEGw\nIBh/J1I6z98mLGfX/IuKoanFYxpp+jZV/7rtLV79IEiXRpko83fMBIKxnxL3\nmqgrovdcE3KvhcXaT0Kjm7NbUg3kRMmDVjsQ3UljNaHN/WI9zd6HR/ft1XaN\n18pI\r\n=r3jy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9VCsHtlfI2Fmfw086lX0KrL4AUiLMYFRNGna7r7Fi5AIgc4nSaGLEWz+Tn1H/qIX5cndQIvaheMvkcpFCGWUHjNI="}]},"maintainers":[{"name":"apicart","email":"tools@apicart.net"}],"_npmUser":{"name":"apicart","email":"tools@apicart.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/js-utils_1.0.0-alpha4_1588943069177_0.49744155848230265"},"_hasShrinkwrap":false},"1.0.0-alpha5":{"name":"@apicart/js-utils","description":"A small set of useful utilities for easier development","version":"1.0.0-alpha5","module":"./lib/Utils.js","main":"./dist/utils.js","browser":"./dist/utils.js","es2015":"./es5/Utils.js","esm5":"./es5/Utils.js","esm2015":"./es5/Utils.js","unpkg":"./dist/utils.js","jsdelivr":"./dist/utils.js","types":"./types","scripts":{"watch":"rollup -c rollup.config.js -w src","build":"rollup -c rollup.config.js","test":"karma start --single-run --browsers ChromeHeadless karma.conf.js","lint:check":"eslint './src/**/*.ts'","lint:fix":"eslint './src/**/*.ts' --fix"},"repository":{"type":"git","url":"git+https://github.com/apicart/packages-js.git","directory":"packages/js-utils"},"keywords":["apicart","utilities","javascript","api"],"author":{"name":"Apicart Company"},"license":"MIT","bugs":{"url":"https://github.com/apicart/packages-js/issues"},"homepage":"https://github.com/apicart/packages-js/#readme","devDependencies":{"@rollup/plugin-typescript":"^4.1.1","@types/chai":"^4.2.4","@types/mocha":"^5.2.7","@types/node":"^13.13.2","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.1.0","chai":"^4.1.2","eslint":"^6.5.1","karma":"^2.0.5","karma-chai":"^0.1.0","karma-chrome-launcher":"^3.1.0","karma-mocha":"^1.3.0","mocha":"^7.0.1","promise":"^8.0.3","rollup":"^2.7.2","rollup-plugin-banner":"^0.2.0","rollup-plugin-terser":"^5.3.0","tslib":"^1.11.0","typescript":"^3.8.3"},"publishConfig":{"access":"public"},"gitHead":"6411d4a51f31daa9addd389f19e595d9c52c05d0","_id":"@apicart/js-utils@1.0.0-alpha5","_nodeVersion":"10.14.2","_npmVersion":"lerna/3.20.2/node@v10.14.2+x64 (linux)","_npmUser":{"name":"apicart","email":"tools@apicart.net"},"dist":{"integrity":"sha512-4yOcmm0cnVGTaeRcwtPwaVoitSDB9S8AGH5ZqBC9jFbO3yrHJmXf6UYLZ9kLtD1gF5QhNVy0UNtgBBdyVMxdJA==","shasum":"86d96219ea685ca411574ce59d46e6aefbf5c224","tarball":"https://registry.npmjs.org/@apicart/js-utils/-/js-utils-1.0.0-alpha5.tgz","fileCount":26,"unpackedSize":197390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetX/sCRA9TVsSAnZWagAAtwYP+QDJPPXCqGhIVsMQgPHi\nqFzqrH3JpHu/QD+EDhts6HeELiIRL4umwaUxEIgxrPXJxdaq8qQ1swVN2Tbh\nFb5mlNmtXF2hQRNV4SYBuYSH4dsBm2IDPtt4BZffyBUHW6o9Cqv4lBhv3oTV\nP1jUL6l+WQmY8q94X7oAbnGPtM7TwQ0+i6mioha/U+/O6Hyn+tnUDmC2qNme\n5gdXhVRnP1Ewuq69Bqa7QsuraXN/s7V/CKcQsUaCXRVjom79lK+eNoQDaZ4m\nsxGhQsTC7SYxk5pz3C6X/XSLxnE1BKip886d22N+36QBCnMW8IzlYAnrwtjp\nyC1seqzx4PlRtTHNOqlE8uCP/2K4dUlcGpcqaYJPyG1PMTJUeOzZUnvPb5+l\nZrQNqM+DgjDZXbkmzPYzdrMmQUqRkqt64FRxvZzeB0/f6U9TmsZEHn0hOulX\nWhpvQHmVmOmLxjtifqCesjQws9bil4f5VSQ3bKVsEfUyuLwoYbQQo8czQeo5\ng3oUBjCMhHuklwsm/atXnUGn+4qGGVie3vsUTJXAuLyOXKB5I5sIo7UZizJe\nUQZyWhiOQeh3Fb84FrpxFLHdLhtOZ93t5SQu1DB+i3ZZqXXtUE7X7YvquAJV\nSCoT0wNuk2rVOpgMD7t5/gz8hsxHxL2Q+McOZAg0OjkF48ReOCPe8zbQYQ8I\nH6mR\r\n=Isim\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3Ck1ZB18DlZwNwpt8Nt2GVGttCi8SehGq7gMR2mcozQIhANzcv//30G0KkRi2ode5cZ+S0pDP5TLKQ5BESwBplfHw"}]},"maintainers":[{"name":"apicart","email":"tools@apicart.net"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/js-utils_1.0.0-alpha5_1588953068444_0.7289220163168415"},"_hasShrinkwrap":false},"1.0.0-alpha6":{"name":"@apicart/js-utils","description":"A small set of useful utilities for easier development","version":"1.0.0-alpha6","module":"./lib/Utils.js","main":"./dist/utils.js","browser":"./dist/utils.js","es2015":"./es5/Utils.js","esm5":"./es5/Utils.js","esm2015":"./es5/Utils.js","unpkg":"./dist/utils.js","jsdelivr":"./dist/utils.js","types":"./types","scripts":{"watch":"rollup -c rollup.config.js -w src","build":"rollup -c rollup.config.js","test":"karma start --single-run --browsers ChromeHeadless karma.conf.js","lint:check":"eslint './src/**/*.ts'","lint:fix":"eslint './src/**/*.ts' --fix"},"repository":{"type":"git","url":"git+https://github.com/apicart/packages-js.git","directory":"packages/js-utils"},"keywords":["apicart","utilities","javascript","api"],"author":{"name":"Apicart Company"},"license":"MIT","bugs":{"url":"https://github.com/apicart/packages-js/issues"},"homepage":"https://github.com/apicart/packages-js/#readme","devDependencies":{"@rollup/plugin-typescript":"^4.1.1","@types/chai":"^4.2.4","@types/mocha":"^5.2.7","@types/node":"^13.13.2","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.1.0","chai":"^4.1.2","eslint":"^6.5.1","karma":"^2.0.5","karma-chai":"^0.1.0","karma-chrome-launcher":"^3.1.0","karma-mocha":"^1.3.0","mocha":"^7.0.1","promise":"^8.0.3","rollup":"^2.7.2","rollup-plugin-banner":"^0.2.0","rollup-plugin-terser":"^5.3.0","tslib":"^1.11.0","typescript":"^3.8.3"},"publishConfig":{"access":"public"},"gitHead":"272e98faca6cc4c96d8f8fbd91071e140d7a4fba","_id":"@apicart/js-utils@1.0.0-alpha6","_nodeVersion":"10.14.2","_npmVersion":"lerna/3.20.2/node@v10.14.2+x64 (linux)","dist":{"integrity":"sha512-KllIzwvDkR2llZIdcYH12v5yrodx5D3jediPLtG3TJSO5a2MRRVMZMmgJIZZCn9/Dh521bDfgswalR9yj6Kw5A==","shasum":"7a266fb7402b61080cb409a8cb8365986a63dc58","tarball":"https://registry.npmjs.org/@apicart/js-utils/-/js-utils-1.0.0-alpha6.tgz","fileCount":26,"unpackedSize":197390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewlGZCRA9TVsSAnZWagAA194QAKMPg9EAg4gbIU3dMtG/\nzGp0lrOm/rCmO9gr6GbBXus5FGoH7qsbLTT3ysx/QtNVhT5WwP5HqnchllF9\nsg7hVsnsWJM3DoEbSvr31NUQPdqSDggJsQIycIUT7na3Cpfx5BnkNV0kDYn0\ndYaQCGo1NUn4iGW0BY0FKXp4YliNtDIyNo+YNpCvEv8q7SrZSJgDxNYK2dxV\npUPFbVJI2FpZSjhtggISfaxtP0CQwQl3Xbyb95hG2Ss2Q7ILHOfYtyGDL2P1\nbSOoNBG6SiBvZgSEpSfy4v3HZGsBWvtaGYaklQnsB0GxRstMJKlnC0vheU2+\nfsXTHb2xFU3/9dx2FWXe5SEQD4Syhwf+Gfl/Q2/917jOwr370LFGH+6bvWNM\n0HHJMlz9Deddhg/WQXteBWxKeDyUsHI/v7I7xFCx9zkFXCO6Q5Su6RiaI99I\n7B+0qblo0ElHvaklhg25d4yqBR2vigF9y9sdyJbfGJIcgsrUTe7TU3jvowc9\nIElxQxTJlYtjQrXnHeEhcx9g78UxhYc4vwWZKDUnjd6yFH1Abei5GMUogA+a\n434dRKEBSW8LiKqrLT63ZD/AqeEz0S/ShejMGaHzgc7vmRusV5Q6QTFOrlXf\nnYAqS6tSv7sKNTsv/CDjxATUzQLt1IQQ54AQ+xbNjWJ2WAsLe5+gvA5++AXW\n0v5Y\r\n=eyLu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA9iSaQ1UDknzp94Zh2Pv/3YkykIbWYv6MXTjGKRMqhjAiAniO0OU9Yz3EpGs70PGdOJ8dRObozqOv69p5YS/5N0Dg=="}]},"maintainers":[{"name":"apicart","email":"tools@apicart.net"}],"_npmUser":{"name":"apicart","email":"tools@apicart.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/js-utils_1.0.0-alpha6_1589793177197_0.12231525405775878"},"_hasShrinkwrap":false},"1.0.0-alpha7":{"name":"@apicart/js-utils","description":"A small set of useful utilities for easier development","version":"1.0.0-alpha7","module":"./lib/Utils.js","main":"./dist/utils.js","browser":"./dist/utils.js","es2015":"./es5/Utils.js","esm5":"./es5/Utils.js","esm2015":"./es5/Utils.js","unpkg":"./dist/utils.js","jsdelivr":"./dist/utils.js","types":"./types","scripts":{"watch":"rollup -c rollup.config.js -w src","build":"rollup -c rollup.config.js","test":"karma start --single-run --browsers ChromeHeadless karma.conf.js","lint:check":"eslint './src/**/*.ts'","lint:fix":"eslint './src/**/*.ts' --fix"},"repository":{"type":"git","url":"git+https://github.com/apicart/packages-js.git","directory":"packages/js-utils"},"keywords":["apicart","utilities","javascript","api"],"author":{"name":"Apicart Company"},"license":"MIT","bugs":{"url":"https://github.com/apicart/packages-js/issues"},"homepage":"https://github.com/apicart/packages-js/#readme","devDependencies":{"@rollup/plugin-typescript":"^4.1.1","@types/chai":"^4.2.4","@types/mocha":"^5.2.7","@types/node":"^13.13.2","@typescript-eslint/eslint-plugin":"^2.3.1","@typescript-eslint/parser":"^2.1.0","chai":"^4.1.2","eslint":"^6.5.1","karma":"^2.0.5","karma-chai":"^0.1.0","karma-chrome-launcher":"^3.1.0","karma-mocha":"^1.3.0","mocha":"^7.0.1","promise":"^8.0.3","rollup":"^2.7.2","rollup-plugin-banner":"^0.2.0","rollup-plugin-terser":"^5.3.0","tslib":"^1.11.0","typescript":"^3.8.3"},"publishConfig":{"access":"public"},"gitHead":"023d86dc24b44f09988e102f25fa8544e08b4421","_id":"@apicart/js-utils@1.0.0-alpha7","_nodeVersion":"10.14.2","_npmVersion":"lerna/3.20.2/node@v10.14.2+x64 (linux)","dist":{"integrity":"sha512-Eml+8otHrUvhduuloD/d+SsKzwNZ+To3s8ebLbcJm7d5FwUs5L5lSnQGDEiXwY9u6Sr+4RumnvhYyQ8WHoMyAw==","shasum":"de089d3c55bd5461dd3446cd5bf19f211955a2a5","tarball":"https://registry.npmjs.org/@apicart/js-utils/-/js-utils-1.0.0-alpha7.tgz","fileCount":26,"unpackedSize":197390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3PKsCRA9TVsSAnZWagAA10cQAIi9n+MDhm1pWirjDp95\nzAU2qvLOfptEwaw8PdVumDcPyBVeHbQPjGjSET2/LDIxoan6E9hfs4WkPXKA\n5d0vJ55prRuYG3h8c58uN1O5nVUjIyio3sNTweLAEldRUwcQpdgoqpWkwMVL\nMUdY56eFXmXxhAnzKKFDbPE/ECEXVzn7MmxU/vHcNyi+Q/lhXuH7zLVgx5wl\nYCEZKFCaoEvxWQh+NmNW8YOhuan1mOeYVUmHLe5GcXRn7EBWxIciWYa4sCOB\nxEd0eYXYPVKxJqhYfZB6a4hLlEQKPiNtGRLHdn6lNsuIsoqvRccpYP+saTLc\nqelNqjHPwBEqcSewb4iJ7Mwe9wkNNGGcff4EqwHa3UhswJvpFNBBHbj9cvzm\nZJJ0iLq620vpMu/zzWbuHao6STivpDUojezMCRVWfSny6i0AFehQ6MavQJQ7\nFg9CADlwV4dIZfOF+bEfLHZ7CDQHvGbSTS/4ayvUipOnUQwpTGwgDGREUGG8\nk1ZimZzRFrNWWGQkrx8oBlNQF3bfZUTca3nrYAoprR/E3eC+EDv1A7e8W+pY\nDfGA4JHvbSs+SH/44WZgf3YedqXtU6DXaC59jXDFrkiG+sS76wySHm7LRj6C\n+aS9xgAAGttAG16bbk61vrYc3GAUl5xZBQ/j7dXyLQuvA9D09/oBUUYT4kC3\nxj19\r\n=8mp2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpUKNNaY2N8PaMne6UnauWh5aFqYspidL72dt7r+YakQIhAOSDVsG2ou0jJc6UotmMYwD33iCMLNcnbz2hyMkkR+Go"}]},"maintainers":[{"name":"apicart","email":"tools@apicart.net"}],"_npmUser":{"name":"apicart","email":"tools@apicart.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/js-utils_1.0.0-alpha7_1591538348301_0.4633560657755027"},"_hasShrinkwrap":false}},"time":{"created":"2019-01-20T12:32:00.693Z","1.0.0-alpha1":"2019-01-20T12:32:01.001Z","modified":"2022-04-04T14:34:57.465Z","1.0.0-alpha2":"2019-02-24T17:41:52.341Z","1.0.0-alpha3":"2020-03-05T11:05:45.768Z","1.0.0-alpha4":"2020-05-08T13:04:29.284Z","1.0.0-alpha5":"2020-05-08T15:51:08.552Z","1.0.0-alpha6":"2020-05-18T09:12:57.311Z","1.0.0-alpha7":"2020-06-07T13:59:08.437Z"},"maintainers":[{"name":"apicart","email":"tools@apicart.net"}],"description":"A small set of useful utilities for easier development","homepage":"https://github.com/apicart/packages-js/#readme","keywords":["apicart","utilities","javascript","api"],"repository":{"type":"git","url":"git+https://github.com/apicart/packages-js.git","directory":"packages/js-utils"},"author":{"name":"Apicart Company"},"bugs":{"url":"https://github.com/apicart/packages-js/issues"},"license":"MIT","readme":"<h1 align=\"center\">\n\t<a href=\"https://apicart.net/\" target=\"_blank\">\n\t\t<img src=\"https://apicart.net/assets/images/logo/logo.purple.svg\" alt=\"\" width=\"100\">\n\t</a>\n\t<br>\n\t<br>\n\tJs-Utils\n\t<br>\n\t<img src=\"https://travis-ci.org/apicart/packages-js.svg?branch=master\" alt=\"\">\n\t<img alt=\"GitHub tag (latest by date)\" src=\"https://img.shields.io/github/v/tag/apicart/packages-js\">\n</h1>\n\nWebsite: [https://apicart.net](https://apicart.net)<br>\nSign Up: [https://accounts.apicart.net/](https://accounts.apicart.net/)<br>\n\n- A small set of useful utilities for simpler development.\n- ✅ **7 Kb minified (3 Kb Gzipped)**\n- ✅ Supports IE 10 +\n- ✅ [TRY IT ON CODEPEN](https://codepen.io/apicart/pen/Vqorov)\n\n**Content**\n- [Ajax](https://github.com/apicart/js-utils#ajax-utilsajax)\n- [Console](https://github.com/apicart/js-utils#console-utilsconsole)\n- [DOM](https://github.com/apicart/js-utils#dom-utilsdom)\n- [JSON](https://github.com/apicart/js-utils#json-utilsjson)\n- [LocalStorage](https://github.com/apicart/js-utils#utils-localstorage)\n- [Loops](https://github.com/apicart/js-utils#loops-utilsloops)\n- [Objects](https://github.com/apicart/js-utils#objects-utilsobjects)\n- [Strings](https://github.com/apicart/js-utils#strings-utilsstrings)\n- [Url](https://github.com/apicart/js-utils#url-utilsurl)\n- [Validators](https://github.com/apicart/js-utils#validators-utilsvalidators)\n- [Data Binder](https://github.com/apicart/js-utils#data-binder-utilsdatabinder)\n- [Event Dispatcher](https://github.com/apicart/js-utils#event-dispatcher-utilseventdispatcher)\n- [Flash Messages](https://github.com/apicart/js-utils#flash-messages-utilsflashmessages)\n\n## Installation\n\n### Cdn\n```html\n<!-- Master version from Github -->\n<script src=\"https://cdn.jsdelivr.net/gh/apicart/js-utils/dist/utils.min.js\"></script>\n\n<!-- v1.0.0-alpha1 from jsdelivr.net -->\n<script src=\"https://cdn.jsdelivr.net/npm/@apicart/js-utils@1.0.0-alpha1/dist/utils.min.js\" integrity=\"sha256-eo4u9fSxiYhrAT7PpLhbWEFHsiuBnTV0krDfY7VeQE4=\" crossorigin=\"anonymous\"></script>\n```\n\n### Npm & Yarn\n```\nnpm i @apicart/js-utils\n\nyarn add @apicart/js-utils\n```\n\n## Ajax (Utils.ajax)\nThis component simplifies work with the XMLHttpRequest.\n\n**Parameters**\n\n| Parameter     | async   | cache   | data   | headers | method | queryParameters | timeout | url    | withCredentials | start         | complete      |\n|---------------|---------|---------|--------|---------|--------|-----------------|---------|--------|-----------------|---------------|---------------|\n| Type          | boolean | boolean | object | object  | string | object          | number  | string | boolean         | function      | function      |\n| Default value | true    | true    | {}     | {}      | get    | {}              | 5000    | ''     | false           | function() {} | function() {} |\n\n```typescript\nget(url: string, parameters: any = {}): Promise<any>\npost(url: string, parameters: any = {}): Promise<any>\nrequest(parameters: any = {}): Promise<any>\n```\n```js\nUtils.Ajax.get('https://example.com', {\n    complete: function (response){\n        alert('Done');\n    }\n});\n\nUtils.Ajax.post('https://example.com', {\n    complete: function (response){\n        alert('Done');\n    }\n});\n\nUtils.Ajax.request({\n    url: 'https://example.com',\n    method: 'post',\n    complete: function (response){\n        alert('Done');\n    }\n});\n```\n\n## Console (Utils.Console)\nWraps the default browser console and ensures the cross-browser compatibility.\n```typescript\nerror(...args: any[]): Console\n```\n\n```js\nUtils.Console.error('Some', 'Value');\n```\n\n```typescript\nlog(...args: any[]): Console\n```\n\n```js\nUtils.Console.log('Some', 'Value');\n```\n\n```typescript\nwarn(...args: any[]): this\n```\n\n```js\nUtils.Console.warn('Some', 'Value');\n```\n\n## DOM (Utils.Dom)\nSimplifies work with Document Object Model.\n\n```typescript\naddClass(element: Element, classes: string|string[]): Dom\n```\n\nAdds one or multiple classes to selected elements.\n```js\nUtils.Dom.addClass(document.querySelector('.element'), 'first second third');\n```\n\n```typescript\nfindParent(element: Element, selector: string): Element|null\n```\n\nReturns element parent based on selector. If the parent was not found, returns null.\n```js\nUtils.Dom.findParent(Element $element, '.parent');\n```\n\n```typescript\nmatches(element: Element, selector: string): boolean\n```\n\nReturns true if element matches selector. If not, returns false.\n```js\nUtils.Dom.matches(document.querySelector('.element', '.selected');\n```\n\n```typescript\non(eventTypes: string|string[], selectors: string|string[], callback: Function): this\n```\n\nAdds event listener to selected elements. Works even on dynamically added elements.\n```js\nUtils.Dom.on('click', '.element', function() {...});\n```\n\n\n```typescript\nremoveClass(element: Element, classes: string): Dom\n```\n\nRemoves one or multiple classes from selected elements.\n```js\nUtils.Dom.removeClass(document.querySelector('.element'), 'first second third');\n```\n\n```typescript\ntrigger(element: any[], event: string): this\n```\n\nTriggers an event on selected element.\n```js\nUtils.Dom.trigger(document.querySelector('.button'), 'click');\n```\n\n## Event Dispatcher (Utils.eventDispatcher)\n\nEvent dispatcher allows you communicate between components based on events.\nIf for example a product was added into the cart, you can trigger `productAddedIntoCart` event.\nListeners waiting for this event will be triggered with given values.\n\n```typescript\naddListener(listenerKey: string, event: string|string[], callback: Function, singleAction: boolean = false): EventDispatcher\n```\n\nThis method registers listener. If the `singleAction` parameter is set to true, the listener will be triggered only once (it is useful for dynamically generated listeners).\n```js\nUtils.EventDispatcher.addListener('number-dumper', 'send-number', function (number) {\n    console.log(number);\n}, true); // Single action is set to true, so the listener will be triggered only once\nUtils.EventDispatcher.addListener('product-popup', 'product-added-into-cart', function (parameters) {...});\n```\n\n```typescript\nremoveListener(listenerKey: string, event: string|string[]): this\n```\n\nRemoves listener from given event.\n```js\nUtils.EventDispatcher.removeListener('listener', 'event1 event2');\nUtils.EventDispatcher.removeListener('listener', ['event1', 'event2']);\nUtils.EventDispatcher.removeListener('number-dumper', 'send-number');\n```\n\n```typescript\ndispatchEvent(event: string|string[], parameters: any|null = []): EventDispatcher\n```\n\nTriggers selected event. Given parameters are provided to the listeners.\n```js\nUtils.EventDispatcher.dispatchEvent('event1 event2');\nUtils.EventDispatcher.dispatchEvent(['event1', 'event2']);\nUtils.EventDispatcher.dispatchEvent('rozesli-cislo', 1);\n```\n\n## Json (Utils.Json)\n```typescript\nisJson(content: any|null): boolean\n```\n\nChecks if the provided data are json. If not returns false.\n```js\nUtils.Json.isJson('{a: \"b\"}'); // true\nUtils.Json.isJson('Text'); // false\n```\n\n```typescript\nparse(content: any|null): any\n```\n\nConverts json to object. If the provided data are not json, returns an empty object.\n```js\nUtils.Json.parse('{a: \"b\"}'); // {a: \"b\"}\n```\n\n```typescript\nstringify(object: any): string\n```\n\nConverts javascript object into json.\n```js\nUtils.Json.stringify({a: \"b\"}); // \"{a: \"b\"}\"\n```\n\n## Local Storage (Utils.LocalStorage)\n\n```typescript\nclear(): this\n```\nClears local storage\n```js\nUtils.LocalStorage.clear();\n```\n\n```typescript\ngetItem(key: string): any | null\n```\nReturns item parsed as json\n\n```js\nUtils.LocalStorage.getItem('someItem');\n```\n\n```typescript\nsetItem(key: string, value: any, expiration: number | null = null): this\n```\nSaves item into local storage. Automatically converts any possible type into json and stringifies it.\n\n```\nUtils.LocalStorage.setItem('someItem', {a: 1});\n```\n\n```typescript\nremoveItem(key: string): this\n```\nRemoves item from local storage.\n\n```js\nUtils.LocalStorage.removeItem('someItem');\n```\n\n```typescript\nhasItem(key: string): boolean\n```\nReturns true if given key exists in the local storage\n\n```js\nUtils.LocalStorage.hasItem('someItem');\n```\n\n```typescript\ngetActualTimestamp(): number\n```\nReturns actual time in timestamp\n```js\nUtils.LocalStorage.getActualTimestamp();\n```\n\n\n## Loops (Utils.Loops)\n\n```typescript\nforEach(iterable: any | null, callback: Function): Loops\n```\n\nFunction that is able to iterate over objects and arrays. Inside this function the `this` object is an object containing *counter, iterableLength* parameters and *isFirst, isLast, isEven, isOdd* functions.\n\n```js\nUtils.Loops.forEach([1, 2, 3], function(value, key) {...});\nUtils.Loops.forEach([1, 2, 3], function(value, key) {console.log(this.counter, this.isFirst());...});\nUtils.Loops.forEach(document.querySelectorAll('.element'), function(element, key) {...});\n```\n\n## Objects (Utils.Objects)\n\n```typescript\nassign(object: Object, keyPath: string|string[], value: any): void\n```\n\nPolyfill of the Object.assign for older browsers. Is able to assign nested properties.\n```js\nvar a = {x: 1};\nUtils.Objects.assign(a, 'y.z', 2); // {x: 1, y: {z: 2}}\n```\n\n```\ncopy(object: Object): Object\n```\n\nReturns a new copy of the provided object. Object copy is without a reference to copied object.\n```js\nUtils.Objects.copy({a: \"b\"}); // {a: \"b\"}\n```\n\n```\ndelete(object: Object, keyPath: string|string[]): void\n```\n\nRemoves keys from object. Is able to remove nested keys.\n```js\nUtils.Objects.delete({a: {b: {c: \"1\", d: \"2\"}}}, 'a.b.c'); // {a: {b: {d: \"2\"}}}\n```\n\n```\nfind(object: Object, keyPath: string|string[]): any | null\n```\n\nThis method is able to find a value according to provided key. The key can be arbitrarily nested. If the key doesnt exists, returns null.\n```js\nUtils.Objects.find({a: {b: {c: \"1\"}}}, 'a.b.c'); // 1\n```\n\n```\nkeyExists(object: Object, keyPath: string|string[]): boolean\n```\n\nReturns true if given path exists\n\n```js\nUtils.Objects.keyExists('some.nested.key');\n```\n\n```typescript\nisObject(data: any): boolean\n```\n\nChecks if the provided data are object.\n```js\nUtils.Objects.isObject({a: \"b\"}); // true\nUtils.Objects.isObject(null); // false\nUtils.Objects.isObject([]); // false\n```\n\n```typescript\nmerge(...args: Object[]): Object\n```\n\nMerges two or more objects into a new one. The new object is without reference to the merged objects.\n```js\nUtils.Objects.merge({a: \"1\"}, {b: \"2\"}); // {a: \"1\", b: \"2\"}\nUtils.Objects.merge({a: {b: \"1\"}}, {a: {c: \"2\"}}); // {a: {b: \"1\", c: \"2\"}}\n```\n\n```typescript\nvalues(object: Object): any[]\n```\n\nRemoves keys from provided object and returns its data.\nOdstraní klíče daného objektu a vrátí jejich data.\n```\nUtils.Objects.values({a: \"b\", c: \"d\"}): // [\"b\", \"d\"]\n```\n\n## Strings (Utils.Strings)\n```typescript\nfirstToUpper(string: string): string\n```\n\nConverts first letter of the given string to upper case.\n```js\nUtils.Strings.firstToUpper('test') // Test\n```\n\n```\ngenerateHash(length: number, characters = 'abcdefghijklmnopqrstuvwxyz0123456789'): string\n```\n\nGenerates hash from given characters and length.\nVytvoří hash o dané délce ze zadaných znaků.\n```js\nUtils.Strings.generateHash(32) // 32 characters long hash\n```\n\n```\nsprintf(content: string, parameters: any[]): string\n```\n\nReplaces placeholders by given values.\n```js\nUtils.Strings.sprintf('%0% je %1%', ['Apicart', 'nejlepší']) // Apicart je nejlepší\nUtils.Strings.sprintf('%spolecnost% je %hodnoceni%', {spolecnost: 'Apicart', hodnoceni: 'nejlepší'}) // Apicart je nejlepší\n```\n\n## Url (Utils.Url)\n```typescript\ngetQueryParameter(name: string, url: string = (<any>window).location.href): string|null\n```\n\nReturns query parameter from the given url. If the parameter was not found, returns null.\n```js\nUtils.Url.getQueryParameter('number', 'https://example.com?number=1') // 1\n```\n\n## Validators (Utils.Validators)\n```typescript\nisEmpty(data: any): boolean\n```\n\nReturns true if the provided data are empty. Otherwise returns false.\n```js\nUtils.Validators.isEmpty([]) // true\nUtils.Validators.isEmpty({}) // true\nUtils.Validators.isEmpty('') // true\n```\n\n## Flash Messages (Utils.FlashMessages)\n\nFlash messages allows you to persist messages through redirects.\n\n```typescript\naddMessage(content: any, type: string | null = null): this\n```\n\nAdds message. You can provide a custom type.\n```js\nUtils.FlashMessages.addMessage('Text');\nUtils.FlashMessages.addMessage('Warning!', 'warning');\n```\n\n```typescript\ngetMessages(): Object\n```\n\nReturns messages.\n```js\nUtils.FlashMessages.getMessages();\n```\n\n```typescript\nhasMessages(type: string | null = null): boolean\n```\n\nReturns true if there are some persisted messages.\n```js\nUtils.FlashMessages.hasMessages();\n```\n\n```typescript\n processMessages(callback: Function, type: string | null = null): this\n```\n\nIterates over messages. If the type is set, the iteration is done only over the messages of the given type.\n```js\nUtils.FlashMessages.processMessages(function (message, type) { ... }); // Processes all messages\nUtils.FlashMessages.processMessages(function (message, typ) { ... }, 'info'); // Processes only the info messages\n```\n","readmeFilename":"README.md"}