gitextract__7fir6fk/ ├── .codesandbox/ │ └── ci.json ├── .coveralls.yml ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug.md │ │ ├── feature.md │ │ └── question.md │ ├── lock.yml │ └── workflows/ │ ├── docs-public.yml │ ├── release.yml │ └── test.yml ├── .gitignore ├── .prettierrc ├── .vscode/ │ ├── launch.json │ └── settings.json ├── .watchmanconfig ├── LICENSE ├── SECURITY.md ├── __performance_tests__/ │ ├── add-data.mjs │ ├── data.json │ ├── incremental.mjs │ ├── large-obj.mjs │ ├── measure.mjs │ └── todo.mjs ├── __tests__/ │ ├── __prod_snapshots__/ │ │ ├── base.js.snap │ │ ├── curry.js.snap │ │ ├── frozen.js.snap │ │ ├── manual.js.snap │ │ ├── patch.js.snap │ │ ├── plugins.js.snap │ │ └── readme.js.snap │ ├── __snapshots__/ │ │ ├── base.js.snap │ │ ├── curry.js.snap │ │ ├── frozen.js.snap │ │ ├── manual.js.snap │ │ ├── patch.js.snap │ │ ├── plugins.js.snap │ │ └── readme.js.snap │ ├── base.js │ ├── current.js │ ├── curry.js │ ├── draft.ts │ ├── empty.ts │ ├── flow/ │ │ ├── .flowconfig │ │ └── flow.js.flow │ ├── frozen.js │ ├── immutable.ts │ ├── isDraftable.js │ ├── manual.js │ ├── map-set.js │ ├── not-strict-copy.ts │ ├── null.js │ ├── original.js │ ├── patch.js │ ├── plugins.js │ ├── produce.ts │ ├── readme.js │ ├── redux.ts │ ├── regressions.js │ ├── spec_ts.ts │ ├── test-data.json │ ├── tsconfig.json │ ├── type-external.ts │ └── updateScenarios.js ├── _site/ │ ├── .github/ │ │ └── ISSUE_TEMPLATE/ │ │ ├── bug/ │ │ │ └── index.html │ │ └── feature/ │ │ └── index.html │ └── readme/ │ └── index.html ├── package.json ├── perf-testing/ │ ├── .gitignore │ ├── README.md │ ├── immutability-benchmarks.mjs │ ├── immutability-profiling.mjs │ ├── package.json │ ├── read-cpuprofile.js │ └── rolldown.config.js ├── readme.md ├── src/ │ ├── core/ │ │ ├── current.ts │ │ ├── finalize.ts │ │ ├── immerClass.ts │ │ ├── proxy.ts │ │ └── scope.ts │ ├── immer.ts │ ├── internal.ts │ ├── plugins/ │ │ ├── arrayMethods.ts │ │ ├── mapset.ts │ │ └── patches.ts │ ├── types/ │ │ ├── globals.d.ts │ │ ├── index.js.flow │ │ ├── types-external.ts │ │ └── types-internal.ts │ └── utils/ │ ├── common.ts │ ├── env.ts │ ├── errors.ts │ └── plugins.ts ├── tsconfig.json ├── tsup.config.ts ├── vitest-custom-reporter.ts ├── vitest.config.build.ts ├── vitest.config.ts └── website/ ├── docs/ │ ├── api.md │ ├── array-methods.md │ ├── async.mdx │ ├── built-with.md │ ├── complex-objects.md │ ├── current.md │ ├── curried-produce.mdx │ ├── example-setstate.mdx │ ├── faq.md │ ├── freezing.mdx │ ├── installation.mdx │ ├── introduction.md │ ├── map-set.md │ ├── original.md │ ├── other-lang.md │ ├── patches.mdx │ ├── performance.mdx │ ├── pitfalls.md │ ├── produce.mdx │ ├── resources.md │ ├── return.mdx │ ├── support.md │ ├── typescript.mdx │ └── update-patterns.md ├── docusaurus.config.js ├── i18n/ │ └── zh-CN/ │ ├── docusaurus-plugin-content-docs/ │ │ ├── current/ │ │ │ ├── api.md │ │ │ ├── async.mdx │ │ │ ├── built-with.md │ │ │ ├── complex-objects.md │ │ │ ├── current.md │ │ │ ├── curried-produce.mdx │ │ │ ├── example-setstate.mdx │ │ │ ├── faq.md │ │ │ ├── freezing.mdx │ │ │ ├── installation.mdx │ │ │ ├── introduction.md │ │ │ ├── map-set.md │ │ │ ├── original.md │ │ │ ├── other-lang.md │ │ │ ├── patches.mdx │ │ │ ├── performance.mdx │ │ │ ├── pitfalls.md │ │ │ ├── produce.mdx │ │ │ ├── resources.md │ │ │ ├── return.mdx │ │ │ ├── support.md │ │ │ ├── typescript.mdx │ │ │ └── update-patterns.md │ │ └── current.json │ └── docusaurus-theme-classic/ │ ├── footer.json │ └── navbar.json ├── package.json ├── sidebars.js ├── src/ │ └── css/ │ └── immer-infima.css └── static/ └── .nojekyll