//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
// AFXUI auxiliary module for Blazor-application (WASM) | Author: Sergei Y.Kitáev
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
using System;
using System.Reflection;
using System.Threading.Tasks;

using CommonHelpers.WASM;

namespace AFXUI {

//**************************************************************************************************
partial class ULayoutComponentBase {
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/// <exception cref="ArgumentNullException" />
public static int go_static_nt( [HRequired] MethodBase? method, Action body ) =>
   UCircuit.DoStatic( 0, method, UFuncTraceOptions.NoTrace, body );

//--------------------------------------------------------------------------------------------------

/// <exception cref="ArgumentNullException" />
public static Task<int> go_static_nt( [HRequired] MethodBase? method, Func<Task> bodyA ) =>
   UCircuit.DoStatic_A( 0, method, UFuncTraceOptions.NoTrace, bodyA );
/// <exception cref="ArgumentNullException" />
public static Task<int> go_static_nt( [HRequired] MethodBase? method,
                                      Func<bool>? preliminary, Func<Task> bodyA ) =>
   UCircuit.DoStatic_A( 0, method, UFuncTraceOptions.NoTrace, preliminary, bodyA );

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

/// <exception cref="ArgumentNullException" />
public static int GO_STATIC_NT( [HRequired] MethodBase? method, Action body ) =>
   UCircuit.DoStatic( 1, method, UFuncTraceOptions.NoTrace, body );

//--------------------------------------------------------------------------------------------------

/// <exception cref="ArgumentNullException" />
public static Task<int> GO_STATIC_NT( [HRequired] MethodBase? method, Func<Task> bodyA ) =>
   UCircuit.DoStatic_A( 1, method, UFuncTraceOptions.NoTrace, bodyA );
/// <exception cref="ArgumentNullException" />
public static Task<int> GO_STATIC_NT( [HRequired] MethodBase? method,
                                      Func<bool>? preliminary, Func<Task> bodyA ) =>
   UCircuit.DoStatic_A( 1, method, UFuncTraceOptions.NoTrace, preliminary, bodyA );

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
} // ULayoutComponentBase
//**************************************************************************************************

} // AFXUI
