From 15df9abf812e11cbebff5a92665d4d7ee3feb3d3 Mon Sep 17 00:00:00 2001 From: Danny Arnold Date: Sun, 23 Apr 2017 17:25:25 +0200 Subject: [PATCH] add TSTypeOperator (#1396) --- src/printer.js | 5 +++++ .../types/typeOperator/__snapshots__/jsfmt.spec.js.snap | 8 ++++++++ .../conformance/types/typeOperator/jsfmt.spec.js | 1 + .../conformance/types/typeOperator/typeOperator.ts | 1 + 4 files changed, 15 insertions(+) create mode 100644 tests/typescript/conformance/types/typeOperator/__snapshots__/jsfmt.spec.js.snap create mode 100644 tests/typescript/conformance/types/typeOperator/jsfmt.spec.js create mode 100644 tests/typescript/conformance/types/typeOperator/typeOperator.ts diff --git a/src/printer.js b/src/printer.js index d440df1d..71e96ec6 100644 --- a/src/printer.js +++ b/src/printer.js @@ -1974,6 +1974,11 @@ function genericPrintNoParens(path, options, print, args) { ") => ", path.call(print, "typeAnnotation"), ]) + case "TSTypeOperator": + return concat([ + "keyof ", + path.call(print, "typeAnnotation") + ]) // TODO case "ClassHeritage": // TODO diff --git a/tests/typescript/conformance/types/typeOperator/__snapshots__/jsfmt.spec.js.snap b/tests/typescript/conformance/types/typeOperator/__snapshots__/jsfmt.spec.js.snap new file mode 100644 index 00000000..c5004ade --- /dev/null +++ b/tests/typescript/conformance/types/typeOperator/__snapshots__/jsfmt.spec.js.snap @@ -0,0 +1,8 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`typeOperator.ts 1`] = ` +let a: (keyof T)[] = ["a", "b"]; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +let a: (keyof T)[] = ["a", "b"]; + +`; diff --git a/tests/typescript/conformance/types/typeOperator/jsfmt.spec.js b/tests/typescript/conformance/types/typeOperator/jsfmt.spec.js new file mode 100644 index 00000000..bc085c48 --- /dev/null +++ b/tests/typescript/conformance/types/typeOperator/jsfmt.spec.js @@ -0,0 +1 @@ +run_spec(__dirname, { parser: "typescript" }); diff --git a/tests/typescript/conformance/types/typeOperator/typeOperator.ts b/tests/typescript/conformance/types/typeOperator/typeOperator.ts new file mode 100644 index 00000000..36813dc2 --- /dev/null +++ b/tests/typescript/conformance/types/typeOperator/typeOperator.ts @@ -0,0 +1 @@ +let a: (keyof T)[] = ["a", "b"];