Files
NapCatQQ/.pnpm-store/v3/files/af/aef167c81e71b21c1b17e100729bdb4f5f49afbcf47f0f96b23356a063d0b8e33cc704dfa1d4e6c8264a03ee2795c6572ce62e7e82928729c3a2346e042f85
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

29 lines
990 B
Plaintext

'use strict';
var $TypeError = require('es-errors/type');
var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
var HasOwnProperty = require('./HasOwnProperty');
var IsExtensible = require('./IsExtensible');
var IsNonNegativeInteger = require('./IsNonNegativeInteger');
// https://262.ecma-international.org/11.0/#sec-setfunctionlength
module.exports = function SetFunctionLength(F, length) {
if (typeof F !== 'function' || !IsExtensible(F) || HasOwnProperty(F, 'length')) {
throw new $TypeError('Assertion failed: `F` must be an extensible function and lack an own `length` property');
}
if (typeof length !== 'number') {
throw new $TypeError('Assertion failed: `length` must be a Number');
}
if (!IsNonNegativeInteger(length)) {
throw new $TypeError('Assertion failed: `length` must be an integer >= 0');
}
return DefinePropertyOrThrow(F, 'length', {
'[[Configurable]]': true,
'[[Enumerable]]': false,
'[[Value]]': length,
'[[Writable]]': false
});
};