// Generated by IcedCoffeeScript 1.7.1-c (function() { var ArgumentParser, Base, Command, E, add_option_dict, iced, log, make_esc, prompt_yn, reset, session, __iced_k, __iced_k_noop, __hasProp = {}.hasOwnProperty, __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; iced = require('iced-runtime').iced; __iced_k = __iced_k_noop = function() {}; Base = require('./base').Base; log = require('../log'); ArgumentParser = require('argparse').ArgumentParser; add_option_dict = require('./argparse').add_option_dict; session = require('../session'); make_esc = require('iced-error').make_esc; prompt_yn = require('../prompter').prompt_yn; log = require('../log'); E = require('../err').E; reset = require('../setup').reset; exports.Command = Command = (function(_super) { __extends(Command, _super); function Command() { return Command.__super__.constructor.apply(this, arguments); } Command.prototype.OPTS = { f: { alias: 'force', action: 'storeTrue', help: "don't prompt for approval; force it" } }; Command.prototype.use_session = function() { return true; }; Command.prototype.add_subcommand_parser = function(scp) { var name, opts, sub; opts = { aliases: [], help: "switch to a different user, and nuke the current state" }; name = "switch"; sub = scp.addParser(name, opts); sub.addArgument(["username"], { nargs: 1 }); add_option_dict(sub, this.OPTS); return opts.aliases.concat([name]); }; Command.prototype.prompt_yn = function(cb) { var args, err, ret, ___iced_passed_deferral, __iced_deferrals, __iced_k; __iced_k = __iced_k_noop; ___iced_passed_deferral = iced.findDeferral(arguments); err = null; (function(_this) { return (function(__iced_k) { if (!_this.argv.force) { args = { prompt: "DANGER! Log yourself out, deregister this client, and remove local cache?", defval: false }; (function(__iced_k) { __iced_deferrals = new iced.Deferrals(__iced_k, { parent: ___iced_passed_deferral, filename: "/Users/max/src/keybase/node-client/src/command/switch.iced", funcname: "Command.prompt_yn" }); prompt_yn(args, __iced_deferrals.defer({ assign_fn: (function() { return function() { err = arguments[0]; return ret = arguments[1]; }; })(), lineno: 47 })); __iced_deferrals._fulfill(); })(function() { return __iced_k(!ret ? err = new E.CancelError("no go-ahead given") : void 0); }); } else { return __iced_k(); } }); })(this)((function(_this) { return function() { return cb(err); }; })(this)); }; Command.prototype.run = function(cb) { var esc, ___iced_passed_deferral, __iced_deferrals, __iced_k; __iced_k = __iced_k_noop; ___iced_passed_deferral = iced.findDeferral(arguments); esc = make_esc(cb, "run"); (function(_this) { return (function(__iced_k) { __iced_deferrals = new iced.Deferrals(__iced_k, { parent: ___iced_passed_deferral, filename: "/Users/max/src/keybase/node-client/src/command/switch.iced", funcname: "Command.run" }); _this.prompt_yn(esc(__iced_deferrals.defer({ lineno: 55 }))); __iced_deferrals._fulfill(); }); })(this)((function(_this) { return function() { (function(__iced_k) { __iced_deferrals = new iced.Deferrals(__iced_k, { parent: ___iced_passed_deferral, filename: "/Users/max/src/keybase/node-client/src/command/switch.iced", funcname: "Command.run" }); reset({ new_username: _this.argv.username[0] }, esc(__iced_deferrals.defer({ lineno: 56 }))); __iced_deferrals._fulfill(); })(function() { log.info("success!"); return cb(null); }); }; })(this)); }; return Command; })(Base); }).call(this);