datocms-plugin-sdk
Version:
45 lines • 1.43 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isNullish = isNullish;
exports.isBoolean = isBoolean;
exports.isString = isString;
exports.isEmoji = isEmoji;
exports.isNumber = isNumber;
exports.isRecord = isRecord;
exports.isArray = isArray;
exports.isPlacement = isPlacement;
var emoji_regex_xs_1 = __importDefault(require("emoji-regex-xs"));
function isNullish(value) {
return value === null || value === undefined;
}
function isBoolean(value) {
return typeof value === 'boolean';
}
function isString(value) {
return typeof value === 'string';
}
function isEmoji(value) {
if (!isString(value))
return false;
var regex = (0, emoji_regex_xs_1.default)();
var match = value.match(regex);
return match !== null && match.length === 1 && match[0] === value;
}
function isNumber(value) {
return typeof value === 'number';
}
function isRecord(value) {
return typeof value === 'object' && value !== null && !Array.isArray(value);
}
function isArray(value, checkItem) {
return Array.isArray(value) && value.every(checkItem);
}
function isPlacement(value) {
return (isArray(value, isString) &&
value.length === 2 &&
['before', 'after'].includes(value[0]));
}
//# sourceMappingURL=guardUtils.js.map