react-carousel-query
Version:
A infinite carousel component made with react that handles the pagination for you.
53 lines • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.toType = exports.toString = void 0;
const Prefix = (name) => {
return '_' + name;
};
const AllowedProp = (key) => {
let keys = ['name', 'protocol', 'subtype'];
return keys.includes(key);
};
const toString = (data) => {
let formatted = {
name: data.name,
protocol: data.protocol,
subtype: data.subtype
};
let entries = Object.entries(formatted);
return entries
.filter(([key, val]) => AllowedProp(key) && val !== undefined)
.reduce((prev, [key, val]) => {
switch (typeof val) {
case 'object':
val.map((i) => prev.push(Prefix(i)));
break;
default:
prev.push(Prefix(val));
break;
}
return prev;
}, [])
.join('.');
};
exports.toString = toString;
const toType = (string) => {
let parts = string.split('.');
let subtype;
for (let i in parts) {
if (parts[i][0] !== '_')
continue;
parts[i] = parts[i].slice(1);
}
if (parts.includes('sub')) {
subtype = parts.shift();
parts.shift();
}
return {
name: parts.shift(),
protocol: parts.shift() || null,
subtype: subtype
};
};
exports.toType = toType;
//# sourceMappingURL=service-types.js.map