Files
LuisAngelSalinasl 8fcbb98114 Primer Commit
2025-08-04 18:51:41 -06:00

63 lines
1.4 KiB
JavaScript

/* eslint no-extend-native: "off" */
if (!String.prototype.includes) {
String.prototype.includes = function(search, start) {
'use strict';
if (typeof start !== 'number') {
start = 0;
}
if (start + search.length > this.length) {
return false;
}
return this.indexOf(search, start) !== -1;
};
}
export function getPrefix() {
const ua = window.navigator.userAgent;
let prefix = '';
if (/MSIE/g.test(ua)) {
prefix = '-ms-';
} else if (/Firefox/g.test(ua)) {
prefix = '-moz-';
} else if (/(WebKit)/i.test(ua)) {
prefix = '-webkit-';
} else if (/Opera/g.test(ua)) {
prefix = '-o-';
}
return prefix;
}
export function flip(o) {
const flipped = {};
for (const i in o) {
if (o.hasOwnProperty(i)) {
flipped[o[i]] = i;
}
}
return flipped;
}
export function reverseDirection(direction) {
const mapping = {
'top': 'bottom',
'right': 'left',
'bottom': 'top',
'left': 'right',
'right top': 'left bottom',
'top right': 'bottom left',
'bottom right': 'top left',
'right bottom': 'left top',
'left bottom': 'right top',
'bottom left': 'top right',
'top left': 'bottom right',
'left top': 'right bottom'
};
return mapping.hasOwnProperty(direction) ? mapping[direction] : direction;
}
export function isDirection(n) {
const reg = /^(top|left|right|bottom)$/i;
return reg.test(n);
}