Проблема приведения типов к объектам с использованием методов получения и установки - PullRequest
0 голосов
/ 05 марта 2019

У меня проблема со следующим кодом.Я думаю, что это проблема приведения, но я не могу понять, как ее решить.

interface Code {
  code: string;
  expiration: number;
}

interface IActivationCode {
  [userId: string]: Code;
}
const activationCode: IActivationCode = {
  set userId(id: string) {
    this[id] = {
      code: Math.random()
        .toString(36)
        .substring(7),
      expiration: new Date().setMinutes(new Date().getMinutes() + 30)
    };
  },
  get userId() {
    return this.id;
  }
};

Вы можете скопировать код здесь, чтобы увидеть проблему. TypeScript Playground

1 Ответ

0 голосов
/ 05 марта 2019
    interface Code {
  code: string;
  expiration: number;
}

interface IActivationCode {
  [userId: string]: Code;
}
const activationCode: IActivationCode = {
  set userId(id: Code) {
     id = {
      code: Math.random()
        .toString(36)
        .substring(7),
      expiration: new Date().setMinutes(new Date().getMinutes() + 30)
    };
  },
  get userId() {
    return this.id;
  }
};

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

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