001package react4j;
002
003import akasha.lang.JsArray;
004import jsinterop.annotations.JsOverlay;
005import jsinterop.annotations.JsPackage;
006import jsinterop.annotations.JsType;
007import jsinterop.base.Js;
008
009/**
010 * Union type representing possible output of render method.
011 */
012@JsType( isNative = true, name = "?", namespace = JsPackage.GLOBAL )
013public interface ReactNode
014{
015  @JsOverlay
016  static ReactNode of( final byte value )
017  {
018    return Js.uncheckedCast( Js.asAny( value ) );
019  }
020
021  @JsOverlay
022  static ReactNode of( final short value )
023  {
024    return Js.uncheckedCast( Js.asAny( value ) );
025  }
026
027  @JsOverlay
028  static ReactNode of( final int value )
029  {
030    return Js.uncheckedCast( Js.asAny( value ) );
031  }
032
033  @JsOverlay
034  static ReactNode of( final long value )
035  {
036    return of( Long.toString( value ) );
037  }
038
039  @JsOverlay
040  static ReactNode of( final float value )
041  {
042    return Js.uncheckedCast( Js.asAny( value ) );
043  }
044
045  @JsOverlay
046  static ReactNode of( final double value )
047  {
048    return Js.uncheckedCast( Js.asAny( value ) );
049  }
050
051  @JsOverlay
052  static ReactNode of( final String string )
053  {
054    return Js.uncheckedCast( string );
055  }
056
057  @JsOverlay
058  static ReactNode of( final JsArray<ReactNode> elements )
059  {
060    return Js.uncheckedCast( elements );
061  }
062
063  @JsOverlay
064  static ReactNode of( final ReactNode... elements )
065  {
066    return Js.uncheckedCast( elements );
067  }
068}