mobx 6.3.7 → 6.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/core/atom.d.ts +1 -1
- package/dist/mobx.cjs.development.js +6 -3
- package/dist/mobx.cjs.development.js.map +1 -1
- package/dist/mobx.cjs.production.min.js +1 -1
- package/dist/mobx.cjs.production.min.js.map +1 -1
- package/dist/mobx.esm.development.js +6 -3
- package/dist/mobx.esm.development.js.map +1 -1
- package/dist/mobx.esm.js +6 -3
- package/dist/mobx.esm.js.map +1 -1
- package/dist/mobx.esm.production.min.js +1 -1
- package/dist/mobx.esm.production.min.js.map +1 -1
- package/dist/mobx.umd.development.js +6 -3
- package/dist/mobx.umd.development.js.map +1 -1
- package/dist/mobx.umd.production.min.js +1 -1
- package/dist/mobx.umd.production.min.js.map +1 -1
- package/package.json +1 -1
- package/src/core/atom.ts +1 -1
- package/src/types/observablearray.ts +6 -2
package/package.json
CHANGED
package/src/core/atom.ts
CHANGED
|
@@ -175,7 +175,8 @@ export class ObservableArrayAdministration
|
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
setArrayLength_(newLength: number) {
|
|
178
|
-
if (typeof newLength !== "number" || isNaN(newLength) || newLength < 0)
|
|
178
|
+
if (typeof newLength !== "number" || isNaN(newLength) || newLength < 0)
|
|
179
|
+
die("Out of range: " + newLength)
|
|
179
180
|
let currentLength = this.values_.length
|
|
180
181
|
if (newLength === currentLength) return
|
|
181
182
|
else if (newLength > currentLength) {
|
|
@@ -235,9 +236,12 @@ export class ObservableArrayAdministration
|
|
|
235
236
|
if (newItems.length < MAX_SPLICE_SIZE) {
|
|
236
237
|
return this.values_.splice(index, deleteCount, ...newItems)
|
|
237
238
|
} else {
|
|
239
|
+
// The items removed by the splice
|
|
238
240
|
const res = this.values_.slice(index, index + deleteCount)
|
|
241
|
+
// The items that that should remain at the end of the array
|
|
239
242
|
let oldItems = this.values_.slice(index + deleteCount)
|
|
240
|
-
|
|
243
|
+
// New length is the previous length + addition count - deletion count
|
|
244
|
+
this.values_.length += newItems.length - deleteCount
|
|
241
245
|
for (let i = 0; i < newItems.length; i++) this.values_[index + i] = newItems[i]
|
|
242
246
|
for (let i = 0; i < oldItems.length; i++)
|
|
243
247
|
this.values_[index + newItems.length + i] = oldItems[i]
|