{"_id":"2d-array-rotation","_rev":"5-22c76d9454f1c05a56de628cabf5650f","name":"2d-array-rotation","dist-tags":{"latest":"2.1.1"},"versions":{"1.0.0":{"name":"2d-array-rotation","type":"module","version":"1.0.0","description":"Rotates two-dimensional arrays clockwise by 90 degrees, 180 degrees, or 270 degrees","main":"dist/2d-array-rotation.js","module":"2d-array-rotation.js","scripts":{"package":"gulp","pretest":"gulp","test":"mocha --require @babel/register","coverage":"nyc npm run test && nyc report --reporter=text-lcov | coveralls"},"engines":{"node":">=12.4.0"},"keywords":["2d","array","rotate","rotation","transpose","mirror","flip","two-dimensional"],"author":{"name":"Jon Stout","url":"http://www.jonstout.net/"},"license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/tinwatchman/2d-array-rotation.git"},"devDependencies":{"@babel/core":"^7.5.4","@babel/preset-env":"^7.5.4","@babel/register":"^7.4.4","chai":"^4.2.0","coveralls":"^3.0.5","gulp":"^4.0.2","gulp-babel":"^8.0.0-beta.2","gulp-sourcemaps":"^2.6.5","gulp-strip-comments":"^2.5.2","mocha":"^6.1.4","mocha-lcov-reporter":"^1.3.0","nyc":"^14.1.1"},"gitHead":"fbf3258853159024c88c0eb7fcbe029e745628b0","bugs":{"url":"https://github.com/tinwatchman/2d-array-rotation/issues"},"homepage":"https://github.com/tinwatchman/2d-array-rotation#readme","_id":"2d-array-rotation@1.0.0","_nodeVersion":"12.4.0","_npmVersion":"6.10.1","dist":{"integrity":"sha512-F51fmRa5VyKUjtzaiWjlgRAf9cdIBXVQm6dpMpAXrdXjINPD4uYO1wN0ruN413YmG6I1PNw8VtZN6gKgsOQCdA==","shasum":"844ce88c630b775fa92342160f074cef699a653d","tarball":"https://registry.npmjs.org/2d-array-rotation/-/2d-array-rotation-1.0.0.tgz","fileCount":19,"unpackedSize":39908,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdMqMYCRA9TVsSAnZWagAAw94P/je8VntI9QX7hCT+cMX3\nGl1S+v53O4wZJ4s8XN5XIJXRD/do41Rac5NasFz9EO3ektOavU0RTua/5DVA\n1sIvYBunyoaMhC/yzKEVPtMZAu/0HIUxdRRP2Pq6CUFug8r0IOmLCSmoKrkk\n1/eopgHbPUK2+7eHkr+Dy29CG066B8P7oJR9faVGL5KmOCNTWNPCgyFf6u6b\nDAJNd4lJdBho3r6GDN8M7xPD5I90j81H6HPMN4/VQDW7WQEwL7YQgYby77eV\ntqWhpADfHBxvXwFuFDAAvcBnHdIizggFtyWTnKsxZOz6c304qaaX92VyZJG0\ntriVGKjsG77Lk1ZzzCAiUZRjqlel3fbEvVebrOBkhhmtboeCt/BZagwnZTT/\n8k69TIM+7jMH1DU1wvJp+MIsn5GJ2lJwd0IiCeVtOZqFbIlI7RhBnWIiJK88\n3AKwrecVHBeMLagYvPyhDPp+1rfNv70PgUkAnFVl4zmdn1OKNJ9PSbnG8r80\ne4NyKh8ttvFuyWm8alTvBA981BYZOwYgtpOLfAhEpWPR31MVY10ndHL0By4F\n9aq7BQVVutnCp1tZxR17jsDfvJH5zCO0KYbBn0Z2QOGw/+TSMfxvJSd82wOO\nglGZtmlrYtRTr1HVCOJxgw61OuNnlCc+sL/c9Q/UbsTXxUpuvGxnIEyTMFrn\nj/nn\r\n=1zux\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3PpCRoK/2O1WFUtrRA78iSvII6qWAvX7+0aIq3LrKywIhAIQvO+1UiLYmWnUCP5rifHzxj0/GOWpf7OeUsNRt3m4X"}]},"maintainers":[{"name":"tinwatchman","email":"npm@jonstout.net"}],"_npmUser":{"name":"tinwatchman","email":"npm@jonstout.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2d-array-rotation_1.0.0_1563599640270_0.9733648370408621"},"_hasShrinkwrap":false},"1.0.1":{"name":"2d-array-rotation","type":"module","version":"1.0.1","description":"Rotates two-dimensional arrays clockwise by 90 degrees, 180 degrees, or 270 degrees","author":{"name":"Jon Stout","url":"http://www.jonstout.net/"},"license":"MIT","main":"dist/2d-array-rotation.js","module":"2d-array-rotation.js","browser":"dist/2d-array-rotation.min.js","repository":{"type":"git","url":"git+ssh://git@github.com/tinwatchman/2d-array-rotation.git"},"bugs":{"url":"https://github.com/tinwatchman/2d-array-rotation/issues"},"scripts":{"package":"gulp","pretest":"gulp","test":"mocha --require @babel/register","coverage":"nyc npm run test && nyc report --reporter=text-lcov | coveralls"},"engines":{"node":">=12.4.0"},"keywords":["2d","array","rotate","rotation","transpose","mirror","flip","two-dimensional","transform"],"devDependencies":{"@babel/core":"^7.5.4","@babel/preset-env":"^7.5.4","@babel/register":"^7.4.4","babel-preset-minify":"^0.5.0","chai":"^4.2.0","coveralls":"^3.0.5","gulp":"^4.0.2","gulp-babel":"^8.0.0-beta.2","gulp-rename":"^1.4.0","gulp-sourcemaps":"^2.6.5","gulp-strip-comments":"^2.5.2","mocha":"^6.1.4","mocha-lcov-reporter":"^1.3.0","nyc":"^14.1.1"},"gitHead":"8e2a51adbbd7d11f1f6f8e74f203fea75d906b6d","homepage":"https://github.com/tinwatchman/2d-array-rotation#readme","_id":"2d-array-rotation@1.0.1","_nodeVersion":"12.4.0","_npmVersion":"6.10.1","dist":{"integrity":"sha512-bCwN/eobCO4R1+Mqbgksh1nDtZ27FpWAUUHukxunVs+vdgIPfb6tGKhOORM1pGjXy4WZ5HzSnLWvgtzvjhakug==","shasum":"d01e1cc07e65ed65765c14f6191bb685a0dde131","tarball":"https://registry.npmjs.org/2d-array-rotation/-/2d-array-rotation-1.0.1.tgz","fileCount":22,"unpackedSize":49724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdN3/cCRA9TVsSAnZWagAA4IYP/3+2qbBW3Vg8NnH+bm41\neZzmirn18o+eV0Zg0PUmKCKtjwE0qfdQW5nbuIc+wNthZYLPI/JwJJjGyivu\n7qqyp1ScliCkP2JBoB+UFrWBQSNolq/Ye5YaNkfYSz2nfjyB6LUPS2MRmLCj\n9yiV3Z4nY/WaNPcrJRay1hNEHTnsLOnEwrA+OkzFaBj4QLytghgfOE7saeaJ\n32r06trHeGhwPcYQ9rxb4sE53MhqvEImlG9b2AAhGK38vmh2dr2BTvgoTzTf\nXe29Yr+X/1daierKFB1eAQetK79EZQDISmbGXgYelt/R77dK6uHhKjYohXkG\n4jLZD9eyvz/9inkISvH3SiMmHcAJaAcpWvjMQ+Aiu0w/Khzg2swZfCIGkvGV\n0jd0sNfZjZuBu8r0rLYrmhmQJ/PRJX48VX5XLrp2RyDm+oxVk7BQBVtdzUX7\n/uyyY754yXyBKFSui8izj0hg744jJ49NPYlJcrAU1gWMpcG9tpw14vccSxEL\n+DDCfAAVuIf9wg2L7phnE3pMs5hC/nKJF1h4AXI/9EblBsvROOEeDfHuUnFP\n26WWZAmJCYsGZywwvpdKrIl57fseb/i2FNq5g9v3ruMARdA/Srpnpmo2sjqa\np6xL9cWmLsYKtp+rqunLqZbrPwslq+4zMMPGVE8cox9XeN2Z9sJIgwLrLOr/\n1Src\r\n=Bin3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGOlZvbXB+HgV+BkHLwf063CcYWU1PpplwmLbf72pVVAIgRqtr+EFydHuGOVlwPByWWd7FET4A9NoNAvNbSGcvN34="}]},"maintainers":[{"name":"tinwatchman","email":"npm@jonstout.net"}],"_npmUser":{"name":"tinwatchman","email":"npm@jonstout.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2d-array-rotation_1.0.1_1563918299944_0.8420583154474606"},"_hasShrinkwrap":false},"2.0.0":{"name":"2d-array-rotation","type":"module","version":"2.0.0","description":"Rotates two-dimensional arrays clockwise by 90 degrees, 180 degrees, or 270 degrees","author":{"name":"Jon Stout","url":"http://www.jonstout.net/"},"license":"MIT","main":"dist/2d-array-rotation.js","module":"2d-array-rotation.js","browser":"dist/2d-array-rotation.min.js","engines":{"node":">=10.16.1"},"repository":{"type":"git","url":"git+ssh://git@github.com/tinwatchman/2d-array-rotation.git"},"bugs":{"url":"https://github.com/tinwatchman/2d-array-rotation/issues"},"scripts":{"package":"gulp","pretest":"gulp","test":"mocha --require @babel/register","coverage":"nyc npm run test && nyc report --reporter=text-lcov | coveralls"},"keywords":["2d","array","rotate","rotation","transpose","mirror","flip","two-dimensional","transform","vertical","horizontal","reindex","turn","spin","swivel","revolve"],"devDependencies":{"@babel/core":"^7.5.4","@babel/preset-env":"^7.5.4","@babel/register":"^7.4.4","babel-preset-minify":"^0.5.0","chai":"^4.2.0","coveralls":"^3.0.5","gulp":"^4.0.2","gulp-babel":"^8.0.0-beta.2","gulp-rename":"^1.4.0","gulp-sourcemaps":"^2.6.5","gulp-strip-comments":"^2.5.2","mocha":"^6.1.4","mocha-lcov-reporter":"^1.3.0","nyc":"^14.1.1"},"gitHead":"93d8d5dd6e174e286555456f11579ff250404efe","homepage":"https://github.com/tinwatchman/2d-array-rotation#readme","_id":"2d-array-rotation@2.0.0","_nodeVersion":"12.4.0","_npmVersion":"6.10.1","dist":{"integrity":"sha512-qLwQJF4Mmqo+bA/eowyuWSpoaJtIlOa1u5SH1yGDRdioy29DSCH4qAuAUlXjXo7mSMn4ZtSTXXCnsob/IYsT8g==","shasum":"32d76e6614642d58ab90854f706ab511cfc8328f","tarball":"https://registry.npmjs.org/2d-array-rotation/-/2d-array-rotation-2.0.0.tgz","fileCount":21,"unpackedSize":45315,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdSgC4CRA9TVsSAnZWagAADVsQAJb7pcM4KbqHOBCaQNBU\nVGhJtyDn8NIe2Wesvh9CC/5Izk6PpbROchuBJjkRiGo+QLJzY3WhFZIl/osQ\nD/YeBPawNgC6lprSAcVPgTbIdRJ8Cvs4YitutBIu++4erP9iBt5o2GWt7p1H\nkCc8I24GEOWLSwFpKbBFKqSblYED8RNscX84TqjQigzUSoLE/6yD6E7OKnaZ\nTPHoKZiKZQaG3a8PxZswNoxZ5sESCM68/GmWVoE66OxdFa/kcTC7e05Z41Yv\neDAYwjYM4azGvgc6fQx8i7Z2eR1NmnKiM4bxyRtInkI2n6BWnVpAU2X2tglK\nozpChul+j2EM/mObHKBFDrGacsRKZX1V0mk7CieXbF+LGkymWz+Te6x9D7Ao\nQ65fi5/OZF7VwKg41ZbcG4kuU01o2LTVXFpMGb4HsoTI+ZKXVq+vwoP1oQwl\ndlubbIQt+V5VpZJo+8jdbH6wKDoW0Y/rWUNYS7DVSCKpDvD+cFqG0F1Q4Pir\nldiQjN55OHPWmbQ4n+wm1K3EPa/BpeHic5KZMjkTp2n8iHwdk/xuAxmWDoH4\n+mqkUROUpWsniHjyaJbLKomxn5xxviB1W4vudGnWyOMi2g3U9ERWr3eJflIx\n67aXBZ8PZTkThcYedVUQhp1YZKZgsaS3aikxubKkKN2W+5RIyOWKe/G6MyM9\nzM1q\r\n=yn+W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFEP/zAFKzztVp1M/aUz7DP9JTokyfah0mOPihY+Gs2DAiEA48UB7bzkOS3fFE9mgviMEOP0TaNhNOaoRtziyvrRz1E="}]},"maintainers":[{"name":"tinwatchman","email":"npm@jonstout.net"}],"_npmUser":{"name":"tinwatchman","email":"npm@jonstout.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2d-array-rotation_2.0.0_1565130936178_0.6500112110334781"},"_hasShrinkwrap":false},"2.1.0":{"name":"2d-array-rotation","version":"2.1.0","description":"Rotates two-dimensional arrays clockwise by 90 degrees, 180 degrees, or 270 degrees","author":{"name":"Jon Stout","url":"http://www.jonstout.net/"},"license":"MIT","main":"dist/2d-array-rotation.js","module":"2d-array-rotation.js","browser":"dist/2d-array-rotation.min.js","engines":{"node":">=10.16.1"},"repository":{"type":"git","url":"git+ssh://git@github.com/tinwatchman/2d-array-rotation.git"},"bugs":{"url":"https://github.com/tinwatchman/2d-array-rotation/issues"},"scripts":{"package":"gulp","pretest":"gulp","test":"mocha --require @babel/register","coverage":"nyc npm run test && nyc report --reporter=text-lcov | coveralls"},"keywords":["2d","array","rotate","rotation","transpose","mirror","flip","two-dimensional","transform","vertical","horizontal","reindex","turn","spin","swivel","revolve"],"devDependencies":{"@babel/core":"^7.8.3","@babel/preset-env":"^7.8.3","@babel/register":"^7.8.3","babel-preset-minify":"^0.5.1","chai":"^4.2.0","coveralls":"^3.0.9","gulp":"^4.0.2","gulp-babel":"^8.0.0","gulp-rename":"^1.4.0","gulp-sourcemaps":"^2.6.5","gulp-strip-comments":"^2.5.2","mocha":"^6.2.2","mocha-lcov-reporter":"^1.3.0","nyc":"^14.1.1"},"gitHead":"b16eb3a8cd93fd0016139c4f4794a3d84f3d0491","homepage":"https://github.com/tinwatchman/2d-array-rotation#readme","_id":"2d-array-rotation@2.1.0","_nodeVersion":"12.4.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-hL9HI/a2YrJ0AnkiO5uYooVRyIo2d0B/FT3xOus0NZezYraJjIWEjO+yLcBIu7I3ZdPQxcxYLcmHSsmTpqFLNg==","shasum":"d21d6c1e60848d38ec79b049358950bf7a61f6cd","tarball":"https://registry.npmjs.org/2d-array-rotation/-/2d-array-rotation-2.1.0.tgz","fileCount":21,"unpackedSize":45346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeL+LRCRA9TVsSAnZWagAA+L0P/RstxR7PJ2UiWu3DfDEg\n7Yn4e2QuOVJM1p95d/QxYtL+iE22Tvc/wgEXH98slviZyJ2tCDJu8mOgPURS\nGFAj5je1rOcKwwMZjhqxSpAxW3XyZ8zt7+bsFxEl4jEVmZjcSzFWwxwDUz4P\nfd2hmOp4I0qGvVgWxIi5awFR7eYVRkpIC6nvhA7VTDX+0f7teZXs5V1hBoTs\nEeGihaQJvqVVScqAYsUrMC9Yi8tD/7hPO/tfoS1AptgH+vC6RWzJFoYBwHwS\nAqEuPREGcwsTOrNr2rGztlvlO3PHR8OJg7W+Kk++QSwShDj3sBeQrjsSKCpH\n+OVlEm6ZkQBQ+Vn51spcRhdR2P+pxiPeQMrR5F1peWWea618yl5F9O7T2SWW\nD7H4nV4AphO+ekb5BeQAG7VeOy/fz0dxMdc9AAdMUb1uwYB8m+9hrvaB0USo\nyAspYo+O620Wur1Q4/4X2naSv+/3cLgJZy8607l9UMiModiJgRGXf/bgGAhK\n0bEt2qZclRFGS0K1EC6a4buJY0GuEfIrU78PdqkRvaFEl7XSWvLwwVulgqgK\nowCe8Gg2EZ9ezBAG0y0BW2YW+2Olm7AXSxdyecjYuCpCWf/f2+Nwoc+lft/p\nImzXQD7/zNFBRLubSIehNnDKuRhe2MC2FBlWefwEqmMclRtEQQK1OmfH/gm3\nT+hd\r\n=9pK2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBy2w4czVVQIuq91oM6HZ2j3PwxsrMNOuLMMJs96P4DVAiEAtTCk/ofqs+HQBpMj6y+WbbRCD2qqbvugca4fxxrpSsw="}]},"maintainers":[{"name":"tinwatchman","email":"npm@jonstout.net"}],"_npmUser":{"name":"tinwatchman","email":"npm@jonstout.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2d-array-rotation_2.1.0_1580196561511_0.37177827022985643"},"_hasShrinkwrap":false},"2.1.1":{"name":"2d-array-rotation","version":"2.1.1","description":"Rotates two-dimensional arrays clockwise by 90 degrees, 180 degrees, or 270 degrees","author":{"name":"Jon Stout","url":"http://www.jonstout.net/"},"license":"MIT","main":"dist/2d-array-rotation.js","module":"2d-array-rotation.js","browser":"dist/2d-array-rotation.min.js","engines":{"node":">=10.16.1"},"repository":{"type":"git","url":"git+ssh://git@github.com/tinwatchman/2d-array-rotation.git"},"bugs":{"url":"https://github.com/tinwatchman/2d-array-rotation/issues"},"scripts":{"package":"gulp","pretest":"gulp","test":"mocha --require @babel/register","coverage":"nyc npm run test && nyc report --reporter=text-lcov | coveralls"},"keywords":["2d","array","rotate","rotation","transpose","mirror","flip","two-dimensional","transform","vertical","horizontal","reindex","turn","spin","swivel","revolve"],"devDependencies":{"@babel/core":"^7.9.0","@babel/preset-env":"^7.9.0","@babel/register":"^7.9.0","babel-preset-minify":"^0.5.1","chai":"^4.2.0","coveralls":"^3.0.11","gulp":"^4.0.2","gulp-babel":"^8.0.0","gulp-rename":"^2.0.0","gulp-sourcemaps":"^2.6.5","gulp-strip-comments":"^2.5.2","mocha":"^7.1.1","mocha-lcov-reporter":"^1.3.0","nyc":"^15.0.0"},"gitHead":"ebf604353a8a0a65c8137844627004a303a436ff","homepage":"https://github.com/tinwatchman/2d-array-rotation#readme","_id":"2d-array-rotation@2.1.1","_nodeVersion":"12.4.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-rJ8rp+8uzHzkbHwV1mgMxdZCGwtg91+QL77gD6PZUr2YXO2VbVcsd2zxxeAsC4Bvv9I0A4OrUOwgj89iSN0RHQ==","shasum":"6d40cba6ffc6a8a497c4997c4f3ba85070c8b234","tarball":"https://registry.npmjs.org/2d-array-rotation/-/2d-array-rotation-2.1.1.tgz","fileCount":21,"unpackedSize":45382,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeubPCRA9TVsSAnZWagAA9twQAIC51Wv5mZyxZNL6a+cw\n+ySTjOB7YAXIRgwf4qfztK3A3FjDnp13PznT9dznYvGeK3yuPZ6qR4gJH0HB\nNcGVQ6HIrXAgj/p0Yk54qKMWVAu8arF4ql3vaKRAXMHcJvAIWWzbw3NM4iMP\nauK7S/lolDuwZNxhO4tUPh05uWBUIKOAKFo2opdwjvBB368vrkDoJNp65mpo\nGlZaGSaJBUem0vznC5NdIvWnsureS0v2SnsvVpryepknfxITWgpw/rAfNulH\nbE8AhT6xfnbIVTLUqXDgl9SeRd36DrPKrORmDvRPT1NNqbszDzPPJymSbSex\nwdC2lDtcya0u9E6s9Zy4soEmh0e8BZZDTozhP6aZvbPalFmlb/5v9wkMeqaR\nmJPdb6a8h9JMPMN47DtLg8QL+VhnLXaj88XcIpDnrZ/3oqh42cRJdoapUeND\nGTX6jPeQzhV/I04NYOdNIAZnPyWQ2ODLrcPa+I9rQjHSE4bb8o8ATMj2qmdv\nuFDtp/OFd1B8tl/SN2ATq8fBUXd3+YbsjvW/ONt1/zbxzV4tFDlNk1dJa3F7\nWj2FlU9GL7U06D2qgl7DCaXr6ujk5b7jVXMXW4lX2h0DIF4QU+7Jr5aX61Jk\nwT2IpNJXmISTvo7OWZGrcywM0LCtw8vsgDzG0f/QmPuL269zahlbkozjL7GY\nqh5u\r\n=8KD7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD39LhaY/RPTRhUMw1YGDPo+avtWaiMwtBw+yAuo4qPZgIgctZF/ok3+Q3es7+5xiEnKo06c7CchuKGtr5pkz1SrZM="}]},"maintainers":[{"name":"tinwatchman","email":"npm@jonstout.net"}],"_npmUser":{"name":"tinwatchman","email":"npm@jonstout.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/2d-array-rotation_2.1.1_1585112782619_0.6660119077419147"},"_hasShrinkwrap":false}},"time":{"created":"2019-07-20T05:14:00.270Z","1.0.0":"2019-07-20T05:14:00.447Z","modified":"2022-04-04T10:18:51.919Z","1.0.1":"2019-07-23T21:45:00.114Z","2.0.0":"2019-08-06T22:35:36.316Z","2.1.0":"2020-01-28T07:29:21.622Z","2.1.1":"2020-03-25T05:06:22.776Z"},"maintainers":[{"name":"tinwatchman","email":"npm@jonstout.net"}],"description":"Rotates two-dimensional arrays clockwise by 90 degrees, 180 degrees, or 270 degrees","homepage":"https://github.com/tinwatchman/2d-array-rotation#readme","keywords":["2d","array","rotate","rotation","transpose","mirror","flip","two-dimensional","transform","vertical","horizontal","reindex","turn","spin","swivel","revolve"],"repository":{"type":"git","url":"git+ssh://git@github.com/tinwatchman/2d-array-rotation.git"},"author":{"name":"Jon Stout","url":"http://www.jonstout.net/"},"bugs":{"url":"https://github.com/tinwatchman/2d-array-rotation/issues"},"license":"MIT","readme":"2d-array-rotation\n=================\n[![Build Status](https://travis-ci.org/tinwatchman/2d-array-rotation.svg?branch=master)](https://travis-ci.org/tinwatchman/2d-array-rotation)\n[![Coverage Status](https://coveralls.io/repos/github/tinwatchman/2d-array-rotation/badge.svg?branch=master)](https://coveralls.io/github/tinwatchman/2d-array-rotation?branch=master)\n\nA collection of functions to rotate the values within a given two-dimensional array (i.e. an `Array` of `Array`s) clockwise by 90, 180 or 270 degrees. Potentially useful for -- say -- manipulating game pieces or sprites, among other possible applications. Provided as an ES6-compatible module.\n\n__Functions__\n- [rotate90](#rotate90arr)\n- [rotate180](#rotate180arr)\n- [rotate270](#rotate270arr)\n- [rotate](#rotatearr-deg)\n- [hflip](#hfliparr)\n- [vflip](#vfliparr)\n\n__Additional Notes__\n- Can handle both square (e.g. 3x3) and rectangular (e.g. 3x5, 4x8) two-dimensional arrays. Just make sure that the rows are all the same length; results may be inconsistent otherwise.\n- Source arrays are not directly modified.\n- Values within rows are re-indexed directly from the source array, not copied or cloned. Object types and references will remain consistent.\n\n## Installation\n\n```sh\nnpm install 2d-array-rotation\n```\n\n## Usage\n\n### Importing\n\n#### Via ES6-style imports\n\n```javascript\nimport {rotate, rotate90} from \"2d-array-rotation\";\n```\n\n#### Via standard node.js requires\n\n```javascript\nconst rotate = require('2d-array-rotation').rotate;\nconst rotate90 = require('2d-array-rotation').rotate90;\n// and so on\n```\n\n### Functions\n\n#### rotate90(arr)\n\nRotates the given two-dimensional array 90 degrees clockwise.\n\n```javascript\nlet i = [\n    [ 1, 2, 3 ],\n    [ 4, 5, 6 ],\n    [ 7, 8, 9 ]\n];\nlet o = rotate90(i);\n/**\n * Result: [\n * [ 7, 4, 1 ],\n * [ 8, 5, 2 ],\n * [ 9, 6, 3 ]\n * ]\n */\n```\n\n##### Parameters\n+ `arr` (`Array`): a two-dimensional array\n\n##### Returns\nA new two-dimensional `Array` that represents the rotated form of the input.\n\n#### rotate180(arr)\n\nRotates the given two-dimensional array 180 degrees clockwise.\n\n```javascript\nlet i = [\n    [1, 2, 3],\n    [4, 5, 6],\n    [7, 8, 9],\n    [10, 11, 12]\n];\nlet o = rotate180(i);\n/**\n * Result: [\n * [12, 11, 10],\n * [ 9,  8,  7],\n * [ 6,  5,  4],\n * [ 3,  2,  1]\n * ]\n */\n```\n\n##### Parameters\n+ `arr` (`Array`): a two-dimensional array\n\n##### Returns\nA new two-dimensional `Array` that represents the rotated form of the input.\n\n#### rotate270(arr)\n\nRotates the given two-dimensional array 270 degrees clockwise.\n\n```javascript\nlet i = [\n    [ 1, 2, 3 ],\n    [ 4, 5, 6 ],\n    [ 7, 8, 9 ]\n];\nlet o = rotate270(i);\n/**\n * Result: [\n * [ 3, 6, 9 ],\n * [ 2, 5, 8 ],\n * [ 1, 4, 7 ]\n * ]\n */\n```\n\n##### Parameters\n+ `arr` (`Array`): a two-dimensional array\n\n##### Returns\nA new two-dimensional `Array` that represents the rotated form of the input.\n\n#### rotate(arr, deg)\n\nRotates the given two-dimensional array by the given number of degrees clockwise. Calls `rotate90`, `rotate180`, or `rotate270`, depending on the input. \n\n```javascript\nlet i = [\n    [1, 2, 3],\n    [4, 5, 6],\n    [7, 8, 9],\n    [10, 11, 12],\n    [13, 14, 15]\n];\nlet o = rotate(i, 90);\n/**\n * Result: [\n * [13, 10, 7, 4, 1],\n * [14, 11, 8, 5, 2],\n * [15, 12, 9, 6, 3]\n * ]\n */\n// note that this function can also handle negative degree values...\nlet o2 = rotate(i, -270); // returns same as above\n// ... and degree values higher than 360\nlet o3 = rotate(i, 450); // returns same as above\n```\n\n##### Parameters\n+ `arr` (`Array`): A two-dimensional array.\n+ `deg` (`Number`): Number of degrees to rotate. Must be a multiple of 90, or an error will be thrown.\n\n##### Returns\nA new two-dimensional `Array` that represents the rotated form of the input; or, if told to rotate by 0 or 360 degrees, the original `arr` itself without any modifications.\n\n#### hflip(arr)\n\nBonus function -- flips the array horizontally.\n\n```javascript\nlet input = [\n    [1, 2, 3],\n    [4, 5, 6],\n    [7, 8, 9],\n    [10, 11, 12]\n];\nlet o = hflip(input);\n/**\n * Result: [\n * [3, 2, 1],\n * [6, 5, 4],\n * [9, 8, 7],\n * [12, 11, 10],\n * ]\n */\n```\n\n#### vflip(arr)\n\nBonus function -- flips the array vertically.\n\n```javascript\nlet input = [\n    [ 1, 2, 3 ],\n    [ 4, 5, 6 ],\n    [ 7, 8, 9 ]\n];\nlet o = vflip(input);\n/**\n * Result: [\n * [ 7, 8, 9 ],\n * [ 4, 5, 6 ],\n * [ 1, 2, 3 ]\n * ]\n */\n```\n\n## Testing\n\n```sh\nnpm test\n```\n\n## Release History\n\n* 2.1.0\n    - updated dependencies\n* 2.1.1\n    - updated dependencies\n\n## Credits and Licensing\n\nCreated by [Jon Stout](http://www.jonstout.net). Licensed under [the MIT license](http://opensource.org/licenses/MIT).\n\n## Special Thanks To\n\nu/Epyo on Reddit.","readmeFilename":"README.md"}