wasm4pm 26.6.10

High-performance process mining algorithms in WebAssembly for JavaScript/TypeScript
Documentation
// Auto-generated by CodeManufactory from wasm4pm ontology
// DO NOT EDIT — regenerate via: ostar manufacture wasm4pm

use serde::{Deserialize, Serialize};
use std::fmt;

/// Cargo feature flags from wasm4pm-cargo.nt.
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub enum CargoFeature {
    feature_conformance_basic,
    feature_conformance_full,
    feature_console_error_panic_hook,
    feature_discovery_advanced,
    feature_gpu,
    feature_hand_rolled_stats,
    feature_ml,
    feature_ocel,
    feature_powl,
    feature_rayon,
    feature_statrs,
    feature_streaming_basic,
    feature_streaming_full,
}

impl CargoFeature {
    pub fn id(&self) -> &'static str {
        match self {
            Self::feature_conformance_basic => "feature-conformance-basic",
            Self::feature_conformance_full => "feature-conformance-full",
            Self::feature_console_error_panic_hook => "feature-console-error-panic-hook",
            Self::feature_discovery_advanced => "feature-discovery-advanced",
            Self::feature_gpu => "feature-gpu",
            Self::feature_hand_rolled_stats => "feature-hand-rolled-stats",
            Self::feature_ml => "feature-ml",
            Self::feature_ocel => "feature-ocel",
            Self::feature_powl => "feature-powl",
            Self::feature_rayon => "feature-rayon",
            Self::feature_statrs => "feature-statrs",
            Self::feature_streaming_basic => "feature-streaming-basic",
            Self::feature_streaming_full => "feature-streaming-full",
        }
    }

    pub fn label(&self) -> &'static str {
        match self {
            Self::feature_conformance_basic => "conformance_basic",
            Self::feature_conformance_full => "conformance_full",
            Self::feature_console_error_panic_hook => "console_error_panic_hook",
            Self::feature_discovery_advanced => "discovery_advanced",
            Self::feature_gpu => "gpu",
            Self::feature_hand_rolled_stats => "hand_rolled_stats",
            Self::feature_ml => "ml",
            Self::feature_ocel => "ocel",
            Self::feature_powl => "powl",
            Self::feature_rayon => "rayon",
            Self::feature_statrs => "statrs",
            Self::feature_streaming_basic => "streaming_basic",
            Self::feature_streaming_full => "streaming_full",
        }
    }

    pub fn all() -> &'static [Self] {
        &[
            Self::feature_conformance_basic,
            Self::feature_conformance_full,
            Self::feature_console_error_panic_hook,
            Self::feature_discovery_advanced,
            Self::feature_gpu,
            Self::feature_hand_rolled_stats,
            Self::feature_ml,
            Self::feature_ocel,
            Self::feature_powl,
            Self::feature_rayon,
            Self::feature_statrs,
            Self::feature_streaming_basic,
            Self::feature_streaming_full,
        ]
    }
}

impl fmt::Display for CargoFeature {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "{}", self.id())
    }
}