OLD | NEW |
1 dart_library.library('collection/wrappers', null, /* Imports */[ | 1 dart_library.library('collection/wrappers', null, /* Imports */[ |
2 "dart/_runtime", | 2 "dart/_runtime", |
3 'collection/src/canonicalized_map', | 3 'collection/src/canonicalized_map', |
4 'dart/core', | 4 'dart/core', |
5 'dart/math', | 5 'dart/math', |
6 'dart/collection' | 6 'dart/collection' |
7 ], /* Lazy imports */[ | 7 ], /* Lazy imports */[ |
8 'collection/src/unmodifiable_wrappers' | 8 'collection/src/unmodifiable_wrappers' |
9 ], function(exports, dart, canonicalized_map, core, math, collection, unmodifiab
le_wrappers) { | 9 ], function(exports, dart, canonicalized_map, core, math, collection, unmodifiab
le_wrappers) { |
10 'use strict'; | 10 'use strict'; |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 get isNotEmpty() { | 57 get isNotEmpty() { |
58 return this[_base][dartx.isNotEmpty]; | 58 return this[_base][dartx.isNotEmpty]; |
59 } | 59 } |
60 get iterator() { | 60 get iterator() { |
61 return this[_base][dartx.iterator]; | 61 return this[_base][dartx.iterator]; |
62 } | 62 } |
63 [Symbol.iterator]() { | 63 [Symbol.iterator]() { |
64 return new dart.JsIterator(this.iterator); | 64 return new dart.JsIterator(this.iterator); |
65 } | 65 } |
66 join(separator) { | 66 join(separator) { |
67 if (separator === void 0) | 67 if (separator === void 0) separator = ""; |
68 separator = ""; | |
69 return this[_base][dartx.join](separator); | 68 return this[_base][dartx.join](separator); |
70 } | 69 } |
71 get last() { | 70 get last() { |
72 return this[_base][dartx.last]; | 71 return this[_base][dartx.last]; |
73 } | 72 } |
74 lastWhere(test, opts) { | 73 lastWhere(test, opts) { |
75 dart.as(test, dart.functionType(core.bool, [E])); | 74 dart.as(test, dart.functionType(core.bool, [E])); |
76 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | 75 let orElse = opts && 'orElse' in opts ? opts.orElse : null; |
77 dart.as(orElse, dart.functionType(E, [])); | 76 dart.as(orElse, dart.functionType(E, [])); |
78 return this[_base][dartx.lastWhere](test, {orElse: orElse}); | 77 return this[_base][dartx.lastWhere](test, {orElse: orElse}); |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 dart.as(iterable, core.Iterable$(E)); | 220 dart.as(iterable, core.Iterable$(E)); |
222 this[_listBase][dartx.addAll](iterable); | 221 this[_listBase][dartx.addAll](iterable); |
223 } | 222 } |
224 asMap() { | 223 asMap() { |
225 return this[_listBase][dartx.asMap](); | 224 return this[_listBase][dartx.asMap](); |
226 } | 225 } |
227 clear() { | 226 clear() { |
228 this[_listBase][dartx.clear](); | 227 this[_listBase][dartx.clear](); |
229 } | 228 } |
230 fillRange(start, end, fillValue) { | 229 fillRange(start, end, fillValue) { |
231 if (fillValue === void 0) | 230 if (fillValue === void 0) fillValue = null; |
232 fillValue = null; | |
233 dart.as(fillValue, E); | 231 dart.as(fillValue, E); |
234 this[_listBase][dartx.fillRange](start, end, fillValue); | 232 this[_listBase][dartx.fillRange](start, end, fillValue); |
235 } | 233 } |
236 getRange(start, end) { | 234 getRange(start, end) { |
237 return this[_listBase][dartx.getRange](start, end); | 235 return this[_listBase][dartx.getRange](start, end); |
238 } | 236 } |
239 indexOf(element, start) { | 237 indexOf(element, start) { |
240 dart.as(element, E); | 238 dart.as(element, E); |
241 if (start === void 0) | 239 if (start === void 0) start = 0; |
242 start = 0; | |
243 return this[_listBase][dartx.indexOf](element, start); | 240 return this[_listBase][dartx.indexOf](element, start); |
244 } | 241 } |
245 insert(index, element) { | 242 insert(index, element) { |
246 dart.as(element, E); | 243 dart.as(element, E); |
247 this[_listBase][dartx.insert](index, element); | 244 this[_listBase][dartx.insert](index, element); |
248 } | 245 } |
249 insertAll(index, iterable) { | 246 insertAll(index, iterable) { |
250 dart.as(iterable, core.Iterable$(E)); | 247 dart.as(iterable, core.Iterable$(E)); |
251 this[_listBase][dartx.insertAll](index, iterable); | 248 this[_listBase][dartx.insertAll](index, iterable); |
252 } | 249 } |
253 lastIndexOf(element, start) { | 250 lastIndexOf(element, start) { |
254 dart.as(element, E); | 251 dart.as(element, E); |
255 if (start === void 0) | 252 if (start === void 0) start = null; |
256 start = null; | |
257 return this[_listBase][dartx.lastIndexOf](element, start); | 253 return this[_listBase][dartx.lastIndexOf](element, start); |
258 } | 254 } |
259 set length(newLength) { | 255 set length(newLength) { |
260 this[_listBase][dartx.length] = newLength; | 256 this[_listBase][dartx.length] = newLength; |
261 } | 257 } |
262 remove(value) { | 258 remove(value) { |
263 return this[_listBase][dartx.remove](value); | 259 return this[_listBase][dartx.remove](value); |
264 } | 260 } |
265 removeAt(index) { | 261 removeAt(index) { |
266 return this[_listBase][dartx.removeAt](index); | 262 return this[_listBase][dartx.removeAt](index); |
(...skipping 18 matching lines...) Expand all Loading... |
285 } | 281 } |
286 get reversed() { | 282 get reversed() { |
287 return this[_listBase][dartx.reversed]; | 283 return this[_listBase][dartx.reversed]; |
288 } | 284 } |
289 setAll(index, iterable) { | 285 setAll(index, iterable) { |
290 dart.as(iterable, core.Iterable$(E)); | 286 dart.as(iterable, core.Iterable$(E)); |
291 this[_listBase][dartx.setAll](index, iterable); | 287 this[_listBase][dartx.setAll](index, iterable); |
292 } | 288 } |
293 setRange(start, end, iterable, skipCount) { | 289 setRange(start, end, iterable, skipCount) { |
294 dart.as(iterable, core.Iterable$(E)); | 290 dart.as(iterable, core.Iterable$(E)); |
295 if (skipCount === void 0) | 291 if (skipCount === void 0) skipCount = 0; |
296 skipCount = 0; | |
297 this[_listBase][dartx.setRange](start, end, iterable, skipCount); | 292 this[_listBase][dartx.setRange](start, end, iterable, skipCount); |
298 } | 293 } |
299 shuffle(random) { | 294 shuffle(random) { |
300 if (random === void 0) | 295 if (random === void 0) random = null; |
301 random = null; | |
302 this[_listBase][dartx.shuffle](random); | 296 this[_listBase][dartx.shuffle](random); |
303 } | 297 } |
304 sort(compare) { | 298 sort(compare) { |
305 if (compare === void 0) | 299 if (compare === void 0) compare = null; |
306 compare = null; | |
307 dart.as(compare, dart.functionType(core.int, [E, E])); | 300 dart.as(compare, dart.functionType(core.int, [E, E])); |
308 this[_listBase][dartx.sort](compare); | 301 this[_listBase][dartx.sort](compare); |
309 } | 302 } |
310 sublist(start, end) { | 303 sublist(start, end) { |
311 if (end === void 0) | 304 if (end === void 0) end = null; |
312 end = null; | |
313 return this[_listBase][dartx.sublist](start, end); | 305 return this[_listBase][dartx.sublist](start, end); |
314 } | 306 } |
315 } | 307 } |
316 DelegatingList[dart.implements] = () => [core.List$(E)]; | 308 DelegatingList[dart.implements] = () => [core.List$(E)]; |
317 dart.setSignature(DelegatingList, { | 309 dart.setSignature(DelegatingList, { |
318 constructors: () => ({DelegatingList: [DelegatingList$(E), [core.List$(E)]
]}), | 310 constructors: () => ({DelegatingList: [DelegatingList$(E), [core.List$(E)]
]}), |
319 methods: () => ({ | 311 methods: () => ({ |
320 get: [E, [core.int]], | 312 get: [E, [core.int]], |
321 set: [dart.void, [core.int, E]], | 313 set: [dart.void, [core.int, E]], |
322 add: [dart.void, [E]], | 314 add: [dart.void, [E]], |
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
670 class MapValueSet extends _DelegatingIterableBase$(V) { | 662 class MapValueSet extends _DelegatingIterableBase$(V) { |
671 MapValueSet(base, keyForValue) { | 663 MapValueSet(base, keyForValue) { |
672 this[_baseMap] = base; | 664 this[_baseMap] = base; |
673 this[_keyForValue] = keyForValue; | 665 this[_keyForValue] = keyForValue; |
674 super._DelegatingIterableBase(); | 666 super._DelegatingIterableBase(); |
675 } | 667 } |
676 get [_base]() { | 668 get [_base]() { |
677 return this[_baseMap].values; | 669 return this[_baseMap].values; |
678 } | 670 } |
679 contains(element) { | 671 contains(element) { |
680 if (element != null && !dart.is(element, V)) | 672 if (element != null && !dart.is(element, V)) return false; |
681 return false; | |
682 return this[_baseMap].containsKey(dart.dcall(this[_keyForValue], element
)); | 673 return this[_baseMap].containsKey(dart.dcall(this[_keyForValue], element
)); |
683 } | 674 } |
684 get isEmpty() { | 675 get isEmpty() { |
685 return this[_baseMap].isEmpty; | 676 return this[_baseMap].isEmpty; |
686 } | 677 } |
687 get isNotEmpty() { | 678 get isNotEmpty() { |
688 return this[_baseMap].isNotEmpty; | 679 return this[_baseMap].isNotEmpty; |
689 } | 680 } |
690 get length() { | 681 get length() { |
691 return this[_baseMap].length; | 682 return this[_baseMap].length; |
(...skipping 25 matching lines...) Expand all Loading... |
717 dart.as(other, core.Set$(V)); | 708 dart.as(other, core.Set$(V)); |
718 return this.where(dart.fn(element => !dart.notNull(other.contains(elemen
t)), core.bool, [dart.dynamic]))[dartx.toSet](); | 709 return this.where(dart.fn(element => !dart.notNull(other.contains(elemen
t)), core.bool, [dart.dynamic]))[dartx.toSet](); |
719 } | 710 } |
720 intersection(other) { | 711 intersection(other) { |
721 return this.where(dart.bind(other, 'contains'))[dartx.toSet](); | 712 return this.where(dart.bind(other, 'contains'))[dartx.toSet](); |
722 } | 713 } |
723 lookup(element) { | 714 lookup(element) { |
724 return this[_baseMap].get(dart.dcall(this[_keyForValue], element)); | 715 return this[_baseMap].get(dart.dcall(this[_keyForValue], element)); |
725 } | 716 } |
726 remove(value) { | 717 remove(value) { |
727 if (value != null && !dart.is(value, V)) | 718 if (value != null && !dart.is(value, V)) return false; |
728 return false; | |
729 let key = dart.dcall(this[_keyForValue], value); | 719 let key = dart.dcall(this[_keyForValue], value); |
730 if (!dart.notNull(this[_baseMap].containsKey(key))) | 720 if (!dart.notNull(this[_baseMap].containsKey(key))) return false; |
731 return false; | |
732 this[_baseMap].remove(key); | 721 this[_baseMap].remove(key); |
733 return true; | 722 return true; |
734 } | 723 } |
735 removeAll(elements) { | 724 removeAll(elements) { |
736 return elements[dartx.forEach](dart.bind(this, 'remove')); | 725 return elements[dartx.forEach](dart.bind(this, 'remove')); |
737 } | 726 } |
738 removeWhere(test) { | 727 removeWhere(test) { |
739 dart.as(test, dart.functionType(core.bool, [V])); | 728 dart.as(test, dart.functionType(core.bool, [V])); |
740 let toRemove = []; | 729 let toRemove = []; |
741 this[_baseMap].forEach(dart.fn((key, value) => { | 730 this[_baseMap].forEach(dart.fn((key, value) => { |
742 if (dart.notNull(test(dart.as(value, V)))) | 731 if (dart.notNull(test(dart.as(value, V)))) toRemove[dartx.add](key); |
743 toRemove[dartx.add](key); | |
744 })); | 732 })); |
745 toRemove[dartx.forEach](dart.bind(this[_baseMap], 'remove')); | 733 toRemove[dartx.forEach](dart.bind(this[_baseMap], 'remove')); |
746 } | 734 } |
747 retainAll(elements) { | 735 retainAll(elements) { |
748 let valuesToRetain = core.Set$(V).identity(); | 736 let valuesToRetain = core.Set$(V).identity(); |
749 for (let element of elements) { | 737 for (let element of elements) { |
750 if (element != null && !dart.is(element, V)) | 738 if (element != null && !dart.is(element, V)) continue; |
751 continue; | |
752 let key = dart.dcall(this[_keyForValue], element); | 739 let key = dart.dcall(this[_keyForValue], element); |
753 if (!dart.notNull(this[_baseMap].containsKey(key))) | 740 if (!dart.notNull(this[_baseMap].containsKey(key))) continue; |
754 continue; | |
755 valuesToRetain.add(this[_baseMap].get(key)); | 741 valuesToRetain.add(this[_baseMap].get(key)); |
756 } | 742 } |
757 let keysToRemove = []; | 743 let keysToRemove = []; |
758 this[_baseMap].forEach(dart.fn((k, v) => { | 744 this[_baseMap].forEach(dart.fn((k, v) => { |
759 if (!dart.notNull(valuesToRetain.contains(v))) | 745 if (!dart.notNull(valuesToRetain.contains(v))) keysToRemove[dartx.add]
(k); |
760 keysToRemove[dartx.add](k); | |
761 })); | 746 })); |
762 keysToRemove[dartx.forEach](dart.bind(this[_baseMap], 'remove')); | 747 keysToRemove[dartx.forEach](dart.bind(this[_baseMap], 'remove')); |
763 } | 748 } |
764 retainWhere(test) { | 749 retainWhere(test) { |
765 dart.as(test, dart.functionType(core.bool, [V])); | 750 dart.as(test, dart.functionType(core.bool, [V])); |
766 return this.removeWhere(dart.fn(element => !dart.notNull(test(dart.as(el
ement, V))), core.bool, [dart.dynamic])); | 751 return this.removeWhere(dart.fn(element => !dart.notNull(test(dart.as(el
ement, V))), core.bool, [dart.dynamic])); |
767 } | 752 } |
768 union(other) { | 753 union(other) { |
769 dart.as(other, core.Set$(V)); | 754 dart.as(other, core.Set$(V)); |
770 return (() => { | 755 return (() => { |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
816 exports.DelegatingSet$ = DelegatingSet$; | 801 exports.DelegatingSet$ = DelegatingSet$; |
817 exports.DelegatingSet = DelegatingSet; | 802 exports.DelegatingSet = DelegatingSet; |
818 exports.DelegatingQueue$ = DelegatingQueue$; | 803 exports.DelegatingQueue$ = DelegatingQueue$; |
819 exports.DelegatingQueue = DelegatingQueue; | 804 exports.DelegatingQueue = DelegatingQueue; |
820 exports.DelegatingMap$ = DelegatingMap$; | 805 exports.DelegatingMap$ = DelegatingMap$; |
821 exports.DelegatingMap = DelegatingMap; | 806 exports.DelegatingMap = DelegatingMap; |
822 exports.MapKeySet$ = MapKeySet$; | 807 exports.MapKeySet$ = MapKeySet$; |
823 exports.MapValueSet$ = MapValueSet$; | 808 exports.MapValueSet$ = MapValueSet$; |
824 exports.MapValueSet = MapValueSet; | 809 exports.MapValueSet = MapValueSet; |
825 }); | 810 }); |
OLD | NEW |