From d4389f06f30381158fa48d9175196b93922016fc Mon Sep 17 00:00:00 2001 From: Jonah Scheinerman Date: Wed, 20 Jun 2018 18:37:44 -0400 Subject: [PATCH] Support typescript 2.9 (#31) --- package.json | 2 +- src/measure/types.ts | 7 ++----- yarn.lock | 6 +++--- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index f68c9ce..9b6c2b5 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,6 @@ "tslint-config-standard": "^7.0.0", "tslint-no-circular-imports": "^0.4.0", "tslint-plugin-prettier": "^1.3.0", - "typescript": "~2.8.3" + "typescript": "~2.9.1" } } diff --git a/src/measure/types.ts b/src/measure/types.ts index f782c85..3937554 100644 --- a/src/measure/types.ts +++ b/src/measure/types.ts @@ -37,7 +37,7 @@ export type NthRootableUnit = Partial<{ /** Handle errors in the result of an arithmetic operation. */ export type HandleErrors = true extends ResultHasError ? ArithmeticError - : Clean>>; + : StripZeroes>; export type ResultHasError = { [Dim in keyof Result]: IsArithmeticError }[keyof Result]; @@ -49,14 +49,11 @@ export type ArithmeticResult = { [dimension: string]: Exponent | ArithmeticError // Utility types -/** Ensures that a type will be displayed nicely in editors / compiler output */ -export type Clean = { [K in keyof T]: T[K] }; - /** Removes all zero exponent dimensions from a dimension vector */ export type StripZeroes = Pick>; export type NonZeroKeys = { [Dim in keyof U]: U[Dim] extends 0 ? never : Dim }[keyof U]; -export type GetExponent = K extends keyof Unit +export type GetExponent = K extends keyof Unit ? (undefined extends U[K] ? 0 : NonNullable) : 0; diff --git a/yarn.lock b/yarn.lock index 9aae287..93a0af1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3369,9 +3369,9 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -typescript@~2.8.3: - version "2.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.8.3.tgz#5d817f9b6f31bb871835f4edf0089f21abe6c170" +typescript@~2.9.1: + version "2.9.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c" uglify-js@^2.6: version "2.8.29"