* @see transformIn * a.k.a., "unelapse"
(elapsedVal, opt)
| 217 | * a.k.a., "unelapse" |
| 218 | */ |
| 219 | transformOut(elapsedVal, opt) { |
| 220 | if (opt && opt.depth === SCALE_MAPPER_DEPTH_OUT_OF_BREAK) { |
| 221 | return elapsedVal; |
| 222 | } |
| 223 | |
| 224 | let lastElapsedEnd = AXIS_BREAK_ELAPSED_BASE; |
| 225 | let lastBreakEnd = AXIS_BREAK_LAST_BREAK_END_BASE; |
| 226 | let stillOver = true; |
| 227 | let unelapsedVal = 0; |
| 228 | for (let i = 0; i < this.breaks.length; i++) { |
| 229 | const brk = this.breaks[i]; |
| 230 | const elapsedStart = lastElapsedEnd + brk.vmin - lastBreakEnd; |
| 231 | const elapsedEnd = elapsedStart + brk.gapReal; |
| 232 | if (elapsedVal <= elapsedEnd) { |
| 233 | if (elapsedVal > elapsedStart) { |
| 234 | unelapsedVal = brk.vmin |
| 235 | + (elapsedVal - elapsedStart) / (elapsedEnd - elapsedStart) * (brk.vmax - brk.vmin); |
| 236 | } |
| 237 | else { |
| 238 | unelapsedVal = lastBreakEnd + elapsedVal - lastElapsedEnd; |
| 239 | } |
| 240 | lastBreakEnd = brk.vmax; |
| 241 | stillOver = false; |
| 242 | break; |
| 243 | } |
| 244 | lastElapsedEnd = elapsedEnd; |
| 245 | lastBreakEnd = brk.vmax; |
| 246 | } |
| 247 | if (stillOver) { |
| 248 | unelapsedVal = lastBreakEnd + elapsedVal - lastElapsedEnd; |
| 249 | } |
| 250 | return unelapsedVal; |
| 251 | }, |
| 252 | |
| 253 | }; |
| 254 |
no outgoing calls
no test coverage detected