@constructor-io/constructorio-client-javascript 2.29.8 → 2.29.9
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/lib/modules/search.js +27 -4
- package/package.json +1 -1
package/lib/modules/search.js
CHANGED
|
@@ -6,6 +6,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
|
|
6
6
|
|
|
7
7
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
8
8
|
|
|
9
|
+
/* eslint-disable complexity */
|
|
10
|
+
|
|
9
11
|
/* eslint-disable max-len */
|
|
10
12
|
|
|
11
13
|
/* eslint-disable object-curly-newline, no-underscore-dangle */
|
|
@@ -58,7 +60,8 @@ function createSearchUrl(query, parameters, options) {
|
|
|
58
60
|
}
|
|
59
61
|
|
|
60
62
|
if (parameters) {
|
|
61
|
-
var
|
|
63
|
+
var offset = parameters.offset,
|
|
64
|
+
page = parameters.page,
|
|
62
65
|
resultsPerPage = parameters.resultsPerPage,
|
|
63
66
|
filters = parameters.filters,
|
|
64
67
|
sortBy = parameters.sortBy,
|
|
@@ -67,7 +70,14 @@ function createSearchUrl(query, parameters, options) {
|
|
|
67
70
|
fmtOptions = parameters.fmtOptions,
|
|
68
71
|
hiddenFields = parameters.hiddenFields,
|
|
69
72
|
hiddenFacets = parameters.hiddenFacets,
|
|
70
|
-
variationsMap = parameters.variationsMap
|
|
73
|
+
variationsMap = parameters.variationsMap,
|
|
74
|
+
qsParam = parameters.qsParam,
|
|
75
|
+
preFilterExpression = parameters.preFilterExpression; // Pull offset from parameters
|
|
76
|
+
|
|
77
|
+
if (!helpers.isNil(offset)) {
|
|
78
|
+
queryParams.offset = offset;
|
|
79
|
+
} // Pull page from parameters
|
|
80
|
+
|
|
71
81
|
|
|
72
82
|
if (!helpers.isNil(page)) {
|
|
73
83
|
queryParams.page = page;
|
|
@@ -128,6 +138,16 @@ function createSearchUrl(query, parameters, options) {
|
|
|
128
138
|
|
|
129
139
|
if (variationsMap) {
|
|
130
140
|
queryParams.variations_map = JSON.stringify(variationsMap);
|
|
141
|
+
} // Pull pre_filter_expression from parameters
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
if (preFilterExpression) {
|
|
145
|
+
queryParams.pre_filter_expression = JSON.stringify(preFilterExpression);
|
|
146
|
+
} // pull qs param from parameters
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
if (qsParam) {
|
|
150
|
+
queryParams.qs = JSON.stringify(qsParam);
|
|
131
151
|
}
|
|
132
152
|
}
|
|
133
153
|
|
|
@@ -160,16 +180,19 @@ var Search = /*#__PURE__*/function () {
|
|
|
160
180
|
* @description Retrieve search results from Constructor.io API
|
|
161
181
|
* @param {string} query - Term to use to perform a search
|
|
162
182
|
* @param {object} [parameters] - Additional parameters to refine result set
|
|
163
|
-
* @param {number} [parameters.page] - The page number of the results
|
|
183
|
+
* @param {number} [parameters.page] - The page number of the results(Can't be used together with offset)
|
|
184
|
+
* @param {number} [parameters.offset] - The number of results to skip from the beginning (Can't be used together with page)
|
|
164
185
|
* @param {number} [parameters.resultsPerPage] - The number of results per page to return
|
|
165
186
|
* @param {object} [parameters.filters] - Key / value mapping (dictionary) of filters used to refine results
|
|
166
187
|
* @param {string} [parameters.sortBy='relevance'] - The sort method for results
|
|
167
188
|
* @param {string} [parameters.sortOrder='descending'] - The sort order for results
|
|
168
189
|
* @param {string} [parameters.section='Products'] - The section name for results
|
|
169
|
-
* @param {object} [parameters.fmtOptions] - The format options used to refine result groups
|
|
190
|
+
* @param {object} [parameters.fmtOptions] - The format options used to refine result groups. Please refer to https://docs.constructor.io/rest_api/search/queries for details
|
|
191
|
+
* @param {object} [parameters.preFilterExpression] - Faceting expression to scope search results. Please refer to https://docs.constructor.io/rest_api/collections#add-items-dynamically
|
|
170
192
|
* @param {string[]} [parameters.hiddenFields] - Hidden metadata fields to return
|
|
171
193
|
* @param {string[]} [parameters.hiddenFacets] - Hidden facets to return
|
|
172
194
|
* @param {object} [parameters.variationsMap] - The variations map object to aggregate variations. Please refer to https://docs.constructor.io/rest_api/variations_mapping for details
|
|
195
|
+
* @param {object} [parameters.qs] - Parameters listed above can be serialized into a JSON object and parsed through this parameter. Please refer to https://docs.constructor.io/rest_api/search/queries/
|
|
173
196
|
* @param {object} [networkParameters] - Parameters relevant to the network request
|
|
174
197
|
* @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
|
|
175
198
|
* @returns {Promise}
|