-
Notifications
You must be signed in to change notification settings - Fork 0
/
naan.min.js
1 lines (1 loc) · 3.17 KB
/
naan.min.js
1
(function(e){function i(e,t,n,r){var e=e||(Array.isArray(t)?[]:{}),s=Array.prototype.slice.call(arguments,4);typeof r!="function"&&(s.unshift(r),r=naan.curry),s.unshift(null);var o=[],u=0;for(var a in t)if((u=o.indexOf(t[a]))!==-1)e[a]=o[u];else if(typeof t[a]=="object"&&n&&t[a]!=null){var f=[{},t[a],!0,r];f=f.concat(s.slice(1)),o.push(e[a]=i.apply(this,f))}else typeof t[a]!="function"?e[a]=t[a]:(s[0]=t[a],e[a]=r.apply(this,s),o.push(e[a]));return e}var t,n=this;if(typeof module!="undefined"&&module.exports)t=require("async");else{if(!n.async)throw'Naan requires the "async" module. Get it from https://github.com/caolan/async.git';t=n.async}var r=function(){function r(e,t,n,r){function o(t){return function(){return t.apply(e||this,s(arguments))}}var s=i.prepare(n,r);return Array.isArray(t)?t.map(o):o(t)}function i(t,n,r){var i=Array.prototype;if(r===e||r===!0||r===0||r<0)i=n.concat(i.slice.call(t));else if(r===!1||t.length<r)i=i.slice.call(t).concat(n);else if(Array.isArray(r)){i=i.slice.call(t);for(var s in r){if(s>=n.length)break;s==r.length-1&&n.length>r.length?i.splice.apply(i,[r[s],0].concat(n.slice(s))):i.splice(r[s],0,n[s])}}else i=[].concat(i.slice.call(t,0,r),n,i.slice.call(t,r));return i}var n={};return n.cook=function(r,s,o,u,a,f){var l=f?t.series:t.parallel,c=a;return Array.isArray(o)||(o=[o]),function(){var t=[].slice.call(arguments);if(!a||a<0)a=t.length-1;else if(typeof u=="number"&&u<a)a--;else if(u===e||u===!0)a--;else for(var n in u)u[n]<a&&a--;var f=t[a];c===!1&&(t=[].concat(t.slice(0,a),t.slice(a+1)));if(typeof f!="function")return;l(o,function(e,n){if(e)f(e);else{var o=s.apply(r,i.prepare(n,u)(t));(c===!1||c===null)&&f(null,o)}})}},i.prepare=function(e,t){if(Array.isArray(t)){var n=-1,r=e.map(function(e){return{index:++n>=t.length?t[t.length-1]:t[n],value:e}});r.sort(function(e,t){return e.index-t.index}),e=r.map(function(e){return e.value}),t=t.slice().sort()}return function(n){return i(n,e,t)}},n.tupperware=n.alwaysReturn=n.wrap=function(t,n,r){return function(){return n.apply(t,arguments),r}},n.ltupperware=n.lalwaysReturn=n.lwrap=function(t,n,r){return tupperware(t,r,n)},n.curry=n.leftCurry=n.lcurry=function(t,n){return r(t,n,[].slice.call(arguments,2))},n.rightCurry=n.rcurry=function(t,n){return r(t,n,[].slice.call(arguments,2),!1)},n.curryArgs=n.leftCurryArgs=n.lcurrya=n.currya=function(t,n,i){return r(t,n,i)},n.rightCurryArgs=n.rcurrya=function(t,n,i){return r(t,n,i,!1)},n.positionCurry=n.ncurry=n.pcurry=function(t,n,i,s){return Array.isArray(i)||(i=[i]),r(t,n,i,s)},n.entangleCurry=n.ecurry=function(){return r.apply(this,Array.prototype.slice.call(arguments))},n}(),s=i({},r,0,r.curry(this,r.curry,null),null),o=s.ncurry(i,!1,2),u=s.curry(o,!1);s.recursiveExtendCrock=s.recursiveExtendGroupCurry=s.ncurry(i,!0,2),s.crock=s.groupCurry=s.group=s.gcurry=u,s.extendCrock=s.ecrock=s.egroup=s.egcurry=o,s.b=s.bound=r,s.extendCombine=s.ecombine=function(t,n,r,i){i=i||s.curry;var o=t||(Array.isArray(n)?[]:{});if(Array.isArray(n)&&n.length!==r.length)return e;for(var u in n){if(typeof r[u]=="undefined")continue;var a=[n[u]].concat(r[u]);o[u]=i.apply(this,a)}return o},s.combine=s.curry(s.ecombine,null),typeof module!="undefined"&&module.exports?module.exports=s:n.naan=s})();