Я
createStore<AccountType>() то типы для createStore как раз так прописаны таким обрзом что дефолтное значение нужно передать и оно должно совпадать с типом моего стора. А для Gate.sate получается библиотека сама подсовывает дефолтное значение, да ещё и такое которое не попадает под мой тип. Выглядит будто это баг и решения может быть два.
1. Либо createGate требует дефолтное значение для этого стора, которое соответствует типу.
2. Либо для стора применяется тип
T | null и дефолтным значением является null соответственно.const G = createGate<User>()
G.state // => User | null
Я жду что TS мне не просто как jsdoc показывает какой я тип где-то прописал, а то что он показывает какого типа данные в это переменной могут реально быть. Если библиотека себе позволяет положить в этот стор данные которые не соответствуют типу указанному мною, то хотелось бы что бы она явно показывала это.


