// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. part of $LIBRARYNAME; $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS { /** * Provides a Future which will be completed once the transaction has * completed. * * The future will error if an error occurrs on the transaction or if the * transaction is aborted. */ Future get completed { var completer = new Completer(); this.onComplete.first.then((_) { completer.complete(db); }); this.onError.first.then((e) { completer.completeError(e); }); this.onAbort.first.then((e) { // Avoid completing twice if an error occurs. if (!completer.isCompleted) { completer.completeError(e); } }); return completer.future; } $!MEMBERS }