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

https://github.com/dartoos-dev/dartoos

Collection of object-oriented Dart primitives
https://github.com/dartoos-dev/dartoos

Last synced: 10 months ago
JSON representation

Collection of object-oriented Dart primitives

Awesome Lists containing this project

README

          

[![EO principles respected here](https://www.elegantobjects.org/badge.svg)](https://www.elegantobjects.org)
[![DevOps By Rultor.com](https://www.rultor.com/b/dartoos-dev/dartoos)](https://www.rultor.com/p/dartoos-dev/dartoos)

[![pub](https://img.shields.io/pub/v/dartoos)](https://pub.dev/packages/dartoos)
[![license](https://img.shields.io/badge/license-mit-green.svg)](https://github.com/dartoos-dev/dartoos/blob/master/LICENSE)
[![PDD status](https://www.0pdd.com/svg?name=dartoos-dev/dartoos)](https://www.0pdd.com/p?name=dartoos-dev/dartoos)

[![build](https://github.com/dartoos-dev/dartoos/actions/workflows/build.yml/badge.svg)](https://github.com/dartoos-dev/dartoos/actions/)
[![codecov](https://codecov.io/gh/dartoos-dev/dartoos/branch/master/graph/badge.svg?token=jYfO55O22s)](https://codecov.io/gh/dartoos-dev/dartoos)
[![CodeFactor Grade](https://img.shields.io/codefactor/grade/github/rafamizes/dartoos)](https://www.codefactor.io/repository/github/rafamizes/dartoos)
[![style: lint](https://img.shields.io/badge/style-lint-4BC0F5.svg)](https://pub.dev/packages/lint)
[![Hits-of-Code](https://hitsofcode.com/github/dartoos-dev/dartoos?branch=master)](https://hitsofcode.com/github/dartoos-dev/dartoos/view?branch=master)

**Dartoos** — Dart Object-Oriented Software

This package is a collection of object-oriented Dart primitives that implement
classic data structures, algorithms, encoding/decoding, encryption and more. It
is aimed to serve as a base framework for more specific packages.

**Motivation**: These data structures and algorithms have been implemented in
Dart by other packages already, but there are some issues with them:

- None of them is pure object-oriented. Indeed they do their job, but mostly
through static methods, mixins, procedures, etc.
- These packages are spread throughout the pub.dev ecosystem. This means that a
user need to find different packages for basic things like encryption,
encoding, or even for a plain `Queue` data structure.

This project is heavily inspired by Java
[jcabi-cactoos](https://github.com/yegor256/cactoos)

## Features

- No external dependencies.
- Object-Oriented mindset: each concept is implemented by an **immutable** class.
- Straightforward integration with the underlying Dart sdk.

## Getting started

## Usage

## Contribute

Contributors are welcome!

1. Open an issue regarding an improvement, a bug you noticed, or ask to be
assigned to an existing one.
2. If the issue is confirmed, fork the repository, do the changes on a separate
branch and make a _Pull Request_.
3. After review and acceptance, the _Pull Request_ is merged and closed.

Make sure the commands below **passes** before making a Pull Request.

```shell
dart analyze && sudo dart test
```

## Additional information