Commit Graph

431 Commits

Author SHA1 Message Date
Ilya Gorbunov a5177b785d Add String.replaceFirst methods.
String.replaceFirst(String, String) temporary named as replaceFirstLiteral.
2015-05-09 01:11:14 +03:00
Ilya Gorbunov 157c86b9c6 Empty string is supported as a delimiter in split and as an oldValue in replace. 2015-05-09 01:11:12 +03:00
Ilya Gorbunov db13705506 Tests for match and replace. 2015-05-09 01:11:04 +03:00
Ilya Gorbunov 0b03caf3e7 Uniform implementation of String.replace and String.matches(Regex) across JVM and JS.
Deprecated String.matches(String) and String.replaceAll methods.
2015-05-09 01:11:03 +03:00
Ilya Gorbunov 01ace84070 Regex implementation: split, replace and replaceFirst. 2015-05-09 01:11:00 +03:00
Ilya Gorbunov 559c1604d7 Rename Pattern to Regex.
toRegex now converts string to our regex, and toPattern converts to JVM Pattern.
2015-05-09 01:10:59 +03:00
Ilya Gorbunov a4784dfa78 Pattern implementation for JS. 2015-05-09 01:10:57 +03:00
Ilya Gorbunov da1641e0f8 Pattern implementation: JVM and partially JS.
Common tests.
2015-05-09 01:10:55 +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 592e6582b3 Provide isInfinite() and isFinite() functions for Double and Float.
#KT-7126 Fixed
2015-04-22 18:21:31 +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 ccc3646bb8 Generate coerceAtLeast, coerceAtMost and coerceIn extension functions for numbers and other Comparables. 2015-04-22 18:20:47 +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
Nikolay Krasko 2946c1d6a8 KT-7271 Accessing an extension property of Char.Companion leads to ClassNotFoundException in runtime
#KT-7271 Fixed
2015-04-07 15:59:05 +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 7cac6e3c5e Provide String.commonPrefixWith and String.commonSuffixWith methods.
Char.isHighSurrogate and Char.isLowSurrogate now available in js-stdlib too.
2015-04-07 03:15:03 +03:00
Ilya Gorbunov 91decc9f33 Add String.contains with Char argument. Fixes #KT-7239. 2015-04-07 03:14:36 +03:00
Ilya Gorbunov cac058d5a3 Fix endsWith in JS always ignored character case, regardless of the ignoreCase parameter value.
startsWith, endsWith again use native implementation when possible.
2015-04-01 23:10:14 +03:00
Ilya Gorbunov 0717705f15 Add requireNotNull with lazy message. 2015-04-01 22:28:47 +03:00
Ilya Gorbunov ac4b207413 Add isEmpty, isBlank methods and their nullable and negating couterparts. 2015-04-01 15:40:17 +03:00
Ilya Gorbunov 536a977f5c indexOfAny, lastIndexOfAny return an index value only (similar to indexOf, lastIndexOf).
findAnyOf, findLastAnyOf introduced to cover the case when an index and a matched string value is required.
2015-03-31 02:25:19 +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 6f7a4d8429 Add methods for String: indexOfAny, lastIndexOfAny, indexOf, lastIndexOf, rangesDelimitedBy, splitToSequence, split, lineSequence, lines.
Add methods for Char: toUpperCase, toLowerCase.
Add an optional boolean parameter ignoreCase to the methods Char.equals, String.equals, String.startsWith, String.endsWith, String.contains.
2015-03-31 02:23:52 +03:00
Mikhail Glukhikh ef6698bd52 Test fixed 2015-03-30 10:55:24 +03:00
Mikhail Glukhikh 5d7e388276 Fix of KT-7130 2015-03-30 10:55:21 +03:00
Ilya Gorbunov a34e15e157 Rename methods: trimLeft/Right -> trimStart/End, padLeft/Right -> padStart/End 2015-03-25 03:26:31 +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 Gorbunov 05b5afcb94 Add removePrefix, removeSuffix, removeEnclosing methods.
Deprecate trimLeading/trimTrailing/trim(String) methods in favor of new ones.
2015-03-25 03:25:53 +03:00
Ilya Gorbunov 5b2a5c78ca Fix js-stdlib compilation and tests. 2015-03-25 03:25:27 +03:00
Ilya Gorbunov 4c58f4ec20 Add removeRange method.
Breaking change in replaceRange(IntRange, String) method: the end index of the range now is included in the part being replaced.
2015-03-25 03:25:14 +03:00
Ilya Gorbunov ba15e5b295 Trimming and padding methods.
Kinda breaking change: Char.isWhitespace treats non-breaking spaces as whitespace too to match the Unicode definition of whitespace.
2015-03-25 03:25:01 +03:00
Mikhail Glukhikh 2bc124fa3d IO second review: empty File.subPath() allowed, OutputStream.bufferedWriter() added,
normalize(), startsWith(), endsWith() rewritten, LinesStream --> LinesSequence,
File.replaceBytes() / replaceText() rolled back to writeBytes() / writeText(),
some exception messages formulated more clearly, refactorings, comments,
relativeTo() slightly optimized, additional tests
2015-03-24 19:52:19 +03:00
Mikhail Glukhikh 88733d34eb Additional fix of String.getRootName() for network names, relevant test fixes 2015-03-24 19:40:24 +03:00
Mikhail Glukhikh 5b636eef7b Kotlin I/O review/M11 fixes: Stream --> Sequence, recurse() returned back,
additional helpers like File.bufferedReader() and String.byteInputStream(),
copyRecursively / deleteRecursively were rewritten using FileTreeWalk,
FilePathComponents introduced as a replacement of FileIterator,
classes / methods / properties permissions fixed, Linux specific things,
resolveSibling rewritten using FilePathComponents
2015-03-24 19:40:21 +03:00
Denis Mekhanikov f560677b15 Kotlin I/O new features: relativeTo, copyTo, copyRecursively, deleteRecursively, file tree walkers,
file component iterators, file roots, startsWith, endsWith, subPath, normalize, replaceBytes, replaceTest,
additional tests and comments
2015-03-24 19:40:19 +03:00
Pavel V. Talanov 06916d98c6 default -> companion: replace all mentions of default and default object 2015-03-17 15:47:39 +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