Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bellapplab/atomicable

Atomic property wrappers for thread-safety and peace of mind
https://github.com/bellapplab/atomicable

Last synced: about 2 months ago
JSON representation

Atomic property wrappers for thread-safety and peace of mind

Awesome Lists containing this project

README

        

# Atomicable [![Version](https://img.shields.io/badge/Version-1.0.0-black.svg?style=flat)](#installation) [![License](https://img.shields.io/cocoapods/l/Atomicable.svg?style=flat)](#license)

[![Platforms](https://img.shields.io/badge/Platforms-iOS|tvOS|watchOS|macOS|Linux-brightgreen.svg?style=flat)](#installation)
[![Swift support](https://img.shields.io/badge/Swift-4.2%20%7C%205.3-red.svg?style=flat)](#swift-versions-support)
[![CocoaPods Compatible](https://img.shields.io/cocoapods/v/Atomicable.svg?style=flat&label=CocoaPods)](https://cocoapods.org/pods/Atomicable)
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
[![Swift Package Manager compatible](https://img.shields.io/badge/SPM-compatible-orange.svg?style=flat)](https://github.com/apple/swift-package-manager)
[![Twitter](https://img.shields.io/badge/[email protected]?style=flat)](http://twitter.com/BellAppLab)

![Atomicable](./Images/Atomicable.png)

Atomicable is a handy property wrapper that makes modifying properties an atomic operation via the use of locks.

Adapted from and inspired by [Mattt](https://github.com/mattgallagher/CwlUtils).

## Specs

* iOS 12+
* tvOS 12+
* watchOS 3+
* macOS 10.12+
* Swift 4.2+

## Installation

### Cocoapods

```ruby
pod 'Atomicable', '~> 1.0'
```

Then `import Atomicable` where needed.

### Carthage

```swift
github "BellAppLab/Atomicable" ~> 1.0
```

Then `import Atomicable` where needed.

### Swift Package Manager

```swift
dependencies: [
.package(url: "https://github.com/BellAppLab/Atomicable", from: "1.0")
]
```

Then `import Atomicable` where needed.

### Git Submodules

```shell
cd toYourProjectsFolder
git submodule add -b submodule --name Atomicable https://github.com/BellAppLab/Atomicable.git
```

Then drag the `Atomicable` folder into your Xcode project.

## Author

Bell App Lab, [email protected]

### Credits

[Logo image](https://thenounproject.com/search/?q=explosion&i=933208) by [P Thanga Vignesh](https://thenounproject.com/amoghdesign/) from [The Noun Project](https://thenounproject.com/)

## License

Atomicable is available under the MIT license. See the LICENSE file for more info.