UNPKG

lr-core

Version:
53 lines (44 loc) 1.05 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _assignPrototype = require('./assignPrototype.js'); var _assignPrototype2 = _interopRequireDefault(_assignPrototype); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class SubclassableArray { constructor(...args) { this.__array__ = new Array(...args); } toArray() { return this.__array__; } get(i) { return this.__array__[i]; } set(i, v) { this.__array__[i] = v; } get length() { return this.__array__.length; } [Symbol.iterator]() { return this.__array__[Symbol.iterator](); } } (0, _assignPrototype2.default)(Array, SubclassableArray, '__array__'); const ARRAY_SUBCLASSABLE = (() => { class C extends Array {} var c = new C(); return c.concat(1) instanceof C; })(); exports.default = ARRAY_SUBCLASSABLE ? class extends Array { toArray() { return this; } get(i) { return this[i]; } set(i, v) { this[i] = v; } } : SubclassableArray;