open method

Future<Database> open (String name, { int version, void onUpgradeNeeded(VersionChangeEvent event), void onBlocked(Event event) })

Implementation

Future<Database> open(String name,
    {int version,
    void onUpgradeNeeded(VersionChangeEvent event),
    void onBlocked(Event event)}) {
  if ((version == null) != (onUpgradeNeeded == null)) {
    return new Future.error(new ArgumentError(
        'version and onUpgradeNeeded must be specified together'));
  }
  try {
    var request;
    if (version != null) {
      request = _open(name, version);
    } else {
      request = _open(name);
    }

    if (onUpgradeNeeded != null) {
      request.onUpgradeNeeded.listen(onUpgradeNeeded);
    }
    if (onBlocked != null) {
      request.onBlocked.listen(onBlocked);
    }
    return _completeRequest(request);
  } catch (e, stacktrace) {
    return new Future.error(e, stacktrace);
  }
}