// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://webbluetoothcg.github.io/web-bluetooth/#bluetoothuuid

[
    RuntimeEnabled=WebBluetooth
] interface BluetoothUUID {
    [RaisesException] static UUID getService((DOMString or unsigned long) name);
    [RaisesException] static UUID getCharacteristic((DOMString or unsigned long) name);
    [RaisesException] static UUID getDescriptor((DOMString or unsigned long) name);

    static UUID canonicalUUID([EnforceRange] unsigned long alias);
};

typedef DOMString UUID;

typedef (DOMString or unsigned long) BluetoothServiceUUID;

typedef (DOMString or unsigned long) BluetoothCharacteristicUUID;

typedef (DOMString or unsigned long) BluetoothDescriptorUUID;
