From 91e09537b72821cf0302b327a3c443f5e2b77a42 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 21 Mar 2020 21:54:24 -0700 Subject: [PATCH 001/136] Removed kotliner. --- build.gradle.kts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 34a0ef3..cac2272 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -15,7 +15,6 @@ plugins { id("org.jetbrains.dokka") version "0.10.1" id("org.jetbrains.kotlin.jvm") version "1.3.70" id("org.jetbrains.kotlin.kapt").version("1.3.70") - id("org.jmailen.kotlinter") version "2.3.2" id("org.sonarqube") version "2.8" } @@ -84,13 +83,6 @@ detekt { baseline = project.rootDir.resolve("detekt-baseline.xml") } -kotlinter { - ignoreFailures = false - reporters = arrayOf("html") - experimentalRules = false - disabledRules = arrayOf("import-ordering") -} - jacoco { toolVersion = "0.8.3" } From 8138a23bc5207d2f5e9d983986b06ef6751a9ede Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 21 Mar 2020 22:58:44 -0700 Subject: [PATCH 002/136] IDEA files updates. --- .../inspectionProfiles/profiles_settings.xml | 7 + .idea/misc.xml | 2 +- config/checkstyle/checkstyle.xml | 277 ++++++++++++++++++ config/pmd.xml | 271 +++++++++++++++++ config/spotbugs/excludeFilter.xml | 16 + 5 files changed, 572 insertions(+), 1 deletion(-) create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 config/checkstyle/checkstyle.xml create mode 100644 config/pmd.xml create mode 100644 config/spotbugs/excludeFilter.xml diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..dc2dcae --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 9540c66..05b6e27 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -12,7 +12,7 @@ - + diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml new file mode 100644 index 0000000..c5f6465 --- /dev/null +++ b/config/checkstyle/checkstyle.xml @@ -0,0 +1,277 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config/pmd.xml b/config/pmd.xml new file mode 100644 index 0000000..22f6a03 --- /dev/null +++ b/config/pmd.xml @@ -0,0 +1,271 @@ + + + + + Erik's Ruleset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ^ignore$ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config/spotbugs/excludeFilter.xml b/config/spotbugs/excludeFilter.xml new file mode 100644 index 0000000..ddb2db1 --- /dev/null +++ b/config/spotbugs/excludeFilter.xml @@ -0,0 +1,16 @@ + + + + From 0f08c131c6115cfa356d057bf3988715566e54df Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 21 Mar 2020 22:59:24 -0700 Subject: [PATCH 003/136] Fixed examples and docs. --- README.md | 16 ++++++++-------- .../src/main/java/com/example/BitlySample.java | 4 ++-- .../kotlin/net/thauvin/erik/bitly/BitlyTest.kt | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 143bc58..cc4a8c8 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -[![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](http://opensource.org/licenses/BSD-3-Clause) -[![Known Vulnerabilities](https://snyk.io/test/github/ethauvin/bitly-shorten/badge.svg?targetFile=pom.xml)](https://snyk.io/test/github/ethauvin/bitly-shorten?targetFile=pom.xml) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=ethauvin_bitly-shorten&metric=alert_status)](https://sonarcloud.io/dashboard?id=ethauvin_bitly-shorten) [![Build Status](https://travis-ci.org/ethauvin/bitly-shorten.svg?branch=master)](https://travis-ci.org/ethauvin/bitly-shorten) [![CircleCI](https://circleci.com/gh/ethauvin/bitly-shorten/tree/master.svg?style=shield)](https://circleci.com/gh/ethauvin/bitly-shorten/tree/master) +[![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](https://opensource.org/licenses/BSD-3-Clause) +[![Known Vulnerabilities](https://snyk.io/test/github/ethauvin/bitly-shorten/badge.svg?targetFile=pom.xml)](https://snyk.io/test/github/ethauvin/bitly-shorten?targetFile=pom.xml) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=ethauvin_bitly-shorten&metric=alert_status)](https://sonarcloud.io/dashboard?id=ethauvin_bitly-shorten) [![Build Status](https://travis-ci.com/ethauvin/bitly-shorten.svg?branch=master)](https://travis-ci.com/ethauvin/bitly-shorten) [![CircleCI](https://circleci.com/gh/ethauvin/bitly-shorten/tree/master.svg?style=shield)](https://circleci.com/gh/ethauvin/bitly-shorten/tree/master) -# [Bitly](https://dev.bitly.com/v4/) Shortener for Kotlin/Java. +# [Bitly](https://dev.bitly.com/v4/) Shortener for Kotlin/Java A simple implementation of the link shortening ([bitlinks](https://dev.bitly.com/v4/#tag/Bitlinks)) abilities of the [Bitly v4 API](https://dev.bitly.com/v4). @@ -14,16 +14,16 @@ val bitly = Bitly(/* "YOUR_API_ACCESS_TOKEN from https://bitly.is/accesstoken" * bitly.bitlinks().shorten("https://erik.thauvin.net/blog") // Expand -bitly.bitlinks().expand("http://bit.ly/380ojFd") +bitly.bitlinks().expand("https://bit.ly/380ojFd") // Clicks Summary -bitly.bitlinks().clicks("http://bit.ly/380ojFd") +bitly.bitlinks().clicks("https://bit.ly/380ojFd") // Create a bitlink -bitly.bitlinks().create(title = "Erik's Weblog", long_url = "http://erik.thauvin.net/blog/") +bitly.bitlinks().create(title = "Erik's Weblog", long_url = "https://erik.thauvin.net/blog/") // Update a bitlink -bitly.bitlinks().update("http://bit.ly/380ojFd", title="Erik's Weblog", tags = arrayOf("blog", "weblog")) +bitly.bitlinks().update("https://bit.ly/380ojFd", title="Erik's Weblog", tags = arrayOf("blog", "weblog")) ``` - View [Kotlin](https://github.com/ethauvin/bitly-shorten/blob/master/examples/src/main/kotlin/com/example/BitlyExample.kt) or [Java](https://github.com/ethauvin/bitly-shorten/blob/master/examples/src/main/java/com/example/BitlySample.java) Examples. @@ -55,7 +55,7 @@ bitly.bitlinks().shorten("https://www.erik.thauvin.net/blog", toJson = true) ```json { "created_at": "2020-02-26T06:50:08+0000", - "link": "http://bit.ly/380ojFd", + "link": "https://bit.ly/380ojFd", "id": "bit.ly/380ojFd", "long_url": "https://erik.thauvin.net/blog" } diff --git a/examples/src/main/java/com/example/BitlySample.java b/examples/src/main/java/com/example/BitlySample.java index 94214d0..0a6cf48 100644 --- a/examples/src/main/java/com/example/BitlySample.java +++ b/examples/src/main/java/com/example/BitlySample.java @@ -2,8 +2,8 @@ package com.example; import net.thauvin.erik.bitly.Bitly; -public class BitlySample { - public static void main(String[] args) { +public final class BitlySample { + public static void main(final String[] args) { if (args.length > 0) { final Bitly bitly = new Bitly(/* "YOUR_API_TOKEN from https://bitly.is/accesstoken" */); for (final String arg : args) { diff --git a/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt b/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt index 26bbb7f..e97c4e9 100644 --- a/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt +++ b/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt @@ -52,7 +52,7 @@ class BitlyTest { } } private val longUrl = "https://erik.thauvin.net/blog" - private val shortUrl = "http://bit.ly/380ojFd" + private val shortUrl = "https://bit.ly/380ojFd" @Before fun before() { From 2485f898de2632917904c0120cb3185c860e1896 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 14 Apr 2020 17:20:22 -0700 Subject: [PATCH 004/136] Updated dependencies. --- .travis.yml | 2 +- build.gradle.kts | 14 ++++++-------- examples/build.gradle.kts | 2 +- gradle/wrapper/gradle-wrapper.jar | Bin 58695 -> 58694 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- 5 files changed, 9 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index 86e6f1a..0676637 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,6 +21,6 @@ before_install: after_success: - | - if [ "${TRAVIS_TEST_RESULT}" == 0 ] && [ "$TRAVIS_JDK_VERSION" == oraclejdk8 ]; then + if [ "${TRAVIS_TEST_RESULT}" == 0 ] && [ "$TRAVIS_JDK_VERSION" == "oraclejdk8" ]; then ./gradlew sonarqube fi diff --git a/build.gradle.kts b/build.gradle.kts index cac2272..ee8b8ed 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,12 +9,12 @@ plugins { `java-library` `maven-publish` id("com.github.ben-manes.versions") version "0.28.0" - id("com.jfrog.bintray") version "1.8.4" - id("io.gitlab.arturbosch.detekt") version "1.7.0-beta2" + id("com.jfrog.bintray") version "1.8.5" + id("io.gitlab.arturbosch.detekt") version "1.7.4" id("net.thauvin.erik.gradle.semver") version "1.0.4" id("org.jetbrains.dokka") version "0.10.1" - id("org.jetbrains.kotlin.jvm") version "1.3.70" - id("org.jetbrains.kotlin.kapt").version("1.3.70") + id("org.jetbrains.kotlin.jvm") version "1.3.72" + id("org.jetbrains.kotlin.kapt") version "1.3.72" id("org.sonarqube") version "2.8" } @@ -31,7 +31,7 @@ var semverProcessor = "net.thauvin.erik:semver:1.2.0" val publicationName = "mavenJava" object VersionInfo { - const val okhttp = "4.4.1" + const val okhttp = "4.5.0" } val versions: VersionInfo by extra { VersionInfo } @@ -58,7 +58,6 @@ repositories { dependencies { // Align versions of all Kotlin components implementation(platform("org.jetbrains.kotlin:kotlin-bom")) - // Use the Kotlin JDK 8 standard library. implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") @@ -68,7 +67,6 @@ dependencies { // Use the Kotlin test library. testImplementation("org.jetbrains.kotlin:kotlin-test") - // Use the Kotlin JUnit integration. testImplementation("org.jetbrains.kotlin:kotlin-test-junit") } @@ -84,7 +82,7 @@ detekt { } jacoco { - toolVersion = "0.8.3" + toolVersion = "0.8.5" } java { diff --git a/examples/build.gradle.kts b/examples/build.gradle.kts index 8112ab9..1ea7c06 100644 --- a/examples/build.gradle.kts +++ b/examples/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("org.jetbrains.kotlin.jvm") version "1.3.61" + id("org.jetbrains.kotlin.jvm") version "1.3.71" id("com.github.ben-manes.versions") version "0.28.0" application } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index f3d88b1c2faf2fc91d853cd5d4242b5547257070..490fda8577df6c95960ba7077c43220e5bb2c0d9 100644 GIT binary patch delta 6577 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 MViXjGx&OBR0?kH%b^rhX delta 6547 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 Date: Tue, 9 Jun 2020 14:06:40 -0700 Subject: [PATCH 005/136] Added check for valid API token. --- examples/build.gradle.kts | 6 +++--- examples/gradle/wrapper/gradle-wrapper.jar | Bin 58695 -> 58910 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- examples/gradlew | 2 ++ examples/gradlew.bat | 1 + .../main/java/com/example/BitlySample.java | 14 +++++++++----- .../main/kotlin/com/example/BitlyExample.kt | 14 +++++++++----- 7 files changed, 25 insertions(+), 14 deletions(-) diff --git a/examples/build.gradle.kts b/examples/build.gradle.kts index 1ea7c06..b2820cf 100644 --- a/examples/build.gradle.kts +++ b/examples/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("org.jetbrains.kotlin.jvm") version "1.3.71" + id("org.jetbrains.kotlin.jvm") version "1.3.72" id("com.github.ben-manes.versions") version "0.28.0" application } @@ -18,8 +18,8 @@ dependencies { implementation(platform("org.jetbrains.kotlin:kotlin-bom")) implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") - implementation("net.thauvin.erik:bitly-shorten:0.9.1-beta") - implementation("org.json:json:20190722") + implementation("net.thauvin.erik:bitly-shorten:0.9.2") + implementation("org.json:json:20200518") } application { diff --git a/examples/gradle/wrapper/gradle-wrapper.jar b/examples/gradle/wrapper/gradle-wrapper.jar index f3d88b1c2faf2fc91d853cd5d4242b5547257070..62d4c053550b91381bbd28b1afc82d634bf73a8a 100644 GIT binary patch delta 12524 zcmY*pqN z|ERss*;ReIR@Lg&r_R7IT-GRDbpR4NMKNcwFgy&*A|eco1PnBHRth?SBneiw6$UT&^LVJ0?Naa`KfV(>F!Ez}~S z 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 delta 12163 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 diff --git a/examples/gradle/wrapper/gradle-wrapper.properties b/examples/gradle/wrapper/gradle-wrapper.properties index a2bf131..622ab64 100644 --- a/examples/gradle/wrapper/gradle-wrapper.properties +++ b/examples/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.2.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/gradlew b/examples/gradlew index 2fe81a7..fbd7c51 100644 --- a/examples/gradlew +++ b/examples/gradlew @@ -82,6 +82,7 @@ esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then @@ -129,6 +130,7 @@ fi if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath diff --git a/examples/gradlew.bat b/examples/gradlew.bat index 62bd9b9..5093609 100644 --- a/examples/gradlew.bat +++ b/examples/gradlew.bat @@ -84,6 +84,7 @@ set CMD_LINE_ARGS=%* set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% diff --git a/examples/src/main/java/com/example/BitlySample.java b/examples/src/main/java/com/example/BitlySample.java index 0a6cf48..de39b6b 100644 --- a/examples/src/main/java/com/example/BitlySample.java +++ b/examples/src/main/java/com/example/BitlySample.java @@ -6,12 +6,16 @@ public final class BitlySample { public static void main(final String[] args) { if (args.length > 0) { final Bitly bitly = new Bitly(/* "YOUR_API_TOKEN from https://bitly.is/accesstoken" */); - for (final String arg : args) { - if (arg.contains("bit.ly")) { - System.out.println(arg + " <-- " + bitly.bitlinks().expand(arg)); - } else { - System.out.println(arg + " --> " + bitly.bitlinks().shorten(arg)); + if (!bitly.getAccessToken().isEmpty()) { + for (final String arg : args) { + if (arg.contains("bit.ly")) { + System.out.println(arg + " <-- " + bitly.bitlinks().expand(arg)); + } else { + System.out.println(arg + " --> " + bitly.bitlinks().shorten(arg)); + } } + } else { + System.err.println("Please specify a Bitly API access token."); } } else { System.err.println("Try specifying one or more URLs as arguments."); diff --git a/examples/src/main/kotlin/com/example/BitlyExample.kt b/examples/src/main/kotlin/com/example/BitlyExample.kt index 208758a..f011a1e 100644 --- a/examples/src/main/kotlin/com/example/BitlyExample.kt +++ b/examples/src/main/kotlin/com/example/BitlyExample.kt @@ -6,11 +6,15 @@ import kotlin.system.exitProcess fun main(args: Array) { if (args.isNotEmpty()) { val bitly = Bitly(/* "YOUR_API_ACCESS_TOKEN from https://bitly.is/accesstoken" */) - args.forEach { - if (it.contains("bit.ly")) - println(it + " <-- " + bitly.bitlinks().expand(it)) - else - println(it + " --> " + bitly.bitlinks().shorten(it)) + if (bitly.accessToken.isNotEmpty()) { + args.forEach { + if (it.contains("bit.ly")) + println(it + " <-- " + bitly.bitlinks().expand(it)) + else + println(it + " --> " + bitly.bitlinks().shorten(it)) + } + } else { + println("Please specify a Bitly API access token.") } } else { println("Try specifying one or more URLs as arguments.") From bf164e2b7d6974fadd24dfe5625e253b011ed40e Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 9 Jun 2020 14:10:37 -0700 Subject: [PATCH 006/136] Updated dependencies. --- .idea/bitly-shorten.iml | 2 ++ .idea/jarRepositories.xml | 5 +++++ build.gradle.kts | 8 ++++---- config/detekt/detekt.yml | 3 ++- gradle/wrapper/gradle-wrapper.jar | Bin 58694 -> 58910 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 2 ++ gradlew.bat | 1 + pom.xml | 12 ++++++------ 9 files changed, 23 insertions(+), 12 deletions(-) create mode 100644 .idea/bitly-shorten.iml diff --git a/.idea/bitly-shorten.iml b/.idea/bitly-shorten.iml new file mode 100644 index 0000000..78b2cc5 --- /dev/null +++ b/.idea/bitly-shorten.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml index 95a7959..d80efca 100644 --- a/.idea/jarRepositories.xml +++ b/.idea/jarRepositories.xml @@ -31,5 +31,10 @@ \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index ee8b8ed..6792878 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,12 +10,12 @@ plugins { `maven-publish` id("com.github.ben-manes.versions") version "0.28.0" id("com.jfrog.bintray") version "1.8.5" - id("io.gitlab.arturbosch.detekt") version "1.7.4" + id("io.gitlab.arturbosch.detekt") version "1.9.1" id("net.thauvin.erik.gradle.semver") version "1.0.4" id("org.jetbrains.dokka") version "0.10.1" id("org.jetbrains.kotlin.jvm") version "1.3.72" id("org.jetbrains.kotlin.kapt") version "1.3.72" - id("org.sonarqube") version "2.8" + id("org.sonarqube") version "3.0" } group = "net.thauvin.erik" @@ -31,7 +31,7 @@ var semverProcessor = "net.thauvin.erik:semver:1.2.0" val publicationName = "mavenJava" object VersionInfo { - const val okhttp = "4.5.0" + const val okhttp = "4.7.2" } val versions: VersionInfo by extra { VersionInfo } @@ -63,7 +63,7 @@ dependencies { implementation("com.squareup.okhttp3:okhttp:${versions.okhttp}") implementation("com.squareup.okhttp3:logging-interceptor:${versions.okhttp}") - implementation("org.json:json:20190722") + implementation("org.json:json:20200518") // Use the Kotlin test library. testImplementation("org.jetbrains.kotlin:kotlin-test") diff --git a/config/detekt/detekt.yml b/config/detekt/detekt.yml index c88d826..f24d8c1 100644 --- a/config/detekt/detekt.yml +++ b/config/detekt/detekt.yml @@ -69,7 +69,8 @@ complexity: threshold: 60 LongParameterList: active: false - threshold: 6 + constructorThreshold: 6 + functionThreshold: 6 ignoreDefaultParameters: false MethodOverloading: active: false diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 490fda8577df6c95960ba7077c43220e5bb2c0d9..62d4c053550b91381bbd28b1afc82d634bf73a8a 100644 GIT binary patch delta 6447 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 F{|nTN-B$nr diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a4b4429..622ab64 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 2fe81a7..fbd7c51 100755 --- a/gradlew +++ b/gradlew @@ -82,6 +82,7 @@ esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then @@ -129,6 +130,7 @@ fi if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath diff --git a/gradlew.bat b/gradlew.bat index 62bd9b9..5093609 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -84,6 +84,7 @@ set CMD_LINE_ARGS=%* set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% diff --git a/pom.xml b/pom.xml index a65ab87..5da4ba9 100644 --- a/pom.xml +++ b/pom.xml @@ -8,13 +8,13 @@ 4.0.0 net.thauvin.erik bitly-shorten - 0.9.1-beta + 0.9.2 org.jetbrains.kotlin kotlin-bom - 1.3.70 + 1.3.72 pom import @@ -24,25 +24,25 @@ org.jetbrains.kotlin kotlin-stdlib-jdk8 - 1.3.70 + 1.3.72 runtime com.squareup.okhttp3 okhttp - 4.4.1 + 4.7.2 runtime com.squareup.okhttp3 logging-interceptor - 4.4.1 + 4.7.2 runtime org.json json - 20190722 + 20200518 runtime From fb76c1fc9ed2911103ce27a412588ffded541a6b Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 9 Jun 2020 14:17:56 -0700 Subject: [PATCH 007/136] Added Gradle section. --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index cc4a8c8..9a250cb 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,20 @@ val bitly = Bitly(File("my.properties")) BITLY_ACCESS_TOKEN=abc123def456ghi789jkl0 ``` +### Gradle + +To use with [Gradle](https://gradle.org/), include the following dependency in your [build](https://github.com/ethauvin/bitly-shorten/blob/master/examples/build.gradle.kts) file: + +```gradle +repositories { + jcenter() +} + +dependencies { + implementation("net.thauvin.erik:bitly-shorten:0.9.2") +} +``` + ### JSON All implemented methods can return the full API JSON responses: From 4014cb2ee0173c8eff850844c013d31582bb6a05 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 9 Jun 2020 14:33:43 -0700 Subject: [PATCH 008/136] Version 0.9.2 --- README.md | 2 +- build.gradle.kts | 36 ++++++++++++++++++++++-------------- version.properties | 6 +++--- 3 files changed, 26 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 9a250cb..9713590 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](https://opensource.org/licenses/BSD-3-Clause) +[![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](http://opensource.org/licenses/BSD-3-Clause) [![release](https://img.shields.io/github/release/ethauvin/bitly-shorten.svg)](https://github.com/ethauvin/bitly-shorten/releases/latest) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/net.thauvin.erik/bitly-shorten/badge.svg)](https://maven-badges.herokuapp.com/maven-central/net.thauvin.erik/bitly-shorten) [ ![Download](https://api.bintray.com/packages/ethauvin/maven/bitly-shorten/images/download.svg) ](https://bintray.com/ethauvin/maven/bitly-shorten/_latestVersion)\ [![Known Vulnerabilities](https://snyk.io/test/github/ethauvin/bitly-shorten/badge.svg?targetFile=pom.xml)](https://snyk.io/test/github/ethauvin/bitly-shorten?targetFile=pom.xml) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=ethauvin_bitly-shorten&metric=alert_status)](https://sonarcloud.io/dashboard?id=ethauvin_bitly-shorten) [![Build Status](https://travis-ci.com/ethauvin/bitly-shorten.svg?branch=master)](https://travis-ci.com/ethauvin/bitly-shorten) [![CircleCI](https://circleci.com/gh/ethauvin/bitly-shorten/tree/master.svg?style=shield)](https://circleci.com/gh/ethauvin/bitly-shorten/tree/master) # [Bitly](https://dev.bitly.com/v4/) Shortener for Kotlin/Java diff --git a/build.gradle.kts b/build.gradle.kts index 6792878..6fe667d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,6 +2,7 @@ import com.jfrog.bintray.gradle.tasks.BintrayUploadTask import org.jetbrains.dokka.gradle.DokkaTask import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import java.io.FileInputStream +import java.util.Date import java.util.Properties plugins { @@ -208,6 +209,12 @@ tasks { val bintrayUpload by existing(BintrayUploadTask::class) { dependsOn(publishToMavenLocal, gitTag) + doFirst { + versionName = "${project.version}" + versionDesc = "${project.name} ${project.version}" + versionVcsTag = "${project.version}" + versionReleased = Date().toString() + } } register("release") { @@ -237,21 +244,22 @@ bintray { githubReleaseNotesFile = "README.md" vcsUrl = "$mavenUrl.git" setLabels( - "bitlinks", - "bitly", - "bitly-api", - "bitly-v4", - "java", - "kotlin", - "shorten", - "shorten-urls", - "shortener", - "shortener-rest", - "shortener-service", - "shortens-links", - "shorturl", - "url-shortener" + "bitlinks", + "bitly", + "bitly-api", + "bitly-v4", + "java", + "kotlin", + "shorten", + "shorten-urls", + "shortener", + "shortener-rest", + "shortener-service", + "shortens-links", + "shorturl", + "url-shortener" ) + setLicenses("BSD 3-Clause") publicDownloadNumbers = true version.apply { name = project.version as String diff --git a/version.properties b/version.properties index b19de9b..29dbe9b 100644 --- a/version.properties +++ b/version.properties @@ -3,6 +3,6 @@ version.buildmeta= version.major=0 version.minor=9 -version.patch=1 -version.prerelease=beta -version.semver=0.9.1-beta +version.patch=2 +version.prerelease= +version.semver=0.9.2 From 1a6b9a22623dfabb2117d38c08c69cf37be39669 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 9 Jun 2020 20:05:17 -0700 Subject: [PATCH 009/136] Moved to OpenJDK 14 --- .circleci/config.yml | 6 +++--- .travis.yml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 86b3b8f..7bf833e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -30,11 +30,11 @@ defaults_gradle: &defaults_gradle path: build/reports/ jobs: - build_gradle_jdk13: + build_gradle_jdk14: <<: *defaults docker: - - image: openjdk:13-jdk + - image: openjdk:14-jdk <<: *defaults_gradle @@ -51,5 +51,5 @@ workflows: gradle: jobs: - build_gradle_jdk8 - - build_gradle_jdk13 + - build_gradle_jdk14 diff --git a/.travis.yml b/.travis.yml index 0676637..378b948 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,13 +14,13 @@ addons: jdk: - oraclejdk8 - - openjdk13 + - openjdk14 before_install: - chmod +x gradlew after_success: - | - if [ "${TRAVIS_TEST_RESULT}" == 0 ] && [ "$TRAVIS_JDK_VERSION" == "oraclejdk8" ]; then + if [ "${TRAVIS_TEST_RESULT}" == 0 ] && [ "$TRAVIS_JDK_VERSION" == "oraclejdk14" ]; then ./gradlew sonarqube fi From 6653b6502e26384190b72a6700294e33e0e7a1ef Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 9 Jun 2020 20:56:28 -0700 Subject: [PATCH 010/136] Run sonarqube under JDK 14, Java 8 support is ending. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 378b948..48c5805 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,6 +21,6 @@ before_install: after_success: - | - if [ "${TRAVIS_TEST_RESULT}" == 0 ] && [ "$TRAVIS_JDK_VERSION" == "oraclejdk14" ]; then + if [ "${TRAVIS_TEST_RESULT}" == 0 ] && [ "$TRAVIS_JDK_VERSION" == "openjdk14" ]; then ./gradlew sonarqube fi From 5de4f901e834b51b3083b9179736d227a29a3a5a Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 9 Jun 2020 22:45:27 -0700 Subject: [PATCH 011/136] Fixed spacing. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9713590..bfb039b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -[![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](http://opensource.org/licenses/BSD-3-Clause) [![release](https://img.shields.io/github/release/ethauvin/bitly-shorten.svg)](https://github.com/ethauvin/bitly-shorten/releases/latest) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/net.thauvin.erik/bitly-shorten/badge.svg)](https://maven-badges.herokuapp.com/maven-central/net.thauvin.erik/bitly-shorten) [ ![Download](https://api.bintray.com/packages/ethauvin/maven/bitly-shorten/images/download.svg) ](https://bintray.com/ethauvin/maven/bitly-shorten/_latestVersion)\ +[![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](http://opensource.org/licenses/BSD-3-Clause) [![release](https://img.shields.io/github/release/ethauvin/bitly-shorten.svg)](https://github.com/ethauvin/bitly-shorten/releases/latest) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/net.thauvin.erik/bitly-shorten/badge.svg)](https://maven-badges.herokuapp.com/maven-central/net.thauvin.erik/bitly-shorten) [![Download](https://api.bintray.com/packages/ethauvin/maven/bitly-shorten/images/download.svg)](https://bintray.com/ethauvin/maven/bitly-shorten/_latestVersion) + [![Known Vulnerabilities](https://snyk.io/test/github/ethauvin/bitly-shorten/badge.svg?targetFile=pom.xml)](https://snyk.io/test/github/ethauvin/bitly-shorten?targetFile=pom.xml) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=ethauvin_bitly-shorten&metric=alert_status)](https://sonarcloud.io/dashboard?id=ethauvin_bitly-shorten) [![Build Status](https://travis-ci.com/ethauvin/bitly-shorten.svg?branch=master)](https://travis-ci.com/ethauvin/bitly-shorten) [![CircleCI](https://circleci.com/gh/ethauvin/bitly-shorten/tree/master.svg?style=shield)](https://circleci.com/gh/ethauvin/bitly-shorten/tree/master) # [Bitly](https://dev.bitly.com/v4/) Shortener for Kotlin/Java From 683cb3aa35012848d2344a131709bd3e3bf4b54e Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 31 Jul 2020 11:09:16 -0700 Subject: [PATCH 012/136] Updated dependencies and CIs. --- .github/workflows/gradle.yml | 21 ++++++++++++++++ .gitlab-ci.yml | 31 ++++++++++++++++++++++++ bitbucket-pipelines.yml | 9 +++++++ build.gradle.kts | 6 ++--- gradle/wrapper/gradle-wrapper.properties | 2 +- 5 files changed, 65 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/gradle.yml create mode 100644 .gitlab-ci.yml create mode 100644 bitbucket-pipelines.yml diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml new file mode 100644 index 0000000..0ee725c --- /dev/null +++ b/.github/workflows/gradle.yml @@ -0,0 +1,21 @@ +name: Java CI with Gradle + +on: [push, pull_request, workflow_dispatch] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + - name: Grant execute permission for gradlew + run: chmod +x gradlew + - name: Test with Gradle + run: ./gradlew check + env: + BITLY_ACCESS_TOKEN: ${{ secrets.BITLY_ACCESS_TOKEN }} diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..26820aa --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,31 @@ +image: gradle:alpine + +variables: + GRADLE_OPTS: "-Dorg.gradle.daemon=false" + +before_script: + - export GRADLE_USER_HOME=`pwd`/.gradle + +stages: + - build + - test + +build: + stage: build + script: ./gradlew --build-cache assemble + cache: + key: "$CI_COMMIT_REF_NAME" + policy: push + paths: + - build + - .gradle + +test: + stage: test + script: ./gradlew check + cache: + key: "$CI_COMMIT_REF_NAME" + policy: pull + paths: + - build + - .gradle diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml new file mode 100644 index 0000000..7d98402 --- /dev/null +++ b/bitbucket-pipelines.yml @@ -0,0 +1,9 @@ +image: openjdk:8 + +pipelines: + default: + - step: + caches: + - gradle + script: + - bash ./gradlew check diff --git a/build.gradle.kts b/build.gradle.kts index 6fe667d..52fef25 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,9 +9,9 @@ plugins { jacoco `java-library` `maven-publish` - id("com.github.ben-manes.versions") version "0.28.0" + id("com.github.ben-manes.versions") version "0.29.0" id("com.jfrog.bintray") version "1.8.5" - id("io.gitlab.arturbosch.detekt") version "1.9.1" + id("io.gitlab.arturbosch.detekt") version "1.10.0" id("net.thauvin.erik.gradle.semver") version "1.0.4" id("org.jetbrains.dokka") version "0.10.1" id("org.jetbrains.kotlin.jvm") version "1.3.72" @@ -32,7 +32,7 @@ var semverProcessor = "net.thauvin.erik:semver:1.2.0" val publicationName = "mavenJava" object VersionInfo { - const val okhttp = "4.7.2" + const val okhttp = "4.8.0" } val versions: VersionInfo by extra { VersionInfo } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 622ab64..bb8b2fc 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From b12931c6adab01e8352c4b34f1238e58c29f7447 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 31 Jul 2020 13:26:09 -0700 Subject: [PATCH 013/136] Implemented lastCallResponse property. Closes #2 --- .../-bitlinks/clicks.md | 2 +- .../-bitlinks/create.md | 2 +- .../-bitlinks/expand.md | 2 +- .../net.thauvin.erik.bitly/-bitlinks/index.md | 6 ++++ .../-bitlinks/last-call-response.md | 8 +++++ .../-bitlinks/shorten.md | 2 +- .../-bitlinks/update.md | 2 +- pom.xml | 6 ++-- .../kotlin/net/thauvin/erik/bitly/Bitlinks.kt | 33 ++++++++++++------- .../net/thauvin/erik/bitly/BitlyTest.kt | 9 +++++ 10 files changed, 53 insertions(+), 19 deletions(-) create mode 100644 docs/net.thauvin.erik.bitly/-bitlinks/last-call-response.md diff --git a/docs/net.thauvin.erik.bitly/-bitlinks/clicks.md b/docs/net.thauvin.erik.bitly/-bitlinks/clicks.md index 515e559..9d52289 100644 --- a/docs/net.thauvin.erik.bitly/-bitlinks/clicks.md +++ b/docs/net.thauvin.erik.bitly/-bitlinks/clicks.md @@ -2,7 +2,7 @@ # clicks -`@JvmOverloads fun clicks(bitlink: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, unit: `[`Units`](../-units/index.md)` = Units.DAY, units: `[`Int`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` = -1, size: `[`Int`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` = 50, unit_reference: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, toJson: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false): `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) [(source)](https://github.com/ethauvin/bitly-shorten/tree/master/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt#L63) +`@Synchronized @JvmOverloads fun clicks(bitlink: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, unit: `[`Units`](../-units/index.md)` = Units.DAY, units: `[`Int`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` = -1, size: `[`Int`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)` = 50, unit_reference: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, toJson: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false): `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) [(source)](https://github.com/ethauvin/bitly-shorten/tree/master/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt#L70) Returns the click counts for a specified Bitlink. diff --git a/docs/net.thauvin.erik.bitly/-bitlinks/create.md b/docs/net.thauvin.erik.bitly/-bitlinks/create.md index 5bbb8fc..05b33ed 100644 --- a/docs/net.thauvin.erik.bitly/-bitlinks/create.md +++ b/docs/net.thauvin.erik.bitly/-bitlinks/create.md @@ -2,7 +2,7 @@ # create -`@JvmOverloads fun create(domain: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, title: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, group_guid: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, tags: `[`Array`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)`<`[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`> = emptyArray(), deeplinks: `[`Array`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)`<`[`Map`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html)`<`[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`>> = emptyArray(), long_url: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, toJson: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false): `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) [(source)](https://github.com/ethauvin/bitly-shorten/tree/master/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt#L99) +`@Synchronized @JvmOverloads fun create(domain: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, title: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, group_guid: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, tags: `[`Array`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)`<`[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`> = emptyArray(), deeplinks: `[`Array`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)`<`[`Map`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html)`<`[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`>> = emptyArray(), long_url: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, toJson: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false): `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) [(source)](https://github.com/ethauvin/bitly-shorten/tree/master/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt#L107) Converts a long url to a Bitlink and sets additional parameters. diff --git a/docs/net.thauvin.erik.bitly/-bitlinks/expand.md b/docs/net.thauvin.erik.bitly/-bitlinks/expand.md index 4888552..3e7f266 100644 --- a/docs/net.thauvin.erik.bitly/-bitlinks/expand.md +++ b/docs/net.thauvin.erik.bitly/-bitlinks/expand.md @@ -2,7 +2,7 @@ # expand -`@JvmOverloads fun expand(bitlink_id: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, toJson: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false): `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) [(source)](https://github.com/ethauvin/bitly-shorten/tree/master/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt#L137) +`@Synchronized @JvmOverloads fun expand(bitlink_id: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, toJson: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false): `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) [(source)](https://github.com/ethauvin/bitly-shorten/tree/master/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt#L146) Expands a Bitlink. diff --git a/docs/net.thauvin.erik.bitly/-bitlinks/index.md b/docs/net.thauvin.erik.bitly/-bitlinks/index.md index 30dcc5d..4899f8e 100644 --- a/docs/net.thauvin.erik.bitly/-bitlinks/index.md +++ b/docs/net.thauvin.erik.bitly/-bitlinks/index.md @@ -14,6 +14,12 @@ See the [Bitly API](https://dev.bitly.com/v4/#tag/Bitlinks) for more information |---|---| | [<init>](-init-.md) | Provides functions to create and manage [Bitlinks](https://dev.bitly.com/v4/#tag/Bitlinks).`Bitlinks(accessToken: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`)` | +### Properties + +| Name | Summary | +|---|---| +| [lastCallResponse](last-call-response.md) | The last API call response.`var lastCallResponse: `[`CallResponse`](../-call-response/index.md) | + ### Functions | Name | Summary | diff --git a/docs/net.thauvin.erik.bitly/-bitlinks/last-call-response.md b/docs/net.thauvin.erik.bitly/-bitlinks/last-call-response.md new file mode 100644 index 0000000..09644fb --- /dev/null +++ b/docs/net.thauvin.erik.bitly/-bitlinks/last-call-response.md @@ -0,0 +1,8 @@ +[docs](../../index.md) / [net.thauvin.erik.bitly](../index.md) / [Bitlinks](index.md) / [lastCallResponse](./last-call-response.md) + +# lastCallResponse + +`var lastCallResponse: `[`CallResponse`](../-call-response/index.md) [(source)](https://github.com/ethauvin/bitly-shorten/tree/master/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt#L51) + +The last API call response. + diff --git a/docs/net.thauvin.erik.bitly/-bitlinks/shorten.md b/docs/net.thauvin.erik.bitly/-bitlinks/shorten.md index 1461a6f..9138986 100644 --- a/docs/net.thauvin.erik.bitly/-bitlinks/shorten.md +++ b/docs/net.thauvin.erik.bitly/-bitlinks/shorten.md @@ -2,7 +2,7 @@ # shorten -`@JvmOverloads fun shorten(long_url: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, group_guid: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, domain: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, toJson: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false): `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) [(source)](https://github.com/ethauvin/bitly-shorten/tree/master/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt#L185) +`@Synchronized @JvmOverloads fun shorten(long_url: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, group_guid: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, domain: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, toJson: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false): `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) [(source)](https://github.com/ethauvin/bitly-shorten/tree/master/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt#L195) Shortens a long URL. diff --git a/docs/net.thauvin.erik.bitly/-bitlinks/update.md b/docs/net.thauvin.erik.bitly/-bitlinks/update.md index 169f21b..b7bb0c4 100644 --- a/docs/net.thauvin.erik.bitly/-bitlinks/update.md +++ b/docs/net.thauvin.erik.bitly/-bitlinks/update.md @@ -2,7 +2,7 @@ # update -`@JvmOverloads fun update(bitlink: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, references: `[`Map`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html)`<`[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`> = emptyMap(), archived: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false, tags: `[`Array`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)`<`[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`> = emptyArray(), created_at: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, title: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, deeplinks: `[`Array`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)`<`[`Map`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html)`<`[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`>> = emptyArray(), created_by: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, long_url: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, client_id: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, custom_bitlinks: `[`Array`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)`<`[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`> = emptyArray(), link: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, id: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, toJson: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false): `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) [(source)](https://github.com/ethauvin/bitly-shorten/tree/master/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt#L222) +`@Synchronized @JvmOverloads fun update(bitlink: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, references: `[`Map`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html)`<`[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`> = emptyMap(), archived: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false, tags: `[`Array`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)`<`[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`> = emptyArray(), created_at: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, title: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, deeplinks: `[`Array`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)`<`[`Map`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html)`<`[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`>> = emptyArray(), created_by: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, long_url: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, client_id: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, custom_bitlinks: `[`Array`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)`<`[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`> = emptyArray(), link: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, id: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` = Constants.EMPTY, toJson: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)` = false): `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) [(source)](https://github.com/ethauvin/bitly-shorten/tree/master/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt#L233) Updates fields in the Bitlink. diff --git a/pom.xml b/pom.xml index 5da4ba9..db15524 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ 4.0.0 net.thauvin.erik bitly-shorten - 0.9.2 + 0.9.3 @@ -30,13 +30,13 @@ com.squareup.okhttp3 okhttp - 4.7.2 + 4.8.0 runtime com.squareup.okhttp3 logging-interceptor - 4.7.2 + 4.8.0 runtime diff --git a/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt b/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt index c18097a..7a6298c 100644 --- a/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt +++ b/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt @@ -45,6 +45,12 @@ import java.util.logging.Level * See the [Bitly API](https://dev.bitly.com/v4/#tag/Bitlinks) for more information. */ open class Bitlinks(private val accessToken: String) { + /** + * The last API call response. + */ + var lastCallResponse = CallResponse() + private set + /** * Returns the click counts for a specified Bitlink. * @@ -59,6 +65,7 @@ open class Bitlinks(private val accessToken: String) { * @param toJson Returns the full JSON response if `true` * @return The click counts or JSON response object. */ + @Synchronized @JvmOverloads fun clicks( bitlink: String, @@ -70,7 +77,7 @@ open class Bitlinks(private val accessToken: String) { ): String { var clicks = if (toJson) Constants.EMPTY_JSON else Constants.EMPTY if (bitlink.isNotBlank()) { - val response = Utils.call( + lastCallResponse = Utils.call( accessToken, ("/bitlinks/${bitlink.removeHttp()}/clicks/summary").toEndPoint(), hashMapOf( @@ -81,7 +88,7 @@ open class Bitlinks(private val accessToken: String) { ), Methods.GET ) - clicks = parseJsonResponse(response, "total_clicks", clicks, toJson) + clicks = parseJsonResponse(lastCallResponse, "total_clicks", clicks, toJson) } return clicks } @@ -95,6 +102,7 @@ open class Bitlinks(private val accessToken: String) { * @param toJson Returns the full JSON response if `true` * @return The shorten URL or JSON response, or on error, an empty string/JSON object. */ + @Synchronized @JvmOverloads fun create( domain: String = Constants.EMPTY, @@ -107,7 +115,7 @@ open class Bitlinks(private val accessToken: String) { ): String { var link = if (toJson) Constants.EMPTY_JSON else Constants.EMPTY if (long_url.isNotBlank()) { - val response = Utils.call( + lastCallResponse = Utils.call( accessToken, "/bitlinks".toEndPoint(), mutableMapOf(Pair("long_url", long_url)).apply { @@ -119,7 +127,7 @@ open class Bitlinks(private val accessToken: String) { }, Methods.POST ) - link = parseJsonResponse(response, "link", link, toJson) + link = parseJsonResponse(lastCallResponse, "link", link, toJson) } return link } @@ -133,17 +141,18 @@ open class Bitlinks(private val accessToken: String) { * @param toJson Returns the full JSON response if `true` * @return The long URL or JSON response, or on error, an empty string/JSON object. */ + @Synchronized @JvmOverloads fun expand(bitlink_id: String, toJson: Boolean = false): String { var longUrl = if (toJson) Constants.EMPTY_JSON else Constants.EMPTY if (bitlink_id.isNotBlank()) { - val response = Utils.call( + lastCallResponse = Utils.call( accessToken, "/expand".toEndPoint(), mapOf(Pair("bitlink_id", bitlink_id.removeHttp())), Methods.POST ) - longUrl = parseJsonResponse(response, "long_url", longUrl, toJson) + longUrl = parseJsonResponse(lastCallResponse, "long_url", longUrl, toJson) } return longUrl @@ -181,6 +190,7 @@ open class Bitlinks(private val accessToken: String) { * @param toJson Returns the full JSON response if `true` * @return The short URL or JSON response, or on error, the [long_url] or an empty JSON object. */ + @Synchronized @JvmOverloads fun shorten( long_url: String, @@ -201,9 +211,9 @@ open class Bitlinks(private val accessToken: String) { } params["long_url"] = long_url - val response = Utils.call(accessToken, "/shorten".toEndPoint(), params) + lastCallResponse = Utils.call(accessToken, "/shorten".toEndPoint(), params) - bitlink = parseJsonResponse(response, "link", bitlink, toJson) + bitlink = parseJsonResponse(lastCallResponse, "link", bitlink, toJson) } return bitlink @@ -218,6 +228,7 @@ open class Bitlinks(private val accessToken: String) { * @param toJson Returns the full JSON response if `true` * @return `true` is the update was successful, `false` otherwise, or JSON response. */ + @Synchronized @JvmOverloads fun update( bitlink: String, @@ -237,7 +248,7 @@ open class Bitlinks(private val accessToken: String) { ): String { var result = if (toJson) Constants.EMPTY_JSON else Constants.FALSE if (bitlink.isNotBlank()) { - val response = Utils.call( + lastCallResponse = Utils.call( accessToken, "/bitlinks/${bitlink.removeHttp()}".toEndPoint(), mutableMapOf().apply { if (references.isNotEmpty()) put("references", references) if (archived) put("archived", archived) @@ -255,9 +266,9 @@ open class Bitlinks(private val accessToken: String) { Methods.PATCH ) - if (response.isSuccessful) { + if (lastCallResponse.isSuccessful) { result = if (toJson) { - response.body + lastCallResponse.body } else { Constants.TRUE } diff --git a/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt b/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt index e97c4e9..5bdeaa2 100644 --- a/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt +++ b/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt @@ -123,6 +123,15 @@ class BitlyTest { assertEquals(longUrl, Bitlinks(bitly.accessToken).expand(shortUrl)) } + @Test + fun `bitlinks lastCallResponse`() { + val bl = Bitlinks(bitly.accessToken) + bl.shorten(longUrl, domain="bit.ly") + assertEquals(true, bl.lastCallResponse.isSuccessful, "is successful") + assertEquals(200, bl.lastCallResponse.resultCode, "resultCode == 200") + assertTrue(bl.lastCallResponse.body.contains("\"link\":\"$shortUrl\""), "valid body") + } + @Test fun `clicks summary`() { assertNotEquals(Constants.EMPTY, bitly.bitlinks().clicks(shortUrl)) From 720986b83f49adb4f571b626db03791cc3979764 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 18 Aug 2020 00:12:41 -0700 Subject: [PATCH 014/136] Upgraded to Gradle 6.6 and Kotlin 1.4.0. --- README.md | 24 +++++- build.gradle.kts | 78 +++++++----------- config/detekt/baseline.xml | 21 +++++ detekt-baseline.xml | 21 ----- examples/build.gradle.kts | 7 +- examples/gradle/wrapper/gradle-wrapper.jar | Bin 58910 -> 59203 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- examples/gradlew | 2 +- examples/gradlew.bat | 21 +---- gradle/wrapper/gradle-wrapper.jar | Bin 58910 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 2 +- gradlew.bat | 21 +---- .../net/thauvin/erik/bitly/BitlyTest.kt | 2 +- version.properties | 4 +- 15 files changed, 87 insertions(+), 120 deletions(-) create mode 100644 config/detekt/baseline.xml delete mode 100644 detekt-baseline.xml diff --git a/README.md b/README.md index bfb039b..95d243d 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Known Vulnerabilities](https://snyk.io/test/github/ethauvin/bitly-shorten/badge.svg?targetFile=pom.xml)](https://snyk.io/test/github/ethauvin/bitly-shorten?targetFile=pom.xml) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=ethauvin_bitly-shorten&metric=alert_status)](https://sonarcloud.io/dashboard?id=ethauvin_bitly-shorten) [![Build Status](https://travis-ci.com/ethauvin/bitly-shorten.svg?branch=master)](https://travis-ci.com/ethauvin/bitly-shorten) [![CircleCI](https://circleci.com/gh/ethauvin/bitly-shorten/tree/master.svg?style=shield)](https://circleci.com/gh/ethauvin/bitly-shorten/tree/master) -# [Bitly](https://dev.bitly.com/v4/) Shortener for Kotlin/Java +# [Bitly](https://dev.bitly.com/v4/) Shortener for Kotlin/Java/Android A simple implementation of the link shortening ([bitlinks](https://dev.bitly.com/v4/#tag/Bitlinks)) abilities of the [Bitly v4 API](https://dev.bitly.com/v4). @@ -46,7 +46,7 @@ val bitly = Bitly(File("my.properties")) BITLY_ACCESS_TOKEN=abc123def456ghi789jkl0 ``` -### Gradle +### Gradle, Maven, etc. To use with [Gradle](https://gradle.org/), include the following dependency in your [build](https://github.com/ethauvin/bitly-shorten/blob/master/examples/build.gradle.kts) file: @@ -60,9 +60,11 @@ dependencies { } ``` +Instructions for using with Maven, Ivy, etc. can be found on [Maven Central](https://search.maven.org/artifact/net.thauvin.erik/bitly-shorten/0.9.2/jar). + ### JSON -All implemented methods can return the full API JSON responses: +All implemented API calls can return the full JSON responses: ```kotlin bitly.bitlinks().shorten("https://www.erik.thauvin.net/blog", toJson = true) @@ -76,7 +78,21 @@ bitly.bitlinks().shorten("https://www.erik.thauvin.net/blog", toJson = true) } ``` -Non-implemented methods can also be called directly: +You can also access the last response from implemented API calls using: + +```kotlin +val bitlinks = Bitlinks(apikey) + +val shortUrl = bitlinks.shorten(longUrl) + +val response = bitlinks.lastCallResponse + +if (response.isSuccessful) { + println(response.body) +} +``` + +Non-implemented API calls can also be called directly: ```kotlin val response = bitly.call("/user".toEndPoint(), method = Methods.GET) diff --git a/build.gradle.kts b/build.gradle.kts index 52fef25..a0cc464 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,4 @@ import com.jfrog.bintray.gradle.tasks.BintrayUploadTask -import org.jetbrains.dokka.gradle.DokkaTask import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import java.io.FileInputStream import java.util.Date @@ -11,11 +10,11 @@ plugins { `maven-publish` id("com.github.ben-manes.versions") version "0.29.0" id("com.jfrog.bintray") version "1.8.5" - id("io.gitlab.arturbosch.detekt") version "1.10.0" + id("io.gitlab.arturbosch.detekt") version "1.11.0" id("net.thauvin.erik.gradle.semver") version "1.0.4" - id("org.jetbrains.dokka") version "0.10.1" - id("org.jetbrains.kotlin.jvm") version "1.3.72" - id("org.jetbrains.kotlin.kapt") version "1.3.72" + id("org.jetbrains.dokka") version "1.4.0-rc" + id("org.jetbrains.kotlin.jvm") version "1.4.0" + id("org.jetbrains.kotlin.kapt") version "1.4.0" id("org.sonarqube") version "3.0" } @@ -32,7 +31,7 @@ var semverProcessor = "net.thauvin.erik:semver:1.2.0" val publicationName = "mavenJava" object VersionInfo { - const val okhttp = "4.8.0" + const val okhttp = "4.8.1" } val versions: VersionInfo by extra { VersionInfo } @@ -57,11 +56,6 @@ repositories { } dependencies { - // Align versions of all Kotlin components - implementation(platform("org.jetbrains.kotlin:kotlin-bom")) - // Use the Kotlin JDK 8 standard library. - implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") - implementation("com.squareup.okhttp3:okhttp:${versions.okhttp}") implementation("com.squareup.okhttp3:logging-interceptor:${versions.okhttp}") implementation("org.json:json:20200518") @@ -79,7 +73,7 @@ kapt { } detekt { - baseline = project.rootDir.resolve("detekt-baseline.xml") + baseline = project.rootDir.resolve("config/detekt/baseline.xml") } jacoco { @@ -104,32 +98,13 @@ val sourcesJar by tasks.creating(Jar::class) { } val javadocJar by tasks.creating(Jar::class) { - dependsOn(tasks.dokka) - from(tasks.dokka) + dependsOn(tasks.dokkaJavadoc) + from(tasks.dokkaJavadoc) archiveClassifier.set("javadoc") description = "Assembles a JAR of the generated Javadoc." group = JavaBasePlugin.DOCUMENTATION_GROUP } -val dokkaDocs by tasks.creating(DokkaTask::class) { - outputFormat = "gfm" - outputDirectory = "$projectDir" - - configuration { - moduleName = "docs" - sourceLink { - path = file("$projectDir/src/main/kotlin").toURI().toString().replace("file:", "") - url = "https://github.com/ethauvin/${project.name}/tree/master/src/main/kotlin" - lineSuffix = "#L" - } - - jdkVersion = 8 - - includes = listOf("config/dokka/packages.md") - includeNonPublic = false - } -} - tasks { withType { reports { @@ -156,23 +131,31 @@ tasks { } } - dokka { - outputFormat = "html" - outputDirectory = "$buildDir/javadoc" + dokkaHtml { + outputDirectory = "$projectDir/docs" + + dokkaSourceSets { + configureEach { + jdkVersion = 8 + includes = listOf("config/dokka/packages.md") + sourceLink { + path = "/src/main/kotlin/" + url = "https://github.com/ethauvin/${project.name}/tree/master/src/main/kotlin/" + lineSuffix = "#L" + } - configuration { - sourceLink { - path = file("$projectDir/src/main/kotlin").toURI().toString().replace("file:", "") - url = "https://github.com/ethauvin/${project.name}/tree/master/src/main/kotlin" - lineSuffix = "#L" } - - jdkVersion = 8 - - includes = listOf("config/dokka/packages.md") - includeNonPublic = false } - dependsOn(dokkaDocs) + } + + dokkaJavadoc { + dokkaSourceSets { + configureEach { + jdkVersion = 8 + includes = listOf("config/dokka/packages.md") + } + } + dependsOn(dokkaHtml) } val copyToDeploy by registering(Copy::class) { @@ -244,6 +227,7 @@ bintray { githubReleaseNotesFile = "README.md" vcsUrl = "$mavenUrl.git" setLabels( + "android", "bitlinks", "bitly", "bitly-api", diff --git a/config/detekt/baseline.xml b/config/detekt/baseline.xml new file mode 100644 index 0000000..0142bd2 --- /dev/null +++ b/config/detekt/baseline.xml @@ -0,0 +1,21 @@ + + + + + ComplexMethod:Bitlinks.kt$Bitlinks$ @Synchronized @JvmOverloads fun update( bitlink: String, references: Map<String, String> = emptyMap(), archived: Boolean = false, tags: Array<String> = emptyArray(), created_at: String = Constants.EMPTY, title: String = Constants.EMPTY, deeplinks: Array<Map<String, String>> = emptyArray(), created_by: String = Constants.EMPTY, long_url: String = Constants.EMPTY, client_id: String = Constants.EMPTY, custom_bitlinks: Array<String> = emptyArray(), link: String = Constants.EMPTY, id: String = Constants.EMPTY, toJson: Boolean = false ): String + ComplexMethod:Utils.kt$Utils.Companion$ @JvmOverloads fun call( accessToken: String, endPoint: String, params: Map<String, Any> = emptyMap(), method: Methods = Methods.POST ): CallResponse + FunctionParameterNaming:Bitlinks.kt$Bitlinks$bitlink_id: String + FunctionParameterNaming:Bitlinks.kt$Bitlinks$client_id: String = Constants.EMPTY + FunctionParameterNaming:Bitlinks.kt$Bitlinks$created_at: String = Constants.EMPTY + FunctionParameterNaming:Bitlinks.kt$Bitlinks$created_by: String = Constants.EMPTY + FunctionParameterNaming:Bitlinks.kt$Bitlinks$custom_bitlinks: Array<String> = emptyArray() + FunctionParameterNaming:Bitlinks.kt$Bitlinks$group_guid: String = Constants.EMPTY + FunctionParameterNaming:Bitlinks.kt$Bitlinks$long_url: String + FunctionParameterNaming:Bitlinks.kt$Bitlinks$long_url: String = Constants.EMPTY + FunctionParameterNaming:Bitlinks.kt$Bitlinks$unit_reference: String = Constants.EMPTY + MagicNumber:CallResponse.kt$CallResponse$200 + MagicNumber:CallResponse.kt$CallResponse$299 + NestedBlockDepth:Utils.kt$Utils.Companion$ @JvmOverloads fun call( accessToken: String, endPoint: String, params: Map<String, Any> = emptyMap(), method: Methods = Methods.POST ): CallResponse + NestedBlockDepth:Utils.kt$Utils.Companion$private fun parseBody(endPoint: String, result: Response): String + + diff --git a/detekt-baseline.xml b/detekt-baseline.xml deleted file mode 100644 index a4f19c8..0000000 --- a/detekt-baseline.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - ComplexMethod:Bitlinks.kt$Bitlinks$update - ComplexMethod:Utils.kt$Utils.Companion$call - FunctionParameterNaming:Bitlinks.kt$Bitlinks$bitlink_id: String - FunctionParameterNaming:Bitlinks.kt$Bitlinks$client_id: String = Constants.EMPTY - FunctionParameterNaming:Bitlinks.kt$Bitlinks$created_at: String = Constants.EMPTY - FunctionParameterNaming:Bitlinks.kt$Bitlinks$created_by: String = Constants.EMPTY - FunctionParameterNaming:Bitlinks.kt$Bitlinks$custom_bitlinks: Array<String> = emptyArray() - FunctionParameterNaming:Bitlinks.kt$Bitlinks$group_guid: String = Constants.EMPTY - FunctionParameterNaming:Bitlinks.kt$Bitlinks$long_url: String - FunctionParameterNaming:Bitlinks.kt$Bitlinks$long_url: String = Constants.EMPTY - FunctionParameterNaming:Bitlinks.kt$Bitlinks$unit_reference: String = Constants.EMPTY - MagicNumber:CallResponse.kt$CallResponse$200 - MagicNumber:CallResponse.kt$CallResponse$299 - NestedBlockDepth:Utils.kt$Utils.Companion$call - NestedBlockDepth:Utils.kt$Utils.Companion$parseBody - - diff --git a/examples/build.gradle.kts b/examples/build.gradle.kts index b2820cf..236b18e 100644 --- a/examples/build.gradle.kts +++ b/examples/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("org.jetbrains.kotlin.jvm") version "1.3.72" + id("org.jetbrains.kotlin.jvm") version "1.4.0" id("com.github.ben-manes.versions") version "0.28.0" application } @@ -15,10 +15,7 @@ repositories { } dependencies { - implementation(platform("org.jetbrains.kotlin:kotlin-bom")) - implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") - - implementation("net.thauvin.erik:bitly-shorten:0.9.2") + implementation("net.thauvin.erik:bitly-shorten:0.9.3") implementation("org.json:json:20200518") } diff --git a/examples/gradle/wrapper/gradle-wrapper.jar b/examples/gradle/wrapper/gradle-wrapper.jar index 62d4c053550b91381bbd28b1afc82d634bf73a8a..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f 100644 GIT binary patch delta 6656 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 Yte!%o?r4GTrVtxD61Ym!|5fq-1K$0e!T1w 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 diff --git a/examples/gradle/wrapper/gradle-wrapper.properties b/examples/gradle/wrapper/gradle-wrapper.properties index 622ab64..6c9a224 100644 --- a/examples/gradle/wrapper/gradle-wrapper.properties +++ b/examples/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.6-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/gradlew b/examples/gradlew index fbd7c51..4f906e0 100644 --- a/examples/gradlew +++ b/examples/gradlew @@ -130,7 +130,7 @@ fi if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath diff --git a/examples/gradlew.bat b/examples/gradlew.bat index 5093609..107acd3 100644 --- a/examples/gradlew.bat +++ b/examples/gradlew.bat @@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -54,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -64,21 +64,6 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line @@ -86,7 +71,7 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 62d4c053550b91381bbd28b1afc82d634bf73a8a..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f 100644 GIT binary patch delta 6656 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 Yte!%o?r4GTrVtxD61Ym!|5fq-1K$0e!T1w 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index bb8b2fc..6c9a224 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.6-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index fbd7c51..4f906e0 100755 --- a/gradlew +++ b/gradlew @@ -130,7 +130,7 @@ fi if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath diff --git a/gradlew.bat b/gradlew.bat index 5093609..107acd3 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -54,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -64,21 +64,6 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line @@ -86,7 +71,7 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell diff --git a/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt b/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt index 5bdeaa2..c3f0f8f 100644 --- a/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt +++ b/src/test/kotlin/net/thauvin/erik/bitly/BitlyTest.kt @@ -126,7 +126,7 @@ class BitlyTest { @Test fun `bitlinks lastCallResponse`() { val bl = Bitlinks(bitly.accessToken) - bl.shorten(longUrl, domain="bit.ly") + bl.shorten(longUrl, domain = "bit.ly") assertEquals(true, bl.lastCallResponse.isSuccessful, "is successful") assertEquals(200, bl.lastCallResponse.resultCode, "resultCode == 200") assertTrue(bl.lastCallResponse.body.contains("\"link\":\"$shortUrl\""), "valid body") diff --git a/version.properties b/version.properties index 29dbe9b..bf27b82 100644 --- a/version.properties +++ b/version.properties @@ -3,6 +3,6 @@ version.buildmeta= version.major=0 version.minor=9 -version.patch=2 +version.patch=3 version.prerelease= -version.semver=0.9.2 +version.semver=0.9.3 From 2c8a9c61ccce7a06743505c11f7b3265fa68bbcc Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 13 Sep 2020 16:27:21 -0700 Subject: [PATCH 015/136] Updated to new API documention URL. --- README.md | 2 +- config/dokka/packages.md | 4 ++-- .../kotlin/net/thauvin/erik/bitly/Bitlinks.kt | 16 ++++++++-------- src/main/kotlin/net/thauvin/erik/bitly/Bitly.kt | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 95d243d..fd17301 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ # [Bitly](https://dev.bitly.com/v4/) Shortener for Kotlin/Java/Android -A simple implementation of the link shortening ([bitlinks](https://dev.bitly.com/v4/#tag/Bitlinks)) abilities of the [Bitly v4 API](https://dev.bitly.com/v4). +A simple implementation of the link shortening (Bitlinks) abilities of the [Bitly v4 API](https://dev.bitly.com/api-reference). ## Examples (TL;DR) diff --git a/config/dokka/packages.md b/config/dokka/packages.md index 2cd2918..12c5f52 100644 --- a/config/dokka/packages.md +++ b/config/dokka/packages.md @@ -2,8 +2,8 @@ [Bitly Shortener for Kotlin/Java](https://github.com/ethauvin/bitly-shorten) -A simple implementation of the link shortening ([bitlinks](https://dev.bitly.com/v4/#tag/Bitlinks)) abilities of the [Bitly API v4](https://dev.bitly.com/v4). +A simple implementation of the link shortening (Bitlinks) abilities of the [Bitly API v4](https://dev.bitly.com/api-reference). # Package net.thauvin.erik.bitly -Provides the classes necessary to access the [Bitly API v4](https://dev.bitly.com/v4). +Provides the classes necessary to access the [Bitly API v4](https://dev.bitly.com/api-reference). diff --git a/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt b/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt index 7a6298c..3c32926 100644 --- a/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt +++ b/src/main/kotlin/net/thauvin/erik/bitly/Bitlinks.kt @@ -40,9 +40,9 @@ import org.json.JSONObject import java.util.logging.Level /** - * Provides functions to create and manage [Bitlinks](https://dev.bitly.com/v4/#tag/Bitlinks). + * Provides functions to create and manage Bitlinks. * - * See the [Bitly API](https://dev.bitly.com/v4/#tag/Bitlinks) for more information. + * See the [Bitly API](https://dev.bitly.com/api-reference) for more information. */ open class Bitlinks(private val accessToken: String) { /** @@ -54,7 +54,7 @@ open class Bitlinks(private val accessToken: String) { /** * Returns the click counts for a specified Bitlink. * - * See the [Bitly API](https://dev.bitly.com/v4/#operation/getClicksSummaryForBitlink) for more information. + * See the [Bitly API](https://dev.bitly.com/api-reference#getClicksSummaryForBitlink) for more information. * * @param bitlink A Bitlink made of the domain and hash. * @param unit A [unit of time][Units]. @@ -96,7 +96,7 @@ open class Bitlinks(private val accessToken: String) { /** * Converts a long url to a Bitlink and sets additional parameters. * - * See the [Bit.ly API](https://dev.bitly.com/v4/#operation/createFullBitlink) for more information. + * See the [Bit.ly API](https://dev.bitly.com/api-reference#createFullBitlink) for more information. * * @oaran long_url The long URL. * @param toJson Returns the full JSON response if `true` @@ -135,7 +135,7 @@ open class Bitlinks(private val accessToken: String) { /** * Expands a Bitlink. * - * See the [Bit.ly API](https://dev.bitly.com/v4/#operation/expandBitlink) for more information. + * See the [Bit.ly API](https://dev.bitly.com/api-reference#expandBitlink) for more information. * * @param bitlink_id The bitlink ID. * @param toJson Returns the full JSON response if `true` @@ -184,7 +184,7 @@ open class Bitlinks(private val accessToken: String) { /** * Shortens a long URL. * - * See the [Bit.ly API](https://dev.bitly.com/v4/#operation/createBitlink) for more information. + * See the [Bit.ly API](https://dev.bitly.com/api-reference#createBitlink) for more information. * * @param long_url The long URL. * @param toJson Returns the full JSON response if `true` @@ -220,9 +220,9 @@ open class Bitlinks(private val accessToken: String) { } /** - * Updates fields in the Bitlink. + * Updates fields in the specified Bitlink. * - * See the [Bit.ly API](https://dev.bitly.com/v4/#operation/updateBitlink) for more information. + * See the [Bit.ly API](https://dev.bitly.com/api-reference#updateBitlink) for more information. * * @oaran bitlink A Bitlink made of the domain and hash. * @param toJson Returns the full JSON response if `true` diff --git a/src/main/kotlin/net/thauvin/erik/bitly/Bitly.kt b/src/main/kotlin/net/thauvin/erik/bitly/Bitly.kt index 26b3165..bde6fdc 100644 --- a/src/main/kotlin/net/thauvin/erik/bitly/Bitly.kt +++ b/src/main/kotlin/net/thauvin/erik/bitly/Bitly.kt @@ -38,7 +38,7 @@ import java.nio.file.Path import java.util.Properties /** - * Provides access to the [Bitly API v4](https://dev.bitly.com/v4). + * Provides access to the [Bitly API v4](https://dev.bitly.com/api-reference). * * @constructor Creates new instance. */ @@ -46,7 +46,7 @@ open class Bitly() { /** The API access token. * * See [Generic Access Token](https://bitly.is/accesstoken) or - * [Authentication](https://dev.bitly.com/v4/#section/Authentication). + * [Authentication](https://dev.bitly.com/docs/getting-started/authentication). **/ var accessToken: String = System.getenv(Constants.ENV_ACCESS_TOKEN) ?: (System.getProperty(Constants.ENV_ACCESS_TOKEN) ?: Constants.EMPTY) From c61f9ad59c787289ee739a5e35b606546b4ace1a Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 21 Mar 2021 12:47:09 -0700 Subject: [PATCH 016/136] Moved from JCenter to Maven Central. Updated dependencies. --- .github_changelog_generator | 1 + .gitignore | 37 +- CHANGELOG.md | 25 + build.gradle.kts | 188 +-- .../-bitlinks/-bitlinks.html | 38 + .../-bitlinks/clicks.html | 38 + .../-bitlinks/create.html | 38 + .../-bitlinks/expand.html | 38 + .../-bitlinks/index.html | 155 +++ .../-bitlinks/last-call-response.html | 38 + .../-bitlinks/shorten.html | 38 + .../-bitlinks/update.html | 38 + .../net.thauvin.erik.bitly/-bitly/-bitly.html | 62 + .../-bitly/access-token.html | 38 + .../-bitly/bitlinks.html | 38 + .../net.thauvin.erik.bitly/-bitly/call.html | 38 + .../net.thauvin.erik.bitly/-bitly/index.html | 156 +++ .../-call-response/-call-response.html | 38 + .../-call-response/body.html | 38 + .../-call-response/index.html | 94 ++ .../-call-response/is-successful.html | 38 + .../-call-response/result-code.html | 38 + .../-constants/-a-p-i_-b-a-s-e_-u-r-l.html | 38 + .../-constants/-constants/-e-m-p-t-y.html | 38 + .../-constants/-e-m-p-t-y_-j-s-o-n.html | 38 + .../-e-n-v_-a-c-c-e-s-s_-t-o-k-e-n.html | 38 + .../-constants/-constants/-f-a-l-s-e.html | 38 + .../-constants/-constants/-t-r-u-e.html | 38 + .../-constants/-constants/index.html | 118 ++ .../-constants/index.html | 57 + .../-methods/-d-e-l-e-t-e/index.html | 204 +++ .../-methods/-d-e-l-e-t-e/name.html | 38 + .../-methods/-d-e-l-e-t-e/ordinal.html | 38 + .../-methods/-g-e-t/index.html | 204 +++ .../-methods/-g-e-t/name.html | 38 + .../-methods/-g-e-t/ordinal.html | 38 + .../-methods/-p-a-t-c-h/index.html | 204 +++ .../-methods/-p-a-t-c-h/name.html | 38 + .../-methods/-p-a-t-c-h/ordinal.html | 38 + .../-methods/-p-o-s-t/index.html | 204 +++ .../-methods/-p-o-s-t/name.html | 38 + .../-methods/-p-o-s-t/ordinal.html | 38 + .../-methods/index.html | 120 ++ .../-units/-d-a-y/index.html | 204 +++ .../-units/-d-a-y/name.html | 38 + .../-units/-d-a-y/ordinal.html | 38 + .../-units/-h-o-u-r/index.html | 204 +++ .../-units/-h-o-u-r/name.html | 38 + .../-units/-h-o-u-r/ordinal.html | 38 + .../-units/-m-i-n-u-t-e/index.html | 204 +++ .../-units/-m-i-n-u-t-e/name.html | 38 + .../-units/-m-i-n-u-t-e/ordinal.html | 38 + .../-units/-m-o-n-t-h/index.html | 204 +++ .../-units/-m-o-n-t-h/name.html | 38 + .../-units/-m-o-n-t-h/ordinal.html | 38 + .../-units/-w-e-e-k/index.html | 204 +++ .../-units/-w-e-e-k/name.html | 38 + .../-units/-w-e-e-k/ordinal.html | 38 + .../net.thauvin.erik.bitly/-units/index.html | 133 ++ .../-utils/-companion/call.html | 38 + .../-utils/-companion/index.html | 123 ++ .../-utils/-companion/is-valid-url.html | 38 + .../-utils/-companion/logger.html | 38 + .../-utils/-companion/remove-http.html | 38 + .../-utils/-companion/to-end-point.html | 38 + .../net.thauvin.erik.bitly/-utils/index.html | 57 + .../net.thauvin.erik.bitly/index.html | 159 +++ docs/bitly-shorten/package-list | 71 + docs/images/anchor-copy-button.svg | 4 + docs/images/arrow_down.svg | 3 + docs/images/copy-icon.svg | 3 + docs/images/copy-successful-icon.svg | 3 + docs/images/docs_logo.svg | 7 + docs/images/footer-go-to-link.svg | 3 + docs/images/go-to-top-icon.svg | 4 + docs/images/logo-icon.svg | 3 + docs/index.html | 47 + docs/navigation.html | 55 + docs/scripts/clipboard.js | 52 + docs/scripts/main.js | 67 + docs/scripts/navigation-loader.js | 64 + docs/scripts/navigation-pane.json | 1 + docs/scripts/pages.json | 1 + docs/scripts/platform-content-handler.js | 290 ++++ docs/scripts/sourceset_dependencies.js | 1 + docs/styles/jetbrains-mono.css | 17 + docs/styles/logo-styles.css | 3 + docs/styles/main.css | 113 ++ docs/styles/style.css | 1229 +++++++++++++++++ examples/build.gradle.kts | 7 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- examples/gradlew | 0 pom.xml | 66 +- 93 files changed, 6881 insertions(+), 190 deletions(-) create mode 100644 .github_changelog_generator create mode 100644 CHANGELOG.md create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/-bitlinks.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/clicks.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/create.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/expand.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/last-call-response.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/shorten.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/update.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/-bitly.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/access-token.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/bitlinks.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/call.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/-call-response.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/body.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/is-successful.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/result-code.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-a-p-i_-b-a-s-e_-u-r-l.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-e-m-p-t-y.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-e-m-p-t-y_-j-s-o-n.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-e-n-v_-a-c-c-e-s-s_-t-o-k-e-n.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-f-a-l-s-e.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-t-r-u-e.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-constants/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-d-e-l-e-t-e/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-d-e-l-e-t-e/name.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-d-e-l-e-t-e/ordinal.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-g-e-t/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-g-e-t/name.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-g-e-t/ordinal.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-a-t-c-h/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-a-t-c-h/name.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-a-t-c-h/ordinal.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-o-s-t/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-o-s-t/name.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-o-s-t/ordinal.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-methods/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-units/-d-a-y/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-units/-d-a-y/name.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-units/-d-a-y/ordinal.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-units/-h-o-u-r/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-units/-h-o-u-r/name.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-units/-h-o-u-r/ordinal.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-i-n-u-t-e/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-i-n-u-t-e/name.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-i-n-u-t-e/ordinal.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-o-n-t-h/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-o-n-t-h/name.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-o-n-t-h/ordinal.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-units/-w-e-e-k/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-units/-w-e-e-k/name.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-units/-w-e-e-k/ordinal.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-units/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/call.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/is-valid-url.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/logger.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/remove-http.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/to-end-point.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/-utils/index.html create mode 100644 docs/bitly-shorten/net.thauvin.erik.bitly/index.html create mode 100644 docs/bitly-shorten/package-list create mode 100644 docs/images/anchor-copy-button.svg create mode 100644 docs/images/arrow_down.svg create mode 100644 docs/images/copy-icon.svg create mode 100644 docs/images/copy-successful-icon.svg create mode 100644 docs/images/docs_logo.svg create mode 100644 docs/images/footer-go-to-link.svg create mode 100644 docs/images/go-to-top-icon.svg create mode 100644 docs/images/logo-icon.svg create mode 100644 docs/index.html create mode 100644 docs/navigation.html create mode 100644 docs/scripts/clipboard.js create mode 100644 docs/scripts/main.js create mode 100644 docs/scripts/navigation-loader.js create mode 100644 docs/scripts/navigation-pane.json create mode 100644 docs/scripts/pages.json create mode 100644 docs/scripts/platform-content-handler.js create mode 100644 docs/scripts/sourceset_dependencies.js create mode 100644 docs/styles/jetbrains-mono.css create mode 100644 docs/styles/logo-styles.css create mode 100644 docs/styles/main.css create mode 100644 docs/styles/style.css mode change 100644 => 100755 examples/gradlew diff --git a/.github_changelog_generator b/.github_changelog_generator new file mode 100644 index 0000000..7d2b4bb --- /dev/null +++ b/.github_changelog_generator @@ -0,0 +1 @@ +future-release=0.9.3 diff --git a/.gitignore b/.gitignore index e9a64e1..a602396 100644 --- a/.gitignore +++ b/.gitignore @@ -1,21 +1,7 @@ -.vscode/* !.vscode/extensions.json !.vscode/launch.json !.vscode/settings.json !.vscode/tasks.json -__pycache__ -.classpath -.DS_Store -.gradle -.history -.kobalt -.mtj.tmp/ -.mvn/timing.properties -.mvn/wrapper/maven-wrapper.jar -.nb-gradle -.project -.scannerwork -.settings *.class *.code-workspace *.ctxt @@ -26,7 +12,21 @@ __pycache__ *.sublime-* *.tar.gz *.zip -/**/.idea_modules/ +.DS_Store +.classpath +.gradle +.history +.kobalt +.mtj.tmp/ +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar +.nb-gradle +.project +.scannerwork +.settings +.vscode/* +/**/.idea/$CACHE_FILE$ +/**/.idea/$PRODUCT_WORKSPACE_FILE$ /**/.idea/**/caches/build_file_checksums.ser /**/.idea/**/contentModel.xml /**/.idea/**/dataSources.ids @@ -47,8 +47,9 @@ __pycache__ /**/.idea/**/uiDesigner.xml /**/.idea/**/usage.statistics.xml /**/.idea/**/workspace.xml -/**/.idea/$CACHE_FILE$ -/**/.idea/$PRODUCT_WORKSPACE_FILE$ +/**/.idea_modules/ +Thumbs.db +__pycache__ atlassian-ide-plugin.xml bin/ build/ @@ -70,6 +71,7 @@ lib/kotlin* libs/ local.properties out/ +pom.xml.asc pom.xml.next pom.xml.releaseBackup pom.xml.tag @@ -79,5 +81,4 @@ project.properties release.properties target/ test-output -Thumbs.db venv diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..a0d076e --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,25 @@ +# Changelog + +## [0.9.3](https://github.com/ethauvin/bitly-shorten/tree/0.9.3) (2021-03-21) + +[Full Changelog](https://github.com/ethauvin/bitly-shorten/compare/0.9.2...0.9.3) + +**Implemented enhancements:** + +- Implement a way to retrieve the last API call response in bitlinks class [\#2](https://github.com/ethauvin/bitly-shorten/issues/2) + +## [0.9.2](https://github.com/ethauvin/bitly-shorten/tree/0.9.2) (2020-06-09) + +[Full Changelog](https://github.com/ethauvin/bitly-shorten/compare/0.9.1-beta...0.9.2) + +## [0.9.1-beta](https://github.com/ethauvin/bitly-shorten/tree/0.9.1-beta) (2020-03-18) + +[Full Changelog](https://github.com/ethauvin/bitly-shorten/compare/0.9.0-beta...0.9.1-beta) + +## [0.9.0-beta](https://github.com/ethauvin/bitly-shorten/tree/0.9.0-beta) (2020-03-03) + +[Full Changelog](https://github.com/ethauvin/bitly-shorten/compare/a444b72b87862bbd5bd77fda59f66e0a952e6dac...0.9.0-beta) + + + +\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)* diff --git a/build.gradle.kts b/build.gradle.kts index a0cc464..78c13b1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,21 +1,18 @@ -import com.jfrog.bintray.gradle.tasks.BintrayUploadTask import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -import java.io.FileInputStream -import java.util.Date -import java.util.Properties +import java.net.URL plugins { jacoco `java-library` `maven-publish` - id("com.github.ben-manes.versions") version "0.29.0" - id("com.jfrog.bintray") version "1.8.5" - id("io.gitlab.arturbosch.detekt") version "1.11.0" + signing + id("com.github.ben-manes.versions") version "0.38.0" + id("io.gitlab.arturbosch.detekt") version "1.16.0" id("net.thauvin.erik.gradle.semver") version "1.0.4" - id("org.jetbrains.dokka") version "1.4.0-rc" - id("org.jetbrains.kotlin.jvm") version "1.4.0" - id("org.jetbrains.kotlin.kapt") version "1.4.0" - id("org.sonarqube") version "3.0" + id("org.jetbrains.dokka") version "1.4.30" + id("org.jetbrains.kotlin.jvm") version "1.4.31" + id("org.jetbrains.kotlin.kapt") version "1.4.31" + id("org.sonarqube") version "3.1.1" } group = "net.thauvin.erik" @@ -31,34 +28,20 @@ var semverProcessor = "net.thauvin.erik:semver:1.2.0" val publicationName = "mavenJava" object VersionInfo { - const val okhttp = "4.8.1" + const val okhttp = "4.9.1" } val versions: VersionInfo by extra { VersionInfo } -// Load local.properties -File("local.properties").apply { - if (exists()) { - FileInputStream(this).use { fis -> - Properties().apply { - load(fis) - forEach { (k, v) -> - extra[k as String] = v - } - } - } - } -} - repositories { - jcenter() mavenCentral() + jcenter() // needed for dokka } dependencies { implementation("com.squareup.okhttp3:okhttp:${versions.okhttp}") implementation("com.squareup.okhttp3:logging-interceptor:${versions.okhttp}") - implementation("org.json:json:20200518") + implementation("org.json:json:20210307") // Use the Kotlin test library. testImplementation("org.jetbrains.kotlin:kotlin-test") @@ -76,13 +59,10 @@ detekt { baseline = project.rootDir.resolve("config/detekt/baseline.xml") } -jacoco { - toolVersion = "0.8.5" -} - java { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 + withSourcesJar() } sonarqube { @@ -92,11 +72,6 @@ sonarqube { } } -val sourcesJar by tasks.creating(Jar::class) { - archiveClassifier.set("sources") - from(sourceSets.getByName("main").allSource) -} - val javadocJar by tasks.creating(Jar::class) { dependsOn(tasks.dokkaJavadoc) from(tasks.dokkaJavadoc) @@ -122,7 +97,7 @@ tasks { } assemble { - dependsOn(sourcesJar, javadocJar) + dependsOn(javadocJar) } clean { @@ -132,16 +107,16 @@ tasks { } dokkaHtml { - outputDirectory = "$projectDir/docs" + outputDirectory.set(file("$projectDir/docs")) dokkaSourceSets { configureEach { - jdkVersion = 8 - includes = listOf("config/dokka/packages.md") + jdkVersion.set(8) + includes.from("config/dokka/packages.md") sourceLink { - path = "/src/main/kotlin/" - url = "https://github.com/ethauvin/${project.name}/tree/master/src/main/kotlin/" - lineSuffix = "#L" + localDirectory.set(file("/src/main/kotlin/")) + remoteUrl.set(URL("https://github.com/ethauvin/${project.name}/tree/master/src/main/kotlin/")) + remoteLineSuffix.set("#L") } } @@ -151,8 +126,8 @@ tasks { dokkaJavadoc { dokkaSourceSets { configureEach { - jdkVersion = 8 - includes = listOf("config/dokka/packages.md") + jdkVersion.set(8) + includes.from("config/dokka/packages.md") } } dependsOn(dokkaHtml) @@ -190,20 +165,10 @@ tasks { } } - val bintrayUpload by existing(BintrayUploadTask::class) { - dependsOn(publishToMavenLocal, gitTag) - doFirst { - versionName = "${project.version}" - versionDesc = "${project.name} ${project.version}" - versionVcsTag = "${project.version}" - versionReleased = Date().toString() - } - } - register("release") { - description = "Publishes version ${project.version} to Bintray." + description = "Publishes version ${project.version} to local repository." group = PublishingPlugin.PUBLISH_TASK_GROUP - dependsOn("wrapper", bintrayUpload) + dependsOn("wrapper", "deploy", "gitTag", "publishToMavenLocal") } "sonarqube" { @@ -211,86 +176,51 @@ tasks { } } -fun findProperty(s: String) = project.findProperty(s) as String? -bintray { - user = findProperty("bintray.user") - key = findProperty("bintray.apikey") - publish = isRelease - setPublications(publicationName) - pkg.apply { - repo = "maven" - name = project.name - desc = description - websiteUrl = mavenUrl - issueTrackerUrl = "$mavenUrl/issues" - githubRepo = gitHub - githubReleaseNotesFile = "README.md" - vcsUrl = "$mavenUrl.git" - setLabels( - "android", - "bitlinks", - "bitly", - "bitly-api", - "bitly-v4", - "java", - "kotlin", - "shorten", - "shorten-urls", - "shortener", - "shortener-rest", - "shortener-service", - "shortens-links", - "shorturl", - "url-shortener" - ) - setLicenses("BSD 3-Clause") - publicDownloadNumbers = true - version.apply { - name = project.version as String - desc = description - vcsTag = project.version as String - gpg.apply { - sign = true - } - } - } -} - publishing { publications { create(publicationName) { from(components["java"]) - artifact(sourcesJar) artifact(javadocJar) - pom.withXml { - asNode().apply { - appendNode("name", project.name) - appendNode("description", project.description) - appendNode("url", mavenUrl) - - appendNode("licenses").appendNode("license").apply { - appendNode("name", "BSD 3-Clause") - appendNode("url", "https://opensource.org/licenses/BSD-3-Clause") + pom { + name.set(project.name) + description.set(project.description) + url.set(mavenUrl) + licenses { + license { + name.set("BSD 3-Clause") + url.set("https://opensource.org/licenses/BSD-3-Clause") } - - appendNode("developers").appendNode("developer").apply { - appendNode("id", "ethauvin") - appendNode("name", "Erik C. Thauvin") - appendNode("email", "erik@thauvin.net") - } - - appendNode("scm").apply { - appendNode("connection", "scm:git:$mavenUrl.git") - appendNode("developerConnection", "scm:git:git@github.com:$gitHub.git") - appendNode("url", mavenUrl) - } - - appendNode("issueManagement").apply { - appendNode("system", "GitHub") - appendNode("url", "$mavenUrl/issues") + } + developers { + developer { + id.set("ethauvin") + name.set("Erik C. Thauvin") + email.set("erik@thauvin.net") + url.set("https://erik.thauvin.net/") } } + scm { + connection.set("scm:git:git://github.com/$gitHub.git") + developerConnection.set("scm:git:git@github.com:$gitHub.git") + url.set("$mavenUrl") + } + issueManagement { + system.set("GitHub") + url.set("$mavenUrl/issues") + } } } } + repositories { + maven { + name = "ossrh" + url = uri("https://oss.sonatype.org/service/local/staging/deploy/maven2/") + credentials(PasswordCredentials::class) + } + } +} + +signing { + useGpgCmd() + sign(publishing.publications[publicationName]) } diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/-bitlinks.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/-bitlinks.html new file mode 100644 index 0000000..4f5e054 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/-bitlinks.html @@ -0,0 +1,38 @@ + + + + Bitlinks + + +
+
+ + +
+
+
+
+
+
+ +
+

Bitlinks

+
+
+ +
+
fun Bitlinks(accessToken: String)
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/clicks.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/clicks.html new file mode 100644 index 0000000..985bdd0 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/clicks.html @@ -0,0 +1,38 @@ + + + + clicks + + +
+
+ + +
+
+
+
+
+
+ +
+

clicks

+
+
+ +
+
fun clicks(bitlink: String, unit: Units = Units.DAY, units: Int = -1, size: Int = 50, unit_reference: String = Constants.EMPTY, toJson: Boolean = false): String
+
+

Returns the click counts for a specified Bitlink.

See the Bitly API for more information.

Return

The click counts or JSON response object.

Parameters

bitlink

A Bitlink made of the domain and hash.

units

An integer representing the time units to query data for. Pass -1 to return all units available.

size

The quantity of items to be be returned.

unit_reference

An ISO-8601 timestamp, indicating the most recent time for which to pull metrics. Will default to current time.

toJson

Returns the full JSON response if true

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/create.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/create.html new file mode 100644 index 0000000..fb1f24c --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/create.html @@ -0,0 +1,38 @@ + + + + create + + +
+
+ + +
+
+
+
+
+
+ +
+

create

+
+
+ +
+
fun create(domain: String = Constants.EMPTY, title: String = Constants.EMPTY, group_guid: String = Constants.EMPTY, tags: Array<String> = emptyArray(), deeplinks: Array<Map<String, String>> = emptyArray(), long_url: String, toJson: Boolean = false): String
+
+

Converts a long url to a Bitlink and sets additional parameters.

See the Bit.ly API for more information.

Return

The shorten URL or JSON response, or on error, an empty string/JSON object.

Parameters

toJson

Returns the full JSON response if true

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/expand.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/expand.html new file mode 100644 index 0000000..60b4f9c --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/expand.html @@ -0,0 +1,38 @@ + + + + expand + + +
+
+ + +
+
+
+
+
+
+ +
+

expand

+
+
+ +
+
fun expand(bitlink_id: String, toJson: Boolean = false): String
+
+

Expands a Bitlink.

See the Bit.ly API for more information.

Return

The long URL or JSON response, or on error, an empty string/JSON object.

Parameters

bitlink_id

The bitlink ID.

toJson

Returns the full JSON response if true

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/index.html new file mode 100644 index 0000000..92f891f --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/index.html @@ -0,0 +1,155 @@ + + + + Bitlinks + + +
+
+ + +
+
+
+
+
+
+ +
+

Bitlinks

+
open class Bitlinks(accessToken: String)

Provides functions to create and manage Bitlinks.

See the Bitly API for more information.

+
+
+
+
+

Constructors

+
+
+
+
Bitlinks +
Link copied to clipboard
+
+
+
+
fun Bitlinks(accessToken: String)
+
+
+
+
+
+

Functions

+
+
+
+
clicks +
Link copied to clipboard
+
+
+
+ +
+
fun clicks(bitlink: String, unit: Units = Units.DAY, units: Int = -1, size: Int = 50, unit_reference: String = Constants.EMPTY, toJson: Boolean = false): String
+
+
Returns the click counts for a specified Bitlink.
+
+
+
+
+ +
+
+
create +
Link copied to clipboard
+
+
+
+ +
+
fun create(domain: String = Constants.EMPTY, title: String = Constants.EMPTY, group_guid: String = Constants.EMPTY, tags: Array<String> = emptyArray(), deeplinks: Array<Map<String, String>> = emptyArray(), long_url: String, toJson: Boolean = false): String
+
+
Converts a long url to a Bitlink and sets additional parameters.
+
+
+
+
+ +
+
+
expand +
Link copied to clipboard
+
+
+
+ +
+
fun expand(bitlink_id: String, toJson: Boolean = false): String
+
+
Expands a Bitlink.
+
+
+
+
+ +
+
+
shorten +
Link copied to clipboard
+
+
+
+ +
+
fun shorten(long_url: String, group_guid: String = Constants.EMPTY, domain: String = Constants.EMPTY, toJson: Boolean = false): String
+
+
Shortens a long URL.
+
+
+
+
+ +
+
+
update +
Link copied to clipboard
+
+
+
+ +
+
fun update(bitlink: String, references: Map<String, String> = emptyMap(), archived: Boolean = false, tags: Array<String> = emptyArray(), created_at: String = Constants.EMPTY, title: String = Constants.EMPTY, deeplinks: Array<Map<String, String>> = emptyArray(), created_by: String = Constants.EMPTY, long_url: String = Constants.EMPTY, client_id: String = Constants.EMPTY, custom_bitlinks: Array<String> = emptyArray(), link: String = Constants.EMPTY, id: String = Constants.EMPTY, toJson: Boolean = false): String
+
+
Updates fields in the specified Bitlink.
+
+
+
+
+
+

Properties

+
+
+
+
lastCallResponse +
Link copied to clipboard
+
+
+
+
var lastCallResponse: CallResponse
The last API call response.
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/last-call-response.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/last-call-response.html new file mode 100644 index 0000000..f68194a --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/last-call-response.html @@ -0,0 +1,38 @@ + + + + lastCallResponse + + +
+
+ + +
+
+
+
+
+
+ +
+

lastCallResponse

+
+
+ +
+
var lastCallResponse: CallResponse
+
+

The last API call response.

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/shorten.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/shorten.html new file mode 100644 index 0000000..45b4215 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/shorten.html @@ -0,0 +1,38 @@ + + + + shorten + + +
+
+ + +
+
+
+
+
+
+ +
+

shorten

+
+
+ +
+
fun shorten(long_url: String, group_guid: String = Constants.EMPTY, domain: String = Constants.EMPTY, toJson: Boolean = false): String
+
+

Shortens a long URL.

See the Bit.ly API for more information.

Return

The short URL or JSON response, or on error, the long_url or an empty JSON object.

Parameters

long_url

The long URL.

toJson

Returns the full JSON response if true

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/update.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/update.html new file mode 100644 index 0000000..68c4ebe --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/update.html @@ -0,0 +1,38 @@ + + + + update + + +
+
+ + +
+
+
+
+
+
+ +
+

update

+
+
+ +
+
fun update(bitlink: String, references: Map<String, String> = emptyMap(), archived: Boolean = false, tags: Array<String> = emptyArray(), created_at: String = Constants.EMPTY, title: String = Constants.EMPTY, deeplinks: Array<Map<String, String>> = emptyArray(), created_by: String = Constants.EMPTY, long_url: String = Constants.EMPTY, client_id: String = Constants.EMPTY, custom_bitlinks: Array<String> = emptyArray(), link: String = Constants.EMPTY, id: String = Constants.EMPTY, toJson: Boolean = false): String
+
+

Updates fields in the specified Bitlink.

See the Bit.ly API for more information.

Return

true is the update was successful, false otherwise, or JSON response.

Parameters

toJson

Returns the full JSON response if true

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/-bitly.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/-bitly.html new file mode 100644 index 0000000..5f8bf0e --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/-bitly.html @@ -0,0 +1,62 @@ + + + + Bitly + + +
+
+ + +
+
+
+
+
+
+ +
+

Bitly

+
+
+ +
+
fun Bitly(accessToken: String)
+
+

Creates a new instance using an API Access Token.

Parameters

accessToken

The API access token.

+
+ +
+
fun Bitly(properties: Properties, key: String = Constants.ENV_ACCESS_TOKEN)
+
+

Creates a new instance using a Properties and Property Key.

Parameters

properties

The properties.

key

The property key containing the API Access Token.

+
+ +
+
fun Bitly(propertiesFilePath: Path, key: String = Constants.ENV_ACCESS_TOKEN)
+
+

Creates a new instance using a Properties File Path and Property Key.

Parameters

propertiesFilePath

The properties file path.

key

The property key containing the API Access Token.

+
+ +
+
fun Bitly(propertiesFile: File, key: String = Constants.ENV_ACCESS_TOKEN)
+
+

Creates a new instance using a Properties File and Property Key.

Parameters

propertiesFile

The properties file.

key

The property key containing the API Access Token.

+
+ +
+
fun Bitly()
+
+

Creates new instance.

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/access-token.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/access-token.html new file mode 100644 index 0000000..afa456b --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/access-token.html @@ -0,0 +1,38 @@ + + + + accessToken + + +
+
+ + +
+
+
+
+
+
+ +
+

accessToken

+
+
+ +
+
var accessToken: String
+
+

The API access token.

See Generic Access Token or Authentication.

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/bitlinks.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/bitlinks.html new file mode 100644 index 0000000..53e329d --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/bitlinks.html @@ -0,0 +1,38 @@ + + + + bitlinks + + +
+
+ + +
+
+
+
+
+
+ +
+

bitlinks

+
+
+ +
+
fun bitlinks(): Bitlinks
+
+

Returns a new Bitlinks instance.

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/call.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/call.html new file mode 100644 index 0000000..14b398f --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/call.html @@ -0,0 +1,38 @@ + + + + call + + +
+
+ + +
+
+
+
+
+
+ +
+

call

+
+
+ +
+
fun call(endPoint: String, params: Map<String, Any> = emptyMap(), method: Methods = Methods.POST): CallResponse
+
+

Executes an API call.

Return

The response (JSON) from the API.

Parameters

endPoint

The REST endpoint. (eg. https://api-ssl.bitly.com/v4/shorten)

params

The request parameters key/value map.

method

The submission Method.

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/index.html new file mode 100644 index 0000000..31a9ce9 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-bitly/index.html @@ -0,0 +1,156 @@ + + + + Bitly + + +
+
+ + +
+
+
+
+
+
+ +
+

Bitly

+
open class Bitly

Provides access to the Bitly API v4.

+
+
+
+
+

Constructors

+
+
+
+
Bitly +
Link copied to clipboard
+
+
+
+
fun Bitly(accessToken: String)
Creates a new instance using an API Access Token.
+
+
+
+
+ +
+
+
Bitly +
Link copied to clipboard
+
+
+
+
fun Bitly(properties: Properties, key: String = Constants.ENV_ACCESS_TOKEN)
Creates a new instance using a Properties and Property Key.
+
+
+
+
+ +
+
+
Bitly +
Link copied to clipboard
+
+
+
+
fun Bitly(propertiesFilePath: Path, key: String = Constants.ENV_ACCESS_TOKEN)
Creates a new instance using a Properties File Path and Property Key.
+
+
+
+
+ +
+
+
Bitly +
Link copied to clipboard
+
+
+
+
fun Bitly(propertiesFile: File, key: String = Constants.ENV_ACCESS_TOKEN)
Creates a new instance using a Properties File and Property Key.
+
+
+
+
+ +
+
+
Bitly +
Link copied to clipboard
+
+
+
+
fun Bitly()
Creates new instance.
+
+
+
+
+
+

Functions

+
+
+
+
bitlinks +
Link copied to clipboard
+
+
+
+ +
+
fun bitlinks(): Bitlinks
+
+
Returns a new Bitlinks instance.
+
+
+
+
+ +
+
+
call +
Link copied to clipboard
+
+
+
+ +
+
fun call(endPoint: String, params: Map<String, Any> = emptyMap(), method: Methods = Methods.POST): CallResponse
+
+
Executes an API call.
+
+
+
+
+
+

Properties

+
+
+
+
accessToken +
Link copied to clipboard
+
+
+
+
var accessToken: String
The API access token.
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/-call-response.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/-call-response.html new file mode 100644 index 0000000..d5b8e6d --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/-call-response.html @@ -0,0 +1,38 @@ + + + + CallResponse + + +
+
+ + +
+
+
+
+
+
+ +
+

CallResponse

+
+
+ +
+
fun CallResponse(body: String = Constants.EMPTY_JSON, resultCode: Int = -1)
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/body.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/body.html new file mode 100644 index 0000000..8ff47f2 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/body.html @@ -0,0 +1,38 @@ + + + + body + + +
+
+ + +
+
+
+
+
+
+ +
+

body

+
+
+ +
+
var body: String
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/index.html new file mode 100644 index 0000000..4e38a44 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/index.html @@ -0,0 +1,94 @@ + + + + CallResponse + + +
+
+ + +
+
+
+
+
+
+ +
+

CallResponse

+
data class CallResponse(body: String, resultCode: Int)

Provides a data class to hold the JSON response.

+
+
+
+
+

Constructors

+
+
+
+
CallResponse +
Link copied to clipboard
+
+
+
+
fun CallResponse(body: String = Constants.EMPTY_JSON, resultCode: Int = -1)
+
+
+
+
+
+

Properties

+
+
+
+
body +
Link copied to clipboard
+
+
+
+
var body: String
+
+
+
+
+ +
+
+
isSuccessful +
Link copied to clipboard
+
+
+
+
val isSuccessful: Boolean
+
+
+
+
+ +
+
+
resultCode +
Link copied to clipboard
+
+
+
+
var resultCode: Int
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/is-successful.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/is-successful.html new file mode 100644 index 0000000..aa01ff3 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/is-successful.html @@ -0,0 +1,38 @@ + + + + isSuccessful + + +
+
+ + +
+
+
+
+
+
+ +
+

isSuccessful

+
+
+ +
+
val isSuccessful: Boolean
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/result-code.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/result-code.html new file mode 100644 index 0000000..4cec55a --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-call-response/result-code.html @@ -0,0 +1,38 @@ + + + + resultCode + + +
+
+ + +
+
+
+
+
+
+ +
+

resultCode

+
+
+ +
+
var resultCode: Int
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-a-p-i_-b-a-s-e_-u-r-l.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-a-p-i_-b-a-s-e_-u-r-l.html new file mode 100644 index 0000000..716958c --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-a-p-i_-b-a-s-e_-u-r-l.html @@ -0,0 +1,38 @@ + + + + API_BASE_URL + + +
+
+ + +
+
+
+
+
+
+ +
+

API_BASE_URL

+
+
+ +
+
const val API_BASE_URL: String
+
+

The Bitly API base URL.

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-e-m-p-t-y.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-e-m-p-t-y.html new file mode 100644 index 0000000..6030907 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-e-m-p-t-y.html @@ -0,0 +1,38 @@ + + + + EMPTY + + +
+
+ + +
+
+
+
+
+
+ +
+

EMPTY

+
+
+ +
+
const val EMPTY: String
+
+

Empty String.

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-e-m-p-t-y_-j-s-o-n.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-e-m-p-t-y_-j-s-o-n.html new file mode 100644 index 0000000..a060e6f --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-e-m-p-t-y_-j-s-o-n.html @@ -0,0 +1,38 @@ + + + + EMPTY_JSON + + +
+
+ + +
+
+
+
+
+
+ +
+

EMPTY_JSON

+
+
+ +
+
const val EMPTY_JSON: String
+
+

Empty JSON Object.

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-e-n-v_-a-c-c-e-s-s_-t-o-k-e-n.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-e-n-v_-a-c-c-e-s-s_-t-o-k-e-n.html new file mode 100644 index 0000000..ad6ccb7 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-e-n-v_-a-c-c-e-s-s_-t-o-k-e-n.html @@ -0,0 +1,38 @@ + + + + ENV_ACCESS_TOKEN + + +
+
+ + +
+
+
+
+
+
+ +
+

ENV_ACCESS_TOKEN

+
+
+ +
+
const val ENV_ACCESS_TOKEN: String
+
+

The API access token environment variable.

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-f-a-l-s-e.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-f-a-l-s-e.html new file mode 100644 index 0000000..7e044f6 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-f-a-l-s-e.html @@ -0,0 +1,38 @@ + + + + FALSE + + +
+
+ + +
+
+
+
+
+
+ +
+

FALSE

+
+
+ +
+
const val FALSE: String
+
+

False

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-t-r-u-e.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-t-r-u-e.html new file mode 100644 index 0000000..5e71286 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-t-r-u-e.html @@ -0,0 +1,38 @@ + + + + TRUE + + +
+
+ + +
+
+
+
+
+
+ +
+

TRUE

+
+
+ +
+
const val TRUE: String
+
+

True

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/index.html new file mode 100644 index 0000000..f6a9f4c --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/index.html @@ -0,0 +1,118 @@ + + + + Constants + + +
+
+ + +
+
+
+
+
+
+ +
+

Constants

+
object Constants
+
+
+
+
+

Properties

+
+
+
+
API_BASE_URL +
Link copied to clipboard
+
+
+
+
const val API_BASE_URL: String
The Bitly API base URL.
+
+
+
+
+ +
+
+
EMPTY +
Link copied to clipboard
+
+
+
+
const val EMPTY: String
Empty String.
+
+
+
+
+ +
+
+
EMPTY_JSON +
Link copied to clipboard
+
+
+
+
const val EMPTY_JSON: String
Empty JSON Object.
+
+
+
+
+ +
+
+
ENV_ACCESS_TOKEN +
Link copied to clipboard
+
+
+
+
const val ENV_ACCESS_TOKEN: String
The API access token environment variable.
+
+
+
+
+ +
+
+
FALSE +
Link copied to clipboard
+
+
+
+
const val FALSE: String
False
+
+
+
+
+ +
+
+
TRUE +
Link copied to clipboard
+
+
+
+
const val TRUE: String
True
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/index.html new file mode 100644 index 0000000..bf3856e --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-constants/index.html @@ -0,0 +1,57 @@ + + + + Constants + + +
+
+ + +
+
+
+
+
+
+ +
+

Constants

+
open class Constants

Provides the constants for this package.

+
+
+
+
+

Types

+
+
+
+
Constants +
Link copied to clipboard
+
+
+
+ +
+
object Constants
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-d-e-l-e-t-e/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-d-e-l-e-t-e/index.html new file mode 100644 index 0000000..2a877da --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-d-e-l-e-t-e/index.html @@ -0,0 +1,204 @@ + + + + DELETE + + +
+
+ + +
+
+
+
+
+
+ +
+

DELETE

+
+
+
+
+
+

Functions

+
+
+
+
clone +
Link copied to clipboard
+
+
+
+ +
+
protected fun clone(): Any
+
+
+
+
+
+
+ +
+
+
compareTo +
Link copied to clipboard
+
+
+
+ +
+
operator override fun compareTo(other: Methods): Int
+
+
+
+
+
+
+ +
+
+
describeConstable +
Link copied to clipboard
+
+
+
+ +
+
override fun describeConstable(): Optional<Enum.EnumDesc<Methods>>
+
+
+
+
+
+
+ +
+
+
equals +
Link copied to clipboard
+
+
+
+ +
+
operator override fun equals(other: Any?): Boolean
+
+
+
+
+
+
+ +
+
+
finalize +
Link copied to clipboard
+
+
+
+ +
+
fun finalize()
+
+
+
+
+
+
+ +
+
+
getDeclaringClass +
Link copied to clipboard
+
+
+
+ +
+
fun getDeclaringClass(): Class<Methods>
+
+
+
+
+
+
+ +
+
+
hashCode +
Link copied to clipboard
+
+
+
+ +
+
override fun hashCode(): Int
+
+
+
+
+
+
+ +
+
+
toString +
Link copied to clipboard
+
+
+
+ +
+
open override fun toString(): String
+
+
+
+
+
+
+
+

Properties

+
+
+
+
name +
Link copied to clipboard
+
+
+
+
val name: String
+
+
+
+
+ +
+
+
ordinal +
Link copied to clipboard
+
+
+
+
val ordinal: Int
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-d-e-l-e-t-e/name.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-d-e-l-e-t-e/name.html new file mode 100644 index 0000000..754e8b5 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-d-e-l-e-t-e/name.html @@ -0,0 +1,38 @@ + + + + name + + +
+
+ + +
+
+
+
+
+
+ +
+

name

+
+
+ +
+
val name: String
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-d-e-l-e-t-e/ordinal.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-d-e-l-e-t-e/ordinal.html new file mode 100644 index 0000000..ca09a96 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-d-e-l-e-t-e/ordinal.html @@ -0,0 +1,38 @@ + + + + ordinal + + +
+
+ + +
+
+
+
+
+
+ +
+

ordinal

+
+
+ +
+
val ordinal: Int
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-g-e-t/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-g-e-t/index.html new file mode 100644 index 0000000..0dd898c --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-g-e-t/index.html @@ -0,0 +1,204 @@ + + + + GET + + +
+
+ + +
+
+
+
+
+
+ +
+

GET

+
GET()
+
+
+
+
+

Functions

+
+
+
+
clone +
Link copied to clipboard
+
+
+
+ +
+
protected fun clone(): Any
+
+
+
+
+
+
+ +
+
+
compareTo +
Link copied to clipboard
+
+
+
+ +
+
operator override fun compareTo(other: Methods): Int
+
+
+
+
+
+
+ +
+
+
describeConstable +
Link copied to clipboard
+
+
+
+ +
+
override fun describeConstable(): Optional<Enum.EnumDesc<Methods>>
+
+
+
+
+
+
+ +
+
+
equals +
Link copied to clipboard
+
+
+
+ +
+
operator override fun equals(other: Any?): Boolean
+
+
+
+
+
+
+ +
+
+
finalize +
Link copied to clipboard
+
+
+
+ +
+
fun finalize()
+
+
+
+
+
+
+ +
+
+
getDeclaringClass +
Link copied to clipboard
+
+
+
+ +
+
fun getDeclaringClass(): Class<Methods>
+
+
+
+
+
+
+ +
+
+
hashCode +
Link copied to clipboard
+
+
+
+ +
+
override fun hashCode(): Int
+
+
+
+
+
+
+ +
+
+
toString +
Link copied to clipboard
+
+
+
+ +
+
open override fun toString(): String
+
+
+
+
+
+
+
+

Properties

+
+
+
+
name +
Link copied to clipboard
+
+
+
+
val name: String
+
+
+
+
+ +
+
+
ordinal +
Link copied to clipboard
+
+
+
+
val ordinal: Int
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-g-e-t/name.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-g-e-t/name.html new file mode 100644 index 0000000..16ad4fd --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-g-e-t/name.html @@ -0,0 +1,38 @@ + + + + name + + +
+
+ + +
+
+
+
+
+
+ +
+

name

+
+
+ +
+
val name: String
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-g-e-t/ordinal.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-g-e-t/ordinal.html new file mode 100644 index 0000000..61271ff --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-g-e-t/ordinal.html @@ -0,0 +1,38 @@ + + + + ordinal + + +
+
+ + +
+
+
+
+
+
+ +
+

ordinal

+
+
+ +
+
val ordinal: Int
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-a-t-c-h/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-a-t-c-h/index.html new file mode 100644 index 0000000..eb0d140 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-a-t-c-h/index.html @@ -0,0 +1,204 @@ + + + + PATCH + + +
+
+ + +
+
+
+
+
+
+ +
+

PATCH

+
+
+
+
+
+

Functions

+
+
+
+
clone +
Link copied to clipboard
+
+
+
+ +
+
protected fun clone(): Any
+
+
+
+
+
+
+ +
+
+
compareTo +
Link copied to clipboard
+
+
+
+ +
+
operator override fun compareTo(other: Methods): Int
+
+
+
+
+
+
+ +
+
+
describeConstable +
Link copied to clipboard
+
+
+
+ +
+
override fun describeConstable(): Optional<Enum.EnumDesc<Methods>>
+
+
+
+
+
+
+ +
+
+
equals +
Link copied to clipboard
+
+
+
+ +
+
operator override fun equals(other: Any?): Boolean
+
+
+
+
+
+
+ +
+
+
finalize +
Link copied to clipboard
+
+
+
+ +
+
fun finalize()
+
+
+
+
+
+
+ +
+
+
getDeclaringClass +
Link copied to clipboard
+
+
+
+ +
+
fun getDeclaringClass(): Class<Methods>
+
+
+
+
+
+
+ +
+
+
hashCode +
Link copied to clipboard
+
+
+
+ +
+
override fun hashCode(): Int
+
+
+
+
+
+
+ +
+
+
toString +
Link copied to clipboard
+
+
+
+ +
+
open override fun toString(): String
+
+
+
+
+
+
+
+

Properties

+
+
+
+
name +
Link copied to clipboard
+
+
+
+
val name: String
+
+
+
+
+ +
+
+
ordinal +
Link copied to clipboard
+
+
+
+
val ordinal: Int
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-a-t-c-h/name.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-a-t-c-h/name.html new file mode 100644 index 0000000..f342f62 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-a-t-c-h/name.html @@ -0,0 +1,38 @@ + + + + name + + +
+
+ + +
+
+
+
+
+
+ +
+

name

+
+
+ +
+
val name: String
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-a-t-c-h/ordinal.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-a-t-c-h/ordinal.html new file mode 100644 index 0000000..96f9bb0 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-a-t-c-h/ordinal.html @@ -0,0 +1,38 @@ + + + + ordinal + + +
+
+ + +
+
+
+
+
+
+ +
+

ordinal

+
+
+ +
+
val ordinal: Int
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-o-s-t/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-o-s-t/index.html new file mode 100644 index 0000000..b988701 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-o-s-t/index.html @@ -0,0 +1,204 @@ + + + + POST + + +
+
+ + +
+
+
+
+
+
+ +
+

POST

+
+
+
+
+
+

Functions

+
+
+
+
clone +
Link copied to clipboard
+
+
+
+ +
+
protected fun clone(): Any
+
+
+
+
+
+
+ +
+
+
compareTo +
Link copied to clipboard
+
+
+
+ +
+
operator override fun compareTo(other: Methods): Int
+
+
+
+
+
+
+ +
+
+
describeConstable +
Link copied to clipboard
+
+
+
+ +
+
override fun describeConstable(): Optional<Enum.EnumDesc<Methods>>
+
+
+
+
+
+
+ +
+
+
equals +
Link copied to clipboard
+
+
+
+ +
+
operator override fun equals(other: Any?): Boolean
+
+
+
+
+
+
+ +
+
+
finalize +
Link copied to clipboard
+
+
+
+ +
+
fun finalize()
+
+
+
+
+
+
+ +
+
+
getDeclaringClass +
Link copied to clipboard
+
+
+
+ +
+
fun getDeclaringClass(): Class<Methods>
+
+
+
+
+
+
+ +
+
+
hashCode +
Link copied to clipboard
+
+
+
+ +
+
override fun hashCode(): Int
+
+
+
+
+
+
+ +
+
+
toString +
Link copied to clipboard
+
+
+
+ +
+
open override fun toString(): String
+
+
+
+
+
+
+
+

Properties

+
+
+
+
name +
Link copied to clipboard
+
+
+
+
val name: String
+
+
+
+
+ +
+
+
ordinal +
Link copied to clipboard
+
+
+
+
val ordinal: Int
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-o-s-t/name.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-o-s-t/name.html new file mode 100644 index 0000000..4c07645 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-o-s-t/name.html @@ -0,0 +1,38 @@ + + + + name + + +
+
+ + +
+
+
+
+
+
+ +
+

name

+
+
+ +
+
val name: String
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-o-s-t/ordinal.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-o-s-t/ordinal.html new file mode 100644 index 0000000..c45e31e --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-o-s-t/ordinal.html @@ -0,0 +1,38 @@ + + + + ordinal + + +
+
+ + +
+
+
+
+
+
+ +
+

ordinal

+
+
+ +
+
val ordinal: Int
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/index.html new file mode 100644 index 0000000..b63b16c --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-methods/index.html @@ -0,0 +1,120 @@ + + + + Methods + + +
+
+ + +
+
+
+
+
+
+ +
+

Methods

+
enum Methods : Enum<Methods>

Provides HTTP methods definitions.

+
+
+
+
+

Entries

+
+
+
+
DELETE +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+
GET +
Link copied to clipboard
+
+
+
+
GET()
+
+
+
+
+ +
+
+
PATCH +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+
POST +
Link copied to clipboard
+
+
+
+
+
+
+
+
+
+

Properties

+
+
+
+
name +
Link copied to clipboard
+
+
+
+
val name: String
+
+
+
+
+ +
+
+
ordinal +
Link copied to clipboard
+
+
+
+
val ordinal: Int
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-d-a-y/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-d-a-y/index.html new file mode 100644 index 0000000..9a09386 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-d-a-y/index.html @@ -0,0 +1,204 @@ + + + + DAY + + +
+
+ + +
+
+
+
+
+
+ +
+

DAY

+
DAY()
+
+
+
+
+

Functions

+
+
+
+
clone +
Link copied to clipboard
+
+
+
+ +
+
protected fun clone(): Any
+
+
+
+
+
+
+ +
+
+
compareTo +
Link copied to clipboard
+
+
+
+ +
+
operator override fun compareTo(other: Units): Int
+
+
+
+
+
+
+ +
+
+
describeConstable +
Link copied to clipboard
+
+
+
+ +
+
override fun describeConstable(): Optional<Enum.EnumDesc<Units>>
+
+
+
+
+
+
+ +
+
+
equals +
Link copied to clipboard
+
+
+
+ +
+
operator override fun equals(other: Any?): Boolean
+
+
+
+
+
+
+ +
+
+
finalize +
Link copied to clipboard
+
+
+
+ +
+
fun finalize()
+
+
+
+
+
+
+ +
+
+
getDeclaringClass +
Link copied to clipboard
+
+
+
+ +
+
fun getDeclaringClass(): Class<Units>
+
+
+
+
+
+
+ +
+
+
hashCode +
Link copied to clipboard
+
+
+
+ +
+
override fun hashCode(): Int
+
+
+
+
+
+
+ +
+
+
toString +
Link copied to clipboard
+
+
+
+ +
+
open override fun toString(): String
+
+
+
+
+
+
+
+

Properties

+
+
+
+
name +
Link copied to clipboard
+
+
+
+
val name: String
+
+
+
+
+ +
+
+
ordinal +
Link copied to clipboard
+
+
+
+
val ordinal: Int
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-d-a-y/name.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-d-a-y/name.html new file mode 100644 index 0000000..a26ec0f --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-d-a-y/name.html @@ -0,0 +1,38 @@ + + + + name + + +
+
+ + +
+
+
+
+
+
+ +
+

name

+
+
+ +
+
val name: String
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-d-a-y/ordinal.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-d-a-y/ordinal.html new file mode 100644 index 0000000..6331576 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-d-a-y/ordinal.html @@ -0,0 +1,38 @@ + + + + ordinal + + +
+
+ + +
+
+
+
+
+
+ +
+

ordinal

+
+
+ +
+
val ordinal: Int
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-h-o-u-r/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-h-o-u-r/index.html new file mode 100644 index 0000000..6e0d1c5 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-h-o-u-r/index.html @@ -0,0 +1,204 @@ + + + + HOUR + + +
+
+ + +
+
+
+
+
+
+ +
+

HOUR

+
+
+
+
+
+

Functions

+
+
+
+
clone +
Link copied to clipboard
+
+
+
+ +
+
protected fun clone(): Any
+
+
+
+
+
+
+ +
+
+
compareTo +
Link copied to clipboard
+
+
+
+ +
+
operator override fun compareTo(other: Units): Int
+
+
+
+
+
+
+ +
+
+
describeConstable +
Link copied to clipboard
+
+
+
+ +
+
override fun describeConstable(): Optional<Enum.EnumDesc<Units>>
+
+
+
+
+
+
+ +
+
+
equals +
Link copied to clipboard
+
+
+
+ +
+
operator override fun equals(other: Any?): Boolean
+
+
+
+
+
+
+ +
+
+
finalize +
Link copied to clipboard
+
+
+
+ +
+
fun finalize()
+
+
+
+
+
+
+ +
+
+
getDeclaringClass +
Link copied to clipboard
+
+
+
+ +
+
fun getDeclaringClass(): Class<Units>
+
+
+
+
+
+
+ +
+
+
hashCode +
Link copied to clipboard
+
+
+
+ +
+
override fun hashCode(): Int
+
+
+
+
+
+
+ +
+
+
toString +
Link copied to clipboard
+
+
+
+ +
+
open override fun toString(): String
+
+
+
+
+
+
+
+

Properties

+
+
+
+
name +
Link copied to clipboard
+
+
+
+
val name: String
+
+
+
+
+ +
+
+
ordinal +
Link copied to clipboard
+
+
+
+
val ordinal: Int
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-h-o-u-r/name.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-h-o-u-r/name.html new file mode 100644 index 0000000..61aab7a --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-h-o-u-r/name.html @@ -0,0 +1,38 @@ + + + + name + + +
+
+ + +
+
+
+
+
+
+ +
+

name

+
+
+ +
+
val name: String
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-h-o-u-r/ordinal.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-h-o-u-r/ordinal.html new file mode 100644 index 0000000..65261a7 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-h-o-u-r/ordinal.html @@ -0,0 +1,38 @@ + + + + ordinal + + +
+
+ + +
+
+
+
+
+
+ +
+

ordinal

+
+
+ +
+
val ordinal: Int
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-i-n-u-t-e/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-i-n-u-t-e/index.html new file mode 100644 index 0000000..3a94ba7 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-i-n-u-t-e/index.html @@ -0,0 +1,204 @@ + + + + MINUTE + + +
+
+ + +
+
+
+
+
+
+ +
+

MINUTE

+
+
+
+
+
+

Functions

+
+
+
+
clone +
Link copied to clipboard
+
+
+
+ +
+
protected fun clone(): Any
+
+
+
+
+
+
+ +
+
+
compareTo +
Link copied to clipboard
+
+
+
+ +
+
operator override fun compareTo(other: Units): Int
+
+
+
+
+
+
+ +
+
+
describeConstable +
Link copied to clipboard
+
+
+
+ +
+
override fun describeConstable(): Optional<Enum.EnumDesc<Units>>
+
+
+
+
+
+
+ +
+
+
equals +
Link copied to clipboard
+
+
+
+ +
+
operator override fun equals(other: Any?): Boolean
+
+
+
+
+
+
+ +
+
+
finalize +
Link copied to clipboard
+
+
+
+ +
+
fun finalize()
+
+
+
+
+
+
+ +
+
+
getDeclaringClass +
Link copied to clipboard
+
+
+
+ +
+
fun getDeclaringClass(): Class<Units>
+
+
+
+
+
+
+ +
+
+
hashCode +
Link copied to clipboard
+
+
+
+ +
+
override fun hashCode(): Int
+
+
+
+
+
+
+ +
+
+
toString +
Link copied to clipboard
+
+
+
+ +
+
open override fun toString(): String
+
+
+
+
+
+
+
+

Properties

+
+
+
+
name +
Link copied to clipboard
+
+
+
+
val name: String
+
+
+
+
+ +
+
+
ordinal +
Link copied to clipboard
+
+
+
+
val ordinal: Int
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-i-n-u-t-e/name.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-i-n-u-t-e/name.html new file mode 100644 index 0000000..b23f36e --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-i-n-u-t-e/name.html @@ -0,0 +1,38 @@ + + + + name + + +
+
+ + +
+
+
+
+
+
+ +
+

name

+
+
+ +
+
val name: String
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-i-n-u-t-e/ordinal.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-i-n-u-t-e/ordinal.html new file mode 100644 index 0000000..24a2414 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-i-n-u-t-e/ordinal.html @@ -0,0 +1,38 @@ + + + + ordinal + + +
+
+ + +
+
+
+
+
+
+ +
+

ordinal

+
+
+ +
+
val ordinal: Int
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-o-n-t-h/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-o-n-t-h/index.html new file mode 100644 index 0000000..3dc5dd5 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-o-n-t-h/index.html @@ -0,0 +1,204 @@ + + + + MONTH + + +
+
+ + +
+
+
+
+
+
+ +
+

MONTH

+
+
+
+
+
+

Functions

+
+
+
+
clone +
Link copied to clipboard
+
+
+
+ +
+
protected fun clone(): Any
+
+
+
+
+
+
+ +
+
+
compareTo +
Link copied to clipboard
+
+
+
+ +
+
operator override fun compareTo(other: Units): Int
+
+
+
+
+
+
+ +
+
+
describeConstable +
Link copied to clipboard
+
+
+
+ +
+
override fun describeConstable(): Optional<Enum.EnumDesc<Units>>
+
+
+
+
+
+
+ +
+
+
equals +
Link copied to clipboard
+
+
+
+ +
+
operator override fun equals(other: Any?): Boolean
+
+
+
+
+
+
+ +
+
+
finalize +
Link copied to clipboard
+
+
+
+ +
+
fun finalize()
+
+
+
+
+
+
+ +
+
+
getDeclaringClass +
Link copied to clipboard
+
+
+
+ +
+
fun getDeclaringClass(): Class<Units>
+
+
+
+
+
+
+ +
+
+
hashCode +
Link copied to clipboard
+
+
+
+ +
+
override fun hashCode(): Int
+
+
+
+
+
+
+ +
+
+
toString +
Link copied to clipboard
+
+
+
+ +
+
open override fun toString(): String
+
+
+
+
+
+
+
+

Properties

+
+
+
+
name +
Link copied to clipboard
+
+
+
+
val name: String
+
+
+
+
+ +
+
+
ordinal +
Link copied to clipboard
+
+
+
+
val ordinal: Int
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-o-n-t-h/name.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-o-n-t-h/name.html new file mode 100644 index 0000000..74a3951 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-o-n-t-h/name.html @@ -0,0 +1,38 @@ + + + + name + + +
+
+ + +
+
+
+
+
+
+ +
+

name

+
+
+ +
+
val name: String
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-o-n-t-h/ordinal.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-o-n-t-h/ordinal.html new file mode 100644 index 0000000..1d05364 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-m-o-n-t-h/ordinal.html @@ -0,0 +1,38 @@ + + + + ordinal + + +
+
+ + +
+
+
+
+
+
+ +
+

ordinal

+
+
+ +
+
val ordinal: Int
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-w-e-e-k/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-w-e-e-k/index.html new file mode 100644 index 0000000..5c1098a --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-w-e-e-k/index.html @@ -0,0 +1,204 @@ + + + + WEEK + + +
+
+ + +
+
+
+
+
+
+ +
+

WEEK

+
+
+
+
+
+

Functions

+
+
+
+
clone +
Link copied to clipboard
+
+
+
+ +
+
protected fun clone(): Any
+
+
+
+
+
+
+ +
+
+
compareTo +
Link copied to clipboard
+
+
+
+ +
+
operator override fun compareTo(other: Units): Int
+
+
+
+
+
+
+ +
+
+
describeConstable +
Link copied to clipboard
+
+
+
+ +
+
override fun describeConstable(): Optional<Enum.EnumDesc<Units>>
+
+
+
+
+
+
+ +
+
+
equals +
Link copied to clipboard
+
+
+
+ +
+
operator override fun equals(other: Any?): Boolean
+
+
+
+
+
+
+ +
+
+
finalize +
Link copied to clipboard
+
+
+
+ +
+
fun finalize()
+
+
+
+
+
+
+ +
+
+
getDeclaringClass +
Link copied to clipboard
+
+
+
+ +
+
fun getDeclaringClass(): Class<Units>
+
+
+
+
+
+
+ +
+
+
hashCode +
Link copied to clipboard
+
+
+
+ +
+
override fun hashCode(): Int
+
+
+
+
+
+
+ +
+
+
toString +
Link copied to clipboard
+
+
+
+ +
+
open override fun toString(): String
+
+
+
+
+
+
+
+

Properties

+
+
+
+
name +
Link copied to clipboard
+
+
+
+
val name: String
+
+
+
+
+ +
+
+
ordinal +
Link copied to clipboard
+
+
+
+
val ordinal: Int
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-w-e-e-k/name.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-w-e-e-k/name.html new file mode 100644 index 0000000..2024773 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-w-e-e-k/name.html @@ -0,0 +1,38 @@ + + + + name + + +
+
+ + +
+
+
+
+
+
+ +
+

name

+
+
+ +
+
val name: String
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-w-e-e-k/ordinal.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-w-e-e-k/ordinal.html new file mode 100644 index 0000000..b2970c0 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/-w-e-e-k/ordinal.html @@ -0,0 +1,38 @@ + + + + ordinal + + +
+
+ + +
+
+
+
+
+
+ +
+

ordinal

+
+
+ +
+
val ordinal: Int
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-units/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/index.html new file mode 100644 index 0000000..5903aec --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-units/index.html @@ -0,0 +1,133 @@ + + + + Units + + +
+
+ + +
+
+
+
+
+
+ +
+

Units

+
enum Units : Enum<Units>

Provides units of time definitions.

+
+
+
+
+

Entries

+
+
+
+
MINUTE +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+
HOUR +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+
DAY +
Link copied to clipboard
+
+
+
+
DAY()
+
+
+
+
+ +
+
+
WEEK +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+
MONTH +
Link copied to clipboard
+
+
+
+
+
+
+
+
+
+

Properties

+
+
+
+
name +
Link copied to clipboard
+
+
+
+
val name: String
+
+
+
+
+ +
+
+
ordinal +
Link copied to clipboard
+
+
+
+
val ordinal: Int
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/call.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/call.html new file mode 100644 index 0000000..56aced1 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/call.html @@ -0,0 +1,38 @@ + + + + call + + +
+
+ + +
+
+
+
+
+
+ +
+

call

+
+
+ +
+
fun call(accessToken: String, endPoint: String, params: Map<String, Any> = emptyMap(), method: Methods = Methods.POST): CallResponse
+
+

Executes an API call.

Return

The response (JSON) from the API.

Parameters

accessToken

The API access token.

endPoint

The REST endpoint. (eg. https://api-ssl.bitly.com/v4/shorten)

params

The request parameters key/value map.

method

The submission Method.

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/index.html new file mode 100644 index 0000000..f466147 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/index.html @@ -0,0 +1,123 @@ + + + + Companion + + +
+
+ + +
+
+
+
+
+
+ +
+

Companion

+
object Companion
+
+
+
+
+

Functions

+
+
+
+
call +
Link copied to clipboard
+
+
+
+ +
+
fun call(accessToken: String, endPoint: String, params: Map<String, Any> = emptyMap(), method: Methods = Methods.POST): CallResponse
+
+
Executes an API call.
+
+
+
+
+ +
+
+
isValidUrl +
Link copied to clipboard
+
+
+
+ +
+
fun String.isValidUrl(): Boolean
+
+
Validates a URL.
+
+
+
+
+ +
+
+
removeHttp +
Link copied to clipboard
+
+
+
+ +
+
fun String.removeHttp(): String
+
+
Removes http(s) scheme from string.
+
+
+
+
+ +
+
+
toEndPoint +
Link copied to clipboard
+
+
+
+ +
+
fun String.toEndPoint(): String
+
+
Builds the full API endpoint URL using the Constants.API_BASE_URL.
+
+
+
+
+
+

Properties

+
+
+
+
logger +
Link copied to clipboard
+
+
+
+
val logger: Logger
The logger instance.
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/is-valid-url.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/is-valid-url.html new file mode 100644 index 0000000..0c712f9 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/is-valid-url.html @@ -0,0 +1,38 @@ + + + + isValidUrl + + +
+
+ + +
+
+
+
+
+
+ +
+

isValidUrl

+
+
+ +
+
fun String.isValidUrl(): Boolean
+
+

Validates a URL.

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/logger.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/logger.html new file mode 100644 index 0000000..8bec928 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/logger.html @@ -0,0 +1,38 @@ + + + + logger + + +
+
+ + +
+
+
+
+
+
+ +
+

logger

+
+
+ +
+
val logger: Logger
+
+

The logger instance.

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/remove-http.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/remove-http.html new file mode 100644 index 0000000..1dfaf28 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/remove-http.html @@ -0,0 +1,38 @@ + + + + removeHttp + + +
+
+ + +
+
+
+
+
+
+ +
+

removeHttp

+
+
+ +
+
fun String.removeHttp(): String
+
+

Removes http(s) scheme from string.

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/to-end-point.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/to-end-point.html new file mode 100644 index 0000000..dc1e60c --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/to-end-point.html @@ -0,0 +1,38 @@ + + + + toEndPoint + + +
+
+ + +
+
+
+
+
+
+ +
+

toEndPoint

+
+
+ +
+
fun String.toEndPoint(): String
+
+

Builds the full API endpoint URL using the Constants.API_BASE_URL.

+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/index.html new file mode 100644 index 0000000..f6a23e1 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/-utils/index.html @@ -0,0 +1,57 @@ + + + + Utils + + +
+
+ + +
+
+
+
+
+
+ +
+

Utils

+
open class Utils

Provides useful generic functions.

+
+
+
+
+

Types

+
+
+
+
Companion +
Link copied to clipboard
+
+
+
+ +
+
object Companion
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/net.thauvin.erik.bitly/index.html b/docs/bitly-shorten/net.thauvin.erik.bitly/index.html new file mode 100644 index 0000000..2c5cb13 --- /dev/null +++ b/docs/bitly-shorten/net.thauvin.erik.bitly/index.html @@ -0,0 +1,159 @@ + + + + net.thauvin.erik.bitly + + +
+
+ + +
+
+
+
+
+
+ +
+

Package net.thauvin.erik.bitly

+

Provides the classes necessary to access the Bitly API v4.

+
+
+
+
+

Types

+
+
+
+
Bitlinks +
Link copied to clipboard
+
+
+
+ +
+
open class Bitlinks(accessToken: String)
+
+
Provides functions to create and manage Bitlinks.
+
+
+
+
+ +
+
+
Bitly +
Link copied to clipboard
+
+
+
+ +
+
open class Bitly
+
+
Provides access to the Bitly API v4.
+
+
+
+
+ +
+
+
CallResponse +
Link copied to clipboard
+
+
+
+ +
+
data class CallResponse(body: String, resultCode: Int)
+
+
Provides a data class to hold the JSON response.
+
+
+
+
+ +
+
+
Constants +
Link copied to clipboard
+
+
+
+ +
+
open class Constants
+
+
Provides the constants for this package.
+
+
+
+
+ +
+
+
Methods +
Link copied to clipboard
+
+
+
+ +
+
enum Methods : Enum<Methods>
+
+
Provides HTTP methods definitions.
+
+
+
+
+ +
+
+
Units +
Link copied to clipboard
+
+
+
+ +
+
enum Units : Enum<Units>
+
+
Provides units of time definitions.
+
+
+
+
+ +
+
+
Utils +
Link copied to clipboard
+
+
+
+ +
+
open class Utils
+
+
Provides useful generic functions.
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/docs/bitly-shorten/package-list b/docs/bitly-shorten/package-list new file mode 100644 index 0000000..3dbd496 --- /dev/null +++ b/docs/bitly-shorten/package-list @@ -0,0 +1,71 @@ +$dokka.format:html-v1 +$dokka.linkExtension:html +$dokka.location:net.thauvin.erik.bitly////PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/index.html +$dokka.location:net.thauvin.erik.bitly/Bitlinks///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/index.html +$dokka.location:net.thauvin.erik.bitly/Bitlinks/Bitlinks/#kotlin.String/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/-bitlinks.html +$dokka.location:net.thauvin.erik.bitly/Bitlinks/clicks/#kotlin.String#net.thauvin.erik.bitly.Units#kotlin.Int#kotlin.Int#kotlin.String#kotlin.Boolean/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/clicks.html +$dokka.location:net.thauvin.erik.bitly/Bitlinks/create/#kotlin.String#kotlin.String#kotlin.String#kotlin.Array[kotlin.String]#kotlin.Array[kotlin.collections.Map[kotlin.String,kotlin.String]]#kotlin.String#kotlin.Boolean/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/create.html +$dokka.location:net.thauvin.erik.bitly/Bitlinks/expand/#kotlin.String#kotlin.Boolean/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/expand.html +$dokka.location:net.thauvin.erik.bitly/Bitlinks/lastCallResponse/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/last-call-response.html +$dokka.location:net.thauvin.erik.bitly/Bitlinks/shorten/#kotlin.String#kotlin.String#kotlin.String#kotlin.Boolean/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/shorten.html +$dokka.location:net.thauvin.erik.bitly/Bitlinks/update/#kotlin.String#kotlin.collections.Map[kotlin.String,kotlin.String]#kotlin.Boolean#kotlin.Array[kotlin.String]#kotlin.String#kotlin.String#kotlin.Array[kotlin.collections.Map[kotlin.String,kotlin.String]]#kotlin.String#kotlin.String#kotlin.String#kotlin.Array[kotlin.String]#kotlin.String#kotlin.String#kotlin.Boolean/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitlinks/update.html +$dokka.location:net.thauvin.erik.bitly/Bitly///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitly/index.html +$dokka.location:net.thauvin.erik.bitly/Bitly/Bitly/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitly/-bitly.html +$dokka.location:net.thauvin.erik.bitly/Bitly/Bitly/#java.io.File#kotlin.String/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitly/-bitly.html +$dokka.location:net.thauvin.erik.bitly/Bitly/Bitly/#java.nio.file.Path#kotlin.String/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitly/-bitly.html +$dokka.location:net.thauvin.erik.bitly/Bitly/Bitly/#java.util.Properties#kotlin.String/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitly/-bitly.html +$dokka.location:net.thauvin.erik.bitly/Bitly/Bitly/#kotlin.String/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitly/-bitly.html +$dokka.location:net.thauvin.erik.bitly/Bitly/accessToken/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitly/access-token.html +$dokka.location:net.thauvin.erik.bitly/Bitly/bitlinks/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitly/bitlinks.html +$dokka.location:net.thauvin.erik.bitly/Bitly/call/#kotlin.String#kotlin.collections.Map[kotlin.String,kotlin.Any]#net.thauvin.erik.bitly.Methods/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-bitly/call.html +$dokka.location:net.thauvin.erik.bitly/CallResponse///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-call-response/index.html +$dokka.location:net.thauvin.erik.bitly/CallResponse/CallResponse/#kotlin.String#kotlin.Int/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-call-response/-call-response.html +$dokka.location:net.thauvin.erik.bitly/CallResponse/body/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-call-response/body.html +$dokka.location:net.thauvin.erik.bitly/CallResponse/isSuccessful/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-call-response/is-successful.html +$dokka.location:net.thauvin.erik.bitly/CallResponse/resultCode/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-call-response/result-code.html +$dokka.location:net.thauvin.erik.bitly/Constants.Constants///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/index.html +$dokka.location:net.thauvin.erik.bitly/Constants.Constants/API_BASE_URL/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-a-p-i_-b-a-s-e_-u-r-l.html +$dokka.location:net.thauvin.erik.bitly/Constants.Constants/EMPTY/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-e-m-p-t-y.html +$dokka.location:net.thauvin.erik.bitly/Constants.Constants/EMPTY_JSON/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-e-m-p-t-y_-j-s-o-n.html +$dokka.location:net.thauvin.erik.bitly/Constants.Constants/ENV_ACCESS_TOKEN/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-e-n-v_-a-c-c-e-s-s_-t-o-k-e-n.html +$dokka.location:net.thauvin.erik.bitly/Constants.Constants/FALSE/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-f-a-l-s-e.html +$dokka.location:net.thauvin.erik.bitly/Constants.Constants/TRUE/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-constants/-constants/-t-r-u-e.html +$dokka.location:net.thauvin.erik.bitly/Constants///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-constants/index.html +$dokka.location:net.thauvin.erik.bitly/Methods.DELETE///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-methods/-d-e-l-e-t-e/index.html +$dokka.location:net.thauvin.erik.bitly/Methods.DELETE/name/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-methods/-d-e-l-e-t-e/name.html +$dokka.location:net.thauvin.erik.bitly/Methods.DELETE/ordinal/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-methods/-d-e-l-e-t-e/ordinal.html +$dokka.location:net.thauvin.erik.bitly/Methods.GET///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-methods/-g-e-t/index.html +$dokka.location:net.thauvin.erik.bitly/Methods.GET/name/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-methods/-g-e-t/name.html +$dokka.location:net.thauvin.erik.bitly/Methods.GET/ordinal/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-methods/-g-e-t/ordinal.html +$dokka.location:net.thauvin.erik.bitly/Methods.PATCH///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-a-t-c-h/index.html +$dokka.location:net.thauvin.erik.bitly/Methods.PATCH/name/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-a-t-c-h/name.html +$dokka.location:net.thauvin.erik.bitly/Methods.PATCH/ordinal/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-a-t-c-h/ordinal.html +$dokka.location:net.thauvin.erik.bitly/Methods.POST///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-o-s-t/index.html +$dokka.location:net.thauvin.erik.bitly/Methods.POST/name/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-o-s-t/name.html +$dokka.location:net.thauvin.erik.bitly/Methods.POST/ordinal/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-methods/-p-o-s-t/ordinal.html +$dokka.location:net.thauvin.erik.bitly/Methods///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-methods/index.html +$dokka.location:net.thauvin.erik.bitly/Units.DAY///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-units/-d-a-y/index.html +$dokka.location:net.thauvin.erik.bitly/Units.DAY/name/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-units/-d-a-y/name.html +$dokka.location:net.thauvin.erik.bitly/Units.DAY/ordinal/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-units/-d-a-y/ordinal.html +$dokka.location:net.thauvin.erik.bitly/Units.HOUR///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-units/-h-o-u-r/index.html +$dokka.location:net.thauvin.erik.bitly/Units.HOUR/name/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-units/-h-o-u-r/name.html +$dokka.location:net.thauvin.erik.bitly/Units.HOUR/ordinal/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-units/-h-o-u-r/ordinal.html +$dokka.location:net.thauvin.erik.bitly/Units.MINUTE///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-units/-m-i-n-u-t-e/index.html +$dokka.location:net.thauvin.erik.bitly/Units.MINUTE/name/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-units/-m-i-n-u-t-e/name.html +$dokka.location:net.thauvin.erik.bitly/Units.MINUTE/ordinal/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-units/-m-i-n-u-t-e/ordinal.html +$dokka.location:net.thauvin.erik.bitly/Units.MONTH///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-units/-m-o-n-t-h/index.html +$dokka.location:net.thauvin.erik.bitly/Units.MONTH/name/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-units/-m-o-n-t-h/name.html +$dokka.location:net.thauvin.erik.bitly/Units.MONTH/ordinal/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-units/-m-o-n-t-h/ordinal.html +$dokka.location:net.thauvin.erik.bitly/Units.WEEK///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-units/-w-e-e-k/index.html +$dokka.location:net.thauvin.erik.bitly/Units.WEEK/name/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-units/-w-e-e-k/name.html +$dokka.location:net.thauvin.erik.bitly/Units.WEEK/ordinal/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-units/-w-e-e-k/ordinal.html +$dokka.location:net.thauvin.erik.bitly/Units///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-units/index.html +$dokka.location:net.thauvin.erik.bitly/Utils.Companion///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/index.html +$dokka.location:net.thauvin.erik.bitly/Utils.Companion/call/#kotlin.String#kotlin.String#kotlin.collections.Map[kotlin.String,kotlin.Any]#net.thauvin.erik.bitly.Methods/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/call.html +$dokka.location:net.thauvin.erik.bitly/Utils.Companion/isValidUrl/kotlin.String#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/is-valid-url.html +$dokka.location:net.thauvin.erik.bitly/Utils.Companion/logger/#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/logger.html +$dokka.location:net.thauvin.erik.bitly/Utils.Companion/removeHttp/kotlin.String#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/remove-http.html +$dokka.location:net.thauvin.erik.bitly/Utils.Companion/toEndPoint/kotlin.String#/PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-utils/-companion/to-end-point.html +$dokka.location:net.thauvin.erik.bitly/Utils///PointingToDeclaration/bitly-shorten/net.thauvin.erik.bitly/-utils/index.html +net.thauvin.erik.bitly + diff --git a/docs/images/anchor-copy-button.svg b/docs/images/anchor-copy-button.svg new file mode 100644 index 0000000..bab9d74 --- /dev/null +++ b/docs/images/anchor-copy-button.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/images/arrow_down.svg b/docs/images/arrow_down.svg new file mode 100644 index 0000000..89e7df4 --- /dev/null +++ b/docs/images/arrow_down.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/images/copy-icon.svg b/docs/images/copy-icon.svg new file mode 100644 index 0000000..61440f0 --- /dev/null +++ b/docs/images/copy-icon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/images/copy-successful-icon.svg b/docs/images/copy-successful-icon.svg new file mode 100644 index 0000000..1865f73 --- /dev/null +++ b/docs/images/copy-successful-icon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/images/docs_logo.svg b/docs/images/docs_logo.svg new file mode 100644 index 0000000..7c1e3ae --- /dev/null +++ b/docs/images/docs_logo.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/images/footer-go-to-link.svg b/docs/images/footer-go-to-link.svg new file mode 100644 index 0000000..0137e22 --- /dev/null +++ b/docs/images/footer-go-to-link.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/images/go-to-top-icon.svg b/docs/images/go-to-top-icon.svg new file mode 100644 index 0000000..d987f3e --- /dev/null +++ b/docs/images/go-to-top-icon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/images/logo-icon.svg b/docs/images/logo-icon.svg new file mode 100644 index 0000000..1b3b367 --- /dev/null +++ b/docs/images/logo-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..f2984c9 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,47 @@ + + + + bitly-shorten + + +
+
+ + +
+
+
+
+
+
+ +
+

bitly-shorten

+

Bitly Shortener for Kotlin/Java

A simple implementation of the link shortening (Bitlinks) abilities of the Bitly API v4.

+
+

Packages

+
+
+
+
+
net.thauvin.erik.bitly +
Link copied to clipboard
+
+
+
+
Provides the classes necessary to access the Bitly API v4.
+
+
+
+
+ +
+
+ + + diff --git a/docs/navigation.html b/docs/navigation.html new file mode 100644 index 0000000..ffb87e9 --- /dev/null +++ b/docs/navigation.html @@ -0,0 +1,55 @@ +
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+
+ diff --git a/docs/scripts/clipboard.js b/docs/scripts/clipboard.js new file mode 100644 index 0000000..b00ce24 --- /dev/null +++ b/docs/scripts/clipboard.js @@ -0,0 +1,52 @@ +window.addEventListener('load', () => { + document.querySelectorAll('span.copy-icon').forEach(element => { + element.addEventListener('click', (el) => copyElementsContentToClipboard(element)); + }) + + document.querySelectorAll('span.anchor-icon').forEach(element => { + element.addEventListener('click', (el) => { + if(element.hasAttribute('pointing-to')){ + const location = hrefWithoutCurrentlyUsedAnchor() + '#' + element.getAttribute('pointing-to') + copyTextToClipboard(element, location) + } + }); + }) +}) + +const copyElementsContentToClipboard = (element) => { + const selection = window.getSelection(); + const range = document.createRange(); + range.selectNodeContents(element.parentNode.parentNode); + selection.removeAllRanges(); + selection.addRange(range); + + copyAndShowPopup(element, () => selection.removeAllRanges()) +} + +const copyTextToClipboard = (element, text) => { + var textarea = document.createElement("textarea"); + textarea.textContent = text; + textarea.style.position = "fixed"; + document.body.appendChild(textarea); + textarea.select(); + + copyAndShowPopup(element, () => document.body.removeChild(textarea)) +} + +const copyAndShowPopup = (element, after) => { + try { + document.execCommand('copy'); + element.nextElementSibling.classList.add('active-popup'); + setTimeout(() => { + element.nextElementSibling.classList.remove('active-popup'); + }, 1200); + } catch (e) { + console.error('Failed to write to clipboard:', e) + } + finally { + if(after) after() + } +} + +const hrefWithoutCurrentlyUsedAnchor = () => window.location.href.split('#')[0] + diff --git a/docs/scripts/main.js b/docs/scripts/main.js new file mode 100644 index 0000000..029fa9e --- /dev/null +++ b/docs/scripts/main.js @@ -0,0 +1,67 @@ +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=390)}([function(e,t,n){e.exports=n(264)()},function(e,t,n){"use strict";e.exports=n(239)},function(e,t,n){var r; +/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;to;)Q(e,n=r[o++],t[n]);return e},X=function(e){var t=F.call(this,e=x(e,!0));return!(this===W&&o(H,e)&&!o(U,e))&&(!(t||!o(this,e)||!o(H,e)||o(this,A)&&this[A][e])||t)},J=function(e,t){if(e=w(e),t=x(t,!0),e!==W||!o(H,t)||o(U,t)){var n=I(e,t);return!n||!o(H,t)||o(e,A)&&e[A][t]||(n.enumerable=!0),n}},Z=function(e){for(var t,n=z(w(e)),r=[],i=0;n.length>i;)o(H,t=n[i++])||t==A||t==c||r.push(t);return r},ee=function(e){for(var t,n=e===W,r=z(n?U:w(e)),i=[],a=0;r.length>a;)!o(H,t=r[a++])||n&&!o(W,t)||i.push(H[t]);return i};B||(l((R=function(){if(this instanceof R)throw TypeError("Symbol is not a constructor!");var e=p(arguments.length>0?arguments[0]:void 0),t=function(n){this===W&&t.call(U,n),o(this,A)&&o(this[A],e)&&(this[A][e]=!1),K(this,e,S(1,n))};return i&&G&&K(W,e,{configurable:!0,set:t}),q(e)}).prototype,"toString",(function(){return this._k})),E.f=J,C.f=Q,n(114).f=O.f=Z,n(95).f=X,T.f=ee,i&&!n(111)&&l(W,"propertyIsEnumerable",X,!0),h.f=function(e){return q(d(e))}),a(a.G+a.W+a.F*!B,{Symbol:R});for(var te="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),ne=0;te.length>ne;)d(te[ne++]);for(var re=P(d.store),oe=0;re.length>oe;)v(re[oe++]);a(a.S+a.F*!B,"Symbol",{for:function(e){return o(D,e+="")?D[e]:D[e]=R(e)},keyFor:function(e){if(!$(e))throw TypeError(e+" is not a symbol!");for(var t in D)if(D[t]===e)return t},useSetter:function(){G=!0},useSimple:function(){G=!1}}),a(a.S+a.F*!B,"Object",{create:function(e,t){return void 0===t?k(e):Y(k(e),t)},defineProperty:Q,defineProperties:Y,getOwnPropertyDescriptor:J,getOwnPropertyNames:Z,getOwnPropertySymbols:ee});var ie=u((function(){T.f(1)}));a(a.S+a.F*ie,"Object",{getOwnPropertySymbols:function(e){return T.f(_(e))}}),M&&a(a.S+a.F*(!B||u((function(){var e=R();return"[null]"!=N([e])||"{}"!=N({a:e})||"{}"!=N(Object(e))}))),"JSON",{stringify:function(e){for(var t,n,r=[e],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=t=r[1],(b(t)||void 0!==e)&&!$(e))return m(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!$(t))return t}),r[1]=t,N.apply(M,r)}}),R.prototype[L]||n(59)(R.prototype,L,R.prototype.valueOf),f(R,"Symbol"),f(Math,"Math",!0),f(r.JSON,"JSON",!0)},function(e,t,n){var r=n(10);r(r.S+r.F*!n(30),"Object",{defineProperty:n(39).f})},function(e,t,n){"use strict";n(257);var r=n(27),o=n(135),i=n(30),a=/./.toString,l=function(e){n(42)(RegExp.prototype,"toString",e,!0)};n(31)((function(){return"/a/b"!=a.call({source:"a",flags:"b"})}))?l((function(){var e=r(this);return"/".concat(e.source,"/","flags"in e?e.flags:!i&&e instanceof RegExp?o.call(e):void 0)})):"toString"!=a.name&&l((function(){return a.call(this)}))},function(e,t,n){var r=Date.prototype,o=r.toString,i=r.getTime;new Date(NaN)+""!="Invalid Date"&&n(42)(r,"toString",(function(){var e=i.call(this);return e==e?o.call(this):"Invalid Date"}))},function(e,t,n){n(182)("asyncIterator")},function(e,t,n){var r=n(32),o=n(79),i=n(59),a=n(42),l=n(80),c=function(e,t,n){var u,s,f,p,d=e&c.F,h=e&c.G,v=e&c.S,g=e&c.P,m=e&c.B,y=h?r:v?r[t]||(r[t]={}):(r[t]||{}).prototype,b=h?o:o[t]||(o[t]={}),_=b.prototype||(b.prototype={});for(u in h&&(n=t),n)f=((s=!d&&y&&void 0!==y[u])?y:n)[u],p=m&&s?l(f,r):g&&"function"==typeof f?l(Function.call,f):f,y&&a(y,u,f,e&c.U),b[u]!=f&&i(b,u,p),g&&_[u]!=f&&(_[u]=f)};r.core=o,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,t,n){for(var r=n(12),o=n(70),i=n(42),a=n(32),l=n(59),c=n(96),u=n(25),s=u("iterator"),f=u("toStringTag"),p=c.Array,d={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=o(d),v=0;v=e.length?(this._t=void 0,o(1)):o(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])}),"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(e,t,n){var r=n(10);r(r.S,"Object",{create:n(83)})},function(e,t,n){var r=n(10),o=n(83),i=n(81),a=n(27),l=n(29),c=n(31),u=n(184),s=(n(32).Reflect||{}).construct,f=c((function(){function e(){}return!(s((function(){}),[],e)instanceof e)})),p=!c((function(){s((function(){}))}));r(r.S+r.F*(f||p),"Reflect",{construct:function(e,t){i(e),a(t);var n=arguments.length<3?e:i(arguments[2]);if(p&&!f)return s(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var r=[null];return r.push.apply(r,t),new(u.apply(e,r))}var c=n.prototype,d=o(l(c)?c:Object.prototype),h=Function.apply.call(e,d,t);return l(h)?h:d}})},function(e,t,n){var r=n(10);r(r.S,"Object",{setPrototypeOf:n(180).set})},function(e,t,n){var r=n(54),o=n(70);n(252)("keys",(function(){return function(e){return o(r(e))}}))},function(e,t,n){"use strict";var r=n(10),o=n(130)(!1),i=[].indexOf,a=!!i&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(a||!n(72)(i)),"Array",{indexOf:function(e){return a?i.apply(this,arguments)||0:o(this,e,arguments[1])}})},function(e,t,n){var r=n(26),o=n(266);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var i={insert:"head",singleton:!1};r(o,i);e.exports=o.locals||{}},function(e,t,n){var r=n(10);r(r.S+r.F,"Object",{assign:n(185)})},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var o=(a=r,l=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),c="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(l),"/*# ".concat(c," */")),i=r.sources.map((function(e){return"/*# sourceURL=".concat(r.sourceRoot||"").concat(e," */")}));return[n].concat(i).concat([o]).join("\n")}var a,l,c;return[n].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(r)for(var i=0;i=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})}))},function(e,t,n){var r=n(35),o=n(28),i=n(98),a=n(74),l=n(75),c=function(e,t,n){var u,s,f,p=e&c.F,d=e&c.G,h=e&c.S,v=e&c.P,g=e&c.B,m=e&c.W,y=d?o:o[t]||(o[t]={}),b=y.prototype,_=d?r:h?r[t]:(r[t]||{}).prototype;for(u in d&&(n=t),n)(s=!p&&_&&void 0!==_[u])&&l(y,u)||(f=s?_[u]:n[u],y[u]=d&&"function"!=typeof _[u]?n[u]:g&&s?i(f,r):m&&_[u]==f?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(f):v&&"function"==typeof f?i(Function.call,f):f,v&&((y.virtual||(y.virtual={}))[u]=f,e&c.R&&b&&!b[u]&&a(b,u,f)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,t,n){var r=n(26),o=n(332);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var i={insert:"head",singleton:!1};r(o,i);e.exports=o.locals||{}},function(e,t,n){var r=n(113),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t,n){var r=n(71);e.exports=function(e){return Object(r(e))}},function(e,t,n){"use strict";var r=n(10),o=n(62)(1);r(r.P+r.F*!n(72)([].map,!0),"Array",{map:function(e){return o(this,e,arguments[1])}})},function(e,t,n){var r=n(64);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){e.exports=!n(85)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var r=n(80),o=n(10),i=n(54),a=n(189),l=n(190),c=n(53),u=n(174),s=n(191);o(o.S+o.F*!n(192)((function(e){Array.from(e)})),"Array",{from:function(e){var t,n,o,f,p=i(e),d="function"==typeof this?this:Array,h=arguments.length,v=h>1?arguments[1]:void 0,g=void 0!==v,m=0,y=s(p);if(g&&(v=r(v,h>2?arguments[2]:void 0,2)),null==y||d==Array&&l(y))for(n=new d(t=c(p.length));t>m;m++)u(n,m,g?v(p[m],m):p[m]);else for(f=y.call(p),n=new d;!(o=f.next()).done;m++)u(n,m,g?a(f,v,[o.value,m],!0):o.value);return n.length=m,n}})},function(e,t,n){var r=n(39),o=n(91);e.exports=n(30)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var r=n(112),o=n(71);e.exports=function(e){return r(o(e))}},function(e,t,n){"use strict";var r=n(10),o=n(62)(0),i=n(72)([].forEach,!0);r(r.P+r.F*!i,"Array",{forEach:function(e){return o(this,e,arguments[1])}})},function(e,t,n){var r=n(80),o=n(112),i=n(54),a=n(53),l=n(259);e.exports=function(e,t){var n=1==e,c=2==e,u=3==e,s=4==e,f=6==e,p=5==e||f,d=t||l;return function(t,l,h){for(var v,g,m=i(t),y=o(m),b=r(l,h,3),_=a(y.length),w=0,x=n?d(t,_):c?d(t,0):void 0;_>w;w++)if((p||w in y)&&(g=b(v=y[w],w,m),e))if(n)x[w]=g;else if(g)switch(e){case 3:return!0;case 5:return v;case 6:return w;case 2:x.push(v)}else if(s)return!1;return f?-1:u||s?s:x}}},function(e,t,n){var r=n(56),o=n(200),i=n(147),a=Object.defineProperty;t.f=n(57)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){e.exports={default:n(282),__esModule:!0}},function(e,t,n){"use strict";t.__esModule=!0;var r=a(n(304)),o=a(n(308)),i=a(n(205));function a(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,i.default)(t)));e.prototype=(0,o.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(r.default?(0,r.default)(e,t):e.__proto__=t)}},function(e,t,n){(function(e,r){var o; +/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */(function(){var i="Expected a function",a="__lodash_placeholder__",l=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],c="[object Arguments]",u="[object Array]",s="[object Boolean]",f="[object Date]",p="[object Error]",d="[object Function]",h="[object GeneratorFunction]",v="[object Map]",g="[object Number]",m="[object Object]",y="[object RegExp]",b="[object Set]",_="[object String]",w="[object Symbol]",x="[object WeakMap]",S="[object ArrayBuffer]",k="[object DataView]",O="[object Float32Array]",E="[object Float64Array]",T="[object Int8Array]",C="[object Int16Array]",P="[object Int32Array]",I="[object Uint8Array]",j="[object Uint16Array]",z="[object Uint32Array]",R=/\b__p \+= '';/g,M=/\b(__p \+=) '' \+/g,N=/(__e\(.*?\)|\b__t\)) \+\n'';/g,A=/&(?:amp|lt|gt|quot|#39);/g,L=/[&<>"']/g,F=RegExp(A.source),D=RegExp(L.source),H=/<%-([\s\S]+?)%>/g,U=/<%([\s\S]+?)%>/g,W=/<%=([\s\S]+?)%>/g,B=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,V=/^\w*$/,G=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,K=/[\\^$.*+?()[\]{}|]/g,q=RegExp(K.source),$=/^\s+|\s+$/g,Q=/^\s+/,Y=/\s+$/,X=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,J=/\{\n\/\* \[wrapped with (.+)\] \*/,Z=/,? & /,ee=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,te=/\\(\\)?/g,ne=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,re=/\w*$/,oe=/^[-+]0x[0-9a-f]+$/i,ie=/^0b[01]+$/i,ae=/^\[object .+?Constructor\]$/,le=/^0o[0-7]+$/i,ce=/^(?:0|[1-9]\d*)$/,ue=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,se=/($^)/,fe=/['\n\r\u2028\u2029\\]/g,pe="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",de="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",he="[\\ud800-\\udfff]",ve="["+de+"]",ge="["+pe+"]",me="\\d+",ye="[\\u2700-\\u27bf]",be="[a-z\\xdf-\\xf6\\xf8-\\xff]",_e="[^\\ud800-\\udfff"+de+me+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",we="\\ud83c[\\udffb-\\udfff]",xe="[^\\ud800-\\udfff]",Se="(?:\\ud83c[\\udde6-\\uddff]){2}",ke="[\\ud800-\\udbff][\\udc00-\\udfff]",Oe="[A-Z\\xc0-\\xd6\\xd8-\\xde]",Ee="(?:"+be+"|"+_e+")",Te="(?:"+Oe+"|"+_e+")",Ce="(?:"+ge+"|"+we+")"+"?",Pe="[\\ufe0e\\ufe0f]?"+Ce+("(?:\\u200d(?:"+[xe,Se,ke].join("|")+")[\\ufe0e\\ufe0f]?"+Ce+")*"),Ie="(?:"+[ye,Se,ke].join("|")+")"+Pe,je="(?:"+[xe+ge+"?",ge,Se,ke,he].join("|")+")",ze=RegExp("['’]","g"),Re=RegExp(ge,"g"),Me=RegExp(we+"(?="+we+")|"+je+Pe,"g"),Ne=RegExp([Oe+"?"+be+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[ve,Oe,"$"].join("|")+")",Te+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[ve,Oe+Ee,"$"].join("|")+")",Oe+"?"+Ee+"+(?:['’](?:d|ll|m|re|s|t|ve))?",Oe+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",me,Ie].join("|"),"g"),Ae=RegExp("[\\u200d\\ud800-\\udfff"+pe+"\\ufe0e\\ufe0f]"),Le=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Fe=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],De=-1,He={};He[O]=He[E]=He[T]=He[C]=He[P]=He[I]=He["[object Uint8ClampedArray]"]=He[j]=He[z]=!0,He[c]=He[u]=He[S]=He[s]=He[k]=He[f]=He[p]=He[d]=He[v]=He[g]=He[m]=He[y]=He[b]=He[_]=He[x]=!1;var Ue={};Ue[c]=Ue[u]=Ue[S]=Ue[k]=Ue[s]=Ue[f]=Ue[O]=Ue[E]=Ue[T]=Ue[C]=Ue[P]=Ue[v]=Ue[g]=Ue[m]=Ue[y]=Ue[b]=Ue[_]=Ue[w]=Ue[I]=Ue["[object Uint8ClampedArray]"]=Ue[j]=Ue[z]=!0,Ue[p]=Ue[d]=Ue[x]=!1;var We={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Be=parseFloat,Ve=parseInt,Ge="object"==typeof e&&e&&e.Object===Object&&e,Ke="object"==typeof self&&self&&self.Object===Object&&self,qe=Ge||Ke||Function("return this")(),$e=t&&!t.nodeType&&t,Qe=$e&&"object"==typeof r&&r&&!r.nodeType&&r,Ye=Qe&&Qe.exports===$e,Xe=Ye&&Ge.process,Je=function(){try{var e=Qe&&Qe.require&&Qe.require("util").types;return e||Xe&&Xe.binding&&Xe.binding("util")}catch(e){}}(),Ze=Je&&Je.isArrayBuffer,et=Je&&Je.isDate,tt=Je&&Je.isMap,nt=Je&&Je.isRegExp,rt=Je&&Je.isSet,ot=Je&&Je.isTypedArray;function it(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function at(e,t,n,r){for(var o=-1,i=null==e?0:e.length;++o-1}function pt(e,t,n){for(var r=-1,o=null==e?0:e.length;++r-1;);return n}function Mt(e,t){for(var n=e.length;n--&&wt(t,e[n],0)>-1;);return n}function Nt(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}var At=Et({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),Lt=Et({"&":"&","<":"<",">":">",'"':""","'":"'"});function Ft(e){return"\\"+We[e]}function Dt(e){return Ae.test(e)}function Ht(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function Ut(e,t){return function(n){return e(t(n))}}function Wt(e,t){for(var n=-1,r=e.length,o=0,i=[];++n",""":'"',"'":"'"});var $t=function e(t){var n,r=(t=null==t?qe:$t.defaults(qe.Object(),t,$t.pick(qe,Fe))).Array,o=t.Date,pe=t.Error,de=t.Function,he=t.Math,ve=t.Object,ge=t.RegExp,me=t.String,ye=t.TypeError,be=r.prototype,_e=de.prototype,we=ve.prototype,xe=t["__core-js_shared__"],Se=_e.toString,ke=we.hasOwnProperty,Oe=0,Ee=(n=/[^.]+$/.exec(xe&&xe.keys&&xe.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Te=we.toString,Ce=Se.call(ve),Pe=qe._,Ie=ge("^"+Se.call(ke).replace(K,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),je=Ye?t.Buffer:void 0,Me=t.Symbol,Ae=t.Uint8Array,We=je?je.allocUnsafe:void 0,Ge=Ut(ve.getPrototypeOf,ve),Ke=ve.create,$e=we.propertyIsEnumerable,Qe=be.splice,Xe=Me?Me.isConcatSpreadable:void 0,Je=Me?Me.iterator:void 0,yt=Me?Me.toStringTag:void 0,Et=function(){try{var e=ei(ve,"defineProperty");return e({},"",{}),e}catch(e){}}(),Qt=t.clearTimeout!==qe.clearTimeout&&t.clearTimeout,Yt=o&&o.now!==qe.Date.now&&o.now,Xt=t.setTimeout!==qe.setTimeout&&t.setTimeout,Jt=he.ceil,Zt=he.floor,en=ve.getOwnPropertySymbols,tn=je?je.isBuffer:void 0,nn=t.isFinite,rn=be.join,on=Ut(ve.keys,ve),an=he.max,ln=he.min,cn=o.now,un=t.parseInt,sn=he.random,fn=be.reverse,pn=ei(t,"DataView"),dn=ei(t,"Map"),hn=ei(t,"Promise"),vn=ei(t,"Set"),gn=ei(t,"WeakMap"),mn=ei(ve,"create"),yn=gn&&new gn,bn={},_n=Ti(pn),wn=Ti(dn),xn=Ti(hn),Sn=Ti(vn),kn=Ti(gn),On=Me?Me.prototype:void 0,En=On?On.valueOf:void 0,Tn=On?On.toString:void 0;function Cn(e){if(Va(e)&&!Ra(e)&&!(e instanceof zn)){if(e instanceof jn)return e;if(ke.call(e,"__wrapped__"))return Ci(e)}return new jn(e)}var Pn=function(){function e(){}return function(t){if(!Ba(t))return{};if(Ke)return Ke(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function In(){}function jn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}function zn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Rn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function Yn(e,t,n,r,o,i){var a,l=1&t,u=2&t,p=4&t;if(n&&(a=o?n(e,r,o,i):n(e)),void 0!==a)return a;if(!Ba(e))return e;var x=Ra(e);if(x){if(a=function(e){var t=e.length,n=new e.constructor(t);t&&"string"==typeof e[0]&&ke.call(e,"index")&&(n.index=e.index,n.input=e.input);return n}(e),!l)return yo(e,a)}else{var R=ri(e),M=R==d||R==h;if(La(e))return fo(e,l);if(R==m||R==c||M&&!o){if(a=u||M?{}:ii(e),!l)return u?function(e,t){return bo(e,ni(e),t)}(e,function(e,t){return e&&bo(t,wl(t),e)}(a,e)):function(e,t){return bo(e,ti(e),t)}(e,Kn(a,e))}else{if(!Ue[R])return o?e:{};a=function(e,t,n){var r=e.constructor;switch(t){case S:return po(e);case s:case f:return new r(+e);case k:return function(e,t){var n=t?po(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case O:case E:case T:case C:case P:case I:case"[object Uint8ClampedArray]":case j:case z:return ho(e,n);case v:return new r;case g:case _:return new r(e);case y:return function(e){var t=new e.constructor(e.source,re.exec(e));return t.lastIndex=e.lastIndex,t}(e);case b:return new r;case w:return o=e,En?ve(En.call(o)):{}}var o}(e,R,l)}}i||(i=new Ln);var N=i.get(e);if(N)return N;i.set(e,a),Qa(e)?e.forEach((function(r){a.add(Yn(r,t,n,r,e,i))})):Ga(e)&&e.forEach((function(r,o){a.set(o,Yn(r,t,n,o,e,i))}));var A=x?void 0:(p?u?qo:Ko:u?wl:_l)(e);return lt(A||e,(function(r,o){A&&(r=e[o=r]),Bn(a,o,Yn(r,t,n,o,e,i))})),a}function Xn(e,t,n){var r=n.length;if(null==e)return!r;for(e=ve(e);r--;){var o=n[r],i=t[o],a=e[o];if(void 0===a&&!(o in e)||!i(a))return!1}return!0}function Jn(e,t,n){if("function"!=typeof e)throw new ye(i);return _i((function(){e.apply(void 0,n)}),t)}function Zn(e,t,n,r){var o=-1,i=ft,a=!0,l=e.length,c=[],u=t.length;if(!l)return c;n&&(t=dt(t,It(n))),r?(i=pt,a=!1):t.length>=200&&(i=zt,a=!1,t=new An(t));e:for(;++o-1},Mn.prototype.set=function(e,t){var n=this.__data__,r=Vn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Nn.prototype.clear=function(){this.size=0,this.__data__={hash:new Rn,map:new(dn||Mn),string:new Rn}},Nn.prototype.delete=function(e){var t=Jo(this,e).delete(e);return this.size-=t?1:0,t},Nn.prototype.get=function(e){return Jo(this,e).get(e)},Nn.prototype.has=function(e){return Jo(this,e).has(e)},Nn.prototype.set=function(e,t){var n=Jo(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},An.prototype.add=An.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},An.prototype.has=function(e){return this.__data__.has(e)},Ln.prototype.clear=function(){this.__data__=new Mn,this.size=0},Ln.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Ln.prototype.get=function(e){return this.__data__.get(e)},Ln.prototype.has=function(e){return this.__data__.has(e)},Ln.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Mn){var r=n.__data__;if(!dn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Nn(r)}return n.set(e,t),this.size=n.size,this};var er=xo(cr),tr=xo(ur,!0);function nr(e,t){var n=!0;return er(e,(function(e,r,o){return n=!!t(e,r,o)})),n}function rr(e,t,n){for(var r=-1,o=e.length;++r0&&n(l)?t>1?ir(l,t-1,n,r,o):ht(o,l):r||(o[o.length]=l)}return o}var ar=So(),lr=So(!0);function cr(e,t){return e&&ar(e,t,_l)}function ur(e,t){return e&&lr(e,t,_l)}function sr(e,t){return st(t,(function(t){return Ha(e[t])}))}function fr(e,t){for(var n=0,r=(t=lo(t,e)).length;null!=e&&nt}function vr(e,t){return null!=e&&ke.call(e,t)}function gr(e,t){return null!=e&&t in ve(e)}function mr(e,t,n){for(var o=n?pt:ft,i=e[0].length,a=e.length,l=a,c=r(a),u=1/0,s=[];l--;){var f=e[l];l&&t&&(f=dt(f,It(t))),u=ln(f.length,u),c[l]=!n&&(t||i>=120&&f.length>=120)?new An(l&&f):void 0}f=e[0];var p=-1,d=c[0];e:for(;++p=l)return c;var u=n[r];return c*("desc"==u?-1:1)}}return e.index-t.index}(e,t,n)}))}function Rr(e,t,n){for(var r=-1,o=t.length,i={};++r-1;)l!==e&&Qe.call(l,c,1),Qe.call(e,c,1);return e}function Nr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var o=t[n];if(n==r||o!==i){var i=o;li(o)?Qe.call(e,o,1):Zr(e,o)}}return e}function Ar(e,t){return e+Zt(sn()*(t-e+1))}function Lr(e,t){var n="";if(!e||t<1||t>9007199254740991)return n;do{t%2&&(n+=e),(t=Zt(t/2))&&(e+=e)}while(t);return n}function Fr(e,t){return wi(vi(e,t,Kl),e+"")}function Dr(e){return Dn(Pl(e))}function Hr(e,t){var n=Pl(e);return ki(n,Qn(t,0,n.length))}function Ur(e,t,n,r){if(!Ba(e))return e;for(var o=-1,i=(t=lo(t,e)).length,a=i-1,l=e;null!=l&&++oi?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=r(i);++o>>1,a=e[i];null!==a&&!Xa(a)&&(n?a<=t:a=200){var u=t?null:Fo(e);if(u)return Bt(u);a=!1,o=zt,c=new An}else c=t?[]:l;e:for(;++r=r?e:Gr(e,t,n)}var so=Qt||function(e){return qe.clearTimeout(e)};function fo(e,t){if(t)return e.slice();var n=e.length,r=We?We(n):new e.constructor(n);return e.copy(r),r}function po(e){var t=new e.constructor(e.byteLength);return new Ae(t).set(new Ae(e)),t}function ho(e,t){var n=t?po(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function vo(e,t){if(e!==t){var n=void 0!==e,r=null===e,o=e==e,i=Xa(e),a=void 0!==t,l=null===t,c=t==t,u=Xa(t);if(!l&&!u&&!i&&e>t||i&&a&&c&&!l&&!u||r&&a&&c||!n&&c||!o)return 1;if(!r&&!i&&!u&&e1?n[o-1]:void 0,a=o>2?n[2]:void 0;for(i=e.length>3&&"function"==typeof i?(o--,i):void 0,a&&ci(n[0],n[1],a)&&(i=o<3?void 0:i,o=1),t=ve(t);++r-1?o[i?t[a]:a]:void 0}}function Co(e){return Go((function(t){var n=t.length,r=n,o=jn.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if("function"!=typeof a)throw new ye(i);if(o&&!l&&"wrapper"==Qo(a))var l=new jn([],!0)}for(r=l?r:n;++r1&&b.reverse(),f&&ul))return!1;var u=i.get(e),s=i.get(t);if(u&&s)return u==t&&s==e;var f=-1,p=!0,d=2&n?new An:void 0;for(i.set(e,t),i.set(t,e);++f-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(X,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return lt(l,(function(n){var r="_."+n[0];t&n[1]&&!ft(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(J);return t?t[1].split(Z):[]}(r),n)))}function Si(e){var t=0,n=0;return function(){var r=cn(),o=16-(r-n);if(n=r,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function ki(e,t){var n=-1,r=e.length,o=r-1;for(t=void 0===t?r:t;++n1?e[t-1]:void 0;return n="function"==typeof n?(e.pop(),n):void 0,$i(e,n)}));function ta(e){var t=Cn(e);return t.__chain__=!0,t}function na(e,t){return t(e)}var ra=Go((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,o=function(t){return $n(t,e)};return!(t>1||this.__actions__.length)&&r instanceof zn&&li(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:na,args:[o],thisArg:void 0}),new jn(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(void 0),e}))):this.thru(o)}));var oa=_o((function(e,t,n){ke.call(e,n)?++e[n]:qn(e,n,1)}));var ia=To(zi),aa=To(Ri);function la(e,t){return(Ra(e)?lt:er)(e,Xo(t,3))}function ca(e,t){return(Ra(e)?ct:tr)(e,Xo(t,3))}var ua=_o((function(e,t,n){ke.call(e,n)?e[n].push(t):qn(e,n,[t])}));var sa=Fr((function(e,t,n){var o=-1,i="function"==typeof t,a=Na(e)?r(e.length):[];return er(e,(function(e){a[++o]=i?it(t,e,n):yr(e,t,n)})),a})),fa=_o((function(e,t,n){qn(e,n,t)}));function pa(e,t){return(Ra(e)?dt:Tr)(e,Xo(t,3))}var da=_o((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]}));var ha=Fr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&ci(e,t[0],t[1])?t=[]:n>2&&ci(t[0],t[1],t[2])&&(t=[t[0]]),zr(e,ir(t,1),[])})),va=Yt||function(){return qe.Date.now()};function ga(e,t,n){return t=n?void 0:t,Ho(e,128,void 0,void 0,void 0,void 0,t=e&&null==t?e.length:t)}function ma(e,t){var n;if("function"!=typeof t)throw new ye(i);return e=rl(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=void 0),n}}var ya=Fr((function(e,t,n){var r=1;if(n.length){var o=Wt(n,Yo(ya));r|=32}return Ho(e,r,t,n,o)})),ba=Fr((function(e,t,n){var r=3;if(n.length){var o=Wt(n,Yo(ba));r|=32}return Ho(t,r,e,n,o)}));function _a(e,t,n){var r,o,a,l,c,u,s=0,f=!1,p=!1,d=!0;if("function"!=typeof e)throw new ye(i);function h(t){var n=r,i=o;return r=o=void 0,s=t,l=e.apply(i,n)}function v(e){return s=e,c=_i(m,t),f?h(e):l}function g(e){var n=e-u;return void 0===u||n>=t||n<0||p&&e-s>=a}function m(){var e=va();if(g(e))return y(e);c=_i(m,function(e){var n=t-(e-u);return p?ln(n,a-(e-s)):n}(e))}function y(e){return c=void 0,d&&r?h(e):(r=o=void 0,l)}function b(){var e=va(),n=g(e);if(r=arguments,o=this,u=e,n){if(void 0===c)return v(u);if(p)return so(c),c=_i(m,t),h(u)}return void 0===c&&(c=_i(m,t)),l}return t=il(t)||0,Ba(n)&&(f=!!n.leading,a=(p="maxWait"in n)?an(il(n.maxWait)||0,t):a,d="trailing"in n?!!n.trailing:d),b.cancel=function(){void 0!==c&&so(c),s=0,r=u=o=c=void 0},b.flush=function(){return void 0===c?l:y(va())},b}var wa=Fr((function(e,t){return Jn(e,1,t)})),xa=Fr((function(e,t,n){return Jn(e,il(t)||0,n)}));function Sa(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new ye(i);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(Sa.Cache||Nn),n}function ka(e){if("function"!=typeof e)throw new ye(i);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Sa.Cache=Nn;var Oa=co((function(e,t){var n=(t=1==t.length&&Ra(t[0])?dt(t[0],It(Xo())):dt(ir(t,1),It(Xo()))).length;return Fr((function(r){for(var o=-1,i=ln(r.length,n);++o=t})),za=br(function(){return arguments}())?br:function(e){return Va(e)&&ke.call(e,"callee")&&!$e.call(e,"callee")},Ra=r.isArray,Ma=Ze?It(Ze):function(e){return Va(e)&&dr(e)==S};function Na(e){return null!=e&&Wa(e.length)&&!Ha(e)}function Aa(e){return Va(e)&&Na(e)}var La=tn||ic,Fa=et?It(et):function(e){return Va(e)&&dr(e)==f};function Da(e){if(!Va(e))return!1;var t=dr(e);return t==p||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!qa(e)}function Ha(e){if(!Ba(e))return!1;var t=dr(e);return t==d||t==h||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Ua(e){return"number"==typeof e&&e==rl(e)}function Wa(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Ba(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Va(e){return null!=e&&"object"==typeof e}var Ga=tt?It(tt):function(e){return Va(e)&&ri(e)==v};function Ka(e){return"number"==typeof e||Va(e)&&dr(e)==g}function qa(e){if(!Va(e)||dr(e)!=m)return!1;var t=Ge(e);if(null===t)return!0;var n=ke.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Se.call(n)==Ce}var $a=nt?It(nt):function(e){return Va(e)&&dr(e)==y};var Qa=rt?It(rt):function(e){return Va(e)&&ri(e)==b};function Ya(e){return"string"==typeof e||!Ra(e)&&Va(e)&&dr(e)==_}function Xa(e){return"symbol"==typeof e||Va(e)&&dr(e)==w}var Ja=ot?It(ot):function(e){return Va(e)&&Wa(e.length)&&!!He[dr(e)]};var Za=No(Er),el=No((function(e,t){return e<=t}));function tl(e){if(!e)return[];if(Na(e))return Ya(e)?Kt(e):yo(e);if(Je&&e[Je])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Je]());var t=ri(e);return(t==v?Ht:t==b?Bt:Pl)(e)}function nl(e){return e?(e=il(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function rl(e){var t=nl(e),n=t%1;return t==t?n?t-n:t:0}function ol(e){return e?Qn(rl(e),0,4294967295):0}function il(e){if("number"==typeof e)return e;if(Xa(e))return NaN;if(Ba(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Ba(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace($,"");var n=ie.test(e);return n||le.test(e)?Ve(e.slice(2),n?2:8):oe.test(e)?NaN:+e}function al(e){return bo(e,wl(e))}function ll(e){return null==e?"":Xr(e)}var cl=wo((function(e,t){if(pi(t)||Na(t))bo(t,_l(t),e);else for(var n in t)ke.call(t,n)&&Bn(e,n,t[n])})),ul=wo((function(e,t){bo(t,wl(t),e)})),sl=wo((function(e,t,n,r){bo(t,wl(t),e,r)})),fl=wo((function(e,t,n,r){bo(t,_l(t),e,r)})),pl=Go($n);var dl=Fr((function(e,t){e=ve(e);var n=-1,r=t.length,o=r>2?t[2]:void 0;for(o&&ci(t[0],t[1],o)&&(r=1);++n1),t})),bo(e,qo(e),n),r&&(n=Yn(n,7,Bo));for(var o=t.length;o--;)Zr(n,t[o]);return n}));var Ol=Go((function(e,t){return null==e?{}:function(e,t){return Rr(e,t,(function(t,n){return gl(e,n)}))}(e,t)}));function El(e,t){if(null==e)return{};var n=dt(qo(e),(function(e){return[e]}));return t=Xo(t),Rr(e,n,(function(e,n){return t(e,n[0])}))}var Tl=Do(_l),Cl=Do(wl);function Pl(e){return null==e?[]:jt(e,_l(e))}var Il=Oo((function(e,t,n){return t=t.toLowerCase(),e+(n?jl(t):t)}));function jl(e){return Dl(ll(e).toLowerCase())}function zl(e){return(e=ll(e))&&e.replace(ue,At).replace(Re,"")}var Rl=Oo((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Ml=Oo((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Nl=ko("toLowerCase");var Al=Oo((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}));var Ll=Oo((function(e,t,n){return e+(n?" ":"")+Dl(t)}));var Fl=Oo((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Dl=ko("toUpperCase");function Hl(e,t,n){return e=ll(e),void 0===(t=n?void 0:t)?function(e){return Le.test(e)}(e)?function(e){return e.match(Ne)||[]}(e):function(e){return e.match(ee)||[]}(e):e.match(t)||[]}var Ul=Fr((function(e,t){try{return it(e,void 0,t)}catch(e){return Da(e)?e:new pe(e)}})),Wl=Go((function(e,t){return lt(t,(function(t){t=Ei(t),qn(e,t,ya(e[t],e))})),e}));function Bl(e){return function(){return e}}var Vl=Co(),Gl=Co(!0);function Kl(e){return e}function ql(e){return Sr("function"==typeof e?e:Yn(e,1))}var $l=Fr((function(e,t){return function(n){return yr(n,e,t)}})),Ql=Fr((function(e,t){return function(n){return yr(e,n,t)}}));function Yl(e,t,n){var r=_l(t),o=sr(t,r);null!=n||Ba(t)&&(o.length||!r.length)||(n=t,t=e,e=this,o=sr(t,_l(t)));var i=!(Ba(n)&&"chain"in n&&!n.chain),a=Ha(e);return lt(o,(function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(i||t){var n=e(this.__wrapped__),o=n.__actions__=yo(this.__actions__);return o.push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,ht([this.value()],arguments))})})),e}function Xl(){}var Jl=zo(dt),Zl=zo(ut),ec=zo(mt);function tc(e){return ui(e)?Ot(Ei(e)):function(e){return function(t){return fr(t,e)}}(e)}var nc=Mo(),rc=Mo(!0);function oc(){return[]}function ic(){return!1}var ac=jo((function(e,t){return e+t}),0),lc=Lo("ceil"),cc=jo((function(e,t){return e/t}),1),uc=Lo("floor");var sc,fc=jo((function(e,t){return e*t}),1),pc=Lo("round"),dc=jo((function(e,t){return e-t}),0);return Cn.after=function(e,t){if("function"!=typeof t)throw new ye(i);return e=rl(e),function(){if(--e<1)return t.apply(this,arguments)}},Cn.ary=ga,Cn.assign=cl,Cn.assignIn=ul,Cn.assignInWith=sl,Cn.assignWith=fl,Cn.at=pl,Cn.before=ma,Cn.bind=ya,Cn.bindAll=Wl,Cn.bindKey=ba,Cn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Ra(e)?e:[e]},Cn.chain=ta,Cn.chunk=function(e,t,n){t=(n?ci(e,t,n):void 0===t)?1:an(rl(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var i=0,a=0,l=r(Jt(o/t));io?0:o+n),(r=void 0===r||r>o?o:rl(r))<0&&(r+=o),r=n>r?0:ol(r);n>>0)?(e=ll(e))&&("string"==typeof t||null!=t&&!$a(t))&&!(t=Xr(t))&&Dt(e)?uo(Kt(e),0,n):e.split(t,n):[]},Cn.spread=function(e,t){if("function"!=typeof e)throw new ye(i);return t=null==t?0:an(rl(t),0),Fr((function(n){var r=n[t],o=uo(n,0,t);return r&&ht(o,r),it(e,this,o)}))},Cn.tail=function(e){var t=null==e?0:e.length;return t?Gr(e,1,t):[]},Cn.take=function(e,t,n){return e&&e.length?Gr(e,0,(t=n||void 0===t?1:rl(t))<0?0:t):[]},Cn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?Gr(e,(t=r-(t=n||void 0===t?1:rl(t)))<0?0:t,r):[]},Cn.takeRightWhile=function(e,t){return e&&e.length?to(e,Xo(t,3),!1,!0):[]},Cn.takeWhile=function(e,t){return e&&e.length?to(e,Xo(t,3)):[]},Cn.tap=function(e,t){return t(e),e},Cn.throttle=function(e,t,n){var r=!0,o=!0;if("function"!=typeof e)throw new ye(i);return Ba(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),_a(e,t,{leading:r,maxWait:t,trailing:o})},Cn.thru=na,Cn.toArray=tl,Cn.toPairs=Tl,Cn.toPairsIn=Cl,Cn.toPath=function(e){return Ra(e)?dt(e,Ei):Xa(e)?[e]:yo(Oi(ll(e)))},Cn.toPlainObject=al,Cn.transform=function(e,t,n){var r=Ra(e),o=r||La(e)||Ja(e);if(t=Xo(t,4),null==n){var i=e&&e.constructor;n=o?r?new i:[]:Ba(e)&&Ha(i)?Pn(Ge(e)):{}}return(o?lt:cr)(e,(function(e,r,o){return t(n,e,r,o)})),n},Cn.unary=function(e){return ga(e,1)},Cn.union=Vi,Cn.unionBy=Gi,Cn.unionWith=Ki,Cn.uniq=function(e){return e&&e.length?Jr(e):[]},Cn.uniqBy=function(e,t){return e&&e.length?Jr(e,Xo(t,2)):[]},Cn.uniqWith=function(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Jr(e,void 0,t):[]},Cn.unset=function(e,t){return null==e||Zr(e,t)},Cn.unzip=qi,Cn.unzipWith=$i,Cn.update=function(e,t,n){return null==e?e:eo(e,t,ao(n))},Cn.updateWith=function(e,t,n,r){return r="function"==typeof r?r:void 0,null==e?e:eo(e,t,ao(n),r)},Cn.values=Pl,Cn.valuesIn=function(e){return null==e?[]:jt(e,wl(e))},Cn.without=Qi,Cn.words=Hl,Cn.wrap=function(e,t){return Ea(ao(t),e)},Cn.xor=Yi,Cn.xorBy=Xi,Cn.xorWith=Ji,Cn.zip=Zi,Cn.zipObject=function(e,t){return oo(e||[],t||[],Bn)},Cn.zipObjectDeep=function(e,t){return oo(e||[],t||[],Ur)},Cn.zipWith=ea,Cn.entries=Tl,Cn.entriesIn=Cl,Cn.extend=ul,Cn.extendWith=sl,Yl(Cn,Cn),Cn.add=ac,Cn.attempt=Ul,Cn.camelCase=Il,Cn.capitalize=jl,Cn.ceil=lc,Cn.clamp=function(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=il(n))==n?n:0),void 0!==t&&(t=(t=il(t))==t?t:0),Qn(il(e),t,n)},Cn.clone=function(e){return Yn(e,4)},Cn.cloneDeep=function(e){return Yn(e,5)},Cn.cloneDeepWith=function(e,t){return Yn(e,5,t="function"==typeof t?t:void 0)},Cn.cloneWith=function(e,t){return Yn(e,4,t="function"==typeof t?t:void 0)},Cn.conformsTo=function(e,t){return null==t||Xn(e,t,_l(t))},Cn.deburr=zl,Cn.defaultTo=function(e,t){return null==e||e!=e?t:e},Cn.divide=cc,Cn.endsWith=function(e,t,n){e=ll(e),t=Xr(t);var r=e.length,o=n=void 0===n?r:Qn(rl(n),0,r);return(n-=t.length)>=0&&e.slice(n,o)==t},Cn.eq=Pa,Cn.escape=function(e){return(e=ll(e))&&D.test(e)?e.replace(L,Lt):e},Cn.escapeRegExp=function(e){return(e=ll(e))&&q.test(e)?e.replace(K,"\\$&"):e},Cn.every=function(e,t,n){var r=Ra(e)?ut:nr;return n&&ci(e,t,n)&&(t=void 0),r(e,Xo(t,3))},Cn.find=ia,Cn.findIndex=zi,Cn.findKey=function(e,t){return bt(e,Xo(t,3),cr)},Cn.findLast=aa,Cn.findLastIndex=Ri,Cn.findLastKey=function(e,t){return bt(e,Xo(t,3),ur)},Cn.floor=uc,Cn.forEach=la,Cn.forEachRight=ca,Cn.forIn=function(e,t){return null==e?e:ar(e,Xo(t,3),wl)},Cn.forInRight=function(e,t){return null==e?e:lr(e,Xo(t,3),wl)},Cn.forOwn=function(e,t){return e&&cr(e,Xo(t,3))},Cn.forOwnRight=function(e,t){return e&&ur(e,Xo(t,3))},Cn.get=vl,Cn.gt=Ia,Cn.gte=ja,Cn.has=function(e,t){return null!=e&&oi(e,t,vr)},Cn.hasIn=gl,Cn.head=Ni,Cn.identity=Kl,Cn.includes=function(e,t,n,r){e=Na(e)?e:Pl(e),n=n&&!r?rl(n):0;var o=e.length;return n<0&&(n=an(o+n,0)),Ya(e)?n<=o&&e.indexOf(t,n)>-1:!!o&&wt(e,t,n)>-1},Cn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=null==n?0:rl(n);return o<0&&(o=an(r+o,0)),wt(e,t,o)},Cn.inRange=function(e,t,n){return t=nl(t),void 0===n?(n=t,t=0):n=nl(n),function(e,t,n){return e>=ln(t,n)&&e=-9007199254740991&&e<=9007199254740991},Cn.isSet=Qa,Cn.isString=Ya,Cn.isSymbol=Xa,Cn.isTypedArray=Ja,Cn.isUndefined=function(e){return void 0===e},Cn.isWeakMap=function(e){return Va(e)&&ri(e)==x},Cn.isWeakSet=function(e){return Va(e)&&"[object WeakSet]"==dr(e)},Cn.join=function(e,t){return null==e?"":rn.call(e,t)},Cn.kebabCase=Rl,Cn.last=Di,Cn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r;return void 0!==n&&(o=(o=rl(n))<0?an(r+o,0):ln(o,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,o):_t(e,St,o,!0)},Cn.lowerCase=Ml,Cn.lowerFirst=Nl,Cn.lt=Za,Cn.lte=el,Cn.max=function(e){return e&&e.length?rr(e,Kl,hr):void 0},Cn.maxBy=function(e,t){return e&&e.length?rr(e,Xo(t,2),hr):void 0},Cn.mean=function(e){return kt(e,Kl)},Cn.meanBy=function(e,t){return kt(e,Xo(t,2))},Cn.min=function(e){return e&&e.length?rr(e,Kl,Er):void 0},Cn.minBy=function(e,t){return e&&e.length?rr(e,Xo(t,2),Er):void 0},Cn.stubArray=oc,Cn.stubFalse=ic,Cn.stubObject=function(){return{}},Cn.stubString=function(){return""},Cn.stubTrue=function(){return!0},Cn.multiply=fc,Cn.nth=function(e,t){return e&&e.length?jr(e,rl(t)):void 0},Cn.noConflict=function(){return qe._===this&&(qe._=Pe),this},Cn.noop=Xl,Cn.now=va,Cn.pad=function(e,t,n){e=ll(e);var r=(t=rl(t))?Gt(e):0;if(!t||r>=t)return e;var o=(t-r)/2;return Ro(Zt(o),n)+e+Ro(Jt(o),n)},Cn.padEnd=function(e,t,n){e=ll(e);var r=(t=rl(t))?Gt(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var o=sn();return ln(e+o*(t-e+Be("1e-"+((o+"").length-1))),t)}return Ar(e,t)},Cn.reduce=function(e,t,n){var r=Ra(e)?vt:Tt,o=arguments.length<3;return r(e,Xo(t,4),n,o,er)},Cn.reduceRight=function(e,t,n){var r=Ra(e)?gt:Tt,o=arguments.length<3;return r(e,Xo(t,4),n,o,tr)},Cn.repeat=function(e,t,n){return t=(n?ci(e,t,n):void 0===t)?1:rl(t),Lr(ll(e),t)},Cn.replace=function(){var e=arguments,t=ll(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Cn.result=function(e,t,n){var r=-1,o=(t=lo(t,e)).length;for(o||(o=1,e=void 0);++r9007199254740991)return[];var n=4294967295,r=ln(e,4294967295);e-=4294967295;for(var o=Pt(r,t=Xo(t));++n=i)return e;var l=n-Gt(r);if(l<1)return r;var c=a?uo(a,0,l).join(""):e.slice(0,l);if(void 0===o)return c+r;if(a&&(l+=c.length-l),$a(o)){if(e.slice(l).search(o)){var u,s=c;for(o.global||(o=ge(o.source,ll(re.exec(o))+"g")),o.lastIndex=0;u=o.exec(s);)var f=u.index;c=c.slice(0,void 0===f?l:f)}}else if(e.indexOf(Xr(o),l)!=l){var p=c.lastIndexOf(o);p>-1&&(c=c.slice(0,p))}return c+r},Cn.unescape=function(e){return(e=ll(e))&&F.test(e)?e.replace(A,qt):e},Cn.uniqueId=function(e){var t=++Oe;return ll(e)+t},Cn.upperCase=Fl,Cn.upperFirst=Dl,Cn.each=la,Cn.eachRight=ca,Cn.first=Ni,Yl(Cn,(sc={},cr(Cn,(function(e,t){ke.call(Cn.prototype,t)||(sc[t]=e)})),sc),{chain:!1}),Cn.VERSION="4.17.19",lt(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Cn[e].placeholder=Cn})),lt(["drop","take"],(function(e,t){zn.prototype[e]=function(n){n=void 0===n?1:an(rl(n),0);var r=this.__filtered__&&!t?new zn(this):this.clone();return r.__filtered__?r.__takeCount__=ln(n,r.__takeCount__):r.__views__.push({size:ln(n,4294967295),type:e+(r.__dir__<0?"Right":"")}),r},zn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),lt(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;zn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Xo(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),lt(["head","last"],(function(e,t){var n="take"+(t?"Right":"");zn.prototype[e]=function(){return this[n](1).value()[0]}})),lt(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");zn.prototype[e]=function(){return this.__filtered__?new zn(this):this[n](1)}})),zn.prototype.compact=function(){return this.filter(Kl)},zn.prototype.find=function(e){return this.filter(e).head()},zn.prototype.findLast=function(e){return this.reverse().find(e)},zn.prototype.invokeMap=Fr((function(e,t){return"function"==typeof e?new zn(this):this.map((function(n){return yr(n,e,t)}))})),zn.prototype.reject=function(e){return this.filter(ka(Xo(e)))},zn.prototype.slice=function(e,t){e=rl(e);var n=this;return n.__filtered__&&(e>0||t<0)?new zn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),void 0!==t&&(n=(t=rl(t))<0?n.dropRight(-t):n.take(t-e)),n)},zn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},zn.prototype.toArray=function(){return this.take(4294967295)},cr(zn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),o=Cn[r?"take"+("last"==t?"Right":""):t],i=r||/^find/.test(t);o&&(Cn.prototype[t]=function(){var t=this.__wrapped__,a=r?[1]:arguments,l=t instanceof zn,c=a[0],u=l||Ra(t),s=function(e){var t=o.apply(Cn,ht([e],a));return r&&f?t[0]:t};u&&n&&"function"==typeof c&&1!=c.length&&(l=u=!1);var f=this.__chain__,p=!!this.__actions__.length,d=i&&!f,h=l&&!p;if(!i&&u){t=h?t:new zn(this);var v=e.apply(t,a);return v.__actions__.push({func:na,args:[s],thisArg:void 0}),new jn(v,f)}return d&&h?e.apply(this,a):(v=this.thru(s),d?r?v.value()[0]:v.value():v)})})),lt(["pop","push","shift","sort","splice","unshift"],(function(e){var t=be[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);Cn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var o=this.value();return t.apply(Ra(o)?o:[],e)}return this[n]((function(n){return t.apply(Ra(n)?n:[],e)}))}})),cr(zn.prototype,(function(e,t){var n=Cn[t];if(n){var r=n.name+"";ke.call(bn,r)||(bn[r]=[]),bn[r].push({name:t,func:n})}})),bn[Po(void 0,2).name]=[{name:"wrapper",func:void 0}],zn.prototype.clone=function(){var e=new zn(this.__wrapped__);return e.__actions__=yo(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=yo(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=yo(this.__views__),e},zn.prototype.reverse=function(){if(this.__filtered__){var e=new zn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},zn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Ra(e),r=t<0,o=n?e.length:0,i=function(e,t,n){var r=-1,o=n.length;for(;++r=this.__values__.length;return{done:e,value:e?void 0:this.__values__[this.__index__++]}},Cn.prototype.plant=function(e){for(var t,n=this;n instanceof In;){var r=Ci(n);r.__index__=0,r.__values__=void 0,t?o.__wrapped__=r:t=r;var o=r;n=n.__wrapped__}return o.__wrapped__=e,t},Cn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof zn){var t=e;return this.__actions__.length&&(t=new zn(this)),(t=t.reverse()).__actions__.push({func:na,args:[Bi],thisArg:void 0}),new jn(t,this.__chain__)}return this.thru(Bi)},Cn.prototype.toJSON=Cn.prototype.valueOf=Cn.prototype.value=function(){return no(this.__wrapped__,this.__actions__)},Cn.prototype.first=Cn.prototype.head,Je&&(Cn.prototype[Je]=function(){return this}),Cn}();qe._=$t,void 0===(o=function(){return $t}.call(t,n,t,r))||(r.exports=o)}).call(this)}).call(this,n(108),n(243)(e))},function(e,t,n){var r=n(26),o=n(335);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var i={insert:"head",singleton:!1};r(o,i);e.exports=o.locals||{}},function(e,t,n){var r=n(26),o=n(376);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var i={insert:"head",singleton:!1};r(o,i);e.exports=o.locals||{}},function(e,t,n){var r=n(173),o=n(132);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var r=n(31);e.exports=function(e,t){return!!e&&r((function(){t?e.call(null,(function(){}),1):e.call(null)}))}},function(e,t,n){"use strict";var r=n(27),o=n(54),i=n(53),a=n(113),l=n(138),c=n(139),u=Math.max,s=Math.min,f=Math.floor,p=/\$([$&`']|\d\d?|<[^>]*>)/g,d=/\$([$&`']|\d\d?)/g;n(140)("replace",2,(function(e,t,n,h){return[function(r,o){var i=e(this),a=null==r?void 0:r[t];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},function(e,t){var o=h(n,e,this,t);if(o.done)return o.value;var f=r(e),p=String(this),d="function"==typeof t;d||(t=String(t));var g=f.global;if(g){var m=f.unicode;f.lastIndex=0}for(var y=[];;){var b=c(f,p);if(null===b)break;if(y.push(b),!g)break;""===String(b[0])&&(f.lastIndex=l(p,i(f.lastIndex),m))}for(var _,w="",x=0,S=0;S=x&&(w+=p.slice(x,O)+I,x=O+k.length)}return w+p.slice(x)}];function v(e,t,r,i,a,l){var c=r+e.length,u=i.length,s=d;return void 0!==a&&(a=o(a),s=p),n.call(l,s,(function(n,o){var l;switch(o.charAt(0)){case"$":return"$";case"&":return e;case"`":return t.slice(0,r);case"'":return t.slice(c);case"<":l=a[o.slice(1,-1)];break;default:var s=+o;if(0===s)return n;if(s>u){var p=f(s/10);return 0===p?n:p<=u?void 0===i[p-1]?o.charAt(1):i[p-1]+o.charAt(1):n}l=i[s-1]}return void 0===l?"":l}))}}))},function(e,t,n){var r=n(63),o=n(121);e.exports=n(57)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(202),o=n(148);e.exports=function(e){return r(o(e))}},function(e,t,n){(function(t){function n(e){try{if(!t.localStorage)return!1}catch(e){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(e,t){if(n("noDeprecation"))return e;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}}}).call(this,n(108))},function(e,t,n){var r=n(10);r(r.S+r.F*!n(30),"Object",{defineProperties:n(172)})},function(e,t){var n=e.exports={version:"2.6.11"};"number"==typeof __e&&(__e=n)},function(e,t,n){var r=n(81);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,n){var r=n(10),o=n(249),i=n(60),a=n(94),l=n(174);r(r.S,"Object",{getOwnPropertyDescriptors:function(e){for(var t,n,r=i(e),c=a.f,u=o(r),s={},f=0;u.length>f;)void 0!==(n=c(r,t=u[f++]))&&l(s,t,n);return s}})},function(e,t,n){var r=n(27),o=n(172),i=n(132),a=n(131)("IE_PROTO"),l=function(){},c=function(){var e,t=n(171)("iframe"),r=i.length;for(t.style.display="none",n(251).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("
+