@ray-js/lock-sdk 1.1.3 → 1.2.0-beta.2

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 (542) hide show
  1. package/lib/api/ble.d.ts +57 -0
  2. package/lib/api/ble.js +46 -0
  3. package/lib/api/fit.d.ts +203 -0
  4. package/lib/api/fit.js +158 -0
  5. package/lib/api/index.d.ts +4 -2
  6. package/lib/api/index.js +26 -0
  7. package/lib/api/linkage.js +6 -0
  8. package/lib/api/lock.d.ts +4 -2
  9. package/lib/api/lock.js +24 -0
  10. package/lib/api/log.d.ts +49 -22
  11. package/lib/api/log.js +21 -0
  12. package/lib/api/request.d.ts +5 -2
  13. package/lib/api/request.js +34 -2
  14. package/lib/api/screen.d.ts +111 -0
  15. package/lib/api/screen.js +52 -0
  16. package/lib/api/setting.js +2 -0
  17. package/lib/api/temp.d.ts +24 -3
  18. package/lib/api/temp.js +27 -0
  19. package/lib/api/user.d.ts +35 -1
  20. package/lib/api/user.js +24 -0
  21. package/lib/api/video.d.ts +27 -0
  22. package/lib/api/video.js +21 -0
  23. package/lib/api/voice-file.d.ts +14 -0
  24. package/lib/api/voice-file.js +18 -0
  25. package/lib/bootstrap/bootstrap-lock-instance.d.ts +7 -0
  26. package/lib/bootstrap/bootstrap-lock-instance.js +16 -0
  27. package/lib/bootstrap/bootstrap.d.ts +4 -0
  28. package/lib/bootstrap/bootstrap.js +53 -0
  29. package/lib/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
  30. package/lib/bootstrap/lock-instance-runtime-ref.js +7 -0
  31. package/lib/bootstrap/primary-instance.d.ts +6 -0
  32. package/lib/bootstrap/primary-instance.js +24 -0
  33. package/lib/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
  34. package/lib/bootstrap/resolve-runtime-from-export-this.js +29 -0
  35. package/lib/bootstrap/top-level-runtime.d.ts +2 -0
  36. package/lib/bootstrap/top-level-runtime.js +9 -0
  37. package/lib/config/dp-code/index.d.ts +100 -67
  38. package/lib/config/dp-code/index.js +33 -1
  39. package/lib/config/dp-map/ble-check-code.d.ts +41 -0
  40. package/lib/config/dp-map/ble-check-code.js +55 -0
  41. package/lib/config/dp-map/ble-key-fit.d.ts +328 -0
  42. package/lib/config/dp-map/ble-key-fit.js +33 -0
  43. package/lib/config/dp-map/ble-sync.d.ts +2 -2
  44. package/lib/config/dp-map/ble-sync.js +2 -2
  45. package/lib/config/dp-map/ble-unlock-check.d.ts +42 -0
  46. package/lib/config/dp-map/ble-unlock-check.js +59 -0
  47. package/lib/config/dp-map/ble-voice-data.d.ts +16 -0
  48. package/lib/config/dp-map/ble-voice-data.js +7 -0
  49. package/lib/config/dp-map/bluetooth-unlock.d.ts +10 -0
  50. package/lib/config/dp-map/bluetooth-unlock.js +16 -0
  51. package/lib/config/dp-map/registry.d.ts +1137 -0
  52. package/lib/config/dp-map/registry.js +110 -0
  53. package/lib/config/dp-map/sync-method-fit.d.ts +3 -0
  54. package/lib/config/dp-map/sync-method-fit.js +36 -0
  55. package/lib/config/dp-map/temp-pwd-fit.d.ts +441 -0
  56. package/lib/config/dp-map/temp-pwd-fit.js +73 -0
  57. package/lib/config/dp-map/unlock-method-fit.d.ts +302 -0
  58. package/lib/config/dp-map/unlock-method-fit.js +62 -0
  59. package/lib/config/dp-map/unlock-method.d.ts +345 -1
  60. package/lib/config/dp-map/unlock-method.js +37 -1
  61. package/lib/constant.d.ts +5 -0
  62. package/lib/constant.js +6 -0
  63. package/lib/entries/ble/bootstrap/bootstrap-lock-instance.d.ts +7 -0
  64. package/lib/entries/ble/bootstrap/bootstrap-lock-instance.js +12 -0
  65. package/lib/entries/ble/bootstrap/bootstrap.d.ts +4 -0
  66. package/lib/entries/ble/bootstrap/bootstrap.js +53 -0
  67. package/lib/entries/ble/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
  68. package/lib/entries/ble/bootstrap/lock-instance-runtime-ref.js +7 -0
  69. package/lib/entries/ble/bootstrap/primary-instance.d.ts +6 -0
  70. package/lib/entries/ble/bootstrap/primary-instance.js +24 -0
  71. package/lib/entries/ble/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
  72. package/lib/entries/ble/bootstrap/resolve-runtime-from-export-this.js +29 -0
  73. package/lib/entries/ble/bootstrap/top-level-runtime.d.ts +2 -0
  74. package/lib/entries/ble/bootstrap/top-level-runtime.js +9 -0
  75. package/lib/entries/ble/build-instance.d.ts +9 -0
  76. package/lib/entries/ble/build-instance.js +50 -0
  77. package/lib/entries/ble/exports/capability.d.ts +6 -0
  78. package/lib/entries/ble/exports/capability.js +17 -0
  79. package/lib/entries/ble/exports/config.d.ts +3 -0
  80. package/lib/entries/ble/exports/config.js +5 -0
  81. package/lib/entries/ble/exports/dp.d.ts +9 -0
  82. package/lib/entries/ble/exports/dp.js +13 -0
  83. package/lib/entries/ble/exports/index.d.ts +16 -0
  84. package/lib/entries/ble/exports/index.js +16 -0
  85. package/lib/entries/ble/exports/linkage.d.ts +5 -0
  86. package/lib/entries/ble/exports/linkage.js +15 -0
  87. package/lib/entries/ble/exports/log.d.ts +9 -0
  88. package/lib/entries/ble/exports/log.js +21 -0
  89. package/lib/entries/ble/exports/media.d.ts +4 -0
  90. package/lib/entries/ble/exports/media.js +12 -0
  91. package/lib/entries/ble/exports/misc.d.ts +19 -0
  92. package/lib/entries/ble/exports/misc.js +30 -0
  93. package/lib/entries/ble/exports/offline-dps.d.ts +8 -0
  94. package/lib/entries/ble/exports/offline-dps.js +24 -0
  95. package/lib/entries/ble/exports/open/do-open-close-action.d.ts +2 -0
  96. package/lib/entries/ble/exports/open/do-open-close-action.js +36 -0
  97. package/lib/entries/ble/exports/open/index.d.ts +18 -0
  98. package/lib/entries/ble/exports/open/index.js +45 -0
  99. package/lib/entries/ble/exports/signal.d.ts +6 -0
  100. package/lib/entries/ble/exports/signal.js +14 -0
  101. package/lib/entries/ble/exports/sleep.d.ts +13 -0
  102. package/lib/entries/ble/exports/sleep.js +31 -0
  103. package/lib/entries/ble/exports/state.d.ts +6 -0
  104. package/lib/entries/ble/exports/state.js +19 -0
  105. package/lib/entries/ble/exports/temporary.d.ts +31 -0
  106. package/lib/entries/ble/exports/temporary.js +91 -0
  107. package/lib/entries/ble/exports/unlock/sync.d.ts +1 -0
  108. package/lib/entries/ble/exports/unlock/sync.js +5 -0
  109. package/lib/entries/ble/exports/unlock-method.d.ts +19 -0
  110. package/lib/entries/ble/exports/unlock-method.js +58 -0
  111. package/lib/entries/ble/exports/user/index.d.ts +23 -0
  112. package/lib/entries/ble/exports/user/index.js +22 -0
  113. package/lib/entries/ble/exports/user/sync.d.ts +1 -0
  114. package/lib/entries/ble/exports/user/sync.js +5 -0
  115. package/lib/entries/ble/index.d.ts +8 -0
  116. package/lib/entries/ble/index.js +39 -0
  117. package/lib/entries/fit/bootstrap/bootstrap-lock-instance.d.ts +7 -0
  118. package/lib/entries/fit/bootstrap/bootstrap-lock-instance.js +12 -0
  119. package/lib/entries/fit/bootstrap/bootstrap.d.ts +4 -0
  120. package/lib/entries/fit/bootstrap/bootstrap.js +69 -0
  121. package/lib/entries/fit/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
  122. package/lib/entries/fit/bootstrap/lock-instance-runtime-ref.js +7 -0
  123. package/lib/entries/fit/bootstrap/primary-instance.d.ts +6 -0
  124. package/lib/entries/fit/bootstrap/primary-instance.js +24 -0
  125. package/lib/entries/fit/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
  126. package/lib/entries/fit/bootstrap/resolve-runtime-from-export-this.js +29 -0
  127. package/lib/entries/fit/bootstrap/top-level-runtime.d.ts +2 -0
  128. package/lib/entries/fit/bootstrap/top-level-runtime.js +9 -0
  129. package/lib/entries/fit/build-instance.d.ts +9 -0
  130. package/lib/entries/fit/build-instance.js +57 -0
  131. package/lib/entries/fit/exports/binding.d.ts +8 -0
  132. package/lib/entries/fit/exports/binding.js +15 -0
  133. package/lib/entries/fit/exports/device.d.ts +26 -0
  134. package/lib/entries/fit/exports/device.js +64 -0
  135. package/lib/entries/fit/exports/index.d.ts +3 -0
  136. package/lib/entries/fit/exports/index.js +3 -0
  137. package/lib/entries/fit/exports/temp.d.ts +19 -0
  138. package/lib/entries/fit/exports/temp.js +18 -0
  139. package/lib/entries/fit/index.d.ts +8 -0
  140. package/lib/entries/fit/index.js +36 -0
  141. package/lib/entries/main/bootstrap/bootstrap-lock-instance.d.ts +7 -0
  142. package/lib/entries/main/bootstrap/bootstrap-lock-instance.js +12 -0
  143. package/lib/entries/main/bootstrap/bootstrap.d.ts +4 -0
  144. package/lib/entries/main/bootstrap/bootstrap.js +69 -0
  145. package/lib/entries/main/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
  146. package/lib/entries/main/bootstrap/lock-instance-runtime-ref.js +7 -0
  147. package/lib/entries/main/bootstrap/primary-instance.d.ts +6 -0
  148. package/lib/entries/main/bootstrap/primary-instance.js +24 -0
  149. package/lib/entries/main/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
  150. package/lib/entries/main/bootstrap/resolve-runtime-from-export-this.js +29 -0
  151. package/lib/entries/main/bootstrap/top-level-runtime.d.ts +2 -0
  152. package/lib/entries/main/bootstrap/top-level-runtime.js +9 -0
  153. package/lib/entries/main/build-instance.d.ts +7 -0
  154. package/lib/entries/main/build-instance.js +49 -0
  155. package/lib/entries/main/exports/accessory-binding.d.ts +1 -0
  156. package/lib/entries/main/exports/accessory-binding.js +1 -0
  157. package/lib/entries/main/exports/ai.d.ts +4 -0
  158. package/lib/entries/main/exports/ai.js +11 -0
  159. package/lib/entries/main/exports/capability.d.ts +6 -0
  160. package/lib/entries/main/exports/capability.js +17 -0
  161. package/lib/entries/main/exports/config.d.ts +3 -0
  162. package/lib/entries/main/exports/config.js +5 -0
  163. package/lib/entries/main/exports/dp.d.ts +11 -0
  164. package/lib/entries/main/exports/dp.js +13 -0
  165. package/lib/entries/main/exports/fit.d.ts +8 -0
  166. package/lib/entries/main/exports/fit.js +14 -0
  167. package/lib/entries/main/exports/index.d.ts +21 -0
  168. package/lib/entries/main/exports/index.js +21 -0
  169. package/lib/entries/main/exports/linkage.d.ts +5 -0
  170. package/lib/entries/main/exports/linkage.js +15 -0
  171. package/lib/entries/main/exports/log.d.ts +10 -0
  172. package/lib/entries/main/exports/log.js +24 -0
  173. package/lib/entries/main/exports/media.d.ts +6 -0
  174. package/lib/entries/main/exports/media.js +18 -0
  175. package/lib/entries/main/exports/misc.d.ts +18 -0
  176. package/lib/entries/main/exports/misc.js +30 -0
  177. package/lib/entries/main/exports/offline-dps.d.ts +8 -0
  178. package/lib/entries/main/exports/offline-dps.js +28 -0
  179. package/lib/entries/main/exports/open/do-open-close-action.d.ts +2 -0
  180. package/lib/entries/main/exports/open/do-open-close-action.js +68 -0
  181. package/lib/entries/main/exports/open/index.d.ts +16 -0
  182. package/lib/entries/main/exports/open/index.js +44 -0
  183. package/lib/entries/main/exports/open.d.ts +16 -0
  184. package/lib/entries/main/exports/open.js +44 -0
  185. package/lib/entries/main/exports/screen/bind.d.ts +7 -0
  186. package/lib/entries/main/exports/screen/bind.js +15 -0
  187. package/lib/entries/main/exports/screen/list.d.ts +5 -0
  188. package/lib/entries/main/exports/screen/list.js +13 -0
  189. package/lib/entries/main/exports/signal.d.ts +6 -0
  190. package/lib/entries/main/exports/signal.js +14 -0
  191. package/lib/entries/main/exports/sleep.d.ts +15 -0
  192. package/lib/entries/main/exports/sleep.js +31 -0
  193. package/lib/entries/main/exports/state.d.ts +6 -0
  194. package/lib/entries/main/exports/state.js +19 -0
  195. package/lib/entries/main/exports/temporary.d.ts +32 -0
  196. package/lib/entries/main/exports/temporary.js +86 -0
  197. package/lib/entries/main/exports/unlock/sync.d.ts +1 -0
  198. package/lib/entries/main/exports/unlock/sync.js +5 -0
  199. package/lib/entries/main/exports/unlock-method.d.ts +19 -0
  200. package/lib/entries/main/exports/unlock-method.js +58 -0
  201. package/lib/entries/main/exports/user/index.d.ts +33 -0
  202. package/lib/entries/main/exports/user/index.js +35 -0
  203. package/lib/entries/main/exports/user/sync.d.ts +1 -0
  204. package/lib/entries/main/exports/user/sync.js +5 -0
  205. package/lib/entries/main/exports/voice-file.d.ts +7 -0
  206. package/lib/entries/main/exports/voice-file.js +17 -0
  207. package/lib/entries/main/exports/yu-channel.d.ts +5 -0
  208. package/lib/entries/main/exports/yu-channel.js +17 -0
  209. package/lib/entries/main/index.d.ts +8 -0
  210. package/lib/entries/main/index.js +36 -0
  211. package/lib/entries/screen/bootstrap/bootstrap-lock-instance.d.ts +7 -0
  212. package/lib/entries/screen/bootstrap/bootstrap-lock-instance.js +12 -0
  213. package/lib/entries/screen/bootstrap/bootstrap.d.ts +4 -0
  214. package/lib/entries/screen/bootstrap/bootstrap.js +69 -0
  215. package/lib/entries/screen/bootstrap/lock-instance-runtime-ref.d.ts +3 -0
  216. package/lib/entries/screen/bootstrap/lock-instance-runtime-ref.js +7 -0
  217. package/lib/entries/screen/bootstrap/primary-instance.d.ts +6 -0
  218. package/lib/entries/screen/bootstrap/primary-instance.js +24 -0
  219. package/lib/entries/screen/bootstrap/resolve-runtime-from-export-this.d.ts +5 -0
  220. package/lib/entries/screen/bootstrap/resolve-runtime-from-export-this.js +29 -0
  221. package/lib/entries/screen/bootstrap/top-level-runtime.d.ts +2 -0
  222. package/lib/entries/screen/bootstrap/top-level-runtime.js +9 -0
  223. package/lib/entries/screen/build-instance.d.ts +9 -0
  224. package/lib/entries/screen/build-instance.js +57 -0
  225. package/lib/entries/screen/exports/bind-events.d.ts +4 -0
  226. package/lib/entries/screen/exports/bind-events.js +8 -0
  227. package/lib/entries/screen/exports/binding.d.ts +6 -0
  228. package/lib/entries/screen/exports/binding.js +15 -0
  229. package/lib/entries/screen/exports/device.d.ts +16 -0
  230. package/lib/entries/screen/exports/device.js +41 -0
  231. package/lib/entries/screen/exports/event.d.ts +3 -0
  232. package/lib/entries/screen/exports/event.js +5 -0
  233. package/lib/entries/screen/exports/index.d.ts +5 -0
  234. package/lib/entries/screen/exports/index.js +5 -0
  235. package/lib/entries/screen/exports/user.d.ts +2 -0
  236. package/lib/entries/screen/exports/user.js +8 -0
  237. package/lib/entries/screen/index.d.ts +8 -0
  238. package/lib/entries/screen/index.js +36 -0
  239. package/lib/feature/ai/report.d.ts +5 -0
  240. package/lib/feature/ai/report.js +37 -0
  241. package/lib/feature/dp/get-dp-value.d.ts +3 -0
  242. package/lib/feature/dp/get-dp-value.js +3 -0
  243. package/lib/feature/dp/has-dp.d.ts +2 -0
  244. package/lib/feature/dp/has-dp.js +1 -0
  245. package/lib/feature/dp/publish-dps.d.ts +7 -0
  246. package/lib/feature/dp/publish-dps.js +155 -0
  247. package/lib/feature/fit/bind-fit-to-lock.d.ts +6 -0
  248. package/lib/feature/fit/bind-fit-to-lock.js +222 -0
  249. package/lib/feature/fit/bind-lock-to-fit.d.ts +4 -0
  250. package/lib/feature/fit/bind-lock-to-fit.js +167 -0
  251. package/lib/feature/fit/ble-key.d.ts +16 -0
  252. package/lib/feature/fit/ble-key.js +99 -0
  253. package/lib/feature/fit/list.d.ts +3 -0
  254. package/lib/feature/fit/list.js +28 -0
  255. package/lib/feature/fit/method/add-flow.d.ts +7 -0
  256. package/lib/feature/fit/method/add-flow.js +380 -0
  257. package/lib/feature/fit/method/add-method-events.d.ts +5 -0
  258. package/lib/feature/fit/method/add-method-events.js +11 -0
  259. package/lib/feature/fit/method/add-password.d.ts +3 -0
  260. package/lib/feature/fit/method/add-password.js +99 -0
  261. package/lib/feature/fit/method/internal/base.d.ts +19 -0
  262. package/lib/feature/fit/method/internal/base.js +134 -0
  263. package/lib/feature/fit/method/list.d.ts +3 -0
  264. package/lib/feature/fit/method/list.js +64 -0
  265. package/lib/feature/fit/method/types.d.ts +68 -0
  266. package/lib/feature/fit/method/types.js +1 -0
  267. package/lib/feature/fit/method/update-remove.d.ts +4 -0
  268. package/lib/feature/fit/method/update-remove.js +159 -0
  269. package/lib/feature/fit/password-list.d.ts +24 -0
  270. package/lib/feature/fit/password-list.js +31 -0
  271. package/lib/feature/fit/resolve-slave-id.d.ts +2 -0
  272. package/lib/feature/fit/resolve-slave-id.js +38 -0
  273. package/lib/feature/fit/setting.d.ts +2 -0
  274. package/lib/feature/fit/setting.js +27 -0
  275. package/lib/feature/fit/shared.d.ts +27 -0
  276. package/lib/feature/fit/shared.js +118 -0
  277. package/lib/feature/fit/sync.d.ts +4 -0
  278. package/lib/feature/fit/sync.js +85 -0
  279. package/lib/feature/fit/temp-password.d.ts +27 -0
  280. package/lib/feature/fit/temp-password.js +428 -0
  281. package/lib/feature/fit/users.d.ts +12 -0
  282. package/lib/feature/fit/users.js +25 -0
  283. package/lib/feature/linkage/linkage.d.ts +10 -0
  284. package/lib/{linkage.js → feature/linkage/linkage.js} +30 -30
  285. package/lib/feature/log/log.d.ts +63 -0
  286. package/lib/feature/log/log.js +438 -0
  287. package/lib/feature/media/media.d.ts +31 -0
  288. package/lib/feature/media/media.js +66 -0
  289. package/lib/feature/media/rotate.d.ts +6 -0
  290. package/lib/feature/media/rotate.js +6 -0
  291. package/lib/feature/misc/ble-control.d.ts +2 -0
  292. package/lib/feature/misc/ble-control.js +38 -0
  293. package/lib/feature/misc/capability.d.ts +8 -0
  294. package/lib/{capability.js → feature/misc/capability.js} +39 -29
  295. package/lib/feature/misc/connect-device.d.ts +2 -0
  296. package/lib/feature/misc/connect-device.js +206 -0
  297. package/lib/feature/misc/dp-period.d.ts +18 -0
  298. package/lib/feature/misc/dp-period.js +75 -0
  299. package/lib/feature/misc/is-use-near-channel-for-runtime.d.ts +2 -0
  300. package/lib/feature/misc/is-use-near-channel-for-runtime.js +17 -0
  301. package/lib/feature/misc/open-scene.d.ts +3 -0
  302. package/lib/feature/misc/open-scene.js +63 -0
  303. package/lib/feature/misc/signal.d.ts +12 -0
  304. package/lib/feature/misc/signal.js +36 -0
  305. package/lib/feature/misc/sleep.d.ts +14 -0
  306. package/lib/feature/misc/sleep.js +66 -0
  307. package/lib/feature/misc/types.d.ts +7 -0
  308. package/lib/feature/misc/types.js +1 -0
  309. package/lib/feature/misc/update-config.d.ts +4 -0
  310. package/lib/feature/misc/update-config.js +9 -0
  311. package/lib/feature/misc/validate-pwd.d.ts +2 -0
  312. package/lib/feature/misc/validate-pwd.js +10 -0
  313. package/lib/feature/misc/yu-channel.d.ts +6 -0
  314. package/lib/feature/misc/yu-channel.js +26 -0
  315. package/lib/feature/offline-dps/index.d.ts +10 -0
  316. package/lib/feature/offline-dps/index.js +133 -0
  317. package/lib/feature/password/ble-temp-payload.d.ts +3 -0
  318. package/lib/{sync → feature/password}/ble-temp-payload.js +10 -10
  319. package/lib/feature/password/sync-temp.d.ts +4 -0
  320. package/lib/feature/password/sync-temp.js +91 -0
  321. package/lib/feature/password/temporary/custom-dp-ble.d.ts +6 -0
  322. package/lib/feature/password/temporary/custom-dp-ble.js +263 -0
  323. package/lib/feature/password/temporary/custom-dp-create-shared.d.ts +34 -0
  324. package/lib/feature/password/temporary/custom-dp-create-shared.js +64 -0
  325. package/lib/feature/password/temporary/custom-dp.d.ts +6 -0
  326. package/lib/feature/password/temporary/custom-dp.js +241 -0
  327. package/lib/feature/password/temporary/freeze-ble-key.d.ts +4 -0
  328. package/lib/feature/password/temporary/freeze-ble-key.js +7 -0
  329. package/lib/feature/password/temporary/freeze-rename.d.ts +5 -0
  330. package/lib/feature/password/temporary/freeze-rename.js +72 -0
  331. package/lib/feature/password/temporary/internal/change-password-phase.d.ts +2 -0
  332. package/lib/feature/password/temporary/internal/change-password-phase.js +48 -0
  333. package/lib/feature/password/temporary/internal/constants.d.ts +12 -0
  334. package/lib/feature/password/temporary/internal/constants.js +21 -0
  335. package/lib/feature/password/temporary/internal/password-helpers.d.ts +4 -0
  336. package/lib/feature/password/temporary/internal/password-helpers.js +18 -0
  337. package/lib/feature/password/temporary/internal/password-type-map.d.ts +2 -0
  338. package/lib/feature/password/temporary/internal/password-type-map.js +7 -0
  339. package/lib/feature/password/temporary/lists.d.ts +16 -0
  340. package/lib/feature/password/temporary/lists.js +157 -0
  341. package/lib/feature/password/temporary/offline-create.d.ts +7 -0
  342. package/lib/feature/password/temporary/offline-create.js +192 -0
  343. package/lib/feature/password/temporary/types.d.ts +107 -0
  344. package/lib/feature/password/temporary/types.js +1 -0
  345. package/lib/feature/password/temporary/wifi-offline.d.ts +5 -0
  346. package/lib/feature/password/temporary/wifi-offline.js +85 -0
  347. package/lib/feature/password/temporary/wifi-online.d.ts +28 -0
  348. package/lib/feature/password/temporary/wifi-online.js +153 -0
  349. package/lib/feature/screen/bind-watch.d.ts +18 -0
  350. package/lib/feature/screen/bind-watch.js +92 -0
  351. package/lib/feature/screen/bind.d.ts +4 -0
  352. package/lib/feature/screen/bind.js +151 -0
  353. package/lib/feature/screen/error.d.ts +1 -0
  354. package/lib/feature/screen/error.js +34 -0
  355. package/lib/feature/screen/event.d.ts +3 -0
  356. package/lib/feature/screen/event.js +19 -0
  357. package/lib/feature/screen/list.d.ts +13 -0
  358. package/lib/feature/screen/list.js +69 -0
  359. package/lib/feature/service/goto-service.d.ts +5 -0
  360. package/lib/feature/service/goto-service.js +16 -0
  361. package/lib/feature/state/clear.d.ts +2 -0
  362. package/lib/feature/state/clear.js +17 -0
  363. package/lib/feature/state/device-status-events.d.ts +5 -0
  364. package/lib/feature/state/device-status-events.js +11 -0
  365. package/lib/feature/state/device-status.d.ts +5 -0
  366. package/lib/feature/state/device-status.js +130 -0
  367. package/lib/feature/state/dp-change.d.ts +3 -0
  368. package/lib/feature/state/dp-change.js +44 -0
  369. package/lib/feature/state/init-state.d.ts +2 -0
  370. package/lib/feature/state/init-state.js +175 -0
  371. package/lib/feature/state/internal/read-is-sleep.d.ts +2 -0
  372. package/lib/feature/state/internal/read-is-sleep.js +9 -0
  373. package/lib/feature/state/internal/share-thread-local.d.ts +2 -0
  374. package/lib/feature/state/internal/share-thread-local.js +4 -0
  375. package/lib/feature/state/platform-routing.d.ts +3 -0
  376. package/lib/feature/state/platform-routing.js +155 -0
  377. package/lib/feature/state/remote-permissions.d.ts +4 -0
  378. package/lib/feature/state/remote-permissions.js +30 -0
  379. package/lib/feature/state/sync/offline-dps.d.ts +2 -0
  380. package/lib/feature/state/sync/offline-dps.js +71 -0
  381. package/lib/feature/state/sync/remote-serect-key.d.ts +3 -0
  382. package/lib/feature/state/sync/remote-serect-key.js +74 -0
  383. package/lib/feature/state/sync/t0.d.ts +3 -0
  384. package/lib/feature/state/sync/t0.js +64 -0
  385. package/lib/feature/unlock/door/check-remote.d.ts +2 -0
  386. package/lib/feature/unlock/door/check-remote.js +40 -0
  387. package/lib/feature/unlock/door/check-user-valid.d.ts +2 -0
  388. package/lib/feature/unlock/door/check-user-valid.js +21 -0
  389. package/lib/feature/unlock/door/door-action.d.ts +2 -0
  390. package/lib/feature/unlock/door/door-action.js +32 -0
  391. package/lib/feature/unlock/door/door-ble-only.d.ts +2 -0
  392. package/lib/feature/unlock/door/door-ble-only.js +102 -0
  393. package/lib/feature/unlock/door/door-matter-lan.d.ts +2 -0
  394. package/lib/feature/unlock/door/door-matter-lan.js +15 -0
  395. package/lib/feature/unlock/door/door-near-dual-mode.d.ts +2 -0
  396. package/lib/feature/unlock/door/door-near-dual-mode.js +39 -0
  397. package/lib/feature/unlock/door/door-remote-cloud.d.ts +2 -0
  398. package/lib/feature/unlock/door/door-remote-cloud.js +69 -0
  399. package/lib/feature/unlock/door/door-report.d.ts +11 -0
  400. package/lib/feature/unlock/door/door-report.js +96 -0
  401. package/lib/feature/unlock/door/internal/report-error.d.ts +2 -0
  402. package/lib/feature/unlock/door/internal/report-error.js +46 -0
  403. package/lib/feature/unlock/door/open-close-path.d.ts +3 -0
  404. package/lib/feature/unlock/door/open-close-path.js +30 -0
  405. package/lib/feature/unlock/door/remote-permission.d.ts +5 -0
  406. package/lib/feature/unlock/door/remote-permission.js +67 -0
  407. package/lib/feature/unlock/door/remove-share-user-once.d.ts +2 -0
  408. package/lib/feature/unlock/door/remove-share-user-once.js +21 -0
  409. package/lib/feature/unlock/door/types.d.ts +4 -0
  410. package/lib/feature/unlock/door/types.js +1 -0
  411. package/lib/feature/unlock/door/voice-unlock-pwd.d.ts +4 -0
  412. package/lib/feature/unlock/door/voice-unlock-pwd.js +25 -0
  413. package/lib/feature/unlock/door/wifi-pro-confirm.d.ts +2 -0
  414. package/lib/feature/unlock/door/wifi-pro-confirm.js +69 -0
  415. package/lib/feature/unlock/method/add-flow.d.ts +7 -0
  416. package/lib/feature/unlock/method/add-flow.js +403 -0
  417. package/lib/feature/unlock/method/add-method-events.d.ts +5 -0
  418. package/lib/feature/unlock/method/add-method-events.js +11 -0
  419. package/lib/feature/unlock/method/add-password.d.ts +3 -0
  420. package/lib/feature/unlock/method/add-password.js +99 -0
  421. package/lib/feature/unlock/method/bind-unbind.d.ts +8 -0
  422. package/lib/feature/unlock/method/bind-unbind.js +113 -0
  423. package/lib/feature/unlock/method/detail.d.ts +3 -0
  424. package/lib/feature/unlock/method/detail.js +35 -0
  425. package/lib/feature/unlock/method/guide.d.ts +3 -0
  426. package/lib/feature/unlock/method/guide.js +48 -0
  427. package/lib/feature/unlock/method/internal/base.d.ts +109 -0
  428. package/lib/feature/unlock/method/internal/base.js +89 -0
  429. package/lib/feature/unlock/method/internal/errors.d.ts +5 -0
  430. package/lib/feature/unlock/method/internal/errors.js +13 -0
  431. package/lib/feature/unlock/method/internal/special-check.d.ts +13 -0
  432. package/lib/feature/unlock/method/internal/special-check.js +38 -0
  433. package/lib/feature/unlock/method/types.d.ts +70 -0
  434. package/lib/feature/unlock/method/types.js +1 -0
  435. package/lib/feature/unlock/method/update-remove.d.ts +4 -0
  436. package/lib/feature/unlock/method/update-remove.js +138 -0
  437. package/lib/feature/unlock/method/verify-code.d.ts +3 -0
  438. package/lib/feature/unlock/method/verify-code.js +7 -0
  439. package/lib/feature/unlock/sync/unlock-method.d.ts +3 -0
  440. package/lib/feature/unlock/sync/unlock-method.js +79 -0
  441. package/lib/feature/user/current-user.d.ts +3 -0
  442. package/lib/feature/user/current-user.js +33 -0
  443. package/lib/feature/user/delete-user-dp.d.ts +3 -0
  444. package/lib/{utils/user.js → feature/user/delete-user-dp.js} +13 -13
  445. package/lib/feature/user/share-user.d.ts +29 -0
  446. package/lib/feature/user/share-user.js +228 -0
  447. package/lib/feature/user/sync-user.d.ts +2 -0
  448. package/lib/feature/user/sync-user.js +151 -0
  449. package/lib/feature/user/user.d.ts +37 -0
  450. package/lib/feature/user/user.js +484 -0
  451. package/lib/feature/utils/index.d.ts +12 -0
  452. package/lib/feature/utils/index.js +165 -0
  453. package/lib/feature/voice-file/voice-file.d.ts +27 -0
  454. package/lib/feature/voice-file/voice-file.js +203 -0
  455. package/lib/fit.d.ts +4 -0
  456. package/lib/fit.js +3 -0
  457. package/lib/index.d.ts +2 -21
  458. package/lib/index.js +1 -74
  459. package/lib/interface.d.ts +54 -3
  460. package/lib/{utils → platform}/device.d.ts +49 -1
  461. package/lib/{utils → platform}/device.js +154 -3
  462. package/lib/platform/index.d.ts +2 -0
  463. package/lib/platform/index.js +2 -0
  464. package/lib/{utils → platform}/ipc.d.ts +3 -0
  465. package/lib/{utils → platform}/ipc.js +14 -0
  466. package/lib/platform/transport/index.d.ts +1 -0
  467. package/lib/platform/transport/index.js +1 -0
  468. package/lib/runtime/LockDeviceRuntime.d.ts +12 -0
  469. package/lib/runtime/LockDeviceRuntime.js +34 -0
  470. package/lib/runtime/device-status/compute-device-status.d.ts +25 -0
  471. package/lib/runtime/device-status/compute-device-status.js +94 -0
  472. package/lib/runtime/index.d.ts +5 -0
  473. package/lib/runtime/index.js +3 -0
  474. package/lib/runtime/lock-config.d.ts +28 -0
  475. package/lib/runtime/lock-config.js +37 -0
  476. package/lib/runtime/registry.d.ts +7 -0
  477. package/lib/runtime/registry.js +28 -0
  478. package/lib/runtime/runtime-state-types.d.ts +20 -0
  479. package/lib/runtime/runtime-state-types.js +1 -0
  480. package/lib/screen.d.ts +4 -0
  481. package/lib/screen.js +3 -0
  482. package/lib/utils/constant.d.ts +3 -0
  483. package/lib/utils/constant.js +3 -0
  484. package/lib/utils/errors.js +39 -4
  485. package/lib/utils/event.js +2 -1
  486. package/lib/utils/index.d.ts +57 -13
  487. package/lib/utils/index.js +49 -118
  488. package/lib/utils/sdk-log.d.ts +28 -0
  489. package/lib/utils/sdk-log.js +128 -0
  490. package/package.json +26 -7
  491. package/lib/capability.d.ts +0 -4
  492. package/lib/config/index.d.ts +0 -28
  493. package/lib/config/index.js +0 -41
  494. package/lib/event.d.ts +0 -2
  495. package/lib/event.js +0 -2
  496. package/lib/linkage.d.ts +0 -8
  497. package/lib/log.d.ts +0 -41
  498. package/lib/log.js +0 -311
  499. package/lib/media.d.ts +0 -14
  500. package/lib/media.js +0 -27
  501. package/lib/offline-dps.d.ts +0 -9
  502. package/lib/offline-dps.js +0 -76
  503. package/lib/open/ble-dedicated-dp.d.ts +0 -4
  504. package/lib/open/ble-dedicated-dp.js +0 -148
  505. package/lib/open/ble-remote-no-dp-key.d.ts +0 -4
  506. package/lib/open/ble-remote-no-dp-key.js +0 -69
  507. package/lib/open/report-status.d.ts +0 -1
  508. package/lib/open/report-status.js +0 -23
  509. package/lib/open.d.ts +0 -22
  510. package/lib/open.js +0 -262
  511. package/lib/other.d.ts +0 -31
  512. package/lib/other.js +0 -291
  513. package/lib/signal.d.ts +0 -14
  514. package/lib/signal.js +0 -31
  515. package/lib/sleep.d.ts +0 -19
  516. package/lib/sleep.js +0 -79
  517. package/lib/state.d.ts +0 -16
  518. package/lib/state.js +0 -351
  519. package/lib/sync/ble-temp-payload.d.ts +0 -2
  520. package/lib/sync/offline-dps.d.ts +0 -1
  521. package/lib/sync/offline-dps.js +0 -29
  522. package/lib/sync/remote-serect-key.d.ts +0 -2
  523. package/lib/sync/remote-serect-key.js +0 -43
  524. package/lib/sync/t0.d.ts +0 -2
  525. package/lib/sync/t0.js +0 -26
  526. package/lib/sync/temp.d.ts +0 -3
  527. package/lib/sync/temp.js +0 -70
  528. package/lib/sync/unlock-method.d.ts +0 -2
  529. package/lib/sync/unlock-method.js +0 -42
  530. package/lib/sync/user.d.ts +0 -2
  531. package/lib/sync/user.js +0 -68
  532. package/lib/temporary.d.ts +0 -171
  533. package/lib/temporary.js +0 -698
  534. package/lib/unlock-method.d.ts +0 -90
  535. package/lib/unlock-method.js +0 -701
  536. package/lib/user.d.ts +0 -30
  537. package/lib/user.js +0 -298
  538. package/lib/utils/publishDps.d.ts +0 -6
  539. package/lib/utils/publishDps.js +0 -78
  540. package/lib/utils/user.d.ts +0 -2
  541. /package/lib/{parse/index.d.ts → utils/parse.d.ts} +0 -0
  542. /package/lib/{parse/index.js → utils/parse.js} +0 -0
@@ -1,8 +1,9 @@
1
1
  const errors = {
2
+ 1000: "Missing DeviceId or devInfo",
2
3
  1001: "Device offline",
3
4
  1002: "Operation timeout",
4
5
  1003: "Remote unlocking failure",
5
- 1004: "Device reports that remote unlocking failed",
6
+ 1004: "Device reports that unlocking failed",
6
7
  1005: "Remote unlocking failure",
7
8
  1006: "Secret key times has been used up",
8
9
  1007: "Secret key is not valid",
@@ -29,16 +30,16 @@ const errors = {
29
30
  1028: "Delete failed",
30
31
  1029: "Hardware ID cannot be deleted",
31
32
  1030: "Only numeric passwords are supported",
32
- 1031: "Password name length cannot exceed 20 characters",
33
+ 1031: "name length cannot exceed 20 characters",
33
34
  1032: "Validity not configured",
34
35
  1033: "Validity start date not configured",
35
36
  1034: "Validity end date not configured",
36
37
  1035: "Weekly repeat validity configuration not set",
37
38
  1036: "Monthly repeat validity configuration not set",
38
39
  1037: "Password already exists",
39
- 1038: "Password name is duplicated",
40
+ 1038: "name is duplicated",
40
41
  1039: "Password effective time and end time are incorrect",
41
- 1040: "Temporary password ID does not exist",
42
+ 1040: "Record does not exist",
42
43
  1041: "Device has no hardware ID available",
43
44
  1042: "Failed to add temporary password",
44
45
  1043: "Temporary password addition failed, pre-allocated number not obtained from cloud",
@@ -68,6 +69,40 @@ const errors = {
68
69
  1067: "Password limit reached within this period",
69
70
  1068: "There is already a member with the same name",
70
71
  1069: "No permission to modify member validity",
72
+ 1070: "Lock SDK runtime already registered for device {0}",
73
+ 1071: "SDK instance not set, please call init",
74
+ 1072: "Does not support deleting family members",
75
+ 1073: "User has been frozen",
76
+ 1074: "User has expired",
77
+ 1075: "User has not taken effect",
78
+ 1076: "Share user or normal member has no permission to open/close the door",
79
+ 1077: "Bluetooth unlocking, host ID error",
80
+ 1078: "Bluetooth unlocking, slave ID error",
81
+ 1079: "Bluetooth unlocking, random number error",
82
+ 1080: "Bluetooth unlocking, parameter error",
83
+ 1081: "Bluetooth unlocking, electronic anti-lock refuses to unlock",
84
+ 1082: "Failed to modify temporary password",
85
+ 1083: "Does not support emojis",
86
+ 1084: "Incorrect sharing account",
87
+ 1085: "Virtual key is not available",
88
+ 1086: "Device does not exist",
89
+ 1087: "Bluetooth sharing name already exists",
90
+ 1088: "Fitting not bound to a lock",
91
+ 1089: "Lock not found",
92
+ 1090: "Update failed",
93
+ 1091: "Parameter error",
94
+ 1092: "No record on the device",
95
+ 1093: "Non-admin has no permission to operate",
96
+ 1094: "Illegal user request",
97
+ 1095: "Lock not found",
98
+ 1096: "Accessory and lock are not in the same home",
99
+ 1097: "Target lock is not online",
100
+ 1098: "Target lock does not support accessory binding",
101
+ 1099: "Accessory does not support binding to a lock",
102
+ 1100: "Binding limit reached",
103
+ 1101: "The lock has already been bound, please do not bind it again",
104
+ 1102: "Lock is binding",
105
+ 1103: "Binding failed"
71
106
  };
72
107
  export const getError = (code, ...places) => {
73
108
  if (errors[code]) {
@@ -1,3 +1,4 @@
1
+ import { sdkLog } from "./sdk-log";
1
2
  function createEmitter() {
2
3
  let listeners = {};
3
4
  let cachedEvents = {};
@@ -65,7 +66,7 @@ function createEmitter() {
65
66
  cb(data);
66
67
  }
67
68
  catch (e) {
68
- console.warn(e);
69
+ sdkLog("warn", "event", "listenerError", { error: e });
69
70
  }
70
71
  }
71
72
  }
@@ -1,8 +1,42 @@
1
1
  import { UserType } from "../constant";
2
- import { EffectiveConfig, UnlockMethodConfig, Week } from "../interface";
2
+ import type { EffectiveConfig, Week } from "../interface";
3
3
  import { LoopTypes } from "./constant";
4
4
  export declare const get24Time: (time: number) => number[];
5
5
  export declare const getNowTime: () => number;
6
+ export declare const getSystemInfo: () => {
7
+ is24Hour: boolean;
8
+ system: string;
9
+ brand: string;
10
+ model: string;
11
+ platform: string;
12
+ timezoneId: string;
13
+ pixelRatio: number;
14
+ screenWidth: number;
15
+ screenHeight: number;
16
+ windowWidth: number;
17
+ windowHeight: number;
18
+ useableWindowWidth: number;
19
+ useableWindowHeight: number;
20
+ statusBarHeight: number;
21
+ language: string;
22
+ safeArea: ty.SafeArea;
23
+ albumAuthorized: boolean;
24
+ cameraAuthorized: boolean;
25
+ locationAuthorized: boolean;
26
+ microphoneAuthorized: boolean;
27
+ notificationAuthorized: boolean;
28
+ notificationAlertAuthorized: boolean;
29
+ notificationBadgeAuthorized: boolean;
30
+ notificationSoundAuthorized: boolean;
31
+ bluetoothEnabled: boolean;
32
+ locationEnabled: boolean;
33
+ wifiEnabled: boolean;
34
+ theme?: ty.Themes;
35
+ deviceOrientation?: ty.Orientation;
36
+ deviceLevel: string;
37
+ isSupportPinShortcut?: boolean;
38
+ deviceType?: string;
39
+ };
6
40
  export declare const isOnlineByType: (onlineType: number, type: number) => boolean;
7
41
  export declare function isCapability(capability: number, id: number): boolean;
8
42
  export declare function getCapabilities(capability: number): ({
@@ -102,18 +136,9 @@ export declare const getPermanentSetting: () => {
102
136
  };
103
137
  export declare const isAdmin: (userType: UserType) => boolean;
104
138
  export declare const validateEffectiveConfig: (effective?: EffectiveConfig) => void;
105
- export declare const isUseNearChannel: () => boolean;
106
- export declare const parseOfflinePassword: (value: string) => string;
107
139
  export declare const formatTimestampToMilliseconds: (timestamp: number) => number;
108
- export declare const unlockMethodConfigs: UnlockMethodConfig[];
109
- export declare const getUnlockMethodTypeByDpCode: (dpCode: string) => UnlockMethodConfig;
110
- export declare const getUnlockMethodTypeById: (id: number | string) => UnlockMethodConfig;
111
- export declare const getUnlockMethodTypeByType: (type: string) => UnlockMethodConfig;
112
- export declare const parallelMerge: <T extends (...args: any[]) => Promise<any>>(cb: T) => (...args: Parameters<T>) => ReturnType<T>;
113
- export declare const parallelOnly: <T extends (...args: any[]) => Promise<any>>(cb: T) => (...args: Parameters<T>) => ReturnType<T>;
114
- declare const preFetchKeys: readonly ["getRotate", "getCurrentUser", "getDeviceProperties"];
115
- type PreFetchKey = (typeof preFetchKeys)[number];
116
- export declare const getDataWithPreFetch: <T>(key: PreFetchKey, apiCb: () => Promise<T>) => Promise<T>;
140
+ export declare const parallelMerge: <T extends (...args: any[]) => Promise<any>>(cb: T) => (this: unknown, ...args: Parameters<T>) => Promise<any>;
141
+ export declare const parallelOnly: <T extends (...args: any[]) => Promise<any>>(cb: T) => (this: unknown, ...args: Parameters<T>) => Promise<any>;
117
142
  export declare const equels: (source: any, target: any) => boolean;
118
143
  export declare const sleep: (ms: number) => Promise<unknown>;
119
144
  export declare const getHomeInfo: () => Promise<{
@@ -124,4 +149,23 @@ export declare const getHomeInfo: () => Promise<{
124
149
  address: string;
125
150
  admin: boolean;
126
151
  }>;
127
- export {};
152
+ export declare const transformEffectiveConfigToValidConfig: (effective: EffectiveConfig) => {
153
+ startTime: number;
154
+ endTime: number;
155
+ loop: LoopTypes;
156
+ loopConfig: number;
157
+ weeks: number[];
158
+ days: never[];
159
+ startHour: number;
160
+ startMinute: number;
161
+ endHour: number;
162
+ endMinute: number;
163
+ };
164
+ export declare const formatPasswordToList: (password: string) => number[];
165
+ export declare const getAppUser: () => {
166
+ nickName: string;
167
+ avatarUrl: string;
168
+ phoneCode: string;
169
+ isTemporaryUser: boolean;
170
+ } | null;
171
+ export declare const isHarmony: () => boolean;
@@ -1,8 +1,5 @@
1
- import config, { hasCapability } from "../config";
2
- import dpCodes from "../config/dp-code";
3
- import { ProductCommunicationType } from "../constant";
4
1
  import { LoopTypes } from "./constant";
5
- import { getBackgroundFetchData, getCurrentHomeInfo, onBackgroundFetchData, } from "./device";
2
+ import { getAppUserInfo, getCurrentHomeInfo, getSystemInfoSync, } from "../platform/device";
6
3
  import { getError } from "./errors";
7
4
  export const get24Time = (time) => {
8
5
  const hours = Math.floor(time / 60);
@@ -13,6 +10,13 @@ export const getNowTime = () => {
13
10
  const now = new Date();
14
11
  return now.getHours() * 3600 + now.getMinutes() * 60 + now.getSeconds();
15
12
  };
13
+ let system;
14
+ export const getSystemInfo = () => {
15
+ if (!system) {
16
+ system = getSystemInfoSync();
17
+ }
18
+ return system;
19
+ };
16
20
  export const isOnlineByType = (onlineType, type) => {
17
21
  const base = 2 ** type;
18
22
  return (onlineType & base) >> type === 1;
@@ -97,97 +101,16 @@ export const validateEffectiveConfig = (effective) => {
97
101
  break;
98
102
  }
99
103
  };
100
- export const isUseNearChannel = () => {
101
- const { onlineType, devInfo } = config;
102
- const isBleOnline = isOnlineByType(onlineType, 2);
103
- const isSupportWifi = hasCapability(ProductCommunicationType.WIFI);
104
- const isSupportBle = hasCapability(ProductCommunicationType.BLUETOOTH);
105
- const isSupportThread = hasCapability(ProductCommunicationType.THREAD);
106
- if (isSupportWifi && isSupportBle) {
107
- return isBleOnline;
108
- }
109
- if (isSupportThread && isSupportBle) {
110
- return isBleOnline && !devInfo.isCloudOnline && !devInfo.isLocalOnline;
111
- }
112
- return isBleOnline;
113
- };
114
- export const parseOfflinePassword = (value) => {
115
- if (config.passwordDigitalBase === 10) {
116
- return value;
117
- }
118
- let digitalCode = Number(value).toString(config.passwordDigitalBase);
119
- const zeroList = value.match(/(^0+)/);
120
- if (zeroList) {
121
- digitalCode = zeroList[0] + digitalCode;
122
- }
123
- if (config.passwordSupportZero === false) {
124
- digitalCode = digitalCode
125
- .split("")
126
- .map((n) => {
127
- return Number(n) + 1;
128
- })
129
- .join("");
130
- }
131
- return digitalCode;
132
- };
133
104
  export const formatTimestampToMilliseconds = (timestamp) => {
134
105
  const isMilliseconds = timestamp.toString().length >= 13;
135
106
  return isMilliseconds ? timestamp : timestamp * 1000;
136
107
  };
137
- export const unlockMethodConfigs = [
138
- {
139
- type: "password",
140
- code: dpCodes.unlockPassword,
141
- id: 1,
142
- },
143
- {
144
- type: "card",
145
- code: dpCodes.unlockCard,
146
- id: 2,
147
- },
148
- {
149
- type: "finger",
150
- code: dpCodes.unlockFingerprint,
151
- id: 3,
152
- },
153
- {
154
- type: "face",
155
- code: dpCodes.unlockFace,
156
- id: 4,
157
- },
158
- {
159
- type: "hand",
160
- code: dpCodes.unlockHand,
161
- id: 5,
162
- },
163
- {
164
- type: "fingerVein",
165
- code: dpCodes.unlockFingerVein,
166
- id: 6,
167
- },
168
- ];
169
- const getUnlockMethodType = (cb) => {
170
- const result = unlockMethodConfigs.find(cb);
171
- if (result && config.dpSchema[result.code]) {
172
- return result;
173
- }
174
- throw getError(1014);
175
- };
176
- export const getUnlockMethodTypeByDpCode = (dpCode) => {
177
- return getUnlockMethodType((item) => item.code === dpCode);
178
- };
179
- export const getUnlockMethodTypeById = (id) => {
180
- return getUnlockMethodType((item) => item.id === id);
181
- };
182
- export const getUnlockMethodTypeByType = (type) => {
183
- return getUnlockMethodType((item) => item.type === type);
184
- };
185
108
  let cbIndex = 0;
186
109
  const cbMap = {};
187
110
  export const parallelMerge = (cb) => {
188
111
  let isRuning = false;
189
112
  let cbId = cbIndex++;
190
- return async (...args) => {
113
+ return async function (...args) {
191
114
  const key = JSON.stringify(args);
192
115
  if (isRuning) {
193
116
  if (!cbMap[cbId]) {
@@ -202,7 +125,7 @@ export const parallelMerge = (cb) => {
202
125
  }
203
126
  isRuning = true;
204
127
  try {
205
- const result = await cb(...args);
128
+ const result = await cb.apply(this, args);
206
129
  isRuning = false;
207
130
  if (cbMap[cbId] && cbMap[cbId][key]) {
208
131
  let list = cbMap[cbId][key];
@@ -229,14 +152,14 @@ export const parallelMerge = (cb) => {
229
152
  export const parallelOnly = (cb) => {
230
153
  let isRuning = false;
231
154
  let cbId = cbIndex++;
232
- return async (...args) => {
155
+ return async function (...args) {
233
156
  let key;
234
157
  if (isRuning) {
235
158
  throw getError(1052);
236
159
  }
237
160
  isRuning = true;
238
161
  try {
239
- const result = await cb(...args);
162
+ const result = await cb.apply(this, args);
240
163
  isRuning = false;
241
164
  return result;
242
165
  }
@@ -246,35 +169,6 @@ export const parallelOnly = (cb) => {
246
169
  }
247
170
  };
248
171
  };
249
- const preFetchKeys = [
250
- "getRotate",
251
- "getCurrentUser",
252
- "getDeviceProperties",
253
- ];
254
- const preFetchData = {};
255
- onBackgroundFetchData(preFetchKeys, (res) => {
256
- Object.keys(res?.fetchedData ?? {}).forEach((key) => {
257
- preFetchData[key] = res.fetchedData[key].fetchedData;
258
- });
259
- });
260
- export const getDataWithPreFetch = async (key, apiCb) => {
261
- if (config.preFetch) {
262
- if (preFetchData[key]) {
263
- return preFetchData[key];
264
- }
265
- try {
266
- const result = await getBackgroundFetchData([key]);
267
- if (result &&
268
- result.fetchedData[key] &&
269
- result.fetchedData[key].fetchedData) {
270
- return result.fetchedData[key].fetchedData;
271
- }
272
- }
273
- catch {
274
- }
275
- }
276
- return apiCb();
277
- };
278
172
  export const equels = (source, target) => {
279
173
  return JSON.stringify(source) === JSON.stringify(target);
280
174
  };
@@ -289,3 +183,40 @@ export const getHomeInfo = async () => {
289
183
  homeInfo = await getCurrentHomeInfo();
290
184
  return homeInfo;
291
185
  };
186
+ export const transformEffectiveConfigToValidConfig = (effective) => {
187
+ const loopType = effective?.repeat
188
+ ?
189
+ LoopTypes[effective?.repeat?.toUpperCase()]
190
+ : LoopTypes.NONE;
191
+ const { effectiveTime = 0, expiredTime = 1439 } = effective;
192
+ return {
193
+ startTime: effective.effectiveDate,
194
+ endTime: effective.expiredDate,
195
+ loop: loopType,
196
+ loopConfig: 0,
197
+ weeks: effective.weeks ? effective.weeks : [0, 0, 0, 0, 0, 0, 0],
198
+ days: [],
199
+ startHour: Math.floor(effectiveTime / 60),
200
+ startMinute: effectiveTime % 60,
201
+ endHour: Math.floor(expiredTime / 60),
202
+ endMinute: expiredTime % 60,
203
+ };
204
+ };
205
+ export const formatPasswordToList = (password) => {
206
+ return password.split("").map(Number);
207
+ };
208
+ let userInfo = null;
209
+ export const getAppUser = () => {
210
+ return userInfo;
211
+ };
212
+ const getAppUserAsync = async () => {
213
+ const res = await getAppUserInfo();
214
+ userInfo = res;
215
+ return res;
216
+ };
217
+ getAppUserAsync().catch(() => {
218
+ getAppUserAsync().catch(() => undefined);
219
+ });
220
+ export const isHarmony = () => {
221
+ return getSystemInfo().platform === "harmony";
222
+ };
@@ -0,0 +1,28 @@
1
+ export type SDKLogLevel = "off" | "error" | "warn" | "info" | "debug" | "trace";
2
+ export interface SDKLogEntry {
3
+ ts: number;
4
+ level: Exclude<SDKLogLevel, "off">;
5
+ module: string;
6
+ action: string;
7
+ devId?: string;
8
+ traceId?: string;
9
+ duration?: number;
10
+ data?: Record<string, unknown>;
11
+ error?: {
12
+ message: string;
13
+ code?: number;
14
+ stack?: string;
15
+ };
16
+ }
17
+ export type SDKLogSink = (entry: SDKLogEntry) => void;
18
+ export interface SDKLogConfig {
19
+ level: SDKLogLevel;
20
+ sink?: SDKLogSink;
21
+ console?: boolean;
22
+ }
23
+ type SDKLogPayload = Omit<SDKLogEntry, "ts" | "level" | "module" | "action" | "error"> & {
24
+ error?: unknown;
25
+ };
26
+ export declare function setSDKLogConfig(next: Partial<SDKLogConfig>): void;
27
+ export declare function sdkLog(level: Exclude<SDKLogLevel, "off">, module: string, action: string, payload?: SDKLogPayload): void;
28
+ export {};
@@ -0,0 +1,128 @@
1
+ const levelWeights = {
2
+ off: 0,
3
+ error: 1,
4
+ warn: 2,
5
+ info: 3,
6
+ debug: 4,
7
+ trace: 5,
8
+ };
9
+ let config = {
10
+ level: "warn",
11
+ console: false,
12
+ };
13
+ const sensitiveKeyPattern = /password|pwd|token|key|secret|ins|devUnlockId|raw|dpValue/i;
14
+ let defaultLogManager;
15
+ function getDefaultLogManager() {
16
+ if (defaultLogManager) {
17
+ return defaultLogManager;
18
+ }
19
+ try {
20
+ if (typeof ty === "undefined") {
21
+ return undefined;
22
+ }
23
+ const getLogManager = ty.getLogManager;
24
+ if (typeof getLogManager === "function") {
25
+ defaultLogManager = getLogManager({ tag: "lock-sdk" });
26
+ }
27
+ }
28
+ catch {
29
+ defaultLogManager = null;
30
+ }
31
+ return defaultLogManager ?? undefined;
32
+ }
33
+ function getDefaultSink() {
34
+ const manager = getDefaultLogManager();
35
+ if (!manager) {
36
+ return undefined;
37
+ }
38
+ return (entry) => {
39
+ const message = JSON.stringify(entry);
40
+ if (typeof manager[entry.level] === "function") {
41
+ manager[entry.level]({
42
+ message,
43
+ });
44
+ }
45
+ else {
46
+ manager.log({ message });
47
+ }
48
+ };
49
+ }
50
+ function sanitize(value) {
51
+ if (!value || typeof value !== "object") {
52
+ return value;
53
+ }
54
+ if (Array.isArray(value)) {
55
+ return value.map(sanitize);
56
+ }
57
+ return Object.keys(value).reduce((acc, key) => {
58
+ acc[key] = sensitiveKeyPattern.test(key)
59
+ ? "[REDACTED]"
60
+ : sanitize(value[key]);
61
+ return acc;
62
+ }, {});
63
+ }
64
+ function normalizeError(error) {
65
+ if (!error) {
66
+ return undefined;
67
+ }
68
+ if (error instanceof Error) {
69
+ return {
70
+ message: error.message,
71
+ stack: error.stack,
72
+ };
73
+ }
74
+ if (typeof error === "object") {
75
+ const err = error;
76
+ const rawCode = err["code"] ?? err["errorCode"];
77
+ const code = typeof rawCode === "number"
78
+ ? rawCode
79
+ : typeof rawCode === "string"
80
+ ? Number(rawCode)
81
+ : undefined;
82
+ return {
83
+ message: String(err["message"] ?? err["errorMsg"] ?? "Unknown error"),
84
+ code: Number.isFinite(code) ? code : undefined,
85
+ };
86
+ }
87
+ return {
88
+ message: String(error),
89
+ };
90
+ }
91
+ export function setSDKLogConfig(next) {
92
+ config = {
93
+ ...config,
94
+ ...next,
95
+ };
96
+ }
97
+ export function sdkLog(level, module, action, payload = {}) {
98
+ if (levelWeights[config.level] < levelWeights[level]) {
99
+ return;
100
+ }
101
+ const entry = {
102
+ ts: Date.now(),
103
+ level,
104
+ module,
105
+ action,
106
+ devId: payload.devId,
107
+ traceId: payload.traceId,
108
+ duration: payload.duration,
109
+ data: sanitize(payload.data),
110
+ error: normalizeError(payload.error),
111
+ };
112
+ try {
113
+ const sink = config.sink ?? getDefaultSink();
114
+ sink?.(entry);
115
+ if (config.console) {
116
+ let fn = console.log;
117
+ if (level === "error") {
118
+ fn = console.error;
119
+ }
120
+ else if (level === "warn") {
121
+ fn = console.warn;
122
+ }
123
+ fn("[lock-sdk]", level, entry);
124
+ }
125
+ }
126
+ catch (error) {
127
+ }
128
+ }
package/package.json CHANGED
@@ -1,17 +1,38 @@
1
1
  {
2
2
  "name": "@ray-js/lock-sdk",
3
- "version": "1.1.3",
3
+ "version": "1.2.0-beta.2",
4
4
  "files": [
5
5
  "lib",
6
6
  "LICENSE.md"
7
7
  ],
8
8
  "main": "lib/index.js",
9
9
  "types": "lib/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./lib/index.d.ts",
13
+ "import": "./lib/index.js",
14
+ "default": "./lib/index.js"
15
+ },
16
+ "./fit": {
17
+ "types": "./lib/fit.d.ts",
18
+ "import": "./lib/fit.js",
19
+ "default": "./lib/fit.js"
20
+ },
21
+ "./screen": {
22
+ "types": "./lib/screen.d.ts",
23
+ "import": "./lib/screen.js",
24
+ "default": "./lib/screen.js"
25
+ }
26
+ },
10
27
  "scripts": {
11
- "build": "tsc",
12
- "compile": "tsc",
28
+ "build": "tsc && tsc-alias -p tsconfig.json",
29
+ "compile": "tsc && tsc-alias -p tsconfig.json",
13
30
  "lint": "eslint . --max-warnings 0",
14
- "check-types": "tsc --noEmit"
31
+ "check-types": "tsc --noEmit",
32
+ "test": "vitest run",
33
+ "test:watch": "vitest",
34
+ "audit:api-tests": "vitest run _tests/api-test-audit.test.ts",
35
+ "audit:api-tests:update": "UPDATE_API_AUDIT=1 vitest run _tests/api-test-audit.test.ts"
15
36
  },
16
37
  "maintainers": [
17
38
  "tuya_npm",
@@ -23,9 +44,7 @@
23
44
  "devDependencies": {
24
45
  "@turbo/gen": "^2.4.0",
25
46
  "@types/node": "^22.13.0",
26
- "@types/react": "19.0.8",
27
- "eslint": "^9.21.0",
28
- "typescript": "5.7.3"
47
+ "@types/react": "19.0.8"
29
48
  },
30
49
  "peerDependencies": {
31
50
  "react": "^19.0.0"
@@ -1,4 +0,0 @@
1
- import { DeviceAdvancedAbility } from "./interface";
2
- export declare const isActiveThread: () => Promise<boolean>;
3
- export declare const isShareThead: () => boolean;
4
- export declare const getDeviceAdvancedAbilities: () => Promise<DeviceAdvancedAbility>;
@@ -1,28 +0,0 @@
1
- import { ProductCommunicationType } from "../constant";
2
- import { CapabilityInfo, DeviceInfo, DpSchema, RemotePermission, DeviceStatus, LockSDKOption } from "../interface";
3
- declare const config: {
4
- devInfo: DeviceInfo;
5
- dpSchema: Record<string, DpSchema>;
6
- codesById: Record<string, string>;
7
- idsByCode: Record<string, number>;
8
- remoteOpenEnabled: boolean;
9
- remoteOpenPermission: RemotePermission;
10
- capabilities: CapabilityInfo | null;
11
- onlineType: number;
12
- communication: ProductCommunicationType[];
13
- supportBigData: boolean;
14
- passwordDigitalBase: number;
15
- passwordSupportZero: boolean;
16
- strictMode: boolean;
17
- imageAngle: number;
18
- videoAngle: number;
19
- supportMultipleFace: boolean;
20
- supportOfflineDps: boolean;
21
- preFetch: boolean;
22
- deviceStatus: DeviceStatus;
23
- };
24
- type UpdateConfigParams = Omit<LockSDKOption, "devInfo" | "deviceId" | "preFetch">;
25
- export declare const updateConfig: (options: UpdateConfigParams) => void;
26
- export declare const hasCapability: (capability: ProductCommunicationType) => boolean;
27
- export declare const hasDp: (dpCode: string) => boolean;
28
- export default config;
@@ -1,41 +0,0 @@
1
- const config = {
2
- devInfo: {},
3
- dpSchema: {},
4
- codesById: {},
5
- idsByCode: {},
6
- remoteOpenEnabled: false,
7
- remoteOpenPermission: "everyOne",
8
- capabilities: null,
9
- onlineType: 0,
10
- communication: [0],
11
- supportBigData: false,
12
- passwordDigitalBase: 10,
13
- passwordSupportZero: true,
14
- strictMode: true,
15
- imageAngle: 0,
16
- videoAngle: 0,
17
- supportMultipleFace: false,
18
- supportOfflineDps: false,
19
- preFetch: false,
20
- deviceStatus: {
21
- type: "offline",
22
- connectEnable: false,
23
- onlineType: "none",
24
- isWifiActive: false,
25
- },
26
- };
27
- export const updateConfig = (options) => {
28
- Object.keys(options).forEach((key) => {
29
- const value = options[key];
30
- if (value !== undefined) {
31
- config[key] = value;
32
- }
33
- });
34
- };
35
- export const hasCapability = (capability) => {
36
- return config.communication.includes(capability);
37
- };
38
- export const hasDp = (dpCode) => {
39
- return !!config.dpSchema[dpCode];
40
- };
41
- export default config;
package/lib/event.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare const SLEEP_EVENT = "sleep_event";
2
- export declare const DEVICE_STATUS_CHANGE_EVENT = "device_status_change";