{"_id":"@aaronsuuu/nuxt-use-reducer","_rev":"2-1fe01829cdad1146eba0ab68eeaaa69f","name":"@aaronsuuu/nuxt-use-reducer","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.2":{"name":"@aaronsuuu/nuxt-use-reducer","version":"1.0.2","keywords":["nuxt","vue","composable","reducer","state management"],"author":{"name":"Aaronsuuu"},"license":"MIT","_id":"@aaronsuuu/nuxt-use-reducer@1.0.2","maintainers":[{"name":"aaronsuuu","email":"small12112000@gmail.com"}],"homepage":"https://github.com/aaronsuuu/nuxt-use-reducer#readme","bugs":{"url":"https://github.com/aaronsuuu/nuxt-use-reducer/issues"},"dist":{"shasum":"cf4e94f041376bfb495f9c85a632353c8ee7f0a6","tarball":"https://registry.npmjs.org/@aaronsuuu/nuxt-use-reducer/-/nuxt-use-reducer-1.0.2.tgz","fileCount":11,"integrity":"sha512-m+3w23A3fGAnp798TqqYHm41FwqF7wqL9ibr8pIs1CM3wP7pCwkmZfcsSAOE3BSgL10MT/IK08ey8r+a3fFyJw==","signatures":[{"sig":"MEUCIQDeDi8XeERBVfM5DjyZgVlN409KRIrnE9TpA9Bw8M4hLwIgJSe8CI+WbaPGy243AKi8xUM5WXShuvLXt0g03SrUAxw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5531},"main":"./dist/module.mjs","type":"module","exports":{".":{"types":"./dist/types.d.mts","import":"./dist/module.mjs"}},"gitHead":"2b25466cc533873e36b57ea268a65cb6fdc6f974","scripts":{"dev":"nuxi dev playground","lint":"eslint .","test":"vitest run","prepack":"nuxt-module-build build","release":"npm run lint && npm run test && npm run prepack && changelogen --release && npm publish && git push --follow-tags","dev:build":"nuxi build playground","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit","test:watch":"vitest watch","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground"},"_npmUser":{"name":"aaronsuuu","email":"small12112000@gmail.com"},"repository":{"url":"git+https://github.com/aaronsuuu/nuxt-use-reducer.git","type":"git"},"_npmVersion":"10.5.0","description":"A Nuxt 3 composable for using the reducer pattern in Vue 3.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"@nuxt/kit":"^3.16.2"},"publishConfig":{"access":"public"},"typesVersions":{"*":{".":["./dist/types.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"nuxt":"^3.16.2","eslint":"^9.25.1","vitest":"^3.1.2","vue-tsc":"^2.2.8","typescript":"~5.8.3","@types/node":"latest","changelogen":"^0.6.1","@nuxt/schema":"^3.16.2","@nuxt/devtools":"^2.4.0","@nuxt/test-utils":"^3.17.2","@nuxt/eslint-config":"^1.3.0","@nuxt/module-builder":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/nuxt-use-reducer_1.0.2_1745483675959_0.5084529409155711","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@aaronsuuu/nuxt-use-reducer","version":"1.0.3","description":"A Nuxt 3 composable for using the reducer pattern in Vue 3.","keywords":["nuxt","vue","composable","reducer","state management"],"publishConfig":{"access":"public"},"author":{"name":"Aaronsuuu"},"repository":{"type":"git","url":"git+https://github.com/aaronsuuu/nuxt-use-reducer.git"},"license":"MIT","type":"module","exports":{".":{"types":"./dist/types.d.mts","import":"./dist/module.mjs"}},"main":"./dist/module.mjs","typesVersions":{"*":{".":["./dist/types.d.mts"]}},"scripts":{"prepack":"nuxt-module-build build","dev":"nuxi dev playground","dev:build":"nuxi build playground","dev:prepare":"nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground","release":"npm run lint && npm run test && npm run prepack && changelogen --release && npm publish && git push --follow-tags","lint":"eslint .","test":"vitest run","test:watch":"vitest watch","test:types":"vue-tsc --noEmit && cd playground && vue-tsc --noEmit"},"dependencies":{"@nuxt/kit":"^3.16.2"},"devDependencies":{"@nuxt/devtools":"^2.4.0","@nuxt/eslint-config":"^1.3.0","@nuxt/module-builder":"^1.0.1","@nuxt/schema":"^3.16.2","@nuxt/test-utils":"^3.17.2","@types/node":"latest","changelogen":"^0.6.1","eslint":"^9.25.1","nuxt":"^3.16.2","typescript":"~5.8.3","vitest":"^3.1.2","vue-tsc":"^2.2.8"},"_id":"@aaronsuuu/nuxt-use-reducer@1.0.3","gitHead":"f4b51aec6e7c63cf22860cfc1f00e1d7abe272e9","bugs":{"url":"https://github.com/aaronsuuu/nuxt-use-reducer/issues"},"homepage":"https://github.com/aaronsuuu/nuxt-use-reducer#readme","_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-4N9m1UfFqW1Aft+fLrmyp1LD4v6AbVZUtCVpnrzElk3SM4t0dWtU7cdmaOOFLZpTnC0yPkIl1GSVVcQO0BZCuA==","shasum":"a1dd51b5a18c1cb1594f7b7e0276a66c82fa21b6","tarball":"https://registry.npmjs.org/@aaronsuuu/nuxt-use-reducer/-/nuxt-use-reducer-1.0.3.tgz","fileCount":11,"unpackedSize":4746,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICnOvi9JtXfolXQMoIxbskiYPmPIPun8t7IzKCXvchX+AiAjfgGYSyVj0x1U2pVjS97tpYpGSos1aNqns6dqI2Ko8Q=="}]},"_npmUser":{"name":"aaronsuuu","email":"small12112000@gmail.com"},"directories":{},"maintainers":[{"name":"aaronsuuu","email":"small12112000@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nuxt-use-reducer_1.0.3_1745484829173_0.8754186143798941"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-24T08:34:35.833Z","modified":"2025-04-24T08:53:49.530Z","1.0.2":"2025-04-24T08:34:36.144Z","1.0.3":"2025-04-24T08:53:49.344Z"},"bugs":{"url":"https://github.com/aaronsuuu/nuxt-use-reducer/issues"},"author":{"name":"Aaronsuuu"},"license":"MIT","homepage":"https://github.com/aaronsuuu/nuxt-use-reducer#readme","keywords":["nuxt","vue","composable","reducer","state management"],"repository":{"type":"git","url":"git+https://github.com/aaronsuuu/nuxt-use-reducer.git"},"description":"A Nuxt 3 composable for using the reducer pattern in Vue 3.","maintainers":[{"name":"aaronsuuu","email":"small12112000@gmail.com"}],"readme":"# Nuxt-useReducer\n\n## Description\nA simple useReducer implementation for Nuxt 3. It allows you to manage complex state logic in your components using a reducer function, similar to how you would in React. It using useState under the hood that allows you to share state between components.\n\n## Installation\n```bash\nnpm install @aaronsuuu/nuxt-use-reducer\n```\n\n## Setting up\nAdd the module to your `nuxt.config.ts` file:\n```ts\nexport default defineNuxtConfig({\n  modules: [\n    '@aaronsuuu/nuxt-use-reducer'\n  ]\n})\n```\n\n## Usage\n```vue\n<script setup lang=\"ts\">\n<template>\n  <div>\n    <h1>Counter</h1>\n    <button @click=\"() => dispatch('inc')\">\n      Add\n    </button>\n    <p>Count: {{ state.count }}</p>\n  </div>\n</template>\n\n<script setup>\n\nconst initialState = { count: 0 }\nconst reducer = (state, action) => {\n  switch (action) {\n    case 'inc':\n      return { count: state.count + 1 }\n    case 'dec':\n      return { count: state.count - 1 }\n    case 'reset':\n      return { count: 0 }\n    case 'set':\n      return { count: action.payload }\n    default:\n      return state\n  }\n}\nconst [state, dispatch] = useReducer('counter', reducer, initialState)\n</script>\n","readmeFilename":"README.md"}