blob: 19c04536b31e7c67b0d8907665d2bb13d60d7e80 [file] [log] [blame]
// Copyright (c) 2024, 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.
// Generated from Web IDL definitions.
import 'dart:js_interop';
import 'dom.dart';
import 'html.dart';
import 'webidl.dart';
typedef IDBRequestReadyState = String;
typedef IDBTransactionDurability = String;
typedef IDBCursorDirection = String;
typedef IDBTransactionMode = String;
@JS('IDBRequest')
@staticInterop
class IDBRequest implements EventTarget {}
extension IDBRequestExtension on IDBRequest {
external JSAny? get result;
external DOMException? get error;
external JSObject? get source;
external IDBTransaction? get transaction;
external IDBRequestReadyState get readyState;
external set onsuccess(EventHandler value);
external EventHandler get onsuccess;
external set onerror(EventHandler value);
external EventHandler get onerror;
}
@JS('IDBOpenDBRequest')
@staticInterop
class IDBOpenDBRequest implements IDBRequest {}
extension IDBOpenDBRequestExtension on IDBOpenDBRequest {
external set onblocked(EventHandler value);
external EventHandler get onblocked;
external set onupgradeneeded(EventHandler value);
external EventHandler get onupgradeneeded;
}
@JS('IDBVersionChangeEvent')
@staticInterop
class IDBVersionChangeEvent implements Event {
external factory IDBVersionChangeEvent(
String type, [
IDBVersionChangeEventInit eventInitDict,
]);
}
extension IDBVersionChangeEventExtension on IDBVersionChangeEvent {
external int get oldVersion;
external int? get newVersion;
}
@JS()
@staticInterop
@anonymous
class IDBVersionChangeEventInit implements EventInit {
external factory IDBVersionChangeEventInit({
int oldVersion,
int? newVersion,
});
}
extension IDBVersionChangeEventInitExtension on IDBVersionChangeEventInit {
external set oldVersion(int value);
external int get oldVersion;
external set newVersion(int? value);
external int? get newVersion;
}
@JS('IDBFactory')
@staticInterop
class IDBFactory {}
extension IDBFactoryExtension on IDBFactory {
external IDBOpenDBRequest open(
String name, [
int version,
]);
external IDBOpenDBRequest deleteDatabase(String name);
external JSPromise databases();
external int cmp(
JSAny? first,
JSAny? second,
);
}
@JS()
@staticInterop
@anonymous
class IDBDatabaseInfo {
external factory IDBDatabaseInfo({
String name,
int version,
});
}
extension IDBDatabaseInfoExtension on IDBDatabaseInfo {
external set name(String value);
external String get name;
external set version(int value);
external int get version;
}
@JS('IDBDatabase')
@staticInterop
class IDBDatabase implements EventTarget {}
extension IDBDatabaseExtension on IDBDatabase {
external IDBTransaction transaction(
JSAny storeNames, [
IDBTransactionMode mode,
IDBTransactionOptions options,
]);
external void close();
external IDBObjectStore createObjectStore(
String name, [
IDBObjectStoreParameters options,
]);
external void deleteObjectStore(String name);
external String get name;
external int get version;
external DOMStringList get objectStoreNames;
external set onabort(EventHandler value);
external EventHandler get onabort;
external set onclose(EventHandler value);
external EventHandler get onclose;
external set onerror(EventHandler value);
external EventHandler get onerror;
external set onversionchange(EventHandler value);
external EventHandler get onversionchange;
}
@JS()
@staticInterop
@anonymous
class IDBTransactionOptions {
external factory IDBTransactionOptions({IDBTransactionDurability durability});
}
extension IDBTransactionOptionsExtension on IDBTransactionOptions {
external set durability(IDBTransactionDurability value);
external IDBTransactionDurability get durability;
}
@JS()
@staticInterop
@anonymous
class IDBObjectStoreParameters {
external factory IDBObjectStoreParameters({
JSAny? keyPath,
bool autoIncrement,
});
}
extension IDBObjectStoreParametersExtension on IDBObjectStoreParameters {
external set keyPath(JSAny? value);
external JSAny? get keyPath;
external set autoIncrement(bool value);
external bool get autoIncrement;
}
@JS('IDBObjectStore')
@staticInterop
class IDBObjectStore {}
extension IDBObjectStoreExtension on IDBObjectStore {
external IDBRequest put(
JSAny? value, [
JSAny? key,
]);
external IDBRequest add(
JSAny? value, [
JSAny? key,
]);
external IDBRequest delete(JSAny? query);
external IDBRequest clear();
external IDBRequest get(JSAny? query);
external IDBRequest getKey(JSAny? query);
external IDBRequest getAll([
JSAny? query,
int count,
]);
external IDBRequest getAllKeys([
JSAny? query,
int count,
]);
external IDBRequest count([JSAny? query]);
external IDBRequest openCursor([
JSAny? query,
IDBCursorDirection direction,
]);
external IDBRequest openKeyCursor([
JSAny? query,
IDBCursorDirection direction,
]);
external IDBIndex index(String name);
external IDBIndex createIndex(
String name,
JSAny keyPath, [
IDBIndexParameters options,
]);
external void deleteIndex(String name);
external set name(String value);
external String get name;
external JSAny? get keyPath;
external DOMStringList get indexNames;
external IDBTransaction get transaction;
external bool get autoIncrement;
}
@JS()
@staticInterop
@anonymous
class IDBIndexParameters {
external factory IDBIndexParameters({
bool unique,
bool multiEntry,
});
}
extension IDBIndexParametersExtension on IDBIndexParameters {
external set unique(bool value);
external bool get unique;
external set multiEntry(bool value);
external bool get multiEntry;
}
@JS('IDBIndex')
@staticInterop
class IDBIndex {}
extension IDBIndexExtension on IDBIndex {
external IDBRequest get(JSAny? query);
external IDBRequest getKey(JSAny? query);
external IDBRequest getAll([
JSAny? query,
int count,
]);
external IDBRequest getAllKeys([
JSAny? query,
int count,
]);
external IDBRequest count([JSAny? query]);
external IDBRequest openCursor([
JSAny? query,
IDBCursorDirection direction,
]);
external IDBRequest openKeyCursor([
JSAny? query,
IDBCursorDirection direction,
]);
external set name(String value);
external String get name;
external IDBObjectStore get objectStore;
external JSAny? get keyPath;
external bool get multiEntry;
external bool get unique;
}
@JS('IDBKeyRange')
@staticInterop
class IDBKeyRange {
external static IDBKeyRange only(JSAny? value);
external static IDBKeyRange lowerBound(
JSAny? lower, [
bool open,
]);
external static IDBKeyRange upperBound(
JSAny? upper, [
bool open,
]);
external static IDBKeyRange bound(
JSAny? lower,
JSAny? upper, [
bool lowerOpen,
bool upperOpen,
]);
}
extension IDBKeyRangeExtension on IDBKeyRange {
external bool includes(JSAny? key);
external JSAny? get lower;
external JSAny? get upper;
external bool get lowerOpen;
external bool get upperOpen;
}
@JS('IDBCursor')
@staticInterop
class IDBCursor {}
extension IDBCursorExtension on IDBCursor {
external void advance(int count);
@JS('continue')
external void continue_([JSAny? key]);
external void continuePrimaryKey(
JSAny? key,
JSAny? primaryKey,
);
external IDBRequest update(JSAny? value);
external IDBRequest delete();
external JSObject get source;
external IDBCursorDirection get direction;
external JSAny? get key;
external JSAny? get primaryKey;
external IDBRequest get request;
}
@JS('IDBCursorWithValue')
@staticInterop
class IDBCursorWithValue implements IDBCursor {}
extension IDBCursorWithValueExtension on IDBCursorWithValue {
external JSAny? get value;
}
@JS('IDBTransaction')
@staticInterop
class IDBTransaction implements EventTarget {}
extension IDBTransactionExtension on IDBTransaction {
external IDBObjectStore objectStore(String name);
external void commit();
external void abort();
external DOMStringList get objectStoreNames;
external IDBTransactionMode get mode;
external IDBTransactionDurability get durability;
external IDBDatabase get db;
external DOMException? get error;
external set onabort(EventHandler value);
external EventHandler get onabort;
external set oncomplete(EventHandler value);
external EventHandler get oncomplete;
external set onerror(EventHandler value);
external EventHandler get onerror;
}