├── .github └── workflows │ ├── install │ └── action.yml │ └── test-release.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── babel.config.js ├── e2e-test └── initial-render.test.ts ├── example ├── .gitignore ├── CounterExample.tsx ├── FontSizeExample.tsx ├── PersistExample.tsx ├── RecoilTodoListExample.tsx ├── TodoListExample.tsx ├── index.html ├── index.tsx ├── package.json ├── pnpm-lock.yaml ├── states │ ├── advanced.ts │ ├── count-v2.ts │ ├── count.ts │ ├── font-size.ts │ ├── todo-filter.ts │ ├── todo-input-value.ts │ ├── todo-list │ │ ├── actions.ts │ │ ├── index.ts │ │ ├── selectors.ts │ │ ├── types.ts │ │ └── utils.ts │ └── todo-stats.ts └── tsconfig.json ├── jest.config.js ├── next-example ├── .eslintrc.json ├── .gitignore ├── README.md ├── app │ ├── Counter.tsx │ ├── api.ts │ ├── api │ │ └── revalidate │ │ │ └── route.ts │ ├── favicon.ico │ ├── globals.css │ ├── layout.tsx │ ├── page.tsx │ ├── provider.tsx │ ├── server-provider.tsx │ └── useCount.ts ├── next.config.mjs ├── package.json ├── pnpm-lock.yaml ├── public │ ├── next.svg │ └── vercel.svg ├── server.js ├── tailwind.config.ts └── tsconfig.json ├── package.json ├── playwright.config.js ├── pnpm-lock.yaml ├── scripts ├── npm-publish-fields.mjs ├── purge-pkg-for-publish.mjs └── webpack.config.mjs ├── src ├── bus.ts ├── create.server.ts ├── create.ts ├── index.react-native.ts ├── index.react-server.ts ├── index.ts ├── persist │ ├── create-persist.ts │ ├── get-persist.ts │ ├── index.rn.ts │ ├── index.server.ts │ ├── index.web.ts │ ├── provider.tsx │ ├── rn-cache.ts │ └── web-cache.ts └── types.ts ├── test ├── advanced.ts ├── blah.test.tsx ├── server-client-component.test.ts └── useCountWithImmer.ts ├── tsconfig.build.json ├── tsconfig.json └── tsup.config.ts /.github/workflows/install/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/.github/workflows/install/action.yml -------------------------------------------------------------------------------- /.github/workflows/test-release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/.github/workflows/test-release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/README.md -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/babel.config.js -------------------------------------------------------------------------------- /e2e-test/initial-render.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/e2e-test/initial-render.test.ts -------------------------------------------------------------------------------- /example/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .cache 3 | dist -------------------------------------------------------------------------------- /example/CounterExample.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/CounterExample.tsx -------------------------------------------------------------------------------- /example/FontSizeExample.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/FontSizeExample.tsx -------------------------------------------------------------------------------- /example/PersistExample.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/PersistExample.tsx -------------------------------------------------------------------------------- /example/RecoilTodoListExample.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/RecoilTodoListExample.tsx -------------------------------------------------------------------------------- /example/TodoListExample.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/TodoListExample.tsx -------------------------------------------------------------------------------- /example/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/index.html -------------------------------------------------------------------------------- /example/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/index.tsx -------------------------------------------------------------------------------- /example/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/package.json -------------------------------------------------------------------------------- /example/pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/pnpm-lock.yaml -------------------------------------------------------------------------------- /example/states/advanced.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/states/advanced.ts -------------------------------------------------------------------------------- /example/states/count-v2.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/states/count-v2.ts -------------------------------------------------------------------------------- /example/states/count.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/states/count.ts -------------------------------------------------------------------------------- /example/states/font-size.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/states/font-size.ts -------------------------------------------------------------------------------- /example/states/todo-filter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/states/todo-filter.ts -------------------------------------------------------------------------------- /example/states/todo-input-value.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/states/todo-input-value.ts -------------------------------------------------------------------------------- /example/states/todo-list/actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/states/todo-list/actions.ts -------------------------------------------------------------------------------- /example/states/todo-list/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/states/todo-list/index.ts -------------------------------------------------------------------------------- /example/states/todo-list/selectors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/states/todo-list/selectors.ts -------------------------------------------------------------------------------- /example/states/todo-list/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/states/todo-list/types.ts -------------------------------------------------------------------------------- /example/states/todo-list/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/states/todo-list/utils.ts -------------------------------------------------------------------------------- /example/states/todo-stats.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/states/todo-stats.ts -------------------------------------------------------------------------------- /example/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/example/tsconfig.json -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/jest.config.js -------------------------------------------------------------------------------- /next-example/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /next-example/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/.gitignore -------------------------------------------------------------------------------- /next-example/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/README.md -------------------------------------------------------------------------------- /next-example/app/Counter.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/app/Counter.tsx -------------------------------------------------------------------------------- /next-example/app/api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/app/api.ts -------------------------------------------------------------------------------- /next-example/app/api/revalidate/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/app/api/revalidate/route.ts -------------------------------------------------------------------------------- /next-example/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/app/favicon.ico -------------------------------------------------------------------------------- /next-example/app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/app/globals.css -------------------------------------------------------------------------------- /next-example/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/app/layout.tsx -------------------------------------------------------------------------------- /next-example/app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/app/page.tsx -------------------------------------------------------------------------------- /next-example/app/provider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/app/provider.tsx -------------------------------------------------------------------------------- /next-example/app/server-provider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/app/server-provider.tsx -------------------------------------------------------------------------------- /next-example/app/useCount.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/app/useCount.ts -------------------------------------------------------------------------------- /next-example/next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/next.config.mjs -------------------------------------------------------------------------------- /next-example/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/package.json -------------------------------------------------------------------------------- /next-example/pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/pnpm-lock.yaml -------------------------------------------------------------------------------- /next-example/public/next.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/public/next.svg -------------------------------------------------------------------------------- /next-example/public/vercel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/public/vercel.svg -------------------------------------------------------------------------------- /next-example/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/server.js -------------------------------------------------------------------------------- /next-example/tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/tailwind.config.ts -------------------------------------------------------------------------------- /next-example/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/next-example/tsconfig.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/package.json -------------------------------------------------------------------------------- /playwright.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/playwright.config.js -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /scripts/npm-publish-fields.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/scripts/npm-publish-fields.mjs -------------------------------------------------------------------------------- /scripts/purge-pkg-for-publish.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/scripts/purge-pkg-for-publish.mjs -------------------------------------------------------------------------------- /scripts/webpack.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/scripts/webpack.config.mjs -------------------------------------------------------------------------------- /src/bus.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/src/bus.ts -------------------------------------------------------------------------------- /src/create.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/src/create.server.ts -------------------------------------------------------------------------------- /src/create.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/src/create.ts -------------------------------------------------------------------------------- /src/index.react-native.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/src/index.react-native.ts -------------------------------------------------------------------------------- /src/index.react-server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/src/index.react-server.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/persist/create-persist.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/src/persist/create-persist.ts -------------------------------------------------------------------------------- /src/persist/get-persist.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/src/persist/get-persist.ts -------------------------------------------------------------------------------- /src/persist/index.rn.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/src/persist/index.rn.ts -------------------------------------------------------------------------------- /src/persist/index.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/src/persist/index.server.ts -------------------------------------------------------------------------------- /src/persist/index.web.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/src/persist/index.web.ts -------------------------------------------------------------------------------- /src/persist/provider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/src/persist/provider.tsx -------------------------------------------------------------------------------- /src/persist/rn-cache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/src/persist/rn-cache.ts -------------------------------------------------------------------------------- /src/persist/web-cache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/src/persist/web-cache.ts -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/src/types.ts -------------------------------------------------------------------------------- /test/advanced.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/test/advanced.ts -------------------------------------------------------------------------------- /test/blah.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/test/blah.test.tsx -------------------------------------------------------------------------------- /test/server-client-component.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/test/server-client-component.test.ts -------------------------------------------------------------------------------- /test/useCountWithImmer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/test/useCountWithImmer.ts -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/tsconfig.build.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/tsconfig.json -------------------------------------------------------------------------------- /tsup.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suhaotian/use-one/HEAD/tsup.config.ts --------------------------------------------------------------------------------