Move 'flat' function definition to standard library

This commit is contained in:
Bartłomiej Pluta
2019-07-12 23:12:09 +02:00
parent 4c03ca2f86
commit 439765f442
3 changed files with 3 additions and 26 deletions

View File

@@ -1,23 +0,0 @@
from smnp.function.model import Function
from smnp.function.signature import varargSignature
from smnp.type.model import Type
from smnp.type.signature.matcher.type import allTypes
_signature = varargSignature(allTypes())
def _function(env, vararg):
return Type.list(doFlat(vararg, [])).decompose()
def doFlat(input, output=None):
if output is None:
output = []
for item in input:
if item.type == Type.LIST:
doFlat(item.value, output)
else:
output.append(item)
return output
function = Function(_signature, _function, 'flat')