From 9f81a591e1a37806ac93ce5866814b27b875811a Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Mon, 23 Jul 2018 13:27:43 +0100 Subject: [PATCH] Move multiple-get/set logic into individual context stores --- red/runtime/nodes/context/index.js | 130 ++++++------------ red/runtime/nodes/context/localfilesystem.js | 57 +++++--- red/runtime/nodes/context/memory.js | 77 ++++++++--- test/red/runtime/nodes/context/index_spec.js | 20 ++- .../nodes/context/localfilesystem_spec.js | 59 +++++++- test/red/runtime/nodes/context/memory_spec.js | 70 +++++++++- 6 files changed, 262 insertions(+), 151 deletions(-) diff --git a/red/runtime/nodes/context/index.js b/red/runtime/nodes/context/index.js index cb61ca187..91cbf60c4 100644 --- a/red/runtime/nodes/context/index.js +++ b/red/runtime/nodes/context/index.js @@ -195,9 +195,24 @@ function createContext(id,seed) { var scope = id; var obj = seed || {}; var seedKeys; + var insertSeedValues; if (seed) { seedKeys = Object.keys(seed); + insertSeedValues = function(keys,values) { + if (!Array.isArray(keys)) { + if (values[0] === undefined) { + values[0] = seed[keys]; + } + } else { + for (var i=0;i