UNPKG

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
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>; }