docxtemplater
Version:
docx and pptx generator working with templates and data (like Mustache, for Word and Powerpoint documents)
37 lines (32 loc) • 814 B
JavaScript
;
function emptyFun() {}
function identity(i) {
return i;
}
module.exports = function (module) {
var defaults = {
set: emptyFun,
parse: emptyFun,
render: emptyFun,
getTraits: emptyFun,
getFileType: emptyFun,
nullGetter: emptyFun,
optionsTransformer: identity,
postrender: identity,
errorsTransformer: identity,
getRenderedMap: identity,
preparse: identity,
postparse: identity,
on: emptyFun,
resolve: emptyFun
};
if (Object.keys(defaults).every(function (key) {
return !module[key];
})) {
throw new Error("This module cannot be wrapped, because it doesn't define any of the necessary functions");
}
Object.keys(defaults).forEach(function (key) {
module[key] = module[key] || defaults[key];
});
return module;
};