use crate::{
builtins::Builtins,
bytecode::VM,
heap::{HeapData, HeapId},
intern::StaticStrings,
types::{Module, Type},
value::Value,
};
pub fn create_module(vm: &mut VM<'_>) -> HeapId {
let mut module = Module::new(StaticStrings::Datetime);
module.set_attr(StaticStrings::Date, Value::Builtin(Builtins::Type(Type::Date)), vm);
module.set_attr(
StaticStrings::Datetime,
Value::Builtin(Builtins::Type(Type::DateTime)),
vm,
);
module.set_attr(
StaticStrings::Timedelta,
Value::Builtin(Builtins::Type(Type::TimeDelta)),
vm,
);
module.set_attr(
StaticStrings::Timezone,
Value::Builtin(Builtins::Type(Type::TimeZone)),
vm,
);
vm.heap.allocate(HeapData::Module(Box::new(module)))
}