nativePairToPairRecord function

({String key, String value}) nativePairToPairRecord(
  1. Pointer<NativePair> pointer, {
  2. bool free = false,
})

Implementation

({String key, String value}) nativePairToPairRecord(Pointer<NativePair> pointer, {bool free = false}) {
  if (pointer != nullptr) {
    final keyPtr = pointer.ref.key;
    final valuePtr = pointer.ref.value;

    String key = "";
    String value = "";

    if (keyPtr != nullptr) {
      final nativeKey = keyPtr.cast<NativeString>();
      key = nativeStringToString(nativeKey);
      if (free)
        freeNativeString(nativeKey);
    }

    if (valuePtr != nullptr) {
      final nativeValue = valuePtr.cast<NativeString>();
      value = nativeStringToString(nativeValue);
      if (free)
        freeNativeString(nativeValue);
    }

    if (free)
      malloc.free(pointer);

    return (key: key, value: value);
  }

  return (key: "", value: "");
}