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 (36 loc) • 2.07 kB
TypeScript
import { domainmodels, IModel, microflows, projects } from "mendixmodelsdk";
import { Processor } from "./processor";
import { DefaultAssociationTemplateData, DefaultAttributeTemplateData, DefaultDomainModelTemplateData, DefaultEntityTemplateData, DefaultMicroflowTemplateData, DefaultTemplateData } from "./defaulttemplatedata";
import IModule = projects.IModule;
import IFolderBase = projects.IFolderBase;
import IMicroflow = microflows.IMicroflow;
import IDocument = projects.IDocument;
import IDomainModel = domainmodels.IDomainModel;
import IEntity = domainmodels.IEntity;
import IAttribute = domainmodels.IAttribute;
import IAssociation = domainmodels.IAssociation;
export declare class DefaultProcessor implements Processor<DefaultTemplateData> {
private moduleFilter?;
private documentFilter?;
constructor(moduleFilter?: ((module: projects.IModule) => boolean) | undefined, documentFilter?: ((document: projects.IDocument) => boolean) | undefined);
process(model: IModel): Promise<DefaultTemplateData>;
protected processModule(module: IModule): Promise<{
ID: string;
Name: string;
DomainModel: DefaultDomainModelTemplateData;
HasMicroflows: boolean;
Microflows: {
ID: string;
TypeName: string;
Microflows: DefaultMicroflowTemplateData[];
};
}>;
protected processDomainModel(domainModel: IDomainModel): Promise<DefaultDomainModelTemplateData>;
protected processEntity(entity: IEntity, domainModel: IDomainModel): Promise<DefaultEntityTemplateData>;
protected processAttribute(attribute: IAttribute): Promise<DefaultAttributeTemplateData>;
protected processAssociation(association: IAssociation, entity: IEntity): Promise<DefaultAssociationTemplateData>;
protected processMicroflow(microflow: IMicroflow): Promise<DefaultMicroflowTemplateData>;
protected modules(model: IModel): Iterable<IModule>;
protected documents(module: IModule): Iterable<IDocument>;
protected listDocuments(folderBase: IFolderBase): Array<IDocument>;
}