code: function (options) {
      this.isWindows = process.platform === 'win32';
  
      this.options = options || {};
      this.host = this.options.host || (this.isWindows ? '127.0.0.1' : null);
      var user = getUsername(this.options.username);
      this.username = user.username;
      this.domain = user.domain;
      this.password = this.options.password;
      this.namespace = this.options.namespace || '\\\\root\\cimv2';
      this.timeout = this.options.timeout || 90000;
      this.delimiter = '^@^';
      this.wmic = this.options.wmic || 'wmic';
      this.isNeedNTLM2 = this.options.ntlm2 || false;
  
      // Option mostly needed for when e.g. zeit/pkg is used to create standalone .exe,
      // since neither __dirname, nor relative paths will work as expected.
      // https://github.com/zeit/pkg/issues/342
      this.cwd = this.options.cwd || path.join(__dirname, '..');
  
      this.parserOptions = {
          delimiter: this.delimiter,
          trim: true,
          auto_parse: true
      };
  
      return this;
  }
docs: Constructor
  @param options
  @returns {wmic}