diff --git a/firebase-dataconnect/README.md b/firebase-dataconnect/README.md index 168d9dbdded..130b31ea113 100644 --- a/firebase-dataconnect/README.md +++ b/firebase-dataconnect/README.md @@ -13,7 +13,7 @@ To build Firebase Data Connect, from the source root run: ./gradlew :firebase-dataconnect:assembleRelease ``` -## Unit Testing +## Unit testing To run unit tests for Firebase Data Connect, from the source root run: @@ -21,7 +21,7 @@ To run unit tests for Firebase Data Connect, from the source root run: ./gradlew :firebase-dataconnect:check ``` -## Integration Testing +## Integration testing Running integration tests requires a Firebase project because they connect to the Firebase Data Connect backend. @@ -34,10 +34,10 @@ Make sure you have created a Firebase Data Connect instance for your project, be By default, integration tests run against the Firebase Data Connect emulator. -### Setting up the Firebase Data Connect Emulator +### Setting up the Firebase Data Connect emulator The integration tests require that the Firebase Data Connect emulator is running on port 9399, which -is default when running it via the Data Connect Toolkit. +is default when running it via the Firebase CLI. - [Install the Firebase CLI](https://firebase.google.com/docs/cli/). ``` @@ -57,7 +57,7 @@ is default when running it via the Data Connect Toolkit. To run the integration tests against prod, select `DataConnectProdIntegrationTest` run configuration. -### Run on Local Android Emulator +### Run on local Android emulator Then run: @@ -79,7 +79,7 @@ Run: ./gradlew :firebase-dataconnect:deviceCheck ``` -## Code Formatting +## Code formatting Run below to format Kotlin and Java code: @@ -90,7 +90,7 @@ Run below to format Kotlin and Java code: See [here](../README.md#code-formatting) if you want to be able to format code from within Android Studio. -## Build Local Jar of Firebase Data Connect SDK +## Build local jar of Firebase Data Connect SDK ```bash ./gradlew -PprojectsToPublish="firebase-dataconnect" publishReleasingLibrariesToMavenLocal diff --git a/firebase-dataconnect/androidTestutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/DataConnectBackend.kt b/firebase-dataconnect/androidTestutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/DataConnectBackend.kt index a62e1c6008f..de88203fe05 100644 --- a/firebase-dataconnect/androidTestutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/DataConnectBackend.kt +++ b/firebase-dataconnect/androidTestutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/DataConnectBackend.kt @@ -81,11 +81,11 @@ import java.net.URL * - https://screenshot.googleplex.com/AmNdgDkWmR4gQXr * - https://screenshot.googleplex.com/8Aq5YKUXCLUAjKr * - * When using "autopush" or "staging", the `firebase-tools` cli must be told about the URL of the - * Data Connect server to which to deploy using the `FIREBASE_DATACONNECT_URL` environment variable. - * This only matters if running a command line `firebase deploy --only dataconnect` or other - * `firebase` commands that talk to a Data Connect backend. See the documentation of [Staging] and - * [Autopush] for details. + * When using "autopush" or "staging", the Firebase CLI must be told about the URL of the Data + * Connect server to which to deploy using the `FIREBASE_DATACONNECT_URL` environment variable. This + * only matters if running a command line `firebase deploy --only dataconnect` or other `firebase` + * commands that talk to a Data Connect backend. See the documentation of [Staging] and [Autopush] + * for details. */ sealed interface DataConnectBackend { diff --git a/firebase-dataconnect/demo/build.gradle.kts b/firebase-dataconnect/demo/build.gradle.kts index 6ea3cea50fc..21cb96bd496 100644 --- a/firebase-dataconnect/demo/build.gradle.kts +++ b/firebase-dataconnect/demo/build.gradle.kts @@ -67,7 +67,7 @@ dokka { // The remaining code in this file can be omitted from customer facing // documentation. It's here just to make things compile and/or configure -// optional components of the build (e.g. spotless code formatting). +// optional components of the build (for example, spotless code formatting). android { namespace = "com.google.firebase.dataconnect.minimaldemo" diff --git a/firebase-dataconnect/emulator/README.md b/firebase-dataconnect/emulator/README.md index 9003fc04d16..d6166c1dd70 100644 --- a/firebase-dataconnect/emulator/README.md +++ b/firebase-dataconnect/emulator/README.md @@ -17,7 +17,7 @@ Here is a summary of the detailed steps from below: 5. Start the Postgresql container: `./start_postgres_pod.sh` 6. Start the emulator: `./cli -alsologtostderr=1 -stderrthreshold=0 dev` -## Step 1: Compile Firebase Data Connect Emulator +## Step 1: Compile Firebase Data Connect emulator Compile the Firebase Data Connect Emulator in google3 using `blaze`. The build must be done in a gLinux workstation or go/cloudtop instance; namely, building on a macOS host is not supported, even @@ -65,7 +65,7 @@ If successful, the emulator binary will be located at blaze-bin/third_party/firebase/dataconnect/emulator/cli/cli_macos ``` -#### Copy Emulator Binary to Target Machine +#### Copy emulator binary to target machine If the machine used to build the emulator binary is the same as the target machine, then you are done. Otherwise, you need to copy the binary to the target machine. There are two easy ways to do @@ -105,7 +105,7 @@ or chmod a+x cli_macos ``` -#### Precompiled Emulator Binaries +#### Precompiled emulator binaries dconeybe maintains a directory with precompiled emulator binaries: @@ -114,7 +114,7 @@ http://x20/teams/firestore-clients/DataConnectEmulator At the time of writing, these builds incorporate the patch to remove vector support, as mentioned in the "Troubleshooting" section below. -## Step 2: Start Postgresql Server +## Step 2: Start Postgresql server The Firebase Data Connect emulator requires a real Postgresql server to talk to. Installing and configuring a Postgresql server on a given platform is a tedious and non-standard process. Moreover, @@ -151,7 +151,7 @@ To install Podman, run these commands: The "machine" commands create and start the Linux virtual machine, respectively. -#### Launch the Postgresql Containers +#### Launch the Postgresql containers A handy helper script is all that is needed to start the Postgresql server: @@ -168,7 +168,7 @@ the Postgresql server and delete the Postgresql server's database. There is also a Web UI called "pgadmin4" that can be used to visually interact with the database. The URL and login credentials are included in the final lines of output from the script. -#### Launch the Data Connect Emulator +#### Launch the Data Connect emulator With the Postgresql containers running, launch the Data Connect emulator with this command: diff --git a/firebase-dataconnect/emulator/start_postgres_pod.sh b/firebase-dataconnect/emulator/start_postgres_pod.sh index 7fe1194834e..3111a769abd 100755 --- a/firebase-dataconnect/emulator/start_postgres_pod.sh +++ b/firebase-dataconnect/emulator/start_postgres_pod.sh @@ -66,7 +66,7 @@ cat < Unit): Unit = block(emulator) /** - * Values to use when running ktfmt to format the code generated by the Data Connect toolkit, - * which override the values from those defined in the outer scope. + * Values to use when running ktfmt to format the code generated by the Firebase CLI, which + * overrides the values defined in the outer scope. */ val ktfmt: DataConnectKtfmtDslExtension = objectFactory.newInstance() diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/AnyValue.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/AnyValue.kt index ec22fde7ce8..2023695bf7d 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/AnyValue.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/AnyValue.kt @@ -34,15 +34,15 @@ import kotlinx.serialization.serializer /** * Represents a variable or field of the Data Connect custom scalar type `Any`. * - * ### Valid Values for `AnyValue` + * ### Valid values for `AnyValue` * * `AnyValue` can encapsulate [String], [Boolean], [Double], a [List] of one of these types, or a - * [Map] whose values are one of these types. The values can be arbitrarily nested (e.g. a list that - * contains a map that contains other maps, and so on. The lists and maps can contain heterogeneous - * values; for example, a single [List] can contain a [String] value, some [Boolean] values, and - * some [List] values. The values of a [List] or a [Map] may be `null`. The only exception is that a - * variable or field declared as `[Any]` in GraphQL may _not_ have `null` values in the top-level - * list; however, nested lists or maps _may_ contain null values. + * [Map] whose values are one of these types. The values can be arbitrarily nested (for example, a + * list that contains a map that contains other maps, and so on). The lists and maps can contain + * heterogeneous values; for example, a single [List] can contain a [String] value, some [Boolean] + * values, and some [List] values. The values of a [List] or a [Map] may be `null`. The only + * exception is that a variable or field declared as `[Any]` in GraphQL may _not_ have `null` values + * in the top-level list; however, nested lists or maps _may_ contain null values. * * ### Storing `Int` in an `AnyValue` * @@ -51,15 +51,15 @@ import kotlinx.serialization.serializer * ### Storing `Long` in an `AnyValue` * * To store a [Long] value, converting it to a [Double] can be lossy if the value is sufficiently - * large (or small) to not be exactly represented by [Double]. The _largest_ [Long] value that can + * large (or small) to not be exactly representable by [Double]. The _largest_ [Long] value that can * be stored in a [Double] with its exact value is `2^53 – 1` (`9007199254740991`). The _smallest_ * [Long] value that can be stored in a [Double] with its exact value is `-(2^53 – 1)` * (`-9007199254740991`). This limitation is exactly the same in JavaScript, which does not have a * native "int" or "long" type, but rather stores all numeric values in a 64-bit floating point * value. See - * [MAX_SAFE_INTEGER](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER]) + * [MAX_SAFE_INTEGER](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER) * and - * [MIN_SAFE_INTEGER](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER]) + * [MIN_SAFE_INTEGER](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER) * for more details. * * ### Integration with `kotlinx.serialization` @@ -72,6 +72,7 @@ import kotlinx.serialization.serializer * * ``` * type Foo @table { value: Any } + * * mutation FooInsert($value: Any) { * key: foo_insert(data: { value: $value }) * } @@ -102,10 +103,11 @@ public class AnyValue internal constructor(internal val protoValue: Value) { * * An exception is thrown if any of the values of the map, or its sub-values, are invalid for * being stored in [AnyValue]; see the [AnyValue] class documentation for a detailed description - * of value values. + * of valid values. * - * This class makes a _copy_ of the given map; therefore, any modifications to the map after this - * object is created will have no effect on this [AnyValue] object. + * This class makes a _deep copy_ of the given map; therefore, any modifications to the map or its + * constituent lists or maps after this object is created will have no effect on this [AnyValue] + * object. */ public constructor(value: Map) : this(value.toValueProto()) @@ -114,10 +116,11 @@ public class AnyValue internal constructor(internal val protoValue: Value) { * * An exception is thrown if any of the values of the list, or its sub-values, are invalid for * being stored in [AnyValue]; see the [AnyValue] class documentation for a detailed description - * of value values. + * of valid values. * - * This class makes a _copy_ of the given list; therefore, any modifications to the list after - * this object is created will have no effect on this [AnyValue] object. + * This class makes a _deep copy_ of the given list; therefore, any modifications to the list or + * its constituent lists or maps after this object is created will have no effect on this + * [AnyValue] object. */ public constructor(value: List) : this(value.toValueProto()) @@ -133,7 +136,7 @@ public class AnyValue internal constructor(internal val protoValue: Value) { /** * The native Kotlin type of the value encapsulated in this object. * - * Although this type is `Any` it will be one of `String, `Boolean`, `Double`, `List` or + * Although this type is `Any` it will be one of `String`, `Boolean`, `Double`, `List` or * `Map`. See the [AnyValue] class documentation for a detailed description of the * types of values that are supported. */ diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/ConnectorConfig.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/ConnectorConfig.kt index d1fa9f999ab..5bd3afadd02 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/ConnectorConfig.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/ConnectorConfig.kt @@ -22,13 +22,13 @@ import java.util.Objects * Information about a Firebase Data Connect "connector" that is used by [FirebaseDataConnect] to * connect to the correct Google Cloud resources. * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * * All methods and properties of [ConnectorConfig] are thread-safe and may be safely called and/or * accessed concurrently from multiple threads and/or coroutines. * * @property connector The ID of the Firebase Data Connect "connector". - * @property location The location where the connector is located (e.g. `"us-central1"`). + * @property location The location where the connector is located (for example, `"us-central1"`). * @property serviceId The ID of the Firebase Data Connect service. */ public class ConnectorConfig( diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/DataConnectOperationFailureResponse.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/DataConnectOperationFailureResponse.kt index e17fc091e63..2ae5882db4b 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/DataConnectOperationFailureResponse.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/DataConnectOperationFailureResponse.kt @@ -33,15 +33,16 @@ public interface DataConnectOperationFailureResponse { * * [Double] * * [List] containing any of the types in this list of types * * [Map] with [String] keys and values of the types in this list of types - * - * Consider using [toJson] to get a higher-level object. */ + // TODO(b/446167496) Add a link to [toJson] in the kdoc comments above when the toJson extension + // function is implemented. public val rawData: Map? /** * The list of errors provided by the backend in the response message; may be empty. * - * See https://spec.graphql.org/draft/#sec-Errors for details. + * See [https://spec.graphql.org/draft/#sec-Errors](https://spec.graphql.org/draft/#sec-Errors) + * for details. */ public val errors: List @@ -69,7 +70,8 @@ public interface DataConnectOperationFailureResponse { /** * Information about the error, as provided in the response payload from the backend. * - * See https://spec.graphql.org/draft/#sec-Errors for details. + * See [https://spec.graphql.org/draft/#sec-Errors](https://spec.graphql.org/draft/#sec-Errors) + * for details. */ public interface ErrorInfo { /** The error's message. */ diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/DataConnectSettings.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/DataConnectSettings.kt index 2d9f5e1c9eb..ce761fd4e13 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/DataConnectSettings.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/DataConnectSettings.kt @@ -21,12 +21,12 @@ import java.util.Objects /** * Settings that control the behavior of [FirebaseDataConnect] instances. * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * * All methods and properties of [DataConnectSettings] are thread-safe and may be safely called * and/or accessed concurrently from multiple threads and/or coroutines. * - * @property host The host of the Firebase Data Connect service to which to connect (e.g. + * @property host The host of the Firebase Data Connect service to which to connect (for example, * `"myproxy.foo.com"`, `"myproxy.foo.com:9987"`). * @property sslEnabled Whether to use SSL for the connection; if `true`, then the connection will * be encrypted using SSL and, if false, the connection will _not_ be encrypted and all network diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/ExperimentalFirebaseDataConnect.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/ExperimentalFirebaseDataConnect.kt index 4529bee9d0c..295c6e2c50f 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/ExperimentalFirebaseDataConnect.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/ExperimentalFirebaseDataConnect.kt @@ -22,8 +22,9 @@ package com.google.firebase.dataconnect * A declaration annotated with [ExperimentalFirebaseDataConnect] is "experimental": its signature * and/or semantics may change in backwards-incompatible ways at any time without notice, up to and * including complete removal. If you have a use case that relies on such a declaration please open - * a "feature request" issue at https://github.com/firebase/firebase-android-sdk requesting the - * declaration's promotion from "experimental" to "fully-supported". + * a "feature request" issue at + * [https://github.com/firebase/firebase-android-sdk](https://github.com/firebase/firebase-android-sdk) + * requesting the declaration's promotion from "experimental" to "fully-supported". */ @MustBeDocumented @Retention(value = AnnotationRetention.BINARY) diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/FirebaseDataConnect.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/FirebaseDataConnect.kt index 6e344d1efa6..a6534da18cf 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/FirebaseDataConnect.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/FirebaseDataConnect.kt @@ -36,7 +36,7 @@ import kotlinx.serialization.modules.SerializersModule * [https://firebase.google.com/products/data-connect](https://firebase.google.com/products/data-connect) * for full details about the Firebase Data Connect product. * - * ### GraphQL Schema and Operation Definition + * ### GraphQL schema and operation definition * * The database schema and operations to query and mutate the data are authored in GraphQL and * uploaded to the server. Then, the queries and mutations can be executed by name, providing @@ -45,16 +45,16 @@ import kotlinx.serialization.modules.SerializersModule * name and a variable for the person's age. Similarly, a query to retrieve a row from the "person" * table by its ID could be named "GetPersonById" and require a variable for the person's ID. * - * ### Usage with the Generated SDK + * ### Usage with the generated SDK * * [FirebaseDataConnect] is the entry point to the Firebase Data Connect API; however, it is mostly - * intended to be an implementation detail for the code generated by Firebase's tools, which provide - * a type-safe API for running the queries and mutations. The generated classes and functions are - * colloquially referred to as the "generated SDK" and will encapsulate the API defined in this - * package. Applications are generally recommended to use the "generated SDK" rather than using this - * API directly to enjoy the benefits of a type-safe API. + * intended to be an implementation detail for the code generated by the Firebase CLI, which + * provides a type-safe API for running the queries and mutations. The generated classes and + * functions are colloquially referred to as the "generated SDK" and will encapsulate the API + * defined in this package. Applications are generally recommended to use the "generated SDK" rather + * than using this API directly to enjoy the benefits of a type-safe API. * - * ### Obtaining Instances + * ### Obtaining instances * * To obtain an instance of [FirebaseDataConnect] call [FirebaseDataConnect.Companion.getInstance]. * If desired, when done with it, release the resources of the instance by calling @@ -65,7 +65,7 @@ import kotlinx.serialization.modules.SerializersModule * when reporting issues to Google, set [FirebaseDataConnect.Companion.logLevel] to [LogLevel.DEBUG] * . * - * ### Integration with Kotlin Coroutines and Serialization + * ### Integration with Kotlin coroutines and serialization * * The Firebase Data Connect API is designed as a Kotlin-only API, and integrates tightly with * [Kotlin Coroutines](https://developer.android.com/kotlin/coroutines) and @@ -83,12 +83,12 @@ import kotlinx.serialization.modules.SerializersModule * deserializers for classes annotated with `@Serializable`. Of course, applications are free to * write the serializers by hand as well. * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * * All methods and properties of [FirebaseDataConnect] are thread-safe and may be safely called * and/or accessed concurrently from multiple threads and/or coroutines. * - * ### Not Stable for Inheritance + * ### Not stable for inheritance * * The [FirebaseDataConnect] interface is _not_ stable for inheritance in third-party libraries, as * new methods might be added to this interface or contracts of the existing methods can be changed. @@ -127,11 +127,12 @@ public interface FirebaseDataConnect : AutoCloseable { * called after a query or mutation has been executed. Calling this method causes the values in * [DataConnectSettings.host] and [DataConnectSettings.sslEnabled] to be ignored. * - * To start the Data Connect emulator from the command line, first install Firebase Tools as - * documented at https://firebase.google.com/docs/emulator-suite/install_and_configure then run - * `firebase emulators:start --only auth,dataconnect`. Enabling the "auth" emulator is only needed - * if using [com.google.firebase.auth.FirebaseAuth] to authenticate users. You may also need to - * specify `--project ` if the Firebase tools are unable to auto-detect the project ID. + * To start the Data Connect emulator from the command line, first + * [install the Firebase CLI](https://firebase.google.com/docs/emulator-suite/install_and_configure) + * then run `firebase emulators:start --only auth,dataconnect`. Enabling the "auth" emulator is + * only needed if using [com.google.firebase.auth.FirebaseAuth] to authenticate users. You may + * also need to specify `--project ` if the Firebase CLI is unable to auto-detect the + * project ID. * * @param host The host name or IP address of the Data Connect emulator to which to connect. The * default value, 10.0.2.2, is a magic IP address that the Android Emulator aliases to the host @@ -299,7 +300,8 @@ public interface FirebaseDataConnect : AutoCloseable { override fun toString(): String /** - * Indicates where the usages of this object are coming from. + * A tag used for analytics purposes to track the source of usages of the Firebase Data Connect + * product. * * This information is merely used for analytics and has no effects on the product's * functionality. @@ -307,14 +309,11 @@ public interface FirebaseDataConnect : AutoCloseable { public enum class CallerSdkType { /** * The [FirebaseDataConnect] class is used directly in an application, rather than using the - * code generation done by the Firebase Data Connect toolkit. + * code generation done by the Firebase CLI. */ Base, - /** - * The [FirebaseDataConnect] class is used by code generated by the Firebase Data Connect - * toolkit. - */ + /** The [FirebaseDataConnect] class is used by code generated by the Firebase CLI. */ Generated, } @@ -322,7 +321,7 @@ public interface FirebaseDataConnect : AutoCloseable { * The companion object for [FirebaseDataConnect], which provides extension methods and properties * that may be accessed qualified by the class, rather than an instance of the class. * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * * All methods and properties of [Companion] are thread-safe and may be safely called and/or * accessed concurrently from multiple threads and/or coroutines. diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/LocalDate.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/LocalDate.kt index a7c37094ce3..c9fe5205cee 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/LocalDate.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/LocalDate.kt @@ -22,9 +22,8 @@ import java.util.Objects import kotlinx.serialization.Serializable /** - * A date without a time-zone in the ISO-8601 calendar system, such as {@code 2007-12-03}. This is - * the default Kotlin type used to represent a `Date` GraphQL custom scalar in Firebase Data - * Connect. + * A date without a time-zone in the ISO-8601 calendar system, such as `2007-12-03`. This is the + * default Kotlin type used to represent a `Date` GraphQL custom scalar in Firebase Data Connect. * * ### Description (adapted from [java.time.LocalDate]) * @@ -44,10 +43,10 @@ import kotlinx.serialization.Serializable * The [java.time.LocalDate] class was added in Android API 26 and should be used if it's available * instead of this class. If [java.time.LocalDate] is available then [kotlinx.datetime.LocalDate] is * a completely valid option as well, if it's desirable to take a dependency on - * https://github.com/Kotlin/kotlinx-datetime. + * [kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime). * * Alternately, if your application has its `minSdkVersion` set to a value _less than_ 26, you can - * use "desugaring" (https://developer.android.com/studio/write/java8-support-table) to get access + * use ["desugaring"](https://developer.android.com/studio/write/java8-support-table) to get access * [java.time.LocalDate] class regardless of the API version used at runtime. * * ### Using [java.time.LocalDate] and [kotlinx.datetime.LocalDate] in code generation. @@ -66,19 +65,20 @@ import kotlinx.serialization.Serializable * dateClass: java.time.LocalDate # or kotlinx.datetime.LocalDate * ``` * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * - * All methods and properties of [FirebaseDataConnect] are thread-safe and may be safely called - * and/or accessed concurrently from multiple threads and/or coroutines. + * All methods and properties of [LocalDate] are thread-safe and may be safely called and/or + * accessed concurrently from multiple threads and/or coroutines. * * @property year The year. The valid range is between 1583 and 9999, inclusive; however, this is - * _not_ checked or prevented by this class. Values less than 1583 are not forbidden; however, their - * interpretation by the Data Connect backend is unspecified. See - * https://en.wikipedia.org/wiki/ISO_8601#Years for more details. + * _not_ checked or enforced by this class. Values less than 1583 are not strictly forbidden; + * however, their interpretation by the Data Connect backend is unspecified. See + * [https://en.wikipedia.org/wiki/ISO_8601#Years](https://en.wikipedia.org/wiki/ISO_8601#Years) for + * more details. * @property month The month. The valid range is between 1 and 12, inclusive; however, this is _not_ - * checked or prevented by this class. + * checked or enforced by this class. * @property day The day of the month. The valid range is between 1 and 31, inclusive; however, this - * is _not_ checked or prevented by this class. + * is _not_ checked or enforced by this class. */ @Serializable(with = LocalDateSerializer::class) public class LocalDate(public val year: Int, public val month: Int, public val day: Int) { @@ -123,7 +123,7 @@ public class LocalDate(public val year: Int, public val month: Int, public val d * * Be sure to _only_ call this method if [java.time.LocalDate] is available; otherwise the behavior * is undefined. If your application's `minSdkVersion` is greater than or equal to `26`, or if you - * have configured "desugaring" (https://developer.android.com/studio/write/java8-support-table) + * have configured ["desugaring"](https://developer.android.com/studio/write/java8-support-table) * then it is guaranteed to be available. Otherwise, check [android.os.Build.VERSION.SDK_INT] at * runtime and verify that its value is at least [android.os.Build.VERSION_CODES.O] before calling * this method. @@ -157,8 +157,8 @@ public fun java.time.LocalDate.toDataConnectLocalDate(): LocalDate = * * Be sure to _only_ call this method if your application has a dependency on * `org.jetbrains.kotlinx:kotlinx-datetime`; otherwise, the behavior of this method is undefined. If - * your `minSdkVersion` is less than `26` then you _may_ also need to configure "desugaring" - * (https://developer.android.com/studio/write/java8-support-table). + * your `minSdkVersion` is less than `26` then you _may_ also need to configure + * ["desugaring"](https://developer.android.com/studio/write/java8-support-table). * * @see kotlinx.datetime.LocalDate.toDataConnectLocalDate * @see java.time.LocalDate.toDataConnectLocalDate diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/LogLevel.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/LogLevel.kt index 00514af944e..bf795f3ddf2 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/LogLevel.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/LogLevel.kt @@ -35,7 +35,8 @@ public enum class LogLevel { internal companion object { /** - * Returns one of the two given log levels, the one that is "noisier" (i.e. that logs more). + * Returns one of the two given log levels, the one that is "noisier" (that is, the one that + * logs more). * * It can be useful to figure out which of two log levels are noisier on log level change, to * emit a message about the log level change at the noisiest level. diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/MutationRef.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/MutationRef.kt index ad054e021ee..622c844ef0e 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/MutationRef.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/MutationRef.kt @@ -23,12 +23,12 @@ import kotlinx.serialization.modules.SerializersModule /** * A specialization of [OperationRef] for _mutation_ operations. * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * * All methods and properties of [MutationRef] are thread-safe and may be safely called and/or * accessed concurrently from multiple threads and/or coroutines. * - * ### Not Stable for Inheritance + * ### Not stable for inheritance * * The [MutationRef] interface is _not_ stable for inheritance in third-party libraries, as new * methods might be added to this interface or contracts of the existing methods can be changed. @@ -64,12 +64,12 @@ public interface MutationRef : OperationRef { /** * A specialization of [OperationResult] for [MutationRef]. * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * * All methods and properties of [MutationResult] are thread-safe and may be safely called and/or * accessed concurrently from multiple threads and/or coroutines. * - * ### Not Stable for Inheritance + * ### Not stable for inheritance * * The [MutationResult] interface is _not_ stable for inheritance in third-party libraries, as new * methods might be added to this interface or contracts of the existing methods can be changed. diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/OperationRef.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/OperationRef.kt index b464feabc0e..5bfa63f6f98 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/OperationRef.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/OperationRef.kt @@ -21,18 +21,18 @@ import kotlinx.serialization.SerializationStrategy import kotlinx.serialization.modules.SerializersModule /** - * Information about a Firebase Data Connect "operation" (i.e. a query or mutation). + * Information about a Firebase Data Connect "operation" (a query or a mutation). * * [OperationRef] has two inheritors: [QueryRef] for queries and [MutationRef] for mutations. * [OperationRef] merely serves to provide a common interface for the parts of queries and mutations * that are shared. * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * * All methods and properties of [OperationRef] are thread-safe and may be safely called and/or * accessed concurrently from multiple threads and/or coroutines. * - * ### Not Stable for Inheritance + * ### Not stable for inheritance * * The [OperationRef] interface is _not_ stable for inheritance in third-party libraries, as new * methods might be added to this interface or contracts of the existing methods can be changed. @@ -81,7 +81,7 @@ public interface OperationRef { * mutation InsertPerson($name: String!, $age: Int) {...} * ``` * - * would have two variables named `"name"` and `"age"` whose values are [String] and [Int?] + * would have two variables named `"name"` and `"age"` whose values are [String] and `Int?` * values, respectively. */ public val variables: Variables @@ -98,7 +98,7 @@ public interface OperationRef { * query GetPersonById($id: UUID!) { person(id: $id) { name age } } * ``` * - * could define its data class could as follows: + * could define its data class as follows: * * ``` * @Serializable @@ -129,7 +129,7 @@ public interface OperationRef { * mutation InsertPerson($name: String!, $age: Int) {...} * ``` * - * could define its variables class could as follows: + * could define its variables class as follows: * * ``` * @Serializable @@ -263,12 +263,12 @@ public interface OperationRef { * Typically, one of the inheritors of [OperationResult] is used, namely [QueryResult] for queries * and [MutationResult] for mutations. * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * * All methods and properties of [OperationResult] are thread-safe and may be safely called and/or * accessed concurrently from multiple threads and/or coroutines. * - * ### Not Stable for Inheritance + * ### Not stable for inheritance * * The [OperationResult] interface is _not_ stable for inheritance in third-party libraries, as new * methods might be added to this interface or contracts of the existing methods can be changed. diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/OptionalVariable.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/OptionalVariable.kt index 7662fa91acb..6a7f4b3c92d 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/OptionalVariable.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/OptionalVariable.kt @@ -145,8 +145,8 @@ public sealed interface OptionalVariable { /** * The [KSerializer] implementation for [OptionalVariable]. * - * Note that this serializer _only_ supports [serialize], and [deserialize] unconditionally throws - * an exception. + * Note that this serializer _only_ supports [serialize]; [deserialize] unconditionally throws an + * exception. * * @param elementSerializer The [KSerializer] to use to serialize the encapsulated value. */ diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/QueryRef.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/QueryRef.kt index da7486652f4..d4ab582a5bb 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/QueryRef.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/QueryRef.kt @@ -23,12 +23,12 @@ import kotlinx.serialization.modules.SerializersModule /** * A specialization of [OperationRef] for _query_ operations. * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * * All methods and properties of [QueryRef] are thread-safe and may be safely called and/or accessed * concurrently from multiple threads and/or coroutines. * - * ### Not Stable for Inheritance + * ### Not stable for inheritance * * The [QueryRef] interface is _not_ stable for inheritance in third-party libraries, as new methods * might be added to this interface or contracts of the existing methods can be changed. @@ -75,12 +75,12 @@ public interface QueryRef : OperationRef { /** * A specialization of [OperationResult] for [QueryRef]. * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * * All methods and properties of [QueryResult] are thread-safe and may be safely called and/or * accessed concurrently from multiple threads and/or coroutines. * - * ### Not Stable for Inheritance + * ### Not stable for inheritance * * The [QueryResult] interface is _not_ stable for inheritance in third-party libraries, as new * methods might be added to this interface or contracts of the existing methods can be changed. diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/QuerySubscription.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/QuerySubscription.kt index f18f3bf125f..d0a7a8d2743 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/QuerySubscription.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/QuerySubscription.kt @@ -22,18 +22,18 @@ import kotlinx.coroutines.flow.* * A facility to subscribe to a query to be notified of updates to the query's data when the query * is executed. * - * ### Notifications are _not_ Realtime + * ### Notifications are _not_ realtime * * At this time the notifications are _not_ realtime, and are _not_ pushed from the server. Instead, * the notifications are sent whenever the query is explicitly executed by calling * [QueryRef.execute]. * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * * All methods and properties of [QuerySubscription] are thread-safe and may be safely called and/or * accessed concurrently from multiple threads and/or coroutines. * - * ### Not Stable for Inheritance + * ### Not stable for inheritance * * The [QuerySubscription] interface is _not_ stable for inheritance in third-party libraries, as * new methods might be added to this interface or contracts of the existing methods can be changed. @@ -88,12 +88,12 @@ public interface QuerySubscription { /** * The result of a query's execution, as notified to a [QuerySubscription]. * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * * All methods and properties of [QuerySubscriptionResult] are thread-safe and may be safely called * and/or accessed concurrently from multiple threads and/or coroutines. * - * ### Not Stable for Inheritance + * ### Not stable for inheritance * * The [QuerySubscriptionResult] interface is _not_ stable for inheritance in third-party libraries, * as new methods might be added to this interface or contracts of the existing methods can be diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/generated/GeneratedConnector.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/generated/GeneratedConnector.kt index 7360edc3e9b..c7bc5c578f5 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/generated/GeneratedConnector.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/generated/GeneratedConnector.kt @@ -21,14 +21,14 @@ import com.google.firebase.dataconnect.FirebaseDataConnect /** * The interface to be implemented by the over-arching "connector" classes that are generated by the - * Firebase Tools code generation. + * Firebase CLI code generation. * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * * All methods and properties of [GeneratedConnector] are thread-safe and may be safely called * and/or accessed concurrently from multiple threads and/or coroutines. * - * ### Stable for Inheritance + * ### Stable for inheritance * * The [GeneratedConnector] interface _is_ stable for inheritance in third-party libraries, as new * methods will not be added to this interface and contracts of the existing methods will not be @@ -53,10 +53,10 @@ public interface GeneratedConnector> { /** * Returns a list containing all [GeneratedQuery] and [GeneratedMutation] objects defined as - * properties in this object. + * properties in this object, in an unspecified order.. * * Namely, the returned list will contain exactly the elements returned from [queries] and - * [mutations], in an unspecified order. + * [mutations]. * * @see queries * @see mutations diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/generated/GeneratedMutation.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/generated/GeneratedMutation.kt index 1d39bf176d2..99fe6412b04 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/generated/GeneratedMutation.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/generated/GeneratedMutation.kt @@ -25,12 +25,12 @@ import kotlinx.serialization.SerializationStrategy /** * The specialization of [GeneratedOperation] for mutations. * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * * All methods and properties of [GeneratedMutation] are thread-safe and may be safely called and/or * accessed concurrently from multiple threads and/or coroutines. * - * ### Stable for Inheritance + * ### Stable for inheritance * * The [GeneratedMutation] interface _is_ stable for inheritance in third-party libraries, as new * methods will not be added to this interface and contracts of the existing methods will not be diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/generated/GeneratedOperation.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/generated/GeneratedOperation.kt index b3011e5890b..797f15e0e1a 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/generated/GeneratedOperation.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/generated/GeneratedOperation.kt @@ -24,14 +24,14 @@ import kotlinx.serialization.SerializationStrategy /** * The parent of [GeneratedQuery] and [GeneratedMutation], which are to be implemented by per-query - * and per-mutation classes, respectively, generated by the Firebase Tools code generation. + * and per-mutation classes, respectively, generated by the Firebase CLI code generation. * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * * All methods and properties of [GeneratedOperation] are thread-safe and may be safely called * and/or accessed concurrently from multiple threads and/or coroutines. * - * ### Stable for Inheritance + * ### Stable for inheritance * * The [GeneratedOperation] interface _is_ stable for inheritance in third-party libraries, as new * methods will not be added to this interface and contracts of the existing methods will not be diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/generated/GeneratedQuery.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/generated/GeneratedQuery.kt index 98087c89943..20ea829914c 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/generated/GeneratedQuery.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/generated/GeneratedQuery.kt @@ -25,12 +25,12 @@ import kotlinx.serialization.SerializationStrategy /** * The specialization of [GeneratedOperation] for queries. * - * ### Safe for Concurrent Use + * ### Safe for concurrent use * * All methods and properties of [GeneratedQuery] are thread-safe and may be safely called and/or * accessed concurrently from multiple threads and/or coroutines. * - * ### Stable for Inheritance + * ### Stable for inheritance * * The [GeneratedQuery] interface _is_ stable for inheritance in third-party libraries, as new * methods will not be added to this interface and contracts of the existing methods will not be diff --git a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/querymgr/RegisteredDataDeserialzer.kt b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/querymgr/RegisteredDataDeserialzer.kt index 1fa6d94eae4..e2dc7066cbc 100644 --- a/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/querymgr/RegisteredDataDeserialzer.kt +++ b/firebase-dataconnect/src/main/kotlin/com/google/firebase/dataconnect/querymgr/RegisteredDataDeserialzer.kt @@ -61,8 +61,8 @@ internal class RegisteredDataDeserializer( onBufferOverflow = BufferOverflow.SUSPEND, ) - // The latest update (i.e. the update with the highest sequence number) that has ever been emitted - // to `updates`. The `ref` of the value will be null if, and only if, no updates have ever + // The latest update (that is, the update with the highest sequence number) that has ever been + // emitted to `updates`. The `ref` of the value will be null if, and only if, no updates have ever // occurred. private val latestUpdate = MutableStateFlow>>>>( diff --git a/firebase-dataconnect/src/test/kotlin/com/google/firebase/dataconnect/ProtoStructDecoderUnitTest.kt b/firebase-dataconnect/src/test/kotlin/com/google/firebase/dataconnect/ProtoStructDecoderUnitTest.kt index 0eec93d706e..f6e8dbc82a8 100644 --- a/firebase-dataconnect/src/test/kotlin/com/google/firebase/dataconnect/ProtoStructDecoderUnitTest.kt +++ b/firebase-dataconnect/src/test/kotlin/com/google/firebase/dataconnect/ProtoStructDecoderUnitTest.kt @@ -662,8 +662,8 @@ class ProtoStructDecoderUnitTest { } } - // TODO: Add tests for decoding to objects with unsupported field types (e.g. Byte, Char) and - // list elements of unsupported field types (e.g. Byte, Char). + // TODO: Add tests for decoding to objects with unsupported field types (such as Byte or Char) and + // list elements of unsupported field types (such as Byte or Char). } diff --git a/firebase-dataconnect/testutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/TestUtils.kt b/firebase-dataconnect/testutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/TestUtils.kt index 7ec42f7e112..6d20aa5ab5f 100644 --- a/firebase-dataconnect/testutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/TestUtils.kt +++ b/firebase-dataconnect/testutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/TestUtils.kt @@ -136,7 +136,7 @@ const val MAX_SAFE_INTEGER = 9007199254740991.0 /** * Generates and returns a random, valid string suitable to be the "name" of a [FirebaseApp]. * @param key A hardcoded random string that will be incorporated into the returned string; useful - * for correlating the application ID with its call site (e.g. "fmfbm74g32"). + * for correlating the application ID with its call site (for example, "fmfbm74g32"). */ fun randomAppName(key: String) = "appName-$key-${Random.nextAlphanumericString(length = 8)}" @@ -144,14 +144,14 @@ fun randomAppName(key: String) = "appName-$key-${Random.nextAlphanumericString(l * Generates and returns a random, valid string suitable to be the "applicationId" of a * [FirebaseApp]. * @param key A hardcoded random string that will be incorporated into the returned string; useful - * for correlating the application ID with its call site (e.g. "axqm2rajxv"). + * for correlating the application ID with its call site (for example, "axqm2rajxv"). */ fun randomApplicationId(key: String) = "appId-$key-${Random.nextAlphanumericString(length = 8)}" /** * Generates and returns a random, valid string suitable to be the "projectId" of a [FirebaseApp]. * @param key A hardcoded random string that will be incorporated into the returned string; useful - * for correlating the application ID with its call site (e.g. "ncdd6n863r"). + * for correlating the application ID with its call site (for example, "ncdd6n863r"). */ @Deprecated( "use Arb.projectId() from Arbs.kt instead", @@ -163,7 +163,7 @@ fun randomProjectId(key: String) = "projId-$key-${Random.nextAlphanumericString( /** * Generates and returns a random, valid string suitable to be a host name in [DataConnectSettings]. * @param key A hardcoded random string that will be incorporated into the returned string; useful - * for correlating the application ID with its call site (e.g. "cxncg4zbvb"). + * for correlating the application ID with its call site (for example, "cxncg4zbvb"). */ fun randomHost(key: String) = "host.$key.${Random.nextAlphanumericString(length = 8)}" @@ -172,7 +172,7 @@ fun randomSslEnabled() = Random.nextBoolean() /** * Generates and returns a new [DataConnectSettings] object with random values. - * @param hostKey A value to specify to [randomHost] (e.g. "wqxhf5apez"). + * @param hostKey A value to specify to [randomHost] (for example, "wqxhf5apez"). */ fun randomDataConnectSettings(hostKey: String) = DataConnectSettings(host = randomHost(hostKey), sslEnabled = randomSslEnabled()) @@ -180,7 +180,7 @@ fun randomDataConnectSettings(hostKey: String) = /** * Generates and returns a random, valid string suitable for a "request ID". * @param key A hardcoded random string that will be incorporated into the returned string; useful - * for correlating the application ID with its call site (e.g. "9p6dyyr2zp"). + * for correlating the application ID with its call site (for example, "9p6dyyr2zp"). */ @Deprecated( "use Arb.requestId() from Arbs.kt instead", @@ -192,7 +192,7 @@ fun randomRequestId(key: String) = "requestId_${key}_${Random.nextAlphanumericSt /** * Generates and returns a random, valid string suitable for [OperationRef.operationName]. * @param key A hardcoded random string that will be incorporated into the returned string; useful - * for correlating the application ID with its call site (e.g. "sc4kc7mqba"). + * for correlating the application ID with its call site (for example, "sc4kc7mqba"). */ @Deprecated( "use Arb.requestId() from Arbs.kt instead", diff --git a/firebase-dataconnect/testutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/property/arbitrary/IntWithEvenNumDigitsDistribution.kt b/firebase-dataconnect/testutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/property/arbitrary/IntWithEvenNumDigitsDistribution.kt index 4ba810bdd03..ba707e5453d 100644 --- a/firebase-dataconnect/testutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/property/arbitrary/IntWithEvenNumDigitsDistribution.kt +++ b/firebase-dataconnect/testutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/property/arbitrary/IntWithEvenNumDigitsDistribution.kt @@ -30,7 +30,7 @@ import io.kotest.property.arbitrary.int * _not_ included in the "number of digits" count. * * @param range The range of values to produce; if `null` (the default) then use the entire range of - * integers (i.e. `Int.MIN_VALUE..Int.MAX_VALUE`). + * integers (formally, `Int.MIN_VALUE..Int.MAX_VALUE`). * * @see intWithEvenNumDigitsDistribution */ @@ -72,7 +72,7 @@ fun Arb.Companion.intWithEvenNumDigitsDistribution(range: IntRange): Arb { * _not_ included in the "number of digits" count. * * @param range The range of values to produce; if `null` (the default) then use the entire range of - * integers (i.e. `Int.MIN_VALUE..Int.MAX_VALUE`). + * integers (formally, `Int.MIN_VALUE..Int.MAX_VALUE`). * * @see intWithEvenNumDigitsDistribution */