Size: a a a

TypeScript — русскоговорящее сообщество

2020 April 06

A

Alex CherryTea in TypeScript — русскоговорящее сообщество
ArtMen007
Скажу проще, storageState.data как в этот массив добавить еще 1 обьект с измененным полем expiration_date: date
ну если по кривому то вот так
const dataCopy = { ...storageState.data[0] };
const dateCopy = { ...dataCopy.expiration_date };
dateCopy.date = Date.now();
dataCopy.expiration_date = dateCopy;
storageState.data.push(dataCopy);
источник

JS

John Smith in TypeScript — русскоговорящее сообщество
Есть тип, такое странное определение утянуто из сгенерированного файла graphql:
export type DataType = ( { __typename?: "QuickbookGLReportRows" } & Pick<QuickbookGlReportRows, "id" | "date" | "tranID" | "transactionType" | "no" | "name" | "baseAmount" | "currency" | "foreignAmount" | "description" | "account" | "accType" | "class" | "vat"> );

Мне нужно как-то указать, что тут key будет не просто string, а один из ключей DataType.

interface FilterArrayType
{
 [ key: string ]: Array<string>
}
источник

A

ArtMen007 in TypeScript — русскоговорящее сообщество
Alex CherryTea
ну если по кривому то вот так
const dataCopy = { ...storageState.data[0] };
const dateCopy = { ...dataCopy.expiration_date };
dateCopy.date = Date.now();
dataCopy.expiration_date = dateCopy;
storageState.data.push(dataCopy);
огромное спасибо. выручил.
источник

A

Alex CherryTea in TypeScript — русскоговорящее сообщество
John Smith
Есть тип, такое странное определение утянуто из сгенерированного файла graphql:
export type DataType = ( { __typename?: "QuickbookGLReportRows" } & Pick<QuickbookGlReportRows, "id" | "date" | "tranID" | "transactionType" | "no" | "name" | "baseAmount" | "currency" | "foreignAmount" | "description" | "account" | "accType" | "class" | "vat"> );

Мне нужно как-то указать, что тут key будет не просто string, а один из ключей DataType.

interface FilterArrayType
{
 [ key: string ]: Array<string>
}
[ key: keyof DataType  ]: Array<string>
?
источник

A

Alex CherryTea in TypeScript — русскоговорящее сообщество
такие штуки в песочницу сразу кладите
источник

JS

John Smith in TypeScript — русскоговорящее сообщество
Alex CherryTea
[ key: keyof DataType  ]: Array<string>
?
https://codesandbox.io/s/awesome-ellis-82bj5

Там не совсем полноценно, но ошибку уже видно
источник

d

ds in TypeScript — русскоговорящее сообщество
Ryner :: () -> IO ❄️
> tsc --noEmit & parcel ./src/index.html --public-url /

Подобное далеко от идеала
аналогичный кейс, так и оставил
источник

R:

Ryner :: () -> IO ❄️ in TypeScript — русскоговорящее сообщество
ds
аналогичный кейс, так и оставил
Печаль
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪ in TypeScript — русскоговорящее сообщество
Nikita Nafranets ⎈
перепиши мой reduce на forEach и ты поймешь разницу
Я чего-то не понимаю? Можно ведь просто spread сделать - никаких циклов не нужно:
(({background, ...rest}) => ({...rest, backgroundImage: `url(${background})`}))(options)
источник

NN

Nikita Nafranets ⎈ in TypeScript — русскоговорящее сообщество
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪
Я чего-то не понимаю? Можно ведь просто spread сделать - никаких циклов не нужно:
(({background, ...rest}) => ({...rest, backgroundImage: `url(${background})`}))(options)
Да, найс решение, но в итоге я вообще дропнул это. Не нужно.
источник

AM

Aqua Min in TypeScript — русскоговорящее сообщество
Здравствуйте, может подскажет кто, настроил свою сборку webpack/eslint/prettier/babel/typescript/react, суть в том, что так получается и я перевожу файлы js/jsx на ts/tsx, всё вроде бы хорошо, но допустим я меняю файл с jsx на tsx, появляются ошибки, нужно типизировать приходящие пропсы компонента, я создаю интерфейс, выношу его в отдельный файл types.ts, допустим и после этого начинается хер пойми что, если я буду дальше редактировать  types.ts то никаких эффектов я не вижу, даже если полностью удалю содержимое не будет ни одной ошибки, до тех пор пока не перезапущу локалку, как это происходит, почему? Может знает кто-нибудь как это исправить?
Сборщик вообще не реагирует на содержимое types.ts
источник
2020 April 07

СМ

Сергей Мезенцев in TypeScript — русскоговорящее сообщество
Алексей Компанец
подскажите как при такой записи сделать чтобы Flags мог иметь только часть полей из Keys  а не все?
Есть такая штука как Omit
источник

A

Alxndr 🗽👇 in TypeScript — русскоговорящее сообщество
Aqua Min
Здравствуйте, может подскажет кто, настроил свою сборку webpack/eslint/prettier/babel/typescript/react, суть в том, что так получается и я перевожу файлы js/jsx на ts/tsx, всё вроде бы хорошо, но допустим я меняю файл с jsx на tsx, появляются ошибки, нужно типизировать приходящие пропсы компонента, я создаю интерфейс, выношу его в отдельный файл types.ts, допустим и после этого начинается хер пойми что, если я буду дальше редактировать  types.ts то никаких эффектов я не вижу, даже если полностью удалю содержимое не будет ни одной ошибки, до тех пор пока не перезапущу локалку, как это происходит, почему? Может знает кто-нибудь как это исправить?
Сборщик вообще не реагирует на содержимое types.ts
у eslint-loader есть опция cache. Я недоумеваю зачем это нужно, если логает локально резульат, а когда исправишь то без переустановки зависимостей оно будет ошибку показывать
источник

a

artalar in TypeScript — русскоговорящее сообщество
Дмитрий К
Запилил диаграмму типов в TS. Нижерасположенные являются подтипами (сужением типа) вышерасположенных. Слипшиеся - это фактически один тип. any - джокер, который может выступать как надтип любого типа, так и как неопределённый подтип любого типа (одновременно и подтип и не подтип).
Поправьте, если где накосячил или не учёл какой-то тип.
👍👍
источник

a

artalar in TypeScript — русскоговорящее сообщество
Дмитрий К
Запилил диаграмму типов в TS. Нижерасположенные являются подтипами (сужением типа) вышерасположенных. Слипшиеся - это фактически один тип. any - джокер, который может выступать как надтип любого типа, так и как неопределённый подтип любого типа (одновременно и подтип и не подтип).
Поправьте, если где накосячил или не учёл какой-то тип.
бигинт еще.
темплейт стринг еще отдельный тип, вроде.
источник

ДК

Дмитрий К in TypeScript — русскоговорящее сообщество
artalar
бигинт еще.
темплейт стринг еще отдельный тип, вроде.
Спасибо, bigint добавил, а вот шаблоны - это просто интерфейс:

interface TemplateStringsArray extends ReadonlyArray<string> {
   readonly raw: readonly string[];
}
источник

D

Dartess in TypeScript — русскоговорящее сообщество
Ryner :: () -> IO ❄️
Оно все-равно собирает, если ошибки находит
Немного некропостинг, однако, но вроде не было ответа

Если один амперсанд, команды запускаются параллельно. Если прям надо чтобы не собирал, если ошибки, то два амперсанда, тогда время увеличится, но команды будут последовательно выполняться.
источник

R:

Ryner :: () -> IO ❄️ in TypeScript — русскоговорящее сообщество
Dartess
Немного некропостинг, однако, но вроде не было ответа

Если один амперсанд, команды запускаются параллельно. Если прям надо чтобы не собирал, если ошибки, то два амперсанда, тогда время увеличится, но команды будут последовательно выполняться.
Я знаю как работает bash, но второе в данном случае не работает
источник

PD

Petro Deriy in TypeScript — русскоговорящее сообщество
здраствуйте, можете подсказать почему не видит типа?

export enum AssetAttributeTypesEnum {
   string = 'string',
   boolean = 'boolean',
   text = 'text',
   enum = 'enum',
   date = 'date',
}

и:
export interface AssetDefinitionTechnicalMetadataChosenValueModel {
   [AssetAttributeTypesEnum.string]: string;
   [AssetAttributeTypesEnum.boolean]: boolean;
   [AssetAttributeTypesEnum.date]: string;
   [AssetAttributeTypesEnum.text]: string;
   [AssetAttributeTypesEnum.enum]: StringIdModel;
}
источник

А

Алексей in TypeScript — русскоговорящее сообщество
Ребята, только начал учить тс и решил переписать свой учебный проект. В этом примере, до того как я добавил тип any, вс код ругался на то, что моя переменная pos неявно имеет этот тип (по сути говоря pos и crd - это объекты). Слышал, что использование any в ts не очень желательно, аля пропадает весь смысл данного языка. Этот вариант норм, или можно как-то получше переписать?
источник