4 Commits

Author SHA1 Message Date
70c6ffcbd3 2.0.2 2017-08-24 01:06:13 +02:00
b3023d61f3 update to fit in with keen.io 2017-08-24 01:06:09 +02:00
ca585b20e3 2.0.1 2017-08-23 17:33:35 +02:00
944837f338 update to better tracking 2017-08-23 17:33:30 +02:00
5 changed files with 25 additions and 21 deletions

View File

@ -1,10 +1,10 @@
export declare class Analytics { export declare class Analytics {
project: string; projectId: string;
appName: string; appName: string;
apiEndPoint: string; apiEndPoint: string;
secretKey: string; secretKey: string;
constructor(optionsArg: { constructor(optionsArg: {
projectArg: string; projectIdArg: string;
appNameArg: string; appNameArg: string;
apiEndPointArg: string; apiEndPointArg: string;
secretKeyArg?: string; secretKeyArg?: string;

View File

@ -12,7 +12,7 @@ const plugins = require("./smartanalytics.plugins");
class Analytics { class Analytics {
constructor(optionsArg) { constructor(optionsArg) {
this.secretKey = ''; this.secretKey = '';
this.project = optionsArg.projectArg; this.projectId = optionsArg.projectIdArg;
this.appName = optionsArg.appNameArg; this.appName = optionsArg.appNameArg;
this.apiEndPoint = optionsArg.apiEndPointArg; this.apiEndPoint = optionsArg.apiEndPointArg;
if (optionsArg.secretKeyArg) { if (optionsArg.secretKeyArg) {
@ -22,20 +22,22 @@ class Analytics {
recordEvent(identifierArg, analyticsDataArg) { recordEvent(identifierArg, analyticsDataArg) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
let dataToSend = { let dataToSend = {
project: this.project, projectId: this.projectId,
appName: this.appName, appName: this.appName,
identifier: identifierArg, identifier: identifierArg,
analyticsData: analyticsDataArg analyticsData: analyticsDataArg
}; };
let dataToSendJson = JSON.stringify(dataToSend);
yield plugins.smartrequest.post(this.apiEndPoint, { yield plugins.smartrequest.post(this.apiEndPoint, {
headers: { headers: {
'authenticate': this.secretKey 'authenticate': this.secretKey,
'Content-Type': 'application/json'
}, },
requestBody: dataToSendJson requestBody: dataToSend
}).catch(err => {
console.log(err);
}); });
}); });
} }
} }
exports.Analytics = Analytics; exports.Analytics = Analytics;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRhbmFseXRpY3MuY2xhc3Nlcy5hbmFseXRpY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydGFuYWx5dGljcy5jbGFzc2VzLmFuYWx5dGljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsb0RBQW1EO0FBRW5EO0lBS0UsWUFBYSxVQUtaO1FBTkQsY0FBUyxHQUFXLEVBQUUsQ0FBQTtRQU9wQixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUE7UUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFBO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQTtRQUM1QyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUE7UUFDMUMsQ0FBQztJQUNILENBQUM7SUFFSyxXQUFXLENBQUUsYUFBcUIsRUFBRSxnQkFBcUI7O1lBQzdELElBQUksVUFBVSxHQUFHO2dCQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixVQUFVLEVBQUUsYUFBYTtnQkFDekIsYUFBYSxFQUFFLGdCQUFnQjthQUNoQyxDQUFBO1lBQ0QsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUMvQyxNQUFNLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ2hELE9BQU8sRUFBRTtvQkFDUCxjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVM7aUJBQy9CO2dCQUNELFdBQVcsRUFBRSxjQUFjO2FBQzVCLENBQUMsQ0FBQTtRQUNKLENBQUM7S0FBQTtDQUNGO0FBbENELDhCQWtDQyJ9 //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRhbmFseXRpY3MuY2xhc3Nlcy5hbmFseXRpY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydGFuYWx5dGljcy5jbGFzc2VzLmFuYWx5dGljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsb0RBQW1EO0FBRW5EO0lBS0UsWUFBYSxVQUtaO1FBTkQsY0FBUyxHQUFXLEVBQUUsQ0FBQTtRQU9wQixJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUE7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFBO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQTtRQUM1QyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUE7UUFDMUMsQ0FBQztJQUNILENBQUM7SUFFSyxXQUFXLENBQUUsYUFBcUIsRUFBRSxnQkFBcUI7O1lBQzdELElBQUksVUFBVSxHQUFHO2dCQUNmLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixVQUFVLEVBQUUsYUFBYTtnQkFDekIsYUFBYSxFQUFFLGdCQUFnQjthQUNoQyxDQUFBO1lBQ0QsTUFBTSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNoRCxPQUFPLEVBQUU7b0JBQ1AsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTO29CQUM5QixjQUFjLEVBQUUsa0JBQWtCO2lCQUNuQztnQkFDRCxXQUFXLEVBQUUsVUFBVTthQUN4QixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUc7Z0JBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUNsQixDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7S0FBQTtDQUNGO0FBcENELDhCQW9DQyJ9

View File

@ -1,6 +1,6 @@
{ {
"name": "smartanalytics", "name": "smartanalytics",
"version": "2.0.0", "version": "2.0.2",
"description": "Google Analytics everywhere", "description": "Google Analytics everywhere",
"main": "dist/index.js", "main": "dist/index.js",
"typings": "dist/index.d.ts", "typings": "dist/index.d.ts",

View File

@ -6,18 +6,18 @@ let testAnalytics: smartanalytics.Analytics
tap.test('should create a valid AnalyticsAccount', async () => { tap.test('should create a valid AnalyticsAccount', async () => {
testAnalytics = new smartanalytics.Analytics({ testAnalytics = new smartanalytics.Analytics({
projectArg: 'pushrocks', projectIdArg: 'pushrocks',
appNameArg: 'smartanalytics', appNameArg: 'smartanalytics',
apiEndPointArg: 'pubapi-1.herokuapp.com/analytics' apiEndPointArg: 'https://pubapi-1.lossless.one/analytics'
}) })
}) })
tap.test('should send a request to Google Analytics', async () => { tap.test('should send a request to Google Analytics', async () => {
let doit = async () => { let doit = async () => {
await testAnalytics.recordEvent('npmtool', { await testAnalytics.recordEvent('sandbox', {
smoeValue: 'someData' someValue: 'someData'
}) })
await testAnalytics.recordEvent('anotherTool', { await testAnalytics.recordEvent('sandbox', {
someValue: 'someData' someValue: 'someData'
}) })
} }

View File

@ -1,17 +1,17 @@
import * as plugins from './smartanalytics.plugins' import * as plugins from './smartanalytics.plugins'
export class Analytics { export class Analytics {
project: string projectId: string
appName: string appName: string
apiEndPoint: string apiEndPoint: string
secretKey: string = '' secretKey: string = ''
constructor (optionsArg: { constructor (optionsArg: {
projectArg: string projectIdArg: string
appNameArg: string appNameArg: string
apiEndPointArg: string apiEndPointArg: string
secretKeyArg?: string secretKeyArg?: string
}) { }) {
this.project = optionsArg.projectArg this.projectId = optionsArg.projectIdArg
this.appName = optionsArg.appNameArg this.appName = optionsArg.appNameArg
this.apiEndPoint = optionsArg.apiEndPointArg this.apiEndPoint = optionsArg.apiEndPointArg
if (optionsArg.secretKeyArg) { if (optionsArg.secretKeyArg) {
@ -21,17 +21,19 @@ export class Analytics {
async recordEvent (identifierArg: string, analyticsDataArg: any) { async recordEvent (identifierArg: string, analyticsDataArg: any) {
let dataToSend = { let dataToSend = {
project: this.project, projectId: this.projectId,
appName: this.appName, appName: this.appName,
identifier: identifierArg, identifier: identifierArg,
analyticsData: analyticsDataArg analyticsData: analyticsDataArg
} }
let dataToSendJson = JSON.stringify(dataToSend)
await plugins.smartrequest.post(this.apiEndPoint, { await plugins.smartrequest.post(this.apiEndPoint, {
headers: { headers: {
'authenticate': this.secretKey 'authenticate': this.secretKey,
'Content-Type': 'application/json'
}, },
requestBody: dataToSendJson requestBody: dataToSend
}).catch(err => {
console.log(err)
}) })
} }
} }