analytics-client
Advanced tools
Comparing version 0.9.1 to 0.10.0-roman-noop-client-7f7d8dbea25d78f863ed06ba409b21a144e34288
@@ -7,2 +7,7 @@ # Change Log | ||
# v0.10.0 | ||
## (2020-07-21) | ||
* Add noop client implementation [Roman Mazur] | ||
# v0.9.1 | ||
@@ -9,0 +14,0 @@ ## (2020-06-17) |
export { AnalyticsUrlParams } from './src/url-params'; | ||
export { Client, Config, createClient } from './src/client'; | ||
export { Client, Config, createClient, createNoopClient } from './src/client'; | ||
export { Experiment, LocalExperiment } from './src/experiment'; | ||
export { WebTracker, createWebTracker } from './src/web'; |
@@ -7,2 +7,3 @@ "use strict"; | ||
Object.defineProperty(exports, "createClient", { enumerable: true, get: function () { return client_1.createClient; } }); | ||
Object.defineProperty(exports, "createNoopClient", { enumerable: true, get: function () { return client_1.createNoopClient; } }); | ||
var experiment_1 = require("./src/experiment"); | ||
@@ -9,0 +10,0 @@ Object.defineProperty(exports, "LocalExperiment", { enumerable: true, get: function () { return experiment_1.LocalExperiment; } }); |
{ | ||
"name": "analytics-client", | ||
"version": "0.9.1", | ||
"version": "0.10.0-roman-noop-client-7f7d8dbea25d78f863ed06ba409b21a144e34288", | ||
"description": "Convenient builders to compose analytics tools", | ||
@@ -5,0 +5,0 @@ "repository": { |
@@ -32,2 +32,3 @@ import amplitude = require('amplitude-js'); | ||
export declare function createClient(config: Config): Client; | ||
export declare function createNoopClient(logEvents?: boolean): Client; | ||
export {}; |
"use strict"; | ||
var __spreadArrays = (this && this.__spreadArrays) || function () { | ||
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; | ||
for (var r = Array(s), k = 0, i = 0; i < il; i++) | ||
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) | ||
r[k] = a[j]; | ||
return r; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createClient = void 0; | ||
exports.createNoopClient = exports.createClient = void 0; | ||
var amplitude = require("amplitude-js"); | ||
@@ -89,2 +96,34 @@ var Cookies = require("js-cookie"); | ||
}()); | ||
var NoopClient = (function () { | ||
function NoopClient(logEvents) { | ||
this.logEvents = logEvents; | ||
} | ||
NoopClient.prototype.log = function () { | ||
var args = []; | ||
for (var _i = 0; _i < arguments.length; _i++) { | ||
args[_i] = arguments[_i]; | ||
} | ||
if (this.logEvents) { | ||
console.log.apply(console, __spreadArrays(['Analytics client:'], args)); | ||
} | ||
}; | ||
NoopClient.prototype.amplitude = function () { | ||
throw new Error('Not supported'); | ||
}; | ||
NoopClient.prototype.deviceId = function () { | ||
return ''; | ||
}; | ||
NoopClient.prototype.linkDevices = function () { | ||
}; | ||
NoopClient.prototype.regenerateDeviceId = function () { | ||
}; | ||
NoopClient.prototype.setUserId = function () { | ||
}; | ||
NoopClient.prototype.setUserProperties = function () { | ||
}; | ||
NoopClient.prototype.track = function (eventType, props) { | ||
this.log("track [" + eventType + "]", props); | ||
}; | ||
return NoopClient; | ||
}()); | ||
function createClient(config) { | ||
@@ -94,2 +133,7 @@ return new DefaultClient(config); | ||
exports.createClient = createClient; | ||
function createNoopClient(logEvents) { | ||
if (logEvents === void 0) { logEvents = false; } | ||
return new NoopClient(logEvents); | ||
} | ||
exports.createNoopClient = createNoopClient; | ||
//# sourceMappingURL=client.js.map |
@@ -68,2 +68,7 @@ "use strict"; | ||
}); | ||
test('noop client', function () { | ||
var client = client_1.createNoopClient(true); | ||
client.setUserId('test'); | ||
client.track('test event', { a: 42 }); | ||
}); | ||
//# sourceMappingURL=client.test.js.map |
export { AnalyticsUrlParams } from './src/url-params'; | ||
export { Client, Config, createClient } from './src/client'; | ||
export { Client, Config, createClient, createNoopClient } from './src/client'; | ||
export { Experiment, LocalExperiment } from './src/experiment'; | ||
export { WebTracker, createWebTracker } from './src/web'; |
{ | ||
"name": "analytics-client", | ||
"version": "0.9.1", | ||
"version": "0.10.0-roman-noop-client-7f7d8dbea25d78f863ed06ba409b21a144e34288", | ||
"description": "Convenient builders to compose analytics tools", | ||
@@ -5,0 +5,0 @@ "repository": { |
@@ -172,4 +172,44 @@ import amplitude = require('amplitude-js'); | ||
/** NoopClient does nothing when */ | ||
class NoopClient implements Client { | ||
constructor(private readonly logEvents: boolean) {} | ||
private log(...args: any[]) { | ||
if (this.logEvents) { | ||
console.log('Analytics client:', ...args); | ||
} | ||
} | ||
amplitude(): amplitude.AmplitudeClient { | ||
throw new Error('Not supported'); | ||
} | ||
deviceId() { | ||
return ''; | ||
} | ||
linkDevices() { | ||
/* nothing */ | ||
} | ||
regenerateDeviceId() { | ||
/* nothing */ | ||
} | ||
setUserId(): void { | ||
/* nothing */ | ||
} | ||
setUserProperties() { | ||
/* nothing */ | ||
} | ||
track(eventType: string, props?: Properties): void { | ||
this.log(`track [${eventType}]`, props); | ||
} | ||
} | ||
export function createClient(config: Config): Client { | ||
return new DefaultClient(config); | ||
} | ||
export function createNoopClient(logEvents: boolean = false): Client { | ||
return new NoopClient(logEvents); | ||
} |
@@ -1,2 +0,2 @@ | ||
import { createClient } from '../src/client'; | ||
import { createClient, createNoopClient } from '../src/client'; | ||
@@ -76,1 +76,7 @@ test('deviceId', () => { | ||
}); | ||
test('noop client', () => { | ||
const client = createNoopClient(true); | ||
client.setUserId('test'); | ||
client.track('test event', { a: 42 }); | ||
}); |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
266355
1881