@fresh8/tracking
v1.0.0
Published
A pixel tracking package for Fresh8
Downloads
2
Maintainers
Keywords
Readme
F8 Tracking
Getting Started
Using Bundled ES5
The project is pre bundled and transpiled using webpack and babel, into the dist folder where there is an uncompressed and uglified version of the Fresh8Tracking.js library.
Its formatted as a commonjs2 module. Use with your own bundler like so in es5:
var Fresh8Tracking = require('Fresh8Tracking').Fresh8Tracking;
Using Browser Version
The project is also pre bundled as a browser.js file to be used in the browser where the Fresh8Tracking class has been bound to the window. with this script you should be able to access window.Fresh8Tracking
Using ES6
you will need to ensure your babel configuration includes:
{
"presets": ["es2015", "stage-2"],
"plugins": ["transform-es2015-function-name"]
}
Assuming you have a bundler and transpiler configured correctly.
import { Fresh8Tracking } from 'Fresh8Tracking/src';
will load the Fresh8Tracking class
Using Fresh8Tracking example
import Fresh8Tracking from 'Fresh8Tracking';
const fresh8Tracking = new Fresh8Tracking;
fresh8Tracking.emitEvent(data, () => {})
Contributing and Developing
Ensure node 6 LTS is installed. Then.
npm install
Testing
- Running unit tests, and check code coverage:
npm test
- Open the code coverage report:
npm run cov
Scripts
Use these scripts using npm run ...
:
unit
: Run the unit tests oncebuild -- url
: Compiles the code to ES5 in the dist folder also adds a browser version, and builds readme.md. Can pass this aurl
for the built version to use a different URL.url
defaults tohttps://heimdall.fresh8.co
docs
: Rebuild this README.mddev
: Compiles the code to ES5, and runs unit tests whilst watching for changes
API
Classes
Functions
Fresh8Tracking
Fresh8Tracking class holds 1 function which validates and sends data
Kind: global class
fresh8Tracking.emitEvent(data, callback) ⇒
runs data through validation and and returns then runs sendRequest in a callback to send the data
Kind: instance method of Fresh8Tracking
Returns: returns the callback containing an error if data does
not validate or sendRequest if everything does validate
| Param | Description | | --- | --- | | data | data to be validated and sent | | callback | |
sendRequest(data) ⇒ * | Promise.<TResult>
makes the request to the server using fetch
Kind: global function
| Param | Description | | --- | --- | | data | to be sent |
checkStatusCode(response) ⇒ Promise.reject | Object
Checks the stats code on a response and rejects the promise chain if less than 200 or greater than 300.
Kind: global function
Returns: Promise.reject | Object - a rejected promise or the reponse object
| Param | Type | Description | | --- | --- | --- | | response | Object | is the fetch response object |
validateFields(data) ⇒ Error | boolean
validates data fields to only be the fields in the validFields array validates data fields to have to include the fields in requiredFields array returns an error if validation doesn't pass, else returns true
Kind: global function
Returns: Error | boolean - returns an Error if fields do not validate and true if they do
| Param | | --- | | data |
validateBets(data) ⇒ Error | boolean
validates the bets property of the attribute to be an array and be formatted correctly returns an error if validation doesn't pass, else returns true
Kind: global function
Returns: Error | boolean - returns an Error if bets do not validate and true if they do
| Param | | --- | | data |
shouldContainBets(data) ⇒ boolean
checks to see if the data should contain bets or not
Kind: global function
| Param | | --- | | data |