Not able to set intercom-version in headers for useRequestOpts
ThomasSchuller opened this issue · 7 comments
Version info
- intercom-node version: 3.1.5
- Node version: 14.18.2
Expected behavior
Setting the intercom-version with:
const client = new Client({ tokenAuth: { token: 'my_token' } });
client.useRequestOpts({
headers: {
'Intercom-Version': 2.4,
},
});
Actual behavior
When using TS I get this error:
Type '{ 'Intercom-Version': number; }' is not assignable to type 'HeadersDefaults'. Object literal may only specify known properties, and ''Intercom-Version'' does not exist in type 'HeadersDefaults'.ts(2322) index.d.ts(112, 3): The expected type comes from property 'headers' which is declared here on type 'Partial<AxiosDefaults<any>>'
Seems like it is linked to the sub dependency axios's type HeaderDefaults.
Steps to reproduce
- Setup a ts node project
- install intercom-client version 3.1.5
- Create main.ts file and add:
import { Client } from 'intercom-client';
const client = new Client({ tokenAuth: { token: 'my_token' } });
client.useRequestOpts({
headers: {
'Intercom-Version': 2.4,
},
});
Logs
No logs, just a lint error.
I'm also getting the same error:
intercom client version 3.1.5
typescript version 4.2.2
+1 client version 3.1.5, typescript version 4.2.2
The typings for this library in general are embarrassingly bad :|
@ mullwaden submit a feature request to intercom support for better typings in this lib. I submitted one a couple weeks back.
How is this still open? I'm having same issue
I believe for now you have to set it like this:
intercom.useRequestOpts({
headers: {
common: {
'Intercom-Version': 2.6,
},
get: {},
head: {},
post: {},
delete: {},
put: {},
patch: {},
}
})
}