Preparing search index...

    Thrown by TrackApi.storeTrack when the track itself is unacceptable to that provider — an import carrying no coordTimes offered to a store that only keeps timed tracks, say — and by TrackApi.deleteTrackSpan when the track has no times to address a span by.

    Distinct from a store that failed: this says the client sent something this provider will not keep, which is a 400 rather than a 500. A provider that rejects for any other reason should throw an ordinary error.

    Hierarchy

    • Error
      • TrackRejectedError
    Index
    isTrackRejected: true = ...

    Marks the error across module boundaries.

    A plugin resolving @signalk/server-api gets its own copy of this class, so instanceof against the server's copy fails and a deliberate refusal would be reported as a store failure. The flag survives that.

    message: string
    name: string
    cause?: unknown
    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