Skip to content

Commit 2836931

Browse files
committed
added the possibility to define functions running after the parameters are evaluated
1 parent 53ffda1 commit 2836931

File tree

6 files changed

+53
-19
lines changed

6 files changed

+53
-19
lines changed

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "breinify-api",
3-
"version": "1.0.18",
3+
"version": "1.0.19",
44
"description": "This is a JavaScript library simplifying the usage of the Breinify API",
55
"authors": [
66
"Philipp Meisen <philipp@breinify.com>",

dist/breinify-api.js

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* breinify-api
3-
* v1.0.18
3+
* v1.0.19
44
**/
55
/*
66
* We inject a dependencyScope variable, which will be used
@@ -12828,6 +12828,15 @@ dependencyScope.jQuery = $;;
1282812828
return value === true || value === false;
1282912829
}
1283012830
});
12831+
attributes.add('PARAMETERS_MAPPER', {
12832+
name: 'parametersMapper',
12833+
defaultValue: function (parametersData) {
12834+
return parametersData;
12835+
},
12836+
validate: function (value) {
12837+
return value === null || typeof(value) === 'function';
12838+
}
12839+
});
1283112840
attributes.add('HANDLE_UTM', {
1283212841
name: 'handleUtm',
1283312842
defaultValue: false,
@@ -12837,7 +12846,7 @@ dependencyScope.jQuery = $;;
1283712846
});
1283812847
attributes.add('UTM_MAPPER', {
1283912848
name: 'utmMapper',
12840-
defaultValue: function(utmData, user) {
12849+
defaultValue: function (utmData, user) {
1284112850
return {
1284212851
'utmData': utmData,
1284312852
'user': user
@@ -12863,7 +12872,7 @@ dependencyScope.jQuery = $;;
1286312872
});
1286412873

1286512874
var BreinifyConfig = function (config) {
12866-
this.version = '1.0.18';
12875+
this.version = '1.0.19';
1286712876

1286812877
/*
1286912878
* Validate the passed config-parameters.
@@ -13054,7 +13063,7 @@ dependencyScope.jQuery = $;;
1305413063

1305513064
var BreinifyUser = function (user, onReady) {
1305613065
var instance = this;
13057-
instance.version = '1.0.18';
13066+
instance.version = '1.0.19';
1305813067

1305913068
// set the values provided
1306013069
instance.setAll(user);
@@ -13327,7 +13336,7 @@ dependencyScope.jQuery = $;;
1332713336
// check which one of the functions can be used
1332813337
var func = null;
1332913338
if (containsRegEx) {
13330-
var typeRegEx = new RegExp('^' + types.toString() + '$', 'i');
13339+
var typeRegEx = new RegExp('^' + types.toString() + '$', 'i');
1333113340

1333213341
Object.keys(pointer).forEach(function (key) {
1333313342
var matches = typeRegEx.exec(key);
@@ -13432,7 +13441,7 @@ dependencyScope.jQuery = $;;
1343213441
return unixTimestamp + "-" + paraLocalDateTime + "-" + paraTimezone;
1343313442
},
1343413443

13435-
handleUtmParameters: function() {
13444+
handleUtmParameters: function () {
1343613445

1343713446
// get the mapper to be used
1343813447
var mapper = _config.get(ATTR_CONFIG.UTM_MAPPER);
@@ -13512,14 +13521,22 @@ dependencyScope.jQuery = $;;
1351213521
return;
1351313522
}
1351413523

13515-
var combinedValue = $.extend(true, {
13524+
// get the mapper to be used
13525+
var mapper = _config.get(ATTR_CONFIG.PARAMETERS_MAPPER);
13526+
if (typeof mapper !== 'function') {
13527+
mapper = function (data) {
13528+
return data;
13529+
};
13530+
}
13531+
13532+
var combinedValue = mapper($.extend(true, {
1351613533
'user': {},
1351713534
'activity': {
1351813535
'category': null,
1351913536
'description': null,
1352013537
'tags': {}
1352113538
}
13522-
}, parsedValue, overrides);
13539+
}, parsedValue, overrides));
1352313540

1352413541
// calculate a hash as unique identifier
1352513542
var hashId = BreinifyUtil.md5(JSON.stringify(combinedValue));
@@ -13560,7 +13577,7 @@ dependencyScope.jQuery = $;;
1356013577
* The one and only instance of the library.
1356113578
*/
1356213579
var Breinify = {
13563-
version: '1.0.18',
13580+
version: '1.0.19',
1356413581
jQueryVersion: $.fn.jquery
1356513582
};
1356613583

dist/breinify-api.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Breinify.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
// check which one of the functions can be used
7575
var func = null;
7676
if (containsRegEx) {
77-
var typeRegEx = new RegExp('^' + types.toString() + '$', 'i');
77+
var typeRegEx = new RegExp('^' + types.toString() + '$', 'i');
7878

7979
Object.keys(pointer).forEach(function (key) {
8080
var matches = typeRegEx.exec(key);
@@ -179,7 +179,7 @@
179179
return unixTimestamp + "-" + paraLocalDateTime + "-" + paraTimezone;
180180
},
181181

182-
handleUtmParameters: function() {
182+
handleUtmParameters: function () {
183183

184184
// get the mapper to be used
185185
var mapper = _config.get(ATTR_CONFIG.UTM_MAPPER);
@@ -259,14 +259,22 @@
259259
return;
260260
}
261261

262-
var combinedValue = $.extend(true, {
262+
// get the mapper to be used
263+
var mapper = _config.get(ATTR_CONFIG.PARAMETERS_MAPPER);
264+
if (typeof mapper !== 'function') {
265+
mapper = function (data) {
266+
return data;
267+
};
268+
}
269+
270+
var combinedValue = mapper($.extend(true, {
263271
'user': {},
264272
'activity': {
265273
'category': null,
266274
'description': null,
267275
'tags': {}
268276
}
269-
}, parsedValue, overrides);
277+
}, parsedValue, overrides));
270278

271279
// calculate a hash as unique identifier
272280
var hashId = BreinifyUtil.md5(JSON.stringify(combinedValue));

src/BreinifyConfig.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,15 @@
9191
return value === true || value === false;
9292
}
9393
});
94+
attributes.add('PARAMETERS_MAPPER', {
95+
name: 'parametersMapper',
96+
defaultValue: function (parametersData) {
97+
return parametersData;
98+
},
99+
validate: function (value) {
100+
return value === null || typeof(value) === 'function';
101+
}
102+
});
94103
attributes.add('HANDLE_UTM', {
95104
name: 'handleUtm',
96105
defaultValue: false,
@@ -100,7 +109,7 @@
100109
});
101110
attributes.add('UTM_MAPPER', {
102111
name: 'utmMapper',
103-
defaultValue: function(utmData, user) {
112+
defaultValue: function (utmData, user) {
104113
return {
105114
'utmData': utmData,
106115
'user': user

0 commit comments

Comments
 (0)