From e7f448d395a8cec59f1e8ed148394366cc6f785d Mon Sep 17 00:00:00 2001 From: PaulBGD Date: Mon, 5 Mar 2018 17:42:17 -0600 Subject: [PATCH 1/3] Add TypeScript definitions for store (fixes #1207) --- store.d.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 store.d.ts diff --git a/store.d.ts b/store.d.ts new file mode 100644 index 0000000000..db29eaaa2a --- /dev/null +++ b/store.d.ts @@ -0,0 +1,23 @@ +interface Options { + immutable: boolean; +} + +interface ObserveOptions { + defer: boolean; + init: boolean; +} + +interface Cancellable { + cancel: () => void; +} + +export declare class Store { + constructor(state: State, options?: Options); + + public compute(key: string, dependencies: string[]): void; + public get(): State; + public get(key: string): T; + public observe(key: string, callback: (value: T) => any, options?: ObserveOptions): Cancellable; + public onchange(callback: (state: State) => any): Cancellable; + public set(state: State); +} From 62c5f5f8cf59795ea53bd540c620706d01a0476e Mon Sep 17 00:00:00 2001 From: PaulBGD Date: Mon, 5 Mar 2018 17:46:17 -0600 Subject: [PATCH 2/3] Add to files --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 3524d42eb4..702e457388 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "shared.js", "store.js", "store.umd.js", + "store.d.ts", "README.md" ], "scripts": { From 59d67f085b4a10c59ef0e74f3bc3ad31088876d9 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sat, 27 Oct 2018 16:46:24 -0400 Subject: [PATCH 3/3] update store types --- store.d.ts | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/store.d.ts b/store.d.ts index db29eaaa2a..95d90c3848 100644 --- a/store.d.ts +++ b/store.d.ts @@ -2,22 +2,18 @@ interface Options { immutable: boolean; } -interface ObserveOptions { - defer: boolean; - init: boolean; -} - interface Cancellable { cancel: () => void; } -export declare class Store { +type State = Record; + +export declare class Store { constructor(state: State, options?: Options); public compute(key: string, dependencies: string[]): void; + public fire(name: string, data?: any): void; public get(): State; - public get(key: string): T; - public observe(key: string, callback: (value: T) => any, options?: ObserveOptions): Cancellable; - public onchange(callback: (state: State) => any): Cancellable; + public on(name: string, callback: (data: any) => void): Cancellable; public set(state: State); }