sugar-rails 1.3.5 → 1.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/sugar/rails/version.rb +2 -2
- data/vendor/assets/javascripts/precompiled/development/array.js +19 -16
- data/vendor/assets/javascripts/precompiled/development/core.js +7 -1
- data/vendor/assets/javascripts/precompiled/development/date.js +44 -15
- data/vendor/assets/javascripts/precompiled/development/es5.js +0 -6
- data/vendor/assets/javascripts/precompiled/development/number.js +20 -14
- data/vendor/assets/javascripts/precompiled/development/object.js +4 -3
- data/vendor/assets/javascripts/precompiled/development/string.js +22 -11
- data/vendor/assets/javascripts/precompiled/minified/array.js +15 -14
- data/vendor/assets/javascripts/precompiled/minified/core.js +9 -9
- data/vendor/assets/javascripts/precompiled/minified/date.js +34 -33
- data/vendor/assets/javascripts/precompiled/minified/date_locales.js +1 -1
- data/vendor/assets/javascripts/precompiled/minified/date_ranges.js +2 -2
- data/vendor/assets/javascripts/precompiled/minified/es5.js +6 -6
- data/vendor/assets/javascripts/precompiled/minified/function.js +3 -3
- data/vendor/assets/javascripts/precompiled/minified/inflections.js +7 -7
- data/vendor/assets/javascripts/precompiled/minified/language.js +9 -9
- data/vendor/assets/javascripts/precompiled/minified/number.js +5 -5
- data/vendor/assets/javascripts/precompiled/minified/object.js +6 -6
- data/vendor/assets/javascripts/precompiled/minified/regexp.js +1 -1
- data/vendor/assets/javascripts/precompiled/minified/string.js +12 -12
- data/vendor/assets/javascripts/sugar-development.js +117 -67
- data/vendor/assets/javascripts/sugar-full.js +111 -109
- data/vendor/assets/javascripts/sugar.js +94 -92
- metadata +4 -4
data/lib/sugar/rails/version.rb
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
} else if(isRegExp(match) && isString(el)) {
|
17
17
|
// Match against a regexp
|
18
18
|
return regexp(match).test(el);
|
19
|
-
} else if(isFunction(match)
|
19
|
+
} else if(isFunction(match)) {
|
20
20
|
// Match against a filtering function
|
21
21
|
return match.apply(scope, params);
|
22
22
|
} else if(isObject(match) && isObjectPrimitive(el)) {
|
@@ -317,10 +317,12 @@
|
|
317
317
|
var result = [], tmp;
|
318
318
|
multiArgs(arguments, function(a) {
|
319
319
|
if(isObjectPrimitive(a)) {
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
320
|
+
try {
|
321
|
+
tmp = array.prototype.slice.call(a, 0);
|
322
|
+
if(tmp.length > 0) {
|
323
|
+
a = tmp;
|
324
|
+
}
|
325
|
+
} catch(e) {}
|
324
326
|
}
|
325
327
|
result = result.concat(a);
|
326
328
|
});
|
@@ -905,15 +907,8 @@
|
|
905
907
|
*
|
906
908
|
***/
|
907
909
|
'sample': function(num) {
|
908
|
-
var
|
909
|
-
|
910
|
-
while(result.length < num) {
|
911
|
-
index = floor(math.random() * (arr.length - 1));
|
912
|
-
result.push(arr[index]);
|
913
|
-
arr.removeAt(index);
|
914
|
-
if(arr.length == 0) break;
|
915
|
-
}
|
916
|
-
return arguments.length > 0 ? result : result[0];
|
910
|
+
var arr = this.randomize();
|
911
|
+
return arguments.length > 0 ? arr.slice(0, num) : arr[0];
|
917
912
|
},
|
918
913
|
|
919
914
|
/***
|
@@ -1102,6 +1097,7 @@
|
|
1102
1097
|
* @extra In cases where a callback is used, instead of %element, index%, the callback will instead be passed %key, value%. Enumerable methods are also available to extended objects as instance methods.
|
1103
1098
|
*
|
1104
1099
|
* @set
|
1100
|
+
* each
|
1105
1101
|
* map
|
1106
1102
|
* any
|
1107
1103
|
* all
|
@@ -1131,7 +1127,8 @@
|
|
1131
1127
|
extendSimilar(object, false, false, names, function(methods, name) {
|
1132
1128
|
methods[name] = function(obj, arg1, arg2) {
|
1133
1129
|
var result;
|
1134
|
-
|
1130
|
+
var x = keysWithCoercion(obj);
|
1131
|
+
result = array.prototype[name].call(x, function(key) {
|
1135
1132
|
if(mapping) {
|
1136
1133
|
return transformArgument(obj[key], arg1, obj, [key, obj[key], obj]);
|
1137
1134
|
} else {
|
@@ -1168,6 +1165,12 @@
|
|
1168
1165
|
return values.reduce.apply(values, multiArgs(arguments).slice(1));
|
1169
1166
|
},
|
1170
1167
|
|
1168
|
+
'each': function(obj, fn) {
|
1169
|
+
checkCallback(fn);
|
1170
|
+
iterateOverObject(obj, fn);
|
1171
|
+
return obj;
|
1172
|
+
},
|
1173
|
+
|
1171
1174
|
/***
|
1172
1175
|
* @method size(<obj>)
|
1173
1176
|
* @returns Number
|
@@ -1186,7 +1189,7 @@
|
|
1186
1189
|
|
1187
1190
|
buildEnhancements();
|
1188
1191
|
buildAlphanumericSort();
|
1189
|
-
buildEnumerableMethods('
|
1192
|
+
buildEnumerableMethods('any,all,none,count,find,findAll,isEmpty');
|
1190
1193
|
buildEnumerableMethods('sum,average,min,max,least,most', true);
|
1191
1194
|
buildObjectInstanceMethods('map,reduce,size', Hash);
|
1192
1195
|
|
@@ -120,6 +120,12 @@
|
|
120
120
|
return result;
|
121
121
|
}
|
122
122
|
|
123
|
+
function checkCallback(fn) {
|
124
|
+
if(!fn || !fn.call) {
|
125
|
+
throw new TypeError('Callback is not callable');
|
126
|
+
}
|
127
|
+
}
|
128
|
+
|
123
129
|
|
124
130
|
// General helpers
|
125
131
|
|
@@ -154,7 +160,7 @@
|
|
154
160
|
var key;
|
155
161
|
for(key in obj) {
|
156
162
|
if(!hasOwnProperty(obj, key)) continue;
|
157
|
-
if(fn.call(obj, key, obj[key]) === false) break;
|
163
|
+
if(fn.call(obj, key, obj[key], obj) === false) break;
|
158
164
|
}
|
159
165
|
}
|
160
166
|
|
@@ -10,8 +10,10 @@
|
|
10
10
|
var CurrentLocalization;
|
11
11
|
|
12
12
|
var TimeFormat = ['ampm','hour','minute','second','ampm','utc','offset_sign','offset_hours','offset_minutes','ampm']
|
13
|
-
var
|
14
|
-
var
|
13
|
+
var DecimalReg = '(?:[,.]\\d+)?';
|
14
|
+
var HoursReg = '\\d{1,2}' + DecimalReg;
|
15
|
+
var SixtyReg = '[0-5]\\d' + DecimalReg;
|
16
|
+
var RequiredTime = '({t})?\\s*('+HoursReg+')(?:{h}('+SixtyReg+')?{m}(?::?('+SixtyReg+'){s})?\\s*(?:({t})|(Z)|(?:([+-])(\\d{2,2})(?::?(\\d{2,2}))?)?)?|\\s*({t}))';
|
15
17
|
|
16
18
|
var KanjiDigits = '〇一二三四五六七八九十百千万';
|
17
19
|
var FullWidthDigits = '0123456789';
|
@@ -411,6 +413,10 @@
|
|
411
413
|
return arrayToAlternates(arr);
|
412
414
|
}
|
413
415
|
|
416
|
+
function setDefault(name, value) {
|
417
|
+
loc[name] = loc[name] || value;
|
418
|
+
}
|
419
|
+
|
414
420
|
function setModifiers() {
|
415
421
|
var arr = [];
|
416
422
|
loc.modifiersByName = {};
|
@@ -439,10 +445,10 @@
|
|
439
445
|
setArray('units', false, 8);
|
440
446
|
setArray('numbers', false, 10);
|
441
447
|
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
448
|
+
setDefault('code', localeCode);
|
449
|
+
setDefault('date', getDigit(1,2, loc['digitDate']));
|
450
|
+
setDefault('year', "'\\d{2}|" + getDigit(4,4));
|
451
|
+
setDefault('num', getNum());
|
446
452
|
|
447
453
|
setModifiers();
|
448
454
|
|
@@ -537,8 +543,10 @@
|
|
537
543
|
arr.forEach(function(key, i) {
|
538
544
|
value = match[i + 1];
|
539
545
|
if(isUndefined(value) || value === '') return;
|
540
|
-
if(key === 'year')
|
541
|
-
|
546
|
+
if(key === 'year') {
|
547
|
+
obj.yearAsString = value.replace(/'/, '');
|
548
|
+
}
|
549
|
+
num = parseFloat(value.replace(/'/, '').replace(/,/, '.'));
|
542
550
|
obj[key] = !isNaN(num) ? num : value.toLowerCase();
|
543
551
|
});
|
544
552
|
return obj;
|
@@ -855,7 +863,8 @@
|
|
855
863
|
// Date comparison helpers
|
856
864
|
|
857
865
|
function compareDate(d, find, buffer, forceUTC) {
|
858
|
-
var p
|
866
|
+
var p, t, min, max, minOffset, maxOffset, override, capitalized, accuracy = 0, loBuffer = 0, hiBuffer = 0;
|
867
|
+
p = getExtendedDate(find, null, null, forceUTC);
|
859
868
|
if(buffer > 0) {
|
860
869
|
loBuffer = hiBuffer = buffer;
|
861
870
|
override = true;
|
@@ -881,12 +890,27 @@
|
|
881
890
|
hiBuffer = -50;
|
882
891
|
}
|
883
892
|
}
|
884
|
-
|
885
|
-
|
886
|
-
|
893
|
+
t = d.getTime();
|
894
|
+
min = p.date.getTime();
|
895
|
+
max = max || (min + accuracy);
|
896
|
+
max = compensateForTimezoneTraversal(d, min, max);
|
887
897
|
return t >= (min - loBuffer) && t <= (max + hiBuffer);
|
888
898
|
}
|
889
899
|
|
900
|
+
function compensateForTimezoneTraversal(d, min, max) {
|
901
|
+
var dMin, dMax, minOffset, maxOffset;
|
902
|
+
dMin = new Date(min);
|
903
|
+
dMax = new Date(max).utc(d.isUTC());
|
904
|
+
if(callDateGet(dMax, 'Hours') !== 23) {
|
905
|
+
minOffset = dMin.getTimezoneOffset();
|
906
|
+
maxOffset = dMax.getTimezoneOffset();
|
907
|
+
if(minOffset !== maxOffset) {
|
908
|
+
max += (maxOffset - minOffset).minutes();
|
909
|
+
}
|
910
|
+
}
|
911
|
+
return max;
|
912
|
+
}
|
913
|
+
|
890
914
|
function updateDate(d, params, reset, advance, prefer) {
|
891
915
|
var weekday, specificityIndex;
|
892
916
|
|
@@ -917,7 +941,9 @@
|
|
917
941
|
}
|
918
942
|
|
919
943
|
// "date" can also be passed for the day
|
920
|
-
if(params['date'])
|
944
|
+
if(isDefined(params['date'])) {
|
945
|
+
params['day'] = params['date'];
|
946
|
+
}
|
921
947
|
|
922
948
|
// Reset any unit lower than the least specific unit set. Do not do this for weeks
|
923
949
|
// or for years. This needs to be performed before the acutal setting of the date
|
@@ -1030,7 +1056,9 @@
|
|
1030
1056
|
// (or 29th in the case of a leap year).
|
1031
1057
|
|
1032
1058
|
function checkMonthTraversal(date, targetMonth) {
|
1033
|
-
if(targetMonth < 0)
|
1059
|
+
if(targetMonth < 0) {
|
1060
|
+
targetMonth = targetMonth % 12 + 12;
|
1061
|
+
}
|
1034
1062
|
if(targetMonth % 12 != callDateGet(date, 'Month')) {
|
1035
1063
|
callDateSet(date, 'Date', 0);
|
1036
1064
|
}
|
@@ -2152,7 +2180,7 @@
|
|
2152
2180
|
'units': 'millisecond:|s,second:|s,minute:|s,hour:|s,day:|s,week:|s,month:|s,year:|s',
|
2153
2181
|
'numbers': 'one,two,three,four,five,six,seven,eight,nine,ten',
|
2154
2182
|
'articles': 'a,an,the',
|
2155
|
-
'tokens':
|
2183
|
+
'tokens': 'the,st|nd|rd|th,of',
|
2156
2184
|
'short': '{Month} {d}, {yyyy}',
|
2157
2185
|
'long': '{Month} {d}, {yyyy} {h}:{mm}{tt}',
|
2158
2186
|
'full': '{Weekday} {Month} {d}, {yyyy} {h}:{mm}:{ss}{tt}',
|
@@ -2184,6 +2212,7 @@
|
|
2184
2212
|
'{0} {num}{1} {day} of {month} {year?}',
|
2185
2213
|
'{weekday?} {month} {date}{1?} {year?}',
|
2186
2214
|
'{date} {month} {year}',
|
2215
|
+
'{date} {month}',
|
2187
2216
|
'{shift} {weekday}',
|
2188
2217
|
'{shift} week {weekday}',
|
2189
2218
|
'{weekday} {2?} {shift} week',
|
@@ -84,12 +84,6 @@
|
|
84
84
|
}
|
85
85
|
}
|
86
86
|
|
87
|
-
function checkCallback(fn) {
|
88
|
-
if(!fn || !fn.call) {
|
89
|
-
throw new TypeError('Callback is not callable');
|
90
|
-
}
|
91
|
-
}
|
92
|
-
|
93
87
|
function checkFirstArgumentExists(args) {
|
94
88
|
if(args.length === 0) {
|
95
89
|
throw new TypeError('First argument must be defined');
|
@@ -146,7 +146,7 @@
|
|
146
146
|
*
|
147
147
|
***/
|
148
148
|
'isOdd': function() {
|
149
|
-
return !this.isMultipleOf(2);
|
149
|
+
return !isNaN(this) && !this.isMultipleOf(2);
|
150
150
|
},
|
151
151
|
|
152
152
|
/***
|
@@ -194,21 +194,27 @@
|
|
194
194
|
*
|
195
195
|
***/
|
196
196
|
'format': function(place, thousands, decimal) {
|
197
|
-
var str, split,
|
198
|
-
if(
|
199
|
-
|
200
|
-
thousands = thousands || ',';
|
201
|
-
decimal = decimal || '.';
|
202
|
-
split = str.split('.');
|
203
|
-
str = split[0];
|
204
|
-
after = split[1] || '';
|
205
|
-
while (str.match(r)) {
|
206
|
-
str = str.replace(r, '$1' + thousands + '$2');
|
197
|
+
var i, str, split, integer, fraction, result = '';
|
198
|
+
if(isUndefined(thousands)) {
|
199
|
+
thousands = ',';
|
207
200
|
}
|
208
|
-
if(
|
209
|
-
|
201
|
+
if(isUndefined(decimal)) {
|
202
|
+
decimal = '.';
|
210
203
|
}
|
211
|
-
|
204
|
+
str = (isNumber(place) ? round(this, place || 0).toFixed(math.max(place, 0)) : this.toString()).replace(/^-/, '');
|
205
|
+
split = str.split('.');
|
206
|
+
integer = split[0];
|
207
|
+
fraction = split[1];
|
208
|
+
for(i = integer.length; i > 0; i -= 3) {
|
209
|
+
if(i < integer.length) {
|
210
|
+
result = thousands + result;
|
211
|
+
}
|
212
|
+
result = integer.slice(math.max(0, i - 3), i) + result;
|
213
|
+
}
|
214
|
+
if(fraction) {
|
215
|
+
result += decimal + repeatString((place || 0) - fraction.length, '0') + fraction;
|
216
|
+
}
|
217
|
+
return (this < 0 ? '-' : '') + result;
|
212
218
|
},
|
213
219
|
|
214
220
|
/***
|
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
/***
|
3
2
|
* @package Object
|
4
3
|
* @dependency core
|
@@ -28,7 +27,7 @@
|
|
28
27
|
});
|
29
28
|
if(!key && paramIsArray) key = obj.length.toString();
|
30
29
|
setParamsObject(obj, key, value);
|
31
|
-
} else if(value.match(/^[
|
30
|
+
} else if(value.match(/^[+-]?\d+(\.\d+)?$/)) {
|
32
31
|
obj[param] = parseFloat(value);
|
33
32
|
} else if(value === 'true') {
|
34
33
|
obj[param] = true;
|
@@ -308,7 +307,9 @@
|
|
308
307
|
* @example
|
309
308
|
*
|
310
309
|
* Object.extend();
|
311
|
-
* [2,4,6].map(Math.exp).tap(function(
|
310
|
+
* [2,4,6].map(Math.exp).tap(function(arr) {
|
311
|
+
* arr.pop()
|
312
|
+
* });
|
312
313
|
* [2,4,6].map(Math.exp).tap('pop').map(Math.round); -> [7,55]
|
313
314
|
*
|
314
315
|
***/
|
@@ -92,8 +92,6 @@
|
|
92
92
|
}
|
93
93
|
}
|
94
94
|
|
95
|
-
|
96
|
-
|
97
95
|
extend(string, true, false, {
|
98
96
|
|
99
97
|
/***
|
@@ -152,7 +150,12 @@
|
|
152
150
|
*
|
153
151
|
***/
|
154
152
|
'escapeHTML': function() {
|
155
|
-
return this.replace(/&/g,
|
153
|
+
return this.replace(/&/g, '&' )
|
154
|
+
.replace(/</g, '<' )
|
155
|
+
.replace(/>/g, '>' )
|
156
|
+
.replace(/"/g, '"')
|
157
|
+
.replace(/'/g, ''')
|
158
|
+
.replace(/\//g, '/');
|
156
159
|
},
|
157
160
|
|
158
161
|
/***
|
@@ -166,7 +169,12 @@
|
|
166
169
|
*
|
167
170
|
***/
|
168
171
|
'unescapeHTML': function() {
|
169
|
-
return this.replace(/&
|
172
|
+
return this.replace(/&/g, '&')
|
173
|
+
.replace(/</g, '<')
|
174
|
+
.replace(/>/g, '>')
|
175
|
+
.replace(/"/g, '"')
|
176
|
+
.replace(/'/g, "'")
|
177
|
+
.replace(///g, '/');
|
170
178
|
},
|
171
179
|
|
172
180
|
/***
|
@@ -753,17 +761,21 @@
|
|
753
761
|
*
|
754
762
|
* 'jumpy'.repeat(2) -> 'jumpyjumpy'
|
755
763
|
* 'a'.repeat(5) -> 'aaaaa'
|
764
|
+
* 'a'.repeat(0) -> ''
|
756
765
|
*
|
757
766
|
***/
|
758
767
|
'repeat': function(num) {
|
759
|
-
var
|
760
|
-
if(isNumber(num)
|
761
|
-
|
762
|
-
|
763
|
-
|
768
|
+
var result = '', str = this;
|
769
|
+
if(!isNumber(num) || num < 1) return '';
|
770
|
+
while (num) {
|
771
|
+
if (num & 1) {
|
772
|
+
result += str;
|
773
|
+
}
|
774
|
+
if (num >>= 1) {
|
775
|
+
str += str;
|
764
776
|
}
|
765
777
|
}
|
766
|
-
return
|
778
|
+
return result;
|
767
779
|
},
|
768
780
|
|
769
781
|
/***
|
@@ -851,7 +863,6 @@
|
|
851
863
|
});
|
852
864
|
return context;
|
853
865
|
}
|
854
|
-
|
855
866
|
});
|
856
867
|
|
857
868
|
|
@@ -1,16 +1,17 @@
|
|
1
|
-
function Ba(a,b,c,d){var e=k;if(a===b)return k;else if(D(b)&&C(a))return r(b).test(a);else if(
|
2
|
-
function T(a,b,c,d){var e,
|
3
|
-
function Fa(a,b){var c=[],d={},e;T(a,function(
|
4
|
-
function Ka(a){var b=[];F(a,function(c){b=b.concat(c)});return b}function Ia(a,b,c,d){var e=b in a;if(d){a[b]||(a[b]=[]);e=a[b].indexOf(c)!==-1}return e}function Ga(a,b){var c=
|
5
|
-
function Ma(a){if(q[Na])a=a.toLowerCase();return a.replace(q[Oa],"")}function Pa(a,b){var c=a.charAt(b);return(q[Qa]||{})[c]||c}function Ra(a){var b=q[Sa];return a?b.indexOf(a):l}var Sa="AlphanumericSortOrder",Oa="AlphanumericSortIgnore",Na="AlphanumericSortIgnoreCase",Qa="AlphanumericSortEquivalents";E(q,n,n,{create:function(){var a=[],b;F(arguments,function(c){if(ka(c)){b=q.prototype.slice.call(c);if(b.length>0)c=b}a=a.concat(c)});return a}});
|
6
|
-
E(q,k,n,{find:function(a,b,c){return Ea(this,a,b,c)},findAll:function(a,b,c){var d=[];T(this,function(e,
|
7
|
-
arguments)},clone:function(){return ma([],this)},unique:function(a){return Fa(this,a)},flatten:function(a){return Ja(this,a)},union:function(){return Fa(this.concat(Ka(arguments)))},intersect:function(){return Ha(this,Ka(arguments),n)},subtract:function(){return Ha(this,Ka(arguments),k)},at:function(){return
|
1
|
+
function Ba(a,b,c,d){var e=k;if(a===b)return k;else if(D(b)&&C(a))return r(b).test(a);else if(A(b))return b.apply(c,d);else if(M(b)&&ka(a)){G(b,function(f){Ba(a[f],b[f],c,[a[f],a])||(e=n)});return e}else return va(a)&&va(b)?ua(a)===ua(b):a===b}function R(a,b,c,d){return K(b)?a:A(b)?b.apply(c,d||[]):A(a[b])?a[b].call(a):a[b]}
|
2
|
+
function T(a,b,c,d){var e,f;if(c<0)c=a.length+c;f=isNaN(c)?0:c;for(c=d===k?a.length+f:a.length;f<c;){e=f%a.length;if(e in a){if(b.call(a,a[e],e,a)===n)break}else return Ca(a,b,f,d);f++}}function Ca(a,b,c){var d=[],e;for(e in a)e in a&&e>>>0==e&&e!=4294967295&&e>=c&&d.push(parseInt(e));d.sort().each(function(f){return b.call(a,a[f],f,a)});return a}function Ea(a,b,c,d,e){var f,h;T(a,function(i,j,g){if(Ba(i,b,g,[i,j,g])){f=i;h=j;return n}},c,d);return e?h:f}
|
3
|
+
function Fa(a,b){var c=[],d={},e;T(a,function(f,h){e=b?R(f,b,a,[f,h,a]):f;Ga(d,e)||c.push(f)});return c}function Ha(a,b,c){var d=[],e={};b.each(function(f){Ga(e,f)});a.each(function(f){var h=ua(f),i=!va(f);if(Ia(e,h,f,i)!=c){var j=0;if(i)for(h=e[h];j<h.length;)if(h[j]===f)h.splice(j,1);else j+=1;else delete e[h];d.push(f)}});return d}function Ja(a,b,c){b=b||Infinity;c=c||0;var d=[];T(a,function(e){if(da(e)&&c<b)d=d.concat(Ja(e,b,c+1));else d.push(e)});return d}
|
4
|
+
function Ka(a){var b=[];F(a,function(c){b=b.concat(c)});return b}function Ia(a,b,c,d){var e=b in a;if(d){a[b]||(a[b]=[]);e=a[b].indexOf(c)!==-1}return e}function Ga(a,b){var c=ua(b),d=!va(b),e=Ia(a,c,b,d);if(d)a[c].push(b);else a[c]=b;return e}function La(a,b,c,d){var e,f=[],h=c==="max",i=c==="min",j=Array.isArray(a);G(a,function(g){var m=a[g];g=R(m,b,a,j?[m,parseInt(g),a]:[]);if(g===e)f.push(m);else if(K(e)||h&&g>e||i&&g<e){f=[m];e=g}});j||(f=Ja(f,1));return d?f:f[0]}
|
5
|
+
function Ma(a){if(q[Na])a=a.toLowerCase();return a.replace(q[Oa],"")}function Pa(a,b){var c=a.charAt(b);return(q[Qa]||{})[c]||c}function Ra(a){var b=q[Sa];return a?b.indexOf(a):l}var Sa="AlphanumericSortOrder",Oa="AlphanumericSortIgnore",Na="AlphanumericSortIgnoreCase",Qa="AlphanumericSortEquivalents";E(q,n,n,{create:function(){var a=[],b;F(arguments,function(c){if(ka(c))try{b=q.prototype.slice.call(c,0);if(b.length>0)c=b}catch(d){}a=a.concat(c)});return a}});
|
6
|
+
E(q,k,n,{find:function(a,b,c){return Ea(this,a,b,c)},findAll:function(a,b,c){var d=[];T(this,function(e,f,h){Ba(e,a,h,[e,f,h])&&d.push(e)},b,c);return d},findIndex:function(a,b,c){a=Ea(this,a,b,c,k);return K(a)?-1:a},count:function(a){if(K(a))return this.length;return this.findAll(a).length},removeAt:function(a,b){if(K(a))return this;if(K(b))b=a;for(var c=0;c<=b-a;c++)this.splice(a,1);return this},include:function(a,b){return this.clone().add(a,b)},exclude:function(){return q.prototype.remove.apply(this.clone(),
|
7
|
+
arguments)},clone:function(){return ma([],this)},unique:function(a){return Fa(this,a)},flatten:function(a){return Ja(this,a)},union:function(){return Fa(this.concat(Ka(arguments)))},intersect:function(){return Ha(this,Ka(arguments),n)},subtract:function(){return Ha(this,Ka(arguments),k)},at:function(){return wa(this,arguments)},first:function(a){if(K(a))return this[0];if(a<0)a=0;return this.slice(0,a)},last:function(a){if(K(a))return this[this.length-1];return this.slice(this.length-a<0?0:this.length-
|
8
8
|
a)},from:function(a){return this.slice(a)},to:function(a){if(K(a))a=this.length;return this.slice(0,a)},min:function(a,b){return La(this,a,"min",b)},max:function(a,b){return La(this,a,"max",b)},least:function(a,b){return La(this.groupBy.apply(this,[a]),"length","min",b)},most:function(a,b){return La(this.groupBy.apply(this,[a]),"length","max",b)},sum:function(a){a=a?this.map(a):this;return a.length>0?a.reduce(function(b,c){return b+c}):0},average:function(a){a=a?this.map(a):this;return a.length>0?
|
9
|
-
a.sum()/a.length:0},inGroups:function(a,b){var c=arguments.length>1,d=this,e=[],
|
10
|
-
0},sortBy:function(a,b){var c=this.clone();c.sort(function(d,e){var
|
11
|
-
d),c=a[--d],a[d]=a[b],a[b]=c);return a},zip:function(){var a=F(arguments);return this.map(function(b,c){return[b].concat(a.map(function(d){return c in d?d[c]:l}))})},sample:function(a){var b=
|
12
|
-
|
13
|
-
|
14
|
-
E(p,n,n,{map:function(a,b){return Ta(a).reduce(function(c,d){c[d]=R(a[d],b,a,[d,a[d],a]);return c},{})},reduce:function(a){var b=Ta(a).map(function(c){return a[c]});return b.reduce.apply(b,F(arguments).slice(1))},
|
9
|
+
a.sum()/a.length:0},inGroups:function(a,b){var c=arguments.length>1,d=this,e=[],f=N(this.length/a,void 0,"ceil");oa(0,a-1,function(h){h=h*f;var i=d.slice(h,h+f);c&&i.length<f&&oa(1,f-i.length,function(){i=i.add(b)});e.push(i)});return e},inGroupsOf:function(a,b){var c=[],d=this.length,e=this,f;if(d===0||a===0)return e;if(K(a))a=1;if(K(b))b=l;oa(0,N(d/a,void 0,"ceil")-1,function(h){for(f=e.slice(a*h,a*h+a);f.length<a;)f.push(b);c.push(f)});return c},isEmpty:function(){return this.compact().length==
|
10
|
+
0},sortBy:function(a,b){var c=this.clone();c.sort(function(d,e){var f,h;f=R(d,a,c,[d]);h=R(e,a,c,[e]);if(C(f)&&C(h)){f=f;h=h;var i,j,g,m,o=0,v=0;f=Ma(f);h=Ma(h);do{g=Pa(f,o);m=Pa(h,o);i=Ra(g);j=Ra(m);if(i===-1||j===-1){i=f.charCodeAt(o)||l;j=h.charCodeAt(o)||l}g=g!==f.charAt(o);m=m!==h.charAt(o);if(g!==m&&v===0)v=g-m;o+=1}while(i!=l&&j!=l&&i===j);f=i===j?v:i<j?-1:1}else f=f<h?-1:f>h?1:0;return f*(b?-1:1)});return c},randomize:function(){for(var a=this.concat(),b,c,d=a.length;d;b=parseInt(w.random()*
|
11
|
+
d),c=a[--d],a[d]=a[b],a[b]=c);return a},zip:function(){var a=F(arguments);return this.map(function(b,c){return[b].concat(a.map(function(d){return c in d?d[c]:l}))})},sample:function(a){var b=this.randomize();return arguments.length>0?b.slice(0,a):b[0]},each:function(a,b,c){T(this,a,b,c);return this},add:function(a,b){if(!B(u(b))||isNaN(b))b=this.length;q.prototype.splice.apply(this,[b,0].concat(a));return this},remove:function(){var a,b=this;F(arguments,function(c){for(a=0;a<b.length;)if(Ba(b[a],
|
12
|
+
c,b,[b[a],a,b]))b.splice(a,1);else a++});return b},compact:function(a){var b=[];T(this,function(c){if(da(c))b.push(c.compact());else if(a&&c)b.push(c);else!a&&c!=l&&c.valueOf()===c.valueOf()&&b.push(c)});return b},groupBy:function(a,b){var c=this,d={},e;T(c,function(f,h){e=R(f,a,c,[f,h,c]);d[e]||(d[e]=[]);d[e].push(f)});b&&G(d,b);return d},none:function(){return!this.any.apply(this,arguments)}});E(q,k,n,{all:q.prototype.every,any:q.prototype.some,insert:q.prototype.add});
|
13
|
+
function Ta(a){if(a&&a.valueOf)a=a.valueOf();return p.keys(a)}function Ua(a,b){H(p,n,n,a,function(c,d){c[d]=function(e,f,h){var i=Ta(e);h=q.prototype[d].call(i,function(j){return b?R(e[j],f,e,[j,e[j],e]):Ba(e[j],f,e,[j,e[j],e])},h);if(da(h))h=h.reduce(function(j,g){j[g]=e[g];return j},{});return h}});xa(a,na)}
|
14
|
+
E(p,n,n,{map:function(a,b){return Ta(a).reduce(function(c,d){c[d]=R(a[d],b,a,[d,a[d],a]);return c},{})},reduce:function(a){var b=Ta(a).map(function(c){return a[c]});return b.reduce.apply(b,F(arguments).slice(1))},each:function(a,b){ja(b);G(a,b);return a},size:function(a){return Ta(a).length}});
|
15
|
+
(function(){H(q,k,function(){var a=arguments;return a.length>0&&!A(a[0])},"map,every,all,some,any,none,filter",function(a,b){a[b]=function(c){return this[b](function(d,e){return b==="map"?R(d,c,this,[d,e,this]):Ba(d,c,this,[d,e,this])})}})})();
|
15
16
|
(function(){q[Sa]="A\u00c1\u00c0\u00c2\u00c3\u0104BC\u0106\u010c\u00c7D\u010e\u00d0E\u00c9\u00c8\u011a\u00ca\u00cb\u0118FG\u011eH\u0131I\u00cd\u00cc\u0130\u00ce\u00cfJKL\u0141MN\u0143\u0147\u00d1O\u00d3\u00d2\u00d4PQR\u0158S\u015a\u0160\u015eT\u0164U\u00da\u00d9\u016e\u00db\u00dcVWXY\u00ddZ\u0179\u017b\u017d\u00de\u00c6\u0152\u00d8\u00d5\u00c5\u00c4\u00d6".split("").map(function(b){return b+b.toLowerCase()}).join("");var a={};T("A\u00c1\u00c0\u00c2\u00c3\u00c4,C\u00c7,E\u00c9\u00c8\u00ca\u00cb,I\u00cd\u00cc\u0130\u00ce\u00cf,O\u00d3\u00d2\u00d4\u00d5\u00d6,S\u00df,U\u00da\u00d9\u00db\u00dc".split(","),
|
16
|
-
function(b){var c=b.charAt(0);T(b.slice(1).split(""),function(d){a[d]=c;a[d.toLowerCase()]=c.toLowerCase()})});q[Na]=k;q[Qa]=a})();Ua("
|
17
|
+
function(b){var c=b.charAt(0);T(b.slice(1).split(""),function(d){a[d]=c;a[d.toLowerCase()]=c.toLowerCase()})});q[Na]=k;q[Qa]=a})();Ua("any,all,none,count,find,findAll,isEmpty");Ua("sum,average,min,max,least,most",k);xa("map,reduce,size",na);
|
@@ -1,9 +1,9 @@
|
|
1
|
-
var k=true,l=null,n=false;function aa(a){return function(){return a}}var p=Object,q=Array,r=RegExp,s=Date,t=String,u=Number,
|
2
|
-
function
|
3
|
-
function H(a,b,c,d,e){var
|
4
|
-
function ka(a){return a&&typeof a==="object"}function
|
5
|
-
function
|
6
|
-
function ra(){return"\t\n\u000b\u000c\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u2028\u2029\u3000\ufeff"}function
|
7
|
-
function
|
8
|
-
function
|
9
|
-
function
|
1
|
+
var k=true,l=null,n=false;function aa(a){return function(){return a}}var p=Object,q=Array,r=RegExp,s=Date,t=String,u=Number,w=Math,ba=typeof global!=="undefined"?global:this,ca=p.defineProperty&&p.defineProperties,x="Array,Boolean,Date,Function,Number,String,RegExp".split(","),da=z(x[0]),ea=z(x[1]),fa=z(x[2]),A=z(x[3]),B=z(x[4]),C=z(x[5]),D=z(x[6]);function z(a){return function(b){return p.prototype.toString.call(b)==="[object "+a+"]"}}
|
2
|
+
function ga(a){if(!a.SugarMethods){ha(a,"SugarMethods",{});E(a,n,n,{restore:function(){var b=arguments.length===0,c=F(arguments);G(a.SugarMethods,function(d,e){if(b||c.indexOf(d)>-1)ha(e.wa?a.prototype:a,d,e.method)})},extend:function(b,c,d){E(a,d!==n,c,b)}})}}function E(a,b,c,d){var e=b?a.prototype:a,f;ga(a);G(d,function(h,i){f=e[h];if(typeof c==="function")i=ia(e[h],i,c);if(c!==n||!e[h])ha(e,h,i);a.SugarMethods[h]={wa:b,method:i,Da:f}})}
|
3
|
+
function H(a,b,c,d,e){var f={};d=C(d)?d.split(","):d;d.forEach(function(h,i){e(f,h,i)});E(a,b,c,f)}function ia(a,b,c){return function(){return a&&(c===k||!c.apply(this,arguments))?a.apply(this,arguments):b.apply(this,arguments)}}function ha(a,b,c){if(ca)p.defineProperty(a,b,{value:c,configurable:k,enumerable:n,writable:k});else a[b]=c}function F(a,b){var c=[],d;for(d=0;d<a.length;d++){c.push(a[d]);b&&b.call(a,a[d],d)}return c}
|
4
|
+
function ja(a){if(!a||!a.call)throw new TypeError("Callback is not callable");}function I(a){return a!==void 0}function K(a){return a===void 0}function ka(a){return a&&typeof a==="object"}function M(a){return!!a&&p.prototype.toString.call(a)==="[object Object]"&&"hasOwnProperty"in a}function la(a,b){return p.hasOwnProperty.call(a,b)}function G(a,b){for(var c in a)if(la(a,c))if(b.call(a,c,a[c],a)===n)break}function ma(a,b){G(b,function(c){a[c]=b[c]});return a}function na(a){ma(this,a)}
|
5
|
+
na.prototype.constructor=p;function oa(a,b,c,d){var e=[];a=parseInt(a);for(var f=d<0;!f&&a<=b||f&&a>=b;){e.push(a);c&&c.call(this,a);a+=d||1}return e}function N(a,b,c){c=w[c||"round"];var d=w.pow(10,w.abs(b||0));if(b<0)d=1/d;return c(a*d)/d}function pa(a,b){return N(a,b,"floor")}function O(a,b,c,d){d=w.abs(a).toString(d||10);d=qa(b-d.replace(/\.\d+/,"").length,"0")+d;if(c||a<0)d=(a<0?"-":"+")+d;return d}
|
6
|
+
function ra(a){if(a>=11&&a<=13)return"th";else switch(a%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}}function sa(){return"\t\n\u000b\u000c\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u2028\u2029\u3000\ufeff"}function qa(a,b){return q(w.max(0,I(a)?a:1)+1).join(b||"")}function ta(a,b){var c=a.toString().match(/[^/]*$/)[0];if(b)c=(c+b).split("").sort().join("").replace(/([gimy])\1+/g,"$1");return c}
|
7
|
+
function Q(a){C(a)||(a=t(a));return a.replace(/([\\/'*+?|()\[\]{}.^$])/g,"\\$1")}function ua(a,b){var c=typeof a,d,e,f,h,i,j;if(c==="string")return a;f=p.prototype.toString.call(a);d=M(a);e=f==="[object Array]";if(a!=l&&d||e){b||(b=[]);if(b.length>1)for(j=b.length;j--;)if(b[j]===a)return"CYC";b.push(a);d=t(a.constructor);h=e?a:p.keys(a).sort();for(j=0;j<h.length;j++){i=e?j:h[j];d+=i+ua(a[i],b)}b.pop()}else d=1/a===-Infinity?"-0":t(a&&a.valueOf?a.valueOf():a);return c+f+d}
|
8
|
+
function va(a){var b=p.prototype.toString.call(a);return b==="[object Date]"||b==="[object Array]"||b==="[object String]"||b==="[object Number]"||b==="[object RegExp]"||b==="[object Boolean]"||b==="[object Arguments]"||M(a)}function wa(a,b,c){var d=[],e=a.length,f=b[b.length-1]!==n,h;F(b,function(i){if(ea(i))return n;if(f){i%=e;if(i<0)i=e+i}h=c?a.charAt(i)||"":a[i];d.push(h)});return d.length<2?d[0]:d}
|
9
|
+
function xa(a,b){H(b,k,n,a,function(c,d){c[d+(d==="equal"?"s":"")]=function(){return p[d].apply(l,[this].concat(F(arguments)))}})}ga(p);G(x,function(a,b){ga(ba[b])});
|