|  | // DO NOT EDIT - unless you are editing documentation as per: | 
|  | // https://code.google.com/p/dart/wiki/ContributingHTMLDocumentation | 
|  | // Auto-generated dart:web_sql library. | 
|  |  | 
|  | /// An API for storing data in the browser that can be queried with SQL. | 
|  | /// | 
|  | /// **Caution:** this specification is no longer actively maintained by the Web | 
|  | /// Applications Working Group and may be removed at any time. | 
|  | /// See [the W3C Web SQL Database specification](http://www.w3.org/TR/webdatabase/) | 
|  | /// for more information. | 
|  | /// | 
|  | /// The [dart:indexed_db] APIs is a recommended alternatives. | 
|  | /// | 
|  | /// {@category Web (Legacy)} | 
|  | /// {@nodoc} | 
|  | @deprecated | 
|  | library dart.dom.web_sql; | 
|  |  | 
|  | import 'dart:async'; | 
|  | import 'dart:collection' hide LinkedList, LinkedListEntry; | 
|  | import 'dart:_internal' show FixedLengthListMixin; | 
|  | import 'dart:html'; | 
|  | import 'dart:html_common'; | 
|  | import 'dart:_foreign_helper' show JS; | 
|  | import 'dart:_interceptors' show JavaScriptObject; | 
|  |  | 
|  | import 'dart:_js_helper' | 
|  | show | 
|  | applyExtension, | 
|  | convertDartClosureToJS, | 
|  | Creates, | 
|  | JSName, | 
|  | Native, | 
|  | JavaScriptIndexingBehavior, | 
|  | Returns; | 
|  |  | 
|  | // Copyright (c) 2012, 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. | 
|  |  | 
|  | // WARNING: Do not edit - generated code. | 
|  |  | 
|  | typedef void SqlStatementCallback( | 
|  | SqlTransaction transaction, | 
|  | SqlResultSet resultSet, | 
|  | ); | 
|  | // Copyright (c) 2012, 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. | 
|  |  | 
|  | // WARNING: Do not edit - generated code. | 
|  |  | 
|  | typedef void SqlStatementErrorCallback( | 
|  | SqlTransaction transaction, | 
|  | SqlError error, | 
|  | ); | 
|  | // Copyright (c) 2012, 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. | 
|  |  | 
|  | // WARNING: Do not edit - generated code. | 
|  |  | 
|  | typedef void SqlTransactionCallback(SqlTransaction transaction); | 
|  | // Copyright (c) 2012, 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. | 
|  |  | 
|  | // WARNING: Do not edit - generated code. | 
|  |  | 
|  | typedef void SqlTransactionErrorCallback(SqlError error); | 
|  | // Copyright (c) 2012, 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. | 
|  |  | 
|  | @SupportedBrowser(SupportedBrowser.CHROME) | 
|  | @SupportedBrowser(SupportedBrowser.SAFARI) | 
|  | @Native("Database") | 
|  | class SqlDatabase extends JavaScriptObject { | 
|  | // To suppress missing implicit constructor warnings. | 
|  | factory SqlDatabase._() { | 
|  | throw new UnsupportedError("Not supported"); | 
|  | } | 
|  |  | 
|  | /// Checks if this type is supported on the current platform. | 
|  | static bool get supported => JS('bool', '!!(window.openDatabase)'); | 
|  |  | 
|  | String? get version native; | 
|  |  | 
|  | @JSName('changeVersion') | 
|  | /** | 
|  | * Atomically update the database version to [newVersion], asynchronously | 
|  | * running [callback] on the [SqlTransaction] representing this | 
|  | * [changeVersion] transaction. | 
|  | * | 
|  | * If [callback] runs successfully, then [successCallback] is called. | 
|  | * Otherwise, [errorCallback] is called. | 
|  | * | 
|  | * [oldVersion] should match the database's current [version] exactly. | 
|  | * | 
|  | * See also: | 
|  | * | 
|  | * * [Database.changeVersion](http://www.w3.org/TR/webdatabase/#dom-database-changeversion) from W3C. | 
|  | */ | 
|  | void _changeVersion( | 
|  | String oldVersion, | 
|  | String newVersion, [ | 
|  | SqlTransactionCallback? callback, | 
|  | SqlTransactionErrorCallback? errorCallback, | 
|  | VoidCallback? successCallback, | 
|  | ]) native; | 
|  |  | 
|  | @JSName('changeVersion') | 
|  | /** | 
|  | * Atomically update the database version to [newVersion], asynchronously | 
|  | * running [callback] on the [SqlTransaction] representing this | 
|  | * [changeVersion] transaction. | 
|  | * | 
|  | * If [callback] runs successfully, then [successCallback] is called. | 
|  | * Otherwise, [errorCallback] is called. | 
|  | * | 
|  | * [oldVersion] should match the database's current [version] exactly. | 
|  | * | 
|  | * See also: | 
|  | * | 
|  | * * [Database.changeVersion](http://www.w3.org/TR/webdatabase/#dom-database-changeversion) from W3C. | 
|  | */ | 
|  | Future<SqlTransaction> changeVersion(String oldVersion, String newVersion) { | 
|  | var completer = new Completer<SqlTransaction>(); | 
|  | _changeVersion( | 
|  | oldVersion, | 
|  | newVersion, | 
|  | (value) { | 
|  | completer.complete(value); | 
|  | }, | 
|  | (error) { | 
|  | completer.completeError(error); | 
|  | }, | 
|  | ); | 
|  | return completer.future; | 
|  | } | 
|  |  | 
|  | @JSName('readTransaction') | 
|  | void _readTransaction( | 
|  | SqlTransactionCallback callback, [ | 
|  | SqlTransactionErrorCallback? errorCallback, | 
|  | VoidCallback? successCallback, | 
|  | ]) native; | 
|  |  | 
|  | @JSName('readTransaction') | 
|  | Future<SqlTransaction> readTransaction() { | 
|  | var completer = new Completer<SqlTransaction>(); | 
|  | _readTransaction( | 
|  | (value) { | 
|  | completer.complete(value); | 
|  | }, | 
|  | (error) { | 
|  | completer.completeError(error); | 
|  | }, | 
|  | ); | 
|  | return completer.future; | 
|  | } | 
|  |  | 
|  | void transaction( | 
|  | SqlTransactionCallback callback, [ | 
|  | SqlTransactionErrorCallback? errorCallback, | 
|  | VoidCallback? successCallback, | 
|  | ]) native; | 
|  |  | 
|  | @JSName('transaction') | 
|  | Future<SqlTransaction> transaction_future() { | 
|  | var completer = new Completer<SqlTransaction>(); | 
|  | transaction( | 
|  | (value) { | 
|  | applyExtension('SQLTransaction', value); | 
|  | completer.complete(value); | 
|  | }, | 
|  | (error) { | 
|  | completer.completeError(error); | 
|  | }, | 
|  | ); | 
|  | return completer.future; | 
|  | } | 
|  | } | 
|  | // Copyright (c) 2012, 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. | 
|  |  | 
|  | @Native("SQLError") | 
|  | class SqlError extends JavaScriptObject { | 
|  | // To suppress missing implicit constructor warnings. | 
|  | factory SqlError._() { | 
|  | throw new UnsupportedError("Not supported"); | 
|  | } | 
|  |  | 
|  | static const int CONSTRAINT_ERR = 6; | 
|  |  | 
|  | static const int DATABASE_ERR = 1; | 
|  |  | 
|  | static const int QUOTA_ERR = 4; | 
|  |  | 
|  | static const int SYNTAX_ERR = 5; | 
|  |  | 
|  | static const int TIMEOUT_ERR = 7; | 
|  |  | 
|  | static const int TOO_LARGE_ERR = 3; | 
|  |  | 
|  | static const int UNKNOWN_ERR = 0; | 
|  |  | 
|  | static const int VERSION_ERR = 2; | 
|  |  | 
|  | int? get code native; | 
|  |  | 
|  | String? get message native; | 
|  | } | 
|  | // Copyright (c) 2012, 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. | 
|  |  | 
|  | @Native("SQLResultSet") | 
|  | class SqlResultSet extends JavaScriptObject { | 
|  | // To suppress missing implicit constructor warnings. | 
|  | factory SqlResultSet._() { | 
|  | throw new UnsupportedError("Not supported"); | 
|  | } | 
|  |  | 
|  | int? get insertId native; | 
|  |  | 
|  | SqlResultSetRowList? get rows native; | 
|  |  | 
|  | int? get rowsAffected native; | 
|  | } | 
|  | // Copyright (c) 2012, 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. | 
|  |  | 
|  | @Native("SQLResultSetRowList") | 
|  | class SqlResultSetRowList extends JavaScriptObject | 
|  | with ListMixin<Map>, ImmutableListMixin<Map> | 
|  | implements List<Map> { | 
|  | // To suppress missing implicit constructor warnings. | 
|  | factory SqlResultSetRowList._() { | 
|  | throw new UnsupportedError("Not supported"); | 
|  | } | 
|  |  | 
|  | int get length => JS("int", "#.length", this); | 
|  |  | 
|  | Map operator [](int index) { | 
|  | if (JS("bool", "# >>> 0 !== # || # >= #", index, index, index, length)) | 
|  | throw new IndexError.withLength(index, length, indexable: this); | 
|  | return this.item(index)!; | 
|  | } | 
|  |  | 
|  | void operator []=(int index, Map value) { | 
|  | throw new UnsupportedError("Cannot assign element of immutable List."); | 
|  | } | 
|  | // -- start List<Map> mixins. | 
|  | // Map is the element type. | 
|  |  | 
|  | set length(int newLength) { | 
|  | throw new UnsupportedError("Cannot resize immutable List."); | 
|  | } | 
|  |  | 
|  | Map get first { | 
|  | if (this.length > 0) { | 
|  | return JS('Map', '#[0]', this); | 
|  | } | 
|  | throw new StateError("No elements"); | 
|  | } | 
|  |  | 
|  | Map get last { | 
|  | int len = this.length; | 
|  | if (len > 0) { | 
|  | return JS('Map', '#[#]', this, len - 1); | 
|  | } | 
|  | throw new StateError("No elements"); | 
|  | } | 
|  |  | 
|  | Map get single { | 
|  | int len = this.length; | 
|  | if (len == 1) { | 
|  | return JS('Map', '#[0]', this); | 
|  | } | 
|  | if (len == 0) throw new StateError("No elements"); | 
|  | throw new StateError("More than one element"); | 
|  | } | 
|  |  | 
|  | Map elementAt(int index) => this[index]; | 
|  | // -- end List<Map> mixins. | 
|  |  | 
|  | Map? item(int index) { | 
|  | return convertNativeToDart_Dictionary(_item_1(index)); | 
|  | } | 
|  |  | 
|  | @JSName('item') | 
|  | _item_1(index) native; | 
|  | } | 
|  | // Copyright (c) 2012, 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. | 
|  |  | 
|  | @SupportedBrowser(SupportedBrowser.CHROME) | 
|  | @SupportedBrowser(SupportedBrowser.SAFARI) | 
|  | // http://www.w3.org/TR/webdatabase/#sqltransaction | 
|  | @deprecated // deprecated | 
|  | @Native("SQLTransaction") | 
|  | class SqlTransaction extends JavaScriptObject { | 
|  | // To suppress missing implicit constructor warnings. | 
|  | factory SqlTransaction._() { | 
|  | throw new UnsupportedError("Not supported"); | 
|  | } | 
|  |  | 
|  | @JSName('executeSql') | 
|  | void _executeSql( | 
|  | String sqlStatement, [ | 
|  | List? arguments, | 
|  | SqlStatementCallback? callback, | 
|  | SqlStatementErrorCallback? errorCallback, | 
|  | ]) native; | 
|  |  | 
|  | @JSName('executeSql') | 
|  | Future<SqlResultSet> executeSql(String sqlStatement, [List? arguments]) { | 
|  | var completer = new Completer<SqlResultSet>(); | 
|  | _executeSql( | 
|  | sqlStatement, | 
|  | arguments, | 
|  | (transaction, resultSet) { | 
|  | applyExtension('SQLResultSet', resultSet); | 
|  | applyExtension('SQLResultSetRowList', resultSet.rows); | 
|  | completer.complete(resultSet); | 
|  | }, | 
|  | (transaction, error) { | 
|  | completer.completeError(error); | 
|  | }, | 
|  | ); | 
|  | return completer.future; | 
|  | } | 
|  | } |