vcard-builder
TypeScript icon, indicating that this package has built-in type declarations

0.0.2 • Public • Published

VCard Builder

Installation

npm install vcard-builder

Usage

import vcf from 'vcard-builder'

 const vcard = await vcf.Builder(
		vcf.Version({ version: '3.0' }),
		vcf.Name({ familyName: "Mis'hal", givenName: 'Sami' }),
		vcf.Emails([
			{ email: 'samishal.1998@gmail.com', type: 'work' },
			{ email: '********@@gmail.com', type: 'personal' },
		]),
		vcf.Telephones([
			{ telephone: '+201000000000', type: 'work' },
			{ telephone: '+201512345687', type: 'personal' },
		]),
		vcf.URL({ label: 'Facebook', link: 'https://*****************' }),
		vcf.URL({ label: 'LinkedIn', link: 'https://www.linkedin.com/in/sami-mishal-612261161/' }),
		vcf.Gender({ gender: 'M' }),
	);
console.log(vcard)
 

Output

BEGIN:VCARD
VERSION:3.0
N:Mis'hal;Sami;;;
EMAIL;PREF=1;TYPE=work:samishal.1998@@gmail.com
EMAIL;PREF=2;TYPE=personal:********@gmail.com
TEL;PREF=1;TYPE=work:+201000000000
TEL;PREF=2;TYPE=personal:+201512345687
URL;TYPE=Facebook:https://*****************
URL;TYPE=LinkedIn:https://www.linkedin.com/in/sami-mishal-612261161/
GENDER:M

Custom Builder

This Package is in it's early stages, so if you require extra properties/tags that are not yet defined then you can use the vcf.Custom function which should a one line string representing a line in the vcard. Also, If you're familiar with the Vcard format then you can add your own functions that return VCardPropertyDefinition[]

Next Steps

[ ] - Add validation depending on the Vcard version [ ] - Implement All the native Properties/Tags [ ] - Implement All the x-apple Properties/Tags

Package Sidebar

Install

npm i vcard-builder

Weekly Downloads

31

Version

0.0.2

License

MIT

Unpacked Size

70.2 kB

Total Files

155

Last publish

Collaborators

  • sami.mishal