JSON-serializable shape of MatcherCriteria. Every numeric field
(BigNumber | number) is rendered as its decimal string form because
JSON.parse cannot reconstruct a BigNumber and any pin we audit must
survive a jsonb round-trip without lossy Number coercion.
Used as the $type<> for product_quote.data (the persisted criteria
snapshot the resolver evaluated against) and produced by
toPinnedCriteria in product-services/src/internal/pinnedCriteria.ts
— that codec lives outside the schema module so this file stays free of
BigNumber-arithmetic code.
JSON-serializable shape of MatcherCriteria. Every numeric field (BigNumber | number) is rendered as its decimal string form because
JSON.parsecannot reconstruct aBigNumberand any pin we audit must survive a jsonb round-trip without lossyNumbercoercion.Used as the
$type<>forproduct_quote.data(the persisted criteria snapshot the resolver evaluated against) and produced bytoPinnedCriteriainproduct-services/src/internal/pinnedCriteria.ts— that codec lives outside the schema module so this file stays free of BigNumber-arithmetic code.