// GENERATED — DO NOT EDIT

///|
#borrow(text, analysis, attrs)
extern "c" fn moonbit_pango_default_break(
  text : Bytes,
  length : Int,
  analysis : @glib.Nullable[Analysis],
  attrs : Ref[FixedArray[LogAttr]],
) = "moonbit_pango_default_break"

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/func.default_break.html).
pub fn default_break(
  text : String,
  length : Int,
  analysis : Analysis?,
) -> Array[LogAttr] {
  let attrs : Ref[FixedArray[LogAttr]] = Ref([])
  moonbit_pango_default_break(
    @encoding/utf8.encode(text),
    length,
    match analysis {
      Some(v) => @glib.Nullable::some(v)
      None => @glib.Nullable::null()
    },
    attrs,
  )
  let result : Array[LogAttr] = Array::new(capacity=attrs.val.length())
  for i in 0..