UNPKG

@c11/engine.db

Version:

The engine db

74 lines 5.15 kB
"use strict"; 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==