Kaizen
Browse modulesPricingpricing/sharedTypes

Type Alias: PartitionPricingResultOptions<TContext *extends* [`EvaluatePricingContext`](EvaluatePricingContext.md) = [`EvaluatePricingContext`](EvaluatePricingContext.md)>

type PartitionPricingResultOptions<TContext extends EvaluatePricingContext = EvaluatePricingContext> = {
  customConditions?: CustomConditionDef<unknown, TContext>[];
  lineItemScopes?: Record<string, string>;
};

Defined in: shared/pricing/partition-rules-result.ts:24

Type Parameters

Type ParameterDefault type
TContext extends EvaluatePricingContextEvaluatePricingContext

Properties

customConditions?

optional customConditions?: CustomConditionDef<unknown, TContext>[];

Defined in: shared/pricing/partition-rules-result.ts:47

Custom condition definitions used by the engine's outer match. Line-level rules are re-evaluated against one line item at a time during attachment, so the same definitions must be available here to preserve custom condition semantics.


lineItemScopes?

optional lineItemScopes?: Record<string, string>;

Defined in: shared/pricing/partition-rules-result.ts:40

Section-rooted scope mapping used to re-resolve line-item scopes per individual line item. Same shape as PRICING_SCOPES.line_items — paths are rooted at one line item, not the full context (no line_items.*. prefix).

Callers routing through evaluatePricing get the merged (built-in + consumer-supplied) line_items section threaded through automatically. Direct callers default to the package's built-in PRICING_SCOPES.line_items (only the universal module discriminator) and should pass their own mapping if their rules scope on product-specific line-item fields.

On this page