* Searches for observer or creates a new one associated with given array instance * @param taskQueue * @param array instance for which observer is searched * @returns ModifyArrayObserver always the same instance for any given array instance
(taskQueue, array)
| 133 | * @returns ModifyArrayObserver always the same instance for any given array instance |
| 134 | */ |
| 135 | static for(taskQueue, array) { |
| 136 | if (!('__array_observer__' in array)) { |
| 137 | Reflect.defineProperty(array, '__array_observer__', { |
| 138 | value: ModifyArrayObserver.create(taskQueue, array), |
| 139 | enumerable: false, configurable: false |
| 140 | }); |
| 141 | } |
| 142 | return array.__array_observer__; |
| 143 | } |
| 144 | |
| 145 | static create(taskQueue, array) { |
| 146 | return new ModifyArrayObserver(taskQueue, array); |
no test coverage detected