mirror of
https://github.com/status-im/react-native.git
synced 2025-01-16 20:44:10 +00:00
3be8c957b0
Summary: The loader should be a utility that stands alone. The bridge uses the loader, not the other way around. Reviewed By: bnham Differential Revision: D3546157 fbshipit-source-id: 91016afb629df1f8c83c8fca6f42649be0b046b0
46 lines
1.7 KiB
Objective-C
Executable File
46 lines
1.7 KiB
Objective-C
Executable File
/**
|
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*/
|
|
|
|
#import <UIKit/UIKit.h>
|
|
|
|
extern uint32_t const RCTRAMBundleMagicNumber;
|
|
|
|
extern NSString *const RCTJavaScriptLoaderErrorDomain;
|
|
|
|
NS_ENUM(NSInteger) {
|
|
RCTJavaScriptLoaderErrorNoScriptURL = 1,
|
|
RCTJavaScriptLoaderErrorFailedOpeningFile = 2,
|
|
RCTJavaScriptLoaderErrorFailedReadingFile = 3,
|
|
RCTJavaScriptLoaderErrorFailedStatingFile = 3,
|
|
RCTJavaScriptLoaderErrorURLLoadFailed = 3,
|
|
|
|
RCTJavaScriptLoaderErrorCannotBeLoadedSynchronously = 1000,
|
|
};
|
|
|
|
typedef void (^RCTSourceLoadBlock)(NSError *error, NSData *source, int64_t sourceLength);
|
|
|
|
@interface RCTJavaScriptLoader : NSObject
|
|
|
|
+ (void)loadBundleAtURL:(NSURL *)scriptURL onComplete:(RCTSourceLoadBlock)onComplete;
|
|
|
|
/**
|
|
* @experimental
|
|
* Attempts to synchronously load the script at the given URL. The following two conditions must be met:
|
|
* 1. It must be a file URL.
|
|
* 2. It must point to a RAM bundle, or allowLoadingNonRAMBundles must be YES.
|
|
* If the URL does not meet those conditions, this method will return nil and supply an error with the domain
|
|
* RCTJavaScriptLoaderErrorDomain and the code RCTJavaScriptLoaderErrorCannotBeLoadedSynchronously.
|
|
*/
|
|
+ (NSData *)attemptSynchronousLoadOfBundleAtURL:(NSURL *)scriptURL
|
|
sourceLength:(int64_t *)sourceLength
|
|
allowLoadingNonRAMBundles:(BOOL)allowLoadingNonRAMBundles
|
|
error:(NSError **)error;
|
|
|
|
@end
|