intercom / intercom-node

Node.js bindings for the Intercom API
https://developers.intercom.com
Other
366 stars 116 forks source link

Not able to set intercom-version in headers for useRequestOpts #326

Open ThomasSchuller opened 2 years ago

ThomasSchuller commented 2 years ago

Version info

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

  1. Setup a ts node project
  2. install intercom-client version 3.1.5
  3. 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.

aparkinson commented 2 years ago

I'm also getting the same error: intercom client version 3.1.5 typescript version 4.2.2

isitgeorge commented 2 years ago

+1 client version 3.1.5, typescript version 4.2.2

mullwaden commented 1 year ago

The typings for this library in general are embarrassingly bad :|

poppet-uk commented 1 year ago

@ mullwaden submit a feature request to intercom support for better typings in this lib. I submitted one a couple weeks back.

colin-oos commented 7 months ago

How is this still open? I'm having same issue

colin-oos commented 7 months ago

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: {},
      }
    })
  }