Setu-TS
    Preparing search index...

    Class UnsupportedQueryFeatureError

    Thrown when an adapter refuses a query feature that is expressible in the portable IDataSource contract but not supported by the active backend.

    Carries the feature, the adapter, and a name discriminant so consumers can branch with instanceof rather than matching message text. Every refusal reachable from a Promise-returning method rejects rather than throwing synchronously.

    import { UnsupportedQueryFeatureError } from '@setu-ts/database-plugin';
    try {
    await repo.findById({ tenantId: 't1', userId: 7 });
    } catch (err) {
    if (err instanceof UnsupportedQueryFeatureError) {
    console.error(`Feature '${err.feature}' unsupported on ${err.adapter}`);
    }
    }

    0.2.0

    Hierarchy

    • Error
      • UnsupportedQueryFeatureError
    Index
    • Creates the error. The message is the full diagnostic — safe to log, never to serve — and names the feature and the adapter.

      Parameters

      • feature: string

        The query feature that is not supported

      • adapter: string

        The adapter name

      • message: string

        The full diagnostic, safe to log

      • Optionaloptions: ErrorOptions

        Native error options, including an underlying cause

      Returns UnsupportedQueryFeatureError

    adapter: string

    The adapter name (e.g. 'prisma', 'drizzle', 'memory').

    cause?: unknown
    feature: string

    The query feature that could not be honoured (e.g. 'composite-key').

    message: string
    name: "UnsupportedQueryFeatureError" = 'UnsupportedQueryFeatureError'

    Discriminant for consumers that cannot use instanceof across realms.

    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

    • Parameters

      • err: Error
      • stackTraces: CallSite[]

      Returns any