1// Copyright 2015-present 650 Industries. All rights reserved.
2
3#import <EXDevLauncher/EXDevLauncher.h>
4#import <EXDevLauncher/EXDevLauncherController.h>
5
6#if __has_include(<EXDevLauncher/EXDevLauncher-Swift.h>)
7// For cocoapods framework, the generated swift header will be inside EXDevLauncher module
8#import <EXDevLauncher/EXDevLauncher-Swift.h>
9#else
10#import <EXDevLauncher-Swift.h>
11#endif
12
13@implementation EXDevLauncher
14
15RCT_EXPORT_MODULE()
16
17+ (BOOL)requiresMainQueueSetup
18{
19  return YES;
20}
21
22- (NSDictionary *)constantsToExport
23{
24  NSDictionary *rawManifestJSON = [EXDevLauncherController.sharedInstance appManifest].rawManifestJSON;
25  NSData *manifestStringData = rawManifestJSON ? [NSJSONSerialization dataWithJSONObject:rawManifestJSON options:kNilOptions error:NULL] : nil;
26  NSString *manifestURLString = [EXDevLauncherController.sharedInstance appManifestURL].absoluteString;
27  return @{
28    @"manifestString": manifestStringData ? [[NSString alloc] initWithData:manifestStringData encoding:NSUTF8StringEncoding] : [NSNull null],
29    @"manifestURL": manifestURLString ?: [NSNull null]
30  };
31}
32
33@end
34