Аргумент типа 'Isms91Options' не может быть назначен параметру типа 'string | URL» - PullRequest
0 голосов
/ 09 января 2019

Я новичок в машинописи и просто пытаюсь преобразовать код API Msg91 NodeJS в машинопись, но при компиляции кода произошла ошибка. То есть аргумент типа 'Isms91Options' не может быть назначен параметру типа "string | URL '."

Я пытался удалить все возможные типы ошибок, но мне кажется, что я пропустил некоторые из них.

interface IoptionsType {
    phoneNumber: string;
    message: string;
}

interface IheadersType {
  authkey: string;
  contentType: string;
}

interface Isms91Options {
    method: string;
    hostname: string;
    port: string;
    path: string;
    headers: IheadersType;
}

export const sendSms = (data: IoptionsType) => {
  const {message, phoneNumber} = data;
  const option: Isms91Options = {
                  headers: {
                    authkey: "XXXXXXXXXXXXX",
                    contentType: "application/json"
                  },
                  hostname: "api.msg91.com",
                  method: "POST",
                  path: `http://api.msg91.com/api/v2/sendsms?message=${message}&authkey=XXXXXXXXXXXXXXX&`
                        + `mobiles=+91${phoneNumber}&route=4&sender=XXXXX&country=91&unicode=1`,
                  port: null,
  };

  const req = http.request(option, (res: Response) => {
    const chunks: any[] = [];
    res.on("data", (chunk) => {
      chunks.push(chunk);
    });

    res.on("end", () => {
      log.info(Buffer.concat(chunks));
    });
  });

  req.write(JSON.stringify({
    country: "91",
    route: "4",
    sender: "XXXXXX",
    sms:
     [ { message: "testing", to: [ "XXXXXXX" ] } ] }));
  req.end();
};

Это ошибка, с которой я сталкиваюсь при компиляции кода ошибка TS2345: Аргумент типа 'Isms91Options' не может быть назначен параметру типа 'string | URL». Типу «Isms91Options» не хватает следующих свойств из типа «URL»: хэш, хост, href, origin и еще 7.

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