periodicjs
Version:
Periodic is a rapid enterprise application framework for data driven web and mobile applications.
56 lines (51 loc) • 1.24 kB
JavaScript
;
const semver = require('semver');
function generateErrorResponse(error) {
return {
status: 'error',
data: { error, },
};
}
function isVersionUpToDate(inputVersion, latestVersion) {
return semver.gte(inputVersion, latestVersion);
}
function checkStatus(response) {
return new Promise((resolve, reject) => {
if (response.status >= 200 && response.status < 300) {
resolve(response);
} else {
let error = new Error(response.statusText);
error.response = response;
try{
// console.debug({response})
response.json()
.then(res => {
reject(generateErrorFromResponse({ res, error }));
})
.catch(()=>{
reject(error);
})
} catch(e){
reject(error);
}
}
});
};
function generateErrorFromResponse(options) {
const { res, error } = options;
if (res.data) {
if (res.data.error) {
return (res.data.error);
} else{
return (JSON.stringify(res.data));
}
} else {
return(error);
}
}
module.exports = {
isVersionUpToDate,
generateErrorFromResponse,
generateErrorResponse,
checkStatus,
};