File Explorer

/proc/thread-self/root/var/runtime/node_modules/@aws-sdk/node_modules/mnemonist/utils

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

iterables.js2.0 KB · 94 lines
/** * Mnemonist Iterable Function * ============================ * * Harmonized iteration helpers over mixed iterable targets. */var forEach = require('obliterator/foreach'); var typed = require('./typed-arrays.js'); /** * Function used to determine whether the given object supports array-like * random access. * * @param  {any} target - Target object. * @return {boolean} */function isArrayLike(target) {  return Array.isArray(target) || typed.isTypedArray(target);} /** * Function used to guess the length of the structure over which we are going * to iterate. * * @param  {any} target - Target object. * @return {number|undefined} */function guessLength(target) {  if (typeof target.length === 'number')    return target.length;   if (typeof target.size === 'number')    return target.size;   return;} /** * Function used to convert an iterable to an array. * * @param  {any}   target - Iteration target. * @return {array} */function toArray(target) {  var l = guessLength(target);   var array = typeof l === 'number' ? new Array(l) : [];   var i = 0;   // TODO: we could optimize when given target is array like  forEach(target, function(value) {    array[i++] = value;  });   return array;} /** * Same as above but returns a supplementary indices array. * * @param  {any}   target - Iteration target. * @return {array} */function toArrayWithIndices(target) {  var l = guessLength(target);   var IndexArray = typeof l === 'number' ?    typed.getPointerArray(l) :    Array;   var array = typeof l === 'number' ? new Array(l) : [];  var indices = typeof l === 'number' ? new IndexArray(l) : [];   var i = 0;   // TODO: we could optimize when given target is array like  forEach(target, function(value) {    array[i] = value;    indices[i] = i++;  });   return [array, indices];} /** * Exporting. */exports.isArrayLike = isArrayLike;exports.guessLength = guessLength;exports.toArray = toArray;exports.toArrayWithIndices = toArrayWithIndices;