根据您定义的规则验证复杂的json数据
poseidon-rules的Python项目详细描述
波塞冬规则
根据您定义的规则验证复杂的json数据。在
这个图书馆的哲学
业务代码具有复杂的逻辑,并且它们可以被深度包装,所以我们需要一个DSL来在一个地方定义这些规则。在
每个逻辑都可以有两个basci关系,and
或{
一旦一条规则不满足,整个逻辑规则将是错误的,调用帮助函数get_reason_stack
将找到规则的最深名称,即RuleFail
中包装的异常消息。在
规则是以dict格式定义的,这与Haskell lazy求值相比是糟糕的。因此,您可以将闭包函数传递给“must”或“else_must”,当“if”在运行时计算为true(“must”)或false(“else_must”)时,将调用该函数,而不是define time。此功能使您在某些情况下不必关心异常。在
使用
见test
- 项目
标签: