@ribajs/core
Version:
Core module of Riba.js
55 lines • 4.12 kB
JavaScript
import { isString, isObject, isDefined, isNumber, } from "@ribajs/utils/src/type.js";
export const containsFormatter = {
name: "contains",
read(value, attr, search) {
if (isString(value)) {
if (value.indexOf(attr.toString()) > -1) {
return value;
}
return false;
}
else if (Array.isArray(value)) {
if (isDefined(attr)) {
if (isDefined(search)) {
if (!isNumber(attr)) {
console.warn("[containsFormatter] The second parameter must be of type number if a search is defined but is " +
typeof attr);
}
attr = Number(attr);
if (value[attr] === search) {
return value;
}
return false;
}
else {
if (value.includes(attr)) {
return value;
}
return false;
}
}
}
else if (isObject(value)) {
if (isDefined(attr)) {
if (isDefined(search)) {
if (value[attr] === search) {
return value;
}
return false;
}
else {
if (!isString(attr)) {
console.warn("[containsFormatter] The second parameter must be of type string for objects" +
typeof attr);
}
if (Object.keys(value).includes(String(attr))) {
return value;
}
return false;
}
}
}
return false;
},
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbnMuZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Zvcm1hdHRlcnMvYXJyYXkvY29udGFpbnMuZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLEVBQ1IsUUFBUSxFQUNSLFNBQVMsRUFDVCxRQUFRLEdBQ1QsTUFBTSwyQkFBMkIsQ0FBQztBQU1uQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUMvQixJQUFJLEVBQUUsVUFBVTtJQUNoQixJQUFJLENBQUMsS0FBMkIsRUFBRSxJQUFxQixFQUFFLE1BQWU7UUFDdEUsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDeEMsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztvQkFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO3dCQUNwQixPQUFPLENBQUMsSUFBSSxDQUNWLGdHQUFnRzs0QkFDOUYsT0FBTyxJQUFJLENBQ2QsQ0FBQztvQkFDSixDQUFDO29CQUNELElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3BCLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDO3dCQUMzQixPQUFPLEtBQUssQ0FBQztvQkFDZixDQUFDO29CQUNELE9BQU8sS0FBSyxDQUFDO2dCQUNmLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzt3QkFDekIsT0FBTyxLQUFLLENBQUM7b0JBQ2YsQ0FBQztvQkFDRCxPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNCLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7b0JBQ3RCLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDO3dCQUMzQixPQUFPLEtBQUssQ0FBQztvQkFDZixDQUFDO29CQUNELE9BQU8sS0FBSyxDQUFDO2dCQUNmLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQ1YsNkVBQTZFOzRCQUMzRSxPQUFPLElBQUksQ0FDZCxDQUFDO29CQUNKLENBQUM7b0JBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUM5QyxPQUFPLEtBQUssQ0FBQztvQkFDZixDQUFDO29CQUNELE9BQU8sS0FBSyxDQUFDO2dCQUNmLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGLENBQUMifQ==