Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
ThomasSchuller opened this issue Jun 13, 2022 · 6 comments
Open

Comments

@ThomasSchuller
Copy link

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

  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
Copy link

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

@isitgeorge
Copy link

+1 client version 3.1.5, typescript version 4.2.2

@mullwaden
Copy link

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

@poppet-uk
Copy link

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

@colin-oos
Copy link

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

@colin-oos
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

5 participants