Я новичок в машинописи и просто пытаюсь преобразовать код 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.