Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. const fs = require('fs');
  2.  
  3. let flowmap = JSON.parse(fs.readFileSync('flowmap.json'));
  4.  
  5. const nodeCount = 1
  6. const edgeCount = Math.floor(nodeCount * 1.5)
  7.  
  8. const fileName = `flowmap-${nodeCount}.json`
  9.  
  10. const nodeString = JSON.stringify(flowmap.nodes[0])
  11. const edgeString = JSON.stringify(flowmap.edges[2])
  12.  
  13. function createNode(i) {
  14. let fakeNode = JSON.parse(nodeString)
  15. fakeNode.name = `tier-${i}`
  16. fakeNode.idNum = i
  17. fakeNode.id = `Type:APPLICATION_COMPONENT, id:${i}`
  18. fakeNode.preferenceValue.uid = fakeNode.id
  19.  
  20. fakeNode.preferenceValue.position.x = i * 10
  21. fakeNode.preferenceValue.position.y = i * 10
  22.  
  23. console.log('node', i)
  24. return fakeNode
  25. }
  26.  
  27. function createEdge(i) {
  28. const source = Math.floor(Math.random() * nodeCount)
  29. const target = Math.floor(Math.random() * nodeCount)
  30.  
  31. let fakeEdge = JSON.parse(edgeString)
  32. fakeEdge.targetNode = `Type:APPLICATION_COMPONENT, id:${target}`
  33. fakeEdge.targetNodeDefinition.entityId = target
  34.  
  35. console.log('edge', i)
  36.  
  37. fakeEdge.sourceNode = `Type:APPLICATION_COMPONENT, id:${source}`
  38. fakeEdge.sourceNodeDefinition.entityId = source
  39.  
  40. return fakeEdge
  41. }
  42.  
  43. function writeNodes() {
  44. let fakeNodes = []
  45. fs.appendFileSync(fileName, '[' + JSON.stringify(createNode(0)))
  46. for (let i = 1; i < nodeCount; i++) {
  47. fs.appendFileSync(fileName, ',' + JSON.stringify(createNode(i)))
  48. }
  49. fs.appendFileSync(fileName, ']')
  50. }
  51.  
  52. function writeEdges() {
  53. let fakeEdges = []
  54. fs.appendFileSync(fileName, '[' + JSON.stringify(createEdge(0)))
  55. for (let i = 0; i < edgeCount; i++) {
  56. fs.appendFileSync(fileName, ',' + JSON.stringify(createEdge(i)))
  57. }
  58. fs.appendFileSync(fileName, ']')
  59. }
  60.  
  61. function write(key) {
  62. if (key === 'nodes') {
  63. writeNodes()
  64. } else if (key === 'edges') {
  65. writeEdges()
  66. } else {
  67. fs.appendFileSync(fileName, JSON.stringify(flowmap[key]))
  68. }
  69. }
  70.  
  71. fs.writeFileSync(fileName, '{');
  72. let first = true
  73. Object.keys(flowmap).forEach(key => {
  74. fs.appendFileSync(fileName, `${!first?',':''}\n"${key}": `);
  75. write(key)
  76. first = false
  77. })
  78. fs.appendFileSync(fileName, '}');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement