朱桂飞
2024-08-01 6959c1d4ee2244691603ab1f471b750ac517725d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
function isObject(o) {
    return (
        typeof o === 'object' &&
        o !== null &&
        o.constructor &&
        Object.prototype.toString.call(o).slice(8, -1) === 'Object'
    );
}
 
function extend(target, src) {
    const noExtend = ['__proto__', 'constructor', 'prototype'];
    Object.keys(src)
        .filter((key) => noExtend.indexOf(key) < 0)
        .forEach((key) => {
            if (typeof target[key] === 'undefined') target[key] = src[key];
            else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {
                if (src[key].__swiper__) target[key] = src[key];
                else extend(target[key], src[key]);
            } else {
                target[key] = src[key];
            }
        });
}
 
function needsNavigation(props = {}) {
    return (
        props.navigation &&
        typeof props.navigation.nextEl === 'undefined' &&
        typeof props.navigation.prevEl === 'undefined'
    );
}
 
function needsPagination(props = {}) {
    return props.pagination && typeof props.pagination.el === 'undefined';
}
 
function needsScrollbar(props = {}) {
    return props.scrollbar;
}
 
function uniqueClasses(classNames = '') {
    const classes = classNames
        .split(' ')
        .map((c) => c.trim())
        .filter((c) => !!c);
    const unique = [];
    classes.forEach((c) => {
        if (unique.indexOf(c) < 0) unique.push(c);
    });
    return unique.join(' ');
}
 
export {
    isObject,
    extend,
    needsNavigation,
    needsPagination,
    needsScrollbar,
    uniqueClasses
};