|
1 | | -/** |
2 | | - * Check equality in the following way: |
3 | | - * - NaN is considered equal to NaN |
4 | | - * - 0 is considered not equal to -0 |
5 | | - * - Otherwise, uses === |
6 | | - * @param {unknown} a |
7 | | - * @param {unknown} b |
8 | | - * @returns {boolean} true if a is considered equal to b |
9 | | - */ |
10 | | -const equal = (a, b) => { |
11 | | - if (a === b) { |
12 | | - if (a === 0) { |
13 | | - return Object.is(a, b); |
14 | | - } |
15 | | - return true; |
16 | | - } |
17 | | - return Number.isNaN(a) && Number.isNaN(b); |
18 | | -}; |
19 | | - |
20 | 1 | /** |
21 | 2 | * @param {unknown} obj |
22 | 3 | * @returns {boolean} |
@@ -123,77 +104,77 @@ class MonitorRecord { |
123 | 104 | merge (delta) { |
124 | 105 | let didChange = false; |
125 | 106 |
|
126 | | - if (defined(delta.id) && !equal(this.id, delta.id)) { |
| 107 | + if (defined(delta.id) && !Object.is(this.id, delta.id)) { |
127 | 108 | this.id = delta.id; |
128 | 109 | didChange = true; |
129 | 110 | } |
130 | 111 |
|
131 | | - if (defined(delta.spriteName) && !equal(this.spriteName, delta.spriteName)) { |
| 112 | + if (defined(delta.spriteName) && !Object.is(this.spriteName, delta.spriteName)) { |
132 | 113 | this.spriteName = delta.spriteName; |
133 | 114 | didChange = true; |
134 | 115 | } |
135 | 116 |
|
136 | | - if (defined(delta.targetId) && !equal(this.targetId, delta.targetId)) { |
| 117 | + if (defined(delta.targetId) && !Object.is(this.targetId, delta.targetId)) { |
137 | 118 | this.targetId = delta.targetId; |
138 | 119 | didChange = true; |
139 | 120 | } |
140 | 121 |
|
141 | | - if (defined(delta.opcode) && !equal(this.opcode, delta.opcode)) { |
| 122 | + if (defined(delta.opcode) && !Object.is(this.opcode, delta.opcode)) { |
142 | 123 | this.opcode = delta.opcode; |
143 | 124 | didChange = true; |
144 | 125 | } |
145 | 126 |
|
146 | | - if (defined(delta.value) && !equal(this.value, delta.value)) { |
| 127 | + if (defined(delta.value) && !Object.is(this.value, delta.value)) { |
147 | 128 | this.value = delta.value; |
148 | 129 | didChange = true; |
149 | 130 | } |
150 | 131 |
|
151 | | - if (defined(delta.params) && !equal(this.params, delta.params)) { |
| 132 | + if (defined(delta.params) && !Object.is(this.params, delta.params)) { |
152 | 133 | this.params = delta.params; |
153 | 134 | didChange = true; |
154 | 135 | } |
155 | 136 |
|
156 | | - if (defined(delta.mode) && !equal(this.mode, delta.mode)) { |
| 137 | + if (defined(delta.mode) && !Object.is(this.mode, delta.mode)) { |
157 | 138 | this.mode = delta.mode; |
158 | 139 | didChange = true; |
159 | 140 | } |
160 | 141 |
|
161 | | - if (defined(delta.sliderMin) && !equal(this.sliderMin, delta.sliderMin)) { |
| 142 | + if (defined(delta.sliderMin) && !Object.is(this.sliderMin, delta.sliderMin)) { |
162 | 143 | this.sliderMin = delta.sliderMin; |
163 | 144 | didChange = true; |
164 | 145 | } |
165 | 146 |
|
166 | | - if (defined(delta.sliderMax) && !equal(this.sliderMax, delta.sliderMax)) { |
| 147 | + if (defined(delta.sliderMax) && !Object.is(this.sliderMax, delta.sliderMax)) { |
167 | 148 | this.sliderMax = delta.sliderMax; |
168 | 149 | didChange = true; |
169 | 150 | } |
170 | 151 |
|
171 | | - if (defined(delta.isDiscrete) && !equal(this.isDiscrete, delta.isDiscrete)) { |
| 152 | + if (defined(delta.isDiscrete) && !Object.is(this.isDiscrete, delta.isDiscrete)) { |
172 | 153 | this.isDiscrete = delta.isDiscrete; |
173 | 154 | didChange = true; |
174 | 155 | } |
175 | 156 |
|
176 | | - if (defined(delta.x) && !equal(this.x, delta.x)) { |
| 157 | + if (defined(delta.x) && !Object.is(this.x, delta.x)) { |
177 | 158 | this.x = delta.x; |
178 | 159 | didChange = true; |
179 | 160 | } |
180 | 161 |
|
181 | | - if (defined(delta.y) && !equal(this.y, delta.y)) { |
| 162 | + if (defined(delta.y) && !Object.is(this.y, delta.y)) { |
182 | 163 | this.y = delta.y; |
183 | 164 | didChange = true; |
184 | 165 | } |
185 | 166 |
|
186 | | - if (defined(delta.width) && !equal(this.width, delta.width)) { |
| 167 | + if (defined(delta.width) && !Object.is(this.width, delta.width)) { |
187 | 168 | this.width = delta.width; |
188 | 169 | didChange = true; |
189 | 170 | } |
190 | 171 |
|
191 | | - if (defined(delta.height) && !equal(this.height, delta.height)) { |
| 172 | + if (defined(delta.height) && !Object.is(this.height, delta.height)) { |
192 | 173 | this.height = delta.height; |
193 | 174 | didChange = true; |
194 | 175 | } |
195 | 176 |
|
196 | | - if (defined(delta.visible) && !equal(this.visible, delta.visible)) { |
| 177 | + if (defined(delta.visible) && !Object.is(this.visible, delta.visible)) { |
197 | 178 | this.visible = delta.visible; |
198 | 179 | didChange = true; |
199 | 180 | } |
|
0 commit comments