using System;
using System.Threading.Tasks;

using CommonHelpers.WASM;
using AFXUI;

namespace BookRegistry.Client {

//**************************************************************************************************
static class BackwardDeferred {
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

public static void Invoke( string wasmMethodName ) =>
   Invoke( 0, wasmMethodName );
public static void Invoke( string wasmMethodName, object? arg ) =>
   Invoke( 0, wasmMethodName, arg );
public static void Invoke( string wasmMethodName,
                           object? arg_1, object? arg_2 ) =>
   Invoke( 0, wasmMethodName, arg_1, arg_2 );
public static void Invoke( string wasmMethodName,
                           object? arg_1, object? arg_2, object? arg_3 ) =>
   Invoke( 0, wasmMethodName, arg_1, arg_2, arg_3 );
public static void Invoke( string wasmMethodName,
                           object? arg_1, object? arg_2, object? arg_3, object? arg_4 ) =>
   Invoke( 0, wasmMethodName, arg_1, arg_2, arg_3, arg_4 );
public static void Invoke( string wasmMethodName,
                           object? arg_1, object? arg_2, object? arg_3, object? arg_4,
                           object? arg_5 ) =>
   Invoke( 0, wasmMethodName, arg_1, arg_2, arg_3, arg_4, arg_5 );

//==================================================================================================

public static void Invoke( int milliseconds, string wasmMethodName ) =>
   JS.Invoke( "BackwardDeferred_Invoke", milliseconds, wasmMethodName );
public static void Invoke( int milliseconds, string wasmMethodName, object? arg ) =>
   JS.Invoke( "BackwardDeferred_Invoke_1", milliseconds, wasmMethodName, arg );
public static void Invoke( int milliseconds, string wasmMethodName,
                           object? arg_1, object? arg_2 ) =>
   JS.Invoke( "BackwardDeferred_Invoke_2", milliseconds, wasmMethodName,
              arg_1, arg_2 );
public static void Invoke( int milliseconds, string wasmMethodName,
                           object? arg_1, object? arg_2, object? arg_3 ) =>
   JS.Invoke( "BackwardDeferred_Invoke_3", milliseconds, wasmMethodName,
              arg_1, arg_2, arg_3 );
public static void Invoke( int milliseconds, string wasmMethodName,
                           object? arg_1, object? arg_2, object? arg_3, object? arg_4 ) =>
   JS.Invoke( "BackwardDeferred_Invoke_4", milliseconds, wasmMethodName,
              arg_1, arg_2, arg_3, arg_4 );
public static void Invoke( int milliseconds, string wasmMethodName,
                           object? arg_1, object? arg_2, object? arg_3, object? arg_4,
                           object? arg_5 ) =>
   JS.Invoke( "BackwardDeferred_Invoke_5", milliseconds, wasmMethodName,
              arg_1, arg_2, arg_3, arg_4, arg_5 );

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
} // BackwardDeferred
//**************************************************************************************************

} // BookRegistry.Client
