@c11/engine.db
Version:
The engine db
74 lines • 5.15 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var decomposePath_1 = __importDefault(require("./decomposePath"));
// @TODO: Instead of using the global
// static deps object, create a cachedStaticDeps
// in order to parse only the dependencies that
// are actually cached
//
// @TODO: In order to remove a step, add to the
// cachedStaticDeps all the cacheDynamicList nodes.
//
// Also do not include dynamic deps for inner
// objects because those are taken cared of at the root
function invalidateCache(db, changed) {
var cacheDynamic = db.cache.dynamic;
var cachePaths = db.cache.paths;
var staticDeps = db.dynamic.staticDeps;
var decomposed = db.dynamic.decomposed;
var full = changed.full;
var i = changed.full.length;
var j;
var k;
var p;
var changedPath;
var changedPaths;
var part;
var staticDepList;
var dep;
var cacheDynamicList;
var cachedDynamic;
var decomposedList;
while (i--) {
changedPath = full[i];
changedPaths = (0, decomposePath_1.default)(changedPath);
changedPaths.push(changedPath);
j = changedPaths.length;
while (j--) {
part = changedPaths[j];
delete cachePaths[part];
staticDepList = staticDeps[part];
if (staticDepList) {
k = staticDepList.length;
while (k--) {
dep = staticDepList[k];
cacheDynamicList = cacheDynamic[dep];
if (cacheDynamicList) {
p = cacheDynamicList.length;
while (p--) {
delete cachePaths[cacheDynamicList[p]];
}
}
decomposedList = decomposed[dep];
p = decomposedList.length;
while (p--) {
delete cachePaths[decomposedList[p]];
}
}
}
cacheDynamicList = cacheDynamic[part];
if (cacheDynamicList) {
k = cacheDynamicList.length;
while (k--) {
delete cachePaths[cacheDynamicList[k]];
}
}
}
}
delete db.cache.paths["/"];
}
exports.default = invalidateCache;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52YWxpZGF0ZUNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZuL2ludmFsaWRhdGVDYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLGtFQUE0QztBQUU1QyxxQ0FBcUM7QUFDckMsZ0RBQWdEO0FBQ2hELCtDQUErQztBQUMvQyxzQkFBc0I7QUFDdEIsRUFBRTtBQUNGLCtDQUErQztBQUMvQyxtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLDZDQUE2QztBQUM3Qyx1REFBdUQ7QUFFdkQsU0FBUyxlQUFlLENBQUMsRUFBRSxFQUFFLE9BQU87SUFDbEMsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDcEMsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDaEMsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDdkMsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFFdkMsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUN4QixJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUM1QixJQUFJLENBQUMsQ0FBQztJQUNOLElBQUksQ0FBQyxDQUFDO0lBQ04sSUFBSSxDQUFDLENBQUM7SUFDTixJQUFJLFdBQVcsQ0FBQztJQUNoQixJQUFJLFlBQVksQ0FBQztJQUNqQixJQUFJLElBQUksQ0FBQztJQUNULElBQUksYUFBYSxDQUFDO0lBQ2xCLElBQUksR0FBRyxDQUFDO0lBQ1IsSUFBSSxnQkFBZ0IsQ0FBQztJQUNyQixJQUFJLGFBQWEsQ0FBQztJQUNsQixJQUFJLGNBQWMsQ0FBQztJQUVuQixPQUFPLENBQUMsRUFBRSxFQUFFO1FBQ1YsV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0QixZQUFZLEdBQUcsSUFBQSx1QkFBYSxFQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFL0IsQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFFeEIsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUNWLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFdkIsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFeEIsYUFBYSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxJQUFJLGFBQWEsRUFBRTtnQkFDakIsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7Z0JBRXpCLE9BQU8sQ0FBQyxFQUFFLEVBQUU7b0JBQ1YsR0FBRyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFFdkIsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNyQyxJQUFJLGdCQUFnQixFQUFFO3dCQUNwQixDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO3dCQUM1QixPQUFPLENBQUMsRUFBRSxFQUFFOzRCQUNWLE9BQU8sVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ3hDO3FCQUNGO29CQUVELGNBQWMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2pDLENBQUMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDO29CQUMxQixPQUFPLENBQUMsRUFBRSxFQUFFO3dCQUNWLE9BQU8sVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUN0QztpQkFDRjthQUNGO1lBRUQsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RDLElBQUksZ0JBQWdCLEVBQUU7Z0JBQ3BCLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7Z0JBQzVCLE9BQU8sQ0FBQyxFQUFFLEVBQUU7b0JBQ1YsT0FBTyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDeEM7YUFDRjtTQUNGO0tBQ0Y7SUFFRCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFFRCxrQkFBZSxlQUFlLENBQUMifQ==
;