toTemplate method

String toTemplate()
override

template に出力する用の形式. Array 系 と Object は chain で読み取られることを前提とした形式になる.

Implementation

String toTemplate() {

    final List<Body> list = [];

    for (final i in value) {

        final objectValuable = i.value;

        // validation はしない.
        switch (objectValuable) {
        case CitrusFlag(): list.add(Flag(i.name, Some(objectValuable.value)));
        case CitrusText(): list.add(Variety(i.name, Some(objectValuable.value)));
        case CitrusTextArray(): list.add(VarietyEnumeration(i.name, objectValuable.toPrimitive()));
        }

    }

    // head に object が無いと 値として定義されたときに chain exception になる.
    final chain = Chain(Some(Head('object')), list);

    return chain.serialize();

}