JSValue+JSBinding.h
1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
//
// JSValue+JSBinding.h
// SWAN
//
// Created by baidu on 2018/7/19.
// Copyright © 2018年 baidu. All rights reserved.
//
#import "BBAJSBindingError.h"
@interface JSValue (JSBinding)
/**
JSValue转换为NSString类型,如果不是String|Number|boolean类型,返回nil
@return JSValue对应的NSString
*/
- (NSString *)jsb_toString;
/**
JSValue转换为boolean类型,如果不是String|boolean类型,返回nil
@return JSValue对应的boolean类型
*/
- (BOOL)jsb_toBool;
/**
JSValue转换为Number类型,如果不是Number|boolean类型,返回nil
@return JSValue对应的Number类型
*/
- (NSNumber *)jsb_toNumber;
/**
JSValue转换为Array类型,如果不是Array类型,返回nil
@return JSValue对应的Array类型
*/
- (NSArray *)jsb_toArray;
/**
JSValue转换为Dictionary类型,如果不是Dictionary类型,返回nil
@return JSValue对应的Dictionary类型
*/
- (NSDictionary *)jsb_toDictionary;
/**
JSValue转换为Object类型,如果不是Object类型,返回nil
@return JSValue对应的Object类型
*/
- (id)jsb_toObject;
/**
JSValue转换为Date类型,如果不是Date类型,返回nil
@return JSValue对应的Date类型
*/
- (NSDate *)jsb_toDate;
/**
判断一个JSValue是不是一个js function
@param value JSValue
@return YES/NO
*/
+ (BOOL)jsb_isJsFunctionWithJsValue:(JSValue *)value;
+ (BOOL)jsb_isArrayBufferWithJsValue:(JSValue *)value;
/**
返回JSValue对应的BBAJSDataType
@param value JSValue
@return BBAJSDataType
*/
+ (BBAJSDataType)jsb_bbaJsDataTypeFormJsValue:(JSValue *)value API_AVAILABLE(ios(9.0));
@end