Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
- uses: actions/setup-node@v3
with:
node-version: '12.x'
registry-url: 'https://registry.npmjs.org'
registry-url: 'https://npm.pkg.github.com'
scope: '@contentstack'
- run: npm ci
- run: npm publish
Expand Down
2 changes: 1 addition & 1 deletion .talismanrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
threshold: medium
fileignoreconfig:
- filename: package-lock.json
checksum: be538ba2f4b106e5de0a55a3137271f659901e287ec09e8ae93351543242712e
checksum: 1e966081577191b52e4ac7fa113c9563d5e120043a3e399dec06e3943c4d81bc
21 changes: 18 additions & 3 deletions index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ export interface Config {
region?: Region;
branch?: string;
live_preview?: LivePreview;
fetchOptions?: object;
fetchOptions?: FetchOptions;
}
// Stack Config
export interface StackConfig {
Expand All @@ -79,13 +79,28 @@ export interface LivePreviewQuery {
content_type_uid: string
}

export interface RetryDelayOption {
base?: number
customBackoff?: (retryCount: number, error: Error) => number
}
export interface FetchOptions {
[propName: string]: any
debug?: boolean
timeout?: number
retryLimit?: number
retryDelay?: number
retryCondition?: (error: any) => boolean
logHandler?: (level: string, data: any) => void
retryDelayOptions?: RetryDelayOption
}

// Stack
export class Stack {
constructor(config: Config);
/**
* @deprecated since version 3.15.0
*/
constructor(api_key: string, delivery_token: string, environment_name: string, region?: Region, fetchOptions?: any, live_preview?: LivePreview);
constructor(api_key: string, delivery_token: string, environment_name: string, region?: Region, fetchOptions?: FetchOptions, live_preview?: LivePreview);

environment: string;
cachePolicy: CachePolicy;
Expand Down Expand Up @@ -116,7 +131,7 @@ export function Stack(config: Config): Stack;
/**
* @deprecated since version 3.15.0
*/
export function Stack(api_key: string, access_token: string, environment_name: string, region?: string, fetchOptions?: object): Stack;
export function Stack(api_key: string, access_token: string, environment_name: string, region?: string, fetchOptions?: FetchOptions): Stack;

export class ContentType {
constructor();
Expand Down
25 changes: 17 additions & 8 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "contentstack",
"version": "3.15.4",
"version": "3.15.5",
"description": "Contentstack Javascript SDK",
"homepage": "https://www.contentstack.com/",
"author": {
Expand All @@ -11,7 +11,7 @@
"browser": "dist/web/contentstack.js",
"react-native": "dist/react-native/contentstack.js",
"types": "./index.d.ts",
"_id": "contentstack@3.15.4",
"_id": "contentstack@3.15.5",
"scripts": {
"test": "npm run test:e2e && npm run test:typescript",
"test:e2e": "tape test/index.js | tap-html --out ./tap-html.html",
Expand Down Expand Up @@ -55,11 +55,11 @@
],
"dist": {
"shasum": "a328ed07240476a26b31a23261355dc929e1da63",
"tarball": "https://registry.npmjs.org/contentstack/-/contentstack-3.15.4.tgz"
"tarball": "https://registry.npmjs.org/contentstack/-/contentstack-3.15.5.tgz"
},
"license": "MIT",
"directories": {},
"_resolved": "https://registry.npmjs.org/contentstack/-/contentstack-3.15.4.tgz",
"_resolved": "https://registry.npmjs.org/contentstack/-/contentstack-3.15.5.tgz",
"_npmOperationalInternal": {
"host": "packages-18-east.internal.npmjs.com",
"tmp": "tmp/contentstack-3.15.0.tgz_1477830884275_0.9869455888401717"
Expand Down
12 changes: 6 additions & 6 deletions src/core/lib/request.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ function fetchRetry(url, headers, fetchOptions, resolve, reject, retryDelay = 30

function onError (error) {
if (retryLimit === 0) {
fetchOptions.logHandler('error', error);
if (fetchOptions.debug) fetchOptions.logHandler('error', error);
reject(error);
}else {
var msDelay = retryDelay
Expand All @@ -90,10 +90,10 @@ function fetchRetry(url, headers, fetchOptions, resolve, reject, retryDelay = 30
})
}
}
fetchOptions.logHandler('info', { url: url, option: option});
if (fetchOptions.debug) fetchOptions.logHandler('info', { url: url, option: option});
fetch(url, option)
.then(function(response) {
fetchOptions.logHandler('info', response);
if (fetchOptions.debug) fetchOptions.logHandler('info', response);
let data = response.json();
if (response.ok && response.status === 200) {
resolve(data);
Expand All @@ -102,16 +102,16 @@ function fetchRetry(url, headers, fetchOptions, resolve, reject, retryDelay = 30
if (fetchOptions.retryCondition && fetchOptions.retryCondition(response)) {
onError(json)
} else {
fetchOptions.logHandler('error', json);
if (fetchOptions.debug) fetchOptions.logHandler('error', json);
reject(json)
}
}).catch(() => {
fetchOptions.logHandler('error', {status: response.status, statusText: response.statusText});
if (fetchOptions.debug) fetchOptions.logHandler('error', {status: response.status, statusText: response.statusText});
reject({status: response.status, statusText: response.statusText})
});
}
}).catch((error) => {
fetchOptions.logHandler('error', error);
if (fetchOptions.debug) fetchOptions.logHandler('error', error);
reject(error)
});
}
4 changes: 2 additions & 2 deletions src/core/modules/assets.js
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ export default class Assets {
this._query[key] = value;
return this;
} else {
this.fetchOptions.logHandler('error',"Kindly provide a valid parameters.");
if(this.fetchOptions.debug) this.fetchOptions.logHandler('error',"Kindly provide a valid parameters.");
}
}

Expand Down Expand Up @@ -119,7 +119,7 @@ export default class Assets {
var options = Utils.mergeDeep(this.fetchOptions, fetchOptions);
return Utils.sendRequest(Utils.mergeDeep({}, this), options);
} else {
fetchOptions.logHandler('error', "Kindly provide an asset uid. e.g. .Assets('asset_uid')");
if(fetchOptions.debug) fetchOptions.logHandler('error', "Kindly provide an asset uid. e.g. .Assets('asset_uid')");
}
}
}
12 changes: 6 additions & 6 deletions src/core/modules/entry.js
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ export default class Entry {
this.queryCachePolicy = policy;
}
} else {
this.fetchOptions.logHandler('error', "Kindly provide the valid policy");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Kindly provide the valid policy");
}
return this;
}
Expand Down Expand Up @@ -135,7 +135,7 @@ export default class Entry {
}
return this;
} else {
this.fetchOptions.logHandler('error', "Argument should be a String or an Array.");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Argument should be a String or an Array.");
}
}

Expand All @@ -160,7 +160,7 @@ export default class Entry {
this._query['locale'] = language_code;
return this;
} else {
this.fetchOptions.logHandler('error', "Argument should be a String.");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Argument should be a String.");
}
}

Expand All @@ -179,7 +179,7 @@ export default class Entry {
this._query[key] = value;
return this;
} else {
this.fetchOptions.logHandler('error', "First argument should be a String.");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "First argument should be a String.");
}
}

Expand Down Expand Up @@ -323,7 +323,7 @@ export default class Entry {
this._query[key] = value;
return this;
} else {
this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
}
}

Expand Down Expand Up @@ -360,7 +360,7 @@ export default class Entry {
var options = Utils.mergeDeep(this.fetchOptions, fetchOptions);
return Utils.sendRequest(Utils.mergeDeep({}, this), options);
} else {
this.fetchOptions.logHandler('error', "Kindly provide an entry uid. e.g. .Entry('asset_uid')");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Kindly provide an entry uid. e.g. .Entry('asset_uid')");
}
}
}
24 changes: 12 additions & 12 deletions src/core/modules/query.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const _extend = {
this._query['query'][key][type] = value;
return this;
} else {
this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
}
};
},
Expand All @@ -22,7 +22,7 @@ const _extend = {
this._query['query'][key][type] = this._query['query'][key][type].concat(value);
return this;
} else {
this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
}
};
},
Expand All @@ -33,7 +33,7 @@ const _extend = {
this._query['query'][key]['$exists'] = bool;
return this;
} else {
this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
}
};
},
Expand Down Expand Up @@ -61,7 +61,7 @@ const _extend = {
this._query[type] = key;
return this;
} else {
this.fetchOptions.logHandler('error', "Argument should be a string.");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Argument should be a string.");
}
};
},
Expand All @@ -71,7 +71,7 @@ const _extend = {
this._query[type] = value;
return this;
} else {
this.fetchOptions.logHandler('error', "Argument should be a number.");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Argument should be a number.");
}
}
}
Expand Down Expand Up @@ -395,7 +395,7 @@ export default class Query extends Entry {

return this;
} else {
this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
}
}

Expand All @@ -420,7 +420,7 @@ export default class Query extends Entry {
this._query['query'][key] = value;
return this;
} else {
this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
}
}

Expand Down Expand Up @@ -476,7 +476,7 @@ export default class Query extends Entry {
this._query['query'] = Utils.mergeDeep(this._query['query'], query);
return this;
} else {
this.fetchOptions.logHandler('error', "Kindly provide valid parameters");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Kindly provide valid parameters");
}
}

Expand Down Expand Up @@ -587,7 +587,7 @@ export default class Query extends Entry {
this._query['tags'] = values;
return this;
} else {
this.fetchOptions.logHandler('error', "Kindly provide valid parameters");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Kindly provide valid parameters");
}
}

Expand Down Expand Up @@ -651,7 +651,7 @@ export default class Query extends Entry {
this._query[key] = value;
return this;
} else {
this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
}
}

Expand Down Expand Up @@ -691,7 +691,7 @@ export default class Query extends Entry {
if (options) this._query['query'][key]['$options'] = options;
return this;
} else {
this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
}
}

Expand All @@ -717,7 +717,7 @@ export default class Query extends Entry {
this._query['typeahead'] = value;
return this;
} else {
this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
if (this.fetchOptions.debug) this.fetchOptions.logHandler('error', "Kindly provide valid parameters.");
}
}

Expand Down
Loading