{"_id":"@actualwave/ngrx-bindings","_rev":"34-0f45b99eec1194998900772b0c4a0b5b","name":"@actualwave/ngrx-bindings","dist-tags":{"latest":"0.0.18"},"versions":{"0.0.6":{"name":"@actualwave/ngrx-bindings","version":"0.0.6","description":"NGRX bindings for UI","repository":{"type":"git","url":"git+https://github.com/burdiuz/js-ngrx-bindings.git"},"keywords":["angular","ngrx","select","template","store","state"],"author":{"name":"Oleg Galaburda","email":"burdiuz@gmail.com","url":"http://actualwave.com/"},"license":"ISC","bugs":{"url":"https://github.com/burdiuz/js-ngrx-bindings/issues"},"homepage":"https://github.com/burdiuz/js-ngrx-bindings#readme","dependencies":{"tslib":"^1.13.0"},"peerDependencies":{"@angular/common":"^10.0.0","@angular/compiler":"^10.0.0","@angular/core":"^10.0.0","@ngrx/store":"^9.2.0","rxjs":"^6.5.4"},"main":"bundles/actualwave-ngrx-bindings.umd.js","module":"fesm2015/actualwave-ngrx-bindings.js","es2015":"fesm2015/actualwave-ngrx-bindings.js","esm2015":"esm2015/actualwave-ngrx-bindings.js","fesm2015":"fesm2015/actualwave-ngrx-bindings.js","typings":"actualwave-ngrx-bindings.d.ts","metadata":"actualwave-ngrx-bindings.metadata.json","sideEffects":false,"_id":"@actualwave/ngrx-bindings@0.0.6","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-IEGFASXafauMTI1qYDL/0BlQ/a7DIIyVGfeaA461L3FnM/WzPcXd0MJjAuUQ6s3tVBoWDqsRq1BA+dUsy3XCMw==","shasum":"28f3a3fe3e1af616cf0e25b7df37bf3fbf9c6bfb","tarball":"https://registry.npmjs.org/@actualwave/ngrx-bindings/-/ngrx-bindings-0.0.6.tgz","fileCount":57,"unpackedSize":404964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGdM/CRA9TVsSAnZWagAAel0QAInBjQCylKDOyHdtQBxc\nEOfxnJE19KwHK5mLOrECxdxxm+sgnSTyu3Po5hctbEF14+lY5sxqFj5PY5FC\nOx2RmVTGZJU2UKQjc4gZb4pe1EizZJfTsbammvwTFhJD5NLFGRlfOOfuQewk\nlGUa3hu6bzriwyojfE0DL66itOtPxTCcJN1UjlBFMIwDY/r3y3oRDwUc3M2/\nRNGGbSrnGbILtQM+a9CZ38Pe4T+EVvJzBnp9wyGNX7f++WrE/3PH3U0uYqMG\nBUwMOwVrE3xTn8EejFZnq45rBKuVIwaiHjU8wwoT6+dVBe8d6/Z2izUOYx6b\nStdhdR5C+niPwLA50SewJM3fZjYMVSFwIeGri/9w3tnHxsrwHTX5YHyYbMBj\ntpu7R/Iv8nvi9t6UGWXu7IT7D55dr0aVLMYbzZ9O+j1QVFxJQf5IGT9H4phk\nctU0i1+QjgVHMsE+JfZgB9bD8ufnH4/EX7ZkPL+UPN8Zbl9nHxL0ICPuOwXq\nc1A5aPCx9EkalNkxUnH5fTI+FoIlc6C//NTxwGKRVxLTqNBHY98k9uv/m9O4\naud+ggbeFiEtdvVjAQ0cF9x1tpa62FZ21W6uoOM/k3obxsIom/sCZ9mXnRg2\nCtgczNNIwzV1V4eVOn7I2gf6fIqlUXEvJGg5rmuc2UcI2F7bXLfLXPpAPDZ3\nKc5W\r\n=yhsz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFwkIdNkrASR11gkRkc0+SMn+dvvWf7HkWGPqFRwS4wHAiEAvMaJlm3SMO+Y3zCyMU0b6DrVTEcfwNq1jIRBJGtuamY="}]},"maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngrx-bindings_0.0.6_1595527998688_0.06422229016664893"},"_hasShrinkwrap":false,"deprecated":"this package has been deprecated"},"0.0.7":{"name":"@actualwave/ngrx-bindings","version":"0.0.7","description":"NGRX bindings for UI","repository":{"type":"git","url":"git+https://github.com/burdiuz/js-ngrx-bindings.git"},"keywords":["angular","ngrx","select","template","store","state"],"author":{"name":"Oleg Galaburda","email":"burdiuz@gmail.com","url":"http://actualwave.com/"},"license":"ISC","bugs":{"url":"https://github.com/burdiuz/js-ngrx-bindings/issues"},"homepage":"https://github.com/burdiuz/js-ngrx-bindings#readme","dependencies":{"tslib":"^1.13.0"},"peerDependencies":{"@angular/common":"^10.0.0","@angular/compiler":"^10.0.0","@angular/core":"^10.0.0","@ngrx/store":"^9.2.0","rxjs":"^6.5.4"},"main":"bundles/actualwave-ngrx-bindings.umd.js","module":"fesm2015/actualwave-ngrx-bindings.js","es2015":"fesm2015/actualwave-ngrx-bindings.js","esm2015":"esm2015/actualwave-ngrx-bindings.js","fesm2015":"fesm2015/actualwave-ngrx-bindings.js","typings":"actualwave-ngrx-bindings.d.ts","metadata":"actualwave-ngrx-bindings.metadata.json","sideEffects":false,"_id":"@actualwave/ngrx-bindings@0.0.7","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-HZ0R/zEzRGcNlchEtltEc7IZvjhpR9neMlmSCYgX/Ab3bfS/hS6Voky3fAZYbJF9omGf40sAF9Ls6bfP5TWI6w==","shasum":"a93c2b9f122876630314fda9c748c7abd2e3aabf","tarball":"https://registry.npmjs.org/@actualwave/ngrx-bindings/-/ngrx-bindings-0.0.7.tgz","fileCount":57,"unpackedSize":405884,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGdf0CRA9TVsSAnZWagAASSoP/3pUR/xknMZqkzcH9D1R\nXJAEmW6GQgPR6/e99sYHV/pkchySuh0ryFxjeXvFmOP6+azwsCn5xIx828EV\noNgOsrTqmAyKl0S0ijsPqOtd4Vgm7ORHPe1U5jFPti5zm+IessJkafxpsCeg\nsl/jQDXlf5nhq/CF8cZcZMac9FTfG6CV7UfbmAu70SIop7PF+yqxBGDmNvuK\nX7+VoWTNbhdS++msDOz26OXPyXLlB5mz1NjMVw1MFxpPVwwJyz/mSzZJO0v5\nB+XFUeou0fqHvLNUA3B73gTc5053bjR1TRMRTTVctTp0wZ7wCdS0GuXA3dou\nTr01pFMFLvLwZKk5GyB+hGjLL8QcQu+v9rwH7XOoY8v0utH6GT4Az6ZOTjPv\nIFVU4T5cBOI3Gedxc9gH4BJ5oFbFf/sjlKj41rfA0irjbfTeBinfjpMz6z1K\nLAvMmvkxlrs/1VMUDHPbxMfz0B8y4x1SWLgEhII2oaCBC62QoHnQ5QLr6Q79\n/lwPNkpW1RXbPthJPqBYJYoZFcJvEOQzD3sQ8IX8GD4VhDtWMr1zO8L6ZgJI\nJaYjl3yoT2/lbOkkMe77R1wqyNa7VNagsG5FxKHzss2O01YV6AfquNW2HdWY\nzgFwMCvE/2I7g7jkOieXPmGxEhwv4IvcaScrL1MKpk3aY3H4+0rSYXIKzXa9\nShAC\r\n=EXVF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBKl9ZzcLFOwZVRoQhHaATJAJd6/xOxPtxhpWp1fro4VAiA8VA3jWj6STWTZiHO+nkSTIvyKb+0IIK+slIvv2PFDPQ=="}]},"maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngrx-bindings_0.0.7_1595529203744_0.4291534890176829"},"_hasShrinkwrap":false,"deprecated":"this package has been deprecated"},"0.0.8":{"name":"@actualwave/ngrx-bindings","version":"0.0.8","description":"NGRX bindings for UI","repository":{"type":"git","url":"git+https://github.com/burdiuz/js-ngrx-bindings.git"},"keywords":["angular","ngrx","select","template","store","state"],"author":{"name":"Oleg Galaburda","email":"burdiuz@gmail.com","url":"http://actualwave.com/"},"license":"ISC","bugs":{"url":"https://github.com/burdiuz/js-ngrx-bindings/issues"},"homepage":"https://github.com/burdiuz/js-ngrx-bindings#readme","dependencies":{"tslib":"^1.13.0"},"peerDependencies":{"@angular/common":"^10.0.0","@angular/compiler":"^10.0.0","@angular/core":"^10.0.0","@ngrx/store":"^9.2.0","rxjs":"^6.5.4"},"main":"bundles/actualwave-ngrx-bindings.umd.js","module":"fesm2015/actualwave-ngrx-bindings.js","es2015":"fesm2015/actualwave-ngrx-bindings.js","esm2015":"esm2015/actualwave-ngrx-bindings.js","fesm2015":"fesm2015/actualwave-ngrx-bindings.js","typings":"actualwave-ngrx-bindings.d.ts","metadata":"actualwave-ngrx-bindings.metadata.json","sideEffects":false,"_id":"@actualwave/ngrx-bindings@0.0.8","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-vMr1+WTvwu5fH9rRxWQ+HlrbJhKDiyi5XXWWQk3mqD5Ka+wsqA+1dwz6J/tG7M/4IplYx87VXa3IAmltDqEE1Q==","shasum":"8445c0a4e59a4dd818b8e59f8aa03ee46d52b9d2","tarball":"https://registry.npmjs.org/@actualwave/ngrx-bindings/-/ngrx-bindings-0.0.8.tgz","fileCount":57,"unpackedSize":407695,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGfLFCRA9TVsSAnZWagAA+wMP/3qjHEWlQMX5J4Y5MAkv\nBcXhq5Scb2jwMVhuUM2FdYBvPsuEUymho818Dt3fQFiA+vHj3a0H1OQme+FJ\nlrMgtLN9/J7fwKzM3q0w/jJcpqa5eg2alFKqePW/c1pBssq2tmEe+2YypTBq\n0NVHaUwBj6t0xDhbTolDtVZGTRdWmSBZThUgAUrmX8kKtgZbcUcvpN/E9MAx\nr7guUIZcLwZ7LgNBA6xceFEjqW7vgsOoL/AANMxfpgJKh/V/vsnobT8wKPxI\n+Ulwq33600+0BBfti8rI2hLCA0csaBa8XY+XbiYFRJe1FcSPz8jkDL6til2d\nbdF/+mb28QCJkK5VONOFZdO0mUYAO6h98vwQFNQkpvV1zJw/WVQuMzEyJjXP\n56c9tb67WBGtWJSMRT/WIH4O11uLMwikwHCsK1Pq+l8eS1ZzYY1iYIUhzqMD\nG1XGNnfRYwkBkw+2f8kwpO/T5vjD3c76gWhitCAgA4OCu36zpw6WtTVCwc5y\nj4vIjelTjn/OLWfeu5od+DnOvPLp7Mk0tLnyzCBko98h0aeMa1c4PvqDbSbB\nMzSe0OVAVIQukJbfvjQfUYxf844wGfOK4SBUOLEqFWOATwLekA6+OwIkHqM4\nqbUg1m9hxarmMMG2T81Ipmh9aG2GfPLetR+H7rbxFbEa866LCuMejosQl1S/\n2TDg\r\n=XaiW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCArwhiJs3t1GG6f05V/ZPnkk1372Pv1EDRcR8StkO6lwIhAKCkZ0LqIGX3aEXBPYDXBHNBBYLRPyB5P2NXuvb4DFdF"}]},"maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngrx-bindings_0.0.8_1595536069170_0.14351653599814207"},"_hasShrinkwrap":false,"deprecated":"this package has been deprecated"},"0.0.9":{"name":"@actualwave/ngrx-bindings","version":"0.0.9","description":"NGRX bindings for UI","repository":{"type":"git","url":"git+https://github.com/burdiuz/js-ngrx-bindings.git"},"keywords":["angular","ngrx","select","template","store","state"],"author":{"name":"Oleg Galaburda","email":"burdiuz@gmail.com","url":"http://actualwave.com/"},"license":"ISC","bugs":{"url":"https://github.com/burdiuz/js-ngrx-bindings/issues"},"homepage":"https://github.com/burdiuz/js-ngrx-bindings#readme","dependencies":{"tslib":"^1.13.0"},"peerDependencies":{"@angular/common":"^10.0.0","@angular/compiler":"^10.0.0","@angular/core":"^10.0.0","@ngrx/store":"^9.2.0","rxjs":"^6.5.4"},"main":"bundles/actualwave-ngrx-bindings.umd.js","module":"fesm2015/actualwave-ngrx-bindings.js","es2015":"fesm2015/actualwave-ngrx-bindings.js","esm2015":"esm2015/actualwave-ngrx-bindings.js","fesm2015":"fesm2015/actualwave-ngrx-bindings.js","typings":"actualwave-ngrx-bindings.d.ts","metadata":"actualwave-ngrx-bindings.metadata.json","sideEffects":false,"_id":"@actualwave/ngrx-bindings@0.0.9","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-v/yyNBTFwaCeZCPbJmEItLmqDQIRv81+0hRQSDI2chl9fDDpDNulVHL8J8xL7UjTD/1Xqf7ZXTuYWevUB3/Wdw==","shasum":"41087b497571a8fc7de1f26c7bc9a88888b03b09","tarball":"https://registry.npmjs.org/@actualwave/ngrx-bindings/-/ngrx-bindings-0.0.9.tgz","fileCount":57,"unpackedSize":407895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGfX3CRA9TVsSAnZWagAAe9QP/ike5vTDN7UxCYmP+AX0\nLvfFcD0EpotrMmwrZlAmPXK0+8425KDsCtBG0igsnOssb626+TWCxzdkYwaX\n9fWVaDOofT/9pliFMauda8Cnn2S47StYfSfjd8sqa1xr30S6+nBijOto9Gy2\n/KDBVsOqOVI+WjBuKc1wyFThamHaS6rsJo37V41DVeRhqKQl2MjiQzomWxOf\nnJMYJhU0LecvVvZzFarnppPj8kueFS5L3cP1xl1/dwIuQ3AAsITn0RAW2LxN\niv3i2GFoPmttzL6nZoD3Qy/hSqcwyW34Od50hf3kp4nV7utN3Kd/r3wHHEAC\nuzIOG47SpuHCIVTLD2REFL+N7HufLENgiVva4qDhg6mRF/SQ1CMYiFI5UwH4\nKYEx2bAP/UU1vVlYr2D/jsctOS3oUo1VoEpYuG5C/g44Bd66J9tXFN7UoJHg\nkNY3cfHklXRC71YeCviqi2Fl1RYnO0JUhgEM3xJvfX/L3eiiQ3W+cke5FTsL\nUXigrMDBsagDjrz7E+e+jJlFwwuy3oG3RTwy9yQExCg/x/zERtSc5qiwG8ZP\nqGlpqBRjmnWR+yLDktplSIfWKLvb4Cr+CcoFgumRy1Odbq0JljsKlTMrVu5n\nhJK+z6z6/TsJbEvjKF+QBEBBTHMmdVo6nd8GcgCcIyzXX8zXsjB0U3VuRF+X\n+RxS\r\n=3kvl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE4URI0VXc2zuoMxAKcybI78VG1KBNVkLLzjT/bb7bzZAiEAlnDaPhp839JFwW4HWPP84vjfEA9ctML9M3F0yA/dFts="}]},"maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngrx-bindings_0.0.9_1595536887000_0.2647586404033333"},"_hasShrinkwrap":false,"deprecated":"this package has been deprecated"},"0.0.10":{"name":"@actualwave/ngrx-bindings","version":"0.0.10","description":"NGRX bindings for UI","repository":{"type":"git","url":"git+https://github.com/burdiuz/js-ngrx-bindings.git"},"keywords":["angular","ngrx","select","template","store","state"],"author":{"name":"Oleg Galaburda","email":"burdiuz@gmail.com","url":"http://actualwave.com/"},"license":"ISC","bugs":{"url":"https://github.com/burdiuz/js-ngrx-bindings/issues"},"homepage":"https://github.com/burdiuz/js-ngrx-bindings#readme","dependencies":{"tslib":"^1.13.0"},"peerDependencies":{"@angular/common":"^10.0.0","@angular/compiler":"^10.0.0","@angular/core":"^10.0.0","@ngrx/store":"^9.2.0","rxjs":"^6.5.4"},"main":"bundles/actualwave-ngrx-bindings.umd.js","module":"fesm2015/actualwave-ngrx-bindings.js","es2015":"fesm2015/actualwave-ngrx-bindings.js","esm2015":"esm2015/actualwave-ngrx-bindings.js","fesm2015":"fesm2015/actualwave-ngrx-bindings.js","typings":"actualwave-ngrx-bindings.d.ts","metadata":"actualwave-ngrx-bindings.metadata.json","sideEffects":false,"_id":"@actualwave/ngrx-bindings@0.0.10","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-+DQ9gEv42H3RUFguu/41gh7Bl2CTV9utVyYam4k4+BEprtewQ1BO9ZpJ/MJCh735jgs3pwAfuI2gVY1wUlYr5g==","shasum":"9c6a399a9389f7665e210730897a2e2e40fda714","tarball":"https://registry.npmjs.org/@actualwave/ngrx-bindings/-/ngrx-bindings-0.0.10.tgz","fileCount":59,"unpackedSize":438863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGwKACRA9TVsSAnZWagAAfFcP/1NwrbTR+cswShPnISPe\ndx6rVbC3XBkxD+KwwiQN0SDanB4RsUWEDxQYuw2GO+G35pj2miVAZ3e0Yrvk\n/Kxx7K6l0IGIIHE1ynLjLPJN2itOtAvmW1uR8MT2HUjwsu34LZyy19QfSe5s\nVNmCJqVeXx4du/NVKuBL9Axe5QeLQ+Wri2u+51OHtzipXEyG8wsNLnl8fvKj\nb2qG23Q7HS67GGz1fqLXA721en/356MEEh84hmAcu2qL/fCKtgO/tnvQ3wOj\nijF4cQFm0kFHUTLHX12+BShZAY3p4kGSHn9tADo8T0qYIT0eyEQOKo54gvzZ\nj+ILg8P9l6Y3GTy5sB53zjok97/lo6MgaWzDOIcr6HQUSxQp7yEG4V/BJH+P\n4ir6KpB+7OKKUJrE4r6uGnd+IVBdBt9G6c6L87SyMbQKb2BMFKN6jzwFRfJT\nHxFFCUQ4haLvx6XFYwDkKcxi3E0X2i/lsxrqWoaMAiZMP9fvpnzuWJIOCnzI\npyRjxNnYQbk/LVPqAmpTuAmb28c84IhEtr4D7ZuoRO3Vx6XG6J1L8xuCahGM\n6QPX5kW3P0uiz6LvrzuEqhIHa4133/HSVqTI5pGR2LEJINaY80Xy/rq19FfA\nMYPpdBr0ByIHJD6FIxkVcRngBmAcEZrBBRvS66BJ1qfhhpFADQ9WlkHyp+CF\nKvAp\r\n=ODdX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDZUf8cBEpjReLx1XTUYqbDSxFrMpTOkQicU9/CYCjScAiEA+RX714+Mkb0Ms1/ORUpaJga5ycBcqkL5h8sOtHx7kBI="}]},"maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngrx-bindings_0.0.10_1595605631702_0.4602046783977891"},"_hasShrinkwrap":false,"deprecated":"this package has been deprecated"},"0.0.11":{"name":"@actualwave/ngrx-bindings","version":"0.0.11","description":"NGRX bindings for UI","repository":{"type":"git","url":"git+https://github.com/burdiuz/js-ngrx-bindings.git"},"keywords":["angular","ngrx","select","template","store","state"],"author":{"name":"Oleg Galaburda","email":"burdiuz@gmail.com","url":"http://actualwave.com/"},"license":"ISC","bugs":{"url":"https://github.com/burdiuz/js-ngrx-bindings/issues"},"homepage":"https://github.com/burdiuz/js-ngrx-bindings#readme","dependencies":{"tslib":"^1.13.0"},"peerDependencies":{"@angular/common":"^10.0.0","@angular/compiler":"^10.0.0","@angular/core":"^10.0.0","@ngrx/store":"^9.2.0","rxjs":"^6.5.4"},"main":"bundles/actualwave-ngrx-bindings.umd.js","module":"fesm2015/actualwave-ngrx-bindings.js","es2015":"fesm2015/actualwave-ngrx-bindings.js","esm2015":"esm2015/actualwave-ngrx-bindings.js","fesm2015":"fesm2015/actualwave-ngrx-bindings.js","typings":"actualwave-ngrx-bindings.d.ts","metadata":"actualwave-ngrx-bindings.metadata.json","sideEffects":false,"_id":"@actualwave/ngrx-bindings@0.0.11","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-62mtEd6FjC0NgqUye4nTFKGOEaav2cIaRLlmheZRMmpjaM2lJ09Fu8j91+QR564iVz9kzT5crzgwTsjQQV3DmA==","shasum":"96fb08aa691291e5b011b805ae3e12d7c1bf07ed","tarball":"https://registry.npmjs.org/@actualwave/ngrx-bindings/-/ngrx-bindings-0.0.11.tgz","fileCount":59,"unpackedSize":438923,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGwNiCRA9TVsSAnZWagAAMfoQAKE6xu5S9gqDfTmZLoIZ\nE5uzMyzGZ9SL2sLuaPEc9+2IwMFo6d5zXw2E0D65GUznGsIqbnFM1O4JXe/d\nEWh1knkEMaueltm6JFY9drR/XjqaliXyOHUEbpFX6uC9aPO47ev/s5MWRZpC\nABehVVT9pVaK232g4uJTnt5QDwtOk9sbR3bwNDzoOOg2pCMnleJCSsSzU/Tf\nmxZfoTdhnQmU6FoOcM4jlUsyI/5eY6kJrRMZ/6ABUC1nMWAyDBlh5WS/B5aR\nz6lnUa7itYPLk021BhP++u7suUeFGTEnNXcH9e2X6AitMZxJaVeXs0yBy803\nwIWLY0/ImNFB6qxChj8zWTLl9rbEFIolUUuA2DD1N1ZjMAZkXYLr8M7774Jk\noJZO4ItKQKltuN3NEVVIPdGKk7ZiDmDD1AQXI7Nt0+54D5rRZV8a0whUuMAu\nrbfLTiCh6U6zBe+ectbNVjJQkXoaJw7/O2L04TnIN9dwHt+cyzT4ukIe4on7\nEh+QjKgJAANQ3A91BDzUKC2UBPt6MvqCd2EYBe5mmNhTo/ViiapFLz5gvpFA\nSaaDXmCmUgKiZ/SafsZsshaC9GI1MArsH+jI95oumaeRS+TqNO4uaZ/6A4/d\nCZLJ8R5UuKjCArzTwIuyNu57FdzrEHHnbdW85GKoBTz2LFPJr/aYriCw7BGF\nOr4G\r\n=4OYx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICZdINoK2YUlGA3ma521xOFvPYppGQiEHzz3zzBpIKuOAiEA/V1L07cua4ZwjPmQ4ObLGKCTI+0JSY1UpvmcZ0uRAXA="}]},"maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngrx-bindings_0.0.11_1595605858275_0.6785156975655204"},"_hasShrinkwrap":false,"deprecated":"this package has been deprecated"},"0.0.12":{"name":"@actualwave/ngrx-bindings","version":"0.0.12","description":"NGRX bindings for UI","repository":{"type":"git","url":"git+https://github.com/burdiuz/js-ngrx-bindings.git"},"keywords":["angular","ngrx","select","template","store","state"],"author":{"name":"Oleg Galaburda","email":"burdiuz@gmail.com","url":"http://actualwave.com/"},"license":"ISC","bugs":{"url":"https://github.com/burdiuz/js-ngrx-bindings/issues"},"homepage":"https://github.com/burdiuz/js-ngrx-bindings#readme","dependencies":{"tslib":"^1.13.0"},"peerDependencies":{"@angular/common":"^10.0.0","@angular/compiler":"^10.0.0","@angular/core":"^10.0.0","@ngrx/store":"^9.2.0","rxjs":"^6.5.4"},"main":"bundles/actualwave-ngrx-bindings.umd.js","module":"fesm2015/actualwave-ngrx-bindings.js","es2015":"fesm2015/actualwave-ngrx-bindings.js","esm2015":"esm2015/actualwave-ngrx-bindings.js","fesm2015":"fesm2015/actualwave-ngrx-bindings.js","typings":"actualwave-ngrx-bindings.d.ts","metadata":"actualwave-ngrx-bindings.metadata.json","sideEffects":false,"_id":"@actualwave/ngrx-bindings@0.0.12","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-HWmegVbhcdmEU3ZHkBpDqShDubDSfv1VKhqF2qdivbHdRl5UVYl8YmMybyBrjKPQJ8VVHz+EFXHwF1AkmPyKKA==","shasum":"b8c4b2657b2019fee792008ab591e3d6f0db7ea1","tarball":"https://registry.npmjs.org/@actualwave/ngrx-bindings/-/ngrx-bindings-0.0.12.tgz","fileCount":59,"unpackedSize":438923,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGwdJCRA9TVsSAnZWagAApyYP/Aie+/W/OjLJQpiKc7pF\nncw/9Akq45YNwXekktavBCsUV+qBHJmCKJHKAszJkKaz3TYFML2DFXZD8A+r\nM/6Ne6tTS751uIA3jWGo3/zujlGXj4qFK3Xrw7PLTjeHFnCQnjAzQNLNbloC\nL0I9XlbOMh0v5a8d0VX3+oaL9MK6kEM2V4WAtMUadN47u2EmzRwjKCOLuY/j\ndt/UHSnIuPVyUiNyiPj1skJeHlCOJtc4hGimsn00/7NpS6xDn1aSB96ze8aM\nhN1oT/BPJt8jE2Z1Y7PaMdWY5Nf3kLEMtUFYdDtKjT3JJXPawLEdeZS5FC6P\nrkN/73Tym8MVxM8Lq5gdjEhtgV4LZLJumpgAIqeIWlfibCjT0BwqmXuPZYBh\nVemBWvRm2sn3eZOnbxL03+EoGjn6ZNmXrNlXJU85vzNPNzYop/B4bGvSPwuu\nIWdl4rMLhm/SvZU0cNSWNI0ljtlyb0MIIw20AB7MO2tL/SKWpJ8KlyEw7yOk\nBHRMc198ORmGc977J3cen2aHXPwnTQqxd2i6P2UOqHG3AMB+kJYBK66VoizC\nom9FW56vQQ8jbXpGbVTKVIkQD57zGpsom1P5x5Lkb+ahh9MuD26f/VUo19e8\n73V4eedey9/hb6cmAYUnT3OVHWk3G7xaK9/J0EyHZnifkomlW2exotn7Hx4U\nixb5\r\n=dUD/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHQ6zYzID4c2Tx8ofZ0wAOHeVFpO8s9c2Ftb0tbBuRF7AiBweNI3YROg2TGh4w0tl3BoDhRmt7+DmdgqQvm7MaBh2Q=="}]},"maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngrx-bindings_0.0.12_1595606857317_0.2717662374912271"},"_hasShrinkwrap":false,"deprecated":"this package has been deprecated"},"0.0.13":{"name":"@actualwave/ngrx-bindings","version":"0.0.13","description":"NGRX bindings for UI","repository":{"type":"git","url":"git+https://github.com/burdiuz/js-ngrx-bindings.git"},"keywords":["angular","ngrx","select","template","store","state"],"author":{"name":"Oleg Galaburda","email":"burdiuz@gmail.com","url":"http://actualwave.com/"},"license":"ISC","bugs":{"url":"https://github.com/burdiuz/js-ngrx-bindings/issues"},"homepage":"https://github.com/burdiuz/js-ngrx-bindings#readme","dependencies":{"tslib":"^1.13.0"},"peerDependencies":{"@angular/common":"^10.0.0","@angular/compiler":"^10.0.0","@angular/core":"^10.0.0","@ngrx/store":"^9.2.0","rxjs":"^6.5.4"},"main":"bundles/actualwave-ngrx-bindings.umd.js","module":"fesm2015/actualwave-ngrx-bindings.js","es2015":"fesm2015/actualwave-ngrx-bindings.js","esm2015":"esm2015/actualwave-ngrx-bindings.js","fesm2015":"fesm2015/actualwave-ngrx-bindings.js","typings":"actualwave-ngrx-bindings.d.ts","metadata":"actualwave-ngrx-bindings.metadata.json","sideEffects":false,"_id":"@actualwave/ngrx-bindings@0.0.13","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-DyRgrGKNHVMLv4Kx9x0PPU2ontzHQmRzpkDAnuZvNCd3jB0QdZ1zWgBBDkZFp+pA11/zTwXn2zQc5gr7BRtdHw==","shasum":"e0d5e84b4312ec0906b3dc5da1556faf892d1ece","tarball":"https://registry.npmjs.org/@actualwave/ngrx-bindings/-/ngrx-bindings-0.0.13.tgz","fileCount":59,"unpackedSize":437840,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGweMCRA9TVsSAnZWagAAH18P/Ri5nqtOsr4KBh9REDTb\n3vOp5rMQ5ULTdJeCXMuS4OYFMfm1QiWkycKVofquRrbeoTrNyQ79x3BOYMIh\nS3IMmUQTLfthTiporh3uvAqHJGxKx77JaS9KNuS+xOHSwGWpquBDSudAgNYo\nhFBIbuYNJ/oktIotBvNVMSffqCP06Bowd1UQIVjzDxMQKuFxV2xtLGteEF3U\nhpj5Utmj5ifK1hbSYtTIWtNqWuhJ0/whCmp+hnBuJKTnpttuQWKUVMpQSrwo\nHplyJnzVpo0s4zAhBO3rYM/zlkoQ/8tIGrjbrRZ6xr4PcNzK9tA49GUoWPft\n0ad68y0ygso1qz9FP4nLqnBQV3jen0rubFkqADzKA5fc111FyQzxSikVdwnL\ncj5NqkPUKBhQfkLIshxPGOPcQOmHmpm8u5KyeYM2fwnaR7goaEoMqq4RXBM6\nS+MsTpQMxsnSeiROA4HeS27rGhr1hVKsEOcRNLjuRUxgbqwHcSp35ucwKQXf\nYjQr97cMC9KtZYAjIZIW+8doCFhoDKEr1NgTBo9qStwuQ/4pYVRDN1dBmDSO\nFhXmyNcVhBPCcgxp74NrQ9k1sncOeuNltCHF9brpfAytgSZI/sX/8NRpTGxS\nGeIGyFKe1+AIeSPmf/pkew60+otDtlbgJMmy1aQ7kMsfTnl9zugxZ4+nK+iV\nubPa\r\n=EdQD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFz/J4Y9LiwcFJrm12khmGQ279aOek26LO9W1p66AWhpAiEA7dL7IH3gRyWrV359o3q44u9LlBQ4+oDKY1bSkklYbXo="}]},"maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngrx-bindings_0.0.13_1595606924043_0.6725390400375275"},"_hasShrinkwrap":false,"deprecated":"this package has been deprecated"},"0.0.14":{"name":"@actualwave/ngrx-bindings","version":"0.0.14","description":"NGRX bindings for UI","repository":{"type":"git","url":"git+https://github.com/burdiuz/js-ngrx-bindings.git"},"keywords":["angular","ngrx","select","template","store","state"],"author":{"name":"Oleg Galaburda","email":"burdiuz@gmail.com","url":"http://actualwave.com/"},"license":"ISC","bugs":{"url":"https://github.com/burdiuz/js-ngrx-bindings/issues"},"homepage":"https://github.com/burdiuz/js-ngrx-bindings#readme","dependencies":{"tslib":"^1.13.0"},"peerDependencies":{"@angular/common":"^10.0.0","@angular/compiler":"^10.0.0","@angular/core":"^10.0.0","@ngrx/store":"^9.2.0","rxjs":"^6.5.4"},"main":"bundles/actualwave-ngrx-bindings.umd.js","module":"fesm2015/actualwave-ngrx-bindings.js","es2015":"fesm2015/actualwave-ngrx-bindings.js","esm2015":"esm2015/actualwave-ngrx-bindings.js","fesm2015":"fesm2015/actualwave-ngrx-bindings.js","typings":"actualwave-ngrx-bindings.d.ts","metadata":"actualwave-ngrx-bindings.metadata.json","sideEffects":false,"_id":"@actualwave/ngrx-bindings@0.0.14","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-A7i6BGWguI3Y29FwsKYy4VkCYGF1pbNIaXqsIgeF8Kuct+miktaEtYZRRQpMcgjHgCX1QJfSXOA2jMT57SuleQ==","shasum":"f4096ecbec6a451d3601cefb5c924a9d0fadf652","tarball":"https://registry.npmjs.org/@actualwave/ngrx-bindings/-/ngrx-bindings-0.0.14.tgz","fileCount":59,"unpackedSize":438366,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfG0jUCRA9TVsSAnZWagAA3JcQAJBZmYPNfos/5JG8fgqI\nuKBCRLSJ+i8ErqddN8zo7aPMVmIeO64/tCqqNdzIQ0yGyv+mDHki31mwzWfR\niyrcoqhGcVOI543oj+tBxiP5M49h+6FK0lI+Ra62utMpxOHkM4kqD33Q4HBe\ny9to7PorgW+3TytDDZlf8usDAgtdtrhNqWBxi/QrFFCF+LfuKNSvJvYi6LvO\nnS6Lb4lZdT6MhSAZYV78tkALHJTLtHVB59sk/QQnLvzfXw4lRJb/CN1C45/K\nzgbxyUXD8CeKAvPGdx6Zm3/fhHcoU2AX2QoIFYTrVq7fpBhv6oEz15yXGzkv\npm/QgO8LF6AOSQNwTnqDF2kbk6mIlfcOuW013h7SnWfG4tpfWhGB8OHi5kcJ\n1hgzzmjYDrPBykXLUI3e5jWwR7t4vzyCnmILByc64oLFhMD3n5j0roiaj6GP\nqTOHhxk/SvTdq5vo1xfAfAm7hWYzZBEvKNHlcSie9JKgIbh8oVi/1tMQCzJ2\nxYZ8J05j0m1PtQSjke3nC5HVVEM4Fz7MehrwE4eOhOEP0T4C2hRV1oXIqtvC\nifyg4AyNhysFzRZ/1iQf3YMaNBlaRP2JvC77zvkVZPvF3nzw5UtSpdyX6Dug\nPmjKgwxHeOn2mR4HeA9c84DfAcwqRWxik7YSHXFce3Cq8j7qMZrFzstaIUkO\nAuVV\r\n=H5Yk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGjzu0it1RrAXMAHG63hOVPa2Vp0XMEiZ1+iJQBNZ0hoAiA2ADzOMCDxuNsJQVSSrGOtSPnXn2i4rVeLEfnh3rI41Q=="}]},"maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngrx-bindings_0.0.14_1595623636061_0.7321655727273884"},"_hasShrinkwrap":false,"deprecated":"this package has been deprecated"},"0.0.15":{"name":"@actualwave/ngrx-bindings","version":"0.0.15","description":"NGRX bindings for UI","repository":{"type":"git","url":"git+https://github.com/burdiuz/js-ngrx-bindings.git"},"keywords":["angular","ngrx","select","template","store","state"],"author":{"name":"Oleg Galaburda","email":"burdiuz@gmail.com","url":"http://actualwave.com/"},"license":"ISC","bugs":{"url":"https://github.com/burdiuz/js-ngrx-bindings/issues"},"homepage":"https://github.com/burdiuz/js-ngrx-bindings#readme","dependencies":{"tslib":"^1.13.0"},"peerDependencies":{"@angular/common":"^10.0.0","@angular/compiler":"^10.0.0","@angular/core":"^10.0.0","@ngrx/store":"^9.2.0","rxjs":"^6.5.4"},"main":"bundles/actualwave-ngrx-bindings.umd.js","module":"fesm2015/actualwave-ngrx-bindings.js","es2015":"fesm2015/actualwave-ngrx-bindings.js","esm2015":"esm2015/actualwave-ngrx-bindings.js","fesm2015":"fesm2015/actualwave-ngrx-bindings.js","typings":"actualwave-ngrx-bindings.d.ts","metadata":"actualwave-ngrx-bindings.metadata.json","sideEffects":false,"_id":"@actualwave/ngrx-bindings@0.0.15","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ljMAt3WFcaULGivu6D0ZQ87MKJR1sCnFZ9b9VrgHvhxSR3rE0z+TL7MZTWdRWa2HHpLF1jReetbORP7Q10kARg==","shasum":"79a2c2a168d44f383655e7b9cc9796e814a334a0","tarball":"https://registry.npmjs.org/@actualwave/ngrx-bindings/-/ngrx-bindings-0.0.15.tgz","fileCount":59,"unpackedSize":436822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfG041CRA9TVsSAnZWagAAhjEP/16GdxBZQeKc08FqrBgy\nh84ohvUMoVSL8f8weMfTMwUSN/T+rPcbuTiDuOnLHFYA246R1QeiqsH4FJ8F\nSGyIeJUvnAIpP8DIR1iqSRLa9g3E37/+yUmQdmrIw8LjK+IfJIVO6+yEx2iK\nKCR9BHML7Ixw1Fnsu7fakzAcu1em8qGvTMu4gBRQlcWikzCbwkWpg+K79nyr\nGCFevytGFhuKXBRrYIplkEoF9FxoNsmLLqQ7Lxt88BBSZRao08t6wTt5fT61\n9BYiSkchZ2b1B9d/mqAVdsxSqDF9GPMYTHFGf3MWpcP3Aw7PIsfhgHKYVALc\n+W4NPV0xyUfFNo3J0CZ29RQmfV1Q0ft7TQbhCYQZ8fkYmK+D47r/ELGnDK4o\nYMiLbt3M3g6xley49yKtqbXAYLEiicP1TP7NxT1xjVaaGU9cXIRjaeRU5LYt\nrq082HgkGHZjsoi7OQhbNmx4yNb2QSRcIoxGRriH6yaja4WiT/YvSoUOnc3f\nRHD2oae6JVRb/rpOv8/CAYAQeGLsyHbA/XGP0xG5RbhJ+LiuEnjaPpnD2aNf\nD0F4GJNeoYiyQ1N9UHTj2dJPCaYFuY6hvxEk/ZLOAc6n1++zDpUC4EbllQK8\nzE7k0+mVlI9FBY0a83z7YekN9rrN01IAzB1BeaznAFXkPZyCbNfUKJtTCf7z\n6p8B\r\n=lnO+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDT+cksAuo+/IsRcwzLohiCYoIqiTwoa0t3ec0XSy26SgIgNT58b+5lJqfSrmNKHIFr5JGfmcpipUHVMrTjCc6H4Fg="}]},"maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngrx-bindings_0.0.15_1595625012631_0.04027849251869475"},"_hasShrinkwrap":false,"deprecated":"this package has been deprecated"},"0.0.16":{"name":"@actualwave/ngrx-bindings","version":"0.0.16","description":"NGRX bindings for UI","repository":{"type":"git","url":"git+https://github.com/burdiuz/js-ngrx-bindings.git"},"keywords":["angular","ngrx","select","template","store","state"],"author":{"name":"Oleg Galaburda","email":"burdiuz@gmail.com","url":"http://actualwave.com/"},"license":"ISC","bugs":{"url":"https://github.com/burdiuz/js-ngrx-bindings/issues"},"homepage":"https://github.com/burdiuz/js-ngrx-bindings#readme","dependencies":{"tslib":"^1.13.0"},"peerDependencies":{"@angular/common":"^10.0.0","@angular/compiler":"^10.0.0","@angular/core":"^10.0.0","@ngrx/store":"^9.2.0","rxjs":"^6.5.4"},"main":"bundles/actualwave-ngrx-bindings.umd.js","module":"fesm2015/actualwave-ngrx-bindings.js","es2015":"fesm2015/actualwave-ngrx-bindings.js","esm2015":"esm2015/actualwave-ngrx-bindings.js","fesm2015":"fesm2015/actualwave-ngrx-bindings.js","typings":"actualwave-ngrx-bindings.d.ts","metadata":"actualwave-ngrx-bindings.metadata.json","sideEffects":false,"_id":"@actualwave/ngrx-bindings@0.0.16","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-15qak298x7oM173PfpfMvZlDl8BnAzf9jl5l43xHLZsE36LC1HePfwvphGvFq7gMoqBEM/tI85+hNrjEUyYosQ==","shasum":"e46896305752772427d9d145446b7526b6ce5d87","tarball":"https://registry.npmjs.org/@actualwave/ngrx-bindings/-/ngrx-bindings-0.0.16.tgz","fileCount":65,"unpackedSize":473862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHcHhCRA9TVsSAnZWagAArSAP/1bczTbf9aEgSPny/uYB\nXMIOPAzWiDv1ozLMgihJq2CsaNPDvd0FDx0Mh3eutIVTbpNYMHpqAOQ6Jbg3\nAIg/z9ujzg+nW6E0z3/LbUbwXsvrDH25esWeCG4+6vDShq3V4/masw3qnEEj\nXSQ/7rTzVnvlTQ6FP35RF29jauEyHEgOukamOWQROPH7CunJttjEctbnOFXe\n/G/S59Ni9v4xm8S3IHg22qsbtWwqLl9GaL4JB1Wr1491FThw8pV8vj2ZTWQH\nnzYl2nUFN0PasTlfALppSuWy0V21XkwTqlK2bR2tqveQP2mubYwS/wtM+D4A\ni9UEN/zC4bSWmuI/5nH0NvxmjOHJm7BcoKBtZEzo+oWnhN9F+fklOZ6uYht0\nMVJSQbtMq/4+iAnpscV9DZsjAycdBUWb6xCi21DQpSayiUudmj+RgOGPhm3A\n50OpeJ4tCfuNJV/ayhk5sYJiU/cYQUulBTFdLvqpwt5QwUS9uf46bxMO0gxo\nurpXWV2pcTeHNiBzc1OE+QEHA0Xkjgqnr37h3q/NhpAN7LO7br3jAq5YvoGB\niq6tXCBWMNTV29O5Q1XqIR4qKMg3VwRu1rLLN9iYUFT+bs3706/IysWs8waw\ndOAcwVYLGt6SNQs7CKoITb0CVhcKl1LAmtkTCZazT1yZ41Dr0ghcFqvYVYnS\nGOrd\r\n=OQ+v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAnHnXcSS+tWXw/wpurL9os1I68pCsxeE3u7xdz0CKX9AiEApvkh2jkUS90J0OQWYqkkVcun04XNwotP7+KZA9uxfWk="}]},"maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngrx-bindings_0.0.16_1595785696799_0.04419185566744255"},"_hasShrinkwrap":false,"deprecated":"this package has been deprecated"},"0.0.17":{"name":"@actualwave/ngrx-bindings","version":"0.0.17","description":"NGRX bindings for UI","repository":{"type":"git","url":"git+https://github.com/burdiuz/js-ngrx-bindings.git"},"keywords":["angular","ngrx","select","template","store","state"],"author":{"name":"Oleg Galaburda","email":"burdiuz@gmail.com","url":"http://actualwave.com/"},"license":"ISC","bugs":{"url":"https://github.com/burdiuz/js-ngrx-bindings/issues"},"homepage":"https://github.com/burdiuz/js-ngrx-bindings#readme","dependencies":{"tslib":"^1.13.0"},"peerDependencies":{"@angular/common":"^10.0.0","@angular/compiler":"^10.0.0","@angular/core":"^10.0.0","@ngrx/store":"^9.2.0","rxjs":"^6.5.4"},"main":"bundles/actualwave-ngrx-bindings.umd.js","module":"fesm2015/actualwave-ngrx-bindings.js","es2015":"fesm2015/actualwave-ngrx-bindings.js","esm2015":"esm2015/actualwave-ngrx-bindings.js","fesm2015":"fesm2015/actualwave-ngrx-bindings.js","typings":"actualwave-ngrx-bindings.d.ts","metadata":"actualwave-ngrx-bindings.metadata.json","sideEffects":false,"_id":"@actualwave/ngrx-bindings@0.0.17","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-/XnbX+EbCr5Hpxp2pm8O1xom1EwZFdG5vPB1f1F1cDY8IvOp5PhyPNejs9rHttBly4CpqWqLx9vQRQwaR1wePg==","shasum":"59336a26d5d5e086711e86109c5dd6145ca367e0","tarball":"https://registry.npmjs.org/@actualwave/ngrx-bindings/-/ngrx-bindings-0.0.17.tgz","fileCount":65,"unpackedSize":474401,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHfOfCRA9TVsSAnZWagAA0msP/R/o6Dko1oIffP2egFMP\nO7BVcdwgiUFXM6tIHMZkDWO7xkMQaBKPOS0jGilhmYcKT7Pf4U/fHs3FIrkE\nxfz1GZizUq1XapiVS/T4q2HB+FCV+RuEms+v6rWFbR894yvFAp2aBaIjk04/\nXoHby3bRXlPndq026EDfhV+1AtoSOHKwbOC0ylXrigRwoOKnvE2c5LCxi0Y7\n55fEWylN2kYQVXKHWl4bT/D5aWF24FpwltoMNbb5hIssmZd3jjWJhuml9MRZ\nzvQYz8vAmeypVMuM46O/uzy5gHdso77M9JhtkObEog5mDIstEDk6mgiMp0hV\n4WKNyMOavCK7oOFGj5EHgRHWnvKBbXT3JScOQ4/O4wqjg9Z7wEWQsEvbZ95s\nq183Tf5qIauGLV7aBPLl/2z1NXjj6AllJD2P+b9UAwx6rPVBv3ANv6/USE0C\nyZKagAlZ60GM400bN+foexwVKFbHexAqzqxIIF+NQZ4lOdN+S85xdDQw7upV\nUi+YTz+4ZHZhylkeFZqESWEEl264WFWWgS8cbUOOKN2zDU/aYwd7umfo/sxm\newUyY2WqROA2rzEpYQEJEQ33YO6k7N3lOpchHiOGfbGjFZvs1A0qwYh+t/Qp\nEZuw3iMGvynmiEdqvlzs/j8/cP1GDgRJLFy5nbgjThGLefogrinhuWAJR1ej\nLbLU\r\n=9De/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEkd8XWngOnbBG6G0QJuRxE5ZfPOL98v3Qb9QAmFr0szAiEA8BZlPGLmuXhdAjf+WvG2GSdgLxVRmwGd9tNhtVNu4y8="}]},"maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngrx-bindings_0.0.17_1595798430950_0.18232506634522982"},"_hasShrinkwrap":false},"0.0.18":{"name":"@actualwave/ngrx-bindings","version":"0.0.18","description":"NGRX bindings for UI","repository":{"type":"git","url":"git+https://github.com/burdiuz/js-ngrx-bindings.git"},"keywords":["angular","ngrx","select","template","store","state"],"author":{"name":"Oleg Galaburda","email":"burdiuz@gmail.com","url":"http://actualwave.com/"},"license":"ISC","bugs":{"url":"https://github.com/burdiuz/js-ngrx-bindings/issues"},"homepage":"https://github.com/burdiuz/js-ngrx-bindings#readme","dependencies":{"tslib":"^1.13.0"},"peerDependencies":{"@angular/common":"^10.0.0","@angular/compiler":"^10.0.0","@angular/core":"^10.0.0","@ngrx/store":"^9.2.0","rxjs":"^6.5.4"},"main":"bundles/actualwave-ngrx-bindings.umd.js","module":"fesm2015/actualwave-ngrx-bindings.js","es2015":"fesm2015/actualwave-ngrx-bindings.js","esm2015":"esm2015/actualwave-ngrx-bindings.js","fesm2015":"fesm2015/actualwave-ngrx-bindings.js","typings":"actualwave-ngrx-bindings.d.ts","metadata":"actualwave-ngrx-bindings.metadata.json","sideEffects":false,"_id":"@actualwave/ngrx-bindings@0.0.18","_nodeVersion":"12.9.1","_npmVersion":"6.10.2","dist":{"integrity":"sha512-4054MR82M8Q3j+RMo8yNN8QSYqxinnTejMIv12WjYtdAzFG9YvgBR1FMkLZK/8RTfxGV5+igqfVnmZvBLtzIwQ==","shasum":"2fe9a0b8d844539ec0a17d9b2c7b971daa483aa2","tarball":"https://registry.npmjs.org/@actualwave/ngrx-bindings/-/ngrx-bindings-0.0.18.tgz","fileCount":65,"unpackedSize":481463,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMFG2CRA9TVsSAnZWagAACjEQAJW7xEuBnf3np/6MyZrn\nfss9O/Wx5xpmVOShQFRcABUyq9PPBtqKduNl3WBAW7mi1yXSmiLIFCnwnYoU\nhoFj+1FLc3hJx/7dhieP0yoBQyx2q21qW2g6bB93iQCUKXxsKNtEYSjk7uzE\n2MwHNhp2ocpS1l8PxzUMbMtctozIEhuI9Ypn/yLODoHCLh7iPGRY9BUoEpYn\ntJHVC33o29eLlJbBmLNY2NejHz4IG5YDHXrcJ46LY4MymBEgKKVJaZY2EuRB\ndGXg15sdZ7stP8njEMxrIS7YrrGYhGB987TzetBaX3hAAG41hoP6fxYSfvmi\ni/nWsZrwTOC+30qhmaZ50YGWvVBYmmRUjxhqds2FxNBo4Z2Y86WAQw0pkq52\n136ima/3baDQxxthvEOUL47J6KVJ/kC47MpQn5FPUxnIVqHfgZqYiDAkWn6l\nI/AqsNiKX3ZrWHYg/6Lk47IP834a3QFb84e1uqGkkRUtx+rXYYMIqmKpReY6\niq5X1wjux/y5cSY9BfpZc1v/PV5aJ7aQ7TEmEU1Q9Ufeia9KsQrI8U5Czk4V\n2p94oGPje8AGT2JselTB6U0Y7Jecg6slTWPszve+pG1Jvk1UNRyz9UaR2E7I\nPzDXhYSbJpA1oH/tdWy9VDcwhy/xPFncu7nKsD3ck2NAn3ZxNCy3I3/Lk+Z9\nIF6V\r\n=tMvz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCa/RG2VSpmz3nE79wQyRXIccku55fyLZVZq7h2MxmIRwIhAJglTZcU7Pfl3uP6VltieF6PVr5a2I+HBK2WRMjvZGvj"}]},"maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"_npmUser":{"name":"actualwave","email":"burdiuz@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ngrx-bindings_0.0.18_1597002165758_0.9301873925121185"},"_hasShrinkwrap":false}},"time":{"created":"2020-07-21T20:38:39.970Z","0.0.1":"2020-07-21T20:38:40.178Z","modified":"2022-04-04T11:20:11.924Z","0.0.2":"2020-07-21T20:54:30.795Z","0.0.3":"2020-07-21T21:04:13.606Z","0.0.4":"2020-07-23T17:41:46.359Z","0.0.5":"2020-07-23T17:49:07.881Z","0.0.6":"2020-07-23T18:13:18.818Z","0.0.7":"2020-07-23T18:33:23.854Z","0.0.8":"2020-07-23T20:27:49.298Z","0.0.9":"2020-07-23T20:41:27.157Z","0.0.10":"2020-07-24T15:47:11.837Z","0.0.11":"2020-07-24T15:50:58.410Z","0.0.12":"2020-07-24T16:07:37.547Z","0.0.13":"2020-07-24T16:08:44.204Z","0.0.14":"2020-07-24T20:47:16.219Z","0.0.15":"2020-07-24T21:10:12.829Z","0.0.16":"2020-07-26T17:48:16.908Z","0.0.17":"2020-07-26T21:20:31.133Z","0.0.18":"2020-08-09T19:42:45.855Z"},"maintainers":[{"name":"actualwave","email":"burdiuz@gmail.com"}],"description":"NGRX bindings for UI","homepage":"https://github.com/burdiuz/js-ngrx-bindings#readme","keywords":["angular","ngrx","select","template","store","state"],"repository":{"type":"git","url":"git+https://github.com/burdiuz/js-ngrx-bindings.git"},"author":{"name":"Oleg Galaburda","email":"burdiuz@gmail.com","url":"http://actualwave.com/"},"bugs":{"url":"https://github.com/burdiuz/js-ngrx-bindings/issues"},"license":"ISC","readme":"# @actualwave/ngrx-bindings\nThis library aims to help developer to use NGRX from templates skipping boilerplate code in components.\n\n## Installation\n```\nnpm install @actualwave/ngrx-bindings\n```\n\n## Introduction\nNormally, to request data from the store in a component, you inject the store into component\n```javascript\nconstructor(private store: Store<AppState>) {}\n```\nThen create observables for data using selectors\n```javascript\n  ngOnInit() {\n    this.users$ = this.store.pipe(select(fromUsers.getAllUsers));\n    this.selectedProduct$ = this.store.pipe(select(fromProducts.getSelectedProduct));\n    ...\n```\nAnd display the data from observables in HTML via async pipe\n```html\n<div *ngFor=\"let user of users$ | async\">\n  ...\n</div>\n\n<span>{{ (selectedProduct$ | async).title }}</span>\n```\n\nWith this library you don't need to inject Store and create observables. What you do is import selectors you want to use\n```javascript\n@NgModule({\n  imports: [\n    SelectorsModule.forSelectors({\n      ...fromUsers,\n      ...fromProducts,\n    }),\n    ...\n```\nAnd use them in HTML with `selector` pipe\n```html\n<div *ngFor=\"let user of 'getAllUsers' | selector\">\n  ...\n</div>\n\n<span>{{ ('getSelectedProduct' | selector).title }}</span>\n```\n> It is possible to select using property path string with `select` pipe.\n> This library also provides components and directives for selecting data from the store and allows easyier way of creating your custom components and directives for specific selectors.\n\nLet's look into a case when we need some logic depending on data from selector\n```javascript\n ngOnInit() {\n    this.store.pipe(select(fromUsers.getCurrentUserId)).subscribe(id => {\n      this.header = id === 0 ? \"Add User\" : \"Edit User\";\n      this.title = id === 0 ? \"Add User's details\" : \"Edit User's details\";\n    });\n    ...\n```\nFor example, we will change wording on a page depending on data received from selector\n```html\n<header>{{ header }}</header>\n<title>{{ title }}</title>\n```\n\nTo do the same with this library, we will create custom directives\n```javascript\n@NgModule({\n  declarations: [\n    createSelectorDirectives({\n      selectHeader: (state: any) =>\n        fromUsers.getCurrUserId(state) === 0 ? \"Insert User\" : \"Edit User\",\n      selectTitle: (state: any) =>\n        fromUsers.getCurrUserId(state) === 0\n          ? \"Insert user's details\"\n          : \"Edit user's details\"\n    }),\n  ],\n    ...\n```\nAnd use directives in HTML\n```html\n<header selectHeader></header>\n<title selectTitle></title>\n```\n\n\nIn a most common case(subjective), to dispatch an action you have do inject store and define a component method like\n```javascript\ndispatchMyAction(event: Event) {\n  this.store.dispatch(createMyAction(event.target.value));\n}\n```\nThen use it in HTML\n```html\n<input type=\"text\" (change)=\"dispatchMyAction($event)\">\n```\nThis library let's you avoid store injection in such cases by providing an event channel. Import actions in your module\n```javascript\n@NgModule({\ndeclarations: [\n  ChannelComponent,\n],\nimports: [\n  ActionsModule.forActions({\n    \"dispatchSave\": \"Save Action Type\",\n    \"dispatchChangeTitle\": { type: \"Change Action Type\", meta: \"title\" },\n    \"dispatchReset\": (newValue:any = null) => ({\n      type: \"Reet Action Type\",\n      payload: { value: newValue },\n    }),\n  }),\n\n```\nUse channel component in your HTML\n```html\n<rx-channel #channel></rx-channel>\n...\n  <input type=\"text\" (change)=\"channel.dispatchChangeTitle($event.target.value)\">\n```\nNo need to inject store and write methods within every component for such simple action dispatch. Channel component can be used with imported actions in every component within the module where actions are imported.\nChannel actions can be chained\n```html\n<rx-channel #channel></rx-channel>\n...\n  <button (change)=\"channel.dispatchChangeTitle('').dispatchReset()\">Clear and Reset</button>\n```\n\n> Note: This library allows using object paths to property in the store to select the value and dispatch action by specifying its type string. This can be useful while developing, but I strongly recommend to refrain from using them after and replace with selectors and action creators as soon as possible.\n\nHere is a [classic](https://codesandbox.io/s/qvy8xvlxzj) example with counter [updated to use NGRX Bindings on codesandbox.io](https://codesandbox.io/s/ngrx-bindings-introduction-with-counter-8tm5e). Also I've found random \"in-development\" project and changed it to use this library, you can [check it here](https://codesandbox.io/s/angular-ngrx-bindings-1lhsb).\n\n\n\n\n## Selectors\n\nThis library provides multiple ways of selecting data from the Store, using pipes, directives and components. There are two types of each -- one to use NGRX selector and another to use JS path to the property.\nUsing `selector` pipe\n\n```html\n<div>{{ \"selectUpdatedBy\" | selector | date }}</div>\n```\n\nUsing `select` pipe\n\n```html\n<div>{{ \"feature.dates.updatedBy\" | select | date }}</div>\n```\n\nThese pipes are impure, so they will call change detection on every Store update.\n\nHere is how it looks when using directives\n\n```html\n<div>\n  Select with data path:\n  <span select=\"feature.dates.updatedBy\"></span>\n  <span selectOnce=\"feature.dates.updatedBy\"></span>\n</div>\n<div>\n  Select using selector name:\n  <span selector=\"selectUpdatedBy\"></span>\n  <span selectorOnce=\"selectUpdatedBy\"></span>\n</div>\n```\n\nAnd components\n\n```html\n<div>\n  Select with data path:\n  <rx-select value=\"feature.dates.updatedBy\"></rx-select>\n  <rx-select-once value=\"feature.dates.updatedBy\"></rx-select-once>\n</div>\n<div>\n  Select using selector name:\n  <rx-selector value=\"selectUpdatedBy\"></rx-selector>\n  <rx-selector-once value=\"selectUpdatedBy\"></rx-selector-once>\n</div>\n```\n\nTo use selector component, directive or pipe, they should be aware of available NGRX Store selectors. To setup NGRX Store selectors, use `SelectorsModule`:\n\n```javascript\nimport { NGRXBindingsModule, SelectorsModule } from \"@actualwave/ngrx-bindings\";\nimport * as dateSelectors from \"./store/date.selectors\";\n\n@NgModule({\n  declarations: [],\n  imports: [NGRXBindingsModule, SelectorsModule.forSelectors(dateSelectors)],\n  providers: [],\n  bootstrap: [AppComponent],\n})\nexport class AppModule {}\n```\n\nAll selectors imported with `SelectorsModule` can be referenced by UI in this module.\n\n\n\n\n## Actions\n\nThis library provides a `dispatch` pipe, which dispatches an action every time value changes.\n\n```html\n<div>{{ someValue | dispatch : \"valueUpdateAction\" }}</div>\n```\n\nAnd `action` pipe to dispatch action using its type.\n\n```html\n<div>{{ someValue | action : \"Value Update\" }}</div>\n```\n\nThis will result in dispatching action like:\n\n```javascript\n{\n  type: \"Value Update\",\n  payload: someValue,\n}\n```\n\nAlso, you can create own pipes for specific actions.\n\n```javascript\nimport {\n  NGRXBindingsModule,\n  createActionPipes,\n} from \"@actualwave/ngrx-bindings\";\nimport { valueUpdateActionCreator } from \"./store/value.actions\";\n\n@NgModule({\n  declarations: [\n    createActionPipes({\n      dispatchValueUpdated: valueUpdateActionCreator,\n    }),\n  ],\n  imports: [],\n  providers: [],\n  bootstrap: [AppComponent],\n})\nexport class AppModule {}\n```\n\nThen use it\n\n```html\n<div>{{ someValue | dispatchValueUpdate }}</div>\n```\n\nThis pipe dispatches selected action with value being passed to action creator or used as payload and returns it unchanged, so it could be chained with other pipes.\n\nSince it is not possible to use pipes with event expressions, like this\n\n```html\n<button (click)=\"$event | dispatch : 'somethingUpdated'\">Click Me</button>\n```\n\nI've figured we can use components for dispatching actions and have all the interaction with the Store in template. To make this possible I've created two components -- rx-action and rx-channel. First allows dispatching single NGRX action and second dispatches multiple actions.\nTo make component work, add it to template, reference it with template variable and call its method.\n\n```html\n<div>\n  <rx-action #myAction value=\"TestActionType\"></rx-action>\n  ...\n  <!-- anywhere in this template -->\n  <button (click)=\"myAction.dispatch($event)\">Dispatch Action</button>\n</div>\n```\n\nOn button click, it will dispatch action like:\n\n```javascript\n{\n  type: \"TestActionType\",\n  payload: {}, /* Event Object passed into dispath() method */\n}\n```\n\nTo make it work, just add `ActionComponent` to the module.\n\nFor Action Creators, they should be imported with module to become available and used with `rx-channel` component.\n\n```javascript\nimport { NGRXBindingsModule, ActionsModule } from \"@actualwave/ngrx-bindings\";\nimport { setCurrentDate, updateDate } from \"./store/date.actions\";\n\n@NgModule({\ndeclarations: [],\nimports: [\n  NGRXBindingsModule,\n  ActionsModule.forActions({ setCurrentDate, updateDate }),\nproviders: [],\nbootstrap: [AppComponent]\n})\nexport class AppModule {}\n```\n> Note that action creator must accept only one parameter for payload value `( payload: any ) => ({ type: \"MyType\", payload })`.\n\nWithin this module you can use `rx-channel` component, once instantiated it will generate methods `setCurrentDate` and `updateDate`, which could be called from template like this.\n\n```html\n<rx-channel #dates></rx-channel>\n<input #newDate />\n<button (click)=\"dates.setCurrentDate()\">Set Current Date</button>\n<button (click)=\"dates.updateDate(newDate.value)\">Update Date</button>\n```\n\nHere on button click corresponding actions will be dispatched with its argument as payload.\n\nWhen passing action to `action` pipe or `rx-action` component or registering with `ActionModule.`, they accept\n\n1. `string` and use it as a type of the action, passed value will be used as payload\n2. `object` assumed to be `Action` object is used with passed value as payload\n3. `function` assumed to be an `ActionCreator` that accepts a payload value as only argument\n\nWhen passing action to `dispatch` pipe or `rx-channel` component, they accept same value types, but treat `string`s in a different way -- instead of using it as a type to an action, they use it as a key to lookup for a registered action. However, you can register action using it's type string.\n\n```javascript\nimport { NGRXBindingsModule, ActionsModule } from \"@actualwave/ngrx-bindings\";\n\n@NgModule({\nimports: [\n  NGRXBindingsModule,\n  ActionsModule.forActions({\n    setCurrentDate: \"Set Current Date\",\n    updateDate: \"Update Date\",\n  }),\nbootstrap: [AppComponent]\n})\nexport class AppModule {}\n```\n\n\n\n\n## Custom UI elements\n\nNGRX Bindings library contains set of factory functions to generate custom UI elements for selectors and actions. These functions generate UI elements that should be declared within a module where you plan you use them.\n\nFor every case we have factory to generate single element or bulk creation of multiple elements. For example, `createSelectorDirective` creates single directive and `createSelectorDirectives` will create multiple directives in bulk and is simply a replacement to multiple calls of `createSelectorDirective`.\n\nDeclaration example using methods for bulk generation:\n\n```javascript\nimport {\n  createActionPipes,\n  createActionComponents,\n  createChannelComponents,\n  createSelectorDirectives,\n  createSelectorOnceDirectives,\n  createSelectorComponents,\n  createSelectorOnceComponents,\n} from \"@actualwave/ngrx-bindings\";\n\n@NgModule({\ndeclarations: [\n  createActionPipes({\n    dispatchResetData: \"Reset Data Action\",\n  }),\n  createActionComponents({\n    \"my-action\": \"Set Data Action\",\n  }),\n  createChannelComponents({\n    \"my-channel\": {\n      update: \"Update Data Action\",\n      remove: \"Remove Data Action\",\n    },\n  }),\n  createSelectorComponents({\n    \"my-date\": dateSelectors.selectDate,\n  }),\n  createSelectorOnceComponents({\n    \"my-date-once\": dateSelectors.selectDate,\n  }),\n  createSelectorDirectives({\n    myDate: dateSelectors.selectDate,\n  }),\n  createSelectorOnceDirectives({\n    myDateOnce: dateSelectors.selectDate,\n  }),\n],\nimports: [],\nproviders: [],\nbootstrap: [AppComponent]\n})\nexport class AppModule {}\n```\n\nWithin this module you will be able to use custom components `my-date` and `my-date-once`, directives `myDate` and `myDateOnce` to select data from the Store; and `my-action` with `my-channel` components to dispatch actions.\n\n\n## API\nAll UI components, directives and pipes are parts of `NGRXBindingsModule`, importing it will automatically make available all of them.\n\n### Components\n\n#### Action Component\nAction component allows dispatching any action to the store. To define action type, action object or action creator, just pass it to `type` parameter. It has empty template and will not render anything.\n```html\n<rx-action type=\"My Custom Action Type\"></rx-action>\n<rx-action [type]=\"{ type: 'My Custom Action Type', meta: myMetaData }\"></rx-action>\n<rx-action [type]=\"createMyCustomAction\"></rx-action>\n```\nAfter adding to component to template, it can be used via template variable\n```html\n<rx-action #action type=\"My Custom Action Type\"></rx-action>\n<button (click)=\"action.dispatch(myPayloadData)\">Dispatch My Action</button>\n```\nCustom Action Components can be created with `createActionComponent()` and `createActionComponents()` factories.\n`createActionComponent()` generates single custom component specifying component selector and action. Action can be anything valid for Action component `type` parameter.\n```typescript\ncreateActionComponent(\n  componentSelector: string,\n  action: NGRXAction,\n  template?: string\n) => Class;\n```\n`createActionComponents()` generates multiple custom components and requires object as a first argument. Object keys are used as selectors and values as `type` parameter values for generated components.\n```typescript\ncreateActionComponents(\n  {\n    [key: string]: string | Action | (payload: any) => Action;\n  },\n  template?: string\n) => Class[];\n```\nAs optional argument you can pass custom template for `createActionComponent()` and `createActionComponents()`, this, for example, allows creating elements like\n```javascript\n@NgModule({\n  declarations: [\n    createActionComponent(\n      \"rx-save-button\",\n      \"App Save Settings Action Type\",\n      '<button (click)=\"dispatch()\"> Save Settings </button>'\n    )\n    ...\n  ],\n  imports: [\n    NGRXBindingsModule,\n  ],\n  providers: [],\n  bootstrap: [AppComponent]\n})\nexport class AppModule {}\n```\nWhen using ActionButton in HTML, it will send `{ type: \"App Save Settings Action Type\" }` action whenever user clicks the button.\n```html\n<rx-save-button></rx-save-button>\n```\n\n#### Channel Component\nChannel Component works with pre-defined Actions and Action Creators, to start working with it, you have to specify actions you want to use in a channel by importing them\n```javascript\nimport { ActionsModule, NGRXBindingsModule } from \"@actualwave/ngrx-bindings\";\n\n@NgModule({\n  imports: [\n    NGRXBindingsModule,\n    ActionsModule.forActions({\n      \"dispatchType\": \"My Action String Type\",\n      \"dispatchAction\": { type: \"My Action Object Type\" },\n      \"dispatchActionCreator\": (payload) => ({ type: \"My Action Creator Type\", payload }),\n    }),\n  ],\n  declarations: [UsersComponent]\n})\nexport class UsersModule {}\n```\nThen add to HTML and use with template variable\n```html\n<rx-channel #actions></rx-channel>\n...\n<input\n  placeholder=\"Dispatch Action With Payload\"\n  (change)=\"actions.dispatchType($event.target.value)\"\n>\n<button\n  (click)=\"actions.dispatchAction()\"\n>\n  Dispatch Action Object\n</button>\n<button\n  (click)=\"actions.dispatchActionCreator({ value: 112233 }).dispatchAction()\"\n>\n  Actions can be chained\n</button>\n```\nSame as Action Component, you can create custom channel components with `createChannelComponent()` and `createChannelComponents()`. To make custom Channel component there are no need to import actions using `ActionsModule.forActions()`, actions are provided when creating custom component\n```javascript\n\nimport {\n  SelectorsModule,\n  createChannelComponent,\n  NGRXBindingsModule\n} from \"@actualwave/ngrx-bindings\";\n\n@NgModule({\n  declarations: [\n    createChannelComponent(\"rx-product\", {\n      \"dispatchNameChange\": \"Product Name Change Action Type\",\n    }),\n    ProductsComponent\n  ]\n})\nexport class ProductsModule {}\n```\nThen this custom Channel component can be used\n```html\n<rx-product #productActions></rx-product>\n...\n<input\n  placeholder=\"Product Name\"\n  (change)=\"productActions.dispatchNameChange($event.target.value)\"\n>\n```\n\n#### Data Hub Component\nData Hub Component can be created via `createDataHubComponent()` function.\n```javascript\nimport {\n  NGRXBindingsModule,\n  createDataHubComponent\n} from \"@actualwave/ngrx-bindings\";\nimport * as fromProducts from \"../state/products.selectors\";\n\n@NgModule({\n  declarations: [\n    createDataHubComponent(\"rx-hub\", {\n      list: fromProducts.getAllProducts,\n      product: fromProducts.getCurrentProduct\n    }),\n  ],\n  exports: [ProductsEditComponent]\n})\nexport class ProductsEditModule {}\n```\nWith value properties `list` and `product` it also provides observables `list$` and `product$` for each selector.\nIt accepts a set of selectors and provides values in HTML via template variable.\n```html\n<rx-hub #data></rx-hub>\n<input type=\"text\" [value]=\"data.product.name\"/>\n{{ (data.product$ | async).description }}\n```\n> Currently it does not call `ChangeDetectionRef.markForCheck()` when value changes.\n\n#### Event Hub Component\nEvent Hub component works just like Data Hub, but instead of providing values directly, it emits events for every value type.\n```javascript\nimport {\n  NGRXBindingsModule,\n  createEventHubComponent\n} from \"@actualwave/ngrx-bindings\";\nimport * as fromProducts from \"../state/products.selectors\";\n\n@NgModule({\n  declarations: [\n    createEventHubComponent(\"rx-events\", {\n      list: fromProducts.getAllProducts,\n      product: fromProducts.getCurrentProduct\n    }),\n  ],\n  exports: [ProductsEditComponent]\n})\nexport class ProductsEditModule {}\n```\nThen in HTML it can be used like this\n```html\n<rx-events\n  (list)=\"onListUpdate($event)\"\n  (product)=\"onCurrentProductChange($event)\"\n></rx-events>\n```\n\n#### Select Component\nSelect and Select Once Components show data based on select field path\n```html\n<rx-select value=\"myFeature.list[0].value\"></rx-select>\n<rx-select-once value=\"myFeature.list[0].value\" ></rx-select-once>\n```\nIt applies path to NGRX Store state and displayes value as is in the component.\n> Select and Select Once components do not have factory methods to generate custom versions.\n\n#### Selector Component\nSelector and Selector Once Components show data returned from selector. Selectors which can be used with these components must be previously registered with SelectorModule.\n```javascript\nimport {\n  SelectorsModule,\n  NGRXBindingsModule\n} from \"@actualwave/ngrx-bindings\";\n\n@NgModule({\n  imports: [\n    NGRXBindingsModule,\n    SelectorsModule.forSelectors({\n      selectProductList,\n      selectCurrentProduct,\n      selectCurrentProductName,\n      selectCurrentUser,\n      selectCurrentUserName,\n    }),\n  ],\n})\nexport class AppModule {}\n```\nAnd then used in HTML\n```html\n<rx-selector value=\"selectCurrentProductName\"></rx-selector>\n<rx-selector-once value=\"selectCurrentUserName\"></rx-selector-once>\n```\nJust like Select component, it will output value as is.\n\nSelector components provide factory functions `createSelectorComponent()` and `createSelectorComponents()` to generate custom versions.\n```javascript\nimport {\n  createSelectorComponent,\n} from \"@actualwave/ngrx-bindings\";\n\n@NgModule({\n  imports: [\n    CommonModule,\n    createSelectorComponent(\n      'rx-update-date',\n      selectProductLastUpdateDate,\n      '{{ output | date }}',\n    ),\n  ],\n})\nexport class AppModule {}\n```\nCreated component does not require any customization and can be used anywhere.\n```html\n<rx-update-date></rx-update-date>\n```\n> There are also `createSelectorOnceComponent()` and `createSelectorOnceComponents()` functions to generate custom Selector Only components.\n\n### Directives\n\n#### Select Directive\nSelect directive reads property path from its attribute\n```html\n<h2 [select]=\"products.selected.name\"></h2>\n<span [select]=\"products.selected.description\"></span>\n```\n\n#### Selector Directive\nSelector and Selector Once directives require registered NgRx Store selectors to work with.\n```javascript\nimport {\n  SelectorsModule,\n  NGRXBindingsModule\n} from \"@actualwave/ngrx-bindings\";\n\n@NgModule({\n  imports: [\n    NGRXBindingsModule,\n    SelectorsModule.forSelectors({\n      selectProductList,\n      selectCurrentProduct,\n      selectCurrentProductName,\n      selectCurrentUser,\n      selectCurrentUserName,\n    }),\n  ],\n})\nexport class AppModule {}\n```\nOnce registered, selectors can be used by their names\n```html\n<h2 [selectorOnce]=\"selectCurrentUser\"></h2>\n<span [selector]=\"selectCurrentProductName\"></span>\n```\n\nThis library provides multiple functions to generate selector directives. `createSelectorDirective()` and `createSelectorDirectives()` to create custom selector directives for specific slelectors, `createSelectorOnceDirective()` and `createSelectorOnceDirectives()` to create custom selector once directives.\nTo create custom directives no need to pre-register NgRx Store selectors, there are specified when generating new custom directive.\n```javascript\nconst CurrentUserNameDirective = createSelectorOnceDirective(\"currentUserName\", selectCurrentUserName);\n```\nSuch directive can be used with no value\n```html\n<h2 currentUserName></h2>\n```\n\n\n### Pipes\n\n#### Action Pipe\nAction pipe receives a value and dispatches an action with the value as action payload.\n```html\n<span>{{ property | action : \"MyActionType\" }}</span>\n```\nThis will dispatch an action `{ type 'MyActionType' }` every time `property` is changed with value from `property` as payload.\nYou can create custom `action` pipes with `createActionPipe()` and `createActionPipes()` functions with passing pipe names and action types(or action objects or action creator functions).\n\n#### Dispatch Pipe\nDispatch pipe is used just like `action` except it can be used only with actions or action creators registered with `ActionsModule.forActions()`.\n```javascript\n@NgModule({\ndeclarations: [\n  ChannelComponent,\n],\nimports: [\n  ActionsModule.forActions({\n    \"dispatchSave\": \"Save Action Type\",\n    \"dispatchChangeTitle\": { type: \"Change Action Type\", meta: \"title\" },\n    \"dispatchReset\": (newValue:any = null) => ({\n      type: \"Reet Action Type\",\n      payload: { value: newValue },\n    }),\n  }),\n```\nFor actinos registered like this, `dispatch` pipe can be used by specifying its property name in the object.\n```html\n<span>{{ property | dispatch : \"dispatchReset\" }}</span>\n```\n\n#### Select Pipe\nSelect pipe can be applied to a string representing a property path.\n```html\n<span>{{ \"myFeature.list[0].value\" | select }}</span>\n```\n\n#### Selector Pipe\nSelector pipe should applied to a previously registered selector name.\n```javascript\nimport {\n  SelectorsModule,\n  NGRXBindingsModule\n} from \"@actualwave/ngrx-bindings\";\n\n@NgModule({\n  imports: [\n    NGRXBindingsModule,\n    SelectorsModule.forSelectors({\n      currentProductName: selectCurrentProductName,\n    }),\n  ],\n})\nexport class AppModule {}\n```\n```html\n<span>{{ \"currentProductName\" | selector }}</span>\n```\n","readmeFilename":"README.md"}