PatchbayRevealDecision class final
接入方对驱动一个滚动容器的决定,外加可收紧的预算。
「授权一次 reveal」不存在,存在的只有「授权驱动这一个容器」:准入容器求值 一次,此后每次升层是一次新的、完整的授权,每一步派发之前还会按同一入参 重问一次并逐项比对决策。
预算三层,只能收紧不能放宽,且 min 通过拒绝达成而不是静默夹取:
host 编译期硬顶(PatchbayRevealBudget.maxSteps /
PatchbayRevealBudget.maxDurationMs)→ 本决定 → 命令参数。参数越过本决定的
上限即 uiRevealBudgetExceeded,一步都不派发;本决定自身越过 host 硬顶同样
是 uiRevealBudgetExceeded,而不是被夹到硬顶。
Constructors
-
PatchbayRevealDecision.allow({Set<
String> gateIds = const <String>{}, int maxSteps = 40, int maxDurationMs = 30000}) -
const
- PatchbayRevealDecision.reject({String? rejectionCode = 'uiRevealDenied', String? rejectionNotice})
-
const
Properties
- allowed → bool
-
no setter
-
gateIds
→ Set<
String> -
该容器上每一步都要重新求值的声明门。
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- maxDurationMs → int
-
本次 reveal 允许的总时长上限,用于冻结那唯一一个 deadline。
final
- maxSteps → int
-
在这一个容器上允许派发的 scroll action 次数上限。
final
- rejectionCode → String?
-
final
- rejectionNotice → String?
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited