📄 sscorlib.debug.js
字号:
s = s.replace(String._htmlEncRE,
function String$htmlEncode$replace(str, m) {
return String._htmlEncMap[m];
});
}
return s;
}
String.prototype.indexOfAny = function String$indexOfAny(chars, startIndex, count) {
var length = this.length;
if (!length) {
return -1;
}
startIndex = startIndex || 0;
count = count || length;
var endIndex = startIndex + count - 1;
if (endIndex >= length) {
endIndex = length - 1;
}
for (var i = startIndex; i <= endIndex; i++) {
if (chars.indexOf(this.charAt(i)) >= 0) {
return i;
}
}
return -1;
}
String.prototype.insert = function String$insert(index, value) {
if (!value) {
return this;
}
if (!index) {
return value + this;
}
var s1 = this.substr(0, index);
var s2 = this.substr(index);
return s1 + value + s2;
}
String.isNullOrEmpty = function String$isNullOrEmpty(s) {
return !s || !s.length;
}
String.prototype.lastIndexOfAny = function String$lastIndexOfAny(chars, startIndex, count) {
var length = this.length;
if (!length) {
return -1;
}
startIndex = startIndex || length - 1;
count = count || length;
var endIndex = startIndex - count + 1;
if (endIndex < 0) {
endIndex = 0;
}
for (var i = startIndex; i >= endIndex; i--) {
if (chars.indexOf(this.charAt(i)) >= 0) {
return i;
}
}
return -1;
}
String.localeFormat = function String$localeFormat(format) {
return String._format(format, arguments, /* useLocale */ true);
}
String.prototype.padLeft = function String$padLeft(totalWidth, ch) {
if (this.length < totalWidth) {
ch = ch || ' ';
return String.fromChar(ch, totalWidth - this.length) + this;
}
return this;
}
String.prototype.padRight = function String$padRight(totalWidth, ch) {
if (this.length < totalWidth) {
ch = ch || ' ';
return this + String.fromChar(ch, totalWidth - this.length);
}
return this;
}
String.prototype.quote = function String$quote() {
if (!String._quoteMap) {
String._quoteMap = { '\\' : '\\\\',
'\'' : '\\\'', '"' : '\\"',
'\r' : '\\r', '\n' : '\\n', '\t' : '\\t', '\f' : '\\f',
'\b' : '\\b' };
String._quoteRE = new RegExp("([\'\"\\\x00-\x1F\x7F-\uFFFF])", "g");
}
var s = this;
if (String._quoteRE.test(s)) {
s = this.replace(String._quoteRE,
function String$quote$replace(str, m) {
var c = String._quoteMap[m];
if (c) {
return c;
}
c = m.charCodeAt(0);
return '\\u' + c.toString(16).toUpperCase().padLeft(4, '0');
});
}
return '"' + s + '"';
}
String.prototype.remove = function String$remove(index, count) {
if (!count || ((index + count) > this.length)) {
return this.substr(0, index);
}
return this.substr(0, index) + this.substr(index + count);
}
String.prototype._replace = String.prototype.replace;
String.prototype.replace = function String$replace(oldValue, newValue) {
if (oldValue.constructor == String) {
newValue = newValue || '';
return this.split(oldValue).join(newValue);
}
return String.prototype._replace.call(this, oldValue, newValue);
}
String.prototype.startsWith = function String$startsWith(prefix) {
if (!prefix.length) {
return true;
}
if (prefix.length > this.length) {
return false;
}
return (this.substr(0, prefix.length) == prefix);
}
String.prototype.trim = function String$trim() {
return this.trimEnd().trimStart();
}
String.prototype.trimEnd = function String$trimEnd() {
return this.replace(/\s*$/, '');
}
String.prototype.trimStart = function String$trimStart() {
return this.replace(/^\s*/, '');
}
String.prototype.unquote = function String$unquote() {
return eval('(' + this + ')');
}
///////////////////////////////////////////////////////////////////////////////
// Array Extensions
Array.__typeName = 'Array';
Array.prototype.add = function Array$add(item) {
this[this.length] = item;
}
Array.prototype.addRange = function Array$addRange(items) {
if (!items) {
return;
}
var length = items.length;
for (var index = 0; index < length; index++) {
this[this.length] = items[index];
}
}
Array.prototype.aggregate = function Array$aggregate(seed, callback) {
var length = this.length;
for (var index = 0; index < length; index++) {
seed = callback(seed, this[index], index, this);
}
return seed;
}
Array.prototype.clear = function Array$clear() {
if (this.length > 0) {
this.splice(0, this.length);
}
}
Array.prototype.clone = function Array$clone() {
var length = this.length;
var array = new Array(length);
for (var index = 0; index < length; index++) {
array[index] = this[index];
}
return array;
}
Array.prototype.contains = function Array$contains(item) {
var index = this.indexOf(item);
return (index >= 0);
}
Array.prototype.dequeue = function Array$dequeue() {
return this.shift();
}
Array.prototype.enqueue = function Array$enqueue(item) {
this.push(item);
}
if (!Array.prototype.every) {
Array.prototype.every = function Array$every(callback) {
for (var i = this.length - 1; i >= 0; i--) {
if (!callback(this[i], i, this)) {
return false;
}
}
return true;
}
}
Array.prototype.extract = function Array$extract(index, count) {
if (!count) {
return this.slice(index);
}
return this.slice(index, index + count);
}
if (!Array.prototype.filter) {
Array.prototype.filter = function Array$filter(callback) {
var filtered = [];
for (var i = 0; i < this.length; i++) {
if (callback(this[i], i, this)) {
filtered.add(this[i]);
}
}
return filtered;
}
}
if (!Array.prototype.forEach) {
Array.prototype.forEach = function Array$forEach(callback) {
for (var i = 0; i < this.length; i++) {
callback(this[i], i, this);
}
}
}
Array.prototype.groupBy = function Array$groupBy(callback) {
var length = this.length;
var groups = [];
var keys = { };
for (var index = 0; index < length; index++) {
var key = callback(this[index], index);
if (String.isNullOrEmpty(key)) {
continue;
}
var items = keys[key];
if (!items) {
items = [];
items.key = key;
keys[key] = items;
groups.add(items);
}
items.add(this[index]);
}
return groups;
}
Array.prototype.index = function Array$index(callback) {
var length = this.length;
var items = { };
for (var index = 0; index < length; index++) {
var key = callback(this[index], index);
if (String.isNullOrEmpty(key)) {
continue;
}
items[key] = this[index];
}
return items;
}
Array.prototype.indexOf = function Array$indexOf(item) {
var length = this.length;
if (length) {
for (var index = 0; index < length; index++) {
if (this[index] === item) {
return index;
}
}
}
return -1;
}
Array.prototype.insert = function Array$insert(index, item) {
this.splice(index, 0, item);
}
Array.prototype.insertRange = function Array$insertRange(index, items) {
this.splice(index, 0, items);
}
if (!Array.prototype.map) {
Array.prototype.map = function Array$map(callback) {
var mapped = new Array(this.length);
for (var i = this.length - 1; i >= 0; i--) {
mapped[i] = callback(this[i], i, this);
}
return mapped;
}
}
Array.parse = function Array$parse(s) {
return eval('(' + s + ')');
}
Array.prototype.remove = function Array$remove(item) {
var index = this.indexOf(item);
if (index >= 0) {
this.splice(index, 1);
return true;
}
return false;
}
Array.prototype.removeAt = function Array$removeAt(index) {
return this.splice(index, 1)[0];
}
Array.prototype.removeRange = function Array$removeRange(index, count) {
return this.splice(index, count);
}
if (!Array.prototype.some) {
Array.prototype.some = function Array$some(callback) {
for (var i = this.length - 1; i >= 0; i--) {
if (callback(this[i], i, this)) {
return true;
}
}
return false;
}
}
///////////////////////////////////////////////////////////////////////////////
// RegExp Extensions
RegExp.__typeName = 'RegExp';
RegExp.parse = function RegExp$parse(s) {
if (s.startsWith('/')) {
var endSlashIndex = s.lastIndexOf('/');
if (endSlashIndex > 1) {
var expression = s.substring(1, endSlashIndex);
var flags = s.substr(endSlashIndex + 1);
return new RegExp(expression, flags);
}
}
return null;
}
///////////////////////////////////////////////////////////////////////////////
// Date Extensions
Date.__typeName = 'Date';
Date.get_now = function Date$get_now() {
return new Date();
}
Date.get_today = function Date$get_today() {
var d = new Date();
return new Date(d.getFullYear(), d.getMonth(), d.getDate());
}
Date.prototype.format = function Date$format(format, useLocale) {
if (isNullOrUndefined(format) ||
(format.length == 0) || (format == 'i')) {
if (useLocale) {
return this.toLocaleString();
}
else {
return this.toString();
}
}
if (format == 'id') {
if (useLocale) {
return this.toLocaleDateString();
}
else {
return this.toDateString();
}
}
if (format == 'it') {
if (useLocale) {
return this.toLocaleTimeString();
}
else {
return this.toTimeString();
}
}
return this._netFormat(format, useLocale);
}
Date.prototype._netFormat = function Date$_netFormat(format, useLocale) {
var dtf = useLocale ? CultureInfo.Current.dateFormat : CultureInfo.Neutral.dateFormat;
var useUTC = false;
if (format.length == 1) {
switch (format) {
case 'f': format = dtf.longDatePattern + ' ' + dtf.shortTimePattern;
case 'F': format = dtf.dateTimePattern; break;
case 'd': format = dtf.shortDatePattern; break;
case 'D': format = dtf.longDatePattern; break;
case 't': format = dtf.shortTimePattern; break;
case 'T': format = dtf.longTimePattern; break;
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 's': format = dtf.sortableDateTimePattern; break;
}
}
if (format.charAt(0) == '%') {
format = format.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 re = Date._formatRE;
var sb = new StringBuilder();
var dt = this;
if (useUTC) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -