| // 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 'fedcm.dart'; |
| import 'web_otp.dart'; |
| import 'webauthn.dart'; |
| |
| typedef PasswordCredentialInit = JSObject; |
| typedef CredentialMediationRequirement = String; |
| |
| @JS('Credential') |
| @staticInterop |
| class Credential { |
| external static JSPromise isConditionalMediationAvailable(); |
| } |
| |
| extension CredentialExtension on Credential { |
| external String get id; |
| external String get type; |
| } |
| |
| @JS('CredentialsContainer') |
| @staticInterop |
| class CredentialsContainer {} |
| |
| extension CredentialsContainerExtension on CredentialsContainer { |
| external JSPromise get([CredentialRequestOptions options]); |
| external JSPromise store(Credential credential); |
| external JSPromise create([CredentialCreationOptions options]); |
| external JSPromise preventSilentAccess(); |
| } |
| |
| @JS() |
| @staticInterop |
| @anonymous |
| class CredentialData { |
| external factory CredentialData({required String id}); |
| } |
| |
| extension CredentialDataExtension on CredentialData { |
| external set id(String value); |
| external String get id; |
| } |
| |
| @JS() |
| @staticInterop |
| @anonymous |
| class CredentialRequestOptions { |
| external factory CredentialRequestOptions({ |
| IdentityCredentialRequestOptions identity, |
| CredentialMediationRequirement mediation, |
| AbortSignal signal, |
| bool password, |
| FederatedCredentialRequestOptions federated, |
| OTPCredentialRequestOptions otp, |
| PublicKeyCredentialRequestOptions publicKey, |
| }); |
| } |
| |
| extension CredentialRequestOptionsExtension on CredentialRequestOptions { |
| external set identity(IdentityCredentialRequestOptions value); |
| external IdentityCredentialRequestOptions get identity; |
| external set mediation(CredentialMediationRequirement value); |
| external CredentialMediationRequirement get mediation; |
| external set signal(AbortSignal value); |
| external AbortSignal get signal; |
| external set password(bool value); |
| external bool get password; |
| external set federated(FederatedCredentialRequestOptions value); |
| external FederatedCredentialRequestOptions get federated; |
| external set otp(OTPCredentialRequestOptions value); |
| external OTPCredentialRequestOptions get otp; |
| external set publicKey(PublicKeyCredentialRequestOptions value); |
| external PublicKeyCredentialRequestOptions get publicKey; |
| } |
| |
| @JS() |
| @staticInterop |
| @anonymous |
| class CredentialCreationOptions { |
| external factory CredentialCreationOptions({ |
| AbortSignal signal, |
| PasswordCredentialInit password, |
| FederatedCredentialInit federated, |
| PublicKeyCredentialCreationOptions publicKey, |
| }); |
| } |
| |
| extension CredentialCreationOptionsExtension on CredentialCreationOptions { |
| external set signal(AbortSignal value); |
| external AbortSignal get signal; |
| external set password(PasswordCredentialInit value); |
| external PasswordCredentialInit get password; |
| external set federated(FederatedCredentialInit value); |
| external FederatedCredentialInit get federated; |
| external set publicKey(PublicKeyCredentialCreationOptions value); |
| external PublicKeyCredentialCreationOptions get publicKey; |
| } |
| |
| @JS('PasswordCredential') |
| @staticInterop |
| class PasswordCredential implements Credential { |
| external factory PasswordCredential(JSObject dataOrForm); |
| } |
| |
| extension PasswordCredentialExtension on PasswordCredential { |
| external String get password; |
| external String get name; |
| external String get iconURL; |
| } |
| |
| @JS() |
| @staticInterop |
| @anonymous |
| class PasswordCredentialData implements CredentialData { |
| external factory PasswordCredentialData({ |
| String name, |
| String iconURL, |
| required String origin, |
| required String password, |
| }); |
| } |
| |
| extension PasswordCredentialDataExtension on PasswordCredentialData { |
| external set name(String value); |
| external String get name; |
| external set iconURL(String value); |
| external String get iconURL; |
| external set origin(String value); |
| external String get origin; |
| external set password(String value); |
| external String get password; |
| } |
| |
| @JS('FederatedCredential') |
| @staticInterop |
| class FederatedCredential implements Credential { |
| external factory FederatedCredential(FederatedCredentialInit data); |
| } |
| |
| extension FederatedCredentialExtension on FederatedCredential { |
| external String get provider; |
| external String? get protocol; |
| external String get name; |
| external String get iconURL; |
| } |
| |
| @JS() |
| @staticInterop |
| @anonymous |
| class FederatedCredentialRequestOptions { |
| external factory FederatedCredentialRequestOptions({ |
| JSArray providers, |
| JSArray protocols, |
| }); |
| } |
| |
| extension FederatedCredentialRequestOptionsExtension |
| on FederatedCredentialRequestOptions { |
| external set providers(JSArray value); |
| external JSArray get providers; |
| external set protocols(JSArray value); |
| external JSArray get protocols; |
| } |
| |
| @JS() |
| @staticInterop |
| @anonymous |
| class FederatedCredentialInit implements CredentialData { |
| external factory FederatedCredentialInit({ |
| String name, |
| String iconURL, |
| required String origin, |
| required String provider, |
| String protocol, |
| }); |
| } |
| |
| extension FederatedCredentialInitExtension on FederatedCredentialInit { |
| external set name(String value); |
| external String get name; |
| external set iconURL(String value); |
| external String get iconURL; |
| external set origin(String value); |
| external String get origin; |
| external set provider(String value); |
| external String get provider; |
| external set protocol(String value); |
| external String get protocol; |
| } |