floria 0.0.5

Floria data system for cloud orchestration
Documentation
use super::{call::*, expression::*};

use {duplicate::*, kutil::std::immutable::*, ordered_float::*, std::collections::*};

#[duplicate_item(
  FromT                              Kind;
  [i64]                              [Integer];
  [u64]                              [UnsignedInteger];
  [OrderedFloat<f64>]                [Float];
  [f64]                              [Float];
  [bool]                             [Boolean];
  [ByteString]                       [Text];
  [String]                           [Text];
  [Bytes]                            [Blob];
  [Vec<Expression>]                  [List];
  [BTreeMap<Expression, Expression>] [Map];
  [Call]                             [Call];
)]
impl From<FromT> for Expression {
    fn from(value: FromT) -> Self {
        Self::Kind(value.into())
    }
}

impl From<&'static str> for Expression {
    fn from(value: &'static str) -> Self {
        Self::Text(ByteString::from_static(value))
    }
}

impl From<&'static [u8]> for Expression {
    fn from(value: &'static [u8]) -> Self {
        Self::Blob(Bytes::from_static(value))
    }
}