analytics-node
Advanced tools
Comparing version 3.3.0-beta.1 to 3.3.0-beta.2
41
index.js
@@ -5,3 +5,3 @@ 'use strict' | ||
const removeSlash = require('remove-trailing-slash') | ||
const validate = require('@segment/loosely-validate-event') | ||
const looselyValidate = require('@segment/loosely-validate-event') | ||
const axios = require('axios') | ||
@@ -28,2 +28,3 @@ const axiosRetry = require('axios-retry') | ||
* @property {String} host (default: 'https://api.segment.io') | ||
* @property {Boolean} enable (default: true) | ||
*/ | ||
@@ -43,2 +44,8 @@ | ||
this.flushed = false | ||
Object.defineProperty(this, 'enable', { | ||
configurable: false, | ||
writable: false, | ||
enumerable: true, | ||
value: typeof options.enable === 'boolean' ? options.enable : true | ||
}) | ||
@@ -51,2 +58,14 @@ axiosRetry(axios, { | ||
_validate (message, type) { | ||
try { | ||
looselyValidate(message, type) | ||
} catch (e) { | ||
if (e.message === 'Your message must be < 32kb.') { | ||
console.log('Your message must be < 32kb. This is currently surfaced as a warning to allow clients to update. Versions released after August 1, 2018 will throw an error instead. Please update your code before then.', message) | ||
return | ||
} | ||
throw e | ||
} | ||
} | ||
/** | ||
@@ -61,3 +80,3 @@ * Send an identify `message`. | ||
identify (message, callback) { | ||
validate(message, 'identify') | ||
this._validate(message, 'identify') | ||
this.enqueue('identify', message, callback) | ||
@@ -76,3 +95,3 @@ return this | ||
group (message, callback) { | ||
validate(message, 'group') | ||
this._validate(message, 'group') | ||
this.enqueue('group', message, callback) | ||
@@ -91,3 +110,3 @@ return this | ||
track (message, callback) { | ||
validate(message, 'track') | ||
this._validate(message, 'track') | ||
this.enqueue('track', message, callback) | ||
@@ -106,3 +125,3 @@ return this | ||
page (message, callback) { | ||
validate(message, 'page') | ||
this._validate(message, 'page') | ||
this.enqueue('page', message, callback) | ||
@@ -121,3 +140,3 @@ return this | ||
screen (message, callback) { | ||
validate(message, 'screen') | ||
this._validate(message, 'screen') | ||
this.enqueue('screen', message, callback) | ||
@@ -136,3 +155,3 @@ return this | ||
alias (message, callback) { | ||
validate(message, 'alias') | ||
this._validate(message, 'alias') | ||
this.enqueue('alias', message, callback) | ||
@@ -155,2 +174,6 @@ return this | ||
if (!this.enable) { | ||
return setImmediate(callback) | ||
} | ||
message = Object.assign({}, message) | ||
@@ -218,2 +241,6 @@ message.type = type | ||
if (!this.enable) { | ||
return setImmediate(callback) | ||
} | ||
if (this.timer) { | ||
@@ -220,0 +247,0 @@ clearTimeout(this.timer) |
{ | ||
"name": "analytics-node", | ||
"version": "3.3.0-beta.1", | ||
"version": "3.3.0-beta.2", | ||
"description": "The hassle-free way to integrate analytics into any Node.js application", | ||
@@ -46,3 +46,3 @@ "license": "MIT", | ||
"dependencies": { | ||
"@segment/loosely-validate-event": "^1.1.2", | ||
"@segment/loosely-validate-event": "^2.0.0", | ||
"axios": "^0.17.1", | ||
@@ -58,3 +58,3 @@ "axios-retry": "^3.0.1", | ||
"devDependencies": { | ||
"ava": "^0.24.0", | ||
"ava": "^0.25.0", | ||
"basic-auth": "^2.0.0", | ||
@@ -69,5 +69,5 @@ "body-parser": "^1.17.1", | ||
"sinon": "^4.1.3", | ||
"standard": "^10.0.3", | ||
"standard": "^11.0.0", | ||
"size-limit": "^0.14.0" | ||
} | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
19004
375
+ Added@segment/loosely-validate-event@2.0.0(transitive)
- Removed@segment/loosely-validate-event@1.1.2(transitive)