def reverse_array_after_separator_acc_many

qasim-bend-kit@0.1.0.2 · proof/JSON_SourceProof.bend:1139

import qasim-bend-kit@0.1.0.2/proof/JSON_SourceProof.bend as JSONSourceProof
import Base
import qasim-bend-kit@0.1.0.2/libs/JSON.bend as J
import qasim-bend-kit@0.1.0.2/proof/JSON_ListProof.bend as LP

1139def reverse_array_after_separator_acc_many(+head: J.Value,
1140                                           +next: J.Value,
1141                                           +tail: List<&2, J.Value>,
1142                                           +acc: List<&2, J.Lexeme>) -> {List.append(&2, J.Lexeme, reverse_source_task(J.Arr{next <> tail}, RenderAfterSeparator{}), J.Punctuation{','} <> List.append(&2, J.Lexeme, reverse_source_task(head, RenderWhole{}), acc)) == List.append(&2, J.Lexeme, reverse_source_task(J.Arr{head <> next <> tail}, RenderAfterSeparator{}), acc) : List<&2, J.Lexeme>}:
1143    Equal.trans(List<&2, J.Lexeme>,
1144        List.append(&2, J.Lexeme, reverse_source_task(J.Arr{next <> tail}, RenderAfterSeparator{}),
1145            J.Punctuation{','} <> List.append(&2, J.Lexeme, reverse_source_task(head, RenderWhole{}), acc)),
1146        List.append(&2, J.Lexeme,
1147            List.append(&2, J.Lexeme, reverse_source_task(J.Arr{next <> tail}, RenderAfterSeparator{}), J.Punctuation{','} <> Nil{}),
1148            List.append(&2, J.Lexeme, reverse_source_task(head, RenderWhole{}), acc)),
1149        List.append(&2, J.Lexeme, reverse_source_task(J.Arr{head <> next <> tail}, RenderAfterSeparator{}), acc),
1150        Equal.sym(List<&2, J.Lexeme>,
1151            List.append(&2, J.Lexeme,
1152                List.append(&2, J.Lexeme, reverse_source_task(J.Arr{next <> tail}, RenderAfterSeparator{}), J.Punctuation{','} <> Nil{}),
1153                List.append(&2, J.Lexeme, reverse_source_task(head, RenderWhole{}), acc)),
1154            List.append(&2, J.Lexeme, reverse_source_task(J.Arr{next <> tail}, RenderAfterSeparator{}),
1155                J.Punctuation{','} <> List.append(&2, J.Lexeme, reverse_source_task(head, RenderWhole{}), acc)),
1156            LP.append_assoc(J.Lexeme, reverse_source_task(J.Arr{next <> tail}, RenderAfterSeparator{}),
1157                J.Punctuation{','} <> Nil{}, List.append(&2, J.Lexeme, reverse_source_task(head, RenderWhole{}), acc))),
1158        Equal.trans(List<&2, J.Lexeme>,
1159            List.append(&2, J.Lexeme,
1160                List.append(&2, J.Lexeme, reverse_source_task(J.Arr{next <> tail}, RenderAfterSeparator{}), J.Punctuation{','} <> Nil{}),
1161                List.append(&2, J.Lexeme, reverse_source_task(head, RenderWhole{}), acc)),
1162            List.append(&2, J.Lexeme,
1163                reverse_source_task(J.Arr{next <> tail}, RenderMembers{}),
1164                List.append(&2, J.Lexeme, reverse_source_task(head, RenderWhole{}), acc)),
1165            List.append(&2, J.Lexeme, reverse_source_task(J.Arr{head <> next <> tail}, RenderAfterSeparator{}), acc),
1166            Equal.cong(List<&2, J.Lexeme>, List<&2, J.Lexeme>, xs =>
1167                List.append(&2, J.Lexeme, xs, List.append(&2, J.Lexeme, reverse_source_task(head, RenderWhole{}), acc)),
1168                List.append(&2, J.Lexeme, reverse_source_task(J.Arr{next <> tail}, RenderAfterSeparator{}), J.Punctuation{','} <> Nil{}),
1169                reverse_source_task(J.Arr{next <> tail}, RenderMembers{}),
1170                Equal.sym(List<&2, J.Lexeme>, reverse_source_task(J.Arr{next <> tail}, RenderMembers{}),
1171                    List.append(&2, J.Lexeme, reverse_source_task(J.Arr{next <> tail}, RenderAfterSeparator{}), J.Punctuation{','} <> Nil{}),
1172                    reverse_source_array_members_after_separator(next, tail))),
1173            Equal.trans(List<&2, J.Lexeme>,
1174                List.append(&2, J.Lexeme, reverse_source_task(J.Arr{next <> tail}, RenderMembers{}),
1175                    List.append(&2, J.Lexeme, reverse_source_task(head, RenderWhole{}), acc)),
1176                List.append(&2, J.Lexeme,
1177                    List.append(&2, J.Lexeme, reverse_source_task(J.Arr{next <> tail}, RenderMembers{}), reverse_source_task(head, RenderWhole{})), acc),
1178                List.append(&2, J.Lexeme, reverse_source_task(J.Arr{head <> next <> tail}, RenderAfterSeparator{}), acc),
1179                Equal.sym(List<&2, J.Lexeme>,
1180                    List.append(&2, J.Lexeme,
1181                        List.append(&2, J.Lexeme, reverse_source_task(J.Arr{next <> tail}, RenderMembers{}), reverse_source_task(head, RenderWhole{})), acc),
1182                    List.append(&2, J.Lexeme, reverse_source_task(J.Arr{next <> tail}, RenderMembers{}),
1183                        List.append(&2, J.Lexeme, reverse_source_task(head, RenderWhole{}), acc)),
1184                    LP.append_assoc(J.Lexeme, reverse_source_task(J.Arr{next <> tail}, RenderMembers{}),
1185                        reverse_source_task(head, RenderWhole{}), acc)),
1186                Equal.sym(List<&2, J.Lexeme>,
1187                    List.append(&2, J.Lexeme, reverse_source_task(J.Arr{head <> next <> tail}, RenderAfterSeparator{}), acc),
1188                    List.append(&2, J.Lexeme,
1189                        List.append(&2, J.Lexeme, reverse_source_task(J.Arr{next <> tail}, RenderMembers{}), reverse_source_task(head, RenderWhole{})), acc),
1190                    Equal.cong(List<&2, J.Lexeme>, List<&2, J.Lexeme>, xs => List.append(&2, J.Lexeme, xs, acc),
1191                        reverse_source_task(J.Arr{head <> next <> tail}, RenderAfterSeparator{}),
1192                        List.append(&2, J.Lexeme, reverse_source_task(J.Arr{next <> tail}, RenderMembers{}), reverse_source_task(head, RenderWhole{})),
1193                        reverse_source_array_after_separator(head, next <> tail))))))

Uses (13)

Used by (2)