@ivandt/json-rules
Version:
Rule parsing engine for JSON rules
42 lines (41 loc) • 1.4 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateEAN = validateEAN;
exports.validateIMEI = validateIMEI;
const isEAN_1 = __importDefault(require("validator/lib/isEAN"));
const isIMEI_1 = __importDefault(require("validator/lib/isIMEI"));
/**
* Validates EAN (European Article Number) barcodes
*/
function validateEAN(value) {
// Must be a string
if (typeof value !== "string") {
return false;
}
return (0, isEAN_1.default)(value);
}
/**
* Validates IMEI (International Mobile Equipment Identity) numbers
*/
function validateIMEI(value, config = null) {
// Must be a string
if (typeof value !== "string") {
return false;
}
// Use default config if none provided
const validationConfig = config || {};
// If allowHyphens is true, try both with and without hyphens
if (validationConfig.allowHyphens) {
// Try with hyphens option
const withHyphens = (0, isIMEI_1.default)(value, { allow_hyphens: true });
if (withHyphens)
return true;
// Try without hyphens (plain format)
return (0, isIMEI_1.default)(value);
}
// Default: only plain format (no hyphens)
return (0, isIMEI_1.default)(value);
}