From: Eduardo San Martin Morote Date: Thu, 29 Apr 2021 12:52:10 +0000 (+0200) Subject: refactor: force type when using `this` in getters X-Git-Tag: v2.0.0-alpha.14~14 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=d93ce20d5028dab430be2914c380a7877154a22d;p=thirdparty%2Fvuejs%2Fpinia.git refactor: force type when using `this` in getters --- 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