{"_id":"ted-crushinator-helpers","_rev":"43-ab8324a2f79722047b465fe15733eeb2","name":"ted-crushinator-helpers","description":"JS methods to produce crushinator'd image URLs.","dist-tags":{"latest":"2.8.1"},"versions":{"2.0.0":{"name":"ted-crushinator-helpers","version":"2.0.0","description":"JS methods to produce crushinator'd image URLs.","license":"MIT","main":"lib/crushinator.js","repository":{"type":"git","url":"git+ssh://git@github.com/tedconf/js-crushinator-helpers.git"},"scripts":{"build":"babel -d lib/ src/","lint":"jshint . && jscs .","pretest":"npm run lint","test":"mocha --compilers js:babel-register"},"dependencies":{},"devDependencies":{"babel-cli":"^6.5.1","babel-plugin-transform-es2015-modules-umd":"^6.5.0","babel-register":"^6.5.2","jscs":"^2.10.1","jshint":"^2.9.1","mocha":"^2.4.5"},"gitHead":"f2b05c418ee828a428c5a6a1b3edd059e8d00d8a","bugs":{"url":"https://github.com/tedconf/js-crushinator-helpers/issues"},"homepage":"https://github.com/tedconf/js-crushinator-helpers#readme","_id":"ted-crushinator-helpers@2.0.0","_shasum":"b0db3da12e3436c7545fa1ac0cda8725004ef16f","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.1","_npmUser":{"name":"redopop","email":"joe@redopop.com"},"dist":{"shasum":"b0db3da12e3436c7545fa1ac0cda8725004ef16f","tarball":"https://registry.npmjs.org/ted-crushinator-helpers/-/ted-crushinator-helpers-2.0.0.tgz","integrity":"sha512-kld7kO3MoRGDyoqP8DECcbhymEEIwi4jzfJXhgti4pF7ZKwlDWUClfmGA9CIIUXCiJzmvkMAPWC1ERk6tcGfFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICKaAStLN7auYLPHwr2kBTsTjOYeiTCkNZYOSCHQ+NhpAiBvsOhSJcSG/8e7N5eNyWdQyAivSIs5UqaKs+Zw3RbmFg=="}]},"maintainers":[{"name":"redopop","email":"joe@redopop.com"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/ted-crushinator-helpers-2.0.0.tgz_1455744098641_0.9861629540100694"},"directories":{}},"2.0.1":{"name":"ted-crushinator-helpers","version":"2.0.1","description":"JS methods to produce crushinator'd image URLs.","license":"MIT","main":"lib/crushinator.js","repository":{"type":"git","url":"git+ssh://git@github.com/tedconf/js-crushinator-helpers.git"},"scripts":{"build":"babel -d lib/ src/","lint":"jshint . && jscs .","pretest":"npm run lint","test":"mocha --compilers js:babel-register"},"dependencies":{},"devDependencies":{"babel-cli":"^6.5.1","babel-plugin-transform-es2015-modules-umd":"^6.5.0","babel-preset-es2015":"^6.5.0","babel-register":"^6.5.2","jscs":"^2.10.1","jshint":"^2.9.1","mocha":"^2.4.5"},"gitHead":"cb355a04e9bc1ab4c2dd20ba69b384489e0660f1","bugs":{"url":"https://github.com/tedconf/js-crushinator-helpers/issues"},"homepage":"https://github.com/tedconf/js-crushinator-helpers#readme","_id":"ted-crushinator-helpers@2.0.1","_shasum":"f680d607232bf586bd59be468d2529e13003bcd3","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.1","_npmUser":{"name":"redopop","email":"joe@redopop.com"},"dist":{"shasum":"f680d607232bf586bd59be468d2529e13003bcd3","tarball":"https://registry.npmjs.org/ted-crushinator-helpers/-/ted-crushinator-helpers-2.0.1.tgz","integrity":"sha512-LlETgz13+iqHej8C8TQ8mJLm1krTKkRfNP7bhDhLD9jtAH4g4lejLux5bD2LlVUW8EUFFGBWKJ4o7xzWqLTtbw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCk+uGjFmns6p5QaZ3L5U9JLopSCYauc6QealCAobTh5gIhAPEePetLjRqJMlR3JMBVO824ZSUttnN5ADeomgJd8qcF"}]},"maintainers":[{"name":"redopop","email":"joe@redopop.com"}],"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/ted-crushinator-helpers-2.0.1.tgz_1455749070880_0.9195298729464412"},"directories":{}},"2.1.0":{"name":"ted-crushinator-helpers","version":"2.1.0","description":"JS methods to produce crushinator'd image URLs.","license":"MIT","main":"dist/crushinator.js","repository":{"type":"git","url":"git+ssh://git@github.com/tedconf/js-crushinator-helpers.git"},"scripts":{"build":"rollup -c","lint":"jshint . && jscs .","pretest":"npm run lint","test":"mocha"},"dependencies":{},"devDependencies":{"babel-preset-es2015":"^6.5.0","babel-preset-es2015-rollup":"^1.1.1","babel-register":"^6.5.2","jscs":"^2.10.1","jshint":"^2.9.1","mocha":"^2.4.5","rollup":"^0.25.4","rollup-plugin-babel":"^2.4.0"},"gitHead":"03b3c084ad81395a0cbe422303025f7de45ce019","bugs":{"url":"https://github.com/tedconf/js-crushinator-helpers/issues"},"homepage":"https://github.com/tedconf/js-crushinator-helpers#readme","_id":"ted-crushinator-helpers@2.1.0","_shasum":"d2ea10141cf69a91796c3c448e4ec775e406f77b","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"redopop","email":"joe@redopop.com"},"dist":{"shasum":"d2ea10141cf69a91796c3c448e4ec775e406f77b","tarball":"https://registry.npmjs.org/ted-crushinator-helpers/-/ted-crushinator-helpers-2.1.0.tgz","integrity":"sha512-6T4WRqSdKNJhmCTkpWH3CCKkVztBrIse/BR6qg1Zl2yHfSeE4HVO5St6h4AqXiTSLiArwiV0Cx3DwO/zirYg3w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF8dFIKi/HsZji8jrzsBmplQmJovYjjwPPME6o1JgaHZAiAJTlZdx9QZr6Gfb9Hyup1wlcn3TwymDuR5ugR1tq8tpg=="}]},"maintainers":[{"name":"redopop","email":"joe@redopop.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ted-crushinator-helpers-2.1.0.tgz_1456862542407_0.06131123402155936"},"directories":{}},"2.2.0":{"name":"ted-crushinator-helpers","version":"2.2.0","description":"JS methods to produce crushinator'd image URLs.","license":"MIT","main":"dist/crushinator.umd.min.js","repository":{"type":"git","url":"git+ssh://git@github.com/tedconf/js-crushinator-helpers.git"},"scripts":{"build":"node build","lint":"jshint . && jscs .","pretest":"npm run lint","test":"mocha"},"dependencies":{},"devDependencies":{"babel-preset-es2015":"^6.5.0","babel-preset-es2015-rollup":"^1.1.1","babel-register":"^6.5.2","jscs":"^2.10.1","jshint":"^2.9.1","mocha":"^2.4.5","rollup":"^0.25.4","rollup-plugin-babel":"^2.4.0","rollup-plugin-uglify":"^0.2.0","sinon":"^1.17.3"},"gitHead":"fe0660659f8f668af77499f0a83561b3ee7b2309","bugs":{"url":"https://github.com/tedconf/js-crushinator-helpers/issues"},"homepage":"https://github.com/tedconf/js-crushinator-helpers#readme","_id":"ted-crushinator-helpers@2.2.0","_shasum":"d01e31f6eb1331f8389ee43b1a3439fae8bf66ea","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.1","_npmUser":{"name":"redopop","email":"joe@redopop.com"},"dist":{"shasum":"d01e31f6eb1331f8389ee43b1a3439fae8bf66ea","tarball":"https://registry.npmjs.org/ted-crushinator-helpers/-/ted-crushinator-helpers-2.2.0.tgz","integrity":"sha512-NQaxuD/DZpV1ZzMivCz9Jio+UBFuFJjv4TJAd8GFQGLMx28VKQiniubXBZX0VH3nQVvky8jWBI0RZlZzvXEeiw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFkwB+oPJVzovkg2o9Xrc8Kxk4EQg34TdoSrLpUIFJwuAiEAkhElyfry21Hto8WlNYAn+kHTrCuCuEZeZFa4p2FmQdo="}]},"maintainers":[{"name":"redopop","email":"joe@redopop.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/ted-crushinator-helpers-2.2.0.tgz_1461877729785_0.9867092666681856"},"directories":{}},"2.3.0":{"name":"ted-crushinator-helpers","version":"2.3.0","description":"JS methods to produce crushinator'd image URLs.","license":"MIT","main":"dist/crushinator.umd.min.js","repository":{"type":"git","url":"git+ssh://git@github.com/tedconf/js-crushinator-helpers.git"},"scripts":{"build":"node build","lint":"jshint . && jscs .","pretest":"npm run lint","test":"mocha"},"dependencies":{},"devDependencies":{"babel-preset-es2015":"^6.5.0","babel-preset-es2015-rollup":"^1.1.1","babel-register":"^6.5.2","jscs":"^2.10.1","jshint":"^2.9.1","mocha":"^2.4.5","rollup":"^0.25.4","rollup-plugin-babel":"^2.4.0","rollup-plugin-uglify":"^0.2.0","sinon":"^1.17.3"},"gitHead":"ecfe982bc1c3098d8bf54cc9d76b38e7b9cf949e","bugs":{"url":"https://github.com/tedconf/js-crushinator-helpers/issues"},"homepage":"https://github.com/tedconf/js-crushinator-helpers#readme","_id":"ted-crushinator-helpers@2.3.0","_shasum":"61af9dc48d02915f01916d54de480c263f0fa51f","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.1","_npmUser":{"name":"redopop","email":"joe@redopop.com"},"dist":{"shasum":"61af9dc48d02915f01916d54de480c263f0fa51f","tarball":"https://registry.npmjs.org/ted-crushinator-helpers/-/ted-crushinator-helpers-2.3.0.tgz","integrity":"sha512-ve9V3eq2p/ZHmzukLCdZk6RkZgCEQmkY5AKZ7qqNEt11ePL+15L8+8EDpPTmHu2TtRT7NzNYOnWho1A0S4kMKQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBZ50vPReuhKOFMUZi9Ym/VDOhIPu5xH1aM6LnfiZPz3AiEA3yv6nz6c3unSwCjB1GH6RKhowYwGnk8BKPHNhKTNpvA="}]},"maintainers":[{"name":"redopop","email":"joe@redopop.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/ted-crushinator-helpers-2.3.0.tgz_1461882358874_0.25659206532873213"},"directories":{}},"2.3.1":{"name":"ted-crushinator-helpers","version":"2.3.1","description":"JS methods to produce crushinator'd image URLs.","license":"MIT","main":"dist/crushinator.umd.min.js","repository":{"type":"git","url":"git+ssh://git@github.com/tedconf/js-crushinator-helpers.git"},"scripts":{"build":"node build","lint":"jshint . && jscs .","pretest":"npm run lint","test":"mocha"},"dependencies":{},"devDependencies":{"babel-preset-es2015":"^6.5.0","babel-preset-es2015-rollup":"^1.1.1","babel-register":"^6.5.2","jscs":"^2.10.1","jshint":"^2.9.1","mocha":"^2.4.5","rollup":"^0.25.4","rollup-plugin-babel":"^2.4.0","rollup-plugin-uglify":"^0.2.0","sinon":"^1.17.3"},"gitHead":"50d2beb06d265a3315117320e6fecddaec23cc88","bugs":{"url":"https://github.com/tedconf/js-crushinator-helpers/issues"},"homepage":"https://github.com/tedconf/js-crushinator-helpers#readme","_id":"ted-crushinator-helpers@2.3.1","_shasum":"ee23046902009d5b0ccf9eef8ac5dab65a7c8af2","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.3.1","_npmUser":{"name":"redopop","email":"joe@redopop.com"},"dist":{"shasum":"ee23046902009d5b0ccf9eef8ac5dab65a7c8af2","tarball":"https://registry.npmjs.org/ted-crushinator-helpers/-/ted-crushinator-helpers-2.3.1.tgz","integrity":"sha512-Bpz0uEB3fGbvIjWFH+LQRp5+vNjuIAJjPPzqo36gAYpGLCNMvv6xF/CQRMqvrM6FgSFT/yZNpyLGoUulOFLssw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHvr32n03a+4uxbd2u1rnjCTB/3Hj8Crj8pMfxKTYDDpAiEA1/i/xhJK/kJnXaF5hdTHVLxQhOsfqnbcSi9etfdVQu0="}]},"maintainers":[{"name":"redopop","email":"joe@redopop.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ted-crushinator-helpers-2.3.1.tgz_1462919953614_0.5983023876324296"},"directories":{}},"2.3.2":{"name":"ted-crushinator-helpers","version":"2.3.2","description":"JS methods to produce crushinator'd image URLs.","license":"MIT","main":"dist/crushinator.umd.min.js","repository":{"type":"git","url":"git+ssh://git@github.com/tedconf/js-crushinator-helpers.git"},"scripts":{"build":"node build","lint":"jshint . && jscs .","pretest":"npm run lint","test":"mocha"},"dependencies":{},"devDependencies":{"babel-plugin-transform-object-assign":"^6.8.0","babel-preset-es2015":"^6.5.0","babel-preset-es2015-rollup":"^1.1.1","babel-register":"^6.5.2","jscs":"^2.10.1","jshint":"^2.9.1","mocha":"^2.4.5","rollup":"^0.25.4","rollup-plugin-babel":"^2.4.0","rollup-plugin-uglify":"^0.2.0","sinon":"^1.17.3"},"gitHead":"e0c9c11654b91564d87d93b3f773ce59218c7ca1","bugs":{"url":"https://github.com/tedconf/js-crushinator-helpers/issues"},"homepage":"https://github.com/tedconf/js-crushinator-helpers#readme","_id":"ted-crushinator-helpers@2.3.2","_shasum":"c589ba2873885f3bb2ac04a5906a2f3d2dde7da0","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.3","_npmUser":{"name":"redopop","email":"joe@redopop.com"},"dist":{"shasum":"c589ba2873885f3bb2ac04a5906a2f3d2dde7da0","tarball":"https://registry.npmjs.org/ted-crushinator-helpers/-/ted-crushinator-helpers-2.3.2.tgz","integrity":"sha512-0t28rVyEgEpoNPQlCw3A54bWLwA5gEtRImJMbgTypg19MImhD2aQwH6D2fEqOUvhxoDJ7IJvf5T4fHuO1vA7Fg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE90qKDHHeX78ixOEJSCfMT3nuis3PAE2LDih5lHcOo7AiBPFORKmM0Kfi6Nh9uvnaRtwqB+WIc0it0epsD1PvQhQw=="}]},"maintainers":[{"name":"redopop","email":"joe@redopop.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ted-crushinator-helpers-2.3.2.tgz_1462926159472_0.8479802529327571"},"directories":{}},"2.4.0":{"name":"ted-crushinator-helpers","version":"2.4.0","description":"JS methods to produce crushinator'd image URLs.","license":"MIT","main":"dist/crushinator.umd.min.js","repository":{"type":"git","url":"git+ssh://git@github.com/tedconf/js-crushinator-helpers.git"},"scripts":{"build":"node build","lint":"eslint {src,test}{/*.js,/**/*.js}","pretest":"npm run lint","test":"mocha --colors"},"dependencies":{},"devDependencies":{"babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-object-assign":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-register":"^6.22.0","eslint":"^3.13.0","eslint-config-airbnb-base":"^11.0.0","eslint-plugin-import":"^2.2.0","mocha":"^3.2.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1","rollup-plugin-uglify":"^1.0.1","sinon":"^1.17.7"},"gitHead":"0bb7aa138cdf831ae8640255a4e53541423d161b","bugs":{"url":"https://github.com/tedconf/js-crushinator-helpers/issues"},"homepage":"https://github.com/tedconf/js-crushinator-helpers#readme","_id":"ted-crushinator-helpers@2.4.0","_shasum":"da0351fe9db33d6b39dba3e2b4b0b1ab76d9c4ed","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"redopop","email":"joe@redopop.com"},"dist":{"shasum":"da0351fe9db33d6b39dba3e2b4b0b1ab76d9c4ed","tarball":"https://registry.npmjs.org/ted-crushinator-helpers/-/ted-crushinator-helpers-2.4.0.tgz","integrity":"sha512-ofFGeF167oUIJAakXn6Wqhoc6wzwwSey1uw4Ubd9El9qRO/VI2FQHy56H/DbhDD7MIafsx/ERoMB0Kb+rri+zg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDv9KXTylCGDN6iGxMPZzLbtY3zpAU76rCTBaCa+ImhUAiEAvLO3M9RMISxcKMQmhtWBOr3I4xxrHMeD2dUR4w1p3qE="}]},"maintainers":[{"name":"redopop","email":"joe@redopop.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ted-crushinator-helpers-2.4.0.tgz_1492832959547_0.7719008014537394"},"directories":{}},"2.5.0":{"name":"ted-crushinator-helpers","version":"2.5.0","description":"JS methods to produce crushinator'd image URLs.","license":"MIT","main":"dist/crushinator.umd.min.js","repository":{"type":"git","url":"git+ssh://git@github.com/tedconf/js-crushinator-helpers.git"},"scripts":{"build":"node build","lint":"eslint {src,test}{/*.js,/**/*.js}","pretest":"npm run lint","test":"mocha --colors"},"dependencies":{},"devDependencies":{"babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-object-assign":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-register":"^6.22.0","eslint":"^3.13.0","eslint-config-airbnb-base":"^11.0.0","eslint-plugin-import":"^2.2.0","mocha":"^3.2.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1","rollup-plugin-uglify":"^1.0.1","sinon":"^1.17.7"},"gitHead":"b4d2bcc7d7ef9560130b1f0f5160537536a55127","bugs":{"url":"https://github.com/tedconf/js-crushinator-helpers/issues"},"homepage":"https://github.com/tedconf/js-crushinator-helpers#readme","_id":"ted-crushinator-helpers@2.5.0","_shasum":"a0d56eeefad7637934fa19d9148899b494f7caae","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"redopop","email":"joe@redopop.com"},"dist":{"shasum":"a0d56eeefad7637934fa19d9148899b494f7caae","tarball":"https://registry.npmjs.org/ted-crushinator-helpers/-/ted-crushinator-helpers-2.5.0.tgz","integrity":"sha512-mkmarr8t1+KTFDDTTux4ZSft8wboFK37EgmPx0tm1Hucz1ZuKiPNceMx4dqKL/jNv9DP3ktXdGF4pcwEGYjb2Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4UmrdFfrNLN5iORs1m+OhJBYdRsGWs+hTNbSCp9uIgQIgOyaTehii2GNY/VRteuOl/+I+Y02ycZZ/XdauPtekDd8="}]},"maintainers":[{"name":"redopop","email":"joe@redopop.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ted-crushinator-helpers-2.5.0.tgz_1500928268586_0.6327847731299698"},"directories":{}},"2.5.1":{"name":"ted-crushinator-helpers","version":"2.5.1","description":"JS methods to produce crushinator'd image URLs.","license":"MIT","main":"dist/crushinator.umd.min.js","repository":{"type":"git","url":"git+ssh://git@github.com/tedconf/js-crushinator-helpers.git"},"scripts":{"build":"node build","lint":"eslint {src,test}{/*.js,/**/*.js}","pretest":"npm run lint","test":"mocha --colors"},"dependencies":{},"devDependencies":{"babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-object-assign":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-register":"^6.22.0","eslint":"^3.13.0","eslint-config-airbnb-base":"^11.0.0","eslint-plugin-import":"^2.2.0","mocha":"^3.2.0","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1","rollup-plugin-uglify":"^1.0.1","sinon":"^1.17.7"},"gitHead":"4abb98bc552c743ba6391a30683ad5316267e0e9","bugs":{"url":"https://github.com/tedconf/js-crushinator-helpers/issues"},"homepage":"https://github.com/tedconf/js-crushinator-helpers#readme","_id":"ted-crushinator-helpers@2.5.1","_shasum":"21a0fd3b828ab467fb728f1b1c5696da78d9b219","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"redopop","email":"joe@redopop.com"},"dist":{"shasum":"21a0fd3b828ab467fb728f1b1c5696da78d9b219","tarball":"https://registry.npmjs.org/ted-crushinator-helpers/-/ted-crushinator-helpers-2.5.1.tgz","integrity":"sha512-Dd5xfSsgtsxzSItc3OLMgXx0pR2zsl11wfxiqX5q0VwVRBHUMMtQwpuKBGc2h/F5Yo2JNo/cnUvhHYCME1Lwdg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqZDCcQfrhbRjxU9G7fKJp5kT+cNHH1X5sQVmxOfKpnwIhAIuWnePOEXfD8U6OHFbO414uq5Kkac9dFU5KGeait0dI"}]},"maintainers":[{"email":"joe@redopop.com","name":"redopop"},{"email":"zebulonj@gmail.com","name":"zebulonj"},{"email":"v@vinspee.me","name":"vinspee"},{"email":"romulo.machado5@gmail.com","name":"romulomachado"},{"email":"brenna@bren.zone","name":"brenna"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ted-crushinator-helpers-2.5.1.tgz_1500994015606_0.40828716987743974"},"directories":{}},"2.6.0":{"name":"ted-crushinator-helpers","version":"2.6.0","description":"JS methods to produce crushinator'd image URLs.","license":"MIT","main":"dist/crushinator.umd.min.js","repository":{"type":"git","url":"git+ssh://git@github.com/tedconf/js-crushinator-helpers.git"},"scripts":{"build":"node build","lint":"eslint {src,test}{/*.js,/**/*.js}","pretest":"npm run lint","test":"yarn test:fast --ci --colors --silent --testResultsProcessor=\"jest-junit\" --coverage","test:fast":"jest --colors","test:watch":"jest --watch","prepush":"run-p --aggregate-output \"lint\" \"test:fast\""},"jest-junit":{"output":"./spec/reports/test-results.xml","ancestorSeparator":" › "},"dependencies":{},"devDependencies":{"babel-jest":"22.0.4","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-object-assign":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-register":"^6.22.0","eslint":"^3.13.0","eslint-config-airbnb-base":"^11.0.0","eslint-plugin-import":"^2.2.0","husky":"0.14.3","jest":"22.0.5","jest-junit":"3.4.1","mocha":"^3.2.0","npm-run-all":"4.1.2","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1","rollup-plugin-uglify":"^1.0.1"},"gitHead":"8ed1dfec1cd8f3af220a17f2b1643bcc9627f30a","bugs":{"url":"https://github.com/tedconf/js-crushinator-helpers/issues"},"homepage":"https://github.com/tedconf/js-crushinator-helpers#readme","_id":"ted-crushinator-helpers@2.6.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"redopop","email":"joe@redopop.com"},"dist":{"integrity":"sha512-xYAfx/f1WZ6vs/utf+hjSwWdLAVDSMLahpE+NTwTy4iCI683PTxrwK4dwSRebrnY83SbufxGAsCvLs9+/Ed+gA==","shasum":"62ca8b05820ff9a13af1c0be952aae96dafaa688","tarball":"https://registry.npmjs.org/ted-crushinator-helpers/-/ted-crushinator-helpers-2.6.0.tgz","fileCount":21,"unpackedSize":231470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa+a5PCRA9TVsSAnZWagAAHaUP/3Qx+asSjiJwaRo3FEsl\n/FdD1tQoFl757c1dTyCqU6CBXyTQYPZbiyPRs56vwOt2YFWQSlmAuyYVs/OY\n6+9XcjhaT79q03N+jkRv0y1TKrYHkTF2ShjjJ8OEd68BFWvANa8F+x5MxGQA\nt6CNhnZ6JuctYJJrngMR11P3QNJR4Xx8hm1Nt8zIFMAI77q9Vsywp9hY+zRl\n/Y4bH2puGgXY+wYgi90ezWhRxEVGbR1s8ey8frOv0l7qg0RqKUwrWyK7VWE9\nHuJzWqpNo7A/HzR8efXNEgyL9e7OTM1fiN5esFy/LCJRNPl0TXOadiep5/Qh\n1QgWl+RNe23Iw9h3pw7+Bm7AsOCwAztjSodnzh4B0A6i7zsFGLQjECsvezjy\nKCYX0IwobU1/3N3SzvrBP/IfA/l0B8H/v5JZlt+78bZgWLBZ+jkBQa9mJaeD\nEBSfMyQU9ccHEjSBSh2APQYGL/+Wv9Yo/FuiSpycfw+AkAdv4W0OEtKWuHmq\nrD6pV4e5mJqVGdoZtuUaS82cXv1XXnSX4MrvYAmrhqsUxytk4KOlzQGuiA3V\nSlMvXXr3wFroPhXTh6k34xGBFYe+CCwKr+mgtWeWHDM/1WoS8RV8NCJ3G7gY\n4UZ0HQJfKaLeRuigQY/GZMWK3wgcUcZzWYJmaboDHuM8hIZfZBkzYSMgzYZl\nv4YR\r\n=IWgV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBOFRlDK5P0+vmadhn3NhVdOYXgzutYIaSqK5Jboh/mLAiEAjIsWEzrhphhl5YkxM9bXtJvz7BddfTaEMk8nOkffzOM="}]},"maintainers":[{"name":"redopop","email":"joe@redopop.com"},{"name":"zebulonj","email":"zebulonj@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ted-crushinator-helpers_2.6.0_1526312525146_0.053914063572472415"},"_hasShrinkwrap":false},"2.7.0":{"name":"ted-crushinator-helpers","version":"2.7.0","description":"JS methods to produce crushinator'd image URLs.","license":"MIT","main":"dist/crushinator.umd.min.js","repository":{"type":"git","url":"git+ssh://git@github.com/tedconf/js-crushinator-helpers.git"},"scripts":{"build":"node build","lint":"eslint {src,test}{/*.js,/**/*.js}","pretest":"npm run lint","test":"yarn test:fast --ci --colors --silent --testResultsProcessor=\"jest-junit\" --coverage","test:fast":"jest --colors","test:watch":"jest --watch","prepush":"run-p --aggregate-output \"lint\" \"test:fast\""},"jest-junit":{"output":"./spec/reports/test-results.xml","ancestorSeparator":" › "},"dependencies":{},"devDependencies":{"babel-jest":"22.0.4","babel-plugin-external-helpers":"^6.22.0","babel-plugin-transform-object-assign":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-register":"^6.22.0","eslint":"^3.13.0","eslint-config-airbnb-base":"^11.0.0","eslint-plugin-import":"^2.2.0","husky":"0.14.3","jest":"22.0.5","jest-junit":"3.4.1","mocha":"^3.2.0","npm-run-all":"4.1.2","rollup":"^0.41.4","rollup-plugin-babel":"^2.7.1","rollup-plugin-uglify":"^1.0.1"},"gitHead":"16756d0c105317d57b7bf05f9c592b25414897b8","bugs":{"url":"https://github.com/tedconf/js-crushinator-helpers/issues"},"homepage":"https://github.com/tedconf/js-crushinator-helpers#readme","_id":"ted-crushinator-helpers@2.7.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"dancormier","email":"dancormierall@gmail.com"},"dist":{"integrity":"sha512-mesgj3w56poTpnSIfuyemHeIpqodjaLGaR+Zi049pGx8bfay/1eKKSgCiCmjpwMV4moQ6wHEh0ftvWyD5b933w==","shasum":"18af19b0efe5e11ce096884217805b99475bcd92","tarball":"https://registry.npmjs.org/ted-crushinator-helpers/-/ted-crushinator-helpers-2.7.0.tgz","fileCount":20,"unpackedSize":208926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdMJC9CRA9TVsSAnZWagAACdMP/iyTkFXVcUhy0c+zLQvB\n816Ox8ITH9gf+pFb/R5gBRW6KF13Bby1FTp7ElUHd8rLFJbE8s6EMOmdzK9e\nJT2vg7EgPu1apW6Q5c8xjc5UJxZQ/IwRZVSfMx/GgB6SoHUQxjDtRijFmj7k\n7lyNlsrAaL1IlbgAN5Z9N2RpQWxJmspQFbi547OJfTCXOtktyBgfPH/3Jkwn\nGwc/XQRuHsgwxaUhLt8iLNEhq20pf04xvRomzORBdmjFn4Kezh1SuU1dhgHk\nkItPDIsbzDBRau/t6m5tgUy9Ra83jlNt5CLH8pKIyw5aX9nbIvQOGOjkccyj\nkdMsSQ/J4Gu7nGOPy2MaJpSvMTRE2hna66gnV2Nfd/Ro9gL+5WRxzIfVBf4q\nq4cVinkKC5xfKcK+qDPqqaHkoeBocKHiSYPWLjN52J4pQBHNUsI+T10YGRMy\ncbwSyiDyIa9p4uajhH2fxwLQ5fYYQ+umW79BTINLRpYFC27rmPO48GW4iehY\nPgq9Rw23oZhmyPxI7sESZPUAUicaZp3lyVbBXWRjsnDXz9age8xM7mpT1ABg\n/vS5o9KIBrXnBL4gi2IM4anQaiLhpJJr+rJCDdnvi5gAvBonoi4ZoLQKeEa2\ndiB8odpYrYQoH/lqocHD+YGBH4OP/DnBmPRLPZcU9C+XtKuKyuy5BYae2KZr\n9Zhf\r\n=kLDG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhStDbnDFdJckbFlVQW8dxWI3utyOjitn1gdVh0abygAIgSDpijM40SVAJCoFjRqpD/789Fn3SFgFh0bw3WpJtTC0="}]},"maintainers":[{"email":"dancormierall@gmail.com","name":"dancormier"},{"email":"hello@jonbellah.com","name":"jonbellah"},{"email":"mrhing@gmail.com","name":"mrhing"},{"email":"mudetroit@gmail.com","name":"mudetroit"},{"email":"joe@redopop.com","name":"redopop"},{"email":"romulo.machado5@gmail.com","name":"romulomachado"},{"email":"v@vinspee.me","name":"vinspee"},{"email":"zebulonj@gmail.com","name":"zebulonj"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ted-crushinator-helpers_2.7.0_1563463869122_0.8189458829275953"},"_hasShrinkwrap":false},"2.8.0":{"name":"ted-crushinator-helpers","version":"2.8.0","description":"JS methods to produce crushinator'd image URLs.","author":{"name":"TED Tech"},"license":"UNLICENSED","main":"dist/crushinator.umd.min.js","types":"dist/crushinator.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/tedconf/js-crushinator-helpers.git"},"scripts":{"build":"node build","lint":"eslint {src,test}{/*.js,/**/*.js}","pretest":"yarn lint","test":"yarn test:fast --ci --silent --coverage --reporters=jest-junit","test:fast":"jest --colors","test:watch":"jest --watch"},"jest-junit":{"outputDirectory":"./spec/reports","outputName":"test-results.xml","ancestorSeparator":" › "},"dependencies":{},"devDependencies":{"@babel/core":"^7.8.0","@babel/plugin-transform-object-assign":"^7.8.0","@babel/preset-env":"^7.8.0","babel-core":"^7.0.0-bridge.0","eslint":"^6.8.0","eslint-plugin-import":"^2.20.0","jest":"^26.0.1","jest-junit":"^10.0.0","rollup":"^1.31.0","rollup-plugin-babel":"^4.3.0","rollup-plugin-uglify":"^6.0.0"},"gitHead":"da7dcd9aca196757d1a242f392c2306ea359c8ce","bugs":{"url":"https://github.com/tedconf/js-crushinator-helpers/issues"},"homepage":"https://github.com/tedconf/js-crushinator-helpers#readme","_id":"ted-crushinator-helpers@2.8.0","_nodeVersion":"12.15.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Qx9AZobPBpXSsSAs5XoZX4Pn/c9pvPWui8DJrxzRi9FiUZIfPzOKLyRELpe5srDt5MDtI+1yjHJdul/8cm4/Og==","shasum":"77170534009e4e4d28baf438092462596d2fd12a","tarball":"https://registry.npmjs.org/ted-crushinator-helpers/-/ted-crushinator-helpers-2.8.0.tgz","fileCount":8,"unpackedSize":57828,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJex9YfCRA9TVsSAnZWagAAxzkP/jYy47fRjKKmh7sQW58S\nLxTAvQRYNuzfWxxMUBqXJY6D+kltY3eeWfjteC5NmuzXkE+dq/jSTAHdnzVI\nL0kPjuMw+98b4UlfTa7ak5YV0ejX1HKl2kag/8jqpZg1zA0VDVTiDy/v4AD+\n9Fjr3w07pt1Y8N9f8irDQeQtWE+oxhBwacx3fh+GAa4DA0433a1w84W1IYeU\nlQv2/NJkyAcHhAST8EcV4b2cbd26cQxsClmVffiJOdwX0ZNi3GPoOSKBhPPy\nKB8iQsZhx1MZ0MuagexFWFQDujnzsU3uyytRzUWoGM+Xe5q6Mqhk/jpcxMha\nFQWGrX2eqmr6Gw+DiFobJ9brMzH+kTt2LptloRW53XAkKczTa3L+cEFfMG5O\nEhWl7A+G/AH7z5LGkiqMS5vkX4JI1paDFOVy+f6vhJUZA67oSZuzyilK92Bd\nLEF+tAaWBD+cpPoPeCEwWVPobDScIKbIRSJe8MqOpYNLU1smAhgZ3SfbgyRb\nKcZ+iK3uHVi7ufJ2GsczgQO0dzikp8X7Uo1RBs/h2VXoo//1eQpx024s3Gyf\nAO16dAPiO/NzIvqnH//GBeXZH0mJ0Wqm6kjneQlXHpWOH1Ys9+kz3tx4MgP7\n9LLEkuqGbVog1iusgWsvwN9JlReracIALiWpAXFsUZ44hdwc+S6YxzIqAtUf\n2VJa\r\n=roCE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/RoBg2aCUtbpADXtBMF871JsYjSrbafvy7yO/Lla2wAIhANS7EI/dzZA723NwHVJr8HYKz1I8IxcIZ9u6igM4pVBW"}]},"maintainers":[{"email":"dancormierall@gmail.com","name":"dancormier"},{"email":"hello@jonbellah.com","name":"jonbellah"},{"email":"mrhing@gmail.com","name":"mrhing"},{"email":"mudetroit@gmail.com","name":"mudetroit"},{"email":"ryan.b.harvey@gmail.com","name":"nihonjinrxs"},{"email":"joe@redopop.com","name":"redopop"},{"email":"romulo.machado5@gmail.com","name":"romulomachado"},{"email":"v@vinspee.me","name":"vinspee"},{"email":"zebulonj@gmail.com","name":"zebulonj"}],"_npmUser":{"name":"redopop","email":"joe@redopop.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ted-crushinator-helpers_2.8.0_1590154783423_0.4045753304860389"},"_hasShrinkwrap":false},"2.8.1":{"name":"ted-crushinator-helpers","version":"2.8.1","description":"JS methods to produce crushinator'd image URLs.","author":{"name":"TED Tech"},"license":"UNLICENSED","main":"dist/crushinator.umd.min.js","types":"dist/crushinator.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/tedconf/js-crushinator-helpers.git"},"scripts":{"build":"node build","lint":"eslint {src,test}{/*.js,/**/*.js}","pretest":"yarn lint","test":"yarn test:fast --ci --silent --coverage --reporters=jest-junit","test:fast":"jest --colors","test:watch":"jest --watch"},"jest-junit":{"outputDirectory":"./spec/reports","outputName":"test-results.xml","ancestorSeparator":" › "},"dependencies":{},"devDependencies":{"@babel/core":"^7.8.0","@babel/plugin-transform-object-assign":"^7.8.0","@babel/preset-env":"^7.8.0","babel-core":"^7.0.0-bridge.0","eslint":"^7.6.0","eslint-plugin-import":"^2.20.0","jest":"^26.0.1","jest-junit":"^12.0.0","rollup":"^1.31.0","rollup-plugin-babel":"^4.3.0","rollup-plugin-uglify":"^6.0.0"},"gitHead":"1a96c42fc012829035fc3ce4fbb597b9a11358c9","bugs":{"url":"https://github.com/tedconf/js-crushinator-helpers/issues"},"homepage":"https://github.com/tedconf/js-crushinator-helpers#readme","_id":"ted-crushinator-helpers@2.8.1","_nodeVersion":"12.15.0","_npmVersion":"6.13.4","_npmUser":{"name":"bog","email":"bog@ted.com"},"dist":{"integrity":"sha512-etTrqUzydctdt814nx7qT4NN7tFpioz+9W+H9/oItuIsdFAKe2eFjgFklZesBwhYeq4Ijj6WRaG6uV8OSk4NDQ==","shasum":"0b9e04564af39da0a51ae5f00d2be17cd2344b50","tarball":"https://registry.npmjs.org/ted-crushinator-helpers/-/ted-crushinator-helpers-2.8.1.tgz","fileCount":8,"unpackedSize":58204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgitigCRA9TVsSAnZWagAACUIP/01QETp1MrAr1xdx8FrP\ngPsfKHzydJ9gubaa91p4i3evcI9Kk/3JmW0UecgruYsZ2i/UhQxDUCjey7kO\nAQrEHnCPTp/Fl3m2FV0KNzgDKkqKrz/dDenEreVFEpbSiT1IXvrKNpFm0V7B\n4pNoAxOmRBiSzfnKHMNRwM8A/kPVAn8hK3NGzxzeZcNkTfPkoJmT4Hp72M/8\nIsc9R4I0vyTt+CyJs5+ksZJg5Uy4NpHrPAXQPf/vgWv9uYKeTNp2OAFOq6jq\nepAp+phN60cLvKQhEp3kFZF25m5irUrQt4rdQCsxm08cuNbsHa86tg8bZfhp\nmDeSCzNAPECe9wzFI7Ewh3Ax3zm5gnWA+4FeLc6mqqq7OmAuJnZW2EwKfwKk\n4TjkgmtqzKhq9Fk8cXQUC7RRYkrsyWJSz/ZLdYxou6ByIwvgiIL6F71us4+P\nWxG2MXLr/L9SM+GMRFxppZrauCkVLGKPlBokm6cVz/nVbrLMW1n78OnXBlA4\n/t9noZMUAzQxvG9380afph6tjkJXpYarutBooEZP2LBUKzyCAeLxcbEQdjuS\na1mTqrzyZYV06U5/ig4BURwAGDegp+HzmVl+3s+CRyWBNnNkVw8O9M2BPx3j\nq2o1iNWEG5C6gda4Mu5lzn9bx4St+Vt/P4nnX+722xFshGTMHc/g7ZxVEqMP\n1huy\r\n=PkHW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtjtwnwpugP/uPKYxyOPIPKM69BNTmoSEOByetE0ryYwIgJDBaV/8lCr6PfxzC4hzBoTJvbEkR+OEB5WiJbQ8/wtM="}]},"directories":{},"maintainers":[{"name":"bog","email":"bog@ted.com"},{"name":"christian_ted","email":"christian@ted.com"},{"name":"dancormier","email":"dancormierall@gmail.com"},{"name":"romulomachado","email":"romulo.machado5@gmail.com"},{"name":"vinspee","email":"v@vinspee.me"},{"name":"redopop","email":"joe@redopop.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ted-crushinator-helpers_2.8.1_1619712160009_0.5911293758105693"},"_hasShrinkwrap":false}},"readme":"# JS Crushinator Helpers [![NPM Version](https://img.shields.io/npm/v/ted-crushinator-helpers.svg?style=flat)](https://npmjs.org/package/ted-crushinator-helpers) [![Build Status](https://travis-ci.org/tedconf/js-crushinator-helpers.svg?branch=master)](https://travis-ci.org/tedconf/js-crushinator-helpers)\n\nJavaScript helper methods to create [Crushinator-optimized](https://github.com/tedconf/crushinator) image URLs:\n\n```javascript\ncrushinator.crush('https://images.ted.com/image.jpg', { width: 320, height: 180, fit: true })\n  // => 'https://pi.tedcdn.com/r/images.ted.com/image.jpg?w=320&h=180&op=^&gravity=c&crop=320,180,0,0'\n```\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for contributors' instructions.\n\n## Install\n```\nnpm install --save ted-crushinator-helpers\n```\n\nWhere NPM is unavailable, [`dist/crushinator.umd.min.js`](dist/crushinator.umd.min.js) can be copied directly to your application.\n\n## API\nThis library provides the following helper methods:\n\n* [`crush(url, options)`](#crush) for optimizing images. This is probably all you need.\n* [`crushable(url)`](#crushable) to determine whether an image can be optimized.\n* [`uncrush(url)`](#uncrush) for de-optimizing images.\n\nHere are descriptions and examples for each of these methods:\n\n### crush\nReturns a Crushinator-optimized version of an image URL, using options specified in a plain object.\n\n```javascript\ncrushinator.crush ( url , { …options } )\n```\n\nExample:\n\n```javascript\ncrushinator.crush('https://images.ted.com/image.jpg', { width: 320 })\n  // => 'https://pi.tedcdn.com/r/images.ted.com/image.jpg?w=320'\n```\n\nIf the image URL cannot be optimized (does not pass the whitelist) it's returned untampered, making this method safe to use for dynamic image sources.\n\nAvailable options:\n\n| Option | Description of typical use | Example value\n| :----- | :------------------------- | :------------\n| [`width`](#width) | Number. Target image width in pixels. | `width: 320`\n| [`height`](#height) | Number. Target image height in pixels. | `height: 180`\n| [`quality`](#quality) | Number. Image quality as a percentage (0-100). Defaults to 82. | `quality: 74`\n| [`fit`](#fit) | Boolean. True to zoom and crop the image for best fit into the target dimensions (width and height) if both are provided. Enabled by default. | `fit: true`\n| [`defaults`](#defaults) | Boolean. False to disable the default options added by the helper. | `defaults: false`\n| [`crop`](#crop) | Object. An image crop configuration specifying the dimensions and coordinates of the section to crop. | `crop: { width: 200, height: 100, x: 50, y: 50 }`\n| [`align`](#align) | String. When cropping an image, it can be aligned to the \"top\", \"bottom\", \"left\", \"right\", or \"middle\" of the crop frame. | `align: 'top'`\n| [`blur`](#blur) | Number. A blur spread amount in pixels. | `blur: 4`\n| [`gamma`](#gamma) | Number. A gamma correction multiplier. Values less than 1.0 darken the image, and values greater than 1.0 lighten it. | `gamma: 1.4`\n| [`grayscale`](#grayscale) | Boolean. Fully desaturates the image. | `grayscale: true`\n| [`unsharp`](#unsharp) | Boolean. Applies an unsharp mask to accentuate image details. Enabled by default. | `unsharp: true`\n| [`query`](#query) | Object. Additional query parameters to include in the Crushinator-optimized image URL. | `query: { cb: 1337 }`\n\n### crushable\nReturns `true` if an image URL passes Crushinator's host whitelist, `false` otherwise.\n\n```javascript\ncrushinator.crushable ( url )\n```\n\nExample:\n\n```javascript\ncrushinator.crushable('https://images.ted.com/image.jpg')\n  // => true\n```\n\n### uncrush\nRestores a Crushinator-optimized image URL to its original form.\n\n```javascript\ncrushinator.uncrush ( url )\n```\n\nExample:\n\n```javascript\ncrushinator.uncrush('https://pi.tedcdn.com/r/images.ted.com/image.jpg?w=320')\n  // => 'https://images.ted.com/image.jpg'\n```\n\n## Crush options\nThis section provides some additional detail for the [`crush`](#crush) method's options.\n\n### width\nNumber. Target image width in pixels.\n\nIf width and height are both specified and the [`fit`](#fit) option is enabled (which it is by default), then the image will be zoomed and cropped to match the requested dimensions.\n\nIf width and height are both specified and the `fit` option is _disabled,_ the image will be resized to fit into a space of the target dimensions while respecting its original aspect ratio.\n\nOtherwise, if only the width is specified and the original image is wider than the specified width, then the image will be resized to the target width and its height will be calculated according to the original image's aspect ratio.\n\nExample:\n\n```javascript\ncrushinator.crush('https://images.ted.com/image.jpg', { width: 320 })\n  // => 'https://pi.tedcdn.com/r/images.ted.com/image.jpg?w=320'\n```\n\n### height\nNumber. Target image height in pixels.\n\nIf height and width are both specified and the [`fit`](#fit) option is enabled (which it is by default), then the image will be zoomed and cropped to match the requested dimensions.\n\nIf height and width are both specified and the `fit` option is _disabled,_ the image will be resized to fit into a space of the target dimensions while respecting its original aspect ratio.\n\nOtherwise, if only the height is specified and the original image is taller than the specified height, then the image will be resized to the target height and its width will be calculated according to the original image's aspect ratio.\n\nExample:\n\n```javascript\ncrushinator.crush('https://images.ted.com/image.jpg', { height: 240 })\n  // => 'https://pi.tedcdn.com/r/images.ted.com/image.jpg?h=240'\n```\n\n### quality\nNumber. Image quality as a percentage (`0`-`100`).\n\nIf this value is omitted, a default image quality of 82% is used.\n\nExample:\n\n```javascript\ncrushinator.crush('https://images.ted.com/image.jpg', { quality: 93 })\n  // => 'https://pi.tedcdn.com/r/images.ted.com/image.jpg?quality=93'\n```\n\n### fit\nBoolean. Shorthand which, when enabled, results in \"best fit\" (or \"zoom and crop\") resizing if the output width and height are both specified.\n\nIt is enabled (true) by default, and can be disabled by setting to false:\n\n```\ncrushinator.crush('https://images.ted.com/image.jpg', {\n  width: 320,\n  height: 240,\n  fit: false,\n})\n```\n\n### defaults\nBoolean. Shorthand which, when enabled, sets a number of default options which are useful for Crushinator's most common use cases.\n\nIt is enabled (true) by default, and can be disabled by setting to false:\n\n```\ncrushinator.crush('https://images.ted.com/image.jpg', { defaults: false })\n```\n\nWhen enabled, the following defaults are included:\n\n* [`fit: true`](#fit)\n* [`align: 'top'`](#align)\n* [`quality: 82`](#quality)\n* [`unsharp: true`](#unsharp)\n\n### crop\nObject. Crop configuration options are passed in as an object with the following properties:\n\n* `width` - Number. Width of the cropped section in pixels.\n* `height` - Number. Height of the cropped section in pixels.\n* `x` - Number. Coordinate at which to start crop (pixels from left).\n* `y` - Number. Coordinate at which to start crop (pixels from top).\n* `afterResize` - Boolean. `true` if you want to crop the resized image rather than the original; omitted otherwise.\n\nBy default, crop configuration will be applied to the original image, which will then be resized in accord with the [`height`](#height) and [`width`](#width) options. The `afterResize` option allows you to configure Crushinator to instead apply the crop _after_ resizing the image.\n\nExample:\n\n```javascript\ncrushinator.crush('https://images.ted.com/image.jpg', {\n    width: 640,\n    height: 480,\n    crop: {\n      width: 200, height: 100,\n      x: 50, y: 25,\n      afterResize: true\n    },\n  })\n  // => 'https://pi.tedcdn.com/r/images.ted.com/image.jpg?w=640&h=480&c=200%2C100%2C50%2C25'\n```\n\nThe above example would resize the original image to 640x480 and then take a 200x100 crop of the resized image, starting at 50x25.\n\nCrop configuration options can also be sent in hyphenated form:\n\n```javascript\ncrushinator.crush('https://images.ted.com/image.jpg', {\n    width: 640,\n    height: 480,\n    'crop-width': 200, 'crop-height': 100,\n    'crop-x': 50, 'crop-y': 25,\n    'crop-afterResize': true\n  })\n  // => 'https://pi.tedcdn.com/r/images.ted.com/image.jpg?w=640&h=480&c=200%2C100%2C50%2C25'\n```\n\n### align\nString. When cropping an image (including \"best fit\" cropping) it's sometimes useful to dynamically specify an image edge at which cropping should begin. Cropping may be aligned to the `\"top\"`, `\"bottom\"`, `\"left\"`, `\"right\"`, or `\"middle\"` of the image.\n\nExample:\n\n```\ncrushinator.crush('https://images.ted.com/image.jpg', {\n  width: 320,\n  height: 240,\n  fit: true,\n  align: 'middle',\n})\n```\n\n### blur\nNumber or Boolean. A numeric value indicates the blur sigma (loosely: the blur spread amount) in pixels, while a boolean `true` uses a default blur sigma of 2.\n\n```\ncrushinator.crush('https://images.ted.com/image.jpg', { blur: 1.5 })\n```\n\nYou may further tune the blur behavior by instead specifying an object, with the following properties:\n\n* `sigma` – numeric; blur \"spread\" amount in pixels.\n* `radius` – numeric; maximum pixel area to consider. Should be larger than (probably at least 2x) the blur sigma.\n\nExample with object value:\n\n```\ncrushinator.crush('https://images.ted.com/image.jpg', {\n  blur: { sigma: 1.5, radius: 3 },\n})\n```\n\n### gamma\nNumber or Object. If numeric, this value is used as a gamma correction multiplier applied to all channels in an image:\n\n```\ncrushinator.crush('https://images.ted.com/image.jpg', { gamma: 1.5 })\n```\n\nValues less than 1 darken the image, and values greater than 1 lighten it. Reasonable values extend from 0.8 to 2.3.\n\nAn object form is also supported for channel-specific gamma correction, where properties `red`, `green`, and `blue` indicate gamma correction multipliers for their respective channels:\n\n```\ncrushinator.crush('https://images.ted.com/image.jpg', {\n  gamma: { red: 1.7, green: 2.3, blue: 1.2 },\n})\n```\n\n### grayscale\nBoolean. If true, Crushinator fully desaturates the image, resulting in a rich grayscale version.\n\n```\ncrushinator.crush('https://images.ted.com/image.jpg', { grayscale: true })\n```\n\nDesaturated images are sometimes considered too dark for their intended purpose, so the `grayscale` property also supports a numeric value (a decimal percentage) which can be used to darken the output image:\n\n```\ncrushinator.crush('https://images.ted.com/image.jpg', { grayscale: 0.7 })\n```\n\n### unsharp\nBoolean or object. Applies an unsharp mask to accentuate image details.\n\nCrushinator's resampling causes fine image details to be softened, resulting in a perceived loss of quality and blurry/smudged images. Applying an unsharp mask improves this situation, while avoiding the increased noise and haloing typically associated with image sharpening.\n\nThe unsharp mask is enabled (true) by default, and can be disabled by setting this option to false:\n\n```\ncrushinator.crush('https://images.ted.com/image.jpg', { unsharp: false })\n```\n\nYou can also fine tune the default unsharp mask, or set up a custom unsharp mask, by providing an object with the following options:\n\n* `amount` – numeric; decimal percentage representing the strength of the unsharp filter in terms of difference between the sharpened image and the original.\n* `sigma` – numeric; size of details to sharpen, in pixels.\n* `radius` – numeric; number of pixels to which sharpening should be applied surrounding each target pixel.\n* `threshold` – numeric; decimal percentage representing a minimum amount of difference in a pixel vs surrounding colors before it's considered a sharpenable detail.\n\nExample use with all custom tuning options specified:\n\n```\ncrushinator.crush('https://images.ted.com/image.jpg', {\n  unsharp: {\n    amount: 0.8,\n    sigma: 0.5,\n    radius: 2,\n    threshold: 0.03,\n  },\n})\n```\n\n### query\nObject. For specifying additional query parameters to include in the Crushinator-optimized image URL:\n\n```javascript\ncrushinator.crush('https://images.ted.com/image.jpg', {\n    width: 200,\n    query: { cb: 1337 }\n  })\n  // => 'https://pi.tedcdn.com/r/images.ted.com/image.jpg?w=200&cb=1337'\n```\n\nThis allows you to directly apply [any of Crushinator's query parameters](https://github.com/tedconf/crushinator) instead of using this helper's options API.\n","maintainers":[{"email":"michaelzmyers@gmail.com","name":"alienzz"},{"email":"romulo.machado5@gmail.com","name":"romulomachado"},{"email":"christian@ted.com","name":"christian_ted"},{"email":"bog@ted.com","name":"bog"},{"email":"v@vinspee.me","name":"vinspee"},{"email":"joe@redopop.com","name":"redopop"}],"time":{"modified":"2022-06-27T04:26:25.311Z","created":"2016-02-17T21:21:42.843Z","2.0.0":"2016-02-17T21:21:42.843Z","2.0.1":"2016-02-17T22:44:33.535Z","2.1.0":"2016-03-01T20:02:24.901Z","2.2.0":"2016-04-28T21:08:50.730Z","2.3.0":"2016-04-28T22:25:59.792Z","2.3.1":"2016-05-10T22:39:15.955Z","2.3.2":"2016-05-11T00:22:42.029Z","2.4.0":"2017-04-22T03:49:21.441Z","2.5.0":"2017-07-24T20:31:09.640Z","2.5.1":"2017-07-25T14:46:56.719Z","2.6.0":"2018-05-14T15:42:05.245Z","2.7.0":"2019-07-18T15:31:09.288Z","2.8.0":"2020-05-22T13:39:43.575Z","2.8.1":"2021-04-29T16:02:40.172Z"},"homepage":"https://github.com/tedconf/js-crushinator-helpers#readme","repository":{"type":"git","url":"git+ssh://git@github.com/tedconf/js-crushinator-helpers.git"},"bugs":{"url":"https://github.com/tedconf/js-crushinator-helpers/issues"},"license":"UNLICENSED","readmeFilename":"README.md","author":{"name":"TED Tech"}}