Files
serialize-js/src/limits.js

70 lines
1.2 KiB
JavaScript

const i8 = {
MIN_VALUE: -128,
MAX_VALUE: 127,
}
const i16 = {
MIN_VALUE: -32768,
MAX_VALUE: 32767,
}
const i32 = {
MIN_VALUE: -2147483648,
MAX_VALUE: 2147483647,
}
const i64 = {
MIN_VALUE: -9223372036854775808n,
MAX_VALUE: 9223372036854775807n,
}
const u8 = {
MIN_VALUE: 0,
MAX_VALUE: 255,
}
const u16 = {
MIN_VALUE: 0,
MAX_VALUE: 65535,
}
const u32 = {
MIN_VALUE: 0,
MAX_VALUE: 4294967295,
}
const u64 = {
MIN_VALUE: 0n,
MAX_VALUE: 18446744073709551615n,
}
const bool = {
MIN_VALUE: 0,
MAX_VALUE: 1,
}
const f32 = {
MIN_VALUE: -3.40282347e+38,
MAX_VALUE: 3.40282347e+38,
MIN_NORMAL_VALUE: 1.17549435e-38,
MIN_SAFE_INTEGER: -16777215,
MAX_SAFE_INTEGER: 16777215,
EPSILON: 1.19209290e-07,
}
const f64 = {
MIN_VALUE: -1.7976931348623157e+308,
MAX_VALUE: 1.7976931348623157e+308,
MIN_NORMAL_VALUE: 2.2250738585072014e-308,
MIN_SAFE_INTEGER: -9007199254740991,
MAX_SAFE_INTEGER: 9007199254740991,
EPSILON: 2.2204460492503131e-16,
}
export const limits = {
i8,
i16,
i32,
i64,
u8,
u16,
u32,
u64,
bool,
f32,
f64,
}
for (const limit of Object.values(limits)) {
Object.freeze(limit)
}
Object.freeze(limits)