Create some new standard library modules
This commit is contained in:
@@ -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")
|
||||
}
|
||||
15
modules/collection/src/main/resources/list.mus
Normal file
15
modules/collection/src/main/resources/list.mus
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user