diff options
author | Samy Pessé <samypesse@gmail.com> | 2014-04-04 14:10:56 -0700 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2014-04-04 14:10:56 -0700 |
commit | 446d486a0fb725f3df76d9b6e8d2bca02042805b (patch) | |
tree | cfd5405f607fcca196ef5bad6b0b88662c30ccb9 /assets/javascript/utils/execute.js | |
parent | 07101deaefb8848d40231eea12a3bf0710e6a78e (diff) | |
download | gitbook-446d486a0fb725f3df76d9b6e8d2bca02042805b.zip gitbook-446d486a0fb725f3df76d9b6e8d2bca02042805b.tar.gz gitbook-446d486a0fb725f3df76d9b6e8d2bca02042805b.tar.bz2 |
Add base for theming
Diffstat (limited to 'assets/javascript/utils/execute.js')
-rw-r--r-- | assets/javascript/utils/execute.js | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/assets/javascript/utils/execute.js b/assets/javascript/utils/execute.js deleted file mode 100644 index 61354b8..0000000 --- a/assets/javascript/utils/execute.js +++ /dev/null @@ -1,82 +0,0 @@ -define(function(){ - var evalJS = function(code, callback) { - var ready = false; - var finished = false; - - var finish = function() { - if(finished) { - return console.error('Already finished'); - } - finished = true; - return callback.apply(null, arguments); - }; - - var jsrepl; - - // Handles all our events - var eventHandler = function(data, eventType) { - console.log([eventType, data]); - switch(eventType) { - case 'progress': - // Update UI loading bar - break; - case 'timeout': - finish(new Error(data)); - break; - case 'result': - finish(null, { - value: data, - type: 'result' - }); - break; - case 'error': - if(ready) { - return finish(null, { - value: data, - type: 'error' - }); - } - return finish(new Error(data)); - break - case 'ready': - // We're good to get results and stuff back now - ready = true; - // Eval our code now that the runtime is ready - jsrepl.eval(code); - break; - default: - console.log('Unhandled event =', eventType, 'data =', data); - } - }; - - jsrepl = new JSREPL({ - input: eventHandler, - output: eventHandler, - result: eventHandler, - error: eventHandler, - progress: eventHandler, - timeout: { - time: 30000, - callback: eventHandler - } - }); - - jsrepl.loadLanguage('javascript', eventHandler); - }; - - - var ass = "function assert(condition, message) { \nif (!condition) { \n throw message || \"Assertion failed\"; \n } \n }\n"; - - var execute = function(solution, validation, callback) { - // Validate with validation code - var code = [solution, ass, validation].join(";\n"); - evalJS(code, function(err, res) { - if(err) return callback(err); - - if (res.type == "error") callback(new Error(res.value)); - else callback(null, res.value); - }); - }; - - return execute; -});
\ No newline at end of file |