{"_id":"@asd14/state-list","_rev":"5-76a06b633276444a9a1e246aa0d0131d","name":"@asd14/state-list","dist-tags":{"latest":"7.9.0"},"versions":{"0.0.1":{"name":"@asd14/state-list","version":"0.0.1","description":"Redux state as list with standard structure and behaviour","homepage":"https://github.com/asd-xiv/state-list","repository":{"type":"git","url":"git+https://github.com/asd-xiv/state-list.git"},"bugs":{"url":"https://github.com/asd-xiv/state-list/issues"},"author":{"name":"Andrei Dumitrescu","url":"https://github.com/andreidmt"},"keywords":["state-management","redux","react"],"main":"dist/index.js","license":"BSD-3-Clause","scripts":{"----UTILS":"","setup":"rm -rf ./node_modules && npm i && npm audit fix","setup:ci":"npm ci && npm audit fix","update":"npm-check --update","----BUILD":"","build":"rm -rf ./dist && babel src -d dist","prepare":"npm audit fix && npm test && npm run lint && npm run build","prepublishOnly":"npm run coverage","----LINT":"","lint:js":"eslint src --quiet","lint:md":"markdownlint *.md","lint":"npm run lint:md && npm run lint:js","----TEST":"","test":"tape -r @babel/register 'src/*.test.js' 'src/**/*.test.js' | tap-nirvana","tdd":"nodemon --watch src --exec \"npm run test\"","coverage:report":"NODE_ENV=test nyc npm test && nyc report --reporter=html","coverage":"NODE_ENV=test nyc npm test && nyc report --reporter=text-lcov | coveralls"},"dependencies":{"@asd14/m":"^4.7.1","@babel/runtime-corejs3":"^7.12.13","core-js":"^3.8.3","regenerator-runtime":"^0.13.7","socket.io-client":"^3.1.1"},"devDependencies":{"@asd14/eslint-config":"^5.24.0","@babel/cli":"^7.12.13","@babel/core":"^7.12.13","@babel/plugin-transform-runtime":"^7.12.15","@babel/preset-env":"^7.12.13","@babel/register":"^7.12.13","babel-eslint":"^10.1.0","coveralls":"^3.1.0","eslint":"^7.19.0","eslint-config-prettier":"^7.2.0","eslint-plugin-import":"^2.22.1","eslint-plugin-jsdoc":"^31.6.1","eslint-plugin-json":"^2.1.2","eslint-plugin-no-inferred-method-name":"^2.0.0","eslint-plugin-prettier":"^3.3.1","eslint-plugin-promise":"^4.2.1","eslint-plugin-unicorn":"^28.0.0","markdownlint-cli":"^0.26.0","nodemon":"^2.0.7","npm-check":"^5.9.2","nyc":"^15.1.0","prettier":"^2.2.1","redux":"^4.0.5","semantic-release":"^17.3.8","socket.io":"^3.1.1","tap-nirvana":"^1.1.0","tape":"^5.1.1"},"peerDependencies":{"redux":"4.x"},"gitHead":"1c4f752f5619987d8f394744c8fa0e6afce22cd7","_id":"@asd14/state-list@0.0.1","_nodeVersion":"12.20.0","_npmVersion":"7.5.2","dist":{"integrity":"sha512-UB5xD7sN8Vst/9zl8lGi3gtDFDlPYF2zWfIxW+FM7WbYuxcm0Z9zyTC3fTpNA9aXjuIP5co1035V+6BiskTVpg==","shasum":"a413d1cb49e2489ecd20e80ad72cc4ff18daeaff","tarball":"https://registry.npmjs.org/@asd14/state-list/-/state-list-0.0.1.tgz","fileCount":72,"unpackedSize":249892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgI6Q3CRA9TVsSAnZWagAAedwQAKOPBx9blHTOhKySHyhy\n0jeN9/gsE7g5F/QE5D9dc4GVuv2C0km3Trp8ddUmnE5yurPzQWsTnzDeQx1u\n4ufaV2ULMATbJO/1ZUuiva6AsYVjjjMdoR5ZkZdp+YZz1R6slrAb+PARGlRg\nFjHmhwnK8T44zyKFbeHzdnMcgOowKQjNMYb0dbkRGDwu/1qGx/7rtZVLj2RL\nNaoCY1G/7kJ90QqDYQNiULDT9cgmTFd0ekaqQ6rtV97Jxz6W8gRRizifwkkd\nzazSJGfbJneray1kOr/AKo83QjE1Pvl3/cDJCrFAprMQfvBFDrFRusf91zRY\nakVbw5irJzGu1PYBJ7oBrkOPE9/9c5GuUl/sc/k8sc0OJhjf778SdD3E7CQL\naBAtC17T1qTcmGYHqg/4J/3HsvjiK/Jfc/d3JqVc6wUJF4gbllQAqu6sInJp\ncD9w19vRitznrqTuOwpvxAhvaiU4ciuO4KLfzOIqhsCC6pw4amHbU0SrZe2W\ndVE8CTIJsgfctK2ugL/We5gvp46M+B0USSI0G68Dq23tluHGjB7Tex8TxerT\nBVScdKv7GZrti0XvO9755FUBVa4CyHpADGkPBMeWRcupBLDi5yOZfbdDbkhE\nG27Md9/7RlvnHwTWUAHnLGAb5TBGIfAkFAPwtPRaxPOu029CgGKDPSyKVIOQ\nOhmp\r\n=IaPD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDV8Djjz3r0DmCIFEHYV5mRWa9cfMzqNa00bN09rA1RjAIgWxcKGz83rpOIAfceW7J+Ok01FaK69Z4u9pUw6kVIkug="}]},"_npmUser":{"name":"andreid","email":"andrei@mutant.love"},"directories":{},"maintainers":[{"name":"andreid","email":"andrei@mutant.love"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-list_0.0.1_1612948534846_0.4765957881789875"},"_hasShrinkwrap":false},"7.7.2":{"name":"@asd14/state-list","version":"7.7.2","description":"Redux state as list with standard structure and behaviour","homepage":"https://github.com/asd-xiv/state-list","repository":{"type":"git","url":"git+https://github.com/asd-xiv/state-list.git"},"bugs":{"url":"https://github.com/asd-xiv/state-list/issues"},"author":{"name":"Andrei Dumitrescu","url":"https://github.com/andreidmt"},"keywords":["state-management","redux","react"],"main":"dist/index.js","license":"BSD-3-Clause","scripts":{"----UTILS":"","setup":"rm -rf ./node_modules && npm i && npm audit fix","setup:ci":"npm ci && npm audit fix","update":"npm-check --update","----BUILD":"","build":"rm -rf ./dist && babel src -d dist","prepare":"npm audit fix && npm test && npm run lint && npm run build","prepublishOnly":"npm run coverage","----LINT":"","lint:js":"eslint src --quiet","lint:md":"markdownlint *.md","lint":"npm run lint:md && npm run lint:js","----TEST":"","test":"tape -r @babel/register 'src/*.test.js' 'src/**/*.test.js' | tap-nirvana","tdd":"nodemon --watch src --exec \"npm run test\"","coverage:report":"NODE_ENV=test nyc npm test && nyc report --reporter=html","coverage":"NODE_ENV=test nyc npm test && nyc report --reporter=text-lcov | coveralls"},"dependencies":{"@asd14/m":"^4.7.1","@babel/runtime-corejs3":"^7.12.13","core-js":"^3.8.3","regenerator-runtime":"^0.13.7","socket.io-client":"^3.1.1"},"devDependencies":{"@asd14/eslint-config":"^5.24.0","@babel/cli":"^7.12.13","@babel/core":"^7.12.13","@babel/plugin-transform-runtime":"^7.12.15","@babel/preset-env":"^7.12.13","@babel/register":"^7.12.13","babel-eslint":"^10.1.0","coveralls":"^3.1.0","eslint":"^7.19.0","eslint-config-prettier":"^7.2.0","eslint-plugin-import":"^2.22.1","eslint-plugin-jsdoc":"^31.6.1","eslint-plugin-json":"^2.1.2","eslint-plugin-no-inferred-method-name":"^2.0.0","eslint-plugin-prettier":"^3.3.1","eslint-plugin-promise":"^4.2.1","eslint-plugin-unicorn":"^28.0.0","markdownlint-cli":"^0.26.0","nodemon":"^2.0.7","npm-check":"^5.9.2","nyc":"^15.1.0","prettier":"^2.2.1","redux":"^4.0.5","semantic-release":"^17.3.8","socket.io":"^3.1.1","tap-nirvana":"^1.1.0","tape":"^5.1.1"},"peerDependencies":{"redux":"4.x"},"gitHead":"dbaa914a52469bff2e89cd5b44efdc5729ee369e","_id":"@asd14/state-list@7.7.2","_nodeVersion":"14.15.4","_npmVersion":"6.14.11","dist":{"integrity":"sha512-gN2QF+L7XfzNg4oD/g3X9GDEvl0m6rle3hDBHA5DW5scfMEfum7qUFVX+FT9a0OfRixTuvyO3vlS/JNTe8cNSQ==","shasum":"6b5b48f6f329f5719dca4e130a15f93ce513ddf5","tarball":"https://registry.npmjs.org/@asd14/state-list/-/state-list-7.7.2.tgz","fileCount":69,"unpackedSize":245854,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgI6bnCRA9TVsSAnZWagAAVhMQAI0al8KQb8jX8e0+K+hV\n4jv8HV8qGaNKZUTcWE3yh3qexYVKRS9FdK3xn1T6sjmxi1CBVzmeHYVQzBTX\ncDKdQE7LdoXtdZaVFv/rDeqoNL0B3CybrFjToOttPa/DL0Y+h2OB++IMo/xG\nUOLSZmkO23JP0lAXUDIQ5B/MEqKm4gIM+eEkhlWvr7zcQ+TMY7pwdRLJ6+j3\nUxhQjuqPoAl1FEgJv6CsX22nUZaM0wPAMJYHTrqdGrhyrxt8MYJEulFVn0M5\no1p6JvMeHJ0RgWQgotfqm/izcvuAxsegVq3KFMj4IWsJQ/UuGKj4xIcolRTu\nOow5PB8zANLv3jOmqO5iItKvPcQlzAoaecmCmyBiKXP6JUFSgfI8CP6duQgj\n0mDC9xZOePvy46i8PinWt55hCb7SBwr1by+J/r2ietltpBvGgpPI39WEkHiF\nL3zKqThI+v0wH0WPUl6Xn6PwVNfpBPycnrXQeWTWoEBvHpN2OIpiakItNlMX\nOkAqMd0O41P/ZHZp/ZaO9fbM5cxg8eNwlpdgDQXR3YrqYzpgNnwAu3rtEgC7\nYVPCDq4+Ns5PbXaiUTcktgKcW8hMvWHEopFMwV/sHn50OyqLf3aa8078lH2i\nftv1qum1bbi8vDMd1nBjd1jlxO6i0JEynjty1SUhwibFf3fiS71AxI9TXZV5\n11RB\r\n=Unc7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICLOpY5zMgkGNnfw/rZkzEIa5eO3As3nKt6NVKX4/XADAiEAtgbQ5YS+fOBThUF5kDoz1/dcJEBObCzGU4WAZWUybR8="}]},"_npmUser":{"name":"andreid","email":"andrei@mutant.love"},"directories":{},"maintainers":[{"name":"andreid","email":"andrei@mutant.love"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-list_7.7.2_1612949223198_0.7201758236739981"},"_hasShrinkwrap":false},"7.8.0":{"name":"@asd14/state-list","version":"7.8.0","description":"Redux state as list with standard structure and behaviour","homepage":"https://github.com/asd-xiv/state-list","repository":{"type":"git","url":"git+https://github.com/asd-xiv/state-list.git"},"bugs":{"url":"https://github.com/asd-xiv/state-list/issues"},"author":{"name":"Andrei Dumitrescu","url":"https://github.com/andreidmt"},"keywords":["state-management","redux","react"],"main":"dist/index.js","license":"BSD-3-Clause","scripts":{"----UTILS":"","setup":"rm -rf ./node_modules && npm i && npm audit fix","setup:ci":"npm ci && npm audit fix","update":"npm-check --update","----BUILD":"","build":"rm -rf ./dist && babel src -d dist","prepare":"npm audit fix && npm test && npm run lint && npm run build","prepublishOnly":"npm run coverage","----LINT":"","lint:js":"eslint src --quiet","lint:md":"markdownlint *.md","lint":"npm run lint:md && npm run lint:js","----TEST":"","pretest":"npm run build","test":"tape 'dist/*.test.js' 'dist/**/*.test.js' | tap-nirvana","tdd":"nodemon --watch src --exec \"npm run test\"","coverage:report":"NODE_ENV=test nyc npm test && nyc report --reporter=html","coverage":"NODE_ENV=test nyc npm test && nyc report --reporter=text-lcov | coveralls"},"dependencies":{"@asd14/m":"^5.0.0","@babel/runtime-corejs3":"^7.13.7","socket.io-client":"^3.1.1"},"devDependencies":{"@asd14/eslint-config":"^5.28.1","@babel/cli":"^7.13.0","@babel/core":"^7.13.1","@babel/plugin-transform-runtime":"^7.13.7","@babel/preset-env":"^7.13.5","@babel/register":"^7.13.0","babel-eslint":"^10.1.0","core-js":"^3.9.0","coveralls":"^3.1.0","eslint":"^7.20.0","eslint-config-prettier":"^8.0.0","eslint-plugin-import":"^2.22.1","eslint-plugin-jsdoc":"^32.2.0","eslint-plugin-json":"^2.1.2","eslint-plugin-no-inferred-method-name":"^2.0.0","eslint-plugin-prettier":"^3.3.1","eslint-plugin-promise":"^4.3.1","eslint-plugin-unicorn":"^28.0.2","markdownlint-cli":"^0.26.0","nodemon":"^2.0.7","npm-check":"^5.9.2","nyc":"^15.1.0","prettier":"^2.2.1","redux":"^4.0.5","semantic-release":"^17.3.9","socket.io":"^3.1.1","tap-nirvana":"^1.1.0","tape":"^5.2.0"},"peerDependencies":{"redux":"^4.x"},"gitHead":"ec51b68dd6850bcad419a983e045b3eabe108227","_id":"@asd14/state-list@7.8.0","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-SB16T0ZkI9lx7xTPDFX+h+fsPsJ2SHdhQvr7Nb792KQ3ie7NB2NMKOJ16XTgB7h+BUaKdIxWqromTTNuEltFlA==","shasum":"1aa485193681f50d2e5f45bc2f71ae02e482f67c","tarball":"https://registry.npmjs.org/@asd14/state-list/-/state-list-7.8.0.tgz","fileCount":69,"unpackedSize":242538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNmGrCRA9TVsSAnZWagAASwQP/je8ebh03vOtrgl3w/Ps\n9zpxfbMyiExOSYtnmoulNok+S+odpAp6yEayaDF5opktjgrVf0uv4aYW90Xx\ngQ7k3CNmBXRs6Dw1/JKyZLMF/oNljD/s/+3blL8ADP74s/h5r1hEWy/NMa6u\nVBfN6GQunyl/dxIgFUYWrP1uqnYOga7IZs93WkLctM1XeSmFMO3fHMMb5a3O\ntoQarO6URK7vBee/8qBN0Jwovg3UjtfbBlD8DZk68B4e51QW1oI2gxavmGQ6\n/N/Y9V3o76cVGuve8morgQczWRA1e46rrTjcJEmnkWZhQrpnrTwwRbEXh3Tn\nNXNhETM0vP1b55tI4C8d+FYJ/TBSqogE/EAVlWQsi8yXA398lFRwaqdPmNVj\ndZmI9HZZgVZBzJTGBpx6vPId//+qrECm6BqEMLr40oupWDocTlDgiI/y4JYE\nAuZ3WBQWIY9U6c1iKAbGDI2U9EtOJlN80GPZqQ8c9Q/4JRSdrqOrlhlL9sh6\n6rfYzPVe6OenamQKpfyIgXY1jxxWiWksw/DW20o4V3iEN7rWRkTV/k1tHKz2\n3jiPeHYWXGzhFKmC5XHK7URFlGaM1Rz7HN5UWKbTUCCO/31AS0KRIDyjrHRW\nO7oeTxSOmWbWooqo5FGY+j0eV0hbG/uCwnV+pH1g179ztgV0vEuX5q999c27\nGbAZ\r\n=bC8Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA59viJnazRVMZzcOWlkYl2c9NHiIgFQV73BbuVcUGK4AiEA6squ79eQqSD1y1s49hy6EPbmVxCwdRgzvHnRY6675ys="}]},"_npmUser":{"name":"andreid","email":"andrei@mutant.love"},"directories":{},"maintainers":[{"name":"andreid","email":"andrei@mutant.love"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-list_7.8.0_1614176682614_0.16185637218762405"},"_hasShrinkwrap":false},"7.8.1":{"name":"@asd14/state-list","version":"7.8.1","description":"Redux state as list with standard structure and behaviour","homepage":"https://github.com/asd-xiv/state-list","repository":{"type":"git","url":"git+https://github.com/asd-xiv/state-list.git"},"bugs":{"url":"https://github.com/asd-xiv/state-list/issues"},"author":{"name":"Andrei Dumitrescu","url":"https://github.com/andreidmt"},"keywords":["state-management","redux","react"],"main":"dist/index.js","license":"BSD-3-Clause","scripts":{"----UTILS":"","setup":"rm -rf ./node_modules && npm i && npm audit fix","setup:ci":"npm ci && npm audit fix","update":"npm-check --update","----BUILD":"","build":"rm -rf ./dist && babel src -d dist","prepare":"npm audit fix && npm test && npm run lint && npm run build","prepublishOnly":"npm run coverage","----LINT":"","lint:js":"eslint src --quiet","lint:md":"markdownlint *.md","lint":"npm run lint:md && npm run lint:js","----TEST":"","pretest":"npm run build","test":"tape 'dist/*.test.js' 'dist/**/*.test.js' | tap-nirvana","tdd":"nodemon --watch src --exec \"npm run test\"","coverage:report":"NODE_ENV=test nyc npm test && nyc report --reporter=html","coverage":"NODE_ENV=test nyc npm test && nyc report --reporter=text-lcov | coveralls"},"dependencies":{"@asd14/m":"^5.0.0","@babel/runtime-corejs3":"^7.13.7","core-js":"^3.9.0","socket.io-client":"^3.1.1"},"devDependencies":{"@asd14/eslint-config":"^5.28.1","@babel/cli":"^7.13.0","@babel/core":"^7.13.1","@babel/plugin-transform-runtime":"^7.13.7","@babel/preset-env":"^7.13.5","@babel/register":"^7.13.0","babel-eslint":"^10.1.0","coveralls":"^3.1.0","eslint":"^7.20.0","eslint-config-prettier":"^8.0.0","eslint-plugin-import":"^2.22.1","eslint-plugin-jsdoc":"^32.2.0","eslint-plugin-json":"^2.1.2","eslint-plugin-no-inferred-method-name":"^2.0.0","eslint-plugin-prettier":"^3.3.1","eslint-plugin-promise":"^4.3.1","eslint-plugin-unicorn":"^28.0.2","markdownlint-cli":"^0.26.0","nodemon":"^2.0.7","npm-check":"^5.9.2","nyc":"^15.1.0","prettier":"^2.2.1","redux":"^4.0.5","semantic-release":"^17.3.9","socket.io":"^3.1.1","tap-nirvana":"^1.1.0","tape":"^5.2.0"},"peerDependencies":{"redux":"^4.x"},"gitHead":"ce764f3924c8485ebd63cfb4ddbb08b56084b2f9","_id":"@asd14/state-list@7.8.1","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-sppjNfmZ9qvdTEe/sT30A3Amb8PbCJO8vPhnLQ5YVGgPoYLa3C3aQlabLw2omCWQk8jM6I/jQgVKO1hpnnx5SA==","shasum":"fce80cf5e80ebd6b76bc04c4c884d4745855f40a","tarball":"https://registry.npmjs.org/@asd14/state-list/-/state-list-7.8.1.tgz","fileCount":69,"unpackedSize":242538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNnQzCRA9TVsSAnZWagAAVLEQAIXtyfvWnTQalWm68ehx\nELrzUPsQCaeqrTthwwBz4rpOfMpLS6Xxe80HTA2yqU9eVdkpbe0YKnBTgUML\n2WK1TLPfMqZ5Olxj+weS6+XPa8N6dpSx8nHSN5J1VU8rZV+FbER/P4vJHuaY\nTimtOKf3oJeITfe8GteTFHg/42+z8vK7aOU7T7JxG+BvudXaqwcv45aoBOrW\n3OvzcQ6aR3y1Jr1Y90oENeVyXhnqfdmmXcKgDXRWnBaqKBMIRAv3K9HN44hz\nJjeXsxHQfx2sl2QsC8rq0j+8RxzsOcbVyS17Efu/3qdAsrGNwQn3iKH+QORn\n9WLendN26yAR3GzenDXQTcMLQqFcmEUpH78GmddMRwdlptGcsHtxaQS12dc7\nALofIc5VCUtM7aFiHh/24dpDRUq0x0XrdAibQMh8ixUZNLQ+/H2KEF8d+g6c\naPUnSLs5+2FohXzyS1dZ8eNG3xUeGwAKqfntZZozVn32fdh24bdvMFBmrlEk\nlji8WDC0tz7L6DuukdYoJ6NwU5dGk1GgrUXQ5XhsFtB7m4tr+oqdGVLCtwQA\nUF/0QSD0wihV/ckTz2MfP/hX81dOuJH4YI+/8puXwi8Y5sJMaPGscsnpzLjS\n4xs9IMJKsTK/tPHiEsGdSPGfK5FsWipU0mZkAXc+UFzsq6HToDEWWrsPsWWr\ne4iZ\r\n=1YUM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHUBvHYI6ve/QahNx37ForwtxS7h4LoaLIfzrhBzCemOAiAqp95SkKGPHXD3xQs6q/xyDCdnbIDtCORWEKzTj/0PiA=="}]},"_npmUser":{"name":"andreid","email":"andrei@mutant.love"},"directories":{},"maintainers":[{"name":"andreid","email":"andrei@mutant.love"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-list_7.8.1_1614181427534_0.7269348881457804"},"_hasShrinkwrap":false},"7.9.0":{"name":"@asd14/state-list","version":"7.9.0","description":"Redux state as list with standard structure and behaviour","homepage":"https://github.com/asd-xiv/state-list","repository":{"type":"git","url":"git+https://github.com/asd-xiv/state-list.git"},"bugs":{"url":"https://github.com/asd-xiv/state-list/issues"},"author":{"name":"Andrei Dumitrescu","url":"https://github.com/andreidmt"},"keywords":["state-management","redux","react"],"main":"dist/index.js","license":"BSD-3-Clause","scripts":{"----UTILS":"","presetup":"rm -rf ./node_modules","setup":"npm ci --also=dev","update":"npm-check --update","postupdate":"npm audit fix","update:force":"npm-check --update-all && npm audit fix","----BUILD":"","prebuild":"rm -rf ./dist","build":"babel src -d dist","----LINT":"","lint:js":"eslint src --quiet","lint:md":"markdownlint '*.md'","lint":"npm run lint:md && npm run lint:js","----TEST":"","pretest":"npm run build","test":"tape 'dist/*.test.js' 'dist/**/*.test.js' | tap-nirvana","tdd":"nodemon --watch src --exec \"npm run test\"","coverage:report":"NODE_ENV=test nyc npm test && nyc report --reporter=html","coverage":"NODE_ENV=test nyc npm test && nyc report --reporter=text-lcov | coveralls"},"dependencies":{"@asd14/m":"^5.2.0","@babel/runtime-corejs3":"^7.13.10","core-js":"^3.9.1"},"devDependencies":{"@asd14/eslint-config":"^5.31.0","@babel/cli":"^7.13.10","@babel/core":"^7.13.10","@babel/eslint-parser":"^7.13.10","@babel/plugin-transform-runtime":"^7.13.10","@babel/preset-env":"^7.13.10","@babel/register":"^7.13.8","coveralls":"^3.1.0","eslint":"^7.20.0","eslint-config-prettier":"^8.1.0","eslint-plugin-import":"^2.22.1","eslint-plugin-jsdoc":"^32.3.0","eslint-plugin-json":"^2.1.2","eslint-plugin-no-inferred-method-name":"^2.0.0","eslint-plugin-prettier":"^3.3.1","eslint-plugin-promise":"^4.3.1","eslint-plugin-unicorn":"^29.0.0","markdownlint-cli":"^0.27.1","nodemon":"^2.0.7","npm-check":"^5.9.2","nyc":"^15.1.0","prettier":"^2.2.1","redux":"^4.0.5","semantic-release":"^17.4.2","tap-nirvana":"^1.1.0","tape":"^5.2.2"},"peerDependencies":{"redux":"^4.x"},"gitHead":"9d4d812279765ebf12e7e241f18eeb6bf146b791","_id":"@asd14/state-list@7.9.0","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-PW3Jxovc9uWwjexvfstvudDvffvecP8YN/0UCA/V6zphPwBJHwIdbT3p/Xx6YxT3M9OtCGxWU9pyUk+8qnnkZw==","shasum":"03a7e3b257095388b47dd2ef8d66533c00012f1f","tarball":"https://registry.npmjs.org/@asd14/state-list/-/state-list-7.9.0.tgz","fileCount":69,"unpackedSize":242462,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgV4roCRA9TVsSAnZWagAAJQUP/i+2EOYhWjRqw2ptif1t\nC7r22UGxuQ2SiFavmhomOeWptFiLWMNg9xozDzVqnoSKPgkbl0FrQ1uQ9Kpg\n6vHal0wZ0tMtEQieIqTPTXbRgp0EXtKm6mATL1yHDR6NrWioWsfgi9tv1aaL\nt6GEXcJEV2Q+kObIbm76GWSSD00upjdhG8p3qCWFEVnlm3g7OVuHHecMd4Er\ndmHbJJxFOISmKFfsFlPoB60p3YG+PAGox6RkvaBsTaoj478YLJKWSbILIzEb\nQU8lWgM2gOm02/PvfNJl6xX0Kda8Kfvty6rj24e4iZBq4+r1DcxHBF47D5g9\ntAw+A6Oh5PbTib3CPVSoqk5u0pTmfLSepjW2jAUjbjwzMyI0S5YhE1gm6dmd\nflrvYXA5Z1MW+HVzRgIs2CUNf1O5xyJ8Te6PmMZz8TlAnC0213iMA7w27asX\nbvRusI2gmpisSs12oowEJ+wBIBApztTC2SUTCgV5x3M98gEB4eQXDz7noxMh\nAFELZStaJOnDbyGfmz1cOhJhn4T31hkTBTbwna3iOeQlqz6nnzNuCoI5PxQC\nJAAGV9nCGuwPKheEHrNK31TuGjxgHB9BpQCIlvZRizk37AG0mNzXwO0EiERR\nyH76W2es8gPoUAahIRATcCBtO/+ldqcAgS8/CqzRXHZIkmPr2X9/OIHZSi6W\nwjH4\r\n=pj09\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCf9GZ4288SnOYNqKyzN/JxH4BH2NjV1t4l0sobJfPI7gIgE/hGWk2u/QdK7byrpc5yWjKAhRDkdZvP0wKw5/gfVEY="}]},"_npmUser":{"name":"andreid","email":"andrei.dumitrescu@pm.me"},"directories":{},"maintainers":[{"name":"andreid","email":"andrei.dumitrescu@pm.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/state-list_7.9.0_1616349928258_0.3091874879291163"},"_hasShrinkwrap":false}},"time":{"created":"2021-02-10T09:15:34.701Z","0.0.1":"2021-02-10T09:15:34.988Z","modified":"2022-04-04T15:44:15.787Z","7.7.2":"2021-02-10T09:27:03.387Z","7.8.0":"2021-02-24T14:24:42.776Z","7.8.1":"2021-02-24T15:43:47.662Z","7.9.0":"2021-03-21T18:05:28.451Z"},"maintainers":[{"name":"andreid","email":"andrei.dumitrescu@pm.me"}],"description":"Redux state as list with standard structure and behaviour","homepage":"https://github.com/asd-xiv/state-list","keywords":["state-management","redux","react"],"repository":{"type":"git","url":"git+https://github.com/asd-xiv/state-list.git"},"author":{"name":"Andrei Dumitrescu","url":"https://github.com/andreidmt"},"bugs":{"url":"https://github.com/asd-xiv/state-list/issues"},"license":"BSD-3-Clause","readme":"<!-- markdownlint-disable first-line-h1 line-length -->\n\n[![CircleCI](https://circleci.com/gh/asd-xiv/state-list.svg?style=svg)](https://circleci.com/gh/asd-xiv/state-list)\n[![npm version](https://badge.fury.io/js/%40asd14%2Fstate-list.svg)](https://badge.fury.io/js/%40asd14%2Fstate-list)\n[![dev-badge](https://david-dm.org/asd-xiv/state-list.svg)](https://david-dm.org/asd-xiv/state-list)\n[![Coverage Status](https://coveralls.io/repos/github/asd-xiv/state-list/badge.svg)](https://coveralls.io/github/asd-xiv/state-list)\n\n# state-list\n\n<!-- vim-markdown-toc GFM -->\n\n* [Install](#install)\n* [Example](#example)\n* [Develop](#develop)\n* [Changelog](#changelog)\n\n<!-- vim-markdown-toc -->\n\n## Install\n\n```bash\nnpm install @asd14/state-list\n```\n\n## Example\n\nGet Todo items from API and list them in React component.\n\n`src/todos.list.js`\n\n```js\nimport { buildList } from \"@asd14/state-list\"\n\nexport const TodosList = buildList({\n  /**\n   * Unique name used as Redux store key. Will throw if multiple lists use the \n   * same name. Slice is added on the root level of the Redux store.\n   */\n  name: \"PAGE.SECTION.TODOS\",\n\n  /**\n   * Define CRUD actions and map the internal items to one or more data sources\n   * (local storage, 3rd party APIs or own API).\n   *\n   * Five actions can be defined: `create`, `read`, `readOne`, `update` and\n   * `remove`.\n   */\n  create: data =>\n    POST(\"/todos\", data),\n\n  read: () =>\n    GET(\"/todos\"),\n\n  readOne: id =>\n    GET(\"/comments\", {\n      query: { todoId: id },\n    }).then(result => ({\n      id,\n      comments: result,\n    })),\n\n  update: (id, data) =>\n    PATCH(`/todos/${id}`, date),\n\n  remove: id =>\n    DELETE(`/todos/${id}`),\n\n  /**\n   * Transformer function applyed on all list items before any reducers update\n   * state (create, read, readOne, update or remove).\n   *\n   * Use for enforcing common transformations on external data, sorting,\n   * JSON Schema checks etc.\n   *\n   * @param {Object[]} items All items inside list internal array\n   */\n  onChange: items => sortBy(prop(\"priority\"), items)\n})\n```\n\n`src/store.js` - Hook internal list reducers into the state store.\n\n```js\nimport { createStore, combineReducers } from \"redux\"\nimport { TodosList } from \"./todos.state\"\n\nconst store = createStore(\n  combineReducers({\n    [TodosList.name]: TodosList.reducer,\n  }),\n)\n```\n\n`src/use-app-list.js` - Hook to simplify usage in Container components\n\n```js\nimport { useDispatch, useSelector } from \"react-redux\"\n\nexport const useList = list => {\n  // List actions dispatch to Redux store\n  list.set({ dispatch: useDispatch() })\n\n  return {\n    selector: useSelector(list.selector),\n    create: list.create,\n    read: list.read,\n    readOne: list.readOne,\n    update: list.update,\n    remove: list.remove,\n    clear: list.clear,\n  }\n}\n```\n\n`src/todos.container.jsx` - Use list's selector to access the data\n\n```js\nimport React, { useEffect } from \"react\"\nimport cx from \"classnames\"\n\nimport { useList } from \"./use-list\"\nimport { TodosList } from \"./todos.state\"\n\nconst TodosContainer = ({ projectId }) => {\n  const {\n    selector: { items, isLoading },\n    read\n  } = useList(TodosList)\n\n  // data fetching\n  useEffect(() => {\n    read({ projectId })\n  }, [projectId, read])\n\n  return (\n    <div\n      className={cx({\n        [css[\"todo--is-loading\"]]: isLoading(),\n      })}>\n      {items().map(({ id, title }) => (\n        <div key={id}>{title}</div>\n      ))}\n    </div>\n  )\n}\n```\n\n## Develop\n\n```bash\ngit clone git@github.com:asd-xiv/state-list.git && \\\n  cd state-list && \\\n  npm install \n```\n\nRun all `*.test.js` in `src` folder\n\n```bash\nnpm test\n```\n\nWatch `src` folder for changes and re-run tests\n\n```bash\nnpm run tdd\n```\n\n## Changelog\n\nSee the [releases section](https://github.com/asd-xiv/state-list/releases) for details.\n","readmeFilename":"README.md"}