001package react4j.internal;
002
003import jsinterop.annotations.JsFunction;
004import jsinterop.base.JsPropertyMap;
005
006/**
007 * A function interface to create component instances.
008 * This is typically implemented by the classed generated by the annotation processor and should
009 * not be directly implemented.
010 */
011@FunctionalInterface
012@JsFunction
013public interface ViewConstructorFunction
014{
015  /**
016   * Construct a component based on specified inputs.
017   *
018   * @param inputs the component inputs.
019   * @return the component.
020   */
021  NativeView construct( JsPropertyMap<Object> inputs );
022}