P E N C I L
Login
Lang

https://www.typescriptlang.org/play/#src=export%20class%20Survey%20%7B%0D%0A%20%20%20%20isCompleted%3A%20boolean%3B%0D%0A%20%20%20%20response%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%5Bkey%3A%20string%5D%3A%20string%5B%5D%2C%0D%0A%20%20%20%20%20%20%20%20devices%3A%20string%5B%5D%2C%0D%0A%20%20%20%20%20%20%20%20languages%3A%20string%5B%5D%2C%0D%0A%20%20%20%20%20%20%20%20frameworks%3A%20string%5B%5D%2C%0D%0A%20%20%20%20%20%20%20%20backend%3A%20string%5B%5D%2C%0D%0A%20%20%20%20%7D%3B%0D%0A%7D%0D%0A%0D%0Adeclare%20var%20user%3A%20Survey%0D%0A%0D%0AObject.keys(user.response).map(key%20%3D%3E%20%7B%0D%0A%20%20%20%20return%20(user.response%5Bkey%5D)%20%2F%2F%20no%20error!%0D%0A%7D)%0D%0A

Define a function type

type Callback = () => void

Object with key in enum:

businessIdentifiers?: {[key in BusinessIdentifierType]: string}

Object literal

interface MyClass {

[key in Type]: string

}

or just const v: { [key in Type]: string}

but it's not Map<> object

ex:

type I18nMap = { [key in I18nKey]: string };

const I18n: {[key: string]: I18nMap} = {

coa: {

[I18nKey.ROUTING_NUMBER]: "BSB Number"

} as I18nMap,

odx: {

[I18nKey.ROUTING_NUMBER]: "Routing Number"

} as I18nMap,

}

I18n:

export const I18nBusinessIdName = {
    [BusinessIdentifierType.CAN_TAX_ID]: "Tax Id",
    [BusinessIdentifierType.CAN_GST_NUMBER]: "Gst",
}