Итак, у меня есть пакет внешних моделей / интерфейсов, опубликованный через 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)
не работает, потому что тип не существует во время выполнения;
Возможно, декоратор класса, который перебирает все ключи и добавляет имя конструктора к прототипу класса?Похоже, что это не сработает во время выполнения.