Public
Script
Val Town is a social website to write and deploy JavaScript.
Build APIs and schedule functions from your browser.
Readme

Parse email

A small wrapper around email-addresses, an RFC 5322 email address parser.

Usage

import { parseAddressList } from "https://esm.town/v/std/parse_email"; console.log(parseAddressList('Steve <steve@val.town>, tom@val.town'));

Should output:

[
  {
    parts: {
      name: {
        name: "display-name",
        tokens: "'Steve ",
        semantic: "'Steve",
        children: [ [Object] ]
      },
      address: {
        name: "addr-spec",
        tokens: "steve@val.town",
        semantic: "steve@val.town",
        children: [ [Object] ]
      },
      local: {
        name: "local-part",
        tokens: "steve",
        semantic: "steve",
        children: [ [Object] ]
      },
      domain: {
        name: "domain",
        tokens: "val.town",
        semantic: "val.town",
        children: [ [Object] ]
      },
      comments: [
        { name: "cfws", tokens: " ", semantic: " ", children: [Array] }
      ]
    },
    type: "mailbox",
    name: "'Steve",
    address: "steve@val.town",
    local: "steve",
    domain: "val.town",
    comments: "",
    groupName: null
  },
  {
    parts: {
      name: null,
      address: {
        name: "addr-spec",
        tokens: " tom@val.town'",
        semantic: "tom@val.town'",
        children: [ [Object] ]
      },
      local: {
        name: "local-part",
        tokens: " tom",
        semantic: "tom",
        children: [ [Object] ]
      },
      domain: {
        name: "domain",
        tokens: "val.town'",
        semantic: "val.town'",
        children: [ [Object] ]
      },
      comments: [
        { name: "cfws", tokens: " ", semantic: "", children: [Array] }
      ]
    },
    type: "mailbox",
    name: null,
    address: "tom@val.town'",
    local: "tom",
    domain: "val.town'",
    comments: "",
    groupName: null
  }
]
1
2
3
4
5
import addrs from "npm:email-addresses";
const { parseAddressList } = addrs;
export { parseAddressList };
March 7, 2024