vize_l1 0.589.0

L1 - the lossless Vue-template surface tree (codename Sinopia, Davinci P2-7)
Documentation
use crate::container::Vue;
use crate::container::vue::DescriptorOptions;
use crate::markup::NativeTemplateComponent;
use vize_l0::{
    Allocator,
    config::{VueDialect, VueVersion},
};

mod literal;
mod ownership;
mod refusals;

fn selected<'a>(
    arena: &'a Allocator,
    source: &'a str,
) -> Result<NativeTemplateComponent<'a>, &'static str> {
    let descriptor = Vue.observe_descriptor(
        arena,
        source,
        DescriptorOptions {
            version: VueVersion::V3,
            dialect: VueDialect::Vue,
            template: crate::markup::SurfaceParseOptions::default(),
        },
    );
    NativeTemplateComponent::parse_in(
        arena,
        descriptor
            .admitted()
            .map_err(|_| "fixture descriptor refused")?,
    )
    .map_err(|_| "fixture component parse failed")?
    .ok_or("fixture has no selected template")
}