gitextract__efzhsmz/ ├── .codesandbox/ │ └── ci.json ├── .eslintignore ├── .eslintrc ├── .gitattributes ├── .github/ │ └── workflows/ │ ├── build-and-test-types.yml │ └── publish.yml ├── .gitignore ├── .prettierrc.json ├── .release-it.json ├── .yarn/ │ └── releases/ │ └── yarn-4.4.1.cjs ├── .yarnrc.yml ├── AUTHORS ├── CHANGELOG.md ├── CNAME ├── CREDITS.md ├── LICENSE ├── README.md ├── codecov.yml ├── docs/ │ └── examples/ │ ├── FAQ/ │ │ ├── MyComponent.tsx │ │ ├── createCurriedSelector.ts │ │ ├── createParametricSelectorHook.ts │ │ ├── currySelector.ts │ │ ├── howToTest.test.ts │ │ ├── identity.ts │ │ └── selectorRecomputing.ts │ ├── basicUsage.ts │ ├── createSelector/ │ │ ├── annotateResultFunction.ts │ │ ├── createAppSelector.ts │ │ └── withTypes.ts │ ├── createStructuredSelector/ │ │ ├── MyComponent.tsx │ │ ├── modernUseCase.ts │ │ └── withTypes.ts │ ├── development-only-stability-checks/ │ │ ├── identityFunctionCheck.ts │ │ └── inputStabilityCheck.ts │ ├── handling-empty-array-results/ │ │ ├── fallbackToEmptyArray.ts │ │ └── firstPattern.ts │ ├── lruMemoize/ │ │ ├── referenceEqualityCheck.ts │ │ ├── usingWithCreateSelector.ts │ │ └── usingWithCreateSelectorCreator.ts │ ├── tsconfig.json │ ├── unstable_autotrackMemoize/ │ │ ├── usingWithCreateSelector.ts │ │ └── usingWithCreateSelectorCreator.ts │ └── weakMapMemoize/ │ ├── cacheSizeProblem.ts │ ├── cacheSizeSolution.ts │ ├── setMaxSize.ts │ ├── usingWithCreateSelector.ts │ ├── usingWithCreateSelectorCreator.ts │ └── withUseMemo.tsx ├── netlify.toml ├── package.json ├── scripts/ │ └── writeGitVersion.mjs ├── src/ │ ├── autotrackMemoize/ │ │ ├── autotrackMemoize.ts │ │ ├── autotracking.ts │ │ ├── proxy.ts │ │ ├── tracking.ts │ │ └── utils.ts │ ├── createSelectorCreator.ts │ ├── createStructuredSelector.ts │ ├── devModeChecks/ │ │ ├── identityFunctionCheck.ts │ │ ├── inputStabilityCheck.ts │ │ └── setGlobalDevModeChecks.ts │ ├── index.ts │ ├── lruMemoize.ts │ ├── types.ts │ ├── utils.ts │ ├── versionedTypes/ │ │ ├── index.ts │ │ └── ts47-mergeParameters.ts │ └── weakMapMemoize.ts ├── test/ │ ├── autotrackMemoize.spec.ts │ ├── benchmarks/ │ │ ├── orderOfExecution.bench.ts │ │ ├── reselect.bench.ts │ │ ├── resultEqualityCheck.bench.ts │ │ └── weakMapMemoize.bench.ts │ ├── computationComparisons.spec.tsx │ ├── createSelector.withTypes.test.ts │ ├── createStructuredSelector.spec.ts │ ├── createStructuredSelector.withTypes.test.ts │ ├── customMatchers.d.ts │ ├── examples.test.ts │ ├── identityFunctionCheck.test.ts │ ├── inputStabilityCheck.spec.ts │ ├── lruMemoize.test.ts │ ├── perfComparisons.spec.ts │ ├── reselect.spec.ts │ ├── selectorUtils.spec.ts │ ├── setup.vitest.ts │ ├── testTypes.ts │ ├── testUtils.ts │ ├── tsconfig.json │ └── weakmapMemoize.spec.ts ├── tsconfig.json ├── tsup.config.ts ├── type-tests/ │ ├── argsMemoize.test-d.ts │ ├── createSelector.withTypes.test-d.ts │ ├── createSelectorCreator.test-d.ts │ ├── createStructuredSelector.test-d.ts │ ├── createStructuredSelector.withTypes.test-d.ts │ ├── deepNesting.test-d.ts │ └── tsconfig.json ├── typescript_test/ │ ├── argsMemoize.typetest.ts │ ├── test.ts │ ├── tsconfig.json │ └── typesTestUtils.ts ├── vitest.config.mts └── website/ ├── .gitignore ├── README.md ├── babel.config.js ├── compileExamples.ts ├── docs/ │ ├── FAQ.mdx │ ├── api/ │ │ ├── createSelector.mdx │ │ ├── createSelectorCreator.mdx │ │ ├── createStructuredSelector.mdx │ │ ├── development-only-stability-checks.mdx │ │ ├── lruMemoize.mdx │ │ ├── unstable_autotrackMemoize.mdx │ │ └── weakMapMemoize.mdx │ ├── external-references.mdx │ ├── introduction/ │ │ ├── getting-started.mdx │ │ ├── how-does-reselect-work.mdx │ │ └── v5-summary.mdx │ ├── related-projects.mdx │ └── usage/ │ ├── best-practices.mdx │ ├── common-mistakes.mdx │ └── handling-empty-array-results.mdx ├── docusaurus.config.ts ├── insertCodeExamples.ts ├── monokaiTheme.js ├── package.json ├── sidebars.ts ├── src/ │ ├── components/ │ │ ├── ExternalLinks.tsx │ │ ├── HomepageFeatures/ │ │ │ ├── index.tsx │ │ │ └── styles.module.css │ │ ├── InternalLinks.tsx │ │ └── PackageManagerTabs.tsx │ ├── css/ │ │ └── custom.css │ └── pages/ │ ├── index.module.css │ └── index.tsx ├── static/ │ ├── .nojekyll │ └── img/ │ └── diagrams/ │ ├── normal-memoization-function.drawio │ └── reselect-memoization.drawio └── tsconfig.json