Comments (5)
Dispose as in "ignore"? Also, is this happening with the current version 0.2.2
or the potential 1.0.0
?
I just added a test case to next
, and it seems to be working – note that the string values of properties on the next
version need to be accessed via prop.valueOf()
– which I haven't written any documentation for yet.
Example (1.0.0
):
// Keep in mind that this can be an array,
// if there are multiple `photo` properties
var photo = card.get( 'photo' )
var data = photo.valueOf()
// > '/9j/4AAQSkZJRgABAQAAAQCAgICAgQDAgICAgUE...'
photo.encoding
// > 'BASE64'
photo.type
// > 'jpeg'
photo.is('jpeg')
// > true
Test output:
node-vcf (next) $ mocha --ui tdd test/photo.js
vCard
Photo
vCard {
version: '4.0',
data:
{ version: [String: '4.0'],
photo: { [String: '/9j/4AAQSkZJRgABAQAAAQCAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAs2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKgoKCgoKCgoKCgoKCgr/wAARCABgAGADASIAAhEBAxEB/8QAH'] encoding: 'BASE64', type: 'jpeg' } } }
✓ should be able to read base64 encoded photo
1 passing (24ms)
from node-vcf.
That actually uncovered a missing return
statement in card.get()
– thanks :)
from node-vcf.
It was with master. Trying on next, same thing.
Traced it down to a whitespace issue. How .vcf comes out of an Android phone has this at the end:
(bunch of base64 stuff)
T9B1WO6F7o32hJbe4XyvLibc33WZW/hb/gVaQhZGUz/2Q==
END:VCARD
The (right?) RFC doesn't really address it since it's not a line folding issue (it's CR/LF followed by CR/LF, not a space or tab), but competing libraries have noted it and it has plagued other projects.
Up to you if you want to deal with it in node-vcf.
from node-vcf.
Okay, good to know about that, thank you!
I'm adding a test case now, and will see to fixing it, maybe even backporting it to 0.2.x
.
Up to you if you want to deal with it in node-vcf.
Well, this is supposed to make people's encounters with vCards easier, so if it's stuff that's happening in real world data, I intend to deal with it :)
from node-vcf.
Patched and published in 0.2.3
, as well as next
now - thanks again for reporting this!
from node-vcf.
Related Issues (20)
- capitalDashCase not behaving as expected HOT 2
- Incorrect handle of value lists
- Unfolding lines with more than one whitespace at the beginning
- Encoding issues? HOT 4
- Expected VERSION HOT 1
- Structured Property Values with empty/missing components HOT 1
- toString() produces cards with `\n`, not `\r\n` HOT 2
- Version 2.0.6 fails to parse vcard files created by 2.0.4 HOT 3
- parsing error when trying to process multiple vcard entries that was exported from icloud HOT 2
- Parameter value containing a colon ':' leads to incorrect parsing HOT 2
- Labels not matched up with addresses in older vCard versions
- Export with es module syntax HOT 1
- Uppercasing of property type labels HOT 3
- npm sourcecode not matching GitHub sourcecode HOT 1
- Try unix line breaks \n if windows does not give results HOT 1
- I am not able to parse below file , its giving error like expected version but found BDAY HOT 3
- Make "vCard.get" Generic HOT 2
- Unsupported version ARD HOT 4
- Quoted printable text HOT 1
- Lines splitting supports only \r\n. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-vcf.