{"_id":"@algonauti/ember-active-storage","_rev":"10-2d1545882f2ad558d0cc0fd53f453419","name":"@algonauti/ember-active-storage","dist-tags":{"latest":"2.3.0"},"versions":{"2.0.0":{"name":"@algonauti/ember-active-storage","version":"2.0.0","description":"Power your ember.js application with activestorage","keywords":["ember-addon","activestorage"],"license":"MIT","homepage":"https://github.com/algonauti/ember-active-storage","repository":{"type":"git","url":"https://github.com/algonauti/ember-active-storage.git"},"bugs":{"url":"https://github.com/algonauti/ember-active-storage/issues"},"scripts":{"build":"ember build --environment=production","lint":"npm-run-all --aggregate-output --continue-on-error --parallel 'lint:!(fix)'","lint:fix":"npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix","lint:hbs":"ember-template-lint .","lint:hbs:fix":"ember-template-lint . --fix","lint:js":"eslint . --cache","lint:js:fix":"eslint . --fix","start":"ember serve","test":"npm-run-all lint test:*","test:ember":"ember test","test:ember-compatibility":"ember try:each"},"dependencies":{"ember-cached-decorator-polyfill":"^0.1.1","ember-cli-babel":"^7.23.1","spark-md5":"^3.0.1"},"devDependencies":{"@ember/optional-features":"^2.0.0","@ember/test-helpers":"^2.2.3","@glimmer/component":"^1.0.4","@glimmer/tracking":"^1.0.4","babel-eslint":"^10.1.0","broccoli-asset-rev":"^3.0.0","ember-auto-import":"^1.10.1","ember-cli":"~3.25.2","ember-cli-dependency-checker":"^3.2.0","ember-cli-htmlbars":"^5.6.3","ember-cli-inject-live-reload":"^2.0.2","ember-cli-mirage":"0.4.9","ember-cli-sri":"^2.1.1","ember-cli-terser":"^4.0.1","ember-disable-prototype-extensions":"^1.1.3","ember-export-application-global":"^2.0.1","ember-load-initializers":"^2.1.2","ember-maybe-import-regenerator":"^0.1.6","ember-page-title":"^6.2.1","ember-qunit":"^5.1.3","ember-resolver":"^8.0.2","ember-source":"~3.25.1","ember-source-channel-url":"^3.0.0","ember-template-lint":"^3.1.1","ember-try":"^1.4.0","eslint":"^7.21.0","eslint-config-prettier":"^8.1.0","eslint-plugin-ember":"^10.2.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.3.1","loader.js":"^4.7.0","npm-run-all":"^4.1.5","prettier":"^2.2.1","qunit":"^2.14.0","qunit-dom":"^1.6.0"},"engines":{"node":"10.* || >= 12"},"ember":{"edition":"octane"},"ember-addon":{"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2018\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"@algonauti/ember-active-storage@2.0.0","dist":{"shasum":"d4d5a374e206493d8e5e779fad0d42cc263a2c59","integrity":"sha512-V3esLGZPjOaGGOAdVx318hikmNZMlAKIwauCa5uP8TCo6+7bn8EQKFezAG9fEpLAJKYDN/DDA+9oNd85KAgSJg==","tarball":"https://registry.npmjs.org/@algonauti/ember-active-storage/-/ember-active-storage-2.0.0.tgz","fileCount":23,"unpackedSize":17038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWcPvCRA9TVsSAnZWagAAz3AP/iQ4Y4+FUOi6VEuG5KLz\n0WbatJYEQ7u6paH1fqiTG9zOc4DZTepqNNELXzKPHEYor4DPgh8sZ6m5fqpc\nJbZyyw0try3EINZnKne1ckTAQHldslwUctAcKvp/RBLOzcd1fVovY5oGkTTc\ndbAN9W/cEtbgduwP+JrmZVTkyA0WJPgt967/8bXsUVRSHK5gQ2l3Gf3gGcx4\ng/Q5QlMekYh2R1tenjPrbTsqXqQUW/CHR+MFaVMGyfz9JNQmTqJ7DC93m0rh\nN81VsQXyMS79xv90FgVi3QcQ41O2l5KWhL/sQV0IoM/ypf+88QaEC9er+8pu\n3hlhfclD2ddyVrO/OnminiNULN3cPXFbVyenXs43oF5FOXOvO+FVGJETBKO6\ng4liD3NrDInyNVa1LnDIH1VVqvfcPceZkOOEOtKzW2rVvykhUHXQ15y05sVq\n0ilnpZSOtQxbeBJ2jun3xamTZTCdrUekalzEh1z3f+NVz+Kj0uZmDSUWpagx\nDuxMnrS/E4U9RxmqDjBxXd+fBzEVFUPYHve2lp4WHgk7miZWzwiPrkQTd7G4\nQgXcQbafR5YzADZwf9XjdPRBTWAgQV0dyBL6m3TSsZXayoc9ABbL5D42vv/1\nHS4VDgPvodPhB4N1HVA/zFHNMkjWvhZ7sRrWXkHgIbOzYZbsyfUhKAOT355k\ndalI\r\n=++Gt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhZb3Pc8HdWXg6yziONU+oFBwnoJecAjR0YRuZcHYiRwIgepVxaO9r9nxdCEGqMy5kBjaz36OTRf6swZSR2LHE8os="}]},"_npmUser":{"name":"safeforge","email":"safeforge@gmail.com"},"directories":{},"maintainers":[{"name":"safeforge","email":"safeforge@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ember-active-storage_2.0.0_1616495599381_0.820626319326734"},"_hasShrinkwrap":false},"2.0.1":{"name":"@algonauti/ember-active-storage","version":"2.0.1","description":"Power your ember.js application with activestorage","keywords":["ember-addon","activestorage"],"license":"MIT","homepage":"https://github.com/algonauti/ember-active-storage","repository":{"type":"git","url":"https://github.com/algonauti/ember-active-storage.git"},"bugs":{"url":"https://github.com/algonauti/ember-active-storage/issues"},"scripts":{"build":"ember build --environment=production","lint":"npm-run-all --aggregate-output --continue-on-error --parallel 'lint:!(fix)'","lint:fix":"npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix","lint:hbs":"ember-template-lint .","lint:hbs:fix":"ember-template-lint . --fix","lint:js":"eslint . --cache","lint:js:fix":"eslint . --fix","start":"ember serve","test":"npm-run-all lint test:*","test:ember":"ember test","test:ember-compatibility":"ember try:each"},"dependencies":{"ember-cached-decorator-polyfill":"^0.1.1","ember-cli-babel":"^7.23.1","spark-md5":"^3.0.1"},"devDependencies":{"@ember/optional-features":"^2.0.0","@ember/test-helpers":"^2.2.3","@glimmer/component":"^1.0.4","@glimmer/tracking":"^1.0.4","babel-eslint":"^10.1.0","broccoli-asset-rev":"^3.0.0","ember-auto-import":"^1.10.1","ember-cli":"~3.25.2","ember-cli-dependency-checker":"^3.2.0","ember-cli-htmlbars":"^5.6.3","ember-cli-inject-live-reload":"^2.0.2","ember-cli-mirage":"0.4.9","ember-cli-sri":"^2.1.1","ember-cli-terser":"^4.0.1","ember-disable-prototype-extensions":"^1.1.3","ember-export-application-global":"^2.0.1","ember-load-initializers":"^2.1.2","ember-maybe-import-regenerator":"^0.1.6","ember-page-title":"^6.2.1","ember-qunit":"^5.1.3","ember-resolver":"^8.0.2","ember-source":"~3.25.1","ember-source-channel-url":"^3.0.0","ember-template-lint":"^3.1.1","ember-try":"^1.4.0","eslint":"^7.21.0","eslint-config-prettier":"^8.1.0","eslint-plugin-ember":"^10.2.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.3.1","loader.js":"^4.7.0","npm-run-all":"^4.1.5","prettier":"^2.2.1","qunit":"^2.14.0","qunit-dom":"^1.6.0"},"engines":{"node":"10.* || >= 12"},"ember":{"edition":"octane"},"ember-addon":{"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2018\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"@algonauti/ember-active-storage@2.0.1","dist":{"shasum":"227ef884869afe8d43c63c7f2483d113f83dbd4e","integrity":"sha512-TV4YG5PO2apP1kKOOdA9G0hDYjOd9y76QNpQV+vVu37EL8MKCMv5kgeHAwDobgGXjN3hnPo2zWJgj31kji2d2w==","tarball":"https://registry.npmjs.org/@algonauti/ember-active-storage/-/ember-active-storage-2.0.1.tgz","fileCount":23,"unpackedSize":17093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWimmCRA9TVsSAnZWagAAzDMP/RpGj0iKnJDUPksEUwXV\nXxjYE2kZw1cdMz7sdjtrgfIt3BMVyMW4XPaYcPUd9VLVqZmoTtyUKDb+2REl\nhZtTVUKwkLmLyo39A8+78LW0LfJ0QzX2bw92QrO/1o152pCQq1uEp9BlnHzo\nQ2YRHpOIJ98TiDvf7+CGb4x7Bz9vJE3cdv3gcz9AiM2OJD2g5PKSGfmhb2I/\njoSQBj5eUWmWDm6jNCHolwHZB6UFGJpLhjlGbkY2F/2CF81fY2OAZp5C127O\nTuq72EiEYrxwvfOsJ1Y/tdaW5+jCCLDyuchLRJdoCGTtx+qzeXKfU7506QpB\nrabu4rU7Bul9fiJSazUIR/7WskpXu+G6PlFLs+PRVLqQXWj+EEk2AhQPhJaa\nonMmSc43RVkF77hmBE5PaXg6d6UNLGOBeLPWuYtM5ATgvtFIro6vKLqLaABe\nZ4r3UTYXyas7Wefav7SzjvvsGZvvbgWpizt/PJicFcwbHdvp5ncAsWHJvTgO\nk/Qe1RBRaEW9TWMtFOl6EyGF9JcT+f7ztWue80+mxuUCpuXAqAkiYO16K1xN\nl+c5kyI4xIGGAVdUx54lTbRim8uBI8T8GkjptZiIwazblHVFhdfG7j1ceLwx\nhQ2pWpIsvBsMJgK1Lt8QBccrG+ATpJb0N9LXwnGt7TTLez64fov8Z3dHvk2I\nsS1C\r\n=Xlux\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC/sm4uQFaM/YjLKAW1J1eFb9UTCCBTipaV7GPt7sNUeAiBD93/rli+J+8mcpkcpJd4VSDJ50A4yqPbOA/9h96jIdw=="}]},"_npmUser":{"name":"safeforge","email":"safeforge@gmail.com"},"directories":{},"maintainers":[{"name":"safeforge","email":"safeforge@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ember-active-storage_2.0.1_1616521637840_0.0641486141378631"},"_hasShrinkwrap":false},"2.0.2":{"name":"@algonauti/ember-active-storage","version":"2.0.2","description":"Power your ember.js application with activestorage","keywords":["ember-addon","activestorage"],"license":"MIT","homepage":"https://github.com/algonauti/ember-active-storage","repository":{"type":"git","url":"https://github.com/algonauti/ember-active-storage.git"},"bugs":{"url":"https://github.com/algonauti/ember-active-storage/issues"},"scripts":{"build":"ember build --environment=production","lint":"npm-run-all --aggregate-output --continue-on-error --parallel 'lint:!(fix)'","lint:fix":"npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix","lint:hbs":"ember-template-lint .","lint:hbs:fix":"ember-template-lint . --fix","lint:js":"eslint . --cache","lint:js:fix":"eslint . --fix","start":"ember serve","test":"npm-run-all lint test:*","test:ember":"ember test","test:ember-compatibility":"ember try:each"},"dependencies":{"ember-cli-babel":"^7.23.1","ember-cli-htmlbars":"^5.6.3","spark-md5":"^3.0.1"},"devDependencies":{"@ember/optional-features":"^2.0.0","@ember/test-helpers":"^2.2.3","@glimmer/component":"^1.0.4","@glimmer/tracking":"^1.0.4","babel-eslint":"^10.1.0","broccoli-asset-rev":"^3.0.0","ember-auto-import":"^1.10.1","ember-cli":"~3.25.2","ember-cli-dependency-checker":"^3.2.0","ember-cli-inject-live-reload":"^2.0.2","ember-cli-mirage":"0.4.9","ember-cli-sri":"^2.1.1","ember-cli-terser":"^4.0.1","ember-disable-prototype-extensions":"^1.1.3","ember-export-application-global":"^2.0.1","ember-load-initializers":"^2.1.2","ember-maybe-import-regenerator":"^0.1.6","ember-page-title":"^6.2.1","ember-qunit":"^5.1.3","ember-resolver":"^8.0.2","ember-source":"~3.25.1","ember-source-channel-url":"^3.0.0","ember-template-lint":"^3.1.1","ember-try":"^1.4.0","eslint":"^7.21.0","eslint-config-prettier":"^8.1.0","eslint-plugin-ember":"^10.2.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.3.1","loader.js":"^4.7.0","npm-run-all":"^4.1.5","prettier":"^2.2.1","qunit":"^2.14.0","qunit-dom":"^1.6.0"},"engines":{"node":"10.* || >= 12"},"ember":{"edition":"octane"},"ember-addon":{"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2018\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"@algonauti/ember-active-storage@2.0.2","dist":{"shasum":"374bf6becdf0e882e6264591a9f481930b734667","integrity":"sha512-odHWc9v/BZU/6Rvm8Ef/VjJwPlU1cP+wFf3AeALOBynNYgXE6H+OzaK3UaPMd/hJECQnRf3iAc7avcgfXZiArg==","tarball":"https://registry.npmjs.org/@algonauti/ember-active-storage/-/ember-active-storage-2.0.2.tgz","fileCount":29,"unpackedSize":19148,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbtm3CRA9TVsSAnZWagAAo88P/3pR/zHfhXn9mCWloVmx\n9WTcZfFgC7MffR6dIPdVEOMetZ9TgS+uw7TGcnoTU/Ers6qLBvnXp1xZJj9c\nTKFw8hpj55iFGMR9xNQD+38B+wKBQTsEJBGVXk7nF+fgEPOeTzwtasUvNj2e\n17+/KYCdT9jAwYxoEjfDlMtWLg3xelGDElz8ABNsR1nTNFTLu8DMI5Pyw63k\nNA5gzPuqekIn8gFN2ZtvZOqu//2zba/r7sRu9tB0Y7U8Wwlo46ofAU46PRE+\nNAYTri2NZ/piO0zJGRKr8DgxFSVhHvSvvut8Lg/OOMVZvQbqgB6lMzlr53/R\nFBPXRG34+Q+mrmVX3Pj4Wh81vObINL+SKWcm6kzqCzRVhL7zRpwSHdIOEymJ\nPjzAXIPZJmq0kt+FFO5tNRDkbfwwIb4qnu4ptdAJZ2c+hhAf3wXNZ4IYUVOk\nUstv4nzzKiNObD7MmSeBLMe7hejDLY/Gdd3Grrnpk8HAglzmFPW0g69tfhEq\nEcsiwQ5CyoZ6VsFLwbxHcgc1srgpEkbRDjszF+IqYJmcxA95t6fvj9f/wCD3\nTDZd56Kfrn+eFOCM40kj0xc6+cC53zpikl/RSK8naKSIdH2AjlTXnBFosuop\nVUhXt4jSt7IUeoLOH8VXr1DJVHyFTfJ7K4Fiy5CL4ChP+C9Arqi1KnnEyNh5\nXL0X\r\n=0h0S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHruj2+32DwnCMUo2EXLAmlxeYqiKCI8nZsqFbtaZsrQIgNZBeGg3XPr/XlNiuiSkWWTDBrxUWOB5Z0X33EoNsGmY="}]},"_npmUser":{"name":"safeforge","email":"safeforge@gmail.com"},"directories":{},"maintainers":[{"name":"safeforge","email":"safeforge@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ember-active-storage_2.0.2_1617877430900_0.2972028094458501"},"_hasShrinkwrap":false},"2.0.3":{"name":"@algonauti/ember-active-storage","version":"2.0.3","description":"Power your ember.js application with activestorage","keywords":["ember-addon","activestorage"],"license":"MIT","homepage":"https://github.com/algonauti/ember-active-storage","repository":{"type":"git","url":"https://github.com/algonauti/ember-active-storage.git"},"bugs":{"url":"https://github.com/algonauti/ember-active-storage/issues"},"scripts":{"build":"ember build --environment=production","lint":"npm-run-all --aggregate-output --continue-on-error --parallel 'lint:!(fix)'","lint:fix":"npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix","lint:hbs":"ember-template-lint .","lint:hbs:fix":"ember-template-lint . --fix","lint:js":"eslint . --cache","lint:js:fix":"eslint . --fix","start":"ember serve","test":"npm-run-all lint test:*","test:ember":"ember test","test:ember-compatibility":"ember try:each"},"dependencies":{"ember-cli-babel":"^7.23.1","ember-cli-htmlbars":"^5.6.3","spark-md5":"^3.0.1"},"devDependencies":{"@ember/optional-features":"^2.0.0","@ember/test-helpers":"^2.2.3","@glimmer/component":"^1.0.4","@glimmer/tracking":"^1.0.4","babel-eslint":"^10.1.0","broccoli-asset-rev":"^3.0.0","ember-auto-import":"^1.10.1","ember-cli":"~3.25.2","ember-cli-dependency-checker":"^3.2.0","ember-cli-inject-live-reload":"^2.0.2","ember-cli-mirage":"0.4.9","ember-cli-sri":"^2.1.1","ember-cli-terser":"^4.0.1","ember-disable-prototype-extensions":"^1.1.3","ember-export-application-global":"^2.0.1","ember-load-initializers":"^2.1.2","ember-maybe-import-regenerator":"^0.1.6","ember-page-title":"^6.2.1","ember-qunit":"^5.1.3","ember-resolver":"^8.0.2","ember-source":"~3.25.1","ember-source-channel-url":"^3.0.0","ember-template-lint":"^3.1.1","ember-try":"^1.4.0","eslint":"^7.21.0","eslint-config-prettier":"^8.1.0","eslint-plugin-ember":"^10.2.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.3.1","loader.js":"^4.7.0","npm-run-all":"^4.1.5","prettier":"^2.2.1","qunit":"^2.14.0","qunit-dom":"^1.6.0"},"engines":{"node":"10.* || >= 12"},"ember":{"edition":"octane"},"ember-addon":{"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2018\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"@algonauti/ember-active-storage@2.0.3","dist":{"shasum":"e18a7878d9b2b645103479f83391fac5c3aede5b","integrity":"sha512-2hgvzy65rKlWl1gQm/6Sao/iEzpRPBFRhYmoWTpcc9R6F/68A1p/6W/h7mI4ULuctQSPwMp9lUnSfPxxAv7QDw==","tarball":"https://registry.npmjs.org/@algonauti/ember-active-storage/-/ember-active-storage-2.0.3.tgz","fileCount":29,"unpackedSize":22962,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDajxr52egz9528lu1gdJhyJjgAcWHdUiydjyZD9Bhn5gIhAIKA/AaAWzF1l5rDdgHCbvrtE2B/tchjE9HYMlibGPQE"}]},"_npmUser":{"name":"safeforge","email":"safeforge@gmail.com"},"directories":{},"maintainers":[{"name":"safeforge","email":"safeforge@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ember-active-storage_2.0.3_1632299201372_0.6453233204586395"},"_hasShrinkwrap":false},"2.1.1":{"name":"@algonauti/ember-active-storage","version":"2.1.1","description":"Power your ember.js application with activestorage","keywords":["ember-addon","activestorage"],"license":"MIT","homepage":"https://github.com/algonauti/ember-active-storage","repository":{"type":"git","url":"https://github.com/algonauti/ember-active-storage.git"},"bugs":{"url":"https://github.com/algonauti/ember-active-storage/issues"},"scripts":{"build":"ember build --environment=production","lint":"npm-run-all --aggregate-output --continue-on-error --parallel 'lint:!(fix)'","lint:fix":"npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix","lint:hbs":"ember-template-lint .","lint:hbs:fix":"ember-template-lint . --fix","lint:js":"eslint . --cache","lint:js:fix":"eslint . --fix","start":"ember serve","test":"npm-run-all lint test:*","test:ember":"ember test","test:ember-compatibility":"ember try:each"},"dependencies":{"ember-cli-babel":"^7.26.6","ember-cli-htmlbars":"^5.7.1","spark-md5":"^3.0.2"},"devDependencies":{"@ember/optional-features":"^2.0.0","@ember/test-helpers":"^2.4.2","@embroider/test-setup":"^0.43.5","@glimmer/component":"^1.0.4","@glimmer/tracking":"^1.0.4","babel-eslint":"^10.1.0","broccoli-asset-rev":"^3.0.0","ember-auto-import":"^2.2.4","ember-cli":"~3.28.4","ember-cli-dependency-checker":"^3.2.0","ember-cli-inject-live-reload":"^2.1.0","ember-cli-mirage":"^2.2.0","ember-cli-sri":"^2.1.1","ember-cli-terser":"^4.0.2","ember-disable-prototype-extensions":"^1.1.3","ember-export-application-global":"^2.0.1","ember-load-initializers":"^2.1.2","ember-maybe-import-regenerator":"^0.1.6","ember-page-title":"^6.2.2","ember-qunit":"^5.1.4","ember-resolver":"^8.0.2","ember-source":"~3.28.0","ember-source-channel-url":"^3.0.0","ember-template-lint":"^3.6.0","ember-try":"^1.4.0","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-ember":"^10.5.4","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.4.1","eslint-plugin-qunit":"^6.2.0","loader.js":"^4.7.0","npm-run-all":"^4.1.5","prettier":"^2.3.2","qunit":"^2.16.0","qunit-dom":"^1.6.0","webpack":"^5.64.4"},"engines":{"node":"12.* || 14.* || >= 16"},"ember":{"edition":"octane"},"ember-addon":{"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2021\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"@algonauti/ember-active-storage@2.1.1","dist":{"shasum":"b21c2e45595cc7d249e6123b51b731f4749d721a","integrity":"sha512-0Wdop/BsUSsCfnxgwKCcauxG2cTMYpZap1OwoqrXGVyS7Y6Z+l8dJiBX302JEGRdNcYaHkBXYK8DyLRxbhTlQg==","tarball":"https://registry.npmjs.org/@algonauti/ember-active-storage/-/ember-active-storage-2.1.1.tgz","fileCount":26,"unpackedSize":22324,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqJ+rCRA9TVsSAnZWagAAvC4QAI+Veu50gTyBL6/EK+p+\nNJD+iDtT6FlZQcFSYDcNIcuBYYpdGOlnmwpx6lCKuhny50nLOSuop0QZiDbL\nWufw3VWi7o4B6KrJMoViffEIZ9a49ye65zPgRA2REUB5WnAl0/X4Kf5rKT/L\nENntjGsLqxumVaoEAzztDKHcWbFhdMK4rOe7ZBsV7YuIIJcuw/dxOWfCsi9g\n0rqRYgA9IBk0NHzdNkZ3LCFeH3bh+UTWTGl1oGFbKZL+etk39kWMT2GVKA00\ne4o4LPJYrXxYgSKMM8Qv+kxFlXUHGR7yXxuw2LbFcz9TyozAze6KBKv1Ih/Z\n5ijceCDGsifaGH8U9Fzbign2h2ik7cSF8KYonV6TgoxJ0ApgmViMv0qMfI7c\nVuJ1g3+vRbn/wGtXowlEDaPvBUJuhO3VkOywCkynK6KwxLcMPITU0tYht0VU\nFrWtlPBVJ0x++RzSoeeL/yVrcEDFm4+gvCLsc9XK6VROLEY3ZtRh+41lTaia\n+OY7e+GJpNuhuXDnBDlBpOqmTNlW+DhNMiYvDSKs/pkOf+iIRD+IaGRvgR13\nQFRG0OBZproxTYJO2m6x7LGmkZTQvKXaRq8XoR7XRy+mrcJUJsMbDAVLUMpG\nRs8nXKkKh9HSwOojBdpl2WxwCx0g6sCfd9clfmlDEARFZ/IpJRvdfEVEZAvk\ny6FN\r\n=EfZC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCu+n2X1dT/pL9wmC7xmewvKja1NfEijzcEK186pQ4DcQIgJlwOjrK31KVo4XId7HTsiVTzncvHN4hMtERhr9JJHAY="}]},"_npmUser":{"name":"safeforge","email":"safeforge@gmail.com"},"directories":{},"maintainers":[{"name":"safeforge","email":"safeforge@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ember-active-storage_2.1.1_1638440875705_0.8291299408496424"},"_hasShrinkwrap":false},"2.2.0":{"name":"@algonauti/ember-active-storage","version":"2.2.0","description":"Power your ember.js application with activestorage","keywords":["ember-addon","activestorage"],"license":"MIT","homepage":"https://github.com/algonauti/ember-active-storage","repository":{"type":"git","url":"https://github.com/algonauti/ember-active-storage.git"},"bugs":{"url":"https://github.com/algonauti/ember-active-storage/issues"},"scripts":{"build":"ember build --environment=production","lint":"npm-run-all --aggregate-output --continue-on-error --parallel 'lint:!(fix)'","lint:fix":"npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix","lint:hbs":"ember-template-lint .","lint:hbs:fix":"ember-template-lint . --fix","lint:js":"eslint . --cache","lint:js:fix":"eslint . --fix","start":"ember serve","test":"npm-run-all lint test:*","test:ember":"ember test","test:ember-compatibility":"ember try:each"},"dependencies":{"ember-cli-babel":"^7.26.6","ember-cli-htmlbars":"^5.7.2","spark-md5":"^3.0.2"},"devDependencies":{"@ember/optional-features":"^2.0.0","@ember/test-helpers":"^2.6.0","@embroider/test-setup":"^0.48.1","@glimmer/component":"^1.0.4","@glimmer/tracking":"^1.0.4","babel-eslint":"^10.1.0","broccoli-asset-rev":"^3.0.0","ember-auto-import":"^2.2.4","ember-cli":"~3.28.4","ember-cli-dependency-checker":"^3.2.0","ember-cli-inject-live-reload":"^2.1.0","ember-cli-mirage":"^2.2.0","ember-cli-sri":"^2.1.1","ember-cli-terser":"^4.0.2","ember-disable-prototype-extensions":"^1.1.3","ember-export-application-global":"^2.0.1","ember-load-initializers":"^2.1.2","ember-maybe-import-regenerator":"^0.1.6","ember-page-title":"^6.2.2","ember-qunit":"^5.1.5","ember-resolver":"^8.0.3","ember-source":"~3.28.8","ember-source-channel-url":"^3.0.0","ember-template-lint":"^3.14.0","ember-try":"^1.4.0","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-ember":"^10.5.8","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.4.1","eslint-plugin-qunit":"^6.2.0","loader.js":"^4.7.0","npm-run-all":"^4.1.5","prettier":"^2.5.1","qunit":"^2.17.2","qunit-dom":"^1.6.0","webpack":"^5.65.0"},"engines":{"node":"12.* || 14.* || >= 16"},"ember":{"edition":"octane"},"ember-addon":{"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2021\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"@algonauti/ember-active-storage@2.2.0","dist":{"shasum":"bb0fb05fbebc813c5708fde1b0e92284a968256f","integrity":"sha512-JgumLQ9PIs/8Se6zuldVxj07h3UodSjY58anV4uNIpwQfVrhfZ938Km7/Tiy2FPGpeh/EjuHWzUvyVOGxAIU3g==","tarball":"https://registry.npmjs.org/@algonauti/ember-active-storage/-/ember-active-storage-2.2.0.tgz","fileCount":26,"unpackedSize":22360,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+942N/wUpQ84YfGHo2S7WGhulvhBBYKcECfvv6BBlxgIhALGuOJDcKDSCJfHoZ/gBcmM4L1CUuEH4/bDXnN8qnc0Y"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjCdHgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5NRAAgoDlUKxrkICoXP4E8ubIEWbfpu1mrnuAykDFv4KQVkKDJPGZ\r\nio6oHRD0wKzoLp906T5OFjSerW6xAmkY4uXxD1Uy3kCXgyskVi0GVe4kPZDy\r\n2molfPSp3r6WF2ezGce/wZnv2RNxQAtZJyX4gOaPrtz7jYUY0UUG5ZSMeLv8\r\nYbkJBX0AKC0As1VTRRfAgmPrKoRtxyLGkqN1Yk62JNcV9d8HaHH9nIx+/HRp\r\n+y2/xeHn1rm2aJ4oxKmFHSvFjFFmE7qJLuYqMd16MWju5mMfwuw5e1auh5WP\r\nnJnJYqbbY3J36ru+js4wZN2g9TnAn/NbI/Exrv815TQl/jTTS+FmwtO1LzSG\r\n+oj9RFuMeRdVfhB3k6rotx+ob1B1iX1s8mmcagOKqzKIcx/wLzknbnUVwH9D\r\ndCbeJkVzjcN9ppMJS654PjikITkHqnvzZu30R/PeyP5j2HB1IY4UZBYD/7sB\r\n54uiUgFtaEn802UCkGSmK6zMkhNN82BY0rAyVaTmxWipD8vMwc7ReLgRPT/x\r\nMC6/Bv+dcuRigxKUE5b/1OR7wi0mzjlcUnR6tQu/yux1LS1l+/XiO4ZV2gbo\r\nhVrZvoBP0aOzuk47rzuNcH7DMydBK/vWMJY6uCNcBcUzA6V8R5ur/zQHS8rx\r\nxHiTHdC7dTAgqD19yIJfOPg8INnVEk+iiwc=\r\n=jvZo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"safeforge","email":"safeforge@gmail.com"},"directories":{},"maintainers":[{"name":"safeforge","email":"safeforge@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ember-active-storage_2.2.0_1661587936496_0.4719185403834707"},"_hasShrinkwrap":false},"2.2.1":{"name":"@algonauti/ember-active-storage","version":"2.2.1","description":"Power your ember.js application with activestorage","keywords":["ember-addon","activestorage"],"license":"MIT","homepage":"https://github.com/algonauti/ember-active-storage","repository":{"type":"git","url":"https://github.com/algonauti/ember-active-storage.git"},"bugs":{"url":"https://github.com/algonauti/ember-active-storage/issues"},"scripts":{"build":"ember build --environment=production","lint":"npm-run-all --aggregate-output --continue-on-error --parallel 'lint:!(fix)'","lint:fix":"npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix","lint:hbs":"ember-template-lint .","lint:hbs:fix":"ember-template-lint . --fix","lint:js":"eslint . --cache","lint:js:fix":"eslint . --fix","start":"ember serve","test":"npm-run-all lint test:*","test:ember":"ember test","test:ember-compatibility":"ember try:each"},"dependencies":{"ember-cli-babel":"^7.26.6","ember-cli-htmlbars":"^5.7.2","spark-md5":"^3.0.2"},"devDependencies":{"@ember/optional-features":"^2.0.0","@ember/test-helpers":"^2.6.0","@embroider/test-setup":"^0.48.1","@glimmer/component":"^1.0.4","@glimmer/tracking":"^1.0.4","babel-eslint":"^10.1.0","broccoli-asset-rev":"^3.0.0","ember-auto-import":"^2.2.4","ember-cli":"~3.28.4","ember-cli-dependency-checker":"^3.2.0","ember-cli-inject-live-reload":"^2.1.0","ember-cli-mirage":"^2.2.0","ember-cli-sri":"^2.1.1","ember-cli-terser":"^4.0.2","ember-disable-prototype-extensions":"^1.1.3","ember-export-application-global":"^2.0.1","ember-load-initializers":"^2.1.2","ember-maybe-import-regenerator":"^0.1.6","ember-page-title":"^6.2.2","ember-qunit":"^5.1.5","ember-resolver":"^8.0.3","ember-source":"~3.28.8","ember-source-channel-url":"^3.0.0","ember-template-lint":"^3.14.0","ember-try":"^1.4.0","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-ember":"^10.5.8","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.4.1","eslint-plugin-qunit":"^6.2.0","loader.js":"^4.7.0","npm-run-all":"^4.1.5","prettier":"^2.5.1","qunit":"^2.17.2","qunit-dom":"^1.6.0","webpack":"^5.65.0"},"engines":{"node":"12.* || 14.* || >= 16"},"ember":{"edition":"octane"},"ember-addon":{"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2021\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"@algonauti/ember-active-storage@2.2.1","dist":{"shasum":"6d4cbb330addc7602a6438ea892d8b4410d8074b","integrity":"sha512-wskdYblZjds5hAM7NPG72qxunucg7SfUxxVGwOMzXfvqJZ1rlT/escOKdQH+oDYW8OIKVDsSSWAC4WxM6dVUpg==","tarball":"https://registry.npmjs.org/@algonauti/ember-active-storage/-/ember-active-storage-2.2.1.tgz","fileCount":26,"unpackedSize":23734,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcb3yMtVHlRr+xJZAmcYUlV3GNengB4gLvws9P8wsWOgIgTLleMO/RMuF22wPdUhDp6Php/lAixB7IGuRA/H/+LoM="}]},"_npmUser":{"name":"safeforge","email":"safeforge@gmail.com"},"directories":{},"maintainers":[{"name":"safeforge","email":"safeforge@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ember-active-storage_2.2.1_1686044990262_0.9385580785634524"},"_hasShrinkwrap":false},"2.3.0":{"name":"@algonauti/ember-active-storage","version":"2.3.0","description":"Power your ember.js application with activestorage","keywords":["ember-addon","activestorage"],"license":"MIT","homepage":"https://github.com/algonauti/ember-active-storage","repository":{"type":"git","url":"https://github.com/algonauti/ember-active-storage.git"},"bugs":{"url":"https://github.com/algonauti/ember-active-storage/issues"},"scripts":{"build":"ember build --environment=production","lint":"npm-run-all --aggregate-output --continue-on-error --parallel 'lint:!(fix)'","lint:fix":"npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix","lint:hbs":"ember-template-lint .","lint:hbs:fix":"ember-template-lint . --fix","lint:js":"eslint . --cache","lint:js:fix":"eslint . --fix","start":"ember serve","test":"npm-run-all lint test:*","test:ember":"ember test","test:ember-compatibility":"ember try:each"},"dependencies":{"ember-cli-babel":"^7.26.6","ember-cli-htmlbars":"^5.7.2","spark-md5":"^3.0.2"},"devDependencies":{"@ember/optional-features":"^2.0.0","@ember/test-helpers":"^2.6.0","@embroider/test-setup":"^0.48.1","@glimmer/component":"^1.0.4","@glimmer/tracking":"^1.0.4","babel-eslint":"^10.1.0","broccoli-asset-rev":"^3.0.0","ember-auto-import":"^2.2.4","ember-cli":"~3.28.4","ember-cli-dependency-checker":"^3.2.0","ember-cli-inject-live-reload":"^2.1.0","ember-cli-mirage":"^2.2.0","ember-cli-sri":"^2.1.1","ember-cli-terser":"^4.0.2","ember-disable-prototype-extensions":"^1.1.3","ember-export-application-global":"^2.0.1","ember-load-initializers":"^2.1.2","ember-maybe-import-regenerator":"^0.1.6","ember-page-title":"^6.2.2","ember-qunit":"^5.1.5","ember-resolver":"^8.0.3","ember-source":"~3.28.8","ember-source-channel-url":"^3.0.0","ember-template-lint":"^3.14.0","ember-try":"^1.4.0","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-ember":"^10.5.8","eslint-plugin-node":"^11.1.0","eslint-plugin-prettier":"^3.4.1","eslint-plugin-qunit":"^6.2.0","loader.js":"^4.7.0","npm-run-all":"^4.1.5","prettier":"^2.5.1","qunit":"^2.17.2","qunit-dom":"^1.6.0","webpack":"^5.65.0"},"engines":{"node":"12.* || 14.* || >= 16"},"ember":{"edition":"octane"},"ember-addon":{"configPath":"tests/dummy/config"},"licenseText":"The MIT License (MIT)\n\nCopyright (c) 2021\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"@algonauti/ember-active-storage@2.3.0","dist":{"shasum":"5ec021ef707e44907c6d1b4e2f75af6176811c6a","integrity":"sha512-GT3xZ7twQZbrTQ5Ba1HPEEaVz1dPtsY28WEJ/jl/Ciy+1WN8qb6sD6jnJuEMlVJeBWIike1aaTZ8C3nvsY2aaw==","tarball":"https://registry.npmjs.org/@algonauti/ember-active-storage/-/ember-active-storage-2.3.0.tgz","fileCount":26,"unpackedSize":23734,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDia3fukJF2gCLV0OFqnsFn8kS5KTVwMUvIEDAUpt0IOAiBSFlrUejwXLM8x+AOYstIkXGDUP8H2557jvcBmL+zykg=="}]},"_npmUser":{"name":"safeforge","email":"safeforge@gmail.com"},"directories":{},"maintainers":[{"name":"safeforge","email":"safeforge@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ember-active-storage_2.3.0_1686045356081_0.6042814107339931"},"_hasShrinkwrap":false}},"time":{"created":"2021-03-23T10:33:19.205Z","2.0.0":"2021-03-23T10:33:19.504Z","modified":"2023-06-06T09:55:56.368Z","2.0.1":"2021-03-23T17:47:18.104Z","2.0.2":"2021-04-08T10:23:51.032Z","2.1.0":"2021-04-12T09:34:41.223Z","2.0.3":"2021-09-22T08:26:41.533Z","2.1.1":"2021-12-02T10:27:55.865Z","2.2.0":"2022-08-27T08:12:16.681Z","2.2.1":"2023-06-06T09:49:50.458Z","2.3.0":"2023-06-06T09:55:56.246Z"},"maintainers":[{"name":"safeforge","email":"safeforge@gmail.com"}],"description":"Power your ember.js application with activestorage","homepage":"https://github.com/algonauti/ember-active-storage","keywords":["ember-addon","activestorage"],"repository":{"type":"git","url":"https://github.com/algonauti/ember-active-storage.git"},"bugs":{"url":"https://github.com/algonauti/ember-active-storage/issues"},"license":"MIT","readme":"# ember-active-storage\n\n[![CI](https://github.com/algonauti/ember-active-storage/workflows/CI/badge.svg)](https://github.com/algonauti/ember-active-storage/actions)\n[![Ember Observer Score](https://emberobserver.com/badges/-algonauti-ember-active-storage.svg)](https://emberobserver.com/addons/@algonauti/ember-active-storage)\n\n## Installation\n\n```\nember install @algonauti/ember-active-storage\n```\n\n## Usage\n\nThe addon provides an `activeStorage` service that allows you to:\n\n- send files to your Rails backend's direct upload controller;\n- listen to upload progress events.\n\nAssuming your template has a file input like:\n\n```hbs\n<input type=\"file\" {{on \"change\" (fn this.upload)}} />\n```\n\nand your ember model has an `avatar` attribute defined as `has_one_attached :avatar` on its corresponding Active Record model, then in your component (or controller) the `upload` action would look like:\n\n```javascript\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { inject as service } from '@ember/service';\n\nexport default class UploadComponent extends Component {\n  @service\n  activeStorage;\n\n  @tracked\n  uploadProgress = 0;\n\n  @action\n  upload(event) {\n    const files = event.target.files;\n    if (files) {\n      const directUploadURL = '/rails/active_storage/direct_uploads';\n\n      for (var i = 0; i < files.length; i++) {\n        this.activeStorage\n          .upload(files.item(i), directUploadURL, {\n            onProgress: (progress, event) => {\n              this.uploadProgress = progress;\n            },\n          })\n          .then((blob) => {\n            const signedId = blob.signedId;\n\n            this.model.avatar = signedId;\n          });\n      }\n    }\n  }\n}\n```\n\n- `directUploadURL` is the path referencing `ActiveStorage::DirectUploadsController` on your Rails backend (or a custom one built on top of that).\n- The `uploadProgress` property will hold a value between 0 and 100 that you might use in your template to show upload progress.\n- After the `upload` promise is resolved and `signedId` is set in your model, when a `model.save()` is triggered, the Rails backend will use such `signedId` to associate an `ActiveStorage::Attachment` record to your backend model's record.\n\n\n### Events\n\n`loadstart`, `load`, `loadend`, `error`, `abort`, `timeout` events invokes `onLoadstart`, `onLoad`, `onLoadend`, `onError`, `onAbort`, `onTimeout` accordingly. For example; If you want to use the `loadend` event in your app, you can use like;\n\n```javascript\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { inject as service } from '@ember/service';\n\nexport default class UploadComponent extends Component {\n  @service\n  activeStorage;\n\n  @tracked\n  uploadProgress = 0;\n\n  @action\n  upload(event) {\n    const files = event.target.files;\n    if (files) {\n      const directUploadURL = '/rails/active_storage/direct_uploads';\n\n      for (var i = 0; i < files.length; i++) {\n        this.activeStorage\n          .upload(files.item(i), directUploadURL, {\n            onProgress: (progress, event) => {\n              this.uploadProgress = progress;\n            },\n            onLoadend: (event) => {\n              debug(`Event captured ${event}`); // https://developer.mozilla.org/en-US/docs/Web/API/ProgressEvent\n            },\n          })\n          .then((blob) => {\n            const signedId = blob.signedId;\n\n            this.model.avatar = signedId;\n          });\n      }\n    }\n  }\n}\n```\n\n\n### XHR object\n\nIf you need the actual `XHR object` in your app, you can use the `onXHROpened` event. It returns the `XHR object` reference. For example:\n\n```javascript\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { inject as service } from '@ember/service';\n\nexport default class UploadComponent extends Component {\n  @service\n  activeStorage;\n\n  @tracked\n  uploadProgress = 0;\n\n  @tracked\n  xhrs = [];\n\n  @action\n  upload(event) {\n    const files = event.target.files;\n    if (files) {\n      const directUploadURL = '/rails/active_storage/direct_uploads';\n\n      for (var i = 0; i < files.length; i++) {\n        this.activeStorage\n          .upload(files.item(i), directUploadURL, {\n            onProgress: (progress, event) => {\n              this.uploadProgress = progress;\n            },\n            onXHROpened: (xhr) => {\n              this.xhrs.push(xhr);  // so you can loop over this.xhrs and invoke abort()\n            },\n          })\n          .then((blob) => {\n            const signedId = blob.signedId;\n\n            this.model.avatar = signedId;\n          });\n      }\n    }\n  }\n}\n```\n\n\n### Metadata\n\nActiveStorage supports metadata for direct uploads. That is a nice way to provide extra information to the rails app.\n\n```ruby\nclass DirectUploadsController < ActiveStorage::DirectUploadsController\n  def create\n    # blob_args[:metadata]['additional_type']\n    # => my_type\n    blob = ActiveStorage::Blob.create_before_direct_upload!(**blob_args)\n    render json: direct_upload_json(blob)\n  end\nend\n```\n\n```javascript\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { inject as service } from '@ember/service';\n\nexport default class UploadComponent extends Component {\n  @service\n  activeStorage;\n\n  @action\n  upload(event) {\n    const files = event.target.files;\n    if (files) {\n      const directUploadURL = '/rails/active_storage/direct_uploads';\n\n      for (var i = 0; i < files.length; i++) {\n        this.activeStorage\n          .upload(files.item(i), directUploadURL, {\n            metadata: {\n              additional_type: 'my_type'\n            },\n          })\n          .then((blob) => {\n            const signedId = blob.signedId;\n\n            this.model.avatar = signedId;\n          });\n      }\n    }\n  }\n}\n```\n\n\n### Configuration\n\nThere is an `ember-active-storage` ENV config with only one parameter called `url`. With this config help, you can omit the upload url now. For example:\n\n```javascript\nENV['ember-active-storage'] = {\n  url: 'http://your-domain/rails/active_storage/direct_uploads',\n};\n```\n\nNow you can call the upload function without the upload url.\n\n```javascript\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { tracked } from '@glimmer/tracking';\nimport { inject as service } from '@ember/service';\n\nexport default class UploadComponent extends Component {\n  @service\n  activeStorage;\n\n  @tracked\n  uploadProgress = 0;\n\n  @action\n  upload(event) {\n    const files = event.target.files;\n    if (files) {\n      for (var i = 0; i < files.length; i++) {\n        this.activeStorage\n          .upload(files.item(i), {\n            onProgress: (progress, event) => {\n              this.uploadProgress = progress;\n            },\n          })\n          .then((blob) => {\n            const signedId = blob.signedId;\n\n            this.model.avatar = signedId;\n          });\n      }\n    }\n  }\n}\n```\n\n### Sending authentication headers\n\nIt's pretty common that you want to protect with authentication the direct uploads endpoint on your Rails backend. If that's the case, the `activeStorage` service will need to send authentication headers together with the direct upload request.\n\nTo achieve that, you'll need to extend the `activeStorage` service provided by the addon and add a `headers` computed property. For example, if you're using [ember-simple-auth](/simplabs/ember-simple-auth), it will be a 2-steps process. First you'll need to define an `authenticatedHeaders` computed property in your `session` service, like this:\n\n```javascript\n// app/services/session.js\nimport Service from '@ember/service';\nimport { inject as service } from '@ember/service';\n\nexport default class MySessionService extends Service {\n  @service\n  session;\n\n  get authenticatedHeaders() {\n    const { access_token } = this.session.authenticated;\n\n    return { Authorization: `Bearer ${access_token}` };\n  }\n}\n```\n\nThen, you will alias that property in your `activeStorage` service, like this:\n\n```javascript\n// app/services/active-storage.js\nimport ActiveStorage from '@algonauti/ember-active-storage/services/active-storage';\nimport { inject as service } from '@ember/service';\n\nexport default class ActiveStorageService extends ActiveStorage {\n  @service('my-session')\n  session;\n\n  get headers() {\n    this.session.authenticatedHeaders;\n  }\n}\n```\n\nAlso note: if the download endpoint is protected as well, and you're using an ajax request to download files, then don't forget to include the same headers in that request as well.\n\n## Contributing\n\n### Installation\n\n- `git clone <repository-url>`\n- `cd ember-active-storage`\n- `yarn install`\n\n### Linting\n\n- `yarn lint:js`\n- `yarn lint:js --fix`\n\n### Running tests\n\n- `ember test` – Runs the test suite on the current Ember version\n- `ember test --server` – Runs the test suite in \"watch mode\"\n- `yarn test` – Runs `ember try:each` to test your addon against multiple Ember versions\n\n### Running the dummy application\n\n- `ember serve`\n- Visit the dummy application at [http://localhost:4200](http://localhost:4200).\n\nFor more information on using ember-cli, visit [https://ember-cli.com/](https://ember-cli.com/).\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE.md).\n","readmeFilename":"README.md"}