vize_l4 0.487.0

L4 - the Davinci emission level (codename Stesura): writer, expression rewriting, module assembly and targets
Documentation
//! Compiler-use helpers verified against exact upstream runtime exports.
//!
//! The table order is stable and independent of target import-ranking policy.
//! Vue 3's non-compat resolveFilter is null, not callable. Rc.9 Vapor does
//! not export prepend; its event guards are withVaporModifiers/withVaporKeys.

use super::{HelperModule, Vocabulary};

const DOM_NAMES: &[&str] = &[
    "Fragment",
    "Teleport",
    "Suspense",
    "KeepAlive",
    "BaseTransition",
    "Transition",
    "TransitionGroup",
    "openBlock",
    "createBlock",
    "createElementBlock",
    "createVNode",
    "createElementVNode",
    "createCommentVNode",
    "createTextVNode",
    "createStaticVNode",
    "resolveComponent",
    "resolveDynamicComponent",
    "resolveDirective",
    "withDirectives",
    "renderList",
    "renderSlot",
    "createSlots",
    "toDisplayString",
    "mergeProps",
    "normalizeClass",
    "normalizeStyle",
    "normalizeProps",
    "guardReactiveProps",
    "toHandlers",
    "camelize",
    "capitalize",
    "toHandlerKey",
    "setBlockTracking",
    "pushScopeId",
    "popScopeId",
    "withCtx",
    "unref",
    "isRef",
    "withMemo",
    "isMemoSame",
    "vShow",
    "vModelText",
    "vModelCheckbox",
    "vModelRadio",
    "vModelSelect",
    "vModelDynamic",
    "withModifiers",
    "withKeys",
    "ref",
    "computed",
    "defineComponent",
    "mergeDefaults",
    "mergeModels",
    "createPropsRestProxy",
    "withAsyncContext",
    "useModel",
    "useCssVars",
];

const SERVER_NAMES: &[&str] = &[
    "ssrInterpolate",
    "ssrRenderVNode",
    "ssrRenderComponent",
    "ssrRenderSlot",
    "ssrRenderSlotInner",
    "ssrRenderAttrs",
    "ssrRenderAttr",
    "ssrRenderDynamicAttr",
    "ssrIncludeBooleanAttr",
    "ssrRenderClass",
    "ssrRenderStyle",
    "ssrRenderDynamicModel",
    "ssrGetDynamicModelProps",
    "ssrRenderList",
    "ssrLooseEqual",
    "ssrLooseContain",
    "ssrGetDirectiveProps",
    "ssrRenderTeleport",
    "ssrRenderSuspense",
];

const VAPOR_NAMES: &[&str] = &[
    "createSlot",
    "resolveComponent",
    "resolveDirective",
    "resolveDynamicComponent",
    "createComponentWithFallback",
    "createComponent",
    "createDynamicComponent",
    "VaporTeleport",
    "VaporKeepAlive",
    "VaporTransition",
    "VaporTransitionGroup",
    "Suspense",
    "extend",
    "withVaporDirectives",
    "insert",
    "child",
    "next",
    "nthChild",
    "txt",
    "toDisplayString",
    "setText",
    "setElementText",
    "setValue",
    "createTemplateRefSetter",
    "setClass",
    "setProp",
    "setStyle",
    "setAttr",
    "setDOMProp",
    "setDynamicProps",
    "applyTextModel",
    "applyCheckboxModel",
    "applyRadioModel",
    "applySelectModel",
    "applyVShow",
    "createInvoker",
    "withVaporModifiers",
    "withVaporKeys",
    "on",
    "onBinding",
    "delegateEvents",
    "setDynamicEvents",
    "toHandlers",
    "toHandlerKey",
    "computed",
    "createForSlots",
    "setInsertionState",
    "renderEffect",
    "createIf",
    "createFor",
    "template",
    "createTextNode",
    "setHtml",
    "setClassName",
    "delegate",
    "createKeyedFragment",
    "applyDynamicModel",
    "withOnce",
    "setStaticTemplateRef",
    "setTemplateRefBinding",
    "useVaporCssVars",
    "setBlockKey",
    "createSelector",
    "getRestElement",
    "getDefaultValue",
    "ref",
    "unref",
    "isRef",
    "defineComponent",
    "mergeDefaults",
    "mergeModels",
    "createPropsRestProxy",
    "withAsyncContext",
    "useModel",
    "defineVaporComponent",
];

/// Vue 3.5.35 DOM, shared helpers and SFC-generated script helpers.
pub static VUE_DOM: Vocabulary = Vocabulary {
    modules: &[HelperModule {
        module: "vue",
        names: DOM_NAMES,
    }],
};

/// Vue 3.5.35 SSR helpers followed by its shared Vue helpers.
pub static VUE_SERVER_RENDERER: Vocabulary = Vocabulary {
    modules: &[
        HelperModule {
            module: "@vue/server-renderer",
            names: SERVER_NAMES,
        },
        HelperModule {
            module: "vue",
            names: DOM_NAMES,
        },
    ],
};

/// Vue 3.6.0-rc.9 Vapor and shared helpers; no implicit older-release support.
pub static VUE_VAPOR: Vocabulary = Vocabulary {
    modules: &[HelperModule {
        module: "vue",
        names: VAPOR_NAMES,
    }],
};