type ToDo = {title: 'ToDo', cardList: []}
type Testing = {title: 'Testing', cardList: []}
interface StateType {
user: string,
columns: (ToDo | Testing)[]
}
const state: StateType = {
user: 'User',
columns: [
{title: 'ToDo', cardList: []},
{title: 'Testing', cardList: []},
],
}
enum kinds {
ToDo = 'ToDo',
Testing = 'Testing',
}
type Column = {title: kinds, cardList: []}
interface StateType {
user: string,
columns: Column[]
}
const state: StateType = {
user: 'User',
columns: [
{title: kinds.ToDo, cardList: []},
{title: kinds.Testing, cardList: []},
],
}
const names = ["иван", "антон"] as const
const fn = (name: typeof names[0]) => name
как сделать, чтобы PHPStorm подхватывал файлы d.ts на автомате?
где хранить эти d.ts файлы?
как сделать, чтобы PHPStorm понимал, из какого файла применять описание типов для текущего файла
import type { ... } from ...
'ApiError' refers to a value, but is being used as a type here. Did you mean 'typeof ApiError'?
class ApiError extends Error {}
const apiErrorInstance = new ApiError
const someFn1 = (err: ApiError) => {}
// @ts-expect-error
const someFn2 = (err: apiErrorInstance) => {}
type Creature = {
type: "people";
subtype: "adult";
params: IPeopleAdultParams;
} | {
type: "animal";
subtype: "cat";
params: IAnimalCatParams;
}
type allTypes = Creature['type']
const arr = ['name', 'age', 'surname'] as const;
type arrKeys = typeof arr[number]
const obj: {[k in arrKeys]?: any} = {}
const prepareFn = (key: arrKeys) => { obj[key] };
prepareFn('name')
// @ts-expect-error
prepareFn('name2')
obj.name
// @ts-expect-error
obj.name2
Типы? Есть JSDOC.