From b8536303a41962b51c9b9e1f0af17cc7ba17986c Mon Sep 17 00:00:00 2001 From: Pavlo Mykhalov Date: Wed, 12 Jul 2023 15:35:58 +0300 Subject: [PATCH] add task solution --- src/transformState.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/transformState.js b/src/transformState.js index a1eaa0640..82605b7ee 100644 --- a/src/transformState.js +++ b/src/transformState.js @@ -6,6 +6,26 @@ */ function transformState(state, actions) { // write code here + for (const action of actions) { + switch (action.type) { + case 'addProperties': + Object.assign(state, action.extraData); + break; + + case 'removeProperties': + action.keysToRemove.forEach(key => delete state[key]); + break; + + case 'clear': + Object.keys(state).forEach(key => delete state[key]); + break; + + default: + break; + }; + } + + return state; } module.exports = transformState;