1.0.3 • Published 7 years ago

@taptrack/ndef v1.0.3

Weekly downloads
69
License
Apache-2.0
Repository
github
Last release
7 years ago

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');
    // language code is optional, defaults to 'en'
    var textRecord = ndef.Utils.createTextRecord("sirop","fr"); 
    var message = new ndef.Message([textRecord]);

    // Uint8Array for storing, writing to a tag, etc.
    var bytes = message.toByteArray(); 

Uri records

    // NDEF uri prefixes will be automatically applied
    var textRecord = ndef.Utils.createUriRecord("http://www.google.com"); 
    var message = new ndef.Message([textRecord]);

    // Uint8Array for storing, writing to a tag, etc.
    var bytes = message.toByteArray(); 

Custom records

    // creating message to be carried inside smartposter record
    var uri = ndef.Utils.createUriRecord("http://www.google.com");
    var payloadMsg = new ndef.Message([uri]);

    var chunked = false; // non-chunked record
    var tnf = new Uint8Array([0x01]); // TNF well known
    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]);

    // Uint8Array for storing, writing to a tag, etc.
    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

    // takes a Uint8Array containing a valid, complete message
    var message = ndef.Message.fromBytes(byteArray);

    // array of all the records
    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());
    }