@@ -34,7 +34,6 @@ var metrics = require('./metrics');
34
34
var debug = require ( 'debug' ) ;
35
35
var defaults = require ( '@ndhoule/defaults' ) ;
36
36
var each = require ( './utils/each' ) ;
37
- var foldl = require ( '@ndhoule/foldl' ) ;
38
37
var group = require ( './group' ) ;
39
38
var is = require ( 'is' ) ;
40
39
var isMeta = require ( '@segment/is-meta' ) ;
@@ -46,7 +45,7 @@ var on = require('component-event').bind;
46
45
var pageDefaults = require ( './pageDefaults' ) ;
47
46
var pick = require ( '@ndhoule/pick' ) ;
48
47
var prevent = require ( '@segment/prevent-default' ) ;
49
- var querystring = require ( 'component-querystring ' ) ;
48
+ var url = require ( 'component-url ' ) ;
50
49
var store = require ( './store' ) ;
51
50
var user = require ( './user' ) ;
52
51
var type = require ( 'component-type' ) ;
@@ -918,7 +917,14 @@ Analytics.prototype.reset = function() {
918
917
919
918
Analytics . prototype . _parseQuery = function ( query : string ) : SegmentAnalytics {
920
919
// Parse querystring to an object
921
- var q = querystring . parse ( query ) ;
920
+ const parsed = url . parse ( query ) ;
921
+
922
+ const q = parsed . query . split ( '&' ) . reduce ( ( acc , str ) => {
923
+ const [ k , v ] = str . split ( '=' ) ;
924
+ acc [ k ] = decodeURI ( v ) . replace ( '+' , ' ' ) ;
925
+ return acc ;
926
+ } , { } ) ;
927
+
922
928
// Create traits and properties objects, populate from querysting params
923
929
var traits = pickPrefix ( 'ajs_trait_' , q ) ;
924
930
var props = pickPrefix ( 'ajs_prop_' , q ) ;
0 commit comments