value property

String get value

Returns the key expression as a Dart string.

A declared key expression reads back as the expression it was declared from, not as its numeric id.

Throws StateError if this KeyExpr has been disposed or undeclared.

Implementation

String get value {
  final loaned = loanedKeyExpr;
  final viewStr = calloc.allocate<Void>(bindings.zd_view_string_sizeof());
  try {
    bindings.zd_keyexpr_as_view_string(loaned.cast(), viewStr.cast());
    final data = bindings.zd_view_string_data(viewStr.cast());
    final len = bindings.zd_view_string_len(viewStr.cast());
    return data.cast<Utf8>().toDartString(length: len);
  } finally {
    calloc.free(viewStr);
  }
}