UNPKG

ngrx-uml

Version:
44 lines (43 loc) 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ActionReferenceRenderer = void 0; const os_1 = require("os"); class ActionReferenceRenderer { render(item) { return this.toPlantUml(item); } getName(item) { const contextName = item.declarationContext ? item.declarationContext.map(dc => dc.name).find(name => !!name) || '' : ''; return `${item.fileName}:: ${contextName} ${item.isCall ? 'D' : 'L'}`; } toPlantUml(item) { const stereotyp = item.isCall ? '<< (D,orchid) dispatch >>' : '<< (L,orchid) listen >>'; // ${item.fileName ? `src: ${item.fileName}` : ''} let content = `interface "${this.getName(item)}" ${stereotyp} { name: ${item.name} action: ${item.action && item.action.name} .. ${this.declarationContext(item) || ''} __ } `; if (item.action) { content += this.linkToPlantUml(item.action, item); } return content; } linkToPlantUml(action, ref) { return `"${action.name}" ${ref.isCall ? '-down->' : '<.down.'} "${this.getName(ref)}"${os_1.EOL}`; } declarationContext(item) { if (item.declarationContext) { return item.declarationContext .map(dc => `${dc.kindText.replace('Declaration', '')}: ${dc.name || ''}`) .join(os_1.EOL); } return; } } exports.ActionReferenceRenderer = ActionReferenceRenderer;