1 // Copyright © 2021-present 650 Industries, Inc. (aka Expo)
2 
3 #pragma once
4 
5 namespace expo {
6 /**
7  * A cpp version of the `expo.modules.kotlin.jni.CppType` enum.
8  * Used to determine which representation of the js value should be sent to the Kotlin.
9  */
10 enum CppType {
11   NONE = 0,
12   DOUBLE = 1 << 0,
13   INT = 1 << 1,
14   LONG = 1 << 2,
15   FLOAT = 1 << 3,
16   BOOLEAN = 1 << 4,
17   STRING = 1 << 5,
18   JS_OBJECT = 1 << 6,
19   JS_VALUE = 1 << 7,
20   READABLE_ARRAY = 1 << 8,
21   READABLE_MAP = 1 << 9,
22   TYPED_ARRAY = 1 << 10,
23   PRIMITIVE_ARRAY = 1 << 11,
24   LIST = 1 << 12,
25   MAP = 1 << 13,
26   VIEW_TAG = 1 << 14,
27   SHARED_OBJECT_ID = 1 << 15,
28   JS_FUNCTION = 1 << 16
29 };
30 } // namespace expo
31