CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
implementation.js134 linesDownload Raw Back to Iterator.zipKeyed
1'use strict';2 3var $TypeError = require('es-errors/type');4 5var Call = require('es-abstract/2024/Call');6var CreateDataPropertyOrThrow = require('es-abstract/2024/CreateDataPropertyOrThrow');7var Get = require('es-abstract/2024/Get');8var GetIteratorFlattenable = require('../aos/GetIteratorFlattenable');9var GetOptionsObject = require('../aos/GetOptionsObject');10var IfAbruptCloseIterators = require('../aos/IfAbruptCloseIterators');11var IsAccessorDescriptor = require('es-abstract/2024/IsAccessorDescriptor');12var IsDataDescriptor = require('es-abstract/2024/IsDataDescriptor');13var IteratorZip = require('../aos/IteratorZip');14var OrdinaryObjectCreate = require('es-abstract/2024/OrdinaryObjectCreate');15var ThrowCompletion = require('es-abstract/2024/ThrowCompletion');16var ToPropertyDescriptor = require('es-abstract/2024/ToPropertyDescriptor');17var Type = require('es-abstract/2024/Type');18 19var forEach = require('es-abstract/helpers/forEach');20var ownKeys = require('es-abstract/helpers/OwnPropertyKeys');21 22var gOPD = require('gopd');23 24module.exports = function zipKeyed(iterables) {25	if (this instanceof zipKeyed) {26		throw new $TypeError('`Iterator.zip` is not a constructor');27	}28 29	if (Type(iterables) !== 'Object') {30		throw new $TypeError('`iterables` must be an Object'); // step 131	}32 33	var options = GetOptionsObject(arguments.length > 1 ? arguments[1] : undefined); // step 234 35	var mode = Get(options, 'mode'); // step 336 37	if (typeof mode === 'undefined') {38		mode = 'shortest'; // step 439	}40 41	if (mode !== 'shortest' && mode !== 'longest' && mode !== 'strict') {42		throw new $TypeError('`mode` must be one of "shortest", "longest", or "strict"'); // step 543	}44 45	var paddingOption; // step 646 47	if (mode === 'longest') { // step 748		paddingOption = Get(options, 'padding'); // step 7.a49		if (typeof paddingOption !== 'undefined' && Type(paddingOption) !== 'Object') {50			throw new $TypeError('`padding` option must be an Object'); // step 7.b51		}52	}53 54	var iters = []; // step 855 56	var padding = []; // step 957 58	var allKeys = ownKeys(iterables); // step 1059 60	var keys = []; // step 1161 62	forEach(allKeys, function (key) { // step 1263		var desc;64		try {65			desc = ToPropertyDescriptor(gOPD(iterables, key)); // step 12.a66		} catch (e) {67			IfAbruptCloseIterators(ThrowCompletion(e), iters); // step 12.b68		}69 70		if (typeof desc !== 'undefined' && desc['[[Enumerable]]'] === true) { // step 12.c71			var value; // step 12.c.i72			if (IsDataDescriptor(desc)) { // step 12.c.ii73				value = desc['[[Value]]']; // step 12.c.ii.174			} else {75				if (!IsAccessorDescriptor(desc)) {76					throw new $TypeError('Assertion failed: IsAccessorDescriptor(desc) is not true'); // step 12.c.ii.177				}78				var getter = desc['[[Get]]']; // step 12.c.iii.279				if (typeof getter !== 'undefined') { // step 12.c.iii.380					var getterResult;81					try {82						getterResult = Call(getter, iterables); // step 12.c.iii.3.a83					} catch (e) {84						// step 12.c.iii.3.b85						// 2. IfAbruptCloseIterators(e, iters).86					}87					value = getterResult; // step 12.c.iii.3.c88				}89			}90			if (typeof value !== 'undefined') { // step 12.c.iv91				keys[keys.length] = key; // step 12.c.iv.192				var iter;93				try {94					iter = GetIteratorFlattenable(value, 'REJECT-STRINGS'); // step 12.c.iv.295				} catch (e) {96					IfAbruptCloseIterators(ThrowCompletion(e), iters); // step 12.c.iv.397				}98				iters[iters.length] = iter; // step 12.c.iv.499			}100		}101	});102 103	var iterCount = iters.length; // step 13104 105	if (mode === 'longest') { // step 14106		if (typeof paddingOption === 'undefined') { // step 14.a107			for (var j = 0; j < iterCount; j += 1) { // step 14.a.i108				padding[padding.length] = void undefined; // step 14.a.i.1109			}110		} else { // step 14.b111			forEach(keys, function (key) { // step 14.b.i112				var value;113				try {114					value = Get(paddingOption, key); // step 14.b.i.1115				} catch (e) {116					IfAbruptCloseIterators(ThrowCompletion(e), iters); // step 14.b.i.2117				}118				padding[padding.length] = value; // step 14.b.i.3119			});120		}121	}122 123	// eslint-disable-next-line no-sequences124	var finishResults = (0, function (results) { // step 15125		var obj = OrdinaryObjectCreate(null); // step 15.a126		for (var i = 0; i < iterCount; i += 1) { // step 15.b127			CreateDataPropertyOrThrow(obj, keys[i], results[i]); // step 15.b.i128		}129		return obj; // step 15.c130	});131 132	return IteratorZip(iters, mode, padding, finishResults); // step 16133};134 
basant307/AI_Governance_Project · CoolFace