@constructor-io/constructorio-client-javascript 2.64.3 → 2.65.1

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.
package/README.md CHANGED
@@ -21,7 +21,7 @@ Alternatively, a bundled version consisting of a single JavaScript file is publi
21
21
 
22
22
  ## 2. Retrieve an API key
23
23
 
24
- You can find this in your [Constructor.io dashboard](https://constructor.io/dashboard). Contact sales if you'd like to sign up, or support if you believe your company already has an account.
24
+ You can find this in your [Constructor.io dashboard](https://app.constructor.io/dashboard). Contact sales if you'd like to sign up, or support if you believe your company already has an account.
25
25
 
26
26
  ## 3. Implement the Client
27
27
 
@@ -4,8 +4,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
5
5
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
6
6
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8
- 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; }
7
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
9
  /* eslint-disable object-curly-newline, no-underscore-dangle, max-len, complexity */
10
10
  var EventDispatcher = require('../utils/event-dispatcher');
11
11
  var helpers = require('../utils/helpers');
@@ -75,7 +75,7 @@ function createQuizUrl(quizId, parameters, options, path) {
75
75
  if (answers && answers.length) {
76
76
  answersParamString = "&".concat(helpers.stringify({
77
77
  a: answers.map(function (ans) {
78
- return (0, _toConsumableArray2["default"])(ans).join(',');
78
+ return (0, _toConsumableArray2["default"])(ans.map(encodeURIComponent)).join(',');
79
79
  })
80
80
  }));
81
81
  }
@@ -45,7 +45,8 @@ function createRecommendationsUrl(podId, parameters, options) {
45
45
  filters = parameters.filters,
46
46
  variationsMap = parameters.variationsMap,
47
47
  hiddenFields = parameters.hiddenFields,
48
- preFilterExpression = parameters.preFilterExpression;
48
+ preFilterExpression = parameters.preFilterExpression,
49
+ fmtOptions = parameters.fmtOptions;
49
50
 
50
51
  // Pull num results number from parameters
51
52
  if (!helpers.isNil(numResults)) {
@@ -72,6 +73,11 @@ function createRecommendationsUrl(podId, parameters, options) {
72
73
  queryParams.filters = filters;
73
74
  }
74
75
 
76
+ // Pull format options from parameters
77
+ if (fmtOptions) {
78
+ queryParams.fmt_options = fmtOptions;
79
+ }
80
+
75
81
  // Pull hidden fields from parameters
76
82
  if (hiddenFields) {
77
83
  if (queryParams.fmt_options) {
@@ -126,6 +132,7 @@ var Recommendations = /*#__PURE__*/function () {
126
132
  * @param {object} [parameters.filters] - Key / value mapping of filters used to refine results
127
133
  * @param {object} [parameters.variationsMap] - The variations map object to aggregate variations. Please refer to https://docs.constructor.com/reference/shared-variations-mapping for details
128
134
  * @param {object} [parameters.preFilterExpression] - Faceting expression to scope search results. Please refer to https://docs.constructor.com/reference/configuration-collections
135
+ * @param {object} [parameters.fmtOptions] - An object containing options to format different aspects of the response. Please refer to https://docs.constructor.com/reference/v1-recommendations-get-pod-results for details
129
136
  * @param {string[]} [parameters.hiddenFields] - Hidden metadata fields to return
130
137
  * @param {object} [networkParameters] - Parameters relevant to the network request
131
138
  * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
@@ -5,8 +5,8 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
5
5
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
6
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
7
7
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9
- 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; }
8
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
10
  /* eslint-disable max-depth */
11
11
  /* eslint-disable complexity */
12
12
  /* eslint-disable max-len */
@@ -1179,6 +1179,7 @@ var Tracker = /*#__PURE__*/function () {
1179
1179
  * @param {string} [parameters.resultId] - Recommendation result identifier (returned in response from Constructor)
1180
1180
  * @param {string} [parameters.section="Products"] - Results section
1181
1181
  * @param {object} [parameters.analyticsTags] - Pass additional analytics data
1182
+ * @param {string[]|string|number} [parameters.seedItemIds] - Item ID(s) to be used as seed
1182
1183
  * @param {object} [networkParameters] - Parameters relevant to the network request
1183
1184
  * @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
1184
1185
  * @returns {(true|Error)}
@@ -1221,6 +1222,7 @@ var Tracker = /*#__PURE__*/function () {
1221
1222
  numResultsViewed = _parameters$numResult3 === void 0 ? num_results_viewed : _parameters$numResult3,
1222
1223
  items = parameters.items,
1223
1224
  analyticsTags = parameters.analyticsTags,
1225
+ seedItemIds = parameters.seedItemIds,
1224
1226
  _parameters$resultCou3 = parameters.resultCount,
1225
1227
  resultCount = _parameters$resultCou3 === void 0 ? result_count || (items === null || items === void 0 ? void 0 : items.length) || 0 : _parameters$resultCou3;
1226
1228
  if (!helpers.isNil(resultCount)) {
@@ -1254,6 +1256,13 @@ var Tracker = /*#__PURE__*/function () {
1254
1256
  if (analyticsTags) {
1255
1257
  bodyParams.analytics_tags = analyticsTags;
1256
1258
  }
1259
+ if (typeof seedItemIds === 'number') {
1260
+ bodyParams.seed_item_ids = [String(seedItemIds)];
1261
+ } else if (seedItemIds !== null && seedItemIds !== void 0 && seedItemIds.length && typeof seedItemIds === 'string') {
1262
+ bodyParams.seed_item_ids = [seedItemIds];
1263
+ } else if (seedItemIds !== null && seedItemIds !== void 0 && seedItemIds.length && Array.isArray(seedItemIds)) {
1264
+ bodyParams.seed_item_ids = seedItemIds;
1265
+ }
1257
1266
  var requestURL = "".concat(requestPath).concat(applyParamsAsString({}, this.options));
1258
1267
  var requestMethod = 'POST';
1259
1268
  var requestBody = applyParams(bodyParams, _objectSpread(_objectSpread({}, this.options), {}, {
@@ -115,7 +115,7 @@ export interface QuizResultData extends Record<string, any> {
115
115
  variations: Record<string, any>[];
116
116
  }
117
117
 
118
- export type Question = SelectQuestion | OpenQuestion | CoverQuestion;
118
+ export type Question = SelectQuestion | FilterValueQuestion | OpenQuestion | CoverQuestion;
119
119
 
120
120
  export interface BaseQuestion extends Record<string, any> {
121
121
  id: number;
@@ -125,6 +125,12 @@ export interface BaseQuestion extends Record<string, any> {
125
125
  images?: Nullable<QuestionImages>;
126
126
  }
127
127
 
128
+ export interface FilterValueQuestion extends BaseQuestion {
129
+ type: 'single_filter_value' |'multiple_filter_values';
130
+ filter_name: string;
131
+ options: QuestionOption[];
132
+ }
133
+
128
134
  export interface SelectQuestion extends BaseQuestion {
129
135
  type: 'single' | 'multiple';
130
136
  options: QuestionOption[];
@@ -1,4 +1,4 @@
1
- import { ConstructorClientOptions, NetworkParameters, VariationsMap, FilterExpression } from '.';
1
+ import { ConstructorClientOptions, NetworkParameters, VariationsMap, FilterExpression, FmtOptions } from '.';
2
2
  import EventDispatcher from './event-dispatcher';
3
3
 
4
4
  export default Recommendations;
@@ -12,6 +12,7 @@ export interface RecommendationsParameters {
12
12
  variationsMap?: VariationsMap;
13
13
  hiddenFields?: string[];
14
14
  preFilterExpression?: FilterExpression;
15
+ fmtOptions?: FmtOptions;
15
16
  }
16
17
 
17
18
  declare class Recommendations {
package/lib/version.js CHANGED
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _default = '2.64.3';
7
+ var _default = '2.65.1';
8
8
  exports["default"] = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@constructor-io/constructorio-client-javascript",
3
- "version": "2.64.3",
3
+ "version": "2.65.1",
4
4
  "description": "Constructor.io JavaScript client",
5
5
  "main": "lib/constructorio.js",
6
6
  "types": "lib/types/index.d.ts",