47 lines
1.3 KiB
C
Raw Normal View History

2015-01-29 17:10:49 -08:00
// Copyright 2004-present Facebook. All Rights Reserved.
#import <tgmath.h>
2015-01-29 17:10:49 -08:00
#import <CoreGraphics/CoreGraphics.h>
#import <Foundation/Foundation.h>
#import "RCTAssert.h"
#ifdef __cplusplus
extern "C" {
#endif
2015-01-29 17:10:49 -08:00
// Utility functions for JSON object <-> string serialization/deserialization
NSString *RCTJSONStringify(id jsonObject, NSError **error);
id RCTJSONParse(NSString *jsonString, NSError **error);
// Get MD5 hash of a string (TODO: currently unused. Remove?)
2015-01-29 17:10:49 -08:00
NSString *RCTMD5Hash(NSString *string);
// Get screen metrics in a thread-safe way
2015-01-29 17:10:49 -08:00
CGFloat RCTScreenScale(void);
CGSize RCTScreenSize(void);
2015-01-29 17:10:49 -08:00
// Round float coordinates to nearest whole screen pixel (not point)
CGFloat RCTRoundPixelValue(CGFloat value);
CGFloat RCTCeilPixelValue(CGFloat value);
CGFloat RCTFloorPixelValue(CGFloat value);
// Get current time, for precise performance metrics
NSTimeInterval RCTTGetAbsoluteTime(void);
// Method swizzling
void RCTSwapClassMethods(Class cls, SEL original, SEL replacement);
void RCTSwapInstanceMethods(Class cls, SEL original, SEL replacement);
// Module subclass support
BOOL RCTClassOverridesClassMethod(Class cls, SEL selector);
BOOL RCTClassOverridesInstanceMethod(Class cls, SEL selector);
// Enumerate all classes that conform to NSObject protocol
void RCTEnumerateClasses(void (^block)(Class cls));
#ifdef __cplusplus
}
#endif