403Webshell
Server IP : 14.225.204.176  /  Your IP : 216.73.216.169
Web Server : nginx/1.24.0
System : Linux nodejs-ybgk 6.8.0-40-generic #40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 5 10:34:03 UTC 2024 x86_64
User : root ( 0)
PHP Version : 8.1.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/html/php/zinisoft.net-react/node_modules/object.groupby/aos/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/php/zinisoft.net-react/node_modules/object.groupby/aos/GroupBy.js
'use strict';

var GetIntrinsic = require('get-intrinsic');

var AddValueToKeyedGroup = require('./AddValueToKeyedGroup');
var Call = require('es-abstract/2023/Call');
var GetIterator = require('es-abstract/2023/GetIterator');
var IsCallable = require('es-abstract/2023/IsCallable');
var IteratorClose = require('es-abstract/2023/IteratorClose');
var IteratorStep = require('es-abstract/2023/IteratorStep');
var IteratorValue = require('es-abstract/2023/IteratorValue');
var RequireObjectCoercible = require('es-abstract/2023/RequireObjectCoercible');
var ThrowCompletion = require('es-abstract/2023/ThrowCompletion');
var ToPropertyKey = require('es-abstract/2023/ToPropertyKey');

var maxSafeInteger = require('es-abstract/helpers/maxSafeInteger');

var $TypeError = GetIntrinsic('%TypeError%');

module.exports = function GroupBy(items, callbackfn, coercion) {
	if (coercion !== 'property' && coercion !== 'zero') {
		throw new $TypeError('Assertion failed: `coercion` must be `"property"` or `"zero"`');
	}

	RequireObjectCoercible(items); // step 1

	if (!IsCallable(callbackfn)) { // step 2
		throw new $TypeError('`callbackfn` must be callable');
	}

	var groups = []; // step 3

	var iteratorRecord = GetIterator(items, 'sync'); // step 4

	var k = 0; // step 5

	// eslint-disable-next-line no-constant-condition
	while (true) { // step 6
		if (k >= maxSafeInteger) { // step 6.a
			var error = ThrowCompletion(new $TypeError('Iteration count exceeds the max safe integer value')); // step 6.a.i
			return IteratorClose(iteratorRecord, error); // step 6.a.ii
		}

		var next = IteratorStep(iteratorRecord); // step 6.b
		if (!next) { // step 6.c
			return groups; // step 6.c.i
		}

		var value = IteratorValue(next); // step 6.d

		var key;
		try {
			key = Call(callbackfn, undefined, [value, k]); // step 6.e
		} catch (e) {
			IteratorClose(iteratorRecord, ThrowCompletion(e)); // step 6.f
		}

		if (coercion === 'property') { // step 6.g
			try {
				key = ToPropertyKey(key); // step 6.g.i
			} catch (e) {
				IteratorClose(iteratorRecord, ThrowCompletion(e)); // step 6.g.ii
			}
		} else {
			if (coercion !== 'zero') {
				throw new $TypeError('Assertion failed: `coercion` should be `"zero"` here'); // step 6.h.i
			}
			if (key === 0) { // step 6.h.ii
				key = 0; // handle negative zero
			}
		}

		AddValueToKeyedGroup(groups, key, value); // step 6.i

		k += 1; // step 6.j
	}
};

Youez - 2016 - github.com/yon3zu
LinuXploit