getEntryFeeRange
This method is a candidate for removal from production governors and engine exports at 8.0.0. Its 7.x route has not been removed. Final removal and standalone package-export decisions require the per-method review and external-integrator confirmation described in the transition index.
Source-local contract
The declaration below is copied from the pinned source revision; referenced types are defined there. It is an implementation signature, not a package import example.
/**
* The lowest and highest of a set of fees — or nothing, when they cannot honestly be compared.
*
* A displayed price range ("$30–$155") is only meaningful if every contributing fee is denominated
* identically. Comparing across currencies picks the smaller NUMBER rather than the smaller VALUE:
* 40 EUR "beats" 45 USD on arithmetic that means nothing. So the range is computed only over the
* single most common `currencyCode`/`unit` pair, and everything else is REPORTED rather than folded
* in or dropped.
*
* Returns `undefined` when no fee can be resolved at all, so the caller renders nothing rather than
* a zero.
*/
export function getEntryFeeRange(fees?: RegistrationEntryFee[] | null): EntryFeeRange | undefined;
Engine effects
State writes: not yet assessed. Notices: not yet assessed. Governor query/mutate placement is not proof of purity; review the implementation and engine path before deciding exposure.
Consumer evidence
The refreshed source-name scan found no name mentions in the scanned product source files. This does not establish external-integrator non-use. The manifest records repository revisions and scan exclusions. External-integrator confirmation is pending.
Availability and ownership
- Production governor declarations:
entriesGovernor,queryGovernor. - Standalone package API after 8.0.0: decision pending; this page does not establish a supported import.
- Implementation:
src/query/entries/resolveEntryFee.ts—getEntryFeeRange. Source paths and aliases are not package import paths. - Replacement workflow: not yet established; no supported replacement is promised.
- Test-only adapters: may exercise this implementation independently of production engine exports; this is not evidence of product use.
Preserved 7.x reference
The passages below preserve the existing governor documentation. Engine examples describe 7.x availability, not an 8.x replacement. Source contracts take precedence where an explicitly noted correction applies.
From governors/entries-governor.md
These are direct governor calls in 7.x. They do not establish an 8.x standalone import; in particular, the fee-range helper takes a raw array rather than an engine parameter object.
The lowest and highest of a set of fees — or nothing, when they cannot be compared.
const range = entriesGovernor.getEntryFeeRange(fees);
// { min: { amount, currencyCode, unit }, max: { ... }, indeterminate: [], incomparable: [] }
A displayed price range ("$30–$155") is only meaningful if every contributing fee is denominated identically. Comparing across currencies picks the smaller number rather than the smaller value: 40 EUR "beats" 45 USD on arithmetic that means nothing.
So the range is computed only over the single most common currencyCode/unit pair — the largest group, so one stray currency does not suppress an otherwise usable range — and everything else is reported rather than folded in or dropped:
indeterminate— fees that could not be resolved at all, present so a caller can disclose rather than hide them.incomparable— the distinctcurrencyCode/unitpairs found beyond the one the range is denominated in.
Returns undefined when no fee can be resolved at all, so the caller renders nothing rather than a zero.