From 1974c20229dc604f49e1d3034f9d799a5fd1f1a8 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Sun, 8 Nov 2020 12:07:14 +0600 Subject: [PATCH 1/6] start 0.30.1 --- CHANGELOG.md | 2 ++ gradle.properties | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7e9277351..69d0590566 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # TelegramBotAPI changelog +## 0.30.1 + ## 0.30.0 Bot API 5.0 **THIS UPDATE CONTAINS A LOT OF BREAKING CHANGES. PLEASE, BE CAREFUL ON UPGRADING OF YOUR PROJECT** diff --git a/gradle.properties b/gradle.properties index 42d720c08a..4e946b3ed0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,7 +17,7 @@ micro_utils_version=0.2.7 javax_activation_version=1.1.1 library_group=dev.inmo -library_version=0.30.0 +library_version=0.30.1 gradle_bintray_plugin_version=1.8.5 github_release_plugin_version=2.2.12 From 5f1ca51e607be17c4f7dabfc73878949758a8b05 Mon Sep 17 00:00:00 2001 From: Kirill Romanov Date: Sun, 8 Nov 2020 18:19:26 +0300 Subject: [PATCH 2/6] Add builder-style dsl for text sources --- CHANGELOG.md | 3 + .../utils/formatting/EntitiesBuilder.kt | 128 ++++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 tgbotapi.extensions.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt diff --git a/CHANGELOG.md b/CHANGELOG.md index 69d0590566..2f56a0ad11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ ## 0.30.1 +* `Utils`: + * Builder-style DSL for text sources - `buildEntities` + ## 0.30.0 Bot API 5.0 **THIS UPDATE CONTAINS A LOT OF BREAKING CHANGES. PLEASE, BE CAREFUL ON UPGRADING OF YOUR PROJECT** diff --git a/tgbotapi.extensions.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt b/tgbotapi.extensions.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt new file mode 100644 index 0000000000..c2b2291cd7 --- /dev/null +++ b/tgbotapi.extensions.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt @@ -0,0 +1,128 @@ +package dev.inmo.tgbotapi.extensions.utils.formatting + +import dev.inmo.tgbotapi.CommonAbstracts.TextSource +import dev.inmo.tgbotapi.types.User + +fun buildEntities(init: EntitiesBuilder.() -> Unit): List { + val builder = EntitiesBuilder() + builder.init() + return builder.build() +} + +class EntitiesBuilder internal constructor( + private val entitiesList: MutableList = mutableListOf() +) { + fun build(): List { + return entitiesList + } + + fun add(source: TextSource) { + entitiesList.add(source) + } + + operator fun String.unaryPlus() { + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.regular(this)) + } +} + +fun EntitiesBuilder.bold(parts: List) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.bold(parts)) + +fun EntitiesBuilder.bold(vararg parts: TextSource) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.bold(*parts)) + +fun EntitiesBuilder.bold(text: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.bold(text)) + +fun EntitiesBuilder.botCommand(command: String) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.botCommand(command)) + +fun EntitiesBuilder.cashTag(parts: List) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.cashTag(parts)) + +fun EntitiesBuilder.cashTag(vararg parts: TextSource) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.cashTag(*parts)) + +fun EntitiesBuilder.cashTag(text: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.cashTag(text)) + +fun EntitiesBuilder.code(code: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.code(code)) + +fun EntitiesBuilder.email(parts: List) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.email(parts)) + +fun EntitiesBuilder.email(vararg parts: TextSource) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.email(*parts)) + +fun EntitiesBuilder.email(emailAddress: String) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.email(emailAddress)) + +fun EntitiesBuilder.hashtag(parts: List) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.hashtag(parts)) + +fun EntitiesBuilder.hashtag(vararg parts: TextSource) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.hashtag(*parts)) + +fun EntitiesBuilder.hashtag(hashtag: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.hashtag(hashtag)) + +fun EntitiesBuilder.italic(parts: List) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.italic(parts)) + +fun EntitiesBuilder.italic(vararg parts: TextSource) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.italic(*parts)) + +fun EntitiesBuilder.italic(text: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.italic(text)) + +fun EntitiesBuilder.mention(parts: List) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.mention(parts)) + +fun EntitiesBuilder.mention(vararg parts: TextSource) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.mention(*parts)) + +fun EntitiesBuilder.mention(whoToMention: String) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.mention(whoToMention)) + +fun EntitiesBuilder.mention(parts: List, user: User) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.mention(parts, user)) + +fun EntitiesBuilder.mention(user: User, vararg parts: TextSource) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.mention(user, *parts)) + +fun EntitiesBuilder.mention(text: String, user: User) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.mention(text, user)) + +fun EntitiesBuilder.phone(parts: List) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.phone(parts)) + +fun EntitiesBuilder.phone(vararg parts: TextSource) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.phone(*parts)) + +fun EntitiesBuilder.phone(number: String) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.phone(number)) + +fun EntitiesBuilder.pre(code: String, language: String?) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.pre(code, language)) + +fun EntitiesBuilder.regular(text: String) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.regular(text)) + +fun EntitiesBuilder.strikethrough(parts: List) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.strikethrough(parts)) + +fun EntitiesBuilder.strikethrough(vararg parts: TextSource) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.strikethrough(*parts)) + +fun EntitiesBuilder.strikethrough(text: String) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.strikethrough(text)) + +fun EntitiesBuilder.link(text: String, url: String) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.link(text, url)) + +fun EntitiesBuilder.link(url: String) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.link(url)) + +fun EntitiesBuilder.underline(parts: List) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.underline(parts)) + +fun EntitiesBuilder.underline(vararg parts: TextSource) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.underline(*parts)) + +fun EntitiesBuilder.underline(text: String) = + add(dev.inmo.tgbotapi.types.MessageEntity.textsources.underline(text)) From b621325e920630243b2649878f3449ddfa06028e Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Mon, 9 Nov 2020 08:37:30 +0600 Subject: [PATCH 3/6] update version of microutils and changelog --- CHANGELOG.md | 5 ++++- gradle.properties | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f56a0ad11..a3d0c7b493 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,11 @@ ## 0.30.1 +* `Common`: + * `Version`: + * `MicroUtils`: `0.2.7` -> `0.3.0` * `Utils`: - * Builder-style DSL for text sources - `buildEntities` + * Builder-style DSL for text sources - `buildEntities` (thanks to [djaler](https://github.com/djaler)) ## 0.30.0 Bot API 5.0 diff --git a/gradle.properties b/gradle.properties index 4e946b3ed0..98caf1b573 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,7 @@ klock_version=1.12.1 uuid_version=0.2.2 ktor_version=1.4.1 -micro_utils_version=0.2.7 +micro_utils_version=0.3.0 javax_activation_version=1.1.1 From 324018a0f6e2876e4d0b0ff6b1d1ebaa30005aef Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Mon, 9 Nov 2020 14:45:29 +0600 Subject: [PATCH 4/6] update publication scripts --- tgbotapi.core/mpp_publish_template.kpsb | 2 +- tgbotapi.core/publish.gradle | 1 + tgbotapi.extensions.api/mpp_publish_template.kpsb | 2 +- tgbotapi.extensions.api/publish.gradle | 1 + tgbotapi.extensions.utils/mpp_publish_template.kpsb | 2 +- tgbotapi.extensions.utils/publish.gradle | 1 + tgbotapi/mpp_publish_template.kpsb | 2 +- tgbotapi/publish.gradle | 1 + 8 files changed, 8 insertions(+), 4 deletions(-) diff --git a/tgbotapi.core/mpp_publish_template.kpsb b/tgbotapi.core/mpp_publish_template.kpsb index 1c982fb993..65002ecf56 100644 --- a/tgbotapi.core/mpp_publish_template.kpsb +++ b/tgbotapi.core/mpp_publish_template.kpsb @@ -1 +1 @@ -{"bintrayConfig":{"repo":"TelegramBotAPI","packageName":"${project.name}","packageVcs":"https://github.com/InsanusMokrassar/TelegramBotAPI","autoPublish":true},"licenses":[{"id":"Apache-2.0","title":"Apache Software License 2.0","url":"https://github.com/InsanusMokrassar/TelegramBotAPI/blob/master/LICENSE"}],"mavenConfig":{"name":"Telegram Bot API Core","description":"Library for Object-Oriented and type-safe work with Telegram Bot API","url":"https://insanusmokrassar.github.io/TelegramBotAPI","vcsUrl":"https://github.com/insanusmokrassar/TelegramBotAPI.git","developers":[{"id":"InsanusMokrassar","name":"Ovsiannikov Aleksei","eMail":"ovsyannikov.alexey95@gmail.com"}]},"type":"Multiplatform"} \ No newline at end of file +{"bintrayConfig":{"repo":"TelegramBotAPI","packageName":"${project.name}","packageVcs":"https://github.com/InsanusMokrassar/TelegramBotAPI","autoPublish":true,"overridePublish":true},"licenses":[{"id":"Apache-2.0","title":"Apache Software License 2.0","url":"https://github.com/InsanusMokrassar/TelegramBotAPI/blob/master/LICENSE"}],"mavenConfig":{"name":"Telegram Bot API Core","description":"Library for Object-Oriented and type-safe work with Telegram Bot API","url":"https://insanusmokrassar.github.io/TelegramBotAPI","vcsUrl":"https://github.com/insanusmokrassar/TelegramBotAPI.git","developers":[{"id":"InsanusMokrassar","name":"Ovsiannikov Aleksei","eMail":"ovsyannikov.alexey95@gmail.com"}]}} \ No newline at end of file diff --git a/tgbotapi.core/publish.gradle b/tgbotapi.core/publish.gradle index 40151c5550..e4ca84791d 100644 --- a/tgbotapi.core/publish.gradle +++ b/tgbotapi.core/publish.gradle @@ -27,6 +27,7 @@ bintray { } publish = true + override = true pkg { repo = "TelegramBotAPI" diff --git a/tgbotapi.extensions.api/mpp_publish_template.kpsb b/tgbotapi.extensions.api/mpp_publish_template.kpsb index 826bbde68b..b812473a40 100644 --- a/tgbotapi.extensions.api/mpp_publish_template.kpsb +++ b/tgbotapi.extensions.api/mpp_publish_template.kpsb @@ -1 +1 @@ -{"bintrayConfig":{"repo":"TelegramBotAPI","packageName":"${project.name}","packageVcs":"https://github.com/InsanusMokrassar/TelegramBotAPI","autoPublish":true},"licenses":[{"id":"Apache-2.0","title":"Apache Software License 2.0","url":"https://github.com/InsanusMokrassar/TelegramBotAPI/blob/master/LICENSE"}],"mavenConfig":{"name":"Telegram Bot API Extensions for API","description":"API extensions which provide work with RequestsExecutor of TelegramBotAPI almost like it is described in original Telegram Bot API reference","url":"https://insanusmokrassar.github.io/TelegramBotAPI/TelegramBotAPI-extensions-api","vcsUrl":"https://github.com/insanusmokrassar/TelegramBotAPI.git","developers":[{"id":"InsanusMokrassar","name":"Ovsiannikov Aleksei","eMail":"ovsyannikov.alexey95@gmail.com"}]},"type":"Multiplatform"} \ No newline at end of file +{"bintrayConfig":{"repo":"TelegramBotAPI","packageName":"${project.name}","packageVcs":"https://github.com/InsanusMokrassar/TelegramBotAPI","autoPublish":true,"overridePublish":true},"licenses":[{"id":"Apache-2.0","title":"Apache Software License 2.0","url":"https://github.com/InsanusMokrassar/TelegramBotAPI/blob/master/LICENSE"}],"mavenConfig":{"name":"Telegram Bot API Extensions for API","description":"API extensions which provide work with RequestsExecutor of TelegramBotAPI almost like it is described in original Telegram Bot API reference","url":"https://insanusmokrassar.github.io/TelegramBotAPI/TelegramBotAPI-extensions-api","vcsUrl":"https://github.com/insanusmokrassar/TelegramBotAPI.git","developers":[{"id":"InsanusMokrassar","name":"Ovsiannikov Aleksei","eMail":"ovsyannikov.alexey95@gmail.com"}]}} \ No newline at end of file diff --git a/tgbotapi.extensions.api/publish.gradle b/tgbotapi.extensions.api/publish.gradle index 40151c5550..e4ca84791d 100644 --- a/tgbotapi.extensions.api/publish.gradle +++ b/tgbotapi.extensions.api/publish.gradle @@ -27,6 +27,7 @@ bintray { } publish = true + override = true pkg { repo = "TelegramBotAPI" diff --git a/tgbotapi.extensions.utils/mpp_publish_template.kpsb b/tgbotapi.extensions.utils/mpp_publish_template.kpsb index 444125e63a..fdf1c71301 100644 --- a/tgbotapi.extensions.utils/mpp_publish_template.kpsb +++ b/tgbotapi.extensions.utils/mpp_publish_template.kpsb @@ -1 +1 @@ -{"bintrayConfig":{"repo":"TelegramBotAPI","packageName":"${project.name}","packageVcs":"https://github.com/InsanusMokrassar/TelegramBotAPI","autoPublish":true},"licenses":[{"id":"Apache-2.0","title":"Apache Software License 2.0","url":"https://github.com/InsanusMokrassar/TelegramBotAPI/blob/master/LICENSE"}],"mavenConfig":{"name":"Telegram Bot API Utility Extensions","description":"Util extensions for more useful work with updates and other things","url":"https://insanusmokrassar.github.io/TelegramBotAPI/TelegramBotAPI-extensions-utils","vcsUrl":"https://github.com/insanusmokrassar/TelegramBotAPI.git","developers":[{"id":"InsanusMokrassar","name":"Ovsiannikov Aleksei","eMail":"ovsyannikov.alexey95@gmail.com"}]},"type":"Multiplatform"} \ No newline at end of file +{"bintrayConfig":{"repo":"TelegramBotAPI","packageName":"${project.name}","packageVcs":"https://github.com/InsanusMokrassar/TelegramBotAPI","autoPublish":true,"overridePublish":true},"licenses":[{"id":"Apache-2.0","title":"Apache Software License 2.0","url":"https://github.com/InsanusMokrassar/TelegramBotAPI/blob/master/LICENSE"}],"mavenConfig":{"name":"Telegram Bot API Utility Extensions","description":"Util extensions for more useful work with updates and other things","url":"https://insanusmokrassar.github.io/TelegramBotAPI/TelegramBotAPI-extensions-utils","vcsUrl":"https://github.com/insanusmokrassar/TelegramBotAPI.git","developers":[{"id":"InsanusMokrassar","name":"Ovsiannikov Aleksei","eMail":"ovsyannikov.alexey95@gmail.com"}]}} \ No newline at end of file diff --git a/tgbotapi.extensions.utils/publish.gradle b/tgbotapi.extensions.utils/publish.gradle index 40151c5550..e4ca84791d 100644 --- a/tgbotapi.extensions.utils/publish.gradle +++ b/tgbotapi.extensions.utils/publish.gradle @@ -27,6 +27,7 @@ bintray { } publish = true + override = true pkg { repo = "TelegramBotAPI" diff --git a/tgbotapi/mpp_publish_template.kpsb b/tgbotapi/mpp_publish_template.kpsb index c9a15a07ff..1a4e5a3cdd 100644 --- a/tgbotapi/mpp_publish_template.kpsb +++ b/tgbotapi/mpp_publish_template.kpsb @@ -1 +1 @@ -{"bintrayConfig":{"repo":"TelegramBotAPI","packageName":"${project.name}","packageVcs":"https://github.com/InsanusMokrassar/TelegramBotAPI","autoPublish":true},"licenses":[{"id":"Apache-2.0","title":"Apache Software License 2.0","url":"https://github.com/InsanusMokrassar/TelegramBotAPI/blob/master/LICENSE"}],"mavenConfig":{"name":"Telegram Bot API","description":"This project just include all subproject of TelegramBotAPI","url":"https://insanusmokrassar.github.io/TelegramBotAPI/TelegramBotAPI","vcsUrl":"https://github.com/insanusmokrassar/TelegramBotAPI.git","developers":[{"id":"InsanusMokrassar","name":"Ovsiannikov Aleksei","eMail":"ovsyannikov.alexey95@gmail.com"}]},"type":"Multiplatform"} \ No newline at end of file +{"bintrayConfig":{"repo":"TelegramBotAPI","packageName":"${project.name}","packageVcs":"https://github.com/InsanusMokrassar/TelegramBotAPI","autoPublish":true,"overridePublish":true},"licenses":[{"id":"Apache-2.0","title":"Apache Software License 2.0","url":"https://github.com/InsanusMokrassar/TelegramBotAPI/blob/master/LICENSE"}],"mavenConfig":{"name":"Telegram Bot API","description":"This project just include all subproject of TelegramBotAPI","url":"https://insanusmokrassar.github.io/TelegramBotAPI/TelegramBotAPI","vcsUrl":"https://github.com/insanusmokrassar/TelegramBotAPI.git","developers":[{"id":"InsanusMokrassar","name":"Ovsiannikov Aleksei","eMail":"ovsyannikov.alexey95@gmail.com"}]}} \ No newline at end of file diff --git a/tgbotapi/publish.gradle b/tgbotapi/publish.gradle index 40151c5550..e4ca84791d 100644 --- a/tgbotapi/publish.gradle +++ b/tgbotapi/publish.gradle @@ -27,6 +27,7 @@ bintray { } publish = true + override = true pkg { repo = "TelegramBotAPI" From f0f18209f3948991c0585c862ad3b33ddb1fdafb Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Mon, 9 Nov 2020 15:12:57 +0600 Subject: [PATCH 5/6] a little bit improve EntitiesBuilder --- .../utils/formatting/EntitiesBuilder.kt | 106 ++++++++++-------- 1 file changed, 59 insertions(+), 47 deletions(-) diff --git a/tgbotapi.extensions.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt b/tgbotapi.extensions.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt index c2b2291cd7..df1af7855d 100644 --- a/tgbotapi.extensions.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt +++ b/tgbotapi.extensions.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt @@ -1,128 +1,140 @@ +@file:Suppress("NOTHING_TO_INLINE") + package dev.inmo.tgbotapi.extensions.utils.formatting import dev.inmo.tgbotapi.CommonAbstracts.TextSource import dev.inmo.tgbotapi.types.User -fun buildEntities(init: EntitiesBuilder.() -> Unit): List { - val builder = EntitiesBuilder() - builder.init() - return builder.build() -} +fun buildEntities(init: EntitiesBuilder.() -> Unit): List = EntitiesBuilder().apply(init).build() +/** + * This builder can be used to provide building of [TextSource]s [List] + * + * @see buildEntities + */ class EntitiesBuilder internal constructor( private val entitiesList: MutableList = mutableListOf() ) { - fun build(): List { - return entitiesList - } + /** + * It is not safe field which contains potentially changeable [List] + */ + val entities: List + get() = entitiesList - fun add(source: TextSource) { - entitiesList.add(source) - } + /** + * @return New immutable list which will be deattached from this builder + */ + fun build(): List = entities.toList() + + fun add(source: TextSource) { entitiesList.add(source) } + + operator fun TextSource.unaryPlus() = add(this) + operator fun List.unaryPlus() = entitiesList.addAll(this) + operator fun invoke(vararg source: TextSource) = entitiesList.addAll(source) operator fun String.unaryPlus() { add(dev.inmo.tgbotapi.types.MessageEntity.textsources.regular(this)) } } -fun EntitiesBuilder.bold(parts: List) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.bold(parts)) +inline fun EntitiesBuilder.bold(parts: List) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.bold(parts)) -fun EntitiesBuilder.bold(vararg parts: TextSource) = +inline fun EntitiesBuilder.bold(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.bold(*parts)) -fun EntitiesBuilder.bold(text: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.bold(text)) +inline fun EntitiesBuilder.bold(text: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.bold(text)) -fun EntitiesBuilder.botCommand(command: String) = +inline fun EntitiesBuilder.botCommand(command: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.botCommand(command)) -fun EntitiesBuilder.cashTag(parts: List) = +inline fun EntitiesBuilder.cashTag(parts: List) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.cashTag(parts)) -fun EntitiesBuilder.cashTag(vararg parts: TextSource) = +inline fun EntitiesBuilder.cashTag(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.cashTag(*parts)) -fun EntitiesBuilder.cashTag(text: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.cashTag(text)) +inline fun EntitiesBuilder.cashTag(text: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.cashTag(text)) -fun EntitiesBuilder.code(code: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.code(code)) +inline fun EntitiesBuilder.code(code: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.code(code)) -fun EntitiesBuilder.email(parts: List) = +inline fun EntitiesBuilder.email(parts: List) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.email(parts)) -fun EntitiesBuilder.email(vararg parts: TextSource) = +inline fun EntitiesBuilder.email(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.email(*parts)) -fun EntitiesBuilder.email(emailAddress: String) = +inline fun EntitiesBuilder.email(emailAddress: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.email(emailAddress)) -fun EntitiesBuilder.hashtag(parts: List) = +inline fun EntitiesBuilder.hashtag(parts: List) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.hashtag(parts)) -fun EntitiesBuilder.hashtag(vararg parts: TextSource) = +inline fun EntitiesBuilder.hashtag(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.hashtag(*parts)) -fun EntitiesBuilder.hashtag(hashtag: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.hashtag(hashtag)) +inline fun EntitiesBuilder.hashtag(hashtag: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.hashtag(hashtag)) -fun EntitiesBuilder.italic(parts: List) = +inline fun EntitiesBuilder.italic(parts: List) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.italic(parts)) -fun EntitiesBuilder.italic(vararg parts: TextSource) = +inline fun EntitiesBuilder.italic(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.italic(*parts)) -fun EntitiesBuilder.italic(text: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.italic(text)) +inline fun EntitiesBuilder.italic(text: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.italic(text)) -fun EntitiesBuilder.mention(parts: List) = +inline fun EntitiesBuilder.mention(parts: List) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.mention(parts)) -fun EntitiesBuilder.mention(vararg parts: TextSource) = +inline fun EntitiesBuilder.mention(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.mention(*parts)) -fun EntitiesBuilder.mention(whoToMention: String) = +inline fun EntitiesBuilder.mention(whoToMention: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.mention(whoToMention)) -fun EntitiesBuilder.mention(parts: List, user: User) = +inline fun EntitiesBuilder.mention(parts: List, user: User) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.mention(parts, user)) -fun EntitiesBuilder.mention(user: User, vararg parts: TextSource) = +inline fun EntitiesBuilder.mention(user: User, vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.mention(user, *parts)) -fun EntitiesBuilder.mention(text: String, user: User) = +inline fun EntitiesBuilder.mention(text: String, user: User) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.mention(text, user)) -fun EntitiesBuilder.phone(parts: List) = +inline fun EntitiesBuilder.phone(parts: List) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.phone(parts)) -fun EntitiesBuilder.phone(vararg parts: TextSource) = +inline fun EntitiesBuilder.phone(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.phone(*parts)) -fun EntitiesBuilder.phone(number: String) = +inline fun EntitiesBuilder.phone(number: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.phone(number)) -fun EntitiesBuilder.pre(code: String, language: String?) = +inline fun EntitiesBuilder.pre(code: String, language: String?) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.pre(code, language)) -fun EntitiesBuilder.regular(text: String) = +inline fun EntitiesBuilder.regular(text: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.regular(text)) -fun EntitiesBuilder.strikethrough(parts: List) = +inline fun EntitiesBuilder.strikethrough(parts: List) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.strikethrough(parts)) -fun EntitiesBuilder.strikethrough(vararg parts: TextSource) = +inline fun EntitiesBuilder.strikethrough(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.strikethrough(*parts)) -fun EntitiesBuilder.strikethrough(text: String) = +inline fun EntitiesBuilder.strikethrough(text: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.strikethrough(text)) -fun EntitiesBuilder.link(text: String, url: String) = +inline fun EntitiesBuilder.link(text: String, url: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.link(text, url)) -fun EntitiesBuilder.link(url: String) = +inline fun EntitiesBuilder.link(url: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.link(url)) -fun EntitiesBuilder.underline(parts: List) = +inline fun EntitiesBuilder.underline(parts: List) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.underline(parts)) -fun EntitiesBuilder.underline(vararg parts: TextSource) = +inline fun EntitiesBuilder.underline(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.underline(*parts)) -fun EntitiesBuilder.underline(text: String) = +inline fun EntitiesBuilder.underline(text: String) = add(dev.inmo.tgbotapi.types.MessageEntity.textsources.underline(text)) From d29acce417f24786ce38e950184702a3f46abce9 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Mon, 9 Nov 2020 15:14:48 +0600 Subject: [PATCH 6/6] add suppressing of unused in EntitiesBuilder --- .../tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgbotapi.extensions.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt b/tgbotapi.extensions.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt index df1af7855d..c9b23384c1 100644 --- a/tgbotapi.extensions.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt +++ b/tgbotapi.extensions.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/formatting/EntitiesBuilder.kt @@ -1,4 +1,4 @@ -@file:Suppress("NOTHING_TO_INLINE") +@file:Suppress("NOTHING_TO_INLINE", "unused") package dev.inmo.tgbotapi.extensions.utils.formatting