src/ArrayShadow.js
import IndexedShadow from "./IndexedShadow";
/**
Default shadow api for the `ArratProperty`. Exposes the {@link Array} interface.
@see {@link ArratProperty}
*/
export default class ArrayShadow extends IndexedShadow {
clear() {
this.__().clear();
}
//------------------------------------------------------------------------------------------------------
// Write capable array methods
//------------------------------------------------------------------------------------------------------
pop() {
return this.__().pop();
}
push(...values) {
return this.__().push(...values);
}
remove(idx) {
return this.__().remove(idx);
}
removeValue(value) {
const idx = this.indexOf(value);
if (idx != -1) {
this.remove(idx);
}
}
shift() {
return this.__().shift();
}
splice(start, deleteCount, ...newItems) {
return this.__().splice(start, deleteCount, ...newItems);
}
unshift(...values) {
return this.__().unshift(...values);
}
}