Skip to content

Issue importing 'FacebookRequestError' #270

@mrowles

Description

@mrowles

Which SDK version are you using?

18.0.0

What's the issue?

Cannot import FacebookRequestError from facebook-nodejs-business-sdk/src/exceptions.d.ts (can import anything else which is exported from index.d.ts of course).

I would like to import this as to do:

   } catch (error) {
     if (error instanceof FacebookRequestError) {
      throw new Error(`Something went wrong: [${error.response}]`);
    }
    throw new Error('Something went wrong');
   }

I assume there is some convoluted way to import this safely without complaints, but would prefer this is just accessible so I can reference the class easily. If there is a smarter way to do this, all ears!

My workaround is:

   } catch (error) {
     if ('response' in error) {
      throw new Error(`Something went wrong: [${error.response}]`);
    }
    throw new Error('Something went wrong');
   }

Steps/Sample code to reproduce the issue

import {
  Ad,
  AdAccount,
  Campaign,
  FacebookAdsApi,
} from 'facebook-nodejs-business-sdk';
import FacebookExceptions from 'facebook-nodejs-business-sdk/src/exceptions'; // <-- it would be good if this was exposed through index.d.ts as this import does not work (see observed results)

Observed Results:

export class FacebookRequestError extends FacebookError {
^^^^^^
SyntaxError: Unexpected token 'export'
    at internalCompileFunction (node:internal/vm:77:18)
    at wrapSafe (node:internal/modules/cjs/loader:1288:20)
    at Module._compile (node:internal/modules/cjs/loader:1340:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Object.require.extensions.<computed> [as .js] (/Users/user/workspace/some-repo/node_modules/.pnpm/[email protected]_@[email protected][email protected]/node_modules/ts-node/src/index.ts:1608:43)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Function.Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/Users/user/workspace/some-repo/packages/service/src/lib/facebook.ts:7:1)

Expected Results:

This was easily importable since it's exported from index.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions