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
| Parameter | Type | Description |
|---|---|---|
branchIds | readonly string[] | 全部 active 分支的 id,已按字典序排好 |
Returns
AmbiguousActiveBranchError
Overrides
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
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
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
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
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
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
| Parameter | Type |
|---|---|
targetObject | object |
constructorOpt? | Function |
Returns
void
Inherited from
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
| Parameter | Type |
|---|---|
err | Error |
stackTraces | CallSite[] |
Returns
any
See
https://v8.dev/docs/stack-trace-api#customizing-stack-traces