From 75f816a38407b48daa6c86a581fb59b6e7bb2e2d Mon Sep 17 00:00:00 2001 From: Jonas Kello Date: Tue, 4 Sep 2018 09:22:10 +0200 Subject: [PATCH 1/2] Add typings file --- index.d.ts | 30 ++++++++++++++++++++++++++++++ package.json | 3 ++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 index.d.ts diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..0e224cb --- /dev/null +++ b/index.d.ts @@ -0,0 +1,30 @@ +export type Change = [S, Effect?]; + +export interface Effect { + (dispatch: Dispatch): void; +} + +export interface Update { + (message: M, state: S): Change; +} + +export interface View { + (state: S, dispatch: Dispatch): V; +} + +export interface Dispatch { + (message: M): void; +} + +export interface Done { + (state: S): void; +} + +export interface Program { + readonly init?: Change; + readonly update: Update; + readonly view: View; + readonly done?: Done; +} + +export function runtime(program: Program): void; diff --git a/package.json b/package.json index f4e5fcf..ad2f3e7 100644 --- a/package.json +++ b/package.json @@ -29,5 +29,6 @@ "scripts": { "lint": "fixpack && prettier index.js test/**/*.js --write && standard --fix", "test": "npm run lint && ava" - } + }, + "types": "index.d.ts" } From 588a37c53884d317615d0bb54ef796fe862d2a2b Mon Sep 17 00:00:00 2001 From: Jonas kello Date: Tue, 4 Sep 2018 21:51:58 +0200 Subject: [PATCH 2/2] Make init required --- index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.d.ts b/index.d.ts index 0e224cb..7290789 100644 --- a/index.d.ts +++ b/index.d.ts @@ -21,7 +21,7 @@ export interface Done { } export interface Program { - readonly init?: Change; + readonly init: Change; readonly update: Update; readonly view: View; readonly done?: Done;