Current section
Files
Jump to
Current section
Files
lib/bson/utils.ex
defmodule BSON.Utils do
@moduledoc false
defmacro __using__(_) do
quote do
import BSON.Utils
import Mongo.BinaryUtils
@type_float 0x01
@type_string 0x02
@type_document 0x03
@type_array 0x04
@type_binary 0x05
@type_objectid 0x07
@type_bool 0x08
@type_datetime 0x09
@type_null 0x0A
@type_regex 0x0B
@type_js 0x0D
@type_symbol 0x0E
@type_js_scope 0x0F
@type_int32 0x10
@type_timestamp 0x11
@type_int64 0x12
@type_min 0x13
@type_max 0x14
end
end
@int32_min -2_147_483_648
@int32_max 2_147_483_647
@int64_min -9_223_372_036_854_775_808
@int64_max 9_223_372_036_854_775_807
defmacro is_int32(value) do
quote do
is_integer(unquote(value))
and unquote(value) in unquote(@int32_min)..unquote(@int32_max)
end
end
defmacro is_int64(value) do
quote do
is_integer(unquote(value))
and unquote(value) in unquote(@int64_min)..unquote(@int64_max)
end
end
end