169 похожих чатов

Пытаюсь написать NonEmptyArray на ts - TypeGuard все портит( есть

идеи? https://www.typescriptlang.org/play?#code/C4TwDgpgBAcg9gOwKIFsygIICcsEMQA8AKgHxQC8UWEuAJogDYhQDaRANFAHQ9EsC6-ANwBYAFDiAxogDOwKLhwAuKNjyEEAVxQAjCFjKUBosdIRyoCGivjI0mHPgJbd+w6wCMw8eNCQoRACqAAoAMkgUrC56WN5iDBDywJpgCSpBYRFGXibiAPR5UAACwDIAtBAAHpCSwBU4cFgqAPIA0lKy8iwAjpwA7vyRyakQuWIFxaUV1RC19ViNKsB9cFAA-FBKABRbHeZdiBCcy3CDlFa4Y7SzDIrQAGaaCLUAlohQkgAWswDWW4pNWCIVDoEBqJzRNwAShUADc4C9aGNHs9gG8EFAXjJbCCHOpiCQtpUVNQ6IxmHx+DCoJVMTIgXZQeDCKQoABvcRQKiJTRYDGVLgJBAAc2AnygZAADCYAL4+MQve5bLE4+xgxwgLYXKFQ9mcqATErlKo1Or6BZYfUXLhgTQyT5bDxQkxcr6-LU0Z3iGVQCAMGTQDliV3fSR-bWy+WK5XY4Fq5n-HA6vXBg2FI3TU3zRZcgDqAAkAJqWbQxARQABkDNx6vxkIM631AJtdodTqEUH1brDiawXrEPr9AZTXMNUxNszNDUBbS7ob+AP7cokYiAA

2 ответов

5 просмотров

А каких именно различий хочется добиться в поведении NonEmptyArray<T> и ReadonlyArray<T>? Ведь обращение к первому элементу в обоих случаях вернёт T, а не T | undefined (если не использовать новое свойство noUncheckedIndexedAccess), а тайп-гвард может только сужать тип проверяемого значения: play.

Хракс-Мамцов Автор вопроса

Спасибо. Думал что `noUncheckedIndexedAccess` в 4.1 включен по умолчанию, оказалось нет. Хотелось бы именно чтобы TG работал по другому. Но кажется придется довольствоваться парсером `tryConvertToNonEmptyArray`. Комбинация флажка и парсера работает приемлемо с type NonEmptyArray<T> = readonly [T, ...T[]] & { readonly length: number };

Похожие вопросы

Обсуждают сегодня

Коллеги, здравствуйте! А можно узнать ваше мнение относительно Wolfram Mathematica vs Julia? Просто у меня стоит выбор между тем, чтобы продолжить преподавать Wolfram Mathemat...
Илья Гаража
10
Обновленный chat тестили уже господа? Готовимся на заводы ? Простой проект на ларавель собирает за 1 ответ..
Jacov Borisov
14
кому не сложно распишите пожалуйста для какой цели тут вот эти скобки и в них пихается указатель?
Михаил Helper
15
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Или мне дублировать структуру с информацией о следующем потоке в адресное пространство текущего потока?
One
9
Серьезно? Вот прям так на глагне на первом экране?
Sasha Beep
8
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
в "главной форме" создаются "дочерние формы / копии главной" new_form := TForm1.Create(Application); new_form.blah_blah_blah обработчик, срабатывающий при изменении положени...
livontiy
6
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
Карта сайта