├── .eslintignore ├── .eslintrc ├── .github └── workflows │ └── node.js.yml ├── .gitignore ├── .husky └── pre-commit ├── .npmignore ├── .prettierignore ├── .prettierrc.json ├── LICENSE ├── README.md ├── demo ├── 1-hello-world.js ├── 10-snapshot-and-restore.js ├── 11-async-exec-with-performance-benchmark.js ├── 12-ttl.js ├── 2-event-emitting.js ├── 3-invalidation-using-dependency-keys.js ├── 4-invalidation-using-dependency-keys-with-threshold.js ├── 5-regex.js ├── 6-sync-exec.js ├── 7-async-exec.js ├── 8-invalidation-threshold-simple.js └── 9-invalidation-threshold-regex.js ├── esbuild.js ├── jest.config.js ├── package.json ├── src ├── index.test.ts ├── index.ts ├── lib │ ├── eventBus.ts │ ├── index.ts │ └── utils.ts ├── strategies │ └── memory.ts └── types │ ├── CacheStrategy.ts │ └── index.ts └── tsconfig.json /.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/.eslintignore -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/.eslintrc -------------------------------------------------------------------------------- /.github/workflows/node.js.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/.github/workflows/node.js.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/.gitignore -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx lint-staged 5 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .git 2 | .gitignore 3 | demo 4 | coverage -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | demo -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/.prettierrc.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/README.md -------------------------------------------------------------------------------- /demo/1-hello-world.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/demo/1-hello-world.js -------------------------------------------------------------------------------- /demo/10-snapshot-and-restore.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/demo/10-snapshot-and-restore.js -------------------------------------------------------------------------------- /demo/11-async-exec-with-performance-benchmark.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/demo/11-async-exec-with-performance-benchmark.js -------------------------------------------------------------------------------- /demo/12-ttl.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/demo/12-ttl.js -------------------------------------------------------------------------------- /demo/2-event-emitting.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/demo/2-event-emitting.js -------------------------------------------------------------------------------- /demo/3-invalidation-using-dependency-keys.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/demo/3-invalidation-using-dependency-keys.js -------------------------------------------------------------------------------- /demo/4-invalidation-using-dependency-keys-with-threshold.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/demo/4-invalidation-using-dependency-keys-with-threshold.js -------------------------------------------------------------------------------- /demo/5-regex.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/demo/5-regex.js -------------------------------------------------------------------------------- /demo/6-sync-exec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/demo/6-sync-exec.js -------------------------------------------------------------------------------- /demo/7-async-exec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/demo/7-async-exec.js -------------------------------------------------------------------------------- /demo/8-invalidation-threshold-simple.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/demo/8-invalidation-threshold-simple.js -------------------------------------------------------------------------------- /demo/9-invalidation-threshold-regex.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/demo/9-invalidation-threshold-regex.js -------------------------------------------------------------------------------- /esbuild.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/esbuild.js -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/jest.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/package.json -------------------------------------------------------------------------------- /src/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/src/index.test.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/lib/eventBus.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/src/lib/eventBus.ts -------------------------------------------------------------------------------- /src/lib/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/src/lib/index.ts -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/src/lib/utils.ts -------------------------------------------------------------------------------- /src/strategies/memory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/src/strategies/memory.ts -------------------------------------------------------------------------------- /src/types/CacheStrategy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/src/types/CacheStrategy.ts -------------------------------------------------------------------------------- /src/types/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/src/types/index.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Cadienvan/key-value-cache/HEAD/tsconfig.json --------------------------------------------------------------------------------