vcard4
Version:
An RFC 6350 compliant JavaScript library for generating and parsing version 4.0 vCards. Can also generate RFC 6351 compliant XML vCards and RFC 7095 compliant jCards. TypeScript type declarations are provided.
21 lines (16 loc) • 716 B
JavaScript
import { MissingArgument } from "../errors/index.js";
import { Tokenizer } from "./Tokenizer.js";
import { Parser } from "./Parser.js";
export function parse(vcard) {
if (typeof vcard === "undefined")
throw new MissingArgument("vCard to be parsed must be supplied");
else if (typeof vcard !== "string")
throw new TypeError("vCard to be parsed must be of type string");
const tokenizedVcard = new Tokenizer(vcard);
if (tokenizedVcard.numberOfVcards === 1)
return new Parser(tokenizedVcard.tokens).parsed;
const _tokenizedVcards = [];
for (const tokenVcard of tokenizedVcard.tokens)
_tokenizedVcards.push(new Parser(tokenVcard).parsed);
return _tokenizedVcards;
}