{"_id":"@3plus/redux-api","_rev":"14-713b2df63ffbb579cf74c95e0e71d486","name":"@3plus/redux-api","dist-tags":{"latest":"1.1.6"},"versions":{"1.0.2":{"name":"@3plus/redux-api","version":"1.0.2","author":{"url":"https://github.com/lexich","name":"Efremov Alex","email":"lexich121@gmail.com"},"license":"MIT","_id":"@3plus/redux-api@1.0.2","homepage":"https://github.com/3plus/redux-api#readme","bugs":{"url":"https://github.com/3plus/redux-api/issues"},"dist":{"shasum":"b52f117f63aa11acf8d8096393040cd53f96626b","tarball":"https://registry.npmjs.org/@3plus/redux-api/-/redux-api-1.0.2.tgz","fileCount":34,"integrity":"sha512-vVmBpuY403cF95D0vsvs9z/gynuC4jQ6xPsoQ+aMRotO0w3tuUnnetjRm+Ih8KkXvFKXIlH6KwvltAbiHJGTqw==","signatures":[{"sig":"MEUCIQDxi9JKA5bfHFJdvuqZUi/MHHIIZN6AU6IUghjB3We9UQIgCEmMR6ypJHjinwQhemkHPu7Nl/ULs+Y94VvQHgyEEwY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":147188},"main":"lib/index.js","gitHead":"9e2d84f9e256d9c5b246f93a644a23cc5cdce34b","scripts":{"test":"npm run eslint && npm run mocha","build":"babel src --out-dir lib --source-maps true","mocha":"mocha --require @babel/register test/*_spec.js","eslint":"eslint src test","prettier":"prettier --write \"{src,test/isomorphic/app}/**/*.{js,jsx}\"","precommit":"npm run prettier && npm test"},"_npmUser":{"name":"nvojnovic","email":"nvojnovic@gmail.com"},"repository":{"url":"git+ssh://git@github.com/3plus/redux-api.git","type":"git"},"_npmVersion":"8.19.4","description":"Flux REST API for redux infrastructure","directories":{},"_nodeVersion":"16.20.2","dependencies":{"qs":"^6.9.1","fast-apply":"0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.2.0","mocha":"7.0.1","redux":"4.0.5","eslint":"6.8.0","lodash":"4.17.15","prettier":"1.19.1","cross-env":"7.0.0","@babel/cli":"^7.8.4","@babel/core":"^7.8.4","redux-thunk":"2.3.0","babel-eslint":"10.0.3","babel-loader":"8.0.6","@babel/register":"^7.8.3","@babel/preset-env":"^7.8.4","@babel/preset-react":"^7.8.3","eslint-plugin-react":"7.18.3","eslint-config-airbnb":"18.0.1","eslint-plugin-import":"2.20.1","eslint-config-prettier":"6.10.0","eslint-plugin-jsx-a11y":"6.2.3","babel-plugin-add-module-exports":"1.0.2","babel-plugin-syntax-dynamic-import":"^6.18.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-api_1.0.2_1719848245101_0.6610552456930521","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@3plus/redux-api","version":"1.0.3","author":{"url":"https://github.com/lexich","name":"Efremov Alex","email":"lexich121@gmail.com"},"license":"MIT","_id":"@3plus/redux-api@1.0.3","maintainers":[{"name":"nvojnovic","email":"nvojnovic@gmail.com"}],"homepage":"https://github.com/3plus/redux-api#readme","bugs":{"url":"https://github.com/3plus/redux-api/issues"},"dist":{"shasum":"5dc3c996370674ba22eddeb5b4002f5c7cdccfd7","tarball":"https://registry.npmjs.org/@3plus/redux-api/-/redux-api-1.0.3.tgz","fileCount":18,"integrity":"sha512-Di+NDaxZ+ydlBzNr1Qooc7SGYyd8JZ5+5qBSuspU838TxA5v95VZgVfhIvkieNH9gFMoMwGitLnF8BNkXHON3g==","signatures":[{"sig":"MEQCIB6uGSN6DA1N+Bpgqo+ewbHONfhz3zmtMsGLX28+wTUUAiBEC3H0IHYZGsc2BGd94saWO8uUi8uq+4zahQt9iUirWg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60057},"main":"lib/index.js","gitHead":"0624aa4fd05dde1e68f632daaa838f20523f123d","scripts":{"lint":"eslint --quiet ./src","test":"npm run eslint && npm run mocha","build":"babel src --out-dir lib --delete-dir-on-start --verbose","mocha":"mocha --require @babel/register test/*_spec.js","lint:fix":"npm run lint -- --fix","postinstall":"husky install","prettier:fix":"prettier --write './src/**/*.js'","prettier:check":"prettier --check './src/**/*.js'"},"_npmUser":{"name":"nvojnovic","email":"nvojnovic@gmail.com"},"repository":{"url":"git+ssh://git@github.com/3plus/redux-api.git","type":"git"},"_npmVersion":"10.7.0","description":"Flux REST API for redux infrastructure","directories":{},"lint-staged":{"*.{md,json}":["prettier --write"],"src/**/*.js":["eslint --fix","prettier --write"]},"_nodeVersion":"18.20.3","dependencies":{"qs":"^6.9.2","url":"^0.11.3","fast-apply":"0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.2.0","husky":"9.0.11","mocha":"7.0.1","redux":"4.0.5","eslint":"^8.2.0","lodash":"4.17.21","prettier":"1.19.1","@babel/cli":"^7.8.4","@babel/core":"^7.8.4","lint-staged":"15.2.7","redux-thunk":"2.3.0","@babel/preset-env":"^7.8.4","eslint-plugin-react":"^7.28.0","@babel/eslint-parser":"^7.24.7","eslint-config-airbnb":"19.0.4","eslint-plugin-import":"2.29.1","eslint-config-prettier":"9.1.0","eslint-plugin-jsx-a11y":"6.9.0","eslint-plugin-react-hooks":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-api_1.0.3_1719938426432_0.4483405607807005","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@3plus/redux-api","version":"1.0.4","author":{"url":"https://github.com/lexich","name":"Efremov Alex","email":"lexich121@gmail.com"},"license":"MIT","_id":"@3plus/redux-api@1.0.4","maintainers":[{"name":"nvojnovic","email":"nvojnovic@gmail.com"}],"homepage":"https://github.com/3plus/redux-api#readme","bugs":{"url":"https://github.com/3plus/redux-api/issues"},"dist":{"shasum":"112e07b991dd965f0bec24fd058af32aa633c4f7","tarball":"https://registry.npmjs.org/@3plus/redux-api/-/redux-api-1.0.4.tgz","fileCount":18,"integrity":"sha512-9fQQLU2tAI0VN02CkEBO1Wthi02eZbrmIlALB39GUXVPCtQIM/nGgieFM8AdsGjsCGADXX8KP9QhmZyhUGp3NQ==","signatures":[{"sig":"MEYCIQDofORXThqON1kZbIENecZ5IxP22z79r+Rvxvwxqf+7twIhAPbM5wcVvz9fxgPzzipBBV4P4JWYaTIgXq8yd/rmeQPl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60045},"main":"lib/index.js","gitHead":"3baa793d7c30717f69a048c95a97b48724ac0458","scripts":{"lint":"eslint --quiet ./src","test":"npm run eslint && npm run mocha","build":"babel src --out-dir lib --delete-dir-on-start --verbose","mocha":"mocha --require @babel/register test/*_spec.js","prepare":"husky","lint:fix":"npm run lint -- --fix","prettier:fix":"prettier --write './src/**/*.js'","prettier:check":"prettier --check './src/**/*.js'"},"_npmUser":{"name":"nvojnovic","email":"nvojnovic@gmail.com"},"repository":{"url":"git+ssh://git@github.com/3plus/redux-api.git","type":"git"},"_npmVersion":"10.7.0","description":"Flux REST API for redux infrastructure","directories":{},"lint-staged":{"*.{md,json}":["prettier --write"],"src/**/*.js":["eslint --fix","prettier --write"]},"_nodeVersion":"18.20.3","dependencies":{"qs":"^6.9.2","url":"^0.11.3","fast-apply":"0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.2.0","husky":"9.0.11","mocha":"7.0.1","redux":"4.0.5","eslint":"^8.2.0","lodash":"4.17.21","prettier":"1.19.1","@babel/cli":"^7.8.4","@babel/core":"^7.8.4","lint-staged":"15.2.7","redux-thunk":"2.3.0","@babel/preset-env":"^7.8.4","eslint-plugin-react":"^7.28.0","@babel/eslint-parser":"^7.24.7","eslint-config-airbnb":"19.0.4","eslint-plugin-import":"2.29.1","eslint-config-prettier":"9.1.0","eslint-plugin-jsx-a11y":"6.9.0","eslint-plugin-react-hooks":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-api_1.0.4_1719945909338_0.8311380116981666","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@3plus/redux-api","version":"1.0.5","author":{"url":"https://github.com/lexich","name":"Efremov Alex","email":"lexich121@gmail.com"},"license":"MIT","_id":"@3plus/redux-api@1.0.5","maintainers":[{"name":"nvojnovic","email":"nvojnovic@gmail.com"}],"homepage":"https://github.com/3plus/redux-api#readme","bugs":{"url":"https://github.com/3plus/redux-api/issues"},"dist":{"shasum":"6b4f6b1ff26fd34b4172b1c6f7065e2cf27bc18f","tarball":"https://registry.npmjs.org/@3plus/redux-api/-/redux-api-1.0.5.tgz","fileCount":18,"integrity":"sha512-qmpvXGuwNPcOiXl6cp8zv3rO+JiQM+/Tz56fW4LTJESu0OIwRiooPge0KfXYtAHHEVANzARkuucfcmLhIedY/A==","signatures":[{"sig":"MEYCIQDrxpxrcfX3EWMzLracmbOaUK/dGoqyEgBrhbX4MMcmWAIhAM4AVLjGTMc90MnVYe3KIHSbWLTyXl9IgkCKiiTfiQDB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60502},"main":"lib/index.js","gitHead":"794412ab23407c6cbc3e467d34f0068d2d49b4d7","scripts":{"lint":"eslint --quiet ./src","test":"npm run eslint && npm run mocha","build":"babel src --out-dir lib --delete-dir-on-start --verbose","mocha":"mocha --require @babel/register test/*_spec.js","prepare":"husky","lint:fix":"npm run lint -- --fix","prettier:fix":"prettier --write './src/**/*.js'","prettier:check":"prettier --check './src/**/*.js'"},"_npmUser":{"name":"nvojnovic","email":"nvojnovic@gmail.com"},"repository":{"url":"git+ssh://git@github.com/3plus/redux-api.git","type":"git"},"_npmVersion":"10.7.0","description":"Flux REST API for redux infrastructure","directories":{},"lint-staged":{"*.{md,json}":["prettier --write"],"src/**/*.js":["eslint --fix","prettier --write"]},"_nodeVersion":"18.20.3","dependencies":{"qs":"^6.9.2","url":"^0.11.3","fast-apply":"0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.2.0","husky":"9.0.11","mocha":"7.0.1","redux":"4.0.5","eslint":"^8.2.0","lodash":"4.17.21","prettier":"1.19.1","@babel/cli":"^7.8.4","@babel/core":"^7.8.4","lint-staged":"15.2.7","redux-thunk":"2.3.0","@babel/preset-env":"^7.8.4","eslint-plugin-react":"^7.28.0","@babel/eslint-parser":"^7.24.7","eslint-config-airbnb":"19.0.4","eslint-plugin-import":"2.29.1","eslint-config-prettier":"9.1.0","eslint-plugin-jsx-a11y":"6.9.0","eslint-plugin-react-hooks":"^4.3.0","babel-plugin-add-module-exports":"^1.0.4"},"_npmOperationalInternal":{"tmp":"tmp/redux-api_1.0.5_1720015814653_0.821173438672459","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@3plus/redux-api","version":"1.1.0","author":{"url":"https://github.com/lexich","name":"Efremov Alex","email":"lexich121@gmail.com"},"license":"MIT","_id":"@3plus/redux-api@1.1.0","maintainers":[{"name":"nvojnovic","email":"nvojnovic@gmail.com"}],"homepage":"https://github.com/3plus/redux-api#readme","bugs":{"url":"https://github.com/3plus/redux-api/issues"},"dist":{"shasum":"fd80b7cf78e54ea0772558512c526de2c31c0375","tarball":"https://registry.npmjs.org/@3plus/redux-api/-/redux-api-1.1.0.tgz","fileCount":33,"integrity":"sha512-cxJkme4/zT/xKU6KHoheKUT7KS1WkttkLNqAFg1iP///mY2qTr/fCmuF0aFIo3kHAC3C0Z5exg+6uXQFyqtb3A==","signatures":[{"sig":"MEQCIFsun3lKe2dBZFRdQLqXKxbQ/hmNpxDn6PFHXpdrhX3tAiBE6DFxfxRgs2DI6ufX6p0qMMuvXJE5WYa4CydVu5SC3A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":104462},"main":"lib/index.js","module":"module/index.js","gitHead":"16d7ffef9475074cb33e108fc9ef07848fd46862","scripts":{"lint":"eslint --quiet ./src","test":"npm run eslint && npm run mocha","build":"npm run build:node && npm run build:module","mocha":"mocha --require @babel/register test/*_spec.js","prepare":"husky","lint:fix":"npm run lint -- --fix","build:node":"babel src --out-dir lib --env-name node --no-comments --delete-dir-on-start --verbose","build:module":"babel src --out-dir module --env-name module --no-comments --delete-dir-on-start --verbose","prettier:fix":"prettier --write './src/**/*.js'","prettier:check":"prettier --check './src/**/*.js'"},"_npmUser":{"name":"nvojnovic","email":"nvojnovic@gmail.com"},"repository":{"url":"git+ssh://git@github.com/3plus/redux-api.git","type":"git"},"_npmVersion":"10.7.0","description":"Flux REST API for redux infrastructure","directories":{},"lint-staged":{"*.{md,json}":["prettier --write"],"src/**/*.js":["eslint --fix","prettier --write"]},"_nodeVersion":"18.20.3","dependencies":{"qs":"^6.9.2"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.2.0","husky":"9.0.11","mocha":"7.0.1","redux":"4.0.5","eslint":"^8.2.0","lodash":"4.17.21","prettier":"1.19.1","@babel/cli":"^7.8.4","@babel/core":"^7.8.4","lint-staged":"15.2.7","redux-thunk":"2.3.0","@babel/preset-env":"^7.8.4","eslint-plugin-react":"^7.28.0","@babel/eslint-parser":"^7.24.7","eslint-config-airbnb":"19.0.4","eslint-plugin-import":"2.29.1","eslint-config-prettier":"9.1.0","eslint-plugin-jsx-a11y":"6.9.0","eslint-plugin-react-hooks":"^4.3.0","babel-plugin-add-module-exports":"^1.0.4"},"_npmOperationalInternal":{"tmp":"tmp/redux-api_1.1.0_1720107365302_0.897240976028596","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"@3plus/redux-api","version":"1.1.2","author":{"url":"https://github.com/lexich","name":"Efremov Alex","email":"lexich121@gmail.com"},"license":"MIT","_id":"@3plus/redux-api@1.1.2","maintainers":[{"name":"nvojnovic","email":"nvojnovic@gmail.com"}],"homepage":"https://github.com/3plus/redux-api#readme","bugs":{"url":"https://github.com/3plus/redux-api/issues"},"dist":{"shasum":"b9e21536cbcac34a7b246998aa3a498ccf38e683","tarball":"https://registry.npmjs.org/@3plus/redux-api/-/redux-api-1.1.2.tgz","fileCount":18,"integrity":"sha512-Dz+Nn/iboV3eukTm1bJcCu1sFuUnfaDJckJlEnkEOI7nJoV+e/rK0lCnwWDrjQz+9iErL7jcU30ZyNk5oaP2zQ==","signatures":[{"sig":"MEQCID+vS9sRrwHx5JyJ02lwn2Qp4MdQm/Keuhq+RJxgaNcPAiBcqcCdWylsJ13sWQ13jVpGLgyJ4yncMoz2kwKX9d9cJw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30920},"main":"lib/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"da9b81495ef5d2d5e8d2c6c37c574aee52bd2634","scripts":{"lint":"eslint --quiet ./src","test":"npm run eslint && npm run mocha","build":"babel src --out-dir lib --no-comments --delete-dir-on-start --verbose","mocha":"mocha --require @babel/register test/*_spec.js","prepare":"husky","lint:fix":"npm run lint -- --fix","prettier:fix":"prettier --write './src/**/*.js'","prettier:check":"prettier --check './src/**/*.js'"},"_npmUser":{"name":"nvojnovic","email":"nvojnovic@gmail.com"},"repository":{"url":"git+ssh://git@github.com/3plus/redux-api.git","type":"git"},"_npmVersion":"10.7.0","description":"Flux REST API for redux infrastructure","directories":{},"lint-staged":{"*.{md,json}":["prettier --write"],"src/**/*.js":["eslint --fix","prettier --write"]},"_nodeVersion":"18.20.3","dependencies":{"qs":"^6.9.2"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.2.0","husky":"9.0.11","mocha":"7.0.1","redux":"4.0.5","eslint":"^8.2.0","lodash":"4.17.21","prettier":"1.19.1","@babel/cli":"^7.8.4","@babel/core":"^7.8.4","lint-staged":"15.2.7","redux-thunk":"2.3.0","@babel/preset-env":"^7.8.4","eslint-plugin-react":"^7.28.0","@babel/eslint-parser":"^7.24.7","eslint-config-airbnb":"19.0.4","eslint-plugin-import":"2.29.1","eslint-config-prettier":"9.1.0","eslint-plugin-jsx-a11y":"6.9.0","eslint-plugin-react-hooks":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-api_1.1.2_1720121010344_0.8556242862904395","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"@3plus/redux-api","version":"1.1.3","author":{"url":"https://github.com/lexich","name":"Efremov Alex","email":"lexich121@gmail.com"},"license":"MIT","_id":"@3plus/redux-api@1.1.3","maintainers":[{"name":"nvojnovic","email":"nvojnovic@gmail.com"}],"homepage":"https://github.com/3plus/redux-api#readme","bugs":{"url":"https://github.com/3plus/redux-api/issues"},"dist":{"shasum":"afbf8cf77f5873d6e5dd1f885e5aace3876ffb5c","tarball":"https://registry.npmjs.org/@3plus/redux-api/-/redux-api-1.1.3.tgz","fileCount":18,"integrity":"sha512-2FkCVrjpgrg9ic8iP9DW46BjDDpF2LX7rRdo5fkG7v4Oee88P334u8KQJpq2FEpPwKb/ARYVpfZhkSfIvTj1Og==","signatures":[{"sig":"MEUCIGLHN35JN0IWaie0/9zzW6ztjzRGo5wKssQtefoVDvoXAiEAno12hMvSXJJAcRr9G3BpnyBP8FzQ1A/Ebb6AphIVHm4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30925},"main":"lib/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"87aad87e4861ab425dff1cc2c8b7d4e7908aa8b8","scripts":{"lint":"eslint --quiet ./src","test":"npm run eslint && npm run mocha","build":"babel src --out-dir lib --no-comments --delete-dir-on-start --verbose","mocha":"mocha --require @babel/register test/*_spec.js","prepare":"husky","lint:fix":"npm run lint -- --fix","prettier:fix":"prettier --write './src/**/*.js'","prettier:check":"prettier --check './src/**/*.js'"},"_npmUser":{"name":"nvojnovic","email":"nvojnovic@gmail.com"},"repository":{"url":"git+ssh://git@github.com/3plus/redux-api.git","type":"git"},"_npmVersion":"10.7.0","description":"Flux REST API for redux infrastructure","directories":{},"lint-staged":{"*.{md,json}":["prettier --write"],"src/**/*.js":["eslint --fix","prettier --write"]},"_nodeVersion":"18.20.3","dependencies":{"qs":"^6.9.2"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.2.0","husky":"9.0.11","mocha":"7.0.1","redux":"4.0.5","eslint":"^8.2.0","lodash":"4.17.21","prettier":"1.19.1","@babel/cli":"^7.8.4","@babel/core":"^7.8.4","lint-staged":"15.2.7","redux-thunk":"2.3.0","@babel/preset-env":"^7.8.4","eslint-plugin-react":"^7.28.0","@babel/eslint-parser":"^7.24.7","eslint-config-airbnb":"19.0.4","eslint-plugin-import":"2.29.1","eslint-config-prettier":"9.1.0","eslint-plugin-jsx-a11y":"6.9.0","eslint-plugin-react-hooks":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-api_1.1.3_1759916728532_0.843651451612383","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@3plus/redux-api","version":"1.1.4","author":{"url":"https://github.com/lexich","name":"Efremov Alex","email":"lexich121@gmail.com"},"license":"MIT","_id":"@3plus/redux-api@1.1.4","maintainers":[{"name":"nvojnovic","email":"nvojnovic@gmail.com"}],"homepage":"https://github.com/3plus/redux-api#readme","bugs":{"url":"https://github.com/3plus/redux-api/issues"},"dist":{"shasum":"91c098c2114bfe697f97be36f7d4055ef629a8cc","tarball":"https://registry.npmjs.org/@3plus/redux-api/-/redux-api-1.1.4.tgz","fileCount":18,"integrity":"sha512-cyPfZk6xYEGOCRjmwS0egphCwFzEI6Fgw1QE/MUPnRJ8Wa/uqPuX6ke0TFv2HKAdkgm3VPxHQJReZ9oVgXLF1Q==","signatures":[{"sig":"MEYCIQDXNLvFxWgbcurm52TYWiS1gZdsCBiZqQ8l2DDvZpk+AwIhAN0SXVOaOYnxyzF+bcQpOWLqsgSg/GHWYYPV6H2lO3EE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30933},"main":"lib/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"9a6213257b0021832a73229163a2790be252641f","scripts":{"lint":"eslint --quiet ./src","test":"npm run eslint && npm run mocha","build":"babel src --out-dir lib --no-comments --delete-dir-on-start --verbose","mocha":"mocha --require @babel/register test/*_spec.js","prepare":"husky","lint:fix":"npm run lint -- --fix","prettier:fix":"prettier --write './src/**/*.js'","prettier:check":"prettier --check './src/**/*.js'"},"_npmUser":{"name":"nvojnovic","email":"nvojnovic@gmail.com"},"repository":{"url":"git+ssh://git@github.com/3plus/redux-api.git","type":"git"},"_npmVersion":"10.7.0","description":"Flux REST API for redux infrastructure","directories":{},"lint-staged":{"*.{md,json}":["prettier --write"],"src/**/*.js":["eslint --fix","prettier --write"]},"_nodeVersion":"18.20.3","dependencies":{"qs":"^6.9.2"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^6.2.2","husky":"^9.0.11","mocha":"^7.0.1","redux":"4.0.5","eslint":"^8.2.0","lodash":"4.17.21","prettier":"1.19.1","@babel/cli":"^7.8.4","@babel/core":"^7.8.4","lint-staged":"^15.2.7","redux-thunk":"2.3.0","@babel/preset-env":"^7.8.4","eslint-plugin-react":"^7.28.0","@babel/eslint-parser":"^7.24.7","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-jsx-a11y":"^6.9.0","eslint-plugin-react-hooks":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-api_1.1.4_1767872131688_0.8703675028947788","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@3plus/redux-api","version":"1.1.5","author":{"url":"https://github.com/lexich","name":"Efremov Alex","email":"lexich121@gmail.com"},"license":"MIT","_id":"@3plus/redux-api@1.1.5","maintainers":[{"name":"nvojnovic","email":"nvojnovic@gmail.com"}],"homepage":"https://github.com/3plus/redux-api#readme","bugs":{"url":"https://github.com/3plus/redux-api/issues"},"dist":{"shasum":"f3a2c4bd36b76d2fef4d2096dce67407a168ab73","tarball":"https://registry.npmjs.org/@3plus/redux-api/-/redux-api-1.1.5.tgz","fileCount":18,"integrity":"sha512-KiiERvX9b7WdObTnsXFcilAqaBuXHXX1GnkLbHFsHAcmCLIvOyPeZXL1Ga7nPy781XsNV0DGfmcHpP+somZ3vA==","signatures":[{"sig":"MEQCIAjEK/Ih1GCYVbBuliBIY1NJZuXv/tG9BrE76Sh/gzo6AiBmebtsmh7TNJW6PBs1N8jWeScLYCKz5+/avjK2ujDC+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30938},"main":"lib/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"89cb02f5f1b2deffac5c85d9602b5076840be82e","scripts":{"lint":"eslint --quiet ./src","test":"npm run eslint && npm run mocha","build":"babel src --out-dir lib --no-comments --delete-dir-on-start --verbose","mocha":"mocha --require @babel/register test/*_spec.js","prepare":"husky","lint:fix":"npm run lint -- --fix","prettier:fix":"prettier --write './src/**/*.js'","prettier:check":"prettier --check './src/**/*.js'"},"_npmUser":{"name":"nvojnovic","email":"nvojnovic@gmail.com"},"repository":{"url":"git+ssh://git@github.com/3plus/redux-api.git","type":"git"},"_npmVersion":"10.7.0","description":"Flux REST API for redux infrastructure","directories":{},"lint-staged":{"*.{md,json}":["prettier --write"],"src/**/*.js":["eslint --fix","prettier --write"]},"_nodeVersion":"18.20.3","dependencies":{"qs":"^6.14.2"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^6.2.2","husky":"^9.0.11","mocha":"^7.0.1","redux":"^4.0.5","eslint":"^8.2.0","lodash":"^4.17.23","prettier":"^1.19.1","@babel/cli":"^7.8.4","@babel/core":"^7.8.4","lint-staged":"^15.2.7","redux-thunk":"^2.3.0","@babel/preset-env":"^7.8.4","eslint-plugin-react":"^7.28.0","@babel/eslint-parser":"^7.24.7","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.29.1","eslint-config-prettier":"^9.1.0","eslint-plugin-jsx-a11y":"^6.9.0","eslint-plugin-react-hooks":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/redux-api_1.1.5_1771846741287_0.5713046982154426","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@3plus/redux-api","version":"1.1.6","author":{"name":"Efremov Alex","email":"lexich121@gmail.com","url":"https://github.com/lexich"},"main":"lib/index.js","type":"module","license":"MIT","description":"Flux REST API for redux infrastructure","repository":{"type":"git","url":"git+ssh://git@github.com/3plus/redux-api.git"},"engines":{"node":">=24"},"scripts":{"test":"npm run eslint && npm run mocha","mocha":"mocha --require @babel/register test/*_spec.js","build":"babel src --out-dir lib --no-comments --delete-dir-on-start --verbose","lint":"eslint --quiet ./src","lint:fix":"npm run lint -- --fix","prettier:fix":"prettier --write './src/**/*.js'","prettier:check":"prettier --check './src/**/*.js'","prepare":"husky"},"dependencies":{"qs":"^6.15.2"},"devDependencies":{"@babel/cli":"^7.8.4","@babel/core":"^7.8.4","@babel/eslint-parser":"^7.24.7","@babel/preset-env":"^7.8.4","chai":"^6.2.2","eslint":"^8.2.0","eslint-config-airbnb":"^19.0.4","eslint-config-prettier":"^9.1.0","eslint-plugin-import":"^2.29.1","eslint-plugin-jsx-a11y":"^6.9.0","eslint-plugin-react":"^7.28.0","eslint-plugin-react-hooks":"^4.3.0","husky":"^9.0.11","lint-staged":"^15.2.7","lodash":"^4.17.23","mocha":"^7.0.1","prettier":"^1.19.1","redux":"^4.0.5","redux-thunk":"^2.3.0"},"lint-staged":{"src/**/*.js":["eslint --fix","prettier --write"],"*.{md,json}":["prettier --write"]},"gitHead":"050e70e151832e587e090a9f373f9f03c45af571","_id":"@3plus/redux-api@1.1.6","bugs":{"url":"https://github.com/3plus/redux-api/issues"},"homepage":"https://github.com/3plus/redux-api#readme","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-EONQ1jiYKkXkgTQMRvPh7DMfvV/mP7afxTiVW2e/SFj2iZuYri3uH7fpRPnQkexXJrWNoBO/gZDbtJIHXwbVJw==","shasum":"6b99919027a929e66fee0cd66661ece7d3f9ef61","tarball":"https://registry.npmjs.org/@3plus/redux-api/-/redux-api-1.1.6.tgz","fileCount":18,"unpackedSize":30934,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCSYd9CCuhcTw1GFILQeIt4sz5SFbY3JhOY90UeG0oFzQIgLkcmNwe2JxPlS/4qyzNlCyYq9E4TKHSJuHIc5PCCUmg="}]},"_npmUser":{"name":"CircleCI","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"circleci","oidcConfigId":"oidc:0f18334e-2021-4a4a-9949-d19330aeb98c"}},"directories":{},"maintainers":[{"name":"nvojnovic","email":"nvojnovic@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/redux-api_1.1.6_1780308524844_0.1224607360734371"},"_hasShrinkwrap":false}},"time":{"created":"2024-07-01T15:37:25.004Z","modified":"2026-06-01T10:08:45.110Z","1.0.0":"2024-07-01T14:23:44.486Z","1.0.1":"2024-07-01T15:09:21.625Z","1.0.2":"2024-07-01T15:37:25.294Z","1.0.3":"2024-07-02T16:40:26.620Z","1.0.4":"2024-07-02T18:45:09.474Z","1.0.5":"2024-07-03T14:10:14.825Z","1.1.0":"2024-07-04T15:36:05.564Z","1.1.2":"2024-07-04T19:23:30.551Z","1.1.3":"2025-10-08T09:45:28.722Z","1.1.4":"2026-01-08T11:35:31.831Z","1.1.5":"2026-02-23T11:39:01.435Z","1.1.6":"2026-06-01T10:08:44.994Z"},"bugs":{"url":"https://github.com/3plus/redux-api/issues"},"author":{"name":"Efremov Alex","email":"lexich121@gmail.com","url":"https://github.com/lexich"},"license":"MIT","homepage":"https://github.com/3plus/redux-api#readme","repository":{"type":"git","url":"git+ssh://git@github.com/3plus/redux-api.git"},"description":"Flux REST API for redux infrastructure","maintainers":[{"name":"nvojnovic","email":"nvojnovic@gmail.com"}],"readme":"### Redux-api\nFlux REST API for redux infrastructure\n\n## Introduction\n`redux-api` solves the problem of writing clients to communicate with backends. It generates [actions](http://redux.js.org/docs/basics/Actions.html) and [reducers](http://redux.js.org/docs/basics/Reducers.html) for making AJAX calls to API endpoints. You don't need to write a lot of [boilerplate code](http://redux.js.org/docs/advanced/ExampleRedditAPI.html) if you use `redux` and want to exchange data with server.\n\nInspired by [Redux-rest](https://github.com/Kvoti/redux-rest) and is intended to be used with [Redux](https://github.com/gaearon/redux).\n\n\n## Documentation\nSee [DOCS.md](docs/DOCS.md) for API documentation.\n## Use cases\n* [AuthorizationJWT.md](docs/AuthorizationJWT.md) - example of JWT Authorization  \n* [Scoping.md](docs/Scoping.md) - use scoping or using multiple redux-api instance without naming intersections.\n\n## Install\nWith npm:\n```sh\nnpm install @3plus/redux-api --save\n```\n\n=======\n## Remote calls\n\n`redux-api` doesn't bind you to a technology to make AJAX calls. It uses configurable `adapters` - a pretty simple function which receives 2 arguments: `endpoint` and `options`, and returns a Promise as result. The default adapter uses [isomorphic-fetch](https://github.com/matthew-andrews/isomorphic-fetch), and has an implementation like this:\n```js\nfunction adapterFetch(url, options) {\n  return fetch(url, options);\n}\n```\n\nHowever, you are not tied to using isomorphic-fetch. For instance, if you prefer to use jQuery, you can use the following adapter:\n```js\nfunction adapterJquery(url, options) {\n  return new Promise((success, error)=> {\n    $.ajax({ ...options, url, success, error });\n  });\n}\n```\nThis implementation allows you to make any request and process any response.\n\nAnd of course you have to set up adapter to your `redux-api` instance before using.\n```\n  reduxApi(....).use(\"fetch\", adapterFetch)\n```\n\n=======\n\n### Example\nrest.js\n```js\nimport \"isomorphic-fetch\";\nimport reduxApi, {transformers} from \"@3plus/redux-api\";\nimport adapterFetch from \"@3plus/redux-api/lib/adapters/fetch\";\nexport default reduxApi({\n  // simple endpoint description\n  entry: `/api/v1/entry/:id`,\n  // complex endpoint description\n  regions: {\n    url: `/api/v1/regions`,\n    // reimplement default `transformers.object`\n    transformer: transformers.array,\n    // base endpoint options `fetch(url, options)`\n    options: {\n      headers: {\n        \"Accept\": \"application/json\"\n      }\n    }\n  }\n}).use(\"fetch\", adapterFetch(fetch));\n```\n\nindex.jsx\n```js\nimport React, {PropTypes} from \"react\";\nimport { createStore, applyMiddleware, combineReducers } from \"redux\";\nimport thunk from \"redux-thunk\";\nimport { Provider, connect } from \"react-redux\";\nimport rest from \"./rest\"; //our redux-rest object\n\nconst createStoreWithMiddleware = applyMiddleware(thunk)(createStore);\nconst reducer = combineReducers(rest.reducers);\nconst store = createStoreWithMiddleware(reducer);\n\nfunction select(state) {\n  return { entry: state.entry, regions: state.regions };\n}\n\nclass Application {\n  static propTypes = {\n    entry: PropTypes.shape({\n      loading: PropTypes.bool.isRequired,\n      data: PropTypes.shape({\n        text: PropTypes.string\n      }).isRequired\n    }).isRequired,\n    regions: PropTypes.shape({\n      loading: PropTypes.bool.isRequired,\n      data: PropTypes.array.isRequired\n    }).isRequired,\n    dispatch: PropTypes.func.isRequired\n  };\n  componentDidMount() {\n    const {dispatch} = this.props;\n    // fetch `/api/v1/regions\n    dispatch(rest.actions.regions.sync());\n    //specify id for GET: /api/v1/entry/1\n    dispatch(rest.actions.entry({id: 1}));\n  }\n  render() {\n    const {entry, regions} = this.props;\n    const Regions = regions.data.map((item)=> <p>{ item.name }</p>)\n    return (\n      <div>\n        Loading regions: { regions.loading }\n        <Regions/>\n        Loading entry: {entry.loading}\n        <div>{{ entry.data.text }}</div>\n      </div>\n    );\n  }\n}\n\nconst SmartComponent = connect(select)(Application);\n\nReact.render(\n  <Provider store={store}>\n    <SmartComponent />\n  </Provider>,\n  document.getElementById(\"content\")\n);\n```\n","readmeFilename":"README.md"}