forked from olcxjas-softworks/LarpixClient
update electron to v43
This commit is contained in:
parent
68ac0beedf
commit
fb6c8b6ee9
5385 changed files with 513060 additions and 123058 deletions
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"diagnostics-channel-browser.d.ts","sourceRoot":"","sources":["../../../src/diagnostics-channel-browser.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,CAAA;AAGvC,eAAO,MAAM,OAAO,EAAY,OAAO,CAAC,OAAO,CAAC,CAAA;AAChD,eAAO,MAAM,OAAO,EAAY,cAAc,CAAC,OAAO,CAAC,CAAA"}
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"diagnostics-channel-browser.js","sourceRoot":"","sources":["../../../src/diagnostics-channel-browser.ts"],"names":[],"mappings":";;;AAQA,MAAM,KAAK,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAA;AAC1B,QAAA,OAAO,GAAG,KAAyB,CAAA;AACnC,QAAA,OAAO,GAAG,KAAgC,CAAA","sourcesContent":["// this is used in ESM environments that follow the 'browser' import\n// condition, to avoid even trying to load node:diagnostics_channel\nimport {\n type Channel,\n type TracingChannel,\n} from 'node:diagnostics_channel'\nexport type { TracingChannel, Channel }\n\nconst dummy = { hasSubscribers: false }\nexport const metrics = dummy as Channel<unknown>\nexport const tracing = dummy as TracingChannel<unknown>\n"]}
|
||||
5
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts
generated
vendored
Normal file
5
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
import { type Channel, type TracingChannel } from 'node:diagnostics_channel';
|
||||
export type { TracingChannel, Channel };
|
||||
export declare const metrics: Channel<unknown>;
|
||||
export declare const tracing: TracingChannel<unknown>;
|
||||
//# sourceMappingURL=diagnostics-channel-browser.d.ts.map
|
||||
7
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js
generated
vendored
Normal file
7
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js
generated
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.tracing = exports.metrics = void 0;
|
||||
const dummy = { hasSubscribers: false };
|
||||
exports.metrics = dummy;
|
||||
exports.tracing = dummy;
|
||||
//# sourceMappingURL=diagnostics-channel-browser.js.map
|
||||
1400
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.d.ts
generated
vendored
Normal file
1400
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1733
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.js
generated
vendored
Normal file
1733
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.js.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.min.js
generated
vendored
Normal file
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.min.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
7
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map
generated
vendored
Normal file
7
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
12
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts
generated
vendored
Normal file
12
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
/**
|
||||
* this provides the default Perf object source, either the
|
||||
* `performance` global, or the `Date` constructor.
|
||||
*
|
||||
* it can be passed in via configuration to override it
|
||||
* for a single LRU object.
|
||||
*/
|
||||
export type Perf = {
|
||||
now: () => number;
|
||||
};
|
||||
export declare const defaultPerf: Perf;
|
||||
//# sourceMappingURL=perf.d.ts.map
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"perf.d.ts","sourceRoot":"","sources":["../../../src/perf.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,IAAI,GAAG;IAAE,GAAG,EAAE,MAAM,MAAM,CAAA;CAAE,CAAA;AACxC,eAAO,MAAM,WAAW,EAAE,IAQG,CAAA"}
|
||||
10
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.js
generated
vendored
Normal file
10
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.js
generated
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.defaultPerf = void 0;
|
||||
exports.defaultPerf = (typeof performance === 'object' &&
|
||||
performance &&
|
||||
typeof performance.now === 'function') ?
|
||||
/* c8 ignore start - this gets covered, but c8 gets confused */
|
||||
performance
|
||||
: /* c8 ignore stop */ Date;
|
||||
//# sourceMappingURL=perf.js.map
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.js.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"perf.js","sourceRoot":"","sources":["../../../src/perf.ts"],"names":[],"mappings":";;;AAQa,QAAA,WAAW,GACtB,CACE,OAAO,WAAW,KAAK,QAAQ;IAC/B,WAAW;IACX,OAAO,WAAW,CAAC,GAAG,KAAK,UAAU,CACtC,CAAC,CAAC;IACD,+DAA+D;IAC/D,WAAW;IACb,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAA","sourcesContent":["/**\n * this provides the default Perf object source, either the\n * `performance` global, or the `Date` constructor.\n *\n * it can be passed in via configuration to override it\n * for a single LRU object.\n */\nexport type Perf = { now: () => number }\nexport const defaultPerf: Perf =\n (\n typeof performance === 'object' &&\n performance &&\n typeof performance.now === 'function'\n ) ?\n /* c8 ignore start - this gets covered, but c8 gets confused */\n performance\n : /* c8 ignore stop */ Date\n"]}
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"diagnostics-channel-cjs.cjs","sourceRoot":"","sources":["../../src/diagnostics-channel-cjs.cts"],"names":[],"mappings":";;;AAQA,MAAM,KAAK,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAA;AAC1B,QAAA,OAAO,GAAG,KAAyB,CAAA;AACnC,QAAA,OAAO,GAAG,KAAgC,CAAA","sourcesContent":["// this is used in CJS environments that do NOT follow the 'node' import\n// condition, to avoid even trying to load node:diagnostics_channel\nimport {\n type Channel,\n type TracingChannel,\n} from 'node:diagnostics_channel'\nexport type { TracingChannel, Channel }\n\nconst dummy = { hasSubscribers: false }\nexport const metrics = dummy as Channel<unknown>\nexport const tracing = dummy as TracingChannel<unknown>\n"]}
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"diagnostics-channel-cjs.d.cts","sourceRoot":"","sources":["../../src/diagnostics-channel-cjs.cts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,CAAA;AAGvC,eAAO,MAAM,OAAO,EAAY,OAAO,CAAC,OAAO,CAAC,CAAA;AAChD,eAAO,MAAM,OAAO,EAAY,cAAc,CAAC,OAAO,CAAC,CAAA"}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
import type { TracingChannel, Channel } from 'node:diagnostics_channel';
|
||||
import { type Channel, type TracingChannel } from 'node:diagnostics_channel';
|
||||
export type { TracingChannel, Channel };
|
||||
export declare const metrics: Channel<unknown>;
|
||||
export declare const tracing: TracingChannel<unknown>;
|
||||
//# sourceMappingURL=diagnostics-channel.d.ts.map
|
||||
//# sourceMappingURL=diagnostics-channel-cjs.d.cts.map
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"version":3,"file":"diagnostics-channel.d.ts","sourceRoot":"","sources":["../../src/diagnostics-channel.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AACvE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,CAAA;AACvC,eAAO,MAAM,OAAO,EAAE,OAAO,CAAC,OAAO,CAAgC,CAAA;AACrE,eAAO,MAAM,OAAO,EAAE,cAAc,CAAC,OAAO,CAA+B,CAAA"}
|
||||
|
|
@ -1,10 +1,7 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.tracing = exports.metrics = void 0;
|
||||
// simple node version that imports from node builtin
|
||||
// this gets compiled to a require() commonjs-style override,
|
||||
// not using top level await on a conditional dynamic import
|
||||
const node_diagnostics_channel_1 = require("node:diagnostics_channel");
|
||||
exports.metrics = (0, node_diagnostics_channel_1.channel)('lru-cache:metrics');
|
||||
exports.tracing = (0, node_diagnostics_channel_1.tracingChannel)('lru-cache');
|
||||
//# sourceMappingURL=diagnostics-channel.js.map
|
||||
const dummy = { hasSubscribers: false };
|
||||
exports.metrics = dummy;
|
||||
exports.tracing = dummy;
|
||||
//# sourceMappingURL=diagnostics-channel-cjs.cjs.map
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"version":3,"file":"diagnostics-channel.js","sourceRoot":"","sources":["../../src/diagnostics-channel.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,6DAA6D;AAC7D,4DAA4D;AAC5D,uEAAkE;AAGrD,QAAA,OAAO,GAAqB,IAAA,kCAAO,EAAC,mBAAmB,CAAC,CAAA;AACxD,QAAA,OAAO,GAA4B,IAAA,yCAAc,EAAC,WAAW,CAAC,CAAA","sourcesContent":["// simple node version that imports from node builtin\n// this gets compiled to a require() commonjs-style override,\n// not using top level await on a conditional dynamic import\nimport { tracingChannel, channel } from 'node:diagnostics_channel'\nimport type { TracingChannel, Channel } from 'node:diagnostics_channel'\nexport type { TracingChannel, Channel }\nexport const metrics: Channel<unknown> = channel('lru-cache:metrics')\nexport const tracing: TracingChannel<unknown> = tracingChannel('lru-cache')\n"]}
|
||||
63
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.d.ts
generated
vendored
63
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.d.ts
generated
vendored
|
|
@ -1,9 +1,8 @@
|
|||
/**
|
||||
* @module LRUCache
|
||||
*/
|
||||
export type Perf = {
|
||||
now: () => number;
|
||||
};
|
||||
import type { Perf } from './perf.js';
|
||||
export type { Perf } from './perf.js';
|
||||
declare const TYPE: unique symbol;
|
||||
export type PosInt = number & {
|
||||
[TYPE]: 'Positive Integer';
|
||||
|
|
@ -124,7 +123,7 @@ export declare namespace LRUCache {
|
|||
* `lru-cache:metrics` diagnostic channel, and the `lru-cache` tracing
|
||||
* channels, in platforms that support them.
|
||||
*/
|
||||
interface Status<K, V> {
|
||||
interface Status<K, V, FC = unknown> {
|
||||
/**
|
||||
* The operation being performed
|
||||
*/
|
||||
|
|
@ -290,6 +289,10 @@ export declare namespace LRUCache {
|
|||
* A tracingChannel trace was started for this operation
|
||||
*/
|
||||
trace?: boolean;
|
||||
/**
|
||||
* A reference to the cache instance associated with this operation
|
||||
*/
|
||||
cache?: LRUCache<K & {}, V & {}, FC>;
|
||||
}
|
||||
/**
|
||||
* options which override the options set in the LRUCache constructor
|
||||
|
|
@ -307,7 +310,7 @@ export declare namespace LRUCache {
|
|||
* the fetchMethod is called.
|
||||
*/
|
||||
interface FetcherFetchOptions<K, V, FC = unknown> extends Pick<OptionsBase<K, V, FC>, 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet' | 'sizeCalculation' | 'ttl' | 'noDisposeOnSet' | 'noUpdateTTL' | 'noDeleteOnFetchRejection' | 'allowStaleOnFetchRejection' | 'ignoreFetchAbort' | 'allowStaleOnFetchAbort'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
size?: Size;
|
||||
}
|
||||
/**
|
||||
|
|
@ -329,7 +332,7 @@ export declare namespace LRUCache {
|
|||
*/
|
||||
context?: FC;
|
||||
signal?: AbortSignal;
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options provided to {@link LRUCache#fetch} when the FC type is something
|
||||
|
|
@ -342,8 +345,8 @@ export declare namespace LRUCache {
|
|||
* Options provided to {@link LRUCache#fetch} when the FC type is
|
||||
* `undefined` or `void`
|
||||
*/
|
||||
interface FetchOptionsNoContext<K, V> extends FetchOptions<K, V, undefined> {
|
||||
context?: undefined;
|
||||
interface FetchOptionsNoContext<K, V, FC extends undefined | void = undefined> extends FetchOptions<K, V, FC> {
|
||||
context?: FC;
|
||||
}
|
||||
interface MemoOptions<K, V, FC = unknown> extends Pick<OptionsBase<K, V, FC>, 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet' | 'sizeCalculation' | 'ttl' | 'noDisposeOnSet' | 'noUpdateTTL' | 'noDeleteOnFetchRejection' | 'allowStaleOnFetchRejection' | 'ignoreFetchAbort' | 'allowStaleOnFetchAbort'> {
|
||||
/**
|
||||
|
|
@ -360,7 +363,7 @@ export declare namespace LRUCache {
|
|||
* be required.
|
||||
*/
|
||||
context?: FC;
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options provided to {@link LRUCache#memo} when the FC type is something
|
||||
|
|
@ -373,8 +376,8 @@ export declare namespace LRUCache {
|
|||
* Options provided to {@link LRUCache#memo} when the FC type is
|
||||
* `undefined` or `void`
|
||||
*/
|
||||
interface MemoOptionsNoContext<K, V> extends MemoOptions<K, V, undefined> {
|
||||
context?: undefined;
|
||||
interface MemoOptionsNoContext<K, V, FC extends undefined | void = undefined> extends MemoOptions<K, V, FC> {
|
||||
context?: FC;
|
||||
}
|
||||
/**
|
||||
* Options provided to the
|
||||
|
|
@ -402,7 +405,7 @@ export declare namespace LRUCache {
|
|||
* the memoMethod is called.
|
||||
*/
|
||||
interface MemoizerMemoOptions<K, V, FC = unknown> extends Pick<OptionsBase<K, V, FC>, 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet' | 'sizeCalculation' | 'ttl' | 'noDisposeOnSet' | 'noUpdateTTL'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
size?: Size;
|
||||
start?: Milliseconds;
|
||||
}
|
||||
|
|
@ -410,19 +413,19 @@ export declare namespace LRUCache {
|
|||
* Options that may be passed to the {@link LRUCache#has} method.
|
||||
*/
|
||||
interface HasOptions<K, V, FC> extends Pick<OptionsBase<K, V, FC>, 'updateAgeOnHas'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options that may be passed to the {@link LRUCache#get} method.
|
||||
*/
|
||||
interface GetOptions<K, V, FC> extends Pick<OptionsBase<K, V, FC>, 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options that may be passed to the {@link LRUCache#peek} method.
|
||||
*/
|
||||
interface PeekOptions<K, V, FC> extends Pick<OptionsBase<K, V, FC>, 'allowStale'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options that may be passed to the {@link LRUCache#set} method.
|
||||
|
|
@ -443,7 +446,7 @@ export declare namespace LRUCache {
|
|||
* method is in use.
|
||||
*/
|
||||
start?: Milliseconds;
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* The type signature for the {@link OptionsBase.fetchMethod} option.
|
||||
|
|
@ -696,6 +699,20 @@ export declare namespace LRUCache {
|
|||
* though for most cases, only minimally.
|
||||
*/
|
||||
maxSize?: Size;
|
||||
/**
|
||||
* The effective size for background fetch promises.
|
||||
*
|
||||
* This has no effect unless `maxSize` and `sizeCalculation` are used,
|
||||
* and a {@link LRUCache.OptionsBase.fetchMethod} is provided to
|
||||
* support {@link LRUCache#fetch}.
|
||||
*
|
||||
* If a stale value is present in the cache, then the effective size of
|
||||
* the background fetch is the size of the stale item it will eventually
|
||||
* replace. If not, then this value is used as its effective size.
|
||||
*
|
||||
* @default 1
|
||||
*/
|
||||
backgroundFetchSize?: number;
|
||||
/**
|
||||
* The maximum allowed size for any single item in the cache.
|
||||
*
|
||||
|
|
@ -998,6 +1015,8 @@ export declare class LRUCache<K extends {}, V extends {}, FC = unknown> {
|
|||
* {@link LRUCache.OptionsBase.ignoreFetchAbort}
|
||||
*/
|
||||
ignoreFetchAbort: boolean;
|
||||
/** {@link LRUCache.OptionsBase.backgroundFetchSize} */
|
||||
backgroundFetchSize: number;
|
||||
/**
|
||||
* Do not call this method unless you need to inspect the
|
||||
* inner workings of the cache. If anything returned by this
|
||||
|
|
@ -1327,8 +1346,8 @@ export declare class LRUCache<K extends {}, V extends {}, FC = unknown> {
|
|||
* the same time, because they're both waiting on the same
|
||||
* underlying fetchMethod response.
|
||||
*/
|
||||
fetch(k: K, fetchOptions: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V> : LRUCache.FetchOptionsWithContext<K, V, FC>): Promise<undefined | V>;
|
||||
fetch(k: unknown extends FC ? K : FC extends undefined | void ? K : never, fetchOptions?: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V> : never): Promise<undefined | V>;
|
||||
fetch(k: K, fetchOptions: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V, FC> : LRUCache.FetchOptionsWithContext<K, V, FC>): Promise<undefined | V>;
|
||||
fetch(k: unknown extends FC ? K : FC extends undefined | void ? K : never, fetchOptions?: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V, FC> : never): Promise<undefined | V>;
|
||||
/**
|
||||
* In some cases, `cache.fetch()` may resolve to `undefined`, either because
|
||||
* a {@link LRUCache.OptionsBase#fetchMethod} was not provided (turning
|
||||
|
|
@ -1342,8 +1361,8 @@ export declare class LRUCache<K extends {}, V extends {}, FC = unknown> {
|
|||
* cumbersome, but testing for `undefined` can also be annoying, this method
|
||||
* can be used, which will reject if `this.fetch()` resolves to undefined.
|
||||
*/
|
||||
forceFetch(k: K, fetchOptions: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V> : LRUCache.FetchOptionsWithContext<K, V, FC>): Promise<V>;
|
||||
forceFetch(k: unknown extends FC ? K : FC extends undefined | void ? K : never, fetchOptions?: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V> : never): Promise<V>;
|
||||
forceFetch(k: K, fetchOptions: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V, FC> : LRUCache.FetchOptionsWithContext<K, V, FC>): Promise<V>;
|
||||
forceFetch(k: unknown extends FC ? K : FC extends undefined | void ? K : never, fetchOptions?: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V, FC> : never): Promise<V>;
|
||||
/**
|
||||
* If the key is found in the cache, then this is equivalent to
|
||||
* {@link LRUCache#get}. If not, in the cache, then calculate the value using
|
||||
|
|
@ -1358,8 +1377,8 @@ export declare class LRUCache<K extends {}, V extends {}, FC = unknown> {
|
|||
* relevant in the course of fetching the data. It is only relevant for the
|
||||
* course of a single `memo()` operation, and discarded afterwards.
|
||||
*/
|
||||
memo(k: K, memoOptions: unknown extends FC ? LRUCache.MemoOptions<K, V, FC> : FC extends undefined | void ? LRUCache.MemoOptionsNoContext<K, V> : LRUCache.MemoOptionsWithContext<K, V, FC>): V;
|
||||
memo(k: unknown extends FC ? K : FC extends undefined | void ? K : never, memoOptions?: unknown extends FC ? LRUCache.MemoOptions<K, V, FC> : FC extends undefined | void ? LRUCache.MemoOptionsNoContext<K, V> : never): V;
|
||||
memo(k: K, memoOptions: unknown extends FC ? LRUCache.MemoOptions<K, V, FC> : FC extends undefined | void ? LRUCache.MemoOptionsNoContext<K, V, FC> : LRUCache.MemoOptionsWithContext<K, V, FC>): V;
|
||||
memo(k: unknown extends FC ? K : FC extends undefined | void ? K : never, memoOptions?: unknown extends FC ? LRUCache.MemoOptions<K, V, FC> : FC extends undefined | void ? LRUCache.MemoOptionsNoContext<K, V, FC> : never): V;
|
||||
/**
|
||||
* Return a value from the cache. Will update the recency of the cache
|
||||
* entry found.
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
163
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js
generated
vendored
163
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js
generated
vendored
|
|
@ -5,12 +5,8 @@
|
|||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.LRUCache = void 0;
|
||||
const diagnostics_channel_js_1 = require("./diagnostics-channel.js");
|
||||
const perf_js_1 = require("./perf.js");
|
||||
const hasSubscribers = () => diagnostics_channel_js_1.metrics.hasSubscribers || diagnostics_channel_js_1.tracing.hasSubscribers;
|
||||
const defaultPerf = (typeof performance === 'object' &&
|
||||
performance &&
|
||||
typeof performance.now === 'function') ?
|
||||
performance
|
||||
: Date;
|
||||
const warned = new Set();
|
||||
/* c8 ignore start */
|
||||
const PROCESS = (typeof process === 'object' && !!process ?
|
||||
|
|
@ -52,7 +48,9 @@ class ZeroArray extends Array {
|
|||
}
|
||||
}
|
||||
class Stack {
|
||||
/* c8 ignore start - not sure why this is showing up uncovered?? */
|
||||
heap;
|
||||
/* c8 ignore stop */
|
||||
length;
|
||||
// private constructor
|
||||
static #constructing = false;
|
||||
|
|
@ -172,6 +170,8 @@ class LRUCache {
|
|||
* {@link LRUCache.OptionsBase.ignoreFetchAbort}
|
||||
*/
|
||||
ignoreFetchAbort;
|
||||
/** {@link LRUCache.OptionsBase.backgroundFetchSize} */
|
||||
backgroundFetchSize;
|
||||
// computed properties
|
||||
#size;
|
||||
#calculatedSize;
|
||||
|
|
@ -282,13 +282,14 @@ class LRUCache {
|
|||
return this.#disposeAfter;
|
||||
}
|
||||
constructor(options) {
|
||||
const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort, perf, } = options;
|
||||
const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort, backgroundFetchSize = 1, perf, } = options;
|
||||
this.backgroundFetchSize = backgroundFetchSize;
|
||||
if (perf !== undefined) {
|
||||
if (typeof perf?.now !== 'function') {
|
||||
throw new TypeError('perf option must have a now() method if specified');
|
||||
}
|
||||
}
|
||||
this.#perf = perf ?? defaultPerf;
|
||||
this.#perf = perf ?? perf_js_1.defaultPerf;
|
||||
if (max !== 0 && !isPosInt(max)) {
|
||||
throw new TypeError('max option must be a nonnegative integer');
|
||||
}
|
||||
|
|
@ -411,17 +412,17 @@ class LRUCache {
|
|||
this.#setItemTTL = (index, ttl, start = this.#perf.now()) => {
|
||||
starts[index] = ttl !== 0 ? start : 0;
|
||||
ttls[index] = ttl;
|
||||
setPurgetTimer(index, ttl);
|
||||
setPurgeTimer(index, ttl);
|
||||
};
|
||||
this.#updateItemAge = index => {
|
||||
starts[index] = ttls[index] !== 0 ? this.#perf.now() : 0;
|
||||
setPurgetTimer(index, ttls[index]);
|
||||
setPurgeTimer(index, ttls[index]);
|
||||
};
|
||||
// clear out the purge timer if we're setting TTL to 0, and
|
||||
// previously had a ttl purge timer running, so it doesn't
|
||||
// fire unnecessarily. Don't need to do this if we're not doing
|
||||
// autopurge.
|
||||
const setPurgetTimer = !this.ttlAutopurge ?
|
||||
const setPurgeTimer = !this.ttlAutopurge ?
|
||||
() => { }
|
||||
: (index, ttl) => {
|
||||
if (purgeTimers?.[index]) {
|
||||
|
|
@ -432,6 +433,10 @@ class LRUCache {
|
|||
const t = setTimeout(() => {
|
||||
if (this.#isStale(index)) {
|
||||
this.#delete(this.#keyList[index], 'expire');
|
||||
purgeTimers[index] = undefined;
|
||||
}
|
||||
else {
|
||||
setPurgeTimer(index, getRemainingTTL(index));
|
||||
}
|
||||
}, ttl + 1);
|
||||
// unref() not supported on all platforms
|
||||
|
|
@ -481,6 +486,9 @@ class LRUCache {
|
|||
if (index === undefined) {
|
||||
return 0;
|
||||
}
|
||||
return getRemainingTTL(index);
|
||||
};
|
||||
const getRemainingTTL = (index) => {
|
||||
const ttl = ttls[index];
|
||||
const start = starts[index];
|
||||
if (!ttl || !start) {
|
||||
|
|
@ -510,12 +518,15 @@ class LRUCache {
|
|||
sizes[index] = 0;
|
||||
};
|
||||
this.#requireSize = (k, v, size, sizeCalculation) => {
|
||||
// provisionally accept background fetches.
|
||||
// actual value size will be checked when they return.
|
||||
if (this.#isBackgroundFetch(v)) {
|
||||
return 0;
|
||||
}
|
||||
if (!isPosInt(size)) {
|
||||
// provisionally accept background fetches.
|
||||
// actual value size will be checked when they return.
|
||||
if (this.#isBackgroundFetch(v)) {
|
||||
// NB: this cannot occur if v.__staleWhileFetching is set,
|
||||
// because in that case, it would take on the size of the
|
||||
// existing entry that it temporarily replaces.
|
||||
return this.backgroundFetchSize;
|
||||
}
|
||||
if (sizeCalculation) {
|
||||
if (typeof sizeCalculation !== 'function') {
|
||||
throw new TypeError('sizeCalculation must be a function');
|
||||
|
|
@ -882,6 +893,7 @@ class LRUCache {
|
|||
status.key = k;
|
||||
if (v !== undefined)
|
||||
status.value = v;
|
||||
status.cache = this;
|
||||
}
|
||||
const result = this.#set(k, v, setOptions);
|
||||
if (status && diagnostics_channel_js_1.metrics.hasSubscribers) {
|
||||
|
|
@ -889,8 +901,9 @@ class LRUCache {
|
|||
}
|
||||
return result;
|
||||
}
|
||||
#set(k, v, setOptions = {}) {
|
||||
#set(k, v, setOptions, bf) {
|
||||
const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status, } = setOptions;
|
||||
const isBF = this.#isBackgroundFetch(v);
|
||||
if (v === undefined) {
|
||||
if (status)
|
||||
status.set = 'deleted';
|
||||
|
|
@ -898,7 +911,7 @@ class LRUCache {
|
|||
return this;
|
||||
}
|
||||
let { noUpdateTTL = this.noUpdateTTL } = setOptions;
|
||||
if (status && !this.#isBackgroundFetch(v))
|
||||
if (status && !isBF)
|
||||
status.value = v;
|
||||
const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation, status);
|
||||
// if the item doesn't fit, don't do anything
|
||||
|
|
@ -930,52 +943,68 @@ class LRUCache {
|
|||
if (status)
|
||||
status.set = 'add';
|
||||
noUpdateTTL = false;
|
||||
if (this.#hasOnInsert) {
|
||||
if (this.#hasOnInsert && !isBF) {
|
||||
this.#onInsert?.(v, k, 'add');
|
||||
}
|
||||
}
|
||||
else {
|
||||
// update
|
||||
// might be updating a background fetch!
|
||||
this.#moveToTail(index);
|
||||
const oldVal = this.#valList[index];
|
||||
if (v !== oldVal) {
|
||||
if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
|
||||
oldVal.__abortController.abort(new Error('replaced'));
|
||||
const { __staleWhileFetching: s } = oldVal;
|
||||
if (s !== undefined && !noDisposeOnSet) {
|
||||
if (!noDisposeOnSet) {
|
||||
if (this.#isBackgroundFetch(oldVal)) {
|
||||
if (oldVal !== bf) {
|
||||
// setting over a background fetch, not merely resolving it.
|
||||
oldVal.__abortController.abort(new Error('replaced'));
|
||||
}
|
||||
const { __staleWhileFetching: s } = oldVal;
|
||||
if (s !== undefined && s !== v) {
|
||||
if (this.#hasDispose) {
|
||||
this.#dispose?.(s, k, 'set');
|
||||
}
|
||||
if (this.#hasDisposeAfter) {
|
||||
this.#disposed?.push([s, k, 'set']);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (this.#hasDispose) {
|
||||
this.#dispose?.(s, k, 'set');
|
||||
this.#dispose?.(oldVal, k, 'set');
|
||||
}
|
||||
if (this.#hasDisposeAfter) {
|
||||
this.#disposed?.push([s, k, 'set']);
|
||||
this.#disposed?.push([oldVal, k, 'set']);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!noDisposeOnSet) {
|
||||
if (this.#hasDispose) {
|
||||
this.#dispose?.(oldVal, k, 'set');
|
||||
}
|
||||
if (this.#hasDisposeAfter) {
|
||||
this.#disposed?.push([oldVal, k, 'set']);
|
||||
}
|
||||
}
|
||||
this.#removeItemSize(index);
|
||||
this.#addItemSize(index, size, status);
|
||||
this.#valList[index] = v;
|
||||
if (status) {
|
||||
status.set = 'replace';
|
||||
if (!isBF) {
|
||||
const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ?
|
||||
oldVal.__staleWhileFetching
|
||||
: oldVal;
|
||||
if (oldValue !== undefined)
|
||||
status.oldValue = oldValue;
|
||||
const setType = oldValue === undefined ? 'add'
|
||||
: v !== oldValue ? 'replace'
|
||||
: 'update';
|
||||
if (status) {
|
||||
status.set = setType;
|
||||
if (oldValue !== undefined)
|
||||
status.oldValue = oldValue;
|
||||
}
|
||||
if (this.#hasOnInsert) {
|
||||
this.onInsert?.(v, k, setType);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (status) {
|
||||
status.set = 'update';
|
||||
}
|
||||
if (this.#hasOnInsert) {
|
||||
this.onInsert?.(v, k, v === oldVal ? 'update' : 'replace');
|
||||
else if (!isBF) {
|
||||
if (status) {
|
||||
status.set = 'update';
|
||||
}
|
||||
if (this.#hasOnInsert) {
|
||||
this.onInsert?.(v, k, 'update');
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ttl !== 0 && !this.#ttls) {
|
||||
|
|
@ -1030,15 +1059,18 @@ class LRUCache {
|
|||
const head = this.#head;
|
||||
const k = this.#keyList[head];
|
||||
const v = this.#valList[head];
|
||||
if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
|
||||
const isBF = this.#isBackgroundFetch(v);
|
||||
if (isBF) {
|
||||
v.__abortController.abort(new Error('evicted'));
|
||||
}
|
||||
else if (this.#hasDispose || this.#hasDisposeAfter) {
|
||||
const oldValue = isBF ? v.__staleWhileFetching : v;
|
||||
if ((this.#hasDispose || this.#hasDisposeAfter) &&
|
||||
oldValue !== undefined) {
|
||||
if (this.#hasDispose) {
|
||||
this.#dispose?.(v, k, 'evict');
|
||||
this.#dispose?.(oldValue, k, 'evict');
|
||||
}
|
||||
if (this.#hasDisposeAfter) {
|
||||
this.#disposed?.push([v, k, 'evict']);
|
||||
this.#disposed?.push([oldValue, k, 'evict']);
|
||||
}
|
||||
}
|
||||
this.#removeItemSize(head);
|
||||
|
|
@ -1085,6 +1117,7 @@ class LRUCache {
|
|||
if (status) {
|
||||
status.op = 'has';
|
||||
status.key = k;
|
||||
status.cache = this;
|
||||
}
|
||||
const result = this.#has(k, hasOptions);
|
||||
if (diagnostics_channel_js_1.metrics.hasSubscribers)
|
||||
|
|
@ -1132,6 +1165,7 @@ class LRUCache {
|
|||
if (status) {
|
||||
status.op = 'peek';
|
||||
status.key = k;
|
||||
status.cache = this;
|
||||
}
|
||||
peekOptions.status = status;
|
||||
const result = this.#peek(k, peekOptions);
|
||||
|
|
@ -1214,7 +1248,7 @@ class LRUCache {
|
|||
else {
|
||||
if (options.status)
|
||||
options.status.fetchUpdated = true;
|
||||
this.#set(k, v, fetchOpts.options);
|
||||
this.#set(k, v, fetchOpts.options, bf);
|
||||
}
|
||||
}
|
||||
return v;
|
||||
|
|
@ -1260,9 +1294,6 @@ class LRUCache {
|
|||
};
|
||||
const pcall = (res, rej) => {
|
||||
const fmp = this.#fetchMethod?.(k, v, fetchOpts);
|
||||
if (fmp && fmp instanceof Promise) {
|
||||
fmp.then(v => res(v === undefined ? undefined : v), rej);
|
||||
}
|
||||
// ignored, we go until we finish, regardless.
|
||||
// defer check until we are actually aborting,
|
||||
// so fetchMethod can override.
|
||||
|
|
@ -1275,6 +1306,12 @@ class LRUCache {
|
|||
}
|
||||
}
|
||||
});
|
||||
if (fmp && fmp instanceof Promise) {
|
||||
fmp.then(v => res(v === undefined ? undefined : v), rej);
|
||||
}
|
||||
else if (fmp !== undefined) {
|
||||
res(fmp);
|
||||
}
|
||||
};
|
||||
if (options.status)
|
||||
options.status.fetchDispatched = true;
|
||||
|
|
@ -1290,6 +1327,10 @@ class LRUCache {
|
|||
index = this.#keyMap.get(k);
|
||||
}
|
||||
else {
|
||||
// do not call #set, because we do not want to adjust its place
|
||||
// in the lru queue, as it has not yet been "used". Also, we don't
|
||||
// need to worry about evicting for size, because a background fetch
|
||||
// over a stale value is treated as the same size as its stale value.
|
||||
this.#valList[index] = bf;
|
||||
}
|
||||
return bf;
|
||||
|
|
@ -1311,11 +1352,9 @@ class LRUCache {
|
|||
status.context = fetchOptions.context;
|
||||
}
|
||||
const p = this.#fetch(k, fetchOptions);
|
||||
if (status && hasSubscribers()) {
|
||||
if (ths) {
|
||||
status.trace = true;
|
||||
diagnostics_channel_js_1.tracing.tracePromise(() => p, status).catch(() => { });
|
||||
}
|
||||
if (status && ths) {
|
||||
status.trace = true;
|
||||
diagnostics_channel_js_1.tracing.tracePromise(() => p, status).catch(() => { });
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
|
@ -1332,6 +1371,7 @@ class LRUCache {
|
|||
status.key = k;
|
||||
if (forceRefresh)
|
||||
status.forceRefresh = true;
|
||||
status.cache = this;
|
||||
}
|
||||
if (!this.#hasFetchMethod) {
|
||||
if (status)
|
||||
|
|
@ -1413,11 +1453,9 @@ class LRUCache {
|
|||
status.context = fetchOptions.context;
|
||||
}
|
||||
const p = this.#forceFetch(k, fetchOptions);
|
||||
if (status && hasSubscribers()) {
|
||||
if (ths) {
|
||||
status.trace = true;
|
||||
diagnostics_channel_js_1.tracing.tracePromise(() => p, status).catch(() => { });
|
||||
}
|
||||
if (status && ths) {
|
||||
status.trace = true;
|
||||
diagnostics_channel_js_1.tracing.tracePromise(() => p, status).catch(() => { });
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
|
@ -1436,6 +1474,7 @@ class LRUCache {
|
|||
if (memoOptions.context) {
|
||||
status.context = memoOptions.context;
|
||||
}
|
||||
status.cache = this;
|
||||
}
|
||||
const result = this.#memo(k, memoOptions);
|
||||
if (status)
|
||||
|
|
@ -1482,6 +1521,7 @@ class LRUCache {
|
|||
if (status) {
|
||||
status.op = 'get';
|
||||
status.key = k;
|
||||
status.cache = this;
|
||||
}
|
||||
const result = this.#get(k, getOptions);
|
||||
if (status) {
|
||||
|
|
@ -1580,6 +1620,7 @@ class LRUCache {
|
|||
op: 'delete',
|
||||
delete: reason,
|
||||
key: k,
|
||||
cache: this,
|
||||
});
|
||||
}
|
||||
let deleted = false;
|
||||
|
|
@ -1587,7 +1628,7 @@ class LRUCache {
|
|||
const index = this.#keyMap.get(k);
|
||||
if (index !== undefined) {
|
||||
if (this.#autopurgeTimers?.[index]) {
|
||||
clearTimeout(this.#autopurgeTimers?.[index]);
|
||||
clearTimeout(this.#autopurgeTimers[index]);
|
||||
this.#autopurgeTimers[index] = undefined;
|
||||
}
|
||||
deleted = true;
|
||||
|
|
@ -1660,7 +1701,7 @@ class LRUCache {
|
|||
}
|
||||
}
|
||||
this.#keyMap.clear();
|
||||
this.#valList.fill(undefined);
|
||||
void this.#valList.fill(undefined);
|
||||
this.#keyList.fill(undefined);
|
||||
if (this.#ttls && this.#starts) {
|
||||
this.#ttls.fill(0);
|
||||
|
|
|
|||
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js.map
generated
vendored
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js
generated
vendored
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js
generated
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"diagnostics-channel-node.d.ts","sourceRoot":"","sources":["../../../src/diagnostics-channel-node.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AACvE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,CAAA;AACvC,eAAO,MAAM,OAAO,EAAE,OAAO,CAAC,OAAO,CAAgC,CAAA;AACrE,eAAO,MAAM,OAAO,EAAE,cAAc,CAAC,OAAO,CAA+B,CAAA"}
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"diagnostics-channel-node.js","sourceRoot":"","sources":["../../../src/diagnostics-channel-node.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,mEAAmE;AACnE,uEAAkE;AAGrD,QAAA,OAAO,GAAqB,IAAA,kCAAO,EAAC,mBAAmB,CAAC,CAAA;AACxD,QAAA,OAAO,GAA4B,IAAA,yCAAc,EAAC,WAAW,CAAC,CAAA","sourcesContent":["// simple node version that imports from node builtin\n// this is built to both ESM and CommonJS on the 'node' import path\nimport { tracingChannel, channel } from 'node:diagnostics_channel'\nimport type { TracingChannel, Channel } from 'node:diagnostics_channel'\nexport type { TracingChannel, Channel }\nexport const metrics: Channel<unknown> = channel('lru-cache:metrics')\nexport const tracing: TracingChannel<unknown> = tracingChannel('lru-cache')\n"]}
|
||||
5
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts
generated
vendored
Normal file
5
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
import type { TracingChannel, Channel } from 'node:diagnostics_channel';
|
||||
export type { TracingChannel, Channel };
|
||||
export declare const metrics: Channel<unknown>;
|
||||
export declare const tracing: TracingChannel<unknown>;
|
||||
//# sourceMappingURL=diagnostics-channel-node.d.ts.map
|
||||
9
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js
generated
vendored
Normal file
9
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js
generated
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.tracing = exports.metrics = void 0;
|
||||
// simple node version that imports from node builtin
|
||||
// this is built to both ESM and CommonJS on the 'node' import path
|
||||
const node_diagnostics_channel_1 = require("node:diagnostics_channel");
|
||||
exports.metrics = (0, node_diagnostics_channel_1.channel)('lru-cache:metrics');
|
||||
exports.tracing = (0, node_diagnostics_channel_1.tracingChannel)('lru-cache');
|
||||
//# sourceMappingURL=diagnostics-channel-node.js.map
|
||||
1400
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.d.ts
generated
vendored
Normal file
1400
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.d.ts
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1733
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.js
generated
vendored
Normal file
1733
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.js.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.min.js
generated
vendored
Normal file
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.min.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
7
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.min.js.map
generated
vendored
Normal file
7
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.min.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
12
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.d.ts
generated
vendored
Normal file
12
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
/**
|
||||
* this provides the default Perf object source, either the
|
||||
* `performance` global, or the `Date` constructor.
|
||||
*
|
||||
* it can be passed in via configuration to override it
|
||||
* for a single LRU object.
|
||||
*/
|
||||
export type Perf = {
|
||||
now: () => number;
|
||||
};
|
||||
export declare const defaultPerf: Perf;
|
||||
//# sourceMappingURL=perf.d.ts.map
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"perf.d.ts","sourceRoot":"","sources":["../../../src/perf.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,IAAI,GAAG;IAAE,GAAG,EAAE,MAAM,MAAM,CAAA;CAAE,CAAA;AACxC,eAAO,MAAM,WAAW,EAAE,IAQG,CAAA"}
|
||||
10
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.js
generated
vendored
Normal file
10
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.js
generated
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.defaultPerf = void 0;
|
||||
exports.defaultPerf = (typeof performance === 'object' &&
|
||||
performance &&
|
||||
typeof performance.now === 'function') ?
|
||||
/* c8 ignore start - this gets covered, but c8 gets confused */
|
||||
performance
|
||||
: /* c8 ignore stop */ Date;
|
||||
//# sourceMappingURL=perf.js.map
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.js.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"perf.js","sourceRoot":"","sources":["../../../src/perf.ts"],"names":[],"mappings":";;;AAQa,QAAA,WAAW,GACtB,CACE,OAAO,WAAW,KAAK,QAAQ;IAC/B,WAAW;IACX,OAAO,WAAW,CAAC,GAAG,KAAK,UAAU,CACtC,CAAC,CAAC;IACD,+DAA+D;IAC/D,WAAW;IACb,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAA","sourcesContent":["/**\n * this provides the default Perf object source, either the\n * `performance` global, or the `Date` constructor.\n *\n * it can be passed in via configuration to override it\n * for a single LRU object.\n */\nexport type Perf = { now: () => number }\nexport const defaultPerf: Perf =\n (\n typeof performance === 'object' &&\n performance &&\n typeof performance.now === 'function'\n ) ?\n /* c8 ignore start - this gets covered, but c8 gets confused */\n performance\n : /* c8 ignore stop */ Date\n"]}
|
||||
12
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.d.ts
generated
vendored
Normal file
12
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
/**
|
||||
* this provides the default Perf object source, either the
|
||||
* `performance` global, or the `Date` constructor.
|
||||
*
|
||||
* it can be passed in via configuration to override it
|
||||
* for a single LRU object.
|
||||
*/
|
||||
export type Perf = {
|
||||
now: () => number;
|
||||
};
|
||||
export declare const defaultPerf: Perf;
|
||||
//# sourceMappingURL=perf.d.ts.map
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.d.ts.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.d.ts.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"perf.d.ts","sourceRoot":"","sources":["../../src/perf.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,IAAI,GAAG;IAAE,GAAG,EAAE,MAAM,MAAM,CAAA;CAAE,CAAA;AACxC,eAAO,MAAM,WAAW,EAAE,IAQG,CAAA"}
|
||||
10
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.js
generated
vendored
Normal file
10
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.js
generated
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.defaultPerf = void 0;
|
||||
exports.defaultPerf = (typeof performance === 'object' &&
|
||||
performance &&
|
||||
typeof performance.now === 'function') ?
|
||||
/* c8 ignore start - this gets covered, but c8 gets confused */
|
||||
performance
|
||||
: /* c8 ignore stop */ Date;
|
||||
//# sourceMappingURL=perf.js.map
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.js.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"perf.js","sourceRoot":"","sources":["../../src/perf.ts"],"names":[],"mappings":";;;AAQa,QAAA,WAAW,GACtB,CACE,OAAO,WAAW,KAAK,QAAQ;IAC/B,WAAW;IACX,OAAO,WAAW,CAAC,GAAG,KAAK,UAAU,CACtC,CAAC,CAAC;IACD,+DAA+D;IAC/D,WAAW;IACb,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAA","sourcesContent":["/**\n * this provides the default Perf object source, either the\n * `performance` global, or the `Date` constructor.\n *\n * it can be passed in via configuration to override it\n * for a single LRU object.\n */\nexport type Perf = { now: () => number }\nexport const defaultPerf: Perf =\n (\n typeof performance === 'object' &&\n performance &&\n typeof performance.now === 'function'\n ) ?\n /* c8 ignore start - this gets covered, but c8 gets confused */\n performance\n : /* c8 ignore stop */ Date\n"]}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"version":3,"file":"diagnostics-channel-browser.d.mts","sourceRoot":"","sources":["../../../src/diagnostics-channel-browser.mts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,CAAA;AAGvC,eAAO,MAAM,OAAO,EAAY,OAAO,CAAC,OAAO,CAAC,CAAA;AAChD,eAAO,MAAM,OAAO,EAAY,cAAc,CAAC,OAAO,CAAC,CAAA"}
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"diagnostics-channel-browser.d.ts","sourceRoot":"","sources":["../../../src/diagnostics-channel-browser.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,CAAA;AAGvC,eAAO,MAAM,OAAO,EAAY,OAAO,CAAC,OAAO,CAAC,CAAA;AAChD,eAAO,MAAM,OAAO,EAAY,cAAc,CAAC,OAAO,CAAC,CAAA"}
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"diagnostics-channel-browser.js","sourceRoot":"","sources":["../../../src/diagnostics-channel-browser.ts"],"names":[],"mappings":"AAQA,MAAM,KAAK,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAA;AACvC,MAAM,CAAC,MAAM,OAAO,GAAG,KAAyB,CAAA;AAChD,MAAM,CAAC,MAAM,OAAO,GAAG,KAAgC,CAAA","sourcesContent":["// this is used in ESM environments that follow the 'browser' import\n// condition, to avoid even trying to load node:diagnostics_channel\nimport {\n type Channel,\n type TracingChannel,\n} from 'node:diagnostics_channel'\nexport type { TracingChannel, Channel }\n\nconst dummy = { hasSubscribers: false }\nexport const metrics = dummy as Channel<unknown>\nexport const tracing = dummy as TracingChannel<unknown>\n"]}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"version":3,"file":"diagnostics-channel-browser.mjs","sourceRoot":"","sources":["../../../src/diagnostics-channel-browser.mts"],"names":[],"mappings":"AAQA,MAAM,KAAK,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAA;AACvC,MAAM,CAAC,MAAM,OAAO,GAAG,KAAyB,CAAA;AAChD,MAAM,CAAC,MAAM,OAAO,GAAG,KAAgC,CAAA","sourcesContent":["// this is used in ESM environments that follow the 'browser' import\n// condition, to avoid even trying to load node:diagnostics_channel\nimport {\n type Channel,\n type TracingChannel,\n} from 'node:diagnostics_channel'\nexport type { TracingChannel, Channel }\n\nconst dummy = { hasSubscribers: false }\nexport const metrics = dummy as Channel<unknown>\nexport const tracing = dummy as TracingChannel<unknown>\n"]}
|
||||
|
|
@ -2,4 +2,4 @@ import { type Channel, type TracingChannel } from 'node:diagnostics_channel';
|
|||
export type { TracingChannel, Channel };
|
||||
export declare const metrics: Channel<unknown>;
|
||||
export declare const tracing: TracingChannel<unknown>;
|
||||
//# sourceMappingURL=diagnostics-channel-browser.d.mts.map
|
||||
//# sourceMappingURL=diagnostics-channel-browser.d.ts.map
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
const dummy = { hasSubscribers: false };
|
||||
export const metrics = dummy;
|
||||
export const tracing = dummy;
|
||||
//# sourceMappingURL=diagnostics-channel-browser.mjs.map
|
||||
//# sourceMappingURL=diagnostics-channel-browser.js.map
|
||||
63
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.d.ts
generated
vendored
63
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.d.ts
generated
vendored
|
|
@ -1,9 +1,8 @@
|
|||
/**
|
||||
* @module LRUCache
|
||||
*/
|
||||
export type Perf = {
|
||||
now: () => number;
|
||||
};
|
||||
import type { Perf } from './perf.js';
|
||||
export type { Perf } from './perf.js';
|
||||
declare const TYPE: unique symbol;
|
||||
export type PosInt = number & {
|
||||
[TYPE]: 'Positive Integer';
|
||||
|
|
@ -124,7 +123,7 @@ export declare namespace LRUCache {
|
|||
* `lru-cache:metrics` diagnostic channel, and the `lru-cache` tracing
|
||||
* channels, in platforms that support them.
|
||||
*/
|
||||
interface Status<K, V> {
|
||||
interface Status<K, V, FC = unknown> {
|
||||
/**
|
||||
* The operation being performed
|
||||
*/
|
||||
|
|
@ -290,6 +289,10 @@ export declare namespace LRUCache {
|
|||
* A tracingChannel trace was started for this operation
|
||||
*/
|
||||
trace?: boolean;
|
||||
/**
|
||||
* A reference to the cache instance associated with this operation
|
||||
*/
|
||||
cache?: LRUCache<K & {}, V & {}, FC>;
|
||||
}
|
||||
/**
|
||||
* options which override the options set in the LRUCache constructor
|
||||
|
|
@ -307,7 +310,7 @@ export declare namespace LRUCache {
|
|||
* the fetchMethod is called.
|
||||
*/
|
||||
interface FetcherFetchOptions<K, V, FC = unknown> extends Pick<OptionsBase<K, V, FC>, 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet' | 'sizeCalculation' | 'ttl' | 'noDisposeOnSet' | 'noUpdateTTL' | 'noDeleteOnFetchRejection' | 'allowStaleOnFetchRejection' | 'ignoreFetchAbort' | 'allowStaleOnFetchAbort'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
size?: Size;
|
||||
}
|
||||
/**
|
||||
|
|
@ -329,7 +332,7 @@ export declare namespace LRUCache {
|
|||
*/
|
||||
context?: FC;
|
||||
signal?: AbortSignal;
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options provided to {@link LRUCache#fetch} when the FC type is something
|
||||
|
|
@ -342,8 +345,8 @@ export declare namespace LRUCache {
|
|||
* Options provided to {@link LRUCache#fetch} when the FC type is
|
||||
* `undefined` or `void`
|
||||
*/
|
||||
interface FetchOptionsNoContext<K, V> extends FetchOptions<K, V, undefined> {
|
||||
context?: undefined;
|
||||
interface FetchOptionsNoContext<K, V, FC extends undefined | void = undefined> extends FetchOptions<K, V, FC> {
|
||||
context?: FC;
|
||||
}
|
||||
interface MemoOptions<K, V, FC = unknown> extends Pick<OptionsBase<K, V, FC>, 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet' | 'sizeCalculation' | 'ttl' | 'noDisposeOnSet' | 'noUpdateTTL' | 'noDeleteOnFetchRejection' | 'allowStaleOnFetchRejection' | 'ignoreFetchAbort' | 'allowStaleOnFetchAbort'> {
|
||||
/**
|
||||
|
|
@ -360,7 +363,7 @@ export declare namespace LRUCache {
|
|||
* be required.
|
||||
*/
|
||||
context?: FC;
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options provided to {@link LRUCache#memo} when the FC type is something
|
||||
|
|
@ -373,8 +376,8 @@ export declare namespace LRUCache {
|
|||
* Options provided to {@link LRUCache#memo} when the FC type is
|
||||
* `undefined` or `void`
|
||||
*/
|
||||
interface MemoOptionsNoContext<K, V> extends MemoOptions<K, V, undefined> {
|
||||
context?: undefined;
|
||||
interface MemoOptionsNoContext<K, V, FC extends undefined | void = undefined> extends MemoOptions<K, V, FC> {
|
||||
context?: FC;
|
||||
}
|
||||
/**
|
||||
* Options provided to the
|
||||
|
|
@ -402,7 +405,7 @@ export declare namespace LRUCache {
|
|||
* the memoMethod is called.
|
||||
*/
|
||||
interface MemoizerMemoOptions<K, V, FC = unknown> extends Pick<OptionsBase<K, V, FC>, 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet' | 'sizeCalculation' | 'ttl' | 'noDisposeOnSet' | 'noUpdateTTL'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
size?: Size;
|
||||
start?: Milliseconds;
|
||||
}
|
||||
|
|
@ -410,19 +413,19 @@ export declare namespace LRUCache {
|
|||
* Options that may be passed to the {@link LRUCache#has} method.
|
||||
*/
|
||||
interface HasOptions<K, V, FC> extends Pick<OptionsBase<K, V, FC>, 'updateAgeOnHas'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options that may be passed to the {@link LRUCache#get} method.
|
||||
*/
|
||||
interface GetOptions<K, V, FC> extends Pick<OptionsBase<K, V, FC>, 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options that may be passed to the {@link LRUCache#peek} method.
|
||||
*/
|
||||
interface PeekOptions<K, V, FC> extends Pick<OptionsBase<K, V, FC>, 'allowStale'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options that may be passed to the {@link LRUCache#set} method.
|
||||
|
|
@ -443,7 +446,7 @@ export declare namespace LRUCache {
|
|||
* method is in use.
|
||||
*/
|
||||
start?: Milliseconds;
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* The type signature for the {@link OptionsBase.fetchMethod} option.
|
||||
|
|
@ -696,6 +699,20 @@ export declare namespace LRUCache {
|
|||
* though for most cases, only minimally.
|
||||
*/
|
||||
maxSize?: Size;
|
||||
/**
|
||||
* The effective size for background fetch promises.
|
||||
*
|
||||
* This has no effect unless `maxSize` and `sizeCalculation` are used,
|
||||
* and a {@link LRUCache.OptionsBase.fetchMethod} is provided to
|
||||
* support {@link LRUCache#fetch}.
|
||||
*
|
||||
* If a stale value is present in the cache, then the effective size of
|
||||
* the background fetch is the size of the stale item it will eventually
|
||||
* replace. If not, then this value is used as its effective size.
|
||||
*
|
||||
* @default 1
|
||||
*/
|
||||
backgroundFetchSize?: number;
|
||||
/**
|
||||
* The maximum allowed size for any single item in the cache.
|
||||
*
|
||||
|
|
@ -998,6 +1015,8 @@ export declare class LRUCache<K extends {}, V extends {}, FC = unknown> {
|
|||
* {@link LRUCache.OptionsBase.ignoreFetchAbort}
|
||||
*/
|
||||
ignoreFetchAbort: boolean;
|
||||
/** {@link LRUCache.OptionsBase.backgroundFetchSize} */
|
||||
backgroundFetchSize: number;
|
||||
/**
|
||||
* Do not call this method unless you need to inspect the
|
||||
* inner workings of the cache. If anything returned by this
|
||||
|
|
@ -1327,8 +1346,8 @@ export declare class LRUCache<K extends {}, V extends {}, FC = unknown> {
|
|||
* the same time, because they're both waiting on the same
|
||||
* underlying fetchMethod response.
|
||||
*/
|
||||
fetch(k: K, fetchOptions: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V> : LRUCache.FetchOptionsWithContext<K, V, FC>): Promise<undefined | V>;
|
||||
fetch(k: unknown extends FC ? K : FC extends undefined | void ? K : never, fetchOptions?: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V> : never): Promise<undefined | V>;
|
||||
fetch(k: K, fetchOptions: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V, FC> : LRUCache.FetchOptionsWithContext<K, V, FC>): Promise<undefined | V>;
|
||||
fetch(k: unknown extends FC ? K : FC extends undefined | void ? K : never, fetchOptions?: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V, FC> : never): Promise<undefined | V>;
|
||||
/**
|
||||
* In some cases, `cache.fetch()` may resolve to `undefined`, either because
|
||||
* a {@link LRUCache.OptionsBase#fetchMethod} was not provided (turning
|
||||
|
|
@ -1342,8 +1361,8 @@ export declare class LRUCache<K extends {}, V extends {}, FC = unknown> {
|
|||
* cumbersome, but testing for `undefined` can also be annoying, this method
|
||||
* can be used, which will reject if `this.fetch()` resolves to undefined.
|
||||
*/
|
||||
forceFetch(k: K, fetchOptions: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V> : LRUCache.FetchOptionsWithContext<K, V, FC>): Promise<V>;
|
||||
forceFetch(k: unknown extends FC ? K : FC extends undefined | void ? K : never, fetchOptions?: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V> : never): Promise<V>;
|
||||
forceFetch(k: K, fetchOptions: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V, FC> : LRUCache.FetchOptionsWithContext<K, V, FC>): Promise<V>;
|
||||
forceFetch(k: unknown extends FC ? K : FC extends undefined | void ? K : never, fetchOptions?: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V, FC> : never): Promise<V>;
|
||||
/**
|
||||
* If the key is found in the cache, then this is equivalent to
|
||||
* {@link LRUCache#get}. If not, in the cache, then calculate the value using
|
||||
|
|
@ -1358,8 +1377,8 @@ export declare class LRUCache<K extends {}, V extends {}, FC = unknown> {
|
|||
* relevant in the course of fetching the data. It is only relevant for the
|
||||
* course of a single `memo()` operation, and discarded afterwards.
|
||||
*/
|
||||
memo(k: K, memoOptions: unknown extends FC ? LRUCache.MemoOptions<K, V, FC> : FC extends undefined | void ? LRUCache.MemoOptionsNoContext<K, V> : LRUCache.MemoOptionsWithContext<K, V, FC>): V;
|
||||
memo(k: unknown extends FC ? K : FC extends undefined | void ? K : never, memoOptions?: unknown extends FC ? LRUCache.MemoOptions<K, V, FC> : FC extends undefined | void ? LRUCache.MemoOptionsNoContext<K, V> : never): V;
|
||||
memo(k: K, memoOptions: unknown extends FC ? LRUCache.MemoOptions<K, V, FC> : FC extends undefined | void ? LRUCache.MemoOptionsNoContext<K, V, FC> : LRUCache.MemoOptionsWithContext<K, V, FC>): V;
|
||||
memo(k: unknown extends FC ? K : FC extends undefined | void ? K : never, memoOptions?: unknown extends FC ? LRUCache.MemoOptions<K, V, FC> : FC extends undefined | void ? LRUCache.MemoOptionsNoContext<K, V, FC> : never): V;
|
||||
/**
|
||||
* Return a value from the cache. Will update the recency of the cache
|
||||
* entry found.
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
161
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.js
generated
vendored
161
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.js
generated
vendored
|
|
@ -2,12 +2,8 @@
|
|||
* @module LRUCache
|
||||
*/
|
||||
import { metrics, tracing } from './diagnostics-channel.js';
|
||||
import { defaultPerf } from './perf.js';
|
||||
const hasSubscribers = () => metrics.hasSubscribers || tracing.hasSubscribers;
|
||||
const defaultPerf = (typeof performance === 'object' &&
|
||||
performance &&
|
||||
typeof performance.now === 'function') ?
|
||||
performance
|
||||
: Date;
|
||||
const warned = new Set();
|
||||
/* c8 ignore start */
|
||||
const PROCESS = (typeof process === 'object' && !!process ?
|
||||
|
|
@ -49,7 +45,9 @@ class ZeroArray extends Array {
|
|||
}
|
||||
}
|
||||
class Stack {
|
||||
/* c8 ignore start - not sure why this is showing up uncovered?? */
|
||||
heap;
|
||||
/* c8 ignore stop */
|
||||
length;
|
||||
// private constructor
|
||||
static #constructing = false;
|
||||
|
|
@ -169,6 +167,8 @@ export class LRUCache {
|
|||
* {@link LRUCache.OptionsBase.ignoreFetchAbort}
|
||||
*/
|
||||
ignoreFetchAbort;
|
||||
/** {@link LRUCache.OptionsBase.backgroundFetchSize} */
|
||||
backgroundFetchSize;
|
||||
// computed properties
|
||||
#size;
|
||||
#calculatedSize;
|
||||
|
|
@ -279,7 +279,8 @@ export class LRUCache {
|
|||
return this.#disposeAfter;
|
||||
}
|
||||
constructor(options) {
|
||||
const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort, perf, } = options;
|
||||
const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort, backgroundFetchSize = 1, perf, } = options;
|
||||
this.backgroundFetchSize = backgroundFetchSize;
|
||||
if (perf !== undefined) {
|
||||
if (typeof perf?.now !== 'function') {
|
||||
throw new TypeError('perf option must have a now() method if specified');
|
||||
|
|
@ -408,17 +409,17 @@ export class LRUCache {
|
|||
this.#setItemTTL = (index, ttl, start = this.#perf.now()) => {
|
||||
starts[index] = ttl !== 0 ? start : 0;
|
||||
ttls[index] = ttl;
|
||||
setPurgetTimer(index, ttl);
|
||||
setPurgeTimer(index, ttl);
|
||||
};
|
||||
this.#updateItemAge = index => {
|
||||
starts[index] = ttls[index] !== 0 ? this.#perf.now() : 0;
|
||||
setPurgetTimer(index, ttls[index]);
|
||||
setPurgeTimer(index, ttls[index]);
|
||||
};
|
||||
// clear out the purge timer if we're setting TTL to 0, and
|
||||
// previously had a ttl purge timer running, so it doesn't
|
||||
// fire unnecessarily. Don't need to do this if we're not doing
|
||||
// autopurge.
|
||||
const setPurgetTimer = !this.ttlAutopurge ?
|
||||
const setPurgeTimer = !this.ttlAutopurge ?
|
||||
() => { }
|
||||
: (index, ttl) => {
|
||||
if (purgeTimers?.[index]) {
|
||||
|
|
@ -429,6 +430,10 @@ export class LRUCache {
|
|||
const t = setTimeout(() => {
|
||||
if (this.#isStale(index)) {
|
||||
this.#delete(this.#keyList[index], 'expire');
|
||||
purgeTimers[index] = undefined;
|
||||
}
|
||||
else {
|
||||
setPurgeTimer(index, getRemainingTTL(index));
|
||||
}
|
||||
}, ttl + 1);
|
||||
// unref() not supported on all platforms
|
||||
|
|
@ -478,6 +483,9 @@ export class LRUCache {
|
|||
if (index === undefined) {
|
||||
return 0;
|
||||
}
|
||||
return getRemainingTTL(index);
|
||||
};
|
||||
const getRemainingTTL = (index) => {
|
||||
const ttl = ttls[index];
|
||||
const start = starts[index];
|
||||
if (!ttl || !start) {
|
||||
|
|
@ -507,12 +515,15 @@ export class LRUCache {
|
|||
sizes[index] = 0;
|
||||
};
|
||||
this.#requireSize = (k, v, size, sizeCalculation) => {
|
||||
// provisionally accept background fetches.
|
||||
// actual value size will be checked when they return.
|
||||
if (this.#isBackgroundFetch(v)) {
|
||||
return 0;
|
||||
}
|
||||
if (!isPosInt(size)) {
|
||||
// provisionally accept background fetches.
|
||||
// actual value size will be checked when they return.
|
||||
if (this.#isBackgroundFetch(v)) {
|
||||
// NB: this cannot occur if v.__staleWhileFetching is set,
|
||||
// because in that case, it would take on the size of the
|
||||
// existing entry that it temporarily replaces.
|
||||
return this.backgroundFetchSize;
|
||||
}
|
||||
if (sizeCalculation) {
|
||||
if (typeof sizeCalculation !== 'function') {
|
||||
throw new TypeError('sizeCalculation must be a function');
|
||||
|
|
@ -879,6 +890,7 @@ export class LRUCache {
|
|||
status.key = k;
|
||||
if (v !== undefined)
|
||||
status.value = v;
|
||||
status.cache = this;
|
||||
}
|
||||
const result = this.#set(k, v, setOptions);
|
||||
if (status && metrics.hasSubscribers) {
|
||||
|
|
@ -886,8 +898,9 @@ export class LRUCache {
|
|||
}
|
||||
return result;
|
||||
}
|
||||
#set(k, v, setOptions = {}) {
|
||||
#set(k, v, setOptions, bf) {
|
||||
const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status, } = setOptions;
|
||||
const isBF = this.#isBackgroundFetch(v);
|
||||
if (v === undefined) {
|
||||
if (status)
|
||||
status.set = 'deleted';
|
||||
|
|
@ -895,7 +908,7 @@ export class LRUCache {
|
|||
return this;
|
||||
}
|
||||
let { noUpdateTTL = this.noUpdateTTL } = setOptions;
|
||||
if (status && !this.#isBackgroundFetch(v))
|
||||
if (status && !isBF)
|
||||
status.value = v;
|
||||
const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation, status);
|
||||
// if the item doesn't fit, don't do anything
|
||||
|
|
@ -927,52 +940,68 @@ export class LRUCache {
|
|||
if (status)
|
||||
status.set = 'add';
|
||||
noUpdateTTL = false;
|
||||
if (this.#hasOnInsert) {
|
||||
if (this.#hasOnInsert && !isBF) {
|
||||
this.#onInsert?.(v, k, 'add');
|
||||
}
|
||||
}
|
||||
else {
|
||||
// update
|
||||
// might be updating a background fetch!
|
||||
this.#moveToTail(index);
|
||||
const oldVal = this.#valList[index];
|
||||
if (v !== oldVal) {
|
||||
if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
|
||||
oldVal.__abortController.abort(new Error('replaced'));
|
||||
const { __staleWhileFetching: s } = oldVal;
|
||||
if (s !== undefined && !noDisposeOnSet) {
|
||||
if (!noDisposeOnSet) {
|
||||
if (this.#isBackgroundFetch(oldVal)) {
|
||||
if (oldVal !== bf) {
|
||||
// setting over a background fetch, not merely resolving it.
|
||||
oldVal.__abortController.abort(new Error('replaced'));
|
||||
}
|
||||
const { __staleWhileFetching: s } = oldVal;
|
||||
if (s !== undefined && s !== v) {
|
||||
if (this.#hasDispose) {
|
||||
this.#dispose?.(s, k, 'set');
|
||||
}
|
||||
if (this.#hasDisposeAfter) {
|
||||
this.#disposed?.push([s, k, 'set']);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (this.#hasDispose) {
|
||||
this.#dispose?.(s, k, 'set');
|
||||
this.#dispose?.(oldVal, k, 'set');
|
||||
}
|
||||
if (this.#hasDisposeAfter) {
|
||||
this.#disposed?.push([s, k, 'set']);
|
||||
this.#disposed?.push([oldVal, k, 'set']);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!noDisposeOnSet) {
|
||||
if (this.#hasDispose) {
|
||||
this.#dispose?.(oldVal, k, 'set');
|
||||
}
|
||||
if (this.#hasDisposeAfter) {
|
||||
this.#disposed?.push([oldVal, k, 'set']);
|
||||
}
|
||||
}
|
||||
this.#removeItemSize(index);
|
||||
this.#addItemSize(index, size, status);
|
||||
this.#valList[index] = v;
|
||||
if (status) {
|
||||
status.set = 'replace';
|
||||
if (!isBF) {
|
||||
const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ?
|
||||
oldVal.__staleWhileFetching
|
||||
: oldVal;
|
||||
if (oldValue !== undefined)
|
||||
status.oldValue = oldValue;
|
||||
const setType = oldValue === undefined ? 'add'
|
||||
: v !== oldValue ? 'replace'
|
||||
: 'update';
|
||||
if (status) {
|
||||
status.set = setType;
|
||||
if (oldValue !== undefined)
|
||||
status.oldValue = oldValue;
|
||||
}
|
||||
if (this.#hasOnInsert) {
|
||||
this.onInsert?.(v, k, setType);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (status) {
|
||||
status.set = 'update';
|
||||
}
|
||||
if (this.#hasOnInsert) {
|
||||
this.onInsert?.(v, k, v === oldVal ? 'update' : 'replace');
|
||||
else if (!isBF) {
|
||||
if (status) {
|
||||
status.set = 'update';
|
||||
}
|
||||
if (this.#hasOnInsert) {
|
||||
this.onInsert?.(v, k, 'update');
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ttl !== 0 && !this.#ttls) {
|
||||
|
|
@ -1027,15 +1056,18 @@ export class LRUCache {
|
|||
const head = this.#head;
|
||||
const k = this.#keyList[head];
|
||||
const v = this.#valList[head];
|
||||
if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
|
||||
const isBF = this.#isBackgroundFetch(v);
|
||||
if (isBF) {
|
||||
v.__abortController.abort(new Error('evicted'));
|
||||
}
|
||||
else if (this.#hasDispose || this.#hasDisposeAfter) {
|
||||
const oldValue = isBF ? v.__staleWhileFetching : v;
|
||||
if ((this.#hasDispose || this.#hasDisposeAfter) &&
|
||||
oldValue !== undefined) {
|
||||
if (this.#hasDispose) {
|
||||
this.#dispose?.(v, k, 'evict');
|
||||
this.#dispose?.(oldValue, k, 'evict');
|
||||
}
|
||||
if (this.#hasDisposeAfter) {
|
||||
this.#disposed?.push([v, k, 'evict']);
|
||||
this.#disposed?.push([oldValue, k, 'evict']);
|
||||
}
|
||||
}
|
||||
this.#removeItemSize(head);
|
||||
|
|
@ -1082,6 +1114,7 @@ export class LRUCache {
|
|||
if (status) {
|
||||
status.op = 'has';
|
||||
status.key = k;
|
||||
status.cache = this;
|
||||
}
|
||||
const result = this.#has(k, hasOptions);
|
||||
if (metrics.hasSubscribers)
|
||||
|
|
@ -1129,6 +1162,7 @@ export class LRUCache {
|
|||
if (status) {
|
||||
status.op = 'peek';
|
||||
status.key = k;
|
||||
status.cache = this;
|
||||
}
|
||||
peekOptions.status = status;
|
||||
const result = this.#peek(k, peekOptions);
|
||||
|
|
@ -1211,7 +1245,7 @@ export class LRUCache {
|
|||
else {
|
||||
if (options.status)
|
||||
options.status.fetchUpdated = true;
|
||||
this.#set(k, v, fetchOpts.options);
|
||||
this.#set(k, v, fetchOpts.options, bf);
|
||||
}
|
||||
}
|
||||
return v;
|
||||
|
|
@ -1257,9 +1291,6 @@ export class LRUCache {
|
|||
};
|
||||
const pcall = (res, rej) => {
|
||||
const fmp = this.#fetchMethod?.(k, v, fetchOpts);
|
||||
if (fmp && fmp instanceof Promise) {
|
||||
fmp.then(v => res(v === undefined ? undefined : v), rej);
|
||||
}
|
||||
// ignored, we go until we finish, regardless.
|
||||
// defer check until we are actually aborting,
|
||||
// so fetchMethod can override.
|
||||
|
|
@ -1272,6 +1303,12 @@ export class LRUCache {
|
|||
}
|
||||
}
|
||||
});
|
||||
if (fmp && fmp instanceof Promise) {
|
||||
fmp.then(v => res(v === undefined ? undefined : v), rej);
|
||||
}
|
||||
else if (fmp !== undefined) {
|
||||
res(fmp);
|
||||
}
|
||||
};
|
||||
if (options.status)
|
||||
options.status.fetchDispatched = true;
|
||||
|
|
@ -1287,6 +1324,10 @@ export class LRUCache {
|
|||
index = this.#keyMap.get(k);
|
||||
}
|
||||
else {
|
||||
// do not call #set, because we do not want to adjust its place
|
||||
// in the lru queue, as it has not yet been "used". Also, we don't
|
||||
// need to worry about evicting for size, because a background fetch
|
||||
// over a stale value is treated as the same size as its stale value.
|
||||
this.#valList[index] = bf;
|
||||
}
|
||||
return bf;
|
||||
|
|
@ -1308,11 +1349,9 @@ export class LRUCache {
|
|||
status.context = fetchOptions.context;
|
||||
}
|
||||
const p = this.#fetch(k, fetchOptions);
|
||||
if (status && hasSubscribers()) {
|
||||
if (ths) {
|
||||
status.trace = true;
|
||||
tracing.tracePromise(() => p, status).catch(() => { });
|
||||
}
|
||||
if (status && ths) {
|
||||
status.trace = true;
|
||||
tracing.tracePromise(() => p, status).catch(() => { });
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
|
@ -1329,6 +1368,7 @@ export class LRUCache {
|
|||
status.key = k;
|
||||
if (forceRefresh)
|
||||
status.forceRefresh = true;
|
||||
status.cache = this;
|
||||
}
|
||||
if (!this.#hasFetchMethod) {
|
||||
if (status)
|
||||
|
|
@ -1410,11 +1450,9 @@ export class LRUCache {
|
|||
status.context = fetchOptions.context;
|
||||
}
|
||||
const p = this.#forceFetch(k, fetchOptions);
|
||||
if (status && hasSubscribers()) {
|
||||
if (ths) {
|
||||
status.trace = true;
|
||||
tracing.tracePromise(() => p, status).catch(() => { });
|
||||
}
|
||||
if (status && ths) {
|
||||
status.trace = true;
|
||||
tracing.tracePromise(() => p, status).catch(() => { });
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
|
@ -1433,6 +1471,7 @@ export class LRUCache {
|
|||
if (memoOptions.context) {
|
||||
status.context = memoOptions.context;
|
||||
}
|
||||
status.cache = this;
|
||||
}
|
||||
const result = this.#memo(k, memoOptions);
|
||||
if (status)
|
||||
|
|
@ -1479,6 +1518,7 @@ export class LRUCache {
|
|||
if (status) {
|
||||
status.op = 'get';
|
||||
status.key = k;
|
||||
status.cache = this;
|
||||
}
|
||||
const result = this.#get(k, getOptions);
|
||||
if (status) {
|
||||
|
|
@ -1577,6 +1617,7 @@ export class LRUCache {
|
|||
op: 'delete',
|
||||
delete: reason,
|
||||
key: k,
|
||||
cache: this,
|
||||
});
|
||||
}
|
||||
let deleted = false;
|
||||
|
|
@ -1584,7 +1625,7 @@ export class LRUCache {
|
|||
const index = this.#keyMap.get(k);
|
||||
if (index !== undefined) {
|
||||
if (this.#autopurgeTimers?.[index]) {
|
||||
clearTimeout(this.#autopurgeTimers?.[index]);
|
||||
clearTimeout(this.#autopurgeTimers[index]);
|
||||
this.#autopurgeTimers[index] = undefined;
|
||||
}
|
||||
deleted = true;
|
||||
|
|
@ -1657,7 +1698,7 @@ export class LRUCache {
|
|||
}
|
||||
}
|
||||
this.#keyMap.clear();
|
||||
this.#valList.fill(undefined);
|
||||
void this.#valList.fill(undefined);
|
||||
this.#keyList.fill(undefined);
|
||||
if (this.#ttls && this.#starts) {
|
||||
this.#ttls.fill(0);
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
12
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.d.ts
generated
vendored
Normal file
12
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
/**
|
||||
* this provides the default Perf object source, either the
|
||||
* `performance` global, or the `Date` constructor.
|
||||
*
|
||||
* it can be passed in via configuration to override it
|
||||
* for a single LRU object.
|
||||
*/
|
||||
export type Perf = {
|
||||
now: () => number;
|
||||
};
|
||||
export declare const defaultPerf: Perf;
|
||||
//# sourceMappingURL=perf.d.ts.map
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"perf.d.ts","sourceRoot":"","sources":["../../../src/perf.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,IAAI,GAAG;IAAE,GAAG,EAAE,MAAM,MAAM,CAAA;CAAE,CAAA;AACxC,eAAO,MAAM,WAAW,EAAE,IAQG,CAAA"}
|
||||
7
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.js
generated
vendored
Normal file
7
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.js
generated
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
export const defaultPerf = (typeof performance === 'object' &&
|
||||
performance &&
|
||||
typeof performance.now === 'function') ?
|
||||
/* c8 ignore start - this gets covered, but c8 gets confused */
|
||||
performance
|
||||
: /* c8 ignore stop */ Date;
|
||||
//# sourceMappingURL=perf.js.map
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.js.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"perf.js","sourceRoot":"","sources":["../../../src/perf.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,WAAW,GACtB,CACE,OAAO,WAAW,KAAK,QAAQ;IAC/B,WAAW;IACX,OAAO,WAAW,CAAC,GAAG,KAAK,UAAU,CACtC,CAAC,CAAC;IACD,+DAA+D;IAC/D,WAAW;IACb,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAA","sourcesContent":["/**\n * this provides the default Perf object source, either the\n * `performance` global, or the `Date` constructor.\n *\n * it can be passed in via configuration to override it\n * for a single LRU object.\n */\nexport type Perf = { now: () => number }\nexport const defaultPerf: Perf =\n (\n typeof performance === 'object' &&\n performance &&\n typeof performance.now === 'function'\n ) ?\n /* c8 ignore start - this gets covered, but c8 gets confused */\n performance\n : /* c8 ignore stop */ Date\n"]}
|
||||
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"diagnostics-channel-esm.d.mts","sourceRoot":"","sources":["../../src/diagnostics-channel-esm.mts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,CAAA;AAavC,eAAO,IAAI,OAAO,EAAY,OAAO,CAAC,OAAO,CAAC,CAAA;AAC9C,eAAO,IAAI,OAAO,EAAY,cAAc,CAAC,OAAO,CAAC,CAAA"}
|
||||
{"version":3,"file":"diagnostics-channel-esm.d.mts","sourceRoot":"","sources":["../../src/diagnostics-channel-esm.mts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,CAAA;AAavC,eAAO,IAAI,OAAO,EAAY,OAAO,CAAC,OAAO,CAAC,CAAA;AAC9C,eAAO,IAAI,OAAO,EAAY,cAAc,CAAC,OAAO,CAAC,CAAA"}
|
||||
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"diagnostics-channel-esm.mjs","sourceRoot":"","sources":["../../src/diagnostics-channel-esm.mts"],"names":[],"mappings":"AASA;;;;;GAKG;AAEH,uEAAuE;AACvE,4EAA4E;AAC5E,oBAAoB;AACpB,MAAM,KAAK,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAA;AACvC,MAAM,CAAC,IAAI,OAAO,GAAG,KAAyB,CAAA;AAC9C,MAAM,CAAC,IAAI,OAAO,GAAG,KAAgC,CAAA;AACrD,MAAM,CAAC,0BAA0B,CAAC;KAC/B,IAAI,CAAC,EAAE,CAAC,EAAE;IACT,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACzC,OAAO,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;AAC1C,CAAC,CAAC;KACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA","sourcesContent":["// this is used in ESM environments that do not follow the 'node' import\n// condition. So, `node:diagnostics_channel` MAY be present, but might not.\n// Eg: browsers, webpack, react-native, etc.\nimport {\n type Channel,\n type TracingChannel,\n} from 'node:diagnostics_channel'\nexport type { TracingChannel, Channel }\n\n/**\n * no-op polyfills for non-node environments. tries to load the actual\n * diagnostics_channel module on platforms that support it, but fails\n * gracefully if not found. This means that the first tick of metrics\n * and tracing will be missed, but that probably doesn't matter much.\n */\n\n// conditionally import from diagnostic_channel, fall back to dummyfill\n// all we actually have to mock is the hasSubscribers, since we always check\n/* v8 ignore next */\nconst dummy = { hasSubscribers: false }\nexport let metrics = dummy as Channel<unknown>\nexport let tracing = dummy as TracingChannel<unknown>\nimport('node:diagnostics_channel')\n .then(dc => {\n metrics = dc.channel('lru-cache:metrics')\n tracing = dc.tracingChannel('lru-cache')\n })\n .catch(() => {})\n"]}
|
||||
{"version":3,"file":"diagnostics-channel-esm.mjs","sourceRoot":"","sources":["../../src/diagnostics-channel-esm.mts"],"names":[],"mappings":"AAUA;;;;;GAKG;AAEH,uEAAuE;AACvE,4EAA4E;AAC5E,oBAAoB;AACpB,MAAM,KAAK,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAA;AACvC,MAAM,CAAC,IAAI,OAAO,GAAG,KAAyB,CAAA;AAC9C,MAAM,CAAC,IAAI,OAAO,GAAG,KAAgC,CAAA;AACrD,MAAM,CAAC,0BAA0B,CAAC;KAC/B,IAAI,CAAC,EAAE,CAAC,EAAE;IACT,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACzC,OAAO,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;AAC1C,CAAC,CAAC;KACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA","sourcesContent":["// This is used in ESM environments that do NOT follow the 'node' or 'browser'\n// import conditions. So, `node:diagnostics_channel` MAY be present.\n// Note that this is overridden in 'browser' conditional branch, because the\n// dynamic import can confound bundlers and cause CSP violations in browsers.\nimport {\n type Channel,\n type TracingChannel,\n} from 'node:diagnostics_channel'\nexport type { TracingChannel, Channel }\n\n/**\n * no-op polyfills for non-node environments. tries to load the actual\n * diagnostics_channel module on platforms that support it, but fails\n * gracefully if not found. This means that the first tick of metrics\n * and tracing will be missed, but that probably doesn't matter much.\n */\n\n// conditionally import from diagnostic_channel, fall back to dummyfill\n// all we actually have to mock is the hasSubscribers, since we always check\n/* v8 ignore next */\nconst dummy = { hasSubscribers: false }\nexport let metrics = dummy as Channel<unknown>\nexport let tracing = dummy as TracingChannel<unknown>\nimport('node:diagnostics_channel')\n .then(dc => {\n metrics = dc.channel('lru-cache:metrics')\n tracing = dc.tracingChannel('lru-cache')\n })\n .catch(() => {})\n"]}
|
||||
63
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.d.ts
generated
vendored
63
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.d.ts
generated
vendored
|
|
@ -1,9 +1,8 @@
|
|||
/**
|
||||
* @module LRUCache
|
||||
*/
|
||||
export type Perf = {
|
||||
now: () => number;
|
||||
};
|
||||
import type { Perf } from './perf.js';
|
||||
export type { Perf } from './perf.js';
|
||||
declare const TYPE: unique symbol;
|
||||
export type PosInt = number & {
|
||||
[TYPE]: 'Positive Integer';
|
||||
|
|
@ -124,7 +123,7 @@ export declare namespace LRUCache {
|
|||
* `lru-cache:metrics` diagnostic channel, and the `lru-cache` tracing
|
||||
* channels, in platforms that support them.
|
||||
*/
|
||||
interface Status<K, V> {
|
||||
interface Status<K, V, FC = unknown> {
|
||||
/**
|
||||
* The operation being performed
|
||||
*/
|
||||
|
|
@ -290,6 +289,10 @@ export declare namespace LRUCache {
|
|||
* A tracingChannel trace was started for this operation
|
||||
*/
|
||||
trace?: boolean;
|
||||
/**
|
||||
* A reference to the cache instance associated with this operation
|
||||
*/
|
||||
cache?: LRUCache<K & {}, V & {}, FC>;
|
||||
}
|
||||
/**
|
||||
* options which override the options set in the LRUCache constructor
|
||||
|
|
@ -307,7 +310,7 @@ export declare namespace LRUCache {
|
|||
* the fetchMethod is called.
|
||||
*/
|
||||
interface FetcherFetchOptions<K, V, FC = unknown> extends Pick<OptionsBase<K, V, FC>, 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet' | 'sizeCalculation' | 'ttl' | 'noDisposeOnSet' | 'noUpdateTTL' | 'noDeleteOnFetchRejection' | 'allowStaleOnFetchRejection' | 'ignoreFetchAbort' | 'allowStaleOnFetchAbort'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
size?: Size;
|
||||
}
|
||||
/**
|
||||
|
|
@ -329,7 +332,7 @@ export declare namespace LRUCache {
|
|||
*/
|
||||
context?: FC;
|
||||
signal?: AbortSignal;
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options provided to {@link LRUCache#fetch} when the FC type is something
|
||||
|
|
@ -342,8 +345,8 @@ export declare namespace LRUCache {
|
|||
* Options provided to {@link LRUCache#fetch} when the FC type is
|
||||
* `undefined` or `void`
|
||||
*/
|
||||
interface FetchOptionsNoContext<K, V> extends FetchOptions<K, V, undefined> {
|
||||
context?: undefined;
|
||||
interface FetchOptionsNoContext<K, V, FC extends undefined | void = undefined> extends FetchOptions<K, V, FC> {
|
||||
context?: FC;
|
||||
}
|
||||
interface MemoOptions<K, V, FC = unknown> extends Pick<OptionsBase<K, V, FC>, 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet' | 'sizeCalculation' | 'ttl' | 'noDisposeOnSet' | 'noUpdateTTL' | 'noDeleteOnFetchRejection' | 'allowStaleOnFetchRejection' | 'ignoreFetchAbort' | 'allowStaleOnFetchAbort'> {
|
||||
/**
|
||||
|
|
@ -360,7 +363,7 @@ export declare namespace LRUCache {
|
|||
* be required.
|
||||
*/
|
||||
context?: FC;
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options provided to {@link LRUCache#memo} when the FC type is something
|
||||
|
|
@ -373,8 +376,8 @@ export declare namespace LRUCache {
|
|||
* Options provided to {@link LRUCache#memo} when the FC type is
|
||||
* `undefined` or `void`
|
||||
*/
|
||||
interface MemoOptionsNoContext<K, V> extends MemoOptions<K, V, undefined> {
|
||||
context?: undefined;
|
||||
interface MemoOptionsNoContext<K, V, FC extends undefined | void = undefined> extends MemoOptions<K, V, FC> {
|
||||
context?: FC;
|
||||
}
|
||||
/**
|
||||
* Options provided to the
|
||||
|
|
@ -402,7 +405,7 @@ export declare namespace LRUCache {
|
|||
* the memoMethod is called.
|
||||
*/
|
||||
interface MemoizerMemoOptions<K, V, FC = unknown> extends Pick<OptionsBase<K, V, FC>, 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet' | 'sizeCalculation' | 'ttl' | 'noDisposeOnSet' | 'noUpdateTTL'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
size?: Size;
|
||||
start?: Milliseconds;
|
||||
}
|
||||
|
|
@ -410,19 +413,19 @@ export declare namespace LRUCache {
|
|||
* Options that may be passed to the {@link LRUCache#has} method.
|
||||
*/
|
||||
interface HasOptions<K, V, FC> extends Pick<OptionsBase<K, V, FC>, 'updateAgeOnHas'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options that may be passed to the {@link LRUCache#get} method.
|
||||
*/
|
||||
interface GetOptions<K, V, FC> extends Pick<OptionsBase<K, V, FC>, 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options that may be passed to the {@link LRUCache#peek} method.
|
||||
*/
|
||||
interface PeekOptions<K, V, FC> extends Pick<OptionsBase<K, V, FC>, 'allowStale'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options that may be passed to the {@link LRUCache#set} method.
|
||||
|
|
@ -443,7 +446,7 @@ export declare namespace LRUCache {
|
|||
* method is in use.
|
||||
*/
|
||||
start?: Milliseconds;
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* The type signature for the {@link OptionsBase.fetchMethod} option.
|
||||
|
|
@ -696,6 +699,20 @@ export declare namespace LRUCache {
|
|||
* though for most cases, only minimally.
|
||||
*/
|
||||
maxSize?: Size;
|
||||
/**
|
||||
* The effective size for background fetch promises.
|
||||
*
|
||||
* This has no effect unless `maxSize` and `sizeCalculation` are used,
|
||||
* and a {@link LRUCache.OptionsBase.fetchMethod} is provided to
|
||||
* support {@link LRUCache#fetch}.
|
||||
*
|
||||
* If a stale value is present in the cache, then the effective size of
|
||||
* the background fetch is the size of the stale item it will eventually
|
||||
* replace. If not, then this value is used as its effective size.
|
||||
*
|
||||
* @default 1
|
||||
*/
|
||||
backgroundFetchSize?: number;
|
||||
/**
|
||||
* The maximum allowed size for any single item in the cache.
|
||||
*
|
||||
|
|
@ -998,6 +1015,8 @@ export declare class LRUCache<K extends {}, V extends {}, FC = unknown> {
|
|||
* {@link LRUCache.OptionsBase.ignoreFetchAbort}
|
||||
*/
|
||||
ignoreFetchAbort: boolean;
|
||||
/** {@link LRUCache.OptionsBase.backgroundFetchSize} */
|
||||
backgroundFetchSize: number;
|
||||
/**
|
||||
* Do not call this method unless you need to inspect the
|
||||
* inner workings of the cache. If anything returned by this
|
||||
|
|
@ -1327,8 +1346,8 @@ export declare class LRUCache<K extends {}, V extends {}, FC = unknown> {
|
|||
* the same time, because they're both waiting on the same
|
||||
* underlying fetchMethod response.
|
||||
*/
|
||||
fetch(k: K, fetchOptions: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V> : LRUCache.FetchOptionsWithContext<K, V, FC>): Promise<undefined | V>;
|
||||
fetch(k: unknown extends FC ? K : FC extends undefined | void ? K : never, fetchOptions?: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V> : never): Promise<undefined | V>;
|
||||
fetch(k: K, fetchOptions: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V, FC> : LRUCache.FetchOptionsWithContext<K, V, FC>): Promise<undefined | V>;
|
||||
fetch(k: unknown extends FC ? K : FC extends undefined | void ? K : never, fetchOptions?: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V, FC> : never): Promise<undefined | V>;
|
||||
/**
|
||||
* In some cases, `cache.fetch()` may resolve to `undefined`, either because
|
||||
* a {@link LRUCache.OptionsBase#fetchMethod} was not provided (turning
|
||||
|
|
@ -1342,8 +1361,8 @@ export declare class LRUCache<K extends {}, V extends {}, FC = unknown> {
|
|||
* cumbersome, but testing for `undefined` can also be annoying, this method
|
||||
* can be used, which will reject if `this.fetch()` resolves to undefined.
|
||||
*/
|
||||
forceFetch(k: K, fetchOptions: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V> : LRUCache.FetchOptionsWithContext<K, V, FC>): Promise<V>;
|
||||
forceFetch(k: unknown extends FC ? K : FC extends undefined | void ? K : never, fetchOptions?: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V> : never): Promise<V>;
|
||||
forceFetch(k: K, fetchOptions: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V, FC> : LRUCache.FetchOptionsWithContext<K, V, FC>): Promise<V>;
|
||||
forceFetch(k: unknown extends FC ? K : FC extends undefined | void ? K : never, fetchOptions?: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V, FC> : never): Promise<V>;
|
||||
/**
|
||||
* If the key is found in the cache, then this is equivalent to
|
||||
* {@link LRUCache#get}. If not, in the cache, then calculate the value using
|
||||
|
|
@ -1358,8 +1377,8 @@ export declare class LRUCache<K extends {}, V extends {}, FC = unknown> {
|
|||
* relevant in the course of fetching the data. It is only relevant for the
|
||||
* course of a single `memo()` operation, and discarded afterwards.
|
||||
*/
|
||||
memo(k: K, memoOptions: unknown extends FC ? LRUCache.MemoOptions<K, V, FC> : FC extends undefined | void ? LRUCache.MemoOptionsNoContext<K, V> : LRUCache.MemoOptionsWithContext<K, V, FC>): V;
|
||||
memo(k: unknown extends FC ? K : FC extends undefined | void ? K : never, memoOptions?: unknown extends FC ? LRUCache.MemoOptions<K, V, FC> : FC extends undefined | void ? LRUCache.MemoOptionsNoContext<K, V> : never): V;
|
||||
memo(k: K, memoOptions: unknown extends FC ? LRUCache.MemoOptions<K, V, FC> : FC extends undefined | void ? LRUCache.MemoOptionsNoContext<K, V, FC> : LRUCache.MemoOptionsWithContext<K, V, FC>): V;
|
||||
memo(k: unknown extends FC ? K : FC extends undefined | void ? K : never, memoOptions?: unknown extends FC ? LRUCache.MemoOptions<K, V, FC> : FC extends undefined | void ? LRUCache.MemoOptionsNoContext<K, V, FC> : never): V;
|
||||
/**
|
||||
* Return a value from the cache. Will update the recency of the cache
|
||||
* entry found.
|
||||
|
|
|
|||
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.d.ts.map
generated
vendored
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.d.ts.map
generated
vendored
File diff suppressed because one or more lines are too long
161
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js
generated
vendored
161
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js
generated
vendored
|
|
@ -2,12 +2,8 @@
|
|||
* @module LRUCache
|
||||
*/
|
||||
import { metrics, tracing } from './diagnostics-channel.js';
|
||||
import { defaultPerf } from './perf.js';
|
||||
const hasSubscribers = () => metrics.hasSubscribers || tracing.hasSubscribers;
|
||||
const defaultPerf = (typeof performance === 'object' &&
|
||||
performance &&
|
||||
typeof performance.now === 'function') ?
|
||||
performance
|
||||
: Date;
|
||||
const warned = new Set();
|
||||
/* c8 ignore start */
|
||||
const PROCESS = (typeof process === 'object' && !!process ?
|
||||
|
|
@ -49,7 +45,9 @@ class ZeroArray extends Array {
|
|||
}
|
||||
}
|
||||
class Stack {
|
||||
/* c8 ignore start - not sure why this is showing up uncovered?? */
|
||||
heap;
|
||||
/* c8 ignore stop */
|
||||
length;
|
||||
// private constructor
|
||||
static #constructing = false;
|
||||
|
|
@ -169,6 +167,8 @@ export class LRUCache {
|
|||
* {@link LRUCache.OptionsBase.ignoreFetchAbort}
|
||||
*/
|
||||
ignoreFetchAbort;
|
||||
/** {@link LRUCache.OptionsBase.backgroundFetchSize} */
|
||||
backgroundFetchSize;
|
||||
// computed properties
|
||||
#size;
|
||||
#calculatedSize;
|
||||
|
|
@ -279,7 +279,8 @@ export class LRUCache {
|
|||
return this.#disposeAfter;
|
||||
}
|
||||
constructor(options) {
|
||||
const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort, perf, } = options;
|
||||
const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort, backgroundFetchSize = 1, perf, } = options;
|
||||
this.backgroundFetchSize = backgroundFetchSize;
|
||||
if (perf !== undefined) {
|
||||
if (typeof perf?.now !== 'function') {
|
||||
throw new TypeError('perf option must have a now() method if specified');
|
||||
|
|
@ -408,17 +409,17 @@ export class LRUCache {
|
|||
this.#setItemTTL = (index, ttl, start = this.#perf.now()) => {
|
||||
starts[index] = ttl !== 0 ? start : 0;
|
||||
ttls[index] = ttl;
|
||||
setPurgetTimer(index, ttl);
|
||||
setPurgeTimer(index, ttl);
|
||||
};
|
||||
this.#updateItemAge = index => {
|
||||
starts[index] = ttls[index] !== 0 ? this.#perf.now() : 0;
|
||||
setPurgetTimer(index, ttls[index]);
|
||||
setPurgeTimer(index, ttls[index]);
|
||||
};
|
||||
// clear out the purge timer if we're setting TTL to 0, and
|
||||
// previously had a ttl purge timer running, so it doesn't
|
||||
// fire unnecessarily. Don't need to do this if we're not doing
|
||||
// autopurge.
|
||||
const setPurgetTimer = !this.ttlAutopurge ?
|
||||
const setPurgeTimer = !this.ttlAutopurge ?
|
||||
() => { }
|
||||
: (index, ttl) => {
|
||||
if (purgeTimers?.[index]) {
|
||||
|
|
@ -429,6 +430,10 @@ export class LRUCache {
|
|||
const t = setTimeout(() => {
|
||||
if (this.#isStale(index)) {
|
||||
this.#delete(this.#keyList[index], 'expire');
|
||||
purgeTimers[index] = undefined;
|
||||
}
|
||||
else {
|
||||
setPurgeTimer(index, getRemainingTTL(index));
|
||||
}
|
||||
}, ttl + 1);
|
||||
// unref() not supported on all platforms
|
||||
|
|
@ -478,6 +483,9 @@ export class LRUCache {
|
|||
if (index === undefined) {
|
||||
return 0;
|
||||
}
|
||||
return getRemainingTTL(index);
|
||||
};
|
||||
const getRemainingTTL = (index) => {
|
||||
const ttl = ttls[index];
|
||||
const start = starts[index];
|
||||
if (!ttl || !start) {
|
||||
|
|
@ -507,12 +515,15 @@ export class LRUCache {
|
|||
sizes[index] = 0;
|
||||
};
|
||||
this.#requireSize = (k, v, size, sizeCalculation) => {
|
||||
// provisionally accept background fetches.
|
||||
// actual value size will be checked when they return.
|
||||
if (this.#isBackgroundFetch(v)) {
|
||||
return 0;
|
||||
}
|
||||
if (!isPosInt(size)) {
|
||||
// provisionally accept background fetches.
|
||||
// actual value size will be checked when they return.
|
||||
if (this.#isBackgroundFetch(v)) {
|
||||
// NB: this cannot occur if v.__staleWhileFetching is set,
|
||||
// because in that case, it would take on the size of the
|
||||
// existing entry that it temporarily replaces.
|
||||
return this.backgroundFetchSize;
|
||||
}
|
||||
if (sizeCalculation) {
|
||||
if (typeof sizeCalculation !== 'function') {
|
||||
throw new TypeError('sizeCalculation must be a function');
|
||||
|
|
@ -879,6 +890,7 @@ export class LRUCache {
|
|||
status.key = k;
|
||||
if (v !== undefined)
|
||||
status.value = v;
|
||||
status.cache = this;
|
||||
}
|
||||
const result = this.#set(k, v, setOptions);
|
||||
if (status && metrics.hasSubscribers) {
|
||||
|
|
@ -886,8 +898,9 @@ export class LRUCache {
|
|||
}
|
||||
return result;
|
||||
}
|
||||
#set(k, v, setOptions = {}) {
|
||||
#set(k, v, setOptions, bf) {
|
||||
const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status, } = setOptions;
|
||||
const isBF = this.#isBackgroundFetch(v);
|
||||
if (v === undefined) {
|
||||
if (status)
|
||||
status.set = 'deleted';
|
||||
|
|
@ -895,7 +908,7 @@ export class LRUCache {
|
|||
return this;
|
||||
}
|
||||
let { noUpdateTTL = this.noUpdateTTL } = setOptions;
|
||||
if (status && !this.#isBackgroundFetch(v))
|
||||
if (status && !isBF)
|
||||
status.value = v;
|
||||
const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation, status);
|
||||
// if the item doesn't fit, don't do anything
|
||||
|
|
@ -927,52 +940,68 @@ export class LRUCache {
|
|||
if (status)
|
||||
status.set = 'add';
|
||||
noUpdateTTL = false;
|
||||
if (this.#hasOnInsert) {
|
||||
if (this.#hasOnInsert && !isBF) {
|
||||
this.#onInsert?.(v, k, 'add');
|
||||
}
|
||||
}
|
||||
else {
|
||||
// update
|
||||
// might be updating a background fetch!
|
||||
this.#moveToTail(index);
|
||||
const oldVal = this.#valList[index];
|
||||
if (v !== oldVal) {
|
||||
if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
|
||||
oldVal.__abortController.abort(new Error('replaced'));
|
||||
const { __staleWhileFetching: s } = oldVal;
|
||||
if (s !== undefined && !noDisposeOnSet) {
|
||||
if (!noDisposeOnSet) {
|
||||
if (this.#isBackgroundFetch(oldVal)) {
|
||||
if (oldVal !== bf) {
|
||||
// setting over a background fetch, not merely resolving it.
|
||||
oldVal.__abortController.abort(new Error('replaced'));
|
||||
}
|
||||
const { __staleWhileFetching: s } = oldVal;
|
||||
if (s !== undefined && s !== v) {
|
||||
if (this.#hasDispose) {
|
||||
this.#dispose?.(s, k, 'set');
|
||||
}
|
||||
if (this.#hasDisposeAfter) {
|
||||
this.#disposed?.push([s, k, 'set']);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (this.#hasDispose) {
|
||||
this.#dispose?.(s, k, 'set');
|
||||
this.#dispose?.(oldVal, k, 'set');
|
||||
}
|
||||
if (this.#hasDisposeAfter) {
|
||||
this.#disposed?.push([s, k, 'set']);
|
||||
this.#disposed?.push([oldVal, k, 'set']);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!noDisposeOnSet) {
|
||||
if (this.#hasDispose) {
|
||||
this.#dispose?.(oldVal, k, 'set');
|
||||
}
|
||||
if (this.#hasDisposeAfter) {
|
||||
this.#disposed?.push([oldVal, k, 'set']);
|
||||
}
|
||||
}
|
||||
this.#removeItemSize(index);
|
||||
this.#addItemSize(index, size, status);
|
||||
this.#valList[index] = v;
|
||||
if (status) {
|
||||
status.set = 'replace';
|
||||
if (!isBF) {
|
||||
const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ?
|
||||
oldVal.__staleWhileFetching
|
||||
: oldVal;
|
||||
if (oldValue !== undefined)
|
||||
status.oldValue = oldValue;
|
||||
const setType = oldValue === undefined ? 'add'
|
||||
: v !== oldValue ? 'replace'
|
||||
: 'update';
|
||||
if (status) {
|
||||
status.set = setType;
|
||||
if (oldValue !== undefined)
|
||||
status.oldValue = oldValue;
|
||||
}
|
||||
if (this.#hasOnInsert) {
|
||||
this.onInsert?.(v, k, setType);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (status) {
|
||||
status.set = 'update';
|
||||
}
|
||||
if (this.#hasOnInsert) {
|
||||
this.onInsert?.(v, k, v === oldVal ? 'update' : 'replace');
|
||||
else if (!isBF) {
|
||||
if (status) {
|
||||
status.set = 'update';
|
||||
}
|
||||
if (this.#hasOnInsert) {
|
||||
this.onInsert?.(v, k, 'update');
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ttl !== 0 && !this.#ttls) {
|
||||
|
|
@ -1027,15 +1056,18 @@ export class LRUCache {
|
|||
const head = this.#head;
|
||||
const k = this.#keyList[head];
|
||||
const v = this.#valList[head];
|
||||
if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
|
||||
const isBF = this.#isBackgroundFetch(v);
|
||||
if (isBF) {
|
||||
v.__abortController.abort(new Error('evicted'));
|
||||
}
|
||||
else if (this.#hasDispose || this.#hasDisposeAfter) {
|
||||
const oldValue = isBF ? v.__staleWhileFetching : v;
|
||||
if ((this.#hasDispose || this.#hasDisposeAfter) &&
|
||||
oldValue !== undefined) {
|
||||
if (this.#hasDispose) {
|
||||
this.#dispose?.(v, k, 'evict');
|
||||
this.#dispose?.(oldValue, k, 'evict');
|
||||
}
|
||||
if (this.#hasDisposeAfter) {
|
||||
this.#disposed?.push([v, k, 'evict']);
|
||||
this.#disposed?.push([oldValue, k, 'evict']);
|
||||
}
|
||||
}
|
||||
this.#removeItemSize(head);
|
||||
|
|
@ -1082,6 +1114,7 @@ export class LRUCache {
|
|||
if (status) {
|
||||
status.op = 'has';
|
||||
status.key = k;
|
||||
status.cache = this;
|
||||
}
|
||||
const result = this.#has(k, hasOptions);
|
||||
if (metrics.hasSubscribers)
|
||||
|
|
@ -1129,6 +1162,7 @@ export class LRUCache {
|
|||
if (status) {
|
||||
status.op = 'peek';
|
||||
status.key = k;
|
||||
status.cache = this;
|
||||
}
|
||||
peekOptions.status = status;
|
||||
const result = this.#peek(k, peekOptions);
|
||||
|
|
@ -1211,7 +1245,7 @@ export class LRUCache {
|
|||
else {
|
||||
if (options.status)
|
||||
options.status.fetchUpdated = true;
|
||||
this.#set(k, v, fetchOpts.options);
|
||||
this.#set(k, v, fetchOpts.options, bf);
|
||||
}
|
||||
}
|
||||
return v;
|
||||
|
|
@ -1257,9 +1291,6 @@ export class LRUCache {
|
|||
};
|
||||
const pcall = (res, rej) => {
|
||||
const fmp = this.#fetchMethod?.(k, v, fetchOpts);
|
||||
if (fmp && fmp instanceof Promise) {
|
||||
fmp.then(v => res(v === undefined ? undefined : v), rej);
|
||||
}
|
||||
// ignored, we go until we finish, regardless.
|
||||
// defer check until we are actually aborting,
|
||||
// so fetchMethod can override.
|
||||
|
|
@ -1272,6 +1303,12 @@ export class LRUCache {
|
|||
}
|
||||
}
|
||||
});
|
||||
if (fmp && fmp instanceof Promise) {
|
||||
fmp.then(v => res(v === undefined ? undefined : v), rej);
|
||||
}
|
||||
else if (fmp !== undefined) {
|
||||
res(fmp);
|
||||
}
|
||||
};
|
||||
if (options.status)
|
||||
options.status.fetchDispatched = true;
|
||||
|
|
@ -1287,6 +1324,10 @@ export class LRUCache {
|
|||
index = this.#keyMap.get(k);
|
||||
}
|
||||
else {
|
||||
// do not call #set, because we do not want to adjust its place
|
||||
// in the lru queue, as it has not yet been "used". Also, we don't
|
||||
// need to worry about evicting for size, because a background fetch
|
||||
// over a stale value is treated as the same size as its stale value.
|
||||
this.#valList[index] = bf;
|
||||
}
|
||||
return bf;
|
||||
|
|
@ -1308,11 +1349,9 @@ export class LRUCache {
|
|||
status.context = fetchOptions.context;
|
||||
}
|
||||
const p = this.#fetch(k, fetchOptions);
|
||||
if (status && hasSubscribers()) {
|
||||
if (ths) {
|
||||
status.trace = true;
|
||||
tracing.tracePromise(() => p, status).catch(() => { });
|
||||
}
|
||||
if (status && ths) {
|
||||
status.trace = true;
|
||||
tracing.tracePromise(() => p, status).catch(() => { });
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
|
@ -1329,6 +1368,7 @@ export class LRUCache {
|
|||
status.key = k;
|
||||
if (forceRefresh)
|
||||
status.forceRefresh = true;
|
||||
status.cache = this;
|
||||
}
|
||||
if (!this.#hasFetchMethod) {
|
||||
if (status)
|
||||
|
|
@ -1410,11 +1450,9 @@ export class LRUCache {
|
|||
status.context = fetchOptions.context;
|
||||
}
|
||||
const p = this.#forceFetch(k, fetchOptions);
|
||||
if (status && hasSubscribers()) {
|
||||
if (ths) {
|
||||
status.trace = true;
|
||||
tracing.tracePromise(() => p, status).catch(() => { });
|
||||
}
|
||||
if (status && ths) {
|
||||
status.trace = true;
|
||||
tracing.tracePromise(() => p, status).catch(() => { });
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
|
@ -1433,6 +1471,7 @@ export class LRUCache {
|
|||
if (memoOptions.context) {
|
||||
status.context = memoOptions.context;
|
||||
}
|
||||
status.cache = this;
|
||||
}
|
||||
const result = this.#memo(k, memoOptions);
|
||||
if (status)
|
||||
|
|
@ -1479,6 +1518,7 @@ export class LRUCache {
|
|||
if (status) {
|
||||
status.op = 'get';
|
||||
status.key = k;
|
||||
status.cache = this;
|
||||
}
|
||||
const result = this.#get(k, getOptions);
|
||||
if (status) {
|
||||
|
|
@ -1577,6 +1617,7 @@ export class LRUCache {
|
|||
op: 'delete',
|
||||
delete: reason,
|
||||
key: k,
|
||||
cache: this,
|
||||
});
|
||||
}
|
||||
let deleted = false;
|
||||
|
|
@ -1584,7 +1625,7 @@ export class LRUCache {
|
|||
const index = this.#keyMap.get(k);
|
||||
if (index !== undefined) {
|
||||
if (this.#autopurgeTimers?.[index]) {
|
||||
clearTimeout(this.#autopurgeTimers?.[index]);
|
||||
clearTimeout(this.#autopurgeTimers[index]);
|
||||
this.#autopurgeTimers[index] = undefined;
|
||||
}
|
||||
deleted = true;
|
||||
|
|
@ -1657,7 +1698,7 @@ export class LRUCache {
|
|||
}
|
||||
}
|
||||
this.#keyMap.clear();
|
||||
this.#valList.fill(undefined);
|
||||
void this.#valList.fill(undefined);
|
||||
this.#keyList.fill(undefined);
|
||||
if (this.#ttls && this.#starts) {
|
||||
this.#ttls.fill(0);
|
||||
|
|
|
|||
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js.map
generated
vendored
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js
generated
vendored
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js
generated
vendored
File diff suppressed because one or more lines are too long
8
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js.map
generated
vendored
8
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js.map
generated
vendored
File diff suppressed because one or more lines are too long
|
|
@ -1 +0,0 @@
|
|||
{"version":3,"file":"diagnostics-channel-node.d.mts","sourceRoot":"","sources":["../../../src/diagnostics-channel-node.mts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AACvE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,CAAA;AACvC,eAAO,MAAM,OAAO,EAAE,OAAO,CAAC,OAAO,CAAgC,CAAA;AACrE,eAAO,MAAM,OAAO,EAAE,cAAc,CAAC,OAAO,CAA+B,CAAA"}
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"diagnostics-channel-node.d.ts","sourceRoot":"","sources":["../../../src/diagnostics-channel-node.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AACvE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,CAAA;AACvC,eAAO,MAAM,OAAO,EAAE,OAAO,CAAC,OAAO,CAAgC,CAAA;AACrE,eAAO,MAAM,OAAO,EAAE,cAAc,CAAC,OAAO,CAA+B,CAAA"}
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"diagnostics-channel-node.js","sourceRoot":"","sources":["../../../src/diagnostics-channel-node.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,mEAAmE;AACnE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAGlE,MAAM,CAAC,MAAM,OAAO,GAAqB,OAAO,CAAC,mBAAmB,CAAC,CAAA;AACrE,MAAM,CAAC,MAAM,OAAO,GAA4B,cAAc,CAAC,WAAW,CAAC,CAAA","sourcesContent":["// simple node version that imports from node builtin\n// this is built to both ESM and CommonJS on the 'node' import path\nimport { tracingChannel, channel } from 'node:diagnostics_channel'\nimport type { TracingChannel, Channel } from 'node:diagnostics_channel'\nexport type { TracingChannel, Channel }\nexport const metrics: Channel<unknown> = channel('lru-cache:metrics')\nexport const tracing: TracingChannel<unknown> = tracingChannel('lru-cache')\n"]}
|
||||
|
|
@ -1 +0,0 @@
|
|||
{"version":3,"file":"diagnostics-channel-node.mjs","sourceRoot":"","sources":["../../../src/diagnostics-channel-node.mts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,6DAA6D;AAC7D,4DAA4D;AAC5D,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAGlE,MAAM,CAAC,MAAM,OAAO,GAAqB,OAAO,CAAC,mBAAmB,CAAC,CAAA;AACrE,MAAM,CAAC,MAAM,OAAO,GAA4B,cAAc,CAAC,WAAW,CAAC,CAAA","sourcesContent":["// simple node version that imports from node builtin\n// this gets compiled to a require() commonjs-style override,\n// not using top level await on a conditional dynamic import\nimport { tracingChannel, channel } from 'node:diagnostics_channel'\nimport type { TracingChannel, Channel } from 'node:diagnostics_channel'\nexport type { TracingChannel, Channel }\nexport const metrics: Channel<unknown> = channel('lru-cache:metrics')\nexport const tracing: TracingChannel<unknown> = tracingChannel('lru-cache')\n"]}
|
||||
|
|
@ -2,4 +2,4 @@ import type { TracingChannel, Channel } from 'node:diagnostics_channel';
|
|||
export type { TracingChannel, Channel };
|
||||
export declare const metrics: Channel<unknown>;
|
||||
export declare const tracing: TracingChannel<unknown>;
|
||||
//# sourceMappingURL=diagnostics-channel-node.d.mts.map
|
||||
//# sourceMappingURL=diagnostics-channel-node.d.ts.map
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
// simple node version that imports from node builtin
|
||||
// this gets compiled to a require() commonjs-style override,
|
||||
// not using top level await on a conditional dynamic import
|
||||
// this is built to both ESM and CommonJS on the 'node' import path
|
||||
import { tracingChannel, channel } from 'node:diagnostics_channel';
|
||||
export const metrics = channel('lru-cache:metrics');
|
||||
export const tracing = tracingChannel('lru-cache');
|
||||
//# sourceMappingURL=diagnostics-channel-node.mjs.map
|
||||
//# sourceMappingURL=diagnostics-channel-node.js.map
|
||||
63
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.d.ts
generated
vendored
63
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.d.ts
generated
vendored
|
|
@ -1,9 +1,8 @@
|
|||
/**
|
||||
* @module LRUCache
|
||||
*/
|
||||
export type Perf = {
|
||||
now: () => number;
|
||||
};
|
||||
import type { Perf } from './perf.js';
|
||||
export type { Perf } from './perf.js';
|
||||
declare const TYPE: unique symbol;
|
||||
export type PosInt = number & {
|
||||
[TYPE]: 'Positive Integer';
|
||||
|
|
@ -124,7 +123,7 @@ export declare namespace LRUCache {
|
|||
* `lru-cache:metrics` diagnostic channel, and the `lru-cache` tracing
|
||||
* channels, in platforms that support them.
|
||||
*/
|
||||
interface Status<K, V> {
|
||||
interface Status<K, V, FC = unknown> {
|
||||
/**
|
||||
* The operation being performed
|
||||
*/
|
||||
|
|
@ -290,6 +289,10 @@ export declare namespace LRUCache {
|
|||
* A tracingChannel trace was started for this operation
|
||||
*/
|
||||
trace?: boolean;
|
||||
/**
|
||||
* A reference to the cache instance associated with this operation
|
||||
*/
|
||||
cache?: LRUCache<K & {}, V & {}, FC>;
|
||||
}
|
||||
/**
|
||||
* options which override the options set in the LRUCache constructor
|
||||
|
|
@ -307,7 +310,7 @@ export declare namespace LRUCache {
|
|||
* the fetchMethod is called.
|
||||
*/
|
||||
interface FetcherFetchOptions<K, V, FC = unknown> extends Pick<OptionsBase<K, V, FC>, 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet' | 'sizeCalculation' | 'ttl' | 'noDisposeOnSet' | 'noUpdateTTL' | 'noDeleteOnFetchRejection' | 'allowStaleOnFetchRejection' | 'ignoreFetchAbort' | 'allowStaleOnFetchAbort'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
size?: Size;
|
||||
}
|
||||
/**
|
||||
|
|
@ -329,7 +332,7 @@ export declare namespace LRUCache {
|
|||
*/
|
||||
context?: FC;
|
||||
signal?: AbortSignal;
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options provided to {@link LRUCache#fetch} when the FC type is something
|
||||
|
|
@ -342,8 +345,8 @@ export declare namespace LRUCache {
|
|||
* Options provided to {@link LRUCache#fetch} when the FC type is
|
||||
* `undefined` or `void`
|
||||
*/
|
||||
interface FetchOptionsNoContext<K, V> extends FetchOptions<K, V, undefined> {
|
||||
context?: undefined;
|
||||
interface FetchOptionsNoContext<K, V, FC extends undefined | void = undefined> extends FetchOptions<K, V, FC> {
|
||||
context?: FC;
|
||||
}
|
||||
interface MemoOptions<K, V, FC = unknown> extends Pick<OptionsBase<K, V, FC>, 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet' | 'sizeCalculation' | 'ttl' | 'noDisposeOnSet' | 'noUpdateTTL' | 'noDeleteOnFetchRejection' | 'allowStaleOnFetchRejection' | 'ignoreFetchAbort' | 'allowStaleOnFetchAbort'> {
|
||||
/**
|
||||
|
|
@ -360,7 +363,7 @@ export declare namespace LRUCache {
|
|||
* be required.
|
||||
*/
|
||||
context?: FC;
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options provided to {@link LRUCache#memo} when the FC type is something
|
||||
|
|
@ -373,8 +376,8 @@ export declare namespace LRUCache {
|
|||
* Options provided to {@link LRUCache#memo} when the FC type is
|
||||
* `undefined` or `void`
|
||||
*/
|
||||
interface MemoOptionsNoContext<K, V> extends MemoOptions<K, V, undefined> {
|
||||
context?: undefined;
|
||||
interface MemoOptionsNoContext<K, V, FC extends undefined | void = undefined> extends MemoOptions<K, V, FC> {
|
||||
context?: FC;
|
||||
}
|
||||
/**
|
||||
* Options provided to the
|
||||
|
|
@ -402,7 +405,7 @@ export declare namespace LRUCache {
|
|||
* the memoMethod is called.
|
||||
*/
|
||||
interface MemoizerMemoOptions<K, V, FC = unknown> extends Pick<OptionsBase<K, V, FC>, 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet' | 'sizeCalculation' | 'ttl' | 'noDisposeOnSet' | 'noUpdateTTL'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
size?: Size;
|
||||
start?: Milliseconds;
|
||||
}
|
||||
|
|
@ -410,19 +413,19 @@ export declare namespace LRUCache {
|
|||
* Options that may be passed to the {@link LRUCache#has} method.
|
||||
*/
|
||||
interface HasOptions<K, V, FC> extends Pick<OptionsBase<K, V, FC>, 'updateAgeOnHas'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options that may be passed to the {@link LRUCache#get} method.
|
||||
*/
|
||||
interface GetOptions<K, V, FC> extends Pick<OptionsBase<K, V, FC>, 'allowStale' | 'updateAgeOnGet' | 'noDeleteOnStaleGet'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options that may be passed to the {@link LRUCache#peek} method.
|
||||
*/
|
||||
interface PeekOptions<K, V, FC> extends Pick<OptionsBase<K, V, FC>, 'allowStale'> {
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* Options that may be passed to the {@link LRUCache#set} method.
|
||||
|
|
@ -443,7 +446,7 @@ export declare namespace LRUCache {
|
|||
* method is in use.
|
||||
*/
|
||||
start?: Milliseconds;
|
||||
status?: Status<K, V>;
|
||||
status?: Status<K, V, FC>;
|
||||
}
|
||||
/**
|
||||
* The type signature for the {@link OptionsBase.fetchMethod} option.
|
||||
|
|
@ -696,6 +699,20 @@ export declare namespace LRUCache {
|
|||
* though for most cases, only minimally.
|
||||
*/
|
||||
maxSize?: Size;
|
||||
/**
|
||||
* The effective size for background fetch promises.
|
||||
*
|
||||
* This has no effect unless `maxSize` and `sizeCalculation` are used,
|
||||
* and a {@link LRUCache.OptionsBase.fetchMethod} is provided to
|
||||
* support {@link LRUCache#fetch}.
|
||||
*
|
||||
* If a stale value is present in the cache, then the effective size of
|
||||
* the background fetch is the size of the stale item it will eventually
|
||||
* replace. If not, then this value is used as its effective size.
|
||||
*
|
||||
* @default 1
|
||||
*/
|
||||
backgroundFetchSize?: number;
|
||||
/**
|
||||
* The maximum allowed size for any single item in the cache.
|
||||
*
|
||||
|
|
@ -998,6 +1015,8 @@ export declare class LRUCache<K extends {}, V extends {}, FC = unknown> {
|
|||
* {@link LRUCache.OptionsBase.ignoreFetchAbort}
|
||||
*/
|
||||
ignoreFetchAbort: boolean;
|
||||
/** {@link LRUCache.OptionsBase.backgroundFetchSize} */
|
||||
backgroundFetchSize: number;
|
||||
/**
|
||||
* Do not call this method unless you need to inspect the
|
||||
* inner workings of the cache. If anything returned by this
|
||||
|
|
@ -1327,8 +1346,8 @@ export declare class LRUCache<K extends {}, V extends {}, FC = unknown> {
|
|||
* the same time, because they're both waiting on the same
|
||||
* underlying fetchMethod response.
|
||||
*/
|
||||
fetch(k: K, fetchOptions: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V> : LRUCache.FetchOptionsWithContext<K, V, FC>): Promise<undefined | V>;
|
||||
fetch(k: unknown extends FC ? K : FC extends undefined | void ? K : never, fetchOptions?: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V> : never): Promise<undefined | V>;
|
||||
fetch(k: K, fetchOptions: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V, FC> : LRUCache.FetchOptionsWithContext<K, V, FC>): Promise<undefined | V>;
|
||||
fetch(k: unknown extends FC ? K : FC extends undefined | void ? K : never, fetchOptions?: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V, FC> : never): Promise<undefined | V>;
|
||||
/**
|
||||
* In some cases, `cache.fetch()` may resolve to `undefined`, either because
|
||||
* a {@link LRUCache.OptionsBase#fetchMethod} was not provided (turning
|
||||
|
|
@ -1342,8 +1361,8 @@ export declare class LRUCache<K extends {}, V extends {}, FC = unknown> {
|
|||
* cumbersome, but testing for `undefined` can also be annoying, this method
|
||||
* can be used, which will reject if `this.fetch()` resolves to undefined.
|
||||
*/
|
||||
forceFetch(k: K, fetchOptions: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V> : LRUCache.FetchOptionsWithContext<K, V, FC>): Promise<V>;
|
||||
forceFetch(k: unknown extends FC ? K : FC extends undefined | void ? K : never, fetchOptions?: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V> : never): Promise<V>;
|
||||
forceFetch(k: K, fetchOptions: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V, FC> : LRUCache.FetchOptionsWithContext<K, V, FC>): Promise<V>;
|
||||
forceFetch(k: unknown extends FC ? K : FC extends undefined | void ? K : never, fetchOptions?: unknown extends FC ? LRUCache.FetchOptions<K, V, FC> : FC extends undefined | void ? LRUCache.FetchOptionsNoContext<K, V, FC> : never): Promise<V>;
|
||||
/**
|
||||
* If the key is found in the cache, then this is equivalent to
|
||||
* {@link LRUCache#get}. If not, in the cache, then calculate the value using
|
||||
|
|
@ -1358,8 +1377,8 @@ export declare class LRUCache<K extends {}, V extends {}, FC = unknown> {
|
|||
* relevant in the course of fetching the data. It is only relevant for the
|
||||
* course of a single `memo()` operation, and discarded afterwards.
|
||||
*/
|
||||
memo(k: K, memoOptions: unknown extends FC ? LRUCache.MemoOptions<K, V, FC> : FC extends undefined | void ? LRUCache.MemoOptionsNoContext<K, V> : LRUCache.MemoOptionsWithContext<K, V, FC>): V;
|
||||
memo(k: unknown extends FC ? K : FC extends undefined | void ? K : never, memoOptions?: unknown extends FC ? LRUCache.MemoOptions<K, V, FC> : FC extends undefined | void ? LRUCache.MemoOptionsNoContext<K, V> : never): V;
|
||||
memo(k: K, memoOptions: unknown extends FC ? LRUCache.MemoOptions<K, V, FC> : FC extends undefined | void ? LRUCache.MemoOptionsNoContext<K, V, FC> : LRUCache.MemoOptionsWithContext<K, V, FC>): V;
|
||||
memo(k: unknown extends FC ? K : FC extends undefined | void ? K : never, memoOptions?: unknown extends FC ? LRUCache.MemoOptions<K, V, FC> : FC extends undefined | void ? LRUCache.MemoOptionsNoContext<K, V, FC> : never): V;
|
||||
/**
|
||||
* Return a value from the cache. Will update the recency of the cache
|
||||
* entry found.
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
161
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.js
generated
vendored
161
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.js
generated
vendored
|
|
@ -2,12 +2,8 @@
|
|||
* @module LRUCache
|
||||
*/
|
||||
import { metrics, tracing } from './diagnostics-channel.js';
|
||||
import { defaultPerf } from './perf.js';
|
||||
const hasSubscribers = () => metrics.hasSubscribers || tracing.hasSubscribers;
|
||||
const defaultPerf = (typeof performance === 'object' &&
|
||||
performance &&
|
||||
typeof performance.now === 'function') ?
|
||||
performance
|
||||
: Date;
|
||||
const warned = new Set();
|
||||
/* c8 ignore start */
|
||||
const PROCESS = (typeof process === 'object' && !!process ?
|
||||
|
|
@ -49,7 +45,9 @@ class ZeroArray extends Array {
|
|||
}
|
||||
}
|
||||
class Stack {
|
||||
/* c8 ignore start - not sure why this is showing up uncovered?? */
|
||||
heap;
|
||||
/* c8 ignore stop */
|
||||
length;
|
||||
// private constructor
|
||||
static #constructing = false;
|
||||
|
|
@ -169,6 +167,8 @@ export class LRUCache {
|
|||
* {@link LRUCache.OptionsBase.ignoreFetchAbort}
|
||||
*/
|
||||
ignoreFetchAbort;
|
||||
/** {@link LRUCache.OptionsBase.backgroundFetchSize} */
|
||||
backgroundFetchSize;
|
||||
// computed properties
|
||||
#size;
|
||||
#calculatedSize;
|
||||
|
|
@ -279,7 +279,8 @@ export class LRUCache {
|
|||
return this.#disposeAfter;
|
||||
}
|
||||
constructor(options) {
|
||||
const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort, perf, } = options;
|
||||
const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort, backgroundFetchSize = 1, perf, } = options;
|
||||
this.backgroundFetchSize = backgroundFetchSize;
|
||||
if (perf !== undefined) {
|
||||
if (typeof perf?.now !== 'function') {
|
||||
throw new TypeError('perf option must have a now() method if specified');
|
||||
|
|
@ -408,17 +409,17 @@ export class LRUCache {
|
|||
this.#setItemTTL = (index, ttl, start = this.#perf.now()) => {
|
||||
starts[index] = ttl !== 0 ? start : 0;
|
||||
ttls[index] = ttl;
|
||||
setPurgetTimer(index, ttl);
|
||||
setPurgeTimer(index, ttl);
|
||||
};
|
||||
this.#updateItemAge = index => {
|
||||
starts[index] = ttls[index] !== 0 ? this.#perf.now() : 0;
|
||||
setPurgetTimer(index, ttls[index]);
|
||||
setPurgeTimer(index, ttls[index]);
|
||||
};
|
||||
// clear out the purge timer if we're setting TTL to 0, and
|
||||
// previously had a ttl purge timer running, so it doesn't
|
||||
// fire unnecessarily. Don't need to do this if we're not doing
|
||||
// autopurge.
|
||||
const setPurgetTimer = !this.ttlAutopurge ?
|
||||
const setPurgeTimer = !this.ttlAutopurge ?
|
||||
() => { }
|
||||
: (index, ttl) => {
|
||||
if (purgeTimers?.[index]) {
|
||||
|
|
@ -429,6 +430,10 @@ export class LRUCache {
|
|||
const t = setTimeout(() => {
|
||||
if (this.#isStale(index)) {
|
||||
this.#delete(this.#keyList[index], 'expire');
|
||||
purgeTimers[index] = undefined;
|
||||
}
|
||||
else {
|
||||
setPurgeTimer(index, getRemainingTTL(index));
|
||||
}
|
||||
}, ttl + 1);
|
||||
// unref() not supported on all platforms
|
||||
|
|
@ -478,6 +483,9 @@ export class LRUCache {
|
|||
if (index === undefined) {
|
||||
return 0;
|
||||
}
|
||||
return getRemainingTTL(index);
|
||||
};
|
||||
const getRemainingTTL = (index) => {
|
||||
const ttl = ttls[index];
|
||||
const start = starts[index];
|
||||
if (!ttl || !start) {
|
||||
|
|
@ -507,12 +515,15 @@ export class LRUCache {
|
|||
sizes[index] = 0;
|
||||
};
|
||||
this.#requireSize = (k, v, size, sizeCalculation) => {
|
||||
// provisionally accept background fetches.
|
||||
// actual value size will be checked when they return.
|
||||
if (this.#isBackgroundFetch(v)) {
|
||||
return 0;
|
||||
}
|
||||
if (!isPosInt(size)) {
|
||||
// provisionally accept background fetches.
|
||||
// actual value size will be checked when they return.
|
||||
if (this.#isBackgroundFetch(v)) {
|
||||
// NB: this cannot occur if v.__staleWhileFetching is set,
|
||||
// because in that case, it would take on the size of the
|
||||
// existing entry that it temporarily replaces.
|
||||
return this.backgroundFetchSize;
|
||||
}
|
||||
if (sizeCalculation) {
|
||||
if (typeof sizeCalculation !== 'function') {
|
||||
throw new TypeError('sizeCalculation must be a function');
|
||||
|
|
@ -879,6 +890,7 @@ export class LRUCache {
|
|||
status.key = k;
|
||||
if (v !== undefined)
|
||||
status.value = v;
|
||||
status.cache = this;
|
||||
}
|
||||
const result = this.#set(k, v, setOptions);
|
||||
if (status && metrics.hasSubscribers) {
|
||||
|
|
@ -886,8 +898,9 @@ export class LRUCache {
|
|||
}
|
||||
return result;
|
||||
}
|
||||
#set(k, v, setOptions = {}) {
|
||||
#set(k, v, setOptions, bf) {
|
||||
const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status, } = setOptions;
|
||||
const isBF = this.#isBackgroundFetch(v);
|
||||
if (v === undefined) {
|
||||
if (status)
|
||||
status.set = 'deleted';
|
||||
|
|
@ -895,7 +908,7 @@ export class LRUCache {
|
|||
return this;
|
||||
}
|
||||
let { noUpdateTTL = this.noUpdateTTL } = setOptions;
|
||||
if (status && !this.#isBackgroundFetch(v))
|
||||
if (status && !isBF)
|
||||
status.value = v;
|
||||
const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation, status);
|
||||
// if the item doesn't fit, don't do anything
|
||||
|
|
@ -927,52 +940,68 @@ export class LRUCache {
|
|||
if (status)
|
||||
status.set = 'add';
|
||||
noUpdateTTL = false;
|
||||
if (this.#hasOnInsert) {
|
||||
if (this.#hasOnInsert && !isBF) {
|
||||
this.#onInsert?.(v, k, 'add');
|
||||
}
|
||||
}
|
||||
else {
|
||||
// update
|
||||
// might be updating a background fetch!
|
||||
this.#moveToTail(index);
|
||||
const oldVal = this.#valList[index];
|
||||
if (v !== oldVal) {
|
||||
if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
|
||||
oldVal.__abortController.abort(new Error('replaced'));
|
||||
const { __staleWhileFetching: s } = oldVal;
|
||||
if (s !== undefined && !noDisposeOnSet) {
|
||||
if (!noDisposeOnSet) {
|
||||
if (this.#isBackgroundFetch(oldVal)) {
|
||||
if (oldVal !== bf) {
|
||||
// setting over a background fetch, not merely resolving it.
|
||||
oldVal.__abortController.abort(new Error('replaced'));
|
||||
}
|
||||
const { __staleWhileFetching: s } = oldVal;
|
||||
if (s !== undefined && s !== v) {
|
||||
if (this.#hasDispose) {
|
||||
this.#dispose?.(s, k, 'set');
|
||||
}
|
||||
if (this.#hasDisposeAfter) {
|
||||
this.#disposed?.push([s, k, 'set']);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (this.#hasDispose) {
|
||||
this.#dispose?.(s, k, 'set');
|
||||
this.#dispose?.(oldVal, k, 'set');
|
||||
}
|
||||
if (this.#hasDisposeAfter) {
|
||||
this.#disposed?.push([s, k, 'set']);
|
||||
this.#disposed?.push([oldVal, k, 'set']);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!noDisposeOnSet) {
|
||||
if (this.#hasDispose) {
|
||||
this.#dispose?.(oldVal, k, 'set');
|
||||
}
|
||||
if (this.#hasDisposeAfter) {
|
||||
this.#disposed?.push([oldVal, k, 'set']);
|
||||
}
|
||||
}
|
||||
this.#removeItemSize(index);
|
||||
this.#addItemSize(index, size, status);
|
||||
this.#valList[index] = v;
|
||||
if (status) {
|
||||
status.set = 'replace';
|
||||
if (!isBF) {
|
||||
const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ?
|
||||
oldVal.__staleWhileFetching
|
||||
: oldVal;
|
||||
if (oldValue !== undefined)
|
||||
status.oldValue = oldValue;
|
||||
const setType = oldValue === undefined ? 'add'
|
||||
: v !== oldValue ? 'replace'
|
||||
: 'update';
|
||||
if (status) {
|
||||
status.set = setType;
|
||||
if (oldValue !== undefined)
|
||||
status.oldValue = oldValue;
|
||||
}
|
||||
if (this.#hasOnInsert) {
|
||||
this.onInsert?.(v, k, setType);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (status) {
|
||||
status.set = 'update';
|
||||
}
|
||||
if (this.#hasOnInsert) {
|
||||
this.onInsert?.(v, k, v === oldVal ? 'update' : 'replace');
|
||||
else if (!isBF) {
|
||||
if (status) {
|
||||
status.set = 'update';
|
||||
}
|
||||
if (this.#hasOnInsert) {
|
||||
this.onInsert?.(v, k, 'update');
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ttl !== 0 && !this.#ttls) {
|
||||
|
|
@ -1027,15 +1056,18 @@ export class LRUCache {
|
|||
const head = this.#head;
|
||||
const k = this.#keyList[head];
|
||||
const v = this.#valList[head];
|
||||
if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
|
||||
const isBF = this.#isBackgroundFetch(v);
|
||||
if (isBF) {
|
||||
v.__abortController.abort(new Error('evicted'));
|
||||
}
|
||||
else if (this.#hasDispose || this.#hasDisposeAfter) {
|
||||
const oldValue = isBF ? v.__staleWhileFetching : v;
|
||||
if ((this.#hasDispose || this.#hasDisposeAfter) &&
|
||||
oldValue !== undefined) {
|
||||
if (this.#hasDispose) {
|
||||
this.#dispose?.(v, k, 'evict');
|
||||
this.#dispose?.(oldValue, k, 'evict');
|
||||
}
|
||||
if (this.#hasDisposeAfter) {
|
||||
this.#disposed?.push([v, k, 'evict']);
|
||||
this.#disposed?.push([oldValue, k, 'evict']);
|
||||
}
|
||||
}
|
||||
this.#removeItemSize(head);
|
||||
|
|
@ -1082,6 +1114,7 @@ export class LRUCache {
|
|||
if (status) {
|
||||
status.op = 'has';
|
||||
status.key = k;
|
||||
status.cache = this;
|
||||
}
|
||||
const result = this.#has(k, hasOptions);
|
||||
if (metrics.hasSubscribers)
|
||||
|
|
@ -1129,6 +1162,7 @@ export class LRUCache {
|
|||
if (status) {
|
||||
status.op = 'peek';
|
||||
status.key = k;
|
||||
status.cache = this;
|
||||
}
|
||||
peekOptions.status = status;
|
||||
const result = this.#peek(k, peekOptions);
|
||||
|
|
@ -1211,7 +1245,7 @@ export class LRUCache {
|
|||
else {
|
||||
if (options.status)
|
||||
options.status.fetchUpdated = true;
|
||||
this.#set(k, v, fetchOpts.options);
|
||||
this.#set(k, v, fetchOpts.options, bf);
|
||||
}
|
||||
}
|
||||
return v;
|
||||
|
|
@ -1257,9 +1291,6 @@ export class LRUCache {
|
|||
};
|
||||
const pcall = (res, rej) => {
|
||||
const fmp = this.#fetchMethod?.(k, v, fetchOpts);
|
||||
if (fmp && fmp instanceof Promise) {
|
||||
fmp.then(v => res(v === undefined ? undefined : v), rej);
|
||||
}
|
||||
// ignored, we go until we finish, regardless.
|
||||
// defer check until we are actually aborting,
|
||||
// so fetchMethod can override.
|
||||
|
|
@ -1272,6 +1303,12 @@ export class LRUCache {
|
|||
}
|
||||
}
|
||||
});
|
||||
if (fmp && fmp instanceof Promise) {
|
||||
fmp.then(v => res(v === undefined ? undefined : v), rej);
|
||||
}
|
||||
else if (fmp !== undefined) {
|
||||
res(fmp);
|
||||
}
|
||||
};
|
||||
if (options.status)
|
||||
options.status.fetchDispatched = true;
|
||||
|
|
@ -1287,6 +1324,10 @@ export class LRUCache {
|
|||
index = this.#keyMap.get(k);
|
||||
}
|
||||
else {
|
||||
// do not call #set, because we do not want to adjust its place
|
||||
// in the lru queue, as it has not yet been "used". Also, we don't
|
||||
// need to worry about evicting for size, because a background fetch
|
||||
// over a stale value is treated as the same size as its stale value.
|
||||
this.#valList[index] = bf;
|
||||
}
|
||||
return bf;
|
||||
|
|
@ -1308,11 +1349,9 @@ export class LRUCache {
|
|||
status.context = fetchOptions.context;
|
||||
}
|
||||
const p = this.#fetch(k, fetchOptions);
|
||||
if (status && hasSubscribers()) {
|
||||
if (ths) {
|
||||
status.trace = true;
|
||||
tracing.tracePromise(() => p, status).catch(() => { });
|
||||
}
|
||||
if (status && ths) {
|
||||
status.trace = true;
|
||||
tracing.tracePromise(() => p, status).catch(() => { });
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
|
@ -1329,6 +1368,7 @@ export class LRUCache {
|
|||
status.key = k;
|
||||
if (forceRefresh)
|
||||
status.forceRefresh = true;
|
||||
status.cache = this;
|
||||
}
|
||||
if (!this.#hasFetchMethod) {
|
||||
if (status)
|
||||
|
|
@ -1410,11 +1450,9 @@ export class LRUCache {
|
|||
status.context = fetchOptions.context;
|
||||
}
|
||||
const p = this.#forceFetch(k, fetchOptions);
|
||||
if (status && hasSubscribers()) {
|
||||
if (ths) {
|
||||
status.trace = true;
|
||||
tracing.tracePromise(() => p, status).catch(() => { });
|
||||
}
|
||||
if (status && ths) {
|
||||
status.trace = true;
|
||||
tracing.tracePromise(() => p, status).catch(() => { });
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
|
@ -1433,6 +1471,7 @@ export class LRUCache {
|
|||
if (memoOptions.context) {
|
||||
status.context = memoOptions.context;
|
||||
}
|
||||
status.cache = this;
|
||||
}
|
||||
const result = this.#memo(k, memoOptions);
|
||||
if (status)
|
||||
|
|
@ -1479,6 +1518,7 @@ export class LRUCache {
|
|||
if (status) {
|
||||
status.op = 'get';
|
||||
status.key = k;
|
||||
status.cache = this;
|
||||
}
|
||||
const result = this.#get(k, getOptions);
|
||||
if (status) {
|
||||
|
|
@ -1577,6 +1617,7 @@ export class LRUCache {
|
|||
op: 'delete',
|
||||
delete: reason,
|
||||
key: k,
|
||||
cache: this,
|
||||
});
|
||||
}
|
||||
let deleted = false;
|
||||
|
|
@ -1584,7 +1625,7 @@ export class LRUCache {
|
|||
const index = this.#keyMap.get(k);
|
||||
if (index !== undefined) {
|
||||
if (this.#autopurgeTimers?.[index]) {
|
||||
clearTimeout(this.#autopurgeTimers?.[index]);
|
||||
clearTimeout(this.#autopurgeTimers[index]);
|
||||
this.#autopurgeTimers[index] = undefined;
|
||||
}
|
||||
deleted = true;
|
||||
|
|
@ -1657,7 +1698,7 @@ export class LRUCache {
|
|||
}
|
||||
}
|
||||
this.#keyMap.clear();
|
||||
this.#valList.fill(undefined);
|
||||
void this.#valList.fill(undefined);
|
||||
this.#keyList.fill(undefined);
|
||||
if (this.#ttls && this.#starts) {
|
||||
this.#ttls.fill(0);
|
||||
|
|
|
|||
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.js.map
generated
vendored
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.min.js
generated
vendored
2
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.min.js
generated
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
12
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.d.ts
generated
vendored
Normal file
12
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
/**
|
||||
* this provides the default Perf object source, either the
|
||||
* `performance` global, or the `Date` constructor.
|
||||
*
|
||||
* it can be passed in via configuration to override it
|
||||
* for a single LRU object.
|
||||
*/
|
||||
export type Perf = {
|
||||
now: () => number;
|
||||
};
|
||||
export declare const defaultPerf: Perf;
|
||||
//# sourceMappingURL=perf.d.ts.map
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.d.ts.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.d.ts.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"perf.d.ts","sourceRoot":"","sources":["../../../src/perf.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,IAAI,GAAG;IAAE,GAAG,EAAE,MAAM,MAAM,CAAA;CAAE,CAAA;AACxC,eAAO,MAAM,WAAW,EAAE,IAQG,CAAA"}
|
||||
7
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.js
generated
vendored
Normal file
7
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.js
generated
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
export const defaultPerf = (typeof performance === 'object' &&
|
||||
performance &&
|
||||
typeof performance.now === 'function') ?
|
||||
/* c8 ignore start - this gets covered, but c8 gets confused */
|
||||
performance
|
||||
: /* c8 ignore stop */ Date;
|
||||
//# sourceMappingURL=perf.js.map
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.js.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"perf.js","sourceRoot":"","sources":["../../../src/perf.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,WAAW,GACtB,CACE,OAAO,WAAW,KAAK,QAAQ;IAC/B,WAAW;IACX,OAAO,WAAW,CAAC,GAAG,KAAK,UAAU,CACtC,CAAC,CAAC;IACD,+DAA+D;IAC/D,WAAW;IACb,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAA","sourcesContent":["/**\n * this provides the default Perf object source, either the\n * `performance` global, or the `Date` constructor.\n *\n * it can be passed in via configuration to override it\n * for a single LRU object.\n */\nexport type Perf = { now: () => number }\nexport const defaultPerf: Perf =\n (\n typeof performance === 'object' &&\n performance &&\n typeof performance.now === 'function'\n ) ?\n /* c8 ignore start - this gets covered, but c8 gets confused */\n performance\n : /* c8 ignore stop */ Date\n"]}
|
||||
12
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.d.ts
generated
vendored
Normal file
12
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
/**
|
||||
* this provides the default Perf object source, either the
|
||||
* `performance` global, or the `Date` constructor.
|
||||
*
|
||||
* it can be passed in via configuration to override it
|
||||
* for a single LRU object.
|
||||
*/
|
||||
export type Perf = {
|
||||
now: () => number;
|
||||
};
|
||||
export declare const defaultPerf: Perf;
|
||||
//# sourceMappingURL=perf.d.ts.map
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.d.ts.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.d.ts.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"perf.d.ts","sourceRoot":"","sources":["../../src/perf.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,IAAI,GAAG;IAAE,GAAG,EAAE,MAAM,MAAM,CAAA;CAAE,CAAA;AACxC,eAAO,MAAM,WAAW,EAAE,IAQG,CAAA"}
|
||||
7
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.js
generated
vendored
Normal file
7
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.js
generated
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
export const defaultPerf = (typeof performance === 'object' &&
|
||||
performance &&
|
||||
typeof performance.now === 'function') ?
|
||||
/* c8 ignore start - this gets covered, but c8 gets confused */
|
||||
performance
|
||||
: /* c8 ignore stop */ Date;
|
||||
//# sourceMappingURL=perf.js.map
|
||||
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.js.map
generated
vendored
Normal file
1
electron/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"perf.js","sourceRoot":"","sources":["../../src/perf.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,WAAW,GACtB,CACE,OAAO,WAAW,KAAK,QAAQ;IAC/B,WAAW;IACX,OAAO,WAAW,CAAC,GAAG,KAAK,UAAU,CACtC,CAAC,CAAC;IACD,+DAA+D;IAC/D,WAAW;IACb,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAA","sourcesContent":["/**\n * this provides the default Perf object source, either the\n * `performance` global, or the `Date` constructor.\n *\n * it can be passed in via configuration to override it\n * for a single LRU object.\n */\nexport type Perf = { now: () => number }\nexport const defaultPerf: Perf =\n (\n typeof performance === 'object' &&\n performance &&\n typeof performance.now === 'function'\n ) ?\n /* c8 ignore start - this gets covered, but c8 gets confused */\n performance\n : /* c8 ignore stop */ Date\n"]}
|
||||
Loading…
Add table
Add a link
Reference in a new issue