cfac536d604207c496157d3712bb80be2a88b542
Parse PROFILE as the concrete VC3_Profile type instead of a bare VC3_Property, and validate PROFILE parameters under the correct content-type name. Preserve AGENT values in newVC3_Agent so both parsed and constructed AGENT properties serialize with their actual URI or inline content. Expand regression coverage to verify PROFILE is exposed and serialized as the standard property, parsed AGENT URI values round-trip correctly, and constructed AGENT values retain their content. AI-Assisted: yes AI-Tool: OpenAI Codex / gpt-5.4 xhigh
VCard
nim-vcard is a pure nim implementation of the VCard format defined in RFCs
2425, 2426, and 6350. It allows you to parse and serialize VCards, as well as
create VCards programmatically. It aims to be a complete implememtation,
supporting all of the features of the VCard3 standard. Because the standard
provides many features that may be rarely used, this library also provides a
simplified API for more typical use-cases.
Example Usage
BEGIN:VCARD
VERSION:3.0
UID: 5db6f100-e2d6-4e8d-951f-d920586bc069
N:Foster;Jack;Allen;;
FN:Allen Foster
REV:20230408T122102Z
EMAIL;TYPE=home;TYPE=pref:allen@fosters.test
EMAIL;TYPE=work:jack.foster@company.test
TEL;TYPE=CELL:+1 (555) 123-4567
END:VCARD
4839ff64a8/examples/simple.nim (L1-L22)
Future Goals
- VCard 4.0 support
Debugging
Need to clean up and organize
Run tvcard3 tests in gdb:
$ cd tests
$ nim --debuginfo --linedir:on c tvcard3
$ gdb --tui tvcard3
Description
Languages
Nim
99.6%
Makefile
0.4%