37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
// Metro module 4470 (f4471).
|
|
import * as _GetIntrinsic from "./GetIntrinsic";
|
|
import * as _isInteger from "./isInteger";
|
|
import * as _Module541 from "./Module541";
|
|
import * as _Module4472 from "./Module4472";
|
|
import * as _ArrayCreate from "./ArrayCreate";
|
|
import * as _Get from "./Get_4480";
|
|
import * as _isObject from "./isObject_4434";
|
|
import * as _Module4482 from "./Module4482";
|
|
let c2689_2 = _GetIntrinsic("%Symbol.species%", true);
|
|
module.exports = function ArraySpeciesCreate(a0, a1) {
|
|
if (_isInteger(a1) && !(a1 < 0)) {
|
|
if (_Module4472(a0)) {
|
|
const r10 = _Get(a0, "constructor");
|
|
let r25 = c2689_2 ? _isObject(r10) : c2689_2;
|
|
let r28 = r10;
|
|
if (r25) {
|
|
const r31 = _Get(r10, c2689_2);
|
|
r25 = r31 === null;
|
|
r28 = r31;
|
|
}
|
|
if (r25) {
|
|
r28 = void 0;
|
|
}
|
|
if (r28 === void 0) {
|
|
return _ArrayCreate(a1);
|
|
}
|
|
if (_Module4482(r28)) {
|
|
return new r28(a1);
|
|
}
|
|
throw new _Module541("C must be a constructor");
|
|
}
|
|
return _ArrayCreate(a1);
|
|
}
|
|
throw new _Module541("Assertion failed: length must be an integer >= 0");
|
|
};
|