From 340e54a128ed4fafe46269900c398f546fb0f9f4 Mon Sep 17 00:00:00 2001 From: Yazalde Filimone Date: Tue, 16 Jul 2024 22:56:29 +0200 Subject: [PATCH 1/3] feat: add last evaluate result at _ variable in relp #94 --- runner/repl.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/runner/repl.js b/runner/repl.js index 62b2cf82..482acf49 100644 --- a/runner/repl.js +++ b/runner/repl.js @@ -79,6 +79,15 @@ const memoryToString = mem => { }; let prev = ''; + +function setLastEvalExp(prev, ret) { + const lastEvalExp = `let _ = ${ret != null ? ret : "undefined"};\n`; + if (/let _ = .*;\n/.test(prev)) { + return prev.replace(/let _ = .*;\n/, lastEvalExp); + } + return lastEvalExp + prev; +} + const run = (source, _context, _filename, callback, run = true) => { // hack: print "secret" before latest code ran to only enable printing for new code @@ -110,7 +119,7 @@ const run = (source, _context, _filename, callback, run = true) => { // callback(null, ret); - prev = prev + ';\n' + source.trim(); + prev = setLastEvalExp( prev + ';\n' + source.trim(), ret); callback(); }; From 9e51e11e210e3af0557cc4bf8d086734f06afb81 Mon Sep 17 00:00:00 2001 From: Yazalde Filimone Date: Wed, 17 Jul 2024 00:46:16 +0200 Subject: [PATCH 2/3] fix: bugs transform #94 --- runner/repl.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runner/repl.js b/runner/repl.js index 482acf49..14437610 100644 --- a/runner/repl.js +++ b/runner/repl.js @@ -81,7 +81,7 @@ const memoryToString = mem => { let prev = ''; function setLastEvalExp(prev, ret) { - const lastEvalExp = `let _ = ${ret != null ? ret : "undefined"};\n`; + const lastEvalExp = `let _ = ${JSON.stringify(ret)};\n`; if (/let _ = .*;\n/.test(prev)) { return prev.replace(/let _ = .*;\n/, lastEvalExp); } @@ -119,7 +119,7 @@ const run = (source, _context, _filename, callback, run = true) => { // callback(null, ret); - prev = setLastEvalExp( prev + ';\n' + source.trim(), ret); + prev = setLastEvalExp(prev + ';\n' + source.trim(), ret); callback(); }; From 7d2577336b9973ff491b614c7b8fd7f67202ef2a Mon Sep 17 00:00:00 2001 From: Yazalde Filimone Date: Sat, 20 Jul 2024 11:54:20 +0200 Subject: [PATCH 3/3] refactor: simplify assignment --- runner/repl.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/runner/repl.js b/runner/repl.js index 14437610..5f4b2694 100644 --- a/runner/repl.js +++ b/runner/repl.js @@ -81,9 +81,9 @@ const memoryToString = mem => { let prev = ''; function setLastEvalExp(prev, ret) { - const lastEvalExp = `let _ = ${JSON.stringify(ret)};\n`; - if (/let _ = .*;\n/.test(prev)) { - return prev.replace(/let _ = .*;\n/, lastEvalExp); + const lastEvalExp = `_ = ${JSON.stringify(ret)};\n`; + if (/_ = .*;\n/.test(prev)) { + return prev.replace(/_ = .*;\n/, lastEvalExp); } return lastEvalExp + prev; }