@baqhub/sdk
Version:
The official JavaScript SDK for the BAQ federated app platform.
52 lines (51 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.QueryDate = void 0;
const tslib_1 = require("tslib");
const isDate_js_1 = tslib_1.__importDefault(require("lodash/isDate.js"));
//
// I/O.
//
function queryDateToString(queryDate) {
if ((0, isDate_js_1.default)(queryDate)) {
return `"${queryDate.toISOString()}"`;
}
return `"${queryDate[0].toISOString()}"+${queryDate[1]}`;
}
function dateCompare(date1, date2) {
if (date1 > date2) {
return 1;
}
if (date1 < date2) {
return -1;
}
return 0;
}
function stringCompare(string1, string2) {
if (string1 === string2) {
return 0;
}
if (string1 > string2) {
return 1;
}
return -1;
}
function queryDateCompare(recordDate, recordId, queryDate) {
if (!recordDate || !queryDate) {
return 0;
}
// Only date.
if ((0, isDate_js_1.default)(queryDate)) {
return dateCompare(recordDate, queryDate);
}
// Date + VersionHash.
const dateResult = dateCompare(recordDate, queryDate[0]);
if (recordId && dateResult === 0) {
return stringCompare(recordId, queryDate[1]);
}
return dateResult;
}
exports.QueryDate = {
toString: queryDateToString,
compare: queryDateCompare,
};