diginext-utils 2.0.31 → 2.0.33

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 (398) hide show
  1. package/README.md +162 -162
  2. package/dist/Checker.d.ts +8 -7
  3. package/dist/Checker.js +48 -28
  4. package/dist/Checker.mjs +29 -0
  5. package/dist/EventDispatcher.d.ts +12 -12
  6. package/dist/EventDispatcher.js +72 -47
  7. package/dist/EventDispatcher.mjs +54 -0
  8. package/dist/FileUpload.d.ts +11 -11
  9. package/dist/FileUpload.js +81 -61
  10. package/dist/FileUpload.mjs +62 -0
  11. package/dist/Slug.d.ts +9 -8
  12. package/dist/Slug.js +350 -330
  13. package/dist/Slug.mjs +331 -0
  14. package/dist/Timer-7b0c4e7c.d.ts +11 -0
  15. package/dist/Timer.d.ts +1 -4
  16. package/dist/Timer.js +31 -7
  17. package/dist/Timer.mjs +7 -0
  18. package/dist/Validation.d.ts +5 -4
  19. package/dist/Validation.js +54 -37
  20. package/dist/Validation.mjs +35 -0
  21. package/dist/array-dc599632.d.ts +158 -0
  22. package/dist/array.d.ts +1 -113
  23. package/dist/array.js +246 -266
  24. package/dist/array.mjs +49 -0
  25. package/dist/browser-8d042ffe.d.ts +22 -0
  26. package/dist/camera-1a859d72.d.ts +15 -0
  27. package/dist/chunk-5NTK5JAI.mjs +57 -0
  28. package/dist/chunk-5UEMANWE.mjs +91 -0
  29. package/dist/chunk-5ZOWNKSD.mjs +166 -0
  30. package/dist/chunk-6GNGTFNC.mjs +118 -0
  31. package/dist/chunk-7MK72U4O.mjs +19 -0
  32. package/dist/chunk-7XKT3AQX.mjs +17 -0
  33. package/dist/chunk-7ZCEZM7K.mjs +41 -0
  34. package/dist/chunk-AMBWJGSW.mjs +151 -0
  35. package/dist/chunk-C7S43KGB.mjs +15 -0
  36. package/dist/chunk-CJM7T7ON.mjs +24 -0
  37. package/dist/chunk-CKILLYAP.mjs +16 -0
  38. package/dist/chunk-DX7MUT3M.mjs +51 -0
  39. package/dist/chunk-EGUJQ5VF.mjs +32 -0
  40. package/dist/chunk-ETEIHDWU.mjs +25 -0
  41. package/dist/chunk-FJXSVGL7.mjs +22 -0
  42. package/dist/chunk-GJCAEOND.mjs +20 -0
  43. package/dist/chunk-GNJDIUYM.mjs +40 -0
  44. package/dist/chunk-IA7GINWD.mjs +39 -0
  45. package/dist/chunk-JEI7BOXY.mjs +21 -0
  46. package/dist/chunk-K4KENOE6.mjs +20 -0
  47. package/dist/chunk-KMERW6KS.mjs +34 -0
  48. package/dist/chunk-KPO3RH5G.mjs +27 -0
  49. package/dist/chunk-KWG5LYNK.mjs +100 -0
  50. package/dist/chunk-NUTQDHLQ.mjs +40 -0
  51. package/dist/chunk-O64XUDAH.mjs +35 -0
  52. package/dist/chunk-OYRPWQUA.mjs +257 -0
  53. package/dist/chunk-PNZ4KGXL.mjs +56 -0
  54. package/dist/chunk-QZYX26HT.mjs +24 -0
  55. package/dist/chunk-RDGP2CKM.mjs +195 -0
  56. package/dist/chunk-VFG5VU6S.mjs +12 -0
  57. package/dist/chunk-X3IMFCZG.mjs +23 -0
  58. package/dist/chunk-ZHNGZMRD.mjs +17 -0
  59. package/dist/color.d.ts +23 -22
  60. package/dist/color.js +96 -79
  61. package/dist/color.mjs +78 -0
  62. package/dist/console/enableConsole.d.ts +1 -2
  63. package/dist/console/enableConsole.js +38 -10
  64. package/dist/console/enableConsole.mjs +9 -0
  65. package/dist/console/index.d.ts +2 -11
  66. package/dist/console/index.js +58 -15
  67. package/dist/console/index.mjs +14 -0
  68. package/dist/console/log.d.ts +15 -14
  69. package/dist/console/log.js +74 -44
  70. package/dist/console/log.mjs +19 -0
  71. package/dist/createDir-220e0081.d.ts +13 -0
  72. package/dist/device/browser.d.ts +1 -5
  73. package/dist/device/browser.js +60 -32
  74. package/dist/device/browser.mjs +15 -0
  75. package/dist/device/camera.d.ts +1 -7
  76. package/dist/device/camera.js +184 -166
  77. package/dist/device/camera.mjs +8 -0
  78. package/dist/device/index.d.ts +1 -5
  79. package/dist/device/index.js +201 -216
  80. package/dist/device/index.mjs +15 -0
  81. package/dist/device/os.d.ts +11 -10
  82. package/dist/device/os.js +55 -28
  83. package/dist/device/os.mjs +33 -0
  84. package/dist/enableConsole-ddc24282.d.ts +11 -0
  85. package/dist/file/createDir.d.ts +1 -5
  86. package/dist/file/createDir.js +34 -13
  87. package/dist/file/createDir.mjs +7 -0
  88. package/dist/file/fileMove.d.ts +1 -4
  89. package/dist/file/fileMove.js +49 -29
  90. package/dist/file/fileMove.mjs +7 -0
  91. package/dist/file/findFilesByExt.d.ts +1 -13
  92. package/dist/file/findFilesByExt.js +64 -45
  93. package/dist/file/findFilesByExt.mjs +11 -0
  94. package/dist/file/index.d.ts +10 -8
  95. package/dist/file/index.js +104 -9
  96. package/dist/file/index.mjs +17 -0
  97. package/dist/fileMove-3a09e429.d.ts +13 -0
  98. package/dist/findFilesByExt-753e91d7.d.ts +24 -0
  99. package/dist/images/index.d.ts +2 -2
  100. package/dist/images/index.js +131 -8
  101. package/dist/images/index.mjs +15 -0
  102. package/dist/images/loadImage.d.ts +3 -0
  103. package/dist/images/loadImage.js +42 -0
  104. package/dist/images/loadImage.mjs +21 -0
  105. package/dist/images/resize.d.ts +3 -2
  106. package/dist/images/resize.js +60 -34
  107. package/dist/images/resize.mjs +9 -0
  108. package/dist/images/upload.d.ts +10 -9
  109. package/dist/images/upload.js +130 -25
  110. package/dist/images/upload.mjs +14 -0
  111. package/dist/index-1f738e52.d.ts +22 -0
  112. package/dist/index-22309f0c.d.ts +23 -0
  113. package/dist/index-6ae3c86b.d.ts +63 -0
  114. package/dist/index-c8fffc86.d.ts +90 -0
  115. package/dist/index-d652ed2c.d.ts +26 -0
  116. package/dist/index.d.ts +47 -36
  117. package/dist/index.js +1352 -62
  118. package/dist/index.mjs +87 -0
  119. package/dist/json.d.ts +8 -7
  120. package/dist/json.js +48 -28
  121. package/dist/json.mjs +29 -0
  122. package/dist/math/diffDate.d.ts +6 -5
  123. package/dist/math/diffDate.js +33 -11
  124. package/dist/math/diffDate.mjs +9 -0
  125. package/dist/math/index.d.ts +3 -30
  126. package/dist/math/index.js +159 -92
  127. package/dist/math/index.mjs +34 -0
  128. package/dist/math/positiveNumber.d.ts +3 -2
  129. package/dist/math/positiveNumber.js +53 -14
  130. package/dist/math/positiveNumber.mjs +10 -0
  131. package/dist/name/en.d.ts +5 -4
  132. package/dist/name/en.js +37 -19
  133. package/dist/name/en.mjs +9 -0
  134. package/dist/name/index.d.ts +3 -12
  135. package/dist/name/index.js +87 -12
  136. package/dist/name/index.mjs +20 -0
  137. package/dist/name/vi.d.ts +5 -4
  138. package/dist/name/vi.js +63 -25
  139. package/dist/name/vi.mjs +14 -0
  140. package/{esm/object.d.ts → dist/object-43aaaf92.d.ts} +79 -58
  141. package/dist/object.d.ts +1 -59
  142. package/dist/object.js +96 -71
  143. package/dist/object.mjs +21 -0
  144. package/dist/permission/index.d.ts +8 -7
  145. package/dist/permission/index.js +230 -6
  146. package/dist/permission/index.mjs +15 -0
  147. package/dist/permission/requestCamera.d.ts +1 -5
  148. package/dist/permission/requestCamera.js +49 -38
  149. package/dist/permission/requestCamera.mjs +9 -0
  150. package/dist/permission/requestDeviceOrientationControl.d.ts +1 -2
  151. package/dist/permission/requestDeviceOrientationControl.js +203 -36
  152. package/dist/permission/requestDeviceOrientationControl.mjs +10 -0
  153. package/dist/requestCamera-32b7dfc7.d.ts +14 -0
  154. package/dist/requestDeviceOrientationControl-b6458660.d.ts +11 -0
  155. package/dist/response/index.d.ts +49 -48
  156. package/dist/response/index.js +92 -47
  157. package/dist/response/index.mjs +16 -0
  158. package/dist/string/formatNumber.d.ts +7 -6
  159. package/dist/string/formatNumber.js +53 -12
  160. package/dist/string/formatNumber.mjs +10 -0
  161. package/dist/string/generatePassword.d.ts +10 -9
  162. package/dist/string/generatePassword.js +52 -21
  163. package/dist/string/generatePassword.mjs +10 -0
  164. package/dist/string/generateUUID.d.ts +3 -2
  165. package/dist/string/generateUUID.js +37 -34
  166. package/dist/string/generateUUID.mjs +9 -0
  167. package/dist/string/index.d.ts +6 -65
  168. package/dist/string/index.js +312 -157
  169. package/dist/string/index.mjs +31 -0
  170. package/dist/string/makeDaySlug.d.ts +31 -30
  171. package/dist/string/makeDaySlug.js +43 -19
  172. package/dist/string/makeDaySlug.mjs +9 -0
  173. package/dist/string/random.d.ts +14 -13
  174. package/dist/string/random.js +53 -22
  175. package/dist/string/random.mjs +19 -0
  176. package/dist/string/trimNull.d.ts +3 -2
  177. package/dist/string/trimNull.js +45 -17
  178. package/dist/string/trimNull.mjs +9 -0
  179. package/dist/string/url.d.ts +1 -36
  180. package/dist/string/url.js +115 -97
  181. package/dist/string/url.mjs +22 -0
  182. package/dist/url-60657387.d.ts +57 -0
  183. package/package.json +66 -66
  184. package/src/Checker.ts +29 -29
  185. package/src/EventDispatcher.ts +62 -62
  186. package/src/FileUpload.ts +66 -66
  187. package/src/Slug.ts +365 -365
  188. package/src/Timer.ts +7 -7
  189. package/src/Validation.ts +36 -36
  190. package/src/array.ts +285 -285
  191. package/src/color.ts +87 -87
  192. package/src/console/enableConsole.ts +8 -8
  193. package/src/console/index.ts +17 -17
  194. package/src/console/log.ts +39 -39
  195. package/src/device/browser.ts +29 -29
  196. package/src/device/camera.ts +207 -207
  197. package/src/device/index.ts +230 -230
  198. package/src/device/os.ts +29 -29
  199. package/src/file/createDir.ts +14 -14
  200. package/src/file/fileMove.ts +32 -32
  201. package/src/file/findFilesByExt.ts +46 -46
  202. package/src/file/index.ts +7 -7
  203. package/src/images/index.ts +3 -3
  204. package/src/images/loadImage.ts +16 -0
  205. package/src/images/resize.ts +35 -35
  206. package/src/images/upload.ts +24 -24
  207. package/src/index.ts +39 -39
  208. package/src/json.ts +29 -29
  209. package/src/math/diffDate.ts +10 -10
  210. package/src/math/index.ts +90 -90
  211. package/src/math/positiveNumber.ts +12 -12
  212. package/src/name/en.ts +27 -27
  213. package/src/name/index.ts +8 -8
  214. package/src/name/vi.ts +23 -23
  215. package/src/object.ts +72 -72
  216. package/src/permission/index.ts +6 -6
  217. package/src/permission/requestCamera.ts +43 -43
  218. package/src/permission/requestDeviceOrientationControl.ts +33 -33
  219. package/src/response/index.ts +45 -45
  220. package/src/string/formatNumber.ts +12 -12
  221. package/src/string/generatePassword.ts +18 -18
  222. package/src/string/generateUUID.ts +37 -37
  223. package/src/string/index.ts +180 -180
  224. package/src/string/makeDaySlug.ts +40 -40
  225. package/src/string/random.ts +24 -24
  226. package/src/string/trimNull.ts +16 -16
  227. package/src/string/url.ts +116 -116
  228. package/dist/Checker.js.map +0 -1
  229. package/dist/EventDispatcher.js.map +0 -1
  230. package/dist/FileUpload.js.map +0 -1
  231. package/dist/Slug.js.map +0 -1
  232. package/dist/Timer.js.map +0 -1
  233. package/dist/Validation.js.map +0 -1
  234. package/dist/array.js.map +0 -1
  235. package/dist/color.js.map +0 -1
  236. package/dist/console/enableConsole.js.map +0 -1
  237. package/dist/console/index.js.map +0 -1
  238. package/dist/console/log.js.map +0 -1
  239. package/dist/device/browser.js.map +0 -1
  240. package/dist/device/camera.js.map +0 -1
  241. package/dist/device/index.js.map +0 -1
  242. package/dist/device/os.js.map +0 -1
  243. package/dist/file/createDir.js.map +0 -1
  244. package/dist/file/fileMove.js.map +0 -1
  245. package/dist/file/findFilesByExt.js.map +0 -1
  246. package/dist/file/index.js.map +0 -1
  247. package/dist/images/index.js.map +0 -1
  248. package/dist/images/resize.js.map +0 -1
  249. package/dist/images/upload.js.map +0 -1
  250. package/dist/index.js.map +0 -1
  251. package/dist/json.js.map +0 -1
  252. package/dist/math/diffDate.js.map +0 -1
  253. package/dist/math/index.js.map +0 -1
  254. package/dist/math/positiveNumber.js.map +0 -1
  255. package/dist/name/en.js.map +0 -1
  256. package/dist/name/index.js.map +0 -1
  257. package/dist/name/vi.js.map +0 -1
  258. package/dist/object.js.map +0 -1
  259. package/dist/permission/index.js.map +0 -1
  260. package/dist/permission/requestCamera.js.map +0 -1
  261. package/dist/permission/requestDeviceOrientationControl.js.map +0 -1
  262. package/dist/response/index.js.map +0 -1
  263. package/dist/string/formatNumber.js.map +0 -1
  264. package/dist/string/generatePassword.js.map +0 -1
  265. package/dist/string/generateUUID.js.map +0 -1
  266. package/dist/string/index.js.map +0 -1
  267. package/dist/string/makeDaySlug.js.map +0 -1
  268. package/dist/string/random.js.map +0 -1
  269. package/dist/string/trimNull.js.map +0 -1
  270. package/dist/string/url.js.map +0 -1
  271. package/esm/Checker.d.ts +0 -8
  272. package/esm/Checker.js +0 -28
  273. package/esm/Checker.js.map +0 -1
  274. package/esm/EventDispatcher.d.ts +0 -13
  275. package/esm/EventDispatcher.js +0 -49
  276. package/esm/EventDispatcher.js.map +0 -1
  277. package/esm/FileUpload.d.ts +0 -12
  278. package/esm/FileUpload.js +0 -62
  279. package/esm/FileUpload.js.map +0 -1
  280. package/esm/Slug.d.ts +0 -9
  281. package/esm/Slug.js +0 -330
  282. package/esm/Slug.js.map +0 -1
  283. package/esm/Timer.d.ts +0 -4
  284. package/esm/Timer.js +0 -7
  285. package/esm/Timer.js.map +0 -1
  286. package/esm/Validation.d.ts +0 -5
  287. package/esm/Validation.js +0 -37
  288. package/esm/Validation.js.map +0 -1
  289. package/esm/array.d.ts +0 -113
  290. package/esm/array.js +0 -275
  291. package/esm/array.js.map +0 -1
  292. package/esm/color.d.ts +0 -23
  293. package/esm/color.js +0 -80
  294. package/esm/color.js.map +0 -1
  295. package/esm/console/enableConsole.d.ts +0 -2
  296. package/esm/console/enableConsole.js +0 -7
  297. package/esm/console/enableConsole.js.map +0 -1
  298. package/esm/console/index.d.ts +0 -11
  299. package/esm/console/index.js +0 -13
  300. package/esm/console/index.js.map +0 -1
  301. package/esm/console/log.d.ts +0 -15
  302. package/esm/console/log.js +0 -33
  303. package/esm/console/log.js.map +0 -1
  304. package/esm/device/browser.d.ts +0 -5
  305. package/esm/device/browser.js +0 -30
  306. package/esm/device/browser.js.map +0 -1
  307. package/esm/device/camera.d.ts +0 -7
  308. package/esm/device/camera.js +0 -168
  309. package/esm/device/camera.js.map +0 -1
  310. package/esm/device/index.d.ts +0 -5
  311. package/esm/device/index.js +0 -217
  312. package/esm/device/index.js.map +0 -1
  313. package/esm/device/os.d.ts +0 -11
  314. package/esm/device/os.js +0 -28
  315. package/esm/device/os.js.map +0 -1
  316. package/esm/file/createDir.d.ts +0 -5
  317. package/esm/file/createDir.js +0 -13
  318. package/esm/file/createDir.js.map +0 -1
  319. package/esm/file/fileMove.d.ts +0 -4
  320. package/esm/file/fileMove.js +0 -29
  321. package/esm/file/fileMove.js.map +0 -1
  322. package/esm/file/findFilesByExt.d.ts +0 -13
  323. package/esm/file/findFilesByExt.js +0 -46
  324. package/esm/file/findFilesByExt.js.map +0 -1
  325. package/esm/file/index.d.ts +0 -9
  326. package/esm/file/index.js +0 -6
  327. package/esm/file/index.js.map +0 -1
  328. package/esm/images/index.d.ts +0 -2
  329. package/esm/images/index.js +0 -4
  330. package/esm/images/index.js.map +0 -1
  331. package/esm/images/resize.d.ts +0 -2
  332. package/esm/images/resize.js +0 -31
  333. package/esm/images/resize.js.map +0 -1
  334. package/esm/images/upload.d.ts +0 -10
  335. package/esm/images/upload.js +0 -20
  336. package/esm/images/upload.js.map +0 -1
  337. package/esm/index.d.ts +0 -37
  338. package/esm/index.js +0 -38
  339. package/esm/index.js.map +0 -1
  340. package/esm/json.d.ts +0 -8
  341. package/esm/json.js +0 -28
  342. package/esm/json.js.map +0 -1
  343. package/esm/math/diffDate.d.ts +0 -5
  344. package/esm/math/diffDate.js +0 -10
  345. package/esm/math/diffDate.js.map +0 -1
  346. package/esm/math/index.d.ts +0 -30
  347. package/esm/math/index.js +0 -78
  348. package/esm/math/index.js.map +0 -1
  349. package/esm/math/positiveNumber.d.ts +0 -2
  350. package/esm/math/positiveNumber.js +0 -13
  351. package/esm/math/positiveNumber.js.map +0 -1
  352. package/esm/name/en.d.ts +0 -5
  353. package/esm/name/en.js +0 -22
  354. package/esm/name/en.js.map +0 -1
  355. package/esm/name/index.d.ts +0 -12
  356. package/esm/name/index.js +0 -6
  357. package/esm/name/index.js.map +0 -1
  358. package/esm/name/vi.d.ts +0 -5
  359. package/esm/name/vi.js +0 -24
  360. package/esm/name/vi.js.map +0 -1
  361. package/esm/object.js +0 -70
  362. package/esm/object.js.map +0 -1
  363. package/esm/permission/index.d.ts +0 -8
  364. package/esm/permission/index.js +0 -5
  365. package/esm/permission/index.js.map +0 -1
  366. package/esm/permission/requestCamera.d.ts +0 -5
  367. package/esm/permission/requestCamera.js +0 -39
  368. package/esm/permission/requestCamera.js.map +0 -1
  369. package/esm/permission/requestDeviceOrientationControl.d.ts +0 -2
  370. package/esm/permission/requestDeviceOrientationControl.js +0 -35
  371. package/esm/permission/requestDeviceOrientationControl.js.map +0 -1
  372. package/esm/response/index.d.ts +0 -49
  373. package/esm/response/index.js +0 -46
  374. package/esm/response/index.js.map +0 -1
  375. package/esm/string/formatNumber.d.ts +0 -6
  376. package/esm/string/formatNumber.js +0 -11
  377. package/esm/string/formatNumber.js.map +0 -1
  378. package/esm/string/generatePassword.d.ts +0 -9
  379. package/esm/string/generatePassword.js +0 -20
  380. package/esm/string/generatePassword.js.map +0 -1
  381. package/esm/string/generateUUID.d.ts +0 -2
  382. package/esm/string/generateUUID.js +0 -33
  383. package/esm/string/generateUUID.js.map +0 -1
  384. package/esm/string/index.d.ts +0 -65
  385. package/esm/string/index.js +0 -150
  386. package/esm/string/index.js.map +0 -1
  387. package/esm/string/makeDaySlug.d.ts +0 -31
  388. package/esm/string/makeDaySlug.js +0 -16
  389. package/esm/string/makeDaySlug.js.map +0 -1
  390. package/esm/string/random.d.ts +0 -14
  391. package/esm/string/random.js +0 -20
  392. package/esm/string/random.js.map +0 -1
  393. package/esm/string/trimNull.d.ts +0 -2
  394. package/esm/string/trimNull.js +0 -14
  395. package/esm/string/trimNull.js.map +0 -1
  396. package/esm/string/url.d.ts +0 -36
  397. package/esm/string/url.js +0 -98
  398. package/esm/string/url.js.map +0 -1
@@ -1,172 +1,190 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getWebcam = void 0;
4
- const requestCamera_1 = require("../permission/requestCamera");
5
- function getWebcam(params = { facingMode: "environment", audio: true }) {
6
- if (typeof window == "undefined")
7
- return;
8
- const { container, facingMode = "environment", audio = true } = params;
9
- const _container = container || document.body;
10
- return new Promise(async (resolve, reject) => {
11
- const video = document.createElement("video");
12
- video.style.position = "absolute";
13
- video.style.top = "0";
14
- video.style.left = "0";
15
- video.style.width = "100%";
16
- video.style.height = "100%";
17
- _container.append(video);
18
- let inputCameras = [];
19
- let currentCamera;
20
- const requestedMediaConstraints = {
21
- video: {
22
- facingMode: { exact: facingMode },
23
- },
24
- audio,
25
- };
26
- let stream;
27
- let isAllowed = false;
28
- console.log("[Camera.js] Requesting:", requestedMediaConstraints);
29
- const res = await (0, requestCamera_1.requestCamera)({ audio });
30
- if (!res) {
31
- setTimeout(function () {
32
- handleError({ name: "Error", message: "NotSupported" });
33
- }, 50);
34
- }
35
- // start requesting media permissions:
36
- // console.log("[Camera.js] Requesting:", requestedMediaConstraints);
37
- // if (navigator.mediaDevices.enumerateDevices === undefined) {
38
- // setTimeout(function () {
39
- // handleError({ name: "Error", message: "NotSupported" });
40
- // }, 50);
41
- // } else {
42
- navigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);
43
- // }
44
- function parseDevices(devices) {
45
- inputCameras = [];
46
- let backCameras = [];
47
- devices.forEach(function (device) {
48
- if (device.kind == "videoinput" && typeof device.deviceId != "undefined" && device.deviceId != "") {
49
- inputCameras.push(device);
50
- }
51
- });
52
- // //alert (JSON.stringify (devices));
53
- console.log("[Camera.js] inputCameras:", inputCameras);
54
- if (inputCameras.length > 0) {
55
- let cams = "";
56
- let backCamera;
57
- inputCameras.map((cam, index) => {
58
- cams += `[${cam.deviceId}] ${cam.kind} | ${cam.label}\n`;
59
- // console.log(cam);
60
- let label = cam.label.toLowerCase();
61
- if (label.indexOf("back") > -1 || label.indexOf("facetime") > -1) {
62
- backCamera = cam;
63
- backCameras.push(backCamera);
64
- }
65
- });
66
- if (backCameras.length > 1) {
67
- backCamera = backCameras[backCameras.length - 1];
68
- }
69
- console.log(`[Camera.js] All input sources:`, cams);
70
- console.log(`[Camera.js] This device has ${backCameras.length} back camera${backCameras.length > 1 ? "s" : ""}.`);
71
- console.log("[Camera.js] backCameras:", JSON.stringify(backCameras));
72
- currentCamera = backCamera;
73
- // if (scope.onGotDevices) {
74
- // scope.onGotDevices(devices);
75
- // }
76
- // Lấy stream của camera sau
77
- // (Lấy cái cuối cùng trong danh sách trước, thường sẽ là camera chính trên Android)
78
- getStreamOfCameraId(backCamera.deviceId)
79
- .then(onStreamReceived)
80
- .catch((e) => {
81
- if (backCameras.length > 1) {
82
- // nếu thiết bị có nhiều hơn 1 camera sau -> thử lấy camera khác
83
- backCamera = backCameras[backCameras.length - 2];
84
- getStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);
85
- }
86
- else if (backCameras.length > 2) {
87
- // nếu thiết bị có nhiều hơn 2 camera sau -> thử lấy camera khác nữa
88
- backCamera = backCameras[backCameras.length - 3];
89
- getStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);
90
- }
91
- else {
92
- // nếu thiết bị đéo có camera sau...
93
- handleError(e);
94
- }
95
- });
96
- }
97
- else {
98
- navigator.mediaDevices.getUserMedia(requestedMediaConstraints).then(onStreamReceived).catch(handleError);
99
- // if (scope.onGotDevicesFailed) scope.onGotDevicesFailed();
100
- }
101
- }
102
- function onStreamReceived(stream) {
103
- if (inputCameras.length == 0) {
104
- console.log("[Camera.js] Not found any back cameras, request again?");
105
- navigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);
106
- return;
107
- }
108
- isAllowed = true;
109
- playWebcamVideo(stream);
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/device/camera.ts
21
+ var camera_exports = {};
22
+ __export(camera_exports, {
23
+ getWebcam: () => getWebcam
24
+ });
25
+ module.exports = __toCommonJS(camera_exports);
26
+
27
+ // src/permission/requestCamera.ts
28
+ var requestCamera = ({ audio = true, video = true }) => {
29
+ if (typeof window == "undefined")
30
+ return false;
31
+ return new Promise((resolve, reject) => {
32
+ if (navigator.mediaDevices.getUserMedia === void 0) {
33
+ navigator.mediaDevices.getUserMedia = function(constraints) {
34
+ var getUserMedia = navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
35
+ if (!getUserMedia) {
36
+ return Promise.reject(new Error("getUserMedia is not implemented in this browser"));
110
37
  }
111
- function playWebcamVideo(_stream) {
112
- stream = _stream;
113
- if ("srcObject" in video) {
114
- // //alert ('GOT STREAM VIDEO OBJECT');
115
- video.srcObject = _stream;
116
- }
117
- else {
118
- // //alert ('GOT STREAM VIDEO SOURCE URL');
119
- // Avoid using this in new browsers, as it is going away.
120
- video.src = window.URL.createObjectURL(_stream);
121
- }
122
- // required to tell iOS safari we don't want fullscreen
123
- video.setAttribute("playsinline", "true");
124
- video.setAttribute("muted", "true");
125
- video.setAttribute("autoplay", "true");
126
- video.muted = true;
127
- video.autoplay = true;
128
- video.style.objectFit = "cover";
129
- video.play();
130
- // auto play
131
- video.addEventListener("canplay", function (e) {
132
- // //alert ('CAN PLAY');
133
- });
134
- video.addEventListener("canplaythrough", function (e) {
135
- // //alert ('CAN PLAY THROUGH');
136
- });
137
- video.addEventListener("error", (e) => console.log("[Camera.js] <video> error:", e));
138
- video.addEventListener("stalled", function (e) {
139
- // //alert ('CANNOT GET METADATA');
140
- isAllowed = false;
141
- console.log("[Camera.js] <video> stalled:", e);
142
- reject();
143
- });
144
- video.addEventListener("loadedmetadata", function (e) {
145
- if (currentCamera.label.toLowerCase().indexOf("facetime") > -1) {
146
- video.style.transform = "scaleX(-1)";
147
- video.style.webkitTransform = "scaleX(-1)";
148
- }
149
- video.play();
150
- resolve(video);
151
- });
38
+ return new Promise(function(resolve2, reject2) {
39
+ getUserMedia.call(navigator, constraints, resolve2, reject2);
40
+ });
41
+ };
42
+ }
43
+ navigator.mediaDevices.getUserMedia({ audio, video }).then(function(stream) {
44
+ resolve(true);
45
+ }).catch(function(err) {
46
+ console.log(err.name + ": " + err.message);
47
+ resolve(false);
48
+ });
49
+ });
50
+ };
51
+
52
+ // src/device/camera.ts
53
+ function getWebcam(params = { facingMode: "environment", audio: true }) {
54
+ if (typeof window == "undefined")
55
+ return;
56
+ const { container, facingMode = "environment", audio = true } = params;
57
+ const _container = container || document.body;
58
+ return new Promise(async (resolve, reject) => {
59
+ const video = document.createElement("video");
60
+ video.style.position = "absolute";
61
+ video.style.top = "0";
62
+ video.style.left = "0";
63
+ video.style.width = "100%";
64
+ video.style.height = "100%";
65
+ _container.append(video);
66
+ let inputCameras = [];
67
+ let currentCamera;
68
+ const requestedMediaConstraints = {
69
+ video: {
70
+ facingMode: { exact: facingMode }
71
+ },
72
+ audio
73
+ };
74
+ let stream;
75
+ let isAllowed = false;
76
+ console.log("[Camera.js] Requesting:", requestedMediaConstraints);
77
+ const res = await requestCamera({ audio });
78
+ if (!res) {
79
+ setTimeout(function() {
80
+ handleError({ name: "Error", message: "NotSupported" });
81
+ }, 50);
82
+ }
83
+ navigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);
84
+ function parseDevices(devices) {
85
+ inputCameras = [];
86
+ let backCameras = [];
87
+ devices.forEach(function(device) {
88
+ if (device.kind == "videoinput" && typeof device.deviceId != "undefined" && device.deviceId != "") {
89
+ inputCameras.push(device);
152
90
  }
153
- function getStreamOfCameraId(id) {
154
- const constraints = {
155
- video: { deviceId: { exact: id } },
156
- audio: false,
157
- };
158
- return new Promise((resolve, reject) => {
159
- navigator.mediaDevices.getUserMedia(constraints).then(resolve).catch(reject);
160
- });
91
+ });
92
+ console.log("[Camera.js] inputCameras:", inputCameras);
93
+ if (inputCameras.length > 0) {
94
+ let cams = "";
95
+ let backCamera;
96
+ inputCameras.map((cam, index) => {
97
+ cams += `[${cam.deviceId}] ${cam.kind} | ${cam.label}
98
+ `;
99
+ let label = cam.label.toLowerCase();
100
+ if (label.indexOf("back") > -1 || label.indexOf("facetime") > -1) {
101
+ backCamera = cam;
102
+ backCameras.push(backCamera);
103
+ }
104
+ });
105
+ if (backCameras.length > 1) {
106
+ backCamera = backCameras[backCameras.length - 1];
161
107
  }
162
- function handleError(err) {
163
- console.error(err);
164
- const errMsg = "[Camera.js] " + err.name + ": " + err.message;
165
- console.error(errMsg);
166
- isAllowed = false;
167
- reject();
108
+ console.log(`[Camera.js] All input sources:`, cams);
109
+ console.log(`[Camera.js] This device has ${backCameras.length} back camera${backCameras.length > 1 ? "s" : ""}.`);
110
+ console.log("[Camera.js] backCameras:", JSON.stringify(backCameras));
111
+ currentCamera = backCamera;
112
+ getStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch((e) => {
113
+ if (backCameras.length > 1) {
114
+ backCamera = backCameras[backCameras.length - 2];
115
+ getStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);
116
+ } else if (backCameras.length > 2) {
117
+ backCamera = backCameras[backCameras.length - 3];
118
+ getStreamOfCameraId(backCamera.deviceId).then(onStreamReceived).catch(handleError);
119
+ } else {
120
+ handleError(e);
121
+ }
122
+ });
123
+ } else {
124
+ navigator.mediaDevices.getUserMedia(requestedMediaConstraints).then(onStreamReceived).catch(handleError);
125
+ }
126
+ }
127
+ function onStreamReceived(stream2) {
128
+ if (inputCameras.length == 0) {
129
+ console.log("[Camera.js] Not found any back cameras, request again?");
130
+ navigator.mediaDevices.enumerateDevices().then(parseDevices).catch(handleError);
131
+ return;
132
+ }
133
+ isAllowed = true;
134
+ playWebcamVideo(stream2);
135
+ }
136
+ function playWebcamVideo(_stream) {
137
+ stream = _stream;
138
+ if ("srcObject" in video) {
139
+ video.srcObject = _stream;
140
+ } else {
141
+ video.src = window.URL.createObjectURL(_stream);
142
+ }
143
+ video.setAttribute("playsinline", "true");
144
+ video.setAttribute("muted", "true");
145
+ video.setAttribute("autoplay", "true");
146
+ video.muted = true;
147
+ video.autoplay = true;
148
+ video.style.objectFit = "cover";
149
+ video.play();
150
+ video.addEventListener("canplay", function(e) {
151
+ });
152
+ video.addEventListener("canplaythrough", function(e) {
153
+ });
154
+ video.addEventListener("error", (e) => console.log("[Camera.js] <video> error:", e));
155
+ video.addEventListener("stalled", function(e) {
156
+ isAllowed = false;
157
+ console.log("[Camera.js] <video> stalled:", e);
158
+ reject();
159
+ });
160
+ video.addEventListener("loadedmetadata", function(e) {
161
+ if (currentCamera.label.toLowerCase().indexOf("facetime") > -1) {
162
+ video.style.transform = "scaleX(-1)";
163
+ video.style.webkitTransform = "scaleX(-1)";
168
164
  }
169
- });
165
+ video.play();
166
+ resolve(video);
167
+ });
168
+ }
169
+ function getStreamOfCameraId(id) {
170
+ const constraints = {
171
+ video: { deviceId: { exact: id } },
172
+ audio: false
173
+ };
174
+ return new Promise((resolve2, reject2) => {
175
+ navigator.mediaDevices.getUserMedia(constraints).then(resolve2).catch(reject2);
176
+ });
177
+ }
178
+ function handleError(err) {
179
+ console.error(err);
180
+ const errMsg = "[Camera.js] " + err.name + ": " + err.message;
181
+ console.error(errMsg);
182
+ isAllowed = false;
183
+ reject();
184
+ }
185
+ });
170
186
  }
171
- exports.getWebcam = getWebcam;
172
- //# sourceMappingURL=camera.js.map
187
+ // Annotate the CommonJS export names for ESM import in node:
188
+ 0 && (module.exports = {
189
+ getWebcam
190
+ });
@@ -0,0 +1,8 @@
1
+ import {
2
+ getWebcam
3
+ } from "../chunk-AMBWJGSW.mjs";
4
+ import "../chunk-NUTQDHLQ.mjs";
5
+ import "../chunk-ZHNGZMRD.mjs";
6
+ export {
7
+ getWebcam
8
+ };
@@ -1,5 +1 @@
1
- export declare const isIos: () => boolean | null;
2
- export declare const isAndroid: () => boolean | null;
3
- export declare const isTablet: () => boolean | null;
4
- export declare const isMobile: () => boolean | null;
5
- export declare const checkOS: () => any;
1
+ export { e as checkOS, a as isAndroid, i as isIos, c as isMobile, b as isTablet } from '../index-1f738e52.js';