Create some new standard library modules

This commit is contained in:
2020-03-13 13:36:50 +01:00
parent a5fba7e8b1
commit 264100eef1
12 changed files with 82 additions and 18 deletions

View File

View File

@@ -0,0 +1,7 @@
version=0.0.1
pluginVersion=0.1
pluginId=smnp.collection
pluginClass=
pluginProvider=Bartłomiej Pluta
pluginDependencies=

View File

@@ -0,0 +1,9 @@
package io.smnp.ext
import org.pf4j.Extension
@Extension
class CollectionModule : LanguageModuleProvider("smnp.collection") {
override fun files() = listOf("list.mus")
override fun dependencies() = listOf("smnp.lang")
}

View File

@@ -0,0 +1,15 @@
function flatten(...lists: list) {
return _flatten(lists as list ^ _flatten(list, []), []);
}
function _flatten(list: list, output: list) {
list as element ^ {
if (typeOf(element) == "list") {
output = _flatten(element, output);
} else {
output = output + [element];
}
}
return output;
}