@tanstack/db
Version:
A reactive client store for building super fast apps on sync
1 lines • 55.1 kB
Source Map (JSON)
{"version":3,"file":"errors.cjs","sources":["../../src/errors.ts"],"sourcesContent":["import { codedMessage, devBuild } from './error-message'\n\n// Root error class for all TanStack DB errors\nexport class TanStackDBError extends Error {\n constructor(message: string) {\n super(message)\n this.name = `TanStackDBError`\n }\n}\n\n// Base error classes\nexport class NonRetriableError extends TanStackDBError {\n constructor(message: string) {\n super(message)\n this.name = `NonRetriableError`\n }\n}\n\n// Schema validation error (exported from index for backward compatibility)\nexport class SchemaValidationError extends TanStackDBError {\n type: `insert` | `update`\n issues: ReadonlyArray<{\n message: string\n path?: ReadonlyArray<string | number | symbol>\n }>\n\n constructor(\n type: `insert` | `update`,\n issues: ReadonlyArray<{\n message: string\n path?: ReadonlyArray<string | number | symbol>\n }>,\n message?: string,\n ) {\n const defaultMessage = `${type === `insert` ? `Insert` : `Update`} validation failed: ${issues\n .map((issue) => `\\n- ${issue.message} - path: ${issue.path}`)\n .join(``)}`\n\n super(message || defaultMessage)\n this.name = `SchemaValidationError`\n this.type = type\n this.issues = issues\n }\n}\n\n// Module Instance Errors\nexport class DuplicateDbInstanceError extends TanStackDBError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Multiple instances of @tanstack/db detected!\\n\\n` +\n `This causes transaction context to be lost because each instance maintains ` +\n `its own transaction stack.\\n\\n` +\n `Common causes:\\n` +\n `1. Different versions of @tanstack/db installed\\n` +\n `2. Incompatible peer dependency versions in packages\\n` +\n `3. Module resolution issues in bundler configuration\\n\\n` +\n `To fix:\\n` +\n `1. Check installed versions: npm list @tanstack/db (or pnpm/yarn list)\\n` +\n `2. Force a single version using package manager overrides:\\n` +\n ` - npm: \"overrides\" in package.json\\n` +\n ` - pnpm: \"pnpm.overrides\" in package.json\\n` +\n ` - yarn: \"resolutions\" in package.json\\n` +\n `3. Clear node_modules and lockfile, then reinstall\\n\\n` +\n `To temporarily disable this check (not recommended):\\n` +\n `Set environment variable: TANSTACK_DB_DISABLE_DUP_CHECK=1\\n\\n` +\n `See: https://tanstack.com/db/latest/docs/troubleshooting#duplicate-instances`\n : codedMessage(2),\n )\n this.name = `DuplicateDbInstanceError`\n }\n}\n\n// Collection Configuration Errors\nexport class CollectionConfigurationError extends TanStackDBError {\n constructor(message: string) {\n super(message)\n this.name = `CollectionConfigurationError`\n }\n}\n\nexport class InvalidSyncPersistenceCapabilityError extends CollectionConfigurationError {\n constructor(reason: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Invalid sync persistence capability at metadata.persistence: ${reason}. ` +\n `Custom sync wrappers must forward metadata.persistence unchanged.`\n : codedMessage(3, { reason }),\n )\n this.name = `InvalidSyncPersistenceCapabilityError`\n }\n}\n\nexport class CollectionRequiresConfigError extends CollectionConfigurationError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Collection requires a config`\n : codedMessage(4),\n )\n }\n}\n\nexport class CollectionRequiresSyncConfigError extends CollectionConfigurationError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Collection requires a sync config`\n : codedMessage(5),\n )\n }\n}\n\nexport class InvalidSchemaError extends CollectionConfigurationError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Schema must implement the standard-schema interface`\n : codedMessage(6),\n )\n }\n}\n\nexport class SchemaMustBeSynchronousError extends CollectionConfigurationError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Schema validation must be synchronous`\n : codedMessage(7),\n )\n }\n}\n\n// Collection State Errors\nexport class CollectionStateError extends TanStackDBError {\n constructor(message: string) {\n super(message)\n this.name = `CollectionStateError`\n }\n}\n\nexport class CollectionInErrorStateError extends CollectionStateError {\n constructor(operation: string, collectionId: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Cannot perform ${operation} on collection \"${collectionId}\" - collection is in error state. Try calling cleanup() and restarting the collection.`\n : codedMessage(8, { operation, collectionId }),\n )\n }\n}\n\nexport class InvalidCollectionStatusTransitionError extends CollectionStateError {\n constructor(from: string, to: string, collectionId: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Invalid collection status transition from \"${from}\" to \"${to}\" for collection \"${collectionId}\"`\n : codedMessage(9, { from, to, collectionId }),\n )\n }\n}\n\nexport class CollectionIsInErrorStateError extends CollectionStateError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Collection is in error state`\n : codedMessage(10),\n )\n }\n}\n\nexport class NegativeActiveSubscribersError extends CollectionStateError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Active subscribers count is negative - this should never happen`\n : codedMessage(11),\n )\n }\n}\n\nexport class LiveQueryObserverDisposedError extends CollectionStateError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Cannot subscribe to a disposed LiveQueryObserver`\n : codedMessage(12),\n )\n }\n}\n\nexport class LiveQueryWindowControllerDisposedError extends CollectionStateError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Cannot subscribe to a disposed LiveQueryWindowController`\n : codedMessage(13),\n )\n }\n}\n\n// Collection Operation Errors\nexport class CollectionOperationError extends TanStackDBError {\n constructor(message: string) {\n super(message)\n this.name = `CollectionOperationError`\n }\n}\n\nexport class UndefinedKeyError extends CollectionOperationError {\n constructor(item: any) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `An object was created without a defined key: ${JSON.stringify(item)}`\n : codedMessage(14, { item }),\n )\n }\n}\n\nexport class InvalidKeyError extends CollectionOperationError {\n constructor(key: unknown, item: unknown) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `getKey returned an invalid key type. Expected string or number, but got ${key === null ? `null` : typeof key}: ${JSON.stringify(key)}. Item: ${JSON.stringify(item)}`\n : codedMessage(15, { key, type: key === null ? `null` : typeof key }),\n )\n }\n}\n\nexport class DuplicateKeyError extends CollectionOperationError {\n constructor(key: string | number) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Cannot insert document with ID \"${key}\" because it already exists in the collection`\n : codedMessage(16, { key }),\n )\n }\n}\n\nexport class DuplicateKeySyncError extends CollectionOperationError {\n constructor(\n key: string | number,\n collectionId: string,\n options?: {\n hasCustomGetKey?: boolean\n hasJoins?: boolean\n hasDistinct?: boolean\n },\n ) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? (() => {\n const base = `Cannot insert document with key \"${key}\" from sync because it already exists in the collection \"${collectionId}\"`\n\n // Provide enhanced guidance when custom getKey is used with distinct\n if (options?.hasCustomGetKey && options.hasDistinct) {\n return (\n `${base}. ` +\n `This collection uses a custom getKey with .distinct(). ` +\n `The .distinct() operator deduplicates by the ENTIRE selected object (standard SQL behavior), ` +\n `but your custom getKey extracts only a subset of fields. This causes multiple distinct rows ` +\n `(with different values in non-key fields) to receive the same key. ` +\n `To fix this, either: (1) ensure your SELECT only includes fields that uniquely identify each row, ` +\n `(2) use .groupBy() with min()/max() aggregates to select one value per group, or ` +\n `(3) remove the custom getKey to use the default key behavior.`\n )\n }\n if (options?.hasCustomGetKey && options.hasJoins) {\n // Provide enhanced guidance when custom getKey is used with joins\n return (\n `${base}. ` +\n `This collection uses a custom getKey with joined queries. ` +\n `Joined queries can produce multiple rows with the same key when relationships are not 1:1. ` +\n `Consider: (1) using a composite key in your getKey function (e.g., \\`\\${item.key1}-\\${item.key2}\\`), ` +\n `(2) ensuring your join produces unique rows per key, or (3) removing the custom getKey ` +\n `to use the default composite key behavior.`\n )\n }\n return base\n })()\n : codedMessage(17, { key, collectionId, ...options }),\n )\n }\n}\n\nexport class MissingUpdateArgumentError extends CollectionOperationError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `The first argument to update is missing`\n : codedMessage(18),\n )\n }\n}\n\nexport class NoKeysPassedToUpdateError extends CollectionOperationError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `No keys were passed to update`\n : codedMessage(19),\n )\n }\n}\n\nexport class UpdateKeyNotFoundError extends CollectionOperationError {\n constructor(key: string | number) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `The key \"${key}\" was passed to update but an object for this key was not found in the collection`\n : codedMessage(20, { key }),\n )\n }\n}\n\nexport class KeyUpdateNotAllowedError extends CollectionOperationError {\n constructor(originalKey: string | number, newKey: string | number) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Updating the key of an item is not allowed. Original key: \"${originalKey}\", Attempted new key: \"${newKey}\". Please delete the old item and create a new one if a key change is necessary.`\n : codedMessage(21, { originalKey, newKey }),\n )\n }\n}\n\nexport class NoKeysPassedToDeleteError extends CollectionOperationError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `No keys were passed to delete`\n : codedMessage(22),\n )\n }\n}\n\nexport class DeleteKeyNotFoundError extends CollectionOperationError {\n constructor(key: string | number) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Collection.delete was called with key '${key}' but there is no item in the collection with this key`\n : codedMessage(23, { key }),\n )\n }\n}\n\n// Collection Handler Errors\nexport class MissingHandlerError extends TanStackDBError {\n constructor(message: string) {\n super(message)\n this.name = `MissingHandlerError`\n }\n}\n\nexport class MissingInsertHandlerError extends MissingHandlerError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Collection.insert called directly (not within an explicit transaction) but no 'onInsert' handler is configured.`\n : codedMessage(24),\n )\n }\n}\n\nexport class MissingUpdateHandlerError extends MissingHandlerError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Collection.update called directly (not within an explicit transaction) but no 'onUpdate' handler is configured.`\n : codedMessage(25),\n )\n }\n}\n\nexport class MissingDeleteHandlerError extends MissingHandlerError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Collection.delete called directly (not within an explicit transaction) but no 'onDelete' handler is configured.`\n : codedMessage(26),\n )\n }\n}\n\n// Transaction Errors\nexport class TransactionError extends TanStackDBError {\n constructor(message: string) {\n super(message)\n this.name = `TransactionError`\n }\n}\n\nexport class PacedTransactionManualCommitError extends TransactionError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Paced mutations are committed by their strategy. Await the transaction receipt or roll it back instead.`\n : codedMessage(86),\n )\n this.name = `PacedTransactionManualCommitError`\n }\n}\n\nexport class QueueCapacityExceededError extends TransactionError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Queue capacity exceeded; the mutation was not admitted`\n : codedMessage(27),\n )\n this.name = `QueueCapacityExceededError`\n }\n}\n\nexport class QueueDisposedError extends TransactionError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Queue has been cleaned up; the mutation was not admitted`\n : codedMessage(28),\n )\n this.name = `QueueDisposedError`\n }\n}\n\nexport class ThrottleCallDroppedError extends TransactionError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Throttle call was dropped because trailing execution is disabled`\n : codedMessage(29),\n )\n this.name = `ThrottleCallDroppedError`\n }\n}\n\nexport class DebounceCallDroppedError extends TransactionError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Debounce call was dropped because trailing execution is disabled`\n : codedMessage(30),\n )\n this.name = `DebounceCallDroppedError`\n }\n}\n\nexport class MissingMutationFunctionError extends TransactionError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `mutationFn is required when creating a transaction`\n : codedMessage(31),\n )\n }\n}\n\nexport class OnMutateMustBeSynchronousError extends TransactionError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `onMutate must be synchronous and cannot return a promise. Remove async/await or returned promises from onMutate.`\n : codedMessage(32),\n )\n this.name = `OnMutateMustBeSynchronousError`\n }\n}\n\nexport class TransactionNotPendingMutateError extends TransactionError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `You can no longer call .mutate() as the transaction is no longer pending`\n : codedMessage(33),\n )\n }\n}\n\nexport class TransactionAlreadyCompletedRollbackError extends TransactionError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `You can no longer call .rollback() as the transaction is already completed`\n : codedMessage(34),\n )\n }\n}\n\nexport class DuplicateTransactionIdError extends TransactionError {\n constructor(id: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `A Collection already tracks an unsettled transaction with id \"${id}\". Give each transaction a unique id.`\n : codedMessage(233, { id }),\n )\n }\n}\n\nexport class TransactionNotPendingCommitError extends TransactionError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `You can no longer call .commit() as the transaction is no longer pending`\n : codedMessage(35),\n )\n }\n}\n\nexport class NoPendingSyncTransactionWriteError extends TransactionError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `No pending sync transaction to write to`\n : codedMessage(36),\n )\n }\n}\n\nexport class SyncTransactionAlreadyCommittedWriteError extends TransactionError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `The pending sync transaction is already committed, you can't still write to it.`\n : codedMessage(37),\n )\n }\n}\n\nexport class SyncRowReusedWithoutPreviousValueError extends TransactionError {\n constructor(key: string | number) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `A sync update for key \"${key}\" wrote a row object that changed in place since it was last written. ` +\n `The change overwrote the row's previous value. ` +\n `Write a new object, or pass the row's previous value as \\`previousValue\\`.`\n : codedMessage(38, { key }),\n )\n }\n}\n\nexport class NoPendingSyncTransactionCommitError extends TransactionError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `No pending sync transaction to commit`\n : codedMessage(39),\n )\n }\n}\n\nexport class SyncTransactionAlreadyCommittedError extends TransactionError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `The pending sync transaction is already committed, you can't commit it again.`\n : codedMessage(40),\n )\n }\n}\n\n/**\n * An internal sync-queue invariant failed: a cancel targeted a transaction\n * that is not the open last one, or replaying the queue invalidated a\n * transaction. No public path should reach this.\n */\nexport class SyncQueueInvariantError extends TransactionError {\n constructor(detail: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Sync queue invariant failed: ${detail}`\n : codedMessage(41, { detail }),\n )\n }\n}\n\n// Query Builder Errors\nexport class QueryBuilderError extends TanStackDBError {\n constructor(message: string) {\n super(message)\n this.name = `QueryBuilderError`\n }\n}\n\nexport class OnlyOneSourceAllowedError extends QueryBuilderError {\n constructor(context: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Only one source is allowed in the ${context}`\n : codedMessage(42, { context }),\n )\n }\n}\n\nexport class SubQueryMustHaveFromClauseError extends QueryBuilderError {\n constructor(context: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `A sub query passed to a ${context} must have a from clause itself`\n : codedMessage(43, { context }),\n )\n }\n}\n\nexport class InvalidSourceError extends QueryBuilderError {\n constructor(alias: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Invalid source for live query: The value provided for alias \"${alias}\" is not a Collection or subquery. Live queries only accept Collection instances or subqueries. Please ensure you're passing a valid Collection or QueryBuilder, not a plain array or other data type.`\n : codedMessage(44, { alias }),\n )\n }\n}\n\nexport type SourceClauseContext =\n `from clause` | `unionAll clause` | `join clause`\n\nexport class InvalidSourceTypeError extends QueryBuilderError {\n constructor(context: SourceClauseContext, type: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? (() => {\n const expected =\n context === `unionAll clause`\n ? `an object with one or more key-value pairs like { alias: collection }`\n : `an object with a single key-value pair like { alias: collection }`\n const example =\n context === `unionAll clause`\n ? `.unionAll({ todos: todosCollection, events: eventsCollection })`\n : context === `join clause`\n ? `.join({ todos: todosCollection }, ({ todo, todos }) => eq(todo.id, todos.id))`\n : `.from({ todos: todosCollection })`\n return (\n `Invalid source for ${context}: Expected ${expected}. ` +\n `For example: ${example}. Got: ${type}`\n )\n })()\n : codedMessage(45, { context, type }),\n )\n }\n}\n\nexport class JoinConditionMustBeEqualityError extends QueryBuilderError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Join condition must be an equality expression or a nonempty conjunction of equality expressions`\n : codedMessage(46),\n )\n }\n}\n\nexport class QueryMustHaveFromClauseError extends QueryBuilderError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Query must have a from clause`\n : codedMessage(47),\n )\n }\n}\n\nexport class InvalidWhereExpressionError extends QueryBuilderError {\n constructor(valueType: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Invalid where() expression: Expected a query expression, but received a ${valueType}. ` +\n `This usually happens when using JavaScript's comparison operators (===, !==, <, >, etc.) directly. ` +\n `Instead, use the query builder functions:\\n\\n` +\n ` ❌ .where(({ user }) => user.id === 'abc')\\n` +\n ` ✅ .where(({ user }) => eq(user.id, 'abc'))\\n\\n` +\n `Available comparison functions: eq, gt, gte, lt, lte, and, or, not, like, ilike, isNull, isUndefined`\n : codedMessage(48, { valueType }),\n )\n }\n}\n\n// Query Compilation Errors\nexport class QueryCompilationError extends TanStackDBError {\n constructor(message: string) {\n super(message)\n this.name = `QueryCompilationError`\n }\n}\n\nexport class UnsafeAliasPathError extends QueryCompilationError {\n constructor(segment: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Unsafe alias path segment \"${segment}\" is not allowed in .select(). ` +\n `Aliases must not contain \"__proto__\", \"prototype\", or \"constructor\".`\n : codedMessage(49, { segment }),\n )\n this.name = `UnsafeAliasPathError`\n }\n}\n\nexport class DistinctRequiresSelectError extends QueryCompilationError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `DISTINCT requires a SELECT clause.`\n : codedMessage(50),\n )\n }\n}\n\nexport class FnSelectWithGroupByError extends QueryCompilationError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `fn.select() cannot be used with groupBy(). ` +\n `groupBy requires the compiler to statically analyze aggregate functions (count, sum, max, etc.) in the SELECT clause, ` +\n `which is not possible with fn.select() since it is an opaque function. ` +\n `Use .select() instead of .fn.select() when combining with groupBy().`\n : codedMessage(51),\n )\n }\n}\n\nexport class UnsupportedFnSelectResultError extends QueryCompilationError {\n constructor(valueDescription: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `fn.select() cannot return ${valueDescription}. ` +\n `Child query builders, query expressions, and helpers such as eq(), toArray(), materialize(), concat(toArray()), and caseWhen() are query-construction values. ` +\n `Use them as direct fields in .select() instead.`\n : codedMessage(52, { valueDescription }),\n )\n }\n}\n\nexport class UnsupportedRootScalarSelectError extends QueryCompilationError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Top-level scalar select() is not supported by createLiveQueryCollection() or queryOnce(). ` +\n `Return an object from .select(), or use the scalar query inside toArray(...) or concat(toArray(...)).`\n : codedMessage(53),\n )\n }\n}\n\nexport class HavingRequiresGroupByError extends QueryCompilationError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `HAVING clause requires GROUP BY clause`\n : codedMessage(54),\n )\n }\n}\n\nexport class LimitOffsetRequireOrderByError extends QueryCompilationError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `LIMIT and OFFSET require an ORDER BY clause to ensure deterministic results`\n : codedMessage(55),\n )\n }\n}\n\n/**\n * Error thrown when a collection input stream is not found during query compilation.\n * In self-joins, each alias (e.g., 'employee', 'manager') requires its own input stream.\n */\nexport class CollectionInputNotFoundError extends QueryCompilationError {\n constructor(\n alias: string,\n collectionId?: string,\n availableKeys?: Array<string>,\n ) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? (() => {\n const details = collectionId\n ? `alias \"${alias}\" (collection \"${collectionId}\")`\n : `collection \"${alias}\"`\n const availableKeysMsg = availableKeys?.length\n ? `. Available keys: ${availableKeys.join(`, `)}`\n : ``\n return `Input for ${details} not found in inputs map${availableKeysMsg}`\n })()\n : codedMessage(56, {\n alias,\n collectionId,\n availableKeys,\n }),\n )\n }\n}\n\n/**\n * Retained for callers that imported this formerly thrown error.\n *\n * @deprecated Nested queries may now shadow ancestor aliases. Duplicate aliases\n * are rejected only within one lexical scope or union branch namespace.\n */\nexport class DuplicateAliasInSubqueryError extends QueryCompilationError {\n constructor(alias: string, parentAliases: Array<string>) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Subquery uses alias \"${alias}\" which is already used in the parent query. ` +\n `Each alias must be unique across parent and subquery contexts. ` +\n `Parent query aliases: ${parentAliases.join(`, `)}. ` +\n `Please rename \"${alias}\" in either the parent query or subquery to avoid conflicts.`\n : codedMessage(57, { alias, parentAliases }),\n )\n }\n}\n\nexport class UnsupportedFromTypeError extends QueryCompilationError {\n constructor(type: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Unsupported FROM type: ${type}`\n : codedMessage(58, { type }),\n )\n }\n}\n\nexport class UnknownExpressionTypeError extends QueryCompilationError {\n constructor(type: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Unknown expression type: ${type}`\n : codedMessage(59, { type }),\n )\n }\n}\n\nexport class EmptyReferencePathError extends QueryCompilationError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Reference path cannot be empty`\n : codedMessage(60),\n )\n }\n}\n\nexport class UnknownFunctionError extends QueryCompilationError {\n constructor(functionName: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Unknown function: ${functionName}`\n : codedMessage(61, { functionName }),\n )\n }\n}\n\nexport class JoinCollectionNotFoundError extends QueryCompilationError {\n constructor(collectionId: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Collection \"${collectionId}\" not found during compilation of join`\n : codedMessage(62, { collectionId }),\n )\n }\n}\n\n// JOIN Operation Errors\nexport class JoinError extends TanStackDBError {\n constructor(message: string) {\n super(message)\n this.name = `JoinError`\n }\n}\n\nexport class UnsupportedJoinTypeError extends JoinError {\n constructor(joinType: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Unsupported join type: ${joinType}`\n : codedMessage(63, { joinType }),\n )\n }\n}\n\nexport class InvalidJoinConditionSameSourceError extends JoinError {\n constructor(sourceAlias: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Invalid join condition: both expressions refer to the same source \"${sourceAlias}\"`\n : codedMessage(64, { sourceAlias }),\n )\n }\n}\n\nexport class InvalidJoinConditionSourceMismatchError extends JoinError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Invalid join condition: expressions must reference source aliases`\n : codedMessage(65),\n )\n }\n}\n\nexport class InvalidJoinConditionLeftSourceError extends JoinError {\n constructor(sourceAlias: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Invalid join condition: left expression refers to an unavailable source \"${sourceAlias}\"`\n : codedMessage(66, { sourceAlias }),\n )\n }\n}\n\nexport class InvalidJoinConditionRightSourceError extends JoinError {\n constructor(sourceAlias: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Invalid join condition: right expression does not refer to the joined source \"${sourceAlias}\"`\n : codedMessage(67, { sourceAlias }),\n )\n }\n}\n\nexport class InvalidJoinCondition extends JoinError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Invalid join condition`\n : codedMessage(68),\n )\n }\n}\n\nexport class UnsupportedJoinSourceTypeError extends JoinError {\n constructor(type: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Unsupported join source type: ${type}`\n : codedMessage(69, { type }),\n )\n }\n}\n\n// GROUP BY and Aggregation Errors\nexport class GroupByError extends TanStackDBError {\n constructor(message: string) {\n super(message)\n this.name = `GroupByError`\n }\n}\n\nexport class NonAggregateExpressionNotInGroupByError extends GroupByError {\n constructor(alias: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Non-aggregate expression '${alias}' in SELECT must also appear in GROUP BY clause`\n : codedMessage(70, { alias }),\n )\n }\n}\n\nexport class UnsupportedAggregateFunctionError extends GroupByError {\n constructor(functionName: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Unsupported aggregate function: ${functionName}`\n : codedMessage(71, { functionName }),\n )\n }\n}\n\nexport class AggregateFunctionNotInSelectError extends GroupByError {\n constructor(functionName: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Aggregate function in HAVING clause must also be in SELECT clause: ${functionName}`\n : codedMessage(72, { functionName }),\n )\n }\n}\n\nexport class UnknownHavingExpressionTypeError extends GroupByError {\n constructor(type: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Unknown expression type in HAVING clause: ${type}`\n : codedMessage(73, { type }),\n )\n }\n}\n\n// Storage Errors\nexport class StorageError extends TanStackDBError {\n constructor(message: string) {\n super(message)\n this.name = `StorageError`\n }\n}\n\nexport class SerializationError extends StorageError {\n constructor(operation: string, originalError: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Cannot ${operation} item because it cannot be JSON serialized: ${originalError}`\n : codedMessage(74, { operation, originalError }),\n )\n }\n}\n\n// LocalStorage Collection Errors\nexport class LocalStorageCollectionError extends StorageError {\n constructor(message: string) {\n super(message)\n this.name = `LocalStorageCollectionError`\n }\n}\n\nexport class StorageKeyRequiredError extends LocalStorageCollectionError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `[LocalStorageCollection] storageKey must be provided.`\n : codedMessage(75),\n )\n }\n}\n\nexport class InvalidStorageDataFormatError extends LocalStorageCollectionError {\n constructor(storageKey: string, key: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `[LocalStorageCollection] Invalid data format in storage key \"${storageKey}\" for key \"${key}\".`\n : codedMessage(76, { storageKey, key }),\n )\n }\n}\n\nexport class InvalidStorageObjectFormatError extends LocalStorageCollectionError {\n constructor(storageKey: string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `[LocalStorageCollection] Invalid data format in storage key \"${storageKey}\". Expected object format.`\n : codedMessage(77, { storageKey }),\n )\n }\n}\n\n// Sync Cleanup Errors\nexport class SyncCleanupError extends TanStackDBError {\n constructor(collectionId: string, error: Error | string) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Collection \"${collectionId}\" sync cleanup function threw an error: ${error instanceof Error ? error.message : String(error)}`\n : codedMessage(78, { collectionId, error }),\n )\n this.name = `SyncCleanupError`\n }\n}\n\n/** A sync transaction was canceled before its writes became visible. */\nexport class SyncTransactionAbortedError extends Error {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Sync transaction was aborted before application`\n : codedMessage(79),\n )\n this.name = `AbortError`\n }\n}\n\n/** A collection was cleaned up before its initial preload became ready. */\nexport class CollectionPreloadAbortedError extends Error {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Collection preload was abandoned during cleanup`\n : codedMessage(80),\n )\n this.name = `AbortError`\n }\n}\n\n/** A subset operation was canceled before its result became visible. */\nexport class LoadSubsetOperationAbortedError extends Error {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Load subset operation was aborted before its result became visible`\n : codedMessage(81),\n )\n this.name = `AbortError`\n }\n}\n\n// Query Optimizer Errors\nexport class QueryOptimizerError extends TanStackDBError {\n constructor(message: string) {\n super(message)\n this.name = `QueryOptimizerError`\n }\n}\n\nexport class CannotCombineEmptyExpressionListError extends QueryOptimizerError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Cannot combine empty expression list`\n : codedMessage(82),\n )\n }\n}\n\n/**\n * Internal error when the compiler returns aliases that don't have corresponding input streams.\n * This should never happen since all aliases come from user declarations.\n */\nexport class MissingAliasInputsError extends QueryCompilationError {\n constructor(missingAliases: Array<string>) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Internal error: compiler returned aliases without inputs: ${missingAliases.join(`, `)}. ` +\n `This indicates a bug in query compilation. Please report this issue.`\n : codedMessage(83, { missingAliases }),\n )\n }\n}\n\n/**\n * Error thrown when setWindow is called on a collection without an ORDER BY clause.\n */\nexport class SetWindowRequiresOrderByError extends QueryCompilationError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `setWindow() can only be called on collections with an ORDER BY clause. ` +\n `Add .orderBy() to your query to enable window movement.`\n : codedMessage(84),\n )\n }\n}\n\n/** Error thrown when setWindow is called from inside another setWindow call. */\nexport class SetWindowReentrancyError extends TanStackDBError {\n constructor() {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `setWindow() cannot run reentrantly. Wait for the current window operation to return before starting another one.`\n : codedMessage(85),\n )\n this.name = `SetWindowReentrancyError`\n }\n}\n\nexport class UnhashableQueryIRError extends Error {\n constructor(\n public readonly path: string,\n public readonly reason: string,\n ) {\n super(\n devBuild() && process.env.NODE_ENV !== `production`\n ? `Query IR is not stably hashable at ${path}: ${reason}`\n : codedMessage(87, { path, reason }),\n )\n this.name = `UnhashableQueryIRError`\n }\n}\n"],"names":["devBuild","codedMessage"],"mappings":"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"}