* Runtime helper for rendering v-for lists.
(
val,
render
)
| 2627 | * Runtime helper for rendering v-for lists. |
| 2628 | */ |
| 2629 | function renderList ( |
| 2630 | val, |
| 2631 | render |
| 2632 | ) { |
| 2633 | var ret, i, l, keys, key; |
| 2634 | if (Array.isArray(val) || typeof val === 'string') { |
| 2635 | ret = new Array(val.length); |
| 2636 | for (i = 0, l = val.length; i < l; i++) { |
| 2637 | ret[i] = render(val[i], i); |
| 2638 | } |
| 2639 | } else if (typeof val === 'number') { |
| 2640 | ret = new Array(val); |
| 2641 | for (i = 0; i < val; i++) { |
| 2642 | ret[i] = render(i + 1, i); |
| 2643 | } |
| 2644 | } else if (isObject(val)) { |
| 2645 | if (hasSymbol && val[Symbol.iterator]) { |
| 2646 | ret = []; |
| 2647 | var iterator = val[Symbol.iterator](); |
| 2648 | var result = iterator.next(); |
| 2649 | while (!result.done) { |
| 2650 | ret.push(render(result.value, ret.length)); |
| 2651 | result = iterator.next(); |
| 2652 | } |
| 2653 | } else { |
| 2654 | keys = Object.keys(val); |
| 2655 | ret = new Array(keys.length); |
| 2656 | for (i = 0, l = keys.length; i < l; i++) { |
| 2657 | key = keys[i]; |
| 2658 | ret[i] = render(val[key], key, i); |
| 2659 | } |
| 2660 | } |
| 2661 | } |
| 2662 | if (!isDef(ret)) { |
| 2663 | ret = []; |
| 2664 | } |
| 2665 | (ret)._isVList = true; |
| 2666 | return ret |
| 2667 | } |
| 2668 | |
| 2669 | /* */ |
| 2670 |