From f439f960b7a0bf753fbdb85a44d012e94504d537 Mon Sep 17 00:00:00 2001 From: Tomas Pavlik Date: Thu, 24 Mar 2022 16:13:13 +0100 Subject: [PATCH] Accept valid JSON arrays in coding contracts --- src/data/codingcontracttypes.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/data/codingcontracttypes.ts b/src/data/codingcontracttypes.ts index 23235fa9a..9eb404b43 100644 --- a/src/data/codingcontracttypes.ts +++ b/src/data/codingcontracttypes.ts @@ -884,14 +884,17 @@ export const codingContractTypesMetadata: ICodingContractTypeMetadata[] = [ dfs(0, 0, left, right, data, "", res); - const sanitizedPlayerAns = removeBracketsFromArrayString(ans).replace(/\s/g, ""); - - const playerAnsArray: string[] = sanitizedPlayerAns.split(","); - if (playerAnsArray.length !== res.length) { + const sanitizedPlayerAns: string = removeBracketsFromArrayString(ans); + const sanitizedPlayerAnsArr: string[] = sanitizedPlayerAns.split(","); + for (let i = 0; i < sanitizedPlayerAnsArr.length; ++i) { + sanitizedPlayerAnsArr[i] = removeQuotesFromString(sanitizedPlayerAnsArr[i]).replace(/\s/g, ""); + } + + if (sanitizedPlayerAnsArr.length !== res.length) { return false; } for (const resultInAnswer of res) { - if (!playerAnsArray.includes(resultInAnswer)) { + if (!sanitizedPlayerAnsArr.includes(resultInAnswer)) { return false; } }