Использование декоратора для сопоставления пар ключ-значение со свойствами объекта - PullRequest
0 голосов
/ 15 января 2020

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

I sh Я мог бы включить пример кода, но, честно говоря, не знаю, с чего начать. В то время как я видел, как другие фреймворки делают что-то подобное ( NGXS передает функцию декоратору ), я не думаю, что обратный инжиниринг их - лучший способ действий. Если я объявлю следующий класс:

class MyClass {
  @map("map-1")
  firstName: string;

  @map("map-2")
  lastName: string;
}

Я хотел бы иметь возможность сделать что-то вроде:

const foo: Array<KeyValuePair<string,string>> =
  [
    new KeyValuePair("map-1", "Erik"),
    new KeyValuePair("map-2", "Philips"),
  ];

var myClass: MyClass = someFunction<MyClass>(new MyClass(), foo);

// or

var myClass = someFunction(new MyClass(), foo);

console.log(myClass.firstName); // "Erik"
console.log(myClass.lastName); // "Philips"

Меня не интересует, кто создал класс, не уверен, если легче, если класс создан функцией или нет. Меня не очень беспокоит, нужно ли менять подпись декораторов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...