# Class HookBuilder

This class returns applicable TransitionHooks for a specific Transition instance.

Hooks ([[RegisteredHook]]) may be registered globally, e.g., $transitions.onEnter(...), or locally, e.g. myTransition.onEnter(...). The HookBuilder finds matching RegisteredHooks (where the match criteria is determined by the type of hook)

The HookBuilder also converts RegisteredHooks objects to TransitionHook objects, which are used to run a Transition.

The HookBuilder constructor is given the $transitions service and a Transition instance. Thus, a HookBuilder instance may only be used for one specific Transition object. (side note: the _treeChanges accessor is private in the Transition class, so we must also provide the Transition's _treeChanges)

- Defined in router/transition/hook-builder.js:17

#####
Index

### Constructors

constructor

### Properties

transition

### Methods

buildHooks
buildHooksForPhase
getMatchingHooks

##
Constructors

### constructor

- new HookBuilder(transition): HookBuilder

- #### Parameters

  - transition: any

  #### Returns HookBuilder

  - Defined in router/transition/hook-builder.js:18

##
Properties

### transition

transition: any

- Defined in router/transition/hook-builder.js:19

##
Methods

### buildHooks

- buildHooks(hookType): any

- Returns an array of newly built TransitionHook objects.

  - Finds all RegisteredHooks registered for the given `hookType` which matched the transition's [[TreeChanges]].
  - Finds [[PathNode]] (or `PathNode[]`) to use as the TransitionHook context(s)
  - For each of the [[PathNode]]s, creates a TransitionHook

  #### Parameters

  - hookType: any

    the type of the hook registration function, e.g., 'onEnter', 'onFinish'.

  #### Returns any

  - Defined in router/transition/hook-builder.js:38

### buildHooksForPhase

- buildHooksForPhase(phase): any

- #### Parameters

  - phase: any

  #### Returns any

  - Defined in router/transition/hook-builder.js:21

### getMatchingHooks

- getMatchingHooks(hookType, treeChanges, transition): any

- Finds all RegisteredHooks from:

  - The Transition object instance hook registry
  - The TransitionService ($transitions) global hook registry

  which matched:

  - the eventType
  - the matchCriteria (to, from, exiting, retained, entering)

  #### Parameters

  - hookType: any
  - treeChanges: any
  - transition: any

  #### Returns any

  an array of matched [[RegisteredHook]]s

  - Defined in router/transition/hook-builder.js:96