Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const fs = require('fs');
- let flowmap = JSON.parse(fs.readFileSync('flowmap.json'));
- const nodeCount = 1
- const edgeCount = Math.floor(nodeCount * 1.5)
- const fileName = `flowmap-${nodeCount}.json`
- const nodeString = JSON.stringify(flowmap.nodes[0])
- const edgeString = JSON.stringify(flowmap.edges[2])
- function createNode(i) {
- let fakeNode = JSON.parse(nodeString)
- fakeNode.name = `tier-${i}`
- fakeNode.idNum = i
- fakeNode.id = `Type:APPLICATION_COMPONENT, id:${i}`
- fakeNode.preferenceValue.uid = fakeNode.id
- fakeNode.preferenceValue.position.x = i * 10
- fakeNode.preferenceValue.position.y = i * 10
- console.log('node', i)
- return fakeNode
- }
- function createEdge(i) {
- const source = Math.floor(Math.random() * nodeCount)
- const target = Math.floor(Math.random() * nodeCount)
- let fakeEdge = JSON.parse(edgeString)
- fakeEdge.targetNode = `Type:APPLICATION_COMPONENT, id:${target}`
- fakeEdge.targetNodeDefinition.entityId = target
- console.log('edge', i)
- fakeEdge.sourceNode = `Type:APPLICATION_COMPONENT, id:${source}`
- fakeEdge.sourceNodeDefinition.entityId = source
- return fakeEdge
- }
- function writeNodes() {
- let fakeNodes = []
- fs.appendFileSync(fileName, '[' + JSON.stringify(createNode(0)))
- for (let i = 1; i < nodeCount; i++) {
- fs.appendFileSync(fileName, ',' + JSON.stringify(createNode(i)))
- }
- fs.appendFileSync(fileName, ']')
- }
- function writeEdges() {
- let fakeEdges = []
- fs.appendFileSync(fileName, '[' + JSON.stringify(createEdge(0)))
- for (let i = 0; i < edgeCount; i++) {
- fs.appendFileSync(fileName, ',' + JSON.stringify(createEdge(i)))
- }
- fs.appendFileSync(fileName, ']')
- }
- function write(key) {
- if (key === 'nodes') {
- writeNodes()
- } else if (key === 'edges') {
- writeEdges()
- } else {
- fs.appendFileSync(fileName, JSON.stringify(flowmap[key]))
- }
- }
- fs.writeFileSync(fileName, '{');
- let first = true
- Object.keys(flowmap).forEach(key => {
- fs.appendFileSync(fileName, `${!first?',':''}\n"${key}": `);
- write(key)
- first = false
- })
- fs.appendFileSync(fileName, '}');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement