История изменений
Исправление Deleted, (текущая версия) :
Лет ми гугл фор ю
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/screeps/index.d.ts#L1378
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/screeps/index.d.ts#L2930
На JS moveTo() принимает коодинаты или любой объект, у которого они есть.
Через перегрузку функций и интерфейсы, очевидно
А getObjectById() может вернуть вообще любой объект по его строковому идентификатору. Как теперь это переложить на типы?
Никак. Возвращаешь тип, который указываешь как generic
const creep = getObjectById<MyFuckenCreep>("my_fucken_creep");
В vuex похожая беда, только хуже. Там в модулях стринги изо всех щелей торчат. Это даже по меркам js неадекватно
https://vuex.vuejs.org/guide/modules.html
Впрочем, если есть список фиксированных айдишников, всегда возвращающих оинаковые типы, можно эти соответствия через перегрузку функций изобразить. Как, например, сделано в Document.createElement
Исправление Deleted, :
Лет ми гугл фор ю
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/screeps/index.d.ts#L1378
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/screeps/index.d.ts#L2930
На JS moveTo() принимает коодинаты или любой объект, у которого они есть.
Через перегрузку функций и интерфейсы, очевидно
А getObjectById() может вернуть вообще любой объект по его строковому идентификатору. Как теперь это переложить на типы?
Никак. Возвращаешь тип, который указываешь как generic
const creep = getObjectById<MyFuckenCreep>("my_fucken_creep");
В vuex похожая беда, только хуже. Там в модулях стринги изо всех щелей торчат. Это даже по меркам js неадекватно
Исправление Deleted, :
Лет ми гугл фор ю
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/screeps/index.d.ts#L1378
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/screeps/index.d.ts#L2930
На JS moveTo() принимает коодинаты или любой объект, у которого они есть.
Через перегрузку функций и интерфейсы, очевидно
А getObjectById() может вернуть вообще любой объект по его строковому идентификатору. Как теперь это переложить на типы?
Никак. Возвращаешь тип, который указываешь как generic
const creep = getObjectById<MyFuckenCreep>();
В vuex похожая беда, только хуже. Там в модулях стринги изо всех щелей торчат. Это даже по меркам js неадекватно
Исправление Deleted, :
Лет ми гугл фор ю
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/screeps/index.d.ts#L1378
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/screeps/index.d.ts#L2930
На JS moveTo() принимает коодинаты или любой объект, у которого они есть.
Через перегрузку функций и интерфейсы, очевидно
А getObjectById() может вернуть вообще любой объект по его строковому идентификатору. Как теперь это переложить на типы?
Никак. Возвращаешь тип, который указал как generic
const creep = getObjectById<MyFuckenCreep>();
В vuex похожая беда, только хуже. Там в модулях стринги изо всех щелей торчат. Это даже по меркам js неадекватно
Исправление Deleted, :
Лет ми гугл фор ю
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/screeps/index.d.ts#L1378
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/screeps/index.d.ts#L2930
На JS moveTo() принимает коодинаты или любой объект, у которого они есть.
Через перегрузку функций и интерфейсы, очевидно
А getObjectById() может вернуть вообще любой объект по его строковому идентификатору. Как теперь это переложить на типы?
Никак. Возвращаешь тип, который указал как generic
const creep = getObjectById<MyFuckenCreep>();
В vuex похожая беда, только хуже. Там сделали доступ к модулям по их строковому имени. Это даже по меркам js неадекватно
Исправление Deleted, :
Лет ми гугл фор ю
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/screeps/index.d.ts#L1378
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/screeps/index.d.ts#L2930
На JS moveTo() принимает коодинаты или любой объект, у которого они есть.
Через перегрузку функций и интерфейсы, очевидно
А getObjectById() может вернуть вообще любой объект по его строковому идентификатору. Как теперь это переложить на типы?
Никак. Возвращаешь тип, который указал как generic
const creep = getObjectById<MyFuckenCreep>();
Исходная версия Deleted, :
Лет ми гугл фор ю
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/screeps/index.d.ts#L1378
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/screeps/index.d.ts#L2930
На JS moveTo() принимает коодинаты или любой объект, у которого они есть. А getObjectById() может вернуть вообще любой объект по его строковому идентификатору. Как теперь это переложить на типы?
Через перегрузку функций и интерфейсы, очевидно