🐛 Update: Added support for the 'find' command in settings.local.json. Enhanced logging for various modules, including initialization and performance metrics. Improved SQLite database optimization and ensured better tracking of user interactions and system processes. 📚

This commit is contained in:
2025-06-14 16:26:43 +02:00
parent ee54bc273c
commit 89037861e3
2472 changed files with 691099 additions and 1 deletions

View File

@@ -0,0 +1,128 @@
/*!
* fragment-cache <https://github.com/jonschlinkert/fragment-cache>
*
* Copyright (c) 2016-2017, Jon Schlinkert.
* Released under the MIT License.
*/
'use strict';
var MapCache = require('map-cache');
/**
* Create a new `FragmentCache` with an optional object to use for `caches`.
*
* ```js
* var fragment = new FragmentCache();
* ```
* @name FragmentCache
* @param {String} `cacheName`
* @return {Object} Returns the [map-cache][] instance.
* @api public
*/
function FragmentCache(caches) {
this.caches = caches || {};
}
/**
* Prototype
*/
FragmentCache.prototype = {
/**
* Get cache `name` from the `fragment.caches` object. Creates a new
* `MapCache` if it doesn't already exist.
*
* ```js
* var cache = fragment.cache('files');
* console.log(fragment.caches.hasOwnProperty('files'));
* //=> true
* ```
* @name .cache
* @param {String} `cacheName`
* @return {Object} Returns the [map-cache][] instance.
* @api public
*/
cache: function(cacheName) {
return this.caches[cacheName] || (this.caches[cacheName] = new MapCache());
},
/**
* Set a value for property `key` on cache `name`
*
* ```js
* fragment.set('files', 'somefile.js', new File({path: 'somefile.js'}));
* ```
* @name .set
* @param {String} `name`
* @param {String} `key` Property name to set
* @param {any} `val` The value of `key`
* @return {Object} The cache instance for chaining
* @api public
*/
set: function(cacheName, key, val) {
var cache = this.cache(cacheName);
cache.set(key, val);
return cache;
},
/**
* Returns true if a non-undefined value is set for `key` on fragment cache `name`.
*
* ```js
* var cache = fragment.cache('files');
* cache.set('somefile.js');
*
* console.log(cache.has('somefile.js'));
* //=> true
*
* console.log(cache.has('some-other-file.js'));
* //=> false
* ```
* @name .has
* @param {String} `name` Cache name
* @param {String} `key` Optionally specify a property to check for on cache `name`
* @return {Boolean}
* @api public
*/
has: function(cacheName, key) {
return typeof this.get(cacheName, key) !== 'undefined';
},
/**
* Get `name`, or if specified, the value of `key`. Invokes the [cache]() method,
* so that cache `name` will be created it doesn't already exist. If `key` is not passed,
* the entire cache (`name`) is returned.
*
* ```js
* var Vinyl = require('vinyl');
* var cache = fragment.cache('files');
* cache.set('somefile.js', new Vinyl({path: 'somefile.js'}));
* console.log(cache.get('somefile.js'));
* //=> <File "somefile.js">
* ```
* @name .get
* @param {String} `name`
* @return {Object} Returns cache `name`, or the value of `key` if specified
* @api public
*/
get: function(name, key) {
var cache = this.cache(name);
if (typeof key === 'string') {
return cache.get(key);
}
return cache;
}
};
/**
* Expose `FragmentCache`
*/
exports = module.exports = FragmentCache;