From d1f3d3c27844e53b661d94549f0fec20ab7aa149 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sat, 19 Oct 2019 09:29:20 +0200 Subject: [PATCH] Stringify Library deprecated --- .../FunctionLibraries/ProtocolNode.js | 546 ++++++++----- .../FunctionLibraries/StringifyNode.js | 773 ------------------ StrategySpace/Workspace/Workspace.js | 3 +- 3 files changed, 360 insertions(+), 962 deletions(-) delete mode 100644 StrategySpace/Workspace/FunctionLibraries/StringifyNode.js diff --git a/StrategySpace/Workspace/FunctionLibraries/ProtocolNode.js b/StrategySpace/Workspace/FunctionLibraries/ProtocolNode.js index 4b5411a21..13a2f564f 100644 --- a/StrategySpace/Workspace/FunctionLibraries/ProtocolNode.js +++ b/StrategySpace/Workspace/FunctionLibraries/ProtocolNode.js @@ -4,37 +4,43 @@ function newProtocolNode () { } return thisObject - function getProtocolNode (node, removePersonalData, parseCode, includeIds) { + function getProtocolNode (node, removePersonalData, parseCode, includeIds, includePayload) { if (node === undefined) { return } switch (node.type) { case 'Code': { - let code = { + let object = { type: node.type, subType: node.subType, name: node.name, code: node.code } if (includeIds) { - code.id = node.id + object.id = node.id } - return code + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Condition': { - let condition = { + let object = { type: node.type, subType: node.subType, name: node.name, - code: getProtocolNode(node.code, removePersonalData, parseCode, includeIds) + code: getProtocolNode(node.code, removePersonalData, parseCode, includeIds, includePayload) } if (includeIds) { - condition.id = node.id + object.id = node.id } - return condition + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Situation': { - let situation = { + let object = { type: node.type, subType: node.subType, name: node.name, @@ -42,32 +48,38 @@ function newProtocolNode () { } for (let m = 0; m < node.conditions.length; m++) { - let condition = getProtocolNode(node.conditions[m], removePersonalData, parseCode, includeIds) + let condition = getProtocolNode(node.conditions[m], removePersonalData, parseCode, includeIds, includePayload) if (condition !== undefined) { - situation.conditions.push(condition) + object.conditions.push(condition) } } if (includeIds) { - situation.id = node.id + object.id = node.id } - return situation + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Formula': { - let formula = { + let object = { type: node.type, subType: node.subType, name: node.name, code: node.code } if (includeIds) { - formula.id = node.id + object.id = node.id } - return formula + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Next Phase Event': { - let event = { + let object = { type: node.type, subType: node.subType, name: node.name, @@ -75,37 +87,43 @@ function newProtocolNode () { announcements: [] } for (let m = 0; m < node.situations.length; m++) { - let situation = getProtocolNode(node.situations[m], removePersonalData, parseCode, includeIds) + let situation = getProtocolNode(node.situations[m], removePersonalData, parseCode, includeIds, includePayload) if (situation !== undefined) { - event.situations.push(situation) + object.situations.push(situation) } } for (let m = 0; m < node.announcements.length; m++) { - let announcement = getProtocolNode(node.announcements[m], removePersonalData, parseCode, includeIds) + let announcement = getProtocolNode(node.announcements[m], removePersonalData, parseCode, includeIds, includePayload) if (announcement !== undefined) { - event.announcements.push(announcement) + object.announcements.push(announcement) } } if (includeIds) { - event.id = node.id + object.id = node.id } - return event + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Phase': { - let phase = { + let object = { type: node.type, subType: node.subType, name: node.name, - formula: getProtocolNode(node.formula, removePersonalData, parseCode, includeIds), - nextPhaseEvent: getProtocolNode(node.nextPhaseEvent, removePersonalData, parseCode, includeIds) + formula: getProtocolNode(node.formula, removePersonalData, parseCode, includeIds, includePayload), + nextPhaseEvent: getProtocolNode(node.nextPhaseEvent, removePersonalData, parseCode, includeIds, includePayload) } if (includeIds) { - phase.id = node.id + object.id = node.id } - return phase + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Stop': { - let stop = { + let object = { type: node.type, subType: node.subType, name: node.name, @@ -113,18 +131,21 @@ function newProtocolNode () { } for (let m = 0; m < node.phases.length; m++) { - let phase = getProtocolNode(node.phases[m], removePersonalData, parseCode, includeIds) + let phase = getProtocolNode(node.phases[m], removePersonalData, parseCode, includeIds, includePayload) if (phase !== undefined) { - stop.phases.push(phase) + object.phases.push(phase) } } if (includeIds) { - stop.id = node.id + object.id = node.id } - return stop + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Take Profit': { - let takeProfit = { + let object = { type: node.type, subType: node.subType, name: node.name, @@ -132,18 +153,21 @@ function newProtocolNode () { } for (let m = 0; m < node.phases.length; m++) { - let phase = getProtocolNode(node.phases[m], removePersonalData, parseCode, includeIds) + let phase = getProtocolNode(node.phases[m], removePersonalData, parseCode, includeIds, includePayload) if (phase !== undefined) { - takeProfit.phases.push(phase) + object.phases.push(phase) } } if (includeIds) { - takeProfit.id = node.id + object.id = node.id } - return takeProfit + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Take Position Event': { - let event = { + let object = { type: node.type, subType: node.subType, name: node.name, @@ -152,24 +176,27 @@ function newProtocolNode () { } for (let m = 0; m < node.situations.length; m++) { - let situation = getProtocolNode(node.situations[m], removePersonalData, parseCode, includeIds) + let situation = getProtocolNode(node.situations[m], removePersonalData, parseCode, includeIds, includePayload) if (situation !== undefined) { - event.situations.push(situation) + object.situations.push(situation) } } for (let m = 0; m < node.announcements.length; m++) { - let announcement = getProtocolNode(node.announcements[m], removePersonalData, parseCode, includeIds) + let announcement = getProtocolNode(node.announcements[m], removePersonalData, parseCode, includeIds, includePayload) if (announcement !== undefined) { - event.announcements.push(announcement) + object.announcements.push(announcement) } } if (includeIds) { - event.id = node.id + object.id = node.id } - return event + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Trigger On Event': { - let event = { + let object = { type: node.type, subType: node.subType, name: node.name, @@ -178,22 +205,25 @@ function newProtocolNode () { } for (let m = 0; m < node.situations.length; m++) { - let situation = getProtocolNode(node.situations[m], removePersonalData, parseCode, includeIds) - event.situations.push(situation) + let situation = getProtocolNode(node.situations[m], removePersonalData, parseCode, includeIds, includePayload) + object.situations.push(situation) } for (let m = 0; m < node.announcements.length; m++) { - let announcement = getProtocolNode(node.announcements[m], removePersonalData, parseCode, includeIds) + let announcement = getProtocolNode(node.announcements[m], removePersonalData, parseCode, includeIds, includePayload) if (announcement !== undefined) { - event.announcements.push(announcement) + object.announcements.push(announcement) } } if (includeIds) { - event.id = node.id + object.id = node.id } - return event + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Trigger Off Event': { - let event = { + let object = { type: node.type, subType: node.subType, name: node.name, @@ -202,35 +232,41 @@ function newProtocolNode () { } for (let m = 0; m < node.situations.length; m++) { - let situation = getProtocolNode(node.situations[m], removePersonalData, parseCode, includeIds) + let situation = getProtocolNode(node.situations[m], removePersonalData, parseCode, includeIds, includePayload) if (situation !== undefined) { - event.situations.push(situation) + object.situations.push(situation) } } for (let m = 0; m < node.announcements.length; m++) { - let announcement = getProtocolNode(node.announcements[m], removePersonalData, parseCode, includeIds) + let announcement = getProtocolNode(node.announcements[m], removePersonalData, parseCode, includeIds, includePayload) if (announcement !== undefined) { - event.announcements.push(announcement) + object.announcements.push(announcement) } } if (includeIds) { - event.id = node.id + object.id = node.id } - return event + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Initial Definition': { let object = { type: node.type, subType: node.subType, name: node.name, - stopLoss: getProtocolNode(node.stopLoss, removePersonalData, parseCode, includeIds), - takeProfit: getProtocolNode(node.takeProfit, removePersonalData, parseCode, includeIds), - positionSize: getProtocolNode(node.positionSize, removePersonalData, parseCode, includeIds), - positionRate: getProtocolNode(node.positionRate, removePersonalData, parseCode, includeIds) + stopLoss: getProtocolNode(node.stopLoss, removePersonalData, parseCode, includeIds, includePayload), + takeProfit: getProtocolNode(node.takeProfit, removePersonalData, parseCode, includeIds, includePayload), + positionSize: getProtocolNode(node.positionSize, removePersonalData, parseCode, includeIds, includePayload), + positionRate: getProtocolNode(node.positionRate, removePersonalData, parseCode, includeIds, includePayload) } if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } case 'Open Execution': { @@ -242,6 +278,9 @@ function newProtocolNode () { if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } case 'Close Execution': { @@ -253,6 +292,9 @@ function newProtocolNode () { if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } case 'Position Size': { @@ -260,11 +302,14 @@ function newProtocolNode () { type: node.type, subType: node.subType, name: node.name, - formula: getProtocolNode(node.formula, removePersonalData, parseCode, includeIds) + formula: getProtocolNode(node.formula, removePersonalData, parseCode, includeIds, includePayload) } if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } case 'Position Rate': { @@ -272,79 +317,97 @@ function newProtocolNode () { type: node.type, subType: node.subType, name: node.name, - formula: getProtocolNode(node.formula, removePersonalData, parseCode, includeIds) + formula: getProtocolNode(node.formula, removePersonalData, parseCode, includeIds, includePayload) } if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } case 'Trigger Stage': { - let stage = { + let object = { type: node.type, subType: node.subType, name: node.name, - triggerOn: getProtocolNode(node.triggerOn, removePersonalData, parseCode, includeIds), - triggerOff: getProtocolNode(node.triggerOff, removePersonalData, parseCode, includeIds), - takePosition: getProtocolNode(node.takePosition, removePersonalData, parseCode, includeIds) + triggerOn: getProtocolNode(node.triggerOn, removePersonalData, parseCode, includeIds, includePayload), + triggerOff: getProtocolNode(node.triggerOff, removePersonalData, parseCode, includeIds, includePayload), + takePosition: getProtocolNode(node.takePosition, removePersonalData, parseCode, includeIds, includePayload) } if (includeIds) { - stage.id = node.id + object.id = node.id } - return stage + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Open Stage': { - let stage = { + let object = { type: node.type, subType: node.subType, name: node.name, - initialDefinition: getProtocolNode(node.initialDefinition, removePersonalData, parseCode, includeIds), - openExecution: getProtocolNode(node.openExecution, removePersonalData, parseCode, includeIds) + initialDefinition: getProtocolNode(node.initialDefinition, removePersonalData, parseCode, includeIds, includePayload), + openExecution: getProtocolNode(node.openExecution, removePersonalData, parseCode, includeIds, includePayload) } if (includeIds) { - stage.id = node.id + object.id = node.id } - return stage + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Manage Stage': { - let stage = { + let object = { type: node.type, subType: node.subType, name: node.name, - stopLoss: getProtocolNode(node.stopLoss, removePersonalData, parseCode, includeIds), - takeProfit: getProtocolNode(node.takeProfit, removePersonalData, parseCode, includeIds) + stopLoss: getProtocolNode(node.stopLoss, removePersonalData, parseCode, includeIds, includePayload), + takeProfit: getProtocolNode(node.takeProfit, removePersonalData, parseCode, includeIds, includePayload) } if (includeIds) { - stage.id = node.id + object.id = node.id } - return stage + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Close Stage': { - let stage = { + let object = { type: node.type, subType: node.subType, name: node.name, - closeExecution: getProtocolNode(node.closeExecution, removePersonalData, parseCode, includeIds) + closeExecution: getProtocolNode(node.closeExecution, removePersonalData, parseCode, includeIds, includePayload) } if (includeIds) { - stage.id = node.id + object.id = node.id } - return stage + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Strategy': { - let strategy = { + let object = { type: node.type, subType: node.subType, name: node.name, - triggerStage: getProtocolNode(node.triggerStage, removePersonalData, parseCode, includeIds), - openStage: getProtocolNode(node.openStage, removePersonalData, parseCode, includeIds), - manageStage: getProtocolNode(node.manageStage, removePersonalData, parseCode, includeIds), - closeStage: getProtocolNode(node.closeStage, removePersonalData, parseCode, includeIds) + triggerStage: getProtocolNode(node.triggerStage, removePersonalData, parseCode, includeIds, includePayload), + openStage: getProtocolNode(node.openStage, removePersonalData, parseCode, includeIds, includePayload), + manageStage: getProtocolNode(node.manageStage, removePersonalData, parseCode, includeIds, includePayload), + closeStage: getProtocolNode(node.closeStage, removePersonalData, parseCode, includeIds, includePayload) } if (includeIds) { - strategy.id = node.id + object.id = node.id } - return strategy + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Base Asset': { let object = { @@ -356,6 +419,9 @@ function newProtocolNode () { if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } case 'Time Range': { @@ -368,6 +434,9 @@ function newProtocolNode () { if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } case 'Time Period': { @@ -380,6 +449,9 @@ function newProtocolNode () { if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } case 'Slippage': { @@ -392,6 +464,9 @@ function newProtocolNode () { if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } case 'Fee Structure': { @@ -404,6 +479,9 @@ function newProtocolNode () { if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } case 'Parameters': { @@ -411,41 +489,47 @@ function newProtocolNode () { type: node.type, subType: node.subType, name: node.name, - baseAsset: getProtocolNode(node.baseAsset, removePersonalData, parseCode, includeIds), - timeRange: getProtocolNode(node.timeRange, removePersonalData, parseCode, includeIds), - timePeriod: getProtocolNode(node.timePeriod, removePersonalData, parseCode, includeIds), - slippage: getProtocolNode(node.slippage, removePersonalData, parseCode, includeIds), - feeStructure: getProtocolNode(node.feeStructure, removePersonalData, parseCode, includeIds), - key: getProtocolNode(node.key, removePersonalData, parseCode, includeIds) + baseAsset: getProtocolNode(node.baseAsset, removePersonalData, parseCode, includeIds, includePayload), + timeRange: getProtocolNode(node.timeRange, removePersonalData, parseCode, includeIds, includePayload), + timePeriod: getProtocolNode(node.timePeriod, removePersonalData, parseCode, includeIds, includePayload), + slippage: getProtocolNode(node.slippage, removePersonalData, parseCode, includeIds, includePayload), + feeStructure: getProtocolNode(node.feeStructure, removePersonalData, parseCode, includeIds, includePayload), + key: getProtocolNode(node.key, removePersonalData, parseCode, includeIds, includePayload) } if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } case 'Trading System': { - let tradingSystem = { + let object = { type: node.type, subType: node.subType, name: node.name, strategies: [], - parameters: getProtocolNode(node.parameters, removePersonalData, parseCode, includeIds) + parameters: getProtocolNode(node.parameters, removePersonalData, parseCode, includeIds, includePayload) } for (let m = 0; m < node.strategies.length; m++) { - let strategy = getProtocolNode(node.strategies[m], removePersonalData, parseCode, includeIds) + let strategy = getProtocolNode(node.strategies[m], removePersonalData, parseCode, includeIds, includePayload) if (strategy !== undefined) { - tradingSystem.strategies.push(strategy) + object.strategies.push(strategy) } } if (includeIds) { - tradingSystem.id = node.id + object.id = node.id } - return tradingSystem + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Personal Data': { if (removePersonalData === true) { return } - let personalData = { + let object = { type: node.type, subType: node.subType, name: node.name, @@ -453,19 +537,22 @@ function newProtocolNode () { } for (let m = 0; m < node.exchangeAccounts.length; m++) { - let exchangeAccount = getProtocolNode(node.exchangeAccounts[m], removePersonalData, parseCode, includeIds) + let exchangeAccount = getProtocolNode(node.exchangeAccounts[m], removePersonalData, parseCode, includeIds, includePayload) if (exchangeAccount !== undefined) { - personalData.exchangeAccounts.push(exchangeAccount) + object.exchangeAccounts.push(exchangeAccount) } } if (includeIds) { - personalData.id = node.id + object.id = node.id } - return personalData + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Exchange Account': { if (removePersonalData === true) { return } - let exchangeAccount = { + let object = { type: node.type, subType: node.subType, name: node.name, @@ -474,49 +561,58 @@ function newProtocolNode () { } for (let m = 0; m < node.assets.length; m++) { - let asset = getProtocolNode(node.assets[m], removePersonalData, parseCode, includeIds) + let asset = getProtocolNode(node.assets[m], removePersonalData, parseCode, includeIds, includePayload) if (asset !== undefined) { - exchangeAccount.assets.push(asset) + object.assets.push(asset) } } for (let m = 0; m < node.keys.length; m++) { - let key = getProtocolNode(node.keys[m], removePersonalData, parseCode, includeIds) + let key = getProtocolNode(node.keys[m], removePersonalData, parseCode, includeIds, includePayload) if (key !== undefined) { - exchangeAccount.keys.push(key) + object.keys.push(key) } } if (includeIds) { - exchangeAccount.id = node.id + object.id = node.id } - return exchangeAccount + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Exchange Account Asset': { if (removePersonalData === true) { return } - let asset = { + let object = { type: node.type, subType: node.subType, name: node.name } if (includeIds) { - asset.id = node.id + object.id = node.id } - return asset + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Exchange Account Key': { if (removePersonalData === true) { return } - let key = { + let object = { type: node.type, subType: node.subType, name: node.name, code: node.code } if (includeIds) { - key.id = node.id + object.id = node.id } - return key + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Social Bots': { - let socialBots = { + let object = { type: node.type, subType: node.subType, name: node.name, @@ -524,19 +620,22 @@ function newProtocolNode () { } for (let m = 0; m < node.bots.length; m++) { - let bot = getProtocolNode(node.bots[m], removePersonalData, parseCode, includeIds) + let bot = getProtocolNode(node.bots[m], removePersonalData, parseCode, includeIds, includePayload) if (bot !== undefined) { - socialBots.bots.push(bot) + object.bots.push(bot) } } if (includeIds) { - socialBots.id = node.id + object.id = node.id } - return socialBots + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Telegram Bot': { if (removePersonalData === true) { return } - let bot = { + let object = { type: node.type, subType: node.subType, name: node.name, @@ -545,15 +644,18 @@ function newProtocolNode () { } for (let m = 0; m < node.announcements.length; m++) { - let announcement = getProtocolNode(node.announcements[m], removePersonalData, parseCode, includeIds) + let announcement = getProtocolNode(node.announcements[m], removePersonalData, parseCode, includeIds, includePayload) if (announcement !== undefined) { - bot.announcements.push(announcement) + object.announcements.push(announcement) } } if (includeIds) { - bot.id = node.id + object.id = node.id } - return bot + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Announcement': { let object = { @@ -565,10 +667,13 @@ function newProtocolNode () { if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } case 'Layer Manager': { - let layerManager = { + let object = { type: node.type, subType: node.subType, name: node.name, @@ -576,15 +681,18 @@ function newProtocolNode () { } for (let m = 0; m < node.layers.length; m++) { - let layer = getProtocolNode(node.layers[m], removePersonalData, parseCode, includeIds) + let layer = getProtocolNode(node.layers[m], removePersonalData, parseCode, includeIds, includePayload) if (layer !== undefined) { - layerManager.layers.push(layer) + object.layers.push(layer) } } if (includeIds) { - layerManager.id = node.id + object.id = node.id } - return layerManager + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Layer': { let object = { @@ -596,10 +704,13 @@ function newProtocolNode () { if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } case 'Task Manager': { - let taskManager = { + let object = { type: node.type, subType: node.subType, name: node.name, @@ -607,30 +718,36 @@ function newProtocolNode () { } for (let m = 0; m < node.tasks.length; m++) { - let task = getProtocolNode(node.tasks[m], removePersonalData, parseCode, includeIds) + let task = getProtocolNode(node.tasks[m], removePersonalData, parseCode, includeIds, includePayload) if (task !== undefined) { - taskManager.tasks.push(task) + object.tasks.push(task) } } if (includeIds) { - taskManager.id = node.id + object.id = node.id } - return taskManager + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Task': { let object = { type: node.type, subType: node.subType, name: node.name, - bot: getProtocolNode(node.bot, removePersonalData, parseCode, includeIds) + bot: getProtocolNode(node.bot, removePersonalData, parseCode, includeIds, includePayload) } if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } case 'Sensor': { - let bot = { + let object = { type: node.type, subType: node.subType, name: node.name, @@ -639,21 +756,24 @@ function newProtocolNode () { } for (let m = 0; m < node.processes.length; m++) { - let process = getProtocolNode(node.processes[m], removePersonalData, parseCode, includeIds) + let process = getProtocolNode(node.processes[m], removePersonalData, parseCode, includeIds, includePayload) if (process !== undefined) { - bot.processes.push(process) + object.processes.push(process) } } if (parseCode) { - bot.code = JSON.parse(bot.code) + object.code = JSON.parse(node.code) } if (includeIds) { - bot.id = node.id + object.id = node.id } - return bot + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Indicator': { - let bot = { + let object = { type: node.type, subType: node.subType, name: node.name, @@ -662,21 +782,24 @@ function newProtocolNode () { } for (let m = 0; m < node.processes.length; m++) { - let process = getProtocolNode(node.processes[m], removePersonalData, parseCode, includeIds) + let process = getProtocolNode(node.processes[m], removePersonalData, parseCode, includeIds, includePayload) if (process !== undefined) { - bot.processes.push(process) + object.processes.push(process) } } if (parseCode) { - bot.code = JSON.parse(bot.code) + object.code = JSON.parse(node.code) } if (includeIds) { - bot.id = node.id + object.id = node.id } - return bot + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Trading Engine': { - let bot = { + let object = { type: node.type, subType: node.subType, name: node.name, @@ -685,18 +808,21 @@ function newProtocolNode () { } for (let m = 0; m < node.processes.length; m++) { - let process = getProtocolNode(node.processes[m], removePersonalData, parseCode, includeIds) + let process = getProtocolNode(node.processes[m], removePersonalData, parseCode, includeIds, includePayload) if (process !== undefined) { - bot.processes.push(process) + object.processes.push(process) } } if (parseCode) { - bot.code = JSON.parse(bot.code) + object.code = JSON.parse(node.code) } if (includeIds) { - bot.id = node.id + object.id = node.id } - return bot + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } + return object } case 'Process': { let object = { @@ -704,26 +830,28 @@ function newProtocolNode () { subType: node.subType, name: node.name, code: node.code, - session: getProtocolNode(node.session, removePersonalData, parseCode, includeIds) + session: getProtocolNode(node.session, removePersonalData, parseCode, includeIds, includePayload) } if (parseCode) { - object.code = JSON.parse(object.code) + object.code = JSON.parse(node.code) } if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } - case 'Backtesting Session': { let object = { type: node.type, subType: node.subType, name: node.name, code: node.code, - parameters: getProtocolNode(node.parameters, removePersonalData, parseCode, includeIds), - layerManager: getProtocolNode(node.layerManager, removePersonalData, parseCode, includeIds), - socialBots: getProtocolNode(node.socialBots, removePersonalData, parseCode, includeIds) + parameters: getProtocolNode(node.parameters, removePersonalData, parseCode, includeIds, includePayload), + layerManager: getProtocolNode(node.layerManager, removePersonalData, parseCode, includeIds, includePayload), + socialBots: getProtocolNode(node.socialBots, removePersonalData, parseCode, includeIds, includePayload) } if (parseCode) { object.code = JSON.parse(object.code) @@ -731,37 +859,41 @@ function newProtocolNode () { if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } - case 'Live Trading Session': { let object = { type: node.type, subType: node.subType, name: node.name, code: node.code, - parameters: getProtocolNode(node.parameters, removePersonalData, parseCode, includeIds), - layerManager: getProtocolNode(node.layerManager, removePersonalData, parseCode, includeIds), - socialBots: getProtocolNode(node.socialBots, removePersonalData, parseCode, includeIds) + parameters: getProtocolNode(node.parameters, removePersonalData, parseCode, includeIds, includePayload), + layerManager: getProtocolNode(node.layerManager, removePersonalData, parseCode, includeIds, includePayload), + socialBots: getProtocolNode(node.socialBots, removePersonalData, parseCode, includeIds, includePayload) } if (parseCode) { - object.code = JSON.parse(object.code) + object.code = JSON.parse(node.code) } if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } - case 'Fordward Testing Session': { let object = { type: node.type, subType: node.subType, name: node.name, code: node.code, - parameters: getProtocolNode(node.parameters, removePersonalData, parseCode, includeIds), - layerManager: getProtocolNode(node.layerManager, removePersonalData, parseCode, includeIds), - socialBots: getProtocolNode(node.socialBots, removePersonalData, parseCode, includeIds) + parameters: getProtocolNode(node.parameters, removePersonalData, parseCode, includeIds, includePayload), + layerManager: getProtocolNode(node.layerManager, removePersonalData, parseCode, includeIds, includePayload), + socialBots: getProtocolNode(node.socialBots, removePersonalData, parseCode, includeIds, includePayload) } if (parseCode) { object.code = JSON.parse(object.code) @@ -769,28 +901,32 @@ function newProtocolNode () { if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } - case 'Paper Trading Session': { let object = { type: node.type, subType: node.subType, name: node.name, code: node.code, - parameters: getProtocolNode(node.parameters, removePersonalData, parseCode, includeIds), - layerManager: getProtocolNode(node.layerManager, removePersonalData, parseCode, includeIds), - socialBots: getProtocolNode(node.socialBots, removePersonalData, parseCode, includeIds) + parameters: getProtocolNode(node.parameters, removePersonalData, parseCode, includeIds, includePayload), + layerManager: getProtocolNode(node.layerManager, removePersonalData, parseCode, includeIds, includePayload), + socialBots: getProtocolNode(node.socialBots, removePersonalData, parseCode, includeIds, includePayload) } if (parseCode) { - object.code = JSON.parse(object.code) + object.code = JSON.parse(node.code) } if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } - case 'Network Node': { let object = { type: node.type, @@ -800,7 +936,7 @@ function newProtocolNode () { } if (node.taskManagers !== undefined) { for (let m = 0; m < node.taskManagers.length; m++) { - let taskManager = getProtocolNode(node.taskManagers[m], removePersonalData, parseCode, includeIds) + let taskManager = getProtocolNode(node.taskManagers[m], removePersonalData, parseCode, includeIds, includePayload) if (taskManager !== undefined) { object.taskManagers.push(taskManager) } @@ -809,6 +945,9 @@ function newProtocolNode () { if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } case 'Network': { @@ -820,7 +959,7 @@ function newProtocolNode () { } if (node.networkNodes !== undefined) { for (let m = 0; m < node.networkNodes.length; m++) { - let networkNode = getProtocolNode(node.networkNodes[m], removePersonalData, parseCode, includeIds) + let networkNode = getProtocolNode(node.networkNodes[m], removePersonalData, parseCode, includeIds, includePayload) if (networkNode !== undefined) { object.networkNodes.push(networkNode) } @@ -829,6 +968,9 @@ function newProtocolNode () { if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } case 'Definition': { @@ -836,15 +978,45 @@ function newProtocolNode () { type: node.type, subType: node.subType, name: node.name, - tradingSystem: getProtocolNode(node.tradingSystem, removePersonalData, parseCode, includeIds), - personalData: getProtocolNode(node.personalData, removePersonalData, parseCode, includeIds), - network: getProtocolNode(node.network, removePersonalData, parseCode, includeIds) + tradingSystem: getProtocolNode(node.tradingSystem, removePersonalData, parseCode, includeIds, includePayload), + personalData: getProtocolNode(node.personalData, removePersonalData, parseCode, includeIds, includePayload), + network: getProtocolNode(node.network, removePersonalData, parseCode, includeIds, includePayload) } if (includeIds) { object.id = node.id } + if (includePayload) { + object.savedPayload = getSavedPayload(node) + } return object } } } + + function getSavedPayload (node) { + if (node.payload === undefined) { + console.log(node) + } + let savedPayload = { + position: { + x: node.payload.position.x, + y: node.payload.position.y + }, + targetPosition: { + x: node.payload.targetPosition.x, + y: node.payload.targetPosition.y + }, + floatingObject: { + isPinned: node.payload.floatingObject.isPinned, + isFrozen: (node.payload.floatingObject.isFrozen && node.payload.floatingObject.frozenManually), + isCollapsed: (node.payload.floatingObject.isCollapsed && node.payload.floatingObject.collapsedManually), + isTensed: (node.payload.floatingObject.isTensed && node.payload.floatingObject.tensedManually) + }, + uiObject: { + isRunning: node.payload.uiObject.isRunning, + shortcutKey: node.payload.uiObject.shortcutKey + } + } + return savedPayload + } } diff --git a/StrategySpace/Workspace/FunctionLibraries/StringifyNode.js b/StrategySpace/Workspace/FunctionLibraries/StringifyNode.js deleted file mode 100644 index 1ec385fd4..000000000 --- a/StrategySpace/Workspace/FunctionLibraries/StringifyNode.js +++ /dev/null @@ -1,773 +0,0 @@ -function newStringifyNode () { - thisObject = { - prepareForStringify: prepareForStringify - } - return thisObject - - function prepareForStringify (node, removePersonalData) { - if (node === undefined) { return } - switch (node.type) { - case 'Code': - { - let code = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - savedPayload: getSavedPayload(node) - } - return code - } - case 'Condition': - { - let condition = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: prepareForStringify(node.code, removePersonalData), - savedPayload: getSavedPayload(node) - } - return condition - } - case 'Situation': { - let situation = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - conditions: [], - savedPayload: getSavedPayload(node) - } - - for (let m = 0; m < node.conditions.length; m++) { - let condition = prepareForStringify(node.conditions[m], removePersonalData) - situation.conditions.push(condition) - } - return situation - } - case 'Formula': - { - let formula = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - savedPayload: getSavedPayload(node) - } - return formula - } - case 'Next Phase Event': - { - let event = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - situations: [], - announcements: [], - savedPayload: getSavedPayload(node) - } - for (let m = 0; m < node.situations.length; m++) { - let situation = prepareForStringify(node.situations[m], removePersonalData) - event.situations.push(situation) - } - if (node.announcements !== undefined) { - for (let m = 0; m < node.announcements.length; m++) { - let announcement = prepareForStringify(node.announcements[m], removePersonalData) - event.announcements.push(announcement) - } - } - return event - } - case 'Phase': { - let phase = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - formula: prepareForStringify(node.formula, removePersonalData), - nextPhaseEvent: prepareForStringify(node.nextPhaseEvent, removePersonalData), - savedPayload: getSavedPayload(node) - } - return phase - } - case 'Stop': { - let stop = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - phases: [], - maxPhases: node.maxPhases, - savedPayload: getSavedPayload(node) - } - - for (let m = 0; m < node.phases.length; m++) { - let phase = prepareForStringify(node.phases[m], removePersonalData) - stop.phases.push(phase) - } - return stop - } - case 'Take Profit': { - let takeProfit = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - phases: [], - maxPhases: node.maxPhases, - savedPayload: getSavedPayload(node) - } - - for (let m = 0; m < node.phases.length; m++) { - let phase = prepareForStringify(node.phases[m], removePersonalData) - takeProfit.phases.push(phase) - } - return takeProfit - } - case 'Take Position Event': { - let event = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - situations: [], - announcements: [], - savedPayload: getSavedPayload(node) - } - - for (let m = 0; m < node.situations.length; m++) { - let situation = prepareForStringify(node.situations[m], removePersonalData) - event.situations.push(situation) - } - if (node.announcements !== undefined) { - for (let m = 0; m < node.announcements.length; m++) { - let announcement = prepareForStringify(node.announcements[m], removePersonalData) - event.announcements.push(announcement) - } - } - return event - } - case 'Trigger On Event': { - let event = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - situations: [], - announcements: [], - savedPayload: getSavedPayload(node) - } - - for (let m = 0; m < node.situations.length; m++) { - let situation = prepareForStringify(node.situations[m], removePersonalData) - event.situations.push(situation) - } - if (node.announcements !== undefined) { - for (let m = 0; m < node.announcements.length; m++) { - let announcement = prepareForStringify(node.announcements[m], removePersonalData) - event.announcements.push(announcement) - } - } - return event - } - case 'Trigger Off Event': { - let event = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - situations: [], - announcements: [], - savedPayload: getSavedPayload(node) - } - - for (let m = 0; m < node.situations.length; m++) { - let situation = prepareForStringify(node.situations[m], removePersonalData) - event.situations.push(situation) - } - if (node.announcements !== undefined) { - for (let m = 0; m < node.announcements.length; m++) { - let announcement = prepareForStringify(node.announcements[m], removePersonalData) - event.announcements.push(announcement) - } - } - return event - } - case 'Initial Definition': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - stopLoss: prepareForStringify(node.stopLoss, removePersonalData), - takeProfit: prepareForStringify(node.takeProfit, removePersonalData), - positionSize: prepareForStringify(node.positionSize, removePersonalData), - positionRate: prepareForStringify(node.positionRate, removePersonalData), - savedPayload: getSavedPayload(node) - } - return object - } - case 'Open Execution': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - savedPayload: getSavedPayload(node) - } - return object - } - case 'Close Execution': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - savedPayload: getSavedPayload(node) - } - return object - } - case 'Position Size': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - formula: prepareForStringify(node.formula, removePersonalData), - savedPayload: getSavedPayload(node) - } - return object - } - case 'Position Rate': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - formula: prepareForStringify(node.formula, removePersonalData), - savedPayload: getSavedPayload(node) - } - return object - } - case 'Trigger Stage': { - let stage = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - triggerOn: prepareForStringify(node.triggerOn, removePersonalData), - triggerOff: prepareForStringify(node.triggerOff, removePersonalData), - takePosition: prepareForStringify(node.takePosition, removePersonalData), - savedPayload: getSavedPayload(node) - } - return stage - } - case 'Open Stage': { - let stage = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - initialDefinition: prepareForStringify(node.initialDefinition, removePersonalData), - openExecution: prepareForStringify(node.openExecution, removePersonalData), - savedPayload: getSavedPayload(node) - } - return stage - } - case 'Manage Stage': { - let stage = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - stopLoss: prepareForStringify(node.stopLoss, removePersonalData), - takeProfit: prepareForStringify(node.takeProfit, removePersonalData), - savedPayload: getSavedPayload(node) - } - return stage - } - case 'Close Stage': { - let stage = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - closeExecution: prepareForStringify(node.closeExecution, removePersonalData), - savedPayload: getSavedPayload(node) - } - return stage - } - case 'Strategy': { - let strategy = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - triggerStage: prepareForStringify(node.triggerStage, removePersonalData), - openStage: prepareForStringify(node.openStage, removePersonalData), - manageStage: prepareForStringify(node.manageStage, removePersonalData), - closeStage: prepareForStringify(node.closeStage, removePersonalData), - savedPayload: getSavedPayload(node) - } - return strategy - } - case 'Base Asset': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - savedPayload: getSavedPayload(node) - } - return object - } - case 'Time Range': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - savedPayload: getSavedPayload(node) - } - return object - } - case 'Time Period': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - savedPayload: getSavedPayload(node) - } - return object - } - case 'Slippage': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - savedPayload: getSavedPayload(node) - } - return object - } - case 'Fee Structure': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - savedPayload: getSavedPayload(node) - } - return object - } - case 'Parameters': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - baseAsset: prepareForStringify(node.baseAsset, removePersonalData), - timeRange: prepareForStringify(node.timeRange, removePersonalData), - timePeriod: prepareForStringify(node.timePeriod, removePersonalData), - slippage: prepareForStringify(node.slippage, removePersonalData), - feeStructure: prepareForStringify(node.feeStructure, removePersonalData), - key: prepareForStringify(node.key, removePersonalData), - savedPayload: getSavedPayload(node) - } - return object - } - case 'Trading System': { - let tradingSystem = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - strategies: [], - parameters: prepareForStringify(node.parameters, removePersonalData), - savedPayload: getSavedPayload(node) - } - - for (let m = 0; m < node.strategies.length; m++) { - let strategy = prepareForStringify(node.strategies[m], removePersonalData) - tradingSystem.strategies.push(strategy) - } - return tradingSystem - } - case 'Personal Data': { - if (removePersonalData === true) { return } - let personalData = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - exchangeAccounts: [], - savedPayload: getSavedPayload(node) - } - - for (let m = 0; m < node.exchangeAccounts.length; m++) { - let exchangeAccount = prepareForStringify(node.exchangeAccounts[m]) - personalData.exchangeAccounts.push(exchangeAccount) - } - return personalData - } - case 'Exchange Account': { - if (removePersonalData === true) { return } - let exchangeAccount = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - assets: [], - keys: [], - savedPayload: getSavedPayload(node) - } - - for (let m = 0; m < node.assets.length; m++) { - let asset = prepareForStringify(node.assets[m], removePersonalData) - exchangeAccount.assets.push(asset) - } - - for (let m = 0; m < node.keys.length; m++) { - let key = prepareForStringify(node.keys[m], removePersonalData) - exchangeAccount.keys.push(key) - } - return exchangeAccount - } - case 'Exchange Account Asset': { - if (removePersonalData === true) { return } - let asset = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - savedPayload: getSavedPayload(node) - } - return asset - } - case 'Exchange Account Key': { - if (removePersonalData === true) { return } - let key = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - savedPayload: getSavedPayload(node) - } - return key - } - case 'Social Bots': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - bots: [], - savedPayload: getSavedPayload(node) - } - - if (node.bots !== undefined) { - for (let m = 0; m < node.bots.length; m++) { - let bot = prepareForStringify(node.bots[m], removePersonalData) - object.bots.push(bot) - } - } - return object - } - case 'Telegram Bot': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - announcements: [], - savedPayload: getSavedPayload(node) - } - - if (node.announcements !== undefined) { - for (let m = 0; m < node.announcements.length; m++) { - let announcement = prepareForStringify(node.announcements[m], removePersonalData) - object.announcements.push(announcement) - } - } - return object - } - case 'Announcement': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - savedPayload: getSavedPayload(node) - } - return object - } - case 'Layer Manager': { - let layerManager = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - layers: [], - savedPayload: getSavedPayload(node) - } - - if (node.layers !== undefined) { - for (let m = 0; m < node.layers.length; m++) { - let layer = prepareForStringify(node.layers[m], removePersonalData) - layerManager.layers.push(layer) - } - } - return layerManager - } - case 'Layer': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - savedPayload: getSavedPayload(node) - } - return object - } - case 'Task Manager': { - let taskManager = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - tasks: [], - savedPayload: getSavedPayload(node) - } - - if (node.tasks !== undefined) { - for (let m = 0; m < node.tasks.length; m++) { - let task = prepareForStringify(node.tasks[m], removePersonalData) - taskManager.tasks.push(task) - } - } - return taskManager - } - case 'Task': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - bot: prepareForStringify(node.bot, removePersonalData), - savedPayload: getSavedPayload(node) - } - return object - } - case 'Sensor': { - let bot = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - processes: [], - savedPayload: getSavedPayload(node) - } - - for (let m = 0; m < node.processes.length; m++) { - let process = prepareForStringify(node.processes[m], removePersonalData) - bot.processes.push(process) - } - - return bot - } - case 'Indicator': { - let bot = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - processes: [], - savedPayload: getSavedPayload(node) - } - - for (let m = 0; m < node.processes.length; m++) { - let process = prepareForStringify(node.processes[m], removePersonalData) - bot.processes.push(process) - } - - return bot - } - case 'Trading Engine': { - let bot = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - processes: [], - savedPayload: getSavedPayload(node) - } - - for (let m = 0; m < node.processes.length; m++) { - let process = prepareForStringify(node.processes[m], removePersonalData) - bot.processes.push(process) - } - - return bot - } - case 'Process': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - session: prepareForStringify(node.session, removePersonalData), - savedPayload: getSavedPayload(node) - } - return object - } - case 'Backtesting Session': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - parameters: prepareForStringify(node.parameters, removePersonalData), - layerManager: prepareForStringify(node.layerManager, removePersonalData), - socialBots: prepareForStringify(node.socialBots, removePersonalData), - savedPayload: getSavedPayload(node) - } - return object - } - case 'Live Trading Session': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - parameters: prepareForStringify(node.parameters, removePersonalData), - layerManager: prepareForStringify(node.layerManager, removePersonalData), - socialBots: prepareForStringify(node.socialBots, removePersonalData), - savedPayload: getSavedPayload(node) - } - return object - } - case 'Fordward Testing Session': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - parameters: prepareForStringify(node.parameters, removePersonalData), - layerManager: prepareForStringify(node.layerManager, removePersonalData), - socialBots: prepareForStringify(node.socialBots, removePersonalData), - savedPayload: getSavedPayload(node) - } - return object - } - case 'Paper Trading Session': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - code: node.code, - parameters: prepareForStringify(node.parameters, removePersonalData), - layerManager: prepareForStringify(node.layerManager, removePersonalData), - socialBots: prepareForStringify(node.socialBots, removePersonalData), - savedPayload: getSavedPayload(node) - } - return object - } - case 'Network Node': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - taskManagers: [], - savedPayload: getSavedPayload(node) - } - if (node.taskManagers !== undefined) { - for (let m = 0; m < node.taskManagers.length; m++) { - let taskManager = prepareForStringify(node.taskManagers[m], removePersonalData) - object.taskManagers.push(taskManager) - } - } - return object - } - case 'Network': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - networkNodes: [], - savedPayload: getSavedPayload(node) - } - if (node.networkNodes !== undefined) { - for (let m = 0; m < node.networkNodes.length; m++) { - let networkNode = prepareForStringify(node.networkNodes[m], removePersonalData) - object.networkNodes.push(networkNode) - } - } - return object - } - case 'Definition': { - let object = { - id: node.id, - type: node.type, - subType: node.subType, - name: node.name, - tradingSystem: prepareForStringify(node.tradingSystem, removePersonalData), - personalData: prepareForStringify(node.personalData, removePersonalData), - network: prepareForStringify(node.network, removePersonalData), - savedPayload: getSavedPayload(node) - } - return object - } - } - } - - function getSavedPayload (node) { - if (node.payload === undefined) { - console.log(node) - } - let savedPayload = { - position: { - x: node.payload.position.x, - y: node.payload.position.y - }, - targetPosition: { - x: node.payload.targetPosition.x, - y: node.payload.targetPosition.y - }, - floatingObject: { - isPinned: node.payload.floatingObject.isPinned, - isFrozen: (node.payload.floatingObject.isFrozen && node.payload.floatingObject.frozenManually), - isCollapsed: (node.payload.floatingObject.isCollapsed && node.payload.floatingObject.collapsedManually), - isTensed: (node.payload.floatingObject.isTensed && node.payload.floatingObject.tensedManually) - }, - uiObject: { - isRunning: node.payload.uiObject.isRunning, - shortcutKey: node.payload.uiObject.shortcutKey - } - } - return savedPayload - } -} diff --git a/StrategySpace/Workspace/Workspace.js b/StrategySpace/Workspace/Workspace.js index 43b13aa87..b39b051c3 100644 --- a/StrategySpace/Workspace/Workspace.js +++ b/StrategySpace/Workspace/Workspace.js @@ -48,7 +48,6 @@ function newWorkspace () { let functionLibraryNodeDeleter = newNodeDeleter() let functionLibraryPartsFromNodes = newPartsFromNodes() let functionLibraryProtocolNode = newProtocolNode() - let functionLibraryStringifyNodes = newStringifyNode() let functionLibraryTaskFunctions = newTaskFunctions() let functionLibrarySessionFunctions = newSessionFunctions() let functionLibraryShortcutKeys = newShortcutKeys() @@ -132,7 +131,7 @@ function newWorkspace () { let stringifyReadyNodes = [] for (let i = 0; i < thisObject.workspaceNode.rootNodes.length; i++) { let rootNode = thisObject.workspaceNode.rootNodes[i] - let node = functionLibraryStringifyNodes.prepareForStringify(rootNode, removePersonalData) + let node = functionLibraryProtocolNode.getProtocolNode(rootNode, removePersonalData, false, true, true) if (node) { stringifyReadyNodes.push(node) }