Library for creating and parsing NDEF messages
Installing
Bower
bower install ndef
NPM
npm install @taptrack/ndef
Creating Records
Text records
var ndef = require('@taptrack/ndef');
var textRecord = ndef.Utils.createTextRecord("sirop","fr");
var message = new ndef.Message([textRecord]);
var bytes = message.toByteArray();
Uri records
var textRecord = ndef.Utils.createUriRecord("http://www.google.com");
var message = new ndef.Message([textRecord]);
var bytes = message.toByteArray();
Custom records
var uri = ndef.Utils.createUriRecord("http://www.google.com");
var payloadMsg = new ndef.Message([uri]);
var chunked = false;
var tnf = new Uint8Array([0x01]);
var type = new Uint8Array([0x53,0x70]);
var payload = payloadMessage.toByteArray();
var spRecord = new ndef.Record(chunked,tnf,type,id,payload);
var spMessage = new ndef.Message([record]);
var bytes = spMessage.toByteArray();
Parsing messages
Text records
var message = ndef.Message.fromBytes(byteArray);
var records = message.getRecords();
var recordContents = ndef.Utils.resolveTextRecord(parsedRecords[0]);
console.log("Language: "+recordContents.language);
console.log("Content: "+recordContents.content);
URI records
var message = ndef.Message.fromBytes(byteArray);
var records = message.getRecords();
var uri = ndef.Utils.resolveUriRecordToString(parsedRecords[0]);
console.log("URI: "+uri);
Other records
var message = ndef.Message.fromBytes(byteArray);
var records = message.getRecords();
for(var i = 0; i < records.length; i++) {
var record = records[i];
console.log("Chunked: "+(record.isChunked?"Yes":"No");
console.log("TNF: "+record.getTnf().toString());
console.log("Type: "+record.getTnf().toString());
console.log("ID: "+record.getId().toString());
console.log("Payload: "+record.getTnf().toString());
}