{"_id":"@advanon-ag/aws-event-sourcing","_rev":"8-daa249108495a7f2f8b9c60153b88b23","name":"@advanon-ag/aws-event-sourcing","dist-tags":{"latest":"1.2.5"},"versions":{"1.2.0":{"name":"@advanon-ag/aws-event-sourcing","version":"1.2.0","description":"Event source library built with AWS","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"lint":"eslint .","test":"jest","build":"tsc"},"repository":{"type":"git","url":"git+https://github.com/Advanon/aws-event-sourcing.git"},"author":{"name":"Advanon"},"license":"MIT","bugs":{"url":"https://github.com/Advanon/aws-event-sourcing/issues"},"homepage":"https://github.com/Advanon/aws-event-sourcing#readme","dependencies":{"@advanon-ag/aws-access-utils":"^2.2.2","uuid":"^3.3.3"},"devDependencies":{"@types/jest":"^26.0.10","@types/uuid":"^8.3.0","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","eslint":"^7.7.0","jest":"^26.4.1","ts-jest":"^26.2.0","typescript":"^4.0.2"},"gitHead":"666ebfb1c892509f626cceb139ed7b3cac0a17db","_id":"@advanon-ag/aws-event-sourcing@1.2.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ESYZhXICcxVxf5lmrnt1Tu9hfNaSK+RAtz0hsQwTCYku7HdD46AMTy72yuTva+GEibRcUl7TOYcrq7driJrZEQ==","shasum":"a0c636ccf1bb806f94f989d922658bd205bffd5f","tarball":"https://registry.npmjs.org/@advanon-ag/aws-event-sourcing/-/aws-event-sourcing-1.2.0.tgz","fileCount":29,"unpackedSize":35243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfX3pvCRA9TVsSAnZWagAAhbsQAI2SrKu016OLaRT9Rv1O\nc1S6+HBlhREmc/ROv/z2IF2biMzKRWi1sTiZMluHHfEQKc4PT1cEkp9PRiYc\nDnc/8PjD1NevJzsQ+KYVh1oFU5zxDmuJC+t8vsigj2o9vKL7ZDnCh2ThWWpR\nRhTu2M4H1n6Q+StrcrihvpTkskMljbUxlmN9mbFqRj3QFqTcB3vKun6BAdYo\n+r5Nvl7egGuONx0niGJbvJalpD9cFbJaevkqr8/bpW39vj686YZ/h0ZF3/h+\n7ufuK+bkB8UN3nRo+VObOlOzmTah/KW4BktJvyFqgJuB5aM1q044b/Nh+kJf\nm9LbGb99q9x8LUltjgElMQcbdJF60TKwFbOAokU9Hu/t2KpnrZw5nWC58tCj\nXvGBUOMkpooS5w9qoqmvBv9wDeyjbF3ZZFTxUJjGl9mbBhaIAzpkgXgr3lHa\nliND0w2gO5Cyrm5pY4gn9380g2mj0/5/h+kWx2HvBQ6ci1E//iL4t08+l27m\n/y/p9gYQ2AgpPgn3s7vUhIesOGvyMH2xOTDczXscreQhR7rXuNG7ah5+be72\nbFvuRMK7vSEmnAV6qqxF77uUsDM8Llv98djWYrwgHh48XHdVkRUq6dAU1xnk\nRVvkTQuxHlcZ9rJHqDf6cuc17g0LTpgrbVttxDmM9GjCn5bcoNlF13DIULaM\noF8H\r\n=Ed8x\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfaRXC55AqtoP/QgGoMR1Stua8DMLom8J77AJkOJwBCQIgV9mU35z2IFfTYJJeql7+QQlJlAVRU+glw1hoXbZB+mI="}]},"maintainers":[{"name":"pandomic","email":"vlad.gramuzov@gmail.com"},{"name":"advanon-root","email":"it@advanon.com"}],"_npmUser":{"name":"pandomic","email":"vlad.gramuzov@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-event-sourcing_1.2.0_1600092783278_0.41069740364601337"},"_hasShrinkwrap":false},"1.2.1":{"name":"@advanon-ag/aws-event-sourcing","version":"1.2.1","description":"Event source library built with AWS","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"lint":"eslint .","test":"jest","build":"tsc"},"repository":{"type":"git","url":"git+https://github.com/Advanon/aws-event-sourcing.git"},"author":{"name":"Advanon"},"license":"MIT","bugs":{"url":"https://github.com/Advanon/aws-event-sourcing/issues"},"homepage":"https://github.com/Advanon/aws-event-sourcing#readme","dependencies":{"@advanon-ag/aws-access-utils":"^2.2.3","uuid":"^3.3.3"},"devDependencies":{"@types/jest":"^26.0.10","@types/uuid":"^8.3.0","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","eslint":"^7.7.0","jest":"^26.4.1","ts-jest":"^26.2.0","typescript":"^4.0.2"},"gitHead":"f9da443bb0cfa0f703240f8e16bbd67bfa993a85","_id":"@advanon-ag/aws-event-sourcing@1.2.1","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-k8XQ6Sgl+/57876l+jwjcsLYsGhM70I0Q4xfEr1+tgHyD54XxNr1eFAMnHJdavIV+Z+MQ6pa0dIw/HuUeVkm7g==","shasum":"e9f9cb326889622bb5ffe7be73e488b919b141a1","tarball":"https://registry.npmjs.org/@advanon-ag/aws-event-sourcing/-/aws-event-sourcing-1.2.1.tgz","fileCount":29,"unpackedSize":35244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYMdeCRA9TVsSAnZWagAAetQQAJmVrclRpADaRy3K9C5k\n9qCZsM3d1S7qWZe8nUFACOrEGWdWCGjpMsvD0k8bDIrEwEYDjjuGyYHD3u9+\nQXM8JTg4GrAvE8uyiQaICOsvM/091NQGRmhyV2MpVA4Ydw44oyGFt6IJY5Uu\n5wiBcIDQJvKvxIOneMqpw47fIBGOzJKJaDWOR3PH4xWAFXlq7lxXSdExTX29\n/f/Am/sxdM0E0DEfLaTQyzH9dIxkTIvXL4MaHgLcUO6ECIdnKjAsda38kUxS\n5VW37HkiOmzyF1sB8p8iD5BIDO7+s06GS5mDgBN7NmXr+GB97DdkieWNcV6C\nVWeLqnIwC5GX/JHzRgIv+q+/lzsJ0UR3BvIkRNyXj+vnVDxFRhoBy/y8sSQ3\nil9PHM1Mk3E92afGUGdPyTDVvr9z1P3+xuoIhzU4sOtAhTH8rE1DPD28z+x0\n9Bghochym38fE5HDKrpGZQHcvZ7cJ1/YvUtAXSYhQ85UxNtQ2lr5fj+NlpHT\nDMzjx8K7A9D30cwrJVUh37Qk7XMKO9mfIkCaiE0Lbqrh7GDYja8gxGlB/+Rt\n6FRkKSM0Q5vQIXnkETHMQVs9yApICPzEtO7MxypQGfNO2r894ujoHF4JbHk9\nTX/gRiik36MTe6RH1vWs4P13cZrK77rjFkGHeixWK0TE2dAIYQ1PYGaa2gv4\nVzhc\r\n=d3Ix\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCytgwQoWCucjvqQqtMY1E1Mf5+gZxvbYq4OVneP08JsAIhAKrX/BFWjDp6ojn3iEGcM/xG0nLVCm/U4+IAmnPzN4m1"}]},"maintainers":[{"name":"pandomic","email":"vlad.gramuzov@gmail.com"},{"name":"advanon-root","email":"it@advanon.com"}],"_npmUser":{"name":"pandomic","email":"vlad.gramuzov@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-event-sourcing_1.2.1_1600178007769_0.26266418875908837"},"_hasShrinkwrap":false},"1.2.2":{"name":"@advanon-ag/aws-event-sourcing","version":"1.2.2","description":"Event source library built with AWS","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"lint":"eslint .","test":"jest","build":"tsc"},"repository":{"type":"git","url":"git+https://github.com/Advanon/aws-event-sourcing.git"},"author":{"name":"Advanon"},"license":"MIT","bugs":{"url":"https://github.com/Advanon/aws-event-sourcing/issues"},"homepage":"https://github.com/Advanon/aws-event-sourcing#readme","dependencies":{"@advanon-ag/aws-access-utils":"^2.2.4","uuid":"^3.3.3"},"devDependencies":{"@types/jest":"^26.0.10","@types/uuid":"^8.3.0","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","eslint":"^7.7.0","jest":"^26.4.1","ts-jest":"^26.2.0","typescript":"^4.0.2"},"gitHead":"c0fcd01af7467da91d141d422bf823da1a61fe8b","_id":"@advanon-ag/aws-event-sourcing@1.2.2","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ywK/LYRkR8eD89JcQ100u8IOXn4du1Wbroxv5DIvKRHMC5qCawLVmGH7ixmuelvx5pPLBDp3or2dxfhwAMgmaA==","shasum":"4063dc34cbf5540a815131d7c9fa5e4549cb7c2e","tarball":"https://registry.npmjs.org/@advanon-ag/aws-event-sourcing/-/aws-event-sourcing-1.2.2.tgz","fileCount":29,"unpackedSize":35243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYMuGCRA9TVsSAnZWagAAF9sP/3rsAv5fSUbH6O5ct3qR\n+cgsryJ/sdG0+vHf1cryleyvaPko2SaW4TK+HcKIVFpIIfaz+Z+6C5gBxAp1\ncKr/8r9YwIsTQP1i3KC2zbJbcJ80yfa04eODzxI31rQE2xRIdkXmOD0y84l2\nN/p/HZoTDWAIgoqv3VKN4YMoze7stZYwPE3vq3/vo9zQiI8QY4/HU5bMdwgs\no5fFxceTMown1lg6vBn9VA+jH9bV8Upto4MRHS8ZcIQyejvdysmYfTVZy1GG\nQD5wnlM0e5faIuEBE2uYKGm2M2JZs9VlRjI1XV8RNvoNvEEWLRvGv2+ZdwVP\nEx2X45AkEb4+l8nUe/SlfRdYKllm0mypZvyPbs4AxSfcWXKzjRDNvEw7Kblx\nHHGCAdY2Pz8TUx8ErBEkBPAKSwhzwnajEAWcjpP1jKnj4ZLzu0WzllcbaVTm\nY0HFdDYf2nkDafdorTbQa+ml4X7xC3ynp0P54OUbzTDPQ6fCrOOqIV09HcqS\nLWFsvSBjjJQoyloUrM4zCfZn88JCn5kHA2wLenvRFHBaQPlmnWcoQRloboBa\nj5CqlECu14TMYb6+2IW/AJ6wfRzPSq3vWpSNJtDc3K3KoCnNCf7krXedwkM8\neJcCdNZ0BVCiay7fb1IlOOQt9FfEjCDBQjZm/UeYDPTKjzHlUn1Qw5TBb8mg\nCU+h\r\n=dZdp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCoTUcC/vSTAquPIKy0uZXTQJ1JZ4cBXVMzaP+zjsMmWwIgOrol/aLsaIwU4e3MMsnTygPWIXikKPxjJDK3gJro874="}]},"maintainers":[{"name":"pandomic","email":"vlad.gramuzov@gmail.com"},{"name":"advanon-root","email":"it@advanon.com"}],"_npmUser":{"name":"pandomic","email":"vlad.gramuzov@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-event-sourcing_1.2.2_1600179077616_0.5395579736551199"},"_hasShrinkwrap":false},"1.2.3":{"name":"@advanon-ag/aws-event-sourcing","version":"1.2.3","description":"Event source library built with AWS","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"lint":"eslint .","test":"jest","build":"tsc"},"repository":{"type":"git","url":"git+https://github.com/Advanon/aws-event-sourcing.git"},"author":{"name":"Advanon"},"license":"MIT","bugs":{"url":"https://github.com/Advanon/aws-event-sourcing/issues"},"homepage":"https://github.com/Advanon/aws-event-sourcing#readme","dependencies":{"@advanon-ag/aws-access-utils":"^2.2.5","uuid":"^3.3.3"},"devDependencies":{"@types/jest":"^26.0.10","@types/uuid":"^8.3.0","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","eslint":"^7.7.0","jest":"^26.4.1","ts-jest":"^26.2.0","typescript":"^4.0.2"},"gitHead":"1207c9bb7660a1abc75b1c93ee019057ef2dce6b","_id":"@advanon-ag/aws-event-sourcing@1.2.3","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-bF+LYSaVdg4/Hx1ikv4grXgK7Qe5XGWGwtra+Anyn/XK9NbRXurvvXKnGhSmI7UsBqelD1SxlSgYv+xpUmJujA==","shasum":"e7d694b38940c9b158aaabe3f71f53399eec1194","tarball":"https://registry.npmjs.org/@advanon-ag/aws-event-sourcing/-/aws-event-sourcing-1.2.3.tgz","fileCount":29,"unpackedSize":35243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYOYpCRA9TVsSAnZWagAAA5IP/A3NAEb742dPYeqyKiYh\nY215qeHGHrMWiIbQGyEh4EO48wcNr6GK9R4h5woUjBNBI9hRMzi1f4EzgdDa\noB752bEGrp2uRul46lW3tTkcPa4c1lSmsrlaZijmYijT7M31c5AewPLWJc9b\nCX/nTXCLU5BqXcS/kusppBkLceIk3GbD4od7RJJ/3K2co45829oOFLXynVCZ\nV3ng+D5btNAXzGf23Wqll1IG+6FlWhhu915/QrHurWtvtzn3oezZMW0mg2Zu\nD+sWdRZGczCPmBLujT+pzNHHQ+VtWdGNIhwd3ncOW5NoL94R7VqF+3abFACK\ngy9n3U1RsFI+oLYbE+lIyjvUU79dDWgQPDT6gRHr91UDqH0WjBeN6m8Hq9fJ\nb+Jr7jWJ9ic61Ou1YziG0N5fswuMehjZDfLuI8zpisqo1KWzXUKTMsZYVSS1\nuqYLqoiU6xJTSZ/mu2jW+74yKo+uBmIosXwl1J4qiekZm8bMdZ59Bo3KkcEo\ndxQYmbJ5PXnY0TOYcDA9w9LbWg75HfY60J57xiu2H5JXUiOzKFvaGDi/WPbt\n/dfeHLVbOUN0i/u2Ex5yTBo6FmPPpTSaUIvb3zGzv/8Sz2P//hsrab+oIh6C\nXu2x5xOq0b2lKyUzK3W/Ok8xchYRQfCWmeI5ryXdWPnE4G0hMSOuWyXgMAIL\nemRR\r\n=TiWy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBdbQao5gsjk2/5fidN3wkgGqHSVs7kpEHPBIGjASCU7AiEAjXl9bWMSgY8Xo1ea+zAQZLBTMlYbrrmxtl9NzdiG3Bs="}]},"maintainers":[{"name":"pandomic","email":"vlad.gramuzov@gmail.com"},{"name":"advanon-root","email":"it@advanon.com"}],"_npmUser":{"name":"pandomic","email":"vlad.gramuzov@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-event-sourcing_1.2.3_1600185897124_0.5604309871971573"},"_hasShrinkwrap":false},"1.2.4":{"name":"@advanon-ag/aws-event-sourcing","version":"1.2.4","description":"Event source library built with AWS","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"lint":"eslint .","test":"jest","build":"tsc"},"repository":{"type":"git","url":"git+https://github.com/Advanon/aws-event-sourcing.git"},"author":{"name":"Advanon"},"license":"MIT","bugs":{"url":"https://github.com/Advanon/aws-event-sourcing/issues"},"homepage":"https://github.com/Advanon/aws-event-sourcing#readme","dependencies":{"@advanon-ag/aws-access-utils":"^2.2.6","uuid":"^3.3.3"},"devDependencies":{"@types/jest":"^26.0.10","@types/uuid":"^8.3.0","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","eslint":"^7.7.0","jest":"^26.4.1","ts-jest":"^26.2.0","typescript":"^4.0.2"},"gitHead":"d9625507a30345ee38f2a391d649a758fe942e49","_id":"@advanon-ag/aws-event-sourcing@1.2.4","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-BbtMqeNztPwHFAYnKT/+/xA7HUo4ncZ93oiLnxt6ohUKDYs0Gd4wCFEI9iKfrM8wUoAUc22ZZCXqHkoh7PjDig==","shasum":"aa7205ee4ba714e2b61ece9aa53c552fb91e5ce9","tarball":"https://registry.npmjs.org/@advanon-ag/aws-event-sourcing/-/aws-event-sourcing-1.2.4.tgz","fileCount":29,"unpackedSize":35243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYcC/CRA9TVsSAnZWagAAmNkP/iFIlpjfyQ8BIluUdHSK\ntJkv0XTIscq3zjA5nqkA5bY615mTY8aVjXfeb/CNG7PAUp8faUkUg+QDm8Ns\nHnUIARcoOFcVGmH6g7RkoTfCt45+sopBR5NeGqpQh4Q/xAC9qUXgWEaZrux7\nVqQbPF2EmfR/Qxg3pdTzK3ND2r7EWs4ojBNrVZq1lErsNcsrq/8GA05HaCLW\nVM9sin3U6qaIhDmtjWbA8zOCcBSAA3DcwUuP+PU+Uwbvwbi+sFfKs3bKwjwF\np5PtKIcpj3xchp2kjwWy1IzwwWbIu/NXYYJsMBw+JGQugtwPFBX2BUkjlgCP\njFBeHLMGlwkizlb7EYOSWDXdFK+hMzGoEu7eR4xMXO1b7klBQdFBQqSt5j8B\nYec0EUTybxfWqLZeQet163gOLoshmit8Nv8s7r0dof/tXsZK87VkzjjIHDLH\ngonw/x+nOoo8XnVYJQ39TIZ8Hdt5q4qTF4ERkpU8fOr2k8FiVUgovwCh9Oox\n33XdYWLKyeRMMZvYS4FR09Q++47LvxDihafpB8YC6EWIULXKI5IIQXJOr/nB\nlWGRw9umhbMDN0Equ8+99wKF9EJCrrgO8THgHgPg2NOk3sI+3eRR868/S7f2\n1WshMa+71Owa97OCmxapkNrs45Ss3ZrWlQB/x+nfnTATFqYmUrXF1Qt4EtX+\nUbFJ\r\n=HsLV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCczjqXEtw8oImLhIFJJhpzkh7ForvXFZZ5ctEOr/quIwIhAKMwAQ64XK9lR1DpxQF+j4WLSEBlgIkM0f/dkRoUkcNP"}]},"maintainers":[{"name":"pandomic","email":"vlad.gramuzov@gmail.com"},{"name":"advanon-root","email":"it@advanon.com"}],"_npmUser":{"name":"pandomic","email":"vlad.gramuzov@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-event-sourcing_1.2.4_1600241855208_0.4991568942583613"},"_hasShrinkwrap":false},"1.2.5":{"name":"@advanon-ag/aws-event-sourcing","version":"1.2.5","description":"Event source library built with AWS","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"lint":"eslint .","test":"jest","build":"tsc"},"repository":{"type":"git","url":"git+https://github.com/Advanon/aws-event-sourcing.git"},"author":{"name":"Advanon"},"license":"MIT","bugs":{"url":"https://github.com/Advanon/aws-event-sourcing/issues"},"homepage":"https://github.com/Advanon/aws-event-sourcing#readme","dependencies":{"@advanon-ag/aws-access-utils":"^2.2.7","uuid":"^3.3.3"},"devDependencies":{"@types/jest":"^26.0.10","@types/uuid":"^8.3.0","@typescript-eslint/eslint-plugin":"^3.10.1","@typescript-eslint/parser":"^3.10.1","eslint":"^7.7.0","jest":"^26.4.1","ts-jest":"^26.2.0","typescript":"^4.0.2"},"gitHead":"d9625507a30345ee38f2a391d649a758fe942e49","_id":"@advanon-ag/aws-event-sourcing@1.2.5","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-YdNyTSuABk5aCMQjDvXVu9+H5FpS+JFfE5Wu1pmr/SoalbYtukhVyw144LRe9Ipd5Ky1GsOk8ns9CnyllGOfSg==","shasum":"a5712077b492fc3f23c5f25cbcfe027f0120c4b8","tarball":"https://registry.npmjs.org/@advanon-ag/aws-event-sourcing/-/aws-event-sourcing-1.2.5.tgz","fileCount":29,"unpackedSize":35243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYcgHCRA9TVsSAnZWagAAP9sQAJC/quVdu5SfBLGR0O1s\n4038Q2TiU4Ih1/V5uGl7Q14YZ8prMDwTWl+/jf4blW5b3h/FwHmb4PcCLGzu\nfIJYBA+fu40ONxrFD9hOQPe5xaCEvuNgg8JVl2vbkC6ONWIcXKSVybvwKlWY\nsvFiPIwpg78QDAnVs6Yt9VGItsAZDa3rysbnwcLSdCZiQXVuhsxESCI63x8z\nR3cbjaiyF2w2rNp54vCq05eSvgL58uqehnmQNoqsv0XfnrpUAbltqtMZyJ5q\nlqwsDfu3kUlRZz03NOClOx9a51HYNL14G/e+5b8M9sFkiC5ipGUahIl4GW7O\n2+2N/mEIdgyiKFVVN8ex2iUtWFmdaIkXphu+SOAln4xr4mohewl/JavyG5GD\nTcwcK76Q3tgnEGAyMFpgB2BtnIE/G43x6ElvGEA3gNR9k2HA7j81cubn6EpJ\nlqjs91uPjWYQpOFj8q+mbjejTdEcYie+lVDF2B6SX6Z+MbelaqBdhMXNGATb\njIx3nb+EBqn13Frm1phrXAdsTz04+Jx5rE4RlT0vPhUJGsn+76KsuLkQdrg3\nLFZQeBQjLYH5Z/3qVBFvsnejTGR0pH3ATChNSrP6GHOL5HIzXdPKKhvtbFTZ\nJQ7JrseEusHik3+QTnfuRF/nH8D6Y2pkSXnhYhX3R7mv8E6qN1VN2hSeciOx\ntq6h\r\n=8/gs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIChZA7J+vl9m5fHo5le7XbFEIV9jWNU9ZEdWpHjGvXRjAiEA5kWzly5bUfVTCfKROqdw/YRk6sqnsF5gbM2tWruXJT4="}]},"maintainers":[{"name":"pandomic","email":"vlad.gramuzov@gmail.com"},{"name":"advanon-root","email":"it@advanon.com"}],"_npmUser":{"name":"pandomic","email":"vlad.gramuzov@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/aws-event-sourcing_1.2.5_1600243718897_0.817876910502515"},"_hasShrinkwrap":false}},"time":{"created":"2020-09-14T14:13:03.022Z","1.2.0":"2020-09-14T14:13:03.489Z","modified":"2022-04-04T11:44:57.097Z","1.2.1":"2020-09-15T13:53:27.927Z","1.2.2":"2020-09-15T14:11:17.743Z","1.2.3":"2020-09-15T16:04:57.295Z","1.2.4":"2020-09-16T07:37:35.358Z","1.2.5":"2020-09-16T08:08:39.018Z"},"maintainers":[{"email":"maciej.nowicki@cg24.com","name":"maciej.nowicki-cg24"},{"email":"it@advanon.com","name":"advanon-root"},{"email":"vlad.gramuzov@gmail.com","name":"pandomic"},{"email":"bejand2010c@gmail.com","name":"dbejan"}],"description":"Event source library built with AWS","homepage":"https://github.com/Advanon/aws-event-sourcing#readme","repository":{"type":"git","url":"git+https://github.com/Advanon/aws-event-sourcing.git"},"author":{"name":"Advanon"},"bugs":{"url":"https://github.com/Advanon/aws-event-sourcing/issues"},"license":"MIT","readme":"# aws-event-sourcing\nEvent sourcing library built with AWS\n\n## What is Event Sourcing?\nEvent Sourcing ensures that all changes to application state are stored as a sequence of events. Not just can we query these events, we can also use the event log to reconstruct past states, and as a foundation to automatically adjust the state to cope with retroactive changes.\n[Martin Fowler](https://www.martinfowler.com/eaaDev/EventSourcing.html)\n\n## Resources\nA resource is uniquely identifiable and would extend the `Resource` class and override the `id` property.\n```javascript\nclass Resource {\n  get id() {\n    throw new NotImplementedError();\n  }\n}\n```\n\n## Events\nAn event extends the `Event` class and describes what happened to the `Resource`. The implementor is required to implement `number`, `type`, and `created`.\n```javascript\nclass Event {\n  get number() {\n    throw new NotImplementedError();\n  }\n  get type() {\n    throw new NotImplementedError();\n  }\n  get created() {\n    throw new NotImplementedError();\n  }\n}\n```\n\n## Aggregates\nAggregates group together a `Resource` and its `Event`s. It exposes the following functionality:\n- `events` | retrieve up-to-date event history\n- `hydrate` | retrieve up-to-date event history and apply the events to the resource\n- `apply` | call the appropriate handler to handle the event type and apply state changes to the resource\n- `commit` | retrieve up-to-date event history, attempt to apply an event, then publish the new event\n\n## How can I use it?\nConsider a loan. This will normally go through a predefined workflow: CREATED -> (APPROVED | REJECTED) -> DISBURSED -> (PAID | ARREARS) -> (SETTLED | COLLECTIONS)\n\nIn a typical system, we would represent the loan as a row in a table and possibly update the status as the workflow proceeds. With event sourcing, a loan is persisted as a series of events, each event containing sufficient information to reconstruct the loan state.\n\n## Implementation\nLet's use the loan example described above.\n\nThe loan aggregate\n```javascript\nclass Loan extends Aggregate {\n    constructor(id){\n        super({\n            table: 'Loans',\n            id: \n        })\n    }\n\n    onLoanCreated(event){\n        if(this.version !== 0) throw new IllegalEventError();\n        this.requestedAmount = event.requestedAmount;\n        this.interest = event.interest;\n        this.lastUpdated = event.created;\n        this.status = 'CREATED';\n        //perform whatever functionality is required\n    }\n\n    onLoanApproved(event){\n        //we can only approve a loan that is in the CREATED state\n        if(this.status !== 'CREATED') throw new IllegalEventError();\n        this.lastUpdated = event.created;\n        this.status = 'APPROVED';\n        //etc\n    }\n\n    onLoanRejected(event){\n        //...\n    }\n\n    onLoanDisbursed(event){\n        //...\n    }\n\n    onLoanPaid(event){\n        //...\n    }\n\n    onLoanArrears(event){\n        //...\n    }\n\n    onLoanSettled(event){\n        //...\n    }\n\n    onLoanCollections(event){\n        //...\n    }\n}\n```\n\nUsing it. \n```javascript\nconst Loan = require('./models/Loan');\nmodule.exports.createLoan = async (event, context)=>{\n    const loan = new Loan();\n    await loan.hydrate();\n    await loan.commit({\n        type: 'LoanCrated',\n        number: loan.version + 1,\n        requestedAmount: event.amount,\n        interest: event.interest,\n        created: new Date().toISOString()\n    });\n    return loan.id;\n}\n\nmodule.exports.approveLoan = async (event, context)=>{\n    const loan = new Loan(event.loanId);\n    await loan.hydrate();\n    await loan.commit({\n        type: 'LoanApproved',\n        created: new Date().toISOString()\n    });\n    return loan.id;\n}\n```","readmeFilename":"README.md"}