diff --git a/src/lib/js/.string.rs.swp b/src/lib/js/.string.rs.swp new file mode 100644 index 00000000000..10aacd640fb Binary files /dev/null and b/src/lib/js/.string.rs.swp differ diff --git a/src/lib/js/mod.rs b/src/lib/js/mod.rs index 1c59657f314..3d549fa4455 100644 --- a/src/lib/js/mod.rs +++ b/src/lib/js/mod.rs @@ -12,6 +12,8 @@ pub mod function; pub mod json; /// The global `Math` object pub mod math; +/// The global `Number` object +pub mod number; /// The global `Object` object pub mod object; /// The global 'RegExp' object diff --git a/src/lib/js/number.rs b/src/lib/js/number.rs new file mode 100644 index 00000000000..a27a5625829 --- /dev/null +++ b/src/lib/js/number.rs @@ -0,0 +1,97 @@ +use crate::{ + exec::Interpreter, + js::value::{ResultValue, Value}, +}; + +/// Create a new number [[Construct]] +pub fn make_number(this: &Value, args: &[Value], ctx: &mut Interpreter) -> ResultValue { + unimplemented!() +} + +/// https://tc39.es/ecma262/#sec-number-constructor-number-value +pub fn call_number(this: &Value, args: &[Value], ctx: &mut Interpreter) -> ResultValue { + unimplemented!() +} + +/// https://tc39.es/ecma262/#sec-number.prototype.toexponential +pub fn to_expotential(this: &Value, args: &[Value], ctx: &mut Interpreter) -> ResultValue { + unimplemented!() +} + +/// https://tc39.es/ecma262/#sec-number.prototype.tofixed +pub fn to_fixed(this: &Value, args: &[Value], ctx: &mut Interpreter) -> ResultValue { + unimplemented!() +} + +/// https://tc39.es/ecma262/#sec-number.prototype.tolocalestring +pub fn to_locale_string(this: &Value, args: &[Value], ctx: &mut Interpreter) -> ResultValue { + unimplemented!() +} + +/// https://tc39.es/ecma262/#sec-number.prototype.toprecision +pub fn to_precision(this: &Value, args: &[Value], ctx: &mut Interpreter) -> ResultValue { + unimplemented!() +} + +/// https://tc39.es/ecma262/#sec-number.prototype.tostring +pub fn to_string(this: &Value, args: &[Value], ctx: &mut Interpreter) -> ResultValue { + unimplemented!() +} + +/// https://tc39.es/ecma262/#sec-number.prototype.valueof +pub fn value_of(this: &Value, args: &[Value], ctx: &mut Interpreter) -> ResultValue { + unimplemented!() +} + +/// Create a new `Number` object +pub fn create_constructor(global: &Value) -> Value { + unimplemented!() +} + +/// Iniitalize the `Number` object on the global object +pub fn init(global: &Value) { + unimplemented!() +} + +#[cfg(test)] +mod tests { + #[test] + fn make_number() { + unimplemented!() + } + + #[test] + pub fn call_number() { + unimplemented!() + } + + #[test] + pub fn to_expotential() { + unimplemented!() + } + + #[test] + pub fn to_fixed() { + unimplemented!() + } + + #[test] + pub fn to_locale_string() { + unimplemented!() + } + + #[test] + pub fn to_precision() { + unimplemented!() + } + + #[test] + pub fn to_string() { + unimplemented!() + } + + #[test] + pub fn value_of() { + unimplemented!() + } +}