acyclic_steps
明示的で循環のないステップ依存フレームワーク。並行評価と依存性注入をサポート。
洗練されたDartパッケージ。
明示的で循環のないステップ依存フレームワーク。並行評価と依存性注入をサポート。
暗号的にJSONオブジェクトのハッシュまたは署名を行う際に役立つ、標準的なJSONフォーマット用のエンコーダーおよびデコーダー。
チャンクストリーム(たとえば、`Stream>` のようなタイプのバイトチャンクのストリームとして提供されることが多い)を扱うためのユーティリティ。
IANA が登録したすべての HTTP メソッドのリスト(文字列のリスト)およびメタデータ(たとえば、メソッドが恒等的かどうか)。
メモリ内またはRedisキャッシュをラップするための洗練されたキャッシュ抽象。
Web サーバーなどの長期間実行されるプロセスで、定期タスクを信頼性高く実行するための補助クラス。
RFC 7468 に従ったテキストキーの PEM エンコード/デコード、ラクシーやストリクトモードの両方をサポートし、連結された PEM ブロックで構成される証明書チェーンも対応しています。
ネットワーク経由でのリクエスト時に役立つ、非同期関数を自動再試行ロジックと指数バックオフでラップするためのユーティリティ。
信頼できないURLが破損しているかどうかを確認し、プライベートIPアドレスへの接続を許可しないでください。
XSS を防ぐために、要素と属性を許可される値の安全なサブセットに制限することで、HTML をクリーニングするための関数。
UUIDv4のURLセーフな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.