def render_array

qasim-bend-kit@0.1.0.2 · proof/JSON_RenderLexProof.bend:397

import qasim-bend-kit@0.1.0.2/proof/JSON_RenderLexProof.bend as JSONRenderLexProof
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_SourceProof.bend as SP

397def render_array(+head: J.Value,
398                 +tail: List<&2, J.Value>,
399                 +mode: SP.RenderMode,
400                 +boundary: Boundary,
401                 +acc: List<&2, J.Lexeme>) -> {SP.render_task(J.Arr{head <> tail}, mode, boundary_text(boundary)) == prefix_text(ArrayKind{}, mode, SP.render_task(head, SP.RenderWhole{}, boundary_text(array_continuation(tail, boundary)))) : String}:
402    match mode:
403        case SP.RenderWhole{}:
404            Equal.cong(String, String,
405                x => prefix_text(ArrayKind{}, SP.RenderWhole{}, SP.render_task(head, SP.RenderWhole{}, x)),
406                SP.render_task(J.Arr{tail}, SP.RenderMembers{}, boundary_text(boundary)),
407                boundary_text(array_continuation(tail, boundary)),
408                array_continuation_text(tail, boundary))
409        case SP.RenderMembers{}:
410            Equal.cong(String, String,
411                x => prefix_text(ArrayKind{}, SP.RenderMembers{}, SP.render_task(head, SP.RenderWhole{}, x)),
412                SP.render_task(J.Arr{tail}, SP.RenderMembers{}, boundary_text(boundary)),
413                boundary_text(array_continuation(tail, boundary)),
414                array_continuation_text(tail, boundary))
415        case SP.RenderAfterSeparator{}:
416            Equal.cong(String, String,
417                x => prefix_text(ArrayKind{}, SP.RenderAfterSeparator{}, SP.render_task(head, SP.RenderWhole{}, x)),
418                SP.render_task(J.Arr{tail}, SP.RenderMembers{}, boundary_text(boundary)),
419                boundary_text(array_continuation(tail, boundary)),
420                array_continuation_text(tail, boundary))

Uses (13)

Used by (1)