Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions core/api/core.api
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,8 @@ public final class org/jetbrains/kotlinx/dataframe/api/AddKt {
public static final fun add (Lorg/jetbrains/kotlinx/dataframe/DataFrame;[Lorg/jetbrains/kotlinx/dataframe/DataFrame;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
public static final fun add (Lorg/jetbrains/kotlinx/dataframe/DataFrame;[Lorg/jetbrains/kotlinx/dataframe/columns/BaseColumn;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
public static final fun addAll (Lorg/jetbrains/kotlinx/dataframe/DataFrame;Ljava/lang/Iterable;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
public static final fun addAll (Lorg/jetbrains/kotlinx/dataframe/DataFrame;[Lorg/jetbrains/kotlinx/dataframe/DataFrame;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
public static final fun addAll (Lorg/jetbrains/kotlinx/dataframe/DataFrame;[Lorg/jetbrains/kotlinx/dataframe/columns/BaseColumn;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
public static final fun addAllFrames (Lorg/jetbrains/kotlinx/dataframe/DataFrame;Ljava/lang/Iterable;)Lorg/jetbrains/kotlinx/dataframe/DataFrame;
}

Expand Down
43 changes: 43 additions & 0 deletions core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/add.kt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ import org.jetbrains.kotlinx.dataframe.exceptions.DuplicateColumnNamesException
import org.jetbrains.kotlinx.dataframe.exceptions.UnequalColumnSizesException
import org.jetbrains.kotlinx.dataframe.impl.api.insertImpl
import org.jetbrains.kotlinx.dataframe.impl.columns.resolveSingle
import org.jetbrains.kotlinx.dataframe.util.ADD_VARARG_COLUMNS
import org.jetbrains.kotlinx.dataframe.util.ADD_VARARG_COLUMNS_REPLACE
import org.jetbrains.kotlinx.dataframe.util.ADD_VARARG_FRAMES
import org.jetbrains.kotlinx.dataframe.util.ADD_VARARG_FRAMES_REPLACE
import org.jetbrains.kotlinx.dataframe.util.DEPRECATED_ACCESS_API
import kotlin.reflect.KProperty

Expand All @@ -43,8 +47,27 @@ import kotlin.reflect.KProperty
* @throws [UnequalColumnSizesException] if columns in an expected result have different sizes.
* @return new [DataFrame] with added columns.
*/
@Deprecated(
message = ADD_VARARG_COLUMNS,
replaceWith = ReplaceWith(ADD_VARARG_COLUMNS_REPLACE),
level = DeprecationLevel.WARNING,
)
public fun <T> DataFrame<T>.add(vararg columns: AnyBaseCol): DataFrame<T> = addAll(columns.asIterable())

/**
* Adds new [columns] to the end of this [DataFrame] (at the top level).
*
* Returns a new [DataFrame] with the new [columns] appended to the original list of [DataFrame.columns].
*
* For more information: {@include [DocumentationUrls.Add]}.
*
* @param columns columns to add.
* @throws [DuplicateColumnNamesException] if columns in an expected result have repeated names.
* @throws [UnequalColumnSizesException] if columns in an expected result have different sizes.
* @return new [DataFrame] with added columns.
*/
public fun <T> DataFrame<T>.addAll(vararg columns: AnyBaseCol): DataFrame<T> = addAll(columns.asIterable())

/**
* Adds new [columns] to the end of this [DataFrame] (at the top level).
*
Expand Down Expand Up @@ -73,8 +96,28 @@ public fun <T> DataFrame<T>.addAll(columns: Iterable<AnyBaseCol>): DataFrame<T>
* @throws [UnequalColumnSizesException] if columns in an expected result have different sizes.
* @return new [DataFrame] with added columns.
*/
@Deprecated(
message = ADD_VARARG_FRAMES,
replaceWith = ReplaceWith(ADD_VARARG_FRAMES_REPLACE),
level = DeprecationLevel.WARNING,
)
public fun <T> DataFrame<T>.add(vararg dataFrames: AnyFrame): DataFrame<T> = addAll(dataFrames.asIterable())

/**
* Adds all columns from the given [dataFrames] to the end of this [DataFrame] (at the top level).
*
* Returns a new [DataFrame] with the columns from the specified
* [dataFrames] appended to the original list of [DataFrame.columns].
*
* For more information: {@include [DocumentationUrls.Add]}.
*
* @param dataFrames dataFrames to get columns from.
* @throws [DuplicateColumnNamesException] if columns in an expected result have repeated names.
* @throws [UnequalColumnSizesException] if columns in an expected result have different sizes.
* @return new [DataFrame] with added columns.
*/
public fun <T> DataFrame<T>.addAll(vararg dataFrames: AnyFrame): DataFrame<T> = addAll(dataFrames.asIterable())

/**
* Adds all columns from the given [dataFrames] to the end of this [DataFrame] (at the top level).
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,12 @@ internal const val LENGTH_REPLACE = "this.map { it?.length ?: 0 }"
internal const val LOWERCASE_REPLACE = "this.map { it?.lowercase() }"
internal const val UPPERCASE_REPLACE = "this.map { it?.uppercase() }"

internal const val ADD_VARARG_COLUMNS = "Deprecated in favor of `addAll(vararg)` to improve completion. $MESSAGE_1_1"
internal const val ADD_VARARG_COLUMNS_REPLACE = "this.addAll(*columns)"

internal const val ADD_VARARG_FRAMES = "Deprecated in favor of `addAll(vararg)` to improve completion. $MESSAGE_1_1"
internal const val ADD_VARARG_FRAMES_REPLACE = "this.addAll(*dataFrames)"

// endregion

// region keep across releases
Expand Down