51degrees
v1.8.1
Published
51degrees c-sdk native bindings for nodejs
Readme
51degrees.node

51degrees c-sdk native bindings for nodejs, it helps you detect devices from userAgent in high performance.
Windows | Mac/Linux
-------------- | ------------
|
API
.Parse(filename[, properties, options])
filename{String} your 51degrees data, lite or premium.properties{Array} optional, required propertiesoptions{Object}options.autoUpdate{Boolean} enable/disableautoUpdatefeatureoptions.key{String} auto-update requires a licesen key from 51Degreesoptions.interval{Integer}, default value 30 * 60 * 1000 (half hours)options.onupdated{Function} if auto updated, you will get call at this function
for more information, you could move to 51degrees documentation
parser.parse(userAgent)
userAgent{String}
parse the userAgent given by you, and return result of that.
Usage
var Parser = require('51degrees').Parser;
var psr = new Parser('51Degrees-Lite.dat');
var userAgent = '...'; // your userAgent in any clients(browser/ios/android)
var ret = psr.parse(userAgent);
console.log(ret);Create an auto-updated pattern parser
var psr = new Parser('51Degrees-Lite.dat', [], {
autoUpdate: true,
key: 'your license key'
});Note: this feature only is used at pattern data.
After the above program, you will get:
{ Id: '17595-21721-21635-18092',
Canvas: true,
CssTransforms: true,
CssTransitions: true,
History: true,
Html5: true,
IndexedDB: true,
IsMobile: false,
Json: true,
PostMessage: true,
Svg: true,
TouchEvents: true,
WebWorkers: true,
method: 'trie',
data: {} }.ALL_PROPERTIES
51Degrees.node exposure ALL_PROPERTIES to shortly fetch all propertites from userAgent, just using like this:
var properties = require('51degrees').ALL_PROPERTIES;
var userAgent = '...' // your userAgent in any clients(browser/ios/android)
var psr = new Parser('51Degrees-Lite.trie', properties);
var ret = psr.parse(userAgent);
console.log(ret);Then will print the whole properties, it's super useful for overview of this module and 51Degrees product.
Properties
The following list shows all properties that 51degrees would export in json:
AnimationTimingBlobBuilderCanvasCssBackgroundCssBorderImageCssCanvasCssColorCssColumnCssFlexboxCssFontCssImagesCssMediaQueriesCssMinMaxCssOverflowCssPositionCssTextCssTransformsCssTransitionsCssUIDataSetDataUrlDeviceOrientationFileReaderFileSaverFileWriterFormDataFullscreenGeoLocationHistoryHtml5Html-Media-CaptureIdIframeIndexedDBIsMobileJsonLayoutEngineMaskingPostMessageProgressPromptsScreenPixelsHeightScreenPixelsWidthSelectorSvgTouchEventsTrackVideoViewportWebWorkersXhr
Installation
$ npm install 51degrees --save

