PromotionConditions are used to create Promotions. The purpose of a PromotionCondition
is to check the order against a particular predicate function (the check function) and to return
true if the Order satisfies the condition, or false if it does not.
ConfigurableOperationDef<T>number0Used to determine the order of application of multiple Promotions
on the same Order. See the Promotion priorityScore field for
more information.
C(ctx: RequestContext, order: Order, args: ConfigArg[], promotion: Promotion) => Promise<R>This is the function which contains the conditional logic to decide whether a Promotion should apply to an Order. See CheckPromotionConditionFn.
This object is used to configure a PromotionCondition.
ConfigurableOperationDefOptions<T>A function which checks whether or not a given Order satisfies the PromotionCondition.
The function should return either a boolean or and plain object type:
false: The condition is not satisfied - do not apply PromotionActionstrue: The condition is satisfied, apply PromotionActions{ [key: string]: any; }: The condition is satisfied, apply PromotionActions
and pass this object into the PromotionAction's state argument.