Page Contents

Home > @loopback/context > compareBindingsByTag

compareBindingsByTag() function

Creates a binding compare function to sort bindings by tagged phase name.

Signature:

export declare function compareBindingsByTag(phaseTagName?: string, orderOfPhases?: (string | symbol)[]): BindingComparator;

Parameters

Parameter Type Description
phaseTagName string (Optional) Name of the binding tag for phase
orderOfPhases (string | symbol)[] (Optional) An array of phase names as the predefined order

Returns:

BindingComparator

Remarks

Two bindings are compared as follows:

  1. Get values for the given tag as phase for bindings, if the tag is not present, default phase to ''. 2. If both bindings have phase value in orderOfPhases, honor the order specified by orderOfPhases. 3. If a binding’s phase does not exist in orderOfPhases, it comes before the one with phase exists in orderOfPhases. 4. If both bindings have phase value outside of orderOfPhases, they are ordered by phase names alphabetically and symbol values come before string values.