VCF / vCard
npm
Install via$ npm install --save vcf
Index
Usage
var vCard = require( 'vcf' )
Parsing a Single vCard
var card = new vCard().parse( string )
vCard {
version: '4.0',
data: {
version: [String: '4.0'],
n: [String: 'Gump;Forrest;;;'],
fn: [String: 'Forrest Gump'],
org: [String: 'Bubba Gump Shrimp Co.'],
title: [String: 'Shrimp Man'],
photo: { [String: 'http://www.example.com/dir_photos/my_photo.gif'] mediatype: 'image/gif' },
tel: [
{ [String: 'tel:+11115551212'] type: [ 'work', 'voice' ], value: 'uri' },
{ [String: 'tel:+14045551212'] type: [ 'home', 'voice' ], value: 'uri' }
],
adr: [
{ [String: ';;100 Waters Edge;Baytown;LA;30314;United States of America']
type: 'work',
label: '"100 Waters Edge\\nBaytown, LA 30314\\nUnited States of America"' },
{ [String: ';;42 Plantation St.;Baytown;LA;30314;United States of America']
type: 'home',
label: '"42 Plantation St.\\nBaytown, LA 30314\\nUnited States ofAmerica"' }
],
email: [String: 'forrestgump@example.com'],
rev: [String: '20080424T195243Z']
}
}
Parsing Multiple vCards
In order to deal with a string that contains multiple vCards, you will need to use a different function, which returns an array of cards:
var cards = vCard.parse( string )
Formats
Format: jCard
var card = vCard.fromJSON( data )
var jcard = card.toJSON()
[ "vcard",
[
[ "version", {}, "text", "4.0" ],
[ "n", {}, "text", [ "Gump", "Forrest", "", "", "" ] ],
[ "fn", {}, "text", "Forrest Gump" ],
[ "org", {}, "text", "Bubba Gump Shrimp Co." ],
[ "title", {}, "text", "Shrimp Man" ],
[
"photo", { "mediatype": "image/gif" },
"text", "http://www.example.com/dir_photos/my_photo.gif"
],
[ "tel", { "type": [ "work", "voice" ], "value": "uri" }, "uri", "tel:+11115551212" ],
[ "tel", { "type": [ "home", "voice" ], "value": "uri" }, "uri", "tel:+14045551212" ],
[
"adr", { "type": "work", "label":"\"100 Waters Edge\\nBaytown, LA 30314\\nUnited States of America\"" },
"text", [ "", "", "100 Waters Edge", "Baytown", "LA", "30314", "United States of America" ]
],
[
"adr", { "type": "home", "label": "\"42 Plantation St.\\nBaytown, LA 30314\\nUnited States ofAmerica\"" },
"text", [ "", "", "42 Plantation St.", "Baytown", "LA", "30314", "United States of America" ]
],
[ "email", {}, "text", "forrestgump@example.com" ],
[ "rev", {}, "text", "20080424T195243Z" ]
]
]
Format: VCF
var vcf = card.toString()
var vcf = card.toString( '4.0' )
BEGIN:VCARD
VERSION:4.0
N:Gump;Forrest;;;
FN:Forrest Gump
ORG:Bubba Gump Shrimp Co.
TITLE:Shrimp Man
PHOTO;MEDIATYPE=image/gif:http://www.example.com/dir_photos/my_photo.gif
TEL;TYPE=work,voice;VALUE=uri:tel:+11115551212
TEL;TYPE=home,voice;VALUE=uri:tel:+14045551212
ADR;TYPE=work;LABEL="100 Waters Edge\nBaytown, LA 30314\nUnited States
of America":;;100 Waters Edge;Baytown;LA;30314;United States of America
ADR;TYPE=home;LABEL="42 Plantation St.\nBaytown, LA 30314\nUnited
States ofAmerica":;;42 Plantation St.;Baytown;LA;30314;United States of
America
EMAIL:forrestgump@example.com
REV:20080424T195243Z
END:VCARD
API Reference
vCard
Kind: global class
-
vCard
- new vCard()
-
instance
-
.version :
String
-
.data :
Object
-
.get(key) ⇒
Object
|Array
- .set(key, value, params)
- .add(key, value, params)
- .setProperty(prop)
- .addProperty(prop)
-
.parse(value) ⇒
vCard
-
.toString(version, charset) ⇒
String
-
.toJCard(version) ⇒
Array
-
.toJSON() ⇒
Array
-
.version :
-
static
-
.Property
- new Property(field, value, params)
-
instance
-
.is(type) ⇒
Boolean
-
.isEmpty() ⇒
Boolean
-
.clone() ⇒
Property
-
.toString(version) ⇒
String
-
.valueOf() ⇒
String
-
.toJSON() ⇒
Array
-
.is(type) ⇒
-
static
-
.prototype :
Object
-
.fromJSON(data) ⇒
Property
-
.prototype :
-
.mimeType :
String
-
.extension :
String
-
.versions :
Array
-
.foldLine ⇒
String
-
.parseLines :
function
-
.normalize(input) ⇒
String
-
.isSupported(version) ⇒
Boolean
-
.parse(value) ⇒
Array.<vCard>
-
.fromJSON(jcard) ⇒
vCard
-
.format(card, version) ⇒
String
-
.Property
new vCard()
vCard
String
vCard.version : Version number
Kind: instance property of vCard
Object
vCard.data : Card data
Kind: instance property of vCard
Object
| Array
vCard.get(key) ⇒ Get a vCard property
Kind: instance method of vCard
Param | Type |
---|---|
key | String |
vCard.set(key, value, params)
Set a vCard property
Kind: instance method of vCard
Param | Type |
---|---|
key | String |
value | String |
params | Object |
vCard.add(key, value, params)
Add a vCard property
Kind: instance method of vCard
Param | Type |
---|---|
key | String |
value | String |
params | Object |
vCard.setProperty(prop)
Set a vCard property from an already constructed vCard.Property
Kind: instance method of vCard
Param | Type |
---|---|
prop | Property |
vCard.addProperty(prop)
Add a vCard property from an already constructed vCard.Property
Kind: instance method of vCard
Param | Type |
---|---|
prop | Property |
vCard
vCard.parse(value) ⇒ Parse a vcf formatted vCard
Kind: instance method of vCard
Param | Type |
---|---|
value | String |
String
vCard.toString(version, charset) ⇒ Format the vCard as vcf with given version
Kind: instance method of vCard
Param | Type |
---|---|
version | String |
charset | String |
Array
vCard.toJCard(version) ⇒ Format the card as jCard
Kind: instance method of vCard
Returns: Array
- jCard
Param | Type | Default |
---|---|---|
version | String |
'4.0' |
Array
vCard.toJSON() ⇒ Format the card as jCard
Kind: instance method of vCard
Returns: Array
- jCard
vCard.Property
Kind: static class of vCard
-
.Property
- new Property(field, value, params)
-
instance
-
.is(type) ⇒
Boolean
-
.isEmpty() ⇒
Boolean
-
.clone() ⇒
Property
-
.toString(version) ⇒
String
-
.valueOf() ⇒
String
-
.toJSON() ⇒
Array
-
.is(type) ⇒
-
static
-
.prototype :
Object
-
.fromJSON(data) ⇒
Property
-
.prototype :
new Property(field, value, params)
vCard Property
Param | Type |
---|---|
field | String |
value | String |
params | Object |
Boolean
property.is(type) ⇒ Check whether the property is of a given type
Kind: instance method of Property
Param | Type |
---|---|
type | String |
Boolean
property.isEmpty() ⇒ Check whether the property is empty
Kind: instance method of Property
Property
property.clone() ⇒ Clone the property
Kind: instance method of Property
String
property.toString(version) ⇒ Format the property as vcf with given version
Kind: instance method of Property
Param | Type |
---|---|
version | String |
String
property.valueOf() ⇒ Get the property's value
Kind: instance method of Property
Array
property.toJSON() ⇒ Format the property as jCard data
Kind: instance method of Property
Object
Property.prototype : Property prototype
Kind: static property of Property
Property
Property.fromJSON(data) ⇒ Constructs a vCard.Property from jCard data
Kind: static method of Property
Param | Type |
---|---|
data | Array |
String
vCard.mimeType : vCard MIME type
Kind: static property of vCard
String
vCard.extension : vCard file extension
Kind: static property of vCard
Array
vCard.versions : vCard versions
Kind: static property of vCard
String
vCard.foldLine ⇒ Folds a long line according to the RFC 5322.
Kind: static property of vCard
See: http://tools.ietf.org/html/rfc5322#section-2.1.1
Param | Type |
---|---|
input | String |
maxLength | Number |
hardWrap | Boolean |
function
vCard.parseLines : Parse an array of vcf formatted lines
Kind: static property of vCard
Internal: used by vCard#parse()
String
vCard.normalize(input) ⇒ Normalizes input (cast to string, line folding, whitespace)
Kind: static method of vCard
Param | Type |
---|---|
input | String |
Boolean
vCard.isSupported(version) ⇒ Check whether a given version is supported
Kind: static method of vCard
Param | Type |
---|---|
version | String |
Array.<vCard>
vCard.parse(value) ⇒ Parses a string or buffer into a vCard object
Kind: static method of vCard
Param | Type |
---|---|
value |
String | Buffer
|
vCard
vCard.fromJSON(jcard) ⇒ Constructs a vCard from jCard data
Kind: static method of vCard
Param | Type |
---|---|
jcard | Array |
String
vCard.format(card, version) ⇒ Format a card object according to the given version
Kind: static method of vCard
Param | Type |
---|---|
card | vCard |
version | String |