UNPKG

1.14 kBJavaScriptView Raw
1function getChildren(originalSlots, slidesRef, oldSlidesRef) {
2 if (originalSlots === void 0) {
3 originalSlots = {};
4 }
5
6 var slides = [];
7 var slots = {
8 'container-start': [],
9 'container-end': [],
10 'wrapper-start': [],
11 'wrapper-end': []
12 };
13
14 var getSlidesFromElements = function getSlidesFromElements(els, slotName) {
15 if (!Array.isArray(els)) {
16 return;
17 }
18
19 els.forEach(function (vnode) {
20 var isFragment = typeof vnode.type === 'symbol';
21 if (slotName === 'default') slotName = 'container-end';
22
23 if (isFragment && vnode.children) {
24 getSlidesFromElements(vnode.children, 'default');
25 } else if (vnode.type && vnode.type.name === 'SwiperSlide') {
26 slides.push(vnode);
27 } else if (slots[slotName]) {
28 slots[slotName].push(vnode);
29 }
30 });
31 };
32
33 Object.keys(originalSlots).forEach(function (slotName) {
34 var els = originalSlots[slotName]();
35 getSlidesFromElements(els, slotName);
36 });
37 oldSlidesRef.value = slidesRef.value;
38 slidesRef.value = slides;
39 return {
40 slides: slides,
41 slots: slots
42 };
43}
44
45export { getChildren };
\No newline at end of file