blob: 8c66141f695ae0e1fd15a19f9213b7b424c5360b [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';
typedef LockGrantedCallback = JSFunction;
typedef LockMode = String;
@JS('LockManager')
@staticInterop
class LockManager {}
extension LockManagerExtension on LockManager {
external JSPromise request(
String name,
JSObject callbackOrOptions, [
LockGrantedCallback callback,
]);
external JSPromise query();
}
@JS()
@staticInterop
@anonymous
class LockOptions {
external factory LockOptions({
LockMode mode,
bool ifAvailable,
bool steal,
AbortSignal signal,
});
}
extension LockOptionsExtension on LockOptions {
external set mode(LockMode value);
external LockMode get mode;
external set ifAvailable(bool value);
external bool get ifAvailable;
external set steal(bool value);
external bool get steal;
external set signal(AbortSignal value);
external AbortSignal get signal;
}
@JS()
@staticInterop
@anonymous
class LockManagerSnapshot {
external factory LockManagerSnapshot({
JSArray held,
JSArray pending,
});
}
extension LockManagerSnapshotExtension on LockManagerSnapshot {
external set held(JSArray value);
external JSArray get held;
external set pending(JSArray value);
external JSArray get pending;
}
@JS()
@staticInterop
@anonymous
class LockInfo {
external factory LockInfo({
String name,
LockMode mode,
String clientId,
});
}
extension LockInfoExtension on LockInfo {
external set name(String value);
external String get name;
external set mode(LockMode value);
external LockMode get mode;
external set clientId(String value);
external String get clientId;
}
@JS('Lock')
@staticInterop
class Lock {}
extension LockExtension on Lock {
external String get name;
external LockMode get mode;
}