Я тестирую FlowJS для своего проекта, и у меня есть проблема с Type Aliases.FlowJS: типы наследования
Я создаю веб-SDK для API: У меня есть Helper
класс с этим методом:
class Helper {
find(filters:PaginationOptions = {}) {
// ...
}
}
PaginationOptions
является основным типом FlowJS:
type PaginationOptions = {
start?:string,
end?:number,
};
У меня также есть помощник для пользователей , наследуемые от Helper
:
class UsersHelper extends Helper {
find(filters:UsersFilterOptions = {}) {
// ...
}
}
тип FlowJS «расширение» PaginationOptions
:
type UsersFilterOptions = {
username?:string,
city?:string,
} & PaginationOptions;
Я использую здесь в Intersection так, чтобы мои пользователи фильтры должны также принимать start
и end
свойства.
кажется, что мой IDE (PhpStorm) не нравится мой find()
метод из моего класса UsersHelper
, он продолжает говорить мне, что:
Несовместимые переопределение, должен иметь тип 'PaginationOptions'
Хорошо ... Я знаю, вот почему UsersFilterOptions
имеет перекресток с PaginationOptions
.
Но FlowJS также показывает мне два другие предупреждения:
потока: свойство
username
. Объект не найден в объекте литерал
Поток: свойствоcity
. Свойство не найдено в объекте буквального
Я не понимаю, почему у меня есть эти ошибки: эти свойства определяются как необязательные ...
Есть ли у вас какие-либо предложения для исправления этих трех ошибок?
Заранее благодарен!
@ nat-mote Могу ли я узнать, почему метка 'flow-js' была удалена? Этот вопрос полностью связан с 'flow-js', для меня совершенно бессмысленно удалить этот тег ... – KorHosik
Посмотрите описание этого тега, это для другого проекта, который не является средством проверки потока. Тег для того, что вам нужно, - это тип потока: http://stackoverflow.com/tags/flow-js/info –
Хорошо, спасибо за информацию :) – KorHosik