simplified by entirely removing DataRef

This commit is contained in:
Schrottkatze 2024-02-23 12:46:39 +01:00
parent 619b7acf94
commit 911339fc2a
Signed by: schrottkatze
SSH key fingerprint: SHA256:hXb3t1vINBFCiDCmhRABHX5ocdbLiKyCdKI4HK2Rbbc
6 changed files with 19 additions and 69 deletions

View file

@ -4,7 +4,7 @@ use core::panic;
use crate::experimental::trait_based::{
data::{
io::{Inputs, Outputs},
raw::DataRef,
raw::Data,
},
element::{DataType, ElementSignature, PipelineElement},
};
@ -14,7 +14,7 @@ pub struct Add(pub i32);
impl PipelineElement for Add {
fn runner(&self) -> fn(&Inputs) -> Outputs {
|input| {
let [DataRef::Int(i0), DataRef::Int(i1), ..] = input.inner()[..] else {
let [Data::Int(i0), Data::Int(i1), ..] = input.0[..] else {
panic!("Invalid data passed")
};
(i0 + i1).into()
@ -34,7 +34,7 @@ pub struct Subtract(pub i32);
impl PipelineElement for Subtract {
fn runner(&self) -> fn(&Inputs) -> Outputs {
|input| {
let [DataRef::Int(i0), DataRef::Int(i1), ..] = input.inner()[..] else {
let [Data::Int(i0), Data::Int(i1), ..] = input.0[..] else {
panic!("Invalid data passed")
};
(i0 + i1).into()
@ -54,7 +54,7 @@ pub struct Stringify;
impl PipelineElement for Stringify {
fn runner(&self) -> fn(&Inputs) -> Outputs {
|input| {
let [DataRef::Int(int), ..] = input.inner()[..] else {
let [Data::Int(int), ..] = input.0[..] else {
panic!("Invalid data passed")
};
int.to_string().into()

View file

@ -2,7 +2,7 @@
use crate::experimental::trait_based::{
data::{
io::{Inputs, Outputs},
raw::DataRef,
raw::Data,
},
element::{DataType, ElementSignature, PipelineElement},
};
@ -12,7 +12,7 @@ pub struct Concatenate(pub String);
impl PipelineElement for Concatenate {
fn runner(&self) -> fn(&Inputs) -> Outputs {
|input| {
let [DataRef::String(s0), DataRef::String(s1), ..] = input.inner()[..] else {
let [Data::String(s0), Data::String(s1), ..] = input.0[..] else {
panic!("Invalid data passed")
};
format!("{s0}{s1}").into()
@ -32,7 +32,7 @@ pub struct Upper;
impl PipelineElement for Upper {
fn runner(&self) -> fn(&Inputs) -> Outputs {
|input| {
let [DataRef::String(s), ..] = input.inner()[..] else {
let [Data::String(s), ..] = input.0[..] else {
panic!("Invalid data passed")
};
s.to_uppercase().into()
@ -52,7 +52,7 @@ pub struct Lower;
impl PipelineElement for Lower {
fn runner(&self) -> fn(&Inputs) -> Outputs {
|input| {
let [DataRef::String(s), ..] = input.inner()[..] else {
let [Data::String(s), ..] = input.0[..] else {
panic!("Invalid data passed")
};
s.to_lowercase().into()