Commit Graph

80 Commits

Author SHA1 Message Date
Ilya Gorbunov a1d8e9d633 Provide dropLast and takeLastWhile methods. Optimize special cases of drop/take/dropLast/takeLast (when n is equal to zero or size of collection). 2015-06-04 16:32:25 +03:00
Ilya Gorbunov 9b17220baa Provide dropLastWhile for Arrays, Lists and Strings. 2015-06-04 16:32:21 +03:00
Ilya Gorbunov 4fd1b46e91 Refactor JS tests: unified package name, test JS specific map implementations only in JS.
Add required files to build StdLibTestToJSTest.
Remove tests StdLibMapJsTest and StdLibSetJsTest because they are tested elsewhere.
2015-05-24 05:07:01 +03:00
Ilya Gorbunov c95ba4da8e Tests for specialized primitive implementations of sets and maps in JS. 2015-05-24 05:06:51 +03:00
Ilya Gorbunov ebe578dbc5 Tests to ensure the behavior of the specialized empty List, Set, Map implementations is same as of non-specialized ones. 2015-05-24 05:03:46 +03:00
Ilya Gorbunov edc471c8ec Optimize the implementation of emptyList, emptySet and emptyMap and make them serializable.
Specialized implementations of singleton List, Set and Map are used in JVM.

#KT-6682 Fixed
#KT-7104 Fixed
#KT-4840 Fixed
2015-05-24 05:03:36 +03:00
Ilya Gorbunov 6a3cb0eff8 Provide distinctBy(keySelector) method for collections and sequences.
Implement distinct() and toMutableSet() for sequences.
Breaking change: distinct() now returns List instead of Set.

#KT-5834 Fixed
#KT-6063 Fixed
2015-05-20 19:28:47 +03:00
Ilya Gorbunov 46d91b2606 Add test for toMap with key selector and value transform. 2015-05-20 19:28:45 +03:00
Ilya Gorbunov f7aa997003 Provide fast path for negative index values in elementAt.
Minor: kdoc wording.
2015-05-12 21:07:24 +03:00
Ilya Gorbunov a5ed5d4269 Generate elementAtOrNull and elementAtOrElse extension methods for iterables, collections, sequences, etc.
#KT-6952 Fixed
2015-05-12 20:08:20 +03:00
Ilya Gorbunov 34526005d0 Provide a way to construct an empty typed array without init lambda. 2015-05-09 11:45:43 +03:00
Ilya Gorbunov d531d7130f Add an optional parameter to joinToString() and joinTo() functions: lambda function which maps the element to string.
#KT-5468 Fixed
2015-05-09 01:11:47 +03:00
Ilya Gorbunov b1255cf95b 2nd stage of split semantics change: remove deprecated String.split(String), rename splitBy back to split. 2015-05-09 01:11:32 +03:00
Ilya Gorbunov 7fba979372 Generate to[Primitive]Array() methods for generic arrays and collections.
#KT-4180 Fixed
2015-04-22 18:21:37 +03:00
Ilya Gorbunov 5dacb5a745 Provide average() method for iterables, sequences and arrays.
#KT-3843 Fixed
2015-04-22 18:21:29 +03:00
Ilya Gorbunov ade69ec0e9 Provide the emptySequence() method.
sequenceOf() with no arguments is equivalent to emptySequence().
#KT-7233 Fixed
2015-04-22 17:57:26 +03:00
Ilya Gorbunov 899a01e8c2 Rename sequence() extension to asSequence() 2015-04-22 17:57:20 +03:00
Ilya Gorbunov be11394adf Rename copyToArray() to toTypedArray(). 2015-04-21 21:27:28 +03:00
Ilya Gorbunov 5eb3c0bb5e Rename *array() factory methods to *arrayOf(). 2015-04-21 21:27:26 +03:00
Ilya Gorbunov 043b27bfe5 Make more generic signature for reduce and reduceRight methods.
Fixes #KT-2287
2015-04-15 17:34:08 +03:00
Ilya Gorbunov fbb567c11a Iterator<T> can be converted to a sequence constrained to be one-time iterable. 2015-04-07 15:35:01 +03:00
Ilya Gorbunov f2d865e836 Provide constrainOnce extension method for the Sequence.
Sequence created from the generator function without an initial value can be iterated only once.
The same is for BufferedReader.lines sequence.
2015-04-07 15:34:59 +03:00
Ilya Gorbunov 698ffa2807 A sequence constructed with initialValue can be iterated multiple times. 2015-04-07 15:31:00 +03:00
Stanislav Erokhin b703f59e04 Migrate kotlin sources, maven projects and stdlib to new lambda syntax 2015-04-07 13:08:53 +03:00
Ilya Gorbunov b3165ac771 Rename split method to splitBy and revive old split implementation interpreting parameter as regex to provide the migration path. 2015-03-31 02:24:50 +03:00
Ilya Gorbunov d724ce3f7e Add code generation for asList methods in js.libraries. 2015-03-31 02:24:20 +03:00
Ilya Gorbunov 4a7918b0a1 Add takeLast method for String, lists and arrays.
Check the parameter n in drop, take and takeLast methods.
2015-03-25 03:26:06 +03:00
Ilya Ryzhenkov e448f40756 Rename Stream<T> to Sequence<T> and provide migration path via deprecated types and functions. 2015-03-12 22:56:43 +03:00
Ilya Ryzhenkov bfeb21afb0 stdlib: stream() for Map #KT-6547 Fixed 2015-03-10 11:21:41 +03:00
Valery Kharitonov 8873be22d5 Implemented asList() method for arrays. #KT-1313 Fixed 2015-03-10 11:21:40 +03:00
Valery Kharitonov c8094e7587 Implemented indexOfFirst/Last(predicate). #KT-6577 Fixed 2015-03-10 11:21:40 +03:00
Valery Kharitonov 38a4f86db2 Implemented asIterable method for arrays. #KT-1313 Fixed 2015-03-10 11:21:39 +03:00
Laszlo Hornyak 3954215b50 Add support for + and - operators in immutable maps #KT-6594 Fixed 2015-03-10 11:21:38 +03:00
Ilya Ryzhenkov 1a67e35739 Add more tests to cover stdlib 2015-03-10 11:21:38 +03:00
Dmitry Jemerov 2cc291efdb Standard library documentation continued. 2015-03-03 11:20:30 +01:00
Ilya Ryzhenkov 95d4accda7 stdlib: add flatten() 2015-01-20 22:39:24 +03:00
Ilya Ryzhenkov 1d4591d99c stdlib: add sumBy(function) 2015-01-20 22:39:23 +03:00
Ilya Ryzhenkov 4ee64d7283 Covering stdlib with tests. 2015-01-20 22:37:16 +03:00
Ilya Ryzhenkov 9b04f57a25 Collection tests: format and fix usages of deprecated symbols. 2015-01-20 22:37:15 +03:00
Ilya Ryzhenkov 4cd2ba1e30 Fix Array<out> variance in stdlib #KT-6482 Fixed 2014-12-23 20:00:01 +03:00
Ilya Ryzhenkov f4b96a0a1a Add mapIndexed() function for common case withIndex().map{} #KT-3153 Fixed 2014-12-16 17:33:27 +03:00
Ilya Ryzhenkov 846014b37f Add missing sum() on Streams. 2014-12-16 17:33:27 +03:00
Ilya Ryzhenkov be717f48f8 Stop using deprecated APIs 2014-12-16 17:33:24 +03:00
Ilya Ryzhenkov fbbb7eced1 Collect deprecated code, remove unused private ImmutableArrayList 2014-12-16 17:33:22 +03:00
Ilya Ryzhenkov 31fb24d390 Sort collections/map APIs, improve empty implementations. 2014-12-16 17:33:21 +03:00
Ilya Ryzhenkov fa0542b801 Clean size/length/first/head/empty properties and functions. 2014-12-16 17:33:21 +03:00
Ilya Ryzhenkov 828ba385ea Cleanup ordering, improve API 2014-12-16 17:33:20 +03:00
Ilya Ryzhenkov e890c2ee0d Deprecate withIndicies(), introduce optimized and fixed withIndex and forEachIndexed() 2014-12-16 17:33:20 +03:00
Denis Zharkov e768b4e285 stdlib: Introduced filterIsInstance version
without class-literal as a parameter
2014-11-13 20:56:10 +03:00
Denis Zharkov da5164acd8 stdlib: Introduced Array<T>?.orEmpty() in JVM-stdlib 2014-11-13 20:56:10 +03:00