initFairLibraryAdapter static method

void initFairLibraryAdapter(
  1. Widget app, {
  2. Map<String, IFairPlugin>? plugins,
  3. Map<String, String>? jsPlugins,
  4. List<IFairLibraryAdapter>? adapters,
})

app FairApp plugins Fair plugin code with Dart jsPlugins Fair plugin code with JavaScript adapters 3rd-party libraries which adapted Fair

Implementation

static void initFairLibraryAdapter(
  Widget app, {
  Map<String, IFairPlugin>? plugins,
  Map<String, String>? jsPlugins,
  List<IFairLibraryAdapter>? adapters,
}) {

  if (adapters != null && adapters.isNotEmpty) {
    adapters.forEach((element) {

      if (element.provideFairPlugins()?.isNotEmpty == true) {
        plugins?.addAll(element.provideFairPlugins()!);
      }

      if (element.provideJSPlugins()?.isNotEmpty == true) {
        jsPlugins?.addAll(element.provideJSPlugins()!);
      }

      if (app is FairApp) {
        if (element.provideFairModule() != null) {
          app.modules.addAll(element.provideFairModule());
        }

        if (element.provideGeneratedModule() != null && app.proxy is ProxyMirror) {
          (app.proxy as ProxyMirror).addGeneratedBinding(element.provideGeneratedModule()!);
        }

        if (element.provideFairDelegate() != null) {
          GlobalState.instance().addExtBuilder(element.provideFairDelegate());
        }

        if (element.provideDynamicWidgetBuilder() != null) {
          if (app.dynamicWidgetBuilder == null) {
            app.dynamicWidgetBuilder = [element.provideDynamicWidgetBuilder()];
          } else {
            app.dynamicWidgetBuilder!.add(element.provideDynamicWidgetBuilder());
          }
        }
      }
    });
  }
}