|
@@ -0,0 +1,48 @@
|
|
|
+# 1. DSL 笔记
|
|
|
+
|
|
|
+日期: 2018-06-21
|
|
|
+
|
|
|
+## 状态
|
|
|
+
|
|
|
+2018-06-21 提议
|
|
|
+
|
|
|
+## 背景
|
|
|
+
|
|
|
+使用 DSL 来进行业务简化及校验
|
|
|
+
|
|
|
+## 决策
|
|
|
+
|
|
|
+
|
|
|
+相关资源:
|
|
|
+
|
|
|
+### [kontur](https://github.com/zweifisch/kontur),使用 DSL 来生成校验逻辑
|
|
|
+
|
|
|
+```
|
|
|
+import { compile, bool, int, str } from 'kontur'
|
|
|
+
|
|
|
+compile({
|
|
|
+ gender: str,
|
|
|
+ age: int,
|
|
|
+ nickname: str,
|
|
|
+ verified: bool
|
|
|
+})
|
|
|
+```
|
|
|
+
|
|
|
+输出:
|
|
|
+
|
|
|
+```
|
|
|
+{
|
|
|
+ type: 'object',
|
|
|
+ properties: {
|
|
|
+ gender: { type: 'string' },
|
|
|
+ age: { type: 'integer' },
|
|
|
+ nickname: { type: 'string' },
|
|
|
+ verified: { type: 'boolean' }
|
|
|
+ },
|
|
|
+ required: [ 'gender', 'age', 'nickname', 'verified' ]
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+## 后果
|
|
|
+
|
|
|
+在这里记录结果...
|