sfdx-hardis 5.10.2-beta202412222214.0 → 5.10.2-beta202412280136.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/defaults/mkdocs/docs/stylesheets/extra.css +25 -0
  3. package/defaults/mkdocs/mkdocs.yml +4 -2
  4. package/defaults/mkdocs-project-doc/docs/javascripts/gtag.js +27 -0
  5. package/defaults/mkdocs-project-doc/docs/javascripts/tables.js +6 -0
  6. package/defaults/mkdocs-project-doc/docs/overrides/main.html +4 -0
  7. package/defaults/mkdocs-project-doc/docs/stylesheets/extra.css +33 -0
  8. package/defaults/mkdocs-project-doc/mkdocs.yml +46 -0
  9. package/lib/commands/hardis/doc/flow2markdown.js +6 -1
  10. package/lib/commands/hardis/doc/flow2markdown.js.map +1 -1
  11. package/lib/commands/hardis/doc/project2markdown.d.ts +8 -2
  12. package/lib/commands/hardis/doc/project2markdown.js +165 -45
  13. package/lib/commands/hardis/doc/project2markdown.js.map +1 -1
  14. package/lib/commands/hardis/org/monitor/backup.js +1 -1
  15. package/lib/commands/hardis/org/monitor/backup.js.map +1 -1
  16. package/lib/common/gitProvider/azureDevops.d.ts +1 -0
  17. package/lib/common/gitProvider/azureDevops.js +4 -0
  18. package/lib/common/gitProvider/azureDevops.js.map +1 -1
  19. package/lib/common/gitProvider/bitbucket.d.ts +1 -0
  20. package/lib/common/gitProvider/bitbucket.js +4 -0
  21. package/lib/common/gitProvider/bitbucket.js.map +1 -1
  22. package/lib/common/gitProvider/gitProviderRoot.d.ts +1 -0
  23. package/lib/common/gitProvider/gitProviderRoot.js +4 -0
  24. package/lib/common/gitProvider/gitProviderRoot.js.map +1 -1
  25. package/lib/common/gitProvider/github.d.ts +1 -0
  26. package/lib/common/gitProvider/github.js +4 -0
  27. package/lib/common/gitProvider/github.js.map +1 -1
  28. package/lib/common/gitProvider/gitlab.d.ts +1 -0
  29. package/lib/common/gitProvider/gitlab.js +4 -0
  30. package/lib/common/gitProvider/gitlab.js.map +1 -1
  31. package/lib/common/gitProvider/index.d.ts +1 -0
  32. package/lib/common/gitProvider/index.js +7 -0
  33. package/lib/common/gitProvider/index.js.map +1 -1
  34. package/lib/common/gitProvider/utilsMarkdown.d.ts +1 -1
  35. package/lib/common/gitProvider/utilsMarkdown.js +19 -5
  36. package/lib/common/gitProvider/utilsMarkdown.js.map +1 -1
  37. package/lib/common/metadata-utils/index.js +3 -2
  38. package/lib/common/metadata-utils/index.js.map +1 -1
  39. package/lib/common/utils/flowVisualiser/flowParser.d.ts +0 -7
  40. package/lib/common/utils/flowVisualiser/flowParser.js +153 -168
  41. package/lib/common/utils/flowVisualiser/flowParser.js.map +1 -1
  42. package/lib/common/utils/flowVisualiser/nodeFormatUtils.d.ts +14 -0
  43. package/lib/common/utils/flowVisualiser/nodeFormatUtils.js +339 -0
  44. package/lib/common/utils/flowVisualiser/nodeFormatUtils.js.map +1 -0
  45. package/lib/common/utils/flowVisualiser/renderConfig.d.ts +9 -3
  46. package/lib/common/utils/flowVisualiser/renderConfig.js +62 -56
  47. package/lib/common/utils/flowVisualiser/renderConfig.js.map +1 -1
  48. package/lib/common/utils/gitUtils.js +2 -2
  49. package/lib/common/utils/gitUtils.js.map +1 -1
  50. package/lib/common/utils/mermaidUtils.d.ts +3 -1
  51. package/lib/common/utils/mermaidUtils.js +125 -69
  52. package/lib/common/utils/mermaidUtils.js.map +1 -1
  53. package/oclif.lock +95 -3
  54. package/oclif.manifest.json +64 -50
  55. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utilsMarkdown.js","sourceRoot":"","sources":["../../../src/common/gitProvider/utilsMarkdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utilsMarkdown.js","sourceRoot":"","sources":["../../../src/common/gitProvider/utilsMarkdown.ts"],"names":[],"mappings":"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"}
@@ -343,12 +343,13 @@ Issue tracking: https://github.com/forcedotcom/cli/issues/2426`));
343
343
  return null;
344
344
  }
345
345
  static async promptFlow() {
346
- const flowFiles = await glob("**/*.flow-meta.xml", { cwd: "force-app/main/default" });
346
+ const flowFiles = await glob("**/*.flow-meta.xml");
347
+ flowFiles.sort();
347
348
  const flowSelectRes = await prompts({
348
349
  type: 'select',
349
350
  message: 'Please select the Flow you want to visually compare',
350
351
  choices: flowFiles.map(flowFile => {
351
- return { value: flowFile, title: flowFile };
352
+ return { value: flowFile, title: path.basename(flowFile, ".flow-meta.xml") };
352
353
  })
353
354
  });
354
355
  return flowSelectRes.value.replace(/\\/g, "/");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/metadata-utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/metadata-utils/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,3 @@
1
- /**
2
- * index.ts
3
- * TODO
4
- * - Move FlowMap to a class
5
- * - Move each language to their own file
6
- * - Handle options
7
- */
8
1
  interface FlowMap {
9
2
  "description"?: string;
10
3
  "label"?: string;
@@ -1,14 +1,9 @@
1
- /**
2
- * index.ts
3
- * TODO
4
- * - Move FlowMap to a class
5
- * - Move each language to their own file
6
- * - Handle options
7
- */
8
1
  import { NODE_CONFIG } from "./renderConfig.js";
9
- import * as yaml from 'js-yaml';
10
2
  import { XMLParser } from "fast-xml-parser";
11
3
  import { CONSTANTS } from "../../../config/index.js";
4
+ import { getCurrentGitBranch } from "../index.js";
5
+ import farmhash from 'farmhash';
6
+ import { buildCustomMarkdownTable, buildGenericMarkdownTable, flowNodeToMarkdown, handleFilterItems, handleInputParameters, handleprocessMetadataValues, handleSchedule, handleScheduledPaths, mdEndSection, simplifyNode, stringifyValue } from "./nodeFormatUtils.js";
12
7
  /*
13
8
  // TODO FILL OUT
14
9
  interface FlowObj {
@@ -29,25 +24,32 @@ interface FlowObj {
29
24
  /*===================================================================
30
25
  * E X P O R T E D
31
26
  *=================================================================*/
27
+ const FLOW_NODE_TYPES = [
28
+ 'actionCalls',
29
+ 'assignments',
30
+ 'customErrors',
31
+ 'collectionProcessors',
32
+ 'decisions',
33
+ 'loops',
34
+ 'recordCreates',
35
+ 'recordDeletes',
36
+ 'recordLookups',
37
+ 'recordUpdates',
38
+ 'screens',
39
+ 'subflows'
40
+ ];
32
41
  export async function parseFlow(xml, renderAs = "mermaid", options = {}) {
33
42
  try {
34
43
  const parser = new XMLParser();
35
44
  const flowObj = parser.parse(xml).Flow;
36
45
  const flowMap = await createFlowMap(flowObj);
37
- // console.log("flowMap", flowMap);
38
46
  if (Object.keys(flowMap).length === 0) {
39
47
  throw new Error("no-renderable-content-found");
40
48
  }
41
49
  if (renderAs === "mermaid") {
42
50
  return {
43
51
  flowMap: flowMap,
44
- uml: await generateMermaidContent(flowMap, options)
45
- };
46
- }
47
- else if (renderAs === 'plantuml') {
48
- return {
49
- flowMap: flowMap,
50
- uml: await generatePlantUMLContent(flowMap)
52
+ uml: await generateMermaidContent(flowMap, flowObj, options)
51
53
  };
52
54
  }
53
55
  throw new Error("unknown-renderAs-" + renderAs);
@@ -123,6 +125,7 @@ async function createFlowMap(flowObj) {
123
125
  flowNodeDescription: el
124
126
  };
125
127
  flowMap[el.name] = mappedEl;
128
+ flowMap[el.name].flowNodeDescription.type = property;
126
129
  }
127
130
  else if (property === 'variables') {
128
131
  flowMap.variables = flowObj[property];
@@ -147,7 +150,7 @@ function getFlowType(flowMap) {
147
150
  else {
148
151
  switch (flowMap.start.triggerType) {
149
152
  case "Scheduled":
150
- return "Scheduled Flow;";
153
+ return "Scheduled Flow";
151
154
  case "RecordAfterSave":
152
155
  return "Record Triggered Flow: After Save (" + flowMap.start.object + ")";
153
156
  case "RecordBeforeSave":
@@ -162,42 +165,44 @@ function getFlowType(flowMap) {
162
165
  /*===================================================================
163
166
  * M E R M A I D
164
167
  *=================================================================*/
165
- async function generateMermaidContent(flowMap, options) {
168
+ async function generateMermaidContent(flowMap, flowObj, options) {
166
169
  // console.log("options", options)
167
- const title = `# ${flowMap['label']}
168
-
169
- - Type: **${getFlowType(flowMap)}**
170
- - Description: **${flowMap['description'] || "None"}**
171
- - Interview Label: **${flowMap['interviewLabel'] || "None"}**
172
- - Environment: **${flowMap['environments'] || "None"}**
173
- - Status: **${flowMap['status']}**
174
-
175
- `;
176
- const variables = getVariablesMd(flowMap.variables || []) + "\n";
177
- const constants = getConstantsMd(flowMap.constants || []) + "\n";
178
- const formulas = getFormulasMd(flowMap.formulas || []) + "\n";
179
- const textTemplates = getTemplatesMd(flowMap.textTemplates || []) + "\n";
180
- const mdStart = "## Flow diagram\n\n```mermaid\n";
181
- const { nodeDefStr, nodeDetailMd } = await getNodeDefStr(flowMap);
170
+ const flowType = getFlowType(flowMap);
171
+ const title = `# ${flowMap['label']}\n\n`;
172
+ const { generalInfoMd, startFingerPrint, startNodeLabel, startElementReference } = getGeneralInfoMd(flowObj, flowMap);
173
+ const variables = getVariablesMd(flowMap.variables || []);
174
+ const constants = getConstantsMd(flowMap.constants || []);
175
+ const formulas = getFormulasMd(flowMap.formulas || []);
176
+ const textTemplates = getTemplatesMd(flowMap.textTemplates || []);
177
+ const mdStart = "## Flow Diagram\n\n```mermaid\n";
178
+ const { nodeDefStr, nodeDetailMd } = await getNodeDefStr(flowMap, flowType, startFingerPrint, startNodeLabel, startElementReference, options);
182
179
  const mdClasses = getMermaidClasses() + "\n\n";
183
180
  const mdBody = await getMermaidBody(flowMap) + "\n\n";
184
181
  const mdEnd = "```\n\n";
185
- const footer = `\n\n___\n\n_Documentation generated by [sfdx-hardis](${CONSTANTS.DOC_URL_ROOT}), featuring [salesforce-flow-visualiser](https://github.com/toddhalfpenny/salesforce-flow-visualiser)_`;
182
+ const currentBranch = await getCurrentGitBranch();
183
+ const footer = `\n\n___\n\n_Documentation generated from branch ${currentBranch} by [sfdx-hardis](${CONSTANTS.DOC_URL_ROOT}), featuring [salesforce-flow-visualiser](https://github.com/toddhalfpenny/salesforce-flow-visualiser)_`;
186
184
  const mdDiagram = "flowchart TB\n" + nodeDefStr + mdBody + mdClasses;
187
185
  if (options.wrapInMarkdown === false) {
188
186
  return (mdDiagram);
189
187
  }
190
188
  else {
191
- return (title + mdStart + mdDiagram + mdEnd + variables + formulas + constants + textTemplates + nodeDetailMd + footer);
189
+ return (title + mdStart + mdDiagram + mdEnd + generalInfoMd + variables + formulas + constants + textTemplates + nodeDetailMd + footer);
192
190
  }
193
191
  }
194
192
  async function getMermaidBody(flowMap) {
195
193
  let bodyStr = "";
194
+ const endNodeIds = [];
196
195
  for (const property in flowMap) {
197
196
  const node = flowMap[property];
198
197
  const type = node.type;
199
- const nextNode = (node.nextNode) ? node.nextNode : "END";
200
- const faultNode = (node.faultPath) ? node.faultPath : "END";
198
+ let nextNode = node.nextNode ? node.nextNode : "END";
199
+ if (nextNode === "END") {
200
+ nextNode = "END_" + node.name;
201
+ }
202
+ let faultNode = node.faultPath ? node.faultPath : "END";
203
+ if (faultNode === "END") {
204
+ faultNode = "END_" + node.name;
205
+ }
201
206
  let loopNextNode;
202
207
  switch (type) {
203
208
  case 'actionCalls':
@@ -210,20 +215,22 @@ async function getMermaidBody(flowMap) {
210
215
  case 'recordUpdates':
211
216
  case 'screens':
212
217
  bodyStr += node.name + " --> " + nextNode + "\n";
218
+ manageAddEndNode(nextNode, endNodeIds);
213
219
  if (node.faultPath) {
214
220
  bodyStr += node.name + " -. Fault .->" + faultNode + "\n";
221
+ manageAddEndNode(faultNode, endNodeIds);
215
222
  }
216
223
  break;
217
224
  case 'start':
218
- if (nextNode !== "END") {
225
+ if (!nextNode.startsWith("END")) {
219
226
  // 'start' may not have a default path
220
- const defaultPathLabel = (node.scheduledPaths.length > 0) ? "|Run Immediately|" : "";
221
- bodyStr += "START(( START )) --> " + defaultPathLabel + nextNode + "\n";
227
+ const defaultPathLabel = (node.scheduledPaths.length > 0) ? '|"Run Immediately"|' : "";
228
+ bodyStr += "START --> " + defaultPathLabel + nextNode + "\n";
222
229
  }
223
230
  // scheduled paths
224
231
  for (const path of node.scheduledPaths) {
225
232
  path.label = (path.label) ? path.label : 'Run Immediately';
226
- bodyStr += "START(( START )) --> |" + path.label + "| " + path.connector.targetReference + "\n";
233
+ bodyStr += 'START --> |"' + path.label + '"| ' + path.connector.targetReference + "\n";
227
234
  // bodyStr += "START(( START )) --> |" + (path.label) ? path.label : 'Run Immediately' + "| " + path.connector.targetReference + "\n";
228
235
  }
229
236
  break;
@@ -231,35 +238,52 @@ async function getMermaidBody(flowMap) {
231
238
  // rules
232
239
  for (const rule of node.rules) {
233
240
  if (rule.nextNode?.targetReference) {
234
- bodyStr += node.name + " --> |" + rule.label + "| " + rule.nextNode.targetReference + "\n";
241
+ bodyStr += node.name + ' --> |"' + rule.label + '"| ' + rule.nextNode.targetReference + "\n";
235
242
  }
236
243
  }
237
244
  // default
238
- bodyStr += node.name + " --> |" + node.nextNodeLabel + "| " + nextNode + "\n";
245
+ bodyStr += node.name + ' --> |"' + node.nextNodeLabel + '"| ' + nextNode + "\n";
246
+ manageAddEndNode(nextNode, endNodeIds);
239
247
  break;
240
248
  case 'loops':
241
249
  loopNextNode = node.nextValueConnector;
242
- bodyStr += node.name + " --> " + loopNextNode + "\n";
243
- bodyStr += node.name + " ---> " + node.nextNode + "\n";
250
+ bodyStr += node.name + ' --> |"For Each"|' + loopNextNode + "\n";
251
+ bodyStr += node.name + ' ---> |"After Last"|' + node.nextNode + "\n";
244
252
  break;
245
253
  case 'subflows':
246
254
  bodyStr += node.name + " --> " + nextNode + "\n";
247
- break;
248
- default:
249
- // do nothing
250
- break;
255
+ manageAddEndNode(nextNode, endNodeIds);
251
256
  }
252
257
  }
258
+ for (const endNodeId of [...new Set(endNodeIds)]) {
259
+ bodyStr += `${endNodeId}(( END )):::endClass\n`;
260
+ }
253
261
  return (bodyStr);
254
262
  }
255
- async function getNodeDefStr(flowMap) {
256
- let nodeDetailMd = "## More details\n\n<details><summary>NODES CONTENT (expand to view)</summary>\n\n";
257
- let nodeDefStr = "START(( START ))\n";
258
- for (const property in flowMap) {
259
- const type = flowMap[property].type;
263
+ function manageAddEndNode(nextOrFaultNode, endNodeIds) {
264
+ if (nextOrFaultNode.startsWith("END")) {
265
+ endNodeIds.push(nextOrFaultNode);
266
+ }
267
+ }
268
+ async function getNodeDefStr(flowMap, flowType, startFingerPrint, startNodeLabel, startElementReference, options) {
269
+ let nodeDetailMd = "## Flow Nodes Details\n\n";
270
+ if (options?.collapsedDetails) {
271
+ nodeDetailMd += "<details><summary>NODES CONTENT (expand to view)</summary>\n\n";
272
+ }
273
+ let nodeDefStr = "";
274
+ if (!["InvocableProcess", "Workflow"].includes(flowType) || (startNodeLabel !== 'START')) {
275
+ nodeDefStr += `START(["${startNodeLabel}"]):::startClass\n`;
276
+ nodeDefStr += `click START "#general-information" "${startFingerPrint}"\n\n`;
277
+ if (startElementReference) {
278
+ nodeDefStr += `START --> ${startElementReference}\n`;
279
+ }
280
+ }
281
+ const allproperties = Object.keys(flowMap);
282
+ for (const property of allproperties) {
283
+ const type = flowMap?.[property]?.type;
260
284
  let label = (NODE_CONFIG[type]) ? NODE_CONFIG[type].label : "";
261
285
  let icon = (NODE_CONFIG[type]) ? NODE_CONFIG[type].mermaidIcon : null;
262
- let nodeCopy;
286
+ let nodeSimplified;
263
287
  let tooltipClassMermaid;
264
288
  if (type === 'actionCalls') {
265
289
  icon = (NODE_CONFIG[type].mermaidIcon[flowMap[property].actionType]) ?
@@ -275,151 +299,112 @@ async function getNodeDefStr(flowMap) {
275
299
  NODE_CONFIG[type].label;
276
300
  }
277
301
  // Create Mermaid Lines
278
- if (['actionCalls', 'assignments', 'customErrors', 'collectionProcessors', 'decisions', 'loops', 'recordCreates', 'recordDeletes', 'recordLookups', 'recordUpdates', 'screens', 'subflows'].includes(type)) {
302
+ if (FLOW_NODE_TYPES.includes(type)) {
303
+ // Mermaid node
279
304
  nodeDefStr += property + NODE_CONFIG[type].mermaidOpen + '"' + icon + " <em>" + label + "</em><br/>" + flowMap[property].label + '"' + NODE_CONFIG[type].mermaidClose + ':::' + type + "\n";
280
305
  // Remove not relevant properties from node display
281
- nodeCopy = Object.assign({}, flowMap[property]?.flowNodeDescription || flowMap[property]);
282
- for (const nodeKey of Object.keys(nodeCopy)) {
283
- if (["locationX", "locationY"].includes(nodeKey)) {
284
- delete nodeCopy[nodeKey];
285
- }
286
- else if (nodeCopy[nodeKey] === null || nodeCopy[nodeKey] === undefined) {
287
- delete nodeCopy[nodeKey];
288
- }
289
- }
290
- tooltipClassMermaid = `click ${property} "#${property}" "${yaml.dump(nodeCopy).replace(/"/gm, "").split("\n").join("<br/>")}"`;
291
- nodeDetailMd += `### ${property}\n\n${yaml.dump(nodeCopy).replace(/"/gm, "").replace(/^(\s+)/gm, match => '&nbsp;'.repeat(match.length)).split("\n").join("<br/>\n")}\n\n`;
306
+ nodeSimplified = simplifyNode(flowMap[property]?.flowNodeDescription || flowMap[property]);
307
+ // Mermaid compare node
308
+ tooltipClassMermaid = `click ${property} "#${property.toLowerCase()}" "${farmhash.fingerprint32(JSON.stringify(nodeSimplified))}"`;
292
309
  nodeDefStr += tooltipClassMermaid + "\n\n";
310
+ // Markdown details
311
+ nodeDetailMd += `### ${property}\n\n` + flowNodeToMarkdown(nodeSimplified, allproperties);
312
+ }
313
+ }
314
+ if (options?.collapsedDetails) {
315
+ nodeDetailMd += "</details>\n\n";
316
+ }
317
+ return {
318
+ nodeDefStr: nodeDefStr,
319
+ nodeDetailMd: nodeDetailMd + "\n\n"
320
+ };
321
+ }
322
+ function getGeneralInfoMd(flowObj, flowMap) {
323
+ let flowObjCopy = Object.assign({}, flowObj);
324
+ // Remove sections that are somewhere else
325
+ for (const nodeKey of [...["constants", "formulas", "variables"], ...FLOW_NODE_TYPES]) {
326
+ delete flowObjCopy[nodeKey];
327
+ }
328
+ const metadataValue = handleprocessMetadataValues(flowObjCopy, Object.keys(flowMap));
329
+ // Remove nodes that will be processed after
330
+ for (const nodeKey of Object.keys(flowObjCopy)) {
331
+ if (typeof flowObjCopy?.[nodeKey] === "object" && flowObjCopy?.[nodeKey]?.name !== 'null') {
332
+ delete flowObjCopy[nodeKey];
333
+ }
334
+ }
335
+ const startFingerPrint = farmhash.fingerprint32(JSON.stringify(flowObjCopy));
336
+ handleInputParameters(flowObjCopy, Object.keys(flowMap));
337
+ let startNodeLabel = "START";
338
+ let detailTablesMd = "";
339
+ let startElementReference = "";
340
+ if (flowObj.start) {
341
+ const startObjCopy = simplifyNode(Object.assign({}, flowObj.start.flowNodeDescription || flowObj.start));
342
+ delete startObjCopy.flowNodeDescription;
343
+ flowObjCopy = Object.assign({}, startObjCopy, flowObjCopy);
344
+ delete flowObjCopy.start;
345
+ delete flowObjCopy.type;
346
+ detailTablesMd += handleSchedule(flowObjCopy, Object.keys(flowMap));
347
+ detailTablesMd += handleScheduledPaths(flowObjCopy, Object.keys(flowMap));
348
+ detailTablesMd += handleFilterItems(flowObjCopy, Object.keys(flowMap));
349
+ if (flowObjCopy.processType === "Flow") {
350
+ startNodeLabel = "START<br/>" + "<b>Screen Flow</b>";
293
351
  }
352
+ else if (flowObjCopy.processType === "AutoLaunchedFlow") {
353
+ startNodeLabel = "START<br/>" + "<b>AutoLaunched Flow</b></br>" +
354
+ (flowObjCopy.triggerType ? "Type: <b>" + stringifyValue(flowObjCopy.triggerType, "triggerType", Object.keys(flowObjCopy)) + "</b><br/>" : '');
355
+ }
356
+ else {
357
+ startNodeLabel = "START<br/>" +
358
+ (flowObjCopy.object ? "<b>" + stringifyValue(flowObjCopy.object, "object", Object.keys(flowObjCopy)) + "</b><br/>" : '') +
359
+ (flowObjCopy.triggerType ? "Type: <b>" + stringifyValue(flowObjCopy.triggerType, "triggerType", Object.keys(flowObjCopy)) + "</b><br/>" : '') +
360
+ (flowObjCopy.recordTriggerType ? "On: <b>" + stringifyValue(flowObjCopy.recordTriggerType, "recordTriggerType", Object.keys(flowObjCopy)) + "</b><br/>" : '');
361
+ }
362
+ }
363
+ else if (metadataValue && metadataValue.TriggerType && metadataValue.ObjectType) {
364
+ startNodeLabel = "START<br/>" + "<b>" + metadataValue.ObjectType + "</b></br>" +
365
+ (metadataValue.TriggerType ? "Type: <b>" + stringifyValue(metadataValue.TriggerType, "triggerType", Object.keys(flowObjCopy)) + "</b><br/>" : '');
366
+ startElementReference = flowObj.startElementReference;
367
+ }
368
+ const generalInfoMd = mdEndSection(buildGenericMarkdownTable(flowObjCopy, ["allFields"], "## General Information", Object.keys(flowMap)) + detailTablesMd);
369
+ if (startNodeLabel.endsWith("<br/>")) {
370
+ startNodeLabel = startNodeLabel.slice(0, -5);
294
371
  }
295
372
  return {
296
- nodeDefStr: (nodeDefStr + "END(( END ))\n\n"),
297
- nodeDetailMd: nodeDetailMd + "</details>\n\n"
373
+ generalInfoMd: generalInfoMd,
374
+ startNodeLabel: startNodeLabel,
375
+ startFingerPrint: startFingerPrint,
376
+ startElementReference: startElementReference
298
377
  };
299
378
  }
300
379
  function getVariablesMd(vars) {
301
380
  if (vars && vars.length > 0) {
302
- let vStr = "## Variables\n\n|Name|DataType|Collection|Input|Output|objectType|\n|:-|:-:|:-:|:-:|:-:|:-|\n";
303
- for (const v of vars) {
304
- vStr += "|" + v.name + "|" + v.dataType + "|" + v.isCollection + "|" + v.isInput + "|" + v.isOutput + "|" + ((v.objectType) ? v.objectType : "") + "\n";
305
- }
306
- return vStr;
381
+ return mdEndSection(buildCustomMarkdownTable(vars, ["name", "dataType", "isCollection", "isInput", "isOutput", "objectType"], "## Variables", []));
307
382
  }
308
383
  return "";
309
384
  }
310
385
  function getConstantsMd(constants) {
311
386
  if (constants && constants.length > 0) {
312
- let vStr = "## Constants\n\n|Name|DataType|Value|\n|:-|:-:|:-|\n";
313
- for (const v of constants) {
314
- const val = v?.value?.stringValue || v?.value?.numberValue || v?.value?.booleanValue || JSON.stringify(v.value);
315
- vStr += "|" + v.name + "|" + v.dataType + "|" + val + "|\n";
316
- }
317
- return vStr;
387
+ return mdEndSection(buildCustomMarkdownTable(constants, ["name", "dataType", "value"], "## Constants", []));
318
388
  }
319
389
  return "";
320
390
  }
321
391
  function getFormulasMd(formulas) {
322
392
  if (formulas && formulas.length > 0) {
323
- let vStr = "## Formulas\n\n|Name|DataType|Expression|\n|:-|:-:|:-|\n";
324
- for (const f of formulas) {
325
- vStr += "|" + f.name + "|" + f.dataType + "|" + f.expression.replace(/"/gm, "\"").split("\n").join("<br/>") + "|\n";
326
- }
327
- return vStr;
393
+ return mdEndSection(buildCustomMarkdownTable(formulas, ["name", "dataType", "expression"], "## Formulas", []));
328
394
  }
329
395
  return "";
330
396
  }
331
397
  function getTemplatesMd(textTemplates) {
332
398
  if (textTemplates && textTemplates.length > 0) {
333
- let vStr = "## Text Templates\n\n|Name|Text|\n|:-|:-|\n";
334
- for (const v of textTemplates) {
335
- vStr += "|" + v.name + "|" + v.text + "|\n";
336
- }
337
- return vStr;
399
+ return mdEndSection(buildCustomMarkdownTable(textTemplates, ["name", "text"], "## Text Templates", []));
338
400
  }
339
401
  return "";
340
402
  }
341
403
  function getMermaidClasses() {
342
404
  let classStr = "";
343
405
  for (const property in NODE_CONFIG) {
344
- classStr += "classDef " + property + " fill:" + NODE_CONFIG[property].background + ",color:" + NODE_CONFIG[property].color + "\n";
406
+ classStr += "classDef " + property + " fill:" + NODE_CONFIG[property].background + ",color:" + NODE_CONFIG[property].color + ",max-height:100px\n";
345
407
  }
346
408
  return classStr;
347
409
  }
348
- /*===================================================================
349
- * P L A N T U M L
350
- *=================================================================*/
351
- async function generatePlantUMLContent(flowMap) {
352
- const START_STR = "' THIS IS A TEMPORARY FILE\n@startuml " + flowMap['label'] + "\nstart\n";
353
- const TITLE_STR = "title " + flowMap['label'] + "\n";
354
- let nextNode = flowMap[flowMap['start'].connector.targetReference];
355
- let end = false;
356
- let bodyStr = '';
357
- while (!end) {
358
- bodyStr += getPlantUMLNodeStr(nextNode, flowMap);
359
- if (!nextNode.nextNode || nextNode.nextNode === "END") {
360
- end = true;
361
- }
362
- else {
363
- nextNode = flowMap[nextNode.nextNode];
364
- }
365
- }
366
- const END_STR = "stop\n@enduml";
367
- return (START_STR + TITLE_STR + bodyStr + END_STR);
368
- }
369
- function getPlantUMLNodeStr(node, flowMap) {
370
- let nextNode;
371
- let end;
372
- let loopName;
373
- let bodyStr;
374
- switch (node.type) {
375
- case 'decisions':
376
- return processDecisions(node, flowMap);
377
- case 'loops':
378
- loopName = node.name;
379
- nextNode = flowMap[node.nextValueConnector];
380
- bodyStr = "floating note left: " + loopName + "\n repeat :<size:30><&loop-circular></size>;\n";
381
- end = false;
382
- while (!end) {
383
- bodyStr += getPlantUMLNodeStr(nextNode, flowMap);
384
- if (!nextNode.nextNode || nextNode.nextNode === loopName) {
385
- end = true;
386
- }
387
- else {
388
- nextNode = flowMap[nextNode.nextNode];
389
- }
390
- }
391
- return bodyStr + "repeat while (more data?)\n";
392
- default:
393
- if (NODE_CONFIG[node.type]) {
394
- const cnf = NODE_CONFIG[node.type];
395
- return cnf.background + ":<color:" + cnf.color + "><size:30>" + cnf.icon + "</size>;\nfloating note left\n**" + node.label + "**\n" + cnf.label + "\nend note\n";
396
- }
397
- else {
398
- return "' " + node.name + " NOT IMPLEMENTED \n";
399
- }
400
- }
401
- }
402
- function processDecisions(node, flowMap) {
403
- const START_STR = "switch (" + node.label + ")\n";
404
- const DEFAULT_STR = "\ncase (" + node.nextNodeLabel + ")\n";
405
- let nextNode;
406
- let end;
407
- let rulesStr = "";
408
- for (const rule of node.rules) {
409
- rulesStr += "case (" + rule.label + ")\n";
410
- nextNode = nextNode = flowMap[rule.nextNode.targetReference];
411
- end = false;
412
- while (!end) {
413
- rulesStr += getPlantUMLNodeStr(nextNode, flowMap);
414
- if (!nextNode.nextNode || nextNode.nextNode === node.nextNode) {
415
- end = true;
416
- }
417
- else {
418
- nextNode = flowMap[nextNode.nextNode];
419
- }
420
- }
421
- }
422
- const END_STR = "endswitch\n";
423
- return START_STR + rulesStr + DEFAULT_STR + END_STR;
424
- }
425
410
  //# sourceMappingURL=flowParser.js.map