diff --git a/extension/background.js b/extension/background.js index 37d2022..319451f 100644 --- a/extension/background.js +++ b/extension/background.js @@ -324,19 +324,17 @@ function createWritableDirectory() { (function() { - // proposed refactor const evals = createWritableDirectory(); Routes["/tabs/by-id/#TAB_ID/evals"] = evals.routeForRoot; - Routes["/tabs/by-id/#TAB_ID/evals/:FILENAME"] = evals.routeForFilename; - - // evals[tabId][name].result = JSON.stringify((await browser.tabs.executeScript(tabId, {code: buf}))[0]) + '\n'; - - // old stuffs - // const evals = {}; - // Routes["/tabs/by-id/#TAB_ID/evals"] = { - // }; - // Routes["/tabs/by-id/#TAB_ID/evals/:FILENAME"] = { - // }; + Routes["/tabs/by-id/#TAB_ID/evals/:FILENAME"] = { + ...evals.routeForFilename, + async write(req) { + const ret = await evals.routeForFilename.write(req); + const code = evals.directory[req.path]; + evals.directory[req.path + '.result'] = JSON.stringify((await browser.tabs.executeScript(req.tabId, {code}))[0]) + '\n'; + return ret; + } + }; })(); (function() { const watches = {}; diff --git a/test/test.js b/test/test.js index 228df67..a1d2dad 100644 --- a/test/test.js +++ b/test/test.js @@ -15,7 +15,7 @@ const {Routes, tryMatchRoute} = require('../extension/background'); { entries: ['.', '..', 'windows', 'extensions', 'tabs', 'runtime'] }); assert.deepEqual(await Routes['/tabs'].readdir(), { entries: ['.', '..', 'create', - 'by-id', 'by-title', 'last-focused'] }); + 'by-title', 'last-focused', 'by-id'] }); assert.deepEqual(tryMatchRoute('/'), [Routes['/'], {}]);