diff --git a/src/js/app/bitwise/calc.js b/src/js/app/bitwise/calc.js index 7133ccd..b87267b 100644 --- a/src/js/app/bitwise/calc.js +++ b/src/js/app/bitwise/calc.js @@ -1,9 +1,8 @@ -app.compose(function() { +app.set('calc', function() { "use strict"; - var should = app.get('should') - - app.set('calc', { + var should = app.get('should'); + return { numberOfBits: function (num) { should.bePositiveInteger(num); @@ -24,5 +23,5 @@ app.compose(function() { calcExpression: function (expr) { return eval(expr.string); } - }); -}); + } +}); \ No newline at end of file diff --git a/src/js/app/bitwise/formatter.js b/src/js/app/bitwise/formatter.js index 00d1123..975433d 100644 --- a/src/js/app/bitwise/formatter.js +++ b/src/js/app/bitwise/formatter.js @@ -1,8 +1,9 @@ -app.compose(function() { +app.set("formatter", function() { "use strict"; var should = app.get('should'); - app.set("formatter", { + + return { toBinaryString: function(num, totalLength) { var binaryStr = num.toString(2), @@ -23,5 +24,5 @@ app.compose(function() { return formatted.join(''); } - }); -}) + } +}); \ No newline at end of file diff --git a/src/js/app/cmd/cmd.js b/src/js/app/cmd/cmd.js index 55ea549..fae49ce 100644 --- a/src/js/app/cmd/cmd.js +++ b/src/js/app/cmd/cmd.js @@ -1,94 +1,92 @@ -app.compose(function() { +app.set('cmd', function() { "use strict"; - app.set('cmd', function() { - var handlers = []; - var is = app.get('is'); - var cmdController = app.controller('cmdController'); + var handlers = []; + var is = app.get('is'); + var cmdController = app.controller('cmdController'); - return { - execute: function(rawInput) { - var input = rawInput.trim().toLowerCase(); - var handler = findHandler(input); + return { + execute: function(rawInput) { + var input = rawInput.trim().toLowerCase(); + var handler = findHandler(input); - if(handler != null) { - if(app.debugMode) { + if(handler != null) { + if(app.debugMode) { + invokeHandler(input, handler); + } else { + try { invokeHandler(input, handler); - } else { - try { - invokeHandler(input, handler); - } catch (e) { - displayCommandError(input, "Error: " + e); - } + } catch (e) { + displayCommandError(input, "Error: " + e); } } - else { - displayCommandError(input, "Unsupported expression: " + input.trim()); - } - }, - commands: function(catalog) { - for(var key in catalog) { - if(catalog.hasOwnProperty(key)) { - this.command(key, catalog[key]); - } - } - }, - command: function(cmd, handler) { - var h = createHandler(cmd, handler); - if(h == null){ - console.warn('unexpected set of arguments: ', Array.prototype.splice.call(arguments)); - return; - } - - if(!is.aFunction(h.canHandle)) { - console.warn('handler is missing "canHandle" function. registration denied.'); - return; - } - - if(!is.aFunction(h.handle)) { - console.warn('handler is missing "handle" function. registration denied.'); - return; - } - - handlers.push(h); - }, - clear: function() { - cmdController.clear(); } - }; + else { + displayCommandError(input, "Unsupported expression: " + input.trim()); + } + }, + commands: function(catalog) { + for(var key in catalog) { + if(catalog.hasOwnProperty(key)) { + this.command(key, catalog[key]); + } + } + }, + command: function(cmd, handler) { + var h = createHandler(cmd, handler); + if(h == null){ + console.warn('unexpected set of arguments: ', Array.prototype.splice.call(arguments)); + return; + } - function displayCommandError(input, message) { - var error = new app.models.ErrorResult(message); - cmdController.display(new app.models.DisplayResult(input, error)); + if(!is.aFunction(h.canHandle)) { + console.warn('handler is missing "canHandle" function. registration denied.'); + return; + } + + if(!is.aFunction(h.handle)) { + console.warn('handler is missing "handle" function. registration denied.'); + return; + } + + handlers.push(h); + }, + clear: function() { + cmdController.clear(); + } + }; + + function displayCommandError(input, message) { + var error = new app.models.ErrorResult(message); + cmdController.display(new app.models.DisplayResult(input, error)); + } + + function invokeHandler (input, handler) { + var cmdResult = handler.handle(input); + if(cmdResult != null) { + var r = new app.models.DisplayResult(input, cmdResult); + cmdController.display(r); + } + } + + function createHandler (cmd, handler) { + if(is.plainObject(cmd)) { + return cmd; } - function invokeHandler (input, handler) { - var cmdResult = handler.handle(input); - if(cmdResult != null) { - var r = new app.models.DisplayResult(input, cmdResult); - cmdController.display(r); - } + if(is.string(cmd)) { + return { canHandle: function (input) { return input === cmd; }, handle: handler }; } - function createHandler (cmd, handler) { - if(is.plainObject(cmd)) { - return cmd; - } + return null; + } - if(is.string(cmd)) { - return { canHandle: function (input) { return input === cmd; }, handle: handler }; - } - - return null; - } - - function findHandler (input) { - var i= 0; - for(i;i