Skip to content

Commit

Permalink
Drop nyar number
Browse files Browse the repository at this point in the history
  • Loading branch information
oovm committed Dec 12, 2023
1 parent ea834d3 commit c4cfc8b
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 65 deletions.
18 changes: 0 additions & 18 deletions projects/valkyrie-types/src/builtin/images/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,6 @@ pub struct ValkyrieImage {
rgba: RgbaImage,
}

unsafe impl GcSafe for ValkyrieImage {}

unsafe impl Scan for ValkyrieImage {
fn scan(&self, _: &mut Scanner<'_>) {}
}

impl ValkyrieImage {
pub fn width(&self) -> ValkyrieValue {
ValkyrieValue::from(self.rgba.width())
}
pub fn height(&self) -> ValkyrieValue {
ValkyrieValue::from(self.rgba.height())
}
pub fn get_pixel(&self) {
todo!()
}
}

impl ValkyrieType for ValkyrieImage {
fn boxed(self) -> ValkyrieValue {
todo!()
Expand Down
4 changes: 2 additions & 2 deletions projects/valkyrie-types/src/builtin/list/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ where
T: ValkyrieType,
{
fn boxed(self) -> ValkyrieValue {
ValkyrieValue::List(ValkyrieList::from_iter(self.into_iter().map(|v| v.boxed())))
todo!()
}

fn dynamic_type(&self) -> Gc<ValkyrieMetaType> {
Expand All @@ -21,7 +21,7 @@ where
T: ValkyrieType,
{
fn boxed(self) -> ValkyrieValue {
ValkyrieValue::List(ValkyrieList::from_iter(self.into_iter().map(|v| v.boxed())))
todo!()
}

fn dynamic_type(&self) -> Gc<ValkyrieMetaType> {
Expand Down
16 changes: 5 additions & 11 deletions projects/valkyrie-types/src/types/tuple_type/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ where
T1: ValkyrieType,
{
fn boxed(self) -> ValkyrieValue {
ValkyrieValue::List(NyarTuple::from_iter(vec![self.0.boxed()]))
todo!()
}

fn dynamic_type(&self) -> Gc<ValkyrieMetaType> {
Expand All @@ -48,7 +48,7 @@ where
T2: ValkyrieType,
{
fn boxed(self) -> ValkyrieValue {
ValkyrieValue::List(NyarTuple::from_iter(vec![self.0.boxed(), self.1.boxed()]))
todo!()
}

fn dynamic_type(&self) -> Gc<ValkyrieMetaType> {
Expand All @@ -67,7 +67,7 @@ where
T3: ValkyrieType,
{
fn boxed(self) -> ValkyrieValue {
ValkyrieValue::List(NyarTuple::from_iter(vec![self.0.boxed(), self.1.boxed(), self.2.boxed()]))
todo!()
}

fn dynamic_type(&self) -> Gc<ValkyrieMetaType> {
Expand All @@ -88,7 +88,7 @@ where
T4: ValkyrieType,
{
fn boxed(self) -> ValkyrieValue {
ValkyrieValue::List(NyarTuple::from_iter(vec![self.0.boxed(), self.1.boxed(), self.2.boxed(), self.3.boxed()]))
todo!()
}

fn dynamic_type(&self) -> Gc<ValkyrieMetaType> {
Expand All @@ -111,13 +111,7 @@ where
T5: ValkyrieType,
{
fn boxed(self) -> ValkyrieValue {
ValkyrieValue::List(NyarTuple::from_iter(vec![
self.0.boxed(),
self.1.boxed(),
self.2.boxed(),
self.3.boxed(),
self.4.boxed(),
]))
todo!()
}

fn dynamic_type(&self) -> Gc<ValkyrieMetaType> {
Expand Down
36 changes: 13 additions & 23 deletions projects/valkyrie-types/src/values/der/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,90 +35,84 @@ impl<'de> Visitor<'de> for ValueVisitor {
where
E: Error,
{
Ok(ValkyrieValue::Number(ValkyrieNumber::from(v)))
todo!()
}

fn visit_i16<E>(self, v: i16) -> Result<Self::Value, E>
where
E: Error,
{
Ok(ValkyrieValue::Number(ValkyrieNumber::from(v)))
todo!()
}

fn visit_i32<E>(self, v: i32) -> Result<Self::Value, E>
where
E: Error,
{
Ok(ValkyrieValue::Number(ValkyrieNumber::from(v)))
todo!()
}

fn visit_i64<E>(self, v: i64) -> Result<Self::Value, E>
where
E: Error,
{
Ok(ValkyrieValue::Number(ValkyrieNumber::from(v)))
todo!()
}

fn visit_i128<E>(self, v: i128) -> Result<Self::Value, E>
where
E: Error,
{
Ok(ValkyrieValue::Number(ValkyrieNumber::from(v)))
todo!()
}

fn visit_u8<E>(self, v: u8) -> Result<Self::Value, E>
where
E: Error,
{
Ok(ValkyrieValue::Number(ValkyrieNumber::from(v)))
todo!()
}

fn visit_u16<E>(self, v: u16) -> Result<Self::Value, E>
where
E: Error,
{
Ok(ValkyrieValue::Number(ValkyrieNumber::from(v)))
todo!()
}

fn visit_u32<E>(self, v: u32) -> Result<Self::Value, E>
where
E: Error,
{
Ok(ValkyrieValue::Number(ValkyrieNumber::from(v)))
todo!()
}

fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
where
E: Error,
{
Ok(ValkyrieValue::Number(ValkyrieNumber::from(v)))
todo!()
}

fn visit_u128<E>(self, v: u128) -> Result<Self::Value, E>
where
E: Error,
{
Ok(ValkyrieValue::Number(ValkyrieNumber::from(v)))
todo!()
}

fn visit_f32<E>(self, v: f32) -> Result<Self::Value, E>
where
E: Error,
{
match ValkyrieNumber::try_from(v) {
Ok(n) => Ok(ValkyrieValue::Number(n)),
Err(e) => Err(E::missing_field("???")),
}
todo!()
}

fn visit_f64<E>(self, v: f64) -> Result<Self::Value, E>
where
E: Error,
{
match ValkyrieNumber::try_from(v) {
Ok(n) => Ok(ValkyrieValue::Number(n)),
Err(e) => Err(E::missing_field("???")),
}
todo!()
}

fn visit_char<E>(self, v: char) -> Result<Self::Value, E>
Expand Down Expand Up @@ -202,11 +196,7 @@ impl<'de> Visitor<'de> for ValueVisitor {
where
A: SeqAccess<'de>,
{
let mut dict = ValkyrieList::default();
while let Some(item) = seq.next_element::<ValkyrieValue>()? {
dict.append_one(item)
}
Ok(ValkyrieValue::List(dict))
todo!()
}

fn visit_map<A>(self, mut map: A) -> Result<Self::Value, A::Error>
Expand Down
2 changes: 1 addition & 1 deletion projects/valkyrie-types/src/values/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ pub enum ValkyrieValue {
UTF8String(Gc<String>),
Bytes(Gc<Vec<u8>>),
Html(Gc<String>),
Image(Gc<ValkyrieImage>),
Image(Box<ValkyrieImage>),
#[cfg(feature = "polars")]
DataFrame(ValkyrieDataFrame),
List(Vec<ValkyrieValue>),
Expand Down
11 changes: 1 addition & 10 deletions projects/valkyrie-types/tests/main.rs
Original file line number Diff line number Diff line change
@@ -1,21 +1,12 @@
use nyar_error::FileCache;
use std::path::Path;
use valkyrie_parser::ProgramContext;
use valkyrie_types::{testing::assert_type, ModuleResolver, ValkyrieID, ValkyrieInterface, ValkyrieList};
use valkyrie_types::ModuleResolver;

#[test]
fn ready() {
println!("it works!")
}

#[test]
fn test_list_index() {
let out = ValkyrieList::from_iter(vec!['1', '2', '3', '4', '5', '6', '7', '8', '9']);
println!("1: {:?}", out.get_ordinal(1));
println!("2: {:?}", out.get_ordinal(-1));
println!("2: {:?}", out.get_range(1, -1, 1).collect::<Vec<_>>());
}

#[test]
fn test() {
let file = Path::new(env!("CARGO_MANIFEST_DIR")).join("tests/test.vk").canonicalize().unwrap();
Expand Down

0 comments on commit c4cfc8b

Please sign in to comment.