(info, values, length)
| 102 | }; |
| 103 | |
| 104 | const unrollValues = (info, values, length) => { |
| 105 | const {stack} = info; |
| 106 | for (let i = 0; i < length; i++) { |
| 107 | const hook = values[i]; |
| 108 | if (hook instanceof Hook) |
| 109 | values[i] = unroll(stack[i] || (stack[i] = createCache(info)), hook); |
| 110 | else if (hook instanceof Hole) |
| 111 | unrollHole(stack[i] || (stack[i] = createCache(info)), hook); |
| 112 | else if (isArray(hook)) |
| 113 | unrollValues(stack[i] || (stack[i] = createCache(info)), hook, hook.length); |
| 114 | else |
| 115 | stack[i] = null; |
| 116 | } |
| 117 | if (length < stack.length) |
| 118 | stack.splice(length); |
| 119 | }; |
| 120 | |
| 121 | const view = (entry, {type, template, values}) => |
| 122 | (type === 'svg' ? $svg : $html) |
no test coverage detected