Size: a a a

Angular - русскоговорящее сообщество

2019 October 04

АУ

Александр Урденко in Angular - русскоговорящее сообщество
Коллеги, есть быстрый инструмент для поиска мертвых экспортов в монорепе/проекте?
источник

Нh

НикШе http://10.0.16.200 in Angular - русскоговорящее сообщество
 public regstreet = new FormControl("",this.streetValidator(null,null));

streetValidator(regexPattern: RegExp, propertyName: string):
ValidatorFn {
       return (currentControl: AbstractControl): { [key: string]: any } => {
         let temp = {regstreet:true};
          temp[propertyName] = true;
           return temp;

по идее всегда должен не проходить валидацию, но все равно всегда проходит!
источник

AB

Arthur Bobrovskih in Angular - русскоговорящее сообщество
НикШе http://10.0.16.200
 public regstreet = new FormControl("",this.streetValidator(null,null));

streetValidator(regexPattern: RegExp, propertyName: string):
ValidatorFn {
       return (currentControl: AbstractControl): { [key: string]: any } => {
         let temp = {regstreet:true};
          temp[propertyName] = true;
           return temp;

по идее всегда должен не проходить валидацию, но все равно всегда проходит!
проверьте console.log доходит до return temp; ?
источник

Нh

НикШе http://10.0.16.200 in Angular - русскоговорящее сообщество
Arthur Bobrovskih
проверьте console.log доходит до return temp; ?
не входит даже в streetValidator, может изза null,null?
источник

AB

Arthur Bobrovskih in Angular - русскоговорящее сообщество
НикШе http://10.0.16.200
не входит даже в streetValidator, может изза null,null?
попробуйте вынести в функцию
export function streetValidator() { ... }


а использовать без this
new FormControl("", streetValidator(null,null));
источник

I

Igor Vivdich in Angular - русскоговорящее сообщество
Ребята, может кто знает, вопрос больше по тс:
this.test(objectInput || 'literal'); // error here -> no overload matches this call

test(data: Data): boolean;
test(data: string): Observable<boolean>;
test(data: Data | string): boolean | Observable<boolean> {
   //implementation }
ПОчему возникает такая ошбочка, не могу сообразить при оверлоаде.
источник

MF

Mireq Fallen in Angular - русскоговорящее сообщество
Igor Vivdich
Ребята, может кто знает, вопрос больше по тс:
this.test(objectInput || 'literal'); // error here -> no overload matches this call

test(data: Data): boolean;
test(data: string): Observable<boolean>;
test(data: Data | string): boolean | Observable<boolean> {
   //implementation }
ПОчему возникает такая ошбочка, не могу сообразить при оверлоаде.
потому что у тебя в функцию может попасть ЛИБО Data, ЛИБО string
источник

MF

Mireq Fallen in Angular - русскоговорящее сообщество
objectInput || 'literal' приводится к Data | string
источник

MF

Mireq Fallen in Angular - русскоговорящее сообщество
такой перегрузки нет
источник

MF

Mireq Fallen in Angular - русскоговорящее сообщество
если хочешь ее опубликовать, то:

test(data: Data): boolean;
test(data: string): Observable<boolean>;
test(data: Data | string): boolean | Observable<boolean>; // <- общая публичная перегрузка
test(data: Data | string): boolean | Observable<boolean> {
   //implementation
}
источник

I

Igor Vivdich in Angular - русскоговорящее сообщество
хм, спасибо, интересно как-то получаетя, что 3 и 4 перезагрузки одинаковы так-то
источник

MF

Mireq Fallen in Angular - русскоговорящее сообщество
4 перегрузка — что-то вроде private
источник

MF

Mireq Fallen in Angular - русскоговорящее сообщество
ее не видно извне
источник

MF

Mireq Fallen in Angular - русскоговорящее сообщество
она существует для работы внутри функции
источник

I

Igor Vivdich in Angular - русскоговорящее сообщество
ага, спасибо, понял.
источник

I

Igor Vivdich in Angular - русскоговорящее сообщество
кстати, получается можно просто так указать:

test(data: Data | string): boolean | Observable<boolean>;
test(data: Data | string): boolean | Observable<boolean> {
   //implementation
}


И это будет типа тоже самое что и когда 4 перезагрузки, вроде.
источник

MF

Mireq Fallen in Angular - русскоговорящее сообщество
если быть очень внимательным, то перегрузки вообще можно тогда убрать
источник

MF

Mireq Fallen in Angular - русскоговорящее сообщество
:)
источник

MF

Mireq Fallen in Angular - русскоговорящее сообщество
однако, это не совсем одно и то же
источник

MF

Mireq Fallen in Angular - русскоговорящее сообщество
например, если оставить 3+1 перегрузки, то при вызове test('123') TypeScript тебе скажет, что возвращаемый тип будет Observable<boolean>, без boolean
источник