message: Respect .optional property of TSMappedType.
diff: @@ -1743,19 +1743,22 @@ function genericPrintNoParens(path, options, print) {
  ]);
  case "TSMappedType": {
  - var line = concat([
  + parts.push(
  n.readonly ? "readonly " : "",
  "[",
  path.call(print, "typeParameter"),
  - "]: " ,
  - path.call(print, "typeAnnotation"),
  - ";"
  - ]);
  + "]",
  + n.optional ? "?" : ""
  + );
  +
  + if (n.typeAnnotation) {
  + parts.push(": ", path.call(print, "typeAnnotation"), ";");
  + }
  return concat([
  "{\n",
  - line.indent(options.tabWidth),
  - "\n}"
  + concat(parts).indent(options.tabWidth),
  + "\n}",
  ]);
  }
  