mxdocgen
Version:
A small tool that mimics the documentation generation capabilities offered in Mendix Studio Pro, but with greater flexibility. It uses the Mendix Model SDK to extract information from a Mendix model, which is then fed into a set of templates to generate
37 lines • 1.54 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
exports.__esModule = true;
var ignore_1 = __importDefault(require("ignore"));
var mendixmodelsdk_1 = require("mendixmodelsdk");
var Folder = mendixmodelsdk_1.projects.Folder;
exports.defaultFilterConfig = {
modulesRegex: ".*",
documentIgnorePatterns: ["**"]
};
exports.createRegexModuleFilter = function (filter) {
return filter ? function (module) { return module.name.match(filter) !== null; } : function () { return true; };
};
exports.defaultModuleFilter = exports.createRegexModuleFilter(new RegExp(exports.defaultFilterConfig.modulesRegex));
exports.createGlobDocumentFilter = function (ignorePatterns) {
var ig = ignore_1["default"]().add(ignorePatterns);
return function (document) {
var path = buildDocumentPath(document);
return !ig.ignores(path);
};
};
exports.defaultDocumentFilter = exports.createGlobDocumentFilter(exports.defaultFilterConfig.documentIgnorePatterns);
var buildDocumentPath = function (document) {
var documentPath = [document.name];
var container = document.containerAsFolderBase;
while (isFolder(container)) {
documentPath.unshift(container.name);
container = container.containerAsFolderBase;
}
return documentPath.join("/");
};
var isFolder = function (folderbase) {
return folderbase.structureTypeName === Folder.structureTypeName;
};
//# sourceMappingURL=filters.js.map
;