more funcs
This commit is contained in:
parent
4f3f2f36fd
commit
0e7f1b20a3
2 changed files with 52 additions and 0 deletions
44
src/ytdl_sub/script/functions/boolean_functions.py
Normal file
44
src/ytdl_sub/script/functions/boolean_functions.py
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
from ytdl_sub.script.types.resolvable import Boolean
|
||||
from ytdl_sub.script.types.resolvable import Resolvable
|
||||
|
||||
|
||||
class BooleanFunctions:
|
||||
@staticmethod
|
||||
def bool(value: Resolvable) -> Boolean:
|
||||
return Boolean(bool(value.value))
|
||||
|
||||
@staticmethod
|
||||
def equals(left: Resolvable, right: Resolvable) -> Boolean:
|
||||
return Boolean(left.value == right.value)
|
||||
|
||||
@staticmethod
|
||||
def lt(left: Resolvable, right: Resolvable) -> Boolean:
|
||||
return Boolean(left.value < right.value)
|
||||
|
||||
@staticmethod
|
||||
def lte(left: Resolvable, right: Resolvable) -> Boolean:
|
||||
return Boolean(left.value <= right.value)
|
||||
|
||||
@staticmethod
|
||||
def gt(left: Resolvable, right: Resolvable) -> Boolean:
|
||||
return Boolean(left.value > right.value)
|
||||
|
||||
@staticmethod
|
||||
def gte(left: Resolvable, right: Resolvable) -> Boolean:
|
||||
return Boolean(left.value >= right.value)
|
||||
|
||||
@staticmethod
|
||||
def and_(left: Boolean, right: Boolean) -> Boolean:
|
||||
return Boolean(left.value and right.value)
|
||||
|
||||
@staticmethod
|
||||
def or_(left: Boolean, right: Boolean) -> Boolean:
|
||||
return Boolean(left.value or right.value)
|
||||
|
||||
@staticmethod
|
||||
def xor(left: Boolean, right: Boolean) -> Boolean:
|
||||
return Boolean(left.value ^ right.value)
|
||||
|
||||
@staticmethod
|
||||
def not_(value: Boolean) -> Boolean:
|
||||
return Boolean(not value.value)
|
||||
|
|
@ -38,3 +38,11 @@ class NumericFunctions:
|
|||
@staticmethod
|
||||
def mod(value: Integer, modulo: Integer) -> Integer:
|
||||
return Integer(value=value.value % modulo.value)
|
||||
|
||||
@staticmethod
|
||||
def max(left: Numeric, right: Numeric) -> Numeric:
|
||||
return _to_numeric(max(left.value, right.value))
|
||||
|
||||
@staticmethod
|
||||
def min(left: Numeric, right: Numeric) -> Numeric:
|
||||
return _to_numeric(min(left.value, right.value))
|
||||
|
|
|
|||
Loading…
Reference in a new issue