How to combine multiple interfaces in typescript?

I have several interfaces:

interface TabViewData {
    constTypeList: Object,
    materialList: Object,
    ownerList: Object | null,
    creativeList: Object | null,
    dataList: {}[]
}

export interface CitiesTabViewData extends TabViewData {
    cityList: : Object,
    dataByCity: Object
}

export interface MacroRegionsTabViewData extends TabViewData {
    macroRegionList:: Object
    dataByMacroRegion: Object,
}

export interface TotalTabViewData extends TabViewData {
    dataTotal: Object,
}

How to create an interface that would combine them all (given that they may have the same properties)? I tried:

interface State extends Partial<CitiesTabViewData, MacroRegionsTabViewData> 
{
showModal: boolean
}

but Partial takes only one argument(((

Upvotes: 2

Views: 1761

Answers (1)

ArslanIqbal
ArslanIqbal

Reputation: 629

try this

interface State extends Partial<CitiesTabViewData>, Partial<MacroRegionsTabViewData> 
{
    showModal: boolean
}

Upvotes: 2

Related Questions