swc_ecma_transforms_base 49.0.0

rust port of babel and closure compiler.
Documentation
// This file is generated by `cargo codegen helpers`. DO NOT MODIFY.

use super::{HelperDef, HelperName};

pub const DEF: HelperDef = HelperDef {
    name: HelperName::dispose,
    local: "_dispose",
    import_path: "@swc/helpers/_/_dispose",
    #[cfg(feature = "inline-helpers")]
    source: r#"/* @minVersion 7.22.0 */
function dispose_SuppressedError(error, suppressed) {
    if (typeof SuppressedError !== "undefined") {
        // eslint-disable-next-line no-undef
        dispose_SuppressedError = SuppressedError;
    } else {
        dispose_SuppressedError = function SuppressedError(error, suppressed) {
            this.suppressed = suppressed;
            this.error = error;
            this.stack = new Error().stack;
        };
        dispose_SuppressedError.prototype = Object.create(Error.prototype, { constructor: { value: dispose_SuppressedError, writable: true, configurable: true } });
    }
    return new dispose_SuppressedError(error, suppressed);
}

function _dispose(stack, error, hasError) {
    function next() {
        while (stack.length > 0) {
            try {
                var r = stack.pop();
                var p = r.d.call(r.v);
                if (r.a) return Promise.resolve(p).then(next, err);
            } catch (e) {
                return err(e);
            }
        }
        if (hasError) throw error;
    }

    function err(e) {
        error = hasError ? new dispose_SuppressedError(e, error) : e;
        hasError = true;

        return next();
    }

    return next();
}
"#,
    #[cfg(feature = "inline-helpers")]
    deps: super::HelperBitmap::from_bits(0x00000000000000000000800000000000),
};

#[cfg(feature = "inline-helpers")]
pub fn stmts() -> &'static [swc_ecma_ast::Stmt] {
    static STMTS: once_cell::sync::Lazy<Vec<swc_ecma_ast::Stmt>> =
        once_cell::sync::Lazy::new(|| super::super::parse(DEF.source, DEF.import_path));
    &STMTS
}