UNPKG

sugar-language

Version:

Language module for the Sugar Javascript utility library.

35 lines (34 loc) 14.1 kB
/* * Sugar v2.0.6 * * Freely distributable and licensed under the MIT-style license. * Copyright (c) Andrew Plummer * https://sugarjs.com/ * * ---------------------------- */ (function(){'use strict';(function(){function l(a,b){for(var d in a)if(q(a,d)&&!1===b.call(a,a[d],d,a))break}function K(a){return a&&a.Object===Object?a:null}function L(a){function b(a,b,d){k(c,a,function(a,e,f){a=B(a,e,f);ba(c,a.methods,b,d,a.a);return c})}var d="Object"===a,c=M(a,!0);b("defineStatic",1);b("defineInstance",2);b("defineInstanceAndStatic",3);b("defineStaticWithArguments",1,!0);b("defineInstanceWithArguments",2,!0);k(c,"defineStaticPolyfill",function(b,d,g){b=B(b,d,g);v(u[a],b.methods,!0,b.a);return c});k(c, "defineInstancePolyfill",function(b,d,g){b=B(b,d,g);v(u[a].prototype,b.methods,!0,b.a);l(b.methods,function(a,b){w(c,b,a)});return c});k(c,"alias",function(a,b){var d=c;b="string"===typeof b?c[b]:b;d[a]=b;b.instance&&w(d,a,b.instance,!0);return c});k(c,"extend",function(b){function e(a,c){if(a=b[a])for(var d=0,e;e=a[d];d++)if(e===c)return!0;return!1}function g(a,c){return b[a]&&!e(a,c)}function h(a,c,d){if(!c[a]||!d)return!1;for(a=0;a<d.length;a++)if(!1===b[d[a]])return!0}var t=u[a],m=t.prototype, n={},p={};b=b||{};var r=b.methods;if(!e("except",t)&&!g("namespaces",t))return d&&"boolean"===typeof b.objectPrototype&&(C=b.objectPrototype),l(r||c,function(a,b){r&&(b=a,a=c[b]);!q(a,"instance")||d&&m===m&&(!C||"get"===b||"set"===b)||h(b,m,a.flags)||e("except",b)||(p[b]=a.instance);!q(a,"static")||d&&t===m&&(!C||"get"===b||"set"===b)||h(b,t,a.flags)||e("except",b)||(n[b]=a)}),v(t,n),v(m,p),r||k(c,"active",!0),c});x[a]=c;N["[object "+a+"]"]=c;D(a);ca(c);return h[a]=c}function da(){return"Sugar"}function ba(a, b,d,c,e){l(b,function(b,g){var f=b;c&&(f=O(b));e&&(f.flags=e);d&2&&!b.instance&&(b=c?O(b,!0):ea(b),k(f,"instance",b));d&1&&k(f,"static",!0);a[g]=f;f.instance&&w(a,g,f.instance,!0);a.active&&a.extend(g)})}function B(a,b,d){if("string"===typeof a){var c={};c[a]=b;a=d}else c=a,a=b;return{a:a,methods:c}}function O(a,b){var d=a.length-1-(b?1:0);return function(){var c=[],e=[];b&&c.push(this);var f=Math.max(arguments.length,d);for(var g=0;g<f;g++)g<d?c.push(arguments[g]):e.push(arguments[g]);c.push(e); return a.apply(this,c)}}function ea(a){switch(a.length){case 0:case 1:return function(){return a(this)};case 2:return function(b){return a(this,b)};case 3:return function(b,d){return a(this,b,d)};case 4:return function(b,d,c){return a(this,b,d,c)};case 5:return function(b,d,c,e){return a(this,b,d,c,e)}}}function v(a,b,d,c){l(b,function(b,f){d&&!c&&a[f]||k(a,f,b)})}function M(a){function b(a,c){if(!(this instanceof b))return new b(a,c);this.constructor!==b&&(a=this.constructor.apply(a,arguments)); this.raw=a}k(b,"toString",function(){return"Sugar"+a});k(b.prototype,"valueOf",function(){return this.raw});return b}function w(a,b,d){d=fa(d);var c;var e=P.prototype;var f=(c=e[b])&&c!==Object.prototype[b];c&&c.b||(e[b]=f?ha(b):d);a.prototype[b]=d;a===h.Object&&ia(b,d)}function ca(a){l(h.Object&&h.Object.prototype,function(b,d){if("function"===typeof b){var c=a.prototype;q(c,d)||(c[d]=b)}})}function ia(a,b){l(x,function(d){d=d.prototype;q(d,a)||(d[a]=b)})}function fa(a){return function(){return new P(a.apply(this.raw, arguments))}}function ha(a){function b(){var b=this.raw,c;null!=b&&(c=N[E(b)]);c||(c=h.Object);return(new c(b))[a].apply(this,arguments)}b.b=!0;return b}function D(a,b){var d=x[a],c=u[a].prototype;!b&&Q&&(b=Q(c));l(b,function(a){if("constructor"!==a&&"valueOf"!==a&&"__proto__"!==a){try{var b=c[a];if("function"!==typeof b)return}catch(g){return}w(d,a,b)}})}function ja(a,b,d){a[b]=d.value}function k(a,b,d,c){R(a,b,{value:d,enumerable:!!c,configurable:!0,writable:!0})}function E(a){return ka.call(a)} function q(a,b){return!!a&&la.call(a,b)}function ma(a,b){if(q(a,b))return a[b]}function F(a,b,d){d||(d=E(a));return d==="[object "+b+"]"}function G(a){return function(b,d,c){b[a](d,c)}}function na(a,b,d,c){S(a,oa(b,d),c)}function oa(a,b){var d={};r(a)&&(a=a.split(" "));y(a,function(a,e){b(d,a,e)});return d}function n(a){if(!T(a))throw new TypeError("Function is not callable");}function pa(a,b){for(var d=0;d<a;d++)b(d)}function qa(a){var b=typeof a;null!=a&&"string"!==b&&"number"!==b&&"boolean"!== b||(a=Object(a));if(ra&&r(a)){b=a;for(var d=0,c;c=b.charAt(d);)b[d++]=c}return a}function U(a,b,d,c){var e=[],f;for(f in a)f>>>0==f&&4294967295!=f&&(d||(c?f<=b:f>=b))&&e.push(+f);e.sort(function(a,c){var d=a>b;return d!==c>b?d?-1:1:a-c});return e}function y(a,b){for(var d=0,c=a.length;d<c;d++){if(!(d in a)){c=U(a,d,void 0);for(var e=0,f=c.length;e<f;e++)d=c[e],b.call(a,a[d],d,a);return a}b(a[d],d)}}function p(a,b,d,c,e){c=sa(a).toString(c||10);e=e||"0";b-=c.replace(/\.\d+/,"").length;var f="";for(e= e.toString();0<b;)if(b&1&&(f+=e),b>>=1)e+=e;c=f+c;if(d||0>a)c=(0>a?"-":"+")+c;return c}function ta(){function a(a,c){for(var d=0;d<b.length;d++)c.push(a+b[d])}var b="FullYear Month Date Hours Minutes Seconds Milliseconds".split(" ");l({Function:"apply,call",RegExp:"compile,exec,test",Number:"toExponential,toFixed,toLocaleString,toPrecision",Object:"hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString",Array:"concat,join,pop,push,reverse,shift,slice,sort,splice,toLocaleString,unshift", Date:"getTime,getTimezoneOffset,setTime,toDateString,toGMTString,toLocaleDateString,toLocaleString,toLocaleTimeString,toTimeString,toUTCString",String:"anchor,big,blink,bold,charAt,charCodeAt,concat,fixed,fontcolor,fontsize,indexOf,italics,lastIndexOf,link,localeCompare,match,replace,search,slice,small,split,strike,sub,substr,substring,sup,toLocaleLowerCase,toLocaleUpperCase,toLowerCase,toUpperCase"},function(b,c){b=b.split(",");"Date"===c&&(a("get",b),a("set",b),a("getUTC",b),a("setUTC",b));b.push("toString"); D(c,b)})}function V(a,b,d,c){var e=a.length;var f=c?-1:1;var g=c?e-1:0;(d=ua(d))||0===d||(d=g);0>d&&(d=e+d);if(!c&&0>d||c&&d>=e)d=g;for(g=d;c&&0<=g||!c&&g<e;){if(!(g in a))return va(a,b,d,c);if(g>>>0==g&&4294967295!=g&&a[g]===b)return g;g+=f}return-1}function va(a,b,d,c){d=U(a,d,!1,c);var e;for(d.sort(function(a,b){return c?b-a:a-b});void 0!==(e=d.shift());)if(a[e]===b)return+e;return-1}function W(a,b,d,c){var e=a.length,f=0,g=void 0!==d;n(b);if(0!=e||g)g||(d=a[c?e-1:f],f++);else throw new TypeError("Reduce called on empty array with no initial value"); for(;f<e;)g=c?e-f-1:f,g in a&&(d=b(d,a[g],g,a)),f++;return d}function H(a,b,d,c){var e=z[c];b=(b||"").replace(/all/,"").replace(/(\w)lphabet|umbers?|atakana|paces?|unctuation/g,"$1");return a.replace(d,function(a){var c=e[a],d;if(c){if(""===b&&c.all)return c.all;for(var f=0,h=b.length;f<h;f++)if(d=c[b.charAt(f)])return d}return a})}var h,u=K("undefined"!==typeof global&&global)||K("undefined"!==typeof window&&window),C=!1,x={},N={},R=Object.defineProperty&&Object.defineProperties?Object.defineProperty: ja,P=M("Chainable"),Q=Object.getOwnPropertyNames,ka=Object.prototype.toString,la=Object.prototype.hasOwnProperty;(function(){h=u.Sugar;if(!h){h=function(a){l(h,function(b,d){q(x,d)&&b.extend(a)});return h};if("undefined"!==typeof module&&module.c)module.c=h;else try{u.Sugar=h}catch(a){}l("Object Number String Array Date RegExp Function".split(" "),function(a){L(a)});k(h,"VERSION","2.0.6");k(h,"extend",h);k(h,"toString",da);k(h,"createNamespace",L);k(h,"util",{hasOwn:q,getOwn:ma,setProperty:k,classToString:E, defineProperty:R,forEachProperty:l,mapNativeToChainable:D})}})();var ra=!("0"in Object("a")),wa=h.Object,X=h.Array,Y=h.Date,I=h.String,xa=h.Function,r,T,Z,S=G("defineInstance"),J=G("defineStaticPolyfill"),A=G("defineInstancePolyfill"),ua=Math.trunc||function(a){return 0!==a&&isFinite(a)?0>a?ya(a):za(a):a},sa=Math.abs,ya=Math.ceil,za=Math.floor,m=String.fromCharCode;(function(){function a(a,c){return c&&F(new c,"Object")?b(c):d(a)}function b(a){var b=String(a);return function(a){return String(a.constructor)=== b}}function d(a){return function(b,c){return F(b,a,c)}}function c(a){var b=a.toLowerCase();return function(c){var d=typeof c;return d===b||"object"===d&&F(c,a)}}(function(){var b="Boolean Number String Date RegExp Function Array Error Set Map".split(" ");r=c(b[2]);a(b[3]);a(b[4]);T=a(b[5]);Z=Array.isArray||a(b[6]);a(b[7]);a(b[8],"undefined"!==typeof Set&&Set);a(b[9],"undefined"!==typeof Map&&Map)})();(function(){y("Int8 Uint8 Uint8Clamped Int16 Uint16 Int32 Uint32 Float32 Float64".split(" "),function(){})})()})(); (function(){for(var a=0;9>=a;a++)m(a+65296),m(a+48)})();var Aa="valueOf toString constructor isPrototypeOf hasOwnProperty toLocaleString propertyIsEnumerable".split(" ");(function(){if(!{toString:1}.propertyIsEnumerable("toString")){var a=l;l=function(b,d){a(b,d);for(var c=0,e;(e=Aa[c])&&(!q(b,e)||!1!==d.call(b,b[e],e,b));c++);}}})();Object.getOwnPropertyNames||ta();J(wa,{keys:function(a){var b=[];if(null==a)throw new TypeError("Object required");l(qa(a),function(a,c){b.push(c)});return b}});J(X, {isArray:function(a){return Z(a)}});A(X,{every:function(a){var b=arguments[1],d=this.length,c=0;for(n(a);c<d;){if(c in this&&!a.call(b,this[c],c,this))return!1;c++}return!0},some:function(a){var b=arguments[1],d=this.length,c=0;for(n(a);c<d;){if(c in this&&a.call(b,this[c],c,this))return!0;c++}return!1},map:function(a){var b=arguments[1],d=this.length,c=0,e=Array(d);for(n(a);c<d;)c in this&&(e[c]=a.call(b,this[c],c,this)),c++;return e},filter:function(a){var b=arguments[1],d=this.length,c=0,e=[]; for(n(a);c<d;)c in this&&a.call(b,this[c],c,this)&&e.push(this[c]),c++;return e},indexOf:function(a){var b=arguments[1];return r(this)?this.indexOf(a,b):V(this,a,b)},lastIndexOf:function(a){var b=arguments[1];return r(this)?this.lastIndexOf(a,b):V(this,a,b,!0)},forEach:function(a){var b=arguments[1],d=this.length,c=0;for(n(a);c<d;)c in this&&a.call(b,this[c],c,this),c++},reduce:function(a){return W(this,a,arguments[1])},reduceRight:function(a){return W(this,a,arguments[1],!0)}});var Ba=/^[\t\n\x0B\f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u2028\u2029\u3000\ufeff]+|[\t\n\x0B\f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u2028\u2029\u3000\ufeff]+$/g; A(I,{trim:function(){return this.toString().replace(Ba,"")}});A(xa,{bind:function(a){for(var b=[],d=1,c=arguments.length;d<c;d++)b.push(arguments[d]);var e=this;n(this);d=function(){for(var c=[],d=0,h=arguments.length;d<h;d++)c.push(arguments[d]);return e.apply(e.prototype&&this instanceof e?this:a,b.concat(c))};d.prototype=this.prototype;return d}});J(Y,{now:function(){return(new Date).getTime()}});A(Y,{toISOString:function(){return p(this.getUTCFullYear(),4)+"-"+p(this.getUTCMonth()+1,2)+"-"+p(this.getUTCDate(), 2)+"T"+p(this.getUTCHours(),2)+":"+p(this.getUTCMinutes(),2)+":"+p(this.getUTCSeconds(),2)+"."+p(this.getUTCMilliseconds(),3)+"Z"},toJSON:function(a){return this.toISOString(a)}},!function(){var a=new Date(Date.UTC(2E3,0));return!!a.toISOString&&"2000-01-01T00:00:00.000Z"===a.toISOString()}());var aa=/[\u0020-\u00A5]|[\uFF61-\uFF9F][\uff9e\uff9f]?/g,Ca=/[\u2212\u3000-\u301C\u301A-\u30FC\uFF01-\uFF60\uFFE0-\uFFE6]/g,Da=/[\u30ab\u30ad\u30af\u30b1\u30b3\u30b5\u30b7\u30b9\u30bb\u30bd\u30bf\u30c1\u30c4\u30c6\u30c8\u30cf\u30d2\u30d5\u30d8\u30db]/, Ea=/[\u30cf\u30d2\u30d5\u30d8\u30db\u30f2]/,Fa=[{name:"Arabic",src:"\u0600-\u06ff"},{name:"Cyrillic",src:"\u0400-\u04ff"},{name:"Devanagari",src:"\u0900-\u097f"},{name:"Greek",src:"\u0370-\u03ff"},{name:"Hangul",src:"\uac00-\ud7af\u1100-\u11ff"},{name:"Han Kanji",src:"\u4e00-\u9fff\uf900-\ufaff"},{name:"Hebrew",src:"\u0590-\u05ff"},{name:"Hiragana",src:"\u3040-\u309f\u30fb-\u30fc"},{name:"Kana",src:"\u3040-\u30ff\uff61-\uff9f"},{name:"Katakana",src:"\u30a0-\u30ff\uff61-\uff9f"},{name:"Latin",src:"\u0001-\u007f\u0080-\u00ff\u0100-\u017f\u0180-\u024f"}, {name:"Thai",src:"\u0e00-\u0e7f"}],Ga=[{type:"a",start:65,end:90},{type:"a",start:97,end:122},{type:"n",start:48,end:57},{type:"p",start:33,end:47},{type:"p",start:58,end:64},{type:"p",start:91,end:96},{type:"p",start:123,end:126}],z;S(I,{hankaku:function(a,b){return H(a,b,Ca,"hankaku")},zenkaku:function(a,b){return H(a,b,aa,"zenkaku")},hiragana:function(a,b){!1!==b&&(a=H(a,"k",aa,"zenkaku"));return a.replace(/[\u30A1-\u30F6]/g,function(a){return m(a.charCodeAt(0)+-96)})},katakana:function(a){return a.replace(/[\u3041-\u3096]/g, function(a){return m(a.charCodeAt(0)+96)})}});(function(){na(I,Fa,function(a,b){var d=RegExp("^["+b.src+"\\s]+$"),c=RegExp("["+b.src+"]");y(b.name.split(" "),function(b){a["is"+b]=function(a){return d.test(a.trim())};a["has"+b]=function(a){return c.test(a.trim())}})})})();(function(){function a(a,d,f){b("zenkaku",a,d,f);b("hankaku",a,f,d)}function b(a,b,d,g,h){var c=z[a][d]||{};!1!==h&&(c.all=g);c[b]=g;z[a][d]=c}var d;z={zenkaku:{},hankaku:{}};y(Ga,function(b){pa(b.end-b.start+1,function(c){c+=b.start; a(b.type,m(c),m(c+65248))})});(function(){for(var b=0;57>b;b++){var e="\u30a2\u30a4\u30a6\u30a8\u30aa\u30a1\u30a3\u30a5\u30a7\u30a9\u30ab\u30ad\u30af\u30b1\u30b3\u30b5\u30b7\u30b9\u30bb\u30bd\u30bf\u30c1\u30c4\u30c3\u30c6\u30c8\u30ca\u30cb\u30cc\u30cd\u30ce\u30cf\u30d2\u30d5\u30d8\u30db\u30de\u30df\u30e0\u30e1\u30e2\u30e4\u30e3\u30e6\u30e5\u30e8\u30e7\u30e9\u30ea\u30eb\u30ec\u30ed\u30ef\u30f2\u30f3\u30fc\u30fb".charAt(b);d="\uff71\uff72\uff73\uff74\uff75\uff67\uff68\uff69\uff6a\uff6b\uff76\uff77\uff78\uff79\uff7a\uff7b\uff7c\uff7d\uff7e\uff7f\uff80\uff81\uff82\uff6f\uff83\uff84\uff85\uff86\uff87\uff88\uff89\uff8a\uff8b\uff8c\uff8d\uff8e\uff8f\uff90\uff91\uff92\uff93\uff94\uff6c\uff95\uff6d\uff96\uff6e\uff97\uff98\uff99\uff9a\uff9b\uff9c\uff66\uff9d\uff70\uff65".charAt(b); a("k",d,e);e.match(Da)&&a("k",d+"\uff9e",m(e.charCodeAt(0)+1));e.match(Ea)&&a("k",d+"\uff9f",m(e.charCodeAt(0)+2))}})();(function(){for(var b=0;7>b;b++)a("p","\uff61\uff64\uff62\uff63\u00a5\u00a2\u00a3".charAt(b),"\u3002\u3001\u300c\u300d\uffe5\uffe0\uffe1".charAt(b))})();a("s"," ","\u3000");a("k","\uff73\uff9e","\u30f4");a("k","\uff66\uff9e","\u30fa");b("hankaku","n","\u2212","-");b("hankaku","n","\u30fc","-",!1);b("zenkaku","n","-","\uff0d",!1)})()}).call(this);}).call(this);