Skip to content

Hooks

Hooks allow plugins and integrations to observe or modify behavior at well-defined points in the pipeline.

Use the sections below to find the hook you need, then tap it from the corresponding .hooks object.

Access pattern: asyncNode.hooks.<name>

HookTypeSignature
onAsyncNodeErrorSyncBailHook[Error, Node.Async], any
Sync hook to manage errors coming from the onAsyncNode hook. Return a fallback node or null to render a fallback. The first argument of passed in the call is the error thrown.

Access pattern: asyncNodePlugin.hooks.<name>

HookTypeSignature
onAsyncNodeErrorSyncBailHook[Error, Node.Async], any
Sync hook to manage errors coming from the onAsyncNode hook. Return a fallback node or null to render a fallback. The first argument of passed in the call is the error thrown.

Access pattern: beaconPlugin.hooks.<name>

HookTypeSignature
cancelBeaconSyncBailHook[HookArgs], boolean
publishBeaconSyncHook[any]

Access pattern: bindingParser.hooks.<name>

HookTypeSignature
beforeResolveNodeSyncWaterfallHook[AnyNode, BeforeResolveNodeContext]
skipOptimizationSyncBailHook[string], boolean

Access pattern: dataController.hooks.<name>

HookTypeSignature
deformatSyncWaterfallHook[any, BindingInstance]
formatSyncWaterfallHook[any, BindingInstance]
onDeleteSyncHook[any]
onGetSyncHook[any, any]
onSetSyncHook[BatchSetTransaction]
onUpdateSyncHook[Updates, DataModelOptions | undefined]
resolveSyncWaterfallHook
resolveDataStagesSyncWaterfallHook[DataPipeline]
resolveDefaultValueSyncBailHook[BindingInstance], any
serializeSyncWaterfallHook[any]

Access pattern: expressionEvaluator.hooks.<name>

HookTypeSignature
beforeEvaluateSyncWaterfallHook[ExpressionType, HookOptions]
onErrorSyncBailHook[Error], true
resolveSyncWaterfallHook[any, ExpressionNode, HookOptions]
resolveOptionsSyncWaterfallHook[HookOptions]

Access pattern: flowController.hooks.<name>

HookTypeSignature
flowSyncHook[FlowInstance], Record<string, any>

Access pattern: flow.hooks.<name>

HookTypeSignature
afterTransitionSyncHook[FlowInstance], Record<string, any>
A callback to run actions after a transition occurs
beforeStartSyncBailHook[NavigationFlow], NavigationFlow, Record<string, any>
beforeTransitionSyncWaterfallHook[ ( | NavigationFlowViewState | NavigationFlowFlowState | NavigationFlowActionState | NavigationFlowAsyncActionState | NavigationFlowExternalState ), string, ], Record<string, any>
A chance to manipulate the flow-node used to calculate the given transition used
onEndSyncHook[any], Record<string, any>
A callback when the onEnd node was present
onStartSyncHook[any], Record<string, any>
A callback when the onStart node was present
resolveTransitionNodeSyncWaterfallHook[NavigationFlowState], Record<string, any>
A chance to manipulate the flow-node calculated after a transition
skipTransitionSyncBailHook[NamedState | undefined], boolean | undefined, Record<string, any>
A hook to intercept and block a transition
transitionSyncHook[NamedState | undefined, NamedState], Record<string, any>
A callback when a transition from 1 state to another was made

Access pattern: metricsCorePlugin.hooks.<name>

HookTypeSignature
onFlowBeginSyncHook[PlayerFlowMetrics]
onFlowEndSyncHook[PlayerFlowMetrics]
onInteractiveSyncHook[Timing, PlayerFlowMetrics]
onNodeEndSyncHook[NodeMetrics | NodeRenderMetrics]
onNodeStartSyncHook[NodeMetrics | NodeRenderMetrics]
onRenderEndSyncHook[Timing, NodeRenderMetrics, PlayerFlowMetrics]
onRenderStartSyncHook[Timing, NodeRenderMetrics, PlayerFlowMetrics]
onUpdateSyncHook[PlayerFlowMetrics]
onUpdateEndSyncHook[Timing, NodeRenderMetrics, PlayerFlowMetrics]
onUpdateStartSyncHook[Timing, NodeRenderMetrics, PlayerFlowMetrics]
resolveRequestTimeSyncBailHook[], number

Access pattern: parser.hooks.<name>

HookTypeSignature
onCreateASTNodeSyncWaterfallHook[Node.Node | undefined | null, object]
A callback to interact with an AST after we parse it into the AST
onParseObjectSyncWaterfallHook[object, NodeType]
A hook to interact with an object before parsing it into an AST
parseNodeSyncBailHook[ obj: object, nodeType: Node.ChildrenTypes, parseOptions: ParseObjectOptions, childOptions?: ParseObjectChildOptions, ], Node.Node | Node.Child[]
A hook to call when parsing an object into an AST node

Access pattern: pipelinedDataModel.hooks.<name>

HookTypeSignature
onSetSyncHook[BatchSetTransaction]

Access pattern: player.hooks.<name>

HookTypeSignature
bindingParserSyncHook[BindingParser], Record<string, any>
Manages parsing binding
dataControllerSyncHook[DataController], Record<string, any>
The hook that creates and manages data
expressionEvaluatorSyncHook[ExpressionEvaluator], Record<string, any>
Called when an expression evaluator was created
flowControllerSyncHook[FlowController], Record<string, any>
The hook that fires every time we create a new flowController (a new Content blob is passed in)
onEndSyncHook[], Record<string, any>
A hook for when the flow ends either in success or failure
onStartSyncHook[Flow<Asset<string>>], Record<string, any>
A hook to access the current flow
resolveFlowContentSyncWaterfallHook[Flow<Asset<string>>], Record<string, any>
Mutate the Content flow before starting
schemaSyncHook[SchemaController], Record<string, any>
Called after the schema is created for a flow
stateSyncHook[PlayerFlowState], Record<string, any>
A that’s called for state changes in the flow execution
validationControllerSyncHook[ValidationController], Record<string, any>
Manages validations (schema and x-field )
viewSyncHook[ViewInstance], Record<string, any>
A hook called every-time there’s a new view. This is equivalent to the view hook on the view-controller
viewControllerSyncHook[ViewController], Record<string, any>
The hook that updates/handles views

Access pattern: resolveBindingAST.hooks.<name>

HookTypeSignature
beforeResolveNodeSyncWaterfallHook[AnyNode, Required<NormalizedResult> & ResolveBindingASTOptions]
A hook for transforming a node before fully resolving it

Access pattern: resolver.hooks.<name>

HookTypeSignature
afterNodeUpdateSyncHook[Node.Node, Node.Node | undefined, NodeUpdate]
Called at the very end of a node’s tree being updated
afterResolveSyncWaterfallHook[any, Node.Node, Resolve.NodeResolveOptions]
A hook to transform the resolved value of an AST node. This runs after all children nodes are resolved
afterUpdateSyncHook[any]
An event emitted after calculating the next update
beforeResolveSyncWaterfallHook[Node.Node | null, Resolve.NodeResolveOptions]
A hook to transform the AST node into a new AST node before resolving it
beforeUpdateSyncHook[Set<BindingInstance> | undefined]
An event emitted before calculating the next update
resolveSyncWaterfallHook[any, Node.Node, Resolve.NodeResolveOptions]
A hook to transform an AST node into it’s resolved value. This runs before any children are resolved
resolveOptionsSyncWaterfallHook[Resolve.NodeResolveOptions, Node.Node]
The options passed to a node to resolve it to an object
skipResolveSyncWaterfallHook[boolean, Node.Node, Resolve.NodeResolveOptions]
A hook to allow skipping of the resolution tree for a specific node

Access pattern: schema.hooks.<name>

HookTypeSignature
resolveTypeForBindingSyncWaterfallHook[SchemaType.DataTypes | undefined, BindingInstance]

Access pattern: tapableLogger.hooks.<name>

HookTypeSignature
debugSyncHook[Array<any>]
errorSyncHook[Array<any>]
infoSyncHook[Array<any>]
logSyncHook[Severity, Array<any>]
traceSyncHook[Array<any>]
warnSyncHook[Array<any>]

Access pattern: templatePlugin.hooks.<name>

HookTypeSignature
resolveTemplateSubstitutionsSyncWaterfallHook[TemplateSubstitution[], TemplateItemInfo]

Access pattern: validation.hooks.<name>

HookTypeSignature
createValidatorRegistrySyncHook[ValidatorRegistry]
onAddValidationSyncWaterfallHook[ValidationResponse, BindingInstance]
onRemoveValidationSyncWaterfallHook[ValidationResponse, BindingInstance]
onTrackBindingSyncHook[BindingInstance]
resolveValidationProvidersSyncWaterfallHook[ Array<{ source: string; provider: ValidationProvider; }>, ], { view?: ViewInstance; }

Access pattern: view.hooks.<name>

HookTypeSignature
onUpdateSyncHook[ViewType]
Hook every time there is an update to this view instance
parserSyncHook[Parser]
Hook to retrieve the parser used for this view
resolverSyncHook[Resolver]
Hook to retrieve the resolver used for this view
templatePluginSyncHook[TemplatePlugin]
Hook to retrieve the template plugin used for this view

Access pattern: viewController.hooks.<name>

HookTypeSignature
resolveViewSyncWaterfallHook[View | undefined, string, NavigationFlowViewState]
Do any processing before the View instance is created
viewSyncHook[ViewInstance]
The hook right before the View starts resolving. Attach anything custom here

Access pattern: view.hooks.<name>

HookTypeSignature
onUpdateSyncHook[ViewType]
Hook every time there is an update to this view instance
parserSyncHook[Parser]
Hook to retrieve the parser used for this view
resolverSyncHook[Resolver]
Hook to retrieve the resolver used for this view
templatePluginSyncHook[TemplatePlugin]
Hook to retrieve the template plugin used for this view