UnixTerminal.open = function()

in node_modules_native/node_modules_forked/node-pty/lib/unixTerminal.js [126:164]


    UnixTerminal.open = function (opt) {
        var self = Object.create(UnixTerminal.prototype);
        opt = opt || {};
        if (arguments.length > 1) {
            opt = {
                cols: arguments[1],
                rows: arguments[2]
            };
        }
        var cols = opt.cols || terminal_1.DEFAULT_COLS;
        var rows = opt.rows || terminal_1.DEFAULT_ROWS;
        var encoding = opt.encoding ? 'utf8' : opt.encoding;
        // open
        var term = pty.open(cols, rows);
        self._master = new PipeSocket(term.master);
        self._master.setEncoding(encoding);
        self._master.resume();
        self._slave = new PipeSocket(term.slave);
        self._slave.setEncoding(encoding);
        self._slave.resume();
        self._socket = self._master;
        self._pid = null;
        self._fd = term.master;
        self._pty = term.pty;
        self._file = process.argv[0] || 'node';
        self._name = process.env.TERM || '';
        self._readable = true;
        self._writable = true;
        self._socket.on('error', function (err) {
            self._close();
            if (self.listeners('error').length < 2) {
                throw err;
            }
        });
        self._socket.on('close', function () {
            self._close();
        });
        return self;
    };