1use nanvm_lib::vm::unstable::{
4 bigint_any, f64_any, spread_array, spread_item, strict_eq, string_any, string_key, value_item,
5};
6use nanvm_lib::vm::{Any, Array, Function, IStaticFunction, Nullish, ToAny, ToArray, ToObject};
7
8#[rustfmt::skip]
9#[allow(clippy::if_same_then_else)]
10pub fn module<A: IStaticFunction>(runtime: Any<A>) -> Result<Any<A>, Any<A>> {
11 let _b31: Any<A> = A::static_function(|_self, _args| { Ok(A::static_function(|_self, _args| { if Any::<A>::to_boolean((strict_eq((Any::dot(A::frame(_self)[0].clone(), string_any("length")).end())?, f64_any(0x0000000000000000)))?) { Ok(A::static_function(|_self, _args| { Ok([string_any("ok"), A::frame(_self)[0].clone()].to_array().to_any()) }, 0, [_args.argument(0), A::frame(_self)[2].clone()].to_array(), Some("()=>[\"ok\",$0]")).to_any()) } else { Ok([(string_key("command"), (Any::dot((Any::dot(A::frame(_self)[0].clone(), f64_any(0x0000000000000000)).end())?, f64_any(0x0000000000000000)).end())?), (string_key("payload"), (Any::dot((Any::dot(A::frame(_self)[0].clone(), f64_any(0x0000000000000000)).end())?, f64_any(0x3ff0000000000000)).end())?), (string_key("continuation"), A::static_function(|_self, _args| {
12 let _b17: Any<A> = (Any::call(A::frame(_self)[0].clone(), [(Any::dot(A::frame(_self)[1].clone(), string_any("slice")).end_call(&A::frame(_self)[3], || Ok([f64_any(0x3ff0000000000000)].to_array().to_any())))?].to_array().to_any()))?;
13 Any::call(_b17.clone(), [(spread_array([spread_item(A::frame(_self)[2].clone())?, value_item(if Any::<A>::to_boolean((strict_eq((Any::dot(_args.argument(0), f64_any(0x3ff0000000000000)).end())?, Nullish::Undefined.to_any()))?) { [string_any("ok"), Nullish::Null.to_any()].to_array().to_any() } else { _args.argument(0) })]))?].to_array().to_any())
14 }, 1, [A::frame(_self)[1].clone(), A::frame(_self)[0].clone(), _args.argument(0), A::frame(_self)[2].clone()].to_array(), Some("($3)=>{const $4=$0($1.slice(1));return $4([...$2,$3[1]===undefined?[\"ok\",null]:$3]);}")).to_any())].to_object().to_any()) } }, 1, [_args.argument(0), Function::new(_self.clone()).to_any(), A::frame(_self)[0].clone()].to_array(), Some("($2)=>$0.length===0?()=>[\"ok\",$2]:{\"command\":$0[0][0],\"payload\":$0[0][1],\"continuation\":($3)=>{const $4=$1($0.slice(1));return $4([...$2,$3[1]===undefined?[\"ok\",null]:$3]);}}")).to_any()) }, 1, [runtime.clone()].to_array(), Some("(function $0($1){return ($2)=>$1.length===0?()=>[\"ok\",$2]:{\"command\":$1[0][0],\"payload\":$1[0][1],\"continuation\":($3)=>{const $4=$0($1.slice(1));return $4([...$2,$3[1]===undefined?[\"ok\",null]:$3]);}};})")).to_any();
15 Ok([(string_key("echo"), [(string_key("run"), A::static_function(|_self, _args| {
16 let _b48: Any<A> = (Any::call(A::frame(_self)[0].clone(), [[[string_any("write"), [string_any("stdout"), bigint_any(-59497)].to_array().to_any()].to_array().to_any(), [string_any("write"), [string_any("stderr"), bigint_any(-3899222121)].to_array().to_any()].to_array().to_any(), [string_any("write"), [string_any("stdout"), bigint_any(-3899222121)].to_array().to_any()].to_array().to_any(), [string_any("read"), [string_any("stdin")].to_array().to_any()].to_array().to_any(), [string_any("read"), [string_any("stdin")].to_array().to_any()].to_array().to_any(), [string_any("read"), [string_any("stdin")].to_array().to_any()].to_array().to_any(), [string_any("read"), [string_any("stdin")].to_array().to_any()].to_array().to_any()].to_array().to_any()].to_array().to_any()))?;
17 Any::call(_b48.clone(), [Array::default().to_any()].to_array().to_any())
18 }, 0, [_b31.clone(), runtime.clone()].to_array(), Some("()=>{const $1=$0([[\"write\",[\"stdout\",-59497n]],[\"write\",[\"stderr\",-3899222121n]],[\"write\",[\"stdout\",-3899222121n]],[\"read\",[\"stdin\"]],[\"read\",[\"stdin\"]],[\"read\",[\"stdin\"]],[\"read\",[\"stdin\"]]]);return $1([]);}")).to_any()), (string_key("input"), [f64_any(0x405a000000000000), f64_any(0x405a400000000000), f64_any(0x406fe00000000000)].to_array().to_any()), (string_key("expected"), [[string_any("ok"), Nullish::Null.to_any()].to_array().to_any(), [string_any("ok"), Nullish::Null.to_any()].to_array().to_any(), [string_any("ok"), Nullish::Null.to_any()].to_array().to_any(), [string_any("ok"), f64_any(0x405a000000000000)].to_array().to_any(), [string_any("ok"), f64_any(0x405a400000000000)].to_array().to_any(), [string_any("ok"), f64_any(0x406fe00000000000)].to_array().to_any(), [string_any("ok"), Nullish::Null.to_any()].to_array().to_any()].to_array().to_any()), (string_key("stdout"), [f64_any(0x405a000000000000), f64_any(0x405a400000000000), f64_any(0x405a000000000000), f64_any(0x405a400000000000), f64_any(0x405a000000000000), f64_any(0x405a400000000000)].to_array().to_any()), (string_key("stderr"), [f64_any(0x405a000000000000), f64_any(0x405a400000000000), f64_any(0x405a000000000000), f64_any(0x405a400000000000)].to_array().to_any())].to_object().to_any()), (string_key("noInput"), [(string_key("run"), A::static_function(|_self, _args| {
19 let _b70: Any<A> = (Any::call(A::frame(_self)[0].clone(), [[[string_any("read"), [string_any("stdin")].to_array().to_any()].to_array().to_any(), [string_any("read"), [string_any("stdin")].to_array().to_any()].to_array().to_any()].to_array().to_any()].to_array().to_any()))?;
20 Any::call(_b70.clone(), [Array::default().to_any()].to_array().to_any())
21 }, 0, [_b31.clone(), runtime.clone()].to_array(), Some("()=>{const $1=$0([[\"read\",[\"stdin\"]],[\"read\",[\"stdin\"]]]);return $1([]);}")).to_any()), (string_key("input"), Array::default().to_any()), (string_key("expected"), [[string_any("ok"), Nullish::Null.to_any()].to_array().to_any(), [string_any("ok"), Nullish::Null.to_any()].to_array().to_any()].to_array().to_any()), (string_key("stdout"), Array::default().to_any()), (string_key("stderr"), Array::default().to_any())].to_object().to_any())].to_object().to_any())
22}