sugar
Version:
A Javascript library for working with native objects.
9 lines (8 loc) • 3.4 kB
JavaScript
var j=true,k=null,m=false;function o(a){return function(){return a}}var r=Object,s=Array,t=RegExp,u=Date,v=String,w=Number,x=Math,aa=typeof global!=="undefined"?global:this,ba=r.defineProperty&&r.defineProperties,z="Array,Boolean,Date,Function,Number,String,RegExp".split(","),ca=A(z[0]),da=A(z[1]),ea=A(z[2]),C=A(z[3]),D=A(z[4]),E=A(z[5]),F=A(z[6]);function A(a){return function(b){return fa(b,a)}}
function ga(a){if(!a.SugarMethods){ia(a,"SugarMethods",{});G(a,m,m,{restore:function(){var b=arguments.length===0,c=H(arguments);I(a.SugarMethods,function(d,e){if(b||c.indexOf(d)>-1)ia(e.Aa?a.prototype:a,d,e.method)})},extend:function(b,c,d){G(a,d!==m,c,b)}})}}function G(a,b,c,d){var e=b?a.prototype:a,g;ga(a);I(d,function(f,i){g=e[f];if(typeof c==="function")i=ja(e[f],i,c);if(c!==m||!e[f])ia(e,f,i);a.SugarMethods[f]={Aa:b,method:i,Ha:g}})}
function J(a,b,c,d,e){var g={};d=E(d)?d.split(","):d;d.forEach(function(f,i){e(g,f,i)});G(a,b,c,g)}function ja(a,b,c){return function(){return a&&(c===j||!c.apply(this,arguments))?a.apply(this,arguments):b.apply(this,arguments)}}function ia(a,b,c){if(ba)r.defineProperty(a,b,{value:c,configurable:j,enumerable:m,writable:j});else a[b]=c}function H(a,b){var c=[],d=0;for(d=0;d<a.length;d++){c.push(a[d]);b&&b.call(a,a[d],d)}return c}function K(a){return a!==void 0}function M(a){return a===void 0}
function ka(a){return a&&typeof a==="object"}function la(a){return!!a&&fa(a,"Object")&&v(a.constructor)===v(r)}function ma(a,b){return r.hasOwnProperty.call(a,b)}function fa(a,b){return r.prototype.toString.call(a)==="[object "+b+"]"}function I(a,b){for(var c in a)if(ma(a,c))if(b.call(a,c,a[c])===m)break}function na(a,b){I(b,function(c){a[c]=b[c]});return a}function N(a,b,c,d){var e=[];a=parseInt(a);for(var g=d<0;!g&&a<=b||g&&a>=b;){e.push(a);c&&c.call(this,a);a+=d||1}return e}
function O(a,b,c){c=x[c||"round"];var d=x.pow(10,x.abs(b||0));if(b<0)d=1/d;return c(a*d)/d}function P(a,b){return O(a,b,"floor")}function Q(a,b,c,d){d=x.abs(a).toString(d||10);d=oa(b-d.replace(/\.\d+/,"").length,"0")+d;if(c||a<0)d=(a<0?"-":"+")+d;return d}function pa(a){if(a>=11&&a<=13)return"th";else switch(a%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}}
function qa(){return"\t\n\u000b\u000c\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u2028\u2029\u3000\ufeff"}function oa(a,b){return s(x.max(0,K(a)?a:1)+1).join(b||"")}function ra(a,b){var c=a.toString().match(/[^/]*$/)[0];if(b)c=(c+b).split("").sort().join("").replace(/([gimy])\1+/g,"$1");return c}function R(a){E(a)||(a=v(a));return a.replace(/([\\/'*+?|()\[\]{}.^$])/g,"\\$1")}
function S(a,b){var c,d,e,g,f,i,h=typeof a;if(h==="string")return a;d=r.prototype.toString.call(a);c=d==="[object Object]";e=d==="[object Array]";if(a!=k&&c||e){b||(b=[]);if(b.length>1)for(f=b.length;f--;)if(b[f]===a)return"CYC";b.push(a);c=v(a.constructor);g=e?a:r.keys(a).sort();for(f=0;f<g.length;f++){i=e?f:g[f];c+=i+S(a[i],b)}b.pop()}else c=1/a===-Infinity?"-0":v(a&&a.valueOf());return h+d+c}
function sa(a,b,c){var d=[],e=a.length,g=b[b.length-1]!==m,f;H(b,function(i){if(da(i))return m;if(g){i%=e;if(i<0)i=e+i}f=c?a.charAt(i)||"":a[i];d.push(f)});return d.length<2?d[0]:d}function ta(a,b){J(b,j,m,a,function(c,d){c[d+(d==="equal"?"s":"")]=function(){return r[d].apply(k,[this].concat(H(arguments)))}})}ga(r);I(z,function(a,b){ga(aa[b])});