react-native-flic2 0.3.26 → 2.0.0-alpha.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/Flic2.podspec +22 -0
  2. package/{LICENSE.md → LICENSE} +1 -1
  3. package/README.md +17 -523
  4. package/android/build.gradle +64 -132
  5. package/android/gradle.properties +5 -0
  6. package/android/src/main/AndroidManifest.xml +17 -29
  7. package/android/src/main/java/com/flic2/Flic2ButtonListener.kt +132 -0
  8. package/android/src/main/java/com/flic2/Flic2Converter.kt +103 -0
  9. package/android/src/main/java/com/flic2/Flic2Module.kt +480 -0
  10. package/android/src/main/java/com/flic2/Flic2Package.kt +33 -0
  11. package/android/src/main/java/com/flic2/Flic2Service.kt +112 -0
  12. package/ios/Flic2.h +9 -4
  13. package/ios/Flic2.mm +610 -0
  14. package/ios/flic2lib.framework/Headers/FLICButton.h +1 -1
  15. package/ios/flic2lib.framework/Headers/FLICManager.h +1 -1
  16. package/ios/flic2lib.framework/Info.plist +0 -0
  17. package/ios/flic2lib.framework/Modules/module.modulemap +1 -1
  18. package/ios/flic2lib.framework/flic2lib +0 -0
  19. package/lib/module/NativeFlic2.js +14 -0
  20. package/lib/module/NativeFlic2.js.map +1 -0
  21. package/lib/module/index.js +91 -0
  22. package/lib/module/index.js.map +1 -0
  23. package/lib/module/package.json +1 -0
  24. package/lib/typescript/package.json +1 -0
  25. package/lib/typescript/src/NativeFlic2.d.ts +119 -0
  26. package/lib/typescript/src/NativeFlic2.d.ts.map +1 -0
  27. package/lib/typescript/src/index.d.ts +81 -0
  28. package/lib/typescript/src/index.d.ts.map +1 -0
  29. package/package.json +132 -19
  30. package/src/NativeFlic2.ts +157 -0
  31. package/src/index.tsx +159 -0
  32. package/.editorconfig +0 -7
  33. package/.gitattributes +0 -1
  34. package/.idea/codeStyles/Project.xml +0 -116
  35. package/.idea/modules.xml +0 -8
  36. package/.idea/react-native-flic2.iml +0 -9
  37. package/.idea/vcs.xml +0 -6
  38. package/.idea/workspace.xml +0 -140
  39. package/android/.classpath +0 -6
  40. package/android/.gradle/5.4.1/executionHistory/executionHistory.bin +0 -0
  41. package/android/.gradle/5.4.1/executionHistory/executionHistory.lock +0 -0
  42. package/android/.gradle/5.4.1/fileChanges/last-build.bin +0 -0
  43. package/android/.gradle/5.4.1/fileContent/fileContent.lock +0 -0
  44. package/android/.gradle/5.4.1/fileHashes/fileHashes.bin +0 -0
  45. package/android/.gradle/5.4.1/fileHashes/fileHashes.lock +0 -0
  46. package/android/.gradle/5.4.1/fileHashes/resourceHashesCache.bin +0 -0
  47. package/android/.gradle/5.4.1/gc.properties +0 -0
  48. package/android/.gradle/5.4.1/javaCompile/classAnalysis.bin +0 -0
  49. package/android/.gradle/5.4.1/javaCompile/jarAnalysis.bin +0 -0
  50. package/android/.gradle/5.4.1/javaCompile/javaCompile.lock +0 -0
  51. package/android/.gradle/5.4.1/javaCompile/taskHistory.bin +0 -0
  52. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  53. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  54. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  55. package/android/.gradle/vcs-1/gc.properties +0 -0
  56. package/android/.idea/caches/build_file_checksums.ser +0 -0
  57. package/android/.idea/codeStyles/Project.xml +0 -116
  58. package/android/.idea/gradle.xml +0 -18
  59. package/android/.idea/libraries/Gradle__android_arch_core_common_1_1_1_jar.xml +0 -11
  60. package/android/.idea/libraries/Gradle__android_arch_core_runtime_1_1_1_aar.xml +0 -12
  61. package/android/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_1_jar.xml +0 -11
  62. package/android/.idea/libraries/Gradle__android_arch_lifecycle_livedata_1_1_1_aar.xml +0 -12
  63. package/android/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_1_aar.xml +0 -12
  64. package/android/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml +0 -12
  65. package/android/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_1_aar.xml +0 -12
  66. package/android/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_28_0_0_aar.xml +0 -10
  67. package/android/.idea/libraries/Gradle__com_android_support_appcompat_v7_28_0_0_aar.xml +0 -13
  68. package/android/.idea/libraries/Gradle__com_android_support_asynclayoutinflater_28_0_0_aar.xml +0 -10
  69. package/android/.idea/libraries/Gradle__com_android_support_collections_28_0_0_jar.xml +0 -9
  70. package/android/.idea/libraries/Gradle__com_android_support_coordinatorlayout_28_0_0_aar.xml +0 -13
  71. package/android/.idea/libraries/Gradle__com_android_support_cursoradapter_28_0_0_aar.xml +0 -10
  72. package/android/.idea/libraries/Gradle__com_android_support_customview_28_0_0_aar.xml +0 -10
  73. package/android/.idea/libraries/Gradle__com_android_support_documentfile_28_0_0_aar.xml +0 -10
  74. package/android/.idea/libraries/Gradle__com_android_support_drawerlayout_28_0_0_aar.xml +0 -13
  75. package/android/.idea/libraries/Gradle__com_android_support_interpolator_28_0_0_aar.xml +0 -10
  76. package/android/.idea/libraries/Gradle__com_android_support_loader_28_0_0_aar.xml +0 -10
  77. package/android/.idea/libraries/Gradle__com_android_support_localbroadcastmanager_28_0_0_aar.xml +0 -10
  78. package/android/.idea/libraries/Gradle__com_android_support_print_28_0_0_aar.xml +0 -13
  79. package/android/.idea/libraries/Gradle__com_android_support_slidingpanelayout_28_0_0_aar.xml +0 -10
  80. package/android/.idea/libraries/Gradle__com_android_support_support_annotations_28_0_0_jar.xml +0 -9
  81. package/android/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_aar.xml +0 -13
  82. package/android/.idea/libraries/Gradle__com_android_support_support_core_ui_28_0_0_aar.xml +0 -10
  83. package/android/.idea/libraries/Gradle__com_android_support_support_core_utils_28_0_0_aar.xml +0 -10
  84. package/android/.idea/libraries/Gradle__com_android_support_support_fragment_28_0_0_aar.xml +0 -13
  85. package/android/.idea/libraries/Gradle__com_android_support_support_vector_drawable_28_0_0_aar.xml +0 -10
  86. package/android/.idea/libraries/Gradle__com_android_support_swiperefreshlayout_28_0_0_aar.xml +0 -13
  87. package/android/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_aar.xml +0 -10
  88. package/android/.idea/libraries/Gradle__com_android_support_viewpager_28_0_0_aar.xml +0 -10
  89. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_1_10_0_aar.xml +0 -12
  90. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_1_10_0_aar.xml +0 -15
  91. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_1_10_0_aar.xml +0 -15
  92. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_1_10_0_aar.xml +0 -15
  93. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_1_10_0_aar.xml +0 -15
  94. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_1_10_0_aar.xml +0 -12
  95. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_11_2_jar.xml +0 -13
  96. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_59_10_aar.xml +0 -17
  97. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_6_0_aar.xml +0 -14
  98. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2_jar.xml +0 -13
  99. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_1_jar.xml +0 -13
  100. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_3_12_1_jar.xml +0 -13
  101. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_15_0_jar.xml +0 -13
  102. package/android/.idea/libraries/Gradle__io_flic_flic2lib_android_1_1_0_aar.xml +0 -14
  103. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml +0 -13
  104. package/android/.idea/misc.xml +0 -14
  105. package/android/.idea/modules.xml +0 -8
  106. package/android/.idea/runConfigurations.xml +0 -12
  107. package/android/.idea/vcs.xml +0 -6
  108. package/android/.idea/workspace.xml +0 -348
  109. package/android/.project +0 -34
  110. package/android/.settings/org.eclipse.buildship.core.prefs +0 -13
  111. package/android/README.md +0 -14
  112. package/android/android.iml +0 -139
  113. package/android/build/generated/source/buildConfig/debug/nl/xguard/flic2/BuildConfig.java +0 -13
  114. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +0 -46
  115. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +0 -1
  116. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
  117. package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  118. package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +0 -15
  119. package/android/build/intermediates/incremental/packageDebugResources/merged.dir/values/values.xml +0 -4
  120. package/android/build/intermediates/incremental/packageDebugResources/merger.xml +0 -2
  121. package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +0 -46
  122. package/android/build/intermediates/merged_manifests/debug/output.json +0 -1
  123. package/android/build/intermediates/packaged_res/debug/drawable/ic_launcher_background.xml +0 -74
  124. package/android/build/intermediates/packaged_res/debug/drawable-v24/ic_launcher_foreground.xml +0 -34
  125. package/android/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher.xml +0 -5
  126. package/android/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher_round.xml +0 -5
  127. package/android/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher.png +0 -0
  128. package/android/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher_round.png +0 -0
  129. package/android/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher.png +0 -0
  130. package/android/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher_round.png +0 -0
  131. package/android/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher.png +0 -0
  132. package/android/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher_round.png +0 -0
  133. package/android/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher.png +0 -0
  134. package/android/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher_round.png +0 -0
  135. package/android/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher.png +0 -0
  136. package/android/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher_round.png +0 -0
  137. package/android/build/intermediates/packaged_res/debug/values/values.xml +0 -4
  138. package/android/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt +0 -989
  139. package/android/build/intermediates/symbols/debug/R.txt +0 -1302
  140. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -95
  141. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  142. package/android/gradle/wrapper/gradle-wrapper.properties +0 -6
  143. package/android/gradlew +0 -172
  144. package/android/gradlew.bat +0 -84
  145. package/android/local.properties +0 -8
  146. package/android/src/main/ic_launcher-web.png +0 -0
  147. package/android/src/main/java/nl/xguard/flic2/Flic2.java +0 -213
  148. package/android/src/main/java/nl/xguard/flic2/Flic2Package.java +0 -28
  149. package/android/src/main/java/nl/xguard/flic2/communication/IReactEvent.java +0 -15
  150. package/android/src/main/java/nl/xguard/flic2/communication/NullReactEvent.java +0 -47
  151. package/android/src/main/java/nl/xguard/flic2/communication/ReactEvent.java +0 -230
  152. package/android/src/main/java/nl/xguard/flic2/model/IReactFlic2Manager.java +0 -27
  153. package/android/src/main/java/nl/xguard/flic2/model/NullReactFlic2Manager.java +0 -70
  154. package/android/src/main/java/nl/xguard/flic2/model/ReactAndroidHandler.java +0 -33
  155. package/android/src/main/java/nl/xguard/flic2/model/ReactFlic2ButtonListener.java +0 -106
  156. package/android/src/main/java/nl/xguard/flic2/model/ReactFlic2Manager.java +0 -168
  157. package/android/src/main/java/nl/xguard/flic2/model/ReactFlic2ScanCallback.java +0 -48
  158. package/android/src/main/java/nl/xguard/flic2/model/ReactLogger.java +0 -14
  159. package/android/src/main/java/nl/xguard/flic2/service/Flic2Service.java +0 -200
  160. package/android/src/main/java/nl/xguard/flic2/service/Flic2ServiceConnection.java +0 -41
  161. package/android/src/main/java/nl/xguard/flic2/service/IFlic2Service.java +0 -13
  162. package/android/src/main/java/nl/xguard/flic2/sharedpreferences/flic2SharedPreferences.java +0 -35
  163. package/android/src/main/java/nl/xguard/flic2/util/ActivityUtil.java +0 -29
  164. package/android/src/main/java/nl/xguard/flic2/util/Consumer.java +0 -12
  165. package/android/src/main/res/drawable/ic_launcher_background.xml +0 -74
  166. package/android/src/main/res/drawable-v24/ic_launcher_foreground.xml +0 -34
  167. package/android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +0 -5
  168. package/android/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +0 -5
  169. package/android/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  170. package/android/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  171. package/android/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  172. package/android/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  173. package/android/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  174. package/android/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  175. package/android/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  176. package/android/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  177. package/android/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  178. package/android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  179. package/android/src/main/res/values/ids.xml +0 -5
  180. package/build/generated/source/buildConfig/debug/com/flic2/BuildConfig.java +0 -13
  181. package/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -46
  182. package/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output.json +0 -1
  183. package/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
  184. package/build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt +0 -0
  185. package/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  186. package/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
  187. package/build/intermediates/incremental/debug-mergeJniLibs/merge-state +0 -0
  188. package/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  189. package/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  190. package/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
  191. package/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +0 -15
  192. package/build/intermediates/incremental/packageDebugResources/merger.xml +0 -2
  193. package/build/intermediates/intermediate-jars/debug/classes.jar +0 -0
  194. package/build/intermediates/intermediate-jars/debug/res.jar +0 -0
  195. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/BuildConfig.class +0 -0
  196. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/Flic2Module$1.class +0 -0
  197. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/Flic2Module.class +0 -0
  198. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/Flic2Package.class +0 -0
  199. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/callback/flic2ButtonCallback.class +0 -0
  200. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/communication/ReactEvent.class +0 -0
  201. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/service/Flic2Service$BootUpReceiver.class +0 -0
  202. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/service/Flic2Service$UpdateReceiver.class +0 -0
  203. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/service/Flic2Service.class +0 -0
  204. package/build/intermediates/library_manifest/debug/AndroidManifest.xml +0 -46
  205. package/build/intermediates/merged_manifests/debug/output.json +0 -1
  206. package/build/intermediates/packaged-classes/debug/classes.jar +0 -0
  207. package/build/intermediates/packaged_res/debug/drawable/ic_launcher_background.xml +0 -74
  208. package/build/intermediates/packaged_res/debug/drawable-v24/ic_launcher_foreground.xml +0 -34
  209. package/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher.xml +0 -5
  210. package/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher_round.xml +0 -5
  211. package/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher.png +0 -0
  212. package/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher_round.png +0 -0
  213. package/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher.png +0 -0
  214. package/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher_round.png +0 -0
  215. package/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher.png +0 -0
  216. package/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher_round.png +0 -0
  217. package/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher.png +0 -0
  218. package/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher_round.png +0 -0
  219. package/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher.png +0 -0
  220. package/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher_round.png +0 -0
  221. package/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt +0 -1290
  222. package/build/intermediates/symbols/debug/R.txt +0 -1764
  223. package/build/intermediates/transforms/mergeJavaRes/debug/0.jar +0 -0
  224. package/build/intermediates/transforms/mergeJavaRes/debug/__content__.json +0 -1
  225. package/build/intermediates/transforms/mergeJniLibs/debug/__content__.json +0 -1
  226. package/build/intermediates/transforms/stripDebugSymbol/debug/__content__.json +0 -1
  227. package/build/outputs/aar/react-native-flic2-debug.aar +0 -0
  228. package/build/outputs/logs/manifest-merger-debug-report.txt +0 -95
  229. package/flic2Button.js +0 -170
  230. package/index.js +0 -430
  231. package/ios/Flic2.m +0 -611
  232. package/ios/Flic2.xcodeproj/project.pbxproj +0 -320
  233. package/ios/Flic2.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
  234. package/ios/Flic2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  235. package/ios/Flic2.xcodeproj/project.xcworkspace/xcuserdata/wesdewitte.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  236. package/ios/Flic2.xcodeproj/xcshareddata/xcschemes/Flic2.xcscheme +0 -66
  237. package/ios/Flic2.xcodeproj/xcuserdata/wesdewitte.xcuserdatad/xcschemes/xcschememanagement.plist +0 -22
  238. package/ios/Flic2.xcworkspace/contents.xcworkspacedata +0 -7
  239. package/ios/Flic2.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  240. package/ios/Flic2.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +0 -5
  241. package/ios/Flic2.xcworkspace/xcuserdata/wesdewitte.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  242. package/ios/Flic2.xcworkspace/xcuserdata/wesdewitte.xcuserdatad/WorkspaceSettings.xcsettings +0 -14
  243. package/react-native-flic2.podspec +0 -26
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ import NativeFlic2 from "./NativeFlic2.js";
4
+
5
+ // MARK: - Example Functions (keeping for compatibility)
6
+
7
+ export function multiply(a, b) {
8
+ return NativeFlic2.multiply(a, b);
9
+ }
10
+ export const onMultiply = NativeFlic2.onMultiply;
11
+
12
+ // MARK: - Manager Functions
13
+
14
+ export function initialize(background) {
15
+ return NativeFlic2.initialize(background);
16
+ }
17
+ export function getButtons() {
18
+ return NativeFlic2.getButtons();
19
+ }
20
+ export function scanForButtons() {
21
+ return NativeFlic2.scanForButtons();
22
+ }
23
+ export function stopScan() {
24
+ return NativeFlic2.stopScan();
25
+ }
26
+ export function forgetButton(uuid) {
27
+ return NativeFlic2.forgetButton(uuid);
28
+ }
29
+ export function connectAllKnownButtons() {
30
+ return NativeFlic2.connectAllKnownButtons();
31
+ }
32
+ export function disconnectAllKnownButtons() {
33
+ return NativeFlic2.disconnectAllKnownButtons();
34
+ }
35
+ export function forgetAllButtons() {
36
+ return NativeFlic2.forgetAllButtons();
37
+ }
38
+ export function isScanning() {
39
+ return NativeFlic2.isScanning();
40
+ }
41
+
42
+ // MARK: - Button Functions
43
+
44
+ export function connectButton(uuid) {
45
+ return NativeFlic2.connectButton(uuid);
46
+ }
47
+ export function disconnectButton(uuid) {
48
+ return NativeFlic2.disconnectButton(uuid);
49
+ }
50
+
51
+ /**
52
+ * Sets the trigger mode for a button.
53
+ *
54
+ * @platform iOS
55
+ * @param uuid - Button UUID
56
+ * @param mode - Trigger mode (0-3)
57
+ * @returns Promise that resolves on iOS, rejects with NOT_SUPPORTED_ON_ANDROID on Android
58
+ *
59
+ * **Note:** This feature is only available on iOS. On Android, this will reject due to
60
+ * limitations in the Android Flic2 library v1.1.0+.
61
+ */
62
+ export function setTriggerMode(uuid, mode) {
63
+ return NativeFlic2.setTriggerMode(uuid, mode);
64
+ }
65
+
66
+ /**
67
+ * Sets the latency mode for a button.
68
+ *
69
+ * @platform iOS
70
+ * @param uuid - Button UUID
71
+ * @param mode - Latency mode (0-1)
72
+ * @returns Promise that resolves on iOS, rejects with NOT_SUPPORTED_ON_ANDROID on Android
73
+ *
74
+ * **Note:** This feature is only available on iOS. On Android, this will reject due to
75
+ * limitations in the Android Flic2 library v1.1.0+.
76
+ */
77
+ export function setLatencyMode(uuid, mode) {
78
+ return NativeFlic2.setLatencyMode(uuid, mode);
79
+ }
80
+ export function setNickname(uuid, nickname) {
81
+ return NativeFlic2.setNickname(uuid, nickname);
82
+ }
83
+
84
+ // MARK: - Event Emitters
85
+
86
+ export const onManagerStateChange = NativeFlic2.onManagerStateChange;
87
+ export const onScanStatusChange = NativeFlic2.onScanStatusChange;
88
+ export const onButtonEvent = NativeFlic2.onButtonEvent;
89
+
90
+ // MARK: - Re-export Types
91
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeFlic2","multiply","a","b","onMultiply","initialize","background","getButtons","scanForButtons","stopScan","forgetButton","uuid","connectAllKnownButtons","disconnectAllKnownButtons","forgetAllButtons","isScanning","connectButton","disconnectButton","setTriggerMode","mode","setLatencyMode","setNickname","nickname","onManagerStateChange","onScanStatusChange","onButtonEvent"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAUA,OAAOA,WAAW,MAAM,kBAAe;;AAEvC;;AAEA,OAAO,SAASC,QAAQA,CAACC,CAAS,EAAEC,CAAS,EAAU;EACrD,OAAOH,WAAW,CAACC,QAAQ,CAACC,CAAC,EAAEC,CAAC,CAAC;AACnC;AAEA,OAAO,MAAMC,UAAU,GACrBJ,WAAW,CAACI,UAAsD;;AAEpE;;AAEA,OAAO,SAASC,UAAUA,CACxBC,UAAmB,EAC6B;EAChD,OAAON,WAAW,CAACK,UAAU,CAACC,UAAU,CAAC;AAC3C;AAEA,OAAO,SAASC,UAAUA,CAAA,EAA0B;EAClD,OAAOP,WAAW,CAACO,UAAU,CAAC,CAAC;AACjC;AAEA,OAAO,SAASC,cAAcA,CAAA,EAG3B;EACD,OAAOR,WAAW,CAACQ,cAAc,CAAC,CAAC;AACrC;AAEA,OAAO,SAASC,QAAQA,CAAA,EAAmD;EACzE,OAAOT,WAAW,CAACS,QAAQ,CAAC,CAAC;AAC/B;AAEA,OAAO,SAASC,YAAYA,CAC1BC,IAAY,EACoC;EAChD,OAAOX,WAAW,CAACU,YAAY,CAACC,IAAI,CAAC;AACvC;AAEA,OAAO,SAASC,sBAAsBA,CAAA,EAGnC;EACD,OAAOZ,WAAW,CAACY,sBAAsB,CAAC,CAAC;AAC7C;AAEA,OAAO,SAASC,yBAAyBA,CAAA,EAGtC;EACD,OAAOb,WAAW,CAACa,yBAAyB,CAAC,CAAC;AAChD;AAEA,OAAO,SAASC,gBAAgBA,CAAA,EAG7B;EACD,OAAOd,WAAW,CAACc,gBAAgB,CAAC,CAAC;AACvC;AAEA,OAAO,SAASC,UAAUA,CAAA,EAAqB;EAC7C,OAAOf,WAAW,CAACe,UAAU,CAAC,CAAC;AACjC;;AAEA;;AAEA,OAAO,SAASC,aAAaA,CAC3BL,IAAY,EACoC;EAChD,OAAOX,WAAW,CAACgB,aAAa,CAACL,IAAI,CAAC;AACxC;AAEA,OAAO,SAASM,gBAAgBA,CAC9BN,IAAY,EACoC;EAChD,OAAOX,WAAW,CAACiB,gBAAgB,CAACN,IAAI,CAAC;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASO,cAAcA,CAC5BP,IAAY,EACZQ,IAAqB,EAC2B;EAChD,OAAOnB,WAAW,CAACkB,cAAc,CAACP,IAAI,EAAEQ,IAAI,CAAC;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAC5BT,IAAY,EACZQ,IAAqB,EAC2B;EAChD,OAAOnB,WAAW,CAACoB,cAAc,CAACT,IAAI,EAAEQ,IAAI,CAAC;AAC/C;AAEA,OAAO,SAASE,WAAWA,CACzBV,IAAY,EACZW,QAAgB,EACgC;EAChD,OAAOtB,WAAW,CAACqB,WAAW,CAACV,IAAI,EAAEW,QAAQ,CAAC;AAChD;;AAEA;;AAEA,OAAO,MAAMC,oBAAoB,GAC/BvB,WAAW,CAACuB,oBAA0E;AAExF,OAAO,MAAMC,kBAAkB,GAC7BxB,WAAW,CAACwB,kBAAsE;AAEpF,OAAO,MAAMC,aAAa,GACxBzB,WAAW,CAACyB,aAAuD;;AAErE","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,119 @@
1
+ import { type TurboModule, type CodegenTypes } from 'react-native';
2
+ export type MultiplyEvent = {
3
+ a: number;
4
+ b: number;
5
+ result: number;
6
+ };
7
+ export type ManagerStateChangeEvent = {
8
+ event: 'restored' | 'stateChanged';
9
+ state?: number;
10
+ stateName?: string;
11
+ message?: string;
12
+ };
13
+ export type ScanStatusChangeEvent = {
14
+ event: number;
15
+ eventName: string;
16
+ };
17
+ export type ButtonEvent = {
18
+ uuid: string;
19
+ event: 'discovered' | 'connected' | 'ready' | 'disconnected' | 'connectionFailed' | 'buttonDown' | 'buttonUp' | 'click' | 'doubleClick' | 'hold' | 'unpaired' | 'batteryUpdate' | 'nicknameUpdate';
20
+ queued?: boolean;
21
+ age?: number;
22
+ voltage?: number;
23
+ nickname?: string;
24
+ error?: {
25
+ code: number;
26
+ message: string;
27
+ };
28
+ button: FlicButton;
29
+ };
30
+ export type FlicButton = {
31
+ uuid: string;
32
+ identifier: string;
33
+ name: string;
34
+ nickname: string;
35
+ bluetoothAddress: string;
36
+ serialNumber: string;
37
+ state: number;
38
+ stateName: string;
39
+ /** @platform iOS - Returns 0 on Android */
40
+ triggerMode: number;
41
+ /** @platform iOS - Returns empty string on Android */
42
+ triggerModeName: string;
43
+ /** @platform iOS - Returns 0 on Android */
44
+ latencyMode: number;
45
+ /** @platform iOS - Returns empty string on Android */
46
+ latencyModeName: string;
47
+ pressCount: number;
48
+ firmwareRevision: number;
49
+ isReady: boolean;
50
+ batteryVoltage: number;
51
+ isUnpaired: boolean;
52
+ };
53
+ export type FlicManagerState = 'unknown' | 'resetting' | 'unsupported' | 'unauthorized' | 'poweredOff' | 'poweredOn';
54
+ export type FlicButtonState = 'disconnected' | 'connecting' | 'connected' | 'disconnecting';
55
+ export type FlicTriggerMode = 'clickAndHold' | 'clickAndDoubleClick' | 'clickAndDoubleClickAndHold' | 'click';
56
+ export type FlicLatencyMode = 'normal' | 'low';
57
+ export type FlicScannerEvent = 'discovered' | 'connected' | 'verified' | 'verificationFailed';
58
+ export type TriggerModeType = 0 | 1 | 2 | 3;
59
+ export type LatencyModeType = 0 | 1;
60
+ export interface Spec extends TurboModule {
61
+ multiply(a: number, b: number): number;
62
+ readonly onMultiply: CodegenTypes.EventEmitter<MultiplyEvent>;
63
+ initialize(background: boolean): Promise<{
64
+ success: boolean;
65
+ message: string;
66
+ }>;
67
+ getButtons(): Promise<FlicButton[]>;
68
+ scanForButtons(): Promise<{
69
+ success: boolean;
70
+ message: string;
71
+ }>;
72
+ stopScan(): Promise<{
73
+ success: boolean;
74
+ message: string;
75
+ }>;
76
+ forgetButton(uuid: string): Promise<{
77
+ success: boolean;
78
+ message: string;
79
+ }>;
80
+ connectAllKnownButtons(): Promise<{
81
+ success: boolean;
82
+ message: string;
83
+ }>;
84
+ disconnectAllKnownButtons(): Promise<{
85
+ success: boolean;
86
+ message: string;
87
+ }>;
88
+ forgetAllButtons(): Promise<{
89
+ success: boolean;
90
+ message: string;
91
+ }>;
92
+ isScanning(): Promise<boolean>;
93
+ connectButton(uuid: string): Promise<{
94
+ success: boolean;
95
+ message: string;
96
+ }>;
97
+ disconnectButton(uuid: string): Promise<{
98
+ success: boolean;
99
+ message: string;
100
+ }>;
101
+ setTriggerMode(uuid: string, mode: TriggerModeType): Promise<{
102
+ success: boolean;
103
+ message: string;
104
+ }>;
105
+ setLatencyMode(uuid: string, mode: LatencyModeType): Promise<{
106
+ success: boolean;
107
+ message: string;
108
+ }>;
109
+ setNickname(uuid: string, nickname: string): Promise<{
110
+ success: boolean;
111
+ message: string;
112
+ }>;
113
+ readonly onManagerStateChange: CodegenTypes.EventEmitter<ManagerStateChangeEvent>;
114
+ readonly onScanStatusChange: CodegenTypes.EventEmitter<ScanStatusChangeEvent>;
115
+ readonly onButtonEvent: CodegenTypes.EventEmitter<ButtonEvent>;
116
+ }
117
+ declare const _default: Spec;
118
+ export default _default;
119
+ //# sourceMappingURL=NativeFlic2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeFlic2.d.ts","sourceRoot":"","sources":["../../../src/NativeFlic2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import type { CodegenTypes } from 'react-native';
2
+ import type { MultiplyEvent, ManagerStateChangeEvent, ScanStatusChangeEvent, ButtonEvent, FlicButton, TriggerModeType, LatencyModeType } from './NativeFlic2';
3
+ export declare function multiply(a: number, b: number): number;
4
+ export declare const onMultiply: CodegenTypes.EventEmitter<MultiplyEvent>;
5
+ export declare function initialize(background: boolean): Promise<{
6
+ success: boolean;
7
+ message: string;
8
+ }>;
9
+ export declare function getButtons(): Promise<FlicButton[]>;
10
+ export declare function scanForButtons(): Promise<{
11
+ success: boolean;
12
+ message: string;
13
+ }>;
14
+ export declare function stopScan(): Promise<{
15
+ success: boolean;
16
+ message: string;
17
+ }>;
18
+ export declare function forgetButton(uuid: string): Promise<{
19
+ success: boolean;
20
+ message: string;
21
+ }>;
22
+ export declare function connectAllKnownButtons(): Promise<{
23
+ success: boolean;
24
+ message: string;
25
+ }>;
26
+ export declare function disconnectAllKnownButtons(): Promise<{
27
+ success: boolean;
28
+ message: string;
29
+ }>;
30
+ export declare function forgetAllButtons(): Promise<{
31
+ success: boolean;
32
+ message: string;
33
+ }>;
34
+ export declare function isScanning(): Promise<boolean>;
35
+ export declare function connectButton(uuid: string): Promise<{
36
+ success: boolean;
37
+ message: string;
38
+ }>;
39
+ export declare function disconnectButton(uuid: string): Promise<{
40
+ success: boolean;
41
+ message: string;
42
+ }>;
43
+ /**
44
+ * Sets the trigger mode for a button.
45
+ *
46
+ * @platform iOS
47
+ * @param uuid - Button UUID
48
+ * @param mode - Trigger mode (0-3)
49
+ * @returns Promise that resolves on iOS, rejects with NOT_SUPPORTED_ON_ANDROID on Android
50
+ *
51
+ * **Note:** This feature is only available on iOS. On Android, this will reject due to
52
+ * limitations in the Android Flic2 library v1.1.0+.
53
+ */
54
+ export declare function setTriggerMode(uuid: string, mode: TriggerModeType): Promise<{
55
+ success: boolean;
56
+ message: string;
57
+ }>;
58
+ /**
59
+ * Sets the latency mode for a button.
60
+ *
61
+ * @platform iOS
62
+ * @param uuid - Button UUID
63
+ * @param mode - Latency mode (0-1)
64
+ * @returns Promise that resolves on iOS, rejects with NOT_SUPPORTED_ON_ANDROID on Android
65
+ *
66
+ * **Note:** This feature is only available on iOS. On Android, this will reject due to
67
+ * limitations in the Android Flic2 library v1.1.0+.
68
+ */
69
+ export declare function setLatencyMode(uuid: string, mode: LatencyModeType): Promise<{
70
+ success: boolean;
71
+ message: string;
72
+ }>;
73
+ export declare function setNickname(uuid: string, nickname: string): Promise<{
74
+ success: boolean;
75
+ message: string;
76
+ }>;
77
+ export declare const onManagerStateChange: CodegenTypes.EventEmitter<ManagerStateChangeEvent>;
78
+ export declare const onScanStatusChange: CodegenTypes.EventEmitter<ScanStatusChangeEvent>;
79
+ export declare const onButtonEvent: CodegenTypes.EventEmitter<ButtonEvent>;
80
+ export type { MultiplyEvent, ManagerStateChangeEvent, ScanStatusChangeEvent, ButtonEvent, FlicButton, FlicManagerState, FlicButtonState, FlicTriggerMode, FlicLatencyMode, FlicScannerEvent, TriggerModeType, LatencyModeType, } from './NativeFlic2';
81
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,34 +1,147 @@
1
1
  {
2
2
  "name": "react-native-flic2",
3
- "version": "0.3.26",
3
+ "version": "2.0.0-alpha.39",
4
4
  "description": "React Native Flic plugin made with the Flic2 SDK (unofficial)",
5
- "main": "index.js",
6
- "scripts": {},
5
+ "main": "./lib/module/index.js",
6
+ "types": "./lib/typescript/src/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "source": "./src/index.tsx",
10
+ "types": "./lib/typescript/src/index.d.ts",
11
+ "default": "./lib/module/index.js"
12
+ },
13
+ "./package.json": "./package.json"
14
+ },
15
+ "files": [
16
+ "src",
17
+ "lib",
18
+ "android",
19
+ "ios",
20
+ "cpp",
21
+ "*.podspec",
22
+ "react-native.config.js",
23
+ "!ios/build",
24
+ "!android/build",
25
+ "!android/gradle",
26
+ "!android/gradlew",
27
+ "!android/gradlew.bat",
28
+ "!android/local.properties",
29
+ "!**/__tests__",
30
+ "!**/__fixtures__",
31
+ "!**/__mocks__",
32
+ "!**/.*"
33
+ ],
34
+ "scripts": {
35
+ "typecheck": "tsc",
36
+ "lint": "eslint \"**/*.{js,ts,tsx}\"",
37
+ "clean": "del-cli android/build lib",
38
+ "prepare": "bob build",
39
+ "release": "release-it --only-version"
40
+ },
41
+ "keywords": [
42
+ "react-native",
43
+ "ios",
44
+ "android"
45
+ ],
7
46
  "repository": {
8
47
  "type": "git",
9
48
  "url": "git+https://github.com/X-Guard/react-native-flic2.git"
10
49
  },
11
- "keywords": [
12
- "Flic",
13
- "Flic2",
14
- "Shortcut Labs",
15
- "Button",
16
- "react-native"
17
- ],
18
- "author": "X-Guard B.V.",
50
+ "author": "X-Guard B.V. <jdegger@users.noreply.github.com> (https://github.com/X-Guard)",
51
+ "license": "MIT",
19
52
  "bugs": {
20
53
  "url": "https://github.com/X-Guard/react-native-flic2/issues"
21
54
  },
22
55
  "homepage": "https://github.com/X-Guard/react-native-flic2#readme",
23
- "license": "MIT",
24
- "licenseFilename": "LICENSE",
25
- "readmeFilename": "README.md",
26
- "peerDependencies": {
27
- "react": "^16.8.1",
28
- "react-native": ">=0.59.0-rc.0 <1.0.x"
56
+ "publishConfig": {
57
+ "registry": "https://registry.npmjs.org/"
29
58
  },
30
59
  "devDependencies": {
31
- "react": "^16.8.3",
32
- "react-native": "^0.59.10"
60
+ "@eslint/compat": "^1.3.2",
61
+ "@eslint/eslintrc": "^3.3.1",
62
+ "@eslint/js": "^9.35.0",
63
+ "@evilmartians/lefthook": "^1.12.3",
64
+ "@react-native-community/cli": "20.0.1",
65
+ "@react-native/babel-preset": "0.81.1",
66
+ "@react-native/eslint-config": "^0.81.1",
67
+ "@release-it/conventional-changelog": "^10.0.1",
68
+ "@types/react": "^19.1.0",
69
+ "@typescript-eslint/eslint-plugin": "^8.46.2",
70
+ "@typescript-eslint/parser": "^8.46.2",
71
+ "del-cli": "^6.0.0",
72
+ "eslint": "^8.57.1",
73
+ "eslint-config-prettier": "^10.1.8",
74
+ "eslint-plugin-ft-flow": "^3.0.11",
75
+ "eslint-plugin-jest": "^29.0.1",
76
+ "eslint-plugin-prettier": "^5.5.4",
77
+ "eslint-plugin-react-native": "^5.0.0",
78
+ "prettier": "^3.6.2",
79
+ "react": "19.1.0",
80
+ "react-native": "0.81.1",
81
+ "react-native-builder-bob": "^0.40.13",
82
+ "release-it": "^19.0.4",
83
+ "turbo": "^2.5.6",
84
+ "typescript": "^5.9.2"
85
+ },
86
+ "peerDependencies": {
87
+ "react": "*",
88
+ "react-native": "*"
89
+ },
90
+ "release-it": {
91
+ "git": {
92
+ "commitMessage": "chore: release ${version}",
93
+ "tagName": "v${version}"
94
+ },
95
+ "npm": {
96
+ "publish": true
97
+ },
98
+ "github": {
99
+ "release": true
100
+ },
101
+ "plugins": {
102
+ "@release-it/conventional-changelog": {
103
+ "preset": {
104
+ "name": "angular"
105
+ }
106
+ }
107
+ }
108
+ },
109
+ "prettier": {
110
+ "quoteProps": "consistent",
111
+ "singleQuote": true,
112
+ "tabWidth": 2,
113
+ "trailingComma": "es5",
114
+ "useTabs": false
115
+ },
116
+ "react-native-builder-bob": {
117
+ "source": "src",
118
+ "output": "lib",
119
+ "targets": [
120
+ [
121
+ "module",
122
+ {
123
+ "esm": true
124
+ }
125
+ ],
126
+ [
127
+ "typescript",
128
+ {
129
+ "project": "tsconfig.build.json"
130
+ }
131
+ ]
132
+ ]
133
+ },
134
+ "codegenConfig": {
135
+ "name": "Flic2Spec",
136
+ "type": "modules",
137
+ "jsSrcsDir": "src",
138
+ "android": {
139
+ "javaPackageName": "com.flic2"
140
+ }
141
+ },
142
+ "create-react-native-library": {
143
+ "languages": "kotlin-objc",
144
+ "type": "turbo-module",
145
+ "version": "0.54.7"
33
146
  }
34
147
  }
@@ -0,0 +1,157 @@
1
+ import {
2
+ TurboModuleRegistry,
3
+ type TurboModule,
4
+ type CodegenTypes,
5
+ } from 'react-native';
6
+
7
+ // MARK: - Event Types
8
+
9
+ export type MultiplyEvent = {
10
+ a: number;
11
+ b: number;
12
+ result: number;
13
+ };
14
+
15
+ export type ManagerStateChangeEvent = {
16
+ event: 'restored' | 'stateChanged';
17
+ state?: number;
18
+ stateName?: string;
19
+ message?: string;
20
+ };
21
+
22
+ export type ScanStatusChangeEvent = {
23
+ event: number;
24
+ eventName: string;
25
+ };
26
+
27
+ export type ButtonEvent = {
28
+ uuid: string;
29
+ event:
30
+ | 'discovered'
31
+ | 'connected'
32
+ | 'ready'
33
+ | 'disconnected'
34
+ | 'connectionFailed'
35
+ | 'buttonDown'
36
+ | 'buttonUp'
37
+ | 'click'
38
+ | 'doubleClick'
39
+ | 'hold'
40
+ | 'unpaired'
41
+ | 'batteryUpdate'
42
+ | 'nicknameUpdate';
43
+ queued?: boolean;
44
+ age?: number;
45
+ voltage?: number;
46
+ nickname?: string;
47
+ error?: {
48
+ code: number;
49
+ message: string;
50
+ };
51
+ button: FlicButton;
52
+ };
53
+
54
+ // MARK: - Flic2 Types
55
+
56
+ export type FlicButton = {
57
+ uuid: string;
58
+ identifier: string;
59
+ name: string;
60
+ nickname: string;
61
+ bluetoothAddress: string;
62
+ serialNumber: string;
63
+ state: number;
64
+ stateName: string;
65
+ /** @platform iOS - Returns 0 on Android */
66
+ triggerMode: number;
67
+ /** @platform iOS - Returns empty string on Android */
68
+ triggerModeName: string;
69
+ /** @platform iOS - Returns 0 on Android */
70
+ latencyMode: number;
71
+ /** @platform iOS - Returns empty string on Android */
72
+ latencyModeName: string;
73
+ pressCount: number;
74
+ firmwareRevision: number;
75
+ isReady: boolean;
76
+ batteryVoltage: number;
77
+ isUnpaired: boolean;
78
+ };
79
+
80
+ export type FlicManagerState =
81
+ | 'unknown'
82
+ | 'resetting'
83
+ | 'unsupported'
84
+ | 'unauthorized'
85
+ | 'poweredOff'
86
+ | 'poweredOn';
87
+
88
+ export type FlicButtonState =
89
+ | 'disconnected'
90
+ | 'connecting'
91
+ | 'connected'
92
+ | 'disconnecting';
93
+
94
+ export type FlicTriggerMode =
95
+ | 'clickAndHold'
96
+ | 'clickAndDoubleClick'
97
+ | 'clickAndDoubleClickAndHold'
98
+ | 'click';
99
+
100
+ export type FlicLatencyMode = 'normal' | 'low';
101
+
102
+ export type FlicScannerEvent =
103
+ | 'discovered'
104
+ | 'connected'
105
+ | 'verified'
106
+ | 'verificationFailed';
107
+
108
+ // MARK: - Mode Types
109
+
110
+ export type TriggerModeType = 0 | 1 | 2 | 3;
111
+ export type LatencyModeType = 0 | 1;
112
+
113
+ // MARK: - Spec Interface
114
+
115
+ export interface Spec extends TurboModule {
116
+ // Keep multiply example
117
+ multiply(a: number, b: number): number;
118
+ readonly onMultiply: CodegenTypes.EventEmitter<MultiplyEvent>;
119
+
120
+ // Manager methods
121
+ initialize(
122
+ background: boolean
123
+ ): Promise<{ success: boolean; message: string }>;
124
+ getButtons(): Promise<FlicButton[]>;
125
+ scanForButtons(): Promise<{ success: boolean; message: string }>;
126
+ stopScan(): Promise<{ success: boolean; message: string }>;
127
+ forgetButton(uuid: string): Promise<{ success: boolean; message: string }>;
128
+ connectAllKnownButtons(): Promise<{ success: boolean; message: string }>;
129
+ disconnectAllKnownButtons(): Promise<{ success: boolean; message: string }>;
130
+ forgetAllButtons(): Promise<{ success: boolean; message: string }>;
131
+ isScanning(): Promise<boolean>;
132
+
133
+ // Button methods
134
+ connectButton(uuid: string): Promise<{ success: boolean; message: string }>;
135
+ disconnectButton(
136
+ uuid: string
137
+ ): Promise<{ success: boolean; message: string }>;
138
+ setTriggerMode(
139
+ uuid: string,
140
+ mode: TriggerModeType
141
+ ): Promise<{ success: boolean; message: string }>;
142
+ setLatencyMode(
143
+ uuid: string,
144
+ mode: LatencyModeType
145
+ ): Promise<{ success: boolean; message: string }>;
146
+ setNickname(
147
+ uuid: string,
148
+ nickname: string
149
+ ): Promise<{ success: boolean; message: string }>;
150
+
151
+ // Event emitters
152
+ readonly onManagerStateChange: CodegenTypes.EventEmitter<ManagerStateChangeEvent>;
153
+ readonly onScanStatusChange: CodegenTypes.EventEmitter<ScanStatusChangeEvent>;
154
+ readonly onButtonEvent: CodegenTypes.EventEmitter<ButtonEvent>;
155
+ }
156
+
157
+ export default TurboModuleRegistry.getEnforcing<Spec>('Flic2');