From ec15a77da0dfb8a0908ea2855cd53247e2de9e95 Mon Sep 17 00:00:00 2001 From: Eduardo San Martin Morote Date: Mon, 28 Sep 2020 18:37:09 +0200 Subject: [PATCH] test(dts): fix --- src/index.ts | 13 ++----------- src/types.ts | 21 --------------------- test-dts/deprecated.test-d.ts | 23 +++++++++++++++++++++++ test-dts/store.test-d.ts | 2 +- 4 files changed, 26 insertions(+), 33 deletions(-) create mode 100644 test-dts/deprecated.test-d.ts diff --git a/src/index.ts b/src/index.ts index 55b54669..e14d3744 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,17 +1,8 @@ -import { defineStore } from './store' export { setActiveReq, setStateProvider, getRootState, createPinia, } from './rootStore' - -function createStore(options: Parameters[0]) { - console.warn( - '[🍍]: "createStore" has been deprecated and will be removed on the sable release, use "defineStore" instead.' - ) - return defineStore(options) -} - -export { StateTree, StoreGetter, Store } from './types' -export { createStore, defineStore } +export { defineStore } from './store' +export { createStore } from './deprecated' diff --git a/src/types.ts b/src/types.ts index 93c7a9c8..2ffa164f 100644 --- a/src/types.ts +++ b/src/types.ts @@ -111,24 +111,3 @@ export type GenericStore = Store< Record, Record > - -export interface DevtoolHook { - on( - event: string, - callback: (targetState: Record) => void - ): void - // eslint-disable-next-line @typescript-eslint/no-explicit-any - emit(event: string, ...payload: any[]): void -} - -// add the __VUE_DEVTOOLS_GLOBAL_HOOK__ variable to the global namespace -declare global { - interface Window { - __VUE_DEVTOOLS_GLOBAL_HOOK__?: DevtoolHook - } - namespace NodeJS { - interface Global { - __VUE_DEVTOOLS_GLOBAL_HOOK__?: DevtoolHook - } - } -} diff --git a/test-dts/deprecated.test-d.ts b/test-dts/deprecated.test-d.ts new file mode 100644 index 00000000..d9ee9d15 --- /dev/null +++ b/test-dts/deprecated.test-d.ts @@ -0,0 +1,23 @@ +import { createStore, expectType } from './' + +const useDeprecated = createStore({ + id: 'name', + state: () => ({ a: 'on' as 'on' | 'off', nested: { counter: 0 } }), + getters: { + upper() { + return this.a.toUpperCase() + }, + }, +}) + +const deprecatedStore = useDeprecated() + +expectType<{ a: 'on' | 'off' }>(deprecatedStore.state) +expectType(deprecatedStore.nested.counter) +expectType<'on' | 'off'>(deprecatedStore.a) + +// @ts-expect-error +deprecatedStore.nonExistant + +// @ts-expect-error +deprecatedStore.nonExistant.stuff diff --git a/test-dts/store.test-d.ts b/test-dts/store.test-d.ts index 57d1ba5a..1858f57f 100644 --- a/test-dts/store.test-d.ts +++ b/test-dts/store.test-d.ts @@ -10,7 +10,7 @@ const useStore = defineStore({ }, }) -const store = useStore() +let store = useStore() // FIXME: this should not be there anymore expectType<{ a: 'on' | 'off' }>(store.state) -- 2.47.2