Skip to content

Commit

Permalink
v0.15.1
Browse files Browse the repository at this point in the history
  • Loading branch information
robstoll committed Jul 6, 2020
1 parent 3b1313d commit 690baa0
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 22 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ script:
- |
if [ "$TRAVIS_TEST_RESULT" == 0 ] && [ "$TRAVIS_JDK_VERSION" == openjdk11 ]; then
sonar-scanner \
-Dsonar.projectVersion=0.16.0-SNAPSHOT \
-Dsonar.projectVersion=0.15.1 \
-Dsonar.projectKey=robstoll_kbox \
-Dsonar.kotlin.detekt.reportPaths=build/reports/detekt/detekt.xml \
-Dsonar.sources="\
Expand Down
40 changes: 20 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,63 +1,63 @@
<!-- for master -->

<!--
[![Download](https://api.bintray.com/packages/robstoll/tutteli-jars/kbox/images/download.svg) ](https://bintray.com/robstoll/tutteli-jars/kbox/_latestVersion)
[![Apache license](https://img.shields.io/badge/license-Apache%202.0-brightgreen.svg)](http://opensource.org/licenses/Apache2.0)
[![Build Status Travis](https://travis-ci.org/robstoll/kbox.svg?branch=master)](https://travis-ci.org/robstoll/kbox)
[![Build status GitHub Actions](https://github.com/robstoll/kbox/workflows/Windows/badge.svg)](https://github.com/robstoll/kbox/actions/)
[![SonarCloud Status](https://sonarcloud.io/api/project_badges/measure?project=robstoll_kbox&metric=alert_status)](https://sonarcloud.io/dashboard?id=robstoll_kbox)

-->

<!-- for a specific release -->
<!--
[![Download](https://img.shields.io/badge/Download-0.15.0-%23007ec6)](https://bintray.com/robstoll/tutteli-jars/kbox/0.15.0 "Download 0.15atrium.0 from Bintray")

[![Download](https://img.shields.io/badge/Download-0.15.1-%23007ec6)](https://bintray.com/robstoll/tutteli-jars/kbox/0.15.1 "Download 0.15atrium.0 from Bintray")
[![Apache license](https://img.shields.io/badge/license-Apache%202.0-brightgreen.svg)](http://opensource.org/licenses/Apache2.0)
-->


# KBox
KBox is a very small but useful utility library for Kotlin (JVM, Android and JS).

Current extension functions:
- [`Array/List/Iterable/Sequence.appendtoStringBuilder`](https://github.com/robstoll/kbox/tree/master/kbox-common/src/main/kotlin/ch/tutteli/kbox/appendToString.kt#L37)
- [`Array/List/Iterable/Sequence.appendtoStringBuilder`](https://github.com/robstoll/kbox/tree/v0.15.1/kbox-common/src/main/kotlin/ch/tutteli/kbox/appendToString.kt#L37)
with the ability to define a different separator for the last separation
=> handy if you want to form sentences like `a, b and c`

- [`CharSequence.blankToNull`](https://github.com/robstoll/kbox/tree/master/kbox-common/src/main/kotlin/ch/tutteli/kbox/blanktoNull.kt#L7)
- [`CharSequence.blankToNull`](https://github.com/robstoll/kbox/tree/v0.15.1/kbox-common/src/main/kotlin/ch/tutteli/kbox/blanktoNull.kt#L7)
returns the same `CharSequence` if not blank, `null` otherwise

- [`forEachIn(Array/Iterable/Sequence<E>, Array/Iterable/Sequence<E>, ..., action: (E) -> Unit)`](https://github.com/robstoll/kbox/tree/master/kbox-common/src/main/kotlin/ch/tutteli/kbox/forEachIn.kt#L6)
- [`forEachIn(Array/Iterable/Sequence<E>, Array/Iterable/Sequence<E>, ..., action: (E) -> Unit)`](https://github.com/robstoll/kbox/tree/v0.15.1/kbox-common/src/main/kotlin/ch/tutteli/kbox/forEachIn.kt#L6)
applies the given action to each entry in the given `Iterable`s.

- [`<E> forElementAndEachIn(E, Array/Iterable/Sequence<E>, action: (E) -> Unit)`](https://github.com/robstoll/kbox/tree/master/kbox-common/src/main/kotlin/ch/tutteli/kbox/forThisAndForEach.kt#L6)
- [`<E> forElementAndEachIn(E, Array/Iterable/Sequence<E>, action: (E) -> Unit)`](https://github.com/robstoll/kbox/tree/v0.15.1/kbox-common/src/main/kotlin/ch/tutteli/kbox/forThisAndForEach.kt#L6)
applies the given action to `this` and each entry in Iterable

- [`Iterable<T>.forEachRemaining()`](https://github.com/robstoll/kbox/tree/master/kbox-common/src/main/kotlin/ch/tutteli/kbox/forEachRemaining.kt#L9)
- [`Iterable<T>.forEachRemaining()`](https://github.com/robstoll/kbox/tree/v0.15.1/kbox-common/src/main/kotlin/ch/tutteli/kbox/forEachRemaining.kt#L9)
shortcut for `while(hasNext()) yourLambda(next())`

- [Array/List.ifWithinBound](https://github.com/robstoll/kbox/tree/master/kbox-common/src/main/kotlin/ch/tutteli/kbox/ifWithinBound.kt#L13)
- [Array/List.ifWithinBound](https://github.com/robstoll/kbox/tree/v0.15.1/kbox-common/src/main/kotlin/ch/tutteli/kbox/ifWithinBound.kt#L13)
shortcut for `if(index < size){ thenBlock() } else { elseBlock() }`

- [Charsequence?.isNotNullAndNotEmpty/isNotNullAndNotBlank](https://github.com/robstoll/kbox/tree/master/kbox-common/src/main/kotlin/ch/tutteli/kbox/isNotNullAndNot.kt#L6)
- [Charsequence?.isNotNullAndNotEmpty/isNotNullAndNotBlank](https://github.com/robstoll/kbox/tree/v0.15.1/kbox-common/src/main/kotlin/ch/tutteli/kbox/isNotNullAndNot.kt#L6)

- [`Array/List/Iterable/Sequence.joinToString`](https://github.com/robstoll/kbox/tree/master/kbox-common/src/main/kotlin/ch/tutteli/kbox/joinToString.kt#L31)
- [`Array/List/Iterable/Sequence.joinToString`](https://github.com/robstoll/kbox/tree/v0.15.1/kbox-common/src/main/kotlin/ch/tutteli/kbox/joinToString.kt#L31)
with the ability to define a different separator for the last separation
=> handy if you want to form sentences like `a, b and c`

- [`Map<T, T>.mapParents`](https://github.com/robstoll/kbox/tree/master/kbox-common/src/main/kotlin/ch/tutteli/kbox/mapParents.kt#L13)
- [`Map<T, T>.mapParents`](https://github.com/robstoll/kbox/tree/v0.15.1/kbox-common/src/main/kotlin/ch/tutteli/kbox/mapParents.kt#L13)
maps child-parent relations.

- [`Iterator<T>.mapRemaining/mapRemainingWithCounter`](https://github.com/robstoll/kbox/tree/master/kbox-common/src/main/kotlin/ch/tutteli/kbox/mapRemaining.kt#L9)
- [`Iterator<T>.mapRemaining/mapRemainingWithCounter`](https://github.com/robstoll/kbox/tree/v0.15.1/kbox-common/src/main/kotlin/ch/tutteli/kbox/mapRemaining.kt#L9)
maps remaining entries with the help of a transform function (where `mapRemainingWithCounter` passes a counter variable to the transform function).

- [`Array/Iterable/Sequence.mapWithIndex`](https://github.com/robstoll/kbox/tree/master/kbox-common/src/main/kotlin/ch/tutteli/kbox/mapWithIndex.kt#L11)
- [`Array/Iterable/Sequence.mapWithIndex`](https://github.com/robstoll/kbox/tree/v0.15.1/kbox-common/src/main/kotlin/ch/tutteli/kbox/mapWithIndex.kt#L11)

- [`Iterator.toPeekingIterator()`](https://github.com/robstoll/kbox/tree/master/kbox-common/src/main/kotlin/ch/tutteli/kbox/PeekingIteratorUnsynchronized.kt)
- [`Iterator.toPeekingIterator()`](https://github.com/robstoll/kbox/tree/v0.15.1/kbox-common/src/main/kotlin/ch/tutteli/kbox/PeekingIteratorUnsynchronized.kt)
which allows to have a look what the next element is without consuming it.

- [`varargsToList/glue`](https://github.com/robstoll/kbox/tree/master/kbox-common/src/main/kotlin/ch/tutteli/kbox/varargToList.kt#L11)
- [`varargsToList/glue`](https://github.com/robstoll/kbox/tree/v0.15.1/kbox-common/src/main/kotlin/ch/tutteli/kbox/varargToList.kt#L11)
creates a `List` out of a single `E` and an `Array<E>`.

Moreover, the following function might come in handy for you as well:
- [identity](https://github.com/robstoll/kbox/tree/master/kbox-common/src/main/kotlin/ch/tutteli/kbox/identity.kt)
- [identity](https://github.com/robstoll/kbox/tree/v0.15.1/kbox-common/src/main/kotlin/ch/tutteli/kbox/identity.kt)

# Installation

Expand All @@ -67,7 +67,7 @@ Following an example if you use gradle and jcenter:
```
repositories { jcenter() }
dependencies {
implementation 'ch.tutteli.kbox:kbox:0.15.0'
implementation 'ch.tutteli.kbox:kbox:0.15.1'
}
```

Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version = "0.16.0-SNAPSHOT"
version = "0.15.1"
group = 'ch.tutteli.kbox'

buildscript {
Expand Down

0 comments on commit 690baa0

Please sign in to comment.