Skip to content

Weird line break with MemberExpression constructors #3061

@kentor

Description

@kentor

Prettier 1.7.4
Playground link

Input:

function completeMultipartUpload() {
  if (!this._completeMultipartUploadPromise) {
    this._completeMultipartUploadPromise = new this.Promise(
      (resolve, reject) => {
        this.fileTransfer.completeMultipartUpload((err, data) => {
          if (err) {
            this._completeMultipartUploadPromise = null;
            reject(err);
          } else {
            resolve(data);
          }
        });
      }
    );
  }
}

Output:

function completeMultipartUpload() {
  if (!this._completeMultipartUploadPromise) {
    this._completeMultipartUploadPromise = new this
      .Promise((resolve, reject) => {
      this.fileTransfer.completeMultipartUpload((err, data) => {
        if (err) {
          this._completeMultipartUploadPromise = null;
          reject(err);
        } else {
          resolve(data);
        }
      });
    });
  }
}

Expected behavior: No change I guess? The fixed version is really hard to read, the Promise executor function body is on the same indentation as the .Promise.

Metadata

Metadata

Assignees

No one assigned

    Labels

    lang:javascriptIssues affecting JSlocked-due-to-inactivityPlease open a new issue and fill out the template instead of commenting.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions