From d93ce20d5028dab430be2914c380a7877154a22d Mon Sep 17 00:00:00 2001 From: Eduardo San Martin Morote Date: Thu, 29 Apr 2021 14:52:10 +0200 Subject: [PATCH] refactor: force type when using `this` in getters --- test-dts/deprecated.test-d.ts | 4 +--- test-dts/mapHelpers.test-d.ts | 4 +--- test-dts/store.test-d.ts | 1 + 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/test-dts/deprecated.test-d.ts b/test-dts/deprecated.test-d.ts index c2676e46..43e40b7b 100644 --- a/test-dts/deprecated.test-d.ts +++ b/test-dts/deprecated.test-d.ts @@ -4,9 +4,7 @@ const useDeprecated = createStore({ id: 'name', state: () => ({ a: 'on' as 'on' | 'off', nested: { counter: 0 } }), getters: { - upper(): string { - return this.a.toUpperCase() - }, + upper: (state) => state.a.toUpperCase(), }, }) diff --git a/test-dts/mapHelpers.test-d.ts b/test-dts/mapHelpers.test-d.ts index 374bb4a0..72dbd803 100644 --- a/test-dts/mapHelpers.test-d.ts +++ b/test-dts/mapHelpers.test-d.ts @@ -11,9 +11,7 @@ const useStore = defineStore({ id: 'name', state: () => ({ a: 'on' as 'on' | 'off', nested: { counter: 0 } }), getters: { - upper(): string { - return this.a.toUpperCase() - }, + upper: (state) => state.a.toUpperCase(), }, actions: { toggleA() { diff --git a/test-dts/store.test-d.ts b/test-dts/store.test-d.ts index 8db5bb85..e3174984 100644 --- a/test-dts/store.test-d.ts +++ b/test-dts/store.test-d.ts @@ -38,6 +38,7 @@ let store = useStore() expectType<{ a: 'on' | 'off' }>(store.$state) expectType(store.nested.counter) expectType<'on' | 'off'>(store.a) +expectType<'ON' | 'OFF'>(store.upper) // @ts-expect-error store.nonExistant -- 2.47.2