INNER CODE UNIT · TypeScript

parseAddressList

postalsys/postal-mime · src/address-parser.ts:447

function parseAddressList(str: string, depth: number): Address[] {
    // Prevent stack overflow from deeply nested groups (DoS protection)
    if (depth > MAX_NESTED_GROUP_DEPTH) {
        return [];
    }

    let tokenizer = new Tokenizer(str);
    let tokens = tokenizer.tokenize();

    let addresses: Token[][] = [];
    let address: Token[] = [];
    const parsedAddresses: Address[] = [];

    tokens.forEach(token => {
        if (token.type === 'operator' && (token.value === ',' || token.value === ';')) {
            if (address.length) {
                addresses.push(address);
            }

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…