Skip to content

feather-framework/feather-storage

Repository files navigation

Feather Storage

Abstract storage component, providing a shared API surface for file storage drivers written in Swift.

Release: 1.0.0-beta.2

Features

  • Storage-agnostic abstraction layer
  • Designed for modern Swift concurrency
  • DocC-based API Documentation
  • Unit tests and code coverage

Requirements

Swift 6.1+ Platforms: Linux, macOS, iOS, tvOS, watchOS, visionOS

  • Swift 6.1+

  • Platforms:

    • Linux
    • macOS 15+
    • iOS 18+
    • tvOS 18+
    • watchOS 11+
    • visionOS 2+

Installation

Use Swift Package Manager; add the dependency to your Package.swift file:

.package(url: "https://github.com/feather-framework/feather-storage", exact: "1.0.0-beta.2"),

Then add FeatherStorage to your target dependencies:

.product(name: "FeatherStorage", package: "feather-storage"),

Usage

DocC API documentation

API documentation is available at the following link. Refer to the mock objects in the Tests directory if you want to build a custom storage driver implementation.

Warning

This repository is a work in progress, things can break until it reaches v1.0.0.

Storage drivers

The following storage driver implementations are available for use:

Development

  • Build: swift build
  • Test:
    • local: swift test
    • using Docker: make docker-test
  • Format: make format
  • Check: make check

Contributing

Pull requests are welcome. Please keep changes focused and include tests for new logic.

About

An abstract file storage service for Feather CMS.

Resources

License

Stars

1 star

Watchers

2 watching

Forks

Contributors