-module(gleamgen@function). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([new0/2, new1/3, new2/4, new3/5, new4/6, new5/7, new6/8, new7/9, new8/10, new9/11, to_unchecked/1, get_function_name/1]). -export_type([function_/2]). -type function_(JXE, JXF) :: {function, list({binary(), gleamgen@types:generated_type(gleamgen@types:unchecked())}), gleamgen@types:generated_type(JXF), gleamgen@expression:expression(JXF)} | {gleam_phantom, JXE}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 12). -spec new0( gleamgen@types:generated_type(JXG), fun(() -> gleamgen@expression:expression(JXG)) ) -> function_(fun((any()) -> JXG), JXG). new0(Returns, Handler) -> Body = Handler(), {function, [], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 20). -spec new1( {binary(), gleamgen@types:generated_type(JXM)}, gleamgen@types:generated_type(JXO), fun((gleamgen@expression:expression(JXM)) -> gleamgen@expression:expression(JXO)) ) -> function_(fun((JXM) -> JXO), JXO). new1(Arg1, Returns, Handler) -> Body = Handler(gleamgen@expression:unchecked_ident(erlang:element(1, Arg1))), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 32). -spec new2( {binary(), gleamgen@types:generated_type(JXU)}, {binary(), gleamgen@types:generated_type(JXW)}, gleamgen@types:generated_type(JXY), fun((gleamgen@expression:expression(JXU), gleamgen@expression:expression(JXW)) -> gleamgen@expression:expression(JXY)) ) -> function_(fun((JXU, JXW) -> JXY), JXY). new2(Arg1, Arg2, Returns, Handler) -> Body = Handler( gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)) ), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}, {erlang:element(1, Arg2), begin _pipe@1 = erlang:element(2, Arg2), gleamgen_ffi:identity(_pipe@1) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 54). -spec new3( {binary(), gleamgen@types:generated_type(JYF)}, {binary(), gleamgen@types:generated_type(JYH)}, {binary(), gleamgen@types:generated_type(JYJ)}, gleamgen@types:generated_type(JYL), fun((gleamgen@expression:expression(JYF), gleamgen@expression:expression(JYH), gleamgen@expression:expression(JYJ)) -> gleamgen@expression:expression(JYL)) ) -> function_(fun((JYF, JYH, JYJ) -> JYL), JYL). new3(Arg1, Arg2, Arg3, Returns, Handler) -> Body = Handler( gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)) ), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}, {erlang:element(1, Arg2), begin _pipe@1 = erlang:element(2, Arg2), gleamgen_ffi:identity(_pipe@1) end}, {erlang:element(1, Arg3), begin _pipe@2 = erlang:element(2, Arg3), gleamgen_ffi:identity(_pipe@2) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 83). -spec new4( {binary(), gleamgen@types:generated_type(JYT)}, {binary(), gleamgen@types:generated_type(JYV)}, {binary(), gleamgen@types:generated_type(JYX)}, {binary(), gleamgen@types:generated_type(JYZ)}, gleamgen@types:generated_type(JZB), fun((gleamgen@expression:expression(JYT), gleamgen@expression:expression(JYV), gleamgen@expression:expression(JYX), gleamgen@expression:expression(JYZ)) -> gleamgen@expression:expression(JZB)) ) -> function_(fun((JYT, JYV, JYX, JYZ) -> JZB), JZB). new4(Arg1, Arg2, Arg3, Arg4, Returns, Handler) -> Body = Handler( gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)) ), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}, {erlang:element(1, Arg2), begin _pipe@1 = erlang:element(2, Arg2), gleamgen_ffi:identity(_pipe@1) end}, {erlang:element(1, Arg3), begin _pipe@2 = erlang:element(2, Arg3), gleamgen_ffi:identity(_pipe@2) end}, {erlang:element(1, Arg4), begin _pipe@3 = erlang:element(2, Arg4), gleamgen_ffi:identity(_pipe@3) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 116). -spec new5( {binary(), gleamgen@types:generated_type(JZK)}, {binary(), gleamgen@types:generated_type(JZM)}, {binary(), gleamgen@types:generated_type(JZO)}, {binary(), gleamgen@types:generated_type(JZQ)}, {binary(), gleamgen@types:generated_type(JZS)}, gleamgen@types:generated_type(JZU), fun((gleamgen@expression:expression(JZK), gleamgen@expression:expression(JZM), gleamgen@expression:expression(JZO), gleamgen@expression:expression(JZQ), gleamgen@expression:expression(JZS)) -> gleamgen@expression:expression(JZU)) ) -> function_(fun((JZK, JZM, JZO, JZQ, JZS) -> JZU), JZU). new5(Arg1, Arg2, Arg3, Arg4, Arg5, Returns, Handler) -> Body = Handler( gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg5)) ), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}, {erlang:element(1, Arg2), begin _pipe@1 = erlang:element(2, Arg2), gleamgen_ffi:identity(_pipe@1) end}, {erlang:element(1, Arg3), begin _pipe@2 = erlang:element(2, Arg3), gleamgen_ffi:identity(_pipe@2) end}, {erlang:element(1, Arg4), begin _pipe@3 = erlang:element(2, Arg4), gleamgen_ffi:identity(_pipe@3) end}, {erlang:element(1, Arg5), begin _pipe@4 = erlang:element(2, Arg5), gleamgen_ffi:identity(_pipe@4) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 153). -spec new6( {binary(), gleamgen@types:generated_type(KAE)}, {binary(), gleamgen@types:generated_type(KAG)}, {binary(), gleamgen@types:generated_type(KAI)}, {binary(), gleamgen@types:generated_type(KAK)}, {binary(), gleamgen@types:generated_type(KAM)}, {binary(), gleamgen@types:generated_type(KAO)}, gleamgen@types:generated_type(KAQ), fun((gleamgen@expression:expression(KAE), gleamgen@expression:expression(KAG), gleamgen@expression:expression(KAI), gleamgen@expression:expression(KAK), gleamgen@expression:expression(KAM), gleamgen@expression:expression(KAO)) -> gleamgen@expression:expression(KAQ)) ) -> function_(fun((KAE, KAG, KAI, KAK, KAM, KAO) -> KAQ), KAQ). new6(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Returns, Handler) -> Body = Handler( gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg5)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg6)) ), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}, {erlang:element(1, Arg2), begin _pipe@1 = erlang:element(2, Arg2), gleamgen_ffi:identity(_pipe@1) end}, {erlang:element(1, Arg3), begin _pipe@2 = erlang:element(2, Arg3), gleamgen_ffi:identity(_pipe@2) end}, {erlang:element(1, Arg4), begin _pipe@3 = erlang:element(2, Arg4), gleamgen_ffi:identity(_pipe@3) end}, {erlang:element(1, Arg5), begin _pipe@4 = erlang:element(2, Arg5), gleamgen_ffi:identity(_pipe@4) end}, {erlang:element(1, Arg6), begin _pipe@5 = erlang:element(2, Arg6), gleamgen_ffi:identity(_pipe@5) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 194). -spec new7( {binary(), gleamgen@types:generated_type(KBB)}, {binary(), gleamgen@types:generated_type(KBD)}, {binary(), gleamgen@types:generated_type(KBF)}, {binary(), gleamgen@types:generated_type(KBH)}, {binary(), gleamgen@types:generated_type(KBJ)}, {binary(), gleamgen@types:generated_type(KBL)}, {binary(), gleamgen@types:generated_type(KBN)}, gleamgen@types:generated_type(KBP), fun((gleamgen@expression:expression(KBB), gleamgen@expression:expression(KBD), gleamgen@expression:expression(KBF), gleamgen@expression:expression(KBH), gleamgen@expression:expression(KBJ), gleamgen@expression:expression(KBL), gleamgen@expression:expression(KBN)) -> gleamgen@expression:expression(KBP)) ) -> function_(fun((KBB, KBD, KBF, KBH, KBJ, KBL, KBN) -> KBP), KBP). new7(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Returns, Handler) -> Body = Handler( gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg5)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg6)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg7)) ), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}, {erlang:element(1, Arg2), begin _pipe@1 = erlang:element(2, Arg2), gleamgen_ffi:identity(_pipe@1) end}, {erlang:element(1, Arg3), begin _pipe@2 = erlang:element(2, Arg3), gleamgen_ffi:identity(_pipe@2) end}, {erlang:element(1, Arg4), begin _pipe@3 = erlang:element(2, Arg4), gleamgen_ffi:identity(_pipe@3) end}, {erlang:element(1, Arg5), begin _pipe@4 = erlang:element(2, Arg5), gleamgen_ffi:identity(_pipe@4) end}, {erlang:element(1, Arg6), begin _pipe@5 = erlang:element(2, Arg6), gleamgen_ffi:identity(_pipe@5) end}, {erlang:element(1, Arg7), begin _pipe@6 = erlang:element(2, Arg7), gleamgen_ffi:identity(_pipe@6) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 239). -spec new8( {binary(), gleamgen@types:generated_type(KCB)}, {binary(), gleamgen@types:generated_type(KCD)}, {binary(), gleamgen@types:generated_type(KCF)}, {binary(), gleamgen@types:generated_type(KCH)}, {binary(), gleamgen@types:generated_type(KCJ)}, {binary(), gleamgen@types:generated_type(KCL)}, {binary(), gleamgen@types:generated_type(KCN)}, {binary(), gleamgen@types:generated_type(KCP)}, gleamgen@types:generated_type(KCR), fun((gleamgen@expression:expression(KCB), gleamgen@expression:expression(KCD), gleamgen@expression:expression(KCF), gleamgen@expression:expression(KCH), gleamgen@expression:expression(KCJ), gleamgen@expression:expression(KCL), gleamgen@expression:expression(KCN), gleamgen@expression:expression(KCP)) -> gleamgen@expression:expression(KCR)) ) -> function_(fun((KCB, KCD, KCF, KCH, KCJ, KCL, KCN, KCP) -> KCR), KCR). new8(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Returns, Handler) -> Body = Handler( gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg5)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg6)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg7)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg8)) ), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}, {erlang:element(1, Arg2), begin _pipe@1 = erlang:element(2, Arg2), gleamgen_ffi:identity(_pipe@1) end}, {erlang:element(1, Arg3), begin _pipe@2 = erlang:element(2, Arg3), gleamgen_ffi:identity(_pipe@2) end}, {erlang:element(1, Arg4), begin _pipe@3 = erlang:element(2, Arg4), gleamgen_ffi:identity(_pipe@3) end}, {erlang:element(1, Arg5), begin _pipe@4 = erlang:element(2, Arg5), gleamgen_ffi:identity(_pipe@4) end}, {erlang:element(1, Arg6), begin _pipe@5 = erlang:element(2, Arg6), gleamgen_ffi:identity(_pipe@5) end}, {erlang:element(1, Arg7), begin _pipe@6 = erlang:element(2, Arg7), gleamgen_ffi:identity(_pipe@6) end}, {erlang:element(1, Arg8), begin _pipe@7 = erlang:element(2, Arg8), gleamgen_ffi:identity(_pipe@7) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 288). -spec new9( {binary(), gleamgen@types:generated_type(KDE)}, {binary(), gleamgen@types:generated_type(KDG)}, {binary(), gleamgen@types:generated_type(KDI)}, {binary(), gleamgen@types:generated_type(KDK)}, {binary(), gleamgen@types:generated_type(KDM)}, {binary(), gleamgen@types:generated_type(KDO)}, {binary(), gleamgen@types:generated_type(KDQ)}, {binary(), gleamgen@types:generated_type(KDS)}, {binary(), gleamgen@types:generated_type(KDU)}, gleamgen@types:generated_type(KDW), fun((gleamgen@expression:expression(KDE), gleamgen@expression:expression(KDG), gleamgen@expression:expression(KDI), gleamgen@expression:expression(KDK), gleamgen@expression:expression(KDM), gleamgen@expression:expression(KDO), gleamgen@expression:expression(KDQ), gleamgen@expression:expression(KDS), gleamgen@expression:expression(KDU)) -> gleamgen@expression:expression(KDW)) ) -> function_(fun((KDE, KDG, KDI, KDK, KDM, KDO, KDQ, KDS, KDU) -> KDW), KDW). new9(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Returns, Handler) -> Body = Handler( gleamgen@expression:unchecked_ident(erlang:element(1, Arg1)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg2)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg3)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg4)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg5)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg6)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg7)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg8)), gleamgen@expression:unchecked_ident(erlang:element(1, Arg9)) ), {function, [{erlang:element(1, Arg1), begin _pipe = erlang:element(2, Arg1), gleamgen_ffi:identity(_pipe) end}, {erlang:element(1, Arg2), begin _pipe@1 = erlang:element(2, Arg2), gleamgen_ffi:identity(_pipe@1) end}, {erlang:element(1, Arg3), begin _pipe@2 = erlang:element(2, Arg3), gleamgen_ffi:identity(_pipe@2) end}, {erlang:element(1, Arg4), begin _pipe@3 = erlang:element(2, Arg4), gleamgen_ffi:identity(_pipe@3) end}, {erlang:element(1, Arg5), begin _pipe@4 = erlang:element(2, Arg5), gleamgen_ffi:identity(_pipe@4) end}, {erlang:element(1, Arg6), begin _pipe@5 = erlang:element(2, Arg6), gleamgen_ffi:identity(_pipe@5) end}, {erlang:element(1, Arg7), begin _pipe@6 = erlang:element(2, Arg7), gleamgen_ffi:identity(_pipe@6) end}, {erlang:element(1, Arg8), begin _pipe@7 = erlang:element(2, Arg8), gleamgen_ffi:identity(_pipe@7) end}, {erlang:element(1, Arg9), begin _pipe@8 = erlang:element(2, Arg9), gleamgen_ffi:identity(_pipe@8) end}], Returns, Body}. -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 348). -spec to_unchecked(function_(any(), any())) -> function_(gleamgen@types:unchecked(), gleamgen@types:unchecked()). to_unchecked(Type_) -> gleamgen_ffi:identity(Type_). -file("/home/weasel/gleam/testing_gleamgen/gleamgen/src/gleamgen/function.gleam", 355). -spec get_function_name(any()) -> binary(). get_function_name(Type_) -> gleamgen_ffi:get_function_name(Type_).