From 14715e31b70ca0a82e43304f31addc2089da47e8 Mon Sep 17 00:00:00 2001 From: Uttam Krishna Ukkoji Date: Tue, 9 Feb 2021 15:53:35 +0530 Subject: [PATCH 1/2] fix: Increase timeout to 30 Sec --- .gitignore | 3 +- README.md | 2 +- contentstack-templates/tmpl/layout.tmpl | 2 +- js-sdk-reference/index.html | 2 +- package-lock.json | 135 ++++++++++++++++++++++++ package.json | 3 +- src/core/lib/request.js | 2 +- 7 files changed, 143 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index cffaf5f4..df0f756a 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,5 @@ test/config.js/* test/sync_config.js/* test/report.json/* tap-html.html -*html-report \ No newline at end of file +*html-report +coverage \ No newline at end of file diff --git a/README.md b/README.md index ccb090c5..a8d2f56a 100755 --- a/README.md +++ b/README.md @@ -193,7 +193,7 @@ You can query for content types, entries, assets and more using our JavaScript A We have introduced Image Delivery APIs that let you retrieve images and then manipulate and optimize them for your digital properties. It lets you perform a host of other actions such as crop, trim, resize, rotate, overlay, and so on. -For example, if you want to crop an image (with width as 300 and height as 400), you simply need to append query parameters at the end of the image URL, such as, https://images.contentstack.io/v3/assets/blteae40eb499811073/bltc5064f36b5855343/59e0c41ac0eddd140d5a8e3e/download?crop=300,400. There are several more parameters that you can use for your images. +For example, if you want to crop an image (with width as 300 and height as 400), you simply need to append query parameters at the end of the image URL, such as, https://images.contentstack.io/v3/assets/blteae40eb499811073/bltc5064f36b5855343/59e0c41ac0eddd140d5a8e3e/owl.jpg?crop=300,400. There are several more parameters that you can use for your images. [Read Image Delivery API documentation](https://www.contentstack.com/docs/apis/image-delivery-api/). diff --git a/contentstack-templates/tmpl/layout.tmpl b/contentstack-templates/tmpl/layout.tmpl index 34903258..d49a00b0 100755 --- a/contentstack-templates/tmpl/layout.tmpl +++ b/contentstack-templates/tmpl/layout.tmpl @@ -197,7 +197,7 @@ data.then(function(result) {

JavaScript API Reference Doc

Working with Images

We have introduced Image Delivery APIs that let you retrieve images and then manipulate and optimize them for your digital properties. It lets you perform a host of other actions such as crop, trim, resize, rotate, overlay, and so on.

-

For example, if you want to crop an image (with width as 300 and height as 400), you simply need to append query parameters at the end of the image URL, such as, https://images.contentstack.io/v3/assets/blteae40eb499811073/bltc5064f36b5855343/59e0c41ac0eddd140d5a8e3e/download?crop=300,400. There are several more parameters that you can use for your images.

+

For example, if you want to crop an image (with width as 300 and height as 400), you simply need to append query parameters at the end of the image URL, such as, https://images.contentstack.io/v3/assets/blteae40eb499811073/bltc5064f36b5855343/59e0c41ac0eddd140d5a8e3e/owl.jpg?crop=300,400. There are several more parameters that you can use for your images.

Read Image Delivery API documentation.

SDK functions for Image Delivery API coming soon.

Helpful Links

diff --git a/js-sdk-reference/index.html b/js-sdk-reference/index.html index 3425485c..af1cb8e5 100644 --- a/js-sdk-reference/index.html +++ b/js-sdk-reference/index.html @@ -195,7 +195,7 @@

Advanced Queries

JavaScript API Reference Doc

Working with Images

We have introduced Image Delivery APIs that let you retrieve images and then manipulate and optimize them for your digital properties. It lets you perform a host of other actions such as crop, trim, resize, rotate, overlay, and so on.

-

For example, if you want to crop an image (with width as 300 and height as 400), you simply need to append query parameters at the end of the image URL, such as, https://images.contentstack.io/v3/assets/blteae40eb499811073/bltc5064f36b5855343/59e0c41ac0eddd140d5a8e3e/download?crop=300,400. There are several more parameters that you can use for your images.

+

For example, if you want to crop an image (with width as 300 and height as 400), you simply need to append query parameters at the end of the image URL, such as, https://images.contentstack.io/v3/assets/blteae40eb499811073/bltc5064f36b5855343/59e0c41ac0eddd140d5a8e3e/owl.jpg?crop=300,400. There are several more parameters that you can use for your images.

Read Image Delivery API documentation.

SDK functions for Image Delivery API coming soon.

Helpful Links

diff --git a/package-lock.json b/package-lock.json index e18470c0..80044fdc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1399,6 +1399,12 @@ "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", "dev": true }, + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, "acorn": { "version": "5.7.4", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", @@ -5076,6 +5082,40 @@ "dev": true, "optional": true }, + "handlebars": { + "version": "4.7.6", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", + "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "uglify-js": { + "version": "3.12.7", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.7.tgz", + "integrity": "sha512-SIZhkoh+U/wjW+BHGhVwE9nt8tWJspncloBcFapkpGRwNPqcH8pzX36BXe3TPBjzHWPMUZotpCigak/udWNr1Q==", + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + } + } + }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -5750,6 +5790,92 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "istanbul": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", + "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "dev": true, + "requires": { + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "requires": { + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.2.0" + } + }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + } + } + }, "istanbul-lib-coverage": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", @@ -8281,6 +8407,15 @@ "integrity": "sha512-IludxDypFpYw4xpzKdMAozBSkzKHmNBvGanUREjJItgJ2NYcK/s8+PggVhj7c2yGFQykKsnnmv1+Aqo0ZfjHmw==", "dev": true }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", diff --git a/package.json b/package.json index f0b83ac9..f1e2bf2c 100755 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "_id": "contentstack@3.12.0", "scripts": { "test": "npm run test:e2e && npm run test:typescript", - "test:e2e": "tape test/index.js | tap-html --out ./tap-html.html", + "test:e2e": "istanbul cover tape test/index.js | tap-html --out ./tap-html.html", "test:typescript": "jest --testPathPattern=test/typescript", "automate": "node test.js", "buildnode": "webpack --config webpack/webpack.node.js", @@ -74,6 +74,7 @@ "es3ify-loader": "0.2.0", "fetch-mock-jest": "^1.3.0", "http-proxy-agent": "^3.0.0", + "istanbul": "^0.4.5", "jest": "^26.4.2", "jest-html-reporters": "^2.0.3", "jsdoc": "^3.6.5", diff --git a/src/core/lib/request.js b/src/core/lib/request.js index 6b7c23f8..195d2143 100755 --- a/src/core/lib/request.js +++ b/src/core/lib/request.js @@ -64,7 +64,7 @@ function fetchRetry(url, headers, retryDelay = 300, retryLimit = 5, fetchOptions var option = Object.assign({ method: 'GET', headers: headers, - timeout: 3000, + timeout: 30000, }, fetchOptions); From 97919649d0fb9d24ec2885c6004116b2d3253804 Mon Sep 17 00:00:00 2001 From: Uttam Krishna Ukkoji Date: Wed, 17 Feb 2021 16:22:23 +0530 Subject: [PATCH 2/2] Support for TS: Query function where, equal and notEqual to include boolean --- CHANGELOG.md | 9 +++++++++ dist/nativescript/contentstack.js | 2 +- dist/node/contentstack.js | 2 +- dist/react-native/contentstack.js | 2 +- dist/web/contentstack.js | 2 +- index.d.ts | 8 ++++---- package-lock.json | 2 +- package.json | 2 +- test/typescript/entry-query.test.ts | 4 ++-- 9 files changed, 21 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb7675d1..6a2b2f88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,13 @@ +### Version: 3.12.2 +#### Date: Feb-19-2021 + +##### API timeout: +- updated timeout to min 30 sec +##### Enhancement Typescript: +- boolean value support added: + - [Query] - where, equalTo, notEqualTo + ### Version: 3.12.1 #### Date: Jan-22-2021 diff --git a/dist/nativescript/contentstack.js b/dist/nativescript/contentstack.js index feeb1119..5f2d40e6 100644 --- a/dist/nativescript/contentstack.js +++ b/dist/nativescript/contentstack.js @@ -203,7 +203,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = Request;\n\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./src/core/lib/utils.js\");\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _http = __webpack_require__(/*! runtime/http.js */ \"./src/runtime/nativescript/http.js\");\n\nvar _http2 = _interopRequireDefault(_http);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\n//JS SDK version\nvar version = '3.12.1';\nvar environment = void 0,\n api_key = void 0;\nfunction Request(options, fetchOptions) {\n return new Promise(function (resolve, reject) {\n var queryParams = void 0;\n var serialize = function serialize(obj, prefix) {\n\n var str = [],\n p = void 0;\n if ((typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj)) === \"object\" && obj.length !== undefined) {\n for (var i = 0, _i = obj.length; i < _i; i++) {\n str.push(prefix + '[]=' + obj[i]);\n }\n } else {\n for (p in obj) {\n var k = prefix ? prefix + \"[\" + p + \"]\" : p,\n v = obj[p];\n str.push(v !== null && (typeof v === \"undefined\" ? \"undefined\" : _typeof(v)) === \"object\" && p !== 'query' ? serialize(v, k) : k + \"=\" + encodeURIComponent(p !== 'query' ? v : JSON.stringify(v)));\n }\n }\n return str.join(\"&\");\n };\n\n var url = options.url,\n headers = options.headers;\n\n // setting headers\n headers['Content-Type'] = 'application/json; charset=UTF-8';\n headers['X-User-Agent'] = 'contentstack-react-native/' + version;\n\n if (options.body && _typeof(options.body) === 'object') {\n delete options.body._method;\n if (_typeof(options.body.query) === \"object\" && Object.keys(options.body.query).length === 0) delete options.body.query;\n queryParams = serialize(options.body);\n }\n\n return fetchRetry(url + '?' + queryParams, headers, fetchOptions.retryDelay, fetchOptions.retryLimit, fetchOptions, resolve, reject);\n });\n}\n\nfunction wait(retryDelay) {\n return new Promise(function (resolve) {\n setTimeout(resolve, retryDelay);\n });\n}\nasync function safeParseJSON(response) {\n var body = await response.text();\n}\nfunction fetchRetry(url, headers) {\n var retryDelay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;\n var retryLimit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 5;\n var fetchOptions = arguments[4];\n var resolve = arguments[5];\n var reject = arguments[6];\n\n var option = Object.assign({\n method: 'GET',\n headers: headers,\n timeout: 3000\n }, fetchOptions);\n\n function onError(error) {\n if (retryLimit === 0) {\n reject(error);\n } else {\n var msDelay = retryDelay;\n retryLimit = retryLimit - 1;\n var retryCount = fetchOptions.retryLimit - retryLimit;\n if (fetchOptions.retryDelayOptions) {\n if (fetchOptions.retryDelayOptions.base) {\n msDelay = fetchOptions.retryDelayOptions.base * retryCount;\n } else if (fetchOptions.retryDelayOptions.customBackoff) {\n msDelay = fetchOptions.retryDelayOptions.customBackoff(retryCount, error);\n }\n }\n wait(msDelay).then(function () {\n return fetchRetry(url, headers, retryDelay, retryLimit, fetchOptions, resolve, reject);\n });\n }\n }\n (0, _http2.default)(url, option).then(function (response) {\n var data = response.json();\n if (response.ok && response.status === 200) {\n resolve(data);\n } else {\n data.then(function (json) {\n if (fetchOptions.retryCondition && fetchOptions.retryCondition(response)) {\n onError(json);\n } else {\n reject(json);\n }\n }).catch(function () {\n reject({ status: response.status, statusText: response.statusText });\n });\n }\n }).catch(function (error) {\n reject(error);\n });\n}\n\n//# sourceURL=webpack://Contentstack/./src/core/lib/request.js?"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = Request;\n\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./src/core/lib/utils.js\");\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _http = __webpack_require__(/*! runtime/http.js */ \"./src/runtime/nativescript/http.js\");\n\nvar _http2 = _interopRequireDefault(_http);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\n//JS SDK version\nvar version = '3.12.2';\nvar environment = void 0,\n api_key = void 0;\nfunction Request(options, fetchOptions) {\n return new Promise(function (resolve, reject) {\n var queryParams = void 0;\n var serialize = function serialize(obj, prefix) {\n\n var str = [],\n p = void 0;\n if ((typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj)) === \"object\" && obj.length !== undefined) {\n for (var i = 0, _i = obj.length; i < _i; i++) {\n str.push(prefix + '[]=' + obj[i]);\n }\n } else {\n for (p in obj) {\n var k = prefix ? prefix + \"[\" + p + \"]\" : p,\n v = obj[p];\n str.push(v !== null && (typeof v === \"undefined\" ? \"undefined\" : _typeof(v)) === \"object\" && p !== 'query' ? serialize(v, k) : k + \"=\" + encodeURIComponent(p !== 'query' ? v : JSON.stringify(v)));\n }\n }\n return str.join(\"&\");\n };\n\n var url = options.url,\n headers = options.headers;\n\n // setting headers\n headers['Content-Type'] = 'application/json; charset=UTF-8';\n headers['X-User-Agent'] = 'contentstack-react-native/' + version;\n\n if (options.body && _typeof(options.body) === 'object') {\n delete options.body._method;\n if (_typeof(options.body.query) === \"object\" && Object.keys(options.body.query).length === 0) delete options.body.query;\n queryParams = serialize(options.body);\n }\n\n return fetchRetry(url + '?' + queryParams, headers, fetchOptions.retryDelay, fetchOptions.retryLimit, fetchOptions, resolve, reject);\n });\n}\n\nfunction wait(retryDelay) {\n return new Promise(function (resolve) {\n setTimeout(resolve, retryDelay);\n });\n}\nasync function safeParseJSON(response) {\n var body = await response.text();\n}\nfunction fetchRetry(url, headers) {\n var retryDelay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;\n var retryLimit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 5;\n var fetchOptions = arguments[4];\n var resolve = arguments[5];\n var reject = arguments[6];\n\n var option = Object.assign({\n method: 'GET',\n headers: headers,\n timeout: 30000\n }, fetchOptions);\n\n function onError(error) {\n if (retryLimit === 0) {\n reject(error);\n } else {\n var msDelay = retryDelay;\n retryLimit = retryLimit - 1;\n var retryCount = fetchOptions.retryLimit - retryLimit;\n if (fetchOptions.retryDelayOptions) {\n if (fetchOptions.retryDelayOptions.base) {\n msDelay = fetchOptions.retryDelayOptions.base * retryCount;\n } else if (fetchOptions.retryDelayOptions.customBackoff) {\n msDelay = fetchOptions.retryDelayOptions.customBackoff(retryCount, error);\n }\n }\n wait(msDelay).then(function () {\n return fetchRetry(url, headers, retryDelay, retryLimit, fetchOptions, resolve, reject);\n });\n }\n }\n (0, _http2.default)(url, option).then(function (response) {\n var data = response.json();\n if (response.ok && response.status === 200) {\n resolve(data);\n } else {\n data.then(function (json) {\n if (fetchOptions.retryCondition && fetchOptions.retryCondition(response)) {\n onError(json);\n } else {\n reject(json);\n }\n }).catch(function () {\n reject({ status: response.status, statusText: response.statusText });\n });\n }\n }).catch(function (error) {\n reject(error);\n });\n}\n\n//# sourceURL=webpack://Contentstack/./src/core/lib/request.js?"); /***/ }), diff --git a/dist/node/contentstack.js b/dist/node/contentstack.js index 1b447290..36928edb 100644 --- a/dist/node/contentstack.js +++ b/dist/node/contentstack.js @@ -203,7 +203,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = Request;\n\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./src/core/lib/utils.js\");\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _http = __webpack_require__(/*! runtime/http.js */ \"./src/runtime/node/http.js\");\n\nvar _http2 = _interopRequireDefault(_http);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\n//JS SDK version\nvar version = '3.12.1';\nvar environment = void 0,\n api_key = void 0;\nfunction Request(options, fetchOptions) {\n return new Promise(function (resolve, reject) {\n var queryParams = void 0;\n var serialize = function serialize(obj, prefix) {\n\n var str = [],\n p = void 0;\n if ((typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj)) === \"object\" && obj.length !== undefined) {\n for (var i = 0, _i = obj.length; i < _i; i++) {\n str.push(prefix + '[]=' + obj[i]);\n }\n } else {\n for (p in obj) {\n var k = prefix ? prefix + \"[\" + p + \"]\" : p,\n v = obj[p];\n str.push(v !== null && (typeof v === \"undefined\" ? \"undefined\" : _typeof(v)) === \"object\" && p !== 'query' ? serialize(v, k) : k + \"=\" + encodeURIComponent(p !== 'query' ? v : JSON.stringify(v)));\n }\n }\n return str.join(\"&\");\n };\n\n var url = options.url,\n headers = options.headers;\n\n // setting headers\n headers['Content-Type'] = 'application/json; charset=UTF-8';\n headers['X-User-Agent'] = 'contentstack-nodejs/' + version;\n\n if (options.body && _typeof(options.body) === 'object') {\n delete options.body._method;\n if (_typeof(options.body.query) === \"object\" && Object.keys(options.body.query).length === 0) delete options.body.query;\n queryParams = serialize(options.body);\n }\n\n return fetchRetry(url + '?' + queryParams, headers, fetchOptions.retryDelay, fetchOptions.retryLimit, fetchOptions, resolve, reject);\n });\n}\n\nfunction wait(retryDelay) {\n return new Promise(function (resolve) {\n setTimeout(resolve, retryDelay);\n });\n}\nasync function safeParseJSON(response) {\n var body = await response.text();\n}\nfunction fetchRetry(url, headers) {\n var retryDelay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;\n var retryLimit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 5;\n var fetchOptions = arguments[4];\n var resolve = arguments[5];\n var reject = arguments[6];\n\n var option = Object.assign({\n method: 'GET',\n headers: headers,\n timeout: 3000\n }, fetchOptions);\n\n function onError(error) {\n if (retryLimit === 0) {\n reject(error);\n } else {\n var msDelay = retryDelay;\n retryLimit = retryLimit - 1;\n var retryCount = fetchOptions.retryLimit - retryLimit;\n if (fetchOptions.retryDelayOptions) {\n if (fetchOptions.retryDelayOptions.base) {\n msDelay = fetchOptions.retryDelayOptions.base * retryCount;\n } else if (fetchOptions.retryDelayOptions.customBackoff) {\n msDelay = fetchOptions.retryDelayOptions.customBackoff(retryCount, error);\n }\n }\n wait(msDelay).then(function () {\n return fetchRetry(url, headers, retryDelay, retryLimit, fetchOptions, resolve, reject);\n });\n }\n }\n (0, _http2.default)(url, option).then(function (response) {\n var data = response.json();\n if (response.ok && response.status === 200) {\n resolve(data);\n } else {\n data.then(function (json) {\n if (fetchOptions.retryCondition && fetchOptions.retryCondition(response)) {\n onError(json);\n } else {\n reject(json);\n }\n }).catch(function () {\n reject({ status: response.status, statusText: response.statusText });\n });\n }\n }).catch(function (error) {\n reject(error);\n });\n}\n\n//# sourceURL=webpack://Contentstack/./src/core/lib/request.js?"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = Request;\n\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./src/core/lib/utils.js\");\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _http = __webpack_require__(/*! runtime/http.js */ \"./src/runtime/node/http.js\");\n\nvar _http2 = _interopRequireDefault(_http);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\n//JS SDK version\nvar version = '3.12.2';\nvar environment = void 0,\n api_key = void 0;\nfunction Request(options, fetchOptions) {\n return new Promise(function (resolve, reject) {\n var queryParams = void 0;\n var serialize = function serialize(obj, prefix) {\n\n var str = [],\n p = void 0;\n if ((typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj)) === \"object\" && obj.length !== undefined) {\n for (var i = 0, _i = obj.length; i < _i; i++) {\n str.push(prefix + '[]=' + obj[i]);\n }\n } else {\n for (p in obj) {\n var k = prefix ? prefix + \"[\" + p + \"]\" : p,\n v = obj[p];\n str.push(v !== null && (typeof v === \"undefined\" ? \"undefined\" : _typeof(v)) === \"object\" && p !== 'query' ? serialize(v, k) : k + \"=\" + encodeURIComponent(p !== 'query' ? v : JSON.stringify(v)));\n }\n }\n return str.join(\"&\");\n };\n\n var url = options.url,\n headers = options.headers;\n\n // setting headers\n headers['Content-Type'] = 'application/json; charset=UTF-8';\n headers['X-User-Agent'] = 'contentstack-nodejs/' + version;\n\n if (options.body && _typeof(options.body) === 'object') {\n delete options.body._method;\n if (_typeof(options.body.query) === \"object\" && Object.keys(options.body.query).length === 0) delete options.body.query;\n queryParams = serialize(options.body);\n }\n\n return fetchRetry(url + '?' + queryParams, headers, fetchOptions.retryDelay, fetchOptions.retryLimit, fetchOptions, resolve, reject);\n });\n}\n\nfunction wait(retryDelay) {\n return new Promise(function (resolve) {\n setTimeout(resolve, retryDelay);\n });\n}\nasync function safeParseJSON(response) {\n var body = await response.text();\n}\nfunction fetchRetry(url, headers) {\n var retryDelay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;\n var retryLimit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 5;\n var fetchOptions = arguments[4];\n var resolve = arguments[5];\n var reject = arguments[6];\n\n var option = Object.assign({\n method: 'GET',\n headers: headers,\n timeout: 30000\n }, fetchOptions);\n\n function onError(error) {\n if (retryLimit === 0) {\n reject(error);\n } else {\n var msDelay = retryDelay;\n retryLimit = retryLimit - 1;\n var retryCount = fetchOptions.retryLimit - retryLimit;\n if (fetchOptions.retryDelayOptions) {\n if (fetchOptions.retryDelayOptions.base) {\n msDelay = fetchOptions.retryDelayOptions.base * retryCount;\n } else if (fetchOptions.retryDelayOptions.customBackoff) {\n msDelay = fetchOptions.retryDelayOptions.customBackoff(retryCount, error);\n }\n }\n wait(msDelay).then(function () {\n return fetchRetry(url, headers, retryDelay, retryLimit, fetchOptions, resolve, reject);\n });\n }\n }\n (0, _http2.default)(url, option).then(function (response) {\n var data = response.json();\n if (response.ok && response.status === 200) {\n resolve(data);\n } else {\n data.then(function (json) {\n if (fetchOptions.retryCondition && fetchOptions.retryCondition(response)) {\n onError(json);\n } else {\n reject(json);\n }\n }).catch(function () {\n reject({ status: response.status, statusText: response.statusText });\n });\n }\n }).catch(function (error) {\n reject(error);\n });\n}\n\n//# sourceURL=webpack://Contentstack/./src/core/lib/request.js?"); /***/ }), diff --git a/dist/react-native/contentstack.js b/dist/react-native/contentstack.js index b75ca131..024dd819 100644 --- a/dist/react-native/contentstack.js +++ b/dist/react-native/contentstack.js @@ -203,7 +203,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n}); /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = Request;\n\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./src/core/lib/utils.js\");\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _http = __webpack_require__(/*! runtime/http.js */ \"./src/runtime/react-native/http.js\");\n\nvar _http2 = _interopRequireDefault(_http);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\n//JS SDK version\nvar version = '3.12.1';\nvar environment = void 0,\n api_key = void 0;\nfunction Request(options, fetchOptions) {\n return new Promise(function (resolve, reject) {\n var queryParams = void 0;\n var serialize = function serialize(obj, prefix) {\n\n var str = [],\n p = void 0;\n if ((typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj)) === \"object\" && obj.length !== undefined) {\n for (var i = 0, _i = obj.length; i < _i; i++) {\n str.push(prefix + '[]=' + obj[i]);\n }\n } else {\n for (p in obj) {\n var k = prefix ? prefix + \"[\" + p + \"]\" : p,\n v = obj[p];\n str.push(v !== null && (typeof v === \"undefined\" ? \"undefined\" : _typeof(v)) === \"object\" && p !== 'query' ? serialize(v, k) : k + \"=\" + encodeURIComponent(p !== 'query' ? v : JSON.stringify(v)));\n }\n }\n return str.join(\"&\");\n };\n\n var url = options.url,\n headers = options.headers;\n\n // setting headers\n headers['Content-Type'] = 'application/json; charset=UTF-8';\n headers['X-User-Agent'] = 'contentstack-react-native/' + version;\n\n if (options.body && _typeof(options.body) === 'object') {\n delete options.body._method;\n if (_typeof(options.body.query) === \"object\" && Object.keys(options.body.query).length === 0) delete options.body.query;\n queryParams = serialize(options.body);\n }\n\n return fetchRetry(url + '?' + queryParams, headers, fetchOptions.retryDelay, fetchOptions.retryLimit, fetchOptions, resolve, reject);\n });\n}\n\nfunction wait(retryDelay) {\n return new Promise(function (resolve) {\n setTimeout(resolve, retryDelay);\n });\n}\nasync function safeParseJSON(response) {\n var body = await response.text();\n}\nfunction fetchRetry(url, headers) {\n var retryDelay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;\n var retryLimit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 5;\n var fetchOptions = arguments[4];\n var resolve = arguments[5];\n var reject = arguments[6];\n\n var option = Object.assign({\n method: 'GET',\n headers: headers,\n timeout: 3000\n }, fetchOptions);\n\n function onError(error) {\n if (retryLimit === 0) {\n reject(error);\n } else {\n var msDelay = retryDelay;\n retryLimit = retryLimit - 1;\n var retryCount = fetchOptions.retryLimit - retryLimit;\n if (fetchOptions.retryDelayOptions) {\n if (fetchOptions.retryDelayOptions.base) {\n msDelay = fetchOptions.retryDelayOptions.base * retryCount;\n } else if (fetchOptions.retryDelayOptions.customBackoff) {\n msDelay = fetchOptions.retryDelayOptions.customBackoff(retryCount, error);\n }\n }\n wait(msDelay).then(function () {\n return fetchRetry(url, headers, retryDelay, retryLimit, fetchOptions, resolve, reject);\n });\n }\n }\n (0, _http2.default)(url, option).then(function (response) {\n var data = response.json();\n if (response.ok && response.status === 200) {\n resolve(data);\n } else {\n data.then(function (json) {\n if (fetchOptions.retryCondition && fetchOptions.retryCondition(response)) {\n onError(json);\n } else {\n reject(json);\n }\n }).catch(function () {\n reject({ status: response.status, statusText: response.statusText });\n });\n }\n }).catch(function (error) {\n reject(error);\n });\n}\n\n//# sourceURL=webpack://Contentstack/./src/core/lib/request.js?"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.default = Request;\n\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./src/core/lib/utils.js\");\n\nvar Utils = _interopRequireWildcard(_utils);\n\nvar _http = __webpack_require__(/*! runtime/http.js */ \"./src/runtime/react-native/http.js\");\n\nvar _http2 = _interopRequireDefault(_http);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\n//JS SDK version\nvar version = '3.12.2';\nvar environment = void 0,\n api_key = void 0;\nfunction Request(options, fetchOptions) {\n return new Promise(function (resolve, reject) {\n var queryParams = void 0;\n var serialize = function serialize(obj, prefix) {\n\n var str = [],\n p = void 0;\n if ((typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj)) === \"object\" && obj.length !== undefined) {\n for (var i = 0, _i = obj.length; i < _i; i++) {\n str.push(prefix + '[]=' + obj[i]);\n }\n } else {\n for (p in obj) {\n var k = prefix ? prefix + \"[\" + p + \"]\" : p,\n v = obj[p];\n str.push(v !== null && (typeof v === \"undefined\" ? \"undefined\" : _typeof(v)) === \"object\" && p !== 'query' ? serialize(v, k) : k + \"=\" + encodeURIComponent(p !== 'query' ? v : JSON.stringify(v)));\n }\n }\n return str.join(\"&\");\n };\n\n var url = options.url,\n headers = options.headers;\n\n // setting headers\n headers['Content-Type'] = 'application/json; charset=UTF-8';\n headers['X-User-Agent'] = 'contentstack-react-native/' + version;\n\n if (options.body && _typeof(options.body) === 'object') {\n delete options.body._method;\n if (_typeof(options.body.query) === \"object\" && Object.keys(options.body.query).length === 0) delete options.body.query;\n queryParams = serialize(options.body);\n }\n\n return fetchRetry(url + '?' + queryParams, headers, fetchOptions.retryDelay, fetchOptions.retryLimit, fetchOptions, resolve, reject);\n });\n}\n\nfunction wait(retryDelay) {\n return new Promise(function (resolve) {\n setTimeout(resolve, retryDelay);\n });\n}\nasync function safeParseJSON(response) {\n var body = await response.text();\n}\nfunction fetchRetry(url, headers) {\n var retryDelay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300;\n var retryLimit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 5;\n var fetchOptions = arguments[4];\n var resolve = arguments[5];\n var reject = arguments[6];\n\n var option = Object.assign({\n method: 'GET',\n headers: headers,\n timeout: 30000\n }, fetchOptions);\n\n function onError(error) {\n if (retryLimit === 0) {\n reject(error);\n } else {\n var msDelay = retryDelay;\n retryLimit = retryLimit - 1;\n var retryCount = fetchOptions.retryLimit - retryLimit;\n if (fetchOptions.retryDelayOptions) {\n if (fetchOptions.retryDelayOptions.base) {\n msDelay = fetchOptions.retryDelayOptions.base * retryCount;\n } else if (fetchOptions.retryDelayOptions.customBackoff) {\n msDelay = fetchOptions.retryDelayOptions.customBackoff(retryCount, error);\n }\n }\n wait(msDelay).then(function () {\n return fetchRetry(url, headers, retryDelay, retryLimit, fetchOptions, resolve, reject);\n });\n }\n }\n (0, _http2.default)(url, option).then(function (response) {\n var data = response.json();\n if (response.ok && response.status === 200) {\n resolve(data);\n } else {\n data.then(function (json) {\n if (fetchOptions.retryCondition && fetchOptions.retryCondition(response)) {\n onError(json);\n } else {\n reject(json);\n }\n }).catch(function () {\n reject({ status: response.status, statusText: response.statusText });\n });\n }\n }).catch(function (error) {\n reject(error);\n });\n}\n\n//# sourceURL=webpack://Contentstack/./src/core/lib/request.js?"); /***/ }), diff --git a/dist/web/contentstack.js b/dist/web/contentstack.js index 74ac1da5..0fdc9bd2 100644 --- a/dist/web/contentstack.js +++ b/dist/web/contentstack.js @@ -1,4 +1,4 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Contentstack=t():e.Contentstack=t()}(window,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=8)}([function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.transform=function(e){return function(){switch(this._query[e]=this._query[e]||{},arguments.length){case 1:if(Array.isArray(arguments[0])||"string"==typeof arguments[0]){var t=this._query[e].BASE||[];return t=t.concat(arguments[0]),this._query[e].BASE=t,this}console.error("Kindly provide valid parameters");break;case 2:if("string"==typeof arguments[0]&&(Array.isArray(arguments[1])||"string"==typeof arguments[1])){var r=this._query[e][arguments[0]]||[];return r=r.concat(arguments[1]),this._query[e][arguments[0]]=r,this}console.error("Kindly provide valid parameters");break;default:console.error("Kindly provide valid parameters")}}},t._type=function(e){var t=void 0===e?"undefined":n(e);switch(t){case"object":t,Array.isArray(e)&&(t="array");break;default:t}return t},t.mergeDeep=function(e,t){var r=this;return function e(t,n){for(var o in n)"object"==r._type(n[o])&&r._type(t[o])==r._type(n[o])?e(t[o],n[o]):"array"==r._type(n[o])&&r._type(t[o])==r._type(n[o])?t[o]=t[o].concat(n[o]):t[o]=n[o]}(e,t),e},t.merge=u,t.isBrowser=function(){return"undefined"!=typeof window&&"object"===(void 0===e?"undefined":n(e))&&"browser"===e.title},t.parseQueryFromParams=c,t.getHash=a,t.generateHash=f,t.resultWrapper=l,t.spreadResult=y,t.sendRequest=function(e,t){var r=e.environment_uid;r?e._query.environment_uid=r:(e._query||(e._query={}),e._query.environment=e.environment);var i=e,s=void 0!==i.queryCachePolicy?i.queryCachePolicy:i.cachePolicy,f=void 0!==i.tojson&&i.tojson,h=!!(i.entry_uid||i.singleEntry||i.asset_uid),d=a(c(i,h,f));if(e&&e.requestParams&&e.requestParams.body&&e.requestParams.body.query){var p=JSON.parse(JSON.stringify(e.requestParams.body.query));"object"!==(void 0===p?"undefined":n(p))&&(p=JSON.parse(p)),delete e.requestParams.body.query,e.requestParams.body=u(e.requestParams.body,p)}var v=function(){return function(e,t){return new Promise((function(r,n){try{if(e)throw e;f||(t=l(t)),r(y(t))}catch(e){n(e)}}))}},_=function(r,n,u){r&&(0,o.default)(e.requestParams,t).then(function(t){try{i.entry_uid=i.asset_uid=i.tojson=i.queryCachePolicy=void 0;var r={},o={};if(e.singleEntry)if(e.singleEntry=!1,t.schema&&(r.schema=t.schema),t.content_type&&(r.content_type=t.content_type,delete r.schema),t.entries&&t.entries.length)r.entry=t.entries[0];else{if(!t.assets||!t.assets.length)return 2!==s||null===i.provider?u({error_code:141,error_message:"The requested entry doesn't exist."}):void i.provider.get(d,v());r.assets=t.assets[0]}else t.items?o={items:t.items,pagination_token:t.pagination_token,sync_token:t.sync_token,total_count:t.total_count}:r=t;return-1!==s&&null!==i.provider?(i.provider.set(d,r,(function(e){try{if(e)throw e;return f||(r=l(r)),n(y(r))}catch(e){return u(e)}})),n(y(r))):Object.keys(o).length?n(o):(f||(r=l(r)),n(y(r)))}catch(e){return u({message:e.message})}}.bind(i)).catch((function(e){if(2!==s||null===i.provider)return u(e);i.provider.get(d,v())}))};switch(s){case 1:return new Promise((function(e,t){null!==i.provider?i.provider.get(d,(function(r,n){try{if(!r&&n)return f||(n=l(n)),e(y(n));_(!0,e,t)}catch(e){return t(e)}})):_(!0,e,t)}));case 2:case 0:case void 0:case-1:return new Promise((function(e,t){_(!0,e,t)}))}if(3===s){return new Promise((function(e,t){null!==i.provider&&i.provider.get(d,(function(r,n){try{r||!n?t(r):(f||(n=l(n)),e(y(n)))}catch(e){t(e)}}))})).then((function(){return new Promise((function(e,t){_(!0,e,t)}))})).catch((function(e){return new Promise((function(e,t){_(!0,e,t)}))}))}};var o=s(r(2)),i=s(r(14));function s(e){return e&&e.__esModule?e:{default:e}}function u(e,t){if(e&&t)for(var r in t)e[r]=t[r];return e}function c(e,t,r){if(e&&e.requestParams){var n=u({},e.requestParams.body&&e.requestParams.body.query||{});return n.environment_uid&&(delete n.environment_uid,n.environment=e.environment),n.environment=e.environment,{content_type_uid:e.content_type_uid,locale:n.locale||"en-us",query:n,entry_uid:e.entry_uid,asset_uid:e.asset_uid,single:t||"false",toJSON:r||"false",api_key:e.requestParams.headers?e.requestParams.headers.api_key:""}}}function a(e){try{var t=f(JSON.stringify(e)),r=[];return r.push(e.content_type_uid),r.push(e.locale),e.entry_uid&&r.push(e.entry_uid),e.asset_uid&&r.push(e.asset_uid),r.push(t),r.join(".")}catch(e){}}function f(e){var t,r=0,n=void 0;if(0===e.length)return r;for(n=0,t=e.length;n=-1&&e<4?this._query?this.queryCachePolicy=e:this.cachePolicy=e:console.error("Kindly provide the valid policy"),this}},{key:"setCacheProvider",value:function(e){return e&&"object"===(void 0===e?"undefined":n(e))&&(this.provider=e),this}},{key:"clearByQuery",value:function(){if(this.provider&&"function"==typeof this.provider.clearByQuery)return this.provider.clearByQuery.apply(this.provider,arguments)}},{key:"clearByContentType",value:function(){if(this.provider&&"function"==typeof this.provider.clearByContentType)return this.provider.clearByContentType.apply(this.provider,arguments)}},{key:"clearAll",value:function(){if(this.provider&&"function"==typeof this.provider.clearAll)return this.provider.clearAll.apply(this.provider,arguments)}},{key:"getCacheProvider",value:function(){return this.provider}},{key:"ContentType",value:function(e){return e&&"string"==typeof e&&(this.content_type_uid=e,this.type="contentType"),this}},{key:"Entry",value:function(e){var t=new u.default;return e&&"string"==typeof e&&(t.entry_uid=e),s.merge(t,this)}},{key:"fetch",value:function(e){var t={method:"POST",headers:this.headers,url:this.config.protocol+"://"+this.config.host+":"+this.config.port+"/"+this.config.version+this.config.urls.content_types+this.content_type_uid,body:{_method:"GET",environment:this.environment}},r=Object.assign({},this.fetchOptions,e);return(0,f.default)(t,r)}},{key:"Assets",value:function(e){if(this.type="asset",e&&"string"==typeof e){var t=new c.default;return t.asset_uid=e,s.merge(t,this)}return this}},{key:"Query",value:function(){var e=new a.default;return s.merge(e,this)}},{key:"getLastActivities",value:function(){var e={method:"POST",headers:this.headers,url:this.config.protocol+"://"+this.config.host+":"+this.config.port+"/"+this.config.version+this.config.urls.content_types,body:{_method:"GET",only_last_activity:!0,environment:this.environment}};return(0,f.default)(e,this.fetchOptions)}},{key:"getContentTypes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={method:"POST",headers:this.headers,url:this.config.protocol+"://"+this.config.host+":"+this.config.port+"/"+this.config.version+this.config.urls.content_types,body:{_method:"GET",environment:this.environment}};if(e&&void 0!==e)for(var r in e)t.body[r]=e[r];return(0,f.default)(t,this.fetchOptions)}},{key:"sync",value:function(e,t){this._query={},this._query=Object.assign(this._query,e),this.requestParams={method:"POST",headers:this.headers,url:this.config.protocol+"://"+this.config.host+":"+this.config.port+"/"+this.config.version+this.config.urls.sync,body:{_method:"GET",query:this._query}};var r=Object.assign({},this.fetchOptions,t);return s.sendRequest(this,r)}},{key:"imageTransform",value:function(e,t){if(e&&"string"==typeof e&&"object"===(void 0===t?"undefined":n(t))&&void 0===t.length){var r=[];for(var o in t)r.push(o+"="+t[o]);e+=e.indexOf("?")<=-1?"?"+r.join("&"):"&"+r.join("&")}return e}}]),e}();t.default=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=function(e,t){return new Promise((function(r,o){var i=void 0,c=e.url,a=e.headers;return a["Content-Type"]="application/json; charset=UTF-8",a["X-User-Agent"]="contentstack-web/3.12.1",e.body&&"object"===n(e.body)&&(delete e.body._method,"object"===n(e.body.query)&&0===Object.keys(e.body.query).length&&delete e.body.query,i=function e(t,r){var o=[],i=void 0;if("object"===(void 0===t?"undefined":n(t))&&void 0!==t.length)for(var s=0,u=t.length;s2&&void 0!==arguments[2]?arguments[2]:300,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5,i=arguments[4],c=arguments[5],a=arguments[6],f=Object.assign({method:"GET",headers:r,timeout:3e3},i);function l(s){if(0===o)a(s);else{var f=n;o-=1;var l=i.retryLimit-o;i.retryDelayOptions&&(i.retryDelayOptions.base?f=i.retryDelayOptions.base*l:i.retryDelayOptions.customBackoff&&(f=i.retryDelayOptions.customBackoff(l,s))),u(f).then((function(){return e(t,r,n,o,i,c,a)}))}}(0,s.default)(t,f).then((function(e){var t=e.json();e.ok&&200===e.status?c(t):t.then((function(t){i.retryCondition&&i.retryCondition(e)?l(t):a(t)})).catch((function(){a({status:e.status,statusText:e.statusText})}))})).catch((function(e){a(e)}))}(c+"?"+i,a,t.retryDelay,t.retryLimit,t,r,o)}))};!function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);t.default=e}(r(0));var o,i=r(10),s=(o=i)&&o.__esModule?o:{default:o};function u(e){return new Promise((function(t){setTimeout(t,e)}))}},function(e,t,r){"use strict";var n,o,i=e.exports={};function s(){throw new Error("setTimeout has not been defined")}function u(){throw new Error("clearTimeout has not been defined")}function c(e){if(n===setTimeout)return setTimeout(e,0);if((n===s||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:s}catch(e){n=s}try{o="function"==typeof clearTimeout?clearTimeout:u}catch(e){o=u}}();var a,f=[],l=!1,y=-1;function h(){l&&a&&(l=!1,a.length?f=a.concat(f):y=-1,f.length&&d())}function d(){if(!l){var e=c(h);l=!0;for(var t=f.length;t;){for(a=f,f=[];++y1)for(var r=1;r=-1&&e<4?this._query?this.queryCachePolicy=e:this.cachePolicy=e:console.error("Kindly provide the valid policy"),this}},{key:"includeReference",value:function(){for(var e=arguments.length,t=Array(e),r=0;r=-1&&e<4?this._query?this.queryCachePolicy=e:this.cachePolicy=e:console.error("Kindly provide the valid policy"),this}},{key:"setCacheProvider",value:function(e){return e&&"object"===(void 0===e?"undefined":n(e))&&(this.provider=e),this}},{key:"clearByQuery",value:function(){if(this.provider&&"function"==typeof this.provider.clearByQuery)return this.provider.clearByQuery.apply(this.provider,arguments)}},{key:"clearByContentType",value:function(){if(this.provider&&"function"==typeof this.provider.clearByContentType)return this.provider.clearByContentType.apply(this.provider,arguments)}},{key:"clearAll",value:function(){if(this.provider&&"function"==typeof this.provider.clearAll)return this.provider.clearAll.apply(this.provider,arguments)}},{key:"getCacheProvider",value:function(){return this.provider}},{key:"ContentType",value:function(e){return e&&"string"==typeof e&&(this.content_type_uid=e,this.type="contentType"),this}},{key:"Entry",value:function(e){var t=new u.default;return e&&"string"==typeof e&&(t.entry_uid=e),s.merge(t,this)}},{key:"fetch",value:function(e){var t={method:"POST",headers:this.headers,url:this.config.protocol+"://"+this.config.host+":"+this.config.port+"/"+this.config.version+this.config.urls.content_types+this.content_type_uid,body:{_method:"GET",environment:this.environment}},r=Object.assign({},this.fetchOptions,e);return(0,f.default)(t,r)}},{key:"Assets",value:function(e){if(this.type="asset",e&&"string"==typeof e){var t=new c.default;return t.asset_uid=e,s.merge(t,this)}return this}},{key:"Query",value:function(){var e=new a.default;return s.merge(e,this)}},{key:"getLastActivities",value:function(){var e={method:"POST",headers:this.headers,url:this.config.protocol+"://"+this.config.host+":"+this.config.port+"/"+this.config.version+this.config.urls.content_types,body:{_method:"GET",only_last_activity:!0,environment:this.environment}};return(0,f.default)(e,this.fetchOptions)}},{key:"getContentTypes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={method:"POST",headers:this.headers,url:this.config.protocol+"://"+this.config.host+":"+this.config.port+"/"+this.config.version+this.config.urls.content_types,body:{_method:"GET",environment:this.environment}};if(e&&void 0!==e)for(var r in e)t.body[r]=e[r];return(0,f.default)(t,this.fetchOptions)}},{key:"sync",value:function(e,t){this._query={},this._query=Object.assign(this._query,e),this.requestParams={method:"POST",headers:this.headers,url:this.config.protocol+"://"+this.config.host+":"+this.config.port+"/"+this.config.version+this.config.urls.sync,body:{_method:"GET",query:this._query}};var r=Object.assign({},this.fetchOptions,t);return s.sendRequest(this,r)}},{key:"imageTransform",value:function(e,t){if(e&&"string"==typeof e&&"object"===(void 0===t?"undefined":n(t))&&void 0===t.length){var r=[];for(var o in t)r.push(o+"="+t[o]);e+=e.indexOf("?")<=-1?"?"+r.join("&"):"&"+r.join("&")}return e}}]),e}();t.default=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=function(e,t){return new Promise((function(r,o){var i=void 0,c=e.url,a=e.headers;return a["Content-Type"]="application/json; charset=UTF-8",a["X-User-Agent"]="contentstack-web/3.12.2",e.body&&"object"===n(e.body)&&(delete e.body._method,"object"===n(e.body.query)&&0===Object.keys(e.body.query).length&&delete e.body.query,i=function e(t,r){var o=[],i=void 0;if("object"===(void 0===t?"undefined":n(t))&&void 0!==t.length)for(var s=0,u=t.length;s2&&void 0!==arguments[2]?arguments[2]:300,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5,i=arguments[4],c=arguments[5],a=arguments[6],f=Object.assign({method:"GET",headers:r,timeout:3e4},i);function l(s){if(0===o)a(s);else{var f=n;o-=1;var l=i.retryLimit-o;i.retryDelayOptions&&(i.retryDelayOptions.base?f=i.retryDelayOptions.base*l:i.retryDelayOptions.customBackoff&&(f=i.retryDelayOptions.customBackoff(l,s))),u(f).then((function(){return e(t,r,n,o,i,c,a)}))}}(0,s.default)(t,f).then((function(e){var t=e.json();e.ok&&200===e.status?c(t):t.then((function(t){i.retryCondition&&i.retryCondition(e)?l(t):a(t)})).catch((function(){a({status:e.status,statusText:e.statusText})}))})).catch((function(e){a(e)}))}(c+"?"+i,a,t.retryDelay,t.retryLimit,t,r,o)}))};!function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);t.default=e}(r(0));var o,i=r(10),s=(o=i)&&o.__esModule?o:{default:o};function u(e){return new Promise((function(t){setTimeout(t,e)}))}},function(e,t,r){"use strict";var n,o,i=e.exports={};function s(){throw new Error("setTimeout has not been defined")}function u(){throw new Error("clearTimeout has not been defined")}function c(e){if(n===setTimeout)return setTimeout(e,0);if((n===s||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:s}catch(e){n=s}try{o="function"==typeof clearTimeout?clearTimeout:u}catch(e){o=u}}();var a,f=[],l=!1,y=-1;function h(){l&&a&&(l=!1,a.length?f=a.concat(f):y=-1,f.length&&d())}function d(){if(!l){var e=c(h);l=!0;for(var t=f.length;t;){for(a=f,f=[];++y1)for(var r=1;r=-1&&e<4?this._query?this.queryCachePolicy=e:this.cachePolicy=e:console.error("Kindly provide the valid policy"),this}},{key:"includeReference",value:function(){for(var e=arguments.length,t=Array(e),r=0;r @@ -166,9 +166,9 @@ export class Query extends Entry { tags(value: string[]): Query; - where(key: string, value: (string | number)): Query; - equalTo(key: string, value: (string | number)): Query; - notEqualTo(key: string, value: (string | number)): Query; + where(key: string, value: (string | number | boolean)): Query; + equalTo(key: string, value: (string | number | boolean)): Query; + notEqualTo(key: string, value: (string | number | boolean)): Query; lessThan(key: string, value: (string | number)): Query; lessThanOrEqualTo(key: string, value: (string | number)): Query; diff --git a/package-lock.json b/package-lock.json index 80044fdc..c3888098 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "contentstack", - "version": "3.12.1", + "version": "3.12.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index f1e2bf2c..2145536d 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "contentstack", - "version": "3.12.1", + "version": "3.12.2", "description": "Contentstack Javascript SDK", "homepage": "https://www.contentstack.com/", "author": { diff --git a/test/typescript/entry-query.test.ts b/test/typescript/entry-query.test.ts index b076f799..c13efdf5 100644 --- a/test/typescript/entry-query.test.ts +++ b/test/typescript/entry-query.test.ts @@ -255,8 +255,8 @@ describe('Entry Query Test', () => { }); test('Entry Query where equal to test', done => { - const entryQuery = makeEntryQuery().where('fieldUID', 'value') - expect(entryQuery._query).toEqual({query:{ "fieldUID" : "value" }}); + const entryQuery = makeEntryQuery().where('fieldUID', 'value').where('field1', 133).where('field2', false) + expect(entryQuery._query).toEqual({query:{ "fieldUID" : "value", 'field1': 133, 'field2': false }}); done() });