kt.ts
v0.1.0-alpha.5
Published
Porting Kotlin stdlib api to typescript
Downloads
26
Readme

Kotlin Stdlib API in Typescript
Porting the Kotlin standard library design rationale to typescript. Boost the productivity by using the wise API design.
(WIP: This project is under active development. You are welcome to contribute.)
Getting Started to Contribute
Pick the not-yet-implemented API(below list) and try to create a GitHub issues with the feature template. There is a full check-list for you to contribute this project :). Here is the example.
Getting Started
This module designed to be used in Typescript environment for utilizing strict type-checking and IDE auto-complete experience that similar to Kotlin Development.
If your want to use it in javascript project, I highly recommend you to use a relatively new VSCode feature @ts-check Or Intellij-based IDE to enable type checking.
npm install kt.ts
# OR
yarn add kt.ts// node >= 11
import 'kt.ts'
const result = [1,2,[3,3]].flatMap(it => it).distinct()
console.log(result)Kotlin List API
- [x] contains
- [x] elementAt
- [x] elementAtOrElse
- [x] elementAtOrNull
- [x] ~~find~~
- [x] findLast
- [x] first
- [x] first
- [x] firstOrNull
- [x] firstOrNull
- [ ] getOrElse
- [ ] getOrNull
- [ ] indexOf
- [ ] indexOfFirst
- [ ] indexOfLast
- [ ] last
- [ ] last
- [ ] lastIndexOf
- [ ] lastOrNull
- [ ] random
- [ ] single
- [ ] single
- [ ] singleOrNull
- [ ] singleOrNull
- [ ] drop
- [ ] dropLast
- [ ] dropLastWhile
- [ ] dropWhile
- [x] ~~filter~~
- [x] filterIndexed
- [x] filterNot
- [x] filterNotNull
- [ ] slice
- [ ] take
- [ ] takeLast
- [ ] takeLastWhile
- [ ] takeWhile
- [ ] reverse
- [ ] reversed
- [ ] sortBy
- [ ] sortByDescending
- [ ] sortDescending
- [ ] sorted
- [ ] sortedBy
- [ ] sortedByDescending
- [ ] sortedDescending
- [ ] sortedWith
- [ ] associate
- [ ] associateBy
- [ ] associateBy
- [ ] associateWith
- [ ] toSet
- [ ] groupBy
- [ ] groupBy
- [ ] mapIndexed
- [ ] mapIndexedNotNull
- [ ] mapNotNull
- [ ] withIndex
- [x] distinct
- [x] distinctBy
- [ ] intersect
- [ ] subtract
- [ ] union
- [ ] all
- [ ] any
- [ ] any
- [ ] count
- [ ] count
- [ ] fold
- [ ] foldIndexed
- [ ] foldRight
- [ ] foldRightIndexed
- [x] ~~forEach~~
- [x] forEachIndexed
- [ ] max
- [ ] maxBy
- [ ] maxWith
- [ ] min
- [ ] minBy
- [ ] minWith
- [ ] none
- [ ] none
- [ ] onEach
- [ ] reduce
- [ ] reduceIndexed
- [ ] reduceRight
- [ ] reduceRightIndexed
- [ ] sumBy
- [ ] requireNoNulls
- [ ] requireNoNulls
- [ ] chunked
- [ ] chunked
- [ ] minus
- [ ] minus
- [ ] minusElement
- [ ] partition
- [ ] plus
- [ ] plus
- [ ] plusElement
- [ ] windowed
- [ ] windowed
- [ ] zip
- [ ] zip
- [ ] zip
- [ ] zip
- [ ] zipWithNext
- [ ] zipWithNext
- [ ] joinTo
- [ ] joinToString
- [ ] average
- [ ] sum
- [x] containsAll
- [ ] get
- [ ] isEmpty
- [ ] iterator
- [ ] subList
- [x] size
- [ ] lastIndex
Extra for TS and Kotlin-Like API
- [x] filterNotEmpty
