| 136 | let char, propName; |
| 137 | |
| 138 | const commit = field => { |
| 139 | if (mode === MODE_TEXT && (field || (buffer = buffer.replace(/^\s*\n\s*|\s*\n\s*$/g,'')))) { |
| 140 | if (MINI) { |
| 141 | current.push(field ? fields[field] : buffer); |
| 142 | } |
| 143 | else { |
| 144 | current.push(CHILD_APPEND, field, buffer); |
| 145 | } |
| 146 | } |
| 147 | else if (mode === MODE_TAGNAME && (field || buffer)) { |
| 148 | if (MINI) { |
| 149 | current[1] = field ? fields[field] : buffer; |
| 150 | } |
| 151 | else { |
| 152 | current.push(TAG_SET, field, buffer); |
| 153 | } |
| 154 | mode = MODE_WHITESPACE; |
| 155 | } |
| 156 | else if (mode === MODE_WHITESPACE && buffer === '...' && field) { |
| 157 | if (MINI) { |
| 158 | current[2] = Object.assign(current[2] || {}, fields[field]); |
| 159 | } |
| 160 | else { |
| 161 | current.push(PROPS_ASSIGN, field, 0); |
| 162 | } |
| 163 | } |
| 164 | else if (mode === MODE_WHITESPACE && buffer && !field) { |
| 165 | if (MINI) { |
| 166 | (current[2] = current[2] || {})[buffer] = true; |
| 167 | } |
| 168 | else { |
| 169 | current.push(PROP_SET, 0, true, buffer); |
| 170 | } |
| 171 | } |
| 172 | else if (mode >= MODE_PROP_SET) { |
| 173 | if (MINI) { |
| 174 | if (mode === MODE_PROP_SET) { |
| 175 | (current[2] = current[2] || {})[propName] = field ? buffer ? (buffer + fields[field]) : fields[field] : buffer; |
| 176 | mode = MODE_PROP_APPEND; |
| 177 | } |
| 178 | else if (field || buffer) { |
| 179 | current[2][propName] += field ? buffer + fields[field] : buffer; |
| 180 | } |
| 181 | } |
| 182 | else { |
| 183 | if (buffer || (!field && mode === MODE_PROP_SET)) { |
| 184 | current.push(mode, 0, buffer, propName); |
| 185 | mode = MODE_PROP_APPEND; |
| 186 | } |
| 187 | if (field) { |
| 188 | current.push(mode, field, 0, propName); |
| 189 | mode = MODE_PROP_APPEND; |
| 190 | } |
| 191 | } |
| 192 | } |
| 193 | |
| 194 | buffer = ''; |
| 195 | }; |
no outgoing calls
no test coverage detected
searching dependent graphs…