immosquare-cleaner 0.1.42 → 0.1.43
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/immosquare-cleaner/version.rb +1 -1
- data/node_modules/.bin/ncu +1 -1
- data/node_modules/.bin/npm-check-updates +1 -1
- data/node_modules/.bin/rimraf +1 -1
- data/node_modules/@eslint/config-array/dist/cjs/index.cjs +5 -0
- data/node_modules/@eslint/config-array/dist/esm/index.js +5 -0
- data/node_modules/@eslint/config-array/package.json +1 -1
- data/node_modules/@eslint/js/package.json +1 -1
- data/node_modules/ansi-regex/index.d.ts +13 -9
- data/node_modules/ansi-regex/index.js +5 -3
- data/node_modules/ansi-regex/license +1 -1
- data/node_modules/ansi-regex/package.json +6 -9
- data/node_modules/ansi-regex/readme.md +8 -2
- data/node_modules/brace-expansion/README.md +0 -6
- data/node_modules/brace-expansion/index.js +84 -86
- data/node_modules/brace-expansion/package.json +4 -3
- data/node_modules/chalk/license +1 -1
- data/node_modules/chalk/package.json +23 -38
- data/node_modules/chalk/readme.md +85 -69
- data/node_modules/chalk/source/index.js +84 -80
- data/node_modules/eslint/lib/cli.js +0 -20
- data/node_modules/eslint/lib/languages/js/source-code/source-code.js +19 -0
- data/node_modules/eslint/lib/linter/apply-disable-directives.js +24 -12
- data/node_modules/eslint/lib/linter/linter.js +44 -20
- data/node_modules/eslint/lib/linter/report-translator.js +10 -10
- data/node_modules/eslint/lib/linter/rule-fixer.js +38 -15
- data/node_modules/eslint/lib/shared/flags.js +2 -2
- data/node_modules/eslint/package.json +5 -4
- data/node_modules/glob/LICENSE +7 -1
- data/node_modules/glob/README.md +284 -1120
- data/node_modules/glob/common.js +238 -0
- data/node_modules/glob/glob.js +790 -0
- data/node_modules/glob/package.json +34 -76
- data/node_modules/glob/sync.js +486 -0
- data/node_modules/lru-cache/LICENSE +1 -1
- data/node_modules/lru-cache/README.md +104 -1055
- data/node_modules/lru-cache/index.js +246 -1139
- data/node_modules/lru-cache/package.json +11 -75
- data/node_modules/minimatch/LICENSE +1 -1
- data/node_modules/minimatch/README.md +65 -289
- data/node_modules/minimatch/package.json +14 -67
- data/node_modules/npm-check-updates/README.md +9 -12
- data/node_modules/npm-check-updates/build/cli.js +21 -21
- data/node_modules/npm-check-updates/build/cli.js.map +1 -1
- data/node_modules/npm-check-updates/build/index-CWktU8PK.js +58 -0
- data/node_modules/npm-check-updates/build/index-CWktU8PK.js.map +1 -0
- data/node_modules/npm-check-updates/build/index.d.ts +1 -3
- data/node_modules/npm-check-updates/build/index.js +207 -223
- data/node_modules/npm-check-updates/build/index.js.map +1 -1
- data/node_modules/npm-check-updates/package.json +101 -105
- data/node_modules/rimraf/LICENSE +1 -1
- data/node_modules/rimraf/README.md +70 -188
- data/node_modules/rimraf/bin.js +50 -0
- data/node_modules/rimraf/package.json +16 -74
- data/node_modules/rimraf/rimraf.js +364 -0
- data/node_modules/semver/README.md +27 -221
- data/node_modules/semver/bin/semver.js +84 -107
- data/node_modules/semver/package.json +14 -63
- data/node_modules/semver/semver.js +1643 -0
- data/node_modules/strip-ansi/index.d.ts +4 -2
- data/node_modules/strip-ansi/index.js +3 -13
- data/node_modules/strip-ansi/license +1 -1
- data/node_modules/strip-ansi/package.json +7 -10
- data/node_modules/strip-ansi/readme.md +7 -2
- data/node_modules/strip-json-comments/index.d.ts +13 -18
- data/node_modules/strip-json-comments/index.js +38 -68
- data/node_modules/strip-json-comments/package.json +5 -13
- data/node_modules/strip-json-comments/readme.md +18 -15
- data/node_modules/yallist/package.json +1 -1
- data/node_modules/yallist/yallist.js +3 -3
- data/package.json +3 -3
- metadata +14 -736
- data/node_modules/@eslint/config-array/node_modules/minimatch/LICENSE +0 -15
- data/node_modules/@eslint/config-array/node_modules/minimatch/README.md +0 -230
- data/node_modules/@eslint/config-array/node_modules/minimatch/node_modules/brace-expansion/LICENSE +0 -21
- data/node_modules/@eslint/config-array/node_modules/minimatch/node_modules/brace-expansion/README.md +0 -129
- data/node_modules/@eslint/config-array/node_modules/minimatch/node_modules/brace-expansion/index.js +0 -201
- data/node_modules/@eslint/config-array/node_modules/minimatch/node_modules/brace-expansion/package.json +0 -47
- data/node_modules/@eslint/config-array/node_modules/minimatch/package.json +0 -33
- data/node_modules/chalk/source/index.d.ts +0 -320
- data/node_modules/chalk/source/utilities.js +0 -33
- data/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +0 -236
- data/node_modules/chalk/source/vendor/ansi-styles/index.js +0 -223
- data/node_modules/chalk/source/vendor/supports-color/browser.d.ts +0 -1
- data/node_modules/chalk/source/vendor/supports-color/browser.js +0 -30
- data/node_modules/chalk/source/vendor/supports-color/index.d.ts +0 -55
- data/node_modules/chalk/source/vendor/supports-color/index.js +0 -182
- data/node_modules/eslint/node_modules/chalk/license +0 -9
- data/node_modules/eslint/node_modules/chalk/package.json +0 -68
- data/node_modules/eslint/node_modules/chalk/readme.md +0 -341
- data/node_modules/eslint/node_modules/chalk/source/index.js +0 -229
- data/node_modules/eslint/node_modules/minimatch/LICENSE +0 -15
- data/node_modules/eslint/node_modules/minimatch/README.md +0 -230
- data/node_modules/eslint/node_modules/minimatch/minimatch.js +0 -947
- data/node_modules/eslint/node_modules/minimatch/node_modules/brace-expansion/LICENSE +0 -21
- data/node_modules/eslint/node_modules/minimatch/node_modules/brace-expansion/README.md +0 -129
- data/node_modules/eslint/node_modules/minimatch/node_modules/brace-expansion/index.js +0 -201
- data/node_modules/eslint/node_modules/minimatch/node_modules/brace-expansion/package.json +0 -47
- data/node_modules/eslint/node_modules/minimatch/package.json +0 -33
- data/node_modules/eslint/node_modules/strip-ansi/index.d.ts +0 -17
- data/node_modules/eslint/node_modules/strip-ansi/index.js +0 -4
- data/node_modules/eslint/node_modules/strip-ansi/license +0 -9
- data/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/index.d.ts +0 -37
- data/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/index.js +0 -10
- data/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/license +0 -9
- data/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/package.json +0 -55
- data/node_modules/eslint/node_modules/strip-ansi/node_modules/ansi-regex/readme.md +0 -78
- data/node_modules/eslint/node_modules/strip-ansi/package.json +0 -54
- data/node_modules/eslint/node_modules/strip-ansi/readme.md +0 -46
- data/node_modules/glob/dist/commonjs/glob.d.ts +0 -344
- data/node_modules/glob/dist/commonjs/glob.d.ts.map +0 -1
- data/node_modules/glob/dist/commonjs/glob.js +0 -243
- data/node_modules/glob/dist/commonjs/glob.js.map +0 -1
- data/node_modules/glob/dist/commonjs/has-magic.d.ts +0 -14
- data/node_modules/glob/dist/commonjs/has-magic.d.ts.map +0 -1
- data/node_modules/glob/dist/commonjs/has-magic.js +0 -27
- data/node_modules/glob/dist/commonjs/has-magic.js.map +0 -1
- data/node_modules/glob/dist/commonjs/ignore.d.ts +0 -20
- data/node_modules/glob/dist/commonjs/ignore.d.ts.map +0 -1
- data/node_modules/glob/dist/commonjs/ignore.js +0 -108
- data/node_modules/glob/dist/commonjs/ignore.js.map +0 -1
- data/node_modules/glob/dist/commonjs/index.d.ts +0 -96
- data/node_modules/glob/dist/commonjs/index.d.ts.map +0 -1
- data/node_modules/glob/dist/commonjs/index.js +0 -68
- data/node_modules/glob/dist/commonjs/index.js.map +0 -1
- data/node_modules/glob/dist/commonjs/package.json +0 -1
- data/node_modules/glob/dist/commonjs/pattern.d.ts +0 -77
- data/node_modules/glob/dist/commonjs/pattern.d.ts.map +0 -1
- data/node_modules/glob/dist/commonjs/pattern.js +0 -219
- data/node_modules/glob/dist/commonjs/pattern.js.map +0 -1
- data/node_modules/glob/dist/commonjs/processor.d.ts +0 -59
- data/node_modules/glob/dist/commonjs/processor.d.ts.map +0 -1
- data/node_modules/glob/dist/commonjs/processor.js +0 -302
- data/node_modules/glob/dist/commonjs/processor.js.map +0 -1
- data/node_modules/glob/dist/commonjs/walker.d.ts +0 -96
- data/node_modules/glob/dist/commonjs/walker.d.ts.map +0 -1
- data/node_modules/glob/dist/commonjs/walker.js +0 -358
- data/node_modules/glob/dist/commonjs/walker.js.map +0 -1
- data/node_modules/glob/dist/esm/bin.d.mts +0 -3
- data/node_modules/glob/dist/esm/bin.d.mts.map +0 -1
- data/node_modules/glob/dist/esm/bin.mjs +0 -275
- data/node_modules/glob/dist/esm/bin.mjs.map +0 -1
- data/node_modules/glob/dist/esm/glob.d.ts +0 -344
- data/node_modules/glob/dist/esm/glob.d.ts.map +0 -1
- data/node_modules/glob/dist/esm/glob.js +0 -239
- data/node_modules/glob/dist/esm/glob.js.map +0 -1
- data/node_modules/glob/dist/esm/has-magic.d.ts +0 -14
- data/node_modules/glob/dist/esm/has-magic.d.ts.map +0 -1
- data/node_modules/glob/dist/esm/has-magic.js +0 -23
- data/node_modules/glob/dist/esm/has-magic.js.map +0 -1
- data/node_modules/glob/dist/esm/ignore.d.ts +0 -20
- data/node_modules/glob/dist/esm/ignore.d.ts.map +0 -1
- data/node_modules/glob/dist/esm/ignore.js +0 -104
- data/node_modules/glob/dist/esm/ignore.js.map +0 -1
- data/node_modules/glob/dist/esm/index.d.ts +0 -96
- data/node_modules/glob/dist/esm/index.d.ts.map +0 -1
- data/node_modules/glob/dist/esm/index.js +0 -56
- data/node_modules/glob/dist/esm/index.js.map +0 -1
- data/node_modules/glob/dist/esm/package.json +0 -1
- data/node_modules/glob/dist/esm/pattern.d.ts +0 -77
- data/node_modules/glob/dist/esm/pattern.d.ts.map +0 -1
- data/node_modules/glob/dist/esm/pattern.js +0 -215
- data/node_modules/glob/dist/esm/pattern.js.map +0 -1
- data/node_modules/glob/dist/esm/processor.d.ts +0 -59
- data/node_modules/glob/dist/esm/processor.d.ts.map +0 -1
- data/node_modules/glob/dist/esm/processor.js +0 -295
- data/node_modules/glob/dist/esm/processor.js.map +0 -1
- data/node_modules/glob/dist/esm/walker.d.ts +0 -96
- data/node_modules/glob/dist/esm/walker.d.ts.map +0 -1
- data/node_modules/glob/dist/esm/walker.js +0 -352
- data/node_modules/glob/dist/esm/walker.js.map +0 -1
- data/node_modules/glob/node_modules/minimatch/LICENSE +0 -15
- data/node_modules/glob/node_modules/minimatch/README.md +0 -454
- data/node_modules/glob/node_modules/minimatch/dist/cjs/assert-valid-pattern.d.ts +0 -2
- data/node_modules/glob/node_modules/minimatch/dist/cjs/assert-valid-pattern.d.ts.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/cjs/assert-valid-pattern.js +0 -14
- data/node_modules/glob/node_modules/minimatch/dist/cjs/assert-valid-pattern.js.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/cjs/ast.d.ts +0 -19
- data/node_modules/glob/node_modules/minimatch/dist/cjs/ast.d.ts.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/cjs/ast.js +0 -589
- data/node_modules/glob/node_modules/minimatch/dist/cjs/ast.js.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/cjs/brace-expressions.d.ts +0 -8
- data/node_modules/glob/node_modules/minimatch/dist/cjs/brace-expressions.d.ts.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/cjs/brace-expressions.js +0 -152
- data/node_modules/glob/node_modules/minimatch/dist/cjs/brace-expressions.js.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/cjs/escape.d.ts +0 -12
- data/node_modules/glob/node_modules/minimatch/dist/cjs/escape.d.ts.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/cjs/escape.js +0 -22
- data/node_modules/glob/node_modules/minimatch/dist/cjs/escape.js.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/cjs/index.d.ts +0 -94
- data/node_modules/glob/node_modules/minimatch/dist/cjs/index.d.ts.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/cjs/index.js +0 -1011
- data/node_modules/glob/node_modules/minimatch/dist/cjs/index.js.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/cjs/package.json +0 -3
- data/node_modules/glob/node_modules/minimatch/dist/cjs/unescape.d.ts +0 -17
- data/node_modules/glob/node_modules/minimatch/dist/cjs/unescape.d.ts.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/cjs/unescape.js +0 -24
- data/node_modules/glob/node_modules/minimatch/dist/cjs/unescape.js.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/mjs/assert-valid-pattern.d.ts +0 -2
- data/node_modules/glob/node_modules/minimatch/dist/mjs/assert-valid-pattern.d.ts.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/mjs/assert-valid-pattern.js +0 -10
- data/node_modules/glob/node_modules/minimatch/dist/mjs/assert-valid-pattern.js.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/mjs/ast.d.ts +0 -19
- data/node_modules/glob/node_modules/minimatch/dist/mjs/ast.d.ts.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/mjs/ast.js +0 -585
- data/node_modules/glob/node_modules/minimatch/dist/mjs/ast.js.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/mjs/brace-expressions.d.ts +0 -8
- data/node_modules/glob/node_modules/minimatch/dist/mjs/brace-expressions.d.ts.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/mjs/brace-expressions.js +0 -148
- data/node_modules/glob/node_modules/minimatch/dist/mjs/brace-expressions.js.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/mjs/escape.d.ts +0 -12
- data/node_modules/glob/node_modules/minimatch/dist/mjs/escape.d.ts.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/mjs/escape.js +0 -18
- data/node_modules/glob/node_modules/minimatch/dist/mjs/escape.js.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/mjs/index.d.ts +0 -94
- data/node_modules/glob/node_modules/minimatch/dist/mjs/index.d.ts.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/mjs/index.js +0 -995
- data/node_modules/glob/node_modules/minimatch/dist/mjs/index.js.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/mjs/package.json +0 -3
- data/node_modules/glob/node_modules/minimatch/dist/mjs/unescape.d.ts +0 -17
- data/node_modules/glob/node_modules/minimatch/dist/mjs/unescape.d.ts.map +0 -1
- data/node_modules/glob/node_modules/minimatch/dist/mjs/unescape.js +0 -20
- data/node_modules/glob/node_modules/minimatch/dist/mjs/unescape.js.map +0 -1
- data/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/LICENSE +0 -21
- data/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md +0 -135
- data/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js +0 -203
- data/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json +0 -46
- data/node_modules/glob/node_modules/minimatch/package.json +0 -86
- data/node_modules/glob/node_modules/minipass/LICENSE +0 -15
- data/node_modules/glob/node_modules/minipass/README.md +0 -825
- data/node_modules/glob/node_modules/minipass/dist/commonjs/index.d.ts +0 -549
- data/node_modules/glob/node_modules/minipass/dist/commonjs/index.d.ts.map +0 -1
- data/node_modules/glob/node_modules/minipass/dist/commonjs/index.js +0 -1028
- data/node_modules/glob/node_modules/minipass/dist/commonjs/index.js.map +0 -1
- data/node_modules/glob/node_modules/minipass/dist/commonjs/package.json +0 -1
- data/node_modules/glob/node_modules/minipass/dist/esm/index.d.ts +0 -549
- data/node_modules/glob/node_modules/minipass/dist/esm/index.d.ts.map +0 -1
- data/node_modules/glob/node_modules/minipass/dist/esm/index.js +0 -1018
- data/node_modules/glob/node_modules/minipass/dist/esm/index.js.map +0 -1
- data/node_modules/glob/node_modules/minipass/dist/esm/package.json +0 -1
- data/node_modules/glob/node_modules/minipass/package.json +0 -82
- data/node_modules/lru-cache/index.d.ts +0 -869
- data/node_modules/lru-cache/index.mjs +0 -1227
- data/node_modules/minimatch/dist/cjs/assert-valid-pattern.d.ts +0 -2
- data/node_modules/minimatch/dist/cjs/assert-valid-pattern.d.ts.map +0 -1
- data/node_modules/minimatch/dist/cjs/assert-valid-pattern.js +0 -14
- data/node_modules/minimatch/dist/cjs/assert-valid-pattern.js.map +0 -1
- data/node_modules/minimatch/dist/cjs/ast.d.ts +0 -19
- data/node_modules/minimatch/dist/cjs/ast.d.ts.map +0 -1
- data/node_modules/minimatch/dist/cjs/ast.js +0 -589
- data/node_modules/minimatch/dist/cjs/ast.js.map +0 -1
- data/node_modules/minimatch/dist/cjs/brace-expressions.d.ts +0 -8
- data/node_modules/minimatch/dist/cjs/brace-expressions.d.ts.map +0 -1
- data/node_modules/minimatch/dist/cjs/brace-expressions.js +0 -152
- data/node_modules/minimatch/dist/cjs/brace-expressions.js.map +0 -1
- data/node_modules/minimatch/dist/cjs/escape.d.ts +0 -12
- data/node_modules/minimatch/dist/cjs/escape.d.ts.map +0 -1
- data/node_modules/minimatch/dist/cjs/escape.js +0 -22
- data/node_modules/minimatch/dist/cjs/escape.js.map +0 -1
- data/node_modules/minimatch/dist/cjs/index.d.ts +0 -94
- data/node_modules/minimatch/dist/cjs/index.d.ts.map +0 -1
- data/node_modules/minimatch/dist/cjs/index.js +0 -1011
- data/node_modules/minimatch/dist/cjs/index.js.map +0 -1
- data/node_modules/minimatch/dist/cjs/package.json +0 -3
- data/node_modules/minimatch/dist/cjs/unescape.d.ts +0 -17
- data/node_modules/minimatch/dist/cjs/unescape.d.ts.map +0 -1
- data/node_modules/minimatch/dist/cjs/unescape.js +0 -24
- data/node_modules/minimatch/dist/cjs/unescape.js.map +0 -1
- data/node_modules/minimatch/dist/mjs/assert-valid-pattern.d.ts +0 -2
- data/node_modules/minimatch/dist/mjs/assert-valid-pattern.d.ts.map +0 -1
- data/node_modules/minimatch/dist/mjs/assert-valid-pattern.js +0 -10
- data/node_modules/minimatch/dist/mjs/assert-valid-pattern.js.map +0 -1
- data/node_modules/minimatch/dist/mjs/ast.d.ts +0 -19
- data/node_modules/minimatch/dist/mjs/ast.d.ts.map +0 -1
- data/node_modules/minimatch/dist/mjs/ast.js +0 -585
- data/node_modules/minimatch/dist/mjs/ast.js.map +0 -1
- data/node_modules/minimatch/dist/mjs/brace-expressions.d.ts +0 -8
- data/node_modules/minimatch/dist/mjs/brace-expressions.d.ts.map +0 -1
- data/node_modules/minimatch/dist/mjs/brace-expressions.js +0 -148
- data/node_modules/minimatch/dist/mjs/brace-expressions.js.map +0 -1
- data/node_modules/minimatch/dist/mjs/escape.d.ts +0 -12
- data/node_modules/minimatch/dist/mjs/escape.d.ts.map +0 -1
- data/node_modules/minimatch/dist/mjs/escape.js +0 -18
- data/node_modules/minimatch/dist/mjs/escape.js.map +0 -1
- data/node_modules/minimatch/dist/mjs/index.d.ts +0 -94
- data/node_modules/minimatch/dist/mjs/index.d.ts.map +0 -1
- data/node_modules/minimatch/dist/mjs/index.js +0 -995
- data/node_modules/minimatch/dist/mjs/index.js.map +0 -1
- data/node_modules/minimatch/dist/mjs/package.json +0 -3
- data/node_modules/minimatch/dist/mjs/unescape.d.ts +0 -17
- data/node_modules/minimatch/dist/mjs/unescape.d.ts.map +0 -1
- data/node_modules/minimatch/dist/mjs/unescape.js +0 -20
- data/node_modules/minimatch/dist/mjs/unescape.js.map +0 -1
- data/node_modules/npm-check-updates/build/index-5sFb3Tvv.js +0 -66
- data/node_modules/npm-check-updates/build/index-5sFb3Tvv.js.map +0 -1
- data/node_modules/npm-check-updates/build/package.json +0 -183
- data/node_modules/npm-check-updates/build/src/bin/cli.d.ts +0 -2
- data/node_modules/npm-check-updates/build/src/bin/cli.js +0 -182
- data/node_modules/npm-check-updates/build/src/bin/cli.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/cli-options.d.ts +0 -9
- data/node_modules/npm-check-updates/build/src/cli-options.js +0 -795
- data/node_modules/npm-check-updates/build/src/cli-options.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/index.d.ts +0 -17
- data/node_modules/npm-check-updates/build/src/index.js +0 -316
- data/node_modules/npm-check-updates/build/src/index.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/cache.d.ts +0 -17
- data/node_modules/npm-check-updates/build/src/lib/cache.js +0 -105
- data/node_modules/npm-check-updates/build/src/lib/cache.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/chalk.d.ts +0 -7
- data/node_modules/npm-check-updates/build/src/lib/chalk.js +0 -66
- data/node_modules/npm-check-updates/build/src/lib/chalk.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/determinePackageManager.d.ts +0 -8
- data/node_modules/npm-check-updates/build/src/lib/determinePackageManager.js +0 -32
- data/node_modules/npm-check-updates/build/src/lib/determinePackageManager.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/doctor.d.ts +0 -8
- data/node_modules/npm-check-updates/build/src/lib/doctor.js +0 -290
- data/node_modules/npm-check-updates/build/src/lib/doctor.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/exists.d.ts +0 -3
- data/node_modules/npm-check-updates/build/src/lib/exists.js +0 -10
- data/node_modules/npm-check-updates/build/src/lib/exists.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/figgy-pudding/index.d.ts +0 -2
- data/node_modules/npm-check-updates/build/src/lib/figgy-pudding/index.js +0 -112
- data/node_modules/npm-check-updates/build/src/lib/figgy-pudding/index.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/filterAndReject.d.ts +0 -12
- data/node_modules/npm-check-updates/build/src/lib/filterAndReject.js +0 -80
- data/node_modules/npm-check-updates/build/src/lib/filterAndReject.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/filterObject.d.ts +0 -4
- data/node_modules/npm-check-updates/build/src/lib/filterObject.js +0 -10
- data/node_modules/npm-check-updates/build/src/lib/filterObject.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/findLockfile.d.ts +0 -12
- data/node_modules/npm-check-updates/build/src/lib/findLockfile.js +0 -54
- data/node_modules/npm-check-updates/build/src/lib/findLockfile.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/findPackage.d.ts +0 -16
- data/node_modules/npm-check-updates/build/src/lib/findPackage.js +0 -78
- data/node_modules/npm-check-updates/build/src/lib/findPackage.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/getAllPackages.d.ts +0 -10
- data/node_modules/npm-check-updates/build/src/lib/getAllPackages.js +0 -126
- data/node_modules/npm-check-updates/build/src/lib/getAllPackages.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/getCurrentDependencies.d.ts +0 -15
- data/node_modules/npm-check-updates/build/src/lib/getCurrentDependencies.js +0 -76
- data/node_modules/npm-check-updates/build/src/lib/getCurrentDependencies.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/getIgnoredUpgrades.d.ts +0 -8
- data/node_modules/npm-check-updates/build/src/lib/getIgnoredUpgrades.js +0 -37
- data/node_modules/npm-check-updates/build/src/lib/getIgnoredUpgrades.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/getInstalledPackages.d.ts +0 -12
- data/node_modules/npm-check-updates/build/src/lib/getInstalledPackages.js +0 -35
- data/node_modules/npm-check-updates/build/src/lib/getInstalledPackages.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/getNcuRc.d.ts +0 -22
- data/node_modules/npm-check-updates/build/src/lib/getNcuRc.js +0 -60
- data/node_modules/npm-check-updates/build/src/lib/getNcuRc.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/getPackageManager.d.ts +0 -13
- data/node_modules/npm-check-updates/build/src/lib/getPackageManager.js +0 -30
- data/node_modules/npm-check-updates/build/src/lib/getPackageManager.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/getPeerDependencies.d.ts +0 -6
- data/node_modules/npm-check-updates/build/src/lib/getPeerDependencies.js +0 -31
- data/node_modules/npm-check-updates/build/src/lib/getPeerDependencies.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/getPeerDependenciesFromRegistry.d.ts +0 -12
- data/node_modules/npm-check-updates/build/src/lib/getPeerDependenciesFromRegistry.js +0 -35
- data/node_modules/npm-check-updates/build/src/lib/getPeerDependenciesFromRegistry.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/getPreferredWildcard.d.ts +0 -10
- data/node_modules/npm-check-updates/build/src/lib/getPreferredWildcard.js +0 -30
- data/node_modules/npm-check-updates/build/src/lib/getPreferredWildcard.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/getRepoUrl.d.ts +0 -11
- data/node_modules/npm-check-updates/build/src/lib/getRepoUrl.js +0 -81
- data/node_modules/npm-check-updates/build/src/lib/getRepoUrl.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/initOptions.d.ts +0 -7
- data/node_modules/npm-check-updates/build/src/lib/initOptions.js +0 -207
- data/node_modules/npm-check-updates/build/src/lib/initOptions.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/isUpgradeable.d.ts +0 -14
- data/node_modules/npm-check-updates/build/src/lib/isUpgradeable.js +0 -68
- data/node_modules/npm-check-updates/build/src/lib/isUpgradeable.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/keyValueBy.d.ts +0 -6
- data/node_modules/npm-check-updates/build/src/lib/keyValueBy.js +0 -23
- data/node_modules/npm-check-updates/build/src/lib/keyValueBy.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/libnpmconfig/index.d.ts +0 -3
- data/node_modules/npm-check-updates/build/src/lib/libnpmconfig/index.js +0 -108
- data/node_modules/npm-check-updates/build/src/lib/libnpmconfig/index.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/loadPackageInfoFromFile.d.ts +0 -5
- data/node_modules/npm-check-updates/build/src/lib/loadPackageInfoFromFile.js +0 -27
- data/node_modules/npm-check-updates/build/src/lib/loadPackageInfoFromFile.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/logging.d.ts +0 -77
- data/node_modules/npm-check-updates/build/src/lib/logging.js +0 -287
- data/node_modules/npm-check-updates/build/src/lib/logging.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/mergeOptions.d.ts +0 -69
- data/node_modules/npm-check-updates/build/src/lib/mergeOptions.js +0 -23
- data/node_modules/npm-check-updates/build/src/lib/mergeOptions.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/programError.d.ts +0 -6
- data/node_modules/npm-check-updates/build/src/lib/programError.js +0 -19
- data/node_modules/npm-check-updates/build/src/lib/programError.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/queryVersions.d.ts +0 -13
- data/node_modules/npm-check-updates/build/src/lib/queryVersions.js +0 -118
- data/node_modules/npm-check-updates/build/src/lib/queryVersions.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/resolveDepSections.d.ts +0 -4
- data/node_modules/npm-check-updates/build/src/lib/resolveDepSections.js +0 -20
- data/node_modules/npm-check-updates/build/src/lib/resolveDepSections.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/runGlobal.d.ts +0 -5
- data/node_modules/npm-check-updates/build/src/lib/runGlobal.js +0 -76
- data/node_modules/npm-check-updates/build/src/lib/runGlobal.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/runLocal.d.ts +0 -18
- data/node_modules/npm-check-updates/build/src/lib/runLocal.js +0 -239
- data/node_modules/npm-check-updates/build/src/lib/runLocal.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/table.d.ts +0 -7
- data/node_modules/npm-check-updates/build/src/lib/table.js +0 -27
- data/node_modules/npm-check-updates/build/src/lib/table.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/upgradeDependencies.d.ts +0 -14
- data/node_modules/npm-check-updates/build/src/lib/upgradeDependencies.js +0 -103
- data/node_modules/npm-check-updates/build/src/lib/upgradeDependencies.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/upgradePackageData.d.ts +0 -14
- data/node_modules/npm-check-updates/build/src/lib/upgradePackageData.js +0 -50
- data/node_modules/npm-check-updates/build/src/lib/upgradePackageData.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/upgradePackageDefinitions.d.ts +0 -13
- data/node_modules/npm-check-updates/build/src/lib/upgradePackageDefinitions.js +0 -58
- data/node_modules/npm-check-updates/build/src/lib/upgradePackageDefinitions.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/version-util.d.ts +0 -180
- data/node_modules/npm-check-updates/build/src/lib/version-util.js +0 -518
- data/node_modules/npm-check-updates/build/src/lib/version-util.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/lib/wrap.d.ts +0 -3
- data/node_modules/npm-check-updates/build/src/lib/wrap.js +0 -45
- data/node_modules/npm-check-updates/build/src/lib/wrap.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/package-managers/bun.d.ts +0 -18
- data/node_modules/npm-check-updates/build/src/package-managers/bun.js +0 -89
- data/node_modules/npm-check-updates/build/src/package-managers/bun.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/package-managers/filters.d.ts +0 -35
- data/node_modules/npm-check-updates/build/src/package-managers/filters.js +0 -96
- data/node_modules/npm-check-updates/build/src/package-managers/filters.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/package-managers/gitTags.d.ts +0 -16
- data/node_modules/npm-check-updates/build/src/package-managers/gitTags.js +0 -112
- data/node_modules/npm-check-updates/build/src/package-managers/gitTags.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/package-managers/index.d.ts +0 -4
- data/node_modules/npm-check-updates/build/src/package-managers/index.js +0 -40
- data/node_modules/npm-check-updates/build/src/package-managers/index.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/package-managers/npm.d.ts +0 -147
- data/node_modules/npm-check-updates/build/src/package-managers/npm.js +0 -688
- data/node_modules/npm-check-updates/build/src/package-managers/npm.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/package-managers/pnpm.d.ts +0 -25
- data/node_modules/npm-check-updates/build/src/package-managers/pnpm.js +0 -103
- data/node_modules/npm-check-updates/build/src/package-managers/pnpm.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/package-managers/staticRegistry.d.ts +0 -10
- data/node_modules/npm-check-updates/build/src/package-managers/staticRegistry.js +0 -52
- data/node_modules/npm-check-updates/build/src/package-managers/staticRegistry.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/package-managers/yarn.d.ts +0 -60
- data/node_modules/npm-check-updates/build/src/package-managers/yarn.js +0 -248
- data/node_modules/npm-check-updates/build/src/package-managers/yarn.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/scripts/build-options.d.ts +0 -1
- data/node_modules/npm-check-updates/build/src/scripts/build-options.js +0 -121
- data/node_modules/npm-check-updates/build/src/scripts/build-options.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/CLIOption.d.ts +0 -16
- data/node_modules/npm-check-updates/build/src/types/CLIOption.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/CLIOption.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/Cacher.d.ts +0 -10
- data/node_modules/npm-check-updates/build/src/types/Cacher.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/Cacher.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/ExtendedHelp.d.ts +0 -5
- data/node_modules/npm-check-updates/build/src/types/ExtendedHelp.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/ExtendedHelp.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/FilterFunction.d.ts +0 -3
- data/node_modules/npm-check-updates/build/src/types/FilterFunction.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/FilterFunction.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/FilterPattern.d.ts +0 -3
- data/node_modules/npm-check-updates/build/src/types/FilterPattern.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/FilterPattern.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/FilterResultsFunction.d.ts +0 -9
- data/node_modules/npm-check-updates/build/src/types/FilterResultsFunction.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/FilterResultsFunction.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/GetVersion.d.ts +0 -6
- data/node_modules/npm-check-updates/build/src/types/GetVersion.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/GetVersion.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/GroupFunction.d.ts +0 -4
- data/node_modules/npm-check-updates/build/src/types/GroupFunction.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/GroupFunction.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/IgnoredUpgrade.d.ts +0 -8
- data/node_modules/npm-check-updates/build/src/types/IgnoredUpgrade.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/IgnoredUpgrade.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/IndexType.d.ts +0 -4
- data/node_modules/npm-check-updates/build/src/types/IndexType.js +0 -4
- data/node_modules/npm-check-updates/build/src/types/IndexType.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/Maybe.d.ts +0 -2
- data/node_modules/npm-check-updates/build/src/types/Maybe.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/Maybe.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/MockedVersions.d.ts +0 -5
- data/node_modules/npm-check-updates/build/src/types/MockedVersions.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/MockedVersions.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/NpmConfig.d.ts +0 -4
- data/node_modules/npm-check-updates/build/src/types/NpmConfig.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/NpmConfig.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/NpmOptions.d.ts +0 -6
- data/node_modules/npm-check-updates/build/src/types/NpmOptions.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/NpmOptions.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/Options.d.ts +0 -17
- data/node_modules/npm-check-updates/build/src/types/Options.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/Options.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/PackageFile.d.ts +0 -24
- data/node_modules/npm-check-updates/build/src/types/PackageFile.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/PackageFile.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/PackageFileRepository.d.ts +0 -5
- data/node_modules/npm-check-updates/build/src/types/PackageFileRepository.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/PackageFileRepository.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/PackageInfo.d.ts +0 -8
- data/node_modules/npm-check-updates/build/src/types/PackageInfo.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/PackageInfo.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/PackageManager.d.ts +0 -18
- data/node_modules/npm-check-updates/build/src/types/PackageManager.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/PackageManager.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/PackageManagerName.d.ts +0 -2
- data/node_modules/npm-check-updates/build/src/types/PackageManagerName.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/PackageManagerName.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/Packument.d.ts +0 -13
- data/node_modules/npm-check-updates/build/src/types/Packument.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/Packument.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/RunOptions.d.ts +0 -137
- data/node_modules/npm-check-updates/build/src/types/RunOptions.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/RunOptions.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/SpawnOptions.d.ts +0 -6
- data/node_modules/npm-check-updates/build/src/types/SpawnOptions.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/SpawnOptions.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/StaticRegistry.d.ts +0 -4
- data/node_modules/npm-check-updates/build/src/types/StaticRegistry.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/StaticRegistry.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/Target.d.ts +0 -9
- data/node_modules/npm-check-updates/build/src/types/Target.js +0 -6
- data/node_modules/npm-check-updates/build/src/types/Target.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/TargetFunction.d.ts +0 -3
- data/node_modules/npm-check-updates/build/src/types/TargetFunction.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/TargetFunction.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/UpgradeGroup.d.ts +0 -1
- data/node_modules/npm-check-updates/build/src/types/UpgradeGroup.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/UpgradeGroup.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/Version.d.ts +0 -2
- data/node_modules/npm-check-updates/build/src/types/Version.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/Version.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/VersionLevel.d.ts +0 -2
- data/node_modules/npm-check-updates/build/src/types/VersionLevel.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/VersionLevel.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/VersionResult.d.ts +0 -7
- data/node_modules/npm-check-updates/build/src/types/VersionResult.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/VersionResult.js.map +0 -1
- data/node_modules/npm-check-updates/build/src/types/VersionSpec.d.ts +0 -2
- data/node_modules/npm-check-updates/build/src/types/VersionSpec.js +0 -3
- data/node_modules/npm-check-updates/build/src/types/VersionSpec.js.map +0 -1
- data/node_modules/npm-check-updates/node_modules/chalk/license +0 -9
- data/node_modules/npm-check-updates/node_modules/chalk/package.json +0 -83
- data/node_modules/npm-check-updates/node_modules/chalk/readme.md +0 -325
- data/node_modules/npm-check-updates/node_modules/chalk/source/index.d.ts +0 -320
- data/node_modules/npm-check-updates/node_modules/chalk/source/index.js +0 -225
- data/node_modules/npm-check-updates/node_modules/chalk/source/utilities.js +0 -33
- data/node_modules/npm-check-updates/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +0 -236
- data/node_modules/npm-check-updates/node_modules/chalk/source/vendor/ansi-styles/index.js +0 -223
- data/node_modules/npm-check-updates/node_modules/chalk/source/vendor/supports-color/browser.d.ts +0 -1
- data/node_modules/npm-check-updates/node_modules/chalk/source/vendor/supports-color/browser.js +0 -30
- data/node_modules/npm-check-updates/node_modules/chalk/source/vendor/supports-color/index.d.ts +0 -55
- data/node_modules/npm-check-updates/node_modules/chalk/source/vendor/supports-color/index.js +0 -182
- data/node_modules/npm-check-updates/node_modules/minimatch/LICENSE +0 -15
- data/node_modules/npm-check-updates/node_modules/minimatch/README.md +0 -454
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/assert-valid-pattern.d.ts +0 -2
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/assert-valid-pattern.d.ts.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/assert-valid-pattern.js +0 -14
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/assert-valid-pattern.js.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/ast.d.ts +0 -19
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/ast.d.ts.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/ast.js +0 -589
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/ast.js.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/brace-expressions.d.ts +0 -8
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/brace-expressions.d.ts.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/brace-expressions.js +0 -152
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/brace-expressions.js.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/escape.d.ts +0 -12
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/escape.d.ts.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/escape.js +0 -22
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/escape.js.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/index.d.ts +0 -94
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/index.d.ts.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/index.js +0 -1011
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/index.js.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/package.json +0 -3
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/unescape.d.ts +0 -17
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/unescape.d.ts.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/unescape.js +0 -24
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/cjs/unescape.js.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/assert-valid-pattern.d.ts +0 -2
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/assert-valid-pattern.d.ts.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/assert-valid-pattern.js +0 -10
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/assert-valid-pattern.js.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/ast.d.ts +0 -19
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/ast.d.ts.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/ast.js +0 -585
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/ast.js.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/brace-expressions.d.ts +0 -8
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/brace-expressions.d.ts.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/brace-expressions.js +0 -148
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/brace-expressions.js.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/escape.d.ts +0 -12
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/escape.d.ts.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/escape.js +0 -18
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/escape.js.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/index.d.ts +0 -94
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/index.d.ts.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/index.js +0 -995
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/index.js.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/package.json +0 -3
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/unescape.d.ts +0 -17
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/unescape.d.ts.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/unescape.js +0 -20
- data/node_modules/npm-check-updates/node_modules/minimatch/dist/mjs/unescape.js.map +0 -1
- data/node_modules/npm-check-updates/node_modules/minimatch/node_modules/brace-expansion/LICENSE +0 -21
- data/node_modules/npm-check-updates/node_modules/minimatch/node_modules/brace-expansion/README.md +0 -135
- data/node_modules/npm-check-updates/node_modules/minimatch/node_modules/brace-expansion/index.js +0 -203
- data/node_modules/npm-check-updates/node_modules/minimatch/node_modules/brace-expansion/package.json +0 -46
- data/node_modules/npm-check-updates/node_modules/minimatch/package.json +0 -86
- data/node_modules/npm-check-updates/node_modules/strip-ansi/index.d.ts +0 -15
- data/node_modules/npm-check-updates/node_modules/strip-ansi/index.js +0 -14
- data/node_modules/npm-check-updates/node_modules/strip-ansi/license +0 -9
- data/node_modules/npm-check-updates/node_modules/strip-ansi/node_modules/ansi-regex/index.d.ts +0 -33
- data/node_modules/npm-check-updates/node_modules/strip-ansi/node_modules/ansi-regex/index.js +0 -8
- data/node_modules/npm-check-updates/node_modules/strip-ansi/node_modules/ansi-regex/license +0 -9
- data/node_modules/npm-check-updates/node_modules/strip-ansi/node_modules/ansi-regex/package.json +0 -58
- data/node_modules/npm-check-updates/node_modules/strip-ansi/node_modules/ansi-regex/readme.md +0 -72
- data/node_modules/npm-check-updates/node_modules/strip-ansi/package.json +0 -57
- data/node_modules/npm-check-updates/node_modules/strip-ansi/readme.md +0 -41
- data/node_modules/rimraf/dist/commonjs/default-tmp.d.ts +0 -3
- data/node_modules/rimraf/dist/commonjs/default-tmp.d.ts.map +0 -1
- data/node_modules/rimraf/dist/commonjs/default-tmp.js +0 -61
- data/node_modules/rimraf/dist/commonjs/default-tmp.js.map +0 -1
- data/node_modules/rimraf/dist/commonjs/fix-eperm.d.ts +0 -3
- data/node_modules/rimraf/dist/commonjs/fix-eperm.d.ts.map +0 -1
- data/node_modules/rimraf/dist/commonjs/fix-eperm.js +0 -58
- data/node_modules/rimraf/dist/commonjs/fix-eperm.js.map +0 -1
- data/node_modules/rimraf/dist/commonjs/fs.d.ts +0 -17
- data/node_modules/rimraf/dist/commonjs/fs.d.ts.map +0 -1
- data/node_modules/rimraf/dist/commonjs/fs.js +0 -46
- data/node_modules/rimraf/dist/commonjs/fs.js.map +0 -1
- data/node_modules/rimraf/dist/commonjs/ignore-enoent.d.ts +0 -3
- data/node_modules/rimraf/dist/commonjs/ignore-enoent.d.ts.map +0 -1
- data/node_modules/rimraf/dist/commonjs/ignore-enoent.js +0 -21
- data/node_modules/rimraf/dist/commonjs/ignore-enoent.js.map +0 -1
- data/node_modules/rimraf/dist/commonjs/index.d.ts +0 -50
- data/node_modules/rimraf/dist/commonjs/index.d.ts.map +0 -1
- data/node_modules/rimraf/dist/commonjs/index.js +0 -76
- data/node_modules/rimraf/dist/commonjs/index.js.map +0 -1
- data/node_modules/rimraf/dist/commonjs/opt-arg.d.ts +0 -35
- data/node_modules/rimraf/dist/commonjs/opt-arg.d.ts.map +0 -1
- data/node_modules/rimraf/dist/commonjs/opt-arg.js +0 -53
- data/node_modules/rimraf/dist/commonjs/opt-arg.js.map +0 -1
- data/node_modules/rimraf/dist/commonjs/package.json +0 -1
- data/node_modules/rimraf/dist/commonjs/path-arg.d.ts +0 -4
- data/node_modules/rimraf/dist/commonjs/path-arg.d.ts.map +0 -1
- data/node_modules/rimraf/dist/commonjs/path-arg.js +0 -54
- data/node_modules/rimraf/dist/commonjs/path-arg.js.map +0 -1
- data/node_modules/rimraf/dist/commonjs/platform.d.ts +0 -3
- data/node_modules/rimraf/dist/commonjs/platform.d.ts.map +0 -1
- data/node_modules/rimraf/dist/commonjs/platform.js +0 -4
- data/node_modules/rimraf/dist/commonjs/platform.js.map +0 -1
- data/node_modules/rimraf/dist/commonjs/readdir-or-error.d.ts +0 -5
- data/node_modules/rimraf/dist/commonjs/readdir-or-error.d.ts.map +0 -1
- data/node_modules/rimraf/dist/commonjs/readdir-or-error.js +0 -19
- data/node_modules/rimraf/dist/commonjs/readdir-or-error.js.map +0 -1
- data/node_modules/rimraf/dist/commonjs/retry-busy.d.ts +0 -8
- data/node_modules/rimraf/dist/commonjs/retry-busy.d.ts.map +0 -1
- data/node_modules/rimraf/dist/commonjs/retry-busy.js +0 -68
- data/node_modules/rimraf/dist/commonjs/retry-busy.js.map +0 -1
- data/node_modules/rimraf/dist/commonjs/rimraf-manual.d.ts +0 -3
- data/node_modules/rimraf/dist/commonjs/rimraf-manual.d.ts.map +0 -1
- data/node_modules/rimraf/dist/commonjs/rimraf-manual.js +0 -12
- data/node_modules/rimraf/dist/commonjs/rimraf-manual.js.map +0 -1
- data/node_modules/rimraf/dist/commonjs/rimraf-move-remove.d.ts +0 -4
- data/node_modules/rimraf/dist/commonjs/rimraf-move-remove.d.ts.map +0 -1
- data/node_modules/rimraf/dist/commonjs/rimraf-move-remove.js +0 -192
- data/node_modules/rimraf/dist/commonjs/rimraf-move-remove.js.map +0 -1
- data/node_modules/rimraf/dist/commonjs/rimraf-native.d.ts +0 -4
- data/node_modules/rimraf/dist/commonjs/rimraf-native.d.ts.map +0 -1
- data/node_modules/rimraf/dist/commonjs/rimraf-native.js +0 -24
- data/node_modules/rimraf/dist/commonjs/rimraf-native.js.map +0 -1
- data/node_modules/rimraf/dist/commonjs/rimraf-posix.d.ts +0 -4
- data/node_modules/rimraf/dist/commonjs/rimraf-posix.d.ts.map +0 -1
- data/node_modules/rimraf/dist/commonjs/rimraf-posix.js +0 -123
- data/node_modules/rimraf/dist/commonjs/rimraf-posix.js.map +0 -1
- data/node_modules/rimraf/dist/commonjs/rimraf-windows.d.ts +0 -4
- data/node_modules/rimraf/dist/commonjs/rimraf-windows.d.ts.map +0 -1
- data/node_modules/rimraf/dist/commonjs/rimraf-windows.js +0 -182
- data/node_modules/rimraf/dist/commonjs/rimraf-windows.js.map +0 -1
- data/node_modules/rimraf/dist/commonjs/use-native.d.ts +0 -4
- data/node_modules/rimraf/dist/commonjs/use-native.d.ts.map +0 -1
- data/node_modules/rimraf/dist/commonjs/use-native.js +0 -22
- data/node_modules/rimraf/dist/commonjs/use-native.js.map +0 -1
- data/node_modules/rimraf/dist/esm/bin.d.mts +0 -8
- data/node_modules/rimraf/dist/esm/bin.d.mts.map +0 -1
- data/node_modules/rimraf/dist/esm/bin.mjs +0 -256
- data/node_modules/rimraf/dist/esm/bin.mjs.map +0 -1
- data/node_modules/rimraf/dist/esm/default-tmp.d.ts +0 -3
- data/node_modules/rimraf/dist/esm/default-tmp.d.ts.map +0 -1
- data/node_modules/rimraf/dist/esm/default-tmp.js +0 -55
- data/node_modules/rimraf/dist/esm/default-tmp.js.map +0 -1
- data/node_modules/rimraf/dist/esm/fix-eperm.d.ts +0 -3
- data/node_modules/rimraf/dist/esm/fix-eperm.d.ts.map +0 -1
- data/node_modules/rimraf/dist/esm/fix-eperm.js +0 -53
- data/node_modules/rimraf/dist/esm/fix-eperm.js.map +0 -1
- data/node_modules/rimraf/dist/esm/fs.d.ts +0 -17
- data/node_modules/rimraf/dist/esm/fs.d.ts.map +0 -1
- data/node_modules/rimraf/dist/esm/fs.js +0 -31
- data/node_modules/rimraf/dist/esm/fs.js.map +0 -1
- data/node_modules/rimraf/dist/esm/ignore-enoent.d.ts +0 -3
- data/node_modules/rimraf/dist/esm/ignore-enoent.d.ts.map +0 -1
- data/node_modules/rimraf/dist/esm/ignore-enoent.js +0 -16
- data/node_modules/rimraf/dist/esm/ignore-enoent.js.map +0 -1
- data/node_modules/rimraf/dist/esm/index.d.ts +0 -50
- data/node_modules/rimraf/dist/esm/index.d.ts.map +0 -1
- data/node_modules/rimraf/dist/esm/index.js +0 -68
- data/node_modules/rimraf/dist/esm/index.js.map +0 -1
- data/node_modules/rimraf/dist/esm/opt-arg.d.ts +0 -35
- data/node_modules/rimraf/dist/esm/opt-arg.d.ts.map +0 -1
- data/node_modules/rimraf/dist/esm/opt-arg.js +0 -46
- data/node_modules/rimraf/dist/esm/opt-arg.js.map +0 -1
- data/node_modules/rimraf/dist/esm/package.json +0 -1
- data/node_modules/rimraf/dist/esm/path-arg.d.ts +0 -4
- data/node_modules/rimraf/dist/esm/path-arg.d.ts.map +0 -1
- data/node_modules/rimraf/dist/esm/path-arg.js +0 -49
- data/node_modules/rimraf/dist/esm/path-arg.js.map +0 -1
- data/node_modules/rimraf/dist/esm/platform.d.ts +0 -3
- data/node_modules/rimraf/dist/esm/platform.d.ts.map +0 -1
- data/node_modules/rimraf/dist/esm/platform.js +0 -2
- data/node_modules/rimraf/dist/esm/platform.js.map +0 -1
- data/node_modules/rimraf/dist/esm/readdir-or-error.d.ts +0 -5
- data/node_modules/rimraf/dist/esm/readdir-or-error.d.ts.map +0 -1
- data/node_modules/rimraf/dist/esm/readdir-or-error.js +0 -14
- data/node_modules/rimraf/dist/esm/readdir-or-error.js.map +0 -1
- data/node_modules/rimraf/dist/esm/retry-busy.d.ts +0 -8
- data/node_modules/rimraf/dist/esm/retry-busy.d.ts.map +0 -1
- data/node_modules/rimraf/dist/esm/retry-busy.js +0 -63
- data/node_modules/rimraf/dist/esm/retry-busy.js.map +0 -1
- data/node_modules/rimraf/dist/esm/rimraf-manual.d.ts +0 -3
- data/node_modules/rimraf/dist/esm/rimraf-manual.d.ts.map +0 -1
- data/node_modules/rimraf/dist/esm/rimraf-manual.js +0 -6
- data/node_modules/rimraf/dist/esm/rimraf-manual.js.map +0 -1
- data/node_modules/rimraf/dist/esm/rimraf-move-remove.d.ts +0 -4
- data/node_modules/rimraf/dist/esm/rimraf-move-remove.d.ts.map +0 -1
- data/node_modules/rimraf/dist/esm/rimraf-move-remove.js +0 -187
- data/node_modules/rimraf/dist/esm/rimraf-move-remove.js.map +0 -1
- data/node_modules/rimraf/dist/esm/rimraf-native.d.ts +0 -4
- data/node_modules/rimraf/dist/esm/rimraf-native.d.ts.map +0 -1
- data/node_modules/rimraf/dist/esm/rimraf-native.js +0 -19
- data/node_modules/rimraf/dist/esm/rimraf-native.js.map +0 -1
- data/node_modules/rimraf/dist/esm/rimraf-posix.d.ts +0 -4
- data/node_modules/rimraf/dist/esm/rimraf-posix.d.ts.map +0 -1
- data/node_modules/rimraf/dist/esm/rimraf-posix.js +0 -118
- data/node_modules/rimraf/dist/esm/rimraf-posix.js.map +0 -1
- data/node_modules/rimraf/dist/esm/rimraf-windows.d.ts +0 -4
- data/node_modules/rimraf/dist/esm/rimraf-windows.d.ts.map +0 -1
- data/node_modules/rimraf/dist/esm/rimraf-windows.js +0 -177
- data/node_modules/rimraf/dist/esm/rimraf-windows.js.map +0 -1
- data/node_modules/rimraf/dist/esm/use-native.d.ts +0 -4
- data/node_modules/rimraf/dist/esm/use-native.d.ts.map +0 -1
- data/node_modules/rimraf/dist/esm/use-native.js +0 -16
- data/node_modules/rimraf/dist/esm/use-native.js.map +0 -1
- data/node_modules/semver/classes/comparator.js +0 -141
- data/node_modules/semver/classes/index.js +0 -5
- data/node_modules/semver/classes/range.js +0 -539
- data/node_modules/semver/classes/semver.js +0 -302
- data/node_modules/semver/functions/clean.js +0 -6
- data/node_modules/semver/functions/cmp.js +0 -52
- data/node_modules/semver/functions/coerce.js +0 -52
- data/node_modules/semver/functions/compare-build.js +0 -7
- data/node_modules/semver/functions/compare-loose.js +0 -3
- data/node_modules/semver/functions/compare.js +0 -5
- data/node_modules/semver/functions/diff.js +0 -65
- data/node_modules/semver/functions/eq.js +0 -3
- data/node_modules/semver/functions/gt.js +0 -3
- data/node_modules/semver/functions/gte.js +0 -3
- data/node_modules/semver/functions/inc.js +0 -19
- data/node_modules/semver/functions/lt.js +0 -3
- data/node_modules/semver/functions/lte.js +0 -3
- data/node_modules/semver/functions/major.js +0 -3
- data/node_modules/semver/functions/minor.js +0 -3
- data/node_modules/semver/functions/neq.js +0 -3
- data/node_modules/semver/functions/parse.js +0 -16
- data/node_modules/semver/functions/patch.js +0 -3
- data/node_modules/semver/functions/prerelease.js +0 -6
- data/node_modules/semver/functions/rcompare.js +0 -3
- data/node_modules/semver/functions/rsort.js +0 -3
- data/node_modules/semver/functions/satisfies.js +0 -10
- data/node_modules/semver/functions/sort.js +0 -3
- data/node_modules/semver/functions/valid.js +0 -6
- data/node_modules/semver/index.js +0 -89
- data/node_modules/semver/internal/constants.js +0 -35
- data/node_modules/semver/internal/debug.js +0 -9
- data/node_modules/semver/internal/identifiers.js +0 -23
- data/node_modules/semver/internal/parse-options.js +0 -15
- data/node_modules/semver/internal/re.js +0 -212
- data/node_modules/semver/node_modules/lru-cache/LICENSE +0 -15
- data/node_modules/semver/node_modules/lru-cache/README.md +0 -166
- data/node_modules/semver/node_modules/lru-cache/index.js +0 -334
- data/node_modules/semver/node_modules/lru-cache/package.json +0 -34
- data/node_modules/semver/preload.js +0 -2
- data/node_modules/semver/ranges/gtr.js +0 -4
- data/node_modules/semver/ranges/intersects.js +0 -7
- data/node_modules/semver/ranges/ltr.js +0 -4
- data/node_modules/semver/ranges/max-satisfying.js +0 -25
- data/node_modules/semver/ranges/min-satisfying.js +0 -24
- data/node_modules/semver/ranges/min-version.js +0 -61
- data/node_modules/semver/ranges/outside.js +0 -80
- data/node_modules/semver/ranges/simplify.js +0 -47
- data/node_modules/semver/ranges/subset.js +0 -247
- data/node_modules/semver/ranges/to-comparators.js +0 -8
- data/node_modules/semver/ranges/valid.js +0 -11
- /data/node_modules/{eslint/node_modules/chalk → chalk}/index.d.ts +0 -0
- /data/node_modules/{eslint/node_modules/chalk → chalk}/source/templates.js +0 -0
- /data/node_modules/{eslint/node_modules/chalk → chalk}/source/util.js +0 -0
- /data/node_modules/{@eslint/config-array/node_modules/minimatch → minimatch}/minimatch.js +0 -0
@@ -1,82 +1,28 @@
|
|
1
|
-
# lru
|
1
|
+
# lru cache
|
2
2
|
|
3
3
|
A cache object that deletes the least-recently-used items.
|
4
4
|
|
5
|
-
|
6
|
-
want to keep, and this cache will keep that many of the most
|
7
|
-
recently accessed items.
|
5
|
+
[![Build Status](https://travis-ci.org/isaacs/node-lru-cache.svg?branch=master)](https://travis-ci.org/isaacs/node-lru-cache) [![Coverage Status](https://coveralls.io/repos/isaacs/node-lru-cache/badge.svg?service=github)](https://coveralls.io/github/isaacs/node-lru-cache)
|
8
6
|
|
9
|
-
|
10
|
-
guarantees. There is no preemptive pruning of expired items by
|
11
|
-
default, but you _may_ set a TTL on the cache or on a single
|
12
|
-
`set`. If you do so, it will treat expired items as missing, and
|
13
|
-
delete them when fetched. If you are more interested in TTL
|
14
|
-
caching than LRU caching, check out
|
15
|
-
[@isaacs/ttlcache](http://npm.im/@isaacs/ttlcache).
|
7
|
+
## Installation:
|
16
8
|
|
17
|
-
|
18
|
-
implementations available in JavaScript, and supports a wide
|
19
|
-
diversity of use cases. However, note that using some of the
|
20
|
-
features will necessarily impact performance, by causing the
|
21
|
-
cache to have to do more work. See the "Performance" section
|
22
|
-
below.
|
23
|
-
|
24
|
-
## Installation
|
25
|
-
|
26
|
-
```bash
|
9
|
+
```javascript
|
27
10
|
npm install lru-cache --save
|
28
11
|
```
|
29
12
|
|
30
|
-
## Usage
|
31
|
-
|
32
|
-
```js
|
33
|
-
// hybrid module, either works
|
34
|
-
import LRUCache from 'lru-cache'
|
35
|
-
// or:
|
36
|
-
const LRUCache = require('lru-cache')
|
37
|
-
|
38
|
-
// At least one of 'max', 'ttl', or 'maxSize' is required, to prevent
|
39
|
-
// unsafe unbounded storage.
|
40
|
-
//
|
41
|
-
// In most cases, it's best to specify a max for performance, so all
|
42
|
-
// the required memory allocation is done up-front.
|
43
|
-
//
|
44
|
-
// All the other options are optional, see the sections below for
|
45
|
-
// documentation on what each one does. Most of them can be
|
46
|
-
// overridden for specific items in get()/set()
|
47
|
-
const options = {
|
48
|
-
max: 500,
|
49
|
-
|
50
|
-
// for use with tracking overall storage size
|
51
|
-
maxSize: 5000,
|
52
|
-
sizeCalculation: (value, key) => {
|
53
|
-
return 1
|
54
|
-
},
|
55
|
-
|
56
|
-
// for use when you need to clean up something when objects
|
57
|
-
// are evicted from the cache
|
58
|
-
dispose: (value, key) => {
|
59
|
-
freeFromMemoryOrWhatever(value)
|
60
|
-
},
|
61
|
-
|
62
|
-
// how long to live in ms
|
63
|
-
ttl: 1000 * 60 * 5,
|
64
|
-
|
65
|
-
// return stale items before removing from cache?
|
66
|
-
allowStale: false,
|
13
|
+
## Usage:
|
67
14
|
|
68
|
-
|
69
|
-
|
15
|
+
```javascript
|
16
|
+
var LRU = require("lru-cache")
|
17
|
+
, options = { max: 500
|
18
|
+
, length: function (n, key) { return n * 2 + key.length }
|
19
|
+
, dispose: function (key, n) { n.close() }
|
20
|
+
, maxAge: 1000 * 60 * 60 }
|
21
|
+
, cache = new LRU(options)
|
22
|
+
, otherCache = new LRU(50) // sets just the max size
|
70
23
|
|
71
|
-
|
72
|
-
|
73
|
-
fetchMethod: async (key, staleValue, { options, signal }) => {},
|
74
|
-
}
|
75
|
-
|
76
|
-
const cache = new LRUCache(options)
|
77
|
-
|
78
|
-
cache.set('key', 'value')
|
79
|
-
cache.get('key') // "value"
|
24
|
+
cache.set("key", "value")
|
25
|
+
cache.get("key") // "value"
|
80
26
|
|
81
27
|
// non-string keys ARE fully supported
|
82
28
|
// but note that it must be THE SAME object, not
|
@@ -90,1028 +36,131 @@ assert.equal(cache.get(someObject), 'a value')
|
|
90
36
|
// because it's a different object identity
|
91
37
|
assert.equal(cache.get({ a: 1 }), undefined)
|
92
38
|
|
93
|
-
cache.
|
39
|
+
cache.reset() // empty the cache
|
94
40
|
```
|
95
41
|
|
96
42
|
If you put more stuff in it, then items will fall out.
|
97
43
|
|
98
|
-
|
99
|
-
|
100
|
-
### `max`
|
101
|
-
|
102
|
-
The maximum number of items that remain in the cache (assuming no
|
103
|
-
TTL pruning or explicit deletions). Note that fewer items may be
|
104
|
-
stored if size calculation is used, and `maxSize` is exceeded.
|
105
|
-
This must be a positive finite intger.
|
106
|
-
|
107
|
-
At least one of `max`, `maxSize`, or `TTL` is required. This
|
108
|
-
must be a positive integer if set.
|
109
|
-
|
110
|
-
**It is strongly recommended to set a `max` to prevent unbounded
|
111
|
-
growth of the cache.** See "Storage Bounds Safety" below.
|
112
|
-
|
113
|
-
### `maxSize`
|
114
|
-
|
115
|
-
Set to a positive integer to track the sizes of items added to
|
116
|
-
the cache, and automatically evict items in order to stay below
|
117
|
-
this size. Note that this may result in fewer than `max` items
|
118
|
-
being stored.
|
119
|
-
|
120
|
-
Attempting to add an item to the cache whose calculated size is
|
121
|
-
greater that this amount will be a no-op. The item will not be
|
122
|
-
cached, and no other items will be evicted.
|
123
|
-
|
124
|
-
Optional, must be a positive integer if provided.
|
125
|
-
|
126
|
-
Sets `maxEntrySize` to the same value, unless a different value
|
127
|
-
is provided for `maxEntrySize`.
|
128
|
-
|
129
|
-
At least one of `max`, `maxSize`, or `TTL` is required. This
|
130
|
-
must be a positive integer if set.
|
131
|
-
|
132
|
-
Even if size tracking is enabled, **it is strongly recommended to
|
133
|
-
set a `max` to prevent unbounded growth of the cache.** See
|
134
|
-
"Storage Bounds Safety" below.
|
135
|
-
|
136
|
-
### `maxEntrySize`
|
137
|
-
|
138
|
-
Set to a positive integer to track the sizes of items added to
|
139
|
-
the cache, and prevent caching any item over a given size.
|
140
|
-
Attempting to add an item whose calculated size is greater than
|
141
|
-
this amount will be a no-op. The item will not be cached, and no
|
142
|
-
other items will be evicted.
|
143
|
-
|
144
|
-
Optional, must be a positive integer if provided. Defaults to
|
145
|
-
the value of `maxSize` if provided.
|
146
|
-
|
147
|
-
### `sizeCalculation`
|
148
|
-
|
149
|
-
Function used to calculate the size of stored items. If you're
|
150
|
-
storing strings or buffers, then you probably want to do
|
151
|
-
something like `n => n.length`. The item is passed as the first
|
152
|
-
argument, and the key is passed as the second argument.
|
153
|
-
|
154
|
-
This may be overridden by passing an options object to
|
155
|
-
`cache.set()`.
|
156
|
-
|
157
|
-
Requires `maxSize` to be set.
|
158
|
-
|
159
|
-
If the `size` (or return value of `sizeCalculation`) for a given
|
160
|
-
entry is greater than `maxEntrySize`, then the item will not be
|
161
|
-
added to the cache.
|
162
|
-
|
163
|
-
Deprecated alias: `length`
|
164
|
-
|
165
|
-
### `fetchMethod`
|
166
|
-
|
167
|
-
Function that is used to make background asynchronous fetches.
|
168
|
-
Called with `fetchMethod(key, staleValue, { signal, options,
|
169
|
-
context })`. May return a Promise.
|
170
|
-
|
171
|
-
If `fetchMethod` is not provided, then `cache.fetch(key)` is
|
172
|
-
equivalent to `Promise.resolve(cache.get(key))`.
|
173
|
-
|
174
|
-
The `signal` object is an `AbortSignal` if that's available in
|
175
|
-
the global object, otherwise it's a pretty close polyfill.
|
176
|
-
|
177
|
-
If at any time, `signal.aborted` is set to `true`, or if the
|
178
|
-
`signal.onabort` method is called, or if it emits an `'abort'`
|
179
|
-
event which you can listen to with `addEventListener`, then that
|
180
|
-
means that the fetch should be abandoned. This may be passed
|
181
|
-
along to async functions aware of AbortController/AbortSignal
|
182
|
-
behavior.
|
183
|
-
|
184
|
-
The `fetchMethod` should **only** return `undefined` or a Promise
|
185
|
-
resolving to `undefined` if the AbortController signaled an
|
186
|
-
`abort` event. In all other cases, it should return or resolve
|
187
|
-
to a value suitable for adding to the cache.
|
188
|
-
|
189
|
-
The `options` object is a union of the options that may be
|
190
|
-
provided to `set()` and `get()`. If they are modified, then that
|
191
|
-
will result in modifying the settings to `cache.set()` when the
|
192
|
-
value is resolved, and in the case of `noDeleteOnFetchRejection`
|
193
|
-
and `allowStaleOnFetchRejection`, the handling of `fetchMethod`
|
194
|
-
failures.
|
195
|
-
|
196
|
-
For example, a DNS cache may update the TTL based on the value
|
197
|
-
returned from a remote DNS server by changing `options.ttl` in
|
198
|
-
the `fetchMethod`.
|
199
|
-
|
200
|
-
### `fetchContext`
|
201
|
-
|
202
|
-
Arbitrary data that can be passed to the `fetchMethod` as the
|
203
|
-
`context` option.
|
204
|
-
|
205
|
-
Note that this will only be relevant when the `cache.fetch()`
|
206
|
-
call needs to call `fetchMethod()`. Thus, any data which will
|
207
|
-
meaningfully vary the fetch response needs to be present in the
|
208
|
-
key. This is primarily intended for including `x-request-id`
|
209
|
-
headers and the like for debugging purposes, which do not affect
|
210
|
-
the `fetchMethod()` response.
|
211
|
-
|
212
|
-
### `noDeleteOnFetchRejection`
|
213
|
-
|
214
|
-
If a `fetchMethod` throws an error or returns a rejected promise,
|
215
|
-
then by default, any existing stale value will be removed from
|
216
|
-
the cache.
|
217
|
-
|
218
|
-
If `noDeleteOnFetchRejection` is set to `true`, then this
|
219
|
-
behavior is suppressed, and the stale value remains in the cache
|
220
|
-
in the case of a rejected `fetchMethod`.
|
221
|
-
|
222
|
-
This is important in cases where a `fetchMethod` is _only_ called
|
223
|
-
as a background update while the stale value is returned, when
|
224
|
-
`allowStale` is used.
|
225
|
-
|
226
|
-
This is implicitly in effect when `allowStaleOnFetchRejection` is
|
227
|
-
set.
|
228
|
-
|
229
|
-
This may be set in calls to `fetch()`, or defaulted on the
|
230
|
-
constructor, or overridden by modifying the options object in the
|
231
|
-
`fetchMethod`.
|
232
|
-
|
233
|
-
### `allowStaleOnFetchRejection`
|
234
|
-
|
235
|
-
Set to true to return a stale value from the cache when a
|
236
|
-
`fetchMethod` throws an error or returns a rejected Promise.
|
237
|
-
|
238
|
-
If a `fetchMethod` fails, and there is no stale value available,
|
239
|
-
the `fetch()` will resolve to `undefined`. Ie, all `fetchMethod`
|
240
|
-
errors are suppressed.
|
241
|
-
|
242
|
-
Implies `noDeleteOnFetchRejection`.
|
243
|
-
|
244
|
-
This may be set in calls to `fetch()`, or defaulted on the
|
245
|
-
constructor, or overridden by modifying the options object in the
|
246
|
-
`fetchMethod`.
|
247
|
-
|
248
|
-
### `allowStaleOnFetchAbort`
|
249
|
-
|
250
|
-
Set to true to return a stale value from the cache when the
|
251
|
-
`AbortSignal` passed to the `fetchMethod` dispatches an `'abort'`
|
252
|
-
event, whether user-triggered, or due to internal cache behavior.
|
253
|
-
|
254
|
-
Unless `ignoreFetchAbort` is also set, the underlying
|
255
|
-
`fetchMethod` will still be considered canceled, and its return
|
256
|
-
value will be ignored and not cached.
|
257
|
-
|
258
|
-
### `ignoreFetchAbort`
|
259
|
-
|
260
|
-
Set to true to ignore the `abort` event emitted by the
|
261
|
-
`AbortSignal` object passed to `fetchMethod`, and still cache the
|
262
|
-
resulting resolution value, as long as it is not `undefined`.
|
263
|
-
|
264
|
-
When used on its own, this means aborted `fetch()` calls are not
|
265
|
-
immediately resolved or rejected when they are aborted, and
|
266
|
-
instead take the full time to await.
|
267
|
-
|
268
|
-
When used with `allowStaleOnFetchAbort`, aborted `fetch()` calls
|
269
|
-
will resolve immediately to their stale cached value or
|
270
|
-
`undefined`, and will continue to process and eventually update
|
271
|
-
the cache when they resolve, as long as the resulting value is
|
272
|
-
not `undefined`, thus supporting a "return stale on timeout while
|
273
|
-
refreshing" mechanism by passing `AbortSignal.timeout(n)` as the
|
274
|
-
signal.
|
275
|
-
|
276
|
-
For example:
|
277
|
-
|
278
|
-
```js
|
279
|
-
const c = new LRUCache({
|
280
|
-
ttl: 100,
|
281
|
-
ignoreFetchAbort: true,
|
282
|
-
allowStaleOnFetchAbort: true,
|
283
|
-
fetchMethod: async (key, oldValue, { signal }) => {
|
284
|
-
// note: do NOT pass the signal to fetch()!
|
285
|
-
// let's say this fetch can take a long time.
|
286
|
-
const res = await fetch(`https://slow-backend-server/${key}`)
|
287
|
-
return await res.json()
|
288
|
-
},
|
289
|
-
})
|
290
|
-
|
291
|
-
// this will return the stale value after 100ms, while still
|
292
|
-
// updating in the background for next time.
|
293
|
-
const val = await c.fetch('key', { signal: AbortSignal.timeout(100) })
|
294
|
-
```
|
295
|
-
|
296
|
-
**Note**: regardless of this setting, an `abort` event _is still
|
297
|
-
emitted on the `AbortSignal` object_, so may result in invalid
|
298
|
-
results when passed to other underlying APIs that use
|
299
|
-
AbortSignals.
|
300
|
-
|
301
|
-
This may be overridden on the `fetch()` call or in the
|
302
|
-
`fetchMethod` itself.
|
303
|
-
|
304
|
-
### `dispose`
|
305
|
-
|
306
|
-
Function that is called on items when they are dropped from the
|
307
|
-
cache, as `this.dispose(value, key, reason)`.
|
308
|
-
|
309
|
-
This can be handy if you want to close file descriptors or do
|
310
|
-
other cleanup tasks when items are no longer stored in the cache.
|
311
|
-
|
312
|
-
**NOTE**: It is called _before_ the item has been fully removed
|
313
|
-
from the cache, so if you want to put it right back in, you need
|
314
|
-
to wait until the next tick. If you try to add it back in during
|
315
|
-
the `dispose()` function call, it will break things in subtle and
|
316
|
-
weird ways.
|
317
|
-
|
318
|
-
Unlike several other options, this may _not_ be overridden by
|
319
|
-
passing an option to `set()`, for performance reasons. If
|
320
|
-
disposal functions may vary between cache entries, then the
|
321
|
-
entire list must be scanned on every cache swap, even if no
|
322
|
-
disposal function is in use.
|
323
|
-
|
324
|
-
The `reason` will be one of the following strings, corresponding
|
325
|
-
to the reason for the item's deletion:
|
326
|
-
|
327
|
-
- `evict` Item was evicted to make space for a new addition
|
328
|
-
- `set` Item was overwritten by a new value
|
329
|
-
- `delete` Item was removed by explicit `cache.delete(key)` or by
|
330
|
-
calling `cache.clear()`, which deletes everything.
|
331
|
-
|
332
|
-
The `dispose()` method is _not_ called for canceled calls to
|
333
|
-
`fetchMethod()`. If you wish to handle evictions, overwrites,
|
334
|
-
and deletes of in-flight asynchronous fetches, you must use the
|
335
|
-
`AbortSignal` provided.
|
336
|
-
|
337
|
-
Optional, must be a function.
|
338
|
-
|
339
|
-
### `disposeAfter`
|
340
|
-
|
341
|
-
The same as `dispose`, but called _after_ the entry is completely
|
342
|
-
removed and the cache is once again in a clean state.
|
343
|
-
|
344
|
-
It is safe to add an item right back into the cache at this
|
345
|
-
point. However, note that it is _very_ easy to inadvertently
|
346
|
-
create infinite recursion in this way.
|
347
|
-
|
348
|
-
The `disposeAfter()` method is _not_ called for canceled calls to
|
349
|
-
`fetchMethod()`. If you wish to handle evictions, overwrites,
|
350
|
-
and deletes of in-flight asynchronous fetches, you must use the
|
351
|
-
`AbortSignal` provided.
|
352
|
-
|
353
|
-
### `noDisposeOnSet`
|
354
|
-
|
355
|
-
Set to `true` to suppress calling the `dispose()` function if the
|
356
|
-
entry key is still accessible within the cache.
|
357
|
-
|
358
|
-
This may be overridden by passing an options object to
|
359
|
-
`cache.set()`.
|
360
|
-
|
361
|
-
Boolean, default `false`. Only relevant if `dispose` or
|
362
|
-
`disposeAfter` options are set.
|
363
|
-
|
364
|
-
### `ttl`
|
365
|
-
|
366
|
-
Max time to live for items before they are considered stale.
|
367
|
-
Note that stale items are NOT preemptively removed by default,
|
368
|
-
and MAY live in the cache, contributing to its LRU max, long
|
369
|
-
after they have expired.
|
370
|
-
|
371
|
-
Also, as this cache is optimized for LRU/MRU operations, some of
|
372
|
-
the staleness/TTL checks will reduce performance.
|
373
|
-
|
374
|
-
This is not primarily a TTL cache, and does not make strong TTL
|
375
|
-
guarantees. There is no pre-emptive pruning of expired items,
|
376
|
-
but you _may_ set a TTL on the cache, and it will treat expired
|
377
|
-
items as missing when they are fetched, and delete them.
|
378
|
-
|
379
|
-
Optional, but must be a positive integer in ms if specified.
|
380
|
-
|
381
|
-
This may be overridden by passing an options object to
|
382
|
-
`cache.set()`.
|
383
|
-
|
384
|
-
At least one of `max`, `maxSize`, or `TTL` is required. This
|
385
|
-
must be a positive integer if set.
|
386
|
-
|
387
|
-
Even if ttl tracking is enabled, **it is strongly recommended to
|
388
|
-
set a `max` to prevent unbounded growth of the cache.** See
|
389
|
-
"Storage Bounds Safety" below.
|
390
|
-
|
391
|
-
If ttl tracking is enabled, and `max` and `maxSize` are not set,
|
392
|
-
and `ttlAutopurge` is not set, then a warning will be emitted
|
393
|
-
cautioning about the potential for unbounded memory consumption.
|
394
|
-
|
395
|
-
Deprecated alias: `maxAge`
|
396
|
-
|
397
|
-
### `noUpdateTTL`
|
398
|
-
|
399
|
-
Boolean flag to tell the cache to not update the TTL when setting
|
400
|
-
a new value for an existing key (ie, when updating a value rather
|
401
|
-
than inserting a new value). Note that the TTL value is _always_
|
402
|
-
set (if provided) when adding a new entry into the cache.
|
403
|
-
|
404
|
-
This may be passed as an option to `cache.set()`.
|
405
|
-
|
406
|
-
Boolean, default false.
|
407
|
-
|
408
|
-
### `ttlResolution`
|
409
|
-
|
410
|
-
Minimum amount of time in ms in which to check for staleness.
|
411
|
-
Defaults to `1`, which means that the current time is checked at
|
412
|
-
most once per millisecond.
|
413
|
-
|
414
|
-
Set to `0` to check the current time every time staleness is
|
415
|
-
tested.
|
416
|
-
|
417
|
-
Note that setting this to a higher value _will_ improve
|
418
|
-
performance somewhat while using ttl tracking, albeit at the
|
419
|
-
expense of keeping stale items around a bit longer than intended.
|
420
|
-
|
421
|
-
### `ttlAutopurge`
|
422
|
-
|
423
|
-
Preemptively remove stale items from the cache.
|
424
|
-
|
425
|
-
Note that this may _significantly_ degrade performance,
|
426
|
-
especially if the cache is storing a large number of items. It
|
427
|
-
is almost always best to just leave the stale items in the cache,
|
428
|
-
and let them fall out as new items are added.
|
429
|
-
|
430
|
-
Note that this means that `allowStale` is a bit pointless, as
|
431
|
-
stale items will be deleted almost as soon as they expire.
|
432
|
-
|
433
|
-
Use with caution!
|
434
|
-
|
435
|
-
Boolean, default `false`
|
436
|
-
|
437
|
-
### `allowStale`
|
438
|
-
|
439
|
-
By default, if you set `ttl`, it'll only delete stale items from
|
440
|
-
the cache when you `get(key)`. That is, it's not preemptively
|
441
|
-
pruning items.
|
442
|
-
|
443
|
-
If you set `allowStale:true`, it'll return the stale value as
|
444
|
-
well as deleting it. If you don't set this, then it'll return
|
445
|
-
`undefined` when you try to get a stale entry.
|
446
|
-
|
447
|
-
Note that when a stale entry is fetched, _even if it is returned
|
448
|
-
due to `allowStale` being set_, it is removed from the cache
|
449
|
-
immediately. You can immediately put it back in the cache if you
|
450
|
-
wish, thus resetting the TTL.
|
451
|
-
|
452
|
-
This may be overridden by passing an options object to
|
453
|
-
`cache.get()`. The `cache.has()` method will always return
|
454
|
-
`false` for stale items.
|
455
|
-
|
456
|
-
Boolean, default false, only relevant if `ttl` is set.
|
457
|
-
|
458
|
-
Deprecated alias: `stale`
|
459
|
-
|
460
|
-
### `noDeleteOnStaleGet`
|
461
|
-
|
462
|
-
When using time-expiring entries with `ttl`, by default stale
|
463
|
-
items will be removed from the cache when the key is accessed
|
464
|
-
with `cache.get()`.
|
465
|
-
|
466
|
-
Setting `noDeleteOnStaleGet` to `true` will cause stale items to
|
467
|
-
remain in the cache, until they are explicitly deleted with
|
468
|
-
`cache.delete(key)`, or retrieved with `noDeleteOnStaleGet` set
|
469
|
-
to `false`.
|
470
|
-
|
471
|
-
This may be overridden by passing an options object to
|
472
|
-
`cache.get()`.
|
473
|
-
|
474
|
-
Boolean, default false, only relevant if `ttl` is set.
|
475
|
-
|
476
|
-
### `updateAgeOnGet`
|
44
|
+
If you try to put an oversized thing in it, then it'll fall out right
|
45
|
+
away.
|
477
46
|
|
478
|
-
|
479
|
-
`true` will make each item's age reset to 0 whenever it is
|
480
|
-
retrieved from cache with `get()`, causing it to not expire. (It
|
481
|
-
can still fall out of cache based on recency of use, of course.)
|
482
|
-
|
483
|
-
This may be overridden by passing an options object to
|
484
|
-
`cache.get()`.
|
485
|
-
|
486
|
-
Boolean, default false, only relevant if `ttl` is set.
|
487
|
-
|
488
|
-
### `updateAgeOnHas`
|
489
|
-
|
490
|
-
When using time-expiring entries with `ttl`, setting this to
|
491
|
-
`true` will make each item's age reset to 0 whenever its presence
|
492
|
-
in the cache is checked with `has()`, causing it to not expire.
|
493
|
-
(It can still fall out of cache based on recency of use, of
|
494
|
-
course.)
|
495
|
-
|
496
|
-
This may be overridden by passing an options object to
|
497
|
-
`cache.has()`.
|
47
|
+
## Options
|
498
48
|
|
499
|
-
|
49
|
+
* `max` The maximum size of the cache, checked by applying the length
|
50
|
+
function to all values in the cache. Not setting this is kind of
|
51
|
+
silly, since that's the whole purpose of this lib, but it defaults
|
52
|
+
to `Infinity`. Setting it to a non-number or negative number will
|
53
|
+
throw a `TypeError`. Setting it to 0 makes it be `Infinity`.
|
54
|
+
* `maxAge` Maximum age in ms. Items are not pro-actively pruned out
|
55
|
+
as they age, but if you try to get an item that is too old, it'll
|
56
|
+
drop it and return undefined instead of giving it to you.
|
57
|
+
Setting this to a negative value will make everything seem old!
|
58
|
+
Setting it to a non-number will throw a `TypeError`.
|
59
|
+
* `length` Function that is used to calculate the length of stored
|
60
|
+
items. If you're storing strings or buffers, then you probably want
|
61
|
+
to do something like `function(n, key){return n.length}`. The default is
|
62
|
+
`function(){return 1}`, which is fine if you want to store `max`
|
63
|
+
like-sized things. The item is passed as the first argument, and
|
64
|
+
the key is passed as the second argumnet.
|
65
|
+
* `dispose` Function that is called on items when they are dropped
|
66
|
+
from the cache. This can be handy if you want to close file
|
67
|
+
descriptors or do other cleanup tasks when items are no longer
|
68
|
+
accessible. Called with `key, value`. It's called *before*
|
69
|
+
actually removing the item from the internal cache, so if you want
|
70
|
+
to immediately put it back in, you'll have to do that in a
|
71
|
+
`nextTick` or `setTimeout` callback or it won't do anything.
|
72
|
+
* `stale` By default, if you set a `maxAge`, it'll only actually pull
|
73
|
+
stale items out of the cache when you `get(key)`. (That is, it's
|
74
|
+
not pre-emptively doing a `setTimeout` or anything.) If you set
|
75
|
+
`stale:true`, it'll return the stale value before deleting it. If
|
76
|
+
you don't set this, then it'll return `undefined` when you try to
|
77
|
+
get a stale entry, as if it had already been deleted.
|
78
|
+
* `noDisposeOnSet` By default, if you set a `dispose()` method, then
|
79
|
+
it'll be called whenever a `set()` operation overwrites an existing
|
80
|
+
key. If you set this option, `dispose()` will only be called when a
|
81
|
+
key falls out of the cache, not when it is overwritten.
|
82
|
+
* `updateAgeOnGet` When using time-expiring entries with `maxAge`,
|
83
|
+
setting this to `true` will make each item's effective time update
|
84
|
+
to the current time whenever it is retrieved from cache, causing it
|
85
|
+
to not expire. (It can still fall out of cache based on recency of
|
86
|
+
use, of course.)
|
500
87
|
|
501
88
|
## API
|
502
89
|
|
503
|
-
|
504
|
-
|
505
|
-
Create a new LRUCache. All options are documented above, and are
|
506
|
-
on the cache as public members.
|
507
|
-
|
508
|
-
### `cache.max`, `cache.maxSize`, `cache.allowStale`,
|
509
|
-
|
510
|
-
`cache.noDisposeOnSet`, `cache.sizeCalculation`, `cache.dispose`,
|
511
|
-
`cache.maxSize`, `cache.ttl`, `cache.updateAgeOnGet`,
|
512
|
-
`cache.updateAgeOnHas`
|
513
|
-
|
514
|
-
All option names are exposed as public members on the cache
|
515
|
-
object.
|
516
|
-
|
517
|
-
These are intended for read access only. Changing them during
|
518
|
-
program operation can cause undefined behavior.
|
519
|
-
|
520
|
-
### `cache.size`
|
521
|
-
|
522
|
-
The total number of items held in the cache at the current
|
523
|
-
moment.
|
524
|
-
|
525
|
-
### `cache.calculatedSize`
|
526
|
-
|
527
|
-
The total size of items in cache when using size tracking.
|
528
|
-
|
529
|
-
### `set(key, value, [{ size, sizeCalculation, ttl, noDisposeOnSet, start, status }])`
|
530
|
-
|
531
|
-
Add a value to the cache.
|
532
|
-
|
533
|
-
Optional options object may contain `ttl` and `sizeCalculation`
|
534
|
-
as described above, which default to the settings on the cache
|
535
|
-
object.
|
536
|
-
|
537
|
-
If `start` is provided, then that will set the effective start
|
538
|
-
time for the TTL calculation. Note that this must be a previous
|
539
|
-
value of `performance.now()` if supported, or a previous value of
|
540
|
-
`Date.now()` if not.
|
541
|
-
|
542
|
-
Options object may also include `size`, which will prevent
|
543
|
-
calling the `sizeCalculation` function and just use the specified
|
544
|
-
number if it is a positive integer, and `noDisposeOnSet` which
|
545
|
-
will prevent calling a `dispose` function in the case of
|
546
|
-
overwrites.
|
547
|
-
|
548
|
-
If the `size` (or return value of `sizeCalculation`) for a given
|
549
|
-
entry is greater than `maxEntrySize`, then the item will not be
|
550
|
-
added to the cache.
|
551
|
-
|
552
|
-
Will update the recency of the entry.
|
553
|
-
|
554
|
-
Returns the cache object.
|
555
|
-
|
556
|
-
For the usage of the `status` option, see **Status Tracking**
|
557
|
-
below.
|
558
|
-
|
559
|
-
### `get(key, { updateAgeOnGet, allowStale, status } = {}) => value`
|
560
|
-
|
561
|
-
Return a value from the cache.
|
562
|
-
|
563
|
-
Will update the recency of the cache entry found.
|
564
|
-
|
565
|
-
If the key is not found, `get()` will return `undefined`. This
|
566
|
-
can be confusing when setting values specifically to `undefined`,
|
567
|
-
as in `cache.set(key, undefined)`. Use `cache.has()` to
|
568
|
-
determine whether a key is present in the cache at all.
|
569
|
-
|
570
|
-
For the usage of the `status` option, see **Status Tracking**
|
571
|
-
below.
|
572
|
-
|
573
|
-
### `async fetch(key, options = {}) => Promise`
|
574
|
-
|
575
|
-
The following options are supported:
|
576
|
-
|
577
|
-
- `updateAgeOnGet`
|
578
|
-
- `allowStale`
|
579
|
-
- `size`
|
580
|
-
- `sizeCalculation`
|
581
|
-
- `ttl`
|
582
|
-
- `noDisposeOnSet`
|
583
|
-
- `forceRefresh`
|
584
|
-
- `status` - See **Status Tracking** below.
|
585
|
-
- `signal` - AbortSignal can be used to cancel the `fetch()`.
|
586
|
-
Note that the `signal` option provided to the `fetchMethod` is
|
587
|
-
a different object, because it must also respond to internal
|
588
|
-
cache state changes, but aborting this signal will abort the
|
589
|
-
one passed to `fetchMethod` as well.
|
590
|
-
- `fetchContext` - sets the `context` option passed to the
|
591
|
-
underlying `fetchMethod`.
|
592
|
-
|
593
|
-
If the value is in the cache and not stale, then the returned
|
594
|
-
Promise resolves to the value.
|
595
|
-
|
596
|
-
If not in the cache, or beyond its TTL staleness, then
|
597
|
-
`fetchMethod(key, staleValue, { options, signal, context })` is
|
598
|
-
called, and the value returned will be added to the cache once
|
599
|
-
resolved.
|
600
|
-
|
601
|
-
If called with `allowStale`, and an asynchronous fetch is
|
602
|
-
currently in progress to reload a stale value, then the former
|
603
|
-
stale value will be returned.
|
604
|
-
|
605
|
-
If called with `forceRefresh`, then the cached item will be
|
606
|
-
re-fetched, even if it is not stale. However, if `allowStale` is
|
607
|
-
set, then the old value will still be returned. This is useful
|
608
|
-
in cases where you want to force a reload of a cached value. If
|
609
|
-
a background fetch is already in progress, then `forceRefresh`
|
610
|
-
has no effect.
|
611
|
-
|
612
|
-
Multiple fetches for the same `key` will only call `fetchMethod`
|
613
|
-
a single time, and all will be resolved when the value is
|
614
|
-
resolved, even if different options are used.
|
615
|
-
|
616
|
-
If `fetchMethod` is not specified, then this is effectively an
|
617
|
-
alias for `Promise.resolve(cache.get(key))`.
|
618
|
-
|
619
|
-
When the fetch method resolves to a value, if the fetch has not
|
620
|
-
been aborted due to deletion, eviction, or being overwritten,
|
621
|
-
then it is added to the cache using the options provided.
|
622
|
-
|
623
|
-
If the key is evicted or deleted before the `fetchMethod`
|
624
|
-
resolves, then the AbortSignal passed to the `fetchMethod` will
|
625
|
-
receive an `abort` event, and the promise returned by `fetch()`
|
626
|
-
will reject with the reason for the abort.
|
627
|
-
|
628
|
-
If a `signal` is passed to the `fetch()` call, then aborting the
|
629
|
-
signal will abort the fetch and cause the `fetch()` promise to
|
630
|
-
reject with the reason provided.
|
631
|
-
|
632
|
-
### `peek(key, { allowStale } = {}) => value`
|
633
|
-
|
634
|
-
Like `get()` but doesn't update recency or delete stale items.
|
635
|
-
|
636
|
-
Returns `undefined` if the item is stale, unless `allowStale` is
|
637
|
-
set either on the cache or in the options object.
|
638
|
-
|
639
|
-
### `has(key, { updateAgeOnHas, status } = {}) => Boolean`
|
640
|
-
|
641
|
-
Check if a key is in the cache, without updating the recency of
|
642
|
-
use. Age is updated if `updateAgeOnHas` is set to `true` in
|
643
|
-
either the options or the constructor.
|
644
|
-
|
645
|
-
Will return `false` if the item is stale, even though it is
|
646
|
-
technically in the cache. The difference can be determined (if
|
647
|
-
it matters) by using a `status` argument, and inspecting the
|
648
|
-
`has` field.
|
649
|
-
|
650
|
-
For the usage of the `status` option, see **Status Tracking**
|
651
|
-
below.
|
652
|
-
|
653
|
-
### `delete(key)`
|
654
|
-
|
655
|
-
Deletes a key out of the cache.
|
656
|
-
|
657
|
-
Returns `true` if the key was deleted, `false` otherwise.
|
658
|
-
|
659
|
-
### `clear()`
|
660
|
-
|
661
|
-
Clear the cache entirely, throwing away all values.
|
662
|
-
|
663
|
-
Deprecated alias: `reset()`
|
664
|
-
|
665
|
-
### `keys()`
|
666
|
-
|
667
|
-
Return a generator yielding the keys in the cache, in order from
|
668
|
-
most recently used to least recently used.
|
669
|
-
|
670
|
-
### `rkeys()`
|
671
|
-
|
672
|
-
Return a generator yielding the keys in the cache, in order from
|
673
|
-
least recently used to most recently used.
|
674
|
-
|
675
|
-
### `values()`
|
676
|
-
|
677
|
-
Return a generator yielding the values in the cache, in order
|
678
|
-
from most recently used to least recently used.
|
90
|
+
* `set(key, value, maxAge)`
|
91
|
+
* `get(key) => value`
|
679
92
|
|
680
|
-
|
93
|
+
Both of these will update the "recently used"-ness of the key.
|
94
|
+
They do what you think. `maxAge` is optional and overrides the
|
95
|
+
cache `maxAge` option if provided.
|
681
96
|
|
682
|
-
|
683
|
-
from least recently used to most recently used.
|
97
|
+
If the key is not found, `get()` will return `undefined`.
|
684
98
|
|
685
|
-
|
99
|
+
The key and val can be any value.
|
686
100
|
|
687
|
-
|
688
|
-
most recently used to least recently used.
|
101
|
+
* `peek(key)`
|
689
102
|
|
690
|
-
|
103
|
+
Returns the key value (or `undefined` if not found) without
|
104
|
+
updating the "recently used"-ness of the key.
|
691
105
|
|
692
|
-
|
693
|
-
|
106
|
+
(If you find yourself using this a lot, you *might* be using the
|
107
|
+
wrong sort of data structure, but there are some use cases where
|
108
|
+
it's handy.)
|
694
109
|
|
695
|
-
|
110
|
+
* `del(key)`
|
696
111
|
|
697
|
-
|
698
|
-
value, similar to `Array.find()`.
|
112
|
+
Deletes a key out of the cache.
|
699
113
|
|
700
|
-
|
114
|
+
* `reset()`
|
701
115
|
|
702
|
-
|
703
|
-
the item found.
|
116
|
+
Clear the cache entirely, throwing away all values.
|
704
117
|
|
705
|
-
|
118
|
+
* `has(key)`
|
706
119
|
|
707
|
-
|
708
|
-
|
120
|
+
Check if a key is in the cache, without updating the recent-ness
|
121
|
+
or deleting it for being stale.
|
709
122
|
|
710
|
-
|
711
|
-
`Date.now()` timestamp, even if `performance.now()` is available.
|
123
|
+
* `forEach(function(value,key,cache), [thisp])`
|
712
124
|
|
713
|
-
|
714
|
-
|
125
|
+
Just like `Array.prototype.forEach`. Iterates over all the keys
|
126
|
+
in the cache, in order of recent-ness. (Ie, more recently used
|
127
|
+
items are iterated over first.)
|
715
128
|
|
716
|
-
|
717
|
-
more easily passed around.
|
129
|
+
* `rforEach(function(value,key,cache), [thisp])`
|
718
130
|
|
719
|
-
|
131
|
+
The same as `cache.forEach(...)` but items are iterated over in
|
132
|
+
reverse order. (ie, less recently used items are iterated over
|
133
|
+
first.)
|
720
134
|
|
721
|
-
|
722
|
-
listed. Note that the shape of the resulting cache may be
|
723
|
-
different if the same options are not used in both caches.
|
135
|
+
* `keys()`
|
724
136
|
|
725
|
-
|
726
|
-
portable `Date.now()` timestamp, even if `performance.now()` is
|
727
|
-
available.
|
137
|
+
Return an array of the keys in the cache.
|
728
138
|
|
729
|
-
|
139
|
+
* `values()`
|
730
140
|
|
731
|
-
|
732
|
-
removed, `false` otherwise.
|
141
|
+
Return an array of the values in the cache.
|
733
142
|
|
734
|
-
|
735
|
-
|
736
|
-
### `getRemainingTTL(key)`
|
737
|
-
|
738
|
-
Return the number of ms left in the item's TTL. If item is not
|
739
|
-
in cache, returns `0`. Returns `Infinity` if item is in cache
|
740
|
-
without a defined TTL.
|
741
|
-
|
742
|
-
### `forEach(fn, [thisp])`
|
743
|
-
|
744
|
-
Call the `fn` function with each set of `fn(value, key, cache)`
|
745
|
-
in the LRU cache, from most recent to least recently used.
|
746
|
-
|
747
|
-
Does not affect recency of use.
|
748
|
-
|
749
|
-
If `thisp` is provided, function will be called in the
|
750
|
-
`this`-context of the provided object.
|
751
|
-
|
752
|
-
### `rforEach(fn, [thisp])`
|
753
|
-
|
754
|
-
Same as `cache.forEach(fn, thisp)`, but in order from least
|
755
|
-
recently used to most recently used.
|
756
|
-
|
757
|
-
### `pop()`
|
758
|
-
|
759
|
-
Evict the least recently used item, returning its value.
|
760
|
-
|
761
|
-
Returns `undefined` if cache is empty.
|
762
|
-
|
763
|
-
### Internal Methods and Properties
|
764
|
-
|
765
|
-
In order to optimize performance as much as possible, "private"
|
766
|
-
members and methods are exposed on the object as normal
|
767
|
-
properties, rather than being accessed via Symbols, private
|
768
|
-
members, or closure variables.
|
769
|
-
|
770
|
-
**Do not use or rely on these.** They will change or be removed
|
771
|
-
without notice. They will cause undefined behavior if used
|
772
|
-
inappropriately. There is no need or reason to ever call them
|
773
|
-
directly.
|
774
|
-
|
775
|
-
This documentation is here so that it is especially clear that
|
776
|
-
this not "undocumented" because someone forgot; it _is_
|
777
|
-
documented, and the documentation is telling you not to do it.
|
778
|
-
|
779
|
-
**Do not report bugs that stem from using these properties.**
|
780
|
-
They will be ignored.
|
781
|
-
|
782
|
-
- `initializeTTLTracking()` Set up the cache for tracking TTLs
|
783
|
-
- `updateItemAge(index)` Called when an item age is updated, by
|
784
|
-
internal ID
|
785
|
-
- `setItemTTL(index)` Called when an item ttl is updated, by
|
786
|
-
internal ID
|
787
|
-
- `isStale(index)` Called to check an item's staleness, by
|
788
|
-
internal ID
|
789
|
-
- `initializeSizeTracking()` Set up the cache for tracking item
|
790
|
-
size. Called automatically when a size is specified.
|
791
|
-
- `removeItemSize(index)` Updates the internal size calculation
|
792
|
-
when an item is removed or modified, by internal ID
|
793
|
-
- `addItemSize(index)` Updates the internal size calculation when
|
794
|
-
an item is added or modified, by internal ID
|
795
|
-
- `indexes()` An iterator over the non-stale internal IDs, from
|
796
|
-
most recently to least recently used.
|
797
|
-
- `rindexes()` An iterator over the non-stale internal IDs, from
|
798
|
-
least recently to most recently used.
|
799
|
-
- `newIndex()` Create a new internal ID, either reusing a deleted
|
800
|
-
ID, evicting the least recently used ID, or walking to the end
|
801
|
-
of the allotted space.
|
802
|
-
- `evict()` Evict the least recently used internal ID, returning
|
803
|
-
its ID. Does not do any bounds checking.
|
804
|
-
- `connect(p, n)` Connect the `p` and `n` internal IDs in the
|
805
|
-
linked list.
|
806
|
-
- `moveToTail(index)` Move the specified internal ID to the most
|
807
|
-
recently used position.
|
808
|
-
- `keyMap` Map of keys to internal IDs
|
809
|
-
- `keyList` List of keys by internal ID
|
810
|
-
- `valList` List of values by internal ID
|
811
|
-
- `sizes` List of calculated sizes by internal ID
|
812
|
-
- `ttls` List of TTL values by internal ID
|
813
|
-
- `starts` List of start time values by internal ID
|
814
|
-
- `next` Array of "next" pointers by internal ID
|
815
|
-
- `prev` Array of "previous" pointers by internal ID
|
816
|
-
- `head` Internal ID of least recently used item
|
817
|
-
- `tail` Internal ID of most recently used item
|
818
|
-
- `free` Stack of deleted internal IDs
|
819
|
-
|
820
|
-
## Status Tracking
|
821
|
-
|
822
|
-
Occasionally, it may be useful to track the internal behavior of
|
823
|
-
the cache, particularly for logging, debugging, or for behavior
|
824
|
-
within the `fetchMethod`. To do this, you can pass a `status`
|
825
|
-
object to the `get()`, `set()`, `has()`, and `fetch()` methods.
|
826
|
-
|
827
|
-
The `status` option should be a plain JavaScript object.
|
828
|
-
|
829
|
-
The following fields will be set appropriately:
|
830
|
-
|
831
|
-
```ts
|
832
|
-
interface Status<V> {
|
833
|
-
/**
|
834
|
-
* The status of a set() operation.
|
835
|
-
*
|
836
|
-
* - add: the item was not found in the cache, and was added
|
837
|
-
* - update: the item was in the cache, with the same value provided
|
838
|
-
* - replace: the item was in the cache, and replaced
|
839
|
-
* - miss: the item was not added to the cache for some reason
|
840
|
-
*/
|
841
|
-
set?: 'add' | 'update' | 'replace' | 'miss'
|
842
|
-
|
843
|
-
/**
|
844
|
-
* the ttl stored for the item, or undefined if ttls are not used.
|
845
|
-
*/
|
846
|
-
ttl?: LRUMilliseconds
|
847
|
-
|
848
|
-
/**
|
849
|
-
* the start time for the item, or undefined if ttls are not used.
|
850
|
-
*/
|
851
|
-
start?: LRUMilliseconds
|
852
|
-
|
853
|
-
/**
|
854
|
-
* The timestamp used for TTL calculation
|
855
|
-
*/
|
856
|
-
now?: LRUMilliseconds
|
857
|
-
|
858
|
-
/**
|
859
|
-
* the remaining ttl for the item, or undefined if ttls are not used.
|
860
|
-
*/
|
861
|
-
remainingTTL?: LRUMilliseconds
|
862
|
-
|
863
|
-
/**
|
864
|
-
* The calculated size for the item, if sizes are used.
|
865
|
-
*/
|
866
|
-
size?: LRUSize
|
867
|
-
|
868
|
-
/**
|
869
|
-
* A flag indicating that the item was not stored, due to exceeding the
|
870
|
-
* {@link maxEntrySize}
|
871
|
-
*/
|
872
|
-
maxEntrySizeExceeded?: true
|
873
|
-
|
874
|
-
/**
|
875
|
-
* The old value, specified in the case of `set:'update'` or
|
876
|
-
* `set:'replace'`
|
877
|
-
*/
|
878
|
-
oldValue?: V
|
879
|
-
|
880
|
-
/**
|
881
|
-
* The results of a {@link has} operation
|
882
|
-
*
|
883
|
-
* - hit: the item was found in the cache
|
884
|
-
* - stale: the item was found in the cache, but is stale
|
885
|
-
* - miss: the item was not found in the cache
|
886
|
-
*/
|
887
|
-
has?: 'hit' | 'stale' | 'miss'
|
888
|
-
|
889
|
-
/**
|
890
|
-
* The status of a {@link fetch} operation.
|
891
|
-
* Note that this can change as the underlying fetch() moves through
|
892
|
-
* various states.
|
893
|
-
*
|
894
|
-
* - inflight: there is another fetch() for this key which is in process
|
895
|
-
* - get: there is no fetchMethod, so {@link get} was called.
|
896
|
-
* - miss: the item is not in cache, and will be fetched.
|
897
|
-
* - hit: the item is in the cache, and was resolved immediately.
|
898
|
-
* - stale: the item is in the cache, but stale.
|
899
|
-
* - refresh: the item is in the cache, and not stale, but
|
900
|
-
* {@link forceRefresh} was specified.
|
901
|
-
*/
|
902
|
-
fetch?: 'get' | 'inflight' | 'miss' | 'hit' | 'stale' | 'refresh'
|
903
|
-
|
904
|
-
/**
|
905
|
-
* The {@link fetchMethod} was called
|
906
|
-
*/
|
907
|
-
fetchDispatched?: true
|
908
|
-
|
909
|
-
/**
|
910
|
-
* The cached value was updated after a successful call to fetchMethod
|
911
|
-
*/
|
912
|
-
fetchUpdated?: true
|
913
|
-
|
914
|
-
/**
|
915
|
-
* The reason for a fetch() rejection. Either the error raised by the
|
916
|
-
* {@link fetchMethod}, or the reason for an AbortSignal.
|
917
|
-
*/
|
918
|
-
fetchError?: Error
|
919
|
-
|
920
|
-
/**
|
921
|
-
* The fetch received an abort signal
|
922
|
-
*/
|
923
|
-
fetchAborted?: true
|
924
|
-
|
925
|
-
/**
|
926
|
-
* The abort signal received was ignored, and the fetch was allowed to
|
927
|
-
* continue.
|
928
|
-
*/
|
929
|
-
fetchAbortIgnored?: true
|
930
|
-
|
931
|
-
/**
|
932
|
-
* The fetchMethod promise resolved successfully
|
933
|
-
*/
|
934
|
-
fetchResolved?: true
|
935
|
-
|
936
|
-
/**
|
937
|
-
* The results of the fetchMethod promise were stored in the cache
|
938
|
-
*/
|
939
|
-
fetchUpdated?: true
|
940
|
-
|
941
|
-
/**
|
942
|
-
* The fetchMethod promise was rejected
|
943
|
-
*/
|
944
|
-
fetchRejected?: true
|
945
|
-
|
946
|
-
/**
|
947
|
-
* The status of a {@link get} operation.
|
948
|
-
*
|
949
|
-
* - fetching: The item is currently being fetched. If a previous value is
|
950
|
-
* present and allowed, that will be returned.
|
951
|
-
* - stale: The item is in the cache, and is stale.
|
952
|
-
* - hit: the item is in the cache
|
953
|
-
* - miss: the item is not in the cache
|
954
|
-
*/
|
955
|
-
get?: 'stale' | 'hit' | 'miss'
|
956
|
-
|
957
|
-
/**
|
958
|
-
* A fetch or get operation returned a stale value.
|
959
|
-
*/
|
960
|
-
returnedStale?: true
|
961
|
-
}
|
962
|
-
```
|
963
|
-
|
964
|
-
## Storage Bounds Safety
|
965
|
-
|
966
|
-
This implementation aims to be as flexible as possible, within
|
967
|
-
the limits of safe memory consumption and optimal performance.
|
968
|
-
|
969
|
-
At initial object creation, storage is allocated for `max` items.
|
970
|
-
If `max` is set to zero, then some performance is lost, and item
|
971
|
-
count is unbounded. Either `maxSize` or `ttl` _must_ be set if
|
972
|
-
`max` is not specified.
|
973
|
-
|
974
|
-
If `maxSize` is set, then this creates a safe limit on the
|
975
|
-
maximum storage consumed, but without the performance benefits of
|
976
|
-
pre-allocation. When `maxSize` is set, every item _must_ provide
|
977
|
-
a size, either via the `sizeCalculation` method provided to the
|
978
|
-
constructor, or via a `size` or `sizeCalculation` option provided
|
979
|
-
to `cache.set()`. The size of every item _must_ be a positive
|
980
|
-
integer.
|
981
|
-
|
982
|
-
If neither `max` nor `maxSize` are set, then `ttl` tracking must
|
983
|
-
be enabled. Note that, even when tracking item `ttl`, items are
|
984
|
-
_not_ preemptively deleted when they become stale, unless
|
985
|
-
`ttlAutopurge` is enabled. Instead, they are only purged the
|
986
|
-
next time the key is requested. Thus, if `ttlAutopurge`, `max`,
|
987
|
-
and `maxSize` are all not set, then the cache will potentially
|
988
|
-
grow unbounded.
|
989
|
-
|
990
|
-
In this case, a warning is printed to standard error. Future
|
991
|
-
versions may require the use of `ttlAutopurge` if `max` and
|
992
|
-
`maxSize` are not specified.
|
993
|
-
|
994
|
-
If you truly wish to use a cache that is bound _only_ by TTL
|
995
|
-
expiration, consider using a `Map` object, and calling
|
996
|
-
`setTimeout` to delete entries when they expire. It will perform
|
997
|
-
much better than an LRU cache.
|
998
|
-
|
999
|
-
Here is an implementation you may use, under the same
|
1000
|
-
[license](./LICENSE) as this package:
|
1001
|
-
|
1002
|
-
```js
|
1003
|
-
// a storage-unbounded ttl cache that is not an lru-cache
|
1004
|
-
const cache = {
|
1005
|
-
data: new Map(),
|
1006
|
-
timers: new Map(),
|
1007
|
-
set: (k, v, ttl) => {
|
1008
|
-
if (cache.timers.has(k)) {
|
1009
|
-
clearTimeout(cache.timers.get(k))
|
1010
|
-
}
|
1011
|
-
cache.timers.set(
|
1012
|
-
k,
|
1013
|
-
setTimeout(() => cache.delete(k), ttl)
|
1014
|
-
)
|
1015
|
-
cache.data.set(k, v)
|
1016
|
-
},
|
1017
|
-
get: k => cache.data.get(k),
|
1018
|
-
has: k => cache.data.has(k),
|
1019
|
-
delete: k => {
|
1020
|
-
if (cache.timers.has(k)) {
|
1021
|
-
clearTimeout(cache.timers.get(k))
|
1022
|
-
}
|
1023
|
-
cache.timers.delete(k)
|
1024
|
-
return cache.data.delete(k)
|
1025
|
-
},
|
1026
|
-
clear: () => {
|
1027
|
-
cache.data.clear()
|
1028
|
-
for (const v of cache.timers.values()) {
|
1029
|
-
clearTimeout(v)
|
1030
|
-
}
|
1031
|
-
cache.timers.clear()
|
1032
|
-
},
|
1033
|
-
}
|
1034
|
-
```
|
1035
|
-
|
1036
|
-
If that isn't to your liking, check out
|
1037
|
-
[@isaacs/ttlcache](http://npm.im/@isaacs/ttlcache).
|
1038
|
-
|
1039
|
-
## Performance
|
1040
|
-
|
1041
|
-
As of January 2022, version 7 of this library is one of the most
|
1042
|
-
performant LRU cache implementations in JavaScript.
|
1043
|
-
|
1044
|
-
Benchmarks can be extremely difficult to get right. In
|
1045
|
-
particular, the performance of set/get/delete operations on
|
1046
|
-
objects will vary _wildly_ depending on the type of key used. V8
|
1047
|
-
is highly optimized for objects with keys that are short strings,
|
1048
|
-
especially integer numeric strings. Thus any benchmark which
|
1049
|
-
tests _solely_ using numbers as keys will tend to find that an
|
1050
|
-
object-based approach performs the best.
|
1051
|
-
|
1052
|
-
Note that coercing _anything_ to strings to use as object keys is
|
1053
|
-
unsafe, unless you can be 100% certain that no other type of
|
1054
|
-
value will be used. For example:
|
1055
|
-
|
1056
|
-
```js
|
1057
|
-
const myCache = {}
|
1058
|
-
const set = (k, v) => (myCache[k] = v)
|
1059
|
-
const get = k => myCache[k]
|
1060
|
-
|
1061
|
-
set({}, 'please hang onto this for me')
|
1062
|
-
set('[object Object]', 'oopsie')
|
1063
|
-
```
|
143
|
+
* `length`
|
1064
144
|
|
1065
|
-
|
1066
|
-
|
1067
|
-
incredibly costly, with several "tipping points" where it
|
1068
|
-
increases exponentially. As a result, putting that off until
|
1069
|
-
later can make it much worse, and less predictable. If a library
|
1070
|
-
performs well, but only in a scenario where the object graph is
|
1071
|
-
kept shallow, then that won't help you if you are using large
|
1072
|
-
objects as keys.
|
145
|
+
Return total length of objects in cache taking into account
|
146
|
+
`length` options function.
|
1073
147
|
|
1074
|
-
|
1075
|
-
performance (such as a cache like this one), it's best to choose
|
1076
|
-
an option that will perform well in the sorts of scenarios where
|
1077
|
-
you'll actually use it.
|
148
|
+
* `itemCount`
|
1078
149
|
|
1079
|
-
|
1080
|
-
|
1081
|
-
|
1082
|
-
options, in part because of that optimization. It is assumed
|
1083
|
-
that you'll be caching some costly operation, ideally as rarely
|
1084
|
-
as possible, so optimizing set over get would be unwise.
|
150
|
+
Return total quantity of objects currently in cache. Note, that
|
151
|
+
`stale` (see options) items are returned as part of this item
|
152
|
+
count.
|
1085
153
|
|
1086
|
-
|
154
|
+
* `dump()`
|
1087
155
|
|
1088
|
-
|
1089
|
-
|
1090
|
-
used as keys, then do that, and use a cache such as
|
1091
|
-
[lru-fast](https://npmjs.com/package/lru-fast), or
|
1092
|
-
[mnemonist's
|
1093
|
-
LRUCache](https://yomguithereal.github.io/mnemonist/lru-cache)
|
1094
|
-
which uses an Object as its data store.
|
1095
|
-
2. Failing that, if at all possible, use short non-numeric
|
1096
|
-
strings (ie, less than 256 characters) as your keys, and use
|
1097
|
-
[mnemonist's
|
1098
|
-
LRUCache](https://yomguithereal.github.io/mnemonist/lru-cache).
|
1099
|
-
3. If the types of your keys will be long strings, strings that
|
1100
|
-
look like floats, `null`, objects, or some mix of types, or if
|
1101
|
-
you aren't sure, then this library will work well for you.
|
1102
|
-
4. Do not use a `dispose` function, size tracking, or especially
|
1103
|
-
ttl behavior, unless absolutely needed. These features are
|
1104
|
-
convenient, and necessary in some use cases, and every attempt
|
1105
|
-
has been made to make the performance impact minimal, but it
|
1106
|
-
isn't nothing.
|
156
|
+
Return an array of the cache entries ready for serialization and usage
|
157
|
+
with 'destinationCache.load(arr)`.
|
1107
158
|
|
1108
|
-
|
159
|
+
* `load(cacheEntriesArray)`
|
1109
160
|
|
1110
|
-
|
1111
|
-
|
1112
|
-
performance, albeit with some subtle changes as a result.
|
161
|
+
Loads another cache entries array, obtained with `sourceCache.dump()`,
|
162
|
+
into the cache. The destination cache is reset before loading new entries
|
1113
163
|
|
1114
|
-
|
1115
|
-
before, it probably will not work in version 7 and above.
|
164
|
+
* `prune()`
|
1116
165
|
|
1117
|
-
|
166
|
+
Manually iterates over the entire cache proactively pruning old entries
|