kt.ts
v0.1.0-alpha.5
Published
Porting Kotlin stdlib api to typescript
Downloads
5
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