diff --git a/source/index.ts b/source/index.ts index 894318e..eadf32a 100644 --- a/source/index.ts +++ b/source/index.ts @@ -326,7 +326,7 @@ const is = Object.assign( }, ); -function isAbsoluteModule2(remainder: 0 | 1) { +function createModuloChecker(remainder: 0 | 1) { return (value: unknown): value is number => isInteger(value) && Math.abs(value % 2) === remainder; } @@ -466,7 +466,7 @@ export function isError(value: unknown): value is Error { } export function isEvenInteger(value: unknown): value is number { - return isAbsoluteModule2(0)(value); + return createModuloChecker(0)(value); } // Example: `is.falsy = (value: unknown): value is (not true | 0 | '' | undefined | null) => Boolean(value);` @@ -647,7 +647,7 @@ export function isObservable(value: unknown): value is ObservableLike { } export function isOddInteger(value: unknown): value is number { - return isAbsoluteModule2(1)(value); + return createModuloChecker(1)(value); } export function isPlainObject(value: unknown): value is Record { diff --git a/source/types.ts b/source/types.ts index b79a603..c033fbf 100644 --- a/source/types.ts +++ b/source/types.ts @@ -74,4 +74,4 @@ export type Predicate = (value: unknown) => boolean; export type NonEmptyString = string & {0: string}; -export type Whitespace = ' '; +export type Whitespace = string & {_whitespace: true}; // String containing only whitespace characters diff --git a/tsconfig.json b/tsconfig.json index 0aace6f..d9a0389 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,5 +2,5 @@ "extends": "@sindresorhus/tsconfig", "include": [ "source" - ], + ] }