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

Есть ли способ заполнить интерфейс на основе сериализуемого объекта или

другого интерфейса? копал в сторону spread операций, но все только на уровне предложений

типа такого
https://tinyurl.com/y2jae8vg

const serializedObj = {
a: "a",
b: 1,
c: true
};

type SerializedInterface = typeof serializedObj;

/**
* Целевой интерфейс
* interface Final {
* a: string;
* b: number;
* c: boolean;
* }
*/

interface Final {
...SerializedInterface
}

5 ответов

23 просмотра

https://www.typescriptlang.org/play?#code/MYewdgzgLgBBCmAnAlgQwDbIF7wCYHkAjAKxgF4YBvAKBhlQC4YAiVZgGlpkKYEZO6wJlEQBXeNQC+AbmrUoATwAO8GAGUkaTDlwBJMFCQAzVMFUVFKkEbiaM2PEWKzqAegBU72u5iAyEECsIIDcIP6ATCCAfCCAnCAwgBwggLwggEIg-oACIIAiIP4RgIIg3jDIBsamqgBiuRhU2fRM0ChgAObSdOU8MGCiALaESLIwPjBC3CAg6PCoYF0+kt6ucrmGiCZmMMVgpfAAHoZguBDqdtp4+rPz8DQNE3KgkLAAgkxLpRSUjADkvABMT+w8-L3CYvCSQA

Maksim- Автор вопроса

не, не экстендить, а именно заполнить

не совсем понятно тогда, что значит заполнить

Maksim- Автор вопроса

возможно, неправильно подобрал аналогию. например, в js используется spread операция для копирования объекта внутрь другого объекта const a = { a: 1, b: "2"} const b = { ...a } , вот с похожим предложением ишью ts есть https://github.com/microsoft/TypeScript/issues/32689 для чего нужно - в styled-components есть возможность расширить DefaultTheme интерфейс https://styled-components.com/docs/api#create-a-declarations-file, я хочу попытаться сделать уже на основе сериализуемого объекта темы

Maksim- Автор вопроса

а хотя да, можно просто заэкстендить, смутило замечание линта пустом интерфейсе import "styled-components"; import { defaultTheme } from "common/theme"; type Theme = typeof defaultTheme; declare module "styled-components" { export interface DefaultTheme extends Theme {} }

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта