@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 +1 -1
- package/lib/modules/browse.js +2 -2
- package/lib/modules/quizzes.js +1 -1
- package/lib/modules/recommendations.js +8 -1
- package/lib/modules/tracker.js +11 -2
- package/lib/types/quizzes.d.ts +7 -1
- package/lib/types/recommendations.d.ts +2 -1
- package/lib/version.js +1 -1
- package/package.json +1 -1
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
|
|
package/lib/modules/browse.js
CHANGED
|
@@ -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(
|
|
8
|
-
function _objectSpread(
|
|
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');
|
package/lib/modules/quizzes.js
CHANGED
|
@@ -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)
|
package/lib/modules/tracker.js
CHANGED
|
@@ -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(
|
|
9
|
-
function _objectSpread(
|
|
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), {}, {
|
package/lib/types/quizzes.d.ts
CHANGED
|
@@ -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