{"_id":"@us-gfecd/client","_rev":"27-f24bfffa317aabac6de9822228023e98","name":"@us-gfecd/client","dist-tags":{"latest":"1.1.6"},"versions":{"0.0.1":{"name":"@us-gfecd/client","version":"0.0.1","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.1","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"dist":{"shasum":"9dd82fde0df69e1d2e8b106668d7239a3966983b","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.1.tgz","fileCount":3,"integrity":"sha512-n2XfJjGBXzSrVpLQVPoGHF1jf8T0iO0E2QR9ALjmPqZGBRDPhEkDOfh+pX7Z62aKbabPKK+CwaEk355csUBSXA==","signatures":[{"sig":"MEQCIAxjknjD7S0OvmzuDqO0v7kEYAz0zwZ5COt7DctvuzrtAiBQNn3NKgLvj38jtfQRCr52eVKsjYffLx4q1yDWFnzp3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40426},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"832229294e71fb347d3c21d11cc06469e23c8b5e","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","eslint":"8.57.1","rollup":"3.29.4","babel-jest":"29.7.0","@babel/core":"7.24.5","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.1_1782422269234_0.35021577648586666","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@us-gfecd/client","version":"0.0.2","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.2","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"8b89a7ac4768a28c41b234788b861882cd5ac5db","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.2.tgz","fileCount":4,"integrity":"sha512-Qf3UfHu1UVzIJTV7YHLzrgl56BN9+p/gd2jIUOef1TayAV3nPreosFRxQUdcl1y/7srMvuuq3vhatEToLviu+g==","signatures":[{"sig":"MEUCIGPejvDAaM2STF8a9kqUIgquxfA6NvFD8/4UkzP+IMA2AiEA7ABnzYMTU7UJ44dzrsESQAnK/eewCAMeCi+XZ94Y6yQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128218},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"112bf21693c0a68ecece82433d95cf9ccd7f9e40","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":"^18.2.0","react-redux":"^8.1.3","socket.io-client":"^4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.2_1782423633457_0.3727222512039936","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@us-gfecd/client","version":"0.0.4","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.4","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"c61c8833c3cf8137bc7fa193a8fc16f75459b793","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.4.tgz","fileCount":4,"integrity":"sha512-13y8jg5EPOzMffvpZJ7pS78ktMIxzunL3I2vhA/jbeVQ2jvV0yTbnd13bvBiFktK4lWyWo8FMpEoPwgqQ7gpTw==","signatures":[{"sig":"MEUCICx+biiV8UYKc2L6vlU0cBXElOlp86w1oG/7o0C9BhP2AiEAm9PmOgyFPkXgqMwek2syhGWB7UC33RtcxUtQ6GNDKWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128221},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"b72c340a4a3367af3da64c5377100a555ce3361f","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.4_1782425202550_0.9677937389850737","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@us-gfecd/client","version":"0.0.3","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.3","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"4f8a97723ef120c15fce79cd6e3942cddb8dc00e","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.3.tgz","fileCount":5,"integrity":"sha512-TMqa4LLrzzCPWp6ehzIYdS1Be6+ftwwxcsutpwCMTogmoeCt/MR66Md3+HFJIRIsJ5Vtm8ktQcIuFN3Y6jqrww==","signatures":[{"sig":"MEYCIQCJUBzUMprFzzxxtZCphCgr4bE1BrkpsSfUPuXNDmSkowIhALyTGRKDOvht3AiPtX21Z0i2fGdVB5baoZshv4JUn+Bu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147128},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"e6892b475cd5b3deb314ea3afc4a65a2fdc236c8","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.3_1782427314997_0.21029708064131136","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@us-gfecd/client","version":"0.0.5","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.5","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"85c73377a17a270450a1a82092188db1b6a30ec6","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.5.tgz","fileCount":5,"integrity":"sha512-iZHJbyz2gc0ReIrGm0B8pVVBa8SyshfH3pz3QJK4DCtzcrAGWs6mI5u9UaVbhbWNR6kujW9/NKRK2nIgfcbx3g==","signatures":[{"sig":"MEQCIG2uQXFNNjG0Cj9yUCCHQCubzPgNU2gIDEnRX9sp4p3IAiAft8NkJsej6Xb6DQYiI6mKzo1YHdMYf8YLyQCvgUzJVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147004},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"a0b60af3aa8d49b2fea7fe966831a08f51a5b023","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.5_1782427748068_0.8915827548699329","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@us-gfecd/client","version":"0.0.6","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.6","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"f0722683fb35b67aade2e55c7c47b3bcd993131c","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.6.tgz","fileCount":5,"integrity":"sha512-yN+bzIPS6rLQBJqVbn38S0ffETwzeHruz3AMx0IeZ/G+Zv3fwF64jYPxhRkryIykax4VpajQt6rir9+Eq9Wcfg==","signatures":[{"sig":"MEQCIAU5eMak+8hWAfD3Nx0hCTWWRyIRsDw+n5aGKOUndLCGAiAETN4M3L24tveheuGTLT5qf04KbPkYVnah2qFGAC0sRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62495},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"455e3fe988b355edeeac252377a561808ccf0c47","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.6_1782489001738_0.6027913093287831","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@us-gfecd/client","version":"0.0.7","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.7","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"33f333d3d1b1535037eb3a23bbf4177fd2c41b4f","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.7.tgz","fileCount":5,"integrity":"sha512-OQEqBVEvxo4hRTvXJ/HeG0u/G9iMaD6Kh6e6Tb6AIq9Z5tCigp2q+rkwgGiwG31tV3Vt3KUIJVDe8W3i7UDKig==","signatures":[{"sig":"MEQCIBEosV5zdiT87AdUEn6g+TmncRjVhDkiA1l0Tpp0rgcTAiA5/FJwiXVKhzffskZhwk7qFMiUYltoUDqsPkwpD4jmqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61944},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"e1fa59decd01f13322404a491ed193c4657ff4fa","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.7_1782489239207_0.526587567263695","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@us-gfecd/client","version":"0.0.8","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.8","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"58d57296f5a9efaf5257c29cbcf72fd2bce2705f","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.8.tgz","fileCount":5,"integrity":"sha512-ox4SdjwclfRnqUjqPXgL4strbwFht6PgTrANwSxQzaPXfYGXZVhCRqy3LDPu+vnE+8tfseYZBWtEooHGWXW2RA==","signatures":[{"sig":"MEUCIDgg/uJE/VpXfEnnvEIrus4EKL4U/coAKRLnnkogQdwOAiEAxm6iAhPWlNvIyaNsY9b1uks5FGSWAZHWiyWpvtXbSNk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70464},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"88390642632830a33c9d9b7c07b22f7a5e9a1761","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.8_1782657348337_0.8213949731295231","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@us-gfecd/client","version":"0.0.9","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.9","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"99a9c67eae0394197d83039a646537b6bad8be7e","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.9.tgz","fileCount":5,"integrity":"sha512-jKm1BBJMQZs2yXElTn+QK4lbtXZvH7v1gAmtGhrgrzkFUwqzZqdLpiP+Er/4OG44GrbQtgZhUjjNQG0X9RHiKQ==","signatures":[{"sig":"MEQCIH5QxXrw37c25N6FKZ0MTXgMbQHUEyA+CMQCz/VoEs+gAiA3p3J3dTfgaauhdukowXE9UvN52jcC5zspdRW+ksyOmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72564},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"9fe84d693bc86367c7bade79655d1cd85e87b804","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.9_1782914630038_0.03565490880125677","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@us-gfecd/client","version":"0.0.10","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.10","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"a327f5a27ebbbb6fc6975461dd655e34de0609f1","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.10.tgz","fileCount":5,"integrity":"sha512-ZBcECJnpZ+wQ960gAS6NCeXvrSFPtGTVPWsubnsD6jz0yw1P4WGD1A/lzDaFCSMAclsXLxHJlczD4LsQWnW9KA==","signatures":[{"sig":"MEYCIQDCnlh5KY8JO3bvcra/ZwHUwxQcrU5XVPJyc9pNCzN2YQIhAI9cEf0YoI7Rxs3KRmSgYoZOSkHqni4RfaOJdp0iXhsd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72601},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"b8db0459115ab1cc6136e3ac45c793ec8bab4abd","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.10_1782914793141_0.25391924862355975","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@us-gfecd/client","version":"0.0.12","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.12","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"97e0c55044fb5fd8f5a90f4ea6b9822b0b4dcf5e","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.12.tgz","fileCount":5,"integrity":"sha512-2sv8EkhSIVUCLSmR6nRmPRj95dxbbs1TBuifAckDYoX1p1ZRtudVuOaK89a78ypoQf5Fit3LKLrjkDuZlmZT9g==","signatures":[{"sig":"MEUCIQDo4Oskt6TLNr+tqzh2vMLP4nrVNHScmZfqe3FaJmyxMQIgIWFRBc8ity2fzuBQarFJ1rYpcR96Kz8n5sdz1Hl7tDM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71801},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"6af8ffe5a2a889d165121a4c29f615c8f76aad16","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.12_1783550763073_0.5763773391221605","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@us-gfecd/client","version":"0.0.13","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.13","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"4f0989a0edf9feed2780ba643b503af1f2acd002","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.13.tgz","fileCount":5,"integrity":"sha512-noxA86LB/Pldd2WyYmHrMPsHbdA31cHhdt+1dIJO73GBLpHKbO3e86tyUZHFLFdeLvfS8oARiyjl7sIA0Nljsg==","signatures":[{"sig":"MEQCIGsJZir57iC4k0FJZLFHTdeUz3iJRk2K8ebBElBiRWI4AiAPKE1ndSUMsGbAZJZeLMdmCP3WlRqN1rfdnJ+b5d4BVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71551},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"af3ad48a7cace8872c8a8e684874c9aec51ae668","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.13_1783551360825_0.9951301075925763","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@us-gfecd/client","version":"0.0.14","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.14","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"705328421a4f05c7f4be76612a39364f61d73f44","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.14.tgz","fileCount":5,"integrity":"sha512-ef90WvCdaswTjh6RyrWRiuFFMfPUo27SiazYjpIPYtanWihvykUmUVwqOngOAFWC4QjfsQqFv0RzEE7o97rj6w==","signatures":[{"sig":"MEYCIQCCCV31cXKbJIStA/7GuQdI59cBzt0SImk8ycVM4PEg9AIhAOZrgnmygD2Z8OMNpnDoBAxe4zCRH0JoTUtXYMeI6VHZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72893},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"ae520b4e6891b18bbaae8358295fa702f7a06d8a","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.14_1783555405783_0.8624203017654486","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@us-gfecd/client","version":"0.0.15","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.15","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"037c270205ce0d7ed60ad556e6ff7cafa94d09ed","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.15.tgz","fileCount":5,"integrity":"sha512-CVmwXATZfBAiks4u7Dqa+cfbmtNfzrDzc69FazsHJMwT88oDJFa5CrV92ejYKlvacop5gc9+d1ST48kWqqTPCg==","signatures":[{"sig":"MEUCICEsVyGbpXtr5L/sIXY6JQ8/+QtLSXTQ/uQiJ4f2LuHgAiEAwN5vSb81zbH+kpbd9qrNnXHlpeZJQS2OcaHwJNLLI34=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73741},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"ad6335bfe90a0731f4dcfef0b3a513ceb677209d","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.15_1783556987684_0.22439814615608622","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@us-gfecd/client","version":"0.0.16","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.16","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"4f32154b67ac41c6827c6a1759bc9dc1176441ee","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.16.tgz","fileCount":5,"integrity":"sha512-8Nv4CfAhKWIoW3c+tAlHT7fKERp6r+fKoq0KpufktBzt5fg5uj3bjSn7AnbL7D2rIZsnd84rwM++bf6SOiQTMw==","signatures":[{"sig":"MEUCIEXbzhugNEM7GE8Iapjm2/RLzm+brwhdxD+6oNwiNfs1AiEAjwJOApSCRAae6hgSz85qtccuTCvDCqOMqzAssOYA4bk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70289},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"31febca388daaaa610547a18ce18c7866e46cafe","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.16_1783558114933_0.6141679094114321","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@us-gfecd/client","version":"0.0.17","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.17","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"db4e1cc3239785f68023d1dd2a93c7160da1c04e","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.17.tgz","fileCount":5,"integrity":"sha512-ROIUX2bfoEkoUUQwrWUKpaXY7iLEy0S/ei00vAnboNsCAQ+1O5/8lTcL6FM4phFgoBjIhbtMg+yG+7V+2zli5Q==","signatures":[{"sig":"MEUCIQD8u2+hUqSIfuHvJVaaQCvD1GoExz7ByYhTD8nmogK4KgIgGDXyJSeo3IGfVhkMfQK/5+JPKka1tv2Olc5MKlrnV1A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74683},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"09ae532c2fdfb874d1a0e31e4fd4dce07f37eaba","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.17_1783559641074_0.8488220904684198","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@us-gfecd/client","version":"0.0.18","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.18","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"2d9aada3d1ce65661d0434ab8645b01b2ef36c1b","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.18.tgz","fileCount":5,"integrity":"sha512-pmb+H1Ydz3nRu6U9DHlTuZqNbDGU8DjTo68UOzjjTKnyDsaGzdarGJ0+WmnBTt+qTB4mahEZq8myUFMwPKM/pw==","signatures":[{"sig":"MEUCIA7WhMkV2yZ69WJ4qcF8bMvklJnoMSN0+6MUahhnggfXAiEAjefQQ/t5wMfKJfzOHXRE7hM7q5lUjsi9nlqx0g5KweE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74682},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"4c815e8f8c2e1afa9e358d4576d80db5ce2909b5","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.18_1783559996620_0.18316574493359195","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"@us-gfecd/client","version":"0.0.19","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.19","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"ad8d861f83aafd088648c73c3a333f31a6b3bf96","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.19.tgz","fileCount":5,"integrity":"sha512-mZCpPg99gIaran+1rekc4TZlJXyLdSBw8SM1GvuGNaGOPx1hqR4zIL8E6xaY7Wm5JZxPU4NpWleqEkJx57cOTA==","signatures":[{"sig":"MEQCIDl/sFkddwjgJ2f1ACteP65p4tUNG9nQCPYB0KRXil2FAiAQLE0qPU1dOUoLDZ3AM+MbdswfClxhSkE4xP+GKcPhlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73105},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"f5b05a81b3af35bcc5b3a83307f6adcce9b3d8fe","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.19_1783564431646_0.6518375733904704","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"@us-gfecd/client","version":"0.0.20","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@0.0.20","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"2944eb34f0df1895a6cc503ca80f084031680577","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-0.0.20.tgz","fileCount":5,"integrity":"sha512-Q2JQFAACylz9XM8zrJh8aKDs2sxIyI2VrUv0GM/2/ye4DhEBYOpoGSjrXnD4sdvSqhogLhzkZ0XvkFWrf4KFmw==","signatures":[{"sig":"MEUCIQD7msas3aJ1Nb2SuIKqySV9eatgCuXD8c/bPZ+vwgZOUQIgIBKDeCs3RcKvhf//zuWi/wwstm2hva9JvDuUL9N1bao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75659},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"8c0953661270a24f3992d39072d96ec56fa2dcf1","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_0.0.20_1783567663609_0.9322001576884453","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@us-gfecd/client","version":"1.0.0","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@1.0.0","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"bin":{"us-gfecd":"bin/cli.js"},"dist":{"shasum":"17dc594393c24f5a36b309ee54ab206179ac6072","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-1.0.0.tgz","fileCount":5,"integrity":"sha512-KE/tzy6wTPnmO0XeNJ9ACPe7tPR8JDEdpCZweEAps4v7S1CTB8iQs9KcR31IJttQj9WuWyEt+X3vbLkamW/6bQ==","signatures":[{"sig":"MEQCIBWSsg6bfBd0Y6zSujfdI1Vphq/kTQGGRPhkWOTNm/0QAiBs41YYjfQlU4KJym5c9KYIrUsrmmWjPUg6NLCmInCY8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75658},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"8522790943a566094ab9ff5437933e3c675d1ad8","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_1.0.0_1783568806859_0.25205412983073683","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@us-gfecd/client","version":"1.1.0","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@1.1.0","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"dist":{"shasum":"e1de8820fb266a27bf22c0b9ba37e4860de154ce","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-1.1.0.tgz","fileCount":5,"integrity":"sha512-SbXB7hhqSfLg/3OEBKoPQ0iXYOy6KwdJBBx3v0gZsVoj7JEyh97LNZJ8EE97cEIkX4ZLYqe3IG5iGbjMf17RbA==","signatures":[{"sig":"MEUCIQDXYWyb13PofqwyukqnsP+LB/RrR5qfv4QE2qVUCDC2mgIgO2aZqJlcETvgS4i6MNGg8ZTUGJtsvfijfYuqCAXVL8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128780},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"f20541da12e644341c0dfab53454930c4f86ba18","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_1.1.0_1787178562776_0.9940462393893947","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@us-gfecd/client","version":"1.1.1","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@1.1.1","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"dist":{"shasum":"bb40bee70321895b8b1ce0b7039a25bf29b6d1b5","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-1.1.1.tgz","fileCount":5,"integrity":"sha512-0IvwNMC/xh6hin0tIbXb2ry3YTXJdTzaG9HewcMFNxi9sCYF5yC2U9nx82XapRfcZY+2obctawyKgpUQLaliOw==","signatures":[{"sig":"MEQCIF5cMTZJu+NsrZz09qf5wD78dQKpe/dVnERcKwZGQL20AiAB3IP9h9KirnkBruALfuAp0ORtNrsj520Ordep3t5QIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128780},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"2a7ba1c4285e83cef2d3c08b1704ff297316cb15","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_1.1.1_1787179174315_0.11965226206646484","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@us-gfecd/client","version":"1.1.2","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@1.1.2","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"dist":{"shasum":"67ddc3f728f5272d017c7fbc0e3ba9f4bdf0506b","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-1.1.2.tgz","fileCount":5,"integrity":"sha512-z8M7dcHsEtVnPj0qmFpXHjvGEK+K88xfP0NmVKJwEzzzwgaGYkPdYfqOFQRhklshhC+AXhJ0ZN8+zvrq0UT07Q==","signatures":[{"sig":"MEUCIHY25f+JSJXEs+OT4EbdXakAKInJOkEAxoqPD6co1DIxAiEAqS1MlZpfPamEVK7NrCmFIqhmBbqfL2m/oFamhueltFM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137922},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"63995ec30f6d57cd8f43ab3ef636de6ecd702516","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_1.1.2_1787180407208_0.6450812215244597","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@us-gfecd/client","version":"1.1.3","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@1.1.3","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"dist":{"shasum":"7d35badd9881eb4df291f36f53e0dbfbc813a094","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-1.1.3.tgz","fileCount":5,"integrity":"sha512-MufMp4pFILsnYfyEYhzLVK5NqI39HCQVc61ArcQuk8wIAnUK3JF3l/UIkKlRf0DYlxiEcV5e3mdexa8LUMfAeQ==","signatures":[{"sig":"MEUCICXbkvU2wMFxX2c2XjTWUzGXuZsG3vzESkfJHtBgsgMFAiEAsa4kDP3djzhAp5hh/ImbDqX1vYw6dP1jmc2EEZ38sPQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138066},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"1ceee6ecc2d4f6dc462b5a0645daa6c87591a9e5","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_1.1.3_1787707158015_0.5847061432050462","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@us-gfecd/client","version":"1.1.4","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@1.1.4","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"dist":{"shasum":"5acb0a280ec3ebe7736dd8a7b29b65d57514e424","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-1.1.4.tgz","fileCount":5,"integrity":"sha512-9xKT74MWsZr9NJuNOGw7hvraJ1KxQbfoA38znyL1ATXwf8/dwu1v3PscdUXMX4hjBsA2oLrjlCEr2pHeFkEwHw==","signatures":[{"sig":"MEQCIGPJS6ARpkUT979wZnDZJXed/bnBiADc55Qk8KWh7/OdAiBU2YLs4I0nxGV8skDgm2mUK0UGa5/CWHeWmV9ituk49g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137278},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"820e4931ea4e5cb6191e5ad05ddb81bc7d5015e9","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_1.1.4_1787709166362_0.024032730147862003","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@us-gfecd/client","version":"1.1.5","keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","_id":"@us-gfecd/client@1.1.5","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"homepage":"https://github.com/Thying/US-GFECD-client#readme","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"dist":{"shasum":"6e150a4e70d5c4c82426f079edfa07b47b806acc","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-1.1.5.tgz","fileCount":5,"integrity":"sha512-vof/tqW91/G5+BxJCCPymlloh6qpoHHodJ/WEDCNDonIZG4ggUrygZv08CsvLAIxBmssunfcz0LPveTD6obk7Q==","signatures":[{"sig":"MEUCIQDxxXLhjELLK/wUExZSDsqqwaznZLSNN18/qP+nF/sZrgIgMug5d4kaYdYffF/ZoBLDZ0+w8/AMXgvmGGbAXBig97k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136736},"jest":{"testMatch":["<rootDir>/tests/**/*.test.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"testEnvironment":"jsdom","setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"8827dd2cabfcc92720781a1c8057735ca3556df8","scripts":{"lint":"eslint src --ext .js,.jsx","test":"jest","build":"rollup -c","gfecd:init":"node bin/cli.js init","prepublishOnly":"npm run build"},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"repository":{"url":"git+https://github.com/Thying/US-GFECD-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Client library for US-GFECD architecture","directories":{},"_nodeVersion":"18.20.8","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","react":"18.2.0","eslint":"8.57.1","rollup":"3.29.4","react-dom":"18.2.0","babel-jest":"29.7.0","@babel/core":"7.24.5","react-redux":"8.1.3","@reduxjs/toolkit":"2.0.1","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","eslint-plugin-react":"7.34.1","@rollup/plugin-babel":"6.0.4","@testing-library/react":"14.3.1","jest-environment-jsdom":"29.7.0","@rollup/plugin-commonjs":"25.0.8","@testing-library/jest-dom":"6.4.6","eslint-plugin-react-hooks":"4.6.2","@rollup/plugin-node-resolve":"15.2.3"},"peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/client_1.1.5_1787709922876_0.2714088894170339","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@us-gfecd/client","version":"1.1.6","publishConfig":{"access":"public"},"description":"Client library for US-GFECD architecture","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","scripts":{"build":"rollup -c","lint":"eslint src --ext .js,.jsx","test":"jest","prepublishOnly":"npm run build","gfecd:init":"node bin/cli.js init"},"repository":{"type":"git","url":"git+https://github.com/Thying/US-GFECD-client.git"},"keywords":["socket.io","redux","architecture"],"author":{"name":"Thying"},"license":"MIT","peerDependencies":{"react":">=18.0.0","react-redux":">=8.0.0","socket.io-client":">=4.5.0"},"devDependencies":{"@babel/core":"7.24.5","@babel/preset-env":"7.24.5","@babel/preset-react":"7.24.1","@reduxjs/toolkit":"2.0.1","@rollup/plugin-babel":"6.0.4","@rollup/plugin-commonjs":"25.0.8","@rollup/plugin-node-resolve":"15.2.3","@testing-library/jest-dom":"6.4.6","@testing-library/react":"14.3.1","babel-jest":"29.7.0","eslint":"8.57.1","eslint-plugin-react":"7.34.1","eslint-plugin-react-hooks":"4.6.2","jest":"29.7.0","jest-environment-jsdom":"29.7.0","react":"18.2.0","react-dom":"18.2.0","react-redux":"8.1.3","rollup":"3.29.4"},"jest":{"testEnvironment":"jsdom","testMatch":["<rootDir>/tests/**/*.test.js"],"setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"transform":{"^.+\\.(js|jsx)$":"babel-jest"},"transformIgnorePatterns":["/node_modules/(?!(socket.io-client|engine.io-client|@socket.io|@us_gfecd)/)"]},"_id":"@us-gfecd/client@1.1.6","gitHead":"f62d90434dd3aaa28e90a9674d82fada7a4d2d02","bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"homepage":"https://github.com/Thying/US-GFECD-client#readme","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-/UGJpW26pIErxGh2PJAwKcrXkyxP8fQZIvDGcZ5EzxKGeM79bt3Ivokd1wzsqCs0FPMrDG9MYN3xY5SDqvPHYw==","shasum":"a149ca1869cb997f582a8ab39fda345c97b6650d","tarball":"https://registry.npmjs.org/@us-gfecd/client/-/client-1.1.6.tgz","fileCount":5,"unpackedSize":138248,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDkmBgagUyBZyTY0zxSPNr/EoHAKjN0Dv49/lBEe4BAsAiEAqTuV1Lk49/jNf6Dh2OMG3vLYW/KuFi2KsbMkLgJBVb8="}]},"_npmUser":{"name":"matveibavykin","email":"matveibavykin@gmail.com"},"directories":{},"maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/client_1.1.6_1788513554633_0.37189331679933213"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-25T21:17:49.046Z","modified":"2026-09-04T09:19:14.976Z","0.0.1":"2026-06-25T21:17:49.362Z","0.0.2":"2026-06-25T21:40:33.612Z","0.0.4":"2026-06-25T22:06:42.722Z","0.0.3":"2026-06-25T22:41:55.144Z","0.0.5":"2026-06-25T22:49:08.223Z","0.0.6":"2026-06-26T15:50:01.899Z","0.0.7":"2026-06-26T15:53:59.530Z","0.0.8":"2026-06-28T14:35:48.474Z","0.0.9":"2026-07-01T14:03:50.199Z","0.0.10":"2026-07-01T14:06:33.310Z","0.0.12":"2026-07-08T22:46:03.226Z","0.0.13":"2026-07-08T22:56:00.989Z","0.0.14":"2026-07-09T00:03:25.970Z","0.0.15":"2026-07-09T00:29:47.808Z","0.0.16":"2026-07-09T00:48:35.069Z","0.0.17":"2026-07-09T01:14:01.222Z","0.0.18":"2026-07-09T01:19:56.752Z","0.0.19":"2026-07-09T02:33:51.792Z","0.0.20":"2026-07-09T03:27:43.752Z","1.0.0":"2026-07-09T03:46:47.010Z","1.1.0":"2026-08-19T22:29:22.919Z","1.1.1":"2026-08-19T22:39:34.478Z","1.1.2":"2026-08-19T23:00:07.396Z","1.1.3":"2026-08-26T01:19:18.148Z","1.1.4":"2026-08-26T01:52:46.512Z","1.1.5":"2026-08-26T02:05:23.026Z","1.1.6":"2026-09-04T09:19:14.777Z"},"bugs":{"url":"https://github.com/Thying/US-GFECD-client/issues"},"author":{"name":"Thying"},"license":"MIT","homepage":"https://github.com/Thying/US-GFECD-client#readme","keywords":["socket.io","redux","architecture"],"repository":{"type":"git","url":"git+https://github.com/Thying/US-GFECD-client.git"},"description":"Client library for US-GFECD architecture","maintainers":[{"name":"matveibavykin","email":"matveibavykin@gmail.com"}],"readme":"[🇺🇸 English](./README.md) | **🇷🇺 Русский**\n\nБиблиотека для React + Redux + Socket.IO.\n\n**Разделяет UI и Store:**\n\n**UI:**\n- **View** — подключается к Entity, показывает данные и флаги (`loading`, `error`, `data`). При монтировании вызывает `init()`, при размонтировании `clean()`.\n- **Edit** — вызывает Invoke, передаёт данные. Не заботится о состоянии подписки.\n\n**Store:**\n- **Entity** — расширение Redux slice. Добавляет автоматическое управление данными:\n  - Загружает данные при первом подключении View.\n  - Подписывается на события (handlers).\n  - Обновляет данные по событиям.\n  - Очищает и отписывается, когда последний View уходит.\n  - Поддерживает нормализованное хранилище по ID.\n- **Invoke** — отправляет запросы на сервер и сохраняет результат через экшен.\n\nПостроена на архитектуре [US-GFECD](https://npmjs.com/package/@us-gfecd/architecture).\n\n---\n\n## Установка\n\n```bash\nnpm install @us-gfecd/client\n```\n\n**Peer-зависимости:**\n```json\n\"peerDependencies\": {\n  \"react\": \">=18.0.0\",\n  \"react-redux\": \">=8.0.0\",\n  \"socket.io-client\": \">=4.5.0\"\n}\n```\n\n---\n\n## Socket\n\n### `createSocket(config)`\n\nСоздаёт экземпляр Socket.IO.\n\n**Параметры:**\n\n| Параметр | Тип | Описание |\n|----------|-----|----------|\n| `url` | `string` | URL сервера (обязательно). |\n| `path` | `string` | Путь к Socket.IO (по умолчанию `/socket.io/`). |\n| `autoConnect` | `boolean` | Автоподключение (по умолчанию `true`). |\n| `transports` | `string[]` | Транспорты (по умолчанию `['websocket']`). |\n| `auth` | `Object` | Данные для авторизации. |\n| `withCredentials` | `boolean` | Передавать credentials (по умолчанию `false`). |\n\n**Загрузка из переменных окружения:**\n\nБиблиотека автоматически читает переменные окружения, если они заданы:\n\n| Переменная | Описание |\n|------------|----------|\n| `SOCKET_URL` | URL сервера (переопределяется параметром `url`). |\n| `SOCKET_PATH` | Путь к Socket.IO (переопределяется параметром `path`). |\n| `SOCKET_TOKEN` | Токен авторизации (добавляется в `auth`). |\n\n**Приоритет:** параметры, переданные в `createSocket`, имеют приоритет над переменными окружения.\n\n**Пример:**\n\n```js\nimport { createSocket } from '@us-gfecd/client';\n\nconst socket = createSocket({\n  url: 'http://localhost:8080',\n  auth: { token: 'your-jwt-token' },\n});\n\n// Если в .env задан SOCKET_URL, можно вызвать без параметров:\n// const socket = createSocket();\n```\n\n---\n\n## Entity\n\n### Что такое Entity?\n\nEntity — это **расширение Redux slice**. Она объединяет:\n\n- **Данные** — то, что хранится в store.\n- **Инициализацию** — загрузку данных при первом подключении.\n- **Подписки** — автоматическое обновление по событиям (handlers).\n- **Очистку** — отписку и удаление данных, когда они больше не нужны.\n- **Нормализацию по ID** — хранение нескольких экземпляров сущности в одном slice.\n\n**Entity не знает, кто её использует.** Она просто живёт в store, получает данные, обновляется по событиям и удаляется, когда никто не подписан.\n\n---\n\n### `createEntity(config)`\n\nСоздаёт сущность (расширенный slice) с автоматическим управлением данными.\n\n**Параметры:**\n\n| Параметр | Тип | Описание |\n|----------|-----|----------|\n| `name` | `string` | Уникальное имя сущности (ключ в store). |\n| `initialState` | `Object` | Начальное состояние данных (без служебных полей). |\n| `reducers` | `Object` | Редьюсеры для данных (экшены генерируются автоматически). |\n| `call` | `string` | Имя события Socket.IO для запроса данных. |\n| `save` | `string` | Имя экшена из `reducers` для сохранения данных. |\n| `handlers` | `Object` | Подписка на события (см. ниже). |\n| `socket` | `Socket` | Экземпляр сокета. |\n| `onSend`, `onSave`, `onDone`, `onError`, `onClean`, `onEnd` | `Function` | Глобальные хуки жизненного цикла. |\n\n**Возвращает:** функцию `entity(idParams)`, которая возвращает объект с полями:\n\n- `init()` — thunk для загрузки данных.\n- `clean()` — thunk для очистки данных.\n- `selectors` — мемоизированные селекторы:\n  - `selectData` — только данные (без флагов).\n  - `selectState` — всё состояние (данные + флаги).\n  - `selectLoading`, `selectError`, `selectInitialized`.\n\n---\n\n### Подписки (handlers)\n\nОбъект `handlers` описывает, какие события слушать и какие экшены вызывать.\n\n**Форматы:**\n\n1. **Глобальное событие** (без комнаты):\n   ```js\n   handlers: {\n     userCreated: 'addUser',\n     userDeleted: 'removeUser',\n   }\n   ```\n\n2. **Событие с комнатой** (обязательный ID):\n   ```js\n   handlers: {\n     userPageUpdated: {\n       room: 'user{id}',\n       save: 'setUser',\n     },\n   }\n   ```\n\n3. **Событие с опциональной комнатой**:\n   ```js\n   handlers: {\n     userPageUpdated: {\n       room: 'user{?id}',\n       save: 'setUser',\n     },\n   }\n   ```\n\n4. **Несколько параметров в комнате**:\n   ```js\n   handlers: {\n     themeUpdated: {\n       room: 'contest{contestId}/theme{themeId}',\n       save: 'setTheme',\n     },\n   }\n   ```\n\n---\n\n### Работа с ID\n\nEntity поддерживает нормализованное хранилище: данные для разных ID хранятся в одном slice.\n\n**Глобальная сущность (без ID):**\n```js\nconst status = contestStatus(); // без параметров\nstatus.init();\n```\n\n**Сущность с ID:**\n```js\nconst user = userEntity({ id: 123 });\nuser.init();\n```\n\n**Связка нескольких ID:**\n```js\nconst theme = themeEntity({ contestId: 1, themeId: 5 });\ntheme.init(); // подпишется на комнату contest1/theme5\n```\n\n**Обязательные параметры:** если в комнате указан `{id}`, а ID не передан — будет ошибка `CFG-08`.\n\n**Опциональные параметры:** если в комнате указан `{?id}`, а ID не передан — подписка на комнату не создаётся.\n\n---\n\n### Хуки жизненного цикла (глобальные)\n\nХуки позволяют встраивать логику в ключевые моменты работы Entity.\n\n| Хук | Когда срабатывает | Что получает |\n|-----|-------------------|--------------|\n| `onSend` | Перед отправкой запроса | `params` (объект с ID), `helpers` |\n| `onSave` | После получения ответа, перед сохранением | `response` (данные от сервера), `helpers` |\n| `onDone` | После успешного сохранения | `savedData` (сохранённые данные), `helpers` |\n| `onError` | При ошибке | `error` (объект ошибки), `helpers` |\n| `onClean` | Перед очисткой (последний подписчик) | `helpers` |\n| `onEnd` | После очистки (последний подписчик) | `helpers` |\n\n**Пример:**\n```js\nconst contestStatus = createEntity({\n  name: 'contestStatus',\n  initialState,\n  reducers,\n  call: 'contest:getCurrentStatus',\n  save: 'setContestStatus',\n  handlers: {\n    contestStatusUpdated: 'setContestStatus',\n    contestStatusDeleted: 'clearContestStatus',\n  },\n  socket,\n  onSend: (params) => {\n    console.log('Запрос статуса', params);\n    return params;\n  },\n  onSave: (response) => {\n    console.log('Получен ответ', response);\n    return response;\n  },\n  onError: (error) => {\n    console.error('Ошибка загрузки', error);\n  },\n});\n```\n\n---\n\n### Флаги состояния\n\nEntity автоматически управляет тремя флагами:\n\n- `loading` — идёт загрузка.\n- `initialized` — данные загружены и готовы.\n- `error` — ошибка загрузки.\n\nОни доступны через селекторы:\n```js\nconst { loading, error } = useSelector(selectors.selectState);\n// или\nconst loading = useSelector(selectors.selectLoading);\nconst error = useSelector(selectors.selectError);\n```\n\n---\n\n### Жизненный цикл Entity\n\n1. **View монтируется** → вызывает `init()`.\n2. **Entity проверяет** флаги (`initialized`, `loading`).\n3. **Если данных нет** — отправляет запрос (`call`).\n4. **После получения ответа** — сохраняет данные (через `save`) и активирует подписку (handlers).\n5. **При получении события** — обновляет данные через экшен.\n6. **View размонтируется** → вызывает `clean()`.\n7. **Entity уменьшает счётчик подписчиков**.\n8. **Если счётчик стал 0** — отписывается от событий и очищает данные.\n\n---\n\n### Пример: глобальная сущность\n\n**state/contestStatusState.js:**\n```js\nexport const initialState = {\n  status: null,\n  start_date: null,\n  end_date: null,\n};\n\nexport const reducers = {\n  setContestStatus: (state, action) => {\n    const { status, start_date, end_date } = action.payload;\n    state.status = status;\n    state.start_date = start_date;\n    state.end_date = end_date;\n  },\n  clearContestStatus: (state) => {\n    state.status = null;\n    state.start_date = null;\n    state.end_date = null;\n  },\n};\n```\n\n**entity/contestStatusEntity.js:**\n```js\nimport { createEntity } from '@us-gfecd/client';\nimport { initialState, reducers } from '../state/contestStatusState';\nimport { socket } from '../index';\n\nexport const contestStatus = createEntity({\n  name: 'contestStatus',\n  initialState,\n  reducers,\n  call: 'contest:getCurrentStatus',\n  save: 'setContestStatus',\n  handlers: {\n    contestStatusUpdated: 'setContestStatus',\n    contestStatusDeleted: 'clearContestStatus',\n  },\n  socket,\n});\n```\n\n**view/ContestStatusView.jsx:**\n```js\nconst status = contestStatus(); // глобальная сущность\nconst { init, clean, selectors } = status;\n\nuseEffect(() => {\n  init();\n  return () => clean();\n}, []);\n\nconst data = useSelector(selectors.selectData);\nconst loading = useSelector(selectors.selectLoading);\n```\n\n---\n\n### Пример: сущность с ID и комнатой\n\n**state/userState.js:**\n```js\nexport const initialState = { data: null };\n\nexport const reducers = {\n  setUser: (state, action) => {\n    state.data = action.payload;\n  },\n  clearUser: (state) => {\n    state.data = null;\n  },\n};\n```\n\n**entity/userEntity.js:**\n```js\nimport { createEntity } from '@us-gfecd/client';\nimport { initialState, reducers } from '../state/userState';\nimport { socket } from '../index';\n\nexport const userEntity = createEntity({\n  name: 'user',\n  initialState,\n  reducers,\n  call: 'user:getOne',\n  save: 'setUser',\n  handlers: {\n    userPageUpdated: {\n      room: 'user{id}',\n      save: 'setUser',\n    },\n    userPageDeleted: {\n      room: 'user{id}',\n      save: 'clearUser',\n    },\n  },\n  socket,\n});\n```\n\n**view/UserPage.jsx:**\n```js\nconst user = userEntity({ id: userId });\nconst { init, clean, selectors } = user;\n\nuseEffect(() => {\n  init(); // подпишется на комнату user:{userId}\n  return () => clean();\n}, [userId]);\n\nconst data = useSelector(selectors.selectData);\n```\n\n---\n\n## Invoke\n\n### Что такое Invoke?\n\nInvoke — это активный вызов. Он отправляет запрос на сервер и сохраняет ответ. Используется в **Edit**-компонентах для изменения данных.\n\n**Отличие от Entity:**\n- Entity — пассивная. Управляет данными и подписками.\n- Invoke — активный. Выполняет запрос по команде пользователя.\n\n---\n\n### `createInvoke(config)`\n\nСоздаёт функцию для отправки запросов.\n\n**Параметры:**\n\n| Параметр | Тип | Описание |\n|----------|-----|----------|\n| `call` | `string` | Имя события Socket.IO. |\n| `save` | `Function` | Экшен-криэйтор для сохранения результата. |\n| `socket` | `Socket` | Экземпляр сокета. |\n| `onSend`, `onSave`, `onDone`, `onError` | `Function` | Глобальные хуки. |\n\n**Возвращает:** функцию `invoke(data, on, id)`.\n\n---\n\n### Сигнатура вызова: `invoke(data, on, id)`\n\n| Параметр | Тип | Описание |\n|----------|-----|----------|\n| `data` | `any` | Данные для отправки (опционально). |\n| `on` | `Object` | Локальные хуки (опционально). |\n| `id` | `Object` | Идентификаторы для нормализации (опционально). |\n\n**Локальные хуки (`on`):**\n\n| Хук | Когда срабатывает | Что получает |\n|-----|-------------------|--------------|\n| `onSend` | Перед отправкой | `(data, base, helpers)` |\n| `onSave` | Перед сохранением | `(response, base, helpers)` |\n| `onDone` | После успешного сохранения | `(savedData, base, helpers)` |\n| `onError` | При ошибке | `(error, base, helpers)` |\n\n**Механизм `base`:**\n- Если локальный хук определён, он может вызвать `base()`, чтобы выполнить глобальный хук.\n- Если локальный хук не вызывает `base()`, глобальный хук не выполняется (полное переопределение).\n- Если локальный хук вызывает `base()`, а глобального хука нет — ошибка `HOK-01`.\n\n---\n\n### Глобальные и локальные хуки\n\n**Глобальные хуки** задаются в `createInvoke` и действуют для всех вызовов:\n```js\nconst updateUser = createInvoke({\n  call: 'updateUser',\n  save: setUser,\n  socket,\n  onSend: (data) => {\n    console.log('Глобальный onSend');\n    return data;\n  },\n});\n```\n\n**Локальные хуки** передаются при вызове и переопределяют глобальные:\n```js\nawait updateUser(\n  { name: 'John' },\n  {\n    onSend: (data, base) => {\n      console.log('Локальный onSend');\n      return base(data); // вызов глобального\n    },\n  },\n  { id: userId }\n);\n```\n\n---\n\n### Работа с ID в Invoke\n\nID передаётся третьим аргументом и используется для сохранения данных в правильный слот в нормализованном хранилище.\n\n```js\nconst ids = { id: 123, roomid: 456 };\nawait updateUser(\n  { name: 'Jane' },\n  null, // без локальных хуков\n  ids   // те же ID, что и в Entity\n);\n```\n\n---\n\n### Пример: полный сценарий с Invoke\n\n**state/userState.js:**\n```js\nexport const initialState = { data: null };\n\nexport const reducers = {\n  setUser: (state, action) => { state.data = action.payload; },\n};\n```\n\n**entity/userEntity.js:**\n```js\nexport const userEntity = createEntity({\n  name: 'user',\n  initialState,\n  reducers,\n  call: 'user:getOne',\n  save: 'setUser',\n  handlers: {\n    userPageUpdated: {\n      room: 'user{id}',\n      save: 'setUser',\n    },\n  },\n  socket,\n});\n```\n\n**method/updateUser.js:**\n```js\nimport { createInvoke } from '@us-gfecd/client';\nimport { reducers } from '../state/userState';\n\nconst { setUser } = reducers;\n\nexport const updateUser = createInvoke({\n  call: 'updateUser',\n  save: setUser,\n  socket,\n  onSend: (data) => {\n    console.log('Обновление пользователя', data);\n    return data;\n  },\n  onDone: (saved) => {\n    console.log('Пользователь обновлён', saved);\n  },\n});\n```\n\n**edit/EditUserForm.jsx:**\n```js\nconst handleSubmit = async (data) => {\n  await updateUser(\n    data,\n    {\n      onDone: (saved, base) => {\n        base(saved); // вызов глобального onDone\n        closeModal();\n        showNotification('Пользователь обновлён');\n      },\n      onError: (error) => {\n        console.error('Ошибка обновления', error);\n      },\n    },\n    { id: userId } // ID для нормализации\n  );\n};\n```\n\n---\n\n## Ошибки\n\nВсе ошибки библиотеки являются экземплярами `UsGfecdError` и содержат поля `code` и `context` с информацией о месте возникновения и доступных значениях.\n\n**Формат ошибки:**\n```js\n{\n  name: 'UsGfecdError',\n  code: 'CFG-01',\n  message: '[createEntity: user] save action \"setUser\" not found in reducers',\n  context: {\n    factory: 'createEntity',\n    entityName: 'user',\n    availableActions: ['setUser', 'clearUser'],\n  },\n}\n```\n\n### Коды ошибок\n\n| Код | Описание | Контекст |\n|-----|----------|----------|\n| **CFG-01** | `save` экшен не найден в `reducers`. | Имя сущности, доступные экшены. |\n| **CFG-02** | `socket` не предоставлен. | Фабрика (`createEntity` / `createInvoke`). |\n| **CFG-03** | `handlers` не является объектом. | Имя сущности. |\n| **CFG-04** | В `handlers` отсутствует поле `save`. | Имя сущности, событие. |\n| **CFG-05** | Обязательный параметр (`name` или `call`) отсутствует. | Фабрика. |\n| **CFG-06** | `handlers` ссылается на экшен, которого нет в `actions`. | Имя сущности, событие, отсутствующий экшен, доступные экшены. |\n| **CFG-07** | URL сокета не указан. | Фабрика `createSocket`. |\n| **CFG-08** | Обязательный параметр комнаты отсутствует. | Имя сущности, параметр. |\n| **NET-01** | Соединение с сервером потеряно. | – |\n| **NET-02** | Таймаут ответа. | – |\n| **NET-03** | Сервер вернул ошибку. | Фабрика, событие, текст ошибки сервера. |\n| **NET-04** | Ошибка подключения к сокету. | – |\n| **DAT-01** | `onSave` вернул примитив вместо объекта. | Фабрика, событие. |\n| **DAT-02** | `onSend` вернул не объект. | Фабрика, событие. |\n| **DAT-03** | Ошибка в хуке `onSave`/`onSend`. | Фабрика, событие, исходная ошибка. |\n| **DAT-04** | Ошибка в хуке `onSave` (выброшено исключение). | Фабрика, событие. |\n| **DAT-05** | Ответ сервера не является валидным JSON. | – |\n| **DAT-06** | Структура ответа не соответствует ожидаемой. | – |\n| **DAT-07** | `onSave` вернул `null`, сохранение пропущено (предупреждение). | – |\n| **SUB-01** | Попытка подписаться без активного сокета. | – |\n| **SUB-02** | Ошибка при входе в комнату. | – |\n| **SUB-03** | Ошибка при выходе из комнаты. | – |\n| **HOK-01** | Локальный хук вызвал `base`, но глобальный хук не определён. | Фабрика, событие, хук. |\n| **HOK-02** | `onSend` вернул `null`, запрос отменён (предупреждение). | – |\n| **HOK-03** | Хук `onDone` выбросил исключение. | – |\n| **HOK-04** | Хук `onError` выбросил исключение. | – |\n| **LIF-01** | `clean` вызван до `init` (предупреждение). | – |\n| **LIF-02** | `init` вызван повторно, данные уже загружены (предупреждение). | – |\n| **LIF-03** | `clean` вызван, но подписка уже удалена (предупреждение). | – |\n\n---\n\n## Лицензия\n\nMIT\n\n---\n\n**Ссылки:**\n- [Архитектура US-GFECD](https://npmjs.com/package/@us-gfecd/architecture)\n- [Репозиторий](https://github.com/Thying/US-GFECD-client)","readmeFilename":"README.ru.md"}