Решил начать плотное изучение typescript на примере реального проекта и столкнулся с проблемой и скорей всего не пониманием некоторых конструкций. В гугле не смог найти какого-то более менее решения, может плохо искал.
Столкнулся с проблемой того, что никак не могу типизировать параметры в экшене.
Есть у меня такой метод:
import type { ActionTree, MutationTree } from 'vuex';
import type { ICatalogParams } from '@/types';
export const actions: ActionTree<ICatalogState, ICatalogState> = {
async getCatalog ({ commit }, { params = {}, isMore = false } = {}) {
const { data, meta } = await this.$catalogApiService.getCatalog(params);
commit('setCatalog', {
data,
meta,
isMore
});
}
};
И я голову уже сломал, каким образом можно типизировать 2й параметр экшена. У меня есть интерфейс параметров каталога
ICatalogParams
, но как его подставить для свойства params, я не понимаю.