diff options
Diffstat (limited to 'src/macros.py')
-rw-r--r-- | src/macros.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/macros.py b/src/macros.py new file mode 100644 index 0000000000..39d05c9a42 --- /dev/null +++ b/src/macros.py @@ -0,0 +1,16 @@ +macro IS_BOOLEAN(arg) = (typeof(arg) === 'boolean'); +macro IS_NULL(arg) = (arg === null); +macro IS_NULL_OR_UNDEFINED(arg) = (arg == null); +macro IS_NUMBER(arg) = (typeof(arg) === 'number'); +macro IS_STRING(arg) = (typeof(arg) === 'string'); +macro IS_SYMBOL(arg) = (typeof(arg) === 'symbol'); +macro IS_UNDEFINED(arg) = (typeof(arg) === 'undefined'); + +# These macros follow the semantics of V8's %_Is*() functions. +macro IS_ARRAY(arg) = (Array.isArray(arg)); +macro IS_DATE(arg) = ((arg) instanceof Date); +macro IS_FUNCTION(arg) = (typeof(arg) === 'function'); +macro IS_OBJECT(arg) = (typeof(arg) === 'object'); +macro IS_REGEXP(arg) = ((arg) instanceof RegExp); + +macro IS_BUFFER(arg) = ((arg) instanceof Buffer); |