Angular / Typescript получить строку [] из класса ключей / интерфейс / тип?ts-transformer-keys не будет работать с угловым - PullRequest
2 голосов
/ 11 июля 2019

Итак, у меня есть пакет внешних моделей / интерфейсов, опубликованный через npm, он построен с использованием typegoose + mongoose, поэтому я могу разместить свои интерфейсы в одном месте, а затем использовать интерфейсы / модели в нескольких приложениях, сохраняя при этом их синхронизацию.

Вот и пример модели / класса.

Теперь проблема в том, что я создаю несколько динамических таблиц на внешнем интерфейсе для работы с любой коллекцией, поэтому яя пытаюсь найти способ получить ключи в виде строк, сохраняя при этом все в одном месте.

До сих пор я пробовал ключи ts-transformer, но из-за необходимости реализовать некоторые вещи вокруг компиляции.время не будет работать внутри углового.

Я также не могу использовать класс напрямую в angular из-за расширения класса Typegoose, которое зависит от mongoose, который выдает ошибку о какой-то глобальной вещи и затем вылетает из приложения в целом.

Где User - это мой класс, который расширяет Typegoose, а IUser - это тип из этого класса, такие вещи как:

class test extends User {}

все еще имеют ошибку зависимости Монго

class test implements User{}

все ещенеобходимо вручную добавить все свойства

Object.keys(User)

зависимость mongoose выдаст ошибку

Object.keys(IUser)

не работает, потому что тип не существует во время выполнения;

Возможно, декоратор класса, который перебирает все ключи и добавляет имя конструктора к прототипу класса?Похоже, что это не сработает во время выполнения.

...