Change root package
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
package com.bartlomiejpluta.smnp.ext.io
|
||||
|
||||
import com.bartlomiejpluta.smnp.ext.io.function.PrintlnFunction
|
||||
import com.bartlomiejpluta.smnp.ext.io.function.ReadFunction
|
||||
import com.bartlomiejpluta.smnp.ext.provider.NativeModuleProvider
|
||||
import org.pf4j.Extension
|
||||
|
||||
@Extension
|
||||
class IoModule : NativeModuleProvider("smnp.io") {
|
||||
override fun functions() = listOf(PrintlnFunction(), ReadFunction())
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.bartlomiejpluta.smnp.ext.io.function
|
||||
|
||||
import com.bartlomiejpluta.smnp.callable.function.Function
|
||||
import com.bartlomiejpluta.smnp.callable.function.FunctionDefinitionTool
|
||||
import com.bartlomiejpluta.smnp.callable.signature.Signature.Companion.vararg
|
||||
import com.bartlomiejpluta.smnp.type.matcher.Matcher.Companion.anyType
|
||||
import com.bartlomiejpluta.smnp.type.model.Value
|
||||
|
||||
class PrintlnFunction : Function("println") {
|
||||
override fun define(new: FunctionDefinitionTool) {
|
||||
new function vararg(anyType()) body { _, (vararg) ->
|
||||
println((vararg.value as List<Value>).joinToString("") { it.stringify() })
|
||||
Value.void()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.bartlomiejpluta.smnp.ext.io.function
|
||||
|
||||
import com.bartlomiejpluta.smnp.callable.function.Function
|
||||
import com.bartlomiejpluta.smnp.callable.function.FunctionDefinitionTool
|
||||
import com.bartlomiejpluta.smnp.callable.signature.Signature.Companion.simple
|
||||
import com.bartlomiejpluta.smnp.type.enumeration.DataType.STRING
|
||||
import com.bartlomiejpluta.smnp.type.matcher.Matcher.Companion.ofType
|
||||
import com.bartlomiejpluta.smnp.type.matcher.Matcher.Companion.optional
|
||||
import com.bartlomiejpluta.smnp.type.model.Value
|
||||
|
||||
class ReadFunction : Function("read") {
|
||||
override fun define(new: FunctionDefinitionTool) {
|
||||
new function simple(optional(ofType(STRING))) body { _, arguments ->
|
||||
arguments.getOrNull(0)?.let { print(it.value) }
|
||||
Value.string(readLine() ?: "")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
package io.smnp.ext.io
|
||||
|
||||
import io.smnp.ext.provider.NativeModuleProvider
|
||||
import io.smnp.ext.io.function.PrintlnFunction
|
||||
import io.smnp.ext.io.function.ReadFunction
|
||||
import org.pf4j.Extension
|
||||
|
||||
@Extension
|
||||
class IoModule : NativeModuleProvider("smnp.io") {
|
||||
override fun functions() = listOf(PrintlnFunction(), ReadFunction())
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
package io.smnp.ext.io.function
|
||||
|
||||
import io.smnp.callable.function.Function
|
||||
import io.smnp.callable.function.FunctionDefinitionTool
|
||||
import io.smnp.callable.signature.Signature.Companion.vararg
|
||||
import io.smnp.type.matcher.Matcher.Companion.anyType
|
||||
import io.smnp.type.model.Value
|
||||
|
||||
class PrintlnFunction : Function("println") {
|
||||
override fun define(new: FunctionDefinitionTool) {
|
||||
new function vararg(anyType()) body { _, (vararg) ->
|
||||
println((vararg.value as List<Value>).joinToString("") { it.stringify() })
|
||||
Value.void()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
package io.smnp.ext.io.function
|
||||
|
||||
import io.smnp.callable.function.Function
|
||||
import io.smnp.callable.function.FunctionDefinitionTool
|
||||
import io.smnp.callable.signature.Signature.Companion.simple
|
||||
import io.smnp.type.enumeration.DataType.STRING
|
||||
import io.smnp.type.matcher.Matcher.Companion.ofType
|
||||
import io.smnp.type.matcher.Matcher.Companion.optional
|
||||
import io.smnp.type.model.Value
|
||||
|
||||
class ReadFunction : Function("read") {
|
||||
override fun define(new: FunctionDefinitionTool) {
|
||||
new function simple(optional(ofType(STRING))) body { _, arguments ->
|
||||
arguments.getOrNull(0)?.let { print(it.value) }
|
||||
Value.string(readLine() ?: "")
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user