query function

Future<List?> query(
  1. String sql, [
  2. List bind = const []
])

Implementation

Future<List?> query(String sql, [List bind = const []]) async {
  await _inited;

  /*
  const [] parameter will cause error
  Error: DataCloneError: Failed to execute 'postMessage' on 'Worker': function Array() { [native code] } could not be cloned.
  so I had to change the bind to none-constant value
    */
  var params = List.from(bind);

  var promise = callSqlite('exec', [sql, params]);
  var result = await promiseToFuture(promise);
  var rtn = [];
  for (var row in result) {
    var d = dartify(row) as Map;
    rtn.add(d);
  }
  return rtn;
}