Files
kami-parse-server/src/ClientSDK.js
Diamond Lewis e6ac3b6932 fix(prettier): Properly handle lint-stage files (#6970)
Now handles top level files and recursive files in folders.

Set max line length to be 100
2020-10-25 15:06:58 -05:00

41 lines
891 B
JavaScript

var semver = require('semver');
function compatible(compatibleSDK) {
return function (clientSDK) {
if (typeof clientSDK === 'string') {
clientSDK = fromString(clientSDK);
}
// REST API, or custom SDK
if (!clientSDK) {
return true;
}
const clientVersion = clientSDK.version;
const compatiblityVersion = compatibleSDK[clientSDK.sdk];
return semver.satisfies(clientVersion, compatiblityVersion);
};
}
function supportsForwardDelete(clientSDK) {
return compatible({
js: '>=1.9.0',
})(clientSDK);
}
function fromString(version) {
const versionRE = /([-a-zA-Z]+)([0-9\.]+)/;
const match = version.toLowerCase().match(versionRE);
if (match && match.length === 3) {
return {
sdk: match[1],
version: match[2],
};
}
return undefined;
}
module.exports = {
compatible,
supportsForwardDelete,
fromString,
};