mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
Provide hooks to clear caches
This commit is contained in:
parent
26024ed8fa
commit
009e99bfe9
@ -102,7 +102,10 @@ extend(exports, {
|
|||||||
Expression: require('./Expression'),
|
Expression: require('./Expression'),
|
||||||
TypeConverter: require('./TypeConverter'),
|
TypeConverter: require('./TypeConverter'),
|
||||||
EscapeXmlContext: require('./EscapeXmlContext'),
|
EscapeXmlContext: require('./EscapeXmlContext'),
|
||||||
defaultOptions: defaultOptions
|
defaultOptions: defaultOptions,
|
||||||
|
clearCaches: function() {
|
||||||
|
exports.taglibs.clearCaches();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
exports.TemplateCompiler = require('./TemplateCompiler');
|
exports.TemplateCompiler = require('./TemplateCompiler');
|
||||||
|
|||||||
@ -4,3 +4,7 @@ exports.lookup = require('./taglib-lookup');
|
|||||||
exports.buildLookup = exports.lookup.buildLookup;
|
exports.buildLookup = exports.lookup.buildLookup;
|
||||||
exports.registerTaglib = exports.lookup.registerTaglib;
|
exports.registerTaglib = exports.lookup.registerTaglib;
|
||||||
exports.excludeDir = exports.lookup.excludeDir;
|
exports.excludeDir = exports.lookup.excludeDir;
|
||||||
|
exports.clearCaches = function() {
|
||||||
|
exports.lookup.clearCaches();
|
||||||
|
require('./taglib-finder').clearCaches();
|
||||||
|
};
|
||||||
@ -100,4 +100,10 @@ function excludeDir(dirname) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
exports.find = find;
|
exports.find = find;
|
||||||
exports.excludeDir = excludeDir;
|
exports.excludeDir = excludeDir;
|
||||||
|
|
||||||
|
exports.clearCaches = function() {
|
||||||
|
existsCache = {};
|
||||||
|
findCache = {};
|
||||||
|
taglibsByPath = {};
|
||||||
|
};
|
||||||
@ -41,4 +41,7 @@ function registerTaglib(taglib) {
|
|||||||
|
|
||||||
exports.excludeDir = taglibFinder.excludeDir;
|
exports.excludeDir = taglibFinder.excludeDir;
|
||||||
exports.registerTaglib = registerTaglib;
|
exports.registerTaglib = registerTaglib;
|
||||||
exports.buildLookup = buildLookup;
|
exports.buildLookup = buildLookup;
|
||||||
|
exports.clearCaches = function() {
|
||||||
|
lookupCache = {};
|
||||||
|
};
|
||||||
@ -23,7 +23,6 @@
|
|||||||
var asyncWriter = require('async-writer');
|
var asyncWriter = require('async-writer');
|
||||||
var helpers = require('./helpers');
|
var helpers = require('./helpers');
|
||||||
var loader = require('./loader');
|
var loader = require('./loader');
|
||||||
var cache = {};
|
|
||||||
var Readable;
|
var Readable;
|
||||||
var AsyncWriter = asyncWriter.AsyncWriter;
|
var AsyncWriter = asyncWriter.AsyncWriter;
|
||||||
var extend = require('raptor-util/extend');
|
var extend = require('raptor-util/extend');
|
||||||
@ -162,6 +161,8 @@ if (stream) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function load(templatePath, options) {
|
function load(templatePath, options) {
|
||||||
|
var cache = exports.cache;
|
||||||
|
|
||||||
if (!templatePath) {
|
if (!templatePath) {
|
||||||
throw new Error('"templatePath" is required');
|
throw new Error('"templatePath" is required');
|
||||||
}
|
}
|
||||||
@ -191,12 +192,12 @@ exports.stream = function(templatePath, data) {
|
|||||||
return load(templatePath).stream(data);
|
return load(templatePath).stream(data);
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.unload = function(templatePath) {
|
exports.cache = {};
|
||||||
delete cache[templatePath];
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.createWriter = function(writer) {
|
exports.createWriter = function(writer) {
|
||||||
return new AsyncWriter(writer);
|
return new AsyncWriter(writer);
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.helpers = helpers;
|
exports.helpers = helpers;
|
||||||
|
|
||||||
|
exports.Template = Template;
|
||||||
Loading…
x
Reference in New Issue
Block a user