Custom at() function in webapp for backwards compatibility
This commit is contained in:
parent
090373f1ef
commit
3c15d0ef0b
1 changed files with 19 additions and 0 deletions
|
|
@ -171,6 +171,25 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
|
//Define .at() as a custom function, for backwards compatibility with Connect
|
||||||
|
function at(n) {
|
||||||
|
// ToInteger() abstract op
|
||||||
|
n = Math.trunc(n) || 0;
|
||||||
|
// Allow negative indexing from the end
|
||||||
|
if (n < 0) n += this.length;
|
||||||
|
// OOB access is guaranteed to return undefined
|
||||||
|
if (n < 0 || n >= this.length) return undefined;
|
||||||
|
// Otherwise, this is just normal property access
|
||||||
|
return this[n];
|
||||||
|
}
|
||||||
|
const TypedArray = Reflect.getPrototypeOf(Int8Array);
|
||||||
|
for (const C of [Array, String, TypedArray]) {
|
||||||
|
Object.defineProperty(C.prototype, "at",
|
||||||
|
{ value: at,
|
||||||
|
writable: true,
|
||||||
|
enumerable: false,
|
||||||
|
configurable: true });
|
||||||
|
}
|
||||||
// Check for already running tasks
|
// Check for already running tasks
|
||||||
if (this.taskStarted != true) {
|
if (this.taskStarted != true) {
|
||||||
this.checkExistingTasks();
|
this.checkExistingTasks();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue