diff --git a/packages/bruno-app/src/components/CodeEditor/index.js b/packages/bruno-app/src/components/CodeEditor/index.js index 5998cf10a..ea63602df 100644 --- a/packages/bruno-app/src/components/CodeEditor/index.js +++ b/packages/bruno-app/src/components/CodeEditor/index.js @@ -69,6 +69,7 @@ if (!SERVER_RENDERED) { 'bru.getVar(key)', 'bru.setVar(key,value)', 'bru.deleteVar(key)', + 'bru.deleteAllVars()', 'bru.setNextRequest(requestName)', 'req.disableParsingResponseJson()', 'bru.getRequestVar(key)', diff --git a/packages/bruno-js/src/bru.js b/packages/bruno-js/src/bru.js index 7f24cea14..30f016e9f 100644 --- a/packages/bruno-js/src/bru.js +++ b/packages/bruno-js/src/bru.js @@ -97,6 +97,14 @@ class Bru { delete this.runtimeVariables[key]; } + deleteAllVars() { + for (let key in this.runtimeVariables) { + if (this.runtimeVariables.hasOwnProperty(key)) { + delete this.runtimeVariables[key]; + } + } + } + getCollectionVar(key) { return this._interpolate(this.collectionVariables[key]); } diff --git a/packages/bruno-js/src/sandbox/quickjs/shims/bru.js b/packages/bruno-js/src/sandbox/quickjs/shims/bru.js index f045b134b..0e489265c 100644 --- a/packages/bruno-js/src/sandbox/quickjs/shims/bru.js +++ b/packages/bruno-js/src/sandbox/quickjs/shims/bru.js @@ -21,6 +21,12 @@ const addBruShimToContext = (vm, bru) => { vm.setProp(bruObject, 'getProcessEnv', getProcessEnv); getProcessEnv.dispose(); + let hasEnvVar = vm.newFunction('hasEnvVar', function (key) { + return marshallToVm(bru.hasEnvVar(vm.dump(key)), vm); + }); + vm.setProp(bruObject, 'hasEnvVar', hasEnvVar); + hasEnvVar.dispose(); + let getEnvVar = vm.newFunction('getEnvVar', function (key) { return marshallToVm(bru.getEnvVar(vm.dump(key)), vm); }); @@ -33,6 +39,12 @@ const addBruShimToContext = (vm, bru) => { vm.setProp(bruObject, 'setEnvVar', setEnvVar); setEnvVar.dispose(); + let hasVar = vm.newFunction('hasVar', function (key) { + return marshallToVm(bru.hasVar(vm.dump(key)), vm); + }); + vm.setProp(bruObject, 'hasVar', hasVar); + hasVar.dispose(); + let getVar = vm.newFunction('getVar', function (key) { return marshallToVm(bru.getVar(vm.dump(key)), vm); }); @@ -45,6 +57,18 @@ const addBruShimToContext = (vm, bru) => { vm.setProp(bruObject, 'setVar', setVar); setVar.dispose(); + let deleteVar = vm.newFunction('deleteVar', function (key) { + bru.deleteVar(vm.dump(key)); + }); + vm.setProp(bruObject, 'deleteVar', deleteVar); + deleteVar.dispose(); + + let deleteAllVars = vm.newFunction('deleteAllVars', function () { + bru.deleteAllVars(); + }); + vm.setProp(bruObject, 'deleteAllVars', deleteAllVars); + deleteAllVars.dispose(); + let setNextRequest = vm.newFunction('setNextRequest', function (nextRequest) { bru.setNextRequest(vm.dump(nextRequest)); });