]> git.ipfire.org Git - thirdparty/vuejs/pinia.git/commitdiff
refactor: force type when using `this` in getters
authorEduardo San Martin Morote <posva13@gmail.com>
Thu, 29 Apr 2021 12:52:10 +0000 (14:52 +0200)
committerEduardo San Martin Morote <posva@users.noreply.github.com>
Sun, 2 May 2021 15:45:55 +0000 (17:45 +0200)
test-dts/deprecated.test-d.ts
test-dts/mapHelpers.test-d.ts
test-dts/store.test-d.ts

index c2676e462f617891829173a7563c2e1c9b68b9e7..43e40b7b975a342e15bd5377298044c68b21d8d3 100644 (file)
@@ -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(),
   },
 })
 
index 374bb4a0e1f26e3f1d0b1492e55f6e2d8ca906ce..72dbd8039798c4c5fd9661722668bd740a518743 100644 (file)
@@ -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() {
index 8db5bb85e9bfc8255bb23726e0cddc4327da4efa..e31749846cefb6bcd011d509ce45fda634e6c4fd 100644 (file)
@@ -38,6 +38,7 @@ let store = useStore()
 expectType<{ a: 'on' | 'off' }>(store.$state)
 expectType<number>(store.nested.counter)
 expectType<'on' | 'off'>(store.a)
+expectType<'ON' | 'OFF'>(store.upper)
 
 // @ts-expect-error
 store.nonExistant