mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-21 05:40:29 +08:00
89 lines
3.4 KiB
JavaScript
89 lines
3.4 KiB
JavaScript
'use strict';Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});const fsMemo=require('../../_virtual/fs-memo.cjs'),require$$0$1=require('node:path'),require$$11=require('ci-info'),require$$0=require('picocolors'),cacheFilesystem=require('./cache-filesystem.cjs'),require$$4=require('foxts/serialized-memo'),dir=require('../constants/dir.cjs');var hasRequiredFsMemo;
|
|
|
|
function requireFsMemo () {
|
|
if (hasRequiredFsMemo) return fsMemo.__exports;
|
|
hasRequiredFsMemo = 1;
|
|
(function (exports) {
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
cache: function() {
|
|
return cache;
|
|
},
|
|
cachedOnlyFail: function() {
|
|
return cachedOnlyFail;
|
|
}
|
|
});
|
|
const _nodepath = /*#__PURE__*/ _interop_require_default(require$$0$1);
|
|
const _ciinfo = require$$11;
|
|
const _picocolors = /*#__PURE__*/ _interop_require_default(require$$0);
|
|
const _cachefilesystem = /*@__PURE__*/ cacheFilesystem.__require();
|
|
const _serializedmemo = require$$4;
|
|
const _dir = /*@__PURE__*/ dir.__require();
|
|
function _interop_require_default(obj) {
|
|
return obj && obj.__esModule ? obj : {
|
|
default: obj
|
|
};
|
|
}
|
|
const fsMemoCache = new _cachefilesystem.Cache({
|
|
cachePath: _nodepath.default.join(_dir.ROOT_DIR, '.cache'),
|
|
tableName: 'fs_memo_cache'
|
|
});
|
|
const fsMemoCacheProvider = {
|
|
has (key) {
|
|
return fsMemoCache.get(key) !== null;
|
|
},
|
|
delete () {
|
|
// noop
|
|
},
|
|
get (key) {
|
|
return fsMemoCache.get(key) ?? undefined;
|
|
},
|
|
set (key, value, ttl) {
|
|
fsMemoCache.set(key, value, ttl);
|
|
},
|
|
updateTtl (key, ttl) {
|
|
fsMemoCache.updateTtl(key, ttl);
|
|
}
|
|
};
|
|
const TTL = _ciinfo.isCI ? 1.5 * 86400 * 1000 : 7 * 86400 * 1000;
|
|
const cache = (0, _serializedmemo.createMemoize)(fsMemoCacheProvider, {
|
|
defaultTtl: TTL,
|
|
onCacheMiss (key, { humanReadableName, isUseCachedIfFail }) {
|
|
const cacheName = _picocolors.default.gray(humanReadableName);
|
|
if (isUseCachedIfFail) {
|
|
console.log(_picocolors.default.red('[fail] and no cache, throwing'), cacheName);
|
|
} else {
|
|
console.log(_picocolors.default.yellow('[cache] miss'), cacheName);
|
|
}
|
|
},
|
|
onCacheUpdate (key, { humanReadableName, isUseCachedIfFail }) {
|
|
const cacheName = _picocolors.default.gray(humanReadableName);
|
|
if (isUseCachedIfFail) {
|
|
console.log(_picocolors.default.gray('[cache] update'), cacheName);
|
|
}
|
|
},
|
|
onCacheHit (key, { humanReadableName, isUseCachedIfFail }) {
|
|
const cacheName = _picocolors.default.gray(humanReadableName);
|
|
if (isUseCachedIfFail) {
|
|
console.log(_picocolors.default.yellow('[fail] try cache'), cacheName);
|
|
} else {
|
|
console.log(_picocolors.default.green('[cache] hit'), cacheName);
|
|
}
|
|
}
|
|
});
|
|
const cachedOnlyFail = (0, _serializedmemo.createMemoize)(fsMemoCacheProvider, {
|
|
defaultTtl: TTL,
|
|
onlyUseCachedIfFail: true
|
|
}); // export const cache = createCache(false);
|
|
// export const cachedOnlyFail = createCache(true);
|
|
} (fsMemo.__exports));
|
|
return fsMemo.__exports;
|
|
}exports.__require=requireFsMemo; |