{"id":18264071,"url":"https://github.com/linusbolls/node-vcf","last_synced_at":"2025-04-09T01:29:15.671Z","repository":{"id":155597828,"uuid":"497117543","full_name":"LinusBolls/node-vcf","owner":"LinusBolls","description":"Fork of the vcf NPM package for parsing vCards","archived":false,"fork":false,"pushed_at":"2022-05-27T19:48:45.000Z","size":226,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-14T19:47:26.973Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LinusBolls.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-27T19:39:07.000Z","updated_at":"2024-11-19T03:47:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"713d8b79-e0ee-48a3-942f-d005f990493b","html_url":"https://github.com/LinusBolls/node-vcf","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinusBolls%2Fnode-vcf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinusBolls%2Fnode-vcf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinusBolls%2Fnode-vcf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinusBolls%2Fnode-vcf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LinusBolls","download_url":"https://codeload.github.com/LinusBolls/node-vcf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247956094,"owners_count":21024513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T11:13:38.410Z","updated_at":"2025-04-09T01:29:15.644Z","avatar_url":"https://github.com/LinusBolls.png","language":"JavaScript","readme":"# VCF / vCard\n[![npm](https://img.shields.io/npm/v/vcf.svg?style=flat-square)](https://npmjs.com/package/vcf)\n[![npm license](https://img.shields.io/npm/l/vcf.svg?style=flat-square)](https://npmjs.com/package/vcf)\n[![npm downloads](https://img.shields.io/npm/dm/vcf.svg?style=flat-square)](https://npmjs.com/package/vcf)\n[![build status](https://img.shields.io/travis/jhermsmeier/node-vcf.svg?style=flat-square)](https://travis-ci.org/jhermsmeier/node-vcf)\n\n## Install via [npm](https://npmjs.com)\n\n```sh\n$ npm install --save vcf\n```\n\n## Index\n\n* [Usage](#usage)\n  - [Parsing](#parsing-a-vcard)\n* [Formats](#formats)\n  - [jCard](#format-jcard)\n  - [vCard](#format-vcf)\n* [API Reference](#api-reference)\n* [Benchmarks](#benchmarks)\n\n## Usage\n\n```javascript\nvar vCard = require( 'vcf' )\n```\n\n### Parsing a Single vCard\n\n```js\nvar card = new vCard().parse( string )\n```\n\n```js\nvCard {\n  version: '4.0',\n  data: {\n    version: [String: '4.0'],\n    n: [String: 'Gump;Forrest;;;'],\n    fn: [String: 'Forrest Gump'],\n    org: [String: 'Bubba Gump Shrimp Co.'],\n    title: [String: 'Shrimp Man'],\n    photo: { [String: 'http://www.example.com/dir_photos/my_photo.gif'] mediatype: 'image/gif' },\n    tel: [\n      { [String: 'tel:+11115551212'] type: [ 'work', 'voice' ], value: 'uri' },\n      { [String: 'tel:+14045551212'] type: [ 'home', 'voice' ], value: 'uri' }\n    ],\n    adr: [\n      { [String: ';;100 Waters Edge;Baytown;LA;30314;United States of America']\n        type: 'work',\n        label: '\"100 Waters Edge\\\\nBaytown, LA 30314\\\\nUnited States of America\"' },\n      { [String: ';;42 Plantation St.;Baytown;LA;30314;United States of America']\n        type: 'home',\n        label: '\"42 Plantation St.\\\\nBaytown, LA 30314\\\\nUnited States ofAmerica\"' }\n    ],\n    email: [String: 'forrestgump@example.com'],\n    rev: [String: '20080424T195243Z']\n  }\n}\n```\n\n### Parsing Multiple vCards\n\nIn order to deal with a string that contains multiple vCards,\nyou will need to use a different function, which returns an array of cards:\n\n```js\nvar cards = vCard.parse( string )\n```\n\n## Formats\n\n### Format: jCard\n\n```js\nvar card = vCard.fromJSON( data )\n```\n\n```js\nvar jcard = card.toJSON()\n```\n\n```json\n[ \"vcard\",\n  [\n    [ \"version\", {}, \"text\", \"4.0\" ],\n    [ \"n\", {}, \"text\", [ \"Gump\", \"Forrest\", \"\", \"\", \"\" ] ],\n    [ \"fn\", {}, \"text\", \"Forrest Gump\" ],\n    [ \"org\", {}, \"text\", \"Bubba Gump Shrimp Co.\" ],\n    [ \"title\", {}, \"text\", \"Shrimp Man\" ],\n    [\n      \"photo\", { \"mediatype\": \"image/gif\" },\n      \"text\", \"http://www.example.com/dir_photos/my_photo.gif\"\n    ],\n    [ \"tel\", { \"type\": [ \"work\", \"voice\" ], \"value\": \"uri\" }, \"uri\", \"tel:+11115551212\" ],\n    [ \"tel\", { \"type\": [ \"home\", \"voice\" ], \"value\": \"uri\" }, \"uri\", \"tel:+14045551212\" ],\n    [\n      \"adr\", { \"type\": \"work\", \"label\":\"\\\"100 Waters Edge\\\\nBaytown, LA 30314\\\\nUnited States of America\\\"\" },\n      \"text\", [ \"\", \"\", \"100 Waters Edge\", \"Baytown\", \"LA\", \"30314\", \"United States of America\" ]\n    ],\n    [\n      \"adr\", { \"type\": \"home\", \"label\": \"\\\"42 Plantation St.\\\\nBaytown, LA 30314\\\\nUnited States ofAmerica\\\"\" },\n      \"text\", [ \"\", \"\", \"42 Plantation St.\", \"Baytown\", \"LA\", \"30314\", \"United States of America\" ]\n    ],\n    [ \"email\", {}, \"text\", \"forrestgump@example.com\" ],\n    [ \"rev\", {}, \"text\", \"20080424T195243Z\" ]\n  ]\n]\n```\n\n### Format: VCF\n\n```js\nvar vcf = card.toString()\nvar vcf = card.toString( '4.0' )\n```\n\n```vcf\nBEGIN:VCARD\nVERSION:4.0\nN:Gump;Forrest;;;\nFN:Forrest Gump\nORG:Bubba Gump Shrimp Co.\nTITLE:Shrimp Man\nPHOTO;MEDIATYPE=image/gif:http://www.example.com/dir_photos/my_photo.gif\nTEL;TYPE=work,voice;VALUE=uri:tel:+11115551212\nTEL;TYPE=home,voice;VALUE=uri:tel:+14045551212\nADR;TYPE=work;LABEL=\"100 Waters Edge\\nBaytown, LA 30314\\nUnited States\n  of America\":;;100 Waters Edge;Baytown;LA;30314;United States of America\nADR;TYPE=home;LABEL=\"42 Plantation St.\\nBaytown, LA 30314\\nUnited\n  States ofAmerica\":;;42 Plantation St.;Baytown;LA;30314;United States of\n America\nEMAIL:forrestgump@example.com\nREV:20080424T195243Z\nEND:VCARD\n```\n\n## API Reference\n\u003ca name=\"vCard\"\u003e\u003c/a\u003e\n\n## vCard\n**Kind**: global class  \n\n* [vCard](#vCard)\n    * [new vCard()](#new_vCard_new)\n    * _instance_\n        * [.version](#vCard+version) : \u003ccode\u003eString\u003c/code\u003e\n        * [.data](#vCard+data) : \u003ccode\u003eObject\u003c/code\u003e\n        * [.get(key)](#vCard+get) ⇒ \u003ccode\u003eObject\u003c/code\u003e \\| \u003ccode\u003eArray\u003c/code\u003e\n        * [.set(key, value, params)](#vCard+set)\n        * [.add(key, value, params)](#vCard+add)\n        * [.setProperty(prop)](#vCard+setProperty)\n        * [.addProperty(prop)](#vCard+addProperty)\n        * [.parse(value)](#vCard+parse) ⇒ [\u003ccode\u003evCard\u003c/code\u003e](#vCard)\n        * [.toString(version, charset)](#vCard+toString) ⇒ \u003ccode\u003eString\u003c/code\u003e\n        * [.toJCard(version)](#vCard+toJCard) ⇒ \u003ccode\u003eArray\u003c/code\u003e\n        * [.toJSON()](#vCard+toJSON) ⇒ \u003ccode\u003eArray\u003c/code\u003e\n    * _static_\n        * [.Property](#vCard.Property)\n            * [new Property(field, value, params)](#new_vCard.Property_new)\n            * _instance_\n                * [.is(type)](#vCard.Property+is) ⇒ \u003ccode\u003eBoolean\u003c/code\u003e\n                * [.isEmpty()](#vCard.Property+isEmpty) ⇒ \u003ccode\u003eBoolean\u003c/code\u003e\n                * [.clone()](#vCard.Property+clone) ⇒ \u003ccode\u003eProperty\u003c/code\u003e\n                * [.toString(version)](#vCard.Property+toString) ⇒ \u003ccode\u003eString\u003c/code\u003e\n                * [.valueOf()](#vCard.Property+valueOf) ⇒ \u003ccode\u003eString\u003c/code\u003e\n                * [.toJSON()](#vCard.Property+toJSON) ⇒ \u003ccode\u003eArray\u003c/code\u003e\n            * _static_\n                * [.prototype](#vCard.Property.prototype) : \u003ccode\u003eObject\u003c/code\u003e\n                * [.fromJSON(data)](#vCard.Property.fromJSON) ⇒ \u003ccode\u003eProperty\u003c/code\u003e\n        * [.mimeType](#vCard.mimeType) : \u003ccode\u003eString\u003c/code\u003e\n        * [.extension](#vCard.extension) : \u003ccode\u003eString\u003c/code\u003e\n        * [.versions](#vCard.versions) : \u003ccode\u003eArray\u003c/code\u003e\n        * [.foldLine](#vCard.foldLine) ⇒ \u003ccode\u003eString\u003c/code\u003e\n        * [.parseLines](#vCard.parseLines) : \u003ccode\u003efunction\u003c/code\u003e\n        * [.normalize(input)](#vCard.normalize) ⇒ \u003ccode\u003eString\u003c/code\u003e\n        * [.isSupported(version)](#vCard.isSupported) ⇒ \u003ccode\u003eBoolean\u003c/code\u003e\n        * [.parse(value)](#vCard.parse) ⇒ [\u003ccode\u003eArray.\u0026lt;vCard\u0026gt;\u003c/code\u003e](#vCard)\n        * [.fromJSON(jcard)](#vCard.fromJSON) ⇒ [\u003ccode\u003evCard\u003c/code\u003e](#vCard)\n        * [.format(card, version)](#vCard.format) ⇒ \u003ccode\u003eString\u003c/code\u003e\n\n\n* * *\n\n\u003ca name=\"new_vCard_new\"\u003e\u003c/a\u003e\n\n### new vCard()\nvCard\n\n\n* * *\n\n\u003ca name=\"vCard+version\"\u003e\u003c/a\u003e\n\n### vCard.version : \u003ccode\u003eString\u003c/code\u003e\nVersion number\n\n**Kind**: instance property of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n* * *\n\n\u003ca name=\"vCard+data\"\u003e\u003c/a\u003e\n\n### vCard.data : \u003ccode\u003eObject\u003c/code\u003e\nCard data\n\n**Kind**: instance property of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n* * *\n\n\u003ca name=\"vCard+get\"\u003e\u003c/a\u003e\n\n### vCard.get(key) ⇒ \u003ccode\u003eObject\u003c/code\u003e \\| \u003ccode\u003eArray\u003c/code\u003e\nGet a vCard property\n\n**Kind**: instance method of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n| Param | Type |\n| --- | --- |\n| key | \u003ccode\u003eString\u003c/code\u003e | \n\n\n* * *\n\n\u003ca name=\"vCard+set\"\u003e\u003c/a\u003e\n\n### vCard.set(key, value, params)\nSet a vCard property\n\n**Kind**: instance method of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n| Param | Type |\n| --- | --- |\n| key | \u003ccode\u003eString\u003c/code\u003e | \n| value | \u003ccode\u003eString\u003c/code\u003e | \n| params | \u003ccode\u003eObject\u003c/code\u003e | \n\n\n* * *\n\n\u003ca name=\"vCard+add\"\u003e\u003c/a\u003e\n\n### vCard.add(key, value, params)\nAdd a vCard property\n\n**Kind**: instance method of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n| Param | Type |\n| --- | --- |\n| key | \u003ccode\u003eString\u003c/code\u003e | \n| value | \u003ccode\u003eString\u003c/code\u003e | \n| params | \u003ccode\u003eObject\u003c/code\u003e | \n\n\n* * *\n\n\u003ca name=\"vCard+setProperty\"\u003e\u003c/a\u003e\n\n### vCard.setProperty(prop)\nSet a vCard property from an already\nconstructed vCard.Property\n\n**Kind**: instance method of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n| Param | Type |\n| --- | --- |\n| prop | [\u003ccode\u003eProperty\u003c/code\u003e](#vCard.Property) | \n\n\n* * *\n\n\u003ca name=\"vCard+addProperty\"\u003e\u003c/a\u003e\n\n### vCard.addProperty(prop)\nAdd a vCard property from an already\nconstructed vCard.Property\n\n**Kind**: instance method of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n| Param | Type |\n| --- | --- |\n| prop | [\u003ccode\u003eProperty\u003c/code\u003e](#vCard.Property) | \n\n\n* * *\n\n\u003ca name=\"vCard+parse\"\u003e\u003c/a\u003e\n\n### vCard.parse(value) ⇒ [\u003ccode\u003evCard\u003c/code\u003e](#vCard)\nParse a vcf formatted vCard\n\n**Kind**: instance method of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n| Param | Type |\n| --- | --- |\n| value | \u003ccode\u003eString\u003c/code\u003e | \n\n\n* * *\n\n\u003ca name=\"vCard+toString\"\u003e\u003c/a\u003e\n\n### vCard.toString(version, charset) ⇒ \u003ccode\u003eString\u003c/code\u003e\nFormat the vCard as vcf with given version\n\n**Kind**: instance method of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n| Param | Type |\n| --- | --- |\n| version | \u003ccode\u003eString\u003c/code\u003e | \n| charset | \u003ccode\u003eString\u003c/code\u003e | \n\n\n* * *\n\n\u003ca name=\"vCard+toJCard\"\u003e\u003c/a\u003e\n\n### vCard.toJCard(version) ⇒ \u003ccode\u003eArray\u003c/code\u003e\nFormat the card as jCard\n\n**Kind**: instance method of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n**Returns**: \u003ccode\u003eArray\u003c/code\u003e - jCard  \n\n| Param | Type | Default |\n| --- | --- | --- |\n| version | \u003ccode\u003eString\u003c/code\u003e | \u003ccode\u003e\u0026#x27;4.0\u0026#x27;\u003c/code\u003e | \n\n\n* * *\n\n\u003ca name=\"vCard+toJSON\"\u003e\u003c/a\u003e\n\n### vCard.toJSON() ⇒ \u003ccode\u003eArray\u003c/code\u003e\nFormat the card as jCard\n\n**Kind**: instance method of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n**Returns**: \u003ccode\u003eArray\u003c/code\u003e - jCard  \n\n* * *\n\n\u003ca name=\"vCard.Property\"\u003e\u003c/a\u003e\n\n### vCard.Property\n**Kind**: static class of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n* [.Property](#vCard.Property)\n    * [new Property(field, value, params)](#new_vCard.Property_new)\n    * _instance_\n        * [.is(type)](#vCard.Property+is) ⇒ \u003ccode\u003eBoolean\u003c/code\u003e\n        * [.isEmpty()](#vCard.Property+isEmpty) ⇒ \u003ccode\u003eBoolean\u003c/code\u003e\n        * [.clone()](#vCard.Property+clone) ⇒ \u003ccode\u003eProperty\u003c/code\u003e\n        * [.toString(version)](#vCard.Property+toString) ⇒ \u003ccode\u003eString\u003c/code\u003e\n        * [.valueOf()](#vCard.Property+valueOf) ⇒ \u003ccode\u003eString\u003c/code\u003e\n        * [.toJSON()](#vCard.Property+toJSON) ⇒ \u003ccode\u003eArray\u003c/code\u003e\n    * _static_\n        * [.prototype](#vCard.Property.prototype) : \u003ccode\u003eObject\u003c/code\u003e\n        * [.fromJSON(data)](#vCard.Property.fromJSON) ⇒ \u003ccode\u003eProperty\u003c/code\u003e\n\n\n* * *\n\n\u003ca name=\"new_vCard.Property_new\"\u003e\u003c/a\u003e\n\n#### new Property(field, value, params)\nvCard Property\n\n\n| Param | Type |\n| --- | --- |\n| field | \u003ccode\u003eString\u003c/code\u003e | \n| value | \u003ccode\u003eString\u003c/code\u003e | \n| params | \u003ccode\u003eObject\u003c/code\u003e | \n\n\n* * *\n\n\u003ca name=\"vCard.Property+is\"\u003e\u003c/a\u003e\n\n#### property.is(type) ⇒ \u003ccode\u003eBoolean\u003c/code\u003e\nCheck whether the property is of a given type\n\n**Kind**: instance method of [\u003ccode\u003eProperty\u003c/code\u003e](#vCard.Property)  \n\n| Param | Type |\n| --- | --- |\n| type | \u003ccode\u003eString\u003c/code\u003e | \n\n\n* * *\n\n\u003ca name=\"vCard.Property+isEmpty\"\u003e\u003c/a\u003e\n\n#### property.isEmpty() ⇒ \u003ccode\u003eBoolean\u003c/code\u003e\nCheck whether the property is empty\n\n**Kind**: instance method of [\u003ccode\u003eProperty\u003c/code\u003e](#vCard.Property)  \n\n* * *\n\n\u003ca name=\"vCard.Property+clone\"\u003e\u003c/a\u003e\n\n#### property.clone() ⇒ \u003ccode\u003eProperty\u003c/code\u003e\nClone the property\n\n**Kind**: instance method of [\u003ccode\u003eProperty\u003c/code\u003e](#vCard.Property)  \n\n* * *\n\n\u003ca name=\"vCard.Property+toString\"\u003e\u003c/a\u003e\n\n#### property.toString(version) ⇒ \u003ccode\u003eString\u003c/code\u003e\nFormat the property as vcf with given version\n\n**Kind**: instance method of [\u003ccode\u003eProperty\u003c/code\u003e](#vCard.Property)  \n\n| Param | Type |\n| --- | --- |\n| version | \u003ccode\u003eString\u003c/code\u003e | \n\n\n* * *\n\n\u003ca name=\"vCard.Property+valueOf\"\u003e\u003c/a\u003e\n\n#### property.valueOf() ⇒ \u003ccode\u003eString\u003c/code\u003e\nGet the property's value\n\n**Kind**: instance method of [\u003ccode\u003eProperty\u003c/code\u003e](#vCard.Property)  \n\n* * *\n\n\u003ca name=\"vCard.Property+toJSON\"\u003e\u003c/a\u003e\n\n#### property.toJSON() ⇒ \u003ccode\u003eArray\u003c/code\u003e\nFormat the property as jCard data\n\n**Kind**: instance method of [\u003ccode\u003eProperty\u003c/code\u003e](#vCard.Property)  \n\n* * *\n\n\u003ca name=\"vCard.Property.prototype\"\u003e\u003c/a\u003e\n\n#### Property.prototype : \u003ccode\u003eObject\u003c/code\u003e\nProperty prototype\n\n**Kind**: static property of [\u003ccode\u003eProperty\u003c/code\u003e](#vCard.Property)  \n\n* * *\n\n\u003ca name=\"vCard.Property.fromJSON\"\u003e\u003c/a\u003e\n\n#### Property.fromJSON(data) ⇒ \u003ccode\u003eProperty\u003c/code\u003e\nConstructs a vCard.Property from jCard data\n\n**Kind**: static method of [\u003ccode\u003eProperty\u003c/code\u003e](#vCard.Property)  \n\n| Param | Type |\n| --- | --- |\n| data | \u003ccode\u003eArray\u003c/code\u003e | \n\n\n* * *\n\n\u003ca name=\"vCard.mimeType\"\u003e\u003c/a\u003e\n\n### vCard.mimeType : \u003ccode\u003eString\u003c/code\u003e\nvCard MIME type\n\n**Kind**: static property of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n* * *\n\n\u003ca name=\"vCard.extension\"\u003e\u003c/a\u003e\n\n### vCard.extension : \u003ccode\u003eString\u003c/code\u003e\nvCard file extension\n\n**Kind**: static property of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n* * *\n\n\u003ca name=\"vCard.versions\"\u003e\u003c/a\u003e\n\n### vCard.versions : \u003ccode\u003eArray\u003c/code\u003e\nvCard versions\n\n**Kind**: static property of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n* * *\n\n\u003ca name=\"vCard.foldLine\"\u003e\u003c/a\u003e\n\n### vCard.foldLine ⇒ \u003ccode\u003eString\u003c/code\u003e\nFolds a long line according to the RFC 5322.\n\n**Kind**: static property of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n**See**: http://tools.ietf.org/html/rfc5322#section-2.1.1  \n\n| Param | Type |\n| --- | --- |\n| input | \u003ccode\u003eString\u003c/code\u003e | \n| maxLength | \u003ccode\u003eNumber\u003c/code\u003e | \n| hardWrap | \u003ccode\u003eBoolean\u003c/code\u003e | \n\n\n* * *\n\n\u003ca name=\"vCard.parseLines\"\u003e\u003c/a\u003e\n\n### vCard.parseLines : \u003ccode\u003efunction\u003c/code\u003e\nParse an array of vcf formatted lines\n\n**Kind**: static property of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n**Internal**: used by `vCard#parse()`  \n\n* * *\n\n\u003ca name=\"vCard.normalize\"\u003e\u003c/a\u003e\n\n### vCard.normalize(input) ⇒ \u003ccode\u003eString\u003c/code\u003e\nNormalizes input (cast to string, line folding, whitespace)\n\n**Kind**: static method of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n| Param | Type |\n| --- | --- |\n| input | \u003ccode\u003eString\u003c/code\u003e | \n\n\n* * *\n\n\u003ca name=\"vCard.isSupported\"\u003e\u003c/a\u003e\n\n### vCard.isSupported(version) ⇒ \u003ccode\u003eBoolean\u003c/code\u003e\nCheck whether a given version is supported\n\n**Kind**: static method of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n| Param | Type |\n| --- | --- |\n| version | \u003ccode\u003eString\u003c/code\u003e | \n\n\n* * *\n\n\u003ca name=\"vCard.parse\"\u003e\u003c/a\u003e\n\n### vCard.parse(value) ⇒ [\u003ccode\u003eArray.\u0026lt;vCard\u0026gt;\u003c/code\u003e](#vCard)\nParses a string or buffer into a vCard object\n\n**Kind**: static method of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n| Param | Type |\n| --- | --- |\n| value | \u003ccode\u003eString\u003c/code\u003e \\| \u003ccode\u003eBuffer\u003c/code\u003e | \n\n\n* * *\n\n\u003ca name=\"vCard.fromJSON\"\u003e\u003c/a\u003e\n\n### vCard.fromJSON(jcard) ⇒ [\u003ccode\u003evCard\u003c/code\u003e](#vCard)\nConstructs a vCard from jCard data\n\n**Kind**: static method of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n| Param | Type |\n| --- | --- |\n| jcard | \u003ccode\u003eArray\u003c/code\u003e | \n\n\n* * *\n\n\u003ca name=\"vCard.format\"\u003e\u003c/a\u003e\n\n### vCard.format(card, version) ⇒ \u003ccode\u003eString\u003c/code\u003e\nFormat a card object according to the given version\n\n**Kind**: static method of [\u003ccode\u003evCard\u003c/code\u003e](#vCard)  \n\n| Param | Type |\n| --- | --- |\n| card | [\u003ccode\u003evCard\u003c/code\u003e](#vCard) | \n| version | \u003ccode\u003eString\u003c/code\u003e | \n\n\n* * *\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinusbolls%2Fnode-vcf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinusbolls%2Fnode-vcf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinusbolls%2Fnode-vcf/lists"}