<commit_before># SwiftyBluetooth

Fully featured Swift closure based library for CoreBluetooth Central operations on iOS devices.  

## Background 

CoreBluetooth and its delegate based API can be difficult to use at time. Often times you already know the specifications of the peripheral you're about to use and simply want to read or write predetermined Characteristics.  

SwiftyBluetooth tries to address these concerns by providing a clear, closure based, API for every CBCentralManager and CBPeripheral calls that are guaranteed to timeout in case of untraceable errors. If required, SwiftyBluetooth will also take care of connecting to peripherals and discovering the required attributes when executing read or write operations saving you from potential headaches and lowering the amount of work you need to do. 

## Features

- Synthaxic sugar and helper functions for common CoreBluetooth tasks 
- Closure based CBCentralManager peripheral scanning with a timeout
- NSNotification based event for CBCentralManager state changes and state restoration  
- Closure based calls for every CBPeripheral operations
- NSNotification based event for CBPeripheral name updates, characteristic value updates and services updates
- Precise errors and guaranteed timeout for every Bluetooth operation
 
## Usage

The Library has 2 important class: <commit_msg>no message<commit_after># SwiftyBluetooth

Fully featured Swift closure based library for CoreBluetooth Central operations on iOS devices.  

## Background 

CoreBluetooth and its delegate based API can be difficult to use at time. Often times you already know the specifications of the peripheral you're about to use and simply want to read or write predetermined Characteristics.  

SwiftyBluetooth tries to address these concerns by providing a clear, closure based, API for every CBCentralManager and CBPeripheral calls that are guaranteed to timeout in case of untraceable errors. If required, SwiftyBluetooth will also take care of connecting to peripherals and discovering the required attributes when executing read or write operations lowering the amount of work you need to do. 

## Features

- Synthaxic sugar and helper functions for common CoreBluetooth tasks 
- Closure based CBCentralManager peripheral scanning with a timeout
- NSNotification based event for CBCentralManager state changes and state restoration  
- Closure based calls for every CBPeripheral operations
- NSNotification based event for CBPeripheral name updates, characteristic value updates and services updates
- Precise errors and guaranteed timeout for every Bluetooth operation
 
## Usage

The Library has 2 important class: 
{'fraction_non_alphanumeric': 0.020232296740352193, 'fraction_numerical': 0.0007493443237167478, 'mean_word_length': 5.123853211009174, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '546250', 'n_tokens_mistral': 612, 'n_tokens_neox': 556, 'n_words': 359}