( lView: LView, rootIndex: number, expressionIndex: number, meta: string, changedValue: any, )
| 100 | } |
| 101 | |
| 102 | function constructDetailsForInterpolation( |
| 103 | lView: LView, |
| 104 | rootIndex: number, |
| 105 | expressionIndex: number, |
| 106 | meta: string, |
| 107 | changedValue: any, |
| 108 | ) { |
| 109 | const [propName, prefix, ...chunks] = meta.split(INTERPOLATION_DELIMITER); |
| 110 | let oldValue = prefix, |
| 111 | newValue = prefix; |
| 112 | for (let i = 0; i < chunks.length; i++) { |
| 113 | const slotIdx = rootIndex + i; |
| 114 | oldValue += `${lView[slotIdx]}${chunks[i]}`; |
| 115 | newValue += `${slotIdx === expressionIndex ? changedValue : lView[slotIdx]}${chunks[i]}`; |
| 116 | } |
| 117 | return {propName, oldValue, newValue}; |
| 118 | } |
| 119 | |
| 120 | /** |
| 121 | * Constructs an object that contains details for the ExpressionChangedAfterItHasBeenCheckedError: |
no outgoing calls
no test coverage detected
searching dependent graphs…