from static method

Danger<BlockSandwich, CitrusSyntaxException> from(
  1. BlockTypeKeyword blockTypeKeyword,
  2. StartBlockArgumentable startBlockArgumentable,
  3. Iterable<DerivationCitrusSyntax> derivationCitrusSyntaxList
)

Implementation

static Danger<BlockSandwich, CitrusSyntaxException> from(BlockTypeKeyword blockTypeKeyword, StartBlockArgumentable startBlockArgumentable, Iterable<DerivationCitrusSyntax> derivationCitrusSyntaxList) {

    final log = Log(classLocation: BlockSandwich, functionLocation: 'from');

    final firstResult = StartBlock.from(blockTypeKeyword, startBlockArgumentable);
    log.add(firstResult);
    if (firstResult is! Success<StartBlock, CitrusSyntaxException>) return Failure(firstResult.asException, log);

    final result = BlockSandwich.fromIterable(
        firstResult.wrapped,
        derivationCitrusSyntaxList,
        EndBlock.from(blockTypeKeyword),
    );

    return Success(result, log);

}