Commit Graph

402 Commits

Author SHA1 Message Date
Michael Bull
dd5c96f983 Deprecate "ResultBinding" in favour of "BindingScope"
This matches the Kotlin stdlib naming convention used for
sequences[1] and coroutines[2].

[1] https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.sequences/-sequence-scope/
[2] https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/
2024-03-11 00:06:46 +00:00
Michael Bull
09818a7d50 Remove redundant call to coroutineScope in SuspendBindingBenchmark 2024-03-11 00:06:46 +00:00
Michael Bull
ab06a2a3fc Run coroutine tests on all platforms
Some were previously restricted to specific platforms, however
kotlinx-coroutines-test now targets them all.
2024-03-11 00:06:46 +00:00
Michael Bull
0b21b7361f Replace lateinit with null in binding variants 2024-03-11 00:06:46 +00:00
Michael Bull
fec8c03313 Use delegation for SuspendableResultBindingImpl
The Kotlin docs for CoroutineScope[1] explicitly state that:

"Manual implementation of this interface is not recommended,
implementation by delegation should be preferred instead."

[1] https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-coroutine-scope/
2024-03-11 00:06:46 +00:00
Michael Bull
8d6b0a9eb3 Update Gradle
See: https://github.com/gradle/gradle/pull/27851
2024-03-11 00:06:45 +00:00
YuitoSato
716109aa84 Return List of errors for all variants of zipOrAccumulate
The four-arg and five-arg variants were returning Collection instead of
List.
2024-03-10 15:02:41 +00:00
Michael Bull
c46a2925b1 Add transpose
See: https://doc.rust-lang.org/std/result/enum.Result.html#method.transpose
2024-03-09 00:22:51 +00:00
Michael Bull
aca9ad92f8 Deprecate get{All,AllErrors} in favour of filter{Values,Errors} 2024-03-08 23:55:47 +00:00
Michael Bull
f091f507d9 Add Iterable#{filterValues,filterValuesTo,filterErrors,filterErrorsTo} 2024-03-08 23:55:47 +00:00
Michael Bull
6e62d9f97d Add Iterable#{allOk,allErr,anyOk,anyErr,countOk,countErr} 2024-03-08 23:40:07 +00:00
Michael Bull
15fc1ff013 Add mapCatching
See: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/map-catching.html
2024-03-08 20:42:44 +00:00
Michael Bull
f208f5ee79 Simplify predicate-based functions 2024-03-08 20:36:09 +00:00
Michael Bull
0b85cc2aad Reuse runCatching in recoverCatching 2024-03-08 20:29:41 +00:00
Michael Bull
d2932de547 Reformat Iterable 2024-03-08 14:46:59 +00:00
Michael Bull
01c8c00f98 Rename error to result in binding impls 2024-03-08 14:46:59 +00:00
Michael Bull
5c4635b655 Reformat project 2024-03-08 14:46:59 +00:00
Michael Bull
104f6a8ecd Mark objects as data objects in tests 2024-03-08 14:46:59 +00:00
Michael Bull
d8ea6e1c04 Move binding type declarations to lefthand of callsite 2024-03-08 14:46:59 +00:00
Michael Bull
f7c9f605f1 Tidy up MapTest 2024-03-08 14:46:59 +00:00
Michael Bull
f05ce6e0c7 Improve consistency across unit tests 2024-03-08 14:46:59 +00:00
Michael Bull
4e5cdeede7 Add flatMap{Both,Either} 2024-03-08 14:46:59 +00:00
Michael Bull
5d2c732ae7 Include os name in workflow jobs 2024-03-05 05:43:19 +00:00
Michael Bull
f91b7c1efa Run publish step only on main repository 2024-03-04 22:19:19 +00:00
Michael Bull
2acedfa898 Bump version 2024-03-03 15:58:07 +00:00
Michael Bull
89ed2955ba Release v1.1.20 2024-03-03 15:52:20 +00:00
Michael Bull
a522fbd3e7 Update copyright year in LICENSE 2024-03-03 15:51:50 +00:00
Michael Bull
da96ceef8e Add more build targets for coroutines extensions
kotlinx-coroutines has since started publishing more native build
targets since we first became multiplatform. This commit ensures we also
build native targets for the platforms that were previously missing,
namely:

- androidNativeArm32
- androidNativeArm64
- androidNativeX64
- androidNativeX86
- linuxArm64
- wasmJs

This ensures that we are now supporting all three tiers of Kotlin/Native
target support.

See: https://kotlinlang.org/docs/native-target-support.html
2024-03-03 15:24:15 +00:00
Michael Bull
a4fe9f6fa8 Set env vars only on publish step 2024-03-03 14:51:03 +00:00
Michael Bull
8893187a3a Pin GitHub actions by commit hash
See: https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions
2024-03-03 14:49:28 +00:00
Michael Bull
ebf7eedb14 Add names to workflow jobs 2024-03-03 14:24:20 +00:00
Michael Bull
c3d28ed771 Simplify configuration of KotlinNpmInstallTask 2024-03-03 14:24:20 +00:00
Michael Bull
76a69a50e8 Merge GitHub workflows 2024-03-03 06:16:38 +00:00
Michael Bull
9f93f45541 Fix build url in Maven POM 2024-03-03 01:56:55 +00:00
Michael Bull
bbf1c5d08c Fix workflow badge in README 2024-03-03 01:44:28 +00:00
Michael Bull
34cb35ffd5 Use import in build.gradle.kts 2024-03-03 01:42:25 +00:00
Michael Bull
f19b0a9b11 Bump version 2024-03-03 01:41:42 +00:00
Michael Bull
779479b2d9 Release v1.1.19 2024-03-03 01:22:43 +00:00
Michael Bull
546abbfb96 Fix missing url in maven POM 2024-03-03 01:22:43 +00:00
Michael Bull
67990a3b0b Stop running build workflow twice on push to master
The deploy workflow depends on the build one, so it is already
responsible for running it via workflow_call.
2024-03-03 00:17:47 +00:00
Michael Bull
a90c0fc92e Update github actions 2024-03-03 00:16:33 +00:00
Michael Bull
88e31cd1ac Extract shared build logic to convention plugins
See: https://docs.gradle.org/current/userguide/sharing_build_logic_between_subprojects.html#sec:convention_plugins
2024-03-03 00:02:54 +00:00
Michael Bull
bae2d88e3d Adopt dependencyResolutionManagement in settings.gradle 2024-03-02 21:37:21 +00:00
Michael Bull
fca4ec6cab Merge tasks into single runner in workflows 2024-03-02 21:33:27 +00:00
Michael Bull
350ef94e5d Run deploy workflow on every push to master 2024-03-02 19:49:01 +00:00
Michael Bull
a73b69a54a Remove kotlin-js-store from gitignore
The official docs[1] recommend comitting the kotlin-js-store directory
and its contents to ensure the application is being built with the same
dependency tree on all machines.

[1] https://kotlinlang.org/docs/js-project-setup.html#version-locking-via-kotlin-js-store
2024-03-02 19:25:12 +00:00
Michael Bull
402999a1da Refactor Gradle workflows
Uses the actions found in the Kotlin mpp template gallery[1].

[1] https://kmp.jetbrains.com/#templateGallery
2024-03-02 19:18:07 +00:00
Michael Bull
d3d0381d2c Restrict CI workflow permissions to readonly contents 2024-03-02 18:13:29 +00:00
Michael Bull
13dfdae6ab Only run CI workflow on master branch 2024-03-02 18:13:29 +00:00
Michael Bull
3f1dc0a2c7 Fix yaml indentation in editorconfig 2024-03-02 18:13:29 +00:00