jspm_packages/npm/babel-core@5.8.38/lib/generation/generators/types.js
function Property(node, print) {
  print.list(node.decorators, { separator: "" });

  if (node.method || node.kind === "get" || node.kind === "set") {
    this._method(node, print);
  } else {
    if (node.computed) {
      this.push("[");
      print.plain(node.key);
      this.push("]");
    } else {
      // print `({ foo: foo = 5 } = {})` as `({ foo = 5 } = {});`
      if (t.isAssignmentPattern(node.value) && t.isIdentifier(node.key) && node.key.name === node.value.left.name) {
        print.plain(node.value);
        return;
      }

      print.plain(node.key);

      // shorthand!
      if (node.shorthand && t.isIdentifier(node.key) && t.isIdentifier(node.value) && node.key.name === node.value.name) {
        return;
      }
    }

    this.push(":");
    this.space();
    print.plain(node.value);
  }
}
function Property(node, print) {
  print.list(node.decorators, { separator: "" });

  if (node.method || node.kind === "get" || node.kind === "set") {
    this._method(node, print);
  } else {
    if (node.computed) {
      this.push("[");
      print.plain(node.key);
      this.push("]");
    } else {
      // print `({ foo: foo = 5 } = {})` as `({ foo = 5 } = {});`
      if (t.isAssignmentPattern(node.value) && t.isIdentifier(node.key) && node.key.name === node.value.left.name) {
        print.plain(node.value);
        return;
      }

      print.plain(node.key);

      // shorthand!
      if (node.shorthand && t.isIdentifier(node.key) && t.isIdentifier(node.value) && node.key.name === node.value.name) {
        return;
      }
    }

    this.push(":");
    this.space();
    print.plain(node.value);
  }
}
function Property ( node , print ) { print . list ( node . decorators , { separator : "" } ) ; if ( node . method || node . kind === "get" || node . kind === "set" ) { this . _method ( node , print ) ; } else { if ( node . computed ) { this . push ( "[" ) ; print . plain ( node . key ) ; this . push ( "]" ) ; } else { // print `({ foo: foo = 5 } = {})` as `({ foo = 5 } = {});` if ( t . isAssignmentPattern ( node . value ) && t . isIdentifier ( node . key ) && node . key . name === node . value . left . name ) { print . plain ( node . value ) ; return ; } print . plain ( node . key ) ; // shorthand! if ( node . shorthand && t . isIdentifier ( node . key ) && t . isIdentifier ( node . value ) && node . key . name === node . value . name ) { return ; } } this . push ( ":" ) ; this . space ( ) ; print . plain ( node . value ) ; } }
Prints Property, prints decorators, key, and value, handles kind, computed, and shorthand.
Prints Property prints decorators key and value handles kind computed and shorthand .