findCapitalByProvince returns the capital city of an Iranian province given its Persian name.
Function
Behaviour
- Normalize the input via
toPersianChars— Arabic-keyboardك/يare tolerated. - Look up in
IRAN_STATES(aMap<string, string>). - Return the capital, or throw
PersianToolsError("findCapitalByProvince", "no province found")if unknown.
Return type isstring. The function throws on unknown input; it does not returnundefined. Wrap calls intry/catchor pre-validate against the keys.
Pitfalls
- Throws on unknown province.
- Input must be Persian. Latin transliterations like
"Tehran"won’t match. - Equality is exact after
toPersianChars— extra whitespace, ZWNJ, or diacritics will miss. Normalize upstream if input is user-typed. - To list all provinces for autocomplete, iterate
Array.from(IRAN_STATES.keys()).
Composition
Source
src/modules/findCapitalByProvince/index.ts, states.ts · Tests: test/findCapitalByProvince.spec.ts