{"_id":"@flexbase/store","_rev":"29-a18aca3d4f702d1067bed02e83522b56","name":"@flexbase/store","dist-tags":{"beta":"2.0.4-beta.8","latest":"3.0.4"},"versions":{"0.0.1":{"name":"@flexbase/store","version":"0.0.1","keywords":["flexbase","state management"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@0.0.1","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"aad2484b38da6f89d58be9c7b349988c92228877","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-0.0.1.tgz","fileCount":8,"integrity":"sha512-hGLU47Iy89LGBx4mHRW6PUsf4oMaoyJL5HN9L8tSploY0topXeefahsGQ33nh/OANPs3r8XB9dubDoeY9peE9A==","signatures":[{"sig":"MEUCIQCQsB9C5i+1S1AQiWMvwSMJoA1kuWnXv2CMAIewj7ud7gIgdtrRV8yfz0gc+9TO0y0DS31jZton3pb1Q+xSYxj0JcA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8SbUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5LRAAgT/6qgw3BbvlxjHrTj0JhQOg0ykoEwrq3UH7CRrNa1rUO5oG\r\n/ArExpjuoJsnMsl9RzBE3xoqykB4AZvihtM+NJtCXn+5ufLljUwAH3gXBLP9\r\nJACt2C7T5U5nZCFMnPbxTnQ3XVDiQCj9ibB48uCpRZmzLCHCK/ULR1xd3o8g\r\n2+ix4d/6j47eo3YueRTzkTGejPutJXHxTJNjA9I8zTNWqvSc3sMsJ1Yj/U2+\r\na8vl1kgaDqyQh9q911YPFfiWmAcIe0dRRXnuPQEApsAaVt12R6Nk0JcA7Bb1\r\nD15I4yanX/squ9lmO1Z9sOaUHPPomLt48Z1ccZVFFP3YWXPeTO3KDM/LR4VI\r\npEdc36gGSSNkv98/1GhdDTKKHEOM6f/xjtNyKyEd2Mx0xqqGuxhfPyg3pKyp\r\njUXmn9su4Y/WuLZE5fP/twGDdRmCOkx8vE9yqnwiDa8nqConKIzdrs27q0oJ\r\nIQZvnLB8Aw9HlWkrn0+wkRUweAKdCQJ/gByzBqXDY0G0A/9oarGzgosoK8eA\r\nO6a1H5f7Cq7XsQe3ydURMA+AFqI+oVy5DEjChcBWCpmPf7jK4Wqin622tm1B\r\njxXoYi71noQHmhv6XGCX+ylYLM+BOJ0iVMxINFzsvBDRN4RuiA4TJEUeNMaO\r\nTNQaOpdWGKBXV4wQ8oCsV3+Esc/qbn2oTBk=\r\n=KQwh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.es.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework for typescript","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_0.0.1_1659971284603_0.28186568535533807","host":"s3://npm-registry-packages"}},"0.0.1-beta.1":{"name":"@flexbase/store","version":"0.0.1-beta.1","keywords":["flexbase","state management"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@0.0.1-beta.1","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"ef65692764b423e4428e0c2863e3171184099367","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-0.0.1-beta.1.tgz","fileCount":25,"integrity":"sha512-FK1FGqoNlz/QlniWCqwDTVfS1JdwPobPGoWfGLd8eiEh4dm3rk6k8wkSPP34MHbDEShmOElZe0/gW7AO3KimeA==","signatures":[{"sig":"MEYCIQCicBjhlUNdTiGudH+0plw1jj7gQQdn8RogKC7AZ+kHZgIhAKSsMTlRQOr4kXPV3kEVTBFokE63N6lG0EzhWPnL3mvX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8tc4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpRIQ/8CfhxVU5lavtHaKF+Q3OTjSyNQCpwPvdAX9Im8RIVSm48vQK8\r\nuB/VA3qNRZMrNl57++iqU3JIthF39qGHxRbbgxJw7d5/+vST7JMHLa6LOfHV\r\nahrZuiZ4Kdb+Rdw/eDLT/eNSWqHX8/YYP4L4RlMSpNVzZJbA7izOIaT8PGzB\r\npwohsGzxDbOS45uzOKB5aBDmNyjjOt7z4sa+Jb9iEf2Jb3PtssNs1sIcU3n/\r\nl+y78Bn2XOvEuqhamKDQ/KNlorKL2eoDbOuL5eG5R3z/ufymj9ZkPOqTydMW\r\nD8w6QR59e910CHciA81EWjpPn3Ilp3TCRX8mSVxtzWozSnm3avznf476Eea0\r\nBxLRwwNQqbD5P3Lt1jkQLViKWFVl0PR6bUZg7JMp55Y0uRncWoCnmNr9qWU4\r\n6G2KuDt6IJCy4q7kxkrKCqQ7AQXfQAor/E5sZAZiSK2U0Lb7ljeuJR7GLTZW\r\nxomf8gtPgwi3yh/JxGoRmtmE6G/O/qbGsT5YzJP0AiDBSh7Lvaqy2dlHvOIT\r\n9C9Gx4qjq3Oho1gDMIwsrXAeM1lWkQsDuDks0CPn8OMgc1kIVJp6WFs3VvMh\r\nCuWCdmI8eiGH3hcrhhy5pNLuqycfvB1OipDtd1lo5zxkeKEFDTRu4uC90H2S\r\nGtJcNVo/Dc2LSippCEF7NIAMzI8BzpD5YBo=\r\n=cawP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.es.js","readme":"# store\n","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework for typescript","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.3.0","@flexbase/observable-subject":"^1.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/store_0.0.1-beta.1_1660081975950_0.6287678303171549","host":"s3://npm-registry-packages"}},"0.0.1-beta.2":{"name":"@flexbase/store","version":"0.0.1-beta.2","keywords":["flexbase","state management"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@0.0.1-beta.2","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"f9274fd4f345c9747c6a5f98dd5463411be75d53","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-0.0.1-beta.2.tgz","fileCount":25,"integrity":"sha512-lDmT+sYrkWE7R0GMbHgeSXeJ93JjFyDjdsRfifvSqzQJC5xFzYWoh3MM3+rRADV8DH5USWO7SiUGjPo8P507aA==","signatures":[{"sig":"MEUCIQCnhRAN+fcuqVBFL99+FiLgK00IsKNSe3+9bLU3bhFckwIgN7mZtEyCMKMNu79ASMt32r1uC8mTN85FeCkc94FO9ks=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30456,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8tjuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr5dg//S5oDsFoLHLZDaoRk1xFwvMdAxp03BwmwHV4bWLLplqSjjUFS\r\n0UM/d2rXiLMyvmTiXtUw2OSC47aGNIBW4T7RNlGs2cTDfnLwjxhu9pgK50Ex\r\nKyXY601MDeXsIodWCaFZSyz1qOsSoJFp+YkINM8rIvdNet7Nca9l+duc6+I1\r\nTpSKDTWBTth5L8SUxqY/AGWj+mxdW+yRPcdsJI1LUYtLMwKhBaP+avKeLaR4\r\nbFrpCb+ZWKG/yehC5add59Y42RW6R3aKK6za/Kro+lUVBLF8gRjsYAFafcvO\r\n6l5dECoSeo5CC9D+HgO0N8iwhEznMg+zoFcl24LzdDUERk0oUFw0Toa90a7V\r\nNtuagBfe2kREVE1Ea6MGVAhs4zK8yxbN40Cx2PLaDh3E3nkf9y9TjW6Wyc1B\r\nkQzmWkymxrNq1iHIhL3fU3l2tqBKavefCazelq0xSZuh0gUJQSpeimR1utpH\r\n5BOZrYe3UP+3sP+aXWWMq1uPMRrAsbGZnmYwRlHLoYlLnzpo5EBvkFNqLagr\r\nZu64pCNeO77Emj0ZO/pnr+3rEbsgsNuPv6yePVpQbBohR59Z8VJ2a9pjqBCr\r\nw6xmDYmr0TgeRyRR+dXgSVN4eMgE9VUi2T5oWzC4tgZ1SkBAJbqz4o3KA89/\r\nLGfZ27+rULQw6bNtkEA1w6/eqlup6Rsaby8=\r\n=FZTo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.es.js","readme":"# store\n","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework for typescript","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.3.0","@flexbase/observable-subject":"^1.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/store_0.0.1-beta.2_1660082414111_0.8837230530137867","host":"s3://npm-registry-packages"}},"1.0.0-beta.3":{"name":"@flexbase/store","version":"1.0.0-beta.3","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@1.0.0-beta.3","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"69e97e6f734512d4dfc14136b590d700c2eb2503","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-1.0.0-beta.3.tgz","fileCount":25,"integrity":"sha512-CZaHeFHgK15wDXH89vdYLOx8F//rqXaXXrYxC0ZgsCWnv25GaTAqfneJW7lu48gs9TFGrx1+gyk7m1ygn2Sjmg==","signatures":[{"sig":"MEQCIBb6+TklgPKefm1VQii5A+nlTXIeLN86oWHV6rnnzRmcAiAHvqgnLxmYXPtnVde1a4tdZJPrnnz9SWVDP4pznX368w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi868RACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmptLg//evMKoFCi/pq5+5pRL+AGa+To4UtutxtCsv7VQHO2qIchzcuI\r\ns9wsp4YXjeH+EY2KCfZOuDYaTP2CARVqeb8fAwTWJ6DgrLEwNK25uqGrxSyV\r\nj+u34CiCXyme5t4462r0T9xNx3YaXXqLIxDmFNjcXlgfj9dYhjXbrquZzrTr\r\nKFyt/4s2dJ/DlnWv899a8oIUIQkvk9P2GeoenWsN8Y9W0I8ZDIGWMCit8fbK\r\nRKcoFpRiabtE14MDN3IHMSXW2i77B1csy4eksQE+Vgf6hGyPcxTIG1JsfVnI\r\ndGuAnNQmvfT839NmFbzqMxC4Ow47C89fs+HU7VFO3nnQISrimfMWkyaTfQmW\r\n41R/JQeVGwE1XoBYncJvCjjpeD8LGY/glyAnBcg8pBrXYb3hPD6D4KY6MPX7\r\nkVF+37DBreRr0t2EqxC9NkPFU11AgRpmv7xdtb1aYQq9Vwj6BBtSlcSQfXCx\r\n4vDWhkh52WS2i6CIe8f72XEeWz9436cJ1Bt1Rpu2Kd3FxwlmbZka2WmrfT72\r\nlfNXRwHuwJHhTCkiylLxPS3C0NJ25OaWmmf9Bk+1cyk57vu+/010OpRSYoQ8\r\niCHMqjPnb6IxLrVwuEoyFRta4Iy+LE+ynJeE6NswXuIYdRSJV8/v7kt3oRSY\r\nNCmSe8IDRpbuOlW2SFodvy1Q7NCFbLF8KJg=\r\n=/9k+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.es.js","readme":"# store\n","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework for typescript","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.3.0","@flexbase/observable-subject":"^1.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/store_1.0.0-beta.3_1660137232982_0.0988747858360608","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@flexbase/store","version":"1.0.0","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@1.0.0","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"1dffc3478b08ad15f6159d6fec4bab65a7a17d2e","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-1.0.0.tgz","fileCount":25,"integrity":"sha512-MbQ7Q6FcoHODyORE0v/LFaT6bH/QRXvOlm14dKnIRZW/rAnoU0xF8qhaXgjIDrJN09f3X2lfzzdv+OQbhdjz8g==","signatures":[{"sig":"MEQCIC4hDlLi+3mu73WqSDyP6dy2BCLiG7zOV6sTfM0XKB69AiAJEBF1pLPUDwh0gBqSLHK4Hasvyv0OnFTjnlBoVHUtGw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi87BCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq5dA/6A/I1xJDzrhEUcBeveLf0sBT6wxoEfQCStzHJrkLCp5Up3LN4\r\nO1Y+NLfQwWDacyJ6aNW1+/t1hdIH0/kfH6tKYqD6u4NP8idDnRwa4y5LIpcc\r\nsmFGTloXPyeOvRdlSZwonBAU5SKbGBlD0kZk12E0WVjqxZ423kPCfw2eA5uj\r\nAyPCIieA2rZtMEBu3HJ2zv3TRmnt/GjvMXveFO9enMgqGRE1bpyPOIo4cXZI\r\nNg45/2QhhDlQXu7mBT0YaypwSIyWREVf6PJfM5Ig7ypMXNVq2O0DfkQSU8Qa\r\nijMOnc4Ej3U/4v1jBrSjMgm4EVbLQLyS9BunAbVbLmu2nthwru52o6CWR+z0\r\ngX9qnv+y3iU64j3sDGxPiKOWEfitd1wzHHXQUL9wdsRdo+ZAFZv5uzyRFbPL\r\nZiaIT8SpN7la5XgdOQfdaa6XwPfp4hYMEWckd1fzdhnW9Zy9G+RlOgO8DMvs\r\n9N/nmz1CPkw51ICVvcP/FReDXMp7JLS9dtZ7IG/grmCm5rWR7LK54Q44WAgz\r\ndvfhNFrNDYtuXawWjbeAPZ9DA+tqAmeci60SF6LEBKT5uAkXh1Pows4skwDf\r\n91tUyr3CAvnedS2fSJlVXzFWaMVuzbAJ8BtvDJUnwhUG7ymBwz72uxMsxCH+\r\nOpQfDHuEDLP7sQtHnbzhpUlEjVhyqNG00a8=\r\n=5w+u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.es.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework for typescript","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.3.0","@flexbase/observable-subject":"^1.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_1.0.0_1660137537942_0.7024139261739903","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@flexbase/store","version":"1.0.1","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@1.0.1","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"d27c37c9460c4410e916b3c5e43bfc9a3abcb9b3","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-1.0.1.tgz","fileCount":25,"integrity":"sha512-okAs3dtSmn66w6E7cwboWHappA4stoygkeaIPNjoUe9/zNGw8vzAKBuYIHfGzRghSQDcXUujy32UDAX1tZAGPg==","signatures":[{"sig":"MEQCIDsPCMKTqEcfqy9off83Cr3xC/KNnyglu6ICOlQXKpv2AiBJWXIP5U1mZfAZrmyKd2zJJIjP58ffSpm+TmrIzYqYuQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi87OpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+eg/+Mp++YU7dWw0TFhXtkvyPMn9DkKIpiNOgESeeilLbBLKEXbV5\r\nVwARbjF6hsreDu07o/ojno5IGdDcSFsDgxNVbsv8Lex4Ut1fXrrzEx2ymhPI\r\nsVsganHPNxY2W8Q5LoIVWfD/+9bY0uwSGARsMEr45DTfQ0ZNDWPaf8JcktQA\r\nYIhoBHhFCl1SmyhVmW+ZyxC+mQxu1cb6EkbGA963RGWLoSruHlXOVj+qPKqs\r\nuOX82KkMzBlLeiymDz5zSVjuOtlhCo4faD0LN+0kH2hU6Tnfgr8Plww1ytum\r\nD8Rk6d2TKLmCAZHz/l6IFVJdQcioGEjG98yGGLz/K5vCLDFBD/3Xfxd84mEg\r\ngoK1VvhC40BELxyc3Z818WuM3ERuNn0BcStxGQFvfnIsmTN1MyFIdfx7HjSH\r\nID6kso3MCmb8ill4zbTXKuEWLqBswKdd3rx6CB2G2EMGm3/J1AouSkXjmteL\r\nB+8lW3pUIYCV2JS3ao8fJdITJlN7VGXYIzylm1TNfahUF0qOQ1OW0RIBdt0c\r\ns/LykaaXAe6NJhVSuWn1DGjmsHSsy9w/tUgURyjD4HSPv95lCxdZTQ5V1WsI\r\nsYEoZkrADItJysVZ2FH29iQe5q3EGJ5wHoOgrvJdTlhfMCOORlkY1nEuDZCM\r\nl6UZodlM+QespVvNN7//dklLJ6m+/nCX5RQ=\r\n=zCEX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.es.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework for typescript","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.3.0","@flexbase/observable-subject":"^1.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_1.0.1_1660138409639_0.0688076278433678","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@flexbase/store","version":"1.1.0","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@1.1.0","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"2100b56281d810815cdf9e5deeddbddbe30906ae","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-1.1.0.tgz","fileCount":30,"integrity":"sha512-yi+9XvGpR+XCEdRLU5wkU+T5JfS8AgBtrOJPNcKobf7CJ5uGUoYcz01r48CC/o8MwH/SAi7GzzvlXMo3rFDGlg==","signatures":[{"sig":"MEUCIQDoNK4GLrLEpvhBIU6lJ0DYKXntDwsIpxslkhKXgSL51AIgULJ81ZbeR6N/ymVon6rjsNw0Wo6yWf//Gqo86hRx9cY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34019,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi89LlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpAbhAAj+ABriTtMnPjBrojDgGcraclAiDbPDLvrcm6ee/G/6dibmEp\r\nsymdlKUBHqaNvHZa+Kn3NfDpts7tkWojIxoRp7VjvwXs9NOQ2+SrQu6/adiY\r\n01bQX7anqAOcdOahrNNfBnMOKQBb0Wx+JcA1IC/k5fvKVPvAcitUAhw3bQ/D\r\nCy2d2jDsOy/JyR6kJlrNnbGvFtXSNIUUDUf9Esz5rB7ZvRG2hkWOGgpDCu2M\r\nHpXxgzuUTgslf28wV0/T5TLYVvHAdxqBE+J+UikQe2zwa3B+Vw9bpHXcCTva\r\nHVOU5SvMphfWxsRPJwlS2yM70ItXGRU0CJqMB3wJ/enydEW2yBMhL5xzuEyS\r\nG8rLa2zp4DzZQjjsXgkHPvLEbiahklnziJ2RKxEzXXSak/KRR2dE9Nv/88p2\r\nP1GMV1KEYXOY+ML6azypykafK4feo/EI7KoN8Fx202NcJEus+EaA0nbE0PaC\r\nmI9zgiMVma+e7YJTxBjwTfhYtB047AOLAzJmiDLLpBGPH1s1AtRTjrMPfHSa\r\nKwxudpd+RCrWeUqwDhhM/iAA2zQtFL24tF2KHgveOSVY2Y0ri4HAyg7Z3Zlz\r\n1LBPgLf0/OGxqLPcuyG7nyYbrDk5wNt0t9NjYfyPTEEW6olGYs8WFCJIFW6G\r\nXPW9QzX4XnM1hluvXbGRT9oM//yPKGh8Kmc=\r\n=6onM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.es.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework for typescript","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.3.0","@flexbase/observable-subject":"^1.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_1.1.0_1660146404951_0.27776881419578836","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@flexbase/store","version":"1.2.0","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@1.2.0","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"47d0a9971cbd1079323475b36a3919cc9d7fd0aa","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-1.2.0.tgz","fileCount":31,"integrity":"sha512-QdFiLaQeE9c0zDQZhjd0oDHEiCHlXP3tZ2DlqysUENb3UwH3jDYjmAx8YgtIhWC8p5EUkNJSldhSHXowS4UUJg==","signatures":[{"sig":"MEUCICs2GUWJ78ff5OYF0aTZmcKtoUPiuZ7PW6zPjzbLoEPZAiEAsE/Uv/K6G7ODb0PVGyU8Y5PRBXTXS6sV4sxMPQi/R0c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8+93ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqgpBAAk9p9bvy4eiwhz0ZLYDg9+ODTslCUbvAo54Q8wVdxGPlOOMtj\r\n9Gl0i/q4R3vpDVvCjxO6iRhEzxzTaqUBoZ5uiBMPpPaTSTaABepzK8RtUBA4\r\ntzhgFXDCRwZQ3WtiJcKxLagEUh1H/+DYwmXTsdbMK+dxgFqt6gmZxcCiUgUo\r\nBTaNY57uK6WdFFzJyWTgKkdrN9zAu8EKHEN3auOnOWLm9KXg7PlcBeoY6qwL\r\ndOQDlOyFtUbIMB/Yy/T55YQ2gEQCdnsth4nvHWHCiBALQJUiMaTKYoC07A2E\r\nqr+DB+DPziy+MgLyD2Zyi9kmfaZo09QjQQFHBtSKuHgSDfuEleEOyEaKThmw\r\niRPV1/kbmIrBYvsLp5Vl//iwifUdKEJkh3SNO1fDi3+GV19RapkBvCXLnfLD\r\n6NFC27TZTYOEu3NrYyxNi+EK/1SAzXb+A5Y29Z8/9PNKLQ0+whgiIljjGSYJ\r\nYIyWLDFj2WrtRyDFi7A7+UTp+Rlk1HE4PLZ+aJFC83olPVzgwg7Dq+16E+yQ\r\nNiDxVca8IbED63ta0q8M877EnpbzEdwOkTtBOyeerBi3Snkke4qp/P/9SvUG\r\nYwv7Ng9tVvF0XvoOtwWEt2CD1bQAF648D5s/BgqsrfDIBhnCTN/3i58UnSv/\r\ng6nsxlnSQiL9kZPM3+5vewaTU/nvgPCkA/o=\r\n=U3vK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.es.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework for typescript","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.3.0","@flexbase/observable-subject":"^1.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_1.2.0_1660153719211_0.5601667977268419","host":"s3://npm-registry-packages"}},"1.2.0-beta.1":{"name":"@flexbase/store","version":"1.2.0-beta.1","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@1.2.0-beta.1","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"9922decfb38b846196f6cbfbc6eff9d39525d669","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-1.2.0-beta.1.tgz","fileCount":28,"integrity":"sha512-waWVi+kiev8NrOyUP3DoXnouDYE4DIEtQj0Pn6i5VbSPrPhu8J54WGLDNzGajJH+vwsv3EL9jWZxgj7bolwVtw==","signatures":[{"sig":"MEQCIH66Rb/y3/K1xn4+uQEuWKSSYZftY8ppXAwR/znR57h4AiAi0aNqiJFwnDNMrnYyJkY0eDEGoUWyktPjOQWIZ9fCRQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFMzTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmraww//QuxwmYJRoAG53uTLgvl+Sa3ewaqEBVgu9RtcO4SkBZaYH8Yc\r\n2z2xEXT+cNCbfaVWDpO42MiDdDJ5EdQvQ9SZS2l2PbvlLXxFdThqOSCIDAOf\r\n5OvCq/vUXUzyBtnToMjp3femHiRdKdPUJxZyX59qV5XXZ/6TnmPbPZMGJNH/\r\nNe5RnnUaAIXLttbiQxbGJF2Z/zmMHMUZhHDNTG15+WkLWDDwpGOZK9Tz7gBG\r\nAN+Mz1Jj94CgTy60alvIxiM62ZiIkzVOAKf2Zgjbd5UnQkE1A49MUm6YFRHW\r\nT5apHvO26pgrHIo25uYHNSIH0AndFQznf2CkOdhedSDqaV8s9YwTH/xKC5g4\r\nGrz4l99bxF9CsD/MedA8//3d+HEzHlKhqBDBpjylS6OY6mNs3eph5eSlQY4S\r\nF0EtJYrjdsyl06CV/1E/f44otwc5D7TKw/sxtQSOadee77lDnVQ9uzB5CA7B\r\nc1teYSSv2kJu8KEGqrv46eB2Z6rKluqpxU5a3krICC5mylaua7LaA4h99k/u\r\n+NXduaJNur8bVSJaQJJEcKiCFKXb4RfgTEh/uXAa3hLGgdv5hYryeMYIjtW7\r\nlTyo+RxMuLxWfthg9+wHJoPQjPVHt9g7yfM7dr2XFMn57OOFRCxt3HtdNbmi\r\nPAVTtf9qSyg2iIJOac8tf1VrsSEmf/+9JPI=\r\n=tQcP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./index.cjs","type":"module","module":"./index.js","readme":"# store\n\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=flexbase-eng_store&metric=coverage)](https://sonarcloud.io/summary/new_code?id=flexbase-eng_store)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=flexbase-eng_store&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=flexbase-eng_store)\n\n## Installation\n\n```\nnpm install @flexbase/store\n```\n\nor\n\n```\nyarn add @flexbase/store\n```\n","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"latest","@flexbase/observable-subject":"1.4.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/store_1.2.0-beta.1_1679084755052_0.4339758406143892","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"@flexbase/store","version":"1.2.1","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@1.2.1","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"50ffbc97ddd7a2283d45d00fbf792a3ccb7939d9","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-1.2.1.tgz","fileCount":28,"integrity":"sha512-dzCpwSg4gr/WsATDOyTtry8gaUYBvKvgiFFa7n9H0vC6bEvBSqkAnRaxO5bVVp3ZqeQjlN/CSKZ3LKADfKy9EQ==","signatures":[{"sig":"MEUCIAzWDXiDIg6mmpZv6QzLlKyGGX/LZfXFwhnEyqWSblwBAiEApIBcRQ/DfW0or71esQPCj+3dfKQ6WMDAvbfnPb5rNjE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25495,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFM4IACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/YRAAkCQSO2xhnYmKSS2n0Lx+LZzYea0B0NJAMNwLl1dDfOTukqIr\r\nxj9Xz1Eo+koVaAJe+rdh+Ht68l5QLwG1k5jsLHCLOB+uCVxyjPmCIiP9/Bvw\r\ni9i7OdLIVNTj5w2pNioY1FNQ7ZyPSf3mMrY0t0YFfgm2MFXb4rwaBk58BrY2\r\nNDP2vq/gQZ2Q9+yq0c11P4gCm5Q8wwfV6jqghZO2fh24RntrO4lDm8imc87D\r\nF5prhyHLUWJEIZvOPwuLoE3bIbu19zHYiUjPIoaSB7wyy3uSXw3bXrIsBlaG\r\nI6WwZ7qofPVDEmh/JGyFJFFgcIQwPZhC74KlnZFN2ZI7PhG2oCqFUUrXnieV\r\nE/c3SbqSUxtFPhA+4rUCNrb0uFqvWrADJ+ZUSmZNW03yF4DL7sNq6qUBI0ai\r\ncVV1DGHO6gYM07Q858zOPo5kOQ5XzpjMdy5XwsVkDLtzC+6B/yZrzZwmXkrW\r\n1cuQ/Y4adMRzYtKwWTez+xech12xjrYqlf6Tx1Ze7xq9bZksdRvbAKx9i1Cq\r\naUt9wH6XWQndPda97OxG1z+Za2CdsDKqH2bnI/HK9oFHKr+QLH3+j4S6os58\r\n4iOmv3FaBHLpvK0k3dME2UY8YZK9Sx+zwrrGNbT9AWzsFjISddJlPLuX13Xz\r\nZbVr2TS/Qv/3GfoijTJw6O+xNsw05WZFx3g=\r\n=qdb0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./index.cjs","type":"module","module":"./index.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"latest","@flexbase/observable-subject":"1.4.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_1.2.1_1679085063903_0.5417960382521689","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"@flexbase/store","version":"1.2.2","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@1.2.2","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"574898adbd14a4e2b5bfd0b4247ea6650731b3b5","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-1.2.2.tgz","fileCount":28,"integrity":"sha512-75H9tbGHaFvbWiCFHZwxBGiWyj+4XHZ/Gbkqs2VUpkU8RhxtsmF7lFtX/NC1gMOXSLsXuc2cmYGYCq10VXjgAA==","signatures":[{"sig":"MEQCIDEoKuYByhhyEU5rpHJMnr7Km02DzKjPDM2iX5YoNiIJAiAYqoFA455sR1rpdBaBx8IvKXH+lYAzEN0dBNwzCro03w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFNQmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpA+A/7BNpr6K7InryuhJLJ1FI2rq31eOIC1EZQPoOc1ngGQSGQotDA\r\nb79zdxQWwOSXk5ZnyWEaFGQb4MImBI9BdndTMhnnBHfXP/m50cbLvtLODcqT\r\neCtKhWd6iZV0XhCY+jXBDMP5LB7wSMHCklOEM5OERP0KkD2fJvxf1OVdkdUy\r\njFuEpWrLih87O+PV/rKMuqY5imGPLYbAVF89kqEfNDVkN81NzJ3dmrUW1q/k\r\n8OSzc5dtNQBqeMEV5dokupv7It/VFgSasUYNIOXaFRLhB4Dr1BaweuF9sL1C\r\nmEgDMqXRhtS5uTFcaFEbjL1/1K30TPtLJ3NErpTJb5dVY9Hhy6OMpcVQzJIB\r\nrdzuh1FLKVJn2WtPLELezhJdCkcuKVvkxcYtlutAhH7lK2wDp1bOiuWjY6kg\r\ntnG2EqXmTJFaHUo3yexIZSVfzLN/6KFjVAOKHPVaQUAjKPLZkofffQoWeJml\r\nG+7hJyhzp1VQSm9CADwFKZivE1unU3YigCj5ZnY2HOSoEiWcKYJwKJ5dhwpr\r\ns7ee9TM+pdy3nBgiSgpU2H3LA0dOcz7tk5rrN6CCJBHp81MIXbd2h8DVtdgV\r\non2IEBZ9AlW6jsf4dDPSM5tTfOvF02p5gXEwbRCBHdkPlo7zsgOQ4ykNbpkQ\r\nkLADQQxlMvgt1imyY5HALH6Oj2M+obGhzfM=\r\n=YRY+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./index.cjs","type":"module","module":"./index.js","exports":{".":{"import":"./index.js","require":"./index.cjs"}},"_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"latest","@flexbase/observable-subject":"1.4.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_1.2.2_1679086630375_0.9381546716696039","host":"s3://npm-registry-packages"}},"1.2.2-beta.2":{"name":"@flexbase/store","version":"1.2.2-beta.2","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@1.2.2-beta.2","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"2734a8cfc7a1b90337ba9382d453e003de8bb877","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-1.2.2-beta.2.tgz","fileCount":28,"integrity":"sha512-hf/1WQWrnD8U1UGs9HU1r42aRGdLUh7KijdcanynJJsRbxL0Px0M9TOzNtOUR8OabZTPOLsaBfiLk4qUeGaNrw==","signatures":[{"sig":"MEQCIH9ilX+8t7tS2oz86NxIcyVmg08+OyAAHAouTMMUAY11AiBBzN2IwevpzlQHJnN+ra0sUR9G5fLnknqWDU4ffZD+VQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkF0z6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqwtA/+LDcKOKOs5VRB/tDj/f9Hq20sVPAn5oEB/xpZK1Tk545wSdiw\r\nyX0nLxiRt8hAnOv0URdb5pkwD/oGBg4uYgg1gehTIyp1W0RpwzbOSM3U0MkD\r\n/W/dIA3OPgFiLDjGrbY0Ooghrc+YSh2tP2TbyQVQrR8rcuNMnNInVAVAFyvL\r\nNKzPq/tqSSJ5o78ogzfTRMZ7JIsq0c3HEQ5W8wUmIKsQzV6MUVUDSwxoV+rd\r\npsffz0JrQkXGD9uwas6ah5Gwjq7jEpLSOcoCAocyE/Nv93OeorQeSaJY8unk\r\nRRLKfAfFwROSy8xFlvedM8StOrhIZV0493/pPi1KZqh38qegoGXNmZLTwAZX\r\ntBsVO5c9CNC3OJ/JONeF0sBUADekvheKT/l7yVViuh+ok7IiErpulCXgHbiX\r\nrEj6jLzE2XW64gARNIgqQVrISktavwC49m9rgrwf+leXcZFtgtoPrKtJk7xs\r\n/N2kiZx2yeR3/OfWzxyVcGdXWlfMC+tVs724dHYKRLvPiA5LJeu60yAwK4FH\r\nnUxoJeMFskebdef9gBxKA/CiLQYSY6vYrYapgteIbwThNKfdORV2V/h6x+7c\r\nFp64fowopBYrxSTKkJiE92lKpJzp+08MN0DnHfi/YvFT2Ur9XV6Ye2e9UlaJ\r\n80gRg0VIyD6BItHVqG/eSwNC0vHLFcijhjU=\r\n=EtVZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./index.cjs","type":"module","module":"./index.js","readme":"# store\n\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=flexbase-eng_store&metric=coverage)](https://sonarcloud.io/summary/new_code?id=flexbase-eng_store)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=flexbase-eng_store&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=flexbase-eng_store)\n\n## Installation\n\n```\nnpm install @flexbase/store\n```\n\nor\n\n```\nyarn add @flexbase/store\n```\n\n## Concepts\n\nThe concept behind the store is to separate state management from other application concerns. It is `Promise` based utilizing an [Observer](https://en.wikipedia.org/wiki/Observer_pattern) pattern.\n\n## Usage\n\nExample data\n\n```ts\ninterface SomeData {\n  name: string;\n  id: number;\n}\n```\n\n### Create a store\n\n```ts\nconst someDataStore = createStore<SomeData>();\n\nconst someOtherStore = createStore<number>();\n```\n\n#### Create Store Options\n\n```ts\n// object style\nconst someDataStore = createStore<SomeData>({\n        key?: symbol, // use the specified key to represent this store; otherwise Symbol() is used\n        defaultValue?: <SomeData>, // use the specified value as the default value\n        comparer?: StoreComparer<SomeData>, // use the specified comparer; otherwise defaultStoreComparer is used\n        middleware?: StoreMiddleware<SomeData>[], // use the specified middleware(s)\n        persistanceProvider?: PersistanceProvider<SomeData>, // use the specified persistance provider\n        storageManager: StorageManager // use the specified storage manager; otherwise use the global manager\n});\n\n// fluent style\nconst someDataStore = createStore<SomeData>(options => {\n    options\n        .key(key: symbol | string) // use the specified key to represent this store; otherwise Symbol() is used\n        .defaultValue(value: <SomeData>) // use the specified value as the default value\n        .comparer(comparer: StoreComparer<SomeData>) // use the specified comparer; otherwise defaultStoreComparer is used\n        .middleware(...middleware: StoreMiddleware<SomeData>[]) // use the specified middleware(s)\n        .persistanceProvider(persistanceProvider: PersistanceProvider<SomeData>) // use the specified persistance provider\n        .storageManager(storageManager: StorageManager) // use the specified storage manager; otherwise use the global manager\n});\n```\n\n### Get store value\n\n```ts\nconst value = getStoreValue(someDataStore);\n```\n\n### Set store value\n\n```ts\nawait setStoreValue(someDataStore, { name: 'Test', id: 1 });\n\nawait setStoreValue(someOtherStore, 42);\n```\n\n#### Using a callback\n\n```ts\nawait setStoreValue(someDataStore, _ => {name: 'Test', id: 1});\n\nawait setStoreValue(someOtherStore, _ => 42);\n\n// do more in the callback\nawait setStoreValue(test, currentValue => (currentValue ? Math.min(42, currentValue) : 0));\n```\n\n### Reset store value\n\n```ts\nlet value: number;\n\nconst numberStore = createStore<number>({ defaultValue: 42 });\n\nvalue = storageManager.getValue(numberStore); // value is 42\n\nawait storageManager.setValue(numberStore, 1);\n\nvalue = storageManager.getValue(numberStore); // value is 1\n\nawait resetStoreValue(numberStore);\n\nvalue = storageManager.getValue(numberStore); // value is 42\n```\n","exports":{".":{"import":"./index.js","require":"./index.cjs"}},"_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"latest","@flexbase/observable-subject":"1.4.3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/store_1.2.2-beta.2_1679248634217_0.8787577764268302","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"@flexbase/store","version":"1.2.3","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@1.2.3","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"0863dfea849dc07a26150d8f73069ea7e6b07b16","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-1.2.3.tgz","fileCount":28,"integrity":"sha512-0ghElSs9j3VxQXroQwVRnd8JhQ9wB4KD6/1kOgiL8+H117JB+C4fpcVjKxKbvm9psfj81hVXE9L4FaGJfZYQcw==","signatures":[{"sig":"MEUCIQDCY1nax1ekgCJ1AJ1u06XP5FHCPOEbNATQKVdgX/l1KwIgUHji7+19TFyEqRptwor2GxQEiCBQQOW0JL1SBkgdUTw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkF03+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSzA//ZakcOgi//QO+rcQ30BXFAz53osNscUFWGqvFaNbMrH9ciNIS\r\ndnj0XXLPYcdtz8M3Xc2FBHjbXrzr1a2+IEX4f1TeHNINCHV3eA2jQ1L70nuP\r\nSp4nrxb1Ve5nktoaayFi6ffj5kVluPiNe6/cFlWVrR8Skh5Oe9r1ODn7lThX\r\nlvnWAXIUlipQFJrclu+4t5BHhriVUANcTdvahari9inMOHbGQJgZhjyMHqgb\r\nRXX1fFvypfUfP+G51gOIY/61YNVAJ+snH9Hqg/zMwGkd3/WBd5G5dsDGKCnh\r\naD0FpeESV7av9QtfoH+jh6hXYa/lTXEtMZA3++F/ZiG4wS1a0rygUkBVimWE\r\n516l3leIpNBtLj827e0H2gjAaOdgbfpcp31d3HijhojGL9b7qbIgRdmE2eFX\r\nNvwVR8IfBRp7lmx2AZKI4KkqcJ90Wy48aYctV6KtkdOZU1yo6Q5BAqo7VJu0\r\ncsVazpVFggqW96rzYJ3Mtm0yNLRSWEbNpjTby5h9pkv6piFIYGTTKdhuGcCG\r\nEur1uGGI9L/wGNlfIIqemEgm5sXzLhJajY8YJDaaj40P7CpSiSeKnxFT/f/3\r\nY+DzerVdP60lVK4Rt4p8ngcChg4ZBy+oqi+cL+IZ0mW0/ZvFt5l6PFzWlWPu\r\nEYLLZwxCRTrEoafGw9dPlCHUgeMtGFpU/A0=\r\n=jByo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./index.cjs","type":"module","module":"./index.js","exports":{".":{"import":"./index.js","require":"./index.cjs"}},"_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"latest","@flexbase/observable-subject":"1.4.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_1.2.3_1679248894044_0.39111048014979843","host":"s3://npm-registry-packages"}},"1.2.4":{"name":"@flexbase/store","version":"1.2.4","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@1.2.4","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"fce269ce260a57a44aa7289ca681b9fb0fb814b9","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-1.2.4.tgz","fileCount":29,"integrity":"sha512-xvZr77TcbLjDkgeoPLvHhZ6rMfEV9ifqCMI7Vl9UtplS9joDmWqomSYKP1aRX4JAagutKZETi1AbIJwMCqffrg==","signatures":[{"sig":"MEUCIQD1Kdc1E3po449smr+590CoafwsnXGUducgtKm4IgqG6AIgGANL3XBft+EUbeeElxEu/HYCBfstEKLvcO5FWEQ1omA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGM1pACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqzDw//dcHgYCgwHSMyWEKdWYQ2x044M89e08+C4syhFbKgPkqNNuNW\r\nGMX/10M9PZTITyCyR64LMLntfGUgWNNYuSHFVGPT5+dc+xyQJxw1lnmaY35m\r\nc2JWOYoCnwbzdVxwj/P+4leW4SdPCknDIxBo1UMRXYHDxX+jiS4fqBJ0rIcU\r\n4YkHvT+2iAHlxHCXRHpRD8PFm9U72rj5KfRo9b2b9epFiw2/326TW3I/xFZz\r\n8EjSZVbhMBPO3vB//E0xVxSsB9W8uUw8tf8xWAAjj+i7tivdPChhOjkRc6l9\r\ncFX917qVQXcuKYloTV21ihf5yW5yAJ0duw9ClwNNq0ow3ehjKNyG8JH8dnLf\r\nFPs8/WQ40O3goO5r12h4VFrzWxBjrg4LxKx8vc+DUpN/EHXNiboZQ6qkVUAU\r\nnqmSE5kmJAgicR+lns6TPGiQ49xThkB9jEqSya8TLT5bmQVmavoPqWa6RCDL\r\nlVwzU51UI33YF0CRVdNbQv6SVeoHoBwZhfsTvy+lpqLZLzycRFDXZroaENEG\r\nI2ojjZuD6BlWPwFJ/8Z/2DruEMKowThbhIMCrdP5CyICZMeJ4Ieioej/vTey\r\n+mQU18ri67awOfnnWh9Pznj/ENsfkFGQPQ8gOiHYZwKCvZfUln+gJhSn9Jvd\r\nUolJW5tlTDd59FIM0CFlwGCBa9ZRiAj7pzQ=\r\n=Y+Ea\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./index.cjs.js","type":"module","module":"./index.es.js","exports":{".":{"import":"./index.es.js","require":"./index.cjs.js"}},"_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"latest","@flexbase/observable-subject":"1.4.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_1.2.4_1679347048821_0.13101238822850658","host":"s3://npm-registry-packages"}},"1.2.4-beta.3":{"name":"@flexbase/store","version":"1.2.4-beta.3","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@1.2.4-beta.3","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"98434f150d9c36647b59b06140f2971d16b4c786","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-1.2.4-beta.3.tgz","fileCount":28,"integrity":"sha512-e5PeA5uA5gzrBTJCTH+3OIJubF24pr7c0l8t099TYYrkh/EOkuQXGOXh5wmdRf4hFOZV9NJm4eTyLZdHTMecxQ==","signatures":[{"sig":"MEQCIAJXvKUnCFzADOXJfiTHfTxf7e1zm8fa4saOYhaAOkCDAiAjHKsTjYfhf3n07ymWF7e1j1tMV++FRL2oEfh3Z66Eig==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21977,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGcAHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7Qw/+IWP93XqRss8e3Fd5jZmjb2XFzbNByDI2s0ON+Vke0VWUyqkf\r\nvkqhviQmGLzKJEsCGTFDvuA21qI4K9TFS6+XF0CeXYBNapAENeqhpkEIwRQn\r\nvoZK+SNEKrO+EuHWUOwgqbEje922xGyoqeppsh5F1JT5eQ/3bdHrqtroT2s0\r\nJBYx+G8wOOdzNy3TngomAbm5wxmYWmiYTAkXsu5eGi+jYDhRMip3qbw36odT\r\nRQbMxTes6dlg4k07gwphOE/GK2PioQ8Q6YngxC/T0SlkHA262i6SDokWS7lN\r\nUnGk/jn0D2yuCgUqFNsjwRyyWFJQwsu3yIpMxfRi6pUeqVVcgLZMYvSnMD6p\r\nTY/H8yx7/IFGxXmzGgYn8z6iG29FoKKbhHA5cjerPt8a5AZvS3B7PFZMj0iu\r\nCG/iIF2QbFoz18dnxfOkNGT8l5wAMyUohy5eQUtEg011uHiSu1RVqgqfmLq0\r\n6oA3Ta80pZYVPQ9BItjJTCjggVBCyRGb8K1METq0CCzaN33KAIbHRhq93CLI\r\nP8esvGt4VNDB1L0N8B4NxZ+TvF1aJDDZ1hRvOrFh7/qnn13nH9hsSljuGoWj\r\n2lfOCzq4Vnbi4vqaO5E9kgsPRtpOZFrVkNPyPVUgEpgPxyY77edJXESR5sY7\r\nkQRAfkFOc86b67p69VmpzUDqZEghqQEnjb8=\r\n=djou\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"module","readme":"# store\n\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=flexbase-eng_store&metric=coverage)](https://sonarcloud.io/summary/new_code?id=flexbase-eng_store)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=flexbase-eng_store&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=flexbase-eng_store)\n\n## Installation\n\n```\nnpm install @flexbase/store\n```\n\nor\n\n```\nyarn add @flexbase/store\n```\n\n## Concepts\n\nThe concept behind the store is to separate state management from other application concerns. It is `Promise` based utilizing an [Observer](https://en.wikipedia.org/wiki/Observer_pattern) pattern.\n\n## Usage\n\nExample data\n\n```ts\ninterface SomeData {\n  name: string;\n  id: number;\n}\n```\n\n### Create a store\n\n```ts\nconst someDataStore = createStore<SomeData>();\n\nconst someOtherStore = createStore<number>();\n```\n\n#### Create Store Options\n\n```ts\n// object style\nconst someDataStore = createStore<SomeData>({\n        key?: symbol, // use the specified key to represent this store; otherwise Symbol() is used\n        defaultValue?: <SomeData>, // use the specified value as the default value\n        comparer?: StoreComparer<SomeData>, // use the specified comparer; otherwise defaultStoreComparer is used\n        middleware?: StoreMiddleware<SomeData>[], // use the specified middleware(s)\n        persistanceProvider?: PersistanceProvider<SomeData>, // use the specified persistance provider\n        storageManager: StorageManager // use the specified storage manager; otherwise use the global manager\n});\n\n// fluent style\nconst someDataStore = createStore<SomeData>(options => {\n    options\n        .key(key: symbol | string) // use the specified key to represent this store; otherwise Symbol() is used\n        .defaultValue(value: <SomeData>) // use the specified value as the default value\n        .comparer(comparer: StoreComparer<SomeData>) // use the specified comparer; otherwise defaultStoreComparer is used\n        .middleware(...middleware: StoreMiddleware<SomeData>[]) // use the specified middleware(s)\n        .persistanceProvider(persistanceProvider: PersistanceProvider<SomeData>) // use the specified persistance provider\n        .storageManager(storageManager: StorageManager) // use the specified storage manager; otherwise use the global manager\n});\n```\n\n### Get store value\n\n```ts\nconst value = getStoreValue(someDataStore);\n```\n\n### Set store value\n\n```ts\nawait setStoreValue(someDataStore, { name: 'Test', id: 1 });\n\nawait setStoreValue(someOtherStore, 42);\n```\n\n#### Using a callback\n\n```ts\nawait setStoreValue(someDataStore, _ => {name: 'Test', id: 1});\n\nawait setStoreValue(someOtherStore, _ => 42);\n\n// do more in the callback\nawait setStoreValue(test, currentValue => (currentValue ? Math.min(42, currentValue) : 0));\n```\n\n### Reset store value\n\n```ts\nlet value: number;\n\nconst numberStore = createStore<number>({ defaultValue: 42 });\n\nvalue = storageManager.getValue(numberStore); // value is 42\n\nawait storageManager.setValue(numberStore, 1);\n\nvalue = storageManager.getValue(numberStore); // value is 1\n\nawait resetStoreValue(numberStore);\n\nvalue = storageManager.getValue(numberStore); // value is 42\n```\n","exports":"./dist/index.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.4.3","@flexbase/observable-subject":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/store_1.2.4-beta.3_1679409159532_0.7724080584410282","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"@flexbase/store","version":"2.0.1","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@2.0.1","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"81ecd494f53a9d6225097ffe8a20a3ccd2eb5d2c","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-2.0.1.tgz","fileCount":28,"integrity":"sha512-kQJBK8Kij0lysSw831gSO26QjIZSQzWpBAj1my2YQU1znogL+3VPWvgRuVQAOrZ5kDJdduLsJnPxADzNkF5mqA==","signatures":[{"sig":"MEYCIQDT5R1SRJD+dPgnh6il8l7muuCWL2L5BVCv799R3a7NMgIhAKa4ZS3H4PGBgBXmFSEYUC05AtjWwbYxIp3VuBg46mU6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGcNJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqN8RAAnO6wa3FyRvd7UxFq/mJEVx6FP/ACRhea8zemJBUDo1eYP7TX\r\nDTwlZq66MC8n2YcSP6EFbXapKEvV1c3I9zYsx2aiqG+rtf9ucr7VOJ1KPNd2\r\naBuVZL5NJ1x+GdUOOAi4I+vcTOJNj0lAfcVS6IYZX7dWohYZLzzY2eLYKisj\r\n0jOV9u0hTWVkpDXJPxd+Eguf9EBV27uqnsCNOC0KqdhsPyhVR1zZycF2+nvk\r\nWzhGRUf6pk5PJLlYwWfmyZ5E6AjbfHUV7/5k2nxJsfrPHiuhjkgUHcsOG6il\r\n5uT8n/iFZCleLb0iOM7WhpVvfLy37Pc3WxVe2ke4puNoTF0h3ROHWfE6mGCp\r\nRiCxr3IXsuIUQKrbsRwSoaCv9oXzuM8UCXbjeKxTi4pDvmbQKz/J/SPVHsCZ\r\nDrfjsM80xHqQHSAY00s0BT/LZeT0Vcyfw1D1wAD8TTNFTm3WGP9KepluYOg4\r\nkVsM08Zv9ZKpHi/imrvXgYWlSDecTK6EGEv13Z2WvrAxM1I4YFHCpf4UpgLI\r\nD+rGBP90GJRA1cPMSMRFB915ffapss4qGO3M1MhmwF3yeHWyNc+honSklK12\r\n1yO7JDn1LmlSjOBJ/8FvknkiHsgFMznbTXluRPRZvkxgsnplYrpXt7y0Ltpg\r\nXMibb7wffgwjfhkd0wVOWpgsZqEDPdH+6NU=\r\n=kJEO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"module","exports":"./dist/index.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.4.3","@flexbase/observable-subject":"2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_2.0.1_1679409993108_0.07657233733048097","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"@flexbase/store","version":"2.0.2","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@2.0.2","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"0eb1fe5121e9362a773ce7c8c8d1046262e6a393","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-2.0.2.tgz","fileCount":28,"integrity":"sha512-p1X7e/ykymCWHhz0LlqKbFOkzYmJCyLQljRXu/tysjz0cVw9Mp3pODC72UiBaSvhY1QiRVLrOGLpQOu+eP8DBQ==","signatures":[{"sig":"MEUCIQDgNG+DWYBbFi6TiMYgQweyJ6hl2E4O/bPlQr6yCsxFnAIgZPjZxD/OPWDfH34nxi3uMS0Sw83uJqUyv8FGPIn3tAs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGdl8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqJew//Yjv8Gp7wyr0RxBvQbIw/s/YTx4VfoBDJAMt7LSxHNzjBph8E\r\nGIPqqfhZH+nxjNmmSdM3f/okwKU4uyVkIuzd1PFqJqx6peWAGnpVS5p84/i5\r\n/Q1oYS7UqXgqPMBNYR2At0UyE6Eas82xOoVdjeZ4u1UoPBqKl9HraR1Ws7AZ\r\nqakAoJ4FBBhznwYPDtG/2cviDk6CjrpMTWjzDO0rC8/Egh3HplWYl3SMwh0Y\r\n75mS7AUOd4ACixxwNFBAc7hZ1fXbXEi+asCy8c1+2daAZmDytxTQ3QBZw3re\r\nt9a6/8o1Vi4sIPRhTGd5y4XSbDVk55i9F+l9Jmc16936wpb4mZZZfRdrIt+6\r\nnXvNCWh6bTL7x+WTiLqkVPH/jemi4u0zmesDIFUtL30/0Di5HSOTUE+rp4Lb\r\n3mv4BC9hHFAc8j8B7oMzY+79HLoVwTHdInu7LqZxvMoEm5a/L2hiBQ4ubaZs\r\nBK5wiIt/MnrEswPQN+hoU5NBSdHve5PDi6kd1XZ3jcRwu5LDBXO+ZTFQJ+qY\r\n/vG7XRe4OV4HcprWfPNqBBZv4jrbhsahgr6WRrSCZS6Zi8kNq0fITdrp4vrl\r\nJXtTsSMHCf1sNQJGYe2SViamUPmAElDxhOlyoeQD0xLqOCxMuiIYv3pyTiAI\r\nclz04MNuHkmwPR9aGvW/OST4ygrjC/7GPWw=\r\n=Prik\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"module","exports":"./dist/index.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.4.3","@flexbase/observable-subject":"2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_2.0.2_1679415676567_0.5540291868956893","host":"s3://npm-registry-packages"}},"2.0.3":{"name":"@flexbase/store","version":"2.0.3","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@2.0.3","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"32fda0a6b5700041219fb24065a0d6a2a42bd014","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-2.0.3.tgz","fileCount":28,"integrity":"sha512-fu3PIioqrudt2mv8RrhHd04trVa5QS4k5ds3GcVAX1KMGSFb7tbXeYMIMoWXgNsdyud/BvnglDCw7TkdpiNHiA==","signatures":[{"sig":"MEUCIG5kuFUw6W6X3ARCv8suOoDHXl2VKL0B9I1tn4lLAkgwAiEA8f8EbWTX5wRUxpTTJccKr1skby5OASMqQKOzo2nUHPg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIbRpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqmhQ//ZSVkRIkTNf/GGnixmeWx8K69BCRdPg1RMUI+BZJx3tUf2ZWf\r\ntNCZmkSOOou6Oab+8gMMAWlJlbygr+yOScP4RkloK9d3iKQsssD0t5HPX8Y3\r\nPlXt+rusPwBD37ChQdSZipJgv3NTXT6ZbOfRvArKz6v/lF4ge6oFsHaJnd5o\r\njA0o/qC9thEFicLQWeP1Cxpf4o2WPde5TEDLyB+6qEE4bPvpbVU5DBC4GRwP\r\nernyu9eOwBjGLe/EgkozA0rScC0kCJuYwLJeX4cyRBtBp8PTXjiXLoSoUY0L\r\nPUnx9jG6sY52n7acoGfcz+MoEVVmYOEW5a0Ky5NoAuLfZG0QS8MwcGRsDrRX\r\nbSSlcFl0c/ZnjIAIj1v7w7cA3nxw+ZKeM0asPIayB2oKFoNwXHemktd4bZBU\r\n4dprzqfK53iNkU1kabVfpDO/2hTMV11dV5PY5JqDYIIcMFovV7NPwSS5q24o\r\nag4PlVAbrVrHSmjLn1YlDyimZolE7EsTr1e8z7VvStw0bexmt2HqaGJ9xX/9\r\nhQ4ftpcTsbnqsP9dsgzjZiXKrxJKG/FXqb7SZVpOaS8hcUY51j7j73hhDjpD\r\nQiyeDGiDfKZSUG77hZBkrcAXC6mBhEHCZeTCPIOTYP6Qo/PG0U+/7U9CICAF\r\niUkSl+OHjg0jxcyRJgG08S/5IKypDoD+HRs=\r\n=vpVQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"module","exports":"./dist/index.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.4.3","@flexbase/observable-subject":"^2.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_2.0.3_1679930473743_0.8734861807088294","host":"s3://npm-registry-packages"}},"2.0.3-beta.4":{"name":"@flexbase/store","version":"2.0.3-beta.4","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@2.0.3-beta.4","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"78f1ce38169f2193fe30f5ae6164e949dab3db97","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-2.0.3-beta.4.tgz","fileCount":28,"integrity":"sha512-2gXZclhXEm5ePFhYVh2SVlbotQRjJmayMlC5rcDHo2Cp2zPFYAmho1MuFzZIPnaKjiEPMrMqYSpc/PIYOgXVZg==","signatures":[{"sig":"MEUCIDDpLa91q+uQvgoAHkDjFSfeEdmOT9ZMfG6gVKzzhejpAiEA1KY4XQxOIpB34NuYRmvl7Dtb8MesyTIUK5YGfAIFiDg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSSL8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqAhxAAm0SdYQPr1J6IVy8gD27inV43zHLVGJvn4NCq8dlr6bEvqf6x\r\nUmum6KM6hxxvirSBHqw8x76PRtCWr0i/R7NAWzpss0fM2PhfKswcVJtxdDVk\r\n4fiWGXwFTYY4p2o+Aq1lOswNChZroaGG7+6q0DYOPm7xjl4sZBv8EV06uJHk\r\nxKWglHMoJVlO8LBqO2K0sOwHdXDHiOmm0cj7fhiqhyUBMlT/rfYCg7scE1EC\r\nDeZG0yvacgtNv7SZo0NGxPFn3b2dw38jFj9q+5Ld9UOQN3ldaM8UP2S9WBpw\r\naZqRaZSQyZ/NdslSzcmiEKHTdrwP0XD+J9aVwpLhKkVXI3Z1ogBL/nl6AenZ\r\nZpKBzQjvTtCTZ7jLL6H2vg9d1StZoez0N3vhFXbE1nLyW0cYI5nYEYNCAC0E\r\no3Lgy0qVwSD5kPDaF9UMh02K644S1DdGeFwu1jacgzw4bk9IO9CGhPK73WXL\r\nb62ucuSNQMDdm8K+9c4HhGR0GUMsVaYEyGNlA+nG+8b+Zq/wlHfBocqwoend\r\nwv6WuDCUhFVbDpebph56GNTa6UFw5jnIAzuLQug1agErHNmXzEYbvmmFaqV4\r\n2q5ot45bKhVo5NwwxW1NU2n6UIBbfVPRVTYDeBS4XzTcE1XT+CKQY7BExxNO\r\nOM1WY2k8N8HD56Es+CzsezKVQBjtbN5lSCs=\r\n=8Lgl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"module","readme":"# store\n\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=flexbase-eng_store&metric=coverage)](https://sonarcloud.io/summary/new_code?id=flexbase-eng_store)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=flexbase-eng_store&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=flexbase-eng_store)\n\n## Installation\n\n```\nnpm install @flexbase/store\n```\n\nor\n\n```\nyarn add @flexbase/store\n```\n\n## Concepts\n\nThe concept behind the store is to separate state management from other application concerns. It is `Promise` based utilizing an [Observer](https://en.wikipedia.org/wiki/Observer_pattern) pattern.\n\n## Usage\n\nExample data\n\n```ts\ninterface SomeData {\n  name: string;\n  id: number;\n}\n```\n\n### Create a store\n\n```ts\nconst someDataStore = createStore<SomeData>();\n\nconst someOtherStore = createStore<number>();\n```\n\n#### Create Store Options\n\n```ts\n// object style\nconst someDataStore = createStore<SomeData>({\n        key?: symbol, // use the specified key to represent this store; otherwise Symbol() is used\n        defaultValue?: <SomeData>, // use the specified value as the default value\n        comparer?: StoreComparer<SomeData>, // use the specified comparer; otherwise defaultStoreComparer is used\n        middleware?: StoreMiddleware<SomeData>[], // use the specified middleware(s)\n        persistanceProvider?: PersistanceProvider<SomeData>, // use the specified persistance provider\n        storageManager: StorageManager // use the specified storage manager; otherwise use the global manager\n});\n\n// fluent style\nconst someDataStore = createStore<SomeData>(options => {\n    options\n        .key(key: symbol | string) // use the specified key to represent this store; otherwise Symbol() is used\n        .defaultValue(value: <SomeData>) // use the specified value as the default value\n        .comparer(comparer: StoreComparer<SomeData>) // use the specified comparer; otherwise defaultStoreComparer is used\n        .middleware(...middleware: StoreMiddleware<SomeData>[]) // use the specified middleware(s)\n        .persistanceProvider(persistanceProvider: PersistanceProvider<SomeData>) // use the specified persistance provider\n        .storageManager(storageManager: StorageManager) // use the specified storage manager; otherwise use the global manager\n});\n```\n\n### Get store value\n\n```ts\nconst value = getStoreValue(someDataStore);\n```\n\n### Set store value\n\n```ts\nawait setStoreValue(someDataStore, { name: 'Test', id: 1 });\n\nawait setStoreValue(someOtherStore, 42);\n```\n\n#### Using a callback\n\n```ts\nawait setStoreValue(someDataStore, _ => {name: 'Test', id: 1});\n\nawait setStoreValue(someOtherStore, _ => 42);\n\n// do more in the callback\nawait setStoreValue(test, currentValue => (currentValue ? Math.min(42, currentValue) : 0));\n```\n\n### Reset store value\n\n```ts\nlet value: number;\n\nconst numberStore = createStore<number>({ defaultValue: 42 });\n\nvalue = storageManager.getValue(numberStore); // value is 42\n\nawait storageManager.setValue(numberStore, 1);\n\nvalue = storageManager.getValue(numberStore); // value is 1\n\nawait resetStoreValue(numberStore);\n\nvalue = storageManager.getValue(numberStore); // value is 42\n```\n\n### Get store setter\n\n```ts\nconst setter = getStoreSetter(someDataStore);\n\nawait setter({ name: 'Test', id: 1 });\n\nawait setter(_ => {name: 'Test', id: 1});\n\n```\n\n### Subscribe\n\n```ts\nconst subscription = subscribeToStore(someDataStore, context => {...});\n\nsubscription.unsubscribe();\n```\n\n## Persistance\n\nTODO\n\n## Middleware\n\nTODO\n","exports":"./dist/index.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.4.3","@flexbase/observable-subject":"^2.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/store_2.0.3-beta.4_1682514684117_0.6280390617113945","host":"s3://npm-registry-packages"}},"2.0.4":{"name":"@flexbase/store","version":"2.0.4","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@2.0.4","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"de30d4ece95e77dda49412798aa6fc2b29958a0a","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-2.0.4.tgz","fileCount":28,"integrity":"sha512-sRZ1eK9H6bmhQoA60RjOB5HTG3R1Fb2w34/NUXPYaVn+lrEORDY7M8bKVDbf4zJaQrzZQVYBhhvMMxl+4W6d4w==","signatures":[{"sig":"MEYCIQD2711muSnfPh/kMpYTaqH+4jHOcYCCMFS4lLs9i2m9bAIhAMRzZi5IKAvXmVobWFHiho/iocnikVU7v78+xys3UKDj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSSQMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpx9A/8DZEJ0M9t7epBqVm41RHKXJ0I2av6jBgd8btRF14pgAeTgYxM\r\nBnf6Wt5/k+NeAhbm7RKrSOuh5Bpyu6bF7nc9VBww3m+Ae+otCL1B0YJEJ6tb\r\nzcXbCr+wX7ievFyEgP2cNXMadHleO1I7vcUbZtAxoBZZsHtacABljEXO83AP\r\npSdjedorZXVPKw8uOeKtQi/08WoV07FOTf1agyO3mncJWhz6rIeKSE0GBc/w\r\nYPcEKGAY4kQWCXg6bSY9ErsYM/n0gaan/I/ACK1qtpn4dufpSi+I7+NA8r7x\r\np7sI1xS5cowJXPU7o1Smhs8xRX///04hBtf2tLcci5tIyKTF8xvwB4oMDeiv\r\n7x+aDFX7JxhMelGZOl6eUqWb7bktSAi3/AziFt2R52AX+5cgxjtIFW9TyKdq\r\nkodB0FGgMPzJK0OOsDwxjwP9vq/h64auJEk8nx8S4Z7KPvDpd6LGYeVqZiId\r\n+eztTei3hGbJecD0IengYdYK0le/eq2Vk/jaNNFNDhvaG7zkC8eMp9Dl0rBI\r\nVTIKk2MY4ksnnKXIUN87jqibiUIN4W/a++aYPVxPeJyX/T3fi/920nTQ0hiD\r\nRoEr6IK49OGuG1uJeBZQUGfWh7rqAxqJ7AixlZoM8glPOG6Vre/6/mUdFMZ7\r\nJxTF0lsFeFjgpSofTyhiMJO6EoZqGnac4eo=\r\n=HRT2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"module","exports":"./dist/index.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.4.3","@flexbase/observable-subject":"^2.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_2.0.4_1682514955839_0.05710970612192079","host":"s3://npm-registry-packages"}},"2.0.3-beta.6":{"name":"@flexbase/store","version":"2.0.3-beta.6","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@2.0.3-beta.6","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"93fac711bbcc743cd58dc720a24aa6c1dec2199e","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-2.0.3-beta.6.tgz","fileCount":28,"integrity":"sha512-hMECy5+kFg6YznGwLnLEHKX1wkv1FQAi+kFrw9rK2/v5N3POk7MkhdDQRckwUNPcX18xudMfwo1OeWh8HsKIMg==","signatures":[{"sig":"MEQCIGZ/mU85QRgVIfQlosb/YmECnGIkz3O2egXX2MyuGICMAiBj7ZqATloG1C3dqFiazOzklJHqX+5IDZ5S4rMf1fMyKw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkSSQ/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqd9A//QqnuD6vyfVFAaP0HVTCVwtkmvow/j2ROFG7BTDkb5oWWyxnj\r\n6PK+I07fzlnKohfzuXe4hjt82Sp5emV5rAfDT+8VBuaDTATDx4+kFi2tGnHa\r\n8MrLwSvy9jlXu/z7rl8FcHYQ7F4GhrIWjFc8fIbX4O+tNeVQaDd324EvUNgz\r\nmMexhTPqpjLmNAAGvF7YlRZXBJ9zn5Uk8yKVMlw1jucuZY3TAO0t7UTExs7+\r\nfRGUwpLDcKtTH6OUP/GA1wkvXXsnj5w4kMVnVDjji3lSXcqcpJlFEil8OMv+\r\nXGQJRbMg1yDdDQJjWdeA/ZMAUmpd/IZ/9xoywxUdRCw3Xzq19jfCl/jvCEd7\r\nKy2X+NUIyVxKCpr1DFQWM66cfUdPMRRufntfiN4ijvQZkY0wBpd6FizPuQ+h\r\nU33IMtS9O9LpIcjgFKJfeRtaxkiAx0eT9BI2Hk74qIxY5IyQCJMniJEA0rmw\r\nZ+8oO7O7vzX0gjMj6opvDDkLIYkfis3L7IgGIzDYuiyvrwXPlJy7jMm7L4AM\r\nGm0PYSrwx9c87dXsp1yTYiSn5TkMgkOVgXNp7uMvrK9lJ45DGItJlaUE1rfN\r\nVXOIOCZr6Lh9R7VG0pMcWA9jlYnrVcHPeJoZU25/lYV+u/+3uk6MzBH2crfF\r\nZaHDCXFtU6MWCJpkzNKTG17qO2wpxoVhpO0=\r\n=fO4r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","type":"module","readme":"# store\n\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=flexbase-eng_store&metric=coverage)](https://sonarcloud.io/summary/new_code?id=flexbase-eng_store)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=flexbase-eng_store&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=flexbase-eng_store)\n\n## Installation\n\n```\nnpm install @flexbase/store\n```\n\nor\n\n```\nyarn add @flexbase/store\n```\n\n## Concepts\n\nThe concept behind the store is to separate state management from other application concerns. It is `Promise` based utilizing an [Observer](https://en.wikipedia.org/wiki/Observer_pattern) pattern.\n\n## Usage\n\nExample data\n\n```ts\ninterface SomeData {\n  name: string;\n  id: number;\n}\n```\n\n### Create a store\n\n```ts\nconst someDataStore = createStore<SomeData>();\n\nconst someOtherStore = createStore<number>();\n```\n\n#### Create Store Options\n\n```ts\n// object style\nconst someDataStore = createStore<SomeData>({\n        key?: symbol, // use the specified key to represent this store; otherwise Symbol() is used\n        defaultValue?: <SomeData>, // use the specified value as the default value\n        comparer?: StoreComparer<SomeData>, // use the specified comparer; otherwise defaultStoreComparer is used\n        middleware?: StoreMiddleware<SomeData>[], // use the specified middleware(s)\n        persistanceProvider?: PersistanceProvider<SomeData>, // use the specified persistance provider\n        storageManager: StorageManager // use the specified storage manager; otherwise use the global manager\n});\n\n// fluent style\nconst someDataStore = createStore<SomeData>(options => {\n    options\n        .key(key: symbol | string) // use the specified key to represent this store; otherwise Symbol() is used\n        .defaultValue(value: <SomeData>) // use the specified value as the default value\n        .comparer(comparer: StoreComparer<SomeData>) // use the specified comparer; otherwise defaultStoreComparer is used\n        .middleware(...middleware: StoreMiddleware<SomeData>[]) // use the specified middleware(s)\n        .persistanceProvider(persistanceProvider: PersistanceProvider<SomeData>) // use the specified persistance provider\n        .storageManager(storageManager: StorageManager) // use the specified storage manager; otherwise use the global manager\n});\n```\n\n### Get store value\n\n```ts\nconst value = getStoreValue(someDataStore);\n```\n\n### Set store value\n\n```ts\nawait setStoreValue(someDataStore, { name: 'Test', id: 1 });\n\nawait setStoreValue(someOtherStore, 42);\n```\n\n#### Using a callback\n\n```ts\nawait setStoreValue(someDataStore, _ => {name: 'Test', id: 1});\n\nawait setStoreValue(someOtherStore, _ => 42);\n\n// do more in the callback\nawait setStoreValue(test, currentValue => (currentValue ? Math.min(42, currentValue) : 0));\n```\n\n### Reset store value\n\n```ts\nlet value: number;\n\nconst numberStore = createStore<number>({ defaultValue: 42 });\n\nvalue = storageManager.getValue(numberStore); // value is 42\n\nawait storageManager.setValue(numberStore, 1);\n\nvalue = storageManager.getValue(numberStore); // value is 1\n\nawait resetStoreValue(numberStore);\n\nvalue = storageManager.getValue(numberStore); // value is 42\n```\n\n### Get store setter\n\n```ts\nconst setter = getStoreSetter(someDataStore);\n\nawait setter({ name: 'Test', id: 1 });\n\nawait setter(_ => {name: 'Test', id: 1});\n\n```\n\n### Subscribe\n\n```ts\nconst subscription = subscribeToStore(someDataStore, context => {...});\n\nsubscription.unsubscribe();\n```\n\n## Persistance\n\nTODO\n\n## Middleware\n\nTODO\n","exports":"./dist/index.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.4.3","@flexbase/observable-subject":"^2.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/store_2.0.3-beta.6_1682515007707_0.06628040202477314","host":"s3://npm-registry-packages"}},"2.0.4-beta.8":{"name":"@flexbase/store","version":"2.0.4-beta.8","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@2.0.4-beta.8","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"13f28875571930f24c3db9e0bd0e5cbae73ef19e","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-2.0.4-beta.8.tgz","fileCount":28,"integrity":"sha512-3Z7iiIL42QjaBtxkl+hKpp2MSO/OTT1fOEz/g6dRTNw0B9IwqbPnnWh+E6a7IEg980A/biY6eGE9wDfQiUdKFw==","signatures":[{"sig":"MEYCIQDa9flY/Xkx69zoFG1FCOCBk+D8jLR3mMse2tgdjGh3nAIhAKDQj/pJqHsOL2y8PdUxPI2jpNkUM/wlFjG0YqeBF6Qs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22141},"main":"./dist/index.js","type":"module","readme":"# store\n\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=flexbase-eng_store&metric=coverage)](https://sonarcloud.io/summary/new_code?id=flexbase-eng_store)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=flexbase-eng_store&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=flexbase-eng_store)\n\n## Installation\n\n```\nnpm install @flexbase/store\n```\n\nor\n\n```\nyarn add @flexbase/store\n```\n\n## Concepts\n\nThe concept behind the store is to separate state management from other application concerns. It is `Promise` based utilizing an [Observer](https://en.wikipedia.org/wiki/Observer_pattern) pattern.\n\n## Usage\n\nExample data\n\n```ts\ninterface SomeData {\n  name: string;\n  id: number;\n}\n```\n\n### Create a store\n\n```ts\nconst someDataStore = createStore<SomeData>();\n\nconst someOtherStore = createStore<number>();\n```\n\n#### Create Store Options\n\n```ts\n// object style\nconst someDataStore = createStore<SomeData>({\n        key?: symbol, // use the specified key to represent this store; otherwise Symbol() is used\n        defaultValue?: <SomeData>, // use the specified value as the default value\n        comparer?: StoreComparer<SomeData>, // use the specified comparer; otherwise defaultStoreComparer is used\n        middleware?: StoreMiddleware<SomeData>[], // use the specified middleware(s)\n        persistanceProvider?: PersistanceProvider<SomeData>, // use the specified persistance provider\n        storageManager: StorageManager // use the specified storage manager; otherwise use the global manager\n});\n\n// fluent style\nconst someDataStore = createStore<SomeData>(options => {\n    options\n        .key(key: symbol | string) // use the specified key to represent this store; otherwise Symbol() is used\n        .defaultValue(value: <SomeData>) // use the specified value as the default value\n        .comparer(comparer: StoreComparer<SomeData>) // use the specified comparer; otherwise defaultStoreComparer is used\n        .middleware(...middleware: StoreMiddleware<SomeData>[]) // use the specified middleware(s)\n        .persistanceProvider(persistanceProvider: PersistanceProvider<SomeData>) // use the specified persistance provider\n        .storageManager(storageManager: StorageManager) // use the specified storage manager; otherwise use the global manager\n});\n```\n\n### Get store value\n\n```ts\nconst value = getStoreValue(someDataStore);\n```\n\n### Set store value\n\n```ts\nawait setStoreValue(someDataStore, { name: 'Test', id: 1 });\n\nawait setStoreValue(someOtherStore, 42);\n```\n\n#### Using a callback\n\n```ts\nawait setStoreValue(someDataStore, _ => {name: 'Test', id: 1});\n\nawait setStoreValue(someOtherStore, _ => 42);\n\n// do more in the callback\nawait setStoreValue(test, currentValue => (currentValue ? Math.min(42, currentValue) : 0));\n```\n\n### Reset store value\n\n```ts\nlet value: number;\n\nconst numberStore = createStore<number>({ defaultValue: 42 });\n\nvalue = storageManager.getValue(numberStore); // value is 42\n\nawait storageManager.setValue(numberStore, 1);\n\nvalue = storageManager.getValue(numberStore); // value is 1\n\nawait resetStoreValue(numberStore);\n\nvalue = storageManager.getValue(numberStore); // value is 42\n```\n\n### Get store setter\n\n```ts\nconst setter = getStoreSetter(someDataStore);\n\nawait setter({ name: 'Test', id: 1 });\n\nawait setter(_ => {name: 'Test', id: 1});\n\n```\n\n### Subscribe\n\n```ts\nconst subscription = subscribeToStore(someDataStore, context => {...});\n\nsubscription.unsubscribe();\n```\n\n## Persistance\n\nTODO\n\n## Middleware\n\nTODO\n","exports":"./dist/index.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.4.3","@flexbase/observable-subject":"^2.1.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/store_2.0.4-beta.8_1686074330945_0.7069178503928755","host":"s3://npm-registry-packages"}},"2.0.5":{"name":"@flexbase/store","version":"2.0.5","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@2.0.5","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"a40dcf6e56b83b758f2c46f16d8b539ad71d0013","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-2.0.5.tgz","fileCount":28,"integrity":"sha512-lWPyGJ6NbjZ5BzXRcZnpSOHPMi5SIUIeqald7SuiR1noWsKdy0b/MOy0JeQLqXUZDmsi39c1S9jDQUigldSVqA==","signatures":[{"sig":"MEYCIQDbadGVRtFTSUSl4xSTh1icP0Pf/4qeOSLtLDMe/5gYawIhAOWc/0/D0KdzPCaOK1iqVXusAVWjOc5HTkr6HUNJaWrF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22112},"main":"./dist/index.js","type":"module","exports":"./dist/index.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.4.3","@flexbase/observable-subject":"^2.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_2.0.5_1686082980117_0.36005498087995425","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@flexbase/store","version":"3.0.0","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@3.0.0","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"f6924bbe08d058eaa6801ee011aca9a619aa1244","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-3.0.0.tgz","fileCount":28,"integrity":"sha512-XCWbTv63y9taIjrCzw/oiX+tbOE00pPH2GGWqVs58nO1L8w2si8bku/sOemWKbpCGx+KOXIoSmnkrXKpraG9+A==","signatures":[{"sig":"MEUCIQD+7+wTWShkF13nsjvVgzRyavw5/RXO4CmrL/Zop5WywQIgTbKKiN6wFDUSAUgQVSKohGDgNkrRx4LKy5ZMeTkKrBo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21972},"main":"./dist/index.js","type":"module","exports":"./dist/index.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^1.4.3","@flexbase/observable-subject":"^2.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_3.0.0_1686133312403_0.015099186597757441","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"@flexbase/store","version":"3.0.1","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@3.0.1","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"d9f2fc30732d708b015436be5819e959e68acb02","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-3.0.1.tgz","fileCount":28,"integrity":"sha512-trQm4gtjTnEdeKOxj3h/FlGjHiTjym6VDMAZ+m0Z0Vr0oICjJPyK52fEbTbfhbs6dr/yoZmywmPMjPxisCnMIA==","signatures":[{"sig":"MEUCIQCcK05oQ1QXuXbyQMwLes/Pa2QgzwMbTyNhwbO4kA8CbQIgLo9dr/EUVqUkExZarCsqP+gJ8miRF3FqTdityQo7vTA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21972},"main":"./dist/index.js","type":"module","exports":"./dist/index.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^2.0.0","@flexbase/observable-subject":"^2.1.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_3.0.1_1686134063956_0.2438103045911031","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"@flexbase/store","version":"3.0.2","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@3.0.2","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"8d945b0389f1df75b9eb2af2265711930a1b795f","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-3.0.2.tgz","fileCount":31,"integrity":"sha512-3XUvusgny7exX++GSXyn+ZS8bfNzIX58n4TckGBW+e/VJpUxs+NuHISB+PnIdgSDi9jNwsAL9aR/G+1MkoIBTw==","signatures":[{"sig":"MEUCIGG3H55kdvnclVe9RLnFzC1V31xcuG68veLuGJZd1Ei5AiEAy02eSKHlUkyJzCQqYGlfTC77aSUmIB8XdnXkhGJPHG8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22968},"main":"./dist/index.js","type":"module","exports":"./dist/index.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^3.0.0","@flexbase/observable-subject":"^2.1.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_3.0.2_1701900561514_0.8589397956063363","host":"s3://npm-registry-packages"}},"3.0.3":{"name":"@flexbase/store","version":"3.0.3","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@3.0.3","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"830b02b620020ec30cadecce5105ec0c45eae20b","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-3.0.3.tgz","fileCount":30,"integrity":"sha512-zAly7bCdZzocwRCe0qG9nGUGZEgf9Sbs04PK1l6OWGUpScAGFQ+f4YBdN+nOG/5BPuC4+GR5QocP9oRbS1p1dw==","signatures":[{"sig":"MEYCIQDyWpOwrWcc1e9ntPulAsZsBfG5/SRUu404iFZ7AQoBbAIhAPAoJcnUZssHkREU5ZMGZAGBadW7xGnNLigsf38mHiYw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22071},"main":"./dist/index.js","type":"module","exports":"./dist/index.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^3.0.0","@flexbase/observable-subject":"^2.1.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_3.0.3_1702057080691_0.1440907986148101","host":"s3://npm-registry-packages"}},"3.0.4":{"name":"@flexbase/store","version":"3.0.4","keywords":["flexbase","state management","flux"],"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","_id":"@flexbase/store@3.0.4","maintainers":[{"name":"chris.fowlkes","email":"chris.fowlkes@flexbase.app"},{"name":"drbobbeaty","email":"drbob@TheManFromSPUD.com"},{"name":"peilong-du","email":"peilong.du@flexbase.app"},{"name":"knoxcoder","email":"knoxcoder@gmail.com"}],"homepage":"https://github.com/flexbase-eng/store#readme","bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"dist":{"shasum":"e6bc172029f36f39b4e1d2720850b30be1017d58","tarball":"https://registry.npmjs.org/@flexbase/store/-/store-3.0.4.tgz","fileCount":30,"integrity":"sha512-DpPyrbT/hrE3CyN/01bqkdyhKpcmy5G4PWGtr8mvqybwym25k1nuhTz+ESDoOYBzv02O/djzzyGNv71xgyyEwA==","signatures":[{"sig":"MEYCIQC2ARYHTNKPvLH4/ww+VgBk014eRSBQEFe76bIg64HfKwIhAN7iz6ohHJrb0Ys1sGqhhWtm9/lZ9qp7GLh76A8agxAi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22149},"main":"./dist/index.js","type":"module","exports":"./dist/index.js","_npmUser":{"name":"knoxcoder","email":"knoxcoder@gmail.com"},"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2022 Flexbase\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","dependencies":{"@flexbase/logger":"^3.0.0","@flexbase/observable-subject":"^2.1.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/store_3.0.4_1703704315284_0.8246796056987891","host":"s3://npm-registry-packages"}}},"time":{"created":"2022-08-08T15:08:04.555Z","modified":"2025-08-10T12:20:18.995Z","0.0.1":"2022-08-08T15:08:04.769Z","0.0.1-beta.1":"2022-08-09T21:52:56.139Z","0.0.1-beta.2":"2022-08-09T22:00:14.273Z","1.0.0-beta.3":"2022-08-10T13:13:53.173Z","1.0.0":"2022-08-10T13:18:58.127Z","1.0.1":"2022-08-10T13:33:29.952Z","1.1.0":"2022-08-10T15:46:45.133Z","1.2.0":"2022-08-10T17:48:39.371Z","1.2.0-beta.1":"2023-03-17T20:25:55.267Z","1.2.1":"2023-03-17T20:31:04.133Z","1.2.2":"2023-03-17T20:57:10.542Z","1.2.2-beta.2":"2023-03-19T17:57:14.395Z","1.2.3":"2023-03-19T18:01:34.245Z","1.2.4":"2023-03-20T21:17:28.968Z","1.2.4-beta.3":"2023-03-21T14:32:39.678Z","2.0.1":"2023-03-21T14:46:33.244Z","2.0.2":"2023-03-21T16:21:16.757Z","2.0.3":"2023-03-27T15:21:13.898Z","2.0.3-beta.4":"2023-04-26T13:11:24.278Z","2.0.4":"2023-04-26T13:15:56.005Z","2.0.3-beta.6":"2023-04-26T13:16:47.870Z","2.0.4-beta.8":"2023-06-06T17:58:51.148Z","2.0.5":"2023-06-06T20:23:00.287Z","3.0.0":"2023-06-07T10:21:52.615Z","3.0.1":"2023-06-07T10:34:24.112Z","3.0.2":"2023-12-06T22:09:21.761Z","3.0.3":"2023-12-08T17:38:00.881Z","3.0.4":"2023-12-27T19:11:55.566Z"},"bugs":{"url":"https://github.com/flexbase-eng/store/issues"},"author":{"url":"https://flexbase.app","name":"Flexbase Technologies","email":"hello@flexbase.app"},"license":"MIT","homepage":"https://github.com/flexbase-eng/store#readme","keywords":["flexbase","state management","flux"],"repository":{"url":"git+https://github.com/flexbase-eng/store.git","type":"git"},"description":"State management framework","maintainers":[{"email":"knoxcoder@gmail.com","name":"knoxcoder"},{"email":"peilong.du@flexbase.app","name":"peilong-du"},{"email":"chris.fowlkes@flexbase.app","name":"chris.fowlkes"}],"readme":"# store\n\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=flexbase-eng_store&metric=coverage)](https://sonarcloud.io/summary/new_code?id=flexbase-eng_store)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=flexbase-eng_store&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=flexbase-eng_store)\n\n## Installation\n\n```\nnpm install @flexbase/store\n```\n\nor\n\n```\nyarn add @flexbase/store\n```\n\n## Concepts\n\nThe concept behind the store is to separate state management from other application concerns. It is `Promise` based utilizing an [Observer](https://en.wikipedia.org/wiki/Observer_pattern) pattern.\n\n## Usage\n\nExample data\n\n```ts\ninterface SomeData {\n  name: string;\n  id: number;\n}\n```\n\n### Create a store\n\n```ts\nconst someDataStore = createStore<SomeData>();\n\nconst someOtherStore = createStore<number>();\n```\n\n#### Create Store Options\n\n```ts\n// object style\nconst someDataStore = createStore<SomeData>({\n        key?: symbol, // use the specified key to represent this store; otherwise Symbol() is used\n        defaultValue?: <SomeData>, // use the specified value as the default value\n        comparer?: StoreComparer<SomeData>, // use the specified comparer; otherwise defaultStoreComparer is used\n        middleware?: StoreMiddleware<SomeData>[], // use the specified middleware(s)\n        persistanceProvider?: PersistanceProvider<SomeData>, // use the specified persistance provider\n        storageManager: StorageManager // use the specified storage manager; otherwise use the global manager\n});\n\n// fluent style\nconst someDataStore = createStore<SomeData>(options => {\n    options\n        .key(key: symbol | string) // use the specified key to represent this store; otherwise Symbol() is used\n        .defaultValue(value: <SomeData>) // use the specified value as the default value\n        .comparer(comparer: StoreComparer<SomeData>) // use the specified comparer; otherwise defaultStoreComparer is used\n        .middleware(...middleware: StoreMiddleware<SomeData>[]) // use the specified middleware(s)\n        .persistanceProvider(persistanceProvider: PersistanceProvider<SomeData>) // use the specified persistance provider\n        .storageManager(storageManager: StorageManager) // use the specified storage manager; otherwise use the global manager\n});\n```\n\n### Get store value\n\n```ts\nconst value = getStoreValue(someDataStore);\n```\n\n### Set store value\n\n```ts\nawait setStoreValue(someDataStore, { name: 'Test', id: 1 });\n\nawait setStoreValue(someOtherStore, 42);\n```\n\n#### Using a callback\n\n```ts\nawait setStoreValue(someDataStore, _ => {name: 'Test', id: 1});\n\nawait setStoreValue(someOtherStore, _ => 42);\n\n// do more in the callback\nawait setStoreValue(test, currentValue => (currentValue ? Math.min(42, currentValue) : 0));\n```\n\n### Reset store value\n\n```ts\nlet value: number;\n\nconst numberStore = createStore<number>({ defaultValue: 42 });\n\nvalue = storageManager.getValue(numberStore); // value is 42\n\nawait storageManager.setValue(numberStore, 1);\n\nvalue = storageManager.getValue(numberStore); // value is 1\n\nawait resetStoreValue(numberStore);\n\nvalue = storageManager.getValue(numberStore); // value is 42\n```\n\n### Get store setter\n\n```ts\nconst setter = getStoreSetter(someDataStore);\n\nawait setter({ name: 'Test', id: 1 });\n\nawait setter(_ => {name: 'Test', id: 1});\n\n```\n\n### Subscribe\n\n```ts\nconst subscription = subscribeToStore(someDataStore, context => {...});\n\nsubscription.unsubscribe();\n```\n\n## Persistance\n\nTODO\n\n## Middleware\n\nTODO\n","readmeFilename":"README.md"}