{"_id":"@aptoma/aoi-smart-crop","_rev":"20-e59feae33ca9d6d4dffc08cc735ef90e","name":"@aptoma/aoi-smart-crop","dist-tags":{"latest":"1.0.3"},"versions":{"0.1.0":{"name":"@aptoma/aoi-smart-crop","version":"0.1.0","author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","_id":"@aptoma/aoi-smart-crop@0.1.0","maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"homepage":"https://github.com/aptoma/aoi-smart-crop#readme","bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"dist":{"shasum":"9a48ebca97e0ac3bce0baeff30848b0c72bfb527","tarball":"https://registry.npmjs.org/@aptoma/aoi-smart-crop/-/aoi-smart-crop-0.1.0.tgz","integrity":"sha512-UJn5JF1+Birr8xF951UESMlATY2+beVFkLrsLnvybikeZ/6+lIQKvKqgyPHYNG2SwzTXgUtsOG6KP353P2tNpA==","signatures":[{"sig":"MEYCIQCi7pz2z2gKkWb0YEkBKZTDJJtpxvGB+tKWioGlQ/C0uQIhAPnk01BfHrR3pRAJ8TKJ+xAbFjD1phBQjjK9VzYQkOXy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","engines":{"node":">=8"},"gitHead":"716e4c1714c218d32070cb9d417b3e3905869ff9","scripts":{"lint":"eslint lib","test":"mocha lib/**/*.test.js","watch":"mocha --watch 'lib/**/*.js' --timeout 500"},"_npmUser":{"name":"aptoma","email":"npm@aptoma.com"},"repository":{"url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git","type":"git"},"_npmVersion":"5.5.1","description":"Helper library for doing smart crops of images based on area of interest data","directories":{},"_nodeVersion":"8.7.0","dependencies":{"qs":"^6.5.1"},"eslintConfig":{"env":{"es6":true,"node":true,"mocha":true},"extends":"@aptoma/eslint-config"},"devDependencies":{"chai":"^4.1.2","mocha":"^4.0.1","eslint":"^4.8.0","@aptoma/eslint-config":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/aoi-smart-crop-0.1.0.tgz_1508839434737_0.8124738850165159","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@aptoma/aoi-smart-crop","version":"0.1.1","author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","_id":"@aptoma/aoi-smart-crop@0.1.1","maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"homepage":"https://github.com/aptoma/aoi-smart-crop#readme","bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"dist":{"shasum":"b6eec32e2d9938971f07340621196a2525be9511","tarball":"https://registry.npmjs.org/@aptoma/aoi-smart-crop/-/aoi-smart-crop-0.1.1.tgz","integrity":"sha512-9Fk7qnv6rX9Q0uVmYsKeoIDsyDZeb6fgqGmv4pD6VeAJORpGmXwjVP9+D30SmZuQUIGM+TKjDMJ4bNesb+FtHA==","signatures":[{"sig":"MEYCIQCWv+xSN5jNep+dhUw6vKvZxUX0/ZDXkT5+TeITw2ZQTgIhAJcBc2HAr+ejzBSSdsobiIy9G8Te6aaYelCygdB+/+SV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","engines":{"node":">=8"},"gitHead":"a37482a80ea18522e14e269b05133e285e91e1eb","scripts":{"lint":"eslint lib","test":"mocha lib/**/*.test.js","watch":"mocha --watch 'lib/**/*.js' --timeout 500"},"_npmUser":{"name":"aptoma","email":"npm@aptoma.com"},"repository":{"url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git","type":"git"},"_npmVersion":"5.5.1","description":"Helper library for doing smart crops of images based on area of interest data","directories":{},"_nodeVersion":"8.7.0","dependencies":{"qs":"^6.5.1"},"eslintConfig":{"env":{"es6":true,"node":true,"mocha":true},"extends":"@aptoma/eslint-config"},"devDependencies":{"chai":"^4.1.2","mocha":"^4.0.1","eslint":"^4.8.0","@aptoma/eslint-config":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/aoi-smart-crop-0.1.1.tgz_1508839564029_0.6902625791262835","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"@aptoma/aoi-smart-crop","version":"0.1.2","author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","_id":"@aptoma/aoi-smart-crop@0.1.2","maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"homepage":"https://github.com/aptoma/aoi-smart-crop#readme","bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"dist":{"shasum":"e091f0b37c74d85944717a6ef7d56d5b07ee152a","tarball":"https://registry.npmjs.org/@aptoma/aoi-smart-crop/-/aoi-smart-crop-0.1.2.tgz","integrity":"sha512-gGSHseRalnSdUjCxMR1UdcqVutm5LHpFald1Lb+lLdD2dlGw792CceaKBdi+edbc6/vo7NLj6EKn11xAI+vdeA==","signatures":[{"sig":"MEYCIQDexRKNT4vSG9l5N5Q/HyiJas+XStiutZCXsASXDcP+2gIhANqD5vdgJoU6BKCKX+XtMF1shuH3VtR917sRt7Dz4Xdr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","engines":{"node":">=8"},"gitHead":"decc4ca5cf797e4e9bf86699e94705c09cbdc372","scripts":{"lint":"eslint lib","test":"mocha lib/**/*.test.js","watch":"mocha --watch 'lib/**/*.js' --timeout 500"},"_npmUser":{"name":"aptoma","email":"npm@aptoma.com"},"repository":{"url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git","type":"git"},"_npmVersion":"5.5.1","description":"Helper library for doing smart crops of images based on area of interest data","directories":{},"_nodeVersion":"8.7.0","dependencies":{"qs":"^6.5.1"},"eslintConfig":{"env":{"es6":true,"node":true,"mocha":true},"extends":"@aptoma/eslint-config"},"devDependencies":{"chai":"^4.1.2","mocha":"^4.0.1","eslint":"^4.8.0","@aptoma/eslint-config":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/aoi-smart-crop-0.1.2.tgz_1508839617951_0.6103964201174676","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"@aptoma/aoi-smart-crop","version":"0.1.3","author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","_id":"@aptoma/aoi-smart-crop@0.1.3","maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"homepage":"https://github.com/aptoma/aoi-smart-crop#readme","bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"dist":{"shasum":"5f33b92bacf299aec0a66186bbcb8937f0ce5d09","tarball":"https://registry.npmjs.org/@aptoma/aoi-smart-crop/-/aoi-smart-crop-0.1.3.tgz","integrity":"sha512-l07UsHPKLwsFWXwbHhjw9ANL+FQ+08HvIw0nmE5T9ryFXF1q/1mD+BhOBuI5HUJTvCaur+b9Dq7aaHPqDRbOrQ==","signatures":[{"sig":"MEQCIBb57aHgqQwev4R0ibM+f4IFk+y6HRfb/LL0vd5V5EQHAiByjq7VEzaDP8/sQrtNhBt/OxVscj+vigtr0o4kOLE6vg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","files":["README.md","lib"],"engines":{"node":">=8"},"gitHead":"a922ddf2de79aecfbb86bb0eb2d1ee61be615791","scripts":{"lint":"eslint lib","test":"mocha lib/**/*.test.js","watch":"mocha --watch 'lib/**/*.js' --timeout 500"},"_npmUser":{"name":"aptoma","email":"npm@aptoma.com"},"repository":{"url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git","type":"git"},"_npmVersion":"5.6.0","description":"Helper library for doing smart crops of images based on area of interest data","directories":{},"_nodeVersion":"8.9.4","dependencies":{"qs":"^6.5.1"},"eslintConfig":{"env":{"es6":true,"node":true,"mocha":true},"extends":"@aptoma/eslint-config"},"devDependencies":{"chai":"^4.1.2","mocha":"^4.0.1","eslint":"^4.8.0","@aptoma/eslint-config":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/aoi-smart-crop-0.1.3.tgz_1515486342799_0.1139490723144263","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"@aptoma/aoi-smart-crop","version":"0.1.4","author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","_id":"@aptoma/aoi-smart-crop@0.1.4","maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"homepage":"https://github.com/aptoma/aoi-smart-crop#readme","bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"dist":{"shasum":"9bf2829720a157ef9cecaffca4efa176e818e3e6","tarball":"https://registry.npmjs.org/@aptoma/aoi-smart-crop/-/aoi-smart-crop-0.1.4.tgz","integrity":"sha512-siXRFAH7mK3uSqZqh9/LJErp1rYK+PkPLpmQD5uOt8HGKVvV3ajBF4/1RRd69nKdHTsiT6zFAzZKb1WQ5JwP4g==","signatures":[{"sig":"MEUCIDJ+55SzA8d3OSWFrjDh4tDbwf0DGTSwEuVrtJ5JvusIAiEAg3geyf15t096+tEvAu+MeH/bTTqULZfIKTmzg9PRLCU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","files":["README.md","lib"],"engines":{"node":">=8"},"gitHead":"e8d6a680c904153566b3c30e5b7a268337e5f47b","scripts":{"lint":"eslint lib","test":"mocha lib/**/*.test.js","watch":"mocha --watch 'lib/**/*.js' --timeout 500"},"_npmUser":{"name":"aptoma","email":"npm@aptoma.com"},"repository":{"url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git","type":"git"},"_npmVersion":"5.6.0","description":"Helper library for doing smart crops of images based on area of interest data","directories":{},"_nodeVersion":"8.9.4","dependencies":{"qs":"^6.5.1"},"eslintConfig":{"env":{"es6":true,"node":true,"mocha":true},"extends":"@aptoma/eslint-config"},"devDependencies":{"chai":"^4.1.2","mocha":"^4.0.1","eslint":"^4.8.0","@aptoma/eslint-config":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/aoi-smart-crop-0.1.4.tgz_1517579477149_0.9137056618928909","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"@aptoma/aoi-smart-crop","version":"0.1.5","author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","_id":"@aptoma/aoi-smart-crop@0.1.5","maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"homepage":"https://github.com/aptoma/aoi-smart-crop#readme","bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"dist":{"shasum":"95eb1a5fc0ffa851c7b9cd5c9acdda1d86746ff7","tarball":"https://registry.npmjs.org/@aptoma/aoi-smart-crop/-/aoi-smart-crop-0.1.5.tgz","integrity":"sha512-9Pdtj5IDoJo3QiGuxpvUCyQWssWUkspK0fgIg3W23O+e/Fm4vsFDhNaKYd/ad2l3O07aHbh9X0IAgoW9afwdZA==","signatures":[{"sig":"MEUCIQCq48QXXEMuCSNFQObQlvKJfCcnvss3z1aaOdnh4JpxmwIgV8vfakyOc1YDq7RHwFsY/T888jTVB9nK3M/8gixdPKw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","files":["README.md","lib"],"engines":{"node":">=8"},"gitHead":"d79a801698944f2a664690bfa5ba74d661fe8c93","scripts":{"lint":"eslint lib","test":"mocha lib/**/*.test.js","watch":"mocha --watch 'lib/**/*.js' --timeout 500"},"_npmUser":{"name":"aptoma","email":"npm@aptoma.com"},"repository":{"url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git","type":"git"},"_npmVersion":"5.6.0","description":"Helper library for doing smart crops of images based on area of interest data","directories":{},"_nodeVersion":"8.9.4","dependencies":{"qs":"^6.5.1"},"eslintConfig":{"env":{"es6":true,"node":true,"mocha":true},"extends":"@aptoma/eslint-config"},"devDependencies":{"chai":"^4.1.2","mocha":"^4.0.1","eslint":"^4.8.0","@aptoma/eslint-config":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/aoi-smart-crop-0.1.5.tgz_1517579592331_0.7368150050751865","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@aptoma/aoi-smart-crop","version":"0.2.0","author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","_id":"@aptoma/aoi-smart-crop@0.2.0","maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"homepage":"https://github.com/aptoma/aoi-smart-crop#readme","bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"dist":{"shasum":"67f94de9184bc057d98f9ef88896e9201ca85172","tarball":"https://registry.npmjs.org/@aptoma/aoi-smart-crop/-/aoi-smart-crop-0.2.0.tgz","fileCount":7,"integrity":"sha512-+szJB6fR1gTOGw54jfPNCTWY+G4+M/JVsXL3PRReTM/JT6vSx2pMWC+kQzq2UnvMzp7u8rh5lqwNT1lP94GSug==","signatures":[{"sig":"MEQCIHbDm9Z9Ewpw/FBdyLwSU41DfHlD/nEp3W58I/WlKJXCAiBIeV6eqXV4PZwR0kSTzyBUK2QWucrK2qswmCTHJEy47g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21783},"main":"lib/index.js","files":["README.md","lib"],"engines":{"node":">=8"},"gitHead":"286d78852123c6c708242c7fc984407c90b812d2","scripts":{"lint":"eslint lib","test":"mocha lib/**/*.test.js","watch":"mocha --watch 'lib/**/*.js' --timeout 500"},"_npmUser":{"name":"aptoma","email":"npm@aptoma.com"},"repository":{"url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git","type":"git"},"_npmVersion":"5.6.0","description":"Helper library for doing smart crops of images based on area of interest data","directories":{},"_nodeVersion":"8.9.4","dependencies":{"qs":"^6.5.1"},"eslintConfig":{"env":{"es6":true,"node":true,"mocha":true},"extends":"@aptoma/eslint-config"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","mocha":"^4.0.1","eslint":"^4.8.0","@aptoma/eslint-config":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/aoi-smart-crop_0.2.0_1519372958720_0.8124390407718451","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"@aptoma/aoi-smart-crop","version":"0.2.1","author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","_id":"@aptoma/aoi-smart-crop@0.2.1","maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"homepage":"https://github.com/aptoma/aoi-smart-crop#readme","bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"dist":{"shasum":"51a2f5e9bf5e56271704e35539f4966b347545a5","tarball":"https://registry.npmjs.org/@aptoma/aoi-smart-crop/-/aoi-smart-crop-0.2.1.tgz","fileCount":7,"integrity":"sha512-JAS2v3Undxa3pvw0Fwc17tFu9OYdegLT/giIs2/2U3wwS+oASGCKxM7mio+8ONGkFi2zEWHfk9FQaAL8SqlSzw==","signatures":[{"sig":"MEQCIBcCSgmQUqO597rpKhjoVWnnDVPrcemznD/zPCDRfNfGAiButmgJkT5Z57MUYuwzMVuLVqFFRI66t5rCdsSWe8IbHA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21810},"main":"lib/index.js","files":["README.md","lib"],"engines":{"node":">=8"},"gitHead":"54d322c7a1e73fae1000cf9951faa8a7c3b2731f","scripts":{"lint":"eslint lib","test":"mocha lib/**/*.test.js","watch":"mocha --watch 'lib/**/*.js' --timeout 500"},"_npmUser":{"name":"aptoma","email":"npm@aptoma.com"},"repository":{"url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git","type":"git"},"_npmVersion":"5.6.0","description":"Helper library for doing smart crops of images based on area of interest data","directories":{},"_nodeVersion":"8.9.4","dependencies":{"qs":"^6.5.1"},"eslintConfig":{"env":{"es6":true,"node":true,"mocha":true},"extends":"@aptoma/eslint-config"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","mocha":"^4.0.1","eslint":"^4.8.0","@aptoma/eslint-config":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/aoi-smart-crop_0.2.1_1519373225227_0.3774121925189149","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@aptoma/aoi-smart-crop","version":"0.3.0","author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","_id":"@aptoma/aoi-smart-crop@0.3.0","maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"homepage":"https://github.com/aptoma/aoi-smart-crop#readme","bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"dist":{"shasum":"244a8325bcf7f0cd878d01f47c52aef754aac81d","tarball":"https://registry.npmjs.org/@aptoma/aoi-smart-crop/-/aoi-smart-crop-0.3.0.tgz","fileCount":8,"integrity":"sha512-Z2aIcYKxcIyxDuTvfJTmkJ2j17i4CUeMug1yeF2wWju0ZFNbXiHp5ItTtDE7nn4ihn9bJ4ILuzkdNH+qhdaoVg==","signatures":[{"sig":"MEUCICl1pEOphQVQYojDUejF9U6YtWPF6MZwSuTdYcy+t6OQAiEA/vB5nHLSx9zp7WXekbyQlJKpe8UjJ+bkC0sKt87E5XU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbO1FKCRA9TVsSAnZWagAAlikP/2w3j23nSmGd5z1rncnM\nS7ABffrgoT+5ZbxcnhWZQnoYWaILPVDlrB9oaqUs9bknX3UOzWtxblo+rQHP\nBVh1yXM6o1vnonr3FpbOkNVrOee0zXsEtFzoVA4e49QDtb/pyBDSDQ73MnlK\n3M1YaDAPM4FmdGznLavEEvVVsF6lG+JUzavGZxpDCKk2I/6IpDWyhl/972K9\nKi8Vg2ciCblEBJXVKZoWeywxNkbH4QXdBokjqERD6Cj+hM7YE9B9qfhAcT6A\nJZt4wm4klYw7l5QjYEK772xjzxMuJgIdRdls+ppitYX6lMJVKQVmEvJWjV0e\n3qnMguu2n7n0MnBoUBqjo1Xw3XBMw8ihgDoZH44g8YxkwxWQe0eW/MWEf5ji\naXrXxflAL6+vk6DV28VmlbNtZE9U6wc1adk9S63FJoc7v8bxpH4SwsXH1Oj/\nMsbqGO74iIJz5x4XUAM0m969GszHvjB/wQqyma85EoF4AY5Fp57gGDjfaE4v\nRpN/u39n7pNnBNOcf+nsdTxkZEPDUYP66xmYagonlqbdDiJ6K9INQp5eIPWj\nAtH94kkXXy+gQgLN0+MscblR0snnQIdVSqTFrqmR7tPjYfi5FnlLpauaf54k\n3tQm2AWaGOiqmeKlEgGd6J+g7jxqyGV7HfijrC6AoyVRgqrjm96mvalRl18v\nPi03\r\n=IcRf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","files":["README.md","lib"],"engines":{"node":">=8"},"gitHead":"c9c7c2f9399b54d476f8559a64292642266b943d","scripts":{"lint":"eslint lib","test":"mocha lib/**/*.test.js","watch":"mocha --watch 'lib/**/*.js' --timeout 500"},"_npmUser":{"name":"aptoma","email":"npm@aptoma.com"},"repository":{"url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git","type":"git"},"_npmVersion":"5.6.0","description":"Helper library for doing smart crops of images based on area of interest data","directories":{},"_nodeVersion":"8.10.0","dependencies":{"qs":"^6.5.1"},"eslintConfig":{"env":{"es6":true,"node":true,"mocha":true},"extends":"@aptoma/eslint-config"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","mocha":"^4.0.1","eslint":"^4.8.0","@aptoma/eslint-config":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/aoi-smart-crop_0.3.0_1530614090204_0.30296392998476795","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"@aptoma/aoi-smart-crop","version":"0.3.1","author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","_id":"@aptoma/aoi-smart-crop@0.3.1","maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"homepage":"https://github.com/aptoma/aoi-smart-crop#readme","bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"dist":{"shasum":"8c2d15205c53c13fffef886d3ac92d0a1604f43f","tarball":"https://registry.npmjs.org/@aptoma/aoi-smart-crop/-/aoi-smart-crop-0.3.1.tgz","fileCount":8,"integrity":"sha512-Vk3/oEG8ZtMSORRaxSzVAGluXhS8smHA7NVUt8l6DJuCehXRUcwdUl/mIBhmbh2oy5QYtBvTPrf2KCR8WRNyoA==","signatures":[{"sig":"MEUCIQD43DWK7PqqOxMz3+z0I7Z7OzKneBunwcSY5FvCeFgq9wIgLtzke4Jr8jPdmAS1v31D0Lgbyq7wN3UcGIO4PrEhrco=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23155,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbsdDlCRA9TVsSAnZWagAAMmwP/jMG8EdArN3kvqPABUrR\ns8XgG1G5meEuZu2s4eI4ejAbr/jo1YOft8xAKOqzjuDOVHSOlih9a++d/c5S\nOWMQfBds4KTqYHH4uqPkWe0g9qB9ZlV4Sxno7JJkE50XWWJO6mC3J2afBlLj\ntZu/NATVdbl8slswj3oC5fYMf9ELbmHeu4tljGXMQOL1Lm3W1lCO4AgKSoR+\n9jAmfhxhkt0EiugUKc9sR8j66exepX1DOqRspdIhlB0P3fwOmmLHU9F761J2\ny4bQu7QtwcjQs9KjZO7c4M8wB1VdfOEmZKW35RKdTEDzkVDuQ8BoTbFWQuuO\nXCxkwGWu7vbBH4UJ2NPKmHG7cUYLShd4WW9GFjzZNqRArj6hbS0rpECZs01y\nXKNeI5rEdDvSZGsGrNc38gNG88wEvPRlydqUHwluj8jVwI2Z0JUsE4uMMucH\nZLIYNZIUhX3WSZXBP2WuLQmytYgdzbYjU+l2WviqUj86ocoqReIw3VqbW4rl\n7l2SlTJ313hXcJzrbNQUw+i6fcg0DpK/pvVUd5xhVadVHNZPrhmi2aIy4189\n2gaeb5ejmH4wYzFbTUqtRBZUGcqf1rOyQJ6hu6GkzxrPvVjjw2XD40pP9J/0\nGEKgEiOYBlKohMwwg84AFLkylRpVSWycwi5YQAFAmtYwXU2cpw8VqcRDFSfe\n+oL/\r\n=vyYB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","engines":{"node":">=8"},"gitHead":"a8c9c7da89a367e99b74f9b45c39f41e4960a8b3","scripts":{"lint":"eslint lib","test":"mocha lib/**/*.test.js","watch":"mocha --watch 'lib/**/*.js' --timeout 500"},"_npmUser":{"name":"aptoma","email":"npm@aptoma.com"},"repository":{"url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git","type":"git"},"_npmVersion":"5.5.1","description":"Helper library for doing smart crops of images based on area of interest data","directories":{},"_nodeVersion":"8.7.0","dependencies":{"qs":"^6.5.1"},"eslintConfig":{"env":{"es6":true,"node":true,"mocha":true},"extends":"@aptoma/eslint-config"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","mocha":"^4.0.1","eslint":"^4.8.0","@aptoma/eslint-config":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/aoi-smart-crop_0.3.1_1538380005069_0.10666753775610327","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"@aptoma/aoi-smart-crop","version":"0.4.0","author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","_id":"@aptoma/aoi-smart-crop@0.4.0","maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"homepage":"https://github.com/aptoma/aoi-smart-crop#readme","bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"dist":{"shasum":"e311b77ade9ca480daa9527be5e201e5da1fe785","tarball":"https://registry.npmjs.org/@aptoma/aoi-smart-crop/-/aoi-smart-crop-0.4.0.tgz","fileCount":8,"integrity":"sha512-U2fovaEbSBurraA0kxC9egPVQs4JhdO3aoHCj025ViKQsxU1NmJkui0EzClARtiq3s3doz4PzzsBMWm9uDoqBQ==","signatures":[{"sig":"MEUCIQDRplkB74vQHCxDHh0IXXjpSC2sWz/DovHwE86cUO8ibwIga9A5hdmeHNU5BS6Z2PigWFTKilhqQdLqnomfYeRAotU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtMXjCRA9TVsSAnZWagAA6vIP/j57B1A+5GroWERVQ1xo\nRZXvp3hY1es384CzNf01g3gPmKwoUOc8Cx0Mf6d1LIVgAQkPoV0xslxxC5DD\ndJthleUcYkkaS6dCumeXnJVTPViWJ/YlgvSNvszhnj27xndA5s+ft9X/u7i7\n180gPObIgYrAxDQP7Se9bfytFotymvVoJwfzCRG+BMb7P/IOv1ycJWtPzGgB\n/22ajQbzQkoc4mThQbmlY27SM/+Wjh17IoqOwGoljaZrB6ToyBgB3BFGerN0\n5XGahEZcsXN0vnZUVV0nrM1I0JuaQl5aOdqLiN2JWh3LZFOCvgHMka7JODJj\nXFeU8dLilqU37YYboAy8dXf1lV/gPnM5vqpw7gxBJPdXdoO51gbaVKN13scV\nU+1z4i0gTmERgnxdWbF89+D+M6G6mr6WezVYhH4ETlYzGrsHmvunnMad6HTM\nqCev7pBzO+Nlm9bfQO94K/fsR7ztnf2dNJoL6pq3mI0SC6xxRd8xUkjw2/5+\nnPMBgzbIM644jkLuINaZ9IxKF5XRI65+TI8rBXpOsfbXaLgZty3ZXxLWEM9w\nJvaFDzsugNuvnK/zjkCNB6V2W7Cjn7F9S8hzMj+yO9Rshx19TTroaTok8wm5\nYJsNqKz9cfExNI4vQAp/fCHxBMel/Qi4qXmv/FCbONyHfsDi9BvtBQyHPJGX\nfSYx\r\n=Z8fq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","engines":{"node":">=8"},"gitHead":"8234e341ad05fe2b117aa5020b94cf1ebfc89766","scripts":{"lint":"eslint lib","test":"mocha lib/**/*.test.js","watch":"mocha --watch 'lib/**/*.js' --timeout 500"},"_npmUser":{"name":"aptoma","email":"npm@aptoma.com"},"repository":{"url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git","type":"git"},"_npmVersion":"5.6.0","description":"Helper library for doing smart crops of images based on area of interest data","directories":{},"_nodeVersion":"8.11.4","dependencies":{"qs":"^6.5.1"},"eslintConfig":{"env":{"es6":true,"node":true,"mocha":true},"extends":"@aptoma/eslint-config"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","mocha":"^4.0.1","eslint":"^4.8.0","@aptoma/eslint-config":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/aoi-smart-crop_0.4.0_1538573795042_0.03739884135199434","host":"s3://npm-registry-packages"}},"0.4.1":{"name":"@aptoma/aoi-smart-crop","version":"0.4.1","author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","_id":"@aptoma/aoi-smart-crop@0.4.1","maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"homepage":"https://github.com/aptoma/aoi-smart-crop#readme","bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"dist":{"shasum":"1b9eb8372bec5be1bf640aa036a546f457ea79c2","tarball":"https://registry.npmjs.org/@aptoma/aoi-smart-crop/-/aoi-smart-crop-0.4.1.tgz","fileCount":8,"integrity":"sha512-aTiN2hsyPc227F1f3dnsMgI4mvNYfnDfIa8HB5vlnJfASePgwezd0Iv19HjKuKA1jP03DV1bDgMbLpulJtiQlA==","signatures":[{"sig":"MEQCIEYVrQjcFD5YAFd3zU4xRDsJzYnOiQknPBPdqZBHdXDoAiAM3pvCB93qrxY+1pDrP7noNLk2R3gMFKZameaPaoRI4w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24018,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCRJzCRA9TVsSAnZWagAAvOcP+wb5XeWUsY2BhvklvOMF\nuCS43M094E/7+kswg2ZZxLNqaHiOT4+B4AiFKbYGa6wjOKvmwtDwZHWArVnH\nEuekqDQp1lQ2NlGTDlUsJEiDC+pnfaaBO67df4jgq50Nhscx1yKPO01iCbdc\nQD6eNu9W1s0XTOtETBcGP9mSfBMRCtmVr7rVzMNq8/P3JxbRdC4UIdlVMnxa\nJIwtyPhFvSv7UxbqgEqV96xuFs77XDwgZpPgMkaSGvCiXzcItuLL5pGTCojH\ntXNIXN1tVnkgqw9k9IuiTbHaLGdpvE52/Uf9pg9VuvtHMznphIzbTY4J9PCX\npufNhpvnR/x/0zJM3AmhZtNlGT9C90USNTgxGOErvneK3+GzUp3HCzPlgiFS\n1jV5obwcrWdqAE/LWkSm6T/v1IRRxllw5rRgag9yOCc0SP1pt9GnEpDIPJ2S\ns/Pn7BOrsuP8mUQX0WlU5MiNRtTqRbvvN0S4Gn6qCv1+4Y07bv31+y3hmEkr\n+MLDGsG/S0xizk0zudGZiHtGfKa7QgZFCSCYJsjF1eW0Oydl2BVGXJICk4ix\n1KO1dUJgdiV4oYxktEN9ST6TmVvarh+A5L3/NyygKLiUutKNK5NtDGxMj6qb\nVCKPo9aJM4uZ5ztUtUsmg6vwMpjIC/kJegdBX7UWlQw8UCnog4mX7rXatOkk\nDC8E\r\n=2q1s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","engines":{"node":">=8"},"gitHead":"48df3ff00c740c42a7c7d0eeadd4501a1c29d483","scripts":{"lint":"eslint lib","test":"mocha lib/**/*.test.js","watch":"mocha --watch 'lib/**/*.js' --timeout 500","release":"npm run prerelease && release-it -n -i patch","prerelease":"npm run lint && npm run test","release:major":"npm run prerelease && release-it -n -i major","release:minor":"npm run prerelease && release-it -n -i minor"},"_npmUser":{"name":"aptoma","email":"npm@aptoma.com"},"repository":{"url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git","type":"git"},"_npmVersion":"6.1.0","description":"Helper library for doing smart crops of images based on area of interest data","directories":{},"_nodeVersion":"10.4.1","dependencies":{"qs":"^6.6.0"},"eslintConfig":{"env":{"es6":true,"node":true,"mocha":true},"extends":"@aptoma/eslint-config"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^5.2.0","eslint":"^5.9.0","release-it":"^8.2.0","@aptoma/eslint-config":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/aoi-smart-crop_0.4.1_1544098419313_0.3372651029159759","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@aptoma/aoi-smart-crop","version":"1.0.0","author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","_id":"@aptoma/aoi-smart-crop@1.0.0","maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"homepage":"https://github.com/aptoma/aoi-smart-crop#readme","bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"dist":{"shasum":"df524736a7ea8a266024b7eb157754dc6d55eac1","tarball":"https://registry.npmjs.org/@aptoma/aoi-smart-crop/-/aoi-smart-crop-1.0.0.tgz","fileCount":8,"integrity":"sha512-L2XnMqratsDixi5arMcfAFTkYt+AWTBANFwYR9XTfeXNrq+g8LcI7oVkkzizgpJd1n9Bdl52KC345gdxrbhv+Q==","signatures":[{"sig":"MEQCIGzgEQ+YmJ5qYSatTl58c9XSwNKwC+tzvsAhPZqP7RADAiAMJSRUIXW+UZq2kYf+1ISseHHF8J1fEBvjwC8IhVtH9w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24018,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5uCWCRA9TVsSAnZWagAAwb8P/34FZyQzBPBc2ceyi1sK\n9goJfC/CihvgEE15+WZ2mKyMRwEjql/JGkY1FzhBP/HAB/4Ef/ClZgGG8Uje\nRqY164Q6wYR6xrJoKUmknMGMchA96nr3ER/diRdKBB1aGVN9aiKJPTUCg2Dt\nSetBg+fgF/XwX03VCiP0+ad2RC8FIxyZ7AxBodNvga7Na3kWP5z/DjW31nSE\nPDekmmdWIGpht4oHlikS8zVVf1BCWGgl5BQ5GqgU8sUTyn27iGiv/awUWDV0\nPz4ClPN+IP8lKtGT8zCE9uLcIObcw//+WWfyz62JNqbwXt1oxft5gpJzHLTK\nLc52xaJ1R8kgLD24sb7M1c3IthE8MZfiF+CQnpFHZddcUr2QBq9Zosvl0ojg\ns70wdSinnYq4YUGDbahIa5AycVuSZzAoNkWsqpfVqb7Qe7YTuqBsw2hcdLdq\niRfHSriASvHPODKYHm4SspvLUYWUiMiAzDkwEKfnyqLXmD7rnLVKONLNPUaO\n83tbl10VOg8rOYT+gOfEAQZScVV1rt4tv1/gpkrPvdRaIoVnHwE8aiH3mTCm\nUOESAEr0RZuP9/OZ2dIs7l65ePvUGT0bljLSj3ANZSBWaovKre+a8WJRYqcl\nv8RGu1avBCt4lfg927ujpr0ljwqg1xzLa7b/WY+hGbsOvK7glF1H8k2f90bI\nsrFJ\r\n=gffC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","engines":{"node":">=14"},"gitHead":"da0a1f6823837a7ad756eecca26adc9e19d50d7d","scripts":{"lint":"eslint lib","test":"mocha lib/**/*.test.js","watch":"mocha --watch 'lib/**/*.js' --timeout 500","release":"npm run prerelease && release-it -i patch","prerelease":"npm run lint && npm run test","release:major":"npm run prerelease && release-it -i major","release:minor":"npm run prerelease && release-it -i minor"},"_npmUser":{"name":"aptoma","email":"npm@aptoma.com"},"repository":{"url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git","type":"git"},"_npmVersion":"7.19.1","description":"Helper library for doing smart crops of images based on area of interest data","directories":{},"_nodeVersion":"14.16.0","dependencies":{"qs":"^6.10.1","crypto-js":"^4.0.0"},"eslintConfig":{"env":{"es6":true,"node":true,"mocha":true},"extends":"@aptoma/eslint-config"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.4","mocha":"^9.0.2","eslint":"^7.30.0","release-it":"^14.10.0","auto-changelog":"^2.3.0","@aptoma/eslint-config":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/aoi-smart-crop_1.0.0_1625743510426_0.37774122031441637","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@aptoma/aoi-smart-crop","version":"1.0.1","author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","_id":"@aptoma/aoi-smart-crop@1.0.1","maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"homepage":"https://github.com/aptoma/aoi-smart-crop#readme","bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"dist":{"shasum":"e85752d840445da376cfad0f77b716cf8a50886e","tarball":"https://registry.npmjs.org/@aptoma/aoi-smart-crop/-/aoi-smart-crop-1.0.1.tgz","fileCount":8,"integrity":"sha512-Yt+hmFPZ51h/GFIRmigXHpgOJB9qIwnxyMKRDu+RGfoejH99Av1CmmwQpDPEH0LcYEAwY5i9CwoEhuUhhhyO1w==","signatures":[{"sig":"MEYCIQDFxKK2pv0ZaKmoOz3Ytn2WcWDxgoRnB3ZyHC9NJhI3UgIhAJyFkc/plFzqsWCyVPAOj5EXzp3S/D1YnWMlwt6NxN/3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24018,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXpprACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpG+w/5AfESTBExmZrAGG4G4clCqA2y6XpSrmXW195YsFhYZbDIHwWj\r\nM6rZcV8X/qgI8tw0RxpMkNNvROXFoCsdq3I6C4xnZksP7yKJkCCbAjU7LsRq\r\nhDKHJrMQLLqmnyq8wMKb/Sk+4RA7zdp5xjwImlEPeTQLbxioneN8r5EcJcMo\r\ngNWWKS6JIU86hhHcCF85jV2xQs9P4U581RJBxY5Qn8xcxuAUtqvU6K7xyjPx\r\nGXGG2uRoZ3egUgefDicQjCt+gmxGsTPo8J/dJGQL6a6C9HAJ33j2tUA4Kpjy\r\nBr8Ls3d5sSlciB9ZJ7B0Fw4b5QgrIeg4ijGKPFhL++oLPUjOgkK5UT+9ktMA\r\nm8CE2lszcXNG/GVYj7xEWbQSywY3AclLpU+g3817MDhBF/5jXO7A1IhAcbpQ\r\nYfkePj+I0L+qNvIm6q1RZh5FQQWmAtpDWozTpeESKrGTQqfCNnlQPhoK8YSx\r\nDZ6gtrnHp5jT1DHxkBXBkA1T7KK7soCCcr4o9q24yqstZBIP2dskvQxVpF2p\r\nOT2DUHH6/iUaey0PG+FbEx5lLR1JIJ6KC/ZJsKxASznJv0TALZ0vImRnJP8q\r\nNSz8Zp1kSplZcWkyvN+JYnXacO8KlJBGt4ezgwT3vy5z90hZIgrN38pDtYbn\r\nEB89ipgQbHWR5m0P/oVlKZLTShQnbMKv1+Y=\r\n=ThRu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","engines":{"node":">=14"},"gitHead":"edfaae6ca14f0ea3c6e47eb1e697903a25492074","scripts":{"lint":"eslint lib","test":"mocha lib/**/*.test.js","watch":"mocha --watch 'lib/**/*.js' --timeout 500","release":"npm run prerelease && release-it -i patch","prerelease":"npm run lint && npm run test","release:major":"npm run prerelease && release-it -i major","release:minor":"npm run prerelease && release-it -i minor"},"_npmUser":{"name":"aptoma","email":"npm@aptoma.com"},"repository":{"url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git","type":"git"},"_npmVersion":"8.3.1","description":"Helper library for doing smart crops of images based on area of interest data","directories":{},"_nodeVersion":"16.14.0","dependencies":{"qs":"^6.10.3","crypto-js":"^4.1.1"},"eslintConfig":{"env":{"es6":true,"node":true,"mocha":true},"extends":"@aptoma/eslint-config"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^9.2.2","eslint":"^8.13.0","release-it":"^14.14.2","auto-changelog":"^2.4.0","@aptoma/eslint-config":"^7.0.1"},"_npmOperationalInternal":{"tmp":"tmp/aoi-smart-crop_1.0.1_1650367083436_0.5021111121805601","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@aptoma/aoi-smart-crop","version":"1.0.2","author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","_id":"@aptoma/aoi-smart-crop@1.0.2","maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"homepage":"https://github.com/aptoma/aoi-smart-crop#readme","bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"dist":{"shasum":"7eb7e6a8d2d66afcc4a9769f2087ad4e5974d189","tarball":"https://registry.npmjs.org/@aptoma/aoi-smart-crop/-/aoi-smart-crop-1.0.2.tgz","fileCount":8,"integrity":"sha512-fCm8keV0XtUPPWelOoFfKn5QbDKclEATk8gz4abJWIcQG1AeaTv0fIvhWsgwaqlSYsPshJhn4FrIBLxCEu//6g==","signatures":[{"sig":"MEQCIAkaCYwdA+bj+33DMDC6sNWtMOxy6GwODsM8mUyouLiZAiAlPeeNzaVWFMK2S9w0xboEchW9e8aeYvecoFj6+zx/5g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24020},"main":"lib/index.js","engines":{"node":">=18"},"gitHead":"dde9dd18a806b6aa5b2ea2ccf888b5c3e366c0c6","scripts":{"lint":"eslint lib","test":"mocha lib/**/*.test.js","watch":"mocha --watch 'lib/**/*.js' --timeout 500","release":"npm run prerelease && release-it -i patch","prerelease":"npm run lint && npm run test","release:major":"npm run prerelease && release-it -i major","release:minor":"npm run prerelease && release-it -i minor"},"_npmUser":{"name":"aptoma","email":"npm@aptoma.com"},"repository":{"url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git","type":"git"},"_npmVersion":"10.2.3","description":"Helper library for doing smart crops of images based on area of interest data","directories":{},"_nodeVersion":"20.10.0","dependencies":{"qs":"^6.12.1"},"eslintConfig":{"env":{"es6":true,"node":true,"mocha":true},"extends":"@aptoma/eslint-config"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.4.1","mocha":"^10.4.0","eslint":"^8.57.0","release-it":"^17.2.1","auto-changelog":"^2.4.0","@aptoma/eslint-config":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aoi-smart-crop_1.0.2_1715073660864_0.3597105737238735","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@aptoma/aoi-smart-crop","repository":{"type":"git","url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git"},"version":"1.0.3","description":"Helper library for doing smart crops of images based on area of interest data","main":"lib/index.js","scripts":{"lint":"biome check","prerelease":"npm run lint && npm run test","release":"npm run prerelease && release-it -i patch","release:minor":"npm run prerelease && release-it -i minor","release:major":"npm run prerelease && release-it -i major","test":"node --test lib","watch":"node --test --watch lib"},"author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","dependencies":{"qs":"^6.12.1"},"devDependencies":{"@biomejs/biome":"^2.5.9","auto-changelog":"^2.4.0","release-it":"^20.2.1"},"engines":{"node":">=18"},"gitHead":"81ccc0d0cc01977796cbb9161cc797da1072555e","_id":"@aptoma/aoi-smart-crop@1.0.3","bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"homepage":"https://github.com/aptoma/aoi-smart-crop#readme","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-bdHp1qS8vJC2Y7658nwMSsjro4CI7YkHuBR61vWb7KW2gpYLgqznLCKZqwDuJtEjGdPoAkEpsYSJoO5u6V0lmA==","shasum":"323a7e01b9632b2606bd42761f23fa3ec2bcc562","tarball":"https://registry.npmjs.org/@aptoma/aoi-smart-crop/-/aoi-smart-crop-1.0.3.tgz","fileCount":8,"unpackedSize":23994,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDSEmvENxtSH9a+x8yLtR9Z7/Ydyg1Lx6QeE/5UzO3uwAIgPvRxPmoURN9ys0esLS7X7Lh/lLyZk/wZ1x05nGamlXo="}]},"_npmUser":{"name":"aptoma","email":"npm@aptoma.com"},"directories":{},"maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aoi-smart-crop_1.0.3_1787298004108_0.9049782481555191"},"_hasShrinkwrap":false}},"time":{"created":"2017-10-24T10:03:55.870Z","modified":"2026-08-21T07:40:04.417Z","0.1.0":"2017-10-24T10:03:55.870Z","0.1.1":"2017-10-24T10:06:05.051Z","0.1.2":"2017-10-24T10:06:58.997Z","0.1.3":"2018-01-09T08:25:43.771Z","0.1.4":"2018-02-02T13:51:18.039Z","0.1.5":"2018-02-02T13:53:13.403Z","0.2.0":"2018-02-23T08:02:38.870Z","0.2.1":"2018-02-23T08:07:05.357Z","0.3.0":"2018-07-03T10:34:50.260Z","0.3.1":"2018-10-01T07:46:45.229Z","0.4.0":"2018-10-03T13:36:35.146Z","0.3.2":"2018-12-06T12:12:54.951Z","0.4.1":"2018-12-06T12:13:39.424Z","1.0.0":"2021-07-08T11:25:10.564Z","1.0.1":"2022-04-19T11:18:03.636Z","1.0.2":"2024-05-07T09:21:01.018Z","1.0.3":"2026-08-21T07:40:04.261Z"},"bugs":{"url":"https://github.com/aptoma/aoi-smart-crop/issues"},"author":{"name":"Gunnar Lium","email":"gunnar@aptoma.com"},"license":"MIT","homepage":"https://github.com/aptoma/aoi-smart-crop#readme","repository":{"type":"git","url":"git+ssh://git@github.com/aptoma/aoi-smart-crop.git"},"description":"Helper library for doing smart crops of images based on area of interest data","maintainers":[{"name":"aptoma","email":"npm@aptoma.com"}],"readme":"Area of Interest Smart Cropper\n==============================\n\nCreate smart crops from area of interest data.\n\nThis lib is designed to be used with images served by Aptoma's Smooth Storage service, but the crop calculations should\nbe applicable in other contexts.\n\nBy provding image data with area of interest and an optional focus point, you can generate data for different crops that\nyou can use to resize images.\n\nThe lib also provides a few helper functions to see how the crop relates to the original image, to allow further modifying\nthe crop.\n\nUsage:\n------\n\n```js\n'use strict';\n\nconst smartCrop = require('@aptoma/aoi-smart-crop');\n\n// Smooth Storage transform token, for signing image requests\nconst transformToken = '...';\n\n// The raw data of the image\nconst imageData = {\n    url: 'https://...',\n    width: 1200,\n    height: 800,\n    aoi: {\n        x: 200,\n        y: 100,\n        width: 500,\n        height: 300,\n        // Focus can be omitted, in which case the center of the area of interest will be used instead\n        focus: {\n            x: 400,\n            y: 200\n        },\n        // Origin is not used by the crop function, by you may use this do decide which mode to use\n        origin: 'auto|manual'\n    }\n};\n\nconst size = {\n\twidth: 300,\n\theight: 300\n};\n\nconst mode = smartCrop.modes.FOCUS_POINT;\n// const mode = smartCrop.modes.TIGHT_AREA_OF_INTEREST;\n// const mode = smartCrop.modes.TIGHT_AREA_OF_INTEREST_FOCUS_POINT;\n// const mode = smartCrop.modes.SAFE;\n\n// Get the crop coordinates matching your desired crop format and area of interesst\nconst cropData = smartCrop.getCrop(size, imageData, mode);\n\n// Get the url of the resized smart cropped image\n// NOTE: When using mode SAFE, the target size might be modified to include the entire area of interest\nconst imageUrl = smartCrop.getResizedImageUrl(imageData.url, cropData.size, {crop: cropData.crop}, transformToken);\n\n```\n\nModes\n-----\n\nThe smart cropper support different modes:\n\n### FOCUS_POINT\n\nFOUCS_POINT will create a large crop centered around either the provided focus point or the center of the area of interest.\n\nDepending on whether your requested format is wider or narrower than the area of interest, this will include either the\nfull width or height of the original image.\n\nThis mode will produce the most universally usable crop, as long as the original composition of the image is good.\n\n### TIGHT_AREA_OF_INTEREST\n\nTIGHT_AREA_OF_INTEREST will create a crop where the outer edges are confined by the area of interest. Again, whether width\nor height is prioritized depends on the requested format vs the area of interest format.\n\nAfter cutting around the edges, the crop will center around the middle of the area of interest. This mode might end up\ncutting out parts of the area of interest, if the area of intereset has a significantly different shape.\n\nThis mode can be used when you need to zoom in on the essential parts of the image, eg. when used for thumbnails or\notherwise space constrained areas. If you have a focus point for your image, TIGHT_AREA_OF_INTEREST_FOCUS_POINT can be a\nsafer choice when the format is tight as well.\n\n### TIGHT_AREA_OF_INTEREST_FOCUS_POINT\n\nTIGHT_AREA_OF_INTEREST_FOCUS_POINT is similar to TIGHT_AREA_OF_INTEREST, but centering after edge cutting will be on the\nspecified focus point. This risks leaving out large parts of the area of interest in place of content outside of the area\nof interest, but the benefit is that the focus point will always be included. This can prevent faces from being cut, when\nfaces are located near an edge, and the requested format is too different from the area of interest.\n\n### SAFE\n\nSAFE behaves similar to FOCUS_POINT, but after making the initial crop around the focus point, the crop will be moved\nto also include the entire area of interest. If necessary for preserving the entire area of interest, the final height\nmay be adjusted to no longer conform to ther requested format.\n\nThis mode should be used when it's more important that the entire area of interest is included, than getting the exact\ncrop format.\n\nUtility functions\n-----------------\n\nSmart Crop also provides utility functions to get some data about the crop.\n\n`smartCrop.getCuttableArea(areaOfInterest, crop)` will return an object containing how much more can be cut from each side\nwithout removing any of the area of interest. The values can be negative, which indicates that some parts have been cut.\n\n`smartCrop.getCutArea({width: originalWidth, height: originalHeight}, crop)` will return how much has been cut from each edge of the original image.\n\nThis data can be used to adjust the crop depending on the context, like making one of two images a bit taller to line up\nproperly.\n","readmeFilename":"README.md"}