From 009ff6e86be96fe5c8b9f8300e6359351a847637 Mon Sep 17 00:00:00 2001 From: Benjamin Makus Date: Tue, 8 Jan 2019 02:46:49 +0100 Subject: [PATCH 1/2] add typings for spected --- types/spected/index.d.ts | 26 ++++++++++++++++++++++++++ types/spected/spected-tests.ts | 0 types/spected/tsconfig.json | 22 ++++++++++++++++++++++ types/spected/tslint.json | 1 + 4 files changed, 49 insertions(+) create mode 100644 types/spected/index.d.ts create mode 100644 types/spected/spected-tests.ts create mode 100644 types/spected/tsconfig.json create mode 100644 types/spected/tslint.json diff --git a/types/spected/index.d.ts b/types/spected/index.d.ts new file mode 100644 index 0000000000..3c97ed98b4 --- /dev/null +++ b/types/spected/index.d.ts @@ -0,0 +1,26 @@ +// Type definitions for yup 0.26 +// Project: https://github.com/25th-floor/spected +// Definitions by: Benjamin Makus , +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 3.2 + +declare var spected: Spected; + +export type Spected = (spec: Spec, input: any) => Result + +export type Predicate = (value: any, inputs: any) => boolean + +export type ErrorMsg = + | string + | ((value: any, field: string) => string) + +export type Spec = {[key: string]: SpecValue } + +export type SpecValue = + | ReadonlyArray<[Predicate, ErrorMsg]> + | ((value: any) => any) + | Spec + +export type Result = {[key: string]: true | Array | Result} + +export default spected; \ No newline at end of file diff --git a/types/spected/spected-tests.ts b/types/spected/spected-tests.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/types/spected/tsconfig.json b/types/spected/tsconfig.json new file mode 100644 index 0000000000..637a75fb12 --- /dev/null +++ b/types/spected/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "spected-tests.ts" + ] +} diff --git a/types/spected/tslint.json b/types/spected/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/spected/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } From 7c8b923faac7b2df41ef407988d487a302849fcf Mon Sep 17 00:00:00 2001 From: Benjamin Makus Date: Tue, 8 Jan 2019 03:09:00 +0100 Subject: [PATCH 2/2] add typings for spected --- types/spected/index.d.ts | 26 +++++++++++++++----------- types/spected/spected-tests.ts | 0 types/spected/tsconfig.json | 4 ++-- 3 files changed, 17 insertions(+), 13 deletions(-) delete mode 100644 types/spected/spected-tests.ts diff --git a/types/spected/index.d.ts b/types/spected/index.d.ts index 3c97ed98b4..13b46ddd22 100644 --- a/types/spected/index.d.ts +++ b/types/spected/index.d.ts @@ -1,26 +1,30 @@ -// Type definitions for yup 0.26 +// Type definitions for spected 0.26 // Project: https://github.com/25th-floor/spected -// Definitions by: Benjamin Makus , +// Definitions by: Benjamin Makus // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 3.2 +// TypeScript Version: 2.1 declare var spected: Spected; -export type Spected = (spec: Spec, input: any) => Result +export type Spected = (spec: Spec, input: any) => Result; -export type Predicate = (value: any, inputs: any) => boolean +export type Predicate = (value: any, inputs: any) => boolean; export type ErrorMsg = | string - | ((value: any, field: string) => string) + | ((value: any, field: string) => string); -export type Spec = {[key: string]: SpecValue } +export interface Spec { + [key: string]: SpecValue; +} -export type SpecValue = +export type SpecValue = | ReadonlyArray<[Predicate, ErrorMsg]> | ((value: any) => any) - | Spec + | Spec; -export type Result = {[key: string]: true | Array | Result} +export interface Result { + [key: string]: true | string[] | Result; +} -export default spected; \ No newline at end of file +export default spected; diff --git a/types/spected/spected-tests.ts b/types/spected/spected-tests.ts deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/types/spected/tsconfig.json b/types/spected/tsconfig.json index 637a75fb12..ecc22c8314 100644 --- a/types/spected/tsconfig.json +++ b/types/spected/tsconfig.json @@ -7,6 +7,7 @@ "noImplicitAny": true, "noImplicitThis": true, "strictNullChecks": true, + "strictFunctionTypes": true, "baseUrl": "../", "typeRoots": [ "../" @@ -16,7 +17,6 @@ "forceConsistentCasingInFileNames": true }, "files": [ - "index.d.ts", - "spected-tests.ts" + "index.d.ts" ] }