From 7d8cca54e548d2a85287fd2325db88f2697be55a Mon Sep 17 00:00:00 2001 From: Leonardo Bishop Date: Sat, 4 Nov 2023 21:28:11 +0000 Subject: Add more shit --- backend/node_modules/set-function-length/index.js | 41 +++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 backend/node_modules/set-function-length/index.js (limited to 'backend/node_modules/set-function-length/index.js') diff --git a/backend/node_modules/set-function-length/index.js b/backend/node_modules/set-function-length/index.js new file mode 100644 index 0000000..7a31688 --- /dev/null +++ b/backend/node_modules/set-function-length/index.js @@ -0,0 +1,41 @@ +'use strict'; + +var GetIntrinsic = require('get-intrinsic'); +var define = require('define-data-property'); +var hasDescriptors = require('has-property-descriptors')(); +var gOPD = require('gopd'); + +var $TypeError = GetIntrinsic('%TypeError%'); +var $floor = GetIntrinsic('%Math.floor%'); + +module.exports = function setFunctionLength(fn, length) { + if (typeof fn !== 'function') { + throw new $TypeError('`fn` is not a function'); + } + if (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) { + throw new $TypeError('`length` must be a positive 32-bit integer'); + } + + var loose = arguments.length > 2 && !!arguments[2]; + + var functionLengthIsConfigurable = true; + var functionLengthIsWritable = true; + if ('length' in fn && gOPD) { + var desc = gOPD(fn, 'length'); + if (desc && !desc.configurable) { + functionLengthIsConfigurable = false; + } + if (desc && !desc.writable) { + functionLengthIsWritable = false; + } + } + + if (functionLengthIsConfigurable || functionLengthIsWritable || !loose) { + if (hasDescriptors) { + define(fn, 'length', length, true, true); + } else { + define(fn, 'length', length); + } + } + return fn; +}; -- cgit v1.2.3-70-g09d2