cannabis
Version:
TypeScript AST Query library
67 lines • 1.88 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
var misc_utils_of_mine_generic_1 = require("misc-utils-of-mine-generic");
var config = {
includeFilesInNodeModules: false,
getChildren: false,
includeJSDocTagNodes: false,
visitChildrenFirst: true,
params: {},
verifyProjectRegistered: true,
trace: false,
// logs: false,
cacheNodePaths: false,
cacheTypeText: false,
cacheExtended: false,
cacheImplemented: false,
cacheReferences: false,
cacheDerivedClasses: false,
cacheImplementations: false,
cacheAncestors: false,
cacheNodeType: false
};
function getConfig(p) {
return config[p];
}
exports.getConfig = getConfig;
function setConfig(p, v) {
if (typeof p === 'object') {
Object.assign(config, p);
}
else if (typeof v !== 'undefined') {
config[p] = v;
}
}
exports.setConfig = setConfig;
function saveConfig(name) {
if (name === void 0) { name = 'default'; }
saved[name] = __assign({}, config);
}
exports.saveConfig = saveConfig;
function restoreConfig(name) {
if (name === void 0) { name = 'default'; }
Object.assign(config, saved[name] || {});
}
exports.restoreConfig = restoreConfig;
var saved = {};
function withConfig(c, f) {
var id = misc_utils_of_mine_generic_1.unique('config');
saveConfig(id);
setConfig(c);
var r = f();
restoreConfig(id);
return r;
}
exports.withConfig = withConfig;
//# sourceMappingURL=config.js.map