mihawk
Version:
A tiny & simple mock server tool, support json,js,cjs,ts(typescript).
41 lines (40 loc) • 1.17 kB
JavaScript
;
import anyMatch from 'anymatch';
export function fuzzyIncludes(list, target) {
if (list.includes(target)) {
return true;
}
return list.some(it => it.includes(target));
}
export function shallowEqual(str1, str2) {
if (str1 === str2) {
return true;
}
else {
const s1 = str1.trim();
const s2 = str2.trim();
return s1 === s2 || s1.toLowerCase() === s2.toLowerCase();
}
}
export function isMatchPatterns(target, patterns) {
if (typeof patterns === 'string') {
patterns = [patterns];
}
patterns = formatPatterns(patterns);
if (!patterns?.length) {
return false;
}
return anyMatch(patterns, target);
}
export function formatPatterns(filters) {
return filters && Array.isArray(filters) ? filters.filter(flt => !!flt).map(flt => (typeof flt !== 'string' ? String(flt) : flt)) : [];
}
export function delAddrProtocol(address) {
return (address
?.replace(/^(https?:\/\/)/, '')
.replace(/^(file:\/\/)/, '')
.replace(/\/+$/, '') || '');
}
export function getByteSize(content) {
return Buffer.byteLength(content || '', 'utf8');
}