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

184 lines (180 loc) 9.9 kB
import { appservices, codeactions, constants, datasets, documenttemplates, domainmodels, enumerations, exportmappings, images, importmappings, javaactions, javascriptactions, jsonstructures, mappings, menus, messagedefinitions, microflows, nativepages, pages, projects, regularexpressions, rest, scheduledevents, webservices, xmlschemas } from "mendixmodelsdk"; import IModuleDocument = projects.IModuleDocument; import BuildingBlock = pages.BuildingBlock; import CodeAction = codeactions.CodeAction; import ConsumedAppService = appservices.ConsumedAppService; import NativeLayout = nativepages.NativeLayout; import PublishedServiceBase = webservices.PublishedServiceBase; import DataSet = datasets.DataSet; import ImportMapping = importmappings.ImportMapping; import MicroflowBase = microflows.MicroflowBase; import PageTemplate = pages.PageTemplate; import Constant = constants.Constant; import MappingDocument = mappings.MappingDocument; import PublishedWebService = webservices.PublishedWebService; import Page = pages.Page; import Document = projects.Document; import MenuDocument = menus.MenuDocument; import ServerSideMicroflow = microflows.ServerSideMicroflow; import ConsumedODataService = rest.ConsumedODataService; import ImportedWebService = webservices.ImportedWebService; import RemoteEntitySourceDocument = domainmodels.RemoteEntitySourceDocument; import PublishedRestService = rest.PublishedRestService; import FormBase = pages.FormBase; import ImageCollection = images.ImageCollection; import DocumentTemplate = documenttemplates.DocumentTemplate; import PublishedAppService = webservices.PublishedAppService; import Nanoflow = microflows.Nanoflow; import JavaAction = javaactions.JavaAction; import Microflow = microflows.Microflow; import MxSchema = xmlschemas.MxSchema; import RegularExpression = regularexpressions.RegularExpression; import ScheduledEvent = scheduledevents.ScheduledEvent; import Enumeration = enumerations.Enumeration; import PublishedODataService = rest.PublishedODataService; import JavaScriptAction = javascriptactions.JavaScriptAction; import Snippet = pages.Snippet; import MessageDefinitionCollection = messagedefinitions.MessageDefinitionCollection; import NativePage = nativepages.NativePage; import TemplateFormBase = pages.TemplateFormBase; import Layout = pages.Layout; import XmlSchema = xmlschemas.XmlSchema; import ExportMapping = exportmappings.ExportMapping; import Rule = microflows.Rule; import JsonStructure = jsonstructures.JsonStructure; import DomainModel = domainmodels.DomainModel; import ModuleDocument = projects.ModuleDocument; export const documentTypeName = (document: IModuleDocument) => document.structureTypeName.split("$")[1]; export const documentLowerTypeName = (document: IModuleDocument) => documentTypeName(document).toLowerCase(); export const typeName = (documentType: typeof ModuleDocument) => documentType.structureTypeName.split("$")[1]; export const lowerTypeName = (documentType: typeof ModuleDocument) => typeName(documentType).toLowerCase(); export const isBuildingBlock = (document: IModuleDocument): document is BuildingBlock => document.structureTypeName === BuildingBlock.structureTypeName; export const isCodeAction = (document: IModuleDocument): document is CodeAction => document.structureTypeName === CodeAction.structureTypeName; export const isConstant = (document: IModuleDocument): document is Constant => document.structureTypeName === Constant.structureTypeName; export const isConsumedAppService = (document: IModuleDocument): document is ConsumedAppService => document.structureTypeName === ConsumedAppService.structureTypeName; export const isConsumedODataService = ( document: IModuleDocument ): document is ConsumedODataService => document.structureTypeName === ConsumedODataService.structureTypeName; export const isDataSet = (document: IModuleDocument): document is DataSet => document.structureTypeName === DataSet.structureTypeName; export const isDocument = (document: IModuleDocument): document is Document => document.structureTypeName === Document.structureTypeName; export const isDocumentTemplate = (document: IModuleDocument): document is DocumentTemplate => document.structureTypeName === DocumentTemplate.structureTypeName; export const isDomainModel = (document: IModuleDocument): document is DomainModel => document.structureTypeName === DomainModel.structureTypeName; export const isEnumeration = (document: IModuleDocument): document is Enumeration => document.structureTypeName === Enumeration.structureTypeName; export const isExportMapping = (document: IModuleDocument): document is ExportMapping => document.structureTypeName === ExportMapping.structureTypeName; export const isFormBase = (document: IModuleDocument): document is FormBase => document.structureTypeName === FormBase.structureTypeName; export const isImageCollection = (document: IModuleDocument): document is ImageCollection => document.structureTypeName === ImageCollection.structureTypeName; export const isImportMapping = (document: IModuleDocument): document is ImportMapping => document.structureTypeName === ImportMapping.structureTypeName; export const isImportedWebService = (document: IModuleDocument): document is ImportedWebService => document.structureTypeName === ImportedWebService.structureTypeName; export const isJavaAction = (document: IModuleDocument): document is JavaAction => document.structureTypeName === JavaAction.structureTypeName; export const isJavaScriptAction = (document: IModuleDocument): document is JavaScriptAction => document.structureTypeName === JavaScriptAction.structureTypeName; export const isJsonStructure = (document: IModuleDocument): document is JsonStructure => document.structureTypeName === JsonStructure.structureTypeName; export const isLayout = (document: IModuleDocument): document is Layout => document.structureTypeName === Layout.structureTypeName; export const isMappingDocument = (document: IModuleDocument): document is MappingDocument => document.structureTypeName === MappingDocument.structureTypeName; export const isMenuDocument = (document: IModuleDocument): document is MenuDocument => document.structureTypeName === MenuDocument.structureTypeName; export const isMessageDefinitionCollection = ( document: IModuleDocument ): document is MessageDefinitionCollection => document.structureTypeName === MessageDefinitionCollection.structureTypeName; export const isMicroflow = (document: IModuleDocument): document is Microflow => document.structureTypeName === Microflow.structureTypeName; export const isMicroflowBase = (document: IModuleDocument): document is MicroflowBase => document.structureTypeName === MicroflowBase.structureTypeName; export const isModuleDocument = (document: IModuleDocument): document is ModuleDocument => document.structureTypeName === ModuleDocument.structureTypeName; export const isMxSchema = (document: IModuleDocument): document is MxSchema => document.structureTypeName === MxSchema.structureTypeName; export const isNanoflow = (document: IModuleDocument): document is Nanoflow => document.structureTypeName === Nanoflow.structureTypeName; export const isNativeLayout = (document: IModuleDocument): document is NativeLayout => document.structureTypeName === NativeLayout.structureTypeName; export const isNativePage = (document: IModuleDocument): document is NativePage => document.structureTypeName === NativePage.structureTypeName; export const isPage = (document: IModuleDocument): document is Page => document.structureTypeName === Page.structureTypeName; export const isPageTemplate = (document: IModuleDocument): document is PageTemplate => document.structureTypeName === PageTemplate.structureTypeName; export const isPublishedAppService = (document: IModuleDocument): document is PublishedAppService => document.structureTypeName === PublishedAppService.structureTypeName; export const isPublishedODataService = ( document: IModuleDocument ): document is PublishedODataService => document.structureTypeName === PublishedODataService.structureTypeName; export const isPublishedRestService = ( document: IModuleDocument ): document is PublishedRestService => document.structureTypeName === PublishedRestService.structureTypeName; export const isPublishedServiceBase = ( document: IModuleDocument ): document is PublishedServiceBase => document.structureTypeName === PublishedServiceBase.structureTypeName; export const isPublishedWebService = (document: IModuleDocument): document is PublishedWebService => document.structureTypeName === PublishedWebService.structureTypeName; export const isRegularExpression = (document: IModuleDocument): document is RegularExpression => document.structureTypeName === RegularExpression.structureTypeName; export const isRemoteEntitySourceDocument = ( document: IModuleDocument ): document is RemoteEntitySourceDocument => document.structureTypeName === RemoteEntitySourceDocument.structureTypeName; export const isRule = (document: IModuleDocument): document is Rule => document.structureTypeName === Rule.structureTypeName; export const isScheduledEvent = (document: IModuleDocument): document is ScheduledEvent => document.structureTypeName === ScheduledEvent.structureTypeName; export const isServerSideMicroflow = (document: IModuleDocument): document is ServerSideMicroflow => document.structureTypeName === ServerSideMicroflow.structureTypeName; export const isSnippet = (document: IModuleDocument): document is Snippet => document.structureTypeName === Snippet.structureTypeName; export const isTemplateFormBase = (document: IModuleDocument): document is TemplateFormBase => document.structureTypeName === TemplateFormBase.structureTypeName; export const isXmlSchema = (document: IModuleDocument): document is XmlSchema => document.structureTypeName === XmlSchema.structureTypeName;