acyclic_steps
一个显式的无环步骤依赖框架,支持并发评估和依赖注入。
精美的 Dart 包。
一个显式的无环步骤依赖框架,支持并发评估和依赖注入。
用于规范 JSON 格式的编码器和解码器,当对 JSON 对象进行加密哈希或签名时非常有用。
用于处理分块流的工具,例如字节流,通常以类型为 `Stream>` 的字节块流形式提供。
所有已由 IANA 注册的 HTTP 方法列表,以字符串形式列出,并包含诸如方法是否幂等的元数据。
一个简洁的缓存抽象,用于包装内存缓存或 Redis 缓存。
用于在长时间运行的进程(如 Web 服务器)中可靠地运行周期性任务的辅助类。
遵循 RFC 7468 的 PEM 编码/解码,支持宽松/严格模式,以及由多个 PEM 块连接而成的证书链。
用于将异步函数包装在自动重试逻辑中,带有指数退避,适用于通过网络进行请求时使用。
检查不受信任的 URL 是否已损坏,同时不允许连接到私有 IP 地址。
用于通过将元素和属性限制为允许值的安全子集来防止 XSS 的 HTML 清理函数。
一种适用于URL的UUIDv4的Base64编码,已去除填充。在URL中嵌入短随机UUID时非常有用。
^6.0.0以下为英文项目原文快照,最新内容请访问 GitHub。
A collection of a small neat packages for dart.
Disclaimer: This is not an officially supported Google product.
This repository is meant as a playground where small neat packages are cultivated. If package grows too large and complex and needs a dedicated issue tracker it should be moved to a dedicated repository.
Each folder in this repository contains a neat pub package. This project
aims to use a separate package whenever it makes sense to have an independent
major version. This often means splitting functionality into separate packages,
which can be reused independently.
| Package | Description | Version | Test |
|---|---|---|---|
| acyclic_steps | An explicit acyclic step dependency framework with concurrent evaluation and dependency injection. | pub package | acyclic_steps |
| canonical_json | Encoder and decoder for a canonical JSON format, useful when cryptographically hashing or signing JSON objects. | pub package | canonical_json |
| chunked_stream | Utilities for working with chunked streams, such as byte streams which is often given as a stream of byte chunks with type Stream<List<int>>. |
pub package | chunked_stream |
| dartdoc_test | Utilities for testing code snippets embedded in documentation comments. | pub package | dartdoc_test |
| http_methods | List of all HTTP methods registered with IANA as list of strings, and metadata such as whether a method idempotent. | pub package | http_methods |
| neat_cache | A neat cache abstraction for wrapping in-memory or redis caches. | pub package | neat_cache |
| neat_periodic_task | Auxiliary classes for reliably running a periodic task in a long-running process such as web-server. | pub package | neat_periodic_task |
| pem | PEM encoding/decoding of textual keys following RFC 7468, supporting both lax/strict-mode, and certificates chains of concatenated PEM blocks. | pub package | pem |
| retry | Utility for wrapping an asynchronous function in automatic retry logic with exponential back-off, useful when making requests over network. | pub package | retry |
| safe_url_check | Check if an untrusted URL is broken, without allowing connections to a private IP address. | pub package | safe_url_check |
| sanitize_html | Function for sanitizing HTML to prevent XSS by restrict elements and attributes to a safe subset of allowed values. | pub package | sanitize_html |
| slugid | A URL-safe base64 encoding for UUIDv4 stripped of padding. Useful when embedding short random UUIDs in URLs. | pub package | slugid |
| typed_sql | Package for doing SQL with some type safety. | pub package | typed_sql |
| vendor | Utility for vendoring packages into a project and rewriting import/export statements. | pub package | vendor |
Packages in this repository uses pub workspaces
a single dart pub get will resolve dependencies for all of them.
Configuration of Github Actions, issue templates, issue labels, etc is automated
with scripts in tool/.
We love patches and contributions, please refer to CONTRIBUTING.md for technicalities on CLA and community guidelines. As this project aims to build neat packages using other neat packages we might also accept proposals for new neat packages, though it's often easier to publish independently.
Unless stated otherwise contents in this repository is licensed under Apache License 2.0, see LICENSE.