All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jetbrains.kotlinx.jupyter.repl.result.SerializedCompiledScriptsData.kt Maven / Gradle / Ivy

Go to download

Implementation of REPL compiler and preprocessor for Jupyter dialect of Kotlin (IDE-compatible)

The newest version!
package org.jetbrains.kotlinx.jupyter.repl.result

import kotlinx.serialization.Serializable
import org.jetbrains.kotlinx.jupyter.repl.SerializedScriptSource

@Serializable
data class SerializedCompiledScriptsData(
    val scripts: List,
    val sources: List,
) {
    companion object {
        val EMPTY = buildScriptsData {}
    }

    class Builder {
        private val scripts = mutableListOf()
        private val sources = mutableListOf()

        fun build() = SerializedCompiledScriptsData(scripts.toList(), sources.toList())

        fun clear() {
            scripts.clear()
            sources.clear()
        }

        fun addData(newData: SerializedCompiledScriptsData) {
            scripts.addAll(newData.scripts)
            sources.addAll(newData.sources)
        }

        fun addCompiledScript(script: SerializedCompiledScript) {
            scripts.add(script)
        }

        fun addSource(source: SerializedScriptSource) {
            sources.add(source)
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy