KotlinでValidationライブラリを作ってみた

はじめに

先日のDevelopers.IO 2017「Androidで使えるKotlinレシピ」で発表したValidationをせっかくなのでライブラリ化し、公開してみました! kamedon/Validation

Validationの使い方

Installation

build.gradleに以下の設定を追加します。

repositories {
    maven { url 'http://kamedon.github.com/Validation/repository' }
}

dependencies {
    implementation 'com.kamedon:kotlin-validation:0.1.1'
}

ライブラリ公開が初で、一番簡単だったGithubをRepositoryにするパターンにしました。他の公開の仕方もチャレンジしたい。

Usage

文法的には発表資料に書いてある通り、

Validationを以下に分析し、そのまま記述できるようにした。

AはBである。そうでないとき Error Message

A be B not "Error Message"

(英語力が低すぎる。)

class User(val name: String, val age: Int)
val validation = Validation<User> {
    be { name.length >= 5 } not "name: 5 characters or more"
    be { age >= 20 } not "age: Over 20 years old"
}

val errorMessages = validation.validate(User("kamedon", 30))
//errorMessages: emptylist

val errorMessages =validation.validate(User("", 0)) 
//errorMessages: 2 message

まとめ

せっかくDSL作ったので公開しました。 まさかり フィードバックをお待ちしております!