zaphyra's git: airpodsctl

Control and monitor your AirPods

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
package types

import (
	"fmt"
	"slices"
)

type Devices []Device

func (devices Devices) Get(macAddr string) (Device, error) {
	index := devices.GetIndex(macAddr)

	if index == -1 {
		return Device{}, fmt.Errorf("Faild to get device:", macAddr)
	}

	return devices[index], nil
}

func (devices Devices) GetIndex(macAddr string) int {
	return slices.IndexFunc(devices, func(device Device) bool {
		return device.Address == macAddr
	})
}