Skip to content

Commit 9f52d9a

Browse files
Automated commit of generated code
1 parent b6cefbb commit 9f52d9a

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/annotations/ImportDataSchema.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import org.jetbrains.kotlinx.dataframe.io.JSON
2727
* @param csvOptions options to parse CSV data. Not used when data is not Csv
2828
* @param jsonOptions options to parse JSON data. Not used when data is not Json
2929
* @param jdbcOptions options to parse data from a database via JDBC. Not used when data is not stored in the database
30+
* @param enableExperimentalOpenApi Can be set to `true` to enable experimental OpenAPI 3.0.0 types support
3031
*/
3132
@Retention(AnnotationRetention.SOURCE)
3233
@Target(AnnotationTarget.FILE)
@@ -40,6 +41,7 @@ public annotation class ImportDataSchema(
4041
val csvOptions: CsvOptions = CsvOptions(','),
4142
val jsonOptions: JsonOptions = JsonOptions(),
4243
val jdbcOptions: JdbcOptions = JdbcOptions(),
44+
val enableExperimentalOpenApi: Boolean = false,
4345
)
4446

4547
public enum class DataSchemaVisibility {

core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/jupyter/JupyterConfiguration.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ package org.jetbrains.kotlinx.dataframe.jupyter
33
import org.jetbrains.kotlinx.dataframe.BuildConfig
44
import org.jetbrains.kotlinx.dataframe.io.DisplayConfiguration
55

6-
public class JupyterConfiguration {
6+
public class JupyterConfiguration(
7+
/** If true, experimental OpenAPI 3.0.0 types support via importDataSchema() is enabled. Can be set via `%use dataframe(..., enableExperimentalOpenApi=true)` */
8+
public val enableExperimentalOpenApi: Boolean = false,
9+
) {
710
public val display: DisplayConfiguration = DisplayConfiguration()
811

912
/** Version of the library. */

core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/jupyter/importDataSchema.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,14 @@ internal val importDataSchema =
2020
"""
2121
/** Import the type-only data schema from [url]. */
2222
fun importDataSchema(url: URL, name: String) {
23-
val formats = listOf(
24-
OpenApi(),
23+
val formats = listOfNotNull(
24+
if (dataFrameConfig.enableExperimentalOpenApi) OpenApi() else null,
2525
)
26+
27+
require(formats.isNotEmpty()) {
28+
"importDataSchema() did not find any supported type-only data schema generation providers (`SupportedCodeGenerationFormat`). If you were looking for OpenAPI 3.0.0 types, set `%use dataframe(..., enableExperimentalOpenApi=true)`."
29+
}
30+
2631
val codeGenResult = org.jetbrains.dataframe.impl.codeGen.CodeGenerator.urlCodeGenReader(url, formats)
2732
when (codeGenResult) {
2833
is org.jetbrains.kotlinx.dataframe.impl.codeGen.CodeGenerationReadResult.Success -> {

0 commit comments

Comments
 (0)