Skip to content

Instantly share code, notes, and snippets.

@rokity
Created September 5, 2017 06:45
Show Gist options
  • Save rokity/375acdb7bf9417c65164be77acf24f22 to your computer and use it in GitHub Desktop.
Save rokity/375acdb7bf9417c65164be77acf24f22 to your computer and use it in GitHub Desktop.
requirebin sketch
// Welcome! require() some modules from npm (like you were using browserify)
// and then hit Run Code to run your code on the right side.
// Modules get downloaded from browserify-cdn and bundled in your browser.
var each = require('foreach-then');
var numbers = [1,2,3];
each(numbers,
(item,index,array) =>
{
//iterate-function
},
(array) =>
{
//then-function
});
setTimeout(function(){
;require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({"foreach-then":[function(require,module,exports){
module.exports = (array,iterateFunction,thenFunction)=>
{
if(checkArray(array) && checkIterateFunction(iterateFunction) && checkThenFunction(thenFunction))
array.forEach(function(element,index,collection) {
iterateFunction(element,index,collection);
if(index==collection.length-1)
thenFunction();
});
}
var checkIterateFunction = (iterateFunction)=>
{
if(typeof(iterateFunction)!="function")
throw new ForEachException('\'iterate\' isn\'t a function');
else
return true;
}
var checkThenFunction = (thenFunction)=>
{
if(typeof(thenFunction)!="function")
throw new ForEachException('\'then\' isn\'t a function');
else
return true;
}
var checkArray = (array)=>
{
if(typeof(array)!="object")
throw new ForEachException('\'array\' isn\'t an array');
else if(array.length>0)
return true;
else
throw new ForEachException('\'array\' is empty');
}
function ForEachException(message) {
this.message = message;
this.name = 'ForEachException';
}
},{}]},{},[])
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2hvbWUvYWRtaW4vYnJvd3NlcmlmeS1jZG4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL2Jyb3dzZXItcGFjay9fcHJlbHVkZS5qcyIsImZvcmVhY2gtdGhlbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQ0FBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIrbytcIidcIik7dGhyb3cgZi5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGZ9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KSIsIm1vZHVsZS5leHBvcnRzID0gKGFycmF5LGl0ZXJhdGVGdW5jdGlvbix0aGVuRnVuY3Rpb24pPT5cbntcbiAgICBpZihjaGVja0FycmF5KGFycmF5KSAmJiBjaGVja0l0ZXJhdGVGdW5jdGlvbihpdGVyYXRlRnVuY3Rpb24pICYmIGNoZWNrVGhlbkZ1bmN0aW9uKHRoZW5GdW5jdGlvbikpXG4gICAgICAgICAgICBhcnJheS5mb3JFYWNoKGZ1bmN0aW9uKGVsZW1lbnQsaW5kZXgsY29sbGVjdGlvbikge1xuICAgICAgICAgICAgICAgIGl0ZXJhdGVGdW5jdGlvbihlbGVtZW50LGluZGV4LGNvbGxlY3Rpb24pO1xuICAgICAgICAgICAgICAgIGlmKGluZGV4PT1jb2xsZWN0aW9uLmxlbmd0aC0xKVxuICAgICAgICAgICAgICAgICAgICB0aGVuRnVuY3Rpb24oKTtcbiAgICAgICAgICAgIH0pOyAgICAgICAgXG59XG5cbnZhciBjaGVja0l0ZXJhdGVGdW5jdGlvbiA9IChpdGVyYXRlRnVuY3Rpb24pPT5cbntcbiAgICBpZih0eXBlb2YoaXRlcmF0ZUZ1bmN0aW9uKSE9XCJmdW5jdGlvblwiKVxuICAgICAgICB0aHJvdyBuZXcgRm9yRWFjaEV4Y2VwdGlvbignXFwnaXRlcmF0ZVxcJyBpc25cXCd0IGEgZnVuY3Rpb24nKTtcbiAgICBlbHNlXG4gICAgICAgIHJldHVybiB0cnVlO1xufVxuXG52YXIgY2hlY2tUaGVuRnVuY3Rpb24gPSAodGhlbkZ1bmN0aW9uKT0+XG57XG4gICAgaWYodHlwZW9mKHRoZW5GdW5jdGlvbikhPVwiZnVuY3Rpb25cIilcbiAgICAgICAgdGhyb3cgbmV3IEZvckVhY2hFeGNlcHRpb24oJ1xcJ3RoZW5cXCcgaXNuXFwndCBhIGZ1bmN0aW9uJyk7XG4gICAgZWxzZVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbn1cblxudmFyIGNoZWNrQXJyYXkgPSAoYXJyYXkpPT5cbntcbiAgICBpZih0eXBlb2YoYXJyYXkpIT1cIm9iamVjdFwiKVxuICAgICAgICB0aHJvdyBuZXcgRm9yRWFjaEV4Y2VwdGlvbignXFwnYXJyYXlcXCcgaXNuXFwndCBhbiBhcnJheScpO1xuICAgIGVsc2UgaWYoYXJyYXkubGVuZ3RoPjApXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIGVsc2VcbiAgICAgICAgdGhyb3cgbmV3IEZvckVhY2hFeGNlcHRpb24oJ1xcJ2FycmF5XFwnIGlzIGVtcHR5Jyk7XG59XG5cblxuZnVuY3Rpb24gRm9yRWFjaEV4Y2VwdGlvbihtZXNzYWdlKSB7XG4gICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTtcbiAgICB0aGlzLm5hbWUgPSAnRm9yRWFjaEV4Y2VwdGlvbic7XG4gIH1cblxuIl19
// Welcome! require() some modules from npm (like you were using browserify)
// and then hit Run Code to run your code on the right side.
// Modules get downloaded from browserify-cdn and bundled in your browser.
var each = require('foreach-then');
var numbers = [1,2,3];
each(numbers,
(item,index,array) =>
{
//iterate-function
},
(array) =>
{
//then-function
});
;}, 0)
{
"name": "requirebin-sketch",
"version": "1.0.0",
"dependencies": {
"foreach-then": "1.0.2"
}
}
<!-- contents of this file will be placed inside the <body> -->
<!-- contents of this file will be placed inside the <head> -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment