aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-core/functional/number.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/mason-core/functional/number.lua')
-rw-r--r--lua/mason-core/functional/number.lua34
1 files changed, 34 insertions, 0 deletions
diff --git a/lua/mason-core/functional/number.lua b/lua/mason-core/functional/number.lua
new file mode 100644
index 00000000..11e8f88a
--- /dev/null
+++ b/lua/mason-core/functional/number.lua
@@ -0,0 +1,34 @@
+local fun = require "mason-core.functional.function"
+
+local _ = {}
+
+---@param number number
+_.negate = function(number)
+ return -number
+end
+
+_.gt = fun.curryN(function(number, value)
+ return value > number
+end, 2)
+
+_.gte = fun.curryN(function(number, value)
+ return value >= number
+end, 2)
+
+_.lt = fun.curryN(function(number, value)
+ return value < number
+end, 2)
+
+_.lte = fun.curryN(function(number, value)
+ return value <= number
+end, 2)
+
+_.inc = fun.curryN(function(increment, value)
+ return value + increment
+end, 2)
+
+_.dec = fun.curryN(function(decrement, value)
+ return value - decrement
+end, 2)
+
+return _