This is the documentation of version 1.0.0-rc.1. Go to the latest version, 1.0.0-rc.5.
TomTom Maps for JavaScript
    Preparing search index...

    Class SDKError

    Base error class for all SDK-related errors.

    The SDK handles two distinct categories of errors:

    1. Programming errors are configuration or usage errors in your application, such as passing incorrect types to parameters or functions.
    2. API errors are recoverable errors that occur during SDK operations, such as network failures or invalid API responses.

    A service call rejects with one, except for a request it cannot build at all, such as one with a geometry type that geometry search does not support. That rejects with a plain Error.

    try {
    // SDK operation
    } catch (error) {
    if (error instanceof SDKError && error.code === 'INVALID_CREDENTIALS') {
    console.error(`Check the API key: ${error.service} rejected it`);
    }
    }

    Hierarchy (View Summary)

    Index
    • Creates a new SDKError instance.

      Parameters

      • message: string

        Human-readable error description.

      • service: string

        Name of the service where the error occurred.

      • options: {
            cause?: unknown;
            code:
                | "INVALID_REQUEST"
                | "INSECURE_BASE_URL"
                | "INVALID_CREDENTIALS"
                | "INSUFFICIENT_PERMISSIONS"
                | "NOT_FOUND"
                | "RATE_LIMITED"
                | "LIVE_SERVICE_NOT_AVAILABLE"
                | "NETWORK_NOT_AVAILABLE"
                | "ABORTED"
                | "WEBGL_UNSUPPORTED"
                | "WEBGL_CONTEXT_LOST"
                | "STYLE_LOAD_FAILED"
                | "INTERNAL";
            issues?: $ZodIssue[];
        }

      Returns SDKError

    canRetry: boolean

    Whether the condition clears on its own, so the same call is likely to succeed later: true for RATE_LIMITED, LIVE_SERVICE_NOT_AVAILABLE and NETWORK_NOT_AVAILABLE.

    cause?: unknown
    code:
        | "INVALID_REQUEST"
        | "INSECURE_BASE_URL"
        | "INVALID_CREDENTIALS"
        | "INSUFFICIENT_PERMISSIONS"
        | "NOT_FOUND"
        | "RATE_LIMITED"
        | "LIVE_SERVICE_NOT_AVAILABLE"
        | "NETWORK_NOT_AVAILABLE"
        | "ABORTED"
        | "WEBGL_UNSUPPORTED"
        | "WEBGL_CONTEXT_LOST"
        | "STYLE_LOAD_FAILED"
        | "INTERNAL"

    What went wrong, as one of SDKErrorCode. Branch on this value rather than the message.

    issues?: $ZodIssue[]

    The Zod issues of a failed request validation, for an INVALID_REQUEST the SDK raised itself.

    message: string
    name: string
    sdkVersion: string = __SDK_VERSION__

    The version of the SDK that raised the error, for bug reports.

    service: string

    Name of the service where the error occurred.

    stack?: string
    stackTraceLimit: number

    The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

    The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

    If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

    • Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

      const myObject = {};
      Error.captureStackTrace(myObject);
      myObject.stack; // Similar to `new Error().stack`

      The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.

      The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.

      The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

      function a() {
      b();
      }

      function b() {
      c();
      }

      function c() {
      // Create an error without stack trace to avoid calculating the stack trace twice.
      const { stackTraceLimit } = Error;
      Error.stackTraceLimit = 0;
      const error = new Error();
      Error.stackTraceLimit = stackTraceLimit;

      // Capture the stack trace above function b
      Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
      throw error;
      }

      a();

      Parameters

      • targetObject: object
      • OptionalconstructorOpt: Function

      Returns void

    • Indicates whether the argument provided is a built-in Error instance or not.

      Parameters

      • error: unknown

      Returns error is Error