Skip to content

Commit 00642ed

Browse files
committed
update samples and generated sources
1 parent 6b18e39 commit 00642ed

File tree

10 files changed

+1437
-384
lines changed

10 files changed

+1437
-384
lines changed

core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/io/html.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ internal fun tableJs(columns: List<ColumnDataForJs>, id: Int, rootId: Int, nrow:
114114
}
115115

116116
internal var tableInSessionId = 0
117-
internal val sessionId = (Random().nextInt() % 128) shl 24
117+
internal var sessionId = (Random().nextInt() % 128) shl 24
118118
internal fun nextTableId() = sessionId + (tableInSessionId++)
119119

120120
internal fun AnyFrame.toHtmlData(

core/generated-sources/src/test/kotlin/org/jetbrains/kotlinx/dataframe/explainer/PluginCallback.kt

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import org.jetbrains.kotlinx.dataframe.api.print
66
import java.io.File
77
import org.jetbrains.kotlinx.dataframe.AnyCol
88
import org.jetbrains.kotlinx.dataframe.DataFrame
9+
import org.jetbrains.kotlinx.dataframe.DataRow
910
import org.jetbrains.kotlinx.dataframe.RowValueFilter
1011
import org.jetbrains.kotlinx.dataframe.api.ColumnsSelectionDsl
1112
import org.jetbrains.kotlinx.dataframe.api.Convert
@@ -30,6 +31,8 @@ import org.jetbrains.kotlinx.dataframe.columns.ColumnSet
3031
import org.jetbrains.kotlinx.dataframe.io.DataFrameHtmlData
3132
import org.jetbrains.kotlinx.dataframe.io.DisplayConfiguration
3233
import org.jetbrains.kotlinx.dataframe.io.escapeHTML
34+
import org.jetbrains.kotlinx.dataframe.io.sessionId
35+
import org.jetbrains.kotlinx.dataframe.io.tableInSessionId
3336
import org.jetbrains.kotlinx.dataframe.io.toHTML
3437

3538
private fun convertToHTML(dataframeLike: Any): DataFrameHtmlData {
@@ -60,6 +63,7 @@ private fun convertToHTML(dataframeLike: Any): DataFrameHtmlData {
6063
is GroupBy<*, *> -> dataframeLike.toDataFrame().toHTML()
6164
is AnyFrame -> dataframeLike.toHTML()
6265
is AnyCol -> dataframeLike.toDataFrame().toHTML()
66+
is DataRow<*> -> dataframeLike.toDataFrame().toHTML()
6367
else -> throw IllegalArgumentException("Unsupported type: ${dataframeLike::class}")
6468
}
6569
}
@@ -78,6 +82,7 @@ private fun convertToDescription(dataframeLike: Any): String {
7882
is Convert<*, *> -> "Convert"
7983
is FormattedFrame<*> -> "FormattedFrame"
8084
is GroupBy<*, *> -> "GroupBy"
85+
is DataRow<*> -> "DataRow"
8186
else -> "TODO"
8287
}.escapeHTML()
8388
}
@@ -97,7 +102,9 @@ fun main() {
97102
}
98103
.mapValues { (name, files) ->
99104
val target = File("../docs/StardustDocs/snippets")
100-
val original = files.first()
105+
val original = files
106+
.firstOrNull { it.nameWithoutExtension.contains("properties") }
107+
?: files.first()
101108
original.copyTo(File(target, "$name.html"), overwrite = true)
102109
}
103110
}
@@ -118,11 +125,23 @@ object PluginCallback {
118125
}
119126

120127
fun save() {
128+
sessionId = 0
129+
tableInSessionId = 0
121130
var output = DataFrameHtmlData.tableDefinitions() + DataFrameHtmlData(style = """
122131
body {
123132
font-family: "JetBrains Mono",SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;
133+
}
134+
135+
:root {
124136
color: #19191C;
137+
background-color: #fff;
138+
}
139+
140+
:root[theme="dark"] {
141+
background-color: #19191C;
142+
color: #FFFFFFCC
125143
}
144+
126145
details details {
127146
margin-left: 20px;
128147
}
@@ -147,7 +166,11 @@ object PluginCallback {
147166
body =
148167
"""
149168
<details>
150-
<summary>${expressions.joinToString(".") { it.source }.escapeHTML()}</summary>
169+
<summary>${expressions.joinToString(".") { it.source }
170+
.also {
171+
if (it.length > 88) TODO("expression is too long. better to split sample in multiple snippets")
172+
}
173+
.escapeHTML()}</summary>
151174
${details.body}
152175
</details>
153176
<br>

core/generated-sources/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/Analyze.kt

Lines changed: 54 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -976,6 +976,13 @@ class Analyze : TestBase() {
976976
fun pivotAggregate_properties() {
977977
// SampleStart
978978
df.pivot { city }.aggregate { minBy { age }.name }
979+
// SampleEnd
980+
}
981+
982+
@Test
983+
@TransformDataFrameExpressions
984+
fun pivotAggregate1_properties() {
985+
// SampleStart
979986
df.pivot { city }.groupBy { name.firstName }.aggregate {
980987
meanFor { age and weight } into "means"
981988
stdFor { age and weight } into "stds"
@@ -995,6 +1002,18 @@ class Analyze : TestBase() {
9951002
val weight by column<Int?>()
9961003

9971004
df.pivot { city }.aggregate { minBy(age).name }
1005+
// SampleEnd
1006+
}
1007+
1008+
@Test
1009+
@TransformDataFrameExpressions
1010+
fun pivotAggregate1_accessors() {
1011+
// SampleStart
1012+
val city by column<String?>()
1013+
val name by columnGroup()
1014+
val firstName by name.column<String>()
1015+
val age by column<Int>()
1016+
val weight by column<Int?>()
9981017

9991018
df.pivot { city }.groupBy { firstName }.aggregate {
10001019
meanFor { age and weight } into "means"
@@ -1009,7 +1028,13 @@ class Analyze : TestBase() {
10091028
fun pivotAggregate_strings() {
10101029
// SampleStart
10111030
df.pivot("city").aggregate { minBy("age")["name"] }
1031+
// SampleEnd
1032+
}
10121033

1034+
@Test
1035+
@TransformDataFrameExpressions
1036+
fun pivotAggregate1_strings() {
1037+
// SampleStart
10131038
df.pivot("city").groupBy { "name"["firstName"] }.aggregate {
10141039
meanFor("age", "weight") into "means"
10151040
stdFor("age", "weight") into "stds"
@@ -1095,11 +1120,18 @@ class Analyze : TestBase() {
10951120
fun pivotDefault_properties() {
10961121
// SampleStart
10971122
df.pivot { city }.groupBy { name }.aggregate { min { age } default 0 }
1123+
df.pivot { city }.groupBy { name }.default(0).min()
1124+
// SampleEnd
1125+
}
1126+
1127+
@Test
1128+
@TransformDataFrameExpressions
1129+
fun pivotDefault1_properties() {
1130+
// SampleStart
10981131
df.pivot { city }.groupBy { name }.aggregate {
10991132
median { age } into "median age" default 0
11001133
minOrNull { weight } into "min weight" default 100
11011134
}
1102-
df.pivot { city }.groupBy { name }.default(0).min()
11031135
// SampleEnd
11041136
}
11051137

@@ -1113,11 +1145,23 @@ class Analyze : TestBase() {
11131145
val name by columnGroup()
11141146

11151147
df.pivot { city }.groupBy { name }.aggregate { min { age } default 0 }
1148+
df.pivot { city }.groupBy { name }.default(0).min()
1149+
// SampleEnd
1150+
}
1151+
1152+
@Test
1153+
@TransformDataFrameExpressions
1154+
fun pivotDefault1_accessors() {
1155+
// SampleStart
1156+
val city by column<String?>()
1157+
val age by column<Int>()
1158+
val weight by column<Int?>()
1159+
val name by columnGroup()
1160+
11161161
df.pivot { city }.groupBy { name }.aggregate {
11171162
median { age } into "median age" default 0
11181163
minOrNull { weight } into "min weight" default 100
11191164
}
1120-
df.pivot { city }.groupBy { name }.default(0).min()
11211165
// SampleEnd
11221166
}
11231167

@@ -1126,11 +1170,18 @@ class Analyze : TestBase() {
11261170
fun pivotDefault_strings() {
11271171
// SampleStart
11281172
df.pivot("city").groupBy("name").aggregate { min("age") default 0 }
1173+
df.pivot("city").groupBy("name").default(0).min()
1174+
// SampleEnd
1175+
}
1176+
1177+
@Test
1178+
@TransformDataFrameExpressions
1179+
fun pivotDefault1_strings() {
1180+
// SampleStart
11291181
df.pivot("city").groupBy("name").aggregate {
11301182
median("age") into "median age" default 0
11311183
minOrNull("weight") into "min weight" default 100
11321184
}
1133-
df.pivot("city").groupBy("name").default(0).min()
11341185
// SampleEnd
11351186
}
11361187

core/generated-sources/src/test/kotlin/org/jetbrains/kotlinx/dataframe/samples/api/Modify.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -671,7 +671,7 @@ class Modify : TestBase() {
671671
}
672672

673673
@Test
674-
@TransformDataFrameExpressions
674+
// @TransformDataFrameExpressions
675675
fun explodeColumnFrames() {
676676
// SampleStart
677677
val col by columnOf(

core/src/test/kotlin/org/jetbrains/kotlinx/dataframe/explainer/PluginCallback.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ object PluginCallback {
168168
<details>
169169
<summary>${expressions.joinToString(".") { it.source }
170170
.also {
171-
if (it.length > 85) TODO("expression is too long. better to split sample in multiple snippets")
171+
if (it.length > 88) TODO("expression is too long. better to split sample in multiple snippets")
172172
}
173173
.escapeHTML()}</summary>
174174
${details.body}

0 commit comments

Comments
 (0)