diff options
Diffstat (limited to 'lua/mason-core/functional/relation.lua')
| -rw-r--r-- | lua/mason-core/functional/relation.lua | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lua/mason-core/functional/relation.lua b/lua/mason-core/functional/relation.lua new file mode 100644 index 00000000..94913a13 --- /dev/null +++ b/lua/mason-core/functional/relation.lua @@ -0,0 +1,17 @@ +local fun = require "mason-core.functional.function" + +local _ = {} + +_.equals = fun.curryN(function(expected, value) + return value == expected +end, 2) + +_.prop_eq = fun.curryN(function(property, value, tbl) + return tbl[property] == value +end, 3) + +_.prop_satisfies = fun.curryN(function(predicate, property, tbl) + return predicate(tbl[property]) +end, 3) + +return _ |
