#validation #macro #input #length #accord

adequate

另一个受 Accord 启发的宏验证库

3 个版本

0.1.2 2021 年 5 月 19 日
0.1.1 2020 年 11 月 20 日
0.1.0 2020 年 10 月 15 日

#1493网页编程

每月 32 次下载

Apache-2.0 许可

22KB
489

Adequate

pipeline coverage crate::adequate doc::adequate

Adequate 是另一个受 Accord 启发的验证库。

仓库

主要在 GitLab.com 开发,但源代码也托管在以下多个仓库中。

欢迎任何合并/拉取请求或任何仓库中的问题。

# the main branch is "trunk"
% git clone [email protected]:grauwoelfchen/adequate.git
% git --no-pager branch -v
* trunk xxxxxxx XXX

安装

% cargo install adequate

使用

请参阅 src/validation 目录中的验证器。

use adequate::validation::length;

// inputs
let fullname = "Albrecht Dürer".to_string();
let username = "albrecht".to_string();

let result = validate! {
    "fullname" => fullname => [length::max(3)],
    "username" => username => [length::within(3..9)]
};
assert!(result.is_err());

验证

长度
  • max
  • max_if_present
  • min
  • min_if_present
  • within

构建

检查 make help

# debug build
% make build:debug

开发

验证

# check code using all verify:xxx targets
% make verify:all

测试

% make test

# or check the report by kcov
% make coverage

CI

使用 gitlab-runner 在本地 docker 容器(Gentoo Linux)上运行 CI 作业。
请参阅 .gitlab-ci.yml

# prepare environment variables for CI via .env.ci
% cp .env.ci.sample .env

# e.g. test (see .gitlab-ci.yml)
% make runner-test

发布

此包的所有重要发布更改都将记录在 CHANGELOG 文件中。

未发布提交

v0.1.1...trunk

许可证

Adequate
Copyright 2020-2021 Yasuhiro Яша Asaka

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   https://apache.ac.cn/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

依赖项

~67KB