@constructor-io/constructorio-client-javascript 2.33.4 → 2.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,8 +7,6 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
7
7
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
8
 
9
9
  /* eslint-disable object-curly-newline, no-underscore-dangle */
10
- var qs = require('qs');
11
-
12
10
  var fetchPonyfill = require('fetch-ponyfill');
13
11
 
14
12
  var EventDispatcher = require('../utils/event-dispatcher');
@@ -18,7 +16,8 @@ var _require = require('../utils/helpers'),
18
16
  cleanParams = _require.cleanParams,
19
17
  applyNetworkTimeout = _require.applyNetworkTimeout,
20
18
  trimNonBreakingSpaces = _require.trimNonBreakingSpaces,
21
- encodeURIComponentRFC3986 = _require.encodeURIComponentRFC3986; // Create URL from supplied query (term) and parameters
19
+ encodeURIComponentRFC3986 = _require.encodeURIComponentRFC3986,
20
+ stringify = _require.stringify; // Create URL from supplied query (term) and parameters
22
21
 
23
22
 
24
23
  function createAutocompleteUrl(query, parameters, options) {
@@ -100,9 +99,7 @@ function createAutocompleteUrl(query, parameters, options) {
100
99
 
101
100
  queryParams._dt = Date.now();
102
101
  queryParams = cleanParams(queryParams);
103
- var queryString = qs.stringify(queryParams, {
104
- indices: false
105
- });
102
+ var queryString = stringify(queryParams);
106
103
  var cleanedQuery = query.replace(/^\//, '|'); // For compatibility with backend API
107
104
 
108
105
  return "".concat(serviceUrl, "/autocomplete/").concat(encodeURIComponentRFC3986(trimNonBreakingSpaces(cleanedQuery)), "?").concat(queryString);
@@ -13,8 +13,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
13
13
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
14
14
 
15
15
  /* eslint-disable object-curly-newline, no-underscore-dangle, max-len, complexity */
16
- var qs = require('qs');
17
-
18
16
  var fetchPonyfill = require('fetch-ponyfill');
19
17
 
20
18
  var EventDispatcher = require('../utils/event-dispatcher');
@@ -163,9 +161,7 @@ function createBrowseUrlFromFilter(filterName, filterValue, parameters, options)
163
161
  }
164
162
 
165
163
  var queryParams = createQueryParams(parameters, options);
166
- var queryString = qs.stringify(queryParams, {
167
- indices: false
168
- });
164
+ var queryString = helpers.stringify(queryParams);
169
165
  return "".concat(serviceUrl, "/browse/").concat(helpers.encodeURIComponentRFC3986(helpers.trimNonBreakingSpaces(filterName)), "/").concat(helpers.encodeURIComponentRFC3986(helpers.trimNonBreakingSpaces(filterValue)), "?").concat(queryString);
170
166
  } // Create URL from supplied id's
171
167
 
@@ -181,9 +177,7 @@ function createBrowseUrlFromIDs(ids, parameters, options) {
181
177
  ids: ids
182
178
  });
183
179
 
184
- var queryString = qs.stringify(queryParams, {
185
- indices: false
186
- });
180
+ var queryString = helpers.stringify(queryParams);
187
181
  return "".concat(serviceUrl, "/browse/items?").concat(queryString);
188
182
  } // Create URL for facets
189
183
 
@@ -195,9 +189,7 @@ function createBrowseUrlForFacets(parameters, options) {
195
189
 
196
190
 
197
191
  delete queryParams._dt;
198
- var queryString = qs.stringify(queryParams, {
199
- indices: false
200
- });
192
+ var queryString = helpers.stringify(queryParams);
201
193
  return "".concat(serviceUrl, "/browse/facets?").concat(queryString);
202
194
  } // Create URL from supplied facet name and parameters
203
195
 
@@ -214,9 +206,7 @@ function createBrowseUrlForFacetOptions(facetName, parameters, options) {
214
206
  queryParams.facet_name = facetName; // Endpoint does not accept _dt
215
207
 
216
208
  delete queryParams._dt;
217
- var queryString = qs.stringify(queryParams, {
218
- indices: false
219
- });
209
+ var queryString = helpers.stringify(queryParams);
220
210
  return "".concat(serviceUrl, "/browse/facet_options?").concat(queryString);
221
211
  }
222
212
  /**
@@ -443,9 +433,7 @@ var Browse = /*#__PURE__*/function () {
443
433
  }
444
434
 
445
435
  delete queryParams._dt;
446
- var queryString = qs.stringify(queryParams, {
447
- indices: false
448
- });
436
+ var queryString = helpers.stringify(queryParams);
449
437
  var requestUrl = "".concat(serviceUrl, "/browse/groups?").concat(queryString);
450
438
  return fetch(requestUrl, {
451
439
  signal: signal
@@ -6,11 +6,11 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
6
6
 
7
7
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
8
 
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+
9
11
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
12
 
11
13
  /* eslint-disable object-curly-newline, no-underscore-dangle */
12
- var qs = require('qs');
13
-
14
14
  var fetchPonyfill = require('fetch-ponyfill');
15
15
 
16
16
  var EventDispatcher = require('../utils/event-dispatcher');
@@ -64,25 +64,21 @@ function createQuizUrl(quizId, parameters, options, path) {
64
64
 
65
65
  if (versionId) {
66
66
  queryParams.version_id = versionId;
67
- } // Pull answers from parameters.answers and transform
67
+ } // Pull a (answers) from parameters and transform
68
68
 
69
69
 
70
70
  if (answers) {
71
- answers.forEach(function (ans) {
72
- answersParamString += "&".concat(qs.stringify({
73
- a: ans
74
- }, {
75
- arrayFormat: 'comma'
76
- }));
77
- });
71
+ answersParamString = "&".concat(helpers.stringify({
72
+ a: answers.map(function (ans) {
73
+ return (0, _toConsumableArray2["default"])(ans).join(',');
74
+ })
75
+ }));
78
76
  }
79
77
  }
80
78
 
81
79
  queryParams._dt = Date.now();
82
80
  queryParams = helpers.cleanParams(queryParams);
83
- var queryString = qs.stringify(queryParams, {
84
- indices: false
85
- });
81
+ var queryString = helpers.stringify(queryParams);
86
82
  return "".concat(serviceUrl, "/v1/quizzes/").concat(encodeURIComponent(quizId), "/").concat(encodeURIComponent(path), "/?").concat(queryString).concat(answersParamString);
87
83
  }
88
84
  /**
@@ -6,8 +6,7 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
6
6
 
7
7
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
8
 
9
- var qs = require('qs');
10
-
9
+ /* eslint-disable object-curly-newline, no-param-reassign */
11
10
  var fetchPonyfill = require('fetch-ponyfill');
12
11
 
13
12
  var EventDispatcher = require('../utils/event-dispatcher');
@@ -83,9 +82,7 @@ function createRecommendationsUrl(podId, parameters, options) {
83
82
  }
84
83
 
85
84
  queryParams = helpers.cleanParams(queryParams);
86
- var queryString = qs.stringify(queryParams, {
87
- indices: false
88
- });
85
+ var queryString = helpers.stringify(queryParams);
89
86
  return "".concat(serviceUrl, "/recommendations/v1/pods/").concat(helpers.encodeURIComponentRFC3986(helpers.trimNonBreakingSpaces(podId)), "?").concat(queryString);
90
87
  }
91
88
  /**
@@ -11,8 +11,6 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
11
11
  /* eslint-disable max-len */
12
12
 
13
13
  /* eslint-disable object-curly-newline, no-underscore-dangle */
14
- var qs = require('qs');
15
-
16
14
  var fetchPonyfill = require('fetch-ponyfill');
17
15
 
18
16
  var EventDispatcher = require('../utils/event-dispatcher');
@@ -151,9 +149,7 @@ function createSearchUrl(query, parameters, options) {
151
149
 
152
150
  queryParams._dt = Date.now();
153
151
  queryParams = helpers.cleanParams(queryParams);
154
- var queryString = qs.stringify(queryParams, {
155
- indices: false
156
- });
152
+ var queryString = helpers.stringify(queryParams);
157
153
  return "".concat(serviceUrl, "/search/").concat(helpers.encodeURIComponentRFC3986(helpers.trimNonBreakingSpaces(query)), "?").concat(queryString);
158
154
  }
159
155
  /**
@@ -15,8 +15,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
15
15
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
16
16
 
17
17
  /* eslint-disable object-curly-newline, no-underscore-dangle, camelcase, no-unneeded-ternary */
18
- var qs = require('qs');
19
-
20
18
  var EventEmitter = require('events');
21
19
 
22
20
  var helpers = require('../utils/helpers');
@@ -91,9 +89,7 @@ function applyParams(parameters, options) {
91
89
 
92
90
 
93
91
  function applyParamsAsString(parameters, options) {
94
- return qs.stringify(applyParams(parameters, options), {
95
- indices: false
96
- });
92
+ return helpers.stringify(applyParams(parameters, options));
97
93
  }
98
94
  /**
99
95
  * Interface to tracking related API calls
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
6
+
3
7
  /* eslint-disable no-param-reassign */
4
8
  var CRC32 = require('crc-32');
5
9
 
@@ -150,6 +154,35 @@ var utils = {
150
154
  return controller.abort();
151
155
  }, timeout);
152
156
  }
157
+ },
158
+ stringify: function stringify(object, prefix, objectType) {
159
+ if (!object) {
160
+ return '';
161
+ }
162
+
163
+ var allValues = [];
164
+ Object.keys(object).forEach(function (key) {
165
+ var value = object[key];
166
+ var encodedKey = utils.encodeURIComponentRFC3986(key);
167
+ var stringifiedValue; // Check for both null and undefined
168
+
169
+ if (value != null) {
170
+ var nextPrefix = prefix ? "".concat(prefix, "%5B").concat(encodedKey, "%5D") : encodedKey;
171
+
172
+ if (Array.isArray(value)) {
173
+ stringifiedValue = utils.stringify(value, nextPrefix, 'array');
174
+ } else if ((0, _typeof2["default"])(value) === 'object') {
175
+ stringifiedValue = utils.stringify(value, nextPrefix, 'object');
176
+ } else if (objectType === 'object') {
177
+ stringifiedValue = "".concat(nextPrefix, "=").concat(utils.encodeURIComponentRFC3986(value));
178
+ } else {
179
+ stringifiedValue = "".concat(prefix || encodedKey, "=").concat(utils.encodeURIComponentRFC3986(value));
180
+ }
181
+
182
+ allValues.push(stringifiedValue);
183
+ }
184
+ });
185
+ return allValues.join('&');
153
186
  }
154
187
  };
155
188
  module.exports = utils;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@constructor-io/constructorio-client-javascript",
3
- "version": "2.33.4",
3
+ "version": "2.34.0",
4
4
  "description": "Constructor.io JavaScript client",
5
5
  "main": "lib/constructorio.js",
6
6
  "types": "lib/types/constructorio.d.ts",
@@ -62,6 +62,7 @@
62
62
  "minami": "^1.2.3",
63
63
  "mocha": "^9.1.3",
64
64
  "nyc": "^15.1.0",
65
+ "qs": "^6.11.0",
65
66
  "sinon": "^7.5.0",
66
67
  "sinon-chai": "^3.7.0",
67
68
  "tsd": "^0.24.1"
@@ -71,7 +72,6 @@
71
72
  "crc-32": "^1.2.2",
72
73
  "events": "^3.0.0",
73
74
  "fetch-ponyfill": "^7.1.0",
74
- "qs": "6.9.7",
75
75
  "store2": "^2.14.2"
76
76
  },
77
77
  "peerDependencies": {