跳到主要内容

AmbiguousActiveBranchError

Defined in: packages/rxdb/src/system/active-branch-guard.ts:153

RxDBBranch.activated 有多行为真。

Remarks​

首次启用迁移命中即整条迁移回滚(FR-048)。守卫自己不「挑一个留下」: 两行 active 时「当前分支是谁」没有答案,猜错的那一半会被当成另一条分支的历史写进 提交图,而用户看不到任何异常。

携带的只有分支 id——诊断要回答的是「哪两条打架」,不是它们里面有什么。

Extends​

Constructors​

Constructor​

new AmbiguousActiveBranchError(branchIds): AmbiguousActiveBranchError;

Defined in: packages/rxdb/src/system/active-branch-guard.ts:168

Parameters​

ParameterTypeDescription
branchIdsreadonly string[]全部 active 分支的 id,已按字典序排好

Returns​

AmbiguousActiveBranchError

Overrides​

RxDBError.constructor

Properties​

branchIds​

readonly branchIds: readonly string[];

Defined in: packages/rxdb/src/system/active-branch-guard.ts:170

全部 active 分支的 id,已按字典序排好


cause?​

optional cause?: unknown;

Defined in: node_modules/.pnpm/typescript@6.0.3_patch_hash=ef3c2292deb88eb14130359d5acc1febc0226af46b7b945db6c7250c6cb4efbb/node_modules/typescript/lib/lib.es2022.error.d.ts:24

Inherited from​

RxDBError.cause


code​

readonly code: "ambiguous_active_branch" = 'ambiguous_active_branch';

Defined in: packages/rxdb/src/system/active-branch-guard.ts:166

稳定错误码,恒为 'ambiguous_active_branch'

Remarks​

字面量而非 CommitErrorCode.ambiguous_active_branch:那张码表随提交能力走进 @aiao/rxdb-plugin-working-tree,而本守卫是分支拓扑不变量、留在核心。核心为了 一个字符串反向依赖插件,等于把「不装插件」这件事又变成不可能。

两边不会漂:码表是 const 对象不是 enum(见插件侧 commit-error-codes.ts 自陈的 理由),成员的静态类型就是普通字符串字面量,因此本字面量与 CommitErrorCode 逐值兼容; 且码表那侧有一条钉死键值逐字相同的测试。


message​

message: string;

Defined in: node_modules/.pnpm/typescript@6.0.3_patch_hash=ef3c2292deb88eb14130359d5acc1febc0226af46b7b945db6c7250c6cb4efbb/node_modules/typescript/lib/lib.es5.d.ts:1075

Inherited from​

RxDBError.message


name​

name: string;

Defined in: node_modules/.pnpm/typescript@6.0.3_patch_hash=ef3c2292deb88eb14130359d5acc1febc0226af46b7b945db6c7250c6cb4efbb/node_modules/typescript/lib/lib.es5.d.ts:1074

Inherited from​

RxDBError.name


stack?​

optional stack?: string;

Defined in: node_modules/.pnpm/typescript@6.0.3_patch_hash=ef3c2292deb88eb14130359d5acc1febc0226af46b7b945db6c7250c6cb4efbb/node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from​

RxDBError.stack


stackTraceLimit​

static stackTraceLimit: number;

Defined in: node_modules/.pnpm/@types+node@26.6.3/node_modules/@types/node/globals.d.ts:67

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.

Inherited from​

RxDBError.stackTraceLimit

Methods​

captureStackTrace()​

static captureStackTrace(targetObject, constructorOpt?): void;

Defined in: node_modules/.pnpm/@types+node@26.6.3/node_modules/@types/node/globals.d.ts:51

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​

ParameterType
targetObjectobject
constructorOpt?Function

Returns​

void

Inherited from​

RxDBError.captureStackTrace


prepareStackTrace()​

static prepareStackTrace(err, stackTraces): any;

Defined in: node_modules/.pnpm/@types+node@26.6.3/node_modules/@types/node/globals.d.ts:55

Parameters​

ParameterType
errError
stackTracesCallSite[]

Returns​

any

See​

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from​

RxDBError.prepareStackTrace