Mimics
Inactive cells
Active cells
Specs
Inactive cells (details)
kind = "Mixins Enumerable Destructor"
nested? = false
Active cells (details)
argumentNamesFromMappers()

nil

method(
  mappers flatMap(arguments))
createMappersFrom(arguments)

nil

method(arguments, 
  arguments map(x, Mapper from(x)) tap(m, 
    if(m [](-(1)) mimics?(Mapper Ignore), 
      m [](-(1)) last? = true)))
from(arg)

nil

method(arg, 
  newD = mimic 
  if(arg name ==(:("")), 
    newD mappers = createMappersFrom(arg arguments) 
    newD argNames = newD argumentNamesFromMappers 
    newD nested? = true, 
    newD argNames = [](arg) 
    ) 
  newD 
  )
mapValue(value, ms, result [])

nil

method(value, ms, result [], 
  value = value asTuple asList 
  if((ms length <(value length) &&(!(ms [](-(1)) mimics?(Mapper Ignore)))) ||(
      value length <(ms length)), 
    error!(Condition Error DestructuringMismatch) 
    ) 
  ms zip(value) fold(result, values, mapperAndValue, 
    mapperAndValue first assign(values, mapperAndValue second)) 
  )
unpack(value)

nil

method(value, 
  if(nested?, 
    mapValue(cell(:value), mappers), 
    list(cell(:value))) 
  )