jexl-functions-fork
Version:
Package with available JEXL functions
76 lines (75 loc) • 2.34 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var coerceUtils_1 = require("../utils/coerceUtils");
var module_1 = require("../utils/module");
var dayjs_1 = __importDefault(require("../dayjs"));
exports.default = (0, module_1.createModule)(function () {
var ISEVEN = function (value) {
return (0, coerceUtils_1.coerceToNumber)(value) % 2 === 0;
};
var ISTEXT = function (value) {
return typeof value === 'string';
};
var ISNONTEXT = function (value) {
return !ISTEXT(value);
};
var ISODD = function (value) {
return !ISEVEN(value);
};
var ISNULL = function (value) {
return value === null;
};
var ISNOTNULL = function (value) {
return !ISNULL(value);
};
var ISUNDEFINED = function (value) {
return value === undefined;
};
var ISNOTUNDEFINED = function (value) {
return !ISUNDEFINED(value);
};
var ISEMPTY = function (value, checkForEmptyString) {
if (checkForEmptyString == true && value === '') {
return true;
}
return value === null || value === undefined;
};
var ISNOTEMPTY = function (value, checkForEmptyString) {
return !ISEMPTY(value, checkForEmptyString);
};
var ISNUMBER = function (value) {
return typeof value === 'number';
};
var ISFINITE = function (value) {
return Number.isFinite(value);
};
var ISNAN = function (value) {
return isNaN(value);
};
var ISDATESTRING = function (value) {
return typeof value === 'string' && (0, dayjs_1.default)(value, 'YYYY-MM-DD', true).isValid();
};
var ISBLANK = function (value) {
return value === '';
};
return {
ISEVEN: ISEVEN,
ISTEXT: ISTEXT,
ISNONTEXT: ISNONTEXT,
ISNULL: ISNULL,
ISNOTNULL: ISNOTNULL,
ISUNDEFINED: ISUNDEFINED,
ISNOTUNDEFINED: ISNOTUNDEFINED,
ISEMPTY: ISEMPTY,
ISNOTEMPTY: ISNOTEMPTY,
ISODD: ISODD,
ISNUMBER: ISNUMBER,
ISFINITE: ISFINITE,
ISNAN: ISNAN,
ISDATESTRING: ISDATESTRING,
ISBLANK: ISBLANK,
};
});