{"_id":"@flourish/enhanced-arrays","_rev":"81-f08b512db8bf403e91c28750995c5615","name":"@flourish/enhanced-arrays","dist-tags":{"next":"1.1.0-prerelease.1","latest":"2.0.0"},"versions":{"1.0.0-prerelease.1":{"name":"@flourish/enhanced-arrays","version":"1.0.0-prerelease.1","author":{"name":"Flourish team"},"license":"UNLICENSED","_id":"@flourish/enhanced-arrays@1.0.0-prerelease.1","maintainers":[{"name":"animateddata","email":"hello@animateddata.co.uk"},{"name":"keriley","email":"katie@kiln.it"},{"name":"mark-kiln","email":"mark@kiln.it"},{"name":"robinhouston","email":"robin@kiln.digital"},{"name":"duncanclark","email":"duncan@kiln.digital"},{"name":"daanlouter","email":"daan.louter@gmail.com"},{"name":"annaps","email":"anna@anna.ps"},{"name":"timbrock","email":"info@datatodisplay.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"}],"dist":{"shasum":"3efb2c7e0658c224575005cef81cac932c4553bf","tarball":"https://registry.npmjs.org/@flourish/enhanced-arrays/-/enhanced-arrays-1.0.0-prerelease.1.tgz","fileCount":33,"integrity":"sha512-aix/KTWxKu6jNtb1H0GkWeOctdnT3HLkYh8FD+gp9/oWdcDx/V+Qd3o+wM+ERdcuTIqzkEqrl5Yygnd9DB04ug==","signatures":[{"sig":"MEUCIQDIFsgDm+Mo8CDUG8kXXit662ub/IIxXHElI51eIqb/JwIgJtLA2ERbVScyj6Ov13AbvEv5mtlobUkgddmbGaf/Ucc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":152454,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdE44gCRA9TVsSAnZWagAAtfcQAIupWKgGKscS5r0VKlGf\nZJfzL+0DpoMCcKzNFXR/XJtrS5OY9VO0TR+WtzAHEIYqrEI5LC+psp7N74fa\nqi4D0oO/EGH76RaTPjsG0Q2NdFbVi+dwvhAedMd0XQORlu2650BSWiJdavqs\nJ8Nx/W7H5/HBQgBCAmLf+yVAD8zcofdacz2GWf8JleT/PdjRkQDjmfE1fGFJ\nUM8X85cc/mz6BEn9Kz4PTNG/Bk9hs8vXUATyddY5d13HKu4sVex4GIfN9XGd\nrauU0aJNhv0/eQRnlTuGY7y+WU3g+1lhnyiQL67SGNK13pKrl5shTz6W2qI6\nAEp6e8HrZ3M0t8+0vPCsgw7RZJDj8wFtgcCo+LFQKI/dD019twSZDr9SmW48\nePo26d7iG6xJC3Nufss+Eq20axYkqpd/6E0LQ5VzurcFLz70cMl4OVXYoCIi\nKchn3B1zuOp2rm5e2THViQ+XthjCkS8O5Gum95/dE9k4+iRcQ5tmr5RZk3lN\ntZomrmgsDpKiHL4zmNN4Z2lduHjxetZ49cWFdsSGZWNokc1vAay1wgehSCua\nFQ60GR3myq4zgSccxToox/7rMJ8FugFzzbq8N6n55CDMZrWBOfSr9a0CSeSJ\n7/l6ymRDr0zJPc0UiVNoAICn+PrAfdp1bm34XDofcHWONI7XIqhaskiZIT+u\nyGcG\r\n=ofjk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"enhanced-arrays.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"module":"src/index.js","gitHead":"e5d8eb765f2c1676c767ad008fe428a558d438db","scripts":{"lint":"eslint src","build":"rollup -c","minify":"uglifyjs -m -o enhanced-arrays.min.js enhanced-arrays.js","prepare":"npm run build && npm run minify","precommit":"lint-staged"},"_npmUser":{"name":"timbrock","email":"info@datatodisplay.com"},"_npmVersion":"6.4.1","description":"Create immutable array-like-objects with useful methods","directories":{},"lint-staged":{"*.js":"npm run lint --"},"_nodeVersion":"8.16.0","dependencies":{"d3-array":"1.2.4","d3-scale":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^2.3.0","eslint":"^5.16.0","rollup":"^1.12.3","uglify-js":"^3.5.15","lint-staged":"^8.1.7","rollup-plugin-node-resolve":"^5.0.0","@flourish/eslint-plugin-flourish":"^0.7.2"},"_npmOperationalInternal":{"tmp":"tmp/enhanced-arrays_1.0.0-prerelease.1_1561562655565_0.7655697377600934","host":"s3://npm-registry-packages"}},"1.0.0-prerelease.2":{"name":"@flourish/enhanced-arrays","version":"1.0.0-prerelease.2","author":{"name":"Flourish team"},"license":"UNLICENSED","_id":"@flourish/enhanced-arrays@1.0.0-prerelease.2","maintainers":[{"name":"animateddata","email":"hello@animateddata.co.uk"},{"name":"annaps","email":"anna@anna.ps"},{"name":"daanlouter","email":"daan.louter@gmail.com"},{"name":"duncanclark","email":"duncan@kiln.digital"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"keriley","email":"katie@kiln.it"},{"name":"mark-kiln","email":"mark@kiln.it"},{"name":"robinhouston","email":"robin@kiln.digital"},{"name":"timbrock","email":"info@datatodisplay.com"}],"dist":{"shasum":"eda14f004ba3a8495f866c05cb1967f2e322c2e4","tarball":"https://registry.npmjs.org/@flourish/enhanced-arrays/-/enhanced-arrays-1.0.0-prerelease.2.tgz","fileCount":30,"integrity":"sha512-h3uie/a4umjIohA37SzdsIt/lAvG/oy0ndAm6xBSiRQdg5hyWsV2bBFbPZCEoYPJp2PjCYS2R+2TqHhwgoKf9w==","signatures":[{"sig":"MEUCIQDLAd5Q7sepol53UBbrHDHtyNdWAXOL9yYejsjKQBUWYwIgcCycMue17efyMhiU51uzfoD4EG3pa7RH9vxm3vC9wo0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30337,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFNJfCRA9TVsSAnZWagAAw10P/3PO2AZCYYJVjCYJvvjM\nvIG1dpzKej0zgXgqi+y6OFnVyjr8z9E14rSn0ubXmyXLsLv+iuX3r/rfHMCU\nY/+XcggPWW4qFBlvOFFLZnpXkybuXwpJPQ7ytobXbjRDePITJdimC26/XzT6\nlL0BrUxfEnDc/mCIs/vA0D13SER15pecb1fN90O0oNbqdkbj1+Gr4+/hTKQ3\nqoJEO0DRDmyoXXXV3hov0pGZV/KJEnbDhdJsmSi3ohSV9W5eqjw+DfdVhE78\n9kZyqdR8m/KSsCkQ3Ez5S6B3kB7xIHvCyZ8paxXy+xNoFJOnOzXTl1tTRVRV\nOg6oH4MHpc7gXR18J6S5Fjkqu2sJXZuYukk4VCGp3aieXtljUpgULWpwopwL\nVTTFgQvjm7EBQ2nxSYSb9DiFHjL0ytf7/OBQnMfKVPyNaDAn3tvVTkr1y5w/\n1w5FgGkz8LHyeV9Rjf74BrD3eU/o5NXnXG/GFxjUjmtglCao59a1Du61YL/h\ncHPSx7CaRjlcJ1qNdQFWeXdZu0caTUa6oxN2yHKn/qzQvh2tYTl0lLY5W8f2\naN3DTrpvlUDlQTUROyGU9fZ6XQ5I6W+2FHcbMFzwHYUlSv55q+xwJfXDki/V\np6RYOjWvMdKvwOb3IgGwOzbDUUdN5nLcssUPpM5OzAx47pIXp1yfg1dCGh2a\n8/Ol\r\n=XAde\r\n-----END PGP SIGNATURE-----\r\n"},"main":"enhanced-arrays.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"module":"src/index.js","readme":"ERROR: No README data found!","gitHead":"9088314e04f4fb6a259866531b4b4807a4dad7b1","scripts":{"lint":"eslint src","build":"rollup -c","minify":"uglifyjs -m -o enhanced-arrays.min.js enhanced-arrays.js","prepare":"npm run build && npm run minify","precommit":"lint-staged"},"_npmUser":{"name":"timbrock","email":"info@datatodisplay.com"},"_npmVersion":"6.4.1","description":"Create immutable array-like-objects with useful methods","directories":{},"lint-staged":{"*.js":"npm run lint --"},"_nodeVersion":"8.16.0","dependencies":{"d3-array":"1.2.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^2.3.0","eslint":"^5.16.0","rollup":"^1.12.3","uglify-js":"^3.5.15","lint-staged":"^8.1.7","rollup-plugin-node-resolve":"^5.0.0","@flourish/eslint-plugin-flourish":"^0.7.2"},"_npmOperationalInternal":{"tmp":"tmp/enhanced-arrays_1.0.0-prerelease.2_1561645662705_0.4889981356395716","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@flourish/enhanced-arrays","version":"1.0.0","author":{"name":"Flourish team"},"license":"UNLICENSED","_id":"@flourish/enhanced-arrays@1.0.0","maintainers":[{"name":"animateddata","email":"hello@animateddata.co.uk"},{"name":"annaps","email":"anna@anna.ps"},{"name":"daanlouter","email":"daan.louter@gmail.com"},{"name":"duncanclark","email":"duncan@kiln.digital"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"keriley","email":"katie@kiln.it"},{"name":"mark-kiln","email":"mark@kiln.it"},{"name":"robinhouston","email":"robin@kiln.digital"},{"name":"ssoutoul","email":"soutoul@usc.edu"},{"name":"timbrock","email":"info@datatodisplay.com"}],"dist":{"shasum":"6d16f9b36478bba38033ab9fbfb24adb918b0156","tarball":"https://registry.npmjs.org/@flourish/enhanced-arrays/-/enhanced-arrays-1.0.0.tgz","fileCount":30,"integrity":"sha512-ZsAJkqtDSEnMVpx97b6SMLoyorbHIaegAYgHFUTO+I8MAZJfLhhy2bCYo6yVT5rcpQUwgpvXltuGmg1VFdbnaQ==","signatures":[{"sig":"MEUCIBVuT8B3/tM1uF22BMxp2u2aJ2xFVTdZy40hTwYh3tziAiEAvMKVrZOiRje4vCd+lpnhV2+uGGzWubHhQCWryO4H0Mg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30303,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVs4bCRA9TVsSAnZWagAAXD4P/jwJCN+xUW/UgakOjoq3\nohfLxuPk3+3DmwwNZsVzcJ2Czy80sZry1ZgzN11C9AOzpaqqnHsOsOOQQEwI\nZa+8PxuuQN1OmNd3pIceybewARlX8yjHyHEn93nXOwMaS2tRRSWZIg4tgx4G\nS2bbEQnwnacFPVJWZQx+iDQBQOKcUSUAQpctVh6G8ZWgOJ3ahmCVmI1qMFTI\nk31sp1mkCwzRFstywSEviXeQS78GtqbeLDn0A607jNtPWCm+VU/HUYoPF8U7\ncQ1Y19DyH45YEG5cT2VLdCjt2xjkGNneASMOoh+l5jYPnWMWDDD4qh37MkdX\nB2RzsMrPVSKURup9j+F+UA3WA7elDexnutk5IsKZ9jrZVAvKtf7t4LNaXKUK\n4MQc7W+KvNXAUEDuYwDN45GR1fNRy/RHtudSgSouJRR3ckOF3vRvOHvKwg68\nI0bZGcWqt+dHEd0WfxS3y66KAqcfdxxtQmlvQpPmALrdAJoQUkBIxB2BHum7\ng2ko3Zz/MW89jGmHm5GJZnpU24okKG/7NtqqfsHxrcWIH2MmNzruHZFj048A\nIuRAKfSSB6p3QNuNvtWNf1ZOGdOZKxWy083jchPFl+Vxwgt4m/oSBgIDmoE2\n6sLc8csoP/fQM5ctIrmJhMXCgpEcF4yEAQJrgwCUV6JURms/jfksNQe4nc14\nkhIr\r\n=kmq8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"enhanced-arrays.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"module":"src/index.js","gitHead":"005ed12d30d944dd9126fa3fed1568f66ecb875c","scripts":{"lint":"eslint src","build":"rollup -c","minify":"uglifyjs -m -o enhanced-arrays.min.js enhanced-arrays.js","prepare":"npm run build && npm run minify","precommit":"lint-staged"},"_npmUser":{"name":"timbrock","email":"info@datatodisplay.com"},"_npmVersion":"6.4.1","description":"Create immutable array-like-objects with useful methods","directories":{},"lint-staged":{"*.js":"npm run lint --"},"_nodeVersion":"8.16.0","dependencies":{"d3-array":"1.2.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^2.3.0","eslint":"^5.16.0","rollup":"^1.12.3","uglify-js":"^3.5.15","lint-staged":"^8.1.7","rollup-plugin-node-resolve":"^5.0.0","@flourish/eslint-plugin-flourish":"^0.7.2"},"_npmOperationalInternal":{"tmp":"tmp/enhanced-arrays_1.0.0_1565969947203_0.8267007431562643","host":"s3://npm-registry-packages"}},"1.1.0-prerelease.1":{"name":"@flourish/enhanced-arrays","version":"1.1.0-prerelease.1","author":{"name":"Flourish team"},"license":"UNLICENSED","_id":"@flourish/enhanced-arrays@1.1.0-prerelease.1","maintainers":[{"name":"animateddata","email":"hello@animateddata.co.uk"},{"name":"annaps","email":"anna@anna.ps"},{"name":"daanlouter","email":"daan.louter@gmail.com"},{"name":"duncanclark","email":"duncan@kiln.digital"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"keriley","email":"katie@kiln.it"},{"name":"larsvers","email":"lars@datamake.io"},{"name":"mark-kiln","email":"mark@kiln.it"},{"name":"robinhouston","email":"robin@kiln.digital"},{"name":"timbrock","email":"info@datatodisplay.com"}],"dist":{"shasum":"9d76b956addecf618bf932d9c9849169392a3327","tarball":"https://registry.npmjs.org/@flourish/enhanced-arrays/-/enhanced-arrays-1.1.0-prerelease.1.tgz","fileCount":32,"integrity":"sha512-+2SdwDsqsbe470CJEyxs3KbxPNmzuR3TD1iHV5sSUiHcyO79i+UiGD3dhCM0GkDVbrm6J4FZu4ZcuniCilhe9A==","signatures":[{"sig":"MEYCIQCRNGIrTT43Vid9QOac9LCBdBXWyQa6lNM60MBHgg9bdQIhAKytMK7t6yOJhwijBl07BYjzcekaQ6oRFIpcsFOdHDAN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsvdbCRA9TVsSAnZWagAAluYP/0EkBKQnw8NOoKVw7Xrx\nTU5OGq0yZE6f0+Rms92Czz4dZNnhfCqtjcQY8vjhlox275qDKzbR1S8rnGeb\nigmYajjhxrygRlbacjljcHq/xYotNVHQzEBL5+MBz0Yqg0HbwQuTToWhpOuG\nqfANWJSOPlRb+dN94qz9+4xPMGN1TdvQAuq4HgFU7HsUlp6l6mVfG47yuS0X\noZabHb0qU47OoGj5EtETzCwA3XP+I4zpDQWvTJS+xCSrI4pn6GzETIUerRFS\n1YCi2y5mcMD+VXJLJ2AxYCol0APD0jzqlGXGdjXBTZCT2LJqKv8+9A97CDYp\nFDAroPl6UZ6k10Jp7Yjcrd86RDVfoF4wNSUXS+dzUtrezCsekKDt1Y31nANk\n+L8fNA7xpOgnMBTkKLpBVKMnfilxusv5KRKeTu/O3pY5RB5lRyeGNB/UFzt/\ndBz3HGFe2Da9JOzJPLS2O3V6Jd3D+4+2aoVQag1MDEjhqQB0QXbrrTwu3v/O\n1mBRygrUULsS4QXzMFW/kkSCJBcN7dJEOwuJl7udPOGQkgzydZgvDBTQ9j8+\nPN3AZHEKFt+IxB1yXQ9eW552tb8fZQGFL7UlKTaoEH78OJBTfyH5iLBQlGpI\ncGVVgyFMDJThzft/gvFLhX+f69b7To/XmIGKfxvdPs6ZmGivx+uxZV+FJged\ny2XQ\r\n=aVYf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"enhanced-arrays.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"module":"src/index.js","readme":"ERROR: No README data found!","gitHead":"2a2f0eae850553d037d832686ea761527ef301d1","scripts":{"lint":"eslint src","build":"rollup -c","minify":"uglifyjs -m -o enhanced-arrays.min.js enhanced-arrays.js","prepare":"npm run build && npm run minify","precommit":"lint-staged"},"_npmUser":{"name":"timbrock","email":"info@datatodisplay.com"},"_npmVersion":"6.4.1","description":"Create immutable array-like-objects with useful methods","directories":{},"lint-staged":{"*.js":"npm run lint --"},"_nodeVersion":"8.16.0","dependencies":{"d3-array":"1.2.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^2.3.0","eslint":"^5.16.0","rollup":"^1.12.3","uglify-js":"^3.5.15","lint-staged":"^8.1.7","rollup-plugin-node-resolve":"^5.0.0","@flourish/eslint-plugin-flourish":"^0.7.2"},"_npmOperationalInternal":{"tmp":"tmp/enhanced-arrays_1.1.0-prerelease.1_1572009819305_0.7033924973825236","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@flourish/enhanced-arrays","version":"1.1.0","author":{"name":"Flourish team"},"license":"UNLICENSED","_id":"@flourish/enhanced-arrays@1.1.0","maintainers":[{"name":"animateddata","email":"hello@animateddata.co.uk"},{"name":"annaps","email":"anna@anna.ps"},{"name":"daanlouter","email":"daan.louter@gmail.com"},{"name":"duncanclark","email":"duncan@kiln.digital"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"keriley","email":"katie@kiln.it"},{"name":"larsvers","email":"lars@datamake.io"},{"name":"mark-kiln","email":"mark@kiln.it"},{"name":"robinhouston","email":"robin@kiln.digital"},{"name":"timbrock","email":"info@datatodisplay.com"}],"dist":{"shasum":"05860d70f6e99c0a6104347438fbe5eff9c88268","tarball":"https://registry.npmjs.org/@flourish/enhanced-arrays/-/enhanced-arrays-1.1.0.tgz","fileCount":32,"integrity":"sha512-OUOyhgBMht0W629cdnJIifRzGbDnEaX2Id+f9a6s95HVG3aXTuEupAy68gaRkqjJGp4O1awTnFCBEK7VpZCA+Q==","signatures":[{"sig":"MEUCIB0tF9yd02/9N+GTwVRWcy5PjJoyMgGrJocPZ4oSQbBoAiEAyMyFNWGcrDCyTO/JzAXAkdyyebaCBPXpAcm6zFBVf4Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34590,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsyhzCRA9TVsSAnZWagAAhYcP/1RiMbhZlb/3Y8Fi8Ugb\n1AOodtst5w0ki2OCKZ68dCd4aQu5Unw0K390tp/+bA4sUfgFokys0lWLs44D\nGi/WrqOVUse+WUBn0KdysilTzdXcDnBiOM7l3GoaPdBvuNFryZq3VzfIFLPZ\n2IaaCYX/8HivdjFaKIkk/K/JoVLywnDzQo7RjQYh0lQipmetlw4qUtbe9gkg\nObeio6Jm39MNFe5OTT1298gHPWxuGPPrAIOnml1CLP7VUbVYCwZTMPBU+qaD\nEAh40uIrR3C5x9HMBIaPpJCeUlrDK23wBYUy+ahpnJqmDnf0/rOoahlCpFvP\nzT65PxTu0vsy7UzP2W+sLMI8X0WM3jqwakHQCYFHeBsAYdt1mA6lYBddgJ1t\niIbZFrkIezCWVK0EgSw4zq0XwbkmNPKiSligy7JjXcG/lliNTEc8sxCImSDk\nWb7kkqGp9+vOBz0/9KiYo+CPf2NQ/d02ttLTMZMd/SmbFAd0M6X6alMPzR1/\nB9q0/k8f1Q8HSorFAyY7jKPzn15kz+W44T1YX9EYbUUNHh3JXENgg81lluKN\nyiNKyCESK5cSO1cZYOXdtV+JuuFj71LXpB3+RJdjGg2s8sjeJLnZfrngVTT+\nO5/aB8tpvh17pW9Pl3ip2Nh3tn/Z/7z/eSJbU7rUEgRMl64ILKszfH7NFcZA\nfuOF\r\n=dVtp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"enhanced-arrays.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"module":"src/index.js","gitHead":"59f6ae3b0ec41914f0f29474ef53407be47f4efd","scripts":{"lint":"eslint src","build":"rollup -c","minify":"uglifyjs -m -o enhanced-arrays.min.js enhanced-arrays.js","prepare":"npm run build && npm run minify","precommit":"lint-staged"},"_npmUser":{"name":"timbrock","email":"info@datatodisplay.com"},"_npmVersion":"6.4.1","description":"Create immutable array-like-objects with useful methods","directories":{},"lint-staged":{"*.js":"npm run lint --"},"_nodeVersion":"8.16.0","dependencies":{"d3-array":"1.2.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^3.0.9","eslint":"^6.5.1","rollup":"^1.25.2","uglify-js":"^3.6.4","lint-staged":"^9.4.2","rollup-plugin-node-resolve":"^5.2.0","@flourish/eslint-plugin-flourish":"^0.7.2"},"_npmOperationalInternal":{"tmp":"tmp/enhanced-arrays_1.1.0_1572022386699_0.36375429170732043","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@flourish/enhanced-arrays","version":"1.1.1","author":{"name":"Flourish team"},"license":"https://flourish.studio/terms/fcl/","_id":"@flourish/enhanced-arrays@1.1.1","maintainers":[{"name":"simonaats","email":"simona@kiln.digital"},{"name":"connormj","email":"connor@kiln.digital"},{"name":"mafecafe","email":"mariafcallejon@gmail.com"},{"name":"marcfallows","email":"mail@marcfallows.com"},{"name":"mattcarter-canva","email":"matt.c@canva.com"},{"name":"wearymonkey","email":"toby.rahilly@gmail.com"},{"name":"alextreppass","email":"alextreppass@gmail.com"},{"name":"sebr","email":"seb@sebruiz.net"},{"name":"oampo","email":"joe@oampo.co.uk"},{"name":"chrisnewell","email":"chris@kiln.digital"},{"name":"qubyte","email":"mark.s.everitt@gmail.com"},{"name":"eademoon","email":"eade@kiln.it"},{"name":"hrobertson","email":"h.robertson@icloud.com"},{"name":"robinhouston","email":"robin@kiln.digital"},{"name":"duncanclark","email":"duncan@kiln.digital"},{"name":"daanlouter","email":"daan.louter@gmail.com"},{"name":"timbrock","email":"info@datatodisplay.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mark-kiln","email":"mark@kiln.it"},{"name":"animateddata","email":"hello@animateddata.co.uk"},{"name":"larsvers","email":"lars@datamake.io"},{"name":"luptilu","email":"luisabider@hotmail.com"},{"name":"bobbysebolao","email":"bobbysebolao@gmail.com"},{"name":"liakouras","email":"ilias@kiln.it"},{"name":"oliviajanelawlor","email":"oliviajanelawlor@gmail.com"}],"dist":{"shasum":"0008acf14cacc9296cf03d1d8accf55d0cfc829d","tarball":"https://registry.npmjs.org/@flourish/enhanced-arrays/-/enhanced-arrays-1.1.1.tgz","fileCount":36,"integrity":"sha512-/EFasx7Al+EsELiNH5H0lToOUHPYIG0DAOjMBkaDevuLNg5zp+CGeMa+HvJxH6Vw5yyMMt3p2dYx5Vd4LIovNw==","signatures":[{"sig":"MEYCIQDhQtmO9SBSWkQFrR4f/ESjFL0BrOpj4DpSMaKy5TiMkQIhANt2YRQ5J1nmXy0RMcdDIfr5KDkLKBfZpPV9D+Uz6Fm4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47575,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1e3BCRA9TVsSAnZWagAAJ6AP/R108XG7sRtrTn3yJRjv\nRfzMgPMr5kz5+POyfcZNAEqfd9d9xNq4NhmGBrYYiTWQCwaDbMkYhViBbVbs\naFNUE8aE9ybPi6uaEmAIJEwiw0AZFl1SwJPbeB0YRzyRHiM5yGJ+svaAyXcG\n1N4HsFB5/8Cvi0isMd110++PSzJCqwE6hUMmy1ab3BcrLy0rrvFSwLzk/uDt\njSOBOXyQ+z95vv6ccLph9A45S5qxey17fEbRCTDgIrg4K6hixzYTCaMDK2DU\nU1SOS3VfBVy3Tc27CfcDFBSzjCTAZdbQQbvy/zL4ROvEporP1bRNa/J31FG5\ngLEzEUjcyTQYPs6yJICTTk8wnYtK3AKYsnz6cWY8c+++4inZTRd62t+1qlYh\nbFunSb3kOyywptAGpuCHw3ixo7aegKITQNzdaqx5COicLL19fGpefD7mv6C1\nsST2SPLzTQJ6Py3rLLz0gyr2FWNPex+ReBWYwtyS7wm++NQKfN4npj0tho6W\nMbFpectd6CR7u+VyHX2HnbJgtOHZis1662nHWYfIKWagRU+8ccww5NxznM9o\nsgSAXYv7MKBBytXEgHXMCggjPwLs3GD+KPQm2FPYJjpjtAPrlccq/dI/IVsK\n1qgolEC//jiUgu3e3ONEg1C9yiBjXki28TZcwLpzVGcVxmbLXiu+/9i6i8f/\n0ZIJ\r\n=tHE/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"enhanced-arrays.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"module":"src/index.js","gitHead":"de836ea6669b6372180bd96d8b066702de650532","scripts":{"lint":"eslint src","test":"mocha","build":"rollup -c","minify":"uglifyjs -m -o enhanced-arrays.min.js enhanced-arrays.js","prepare":"npm run build && npm run minify","pretest":"npm run build","precommit":"lint-staged"},"_npmUser":{"name":"daanlouter","email":"daan.louter@gmail.com"},"_npmVersion":"6.14.8","description":"Create immutable array-like-objects with useful methods","directories":{},"lint-staged":{"*.js":"npm run lint --"},"_nodeVersion":"12.19.1","dependencies":{"d3-array":"1.2.4"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","husky":"^3.0.9","mocha":"^6.2.2","eslint":"^6.5.1","rollup":"^1.25.2","uglify-js":"^3.6.4","lint-staged":"^9.4.2","rollup-plugin-node-resolve":"^5.2.0","@flourish/eslint-plugin-flourish":"^0.7.2"},"_npmOperationalInternal":{"tmp":"tmp/enhanced-arrays_1.1.1_1624632769057_0.2617448672936462","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@flourish/enhanced-arrays","version":"2.0.0","author":{"name":"Flourish team"},"license":"https://flourish.studio/terms/fcl/","_id":"@flourish/enhanced-arrays@2.0.0","maintainers":[{"name":"caletilford","email":"cale.tilford@gmail.com"},{"name":"axwalker","email":"andrew@kiln.digital"},{"name":"shar.k","email":"thewingthing@gmail.com"},{"name":"flourish-canva","email":"canva-npm@kiln.digital"},{"name":"declanvong","email":"declan@canva.com"},{"name":"pinkopunko","email":"skim@canva.com"},{"name":"vee_canva","email":"vee@canva.com"},{"name":"florin.oprina","email":"florin@kiln.digital"},{"name":"robinhouston","email":"robin@kiln.digital"},{"name":"duncanclark","email":"duncan@kiln.digital"},{"name":"daanlouter","email":"daan.louter@gmail.com"},{"name":"timbrock","email":"info@datatodisplay.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"mark-kiln","email":"mark@kiln.it"},{"name":"animateddata","email":"hello@animateddata.co.uk"},{"name":"larsvers","email":"lars@datamake.io"},{"name":"luptilu","email":"luisabider@hotmail.com"},{"name":"bobbysebolao","email":"bobbysebolao@gmail.com"},{"name":"liakouras","email":"ilias@kiln.it"},{"name":"oliviajanelawlor","email":"oliviajanelawlor@gmail.com"},{"name":"hrobertson","email":"h.robertson@icloud.com"},{"name":"eademoon","email":"eade@kiln.it"},{"name":"qubyte","email":"mark.s.everitt@gmail.com"},{"name":"chrisnewell","email":"chris@kiln.digital"},{"name":"oampo","email":"joe@oampo.co.uk"},{"name":"sebr","email":"seb@sebruiz.net"},{"name":"alextreppass","email":"alextreppass@gmail.com"},{"name":"wearymonkey","email":"toby.rahilly@gmail.com"},{"name":"mattcarter-canva","email":"matt.c@canva.com"},{"name":"marcfallows","email":"mail@marcfallows.com"},{"name":"mafecafe","email":"mariafcallejon@gmail.com"},{"name":"connormj","email":"connor@kiln.digital"},{"name":"simonaats","email":"simona@kiln.digital"}],"dist":{"shasum":"4ace5676555cd62f8f0c73212492783e505649f7","tarball":"https://registry.npmjs.org/@flourish/enhanced-arrays/-/enhanced-arrays-2.0.0.tgz","fileCount":30,"integrity":"sha512-vtDVd2RDh3kExo0rdk72C2w+6hbeCPjyIuBpbcI5UFN5UI2yaM+E5MwqwRF98TR9T1wOeZ57fvDxSu3I8SI5Fg==","signatures":[{"sig":"MEUCIGfq4Hnzhbc0AwLG01it/0B1XsUeX13MtLXxiIrO9rAcAiEAq8oBEqTN1g+kQ69xnNiq6U4TEC3wEeX71ZutrwEM8XQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBVUmCRA9TVsSAnZWagAAFUAQAIPhI4gjy9H4bwU42TAE\nPiTrTIkfMWrDYzKae9Grm3lPqZBb5s075MN9wykoVCEzYRbmTj0fxY/WVzBH\nRu4lqfYh6FF6eWaRgjXTxyi9vcJMisMz+3i6cuuoQcbN9aslBlPh3n2ErWkT\nuiPVd39jkJatMrd3PpObuwBFN6/KeVULI1Wb+00efVa/s7w6jBHf1WXFaP6N\n4UsctLbHRv05GQWHuV8JRVG9MKhCzTOw/BwQr9UnLsJ7iHQBuHT10T3GFNCB\noSWf3CS0UNVaWSnZbNZVyHvFJI62ssL5FHp9QilgtmZ1oUEhhoX24PXuJ/XA\nwKBGty4sQ4EVRWCcMMRtXdeddQkUZ0WzbsmuBtFLL389wZf6Bdg4tGWW25GX\n756n4HpdZhlUvhXJTPCBcNne2T2vTO/QH+Zebqvy1aTjtpN38tOq8xDbq8v0\nJ0cVrW/5DckR1JuS9SAJnPtE564IhGf8CdihM8npy0lZP504dfLVdm9L2deB\ngIVQJXJlfkot9pq+MI+7LOfvpLhn32ZrHiqvfKwT8ZpDU5wrONsm4d8e/uaH\nU4qSrW4lXAdl8mTgdv/Dq/8hh9c7vkr6Xg1ewFySLfrFltoJkPYgu6mgTfOR\n3E8GUouUrWsRZsUQhvIZVtuy9e9ebNHmEBn4/hR9cHUG6KcdfhbACqa1BXuQ\n3gWz\r\n=PcKg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"enhanced-arrays.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"module":"src/index.js","gitHead":"d22c64dbcfb637035488d4532136777c06689822","scripts":{"lint":"eslint src","test":"mocha","build":"rollup -c","minify":"uglifyjs -m -o enhanced-arrays.min.js enhanced-arrays.js","prepare":"npm run build && npm run minify","pretest":"npm run build","precommit":"lint-staged"},"_npmUser":{"name":"timbrock","email":"info@datatodisplay.com"},"_npmVersion":"6.14.8","description":"Create immutable array-like-objects with useful methods","directories":{},"lint-staged":{"*.js":"npm run lint --"},"_nodeVersion":"12.19.1","dependencies":{"d3-array":"1.2.4"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","husky":"^3.0.9","mocha":"^6.2.2","eslint":"^6.5.1","rollup":"^1.25.2","uglify-js":"^3.6.4","lint-staged":"^9.4.2","rollup-plugin-node-resolve":"^5.2.0","@flourish/eslint-plugin-flourish":"^0.7.2"},"_npmOperationalInternal":{"tmp":"tmp/enhanced-arrays_2.0.0_1644516645937_0.41098885114845674","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-06-26T15:24:15.564Z","modified":"2026-08-19T18:13:19.684Z","1.0.0-prerelease.1":"2019-06-26T15:24:15.786Z","1.0.0-prerelease.2":"2019-06-27T14:27:43.003Z","1.0.0":"2019-08-16T15:39:07.299Z","1.1.0-prerelease.1":"2019-10-25T13:23:39.440Z","1.1.0":"2019-10-25T16:53:06.811Z","1.1.1":"2021-06-25T14:52:49.218Z","2.0.0":"2022-02-10T18:10:46.178Z"},"author":{"name":"Flourish team"},"license":"https://flourish.studio/terms/fcl/","description":"Create immutable array-like-objects with useful methods","maintainers":[{"email":"duncan@kiln.digital","name":"duncanclark"},{"email":"daan.louter@gmail.com","name":"daanlouter"},{"email":"hello@animateddata.co.uk","name":"animateddata"},{"email":"lars@datamake.io","name":"larsvers"},{"email":"luisabider@hotmail.com","name":"luptilu"},{"email":"h.robertson@icloud.com","name":"hrobertson"},{"email":"florin@kiln.digital","name":"florin.oprina"},{"email":"ben.lloyd@canva.com","name":"b3n-canva"},{"email":"brunoriddy@canva.com","name":"bruno-riddy"},{"email":"katietanner@canva.com","name":"katietannercanva"},{"email":"josephw@canva.com","name":"jwitcombe"},{"email":"becky.rush14@yahoo.co.uk","name":"rushlet"},{"email":"winna@canva.com","name":"winna_canva"},{"email":"jonty@canva.com","name":"jontyt"},{"email":"scottb@canva.com","name":"scottb-flourish"},{"email":"gwyneth@canva.com","name":"gwyneth.bassett"},{"email":"snavad@canva.com","name":"sega-canva"},{"email":"ci@kiln.it","name":"kiln-ci"},{"email":"niamhb@canva.com","name":"niamhb"},{"email":"guy.n@canva.com","name":"guyneedhamcanva"}],"readme":"# Flourish enhaced arrays\n\nThe purpose of this module is to make working with collections of data of a single type (string, numeric, datetime) simpler. Each \"enhanced array\" is an immutable object which is created with a fixed set of values. The properties and methods on the array object then give the user easy access to properties, subsets and transformations of the data without the need for them to draw in additional libraries.\n\n## How to install\n\n`npm install @flourish/enhanced-arrays`;\n\n## How to create an enhanced array\n\nImport the relevant creater functions from the module...\n\n``` js\nimport {\n\tcreateNumericArray, createDatetimeArray, createStringArray\n} from @flourish/enhanced-arrays;\n```\n\nthen create an enhanced array object by calling them with aregular array of data of the relevant type.\n\n``` js\nconst dates = [new Date(2022-02-02), new Date(2022-02-02), new Date(2023-02-01)];\nconst numbers = createNumericArray([1, 5, 6, 4, 8, 5]);\nconst strings = createStringArray('a', \"boat\", \"21\", \"boat\");\nconst dates = createDatetimeArray(dates);\n```\n\nYou can also call supply an accessor function to extract or transform transform the data from the input area:\n``` js\nconst things = [{x: \"coats\", y: 7}, {x: \"hats\", y: 10}, {x: \"boots\", y: 6} ];\nconst more_numbers = createNumericArray(things, d => d.y);\n```\n\nAny element passed to a creater function that is of the wrong type (after the accessor function is applied, if used) will be rejected. These values will not be used in any calculations and there values will not be stored in the enhanced arrays. However, their indexes from the original input array will still be available through a `dropped_indexes` property that returns a frozen array of these indexes.\n``` js\nconst other_things = [{x: \"cat\", y: 5}, {x: \"dog\", y: 4}, {x: \"mouse\", y: \"two\"} ];\nconst yet_more_numbers = createNumericArray(other_things, d => d.y);\nconsole.log(yet_more_things.dropped_indexes); // [2];\n```\n\n## Properties of enhanced arrays\n\n### `datetime_array`\n\n`true` for datetime arrays. `undefined` for numeric and string arrays.\n\n### `dropped_indexes`\n\nThe indexes of all values from the input array (or the array created after running the accessor function on the input array) that were dropped because they were of the wrong type.\n\n### `enhanced_array`\n\n`true` for all enhanced arrays.\n\n### `length`\n\nThe number of values in the stored array. This is the length of the input array minus the number of values that were rejected for being of the wrong type.\n\n### `max`\n\nThe largest value in a numeric array, the latest timestamp in a datetime array and the last string alphabetically in a string array.\n\n### `mean`\n\nThe ([arithmetic) mean](https://en.wikipedia.org/wiki/Mean#Arithmetic_mean_(AM)) value in a numeric or datetime array. `undefined` for a string array.\n\n### `median`\n\nThe [median](https://en.wikipedia.org/wiki/Median) value in a numeric or datetime array. `undefined` for a string array.\n\n### `min`\n\nThe smallest value in a numeric array, the earliest timestamp in a datetime array and the first string alphabetically in a string array.\n\n### `n_empty`\n\nThe number of empty string (\"\") in a string array. `undefined` for numeric and datetime arrays.\n\n### `numeric_array`\n\n`true` for all numeric arrays. `undefined` for datetime and string arrrays.\n\n### `range`\n\nThe difference between the `max` and in `min` values in a numeric array. `undefined` for datetime and string arrays.\n\n### `sd`\n\nThe [(sample) standard deviation](https://en.wikipedia.org/wiki/Standard_deviation) of the values in a numeric array. `undefined` for datetime and string arrays.\n\n### `sorted_values`\n\nA frozen array of all values stored in the enhanced array, in ascending order. For numeric arrays this means numeric sorting (eg 2 before 10), for string arrays this means alphabetical/lexical sorting (eg \"10\" before \"2\" but after \"1\") and for datetimes that means the earliest date appears first.\n\n### `sum`\n\nThe sum of all entries in a numeric array. `undefined` for datetime and string arrays.\n\n### `string_array`\n\n`true` for all string arrays. `undefined` for all numeric and datetime arrays.\n\n### `values`\n\nA frozen array of all values stored in the enhanced array following the order of the input array.\n\n### `variance`\n\nThe [(sample) variance](https://en.wikipedia.org/wiki/Variance) of the values in a numeric array. `undefined` for datetime and string arrays.\n\n## Methods of enhanced arrays\n\n### `ascending()`\n\nReturns an array of the stored values, sorted in ascending order. The result of calling this method is different from the `sorted_values` property in that the array returned is a not frozen and can be altered.\n\n### `descending()`\n\nReturns an array of the stored values, sorted in descending order.\n\n### `extent()`\n\nReturns a two-element array describing the extent of the data, ie `[min, max]`.\n\n### `rank([lowest_first [, ties_method])`\n\nReturns a map of the stored values to their rank as outlined in the arguments to the funciton call. By default values will be ranked largest to smallest (numeric), last to first (datetime) or latest alphabetically to earliest alphabetically (string). If `lowest_first` is truthy then then this ranking system will be reversed. The `ties_method` determines the rank in the case of ties. Recognised values are \"best\" (default), \"worst\", \"dense\", \"fractional\" and \"ordinal\". In the \"best\" case tied entries will share the lower-numbered rank (representation 1 2 2 4, assuming a tie for 2nd rank). In the \"worst\" case tied entries will share the higher-numbered rank (1 3 3 4). In the \"dense\" case tied entries will share the lower rank with the next highest ranking value taking the rank 1 above that (1 2 2 3). In the \"fractional\" case the possible ranks are averaged (1 2.5 2.5 4). In the \"ordinal\" case the tie values are arbitrairily given different ranks despite the tie (1 2 3 4). See also [this Wikipedia article](https://en.wikipedia.org/wiki/Ranking#Strategies_for_assigning_rankings).\n\n### `unique()`\n\nReturns an array of the stored values with duplicates removed. For datetimes, timestamps are used to determine if two-different entries are duplicates.\n\n### `uniqueAscending()`\n\nReturns an array of the stored values, sorted in ascending order, with duplicates removed. For datetimes, timestamps are used to determine if two-different entries are duplicates.\n\n### `uniqueDescending()`\n\nReturns an array of the stored values, sorted in ascending order, with duplicates removed. For datetimes, timestamps are used to determine if two-different entries are duplicates.\n\n### `unsorted()`\n\nReturns an array of the stored values. The result of calling this method is different from the `values` property in that the array returned is a not frozen and can be altered.\n\n\n","readmeFilename":"README.md"}