@sroussey/parse-address
Version:
International street address parser for 220 jurisdictions (US, CA + 218 countries and territories), with SEC EDGAR country-code resolution
44 lines (43 loc) • 2.23 kB
TypeScript
import type { CountryMappings } from "./types/ruleset.js";
import { AddressParserImpl } from "./types/parser.js";
import type { ParsedAddress } from "./types/address.js";
/**
* Resolve a country selector to an internal parser key. Accepts our internal
* ISO alpha-2 keys ("us", "de", "ky", …) and SEC EDGAR "State or Country" codes
* ("K3" → Hong Kong, "L3" → Israel, …). A SEC code is resolved to its modern
* ISO country; an obsolete code with no successor, or a real country we do not
* have a grammar for yet, throws a descriptive error.
*/
export declare function resolveCountryKey(input: string): CountryMappings;
export type { ParsedAddress, AddressTestCase, AddressTestCaseMap, } from "./types/address.js";
export type { CountryMappings, AddressRuleset } from "./types/ruleset.js";
export { AddressParserImpl } from "./types/parser.js";
export declare class AddressParser implements AddressParserImpl {
parser: AddressParserImpl;
constructor(country?: string);
normalizeAddress(parts: any): any;
private get ignored();
private run;
private looksLikeStreet;
parseAddress(address: string): ParsedAddress | null;
parseStreet(address: string): ParsedAddress | null;
parseInformalAddress(address: string): ParsedAddress | null;
parsePoAddress(address: string): ParsedAddress | null;
parseLocation(address: string): ParsedAddress | null;
parseIntersection(address: string): any;
findStreetTypeShortCode(streetType?: string): string;
droppableTokens(): string[];
}
export declare class IntlAddressParser {
private parsers;
private pick;
parseLocation(address: string, country?: string): ParsedAddress | null;
parseAddress(address: string, country?: string): ParsedAddress | null;
parseInformalAddress(address: string, country?: string): ParsedAddress | null;
parseStreet(address: string, country?: string): ParsedAddress | null;
parsePoAddress(address: string, country?: string): ParsedAddress | null;
parseIntersection(address: string, country?: string): any;
}
/** Default US parser instance (convenience for `import addressParser from ...`). */
declare const addressParser: AddressParser;
export default addressParser;