From 833d9160d36b9a6ecb989284f9b8a8327cc49a93 Mon Sep 17 00:00:00 2001 From: Tal Date: Mon, 23 May 2011 13:20:01 +0300 Subject: [PATCH 001/285] Added Element.GetClientRects DOM method support --- src/Libraries/Web/Html/ClientRect.cs | 61 ++++++++++++++++++++++++ src/Libraries/Web/Html/ClientRectList.cs | 46 ++++++++++++++++++ src/Libraries/Web/Html/Element.cs | 5 ++ src/Libraries/Web/Web.csproj | 5 ++ 4 files changed, 117 insertions(+) create mode 100644 src/Libraries/Web/Html/ClientRect.cs create mode 100644 src/Libraries/Web/Html/ClientRectList.cs diff --git a/src/Libraries/Web/Html/ClientRect.cs b/src/Libraries/Web/Html/ClientRect.cs new file mode 100644 index 000000000..84a525104 --- /dev/null +++ b/src/Libraries/Web/Html/ClientRect.cs @@ -0,0 +1,61 @@ +// TextRectangle.cs +// + +using System; +using System.Collections.Generic; +using System.Runtime.CompilerServices; + +namespace System.Html +{ + /// + /// + /// + /// + /// see http://www.w3.org/TR/cssom-view/#clientrect + /// + [IgnoreNamespace] + [Imported] + [ScriptName("Object")] + public sealed class ClientRect + { + private ClientRect() + { + } + + [IntrinsicProperty] + public float Top + { + get + { + return 0; + } + } + + [IntrinsicProperty] + public float Right + { + get + { + return 0; + } + } + + [IntrinsicProperty] + public float Bottom + { + get + { + return 0; + } + } + + [IntrinsicProperty] + public float Left + { + get + { + return 0; + } + } + } +} diff --git a/src/Libraries/Web/Html/ClientRectList.cs b/src/Libraries/Web/Html/ClientRectList.cs new file mode 100644 index 000000000..0baf5d791 --- /dev/null +++ b/src/Libraries/Web/Html/ClientRectList.cs @@ -0,0 +1,46 @@ +// ClientRectList.cs +// + +using System; +using System.Collections.Generic; +using System.Runtime.CompilerServices; + +namespace System.Html +{ + /// + /// + /// + /// + /// see http://www.w3.org/TR/cssom-view/#clientrectlist + /// interface ClientRectList { + /// readonly attribute unsigned long length; + /// getter ClientRect item(unsigned long index); + /// }; + /// + [IgnoreNamespace] + [Imported] + [ScriptName("Object")] + public class ClientRectList : IEnumerable + { + private ClientRectList() + { + + } + + [IntrinsicProperty] + public ulong Length + { + get { return 0; } + } + + public ClientRect Item(ulong index) + { + return null; + } + + public IEnumerator GetEnumerator() + { + return null; + } + } +} diff --git a/src/Libraries/Web/Html/Element.cs b/src/Libraries/Web/Html/Element.cs index 196144dce..119f64772 100644 --- a/src/Libraries/Web/Html/Element.cs +++ b/src/Libraries/Web/Html/Element.cs @@ -485,5 +485,10 @@ public void SetAttribute(ElementAttributeName name, object value) { public ElementAttribute SetAttributeNode(ElementAttribute attribute) { return null; } + + public ClientRectList GetClientRects() + { + return null; + } } } diff --git a/src/Libraries/Web/Web.csproj b/src/Libraries/Web/Web.csproj index 239ff5957..32ab7f888 100644 --- a/src/Libraries/Web/Web.csproj +++ b/src/Libraries/Web/Web.csproj @@ -47,10 +47,12 @@ + + @@ -153,5 +155,8 @@ CoreLib + + + \ No newline at end of file From 156d1580f28589f23b2b06e63c6d7c19ced48147 Mon Sep 17 00:00:00 2001 From: Tal Date: Mon, 23 May 2011 19:49:43 +0300 Subject: [PATCH 002/285] fixed formatting --- src/Libraries/Web/Html/Element.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Libraries/Web/Html/Element.cs b/src/Libraries/Web/Html/Element.cs index 119f64772..11dbb60a2 100644 --- a/src/Libraries/Web/Html/Element.cs +++ b/src/Libraries/Web/Html/Element.cs @@ -486,8 +486,7 @@ public ElementAttribute SetAttributeNode(ElementAttribute attribute) { return null; } - public ClientRectList GetClientRects() - { + public ClientRectList GetClientRects() { return null; } } From ec5d42680e7efc923bab4dc180c850a40cd4824a Mon Sep 17 00:00:00 2001 From: Tal Date: Mon, 23 May 2011 19:51:42 +0300 Subject: [PATCH 003/285] removed a mis-reference --- src/Libraries/Web/Web.csproj | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/Libraries/Web/Web.csproj b/src/Libraries/Web/Web.csproj index 32ab7f888..a66c66716 100644 --- a/src/Libraries/Web/Web.csproj +++ b/src/Libraries/Web/Web.csproj @@ -155,8 +155,5 @@ CoreLib - - - \ No newline at end of file From 7545f434709d1f2c6ead13a76653304e7981596b Mon Sep 17 00:00:00 2001 From: Tal Date: Sun, 29 May 2011 12:04:59 +0300 Subject: [PATCH 004/285] fixed styling --- src/Libraries/Web/Html/ClientRect.cs | 33 ++++++++---------------- src/Libraries/Web/Html/ClientRectList.cs | 22 ++++++---------- 2 files changed, 19 insertions(+), 36 deletions(-) diff --git a/src/Libraries/Web/Html/ClientRect.cs b/src/Libraries/Web/Html/ClientRect.cs index 84a525104..f2d89ff7f 100644 --- a/src/Libraries/Web/Html/ClientRect.cs +++ b/src/Libraries/Web/Html/ClientRect.cs @@ -5,8 +5,7 @@ using System.Collections.Generic; using System.Runtime.CompilerServices; -namespace System.Html -{ +namespace System.Html { /// /// /// @@ -16,44 +15,34 @@ namespace System.Html [IgnoreNamespace] [Imported] [ScriptName("Object")] - public sealed class ClientRect - { - private ClientRect() - { + public sealed class ClientRect { + private ClientRect() { } [IntrinsicProperty] - public float Top - { - get - { + public float Top { + get { return 0; } } [IntrinsicProperty] - public float Right - { - get - { + public float Right { + get { return 0; } } [IntrinsicProperty] - public float Bottom - { - get - { + public float Bottom { + get { return 0; } } [IntrinsicProperty] - public float Left - { - get - { + public float Left { + get { return 0; } } diff --git a/src/Libraries/Web/Html/ClientRectList.cs b/src/Libraries/Web/Html/ClientRectList.cs index 0baf5d791..c243f713c 100644 --- a/src/Libraries/Web/Html/ClientRectList.cs +++ b/src/Libraries/Web/Html/ClientRectList.cs @@ -5,8 +5,7 @@ using System.Collections.Generic; using System.Runtime.CompilerServices; -namespace System.Html -{ +namespace System.Html { /// /// /// @@ -20,26 +19,21 @@ namespace System.Html [IgnoreNamespace] [Imported] [ScriptName("Object")] - public class ClientRectList : IEnumerable - { - private ClientRectList() - { - + public class ClientRectList : IEnumerable { + private ClientRectList() { + } [IntrinsicProperty] - public ulong Length - { + public ulong Length { get { return 0; } } - - public ClientRect Item(ulong index) - { + + public ClientRect Item(ulong index) { return null; } - public IEnumerator GetEnumerator() - { + public IEnumerator GetEnumerator() { return null; } } From f7062feb761545306fcefc86f54f0bb4d3d379f3 Mon Sep 17 00:00:00 2001 From: nikhilk Date: Wed, 1 Jun 2011 03:23:00 -0700 Subject: [PATCH 005/285] Fix issue #69 - LocaleFormat typo Fix issue #71 - Handle string literals in Date formats --- bin/ref/mscorlib.debug.js | 15 ++++++++++----- bin/ref/mscorlib.js | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/bin/ref/mscorlib.debug.js b/bin/ref/mscorlib.debug.js index 897935d13..f155fa7b3 100644 --- a/bin/ref/mscorlib.debug.js +++ b/bin/ref/mscorlib.debug.js @@ -7,7 +7,7 @@ (function () { var globals = { - version: '0.7.2.0', + version: '0.7.2.1', isUndefined: function (o) { return (o === undefined); @@ -790,7 +790,7 @@ Date.prototype.format = function Date$format(format) { return this._netFormat(format, false); } -Date.prototype.localFormat = function Date$localeFormat(format) { +Date.prototype.localeFormat = function Date$localeFormat(format) { if (ss.isNullOrUndefined(format) || (format.length == 0) || (format == 'i')) { return this.toLocaleString(); } @@ -835,15 +835,15 @@ Date.prototype._netFormat = function Date$_netFormat(format, useLocale) { } if (!Date._formatRE) { - Date._formatRE = /dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g; + Date._formatRE = /'[^']+'|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g; } var re = Date._formatRE; var sb = new ss.StringBuilder(); var dt = this; if (useUTC) { - dt = new Date(Date.UTC(dt.getUTCFullYear(), dt.getUTCMonth(), dt.getUTCDate(), - dt.getUTCHours(), dt.getUTCMinutes(), dt.getUTCSeconds(), dt.getUTCMilliseconds())); + dt = new Date(dt.getUTCFullYear(), dt.getUTCMonth(), dt.getUTCDate(), + dt.getUTCHours(), dt.getUTCMinutes(), dt.getUTCSeconds(), dt.getUTCMilliseconds()); } re.lastIndex = 0; @@ -945,6 +945,11 @@ Date.prototype._netFormat = function Date$_netFormat(format, useLocale) { part += dtf.timeSeparator + Math.abs(dt.getTimezoneOffset() % 60).toString().padLeft(2, '0'); } break; + default: + if (part.charAt(0) == '\'') { + part = part.substr(1, part.length - 2); + } + break; } sb.append(part); } diff --git a/bin/ref/mscorlib.js b/bin/ref/mscorlib.js index a5e6a1427..7cea5d79f 100644 --- a/bin/ref/mscorlib.js +++ b/bin/ref/mscorlib.js @@ -1 +1 @@ -(function(){var e={version:"0.7.2.0",isUndefined:function(a){return a===undefined},isNull:function(a){return a===null},isNullOrUndefined:function(a){return a===null||a===undefined},isValue:function(a){return a!==null&&a!==undefined}},g=false,a=[];function d(b){a?a.push(b):setTimeout(b,0)}function b(){if(a){var c=a;a=null;for(var b=0,d=c.length;b=0||a.indexOf("e")>=0||a.endsWith("f")||a.endsWith("F")?parseFloat(a):parseInt(a,10)};Number.prototype.format=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toString():this._netFormat(a,false)};Number.prototype.localeFormat=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toLocaleString():this._netFormat(a,true)};Number._commaFormat=function(a,i,n,o){var c=null,h=a.indexOf(n);if(h>0){c=a.substr(h);a=a.substr(0,h)}var j=a.startsWith("-");if(j)a=a.substr(1);var f=0,g=i[f];if(a.length1)c=parseInt(f.substr(1));var e=f.charAt(0);switch(e){case"d":case"D":a=parseInt(Math.abs(this)).toString();if(c!=-1)a=a.padLeft(c,"0");if(this<0)a="-"+a;break;case"x":case"X":a=parseInt(Math.abs(this)).toString(16);if(e=="X")a=a.toUpperCase();if(c!=-1)a=a.padLeft(c,"0");break;case"e":case"E":if(c==-1)a=this.toExponential();else a=this.toExponential(c);if(e=="E")a=a.toUpperCase();break;case"f":case"F":case"n":case"N":if(c==-1)c=b.numberDecimalDigits;a=this.toFixed(c).toString();if(c&&b.numberDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.numberDecimalSeparator+a.substr(d+1)}if(e=="n"||e=="N")a=Number._commaFormat(a,b.numberGroupSizes,b.numberDecimalSeparator,b.numberGroupSeparator);break;case"c":case"C":if(c==-1)c=b.currencyDecimalDigits;a=Math.abs(this).toFixed(c).toString();if(c&&b.currencyDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.currencyDecimalSeparator+a.substr(d+1)}a=Number._commaFormat(a,b.currencyGroupSizes,b.currencyDecimalSeparator,b.currencyGroupSeparator);if(this<0)a=String.format(b.currencyNegativePattern,a);else a=String.format(b.currencyPositivePattern,a);break;case"p":case"P":if(c==-1)c=b.percentDecimalDigits;a=(Math.abs(this)*100).toFixed(c).toString();if(c&&b.percentDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.percentDecimalSeparator+a.substr(d+1)}a=Number._commaFormat(a,b.percentGroupSizes,b.percentDecimalSeparator,b.percentGroupSeparator);if(this<0)a=String.format(b.percentNegativePattern,a);else a=String.format(b.percentPositivePattern,a)}return a};String.__typeName="String";String.Empty="";String.compare=function(a,b,c){if(c){if(a)a=a.toUpperCase();if(b)b=b.toUpperCase()}a=a||"";b=b||"";return a==b?0:athis.length?false:this.substr(this.length-a.length)==a};String.equals=function(b,c,a){return String.compare(b,c,a)==0};String._format=function(b,c,a){if(!String._formatRE)String._formatRE=/(\{[^\}^\{]+\})/g;return b.replace(String._formatRE,function(h,d){var g=parseInt(d.substr(1)),b=c[g+1];if(ss.isNullOrUndefined(b))return"";if(b.format){var e=null,f=d.indexOf(":");if(f>0)e=d.substring(f+1,d.length-1);return a?b.localeFormat(e):b.format(e)}else return a?b.toLocaleString():b.toString()})};String.format=function(a){return String._format(a,arguments,false)};String.fromChar=function(a,d){for(var c=a,b=1;b=b)d=b-1;for(var c=a;c<=d;c++)if(f.indexOf(this.charAt(c))>=0)return c;return-1};String.prototype.insert=function(a,b){if(!b)return this;if(!a)return b+this;var c=this.substr(0,a),d=this.substr(a);return c+b+d};String.isNullOrEmpty=function(a){return!a||!a.length};String.prototype.lastIndexOfAny=function(f,a,e){var d=this.length;if(!d)return-1;a=a||d-1;e=e||d;var c=a-e+1;if(c<0)c=0;for(var b=a;b>=c;b--)if(f.indexOf(this.charAt(b))>=0)return b;return-1};String.localeFormat=function(a){return String._format(a,arguments,true)};String.prototype.padLeft=function(b,a){if(this.lengththis.length?this.substr(0,a):this.substr(0,a)+this.substr(a+b)};String.prototype.replaceAll=function(b,a){a=a||"";return this.split(b).join(a)};String.prototype.startsWith=function(a){return!a.length?true:a.length>this.length?false:this.substr(0,a.length)==a};if(!String.prototype.trim)String.prototype.trim=function(){return this.trimEnd().trimStart()};String.prototype.trimEnd=function(){return this.replace(/\s*$/,"")};String.prototype.trimStart=function(){return this.replace(/^\s*/,"")};Array.__typeName="Array";Array.__interfaces=[ss.IEnumerable];Array.prototype.add=function(a){this[this.length]=a};Array.prototype.addRange=function(a){this.push.apply(this,a)};Array.prototype.aggregate=function(b,c,d){for(var e=this.length,a=0;a=0};Array.prototype.dequeue=function(){return this.shift()};Array.prototype.enqueue=function(a){this._queue=true;this.push(a)};Array.prototype.peek=function(){if(this.length){var a=this._queue?0:this.length-1;return this[a]}return null};if(!Array.prototype.every)Array.prototype.every=function(b,c){for(var d=this.length,a=0;a=0){this.splice(a,1);return true}return false};Array.prototype.removeAt=function(a){this.splice(a,1)};Array.prototype.removeRange=function(b,a){return this.splice(b,a)};if(!Array.prototype.some)Array.prototype.some=function(b,c){for(var d=this.length,a=0;a1){var c=a.substring(1,b),d=a.substr(b+1);return new RegExp(c,d)}}return null};Date.__typeName="Date";Date.empty=null;Date.get_now=function(){return new Date};Date.get_today=function(){var a=new Date;return new Date(a.getFullYear(),a.getMonth(),a.getDate())};Date.isEmpty=function(a){return a===null||a.valueOf()===0};Date.prototype.format=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toString():a=="id"?this.toDateString():a=="it"?this.toTimeString():this._netFormat(a,false)};Date.prototype.localFormat=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toLocaleString():a=="id"?this.toLocaleDateString():a=="it"?this.toLocaleTimeString():this._netFormat(a,true)};Date.prototype._netFormat=function(d,j){var c=j?ss.CultureInfo.CurrentCulture.dateFormat:ss.CultureInfo.InvariantCulture.dateFormat,f=false;if(d.length==1)switch(d){case"f":d=c.longDatePattern+" "+c.shortTimePattern;case"F":d=c.dateTimePattern;break;case"d":d=c.shortDatePattern;break;case"D":d=c.longDatePattern;break;case"t":d=c.shortTimePattern;break;case"T":d=c.longTimePattern;break;case"g":d=c.shortDatePattern+" "+c.shortTimePattern;break;case"G":d=c.shortDatePattern+" "+c.longTimePattern;break;case"R":case"r":d=c.gmtDateTimePattern;f=true;break;case"u":d=c.universalDateTimePattern;f=true;break;case"U":d=c.dateTimePattern;f=true;break;case"s":d=c.sortableDateTimePattern}if(d.charAt(0)=="%")d=d.substr(1);if(!Date._formatRE)Date._formatRE=/dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g;var h=Date._formatRE,i=new ss.StringBuilder,b=this;if(f)b=new Date(Date.UTC(b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate(),b.getUTCHours(),b.getUTCMinutes(),b.getUTCSeconds(),b.getUTCMilliseconds()));h.lastIndex=0;while(true){var k=h.lastIndex,g=h.exec(d);i.append(d.slice(k,g?g.index:d.length));if(!g)break;var e=g[0],a=e;switch(e){case"dddd":a=c.dayNames[b.getDay()];break;case"ddd":a=c.shortDayNames[b.getDay()];break;case"dd":a=b.getDate().toString().padLeft(2,"0");break;case"d":a=b.getDate();break;case"MMMM":a=c.monthNames[b.getMonth()];break;case"MMM":a=c.shortMonthNames[b.getMonth()];break;case"MM":a=(b.getMonth()+1).toString().padLeft(2,"0");break;case"M":a=b.getMonth()+1;break;case"yyyy":a=b.getFullYear();break;case"yy":a=(b.getFullYear()%100).toString().padLeft(2,"0");break;case"y":a=b.getFullYear()%100;break;case"h":case"hh":a=b.getHours()%12;if(!a)a="12";else if(e=="hh")a=a.toString().padLeft(2,"0");break;case"HH":a=b.getHours().toString().padLeft(2,"0");break;case"H":a=b.getHours();break;case"mm":a=b.getMinutes().toString().padLeft(2,"0");break;case"m":a=b.getMinutes();break;case"ss":a=b.getSeconds().toString().padLeft(2,"0");break;case"s":a=b.getSeconds();break;case"t":case"tt":a=b.getHours()<12?c.amDesignator:c.pmDesignator;if(e=="t")a=a.charAt(0);break;case"fff":a=b.getMilliseconds().toString().padLeft(3,"0");break;case"ff":a=b.getMilliseconds().toString().padLeft(3).substr(0,2);break;case"f":a=b.getMilliseconds().toString().padLeft(3).charAt(0);break;case"z":a=b.getTimezoneOffset()/60;a=(a>=0?"-":"+")+Math.floor(Math.abs(a));break;case"zz":case"zzz":a=b.getTimezoneOffset()/60;a=(a>=0?"-":"+")+Math.floor(Math.abs(a)).toString().padLeft(2,"0");if(e=="zzz")a+=c.timeSeparator+Math.abs(b.getTimezoneOffset()%60).toString().padLeft(2,"0")}i.append(a)}return i.toString()};Date.parseDate=function(a){return new Date(Date.parse(a))};Error.__typeName="Error";Error.prototype.popStackFrame=function(){if(ss.isNullOrUndefined(this.stack)||ss.isNullOrUndefined(this.fileName)||ss.isNullOrUndefined(this.lineNumber))return;var a=this.stack.split("\n"),c=a[0],e=this.fileName+":"+this.lineNumber;while(!ss.isNullOrUndefined(c)&&c.indexOf(e)===-1){a.shift();c=a[0]}var d=a[1];if(isNullOrUndefined(d))return;var b=d.match(/@(.*):(\d+)$/);if(ss.isNullOrUndefined(b))return;a.shift();this.stack=a.join("\n");this.fileName=b[1];this.lineNumber=parseInt(b[2])};Error.createError=function(e,b,c){var a=new Error(e);if(b)for(var d in b)a[d]=b[d];if(c)a.innerException=c;a.popStackFrame();return a};ss.Debug=window.Debug||function(){};ss.Debug.__typeName="Debug";if(!ss.Debug.writeln)ss.Debug.writeln=function(a){if(window.console){if(window.console.debug){window.console.debug(a);return}else if(window.console.log){window.console.log(a);return}}else if(window.opera&&window.opera.postError){window.opera.postError(a);return}};ss.Debug._fail=function(a){ss.Debug.writeln(a);eval("debugger;")};ss.Debug.assert=function(b,a){if(!b){a="Assert failed: "+a;confirm(a+"\r\n\r\nBreak into debugger?")&&ss.Debug._fail(a)}};ss.Debug.fail=function(a){ss.Debug._fail(a)};window.Type=Function;Type.__typeName="Type";window.__Namespace=function(a){this.__typeName=a};__Namespace.prototype={__namespace:true,getName:function(){return this.__typeName}};Type.registerNamespace=function(e){if(!window.__namespaces)window.__namespaces={};if(!window.__rootNamespaces)window.__rootNamespaces=[];if(window.__namespaces[e])return;for(var c=window,d=e.split("."),a=0;a0?a.substr(b+1):a};Type.prototype.getInterfaces=function(){return this.__interfaces};Type.prototype.isInstanceOfType=function(a){if(ss.isNullOrUndefined(a))return false;if(this==Object||a instanceof this)return true;var b=Type.getInstanceType(a);return this.isAssignableFrom(b)};Type.prototype.isAssignableFrom=function(c){if(this==Object||this==c)return true;if(this.__class){var a=c.__baseType;while(a){if(this==a)return true;a=a.__baseType}}else if(this.__interface){var b=c.__interfaces;if(b&&b.contains(this))return true;var a=c.__baseType;while(a){b=a.__interfaces;if(b&&b.contains(this))return true;a=a.__baseType}}return false};Type.isClass=function(a){return a.__class==true};Type.isEnum=function(a){return a.__enum==true};Type.isFlags=function(a){return a.__enum==true&&a.__flags==true};Type.isInterface=function(a){return a.__interface==true};Type.isNamespace=function(a){return a.__namespace==true};Type.canCast=function(a,b){return b.isInstanceOfType(a)};Type.safeCast=function(a,b){return b.isInstanceOfType(a)?a:null};Type.getInstanceType=function(b){var a=null;try{a=b.constructor}catch(c){}if(!a||!a.__typeName)a=Object;return a};Type.getType=function(a){if(!a)return null;if(!Type.__typeCache)Type.__typeCache={};var b=Type.__typeCache[a];if(!b){b=eval(a);Type.__typeCache[a]=b}return b};Type.parse=function(a){return Type.getType(a)};ss.Enum=function(){};ss.Enum.registerClass("Enum");ss.Enum.parse=function(d,i){var a=d.prototype;if(!d.__flags){for(var b in a)if(b===i)return a[b]}else{for(var g=i.split("|"),h=0,e=true,c=g.length-1;c>=0;c--){var j=g[c].trim(),f=false;for(var b in a)if(b===j){h|=a[b];f=true;break}if(!f){e=false;break}}if(e)return h}throw"Invalid Enumeration Value";};ss.Enum._enumToString=function(d){var b=this.prototype;if(!this.__flags||d===0){for(var c in b)if(b[c]===d)return c;throw"Invalid Enumeration Value";}else{var a=[];for(var c in b)if(b[c]&d){a.length&&a.add(" | ");a.add(c)}if(!a.length)throw"Invalid Enumeration Value";return a.join("")}};ss.Delegate=function(){};ss.Delegate.registerClass("Delegate");ss.Delegate.empty=function(){};ss.Delegate._contains=function(b,d,c){for(var a=0;a=0||a.indexOf("e")>=0||a.endsWith("f")||a.endsWith("F")?parseFloat(a):parseInt(a,10)};Number.prototype.format=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toString():this._netFormat(a,false)};Number.prototype.localeFormat=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toLocaleString():this._netFormat(a,true)};Number._commaFormat=function(a,i,n,o){var c=null,h=a.indexOf(n);if(h>0){c=a.substr(h);a=a.substr(0,h)}var j=a.startsWith("-");if(j)a=a.substr(1);var f=0,g=i[f];if(a.length1)c=parseInt(f.substr(1));var e=f.charAt(0);switch(e){case"d":case"D":a=parseInt(Math.abs(this)).toString();if(c!=-1)a=a.padLeft(c,"0");if(this<0)a="-"+a;break;case"x":case"X":a=parseInt(Math.abs(this)).toString(16);if(e=="X")a=a.toUpperCase();if(c!=-1)a=a.padLeft(c,"0");break;case"e":case"E":if(c==-1)a=this.toExponential();else a=this.toExponential(c);if(e=="E")a=a.toUpperCase();break;case"f":case"F":case"n":case"N":if(c==-1)c=b.numberDecimalDigits;a=this.toFixed(c).toString();if(c&&b.numberDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.numberDecimalSeparator+a.substr(d+1)}if(e=="n"||e=="N")a=Number._commaFormat(a,b.numberGroupSizes,b.numberDecimalSeparator,b.numberGroupSeparator);break;case"c":case"C":if(c==-1)c=b.currencyDecimalDigits;a=Math.abs(this).toFixed(c).toString();if(c&&b.currencyDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.currencyDecimalSeparator+a.substr(d+1)}a=Number._commaFormat(a,b.currencyGroupSizes,b.currencyDecimalSeparator,b.currencyGroupSeparator);if(this<0)a=String.format(b.currencyNegativePattern,a);else a=String.format(b.currencyPositivePattern,a);break;case"p":case"P":if(c==-1)c=b.percentDecimalDigits;a=(Math.abs(this)*100).toFixed(c).toString();if(c&&b.percentDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.percentDecimalSeparator+a.substr(d+1)}a=Number._commaFormat(a,b.percentGroupSizes,b.percentDecimalSeparator,b.percentGroupSeparator);if(this<0)a=String.format(b.percentNegativePattern,a);else a=String.format(b.percentPositivePattern,a)}return a};String.__typeName="String";String.Empty="";String.compare=function(a,b,c){if(c){if(a)a=a.toUpperCase();if(b)b=b.toUpperCase()}a=a||"";b=b||"";return a==b?0:athis.length?false:this.substr(this.length-a.length)==a};String.equals=function(b,c,a){return String.compare(b,c,a)==0};String._format=function(b,c,a){if(!String._formatRE)String._formatRE=/(\{[^\}^\{]+\})/g;return b.replace(String._formatRE,function(h,d){var g=parseInt(d.substr(1)),b=c[g+1];if(ss.isNullOrUndefined(b))return"";if(b.format){var e=null,f=d.indexOf(":");if(f>0)e=d.substring(f+1,d.length-1);return a?b.localeFormat(e):b.format(e)}else return a?b.toLocaleString():b.toString()})};String.format=function(a){return String._format(a,arguments,false)};String.fromChar=function(a,d){for(var c=a,b=1;b=b)d=b-1;for(var c=a;c<=d;c++)if(f.indexOf(this.charAt(c))>=0)return c;return-1};String.prototype.insert=function(a,b){if(!b)return this;if(!a)return b+this;var c=this.substr(0,a),d=this.substr(a);return c+b+d};String.isNullOrEmpty=function(a){return!a||!a.length};String.prototype.lastIndexOfAny=function(f,a,e){var d=this.length;if(!d)return-1;a=a||d-1;e=e||d;var c=a-e+1;if(c<0)c=0;for(var b=a;b>=c;b--)if(f.indexOf(this.charAt(b))>=0)return b;return-1};String.localeFormat=function(a){return String._format(a,arguments,true)};String.prototype.padLeft=function(b,a){if(this.lengththis.length?this.substr(0,a):this.substr(0,a)+this.substr(a+b)};String.prototype.replaceAll=function(b,a){a=a||"";return this.split(b).join(a)};String.prototype.startsWith=function(a){return!a.length?true:a.length>this.length?false:this.substr(0,a.length)==a};if(!String.prototype.trim)String.prototype.trim=function(){return this.trimEnd().trimStart()};String.prototype.trimEnd=function(){return this.replace(/\s*$/,"")};String.prototype.trimStart=function(){return this.replace(/^\s*/,"")};Array.__typeName="Array";Array.__interfaces=[ss.IEnumerable];Array.prototype.add=function(a){this[this.length]=a};Array.prototype.addRange=function(a){this.push.apply(this,a)};Array.prototype.aggregate=function(b,c,d){for(var e=this.length,a=0;a=0};Array.prototype.dequeue=function(){return this.shift()};Array.prototype.enqueue=function(a){this._queue=true;this.push(a)};Array.prototype.peek=function(){if(this.length){var a=this._queue?0:this.length-1;return this[a]}return null};if(!Array.prototype.every)Array.prototype.every=function(b,c){for(var d=this.length,a=0;a=0){this.splice(a,1);return true}return false};Array.prototype.removeAt=function(a){this.splice(a,1)};Array.prototype.removeRange=function(b,a){return this.splice(b,a)};if(!Array.prototype.some)Array.prototype.some=function(b,c){for(var d=this.length,a=0;a1){var c=a.substring(1,b),d=a.substr(b+1);return new RegExp(c,d)}}return null};Date.__typeName="Date";Date.empty=null;Date.get_now=function(){return new Date};Date.get_today=function(){var a=new Date;return new Date(a.getFullYear(),a.getMonth(),a.getDate())};Date.isEmpty=function(a){return a===null||a.valueOf()===0};Date.prototype.format=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toString():a=="id"?this.toDateString():a=="it"?this.toTimeString():this._netFormat(a,false)};Date.prototype.localeFormat=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toLocaleString():a=="id"?this.toLocaleDateString():a=="it"?this.toLocaleTimeString():this._netFormat(a,true)};Date.prototype._netFormat=function(d,j){var c=j?ss.CultureInfo.CurrentCulture.dateFormat:ss.CultureInfo.InvariantCulture.dateFormat,f=false;if(d.length==1)switch(d){case"f":d=c.longDatePattern+" "+c.shortTimePattern;case"F":d=c.dateTimePattern;break;case"d":d=c.shortDatePattern;break;case"D":d=c.longDatePattern;break;case"t":d=c.shortTimePattern;break;case"T":d=c.longTimePattern;break;case"g":d=c.shortDatePattern+" "+c.shortTimePattern;break;case"G":d=c.shortDatePattern+" "+c.longTimePattern;break;case"R":case"r":d=c.gmtDateTimePattern;f=true;break;case"u":d=c.universalDateTimePattern;f=true;break;case"U":d=c.dateTimePattern;f=true;break;case"s":d=c.sortableDateTimePattern}if(d.charAt(0)=="%")d=d.substr(1);if(!Date._formatRE)Date._formatRE=/'[^']+'|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g;var h=Date._formatRE,i=new ss.StringBuilder,b=this;if(f)b=new Date(b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate(),b.getUTCHours(),b.getUTCMinutes(),b.getUTCSeconds(),b.getUTCMilliseconds());h.lastIndex=0;while(true){var k=h.lastIndex,g=h.exec(d);i.append(d.slice(k,g?g.index:d.length));if(!g)break;var e=g[0],a=e;switch(e){case"dddd":a=c.dayNames[b.getDay()];break;case"ddd":a=c.shortDayNames[b.getDay()];break;case"dd":a=b.getDate().toString().padLeft(2,"0");break;case"d":a=b.getDate();break;case"MMMM":a=c.monthNames[b.getMonth()];break;case"MMM":a=c.shortMonthNames[b.getMonth()];break;case"MM":a=(b.getMonth()+1).toString().padLeft(2,"0");break;case"M":a=b.getMonth()+1;break;case"yyyy":a=b.getFullYear();break;case"yy":a=(b.getFullYear()%100).toString().padLeft(2,"0");break;case"y":a=b.getFullYear()%100;break;case"h":case"hh":a=b.getHours()%12;if(!a)a="12";else if(e=="hh")a=a.toString().padLeft(2,"0");break;case"HH":a=b.getHours().toString().padLeft(2,"0");break;case"H":a=b.getHours();break;case"mm":a=b.getMinutes().toString().padLeft(2,"0");break;case"m":a=b.getMinutes();break;case"ss":a=b.getSeconds().toString().padLeft(2,"0");break;case"s":a=b.getSeconds();break;case"t":case"tt":a=b.getHours()<12?c.amDesignator:c.pmDesignator;if(e=="t")a=a.charAt(0);break;case"fff":a=b.getMilliseconds().toString().padLeft(3,"0");break;case"ff":a=b.getMilliseconds().toString().padLeft(3).substr(0,2);break;case"f":a=b.getMilliseconds().toString().padLeft(3).charAt(0);break;case"z":a=b.getTimezoneOffset()/60;a=(a>=0?"-":"+")+Math.floor(Math.abs(a));break;case"zz":case"zzz":a=b.getTimezoneOffset()/60;a=(a>=0?"-":"+")+Math.floor(Math.abs(a)).toString().padLeft(2,"0");if(e=="zzz")a+=c.timeSeparator+Math.abs(b.getTimezoneOffset()%60).toString().padLeft(2,"0");break;default:if(a.charAt(0)=="'")a=a.substr(1,a.length-2)}i.append(a)}return i.toString()};Date.parseDate=function(a){return new Date(Date.parse(a))};Error.__typeName="Error";Error.prototype.popStackFrame=function(){if(ss.isNullOrUndefined(this.stack)||ss.isNullOrUndefined(this.fileName)||ss.isNullOrUndefined(this.lineNumber))return;var a=this.stack.split("\n"),c=a[0],e=this.fileName+":"+this.lineNumber;while(!ss.isNullOrUndefined(c)&&c.indexOf(e)===-1){a.shift();c=a[0]}var d=a[1];if(isNullOrUndefined(d))return;var b=d.match(/@(.*):(\d+)$/);if(ss.isNullOrUndefined(b))return;a.shift();this.stack=a.join("\n");this.fileName=b[1];this.lineNumber=parseInt(b[2])};Error.createError=function(e,b,c){var a=new Error(e);if(b)for(var d in b)a[d]=b[d];if(c)a.innerException=c;a.popStackFrame();return a};ss.Debug=window.Debug||function(){};ss.Debug.__typeName="Debug";if(!ss.Debug.writeln)ss.Debug.writeln=function(a){if(window.console){if(window.console.debug){window.console.debug(a);return}else if(window.console.log){window.console.log(a);return}}else if(window.opera&&window.opera.postError){window.opera.postError(a);return}};ss.Debug._fail=function(a){ss.Debug.writeln(a);eval("debugger;")};ss.Debug.assert=function(b,a){if(!b){a="Assert failed: "+a;confirm(a+"\r\n\r\nBreak into debugger?")&&ss.Debug._fail(a)}};ss.Debug.fail=function(a){ss.Debug._fail(a)};window.Type=Function;Type.__typeName="Type";window.__Namespace=function(a){this.__typeName=a};__Namespace.prototype={__namespace:true,getName:function(){return this.__typeName}};Type.registerNamespace=function(e){if(!window.__namespaces)window.__namespaces={};if(!window.__rootNamespaces)window.__rootNamespaces=[];if(window.__namespaces[e])return;for(var c=window,d=e.split("."),a=0;a0?a.substr(b+1):a};Type.prototype.getInterfaces=function(){return this.__interfaces};Type.prototype.isInstanceOfType=function(a){if(ss.isNullOrUndefined(a))return false;if(this==Object||a instanceof this)return true;var b=Type.getInstanceType(a);return this.isAssignableFrom(b)};Type.prototype.isAssignableFrom=function(c){if(this==Object||this==c)return true;if(this.__class){var a=c.__baseType;while(a){if(this==a)return true;a=a.__baseType}}else if(this.__interface){var b=c.__interfaces;if(b&&b.contains(this))return true;var a=c.__baseType;while(a){b=a.__interfaces;if(b&&b.contains(this))return true;a=a.__baseType}}return false};Type.isClass=function(a){return a.__class==true};Type.isEnum=function(a){return a.__enum==true};Type.isFlags=function(a){return a.__enum==true&&a.__flags==true};Type.isInterface=function(a){return a.__interface==true};Type.isNamespace=function(a){return a.__namespace==true};Type.canCast=function(a,b){return b.isInstanceOfType(a)};Type.safeCast=function(a,b){return b.isInstanceOfType(a)?a:null};Type.getInstanceType=function(b){var a=null;try{a=b.constructor}catch(c){}if(!a||!a.__typeName)a=Object;return a};Type.getType=function(a){if(!a)return null;if(!Type.__typeCache)Type.__typeCache={};var b=Type.__typeCache[a];if(!b){b=eval(a);Type.__typeCache[a]=b}return b};Type.parse=function(a){return Type.getType(a)};ss.Enum=function(){};ss.Enum.registerClass("Enum");ss.Enum.parse=function(d,i){var a=d.prototype;if(!d.__flags){for(var b in a)if(b===i)return a[b]}else{for(var g=i.split("|"),h=0,e=true,c=g.length-1;c>=0;c--){var j=g[c].trim(),f=false;for(var b in a)if(b===j){h|=a[b];f=true;break}if(!f){e=false;break}}if(e)return h}throw"Invalid Enumeration Value";};ss.Enum._enumToString=function(d){var b=this.prototype;if(!this.__flags||d===0){for(var c in b)if(b[c]===d)return c;throw"Invalid Enumeration Value";}else{var a=[];for(var c in b)if(b[c]&d){a.length&&a.add(" | ");a.add(c)}if(!a.length)throw"Invalid Enumeration Value";return a.join("")}};ss.Delegate=function(){};ss.Delegate.registerClass("Delegate");ss.Delegate.empty=function(){};ss.Delegate._contains=function(b,d,c){for(var a=0;a Date: Wed, 1 Jun 2011 03:25:15 -0700 Subject: [PATCH 006/285] Fix issue #70 - add DecimalConstantAttribute to allow c# compiler to generate IL needed for const decimals --- src/Libraries/CoreLib/Runtime.cs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/Libraries/CoreLib/Runtime.cs b/src/Libraries/CoreLib/Runtime.cs index f675772a6..cd7fdb6a0 100644 --- a/src/Libraries/CoreLib/Runtime.cs +++ b/src/Libraries/CoreLib/Runtime.cs @@ -558,6 +558,26 @@ public sealed class CompilerGeneratedAttribute : Attribute { public CompilerGeneratedAttribute() { } } + + [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Field, Inherited = false)] + [EditorBrowsable(EditorBrowsableState.Never)] + [NonScriptable] + [Imported] + public sealed class DecimalConstantAttribute : Attribute { + + public DecimalConstantAttribute(byte scale, byte sign, int hi, int mid, int low) { + } + + [CLSCompliant(false)] + public DecimalConstantAttribute(byte scale, byte sign, uint hi, uint mid, uint low) { + } + + public decimal Value { + get { + return 0m; + } + } + } } namespace System.Runtime.InteropServices { From e499e724cba26833bbc2a0fc3e7b50e9e7dc151b Mon Sep 17 00:00:00 2001 From: nikhilk Date: Wed, 1 Jun 2011 03:29:08 -0700 Subject: [PATCH 007/285] Sharpen core script - Debug, Error, Enumeration, Delegates, String, Parsing, Date extensions --- .../CoreLib/ComponentModel/IContainer.cs | 2 +- .../Client/Core/Base/ComponentModel.js | 28 ++-- src/Runtime/Client/Core/Base/Debug.js | 26 ++++ src/Runtime/Client/Core/Base/Delegate.js | 2 +- src/Runtime/Client/Core/Base/Enumerate.js | 2 +- src/Runtime/Client/Core/Base/Global.js | 20 +++ src/Runtime/Client/Core/Base/Misc.js | 19 ++- src/Runtime/Client/Core/Base/Parse.js | 2 +- src/Runtime/Client/Core/Base/String.js | 125 ++++++++++++++++++ src/Runtime/Client/Core/Core.js | 75 ++++++++++- tests/Sharpen/StringFormat.htm | 55 ++++++++ 11 files changed, 335 insertions(+), 21 deletions(-) create mode 100644 src/Runtime/Client/Core/Base/Debug.js create mode 100644 src/Runtime/Client/Core/Base/Global.js create mode 100644 src/Runtime/Client/Core/Base/String.js create mode 100644 tests/Sharpen/StringFormat.htm diff --git a/src/Libraries/CoreLib/ComponentModel/IContainer.cs b/src/Libraries/CoreLib/ComponentModel/IContainer.cs index 4125de209..00bed3044 100644 --- a/src/Libraries/CoreLib/ComponentModel/IContainer.cs +++ b/src/Libraries/CoreLib/ComponentModel/IContainer.cs @@ -31,7 +31,7 @@ public interface IContainer { /// /// The type of object this instance corresponds to. /// The object to register. - void RegisterService(Type objectType, object objectInstance); + void RegisterObject(Type objectType, object objectInstance); /// /// Registers an object factory for the specified type with the container. diff --git a/src/Runtime/Client/Core/Base/ComponentModel.js b/src/Runtime/Client/Core/Base/ComponentModel.js index 97ed85679..13b7e5054 100644 --- a/src/Runtime/Client/Core/Base/ComponentModel.js +++ b/src/Runtime/Client/Core/Base/ComponentModel.js @@ -25,7 +25,7 @@ function IObserver() { } var _observerStack = []; var _observerRegistration = { - dispose: function () { + dispose: function() { _observerStack.pop(); } } @@ -86,55 +86,55 @@ function ObservableCollection(items) { this._observers = null; } var ObservableCollection$proto = { - get_item: function (index) { + get_item: function(index) { this._observers = _captureObservers(this._observers); return this._items[index]; }, - set_item: function (index, item) { + set_item: function(index, item) { this._items[index] = item; this._updated(); }, - get_length: function () { + get_length: function() { this._observers = _captureObservers(this._observers); return this._items.length; }, - add: function (item) { + add: function(item) { this._items.push(item); this._updated(); }, - clear: function () { + clear: function() { this._items.clear(); this._updated(); }, - contains: function (item) { + contains: function(item) { return this._items.indexOf(item) >= 0; }, - getEnumerator: function () { + getEnumerator: function() { this._observers = _captureObservers(this._observers); return this._items.getEnumerator(); }, - indexOf: function (item) { + indexOf: function(item) { return this._items.indexOf(item); }, - insert: function (index, item) { + insert: function(index, item) { this._items.insert(index, item); this._updated(); }, - remove: function (item) { + remove: function(item) { if (this._items.remove(item)) { this._updated(); return true; } return false; }, - removeAt: function (index) { + removeAt: function(index) { this._items = index == 0 ? this._items.splice(1) : this._items.splice(0, index).concat(this._items.splice(index + 1)); this._updated(); }, - toArray: function () { + toArray: function() { return this._items; }, - _updated: function () { + _updated: function() { var observers = this._observers; if (observers) { this._observers = null; diff --git a/src/Runtime/Client/Core/Base/Debug.js b/src/Runtime/Client/Core/Base/Debug.js new file mode 100644 index 000000000..af771c9d6 --- /dev/null +++ b/src/Runtime/Client/Core/Base/Debug.js @@ -0,0 +1,26 @@ +// Debug Helpers + +function debugAssert(condition, msg, debug) { + if (console && console.assert) { + console.assert(condition, msg); + } + else if (!condition) { + debugWrite('Assert failed: ' + msg); + } + if (debug || confirm('Assert failed:\r\n' + msg + '\r\nBreak into debugger?')) { + eval('debugger;'); + } +} + +function debugFail(msg) { + debugAssert(false, msg, true); +} + +function debugWriteLine(msg) { + if (console) { + console.log(text); + } + else if (Debug) { + Debug.writeln(msg); + } +} diff --git a/src/Runtime/Client/Core/Base/Delegate.js b/src/Runtime/Client/Core/Base/Delegate.js index 51ff27242..6b62578ee 100644 --- a/src/Runtime/Client/Core/Base/Delegate.js +++ b/src/Runtime/Client/Core/Base/Delegate.js @@ -54,7 +54,7 @@ function bindName(fn, multiUse, name, root) { } function _createDelegate(fnList) { - var d = function () { + var d = function() { var args = arguments; var r = null; for (var i = 0, l = fnList.length; i < l; i++) { diff --git a/src/Runtime/Client/Core/Base/Enumerate.js b/src/Runtime/Client/Core/Base/Enumerate.js index b9f681c2d..41027a98c 100644 --- a/src/Runtime/Client/Core/Base/Enumerate.js +++ b/src/Runtime/Client/Core/Base/Enumerate.js @@ -12,7 +12,7 @@ function enumerate(o, cb) { } } else if (o.forEach) { - o.forEach(function (item) { + o.forEach(function(item) { if (!cancel) { cancel = cb(item); } diff --git a/src/Runtime/Client/Core/Base/Global.js b/src/Runtime/Client/Core/Base/Global.js new file mode 100644 index 000000000..a71f40d0a --- /dev/null +++ b/src/Runtime/Client/Core/Base/Global.js @@ -0,0 +1,20 @@ +extend(ss, { + neutralCulture: {}, + currentCulture: {}, + formatters: { + Date: function (dt, format, culture) { + var fnName = 'String'; + switch (format) { + case 'iso': + return dt.toISOString(); + case 'id': + fnName = 'DateString'; + break; + case 'it': + fnName = 'TimeString'; + break; + } + return culture == ss.neutralCulture ? dt['to' + fnName]() : dt['toLocale' + fnName](); + } + } +}); diff --git a/src/Runtime/Client/Core/Base/Misc.js b/src/Runtime/Client/Core/Base/Misc.js index d74674ad8..b00862cc9 100644 --- a/src/Runtime/Client/Core/Base/Misc.js +++ b/src/Runtime/Client/Core/Base/Misc.js @@ -1,5 +1,22 @@ -// Miscellaneous Helpers +// Number Helpers function truncateNumber(n) { return (n >= 0) ? Math.floor(n) : Math.ceil(n); } + +// Date Helpers + +function now() { + return new Date(); +} + +function today() { + var d = new Date(); + return new Date(d.getFullYear(), d.getMonth(), d.getDate()); +} + +// Array Helpers + +function toArray(o) { + return Array.prototype.slice.call(o); +} diff --git a/src/Runtime/Client/Core/Base/Parse.js b/src/Runtime/Client/Core/Base/Parse.js index 2b96422ef..91f2bf73d 100644 --- a/src/Runtime/Client/Core/Base/Parse.js +++ b/src/Runtime/Client/Core/Base/Parse.js @@ -1,4 +1,4 @@ -// Parsing utliities +// Parsing utilities function parseNumber(s) { if (!s || !s.length) { diff --git a/src/Runtime/Client/Core/Base/String.js b/src/Runtime/Client/Core/Base/String.js new file mode 100644 index 000000000..305eace3e --- /dev/null +++ b/src/Runtime/Client/Core/Base/String.js @@ -0,0 +1,125 @@ +// String utilities + +var _formatPlaceHolder = /(\{[^\}^\{]+\})/g; + +function stringFromChar(ch, count) { + return count ? new Array(count + 1).join(ch) : ch; +} + +extend(String, { + fromChar: stringFromChar, + concat: function() { + return Array.prototype.join.call(arguments, ''); + }, + compare: function(s1, s2, ignoreCase) { + s1 = s1 || ''; + s2 = s2 || ''; + + if (ignoreCase) { + s1 = s1.toUpperCase(); + s2 = s2.toUpperCase(); + } + + return (s1 == s2) ? 0 : (s1 < s2) ? -1 : 1; + }, + format: function(cultureOrFormat) { + var culture = ss.neutralCulture; + var format = cultureOrFormat; + var values = Array.prototype.slice.call(arguments, 1); + + if (cultureOrFormat.constructor != String) { + culture = cultureOrFormat; + format = values[0]; + values = values.slice(1); + } + + return format.replace(_formatPlaceHolder, + function(str, match) { + var index = parseInt(match.substr(1)); + var value = values[index]; + if (!isValue(value)) { + return ''; + } + + var formatter = ss.formatters[value.constructor.name]; + if (formatter) { + var formatSpec = ''; + var formatIndex = match.indexOf(':'); + if (formatIndex > 0) { + formatSpec = match.substring(formatIndex + 1, match.length - 1); + } + if (formatSpec && (formatSpec != 'i')) { + return formatter(value, formatSpec, culture); + } + } + return culture == ss.neutralCulture ? value.toString() : value.toLocaleString(); + }); + } +}); + +extend(String.prototype, { + endsWith: function(suffix) { + if (!suffix.length) { + return true; + } + if (suffix.length > this.length) { + return false; + } + return this.substr(-suffix.length) == suffix; + }, + startsWith: function(prefix) { + if (!prefix.length) { + return true; + } + if (prefix.length > this.length) { + return false; + } + return this.substr(0, prefix.length) == prefix; + }, + padLeft: function(totalWidth, ch) { + return (this.length < totalWidth) ? stringFromChar(ch || ' ', totalWidth - this.length) + this : this; + }, + padRight: function(totalWidth, ch) { + return (this.length < totalWidth) ? this + stringFromChar(ch || ' ', totalWidth - this.length) : this; + }, + trimEnd: function() { + return this.replace(/\s*$/, ''); + }, + trimStart: function() { + return this.replace(/^\s*/, ''); + }, + insert: function(index, value) { + if (!value) { + return this; + } + if (!index) { + return value + this; + } + return this.substr(0, index) + value + this.substr(index); + }, + remove: function(index, count) { + if (!count || ((index + count) > this.length)) { + return this.substr(0, index); + } + return this.substr(0, index) + this.substr(index + count); + }, + replaceAll: function(oldValue, newValue) { + return this.split(oldValue).join(newValue || ''); + }, + htmlDecode: function() { + var div = document.createElement('div'); + div.innerHTML = this; + return div.textContent || div.innerText; + }, + htmlEncode: function() { + var div = document.createElement('div'); + div.appendChild(document.createTextNode(this)); + return div.innerHTML.replace(/\"/g, '"'); + } +}); + +if (!String.prototype.trim) { + String.prototype.trim = function() { + return this.trimEnd().trimStart(); + } +} diff --git a/src/Runtime/Client/Core/Core.js b/src/Runtime/Client/Core/Core.js index 7b9c0c79a..eeda3dcb1 100644 --- a/src/Runtime/Client/Core/Core.js +++ b/src/Runtime/Client/Core/Core.js @@ -8,13 +8,32 @@ function extend(o, items) { for (var n in items) { o[n] = items[n]; } + return o; +} + +function remove(o, item) { + if (o.constructor == Array) { + var index = o.indexOf(item); + return index >= 0 ? (o.splice(index, 1), true) : false; + } + if (o[item]) { + delete o[item]; + return true; + } + return false; +} + +function clear(o) { + for (var n in o) { + delete o[n]; + } } function isValue(o) { return (o !== undefined) && (o !== null); } - +#include "Base\Debug.js" #include "Base\Startup.js" // The ss global object is created within the Loader script. @@ -43,6 +62,7 @@ if (!ss) { #include "Base\ComponentModel.js" #include "Base\Error.js" #include "Base\Parse.js" +#include "Base\String.js" #include "Base\Misc.js" createTypes(ss, @@ -70,6 +90,9 @@ EventArgs.empty = new EventArgs(); extend(ss, { $name: 'ss', $version: '0.7.2.0', + extend: extend, + remove: remove, + clear: clear, isValue: isValue, ns: createNamespace, type: createTypes, @@ -89,6 +112,54 @@ extend(ss, { bool: parseBoolean, regExp: parseRegExp, error: createError, - truncate: truncateNumber + array: toArray, + assert: debugAssert, + fail: debugFail, + trace: debugWriteLine, + truncate: truncateNumber, + now: now, + today: today }); + +// Minimal implementation that can be extended by Sharpen.Global.js + +#include "Base\Global.js" + })(window); + +/* +Misc notes - + +Various Array, Dictionary and Script APIs to be handled via compiler transforms: + +a.add(item) -> a.push(item) +a.addRange(items) -> a.push.apply(a, items) +a.clear() -> a.length = 0 +a.clone() -> Array.apply(null, a) +a.contains(item) -> a.indexOf(item) >= 0 +a.dequeue() -> a.shift() +a.enqueue(item) -> { a._queue = true; a.push(item); } +a.peek() -> a.length ? null : (a._queue ? a[0] : a[a.length - 1]) : null +a.extract(index, count) -> count ? a.slice(index, index + count) : a.slice(index) +a.insert(index, item) -> a.splice(index, 0, item) +a.insertRange(index, items) -> a.splice.apply(a, [index,0].concat(items)) +a.remove(item) -> ss.remove(a, item) +a.removeAt(index) -> a.splice(index, 1) +a.removeRange(index, count) -> a.splice(index, count) + +... assumes indexOf on Array.prototype + +keyExists(o, k) -> o[k] !== undefined +keyCount(o) -> Object.keys(o).length + +... assumes keys on Object + +isNull(o) -> o === null +isUndefined(o) -> o === undefined +isNullOrUndefined(o) -> o == null + + +Various Array APIs not available in some IE versions: + +every, filter, forEach, indexOf, lastIndexOf, map, some, reduce, reduceRight +*/ diff --git a/tests/Sharpen/StringFormat.htm b/tests/Sharpen/StringFormat.htm new file mode 100644 index 000000000..69894976d --- /dev/null +++ b/tests/Sharpen/StringFormat.htm @@ -0,0 +1,55 @@ + + + + Test - String Format + + + + + +

Test Results

+

+

+
    +
    + + + + + + From b22200dbcfa45fea67f550a40b51da12894b14f5 Mon Sep 17 00:00:00 2001 From: nikhilk Date: Wed, 1 Jun 2011 03:30:20 -0700 Subject: [PATCH 008/285] Sharpen.Global.js script - CultureInfo along with richer Number/Date formatting capability as optional functionality. --- src/Runtime/Client/Core/CoreScript.csproj | 10 ++ src/Runtime/Client/Core/Global.js | 11 ++ src/Runtime/Client/Core/Global/Culture.js | 71 ++++++++++ src/Runtime/Client/Core/Global/Date.js | 158 ++++++++++++++++++++++ src/Runtime/Client/Core/Global/Number.js | 150 ++++++++++++++++++++ tests/Sharpen/CultureFormat.htm | 66 +++++++++ tests/Sharpen/Index.htm | 4 + 7 files changed, 470 insertions(+) create mode 100644 src/Runtime/Client/Core/Global.js create mode 100644 src/Runtime/Client/Core/Global/Culture.js create mode 100644 src/Runtime/Client/Core/Global/Date.js create mode 100644 src/Runtime/Client/Core/Global/Number.js create mode 100644 tests/Sharpen/CultureFormat.htm diff --git a/src/Runtime/Client/Core/CoreScript.csproj b/src/Runtime/Client/Core/CoreScript.csproj index 0399ef595..8ea5840cd 100644 --- a/src/Runtime/Client/Core/CoreScript.csproj +++ b/src/Runtime/Client/Core/CoreScript.csproj @@ -16,6 +16,9 @@ + + + @@ -24,7 +27,11 @@ + + + + @@ -34,6 +41,9 @@ + + + diff --git a/src/Runtime/Client/Core/Global.js b/src/Runtime/Client/Core/Global.js new file mode 100644 index 000000000..4a4aef946 --- /dev/null +++ b/src/Runtime/Client/Core/Global.js @@ -0,0 +1,11 @@ +//! Sharpen Core Runtime +//! Globalization Functionality +//! + +(function() { + +#include "Global\Culture.js" +#include "Global\Number.js" +#include "Global\Date.js" + +})(); diff --git a/src/Runtime/Client/Core/Global/Culture.js b/src/Runtime/Client/Core/Global/Culture.js new file mode 100644 index 000000000..10d3c5bd8 --- /dev/null +++ b/src/Runtime/Client/Core/Global/Culture.js @@ -0,0 +1,71 @@ +// CultureInfo definitions + +ss.neutralCulture = { + name: '', + // numberFormat + nf: { + nan: 'NaN', // naNSymbol + neg: '-', // negativeSign + pos: '+', // positiveSign + negInf: '-Infinity', // negativeInfinityText + posInf: 'Infinity', // positiveInfinityText + gw: [3], // numberGroupSizes + dd: 2, // numberDecimalDigits + ds: '.', // numberDecimalSeparator + gs: ',' , // numberGroupSeparator + + per: '%', // percentSymbol + perGW: [3], // percentGroupSizes + perDD: 2, // percentDecimalDigits + perDS: '.', // percentDecimalSeparator + perGS: ',', // percentGroupSeparator + perPP: '{0} %', // percentPositivePattern + perNP: '-{0} %', // percentNegativePattern + + cur: '$', // currencySymbol + curGW: [3], // currencyGroupSizes + curDD: 2, // currencyDecimalDigits + curDS: '.', // currencyDecimalSeparator + curGS: ',', // currencyGroupSeparator + curNP: '(${0})', // currencyNegativePattern + curPP: '${0}' // currencyPositivePattern + }, + // dateFormat + dtf: { + am: 'AM', // amDesignator + pm: 'PM', // pmDesignator + + ds: '/', // dateSeparator + ts: ':', // timeSeparator + + gmt: 'ddd, dd MMM yyyy HH:mm:ss \'GMT\'', // gmtDateTimePattern + uni: 'yyyy-MM-dd HH:mm:ssZ', // universalDateTimePattern + sort: 'yyyy-MM-ddTHH:mm:ss', // sortableDateTimePattern + dt: 'dddd, MMMM dd, yyyy h:mm:ss tt', // dateTimePattern + + ld: 'dddd, MMMM dd, yyyy', // longDatePattern + sd: 'M/d/yyyy', // shortDatePattern + + lt: 'h:mm:ss tt', // longTimePattern + st: 'h:mm tt', // shortTimePattern + + day0: 0, // firstDayOfWeek + day: ['Sunday', 'Monday', 'Tuesday', + 'Wednesday', 'Thursday', + 'Friday', 'Saturday'], // dayNames + sday: ['Sun', 'Mon', 'Tue', 'Wed', + 'Thu', 'Fri', 'Sat'], // shortDayNames + mday: ['Su', 'Mo', 'Tu', 'We', + 'Th', 'Fr', 'Sa'], // minimizedDayNames + + mon: ['January', 'February', 'March', + 'April', 'May', 'June', 'July', + 'August', 'September', 'October', + 'November', 'December', ''], // monthNames + smon: ['Jan', 'Feb', 'Mar', 'Apr', + 'May', 'Jun', 'Jul', 'Aug', + 'Sep', 'Oct', 'Nov', 'Dec', ''] // shortMonthNames + } +}; + +(ss.currentCulture = ss.extend({}, ss.neutralCulture)).name = 'en-us'; diff --git a/src/Runtime/Client/Core/Global/Date.js b/src/Runtime/Client/Core/Global/Date.js new file mode 100644 index 000000000..a638e17a8 --- /dev/null +++ b/src/Runtime/Client/Core/Global/Date.js @@ -0,0 +1,158 @@ +// Date Formatting Functionality + +var _dateFormatRE = /'[^']+'|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g; + +ss.formatters.Date = function (dt, format, culture) { + if (format == 'iso') { + return dt.toISOString(); + } + else if (format.charAt(0) == 'i') { + var fnName = (format == 'id') ? 'DateString' : 'TimeString'; + return culture == ss.neutralCulture ? dt['to' + fnName]() : dt['toLocale' + fnName](); + } + + var dtf = culture.dtf; + var useUTC = false; + + if (format.length == 1) { + switch (format) { + case 'f': format = dtf.ld + ' ' + dtf.st; + case 'F': format = dtf.dt; break; + + case 'd': format = dtf.sd; break; + case 'D': format = dtf.ld; break; + + case 't': format = dtf.st; break; + case 'T': format = dtf.lt; break; + + case 'g': format = dtf.sd + ' ' + dtf.st; break; + case 'G': format = dtf.sd + ' ' + dtf.lt; break; + + case 'R': case 'r': format = dtf.gmt; useUTC = true; break; + case 'u': format = dtf.uni; useUTC = true; break; + case 'U': format = dtf.dt; useUTC = true; break; + + case 's': format = dtf.sort; break; + } + } + + if (format.charAt(0) == '%') { + format = format.substr(1); + } + + var sb = new ss.StringBuilder(); + if (useUTC) { + dt = new Date(dt.getUTCFullYear(), dt.getUTCMonth(), dt.getUTCDate(), + dt.getUTCHours(), dt.getUTCMinutes(), dt.getUTCSeconds(), dt.getUTCMilliseconds()); + } + + _dateFormatRE.lastIndex = 0; + while (true) { + var index = _dateFormatRE.lastIndex; + var match = _dateFormatRE.exec(format); + + sb.append(format.slice(index, match ? match.index : format.length)); + if (!match) { + break; + } + + var fs = match[0]; + var part = fs; + switch (fs) { + case 'dddd': + part = dtf.day[dt.getDay()]; + break; + case 'ddd': + part = dtf.sday[dt.getDay()]; + break; + case 'dd': + part = dt.getDate().toString().padLeft(2, '0'); + break; + case 'd': + part = dt.getDate(); + break; + case 'MMMM': + part = dtf.mon[dt.getMonth()]; + break; + case 'MMM': + part = dtf.smon[dt.getMonth()]; + break; + case 'MM': + part = (dt.getMonth() + 1).toString().padLeft(2, '0'); + break; + case 'M': + part = (dt.getMonth() + 1); + break; + case 'yyyy': + part = dt.getFullYear(); + break; + case 'yy': + part = (dt.getFullYear() % 100).toString().padLeft(2, '0'); + break; + case 'y': + part = (dt.getFullYear() % 100); + break; + case 'h': case 'hh': + part = dt.getHours() % 12; + if (!part) { + part = '12'; + } + else if (fs == 'hh') { + part = part.toString().padLeft(2, '0'); + } + break; + case 'HH': + part = dt.getHours().toString().padLeft(2, '0'); + break; + case 'H': + part = dt.getHours(); + break; + case 'mm': + part = dt.getMinutes().toString().padLeft(2, '0'); + break; + case 'm': + part = dt.getMinutes(); + break; + case 'ss': + part = dt.getSeconds().toString().padLeft(2, '0'); + break; + case 's': + part = dt.getSeconds(); + break; + case 't': case 'tt': + part = (dt.getHours() < 12) ? dtf.am : dtf.pm; + if (fs == 't') { + part = part.charAt(0); + } + break; + case 'fff': + part = dt.getMilliseconds().toString().padLeft(3, '0'); + break; + case 'ff': + part = dt.getMilliseconds().toString().padLeft(3).substr(0, 2); + break; + case 'f': + part = dt.getMilliseconds().toString().padLeft(3).charAt(0); + break; + case 'z': + part = dt.getTimezoneOffset() / 60; + part = ((part >= 0) ? '-' : '+') + Math.floor(Math.abs(part)); + break; + case 'zz': case 'zzz': + part = dt.getTimezoneOffset() / 60; + part = ((part >= 0) ? '-' : '+') + Math.floor(Math.abs(part)).toString().padLeft(2, '0'); + if (fs == 'zzz') { + part += dtf.ts + Math.abs(dt.getTimezoneOffset() % 60).toString().padLeft(2, '0'); + } + break; + default: + if (part.charAt(0) == '\'') { + part = part.substr(1, part.length - 2); + } + break; + } + sb.append(part); + } + + return sb.toString(); +} diff --git a/src/Runtime/Client/Core/Global/Number.js b/src/Runtime/Client/Core/Global/Number.js new file mode 100644 index 000000000..b68263530 --- /dev/null +++ b/src/Runtime/Client/Core/Global/Number.js @@ -0,0 +1,150 @@ +// Number Formatting Functionality + +function _commaFormatNumber(number, groups, decimal, comma) { + var decimalPart = null; + var decimalIndex = number.indexOf(decimal); + if (decimalIndex > 0) { + decimalPart = number.substr(decimalIndex); + number = number.substr(0, decimalIndex); + } + + var negative = number.startsWith('-'); + if (negative) { + number = number.substr(1); + } + + var groupIndex = 0; + var groupSize = groups[groupIndex]; + if (number.length < groupSize) { + return decimalPart ? number + decimalPart : number; + } + + var index = number.length; + var s = ''; + var done = false; + while (!done) { + var length = groupSize; + var startIndex = index - length; + if (startIndex < 0) { + groupSize += startIndex; + length += startIndex; + startIndex = 0; + done = true; + } + if (!length) { + break; + } + + var part = number.substr(startIndex, length); + if (s.length) { + s = part + comma + s; + } + else { + s = part; + } + index -= length; + + if (groupIndex < groups.length - 1) { + groupIndex++; + groupSize = groups[groupIndex]; + } + } + + if (negative) { + s = '-' + s; + } + return decimalPart ? s + decimalPart : s; +} + +ss.formatters.Number = function(number, format, culture) { + var nf = culture.nf; + var s = ''; + var precision = -1; + + if (format.length > 1) { + precision = parseInt(format.substr(1)); + } + + var fs = format.charAt(0); + switch (fs) { + case 'd': case 'D': + s = parseInt(Math.abs(number)).toString(); + if (precision != -1) { + s = s.padLeft(precision, '0'); + } + if (number < 0) { + s = '-' + s; + } + break; + case 'x': case 'X': + s = parseInt(Math.abs(number)).toString(16); + if (fs == 'X') { + s = s.toUpperCase(); + } + if (precision != -1) { + s = s.padLeft(precision, '0'); + } + break; + case 'e': case 'E': + if (precision == -1) { + s = number.toExponential(); + } + else { + s = number.toExponential(precision); + } + if (fs == 'E') { + s = s.toUpperCase(); + } + break; + case 'f': case 'F': + case 'n': case 'N': + if (precision == -1) { + precision = nf.dd; + } + s = number.toFixed(precision).toString(); + if (precision && (nf.ds != '.')) { + var index = s.indexOf('.'); + s = s.substr(0, index) + nf.ds + s.substr(index + 1); + } + if ((fs == 'n') || (fs == 'N')) { + s = _commaFormatNumber(s, nf.gw, nf.ds, nf.gs); + } + break; + case 'c': case 'C': + if (precision == -1) { + precision = nf.curDD; + } + s = Math.abs(number).toFixed(precision).toString(); + if (precision && (nf.curDS != '.')) { + var index = s.indexOf('.'); + s = s.substr(0, index) + nf.curDS + s.substr(index + 1); + } + s = _commaFormatNumber(s, nf.curGW, nf.curDS, nf.curGS); + if (number < 0) { + s = String.format(culture, nf.curNP, s); + } + else { + s = String.format(culture, nf.curPP, s); + } + break; + case 'p': case 'P': + if (precision == -1) { + precision = nf.perDD; + } + s = (Math.abs(number) * 100.0).toFixed(precision).toString(); + if (precision && (nf.perDS != '.')) { + var index = s.indexOf('.'); + s = s.substr(0, index) + nf.perDS + s.substr(index + 1); + } + s = _commaFormatNumber(s, nf.perGW, nf.perDS, nf.perGS); + if (number < 0) { + s = String.format(culture, nf.perNP, s); + } + else { + s = String.format(culture, nf.perPP, s); + } + break; + } + + return s; +} diff --git a/tests/Sharpen/CultureFormat.htm b/tests/Sharpen/CultureFormat.htm new file mode 100644 index 000000000..6d2bf32ee --- /dev/null +++ b/tests/Sharpen/CultureFormat.htm @@ -0,0 +1,66 @@ + + + + Test - Culture-based String Format + + + + + +

    Test Results

    +

    +

    +
      +
      + + + + + + + diff --git a/tests/Sharpen/Index.htm b/tests/Sharpen/Index.htm index 21ea36825..7c03e7776 100644 --- a/tests/Sharpen/Index.htm +++ b/tests/Sharpen/Index.htm @@ -35,6 +35,10 @@

      C# Patterns

      Tests observables and observable collections
      StringBuilder
      Tests string builder functionality
      +
      StringFormat
      +
      Tests string formatting functionality
      +
      CultureFormat
      +
      Tests string formatting functionality with culture
      From e31164023dc31a1133ed65b2a385d57f7b01b609 Mon Sep 17 00:00:00 2001 From: Robert Byrne Date: Wed, 1 Jun 2011 12:52:04 +0100 Subject: [PATCH 009/285] Added support for advanced dependent observables in Knockout, along with IsObservable and UnwrapObservable. --- .../Knockout/DependentObservableOptions.cs | 33 +++++++++++++++++++ src/Libraries/Knockout/Knockout.cs | 30 +++++++++++++++-- src/Libraries/Knockout/Knockout.csproj | 3 ++ 3 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 src/Libraries/Knockout/DependentObservableOptions.cs diff --git a/src/Libraries/Knockout/DependentObservableOptions.cs b/src/Libraries/Knockout/DependentObservableOptions.cs new file mode 100644 index 000000000..5da6c49f6 --- /dev/null +++ b/src/Libraries/Knockout/DependentObservableOptions.cs @@ -0,0 +1,33 @@ +using System; +using System.Runtime.CompilerServices; + +namespace KnockoutApi { + /// + /// Provides advanced options for defining a dependent observable. + /// + /// The type of the observable value. + [Imported] + [IgnoreNamespace] + [ScriptName("Object")] + public class DependentObservableOptions { + /// + /// A function to compute the value. + /// + [ScriptName("read")] + [IntrinsicProperty] + public Func GetValueFunction { get; set; } + + /// + /// The model instance which acts as 'this' in the get value function. + /// + [ScriptName("owner")] + [IntrinsicProperty] + public object Model { get; set; } + + /// + /// If true, evaluation is not performed when the observable is first created, which can be useful if it relies on state which may not be ready. + /// + [IntrinsicProperty] + public bool DeferEvaluation { get; set; } + } +} diff --git a/src/Libraries/Knockout/Knockout.cs b/src/Libraries/Knockout/Knockout.cs index 58445170a..830539166 100644 --- a/src/Libraries/Knockout/Knockout.cs +++ b/src/Libraries/Knockout/Knockout.cs @@ -50,12 +50,21 @@ public static void ApplyBindings(object model, Element rootElement) { /// /// Creates an observable with a value computed from one or more other values. /// - /// The type of the observable value/ + /// The type of the observable value. /// A function to compute the value. public static DependentObservable DependentObservable(Func function) { return null; } - + + /// + /// Creates an observable with a value computed from one or more other values. + /// + /// The type of the observable value. + /// Options for the dependent observable. + public static DependentObservable DependentObservable(DependentObservableOptions options) { + return null; + } + /// /// Creates an observable value. /// @@ -91,5 +100,22 @@ public static ObservableArray ObservableArray() { public static ObservableArray ObservableArray(IEnumerable initialItems) { return null; } + + /// + /// Returns true if the value is an observable, false otherwise. + /// + /// The value to check. + public static bool IsObservable(object value) { + return false; + } + + /// + /// If the provided value is an observable, return its value, otherwise just pass it through. + /// + /// The value to unwrap. + [ScriptAlias("ko.utils.unwrapObservable")] + public static T UnwrapObservable(object value) { + return default(T); + } } } diff --git a/src/Libraries/Knockout/Knockout.csproj b/src/Libraries/Knockout/Knockout.csproj index 7b9918af0..4e2acb47c 100644 --- a/src/Libraries/Knockout/Knockout.csproj +++ b/src/Libraries/Knockout/Knockout.csproj @@ -42,6 +42,9 @@ true + + Code + From 0369e38b89c385f225e100aac223779e0292805d Mon Sep 17 00:00:00 2001 From: Robert Byrne Date: Wed, 1 Jun 2011 13:59:07 +0100 Subject: [PATCH 010/285] Added support for binding handlers to Knockout. --- src/Libraries/Knockout/IBindingHandler.cs | 31 +++++++++++++++++++++++ src/Libraries/Knockout/Knockout.cs | 10 ++++++++ src/Libraries/Knockout/Knockout.csproj | 4 +++ 3 files changed, 45 insertions(+) create mode 100644 src/Libraries/Knockout/IBindingHandler.cs diff --git a/src/Libraries/Knockout/IBindingHandler.cs b/src/Libraries/Knockout/IBindingHandler.cs new file mode 100644 index 000000000..ab6824736 --- /dev/null +++ b/src/Libraries/Knockout/IBindingHandler.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections; +using System.Html; +using System.Runtime.CompilerServices; + +namespace KnockoutApi { + /// + /// Represents a custom binding handler in Knockout. + /// + [Imported] + [IgnoreNamespace] + public interface IBindingHandler { + /// + /// Performs one time initialization for a binding. + /// + /// The element involved in this binding. + /// A function which returns the model property that is involved in this binding. + /// A function which returns all the model properties bound to this element. + /// The view model instance involved in this binding. + void Init(Element element, Func valueAccessor, Func allBindingsAccessor, object viewModel); + + /// + /// Invoked whenever an observable associated with this binding changes. + /// + /// The element involved in this binding. + /// A function which returns the model property that is involved in this binding. + /// A function which returns all the model properties bound to this element. + /// The view model instance involved in this binding. + void Update(Element element, Func valueAccessor, Func allBindingsAccessor, object viewModel); + } +} diff --git a/src/Libraries/Knockout/Knockout.cs b/src/Libraries/Knockout/Knockout.cs index 830539166..ed7c53ee4 100644 --- a/src/Libraries/Knockout/Knockout.cs +++ b/src/Libraries/Knockout/Knockout.cs @@ -32,6 +32,16 @@ public static KnockoutMapping Mapping { } } + /// + /// Provides access to the currently registered binding handlers. + /// + [IntrinsicProperty] + public static Dictionary BindingHandlers { + get { + return null; + } + } + /// /// Sets up bindings using the specified model. /// diff --git a/src/Libraries/Knockout/Knockout.csproj b/src/Libraries/Knockout/Knockout.csproj index 4e2acb47c..689b29c6a 100644 --- a/src/Libraries/Knockout/Knockout.csproj +++ b/src/Libraries/Knockout/Knockout.csproj @@ -45,6 +45,7 @@ Code + @@ -65,5 +66,8 @@ Web + + + \ No newline at end of file From fded92aed24c57dd23299256a5eed6ca09cc0f29 Mon Sep 17 00:00:00 2001 From: Robert Byrne Date: Wed, 1 Jun 2011 16:13:49 +0100 Subject: [PATCH 011/285] Changed BindingHandler to an abstract alias for Object so it can be implemented in client code. --- .../{IBindingHandler.cs => BindingHandler.cs} | 11 +++++++---- src/Libraries/Knockout/Knockout.cs | 2 +- src/Libraries/Knockout/Knockout.csproj | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) rename src/Libraries/Knockout/{IBindingHandler.cs => BindingHandler.cs} (78%) diff --git a/src/Libraries/Knockout/IBindingHandler.cs b/src/Libraries/Knockout/BindingHandler.cs similarity index 78% rename from src/Libraries/Knockout/IBindingHandler.cs rename to src/Libraries/Knockout/BindingHandler.cs index ab6824736..058ff8f3b 100644 --- a/src/Libraries/Knockout/IBindingHandler.cs +++ b/src/Libraries/Knockout/BindingHandler.cs @@ -9,7 +9,8 @@ namespace KnockoutApi { /// [Imported] [IgnoreNamespace] - public interface IBindingHandler { + [ScriptName("Object")] + public abstract class BindingHandler { /// /// Performs one time initialization for a binding. /// @@ -17,7 +18,8 @@ public interface IBindingHandler { /// A function which returns the model property that is involved in this binding. /// A function which returns all the model properties bound to this element. /// The view model instance involved in this binding. - void Init(Element element, Func valueAccessor, Func allBindingsAccessor, object viewModel); + public virtual void Init(Element element, Func valueAccessor, Func allBindingsAccessor, object viewModel) { + } /// /// Invoked whenever an observable associated with this binding changes. @@ -26,6 +28,7 @@ public interface IBindingHandler { /// A function which returns the model property that is involved in this binding. /// A function which returns all the model properties bound to this element. /// The view model instance involved in this binding. - void Update(Element element, Func valueAccessor, Func allBindingsAccessor, object viewModel); + public virtual void Update(Element element, Func valueAccessor, Func allBindingsAccessor, object viewModel) { + } } -} +} \ No newline at end of file diff --git a/src/Libraries/Knockout/Knockout.cs b/src/Libraries/Knockout/Knockout.cs index ed7c53ee4..336f7edc3 100644 --- a/src/Libraries/Knockout/Knockout.cs +++ b/src/Libraries/Knockout/Knockout.cs @@ -36,7 +36,7 @@ public static KnockoutMapping Mapping { /// Provides access to the currently registered binding handlers. /// [IntrinsicProperty] - public static Dictionary BindingHandlers { + public static Dictionary BindingHandlers { get { return null; } diff --git a/src/Libraries/Knockout/Knockout.csproj b/src/Libraries/Knockout/Knockout.csproj index 689b29c6a..e6f4c919e 100644 --- a/src/Libraries/Knockout/Knockout.csproj +++ b/src/Libraries/Knockout/Knockout.csproj @@ -45,7 +45,7 @@ Code - + From b5064c373900cbebe1b93866d2b70182ced50bc3 Mon Sep 17 00:00:00 2001 From: Matt Clay Date: Wed, 1 Jun 2011 13:02:17 -0700 Subject: [PATCH 012/285] Corrected Date formatting to match .NET for all .NET cultures with Gregorian calendars. --- bin/ref/mscorlib.debug.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/ref/mscorlib.debug.js b/bin/ref/mscorlib.debug.js index f155fa7b3..67ab0f81d 100644 --- a/bin/ref/mscorlib.debug.js +++ b/bin/ref/mscorlib.debug.js @@ -810,7 +810,7 @@ Date.prototype._netFormat = function Date$_netFormat(format, useLocale) { if (format.length == 1) { switch (format) { - case 'f': format = dtf.longDatePattern + ' ' + dtf.shortTimePattern; + case 'f': format = dtf.longDatePattern + ' ' + dtf.shortTimePattern; break; case 'F': format = dtf.dateTimePattern; break; case 'd': format = dtf.shortDatePattern; break; @@ -822,8 +822,8 @@ Date.prototype._netFormat = function Date$_netFormat(format, useLocale) { case 'g': format = dtf.shortDatePattern + ' ' + dtf.shortTimePattern; break; case 'G': format = dtf.shortDatePattern + ' ' + dtf.longTimePattern; break; - case 'R': case 'r': format = dtf.gmtDateTimePattern; useUTC = true; break; - case 'u': format = dtf.universalDateTimePattern; useUTC = true; break; + case 'R': case 'r': dtf = ss.CultureInfo.InvariantCulture.dateFormat; format = dtf.gmtDateTimePattern; break; + case 'u': format = dtf.universalDateTimePattern; break; case 'U': format = dtf.dateTimePattern; useUTC = true; break; case 's': format = dtf.sortableDateTimePattern; break; @@ -835,10 +835,10 @@ Date.prototype._netFormat = function Date$_netFormat(format, useLocale) { } if (!Date._formatRE) { - Date._formatRE = /'[^']+'|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g; + Date._formatRE = /'.*?[^\\]'|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g; } - var re = Date._formatRE; + var re = Date._formatRE; var sb = new ss.StringBuilder(); var dt = this; if (useUTC) { @@ -947,7 +947,7 @@ Date.prototype._netFormat = function Date$_netFormat(format, useLocale) { break; default: if (part.charAt(0) == '\'') { - part = part.substr(1, part.length - 2); + part = part.substr(1, part.length - 2).replace(/\\'/g, '\''); } break; } From 7ebeaf5c3c7efe9784b69614277c60c33ba8c002 Mon Sep 17 00:00:00 2001 From: Tal Date: Thu, 2 Jun 2011 19:46:23 +0300 Subject: [PATCH 013/285] - Removed IEnumerable - using indexer instead of Item() method - changing to sealed class --- src/Libraries/Web/Html/ClientRectList.cs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/Libraries/Web/Html/ClientRectList.cs b/src/Libraries/Web/Html/ClientRectList.cs index c243f713c..d34112ce6 100644 --- a/src/Libraries/Web/Html/ClientRectList.cs +++ b/src/Libraries/Web/Html/ClientRectList.cs @@ -18,20 +18,24 @@ namespace System.Html { /// [IgnoreNamespace] [Imported] - [ScriptName("Object")] - public class ClientRectList : IEnumerable { + public sealed class ClientRectList { private ClientRectList() { } [IntrinsicProperty] - public ulong Length { + public int Length { get { return 0; } } - public ClientRect Item(ulong index) { - return null; - } + [IntrinsicProperty] + public ClientRect this[ulong index] + { + get + { + return null; + } + } public IEnumerator GetEnumerator() { return null; From b84d40ee6a624d516d0816ee6e81b8a63f3eea07 Mon Sep 17 00:00:00 2001 From: Robert Byrne Date: Fri, 3 Jun 2011 11:47:11 +0100 Subject: [PATCH 014/285] Mapped Knockout method ApplyBindingsToNode. --- src/Libraries/Knockout/Knockout.cs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/Libraries/Knockout/Knockout.cs b/src/Libraries/Knockout/Knockout.cs index 336f7edc3..55a2523bc 100644 --- a/src/Libraries/Knockout/Knockout.cs +++ b/src/Libraries/Knockout/Knockout.cs @@ -7,6 +7,7 @@ // using System; +using System.Collections; using System.Collections.Generic; using System.Html; using System.Runtime.CompilerServices; @@ -57,6 +58,25 @@ public static void ApplyBindings(object model) { public static void ApplyBindings(object model, Element rootElement) { } + /// + /// Set up bindings on a single node without binding any of its descendents. + /// + /// The node to bind to. + /// An optional dictionary of bindings, pass null to let Knockout gather them from the element. + /// The view model instance. + /// The name of the attribute which has the binding definitions. + public static void ApplyBindingsToNode(Element node, Dictionary bindings, object viewModel, string bindingAttributeName) { + } + + /// + /// Set up bindings on a single node without binding any of its descendents. + /// + /// The node to bind to. + /// An optional dictionary of bindings, pass null to let Knockout gather them from the element. + /// The view model instance. + public static void ApplyBindingsToNode(Element node, Dictionary bindings, object viewModel) { + } + /// /// Creates an observable with a value computed from one or more other values. /// From 8035f605228555ab457cdbb03dc187f2df996a10 Mon Sep 17 00:00:00 2001 From: nikhilk Date: Thu, 9 Jun 2011 00:51:17 -0700 Subject: [PATCH 015/285] Fix jQuery API mappings for parseJSON/XML functionality --- src/Libraries/jQuery/jQuery.Core/jQuery.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Libraries/jQuery/jQuery.Core/jQuery.cs b/src/Libraries/jQuery/jQuery.Core/jQuery.cs index ee8546389..61a1b24b9 100644 --- a/src/Libraries/jQuery/jQuery.Core/jQuery.cs +++ b/src/Libraries/jQuery/jQuery.Core/jQuery.cs @@ -846,7 +846,7 @@ public static string Param(object o) { /// The json string. /// The parsed document. [ScriptName("parseJSON")] - public object ParseJson(string json) { + public static object ParseJson(string json) { return null; } @@ -856,7 +856,7 @@ public object ParseJson(string json) { /// The json string. /// The parsed document. [ScriptName("parseJSON")] - public TData ParseJsonData(string json) { + public static TData ParseJsonData(string json) { return default(TData); } @@ -865,7 +865,8 @@ public TData ParseJsonData(string json) { /// /// The xml markup. /// The parsed document. - public XmlDocument ParseXml(string data) { + [ScriptName("parseXML")] + public static XmlDocument ParseXml(string data) { return null; } From 7e2409370e5e36319c4b2a076612b43d3ad50f15 Mon Sep 17 00:00:00 2001 From: nikhilk Date: Thu, 9 Jun 2011 18:32:03 -0700 Subject: [PATCH 016/285] Fix issue #76 - add missing ctor needed by c# compiler to support decimal constants. --- src/Libraries/CoreLib/Decimal.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Libraries/CoreLib/Decimal.cs b/src/Libraries/CoreLib/Decimal.cs index b207e24d4..9fe904866 100644 --- a/src/Libraries/CoreLib/Decimal.cs +++ b/src/Libraries/CoreLib/Decimal.cs @@ -6,6 +6,8 @@ // Public License. A copy of the license can be found in License.txt. // +using System; +using System.ComponentModel; using System.Runtime.CompilerServices; namespace System { @@ -30,6 +32,10 @@ public Decimal(float f) { public Decimal(long n) { } + [EditorBrowsable(EditorBrowsableState.Never)] + public Decimal(int lo, int mid, int hi, bool isNegative, byte scale) { + } + public string Format(string format) { return null; } From d11a5f8f7ffc295b9a1e549ed602ecd11ca2f538 Mon Sep 17 00:00:00 2001 From: nikhilk Date: Sat, 11 Jun 2011 23:14:18 -0700 Subject: [PATCH 017/285] Enable extending jQueryEvent to support custom event payload scenarios (As discussed on stack overflow - see http://stackoverflow.com/questions/6317942/how-can-i-pass-arguments-to-the-event-handler-when-i-trigger-an-event) When creating a derived jQueryEvent type, make sure it is marked as [Imported, IgnoreNamespace]. --- src/Libraries/jQuery/jQuery.Core/jQuery.cs | 12 ++++++++++++ src/Libraries/jQuery/jQuery.Core/jQueryEvent.cs | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Libraries/jQuery/jQuery.Core/jQuery.cs b/src/Libraries/jQuery/jQuery.Core/jQuery.cs index 61a1b24b9..ce4f30347 100644 --- a/src/Libraries/jQuery/jQuery.Core/jQuery.cs +++ b/src/Libraries/jQuery/jQuery.Core/jQuery.cs @@ -210,6 +210,18 @@ public static jQueryDataHttpRequest AjaxRequest(jQueryAjaxOptions public static void AjaxSetup(jQueryAjaxOptions options) { } + /// + /// Creates an instance of a custom jQueryEvent object that contains custom + /// data members. + /// + /// The name of the event. + /// The type of the event to create. + /// A new jQueryEvent object. + [ScriptName("event")] + public static TEvent CustomEvent(string eventName) where TEvent : jQueryEvent { + return null; + } + /// /// Creates a new instance of a deferred object. /// diff --git a/src/Libraries/jQuery/jQuery.Core/jQueryEvent.cs b/src/Libraries/jQuery/jQuery.Core/jQueryEvent.cs index 5b4c0c968..ba685fc6c 100644 --- a/src/Libraries/jQuery/jQuery.Core/jQueryEvent.cs +++ b/src/Libraries/jQuery/jQuery.Core/jQueryEvent.cs @@ -18,9 +18,9 @@ namespace jQueryApi { /// [Imported] [IgnoreNamespace] - public sealed class jQueryEvent { + public class jQueryEvent { - private jQueryEvent() { + protected jQueryEvent() { } [IntrinsicProperty] From c6edb60a4157e8dbad3b6929c495f993ca813253 Mon Sep 17 00:00:00 2001 From: nikhilk Date: Sun, 12 Jun 2011 15:03:38 -0700 Subject: [PATCH 018/285] Fix code formatting/style issues --- src/Tools/Testing/Properties/AssemblyInfo.cs | 7 +- src/Tools/Testing/WebServer/Connection.cs | 8 +-- .../Testing/WebServer/Content/Messages.cs | 32 ++++----- src/Tools/Testing/WebServer/Host.cs | 7 +- src/Tools/Testing/WebServer/Request.cs | 72 +++++++++---------- src/Tools/Testing/WebServer/Server.cs | 12 ++-- src/Tools/Testing/WebTestPageBuilder.cs | 1 + 7 files changed, 69 insertions(+), 70 deletions(-) diff --git a/src/Tools/Testing/Properties/AssemblyInfo.cs b/src/Tools/Testing/Properties/AssemblyInfo.cs index 47333ca29..a7b9fe8f7 100644 --- a/src/Tools/Testing/Properties/AssemblyInfo.cs +++ b/src/Tools/Testing/Properties/AssemblyInfo.cs @@ -1,8 +1,9 @@ // AssemblyInfo.cs -// Script#/Testing +// Script#/Tools/Testing // Copyright (c) Nikhil Kothari, 2010. All Rights Reserved. -// -// Assembly Metadata +// Copyright (c) Microsoft Corporation. +// This source code is subject to terms and conditions of the Microsoft +// Public License. A copy of the license can be found in License.txt. // using System.Reflection; diff --git a/src/Tools/Testing/WebServer/Connection.cs b/src/Tools/Testing/WebServer/Connection.cs index 4ac90386d..a2a952770 100644 --- a/src/Tools/Testing/WebServer/Connection.cs +++ b/src/Tools/Testing/WebServer/Connection.cs @@ -20,11 +20,11 @@ namespace ScriptSharp.Testing.WebServer { internal sealed class Connection : MarshalByRefObject { + private static string _localServerIP; + private Server _server; private Socket _socket; - private static string _localServerIP; - internal Connection(Server server, Socket socket) { _server = server; _socket = socket; @@ -125,12 +125,12 @@ private static string MakeResponseHeaders(int statusCode, string moreHeaders, in return sb.ToString(); } - private static string MakeContentTypeHeader(String fileName) { + private static string MakeContentTypeHeader(string fileName) { Debug.Assert(File.Exists(fileName)); string contentType = null; FileInfo info = new FileInfo(fileName); - String extension = info.Extension.ToLowerInvariant(); + string extension = info.Extension.ToLowerInvariant(); switch (extension) { case ".css": diff --git a/src/Tools/Testing/WebServer/Content/Messages.cs b/src/Tools/Testing/WebServer/Content/Messages.cs index d6cf74ff3..990bf28aa 100644 --- a/src/Tools/Testing/WebServer/Content/Messages.cs +++ b/src/Tools/Testing/WebServer/Content/Messages.cs @@ -15,9 +15,9 @@ namespace ScriptSharp.Testing.WebServer.Content { internal static class Messages { - public static string VersionString = typeof(Messages).Assembly.GetName().Version.ToString(); + public static readonly string VersionString = typeof(Messages).Assembly.GetName().Version.ToString(); - private const string _httpErrorFormat = + private const string HttpErrorFormat = @" {0} @@ -43,7 +43,7 @@ internal static class Messages { "; - private const string _dirListingFormat = + private const string DirListingFormat = @" Directory Listing -- {0} @@ -66,7 +66,7 @@ internal static class Messages {
       ";
       
      -        private static string _dirListingTail =
      +        private static string DirListingTail =
       @"  

      Version Information: ASP.NET Web Server {0} @@ -74,53 +74,51 @@ internal static class Messages { "; - private const string _dirListingParentFormat = + private const string DirListingParentFormat = @"[To Parent Directory] "; - private const string _dirListingFileFormat = + private const string DirListingFileFormat = @"{0,38:dddd, MMMM dd, yyyy hh:mm tt} {1,12:n0} {3} "; - private const string _dirListingDirFormat = + private const string DirListingDirFormat = @"{0,38:dddd, MMMM dd, yyyy hh:mm tt} <dir> {2} "; - public static string FormatErrorMessageBody(int statusCode, String appName) { + public static string FormatErrorMessageBody(int statusCode, string appName) { string desc = HttpWorkerRequest.GetStatusDescription(statusCode); - return String.Format(_httpErrorFormat, desc, appName, statusCode, desc, VersionString); + return String.Format(HttpErrorFormat, desc, appName, statusCode, desc, VersionString); } - public static string FormatDirectoryListing(String dirPath, String parentPath, FileSystemInfo[] elements) { + public static string FormatDirectoryListing(string dirPath, string parentPath, FileSystemInfo[] elements) { StringBuilder sb = new StringBuilder(); - sb.AppendFormat(_dirListingFormat, dirPath); + sb.AppendFormat(DirListingFormat, dirPath); if (parentPath != null) { if (!parentPath.EndsWith("/")) { parentPath += "/"; } - sb.Append(String.Format(_dirListingParentFormat, parentPath)); + sb.Append(String.Format(DirListingParentFormat, parentPath)); } if (elements != null) { for (int i = 0; i < elements.Length; i++) { if (elements[i] is FileInfo) { FileInfo fi = (FileInfo)elements[i]; - sb.AppendFormat(_dirListingFileFormat, - fi.LastWriteTime, fi.Length, fi.Name, fi.Name); + sb.AppendFormat(DirListingFileFormat, fi.LastWriteTime, fi.Length, fi.Name, fi.Name); } else if (elements[i] is DirectoryInfo) { DirectoryInfo di = (DirectoryInfo)elements[i]; - sb.AppendFormat(_dirListingDirFormat, - di.LastWriteTime, di.Name, di.Name); + sb.AppendFormat(DirListingDirFormat, di.LastWriteTime, di.Name, di.Name); } } } - sb.AppendFormat(_dirListingTail, VersionString); + sb.AppendFormat(DirListingTail, VersionString); return sb.ToString(); } } diff --git a/src/Tools/Testing/WebServer/Host.cs b/src/Tools/Testing/WebServer/Host.cs index d6d54d703..09f5ba860 100644 --- a/src/Tools/Testing/WebServer/Host.cs +++ b/src/Tools/Testing/WebServer/Host.cs @@ -62,9 +62,10 @@ public void ProcessRequest(Connection conn) { } private void WaitForPendingCallsToFinish() { - for (; ; ) { - if (_pendingCallsCount <= 0) + for (;;) { + if (_pendingCallsCount <= 0) { break; + } Thread.Sleep(250); } @@ -150,7 +151,7 @@ public bool IsVirtualPathInApp(string path) { return false; } - public bool IsVirtualPathAppPath(String path) { + public bool IsVirtualPathAppPath(string path) { if (path == null) { return false; } diff --git a/src/Tools/Testing/WebServer/Request.cs b/src/Tools/Testing/WebServer/Request.cs index 58c3df796..ec3f515c5 100644 --- a/src/Tools/Testing/WebServer/Request.cs +++ b/src/Tools/Testing/WebServer/Request.cs @@ -19,13 +19,16 @@ using ScriptSharp.Testing.WebServer.Content; namespace ScriptSharp.Testing.WebServer { - + internal sealed class Request : SimpleWorkerRequest { - private static char[] badPathChars = new char[] { '%', '>', '<', ':', '\\' }; - private static string[] defaultFileNames = new string[] { "default.aspx", "default.htm", "default.html" }; + private static readonly char[] BadPathChars = new char[] { '%', '>', '<', ':', '\\' }; + private static readonly string[] DefaultFileNames = new string[] { "default.aspx", "default.htm", "default.html" }; + private static readonly char[] IntToHex = new char[16] { + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' + }; - private static string[] restrictedDirs = new string[] { + private static readonly string[] restrictedDirs = new string[] { "/bin", "/app_browsers", "/app_code", @@ -35,6 +38,7 @@ internal sealed class Request : SimpleWorkerRequest { "/app_webreferences" }; private const int MaxChunkLength = 64 * 1024; + private const int MaxHeaderBytes = 32 * 1024; private Server _server; private Host _host; @@ -44,7 +48,6 @@ internal sealed class Request : SimpleWorkerRequest { private IStackWalk _connectionPermission = new PermissionSet(PermissionState.Unrestricted); // raw request data - private const int maxHeaderBytes = 32*1024; private byte[] _headerBytes; private int _startHeadersOffset; private int _endHeadersOffset; @@ -108,7 +111,7 @@ public void Process() { // special case for /Log.axd if ((_verb == "POST") && (_filePath == "/Log.axd")) { - bool success = (String.CompareOrdinal(_pathInfo, "/Success") == 0); + bool success = String.CompareOrdinal(_pathInfo, "/Success") == 0; string log = Encoding.UTF8.GetString(_preloadedContent); _server.RaiseLogEvent(success, log); @@ -209,16 +212,18 @@ private bool TryParseRequest() { private bool TryReadAllHeaders() { // read the first packet (up to 32K) - byte[] headerBytes = _connection.ReadRequestBytes(maxHeaderBytes); + byte[] headerBytes = _connection.ReadRequestBytes(MaxHeaderBytes); - if (headerBytes == null || headerBytes.Length == 0) + if (headerBytes == null || headerBytes.Length == 0) { return false; + } if (_headerBytes != null) { // previous partial read int len = headerBytes.Length + _headerBytes.Length; - if (len > maxHeaderBytes) + if (len > MaxHeaderBytes) { return false; + } byte[] bytes = new byte[len]; Buffer.BlockCopy(_headerBytes, 0, bytes, 0, _headerBytes.Length); @@ -284,7 +289,7 @@ private void ParseRequestLine() { ByteString urlBytes = elems[1]; _url = urlBytes.GetString(); - + if (elems.Length == 3) { _prot = elems[2].GetString(); } @@ -296,7 +301,7 @@ private void ParseRequestLine() { int iqs = urlBytes.IndexOf('?'); if (iqs > 0) { - _queryStringBytes = urlBytes.Substring(iqs+1).GetBytes(); + _queryStringBytes = urlBytes.Substring(iqs + 1).GetBytes(); } else { _queryStringBytes = new byte[0]; @@ -305,7 +310,7 @@ private void ParseRequestLine() { iqs = _url.IndexOf('?'); if (iqs > 0) { _path = _url.Substring(0, iqs); - _queryString = _url.Substring(iqs+1); + _queryString = _url.Substring(iqs + 1); } else { _path = _url; @@ -324,7 +329,7 @@ private void ParseRequestLine() { else { _url = _path; } - } + } // path info @@ -345,7 +350,7 @@ private void ParseRequestLine() { } private bool IsBadPath() { - if (_path.IndexOfAny(badPathChars) >= 0) { + if (_path.IndexOfAny(BadPathChars) >= 0) { return true; } @@ -402,7 +407,7 @@ private void ParseHeaders() { // remember all raw headers as one string if (_headerByteStrings.Count > 1) { - _allRawHeaders = Encoding.UTF8.GetString(_headerBytes, _startHeadersOffset, _endHeadersOffset-_startHeadersOffset); + _allRawHeaders = Encoding.UTF8.GetString(_headerBytes, _startHeadersOffset, _endHeadersOffset - _startHeadersOffset); } else { _allRawHeaders = String.Empty; @@ -438,7 +443,7 @@ private void ParsePostedContent() { private void SkipAllPostedContent() { if (_contentLength > 0 && _preloadedContentLength < _contentLength) { - int bytesRemaining = (_contentLength - _preloadedContentLength); + int bytesRemaining = _contentLength - _preloadedContentLength; while (bytesRemaining > 0) { byte[] bytes = _connection.ReadRequestBytes(bytesRemaining); @@ -451,13 +456,13 @@ private void SkipAllPostedContent() { } private bool IsRequestForRestrictedDirectory() { - String p = CultureInfo.InvariantCulture.TextInfo.ToLower(_path); + string p = CultureInfo.InvariantCulture.TextInfo.ToLower(_path); if (_host.VirtualPath != "/") { p = p.Substring(_host.VirtualPath.Length); } - foreach (String dir in restrictedDirs) { + foreach (string dir in restrictedDirs) { if (p.StartsWith(dir, StringComparison.Ordinal)) { if (p.Length == dir.Length || p[dir.Length] == '/') { return true; @@ -473,7 +478,7 @@ private bool ProcessDirectoryListingRequest() { return false; } - String dirPathTranslated = _pathTranslated; + string dirPathTranslated = _pathTranslated; if (_pathInfo.Length > 0) { // directory path can never have pathInfo @@ -497,7 +502,7 @@ private bool ProcessDirectoryListingRequest() { } // check for the default file - foreach (string filename in defaultFileNames) { + foreach (string filename in DefaultFileNames) { string defaultFilePath = dirPathTranslated + "\\" + filename; if (File.Exists(defaultFilePath)) { @@ -522,9 +527,9 @@ private bool ProcessDirectoryListingRequest() { string parentPath = null; if (_path.Length > 1) { - int i = _path.LastIndexOf('/', _path.Length-2); + int i = _path.LastIndexOf('/', _path.Length - 2); - parentPath = (i > 0) ?_path.Substring(0, i) : "/"; + parentPath = (i > 0) ? _path.Substring(0, i) : "/"; if (!_host.IsVirtualPathInApp(parentPath)) { parentPath = null; } @@ -536,10 +541,6 @@ private bool ProcessDirectoryListingRequest() { return true; } - private static char[] IntToHex = new char[16] { - '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' - }; - private static string UrlEncodeRedirect(string path) { // this method mimics the logic in HttpResponse.Redirect (which relies on internal methods) @@ -556,7 +557,7 @@ private static string UrlEncodeRedirect(string path) { // encode all non-ascii characters using UTF-8 %XX if (countNonAscii > 0) { // expand not 'safe' characters into %XX, spaces to +s - byte[] expandedBytes = new byte[count + countNonAscii * 2]; + byte[] expandedBytes = new byte[count + (countNonAscii * 2)]; int pos = 0; for (int i = 0; i < count; i++) { byte b = bytes[i]; @@ -589,9 +590,6 @@ private void PrepareResponse() { _responseBodyBytes = new ArrayList(); } - /////////////////////////////////////////////////////////////////////////////////////////////// - // Implementation of HttpWorkerRequest - public override string GetUriPath() { return _path; } @@ -667,10 +665,10 @@ public override byte[] GetPreloadedEntityBody() { } public override bool IsEntireEntityBodyIsPreloaded() { - return (_contentLength == _preloadedContentLength); + return _contentLength == _preloadedContentLength; } - public override int ReadEntityBody(byte[] buffer, int size) { + public override int ReadEntityBody(byte[] buffer, int size) { int bytesRead = 0; _connectionPermission.Assert(); @@ -684,7 +682,7 @@ public override int ReadEntityBody(byte[] buffer, int size) { return bytesRead; } - public override string GetKnownRequestHeader(int index) { + public override string GetKnownRequestHeader(int index) { return _knownRequestHeaders[index]; } @@ -757,7 +755,7 @@ public override string MapPath(string path) { mappedPath = mappedPath.Replace('/', '\\'); if (mappedPath.EndsWith("\\", StringComparison.Ordinal) && !mappedPath.EndsWith(":\\", StringComparison.Ordinal)) { - mappedPath = mappedPath.Substring(0, mappedPath.Length-1); + mappedPath = mappedPath.Substring(0, mappedPath.Length - 1); } return mappedPath; @@ -879,7 +877,7 @@ public override void SendResponseFromFile(IntPtr handle, long offset, long lengt } } - private void SendResponseFromFileStream(FileStream f, long offset, long length) { + private void SendResponseFromFileStream(FileStream f, long offset, long length) { long fileSize = f.Length; if (length == -1) { @@ -1032,11 +1030,11 @@ public byte this[int index] { } } - public String GetString() { + public string GetString() { return GetString(Encoding.UTF8); } - public String GetString(Encoding enc) { + public string GetString(Encoding enc) { if (IsEmpty) { return String.Empty; } diff --git a/src/Tools/Testing/WebServer/Server.cs b/src/Tools/Testing/WebServer/Server.cs index daf6d6071..b5b65058b 100644 --- a/src/Tools/Testing/WebServer/Server.cs +++ b/src/Tools/Testing/WebServer/Server.cs @@ -25,8 +25,8 @@ internal sealed class Server : MarshalByRefObject { private Dictionary _registeredContent; - private WaitCallback _onStart; - private WaitCallback _onSocketAccept; + private WaitCallback _startCallback; + private WaitCallback _socketAcceptCallback; private bool _shutdownInProgress; @@ -41,8 +41,8 @@ public Server(int port, string virtualPath, string physicalPath) { _physicalPath = physicalPath.EndsWith("\\", StringComparison.Ordinal) ? physicalPath : physicalPath + "\\"; _registeredContent = new Dictionary(); - _onSocketAccept = new WaitCallback(OnSocketAccept); - _onStart = new WaitCallback(OnStart); + _socketAcceptCallback = new WaitCallback(OnSocketAccept); + _startCallback = new WaitCallback(OnStart); _appManager = ApplicationManager.GetApplicationManager(); } @@ -115,7 +115,7 @@ public void Start() { _socket.Listen((int)SocketOptionName.MaxConnections); - ThreadPool.QueueUserWorkItem(_onStart); + ThreadPool.QueueUserWorkItem(_startCallback); } public void Stop() { @@ -181,7 +181,7 @@ private void OnStart(object unused) { while (!_shutdownInProgress) { try { Socket socket = _socket.Accept(); - ThreadPool.QueueUserWorkItem(_onSocketAccept, socket); + ThreadPool.QueueUserWorkItem(_socketAcceptCallback, socket); } catch { Thread.Sleep(100); diff --git a/src/Tools/Testing/WebTestPageBuilder.cs b/src/Tools/Testing/WebTestPageBuilder.cs index ac342c73e..d9d7bff39 100644 --- a/src/Tools/Testing/WebTestPageBuilder.cs +++ b/src/Tools/Testing/WebTestPageBuilder.cs @@ -37,6 +37,7 @@ public sealed class WebTestPageBuilder { "; + private const string ScriptFormat = @" "; From 679da7d569fce35f594ce7c529e31f57a2309049 Mon Sep 17 00:00:00 2001 From: nikhilk Date: Sun, 12 Jun 2011 15:03:59 -0700 Subject: [PATCH 019/285] Fix xml doc-comment issues --- src/Libraries/Knockout/Knockout.cs | 7 +++++-- src/Libraries/Knockout/Observable.cs | 1 + src/Libraries/Knockout/ObservableArray.cs | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Libraries/Knockout/Knockout.cs b/src/Libraries/Knockout/Knockout.cs index 58445170a..9083623da 100644 --- a/src/Libraries/Knockout/Knockout.cs +++ b/src/Libraries/Knockout/Knockout.cs @@ -50,8 +50,9 @@ public static void ApplyBindings(object model, Element rootElement) { /// /// Creates an observable with a value computed from one or more other values. /// - /// The type of the observable value/ /// A function to compute the value. + /// A new dependent observable instance. + /// The type of the observable value/ public static DependentObservable DependentObservable(Func function) { return null; } @@ -78,6 +79,7 @@ public static Observable Observable(T initialValue) { /// /// Creates an empty observable array. /// + /// A new observable array. /// The type of items in the array. public static ObservableArray ObservableArray() { return null; @@ -86,8 +88,9 @@ public static ObservableArray ObservableArray() { /// /// Creates an observable array with some initial items. /// - /// The type of items in the array. /// A sequence of initial items. + /// A new observable array. + /// The type of items in the array. public static ObservableArray ObservableArray(IEnumerable initialItems) { return null; } diff --git a/src/Libraries/Knockout/Observable.cs b/src/Libraries/Knockout/Observable.cs index fa41a3c48..6d35cda94 100644 --- a/src/Libraries/Knockout/Observable.cs +++ b/src/Libraries/Knockout/Observable.cs @@ -34,6 +34,7 @@ public T GetValue() { /// /// Sets the value within the observable object. /// + /// The new value. [ScriptName("")] public void SetValue(T value) { } diff --git a/src/Libraries/Knockout/ObservableArray.cs b/src/Libraries/Knockout/ObservableArray.cs index 815106a68..96ee336ee 100644 --- a/src/Libraries/Knockout/ObservableArray.cs +++ b/src/Libraries/Knockout/ObservableArray.cs @@ -45,6 +45,10 @@ public void Destroy(Func predicate) { public void DestroyAll(params T[] values) { } + /// + /// Gets the underlying items within the observable array. + /// + /// The collection of items. [ScriptName("")] public IReadonlyCollection GetItems() { return null; From a78817d06b07669a84b643b3c12b682033c3de49 Mon Sep 17 00:00:00 2001 From: nikhilk Date: Sun, 12 Jun 2011 15:10:58 -0700 Subject: [PATCH 020/285] Fix code formatting/style and metadata definitions --- src/Libraries/Web/Html/ClientRect.cs | 19 +++++--------- src/Libraries/Web/Html/ClientRectList.cs | 33 +++++++----------------- src/Libraries/Web/Html/Element.cs | 8 +++--- 3 files changed, 21 insertions(+), 39 deletions(-) diff --git a/src/Libraries/Web/Html/ClientRect.cs b/src/Libraries/Web/Html/ClientRect.cs index f2d89ff7f..564992e0c 100644 --- a/src/Libraries/Web/Html/ClientRect.cs +++ b/src/Libraries/Web/Html/ClientRect.cs @@ -1,4 +1,4 @@ -// TextRectangle.cs +// ClientRect.cs // using System; @@ -6,42 +6,37 @@ using System.Runtime.CompilerServices; namespace System.Html { - /// - /// - /// - /// - /// see http://www.w3.org/TR/cssom-view/#clientrect - /// + [IgnoreNamespace] [Imported] - [ScriptName("Object")] public sealed class ClientRect { + private ClientRect() { } [IntrinsicProperty] - public float Top { + public double Bottom { get { return 0; } } [IntrinsicProperty] - public float Right { + public double Left { get { return 0; } } [IntrinsicProperty] - public float Bottom { + public double Right { get { return 0; } } [IntrinsicProperty] - public float Left { + public double Top { get { return 0; } diff --git a/src/Libraries/Web/Html/ClientRectList.cs b/src/Libraries/Web/Html/ClientRectList.cs index d34112ce6..39259aee0 100644 --- a/src/Libraries/Web/Html/ClientRectList.cs +++ b/src/Libraries/Web/Html/ClientRectList.cs @@ -6,39 +6,26 @@ using System.Runtime.CompilerServices; namespace System.Html { - /// - /// - /// - /// - /// see http://www.w3.org/TR/cssom-view/#clientrectlist - /// interface ClientRectList { - /// readonly attribute unsigned long length; - /// getter ClientRect item(unsigned long index); - /// }; - /// + [IgnoreNamespace] [Imported] public sealed class ClientRectList { - private ClientRectList() { + private ClientRectList() { } [IntrinsicProperty] public int Length { - get { return 0; } + get { + return 0; + } } - [IntrinsicProperty] - public ClientRect this[ulong index] - { - get - { - return null; - } - } - - public IEnumerator GetEnumerator() { - return null; + [IntrinsicProperty] + public ClientRect this[int index] { + get { + return null; + } } } } diff --git a/src/Libraries/Web/Html/Element.cs b/src/Libraries/Web/Html/Element.cs index 11dbb60a2..1f4716179 100644 --- a/src/Libraries/Web/Html/Element.cs +++ b/src/Libraries/Web/Html/Element.cs @@ -401,6 +401,10 @@ public ElementAttribute GetAttributeNode(ElementAttributeName name) { return null; } + public ClientRectList GetClientRects() { + return null; + } + public ElementCollection GetElementsByClassName(string className) { return null; } @@ -485,9 +489,5 @@ public void SetAttribute(ElementAttributeName name, object value) { public ElementAttribute SetAttributeNode(ElementAttribute attribute) { return null; } - - public ClientRectList GetClientRects() { - return null; - } } } From 8f35d2d0fb2cfc69290c2e90ef3ca4fedecf73ce Mon Sep 17 00:00:00 2001 From: nikhilk Date: Sun, 12 Jun 2011 15:18:58 -0700 Subject: [PATCH 021/285] Fix code formatting/style for consistency --- src/Libraries/Web/Html/ClientRect.cs | 5 +++++ src/Libraries/Web/Html/ClientRectList.cs | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/Libraries/Web/Html/ClientRect.cs b/src/Libraries/Web/Html/ClientRect.cs index 564992e0c..f04f96b03 100644 --- a/src/Libraries/Web/Html/ClientRect.cs +++ b/src/Libraries/Web/Html/ClientRect.cs @@ -1,4 +1,9 @@ // ClientRect.cs +// Script#/Libraries/Web +// Copyright (c) Nikhil Kothari. +// Copyright (c) Microsoft Corporation. +// This source code is subject to terms and conditions of the Microsoft +// Public License. A copy of the license can be found in License.txt. // using System; diff --git a/src/Libraries/Web/Html/ClientRectList.cs b/src/Libraries/Web/Html/ClientRectList.cs index 39259aee0..4d8fb8ae0 100644 --- a/src/Libraries/Web/Html/ClientRectList.cs +++ b/src/Libraries/Web/Html/ClientRectList.cs @@ -1,4 +1,9 @@ // ClientRectList.cs +// Script#/Libraries/Web +// Copyright (c) Nikhil Kothari. +// Copyright (c) Microsoft Corporation. +// This source code is subject to terms and conditions of the Microsoft +// Public License. A copy of the license can be found in License.txt. // using System; From 95aee9cec96f79e599c178fac7782b36a2b258c2 Mon Sep 17 00:00:00 2001 From: nikhilk Date: Mon, 13 Jun 2011 23:26:16 -0700 Subject: [PATCH 022/285] Fix #74 - fix date formatting in new Sharpen.Global.js. --- src/Runtime/Client/Core/Global/Date.js | 21 ++++++++++----------- tests/Sharpen/CultureFormat.htm | 15 ++++++++++++--- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/Runtime/Client/Core/Global/Date.js b/src/Runtime/Client/Core/Global/Date.js index a638e17a8..b11deb189 100644 --- a/src/Runtime/Client/Core/Global/Date.js +++ b/src/Runtime/Client/Core/Global/Date.js @@ -1,6 +1,6 @@ // Date Formatting Functionality -var _dateFormatRE = /'[^']+'|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g; +var _dateFormatRE = /'.*?[^\\]'|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g; ss.formatters.Date = function (dt, format, culture) { if (format == 'iso') { @@ -12,11 +12,10 @@ ss.formatters.Date = function (dt, format, culture) { } var dtf = culture.dtf; - var useUTC = false; if (format.length == 1) { switch (format) { - case 'f': format = dtf.ld + ' ' + dtf.st; + case 'f': format = dtf.ld + ' ' + dtf.st; break; case 'F': format = dtf.dt; break; case 'd': format = dtf.sd; break; @@ -28,9 +27,13 @@ ss.formatters.Date = function (dt, format, culture) { case 'g': format = dtf.sd + ' ' + dtf.st; break; case 'G': format = dtf.sd + ' ' + dtf.lt; break; - case 'R': case 'r': format = dtf.gmt; useUTC = true; break; - case 'u': format = dtf.uni; useUTC = true; break; - case 'U': format = dtf.dt; useUTC = true; break; + case 'R': case 'r': format = dtf.gmt; break; + case 'u': format = dtf.uni; break; + case 'U': + format = dtf.dt; + dt = new Date(dt.getUTCFullYear(), dt.getUTCMonth(), dt.getUTCDate(), + dt.getUTCHours(), dt.getUTCMinutes(), dt.getUTCSeconds(), dt.getUTCMilliseconds()); + break; case 's': format = dtf.sort; break; } @@ -41,10 +44,6 @@ ss.formatters.Date = function (dt, format, culture) { } var sb = new ss.StringBuilder(); - if (useUTC) { - dt = new Date(dt.getUTCFullYear(), dt.getUTCMonth(), dt.getUTCDate(), - dt.getUTCHours(), dt.getUTCMinutes(), dt.getUTCSeconds(), dt.getUTCMilliseconds()); - } _dateFormatRE.lastIndex = 0; while (true) { @@ -147,7 +146,7 @@ ss.formatters.Date = function (dt, format, culture) { break; default: if (part.charAt(0) == '\'') { - part = part.substr(1, part.length - 2); + part = part.substr(1, part.length - 2).replace(/\\'/g, '\''); } break; } diff --git a/tests/Sharpen/CultureFormat.htm b/tests/Sharpen/CultureFormat.htm index 6d2bf32ee..5b8b8ecee 100644 --- a/tests/Sharpen/CultureFormat.htm +++ b/tests/Sharpen/CultureFormat.htm @@ -56,9 +56,18 @@

      QUnit.equal(s, 'Amount: $123.500'); }); - test('formatDateGMT', function() { - var s = String.format(ss.neutralCulture, 'New Year: {0:r}', new Date(2011, 0, 1)); - QUnit.equal(s, 'New Year: Sat, 01 Jan 2011 08:00:00 GMT'); + test('formatDate', function() { + var s = String.format(ss.neutralCulture, 'New Year in GMT: {0:r}', new Date(2011, 0, 1)); + QUnit.equal(s, 'New Year in GMT: Sat, 01 Jan 2011 00:00:00 GMT'); + + var s2 = String.format(ss.neutralCulture, 'New Year in universal: {0:u}', new Date(2011, 0, 1)); + QUnit.equal(s2, 'New Year in universal: 2011-01-01 00:00:00Z'); + + var s3 = String.format(ss.neutralCulture, 'New Year in UTC: {0:U}', new Date(2011, 0, 1)); + QUnit.equal(s3, 'New Year in UTC: Saturday, January 01, 2011 8:00:00 AM'); + + var s4 = String.format(ss.neutralCulture, 'New Year as sortable: {0:s}', new Date(2011, 0, 1)); + QUnit.equal(s4, 'New Year as sortable: 2011-01-01T00:00:00'); }); From 9b8c9e75ca584754790c63f7bbde0046ced702b5 Mon Sep 17 00:00:00 2001 From: nikhilk Date: Mon, 13 Jun 2011 23:30:26 -0700 Subject: [PATCH 023/285] Fix #74 - apply date formatting fixes to mscorlib.js --- bin/ref/mscorlib.debug.js | 25 ++++++++++++------------- bin/ref/mscorlib.js | 2 +- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/bin/ref/mscorlib.debug.js b/bin/ref/mscorlib.debug.js index f155fa7b3..a0da2d98f 100644 --- a/bin/ref/mscorlib.debug.js +++ b/bin/ref/mscorlib.debug.js @@ -805,12 +805,12 @@ Date.prototype.localeFormat = function Date$localeFormat(format) { } Date.prototype._netFormat = function Date$_netFormat(format, useLocale) { + var dt = this; var dtf = useLocale ? ss.CultureInfo.CurrentCulture.dateFormat : ss.CultureInfo.InvariantCulture.dateFormat; - var useUTC = false; if (format.length == 1) { switch (format) { - case 'f': format = dtf.longDatePattern + ' ' + dtf.shortTimePattern; + case 'f': format = dtf.longDatePattern + ' ' + dtf.shortTimePattern; break; case 'F': format = dtf.dateTimePattern; break; case 'd': format = dtf.shortDatePattern; break; @@ -822,9 +822,13 @@ Date.prototype._netFormat = function Date$_netFormat(format, useLocale) { case 'g': format = dtf.shortDatePattern + ' ' + dtf.shortTimePattern; break; case 'G': format = dtf.shortDatePattern + ' ' + dtf.longTimePattern; break; - case 'R': case 'r': format = dtf.gmtDateTimePattern; useUTC = true; break; - case 'u': format = dtf.universalDateTimePattern; useUTC = true; break; - case 'U': format = dtf.dateTimePattern; useUTC = true; break; + case 'R': case 'r': format = dtf.gmtDateTimePattern; break; + case 'u': format = dtf.universalDateTimePattern; break; + case 'U': + format = dtf.dateTimePattern; + dt = new Date(dt.getUTCFullYear(), dt.getUTCMonth(), dt.getUTCDate(), + dt.getUTCHours(), dt.getUTCMinutes(), dt.getUTCSeconds(), dt.getUTCMilliseconds()); + break; case 's': format = dtf.sortableDateTimePattern; break; } @@ -835,16 +839,11 @@ Date.prototype._netFormat = function Date$_netFormat(format, useLocale) { } if (!Date._formatRE) { - Date._formatRE = /'[^']+'|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g; + Date._formatRE = /'.*?[^\\]'|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g; } - var re = Date._formatRE; + var re = Date._formatRE; var sb = new ss.StringBuilder(); - var dt = this; - if (useUTC) { - dt = new Date(dt.getUTCFullYear(), dt.getUTCMonth(), dt.getUTCDate(), - dt.getUTCHours(), dt.getUTCMinutes(), dt.getUTCSeconds(), dt.getUTCMilliseconds()); - } re.lastIndex = 0; while (true) { @@ -947,7 +946,7 @@ Date.prototype._netFormat = function Date$_netFormat(format, useLocale) { break; default: if (part.charAt(0) == '\'') { - part = part.substr(1, part.length - 2); + part = part.substr(1, part.length - 2).replace(/\\'/g, '\''); } break; } diff --git a/bin/ref/mscorlib.js b/bin/ref/mscorlib.js index 7cea5d79f..bd99bf99c 100644 --- a/bin/ref/mscorlib.js +++ b/bin/ref/mscorlib.js @@ -1 +1 @@ -(function(){var e={version:"0.7.2.1",isUndefined:function(a){return a===undefined},isNull:function(a){return a===null},isNullOrUndefined:function(a){return a===null||a===undefined},isValue:function(a){return a!==null&&a!==undefined}},g=false,a=[];function d(b){a?a.push(b):setTimeout(b,0)}function b(){if(a){var c=a;a=null;for(var b=0,d=c.length;b=0||a.indexOf("e")>=0||a.endsWith("f")||a.endsWith("F")?parseFloat(a):parseInt(a,10)};Number.prototype.format=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toString():this._netFormat(a,false)};Number.prototype.localeFormat=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toLocaleString():this._netFormat(a,true)};Number._commaFormat=function(a,i,n,o){var c=null,h=a.indexOf(n);if(h>0){c=a.substr(h);a=a.substr(0,h)}var j=a.startsWith("-");if(j)a=a.substr(1);var f=0,g=i[f];if(a.length1)c=parseInt(f.substr(1));var e=f.charAt(0);switch(e){case"d":case"D":a=parseInt(Math.abs(this)).toString();if(c!=-1)a=a.padLeft(c,"0");if(this<0)a="-"+a;break;case"x":case"X":a=parseInt(Math.abs(this)).toString(16);if(e=="X")a=a.toUpperCase();if(c!=-1)a=a.padLeft(c,"0");break;case"e":case"E":if(c==-1)a=this.toExponential();else a=this.toExponential(c);if(e=="E")a=a.toUpperCase();break;case"f":case"F":case"n":case"N":if(c==-1)c=b.numberDecimalDigits;a=this.toFixed(c).toString();if(c&&b.numberDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.numberDecimalSeparator+a.substr(d+1)}if(e=="n"||e=="N")a=Number._commaFormat(a,b.numberGroupSizes,b.numberDecimalSeparator,b.numberGroupSeparator);break;case"c":case"C":if(c==-1)c=b.currencyDecimalDigits;a=Math.abs(this).toFixed(c).toString();if(c&&b.currencyDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.currencyDecimalSeparator+a.substr(d+1)}a=Number._commaFormat(a,b.currencyGroupSizes,b.currencyDecimalSeparator,b.currencyGroupSeparator);if(this<0)a=String.format(b.currencyNegativePattern,a);else a=String.format(b.currencyPositivePattern,a);break;case"p":case"P":if(c==-1)c=b.percentDecimalDigits;a=(Math.abs(this)*100).toFixed(c).toString();if(c&&b.percentDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.percentDecimalSeparator+a.substr(d+1)}a=Number._commaFormat(a,b.percentGroupSizes,b.percentDecimalSeparator,b.percentGroupSeparator);if(this<0)a=String.format(b.percentNegativePattern,a);else a=String.format(b.percentPositivePattern,a)}return a};String.__typeName="String";String.Empty="";String.compare=function(a,b,c){if(c){if(a)a=a.toUpperCase();if(b)b=b.toUpperCase()}a=a||"";b=b||"";return a==b?0:athis.length?false:this.substr(this.length-a.length)==a};String.equals=function(b,c,a){return String.compare(b,c,a)==0};String._format=function(b,c,a){if(!String._formatRE)String._formatRE=/(\{[^\}^\{]+\})/g;return b.replace(String._formatRE,function(h,d){var g=parseInt(d.substr(1)),b=c[g+1];if(ss.isNullOrUndefined(b))return"";if(b.format){var e=null,f=d.indexOf(":");if(f>0)e=d.substring(f+1,d.length-1);return a?b.localeFormat(e):b.format(e)}else return a?b.toLocaleString():b.toString()})};String.format=function(a){return String._format(a,arguments,false)};String.fromChar=function(a,d){for(var c=a,b=1;b=b)d=b-1;for(var c=a;c<=d;c++)if(f.indexOf(this.charAt(c))>=0)return c;return-1};String.prototype.insert=function(a,b){if(!b)return this;if(!a)return b+this;var c=this.substr(0,a),d=this.substr(a);return c+b+d};String.isNullOrEmpty=function(a){return!a||!a.length};String.prototype.lastIndexOfAny=function(f,a,e){var d=this.length;if(!d)return-1;a=a||d-1;e=e||d;var c=a-e+1;if(c<0)c=0;for(var b=a;b>=c;b--)if(f.indexOf(this.charAt(b))>=0)return b;return-1};String.localeFormat=function(a){return String._format(a,arguments,true)};String.prototype.padLeft=function(b,a){if(this.lengththis.length?this.substr(0,a):this.substr(0,a)+this.substr(a+b)};String.prototype.replaceAll=function(b,a){a=a||"";return this.split(b).join(a)};String.prototype.startsWith=function(a){return!a.length?true:a.length>this.length?false:this.substr(0,a.length)==a};if(!String.prototype.trim)String.prototype.trim=function(){return this.trimEnd().trimStart()};String.prototype.trimEnd=function(){return this.replace(/\s*$/,"")};String.prototype.trimStart=function(){return this.replace(/^\s*/,"")};Array.__typeName="Array";Array.__interfaces=[ss.IEnumerable];Array.prototype.add=function(a){this[this.length]=a};Array.prototype.addRange=function(a){this.push.apply(this,a)};Array.prototype.aggregate=function(b,c,d){for(var e=this.length,a=0;a=0};Array.prototype.dequeue=function(){return this.shift()};Array.prototype.enqueue=function(a){this._queue=true;this.push(a)};Array.prototype.peek=function(){if(this.length){var a=this._queue?0:this.length-1;return this[a]}return null};if(!Array.prototype.every)Array.prototype.every=function(b,c){for(var d=this.length,a=0;a=0){this.splice(a,1);return true}return false};Array.prototype.removeAt=function(a){this.splice(a,1)};Array.prototype.removeRange=function(b,a){return this.splice(b,a)};if(!Array.prototype.some)Array.prototype.some=function(b,c){for(var d=this.length,a=0;a1){var c=a.substring(1,b),d=a.substr(b+1);return new RegExp(c,d)}}return null};Date.__typeName="Date";Date.empty=null;Date.get_now=function(){return new Date};Date.get_today=function(){var a=new Date;return new Date(a.getFullYear(),a.getMonth(),a.getDate())};Date.isEmpty=function(a){return a===null||a.valueOf()===0};Date.prototype.format=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toString():a=="id"?this.toDateString():a=="it"?this.toTimeString():this._netFormat(a,false)};Date.prototype.localeFormat=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toLocaleString():a=="id"?this.toLocaleDateString():a=="it"?this.toLocaleTimeString():this._netFormat(a,true)};Date.prototype._netFormat=function(d,j){var c=j?ss.CultureInfo.CurrentCulture.dateFormat:ss.CultureInfo.InvariantCulture.dateFormat,f=false;if(d.length==1)switch(d){case"f":d=c.longDatePattern+" "+c.shortTimePattern;case"F":d=c.dateTimePattern;break;case"d":d=c.shortDatePattern;break;case"D":d=c.longDatePattern;break;case"t":d=c.shortTimePattern;break;case"T":d=c.longTimePattern;break;case"g":d=c.shortDatePattern+" "+c.shortTimePattern;break;case"G":d=c.shortDatePattern+" "+c.longTimePattern;break;case"R":case"r":d=c.gmtDateTimePattern;f=true;break;case"u":d=c.universalDateTimePattern;f=true;break;case"U":d=c.dateTimePattern;f=true;break;case"s":d=c.sortableDateTimePattern}if(d.charAt(0)=="%")d=d.substr(1);if(!Date._formatRE)Date._formatRE=/'[^']+'|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g;var h=Date._formatRE,i=new ss.StringBuilder,b=this;if(f)b=new Date(b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate(),b.getUTCHours(),b.getUTCMinutes(),b.getUTCSeconds(),b.getUTCMilliseconds());h.lastIndex=0;while(true){var k=h.lastIndex,g=h.exec(d);i.append(d.slice(k,g?g.index:d.length));if(!g)break;var e=g[0],a=e;switch(e){case"dddd":a=c.dayNames[b.getDay()];break;case"ddd":a=c.shortDayNames[b.getDay()];break;case"dd":a=b.getDate().toString().padLeft(2,"0");break;case"d":a=b.getDate();break;case"MMMM":a=c.monthNames[b.getMonth()];break;case"MMM":a=c.shortMonthNames[b.getMonth()];break;case"MM":a=(b.getMonth()+1).toString().padLeft(2,"0");break;case"M":a=b.getMonth()+1;break;case"yyyy":a=b.getFullYear();break;case"yy":a=(b.getFullYear()%100).toString().padLeft(2,"0");break;case"y":a=b.getFullYear()%100;break;case"h":case"hh":a=b.getHours()%12;if(!a)a="12";else if(e=="hh")a=a.toString().padLeft(2,"0");break;case"HH":a=b.getHours().toString().padLeft(2,"0");break;case"H":a=b.getHours();break;case"mm":a=b.getMinutes().toString().padLeft(2,"0");break;case"m":a=b.getMinutes();break;case"ss":a=b.getSeconds().toString().padLeft(2,"0");break;case"s":a=b.getSeconds();break;case"t":case"tt":a=b.getHours()<12?c.amDesignator:c.pmDesignator;if(e=="t")a=a.charAt(0);break;case"fff":a=b.getMilliseconds().toString().padLeft(3,"0");break;case"ff":a=b.getMilliseconds().toString().padLeft(3).substr(0,2);break;case"f":a=b.getMilliseconds().toString().padLeft(3).charAt(0);break;case"z":a=b.getTimezoneOffset()/60;a=(a>=0?"-":"+")+Math.floor(Math.abs(a));break;case"zz":case"zzz":a=b.getTimezoneOffset()/60;a=(a>=0?"-":"+")+Math.floor(Math.abs(a)).toString().padLeft(2,"0");if(e=="zzz")a+=c.timeSeparator+Math.abs(b.getTimezoneOffset()%60).toString().padLeft(2,"0");break;default:if(a.charAt(0)=="'")a=a.substr(1,a.length-2)}i.append(a)}return i.toString()};Date.parseDate=function(a){return new Date(Date.parse(a))};Error.__typeName="Error";Error.prototype.popStackFrame=function(){if(ss.isNullOrUndefined(this.stack)||ss.isNullOrUndefined(this.fileName)||ss.isNullOrUndefined(this.lineNumber))return;var a=this.stack.split("\n"),c=a[0],e=this.fileName+":"+this.lineNumber;while(!ss.isNullOrUndefined(c)&&c.indexOf(e)===-1){a.shift();c=a[0]}var d=a[1];if(isNullOrUndefined(d))return;var b=d.match(/@(.*):(\d+)$/);if(ss.isNullOrUndefined(b))return;a.shift();this.stack=a.join("\n");this.fileName=b[1];this.lineNumber=parseInt(b[2])};Error.createError=function(e,b,c){var a=new Error(e);if(b)for(var d in b)a[d]=b[d];if(c)a.innerException=c;a.popStackFrame();return a};ss.Debug=window.Debug||function(){};ss.Debug.__typeName="Debug";if(!ss.Debug.writeln)ss.Debug.writeln=function(a){if(window.console){if(window.console.debug){window.console.debug(a);return}else if(window.console.log){window.console.log(a);return}}else if(window.opera&&window.opera.postError){window.opera.postError(a);return}};ss.Debug._fail=function(a){ss.Debug.writeln(a);eval("debugger;")};ss.Debug.assert=function(b,a){if(!b){a="Assert failed: "+a;confirm(a+"\r\n\r\nBreak into debugger?")&&ss.Debug._fail(a)}};ss.Debug.fail=function(a){ss.Debug._fail(a)};window.Type=Function;Type.__typeName="Type";window.__Namespace=function(a){this.__typeName=a};__Namespace.prototype={__namespace:true,getName:function(){return this.__typeName}};Type.registerNamespace=function(e){if(!window.__namespaces)window.__namespaces={};if(!window.__rootNamespaces)window.__rootNamespaces=[];if(window.__namespaces[e])return;for(var c=window,d=e.split("."),a=0;a0?a.substr(b+1):a};Type.prototype.getInterfaces=function(){return this.__interfaces};Type.prototype.isInstanceOfType=function(a){if(ss.isNullOrUndefined(a))return false;if(this==Object||a instanceof this)return true;var b=Type.getInstanceType(a);return this.isAssignableFrom(b)};Type.prototype.isAssignableFrom=function(c){if(this==Object||this==c)return true;if(this.__class){var a=c.__baseType;while(a){if(this==a)return true;a=a.__baseType}}else if(this.__interface){var b=c.__interfaces;if(b&&b.contains(this))return true;var a=c.__baseType;while(a){b=a.__interfaces;if(b&&b.contains(this))return true;a=a.__baseType}}return false};Type.isClass=function(a){return a.__class==true};Type.isEnum=function(a){return a.__enum==true};Type.isFlags=function(a){return a.__enum==true&&a.__flags==true};Type.isInterface=function(a){return a.__interface==true};Type.isNamespace=function(a){return a.__namespace==true};Type.canCast=function(a,b){return b.isInstanceOfType(a)};Type.safeCast=function(a,b){return b.isInstanceOfType(a)?a:null};Type.getInstanceType=function(b){var a=null;try{a=b.constructor}catch(c){}if(!a||!a.__typeName)a=Object;return a};Type.getType=function(a){if(!a)return null;if(!Type.__typeCache)Type.__typeCache={};var b=Type.__typeCache[a];if(!b){b=eval(a);Type.__typeCache[a]=b}return b};Type.parse=function(a){return Type.getType(a)};ss.Enum=function(){};ss.Enum.registerClass("Enum");ss.Enum.parse=function(d,i){var a=d.prototype;if(!d.__flags){for(var b in a)if(b===i)return a[b]}else{for(var g=i.split("|"),h=0,e=true,c=g.length-1;c>=0;c--){var j=g[c].trim(),f=false;for(var b in a)if(b===j){h|=a[b];f=true;break}if(!f){e=false;break}}if(e)return h}throw"Invalid Enumeration Value";};ss.Enum._enumToString=function(d){var b=this.prototype;if(!this.__flags||d===0){for(var c in b)if(b[c]===d)return c;throw"Invalid Enumeration Value";}else{var a=[];for(var c in b)if(b[c]&d){a.length&&a.add(" | ");a.add(c)}if(!a.length)throw"Invalid Enumeration Value";return a.join("")}};ss.Delegate=function(){};ss.Delegate.registerClass("Delegate");ss.Delegate.empty=function(){};ss.Delegate._contains=function(b,d,c){for(var a=0;a=0||a.indexOf("e")>=0||a.endsWith("f")||a.endsWith("F")?parseFloat(a):parseInt(a,10)};Number.prototype.format=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toString():this._netFormat(a,false)};Number.prototype.localeFormat=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toLocaleString():this._netFormat(a,true)};Number._commaFormat=function(a,i,n,o){var c=null,h=a.indexOf(n);if(h>0){c=a.substr(h);a=a.substr(0,h)}var j=a.startsWith("-");if(j)a=a.substr(1);var f=0,g=i[f];if(a.length1)c=parseInt(f.substr(1));var e=f.charAt(0);switch(e){case"d":case"D":a=parseInt(Math.abs(this)).toString();if(c!=-1)a=a.padLeft(c,"0");if(this<0)a="-"+a;break;case"x":case"X":a=parseInt(Math.abs(this)).toString(16);if(e=="X")a=a.toUpperCase();if(c!=-1)a=a.padLeft(c,"0");break;case"e":case"E":if(c==-1)a=this.toExponential();else a=this.toExponential(c);if(e=="E")a=a.toUpperCase();break;case"f":case"F":case"n":case"N":if(c==-1)c=b.numberDecimalDigits;a=this.toFixed(c).toString();if(c&&b.numberDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.numberDecimalSeparator+a.substr(d+1)}if(e=="n"||e=="N")a=Number._commaFormat(a,b.numberGroupSizes,b.numberDecimalSeparator,b.numberGroupSeparator);break;case"c":case"C":if(c==-1)c=b.currencyDecimalDigits;a=Math.abs(this).toFixed(c).toString();if(c&&b.currencyDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.currencyDecimalSeparator+a.substr(d+1)}a=Number._commaFormat(a,b.currencyGroupSizes,b.currencyDecimalSeparator,b.currencyGroupSeparator);if(this<0)a=String.format(b.currencyNegativePattern,a);else a=String.format(b.currencyPositivePattern,a);break;case"p":case"P":if(c==-1)c=b.percentDecimalDigits;a=(Math.abs(this)*100).toFixed(c).toString();if(c&&b.percentDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.percentDecimalSeparator+a.substr(d+1)}a=Number._commaFormat(a,b.percentGroupSizes,b.percentDecimalSeparator,b.percentGroupSeparator);if(this<0)a=String.format(b.percentNegativePattern,a);else a=String.format(b.percentPositivePattern,a)}return a};String.__typeName="String";String.Empty="";String.compare=function(a,b,c){if(c){if(a)a=a.toUpperCase();if(b)b=b.toUpperCase()}a=a||"";b=b||"";return a==b?0:athis.length?false:this.substr(this.length-a.length)==a};String.equals=function(b,c,a){return String.compare(b,c,a)==0};String._format=function(b,c,a){if(!String._formatRE)String._formatRE=/(\{[^\}^\{]+\})/g;return b.replace(String._formatRE,function(h,d){var g=parseInt(d.substr(1)),b=c[g+1];if(ss.isNullOrUndefined(b))return"";if(b.format){var e=null,f=d.indexOf(":");if(f>0)e=d.substring(f+1,d.length-1);return a?b.localeFormat(e):b.format(e)}else return a?b.toLocaleString():b.toString()})};String.format=function(a){return String._format(a,arguments,false)};String.fromChar=function(a,d){for(var c=a,b=1;b=b)d=b-1;for(var c=a;c<=d;c++)if(f.indexOf(this.charAt(c))>=0)return c;return-1};String.prototype.insert=function(a,b){if(!b)return this;if(!a)return b+this;var c=this.substr(0,a),d=this.substr(a);return c+b+d};String.isNullOrEmpty=function(a){return!a||!a.length};String.prototype.lastIndexOfAny=function(f,a,e){var d=this.length;if(!d)return-1;a=a||d-1;e=e||d;var c=a-e+1;if(c<0)c=0;for(var b=a;b>=c;b--)if(f.indexOf(this.charAt(b))>=0)return b;return-1};String.localeFormat=function(a){return String._format(a,arguments,true)};String.prototype.padLeft=function(b,a){if(this.lengththis.length?this.substr(0,a):this.substr(0,a)+this.substr(a+b)};String.prototype.replaceAll=function(b,a){a=a||"";return this.split(b).join(a)};String.prototype.startsWith=function(a){return!a.length?true:a.length>this.length?false:this.substr(0,a.length)==a};if(!String.prototype.trim)String.prototype.trim=function(){return this.trimEnd().trimStart()};String.prototype.trimEnd=function(){return this.replace(/\s*$/,"")};String.prototype.trimStart=function(){return this.replace(/^\s*/,"")};Array.__typeName="Array";Array.__interfaces=[ss.IEnumerable];Array.prototype.add=function(a){this[this.length]=a};Array.prototype.addRange=function(a){this.push.apply(this,a)};Array.prototype.aggregate=function(b,c,d){for(var e=this.length,a=0;a=0};Array.prototype.dequeue=function(){return this.shift()};Array.prototype.enqueue=function(a){this._queue=true;this.push(a)};Array.prototype.peek=function(){if(this.length){var a=this._queue?0:this.length-1;return this[a]}return null};if(!Array.prototype.every)Array.prototype.every=function(b,c){for(var d=this.length,a=0;a=0){this.splice(a,1);return true}return false};Array.prototype.removeAt=function(a){this.splice(a,1)};Array.prototype.removeRange=function(b,a){return this.splice(b,a)};if(!Array.prototype.some)Array.prototype.some=function(b,c){for(var d=this.length,a=0;a1){var c=a.substring(1,b),d=a.substr(b+1);return new RegExp(c,d)}}return null};Date.__typeName="Date";Date.empty=null;Date.get_now=function(){return new Date};Date.get_today=function(){var a=new Date;return new Date(a.getFullYear(),a.getMonth(),a.getDate())};Date.isEmpty=function(a){return a===null||a.valueOf()===0};Date.prototype.format=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toString():a=="id"?this.toDateString():a=="it"?this.toTimeString():this._netFormat(a,false)};Date.prototype.localeFormat=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toLocaleString():a=="id"?this.toLocaleDateString():a=="it"?this.toLocaleTimeString():this._netFormat(a,true)};Date.prototype._netFormat=function(d,i){var b=this,c=i?ss.CultureInfo.CurrentCulture.dateFormat:ss.CultureInfo.InvariantCulture.dateFormat;if(d.length==1)switch(d){case"f":d=c.longDatePattern+" "+c.shortTimePattern;break;case"F":d=c.dateTimePattern;break;case"d":d=c.shortDatePattern;break;case"D":d=c.longDatePattern;break;case"t":d=c.shortTimePattern;break;case"T":d=c.longTimePattern;break;case"g":d=c.shortDatePattern+" "+c.shortTimePattern;break;case"G":d=c.shortDatePattern+" "+c.longTimePattern;break;case"R":case"r":d=c.gmtDateTimePattern;break;case"u":d=c.universalDateTimePattern;break;case"U":d=c.dateTimePattern;b=new Date(b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate(),b.getUTCHours(),b.getUTCMinutes(),b.getUTCSeconds(),b.getUTCMilliseconds());break;case"s":d=c.sortableDateTimePattern}if(d.charAt(0)=="%")d=d.substr(1);if(!Date._formatRE)Date._formatRE=/'.*?[^\\]'|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g;var g=Date._formatRE,h=new ss.StringBuilder;g.lastIndex=0;while(true){var j=g.lastIndex,f=g.exec(d);h.append(d.slice(j,f?f.index:d.length));if(!f)break;var e=f[0],a=e;switch(e){case"dddd":a=c.dayNames[b.getDay()];break;case"ddd":a=c.shortDayNames[b.getDay()];break;case"dd":a=b.getDate().toString().padLeft(2,"0");break;case"d":a=b.getDate();break;case"MMMM":a=c.monthNames[b.getMonth()];break;case"MMM":a=c.shortMonthNames[b.getMonth()];break;case"MM":a=(b.getMonth()+1).toString().padLeft(2,"0");break;case"M":a=b.getMonth()+1;break;case"yyyy":a=b.getFullYear();break;case"yy":a=(b.getFullYear()%100).toString().padLeft(2,"0");break;case"y":a=b.getFullYear()%100;break;case"h":case"hh":a=b.getHours()%12;if(!a)a="12";else if(e=="hh")a=a.toString().padLeft(2,"0");break;case"HH":a=b.getHours().toString().padLeft(2,"0");break;case"H":a=b.getHours();break;case"mm":a=b.getMinutes().toString().padLeft(2,"0");break;case"m":a=b.getMinutes();break;case"ss":a=b.getSeconds().toString().padLeft(2,"0");break;case"s":a=b.getSeconds();break;case"t":case"tt":a=b.getHours()<12?c.amDesignator:c.pmDesignator;if(e=="t")a=a.charAt(0);break;case"fff":a=b.getMilliseconds().toString().padLeft(3,"0");break;case"ff":a=b.getMilliseconds().toString().padLeft(3).substr(0,2);break;case"f":a=b.getMilliseconds().toString().padLeft(3).charAt(0);break;case"z":a=b.getTimezoneOffset()/60;a=(a>=0?"-":"+")+Math.floor(Math.abs(a));break;case"zz":case"zzz":a=b.getTimezoneOffset()/60;a=(a>=0?"-":"+")+Math.floor(Math.abs(a)).toString().padLeft(2,"0");if(e=="zzz")a+=c.timeSeparator+Math.abs(b.getTimezoneOffset()%60).toString().padLeft(2,"0");break;default:if(a.charAt(0)=="'")a=a.substr(1,a.length-2).replace(/\\'/g,"'")}h.append(a)}return h.toString()};Date.parseDate=function(a){return new Date(Date.parse(a))};Error.__typeName="Error";Error.prototype.popStackFrame=function(){if(ss.isNullOrUndefined(this.stack)||ss.isNullOrUndefined(this.fileName)||ss.isNullOrUndefined(this.lineNumber))return;var a=this.stack.split("\n"),c=a[0],e=this.fileName+":"+this.lineNumber;while(!ss.isNullOrUndefined(c)&&c.indexOf(e)===-1){a.shift();c=a[0]}var d=a[1];if(isNullOrUndefined(d))return;var b=d.match(/@(.*):(\d+)$/);if(ss.isNullOrUndefined(b))return;a.shift();this.stack=a.join("\n");this.fileName=b[1];this.lineNumber=parseInt(b[2])};Error.createError=function(e,b,c){var a=new Error(e);if(b)for(var d in b)a[d]=b[d];if(c)a.innerException=c;a.popStackFrame();return a};ss.Debug=window.Debug||function(){};ss.Debug.__typeName="Debug";if(!ss.Debug.writeln)ss.Debug.writeln=function(a){if(window.console){if(window.console.debug){window.console.debug(a);return}else if(window.console.log){window.console.log(a);return}}else if(window.opera&&window.opera.postError){window.opera.postError(a);return}};ss.Debug._fail=function(a){ss.Debug.writeln(a);eval("debugger;")};ss.Debug.assert=function(b,a){if(!b){a="Assert failed: "+a;confirm(a+"\r\n\r\nBreak into debugger?")&&ss.Debug._fail(a)}};ss.Debug.fail=function(a){ss.Debug._fail(a)};window.Type=Function;Type.__typeName="Type";window.__Namespace=function(a){this.__typeName=a};__Namespace.prototype={__namespace:true,getName:function(){return this.__typeName}};Type.registerNamespace=function(e){if(!window.__namespaces)window.__namespaces={};if(!window.__rootNamespaces)window.__rootNamespaces=[];if(window.__namespaces[e])return;for(var c=window,d=e.split("."),a=0;a0?a.substr(b+1):a};Type.prototype.getInterfaces=function(){return this.__interfaces};Type.prototype.isInstanceOfType=function(a){if(ss.isNullOrUndefined(a))return false;if(this==Object||a instanceof this)return true;var b=Type.getInstanceType(a);return this.isAssignableFrom(b)};Type.prototype.isAssignableFrom=function(c){if(this==Object||this==c)return true;if(this.__class){var a=c.__baseType;while(a){if(this==a)return true;a=a.__baseType}}else if(this.__interface){var b=c.__interfaces;if(b&&b.contains(this))return true;var a=c.__baseType;while(a){b=a.__interfaces;if(b&&b.contains(this))return true;a=a.__baseType}}return false};Type.isClass=function(a){return a.__class==true};Type.isEnum=function(a){return a.__enum==true};Type.isFlags=function(a){return a.__enum==true&&a.__flags==true};Type.isInterface=function(a){return a.__interface==true};Type.isNamespace=function(a){return a.__namespace==true};Type.canCast=function(a,b){return b.isInstanceOfType(a)};Type.safeCast=function(a,b){return b.isInstanceOfType(a)?a:null};Type.getInstanceType=function(b){var a=null;try{a=b.constructor}catch(c){}if(!a||!a.__typeName)a=Object;return a};Type.getType=function(a){if(!a)return null;if(!Type.__typeCache)Type.__typeCache={};var b=Type.__typeCache[a];if(!b){b=eval(a);Type.__typeCache[a]=b}return b};Type.parse=function(a){return Type.getType(a)};ss.Enum=function(){};ss.Enum.registerClass("Enum");ss.Enum.parse=function(d,i){var a=d.prototype;if(!d.__flags){for(var b in a)if(b===i)return a[b]}else{for(var g=i.split("|"),h=0,e=true,c=g.length-1;c>=0;c--){var j=g[c].trim(),f=false;for(var b in a)if(b===j){h|=a[b];f=true;break}if(!f){e=false;break}}if(e)return h}throw"Invalid Enumeration Value";};ss.Enum._enumToString=function(d){var b=this.prototype;if(!this.__flags||d===0){for(var c in b)if(b[c]===d)return c;throw"Invalid Enumeration Value";}else{var a=[];for(var c in b)if(b[c]&d){a.length&&a.add(" | ");a.add(c)}if(!a.length)throw"Invalid Enumeration Value";return a.join("")}};ss.Delegate=function(){};ss.Delegate.registerClass("Delegate");ss.Delegate.empty=function(){};ss.Delegate._contains=function(b,d,c){for(var a=0;a Date: Fri, 17 Jun 2011 16:30:20 -0700 Subject: [PATCH 024/285] Misc code cleanup. --- src/Libraries/Knockout/BindingHandler.cs | 10 +++++- .../Knockout/DependentObservableOptions.cs | 36 ++++++++++++++----- src/Libraries/Knockout/Knockout.cs | 22 +++++++++--- src/Libraries/Knockout/Knockout.csproj | 7 +--- 4 files changed, 54 insertions(+), 21 deletions(-) diff --git a/src/Libraries/Knockout/BindingHandler.cs b/src/Libraries/Knockout/BindingHandler.cs index 058ff8f3b..583a1c336 100644 --- a/src/Libraries/Knockout/BindingHandler.cs +++ b/src/Libraries/Knockout/BindingHandler.cs @@ -1,9 +1,16 @@ +// BindingHandler.cs +// Script#/Libraries/Knockout +// This source code is subject to terms and conditions of the Microsoft +// Public License. A copy of the license can be found in License.txt. +// + using System; using System.Collections; using System.Html; using System.Runtime.CompilerServices; namespace KnockoutApi { + /// /// Represents a custom binding handler in Knockout. /// @@ -11,6 +18,7 @@ namespace KnockoutApi { [IgnoreNamespace] [ScriptName("Object")] public abstract class BindingHandler { + /// /// Performs one time initialization for a binding. /// @@ -31,4 +39,4 @@ public virtual void Init(Element element, Func valueAccessor, Func valueAccessor, Func allBindingsAccessor, object viewModel) { } } -} \ No newline at end of file +} diff --git a/src/Libraries/Knockout/DependentObservableOptions.cs b/src/Libraries/Knockout/DependentObservableOptions.cs index 5da6c49f6..3adcb38e3 100644 --- a/src/Libraries/Knockout/DependentObservableOptions.cs +++ b/src/Libraries/Knockout/DependentObservableOptions.cs @@ -1,7 +1,14 @@ +// DependentObservableOptions.cs +// Script#/Libraries/Knockout +// This source code is subject to terms and conditions of the Microsoft +// Public License. A copy of the license can be found in License.txt. +// + using System; using System.Runtime.CompilerServices; namespace KnockoutApi { + /// /// Provides advanced options for defining a dependent observable. /// @@ -9,25 +16,36 @@ namespace KnockoutApi { [Imported] [IgnoreNamespace] [ScriptName("Object")] - public class DependentObservableOptions { + public sealed class DependentObservableOptions { + /// - /// A function to compute the value. + /// Gets or sets whether the evaluation should be deferred, i.e. not + /// performed when the observable is first created. /// - [ScriptName("read")] [IntrinsicProperty] - public Func GetValueFunction { get; set; } + public bool DeferEvaluation { + get; + set; + } /// - /// The model instance which acts as 'this' in the get value function. + /// Gets or sets the function to compute the value. /// - [ScriptName("owner")] + [ScriptName("read")] [IntrinsicProperty] - public object Model { get; set; } + public Func GetValueFunction { + get; + set; + } /// - /// If true, evaluation is not performed when the observable is first created, which can be useful if it relies on state which may not be ready. + /// Gets the model instance which acts as 'this' in the get value function. /// + [ScriptName("owner")] [IntrinsicProperty] - public bool DeferEvaluation { get; set; } + public object Model { + get; + set; + } } } diff --git a/src/Libraries/Knockout/Knockout.cs b/src/Libraries/Knockout/Knockout.cs index 59bfafd29..3ba8277db 100644 --- a/src/Libraries/Knockout/Knockout.cs +++ b/src/Libraries/Knockout/Knockout.cs @@ -22,6 +22,16 @@ namespace KnockoutApi { [ScriptName("ko")] public static class Knockout { + /// + /// Provides access to the currently registered binding handlers. + /// + [IntrinsicProperty] + public static Dictionary BindingHandlers { + get { + return null; + } + } + /// /// Gets the mapping plugin which allows converting models to plain /// objects and JSON and vice-versa. @@ -34,10 +44,12 @@ public static KnockoutMapping Mapping { } /// - /// Provides access to the currently registered binding handlers. + /// Gets the current model. /// + /// The object represented by 'this' within a handler. + [ScriptAlias("this")] [IntrinsicProperty] - public static Dictionary BindingHandlers { + public static object Model { get { return null; } @@ -64,8 +76,7 @@ public static void ApplyBindings(object model, Element rootElement) { /// The node to bind to. /// An optional dictionary of bindings, pass null to let Knockout gather them from the element. /// The view model instance. - /// The name of the attribute which has the binding definitions. - public static void ApplyBindingsToNode(Element node, Dictionary bindings, object viewModel, string bindingAttributeName) { + public static void ApplyBindingsToNode(Element node, Dictionary bindings, object viewModel) { } /// @@ -74,7 +85,8 @@ public static void ApplyBindingsToNode(Element node, Dictionary bindings, object /// The node to bind to. /// An optional dictionary of bindings, pass null to let Knockout gather them from the element. /// The view model instance. - public static void ApplyBindingsToNode(Element node, Dictionary bindings, object viewModel) { + /// The name of the attribute which has the binding definitions. + public static void ApplyBindingsToNode(Element node, Dictionary bindings, object viewModel, string bindingAttributeName) { } /// diff --git a/src/Libraries/Knockout/Knockout.csproj b/src/Libraries/Knockout/Knockout.csproj index e6f4c919e..742eb9e7b 100644 --- a/src/Libraries/Knockout/Knockout.csproj +++ b/src/Libraries/Knockout/Knockout.csproj @@ -42,9 +42,7 @@ true - - Code - + @@ -66,8 +64,5 @@ Web - - - \ No newline at end of file From 263579c802ae7811aee7b809b01775f93d5b9685 Mon Sep 17 00:00:00 2001 From: nikhilk Date: Fri, 17 Jun 2011 16:37:38 -0700 Subject: [PATCH 025/285] Misc code cleanup. --- src/Libraries/Knockout/Knockout.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Libraries/Knockout/Knockout.cs b/src/Libraries/Knockout/Knockout.cs index 3ba8277db..debfae877 100644 --- a/src/Libraries/Knockout/Knockout.cs +++ b/src/Libraries/Knockout/Knockout.cs @@ -108,6 +108,14 @@ public static DependentObservable DependentObservable(DependentObservableO return null; } + /// + /// Returns true if the value is an observable, false otherwise. + /// + /// The value to check. + public static bool IsObservable(object value) { + return false; + } + /// /// Creates an observable value. /// @@ -146,14 +154,6 @@ public static ObservableArray ObservableArray(IEnumerable initialItems) return null; } - /// - /// Returns true if the value is an observable, false otherwise. - /// - /// The value to check. - public static bool IsObservable(object value) { - return false; - } - /// /// If the provided value is an observable, return its value, otherwise just pass it through. /// From 3178d3cb92f3ec2b90ef9baff7e1cd0cf5a5a94b Mon Sep 17 00:00:00 2001 From: nikhilk Date: Fri, 24 Jun 2011 18:40:59 -0700 Subject: [PATCH 026/285] Fix issue #80 - missing Parse method on Decimal. --- src/Libraries/CoreLib/Decimal.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Libraries/CoreLib/Decimal.cs b/src/Libraries/CoreLib/Decimal.cs index 9fe904866..5104ac26b 100644 --- a/src/Libraries/CoreLib/Decimal.cs +++ b/src/Libraries/CoreLib/Decimal.cs @@ -44,6 +44,11 @@ public string LocaleFormat(string format) { return null; } + [ScriptAlias("parseFloat")] + public static decimal Parse(string s) { + return 0m; + } + /// /// Converts the value to its string representation. /// From c0322418a7f581b68eedefb4d8846aa7f0724a9a Mon Sep 17 00:00:00 2001 From: nikhilk Date: Fri, 24 Jun 2011 18:54:33 -0700 Subject: [PATCH 027/285] Another date formatting fix. --- bin/ref/mscorlib.debug.js | 5 ++++- bin/ref/mscorlib.js | 2 +- src/Runtime/Client/Core/Global/Date.js | 5 ++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/bin/ref/mscorlib.debug.js b/bin/ref/mscorlib.debug.js index a0da2d98f..636ccb524 100644 --- a/bin/ref/mscorlib.debug.js +++ b/bin/ref/mscorlib.debug.js @@ -822,7 +822,10 @@ Date.prototype._netFormat = function Date$_netFormat(format, useLocale) { case 'g': format = dtf.shortDatePattern + ' ' + dtf.shortTimePattern; break; case 'G': format = dtf.shortDatePattern + ' ' + dtf.longTimePattern; break; - case 'R': case 'r': format = dtf.gmtDateTimePattern; break; + case 'R': case 'r': + dtf = ss.CultureInfo.InvariantCulture.dateFormat; + format = dtf.gmtDateTimePattern; + break; case 'u': format = dtf.universalDateTimePattern; break; case 'U': format = dtf.dateTimePattern; diff --git a/bin/ref/mscorlib.js b/bin/ref/mscorlib.js index bd99bf99c..7976c74d3 100644 --- a/bin/ref/mscorlib.js +++ b/bin/ref/mscorlib.js @@ -1 +1 @@ -(function(){var e={version:"0.7.2.1",isUndefined:function(a){return a===undefined},isNull:function(a){return a===null},isNullOrUndefined:function(a){return a===null||a===undefined},isValue:function(a){return a!==null&&a!==undefined}},g=false,a=[];function d(b){a?a.push(b):setTimeout(b,0)}function b(){if(a){var c=a;a=null;for(var b=0,d=c.length;b=0||a.indexOf("e")>=0||a.endsWith("f")||a.endsWith("F")?parseFloat(a):parseInt(a,10)};Number.prototype.format=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toString():this._netFormat(a,false)};Number.prototype.localeFormat=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toLocaleString():this._netFormat(a,true)};Number._commaFormat=function(a,i,n,o){var c=null,h=a.indexOf(n);if(h>0){c=a.substr(h);a=a.substr(0,h)}var j=a.startsWith("-");if(j)a=a.substr(1);var f=0,g=i[f];if(a.length1)c=parseInt(f.substr(1));var e=f.charAt(0);switch(e){case"d":case"D":a=parseInt(Math.abs(this)).toString();if(c!=-1)a=a.padLeft(c,"0");if(this<0)a="-"+a;break;case"x":case"X":a=parseInt(Math.abs(this)).toString(16);if(e=="X")a=a.toUpperCase();if(c!=-1)a=a.padLeft(c,"0");break;case"e":case"E":if(c==-1)a=this.toExponential();else a=this.toExponential(c);if(e=="E")a=a.toUpperCase();break;case"f":case"F":case"n":case"N":if(c==-1)c=b.numberDecimalDigits;a=this.toFixed(c).toString();if(c&&b.numberDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.numberDecimalSeparator+a.substr(d+1)}if(e=="n"||e=="N")a=Number._commaFormat(a,b.numberGroupSizes,b.numberDecimalSeparator,b.numberGroupSeparator);break;case"c":case"C":if(c==-1)c=b.currencyDecimalDigits;a=Math.abs(this).toFixed(c).toString();if(c&&b.currencyDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.currencyDecimalSeparator+a.substr(d+1)}a=Number._commaFormat(a,b.currencyGroupSizes,b.currencyDecimalSeparator,b.currencyGroupSeparator);if(this<0)a=String.format(b.currencyNegativePattern,a);else a=String.format(b.currencyPositivePattern,a);break;case"p":case"P":if(c==-1)c=b.percentDecimalDigits;a=(Math.abs(this)*100).toFixed(c).toString();if(c&&b.percentDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.percentDecimalSeparator+a.substr(d+1)}a=Number._commaFormat(a,b.percentGroupSizes,b.percentDecimalSeparator,b.percentGroupSeparator);if(this<0)a=String.format(b.percentNegativePattern,a);else a=String.format(b.percentPositivePattern,a)}return a};String.__typeName="String";String.Empty="";String.compare=function(a,b,c){if(c){if(a)a=a.toUpperCase();if(b)b=b.toUpperCase()}a=a||"";b=b||"";return a==b?0:athis.length?false:this.substr(this.length-a.length)==a};String.equals=function(b,c,a){return String.compare(b,c,a)==0};String._format=function(b,c,a){if(!String._formatRE)String._formatRE=/(\{[^\}^\{]+\})/g;return b.replace(String._formatRE,function(h,d){var g=parseInt(d.substr(1)),b=c[g+1];if(ss.isNullOrUndefined(b))return"";if(b.format){var e=null,f=d.indexOf(":");if(f>0)e=d.substring(f+1,d.length-1);return a?b.localeFormat(e):b.format(e)}else return a?b.toLocaleString():b.toString()})};String.format=function(a){return String._format(a,arguments,false)};String.fromChar=function(a,d){for(var c=a,b=1;b=b)d=b-1;for(var c=a;c<=d;c++)if(f.indexOf(this.charAt(c))>=0)return c;return-1};String.prototype.insert=function(a,b){if(!b)return this;if(!a)return b+this;var c=this.substr(0,a),d=this.substr(a);return c+b+d};String.isNullOrEmpty=function(a){return!a||!a.length};String.prototype.lastIndexOfAny=function(f,a,e){var d=this.length;if(!d)return-1;a=a||d-1;e=e||d;var c=a-e+1;if(c<0)c=0;for(var b=a;b>=c;b--)if(f.indexOf(this.charAt(b))>=0)return b;return-1};String.localeFormat=function(a){return String._format(a,arguments,true)};String.prototype.padLeft=function(b,a){if(this.lengththis.length?this.substr(0,a):this.substr(0,a)+this.substr(a+b)};String.prototype.replaceAll=function(b,a){a=a||"";return this.split(b).join(a)};String.prototype.startsWith=function(a){return!a.length?true:a.length>this.length?false:this.substr(0,a.length)==a};if(!String.prototype.trim)String.prototype.trim=function(){return this.trimEnd().trimStart()};String.prototype.trimEnd=function(){return this.replace(/\s*$/,"")};String.prototype.trimStart=function(){return this.replace(/^\s*/,"")};Array.__typeName="Array";Array.__interfaces=[ss.IEnumerable];Array.prototype.add=function(a){this[this.length]=a};Array.prototype.addRange=function(a){this.push.apply(this,a)};Array.prototype.aggregate=function(b,c,d){for(var e=this.length,a=0;a=0};Array.prototype.dequeue=function(){return this.shift()};Array.prototype.enqueue=function(a){this._queue=true;this.push(a)};Array.prototype.peek=function(){if(this.length){var a=this._queue?0:this.length-1;return this[a]}return null};if(!Array.prototype.every)Array.prototype.every=function(b,c){for(var d=this.length,a=0;a=0){this.splice(a,1);return true}return false};Array.prototype.removeAt=function(a){this.splice(a,1)};Array.prototype.removeRange=function(b,a){return this.splice(b,a)};if(!Array.prototype.some)Array.prototype.some=function(b,c){for(var d=this.length,a=0;a1){var c=a.substring(1,b),d=a.substr(b+1);return new RegExp(c,d)}}return null};Date.__typeName="Date";Date.empty=null;Date.get_now=function(){return new Date};Date.get_today=function(){var a=new Date;return new Date(a.getFullYear(),a.getMonth(),a.getDate())};Date.isEmpty=function(a){return a===null||a.valueOf()===0};Date.prototype.format=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toString():a=="id"?this.toDateString():a=="it"?this.toTimeString():this._netFormat(a,false)};Date.prototype.localeFormat=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toLocaleString():a=="id"?this.toLocaleDateString():a=="it"?this.toLocaleTimeString():this._netFormat(a,true)};Date.prototype._netFormat=function(d,i){var b=this,c=i?ss.CultureInfo.CurrentCulture.dateFormat:ss.CultureInfo.InvariantCulture.dateFormat;if(d.length==1)switch(d){case"f":d=c.longDatePattern+" "+c.shortTimePattern;break;case"F":d=c.dateTimePattern;break;case"d":d=c.shortDatePattern;break;case"D":d=c.longDatePattern;break;case"t":d=c.shortTimePattern;break;case"T":d=c.longTimePattern;break;case"g":d=c.shortDatePattern+" "+c.shortTimePattern;break;case"G":d=c.shortDatePattern+" "+c.longTimePattern;break;case"R":case"r":d=c.gmtDateTimePattern;break;case"u":d=c.universalDateTimePattern;break;case"U":d=c.dateTimePattern;b=new Date(b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate(),b.getUTCHours(),b.getUTCMinutes(),b.getUTCSeconds(),b.getUTCMilliseconds());break;case"s":d=c.sortableDateTimePattern}if(d.charAt(0)=="%")d=d.substr(1);if(!Date._formatRE)Date._formatRE=/'.*?[^\\]'|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g;var g=Date._formatRE,h=new ss.StringBuilder;g.lastIndex=0;while(true){var j=g.lastIndex,f=g.exec(d);h.append(d.slice(j,f?f.index:d.length));if(!f)break;var e=f[0],a=e;switch(e){case"dddd":a=c.dayNames[b.getDay()];break;case"ddd":a=c.shortDayNames[b.getDay()];break;case"dd":a=b.getDate().toString().padLeft(2,"0");break;case"d":a=b.getDate();break;case"MMMM":a=c.monthNames[b.getMonth()];break;case"MMM":a=c.shortMonthNames[b.getMonth()];break;case"MM":a=(b.getMonth()+1).toString().padLeft(2,"0");break;case"M":a=b.getMonth()+1;break;case"yyyy":a=b.getFullYear();break;case"yy":a=(b.getFullYear()%100).toString().padLeft(2,"0");break;case"y":a=b.getFullYear()%100;break;case"h":case"hh":a=b.getHours()%12;if(!a)a="12";else if(e=="hh")a=a.toString().padLeft(2,"0");break;case"HH":a=b.getHours().toString().padLeft(2,"0");break;case"H":a=b.getHours();break;case"mm":a=b.getMinutes().toString().padLeft(2,"0");break;case"m":a=b.getMinutes();break;case"ss":a=b.getSeconds().toString().padLeft(2,"0");break;case"s":a=b.getSeconds();break;case"t":case"tt":a=b.getHours()<12?c.amDesignator:c.pmDesignator;if(e=="t")a=a.charAt(0);break;case"fff":a=b.getMilliseconds().toString().padLeft(3,"0");break;case"ff":a=b.getMilliseconds().toString().padLeft(3).substr(0,2);break;case"f":a=b.getMilliseconds().toString().padLeft(3).charAt(0);break;case"z":a=b.getTimezoneOffset()/60;a=(a>=0?"-":"+")+Math.floor(Math.abs(a));break;case"zz":case"zzz":a=b.getTimezoneOffset()/60;a=(a>=0?"-":"+")+Math.floor(Math.abs(a)).toString().padLeft(2,"0");if(e=="zzz")a+=c.timeSeparator+Math.abs(b.getTimezoneOffset()%60).toString().padLeft(2,"0");break;default:if(a.charAt(0)=="'")a=a.substr(1,a.length-2).replace(/\\'/g,"'")}h.append(a)}return h.toString()};Date.parseDate=function(a){return new Date(Date.parse(a))};Error.__typeName="Error";Error.prototype.popStackFrame=function(){if(ss.isNullOrUndefined(this.stack)||ss.isNullOrUndefined(this.fileName)||ss.isNullOrUndefined(this.lineNumber))return;var a=this.stack.split("\n"),c=a[0],e=this.fileName+":"+this.lineNumber;while(!ss.isNullOrUndefined(c)&&c.indexOf(e)===-1){a.shift();c=a[0]}var d=a[1];if(isNullOrUndefined(d))return;var b=d.match(/@(.*):(\d+)$/);if(ss.isNullOrUndefined(b))return;a.shift();this.stack=a.join("\n");this.fileName=b[1];this.lineNumber=parseInt(b[2])};Error.createError=function(e,b,c){var a=new Error(e);if(b)for(var d in b)a[d]=b[d];if(c)a.innerException=c;a.popStackFrame();return a};ss.Debug=window.Debug||function(){};ss.Debug.__typeName="Debug";if(!ss.Debug.writeln)ss.Debug.writeln=function(a){if(window.console){if(window.console.debug){window.console.debug(a);return}else if(window.console.log){window.console.log(a);return}}else if(window.opera&&window.opera.postError){window.opera.postError(a);return}};ss.Debug._fail=function(a){ss.Debug.writeln(a);eval("debugger;")};ss.Debug.assert=function(b,a){if(!b){a="Assert failed: "+a;confirm(a+"\r\n\r\nBreak into debugger?")&&ss.Debug._fail(a)}};ss.Debug.fail=function(a){ss.Debug._fail(a)};window.Type=Function;Type.__typeName="Type";window.__Namespace=function(a){this.__typeName=a};__Namespace.prototype={__namespace:true,getName:function(){return this.__typeName}};Type.registerNamespace=function(e){if(!window.__namespaces)window.__namespaces={};if(!window.__rootNamespaces)window.__rootNamespaces=[];if(window.__namespaces[e])return;for(var c=window,d=e.split("."),a=0;a0?a.substr(b+1):a};Type.prototype.getInterfaces=function(){return this.__interfaces};Type.prototype.isInstanceOfType=function(a){if(ss.isNullOrUndefined(a))return false;if(this==Object||a instanceof this)return true;var b=Type.getInstanceType(a);return this.isAssignableFrom(b)};Type.prototype.isAssignableFrom=function(c){if(this==Object||this==c)return true;if(this.__class){var a=c.__baseType;while(a){if(this==a)return true;a=a.__baseType}}else if(this.__interface){var b=c.__interfaces;if(b&&b.contains(this))return true;var a=c.__baseType;while(a){b=a.__interfaces;if(b&&b.contains(this))return true;a=a.__baseType}}return false};Type.isClass=function(a){return a.__class==true};Type.isEnum=function(a){return a.__enum==true};Type.isFlags=function(a){return a.__enum==true&&a.__flags==true};Type.isInterface=function(a){return a.__interface==true};Type.isNamespace=function(a){return a.__namespace==true};Type.canCast=function(a,b){return b.isInstanceOfType(a)};Type.safeCast=function(a,b){return b.isInstanceOfType(a)?a:null};Type.getInstanceType=function(b){var a=null;try{a=b.constructor}catch(c){}if(!a||!a.__typeName)a=Object;return a};Type.getType=function(a){if(!a)return null;if(!Type.__typeCache)Type.__typeCache={};var b=Type.__typeCache[a];if(!b){b=eval(a);Type.__typeCache[a]=b}return b};Type.parse=function(a){return Type.getType(a)};ss.Enum=function(){};ss.Enum.registerClass("Enum");ss.Enum.parse=function(d,i){var a=d.prototype;if(!d.__flags){for(var b in a)if(b===i)return a[b]}else{for(var g=i.split("|"),h=0,e=true,c=g.length-1;c>=0;c--){var j=g[c].trim(),f=false;for(var b in a)if(b===j){h|=a[b];f=true;break}if(!f){e=false;break}}if(e)return h}throw"Invalid Enumeration Value";};ss.Enum._enumToString=function(d){var b=this.prototype;if(!this.__flags||d===0){for(var c in b)if(b[c]===d)return c;throw"Invalid Enumeration Value";}else{var a=[];for(var c in b)if(b[c]&d){a.length&&a.add(" | ");a.add(c)}if(!a.length)throw"Invalid Enumeration Value";return a.join("")}};ss.Delegate=function(){};ss.Delegate.registerClass("Delegate");ss.Delegate.empty=function(){};ss.Delegate._contains=function(b,d,c){for(var a=0;a=0||a.indexOf("e")>=0||a.endsWith("f")||a.endsWith("F")?parseFloat(a):parseInt(a,10)};Number.prototype.format=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toString():this._netFormat(a,false)};Number.prototype.localeFormat=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toLocaleString():this._netFormat(a,true)};Number._commaFormat=function(a,i,n,o){var c=null,h=a.indexOf(n);if(h>0){c=a.substr(h);a=a.substr(0,h)}var j=a.startsWith("-");if(j)a=a.substr(1);var f=0,g=i[f];if(a.length1)c=parseInt(f.substr(1));var e=f.charAt(0);switch(e){case"d":case"D":a=parseInt(Math.abs(this)).toString();if(c!=-1)a=a.padLeft(c,"0");if(this<0)a="-"+a;break;case"x":case"X":a=parseInt(Math.abs(this)).toString(16);if(e=="X")a=a.toUpperCase();if(c!=-1)a=a.padLeft(c,"0");break;case"e":case"E":if(c==-1)a=this.toExponential();else a=this.toExponential(c);if(e=="E")a=a.toUpperCase();break;case"f":case"F":case"n":case"N":if(c==-1)c=b.numberDecimalDigits;a=this.toFixed(c).toString();if(c&&b.numberDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.numberDecimalSeparator+a.substr(d+1)}if(e=="n"||e=="N")a=Number._commaFormat(a,b.numberGroupSizes,b.numberDecimalSeparator,b.numberGroupSeparator);break;case"c":case"C":if(c==-1)c=b.currencyDecimalDigits;a=Math.abs(this).toFixed(c).toString();if(c&&b.currencyDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.currencyDecimalSeparator+a.substr(d+1)}a=Number._commaFormat(a,b.currencyGroupSizes,b.currencyDecimalSeparator,b.currencyGroupSeparator);if(this<0)a=String.format(b.currencyNegativePattern,a);else a=String.format(b.currencyPositivePattern,a);break;case"p":case"P":if(c==-1)c=b.percentDecimalDigits;a=(Math.abs(this)*100).toFixed(c).toString();if(c&&b.percentDecimalSeparator!="."){var d=a.indexOf(".");a=a.substr(0,d)+b.percentDecimalSeparator+a.substr(d+1)}a=Number._commaFormat(a,b.percentGroupSizes,b.percentDecimalSeparator,b.percentGroupSeparator);if(this<0)a=String.format(b.percentNegativePattern,a);else a=String.format(b.percentPositivePattern,a)}return a};String.__typeName="String";String.Empty="";String.compare=function(a,b,c){if(c){if(a)a=a.toUpperCase();if(b)b=b.toUpperCase()}a=a||"";b=b||"";return a==b?0:athis.length?false:this.substr(this.length-a.length)==a};String.equals=function(b,c,a){return String.compare(b,c,a)==0};String._format=function(b,c,a){if(!String._formatRE)String._formatRE=/(\{[^\}^\{]+\})/g;return b.replace(String._formatRE,function(h,d){var g=parseInt(d.substr(1)),b=c[g+1];if(ss.isNullOrUndefined(b))return"";if(b.format){var e=null,f=d.indexOf(":");if(f>0)e=d.substring(f+1,d.length-1);return a?b.localeFormat(e):b.format(e)}else return a?b.toLocaleString():b.toString()})};String.format=function(a){return String._format(a,arguments,false)};String.fromChar=function(a,d){for(var c=a,b=1;b=b)d=b-1;for(var c=a;c<=d;c++)if(f.indexOf(this.charAt(c))>=0)return c;return-1};String.prototype.insert=function(a,b){if(!b)return this;if(!a)return b+this;var c=this.substr(0,a),d=this.substr(a);return c+b+d};String.isNullOrEmpty=function(a){return!a||!a.length};String.prototype.lastIndexOfAny=function(f,a,e){var d=this.length;if(!d)return-1;a=a||d-1;e=e||d;var c=a-e+1;if(c<0)c=0;for(var b=a;b>=c;b--)if(f.indexOf(this.charAt(b))>=0)return b;return-1};String.localeFormat=function(a){return String._format(a,arguments,true)};String.prototype.padLeft=function(b,a){if(this.lengththis.length?this.substr(0,a):this.substr(0,a)+this.substr(a+b)};String.prototype.replaceAll=function(b,a){a=a||"";return this.split(b).join(a)};String.prototype.startsWith=function(a){return!a.length?true:a.length>this.length?false:this.substr(0,a.length)==a};if(!String.prototype.trim)String.prototype.trim=function(){return this.trimEnd().trimStart()};String.prototype.trimEnd=function(){return this.replace(/\s*$/,"")};String.prototype.trimStart=function(){return this.replace(/^\s*/,"")};Array.__typeName="Array";Array.__interfaces=[ss.IEnumerable];Array.prototype.add=function(a){this[this.length]=a};Array.prototype.addRange=function(a){this.push.apply(this,a)};Array.prototype.aggregate=function(b,c,d){for(var e=this.length,a=0;a=0};Array.prototype.dequeue=function(){return this.shift()};Array.prototype.enqueue=function(a){this._queue=true;this.push(a)};Array.prototype.peek=function(){if(this.length){var a=this._queue?0:this.length-1;return this[a]}return null};if(!Array.prototype.every)Array.prototype.every=function(b,c){for(var d=this.length,a=0;a=0){this.splice(a,1);return true}return false};Array.prototype.removeAt=function(a){this.splice(a,1)};Array.prototype.removeRange=function(b,a){return this.splice(b,a)};if(!Array.prototype.some)Array.prototype.some=function(b,c){for(var d=this.length,a=0;a1){var c=a.substring(1,b),d=a.substr(b+1);return new RegExp(c,d)}}return null};Date.__typeName="Date";Date.empty=null;Date.get_now=function(){return new Date};Date.get_today=function(){var a=new Date;return new Date(a.getFullYear(),a.getMonth(),a.getDate())};Date.isEmpty=function(a){return a===null||a.valueOf()===0};Date.prototype.format=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toString():a=="id"?this.toDateString():a=="it"?this.toTimeString():this._netFormat(a,false)};Date.prototype.localeFormat=function(a){return ss.isNullOrUndefined(a)||a.length==0||a=="i"?this.toLocaleString():a=="id"?this.toLocaleDateString():a=="it"?this.toLocaleTimeString():this._netFormat(a,true)};Date.prototype._netFormat=function(d,i){var b=this,c=i?ss.CultureInfo.CurrentCulture.dateFormat:ss.CultureInfo.InvariantCulture.dateFormat;if(d.length==1)switch(d){case"f":d=c.longDatePattern+" "+c.shortTimePattern;break;case"F":d=c.dateTimePattern;break;case"d":d=c.shortDatePattern;break;case"D":d=c.longDatePattern;break;case"t":d=c.shortTimePattern;break;case"T":d=c.longTimePattern;break;case"g":d=c.shortDatePattern+" "+c.shortTimePattern;break;case"G":d=c.shortDatePattern+" "+c.longTimePattern;break;case"R":case"r":c=ss.CultureInfo.InvariantCulture.dateFormat;d=c.gmtDateTimePattern;break;case"u":d=c.universalDateTimePattern;break;case"U":d=c.dateTimePattern;b=new Date(b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate(),b.getUTCHours(),b.getUTCMinutes(),b.getUTCSeconds(),b.getUTCMilliseconds());break;case"s":d=c.sortableDateTimePattern}if(d.charAt(0)=="%")d=d.substr(1);if(!Date._formatRE)Date._formatRE=/'.*?[^\\]'|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g;var g=Date._formatRE,h=new ss.StringBuilder;g.lastIndex=0;while(true){var j=g.lastIndex,f=g.exec(d);h.append(d.slice(j,f?f.index:d.length));if(!f)break;var e=f[0],a=e;switch(e){case"dddd":a=c.dayNames[b.getDay()];break;case"ddd":a=c.shortDayNames[b.getDay()];break;case"dd":a=b.getDate().toString().padLeft(2,"0");break;case"d":a=b.getDate();break;case"MMMM":a=c.monthNames[b.getMonth()];break;case"MMM":a=c.shortMonthNames[b.getMonth()];break;case"MM":a=(b.getMonth()+1).toString().padLeft(2,"0");break;case"M":a=b.getMonth()+1;break;case"yyyy":a=b.getFullYear();break;case"yy":a=(b.getFullYear()%100).toString().padLeft(2,"0");break;case"y":a=b.getFullYear()%100;break;case"h":case"hh":a=b.getHours()%12;if(!a)a="12";else if(e=="hh")a=a.toString().padLeft(2,"0");break;case"HH":a=b.getHours().toString().padLeft(2,"0");break;case"H":a=b.getHours();break;case"mm":a=b.getMinutes().toString().padLeft(2,"0");break;case"m":a=b.getMinutes();break;case"ss":a=b.getSeconds().toString().padLeft(2,"0");break;case"s":a=b.getSeconds();break;case"t":case"tt":a=b.getHours()<12?c.amDesignator:c.pmDesignator;if(e=="t")a=a.charAt(0);break;case"fff":a=b.getMilliseconds().toString().padLeft(3,"0");break;case"ff":a=b.getMilliseconds().toString().padLeft(3).substr(0,2);break;case"f":a=b.getMilliseconds().toString().padLeft(3).charAt(0);break;case"z":a=b.getTimezoneOffset()/60;a=(a>=0?"-":"+")+Math.floor(Math.abs(a));break;case"zz":case"zzz":a=b.getTimezoneOffset()/60;a=(a>=0?"-":"+")+Math.floor(Math.abs(a)).toString().padLeft(2,"0");if(e=="zzz")a+=c.timeSeparator+Math.abs(b.getTimezoneOffset()%60).toString().padLeft(2,"0");break;default:if(a.charAt(0)=="'")a=a.substr(1,a.length-2).replace(/\\'/g,"'")}h.append(a)}return h.toString()};Date.parseDate=function(a){return new Date(Date.parse(a))};Error.__typeName="Error";Error.prototype.popStackFrame=function(){if(ss.isNullOrUndefined(this.stack)||ss.isNullOrUndefined(this.fileName)||ss.isNullOrUndefined(this.lineNumber))return;var a=this.stack.split("\n"),c=a[0],e=this.fileName+":"+this.lineNumber;while(!ss.isNullOrUndefined(c)&&c.indexOf(e)===-1){a.shift();c=a[0]}var d=a[1];if(isNullOrUndefined(d))return;var b=d.match(/@(.*):(\d+)$/);if(ss.isNullOrUndefined(b))return;a.shift();this.stack=a.join("\n");this.fileName=b[1];this.lineNumber=parseInt(b[2])};Error.createError=function(e,b,c){var a=new Error(e);if(b)for(var d in b)a[d]=b[d];if(c)a.innerException=c;a.popStackFrame();return a};ss.Debug=window.Debug||function(){};ss.Debug.__typeName="Debug";if(!ss.Debug.writeln)ss.Debug.writeln=function(a){if(window.console){if(window.console.debug){window.console.debug(a);return}else if(window.console.log){window.console.log(a);return}}else if(window.opera&&window.opera.postError){window.opera.postError(a);return}};ss.Debug._fail=function(a){ss.Debug.writeln(a);eval("debugger;")};ss.Debug.assert=function(b,a){if(!b){a="Assert failed: "+a;confirm(a+"\r\n\r\nBreak into debugger?")&&ss.Debug._fail(a)}};ss.Debug.fail=function(a){ss.Debug._fail(a)};window.Type=Function;Type.__typeName="Type";window.__Namespace=function(a){this.__typeName=a};__Namespace.prototype={__namespace:true,getName:function(){return this.__typeName}};Type.registerNamespace=function(e){if(!window.__namespaces)window.__namespaces={};if(!window.__rootNamespaces)window.__rootNamespaces=[];if(window.__namespaces[e])return;for(var c=window,d=e.split("."),a=0;a0?a.substr(b+1):a};Type.prototype.getInterfaces=function(){return this.__interfaces};Type.prototype.isInstanceOfType=function(a){if(ss.isNullOrUndefined(a))return false;if(this==Object||a instanceof this)return true;var b=Type.getInstanceType(a);return this.isAssignableFrom(b)};Type.prototype.isAssignableFrom=function(c){if(this==Object||this==c)return true;if(this.__class){var a=c.__baseType;while(a){if(this==a)return true;a=a.__baseType}}else if(this.__interface){var b=c.__interfaces;if(b&&b.contains(this))return true;var a=c.__baseType;while(a){b=a.__interfaces;if(b&&b.contains(this))return true;a=a.__baseType}}return false};Type.isClass=function(a){return a.__class==true};Type.isEnum=function(a){return a.__enum==true};Type.isFlags=function(a){return a.__enum==true&&a.__flags==true};Type.isInterface=function(a){return a.__interface==true};Type.isNamespace=function(a){return a.__namespace==true};Type.canCast=function(a,b){return b.isInstanceOfType(a)};Type.safeCast=function(a,b){return b.isInstanceOfType(a)?a:null};Type.getInstanceType=function(b){var a=null;try{a=b.constructor}catch(c){}if(!a||!a.__typeName)a=Object;return a};Type.getType=function(a){if(!a)return null;if(!Type.__typeCache)Type.__typeCache={};var b=Type.__typeCache[a];if(!b){b=eval(a);Type.__typeCache[a]=b}return b};Type.parse=function(a){return Type.getType(a)};ss.Enum=function(){};ss.Enum.registerClass("Enum");ss.Enum.parse=function(d,i){var a=d.prototype;if(!d.__flags){for(var b in a)if(b===i)return a[b]}else{for(var g=i.split("|"),h=0,e=true,c=g.length-1;c>=0;c--){var j=g[c].trim(),f=false;for(var b in a)if(b===j){h|=a[b];f=true;break}if(!f){e=false;break}}if(e)return h}throw"Invalid Enumeration Value";};ss.Enum._enumToString=function(d){var b=this.prototype;if(!this.__flags||d===0){for(var c in b)if(b[c]===d)return c;throw"Invalid Enumeration Value";}else{var a=[];for(var c in b)if(b[c]&d){a.length&&a.add(" | ");a.add(c)}if(!a.length)throw"Invalid Enumeration Value";return a.join("")}};ss.Delegate=function(){};ss.Delegate.registerClass("Delegate");ss.Delegate.empty=function(){};ss.Delegate._contains=function(b,d,c){for(var a=0;a Date: Thu, 7 Jul 2011 10:52:25 -0700 Subject: [PATCH 028/285] Revert "Corrected Date formatting to match .NET for all .NET cultures with Gregorian calendars." This reverts commit b5064c373900cbebe1b93866d2b70182ced50bc3. --- bin/ref/mscorlib.debug.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/ref/mscorlib.debug.js b/bin/ref/mscorlib.debug.js index 67ab0f81d..f155fa7b3 100644 --- a/bin/ref/mscorlib.debug.js +++ b/bin/ref/mscorlib.debug.js @@ -810,7 +810,7 @@ Date.prototype._netFormat = function Date$_netFormat(format, useLocale) { if (format.length == 1) { switch (format) { - case 'f': format = dtf.longDatePattern + ' ' + dtf.shortTimePattern; break; + case 'f': format = dtf.longDatePattern + ' ' + dtf.shortTimePattern; case 'F': format = dtf.dateTimePattern; break; case 'd': format = dtf.shortDatePattern; break; @@ -822,8 +822,8 @@ Date.prototype._netFormat = function Date$_netFormat(format, useLocale) { case 'g': format = dtf.shortDatePattern + ' ' + dtf.shortTimePattern; break; case 'G': format = dtf.shortDatePattern + ' ' + dtf.longTimePattern; break; - case 'R': case 'r': dtf = ss.CultureInfo.InvariantCulture.dateFormat; format = dtf.gmtDateTimePattern; break; - case 'u': format = dtf.universalDateTimePattern; break; + case 'R': case 'r': format = dtf.gmtDateTimePattern; useUTC = true; break; + case 'u': format = dtf.universalDateTimePattern; useUTC = true; break; case 'U': format = dtf.dateTimePattern; useUTC = true; break; case 's': format = dtf.sortableDateTimePattern; break; @@ -835,10 +835,10 @@ Date.prototype._netFormat = function Date$_netFormat(format, useLocale) { } if (!Date._formatRE) { - Date._formatRE = /'.*?[^\\]'|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g; + Date._formatRE = /'[^']+'|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z/g; } - var re = Date._formatRE; + var re = Date._formatRE; var sb = new ss.StringBuilder(); var dt = this; if (useUTC) { @@ -947,7 +947,7 @@ Date.prototype._netFormat = function Date$_netFormat(format, useLocale) { break; default: if (part.charAt(0) == '\'') { - part = part.substr(1, part.length - 2).replace(/\\'/g, '\''); + part = part.substr(1, part.length - 2); } break; } From 574bd422a9a294893b438ec936779eace4b10d8f Mon Sep 17 00:00:00 2001 From: Matt Clay Date: Fri, 8 Jul 2011 10:37:41 -0700 Subject: [PATCH 029/285] Added missing Location methods. --- src/Libraries/Web/Html/Location.cs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/Libraries/Web/Html/Location.cs b/src/Libraries/Web/Html/Location.cs index b9e392214..3e2f206be 100644 --- a/src/Libraries/Web/Html/Location.cs +++ b/src/Libraries/Web/Html/Location.cs @@ -79,6 +79,26 @@ public string Search { } } + /// + /// Navigates the window to a new location and updates the browser's history. + /// + /// The URL to navigate to. + public void Assign(string url) { + } + + /// + /// Reload the current document. + /// + [AlternateSignature] + public extern void Reload(); + + /// + /// Reload the current document. + /// + /// If true, the document will be reloaded from the server, otherwise it may be loaded from the browser's cache. + public void Reload(bool forceGet) { + } + /// /// Navigates the window to a new location without updating the browser's history. /// From ec081771d26af8afff8c63d87b9363be9c89ac5d Mon Sep 17 00:00:00 2001 From: Matt Clay Date: Fri, 8 Jul 2011 10:40:35 -0700 Subject: [PATCH 030/285] Added missing History properties, methods and XML doc comments. --- src/Libraries/Web/Html/History.cs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/Libraries/Web/Html/History.cs b/src/Libraries/Web/Html/History.cs index 1495592a6..17ceef540 100644 --- a/src/Libraries/Web/Html/History.cs +++ b/src/Libraries/Web/Html/History.cs @@ -18,10 +18,33 @@ public sealed class History { private History() { } + /// + /// Retrieves the number of elements in the history list. + /// + [IntrinsicProperty] + public int Length { + get { + return 0; + } + } + + /// + /// Navigates to the previous page in history. + /// public void Back() { } + /// + /// Navigates to the next page in history. + /// public void Forward() { } + + /// + /// Navigates to a page in history relative to the current page. + /// + /// The number of pages in history to go back (negative) or forward (positive). + public void Go(int delta) { + } } } From f44877085e5379a7bec28fb6f0b5fac7a21203e2 Mon Sep 17 00:00:00 2001 From: Matt Clay Date: Fri, 8 Jul 2011 10:42:42 -0700 Subject: [PATCH 031/285] Added HTML5 properties and methods to History. --- src/Libraries/Web/Html/History.cs | 44 +++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/Libraries/Web/Html/History.cs b/src/Libraries/Web/Html/History.cs index 17ceef540..c0b91e086 100644 --- a/src/Libraries/Web/Html/History.cs +++ b/src/Libraries/Web/Html/History.cs @@ -46,5 +46,49 @@ public void Forward() { /// The number of pages in history to go back (negative) or forward (positive). public void Go(int delta) { } + + /// + /// Retrieves the current state object. + /// + [IntrinsicProperty] + public object State { + get { + return null; + } + } + + /// + /// Pushes the given data onto the session history stack. + /// + /// The data to serialize into JSON format. + /// The title to place into history. + [AlternateSignature] + public extern void PushState(object data, string title); + + /// + /// Pushes the given data onto the session history stack. + /// + /// The data to serialize into JSON format. + /// The title to place into history. + /// The URL to place into history. + public void PushState(object data, string title, string url) { + } + + /// + /// Updates the most recent entry on the history stack. + /// + /// The data to serialize into JSON format. + /// The title to place into history. + [AlternateSignature] + public extern void ReplaceState(object data, string title); + + /// + /// Updates the most recent entry on the history stack. + /// + /// The data to serialize into JSON format. + /// The title to place into history. + /// The URL to place into history. + public void ReplaceState(object data, string title, string url) { + } } } From 38198d1075598c1dd9795ddade6463bf19659af2 Mon Sep 17 00:00:00 2001 From: Matt Clay Date: Fri, 8 Jul 2011 11:38:24 -0700 Subject: [PATCH 032/285] Added generic Action and Func delegates for 3 to 8 args. --- src/Libraries/CoreLib/Action.cs | 24 ++++++++++++++++++++++++ src/Libraries/CoreLib/Func.cs | 24 ++++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/src/Libraries/CoreLib/Action.cs b/src/Libraries/CoreLib/Action.cs index 23e63186d..c3e2ac167 100644 --- a/src/Libraries/CoreLib/Action.cs +++ b/src/Libraries/CoreLib/Action.cs @@ -21,4 +21,28 @@ namespace System { [IgnoreNamespace] [Imported] public delegate void Action(T1 arg1, T2 arg2); + + [IgnoreNamespace] + [Imported] + public delegate void Action(T1 arg1, T2 arg2, T3 arg3); + + [IgnoreNamespace] + [Imported] + public delegate void Action(T1 arg1, T2 arg2, T3 arg3, T4 arg4); + + [IgnoreNamespace] + [Imported] + public delegate void Action(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5); + + [IgnoreNamespace] + [Imported] + public delegate void Action(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6); + + [IgnoreNamespace] + [Imported] + public delegate void Action(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7); + + [IgnoreNamespace] + [Imported] + public delegate void Action(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8); } diff --git a/src/Libraries/CoreLib/Func.cs b/src/Libraries/CoreLib/Func.cs index 88daa8c8a..b4fd5bf6d 100644 --- a/src/Libraries/CoreLib/Func.cs +++ b/src/Libraries/CoreLib/Func.cs @@ -21,4 +21,28 @@ namespace System { [IgnoreNamespace] [Imported] public delegate TResult Func(T1 arg1, T2 arg2); + + [IgnoreNamespace] + [Imported] + public delegate TResult Func(T1 arg1, T2 arg2, T3 arg3); + + [IgnoreNamespace] + [Imported] + public delegate TResult Func(T1 arg1, T2 arg2, T3 arg3, T4 arg4); + + [IgnoreNamespace] + [Imported] + public delegate TResult Func(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5); + + [IgnoreNamespace] + [Imported] + public delegate TResult Func(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6); + + [IgnoreNamespace] + [Imported] + public delegate TResult Func(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7); + + [IgnoreNamespace] + [Imported] + public delegate TResult Func(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8); } From f36576ed3959bcc70b81abb0af8acf4317b6101a Mon Sep 17 00:00:00 2001 From: Matt Clay Date: Fri, 8 Jul 2011 12:04:59 -0700 Subject: [PATCH 033/285] Added missing Navigator properties and XML doc comments. --- src/Libraries/Web/Html/Navigator.cs | 52 +++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/src/Libraries/Web/Html/Navigator.cs b/src/Libraries/Web/Html/Navigator.cs index 7416681f5..26fa24772 100644 --- a/src/Libraries/Web/Html/Navigator.cs +++ b/src/Libraries/Web/Html/Navigator.cs @@ -19,6 +19,19 @@ public sealed class Navigator { private Navigator() { } + /// + /// Returns the name of the browser. + /// + [IntrinsicProperty] + public static string AppName { + get { + return null; + } + } + + /// + /// Returns the version of the browser. + /// [IntrinsicProperty] public string AppVersion { get { @@ -26,6 +39,39 @@ public string AppVersion { } } + /// + /// (Gecko, Chrome, Opera, WebKit) Returns a string representing the language of the browser. + /// + [IntrinsicProperty] + public static string Language { + get { + return null; + } + } + + /// + /// (IE, Opera) Retrieves the operating system's natural language setting. + /// + [IntrinsicProperty] + public static string UserLanguage { + get { + return null; + } + } + + /// + /// (IE) Retrieves the default language used by the operating system. + /// + [IntrinsicProperty] + public static string SystemLanguage { + get { + return null; + } + } + + /// + /// (IE, Opera) Retrieves the current language. + /// [IntrinsicProperty] public string BrowserLanguage { get { @@ -54,6 +100,9 @@ public bool OnLine { } } + /// + /// Returns the name of the platform. + /// [IntrinsicProperty] public string Platform { get { @@ -68,6 +117,9 @@ public bool Standalone { } } + /// + /// Returns the complete User-Agent header. + /// [IntrinsicProperty] public string UserAgent { get { From 43b6290180ae2046d92c509cd8a39b279d440138 Mon Sep 17 00:00:00 2001 From: Matt Clay Date: Fri, 8 Jul 2011 15:48:07 -0700 Subject: [PATCH 034/285] Corrected namespace on ICollection and IReadonlyCollection. --- src/Libraries/CoreLib/Collections/ICollection.cs | 2 +- src/Libraries/CoreLib/Collections/IReadonlyCollection.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Libraries/CoreLib/Collections/ICollection.cs b/src/Libraries/CoreLib/Collections/ICollection.cs index dedbc5e4d..b7afbf26f 100644 --- a/src/Libraries/CoreLib/Collections/ICollection.cs +++ b/src/Libraries/CoreLib/Collections/ICollection.cs @@ -8,7 +8,7 @@ using System.Runtime.CompilerServices; -namespace System.Collections.Generic { +namespace System.Collections { [Imported] [ScriptNamespace("ss")] diff --git a/src/Libraries/CoreLib/Collections/IReadonlyCollection.cs b/src/Libraries/CoreLib/Collections/IReadonlyCollection.cs index 55852196f..a8ebfdb54 100644 --- a/src/Libraries/CoreLib/Collections/IReadonlyCollection.cs +++ b/src/Libraries/CoreLib/Collections/IReadonlyCollection.cs @@ -8,7 +8,7 @@ using System.Runtime.CompilerServices; -namespace System.Collections.Generic { +namespace System.Collections { [Imported] [ScriptNamespace("ss")] From 77b3c66c8aaec351b0cb785582adab4a558100d3 Mon Sep 17 00:00:00 2001 From: Matt Clay Date: Fri, 29 Jul 2011 12:39:17 -0700 Subject: [PATCH 035/285] Removed erroneous static modifier on Navigator properties. --- src/Libraries/Web/Html/Navigator.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Libraries/Web/Html/Navigator.cs b/src/Libraries/Web/Html/Navigator.cs index 26fa24772..63680749a 100644 --- a/src/Libraries/Web/Html/Navigator.cs +++ b/src/Libraries/Web/Html/Navigator.cs @@ -23,7 +23,7 @@ private Navigator() { /// Returns the name of the browser. /// [IntrinsicProperty] - public static string AppName { + public string AppName { get { return null; } @@ -43,7 +43,7 @@ public string AppVersion { /// (Gecko, Chrome, Opera, WebKit) Returns a string representing the language of the browser. /// [IntrinsicProperty] - public static string Language { + public string Language { get { return null; } @@ -53,7 +53,7 @@ public static string Language { /// (IE, Opera) Retrieves the operating system's natural language setting. /// [IntrinsicProperty] - public static string UserLanguage { + public string UserLanguage { get { return null; } @@ -63,7 +63,7 @@ public static string UserLanguage { /// (IE) Retrieves the default language used by the operating system. /// [IntrinsicProperty] - public static string SystemLanguage { + public string SystemLanguage { get { return null; } From 378d1f10bbd05e3e863e5ad42f39176660fcd324 Mon Sep 17 00:00:00 2001 From: nikhilk Date: Sat, 6 Aug 2011 19:49:35 -0700 Subject: [PATCH 036/285] Fix #30 - Added a ctor for ArrayList and List to allow specifying elements at construction time. --- src/Libraries/CoreLib/Collections/ArrayList.cs | 3 +++ src/Libraries/CoreLib/Collections/Generic/List.cs | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/Libraries/CoreLib/Collections/ArrayList.cs b/src/Libraries/CoreLib/Collections/ArrayList.cs index e84c40568..0dd106f6a 100644 --- a/src/Libraries/CoreLib/Collections/ArrayList.cs +++ b/src/Libraries/CoreLib/Collections/ArrayList.cs @@ -27,6 +27,9 @@ public ArrayList() { public ArrayList(int capacity) { } + public ArrayList(params object[] items) { + } + [IntrinsicProperty] [ScriptName("length")] public int Count { diff --git a/src/Libraries/CoreLib/Collections/Generic/List.cs b/src/Libraries/CoreLib/Collections/Generic/List.cs index afb74f78c..4fc57eb8c 100644 --- a/src/Libraries/CoreLib/Collections/Generic/List.cs +++ b/src/Libraries/CoreLib/Collections/Generic/List.cs @@ -24,6 +24,9 @@ public List() { public List(int capacity) { } + public List(params T[] items) { + } + [IntrinsicProperty] [ScriptName("length")] public int Count { From c632a2d536c385628ea43b8904342019ea1474a2 Mon Sep 17 00:00:00 2001 From: nikhilk Date: Sat, 6 Aug 2011 20:02:57 -0700 Subject: [PATCH 037/285] Misc code style guidelines related changes --- src/Libraries/Web/Html/History.cs | 20 ++++++++++---------- src/Libraries/Web/Html/Location.cs | 4 ++-- src/Libraries/Web/Html/Navigator.cs | 26 +++++++++++++------------- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/Libraries/Web/Html/History.cs b/src/Libraries/Web/Html/History.cs index c0b91e086..dacb5fdc6 100644 --- a/src/Libraries/Web/Html/History.cs +++ b/src/Libraries/Web/Html/History.cs @@ -28,6 +28,16 @@ public int Length { } } + /// + /// Retrieves the current state object. + /// + [IntrinsicProperty] + public object State { + get { + return null; + } + } + /// /// Navigates to the previous page in history. /// @@ -47,16 +57,6 @@ public void Forward() { public void Go(int delta) { } - /// - /// Retrieves the current state object. - /// - [IntrinsicProperty] - public object State { - get { - return null; - } - } - /// /// Pushes the given data onto the session history stack. /// diff --git a/src/Libraries/Web/Html/Location.cs b/src/Libraries/Web/Html/Location.cs index 3e2f206be..1b099dc8b 100644 --- a/src/Libraries/Web/Html/Location.cs +++ b/src/Libraries/Web/Html/Location.cs @@ -89,8 +89,8 @@ public void Assign(string url) { /// /// Reload the current document. /// - [AlternateSignature] - public extern void Reload(); + public void Reload() { + } /// /// Reload the current document. diff --git a/src/Libraries/Web/Html/Navigator.cs b/src/Libraries/Web/Html/Navigator.cs index 63680749a..3f6637a26 100644 --- a/src/Libraries/Web/Html/Navigator.cs +++ b/src/Libraries/Web/Html/Navigator.cs @@ -40,49 +40,49 @@ public string AppVersion { } /// - /// (Gecko, Chrome, Opera, WebKit) Returns a string representing the language of the browser. + /// Retrieves the current language (applies to IE and Opera). /// [IntrinsicProperty] - public string Language { + public string BrowserLanguage { get { return null; } } - /// - /// (IE, Opera) Retrieves the operating system's natural language setting. - /// [IntrinsicProperty] - public string UserLanguage { + public bool CookieEnabled { get { - return null; + return false; } } /// - /// (IE) Retrieves the default language used by the operating system. + /// Returns a string representing the language of the browser (applies to Gecko, Opera, and WebKit). /// [IntrinsicProperty] - public string SystemLanguage { + public string Language { get { return null; } } /// - /// (IE, Opera) Retrieves the current language. + /// Retrieves the default language used by the operating system (applies to IE). /// [IntrinsicProperty] - public string BrowserLanguage { + public string SystemLanguage { get { return null; } } + /// + /// Retrieves the operating system's natural language setting (applies to IE and Opera). + /// [IntrinsicProperty] - public bool CookieEnabled { + public string UserLanguage { get { - return false; + return null; } } From 7b11494d986b1a3e704cbb9499097ed3d07d2568 Mon Sep 17 00:00:00 2001 From: nikhilk Date: Sat, 6 Aug 2011 20:10:18 -0700 Subject: [PATCH 038/285] Misc code style guidelines related changes --- src/Libraries/Web/Html/History.cs | 28 ++++++++++++++-------------- src/Libraries/Web/Html/Location.cs | 4 ++-- src/Libraries/Web/Html/Navigator.cs | 26 +++++++++++++------------- 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/Libraries/Web/Html/History.cs b/src/Libraries/Web/Html/History.cs index c0b91e086..cb99bf7c1 100644 --- a/src/Libraries/Web/Html/History.cs +++ b/src/Libraries/Web/Html/History.cs @@ -28,6 +28,16 @@ public int Length { } } + /// + /// Retrieves the current state object. + /// + [IntrinsicProperty] + public object State { + get { + return null; + } + } + /// /// Navigates to the previous page in history. /// @@ -47,23 +57,13 @@ public void Forward() { public void Go(int delta) { } - /// - /// Retrieves the current state object. - /// - [IntrinsicProperty] - public object State { - get { - return null; - } - } - /// /// Pushes the given data onto the session history stack. /// /// The data to serialize into JSON format. /// The title to place into history. - [AlternateSignature] - public extern void PushState(object data, string title); + public void PushState(object data, string title) { + } /// /// Pushes the given data onto the session history stack. @@ -79,8 +79,8 @@ public void PushState(object data, string title, string url) { /// /// The data to serialize into JSON format. /// The title to place into history. - [AlternateSignature] - public extern void ReplaceState(object data, string title); + public void ReplaceState(object data, string title) { + } /// /// Updates the most recent entry on the history stack. diff --git a/src/Libraries/Web/Html/Location.cs b/src/Libraries/Web/Html/Location.cs index 3e2f206be..1b099dc8b 100644 --- a/src/Libraries/Web/Html/Location.cs +++ b/src/Libraries/Web/Html/Location.cs @@ -89,8 +89,8 @@ public void Assign(string url) { /// /// Reload the current document. /// - [AlternateSignature] - public extern void Reload(); + public void Reload() { + } /// /// Reload the current document. diff --git a/src/Libraries/Web/Html/Navigator.cs b/src/Libraries/Web/Html/Navigator.cs index 63680749a..3f6637a26 100644 --- a/src/Libraries/Web/Html/Navigator.cs +++ b/src/Libraries/Web/Html/Navigator.cs @@ -40,49 +40,49 @@ public string AppVersion { } /// - /// (Gecko, Chrome, Opera, WebKit) Returns a string representing the language of the browser. + /// Retrieves the current language (applies to IE and Opera). /// [IntrinsicProperty] - public string Language { + public string BrowserLanguage { get { return null; } } - /// - /// (IE, Opera) Retrieves the operating system's natural language setting. - /// [IntrinsicProperty] - public string UserLanguage { + public bool CookieEnabled { get { - return null; + return false; } } /// - /// (IE) Retrieves the default language used by the operating system. + /// Returns a string representing the language of the browser (applies to Gecko, Opera, and WebKit). /// [IntrinsicProperty] - public string SystemLanguage { + public string Language { get { return null; } } /// - /// (IE, Opera) Retrieves the current language. + /// Retrieves the default language used by the operating system (applies to IE). /// [IntrinsicProperty] - public string BrowserLanguage { + public string SystemLanguage { get { return null; } } + /// + /// Retrieves the operating system's natural language setting (applies to IE and Opera). + /// [IntrinsicProperty] - public bool CookieEnabled { + public string UserLanguage { get { - return false; + return null; } } From b160ff708b3a98f1255739aad6189cd755852260 Mon Sep 17 00:00:00 2001 From: nikhilk Date: Sun, 7 Aug 2011 02:23:50 -0700 Subject: [PATCH 039/285] Sources for compiler(ssc)/preprocessor(sspp) executables Demonstrate using script# core programmatically --- bin/ref/ScriptSharp.dll | Bin 509952 -> 500224 bytes bin/ref/ssc.exe | Bin 5120 -> 0 bytes bin/ref/sspp.exe | Bin 5120 -> 0 bytes src/Runtime/Client/Core/CoreScript.csproj | 12 +- src/ScriptSharp.sln | 29 ++ src/Tools/Compiler/Application.cs | 251 ++++++++++++++++++ src/Tools/Compiler/Compiler.csproj | 71 +++++ src/Tools/Compiler/Properties/AssemblyInfo.cs | 14 + src/Tools/Preprocessor/Application.cs | 164 ++++++++++++ src/Tools/Preprocessor/Preprocessor.csproj | 71 +++++ .../Preprocessor/Properties/AssemblyInfo.cs | 14 + src/Utility/CommandLine.cs | 137 ++++++++++ src/Utility/FileInputStreamSource.cs | 57 ++++ src/Utility/FileOutputStreamSource.cs | 64 +++++ 14 files changed, 878 insertions(+), 6 deletions(-) delete mode 100644 bin/ref/ssc.exe delete mode 100644 bin/ref/sspp.exe create mode 100644 src/Tools/Compiler/Application.cs create mode 100644 src/Tools/Compiler/Compiler.csproj create mode 100644 src/Tools/Compiler/Properties/AssemblyInfo.cs create mode 100644 src/Tools/Preprocessor/Application.cs create mode 100644 src/Tools/Preprocessor/Preprocessor.csproj create mode 100644 src/Tools/Preprocessor/Properties/AssemblyInfo.cs create mode 100644 src/Utility/CommandLine.cs create mode 100644 src/Utility/FileInputStreamSource.cs create mode 100644 src/Utility/FileOutputStreamSource.cs diff --git a/bin/ref/ScriptSharp.dll b/bin/ref/ScriptSharp.dll index c110b167494326170c24a4c7e575602f42183250..282feff28caf46782e592a97ccf059d49c69019d 100644 GIT binary patch literal 500224 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
    1. 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%0AW6Oo9CO;vj8ScgC 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≥8zCYGKtM^BH?_ZtO2cf;!kIw2j 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

      ?AgwpYF0V*y)+-`}MtD3++9=|K4tc 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 literal 509952 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

    2. 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

      BE& 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Úi)~3eC7qe136R% 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ȟR>l2L&=+s{XzJ+2$IwB+`>_w5v@t1+C`q4 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 diff --git a/bin/ref/sspp.exe b/bin/ref/sspp.exe deleted file mode 100644 index 1e97a94227697f0db30a759d7d993bb1671ed88d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5120 zcmeHKeQ;D)6+dtDK?o%!;X`Sud2INwl)NOc76@6AkPVQUkeFT4v8=+|%}w&i+xH&t zy-l;lVS=sGQajQ**eQwy{;&#Etk4Rz2u1qg;IvalTVWifGsO;q6@=;^qQ&36Z#TPv zh;_#Q?AhG&?mg$;bAI>Suama>9;ZAa%160&jpz`*oEikbIU9nyr2MBP^!(U2rXP}8 z-LTl|mE_D2Ez=Ua^^OqN7l)g_7GUL&>2AqNO=aQQgVo3gXy&R6rlfM3>-W zEZUOi4K<<;*$b^`+=L}%ee13luI#&(yt;DEX7x)~+l!Y)2OpGEHfrx6-VJ z9pA1Get-9GdmlJZb6nor{!y)c>)EpppPW-aO@8`?<6Hl^<*=?Fh#x5X;8o>9KkIsK zPlxio*>^wt`i$A{57^0&>C|62+O>Vwo+VGs`A6IK=kM)0cJZ47n}2ipWZ9O$#A+W+ z20maf^*N=8YjL58I24Z?Q|bHEoGEjlTN=J+sl45dq|93s+%$124T3ge6ml( zl>R<*K1~t$XriYRNH`k4TqP*H&I`tYiql97X)y(`{9mS4@C}0Rr>9W=rKq15JWt}< zX@V~hyi@Rg!5GyC{NaKAUNQG1>c!w_lpK)Kg@Xm2?G!ku+CIE3c zCdgZF$z1*;P`{nVqh3L)!0)2f;N$3zkT0fhq246q ztLa(P*yn%MJIbwnYgiZrZvQqj1V`S%TVQ>sZ{SHdQl7 zwXxMaxzfpcbSU`nM#o`^n4XGguFe`=Y{^*CWu(Mi(;ilam?OMkK(dq9gr?+HZQI+?Bxikg!J+UX7C-JptTy5{D@ zk#8UhM;ar2HdDK^qr5%TVKY3m@Zy+u?hb1nWO2SHIOWOWv-g<1X5n{EH0_GDRGurT zzd%I?ABc8M4ZOPzX`^G0W9{%d-(!k}v-gW-<&~giDvh?u2oxAh1KEb*-;FwzfaTq6@$4|x#yp5 zk!VaB6wwrkN{0`I{PW%Nyy}{2yie#;tt`L;g$8`UOOcd*8BpQR5YcD2JmQ;judP}u zO`~}*&MbakVCR_kI|5iHzv64C@iF|}M}E~A4uz|~629<_>2lkC^^kw>!S(O(0ioJx zhz&$Ncu_}OC=S22qK>nshpGH1&Wj>9i8h%wi{{2OYR1+@vEP~MF!aVPXm!W9%dOmJ zn)dO!oN0~xW^xiwx&{ugsl~M@u1v<1Zk@l;$XI8R+#qV7u>VB_d?J^Tk?MUK<`&+N z@`?RN9sfq&H;SC28scmOi7iQwL$lgvMy4|h8>M`Vz6mY51FFh4C13A z(5jF+(5vL4pNW=7&*lFB2TB4a7rivddq=VKkmyrQnO}fnsN;+w*O8Eyn3TYeVYCY` z1Z#0&%|g2Zhol27Mi#gU4MQIXHCsTiaF8=LEP*qHsHnmo@6ZPuF2>eU6@H$Lb+8c^ zz7+V>kO%dN+4mz?GN5zOGZ#Y`dLAPS_5vdR%S0c!OmNJrAVv+pI1bX3U_zG%yv#4?uTiS~GBe_4H}aXF ze^q2zZZYh{uFck^-IPV*Qx2WQ-%S<3Hp<^QR~F}kf=G82`z4$j@jc@ z#?3^n>Liqb8o!)S4XuYcZssi&-e5|WhmEy#GvuOfY6K$w&iQ2n4{XrimdeR%6xFi) zRh|XcPC9Oj(PMs0JoEfw9DF;-jcoW#w;{3F`Xq3&?hacUK=RhhoR4XBe#WW{%G&Yr zFFd}jY=G&q&Uw(UIxWV4+0SghoYWfQJZ%g5dsN+F=}8GARimKEK(88sy{>9F2 - - + + - - + + - - + + diff --git a/src/ScriptSharp.sln b/src/ScriptSharp.sln index e9fa13b17..68c06faed 100644 --- a/src/ScriptSharp.sln +++ b/src/ScriptSharp.sln @@ -20,6 +20,9 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Knockout", "Libraries\Knockout\Knockout.csproj", "{DCA0235F-88C1-43A0-A8DB-FF765D344E06}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CoreScript", "Runtime\Client\Core\CoreScript.csproj", "{8780581F-7C26-4B64-9235-BA1C458DF36E}" + ProjectSection(ProjectDependencies) = postProject + {35370E49-29C1-4121-A357-3CCE460B7CF5} = {35370E49-29C1-4121-A357-3CCE460B7CF5} + EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Client", "Client", "{F08ABF8F-6A05-4C42-9C09-9CAC7B4DC1D0}" EndProject @@ -33,6 +36,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Testing", "Tools\Testing\Te EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FxCop", "Tools\FxCop\FxCop.csproj", "{B87E403B-354D-47A1-9876-14C618A80A41}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compiler", "Tools\Compiler\Compiler.csproj", "{1772A38C-7204-42DC-B81D-6C74D17A4F66}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Preprocessor", "Tools\Preprocessor\Preprocessor.csproj", "{35370E49-29C1-4121-A357-3CCE460B7CF5}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|.NET = Debug|.NET @@ -163,6 +170,26 @@ Global {B87E403B-354D-47A1-9876-14C618A80A41}.Release|Any CPU.Build.0 = Release|Any CPU {B87E403B-354D-47A1-9876-14C618A80A41}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {B87E403B-354D-47A1-9876-14C618A80A41}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {1772A38C-7204-42DC-B81D-6C74D17A4F66}.Debug|.NET.ActiveCfg = Debug|Any CPU + {1772A38C-7204-42DC-B81D-6C74D17A4F66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1772A38C-7204-42DC-B81D-6C74D17A4F66}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1772A38C-7204-42DC-B81D-6C74D17A4F66}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {1772A38C-7204-42DC-B81D-6C74D17A4F66}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {1772A38C-7204-42DC-B81D-6C74D17A4F66}.Release|.NET.ActiveCfg = Release|Any CPU + {1772A38C-7204-42DC-B81D-6C74D17A4F66}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1772A38C-7204-42DC-B81D-6C74D17A4F66}.Release|Any CPU.Build.0 = Release|Any CPU + {1772A38C-7204-42DC-B81D-6C74D17A4F66}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {1772A38C-7204-42DC-B81D-6C74D17A4F66}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {35370E49-29C1-4121-A357-3CCE460B7CF5}.Debug|.NET.ActiveCfg = Debug|Any CPU + {35370E49-29C1-4121-A357-3CCE460B7CF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {35370E49-29C1-4121-A357-3CCE460B7CF5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {35370E49-29C1-4121-A357-3CCE460B7CF5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {35370E49-29C1-4121-A357-3CCE460B7CF5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {35370E49-29C1-4121-A357-3CCE460B7CF5}.Release|.NET.ActiveCfg = Release|Any CPU + {35370E49-29C1-4121-A357-3CCE460B7CF5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {35370E49-29C1-4121-A357-3CCE460B7CF5}.Release|Any CPU.Build.0 = Release|Any CPU + {35370E49-29C1-4121-A357-3CCE460B7CF5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {35370E49-29C1-4121-A357-3CCE460B7CF5}.Release|Mixed Platforms.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -181,5 +208,7 @@ Global {8780581F-7C26-4B64-9235-BA1C458DF36E} = {F08ABF8F-6A05-4C42-9C09-9CAC7B4DC1D0} {31456150-1093-407F-9231-58D0F663945D} = {37239BB8-2FA4-4831-A7EA-AF89D74EA10E} {B87E403B-354D-47A1-9876-14C618A80A41} = {37239BB8-2FA4-4831-A7EA-AF89D74EA10E} + {1772A38C-7204-42DC-B81D-6C74D17A4F66} = {37239BB8-2FA4-4831-A7EA-AF89D74EA10E} + {35370E49-29C1-4121-A357-3CCE460B7CF5} = {37239BB8-2FA4-4831-A7EA-AF89D74EA10E} EndGlobalSection EndGlobal diff --git a/src/Tools/Compiler/Application.cs b/src/Tools/Compiler/Application.cs new file mode 100644 index 000000000..342bb732b --- /dev/null +++ b/src/Tools/Compiler/Application.cs @@ -0,0 +1,251 @@ +// Application.cs +// Script#/Tools/Compiler +// Copyright (c) Nikhil Kothari. +// Copyright (c) Microsoft Corporation. +// This source code is subject to terms and conditions of the Microsoft +// Public License. A copy of the license can be found in License.txt. +// + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Diagnostics; +using System.IO; + +namespace ScriptSharp { + + internal static class Application { + + private static readonly string AboutTextFormat = @" +Script# Compiler v{0} (C# to JavaScript compiler) +Written by Nikhil Kothari. +More information at http://projects.nikhilk.net/ScriptSharp. +"; + + private static readonly string UsageText = @" +Usage: + ssc [/nologo] [/?] + [/debug] + [/tests] + [/minimize] + [/D:] + [/template: