@bitfiber/utils 1.0.2 → 1.0.4

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 (976) hide show
  1. package/LICENSE.txt +1 -1
  2. package/README.md +1 -1
  3. package/dist/cjs/arr/at/at.js +8 -0
  4. package/dist/cjs/arr/at/at.js.map +1 -0
  5. package/dist/cjs/arr/cnd/cnd.js +87 -0
  6. package/dist/cjs/arr/cnd/cnd.js.map +1 -0
  7. package/dist/cjs/arr/diff-arr/diff-arr.js +34 -0
  8. package/dist/cjs/arr/diff-arr/diff-arr.js.map +1 -0
  9. package/dist/cjs/arr/fill/fill.js +8 -0
  10. package/dist/cjs/arr/fill/fill.js.map +1 -0
  11. package/dist/cjs/arr/for-each-arr/for-each-arr.js +22 -0
  12. package/dist/cjs/arr/for-each-arr/for-each-arr.js.map +1 -0
  13. package/dist/cjs/arr/index-by/index-by.js +16 -0
  14. package/dist/cjs/arr/index-by/index-by.js.map +1 -0
  15. package/dist/cjs/arr/index.js +20 -0
  16. package/dist/cjs/arr/index.js.map +1 -0
  17. package/dist/cjs/arr/pluck/pluck.js +12 -0
  18. package/dist/cjs/arr/pluck/pluck.js.map +1 -0
  19. package/dist/cjs/arr/within/within.js +10 -0
  20. package/dist/cjs/arr/within/within.js.map +1 -0
  21. package/dist/cjs/common/copy/copy.js +83 -0
  22. package/dist/cjs/common/copy/copy.js.map +1 -0
  23. package/dist/cjs/common/equals/equals.js +120 -0
  24. package/dist/cjs/common/equals/equals.js.map +1 -0
  25. package/dist/cjs/common/error.js +14 -0
  26. package/dist/cjs/common/error.js.map +1 -0
  27. package/dist/cjs/common/for-each/for-each.js +37 -0
  28. package/dist/cjs/common/for-each/for-each.js.map +1 -0
  29. package/dist/cjs/common/get-unique-num-id/get-unique-num-id.js +9 -0
  30. package/dist/cjs/common/get-unique-num-id/get-unique-num-id.js.map +1 -0
  31. package/dist/cjs/common/get-unique-str-id/get-unique-str-id.js +11 -0
  32. package/dist/cjs/common/get-unique-str-id/get-unique-str-id.js.map +1 -0
  33. package/dist/cjs/common/has-iterator/has-iterator.js +8 -0
  34. package/dist/cjs/common/has-iterator/has-iterator.js.map +1 -0
  35. package/dist/cjs/common/index.js +62 -0
  36. package/dist/cjs/common/index.js.map +1 -0
  37. package/dist/cjs/common/interrupt.js +5 -0
  38. package/dist/cjs/common/interrupt.js.map +1 -0
  39. package/dist/cjs/common/is/is.js +126 -0
  40. package/dist/cjs/common/is/is.js.map +1 -0
  41. package/dist/cjs/common/is-empty/is-empty.js +29 -0
  42. package/dist/cjs/common/is-empty/is-empty.js.map +1 -0
  43. package/dist/cjs/common/random/random.js +9 -0
  44. package/dist/cjs/common/random/random.js.map +1 -0
  45. package/dist/cjs/common/same/same.js +8 -0
  46. package/dist/cjs/common/same/same.js.map +1 -0
  47. package/dist/cjs/common/stub/stub.js +8 -0
  48. package/dist/cjs/common/stub/stub.js.map +1 -0
  49. package/dist/cjs/common/to-float/to-float.js +10 -0
  50. package/dist/cjs/common/to-float/to-float.js.map +1 -0
  51. package/dist/cjs/common/to-int/to-int.js +10 -0
  52. package/dist/cjs/common/to-int/to-int.js.map +1 -0
  53. package/dist/cjs/common/to-sorted-string/to-sorted-string.js +51 -0
  54. package/dist/cjs/common/to-sorted-string/to-sorted-string.js.map +1 -0
  55. package/dist/cjs/common/types.js +3 -0
  56. package/dist/cjs/common/types.js.map +1 -0
  57. package/dist/cjs/dom/closest/closest.js +25 -0
  58. package/dist/cjs/dom/closest/closest.js.map +1 -0
  59. package/dist/cjs/dom/document/document.js +19 -0
  60. package/dist/cjs/dom/document/document.js.map +1 -0
  61. package/dist/cjs/dom/download-file/download-file.js +31 -0
  62. package/dist/cjs/dom/download-file/download-file.js.map +1 -0
  63. package/dist/cjs/dom/for-each-elements/for-each-elements.js +13 -0
  64. package/dist/cjs/dom/for-each-elements/for-each-elements.js.map +1 -0
  65. package/dist/cjs/dom/for-each-nodes/for-each-nodes.js +13 -0
  66. package/dist/cjs/dom/for-each-nodes/for-each-nodes.js.map +1 -0
  67. package/dist/cjs/dom/get-all-styles/get-all-styles.js +10 -0
  68. package/dist/cjs/dom/get-all-styles/get-all-styles.js.map +1 -0
  69. package/dist/cjs/dom/get-body/get-body.js +10 -0
  70. package/dist/cjs/dom/get-body/get-body.js.map +1 -0
  71. package/dist/cjs/dom/get-html/get-html.js +10 -0
  72. package/dist/cjs/dom/get-html/get-html.js.map +1 -0
  73. package/dist/cjs/dom/get-non-static-parent/get-non-static-parent.js +9 -0
  74. package/dist/cjs/dom/get-non-static-parent/get-non-static-parent.js.map +1 -0
  75. package/dist/cjs/dom/get-offset-from-doc/get-offset-from-doc.js +18 -0
  76. package/dist/cjs/dom/get-offset-from-doc/get-offset-from-doc.js.map +1 -0
  77. package/dist/cjs/dom/get-offset-from-parent/get-offset-from-parent.js +42 -0
  78. package/dist/cjs/dom/get-offset-from-parent/get-offset-from-parent.js.map +1 -0
  79. package/dist/cjs/dom/get-offset-from-win/get-offset-from-win.js +8 -0
  80. package/dist/cjs/dom/get-offset-from-win/get-offset-from-win.js.map +1 -0
  81. package/dist/cjs/dom/get-scroll-width/get-scroll-width.js +28 -0
  82. package/dist/cjs/dom/get-scroll-width/get-scroll-width.js.map +1 -0
  83. package/dist/cjs/dom/get-style/get-style.js +22 -0
  84. package/dist/cjs/dom/get-style/get-style.js.map +1 -0
  85. package/dist/cjs/dom/get-styles/get-styles.js +11 -0
  86. package/dist/cjs/dom/get-styles/get-styles.js.map +1 -0
  87. package/dist/cjs/dom/get-valid-style-name/get-valid-style-name.js +40 -0
  88. package/dist/cjs/dom/get-valid-style-name/get-valid-style-name.js.map +1 -0
  89. package/dist/cjs/dom/get-window/get-window.js +18 -0
  90. package/dist/cjs/dom/get-window/get-window.js.map +1 -0
  91. package/dist/cjs/dom/has-name/has-name.js +8 -0
  92. package/dist/cjs/dom/has-name/has-name.js.map +1 -0
  93. package/dist/cjs/dom/index.js +53 -0
  94. package/dist/cjs/dom/index.js.map +1 -0
  95. package/dist/cjs/dom/is-comment/is-comment.js +8 -0
  96. package/dist/cjs/dom/is-comment/is-comment.js.map +1 -0
  97. package/dist/cjs/dom/is-element/is-element.js +8 -0
  98. package/dist/cjs/dom/is-element/is-element.js.map +1 -0
  99. package/dist/cjs/dom/is-text/is-text.js +8 -0
  100. package/dist/cjs/dom/is-text/is-text.js.map +1 -0
  101. package/dist/cjs/dom/set-offset-from-parent/set-offset-from-parent.js +38 -0
  102. package/dist/cjs/dom/set-offset-from-parent/set-offset-from-parent.js.map +1 -0
  103. package/dist/cjs/dom/set-style/set-style.js +11 -0
  104. package/dist/cjs/dom/set-style/set-style.js.map +1 -0
  105. package/dist/cjs/dom/set-styles/set-styles.js +14 -0
  106. package/dist/cjs/dom/set-styles/set-styles.js.map +1 -0
  107. package/dist/cjs/dom/types.js +3 -0
  108. package/dist/cjs/dom/types.js.map +1 -0
  109. package/dist/cjs/env/get-browser/get-browser.js +27 -0
  110. package/dist/cjs/env/get-browser/get-browser.js.map +1 -0
  111. package/dist/cjs/env/get-engine/get-engine.js +19 -0
  112. package/dist/cjs/env/get-engine/get-engine.js.map +1 -0
  113. package/dist/cjs/env/get-os/get-os.js +22 -0
  114. package/dist/cjs/env/get-os/get-os.js.map +1 -0
  115. package/dist/cjs/env/get-platform/get-platform.js +27 -0
  116. package/dist/cjs/env/get-platform/get-platform.js.map +1 -0
  117. package/dist/cjs/env/index.js +45 -0
  118. package/dist/cjs/env/index.js.map +1 -0
  119. package/dist/cjs/env/is-browser/is-browser.js +10 -0
  120. package/dist/cjs/env/is-browser/is-browser.js.map +1 -0
  121. package/dist/cjs/env/is-chrome-like/is-chrome-like.js +10 -0
  122. package/dist/cjs/env/is-chrome-like/is-chrome-like.js.map +1 -0
  123. package/dist/cjs/env/is-desktop/is-desktop.js +10 -0
  124. package/dist/cjs/env/is-desktop/is-desktop.js.map +1 -0
  125. package/dist/cjs/env/is-engine/is-engine.js +10 -0
  126. package/dist/cjs/env/is-engine/is-engine.js.map +1 -0
  127. package/dist/cjs/env/is-firefox-like/is-firefox-like.js +10 -0
  128. package/dist/cjs/env/is-firefox-like/is-firefox-like.js.map +1 -0
  129. package/dist/cjs/env/is-mobile/is-mobile.js +10 -0
  130. package/dist/cjs/env/is-mobile/is-mobile.js.map +1 -0
  131. package/dist/cjs/env/is-os/is-os.js +10 -0
  132. package/dist/cjs/env/is-os/is-os.js.map +1 -0
  133. package/dist/cjs/env/is-portable/is-portable.js +9 -0
  134. package/dist/cjs/env/is-portable/is-portable.js.map +1 -0
  135. package/dist/cjs/env/is-safari-like/is-safari-like.js +10 -0
  136. package/dist/cjs/env/is-safari-like/is-safari-like.js.map +1 -0
  137. package/dist/cjs/env/is-stationary/is-stationary.js +9 -0
  138. package/dist/cjs/env/is-stationary/is-stationary.js.map +1 -0
  139. package/dist/cjs/env/is-tablet/is-tablet.js +10 -0
  140. package/dist/cjs/env/is-tablet/is-tablet.js.map +1 -0
  141. package/dist/cjs/env/is-tv/is-tv.js +10 -0
  142. package/dist/cjs/env/is-tv/is-tv.js.map +1 -0
  143. package/dist/cjs/env/matches/matches.js +24 -0
  144. package/dist/cjs/env/matches/matches.js.map +1 -0
  145. package/dist/cjs/env/matches-with-browsers/matches-with-browsers.js +36 -0
  146. package/dist/cjs/env/matches-with-browsers/matches-with-browsers.js.map +1 -0
  147. package/dist/cjs/env/matches-with-version/matches-with-version.js +40 -0
  148. package/dist/cjs/env/matches-with-version/matches-with-version.js.map +1 -0
  149. package/dist/cjs/env/private/private.js +57 -0
  150. package/dist/cjs/env/private/private.js.map +1 -0
  151. package/dist/cjs/env/types.js +3 -0
  152. package/dist/cjs/env/types.js.map +1 -0
  153. package/dist/cjs/env/user-agent/user-agent.js +25 -0
  154. package/dist/cjs/env/user-agent/user-agent.js.map +1 -0
  155. package/dist/cjs/index.js +11 -0
  156. package/dist/cjs/index.js.map +1 -0
  157. package/dist/cjs/num/in-range/in-range.js +22 -0
  158. package/dist/cjs/num/in-range/in-range.js.map +1 -0
  159. package/dist/cjs/num/index.js +8 -0
  160. package/dist/cjs/num/index.js.map +1 -0
  161. package/dist/cjs/num/round/round.js +9 -0
  162. package/dist/cjs/num/round/round.js.map +1 -0
  163. package/dist/cjs/obj/constant/constant.js +8 -0
  164. package/dist/cjs/obj/constant/constant.js.map +1 -0
  165. package/dist/cjs/obj/deep-constant/deep-constant.js +16 -0
  166. package/dist/cjs/obj/deep-constant/deep-constant.js.map +1 -0
  167. package/dist/cjs/obj/diff-obj/diff-obj.js +46 -0
  168. package/dist/cjs/obj/diff-obj/diff-obj.js.map +1 -0
  169. package/dist/cjs/obj/exclude/exclude.js +16 -0
  170. package/dist/cjs/obj/exclude/exclude.js.map +1 -0
  171. package/dist/cjs/obj/extend/extend.js +41 -0
  172. package/dist/cjs/obj/extend/extend.js.map +1 -0
  173. package/dist/cjs/obj/for-each-obj/for-each-obj.js +14 -0
  174. package/dist/cjs/obj/for-each-obj/for-each-obj.js.map +1 -0
  175. package/dist/cjs/obj/has-own/has-own.js +8 -0
  176. package/dist/cjs/obj/has-own/has-own.js.map +1 -0
  177. package/dist/cjs/obj/include/include.js +16 -0
  178. package/dist/cjs/obj/include/include.js.map +1 -0
  179. package/dist/cjs/obj/index.js +29 -0
  180. package/dist/cjs/obj/index.js.map +1 -0
  181. package/dist/cjs/obj/keys/keys.js +8 -0
  182. package/dist/cjs/obj/keys/keys.js.map +1 -0
  183. package/dist/cjs/obj/map-obj/map-obj.js +11 -0
  184. package/dist/cjs/obj/map-obj/map-obj.js.map +1 -0
  185. package/dist/cjs/obj/map-obj-to-arr/map-obj-to-arr.js +11 -0
  186. package/dist/cjs/obj/map-obj-to-arr/map-obj-to-arr.js.map +1 -0
  187. package/dist/cjs/obj/values/values.js +11 -0
  188. package/dist/cjs/obj/values/values.js.map +1 -0
  189. package/dist/cjs/str/index.js +10 -0
  190. package/dist/cjs/str/index.js.map +1 -0
  191. package/dist/cjs/str/to-camel-case/to-camel-case.js +13 -0
  192. package/dist/cjs/str/to-camel-case/to-camel-case.js.map +1 -0
  193. package/dist/cjs/str/to-hash/to-hash.js +19 -0
  194. package/dist/cjs/str/to-hash/to-hash.js.map +1 -0
  195. package/dist/cjs/str/with-capital/with-capital.js +8 -0
  196. package/dist/cjs/str/with-capital/with-capital.js.map +1 -0
  197. package/dist/esm/arr/at/at.js +4 -0
  198. package/dist/esm/arr/at/at.js.map +1 -0
  199. package/dist/esm/arr/cnd/cnd.js +83 -0
  200. package/dist/esm/arr/cnd/cnd.js.map +1 -0
  201. package/dist/esm/arr/diff-arr/diff-arr.js +30 -0
  202. package/dist/esm/arr/diff-arr/diff-arr.js.map +1 -0
  203. package/dist/esm/arr/fill/fill.js +4 -0
  204. package/dist/esm/arr/fill/fill.js.map +1 -0
  205. package/dist/esm/arr/for-each-arr/for-each-arr.js +18 -0
  206. package/dist/esm/arr/for-each-arr/for-each-arr.js.map +1 -0
  207. package/dist/esm/arr/index-by/index-by.js +12 -0
  208. package/dist/esm/arr/index-by/index-by.js.map +1 -0
  209. package/dist/esm/arr/index.js +9 -0
  210. package/dist/esm/arr/index.js.map +1 -0
  211. package/dist/esm/arr/pluck/pluck.js +8 -0
  212. package/dist/esm/arr/pluck/pluck.js.map +1 -0
  213. package/dist/esm/arr/within/within.js +6 -0
  214. package/dist/esm/arr/within/within.js.map +1 -0
  215. package/dist/esm/common/copy/copy.js +79 -0
  216. package/dist/esm/common/copy/copy.js.map +1 -0
  217. package/dist/esm/common/equals/equals.js +116 -0
  218. package/dist/esm/common/equals/equals.js.map +1 -0
  219. package/dist/esm/common/error.js +10 -0
  220. package/dist/esm/common/error.js.map +1 -0
  221. package/dist/esm/common/for-each/for-each.js +33 -0
  222. package/dist/esm/common/for-each/for-each.js.map +1 -0
  223. package/dist/esm/common/get-unique-num-id/get-unique-num-id.js +5 -0
  224. package/dist/esm/common/get-unique-num-id/get-unique-num-id.js.map +1 -0
  225. package/dist/esm/common/get-unique-str-id/get-unique-str-id.js +7 -0
  226. package/dist/esm/common/get-unique-str-id/get-unique-str-id.js.map +1 -0
  227. package/dist/esm/common/has-iterator/has-iterator.js +4 -0
  228. package/dist/esm/common/has-iterator/has-iterator.js.map +1 -0
  229. package/dist/esm/common/index.js +17 -0
  230. package/dist/esm/common/index.js.map +1 -0
  231. package/dist/esm/common/interrupt.js +2 -0
  232. package/dist/esm/common/interrupt.js.map +1 -0
  233. package/dist/esm/common/is/is.js +96 -0
  234. package/dist/esm/common/is/is.js.map +1 -0
  235. package/dist/esm/common/is-empty/is-empty.js +25 -0
  236. package/dist/esm/common/is-empty/is-empty.js.map +1 -0
  237. package/dist/esm/common/random/random.js +5 -0
  238. package/dist/esm/common/random/random.js.map +1 -0
  239. package/dist/esm/common/same/same.js +4 -0
  240. package/dist/esm/common/same/same.js.map +1 -0
  241. package/dist/esm/common/stub/stub.js +4 -0
  242. package/dist/esm/common/stub/stub.js.map +1 -0
  243. package/dist/esm/common/to-float/to-float.js +6 -0
  244. package/dist/esm/common/to-float/to-float.js.map +1 -0
  245. package/dist/esm/common/to-int/to-int.js +6 -0
  246. package/dist/esm/common/to-int/to-int.js.map +1 -0
  247. package/dist/esm/common/to-sorted-string/to-sorted-string.js +47 -0
  248. package/dist/esm/common/to-sorted-string/to-sorted-string.js.map +1 -0
  249. package/dist/esm/common/types.js.map +1 -0
  250. package/dist/esm/dom/closest/closest.js +21 -0
  251. package/dist/esm/dom/closest/closest.js.map +1 -0
  252. package/dist/esm/dom/document/document.js +14 -0
  253. package/dist/esm/dom/document/document.js.map +1 -0
  254. package/dist/esm/dom/download-file/download-file.js +27 -0
  255. package/dist/esm/dom/download-file/download-file.js.map +1 -0
  256. package/dist/esm/dom/for-each-elements/for-each-elements.js +9 -0
  257. package/dist/esm/dom/for-each-elements/for-each-elements.js.map +1 -0
  258. package/dist/esm/dom/for-each-nodes/for-each-nodes.js +9 -0
  259. package/dist/esm/dom/for-each-nodes/for-each-nodes.js.map +1 -0
  260. package/dist/esm/dom/get-all-styles/get-all-styles.js +6 -0
  261. package/dist/esm/dom/get-all-styles/get-all-styles.js.map +1 -0
  262. package/dist/esm/dom/get-body/get-body.js +6 -0
  263. package/dist/esm/dom/get-body/get-body.js.map +1 -0
  264. package/dist/esm/dom/get-html/get-html.js +6 -0
  265. package/dist/esm/dom/get-html/get-html.js.map +1 -0
  266. package/dist/esm/dom/get-non-static-parent/get-non-static-parent.js +5 -0
  267. package/dist/esm/dom/get-non-static-parent/get-non-static-parent.js.map +1 -0
  268. package/dist/esm/dom/get-offset-from-doc/get-offset-from-doc.js +14 -0
  269. package/dist/esm/dom/get-offset-from-doc/get-offset-from-doc.js.map +1 -0
  270. package/dist/esm/dom/get-offset-from-parent/get-offset-from-parent.js +38 -0
  271. package/dist/esm/dom/get-offset-from-parent/get-offset-from-parent.js.map +1 -0
  272. package/dist/esm/dom/get-offset-from-win/get-offset-from-win.js +4 -0
  273. package/dist/esm/dom/get-offset-from-win/get-offset-from-win.js.map +1 -0
  274. package/dist/esm/dom/get-scroll-width/get-scroll-width.js +24 -0
  275. package/dist/esm/dom/get-scroll-width/get-scroll-width.js.map +1 -0
  276. package/dist/esm/dom/get-style/get-style.js +18 -0
  277. package/dist/esm/dom/get-style/get-style.js.map +1 -0
  278. package/dist/esm/dom/get-styles/get-styles.js +7 -0
  279. package/dist/esm/dom/get-styles/get-styles.js.map +1 -0
  280. package/dist/esm/dom/get-valid-style-name/get-valid-style-name.js +36 -0
  281. package/dist/esm/dom/get-valid-style-name/get-valid-style-name.js.map +1 -0
  282. package/dist/esm/dom/get-window/get-window.js +14 -0
  283. package/dist/esm/dom/get-window/get-window.js.map +1 -0
  284. package/dist/esm/dom/has-name/has-name.js +4 -0
  285. package/dist/esm/dom/has-name/has-name.js.map +1 -0
  286. package/dist/esm/dom/index.js +25 -0
  287. package/dist/esm/dom/index.js.map +1 -0
  288. package/dist/esm/dom/is-comment/is-comment.js +4 -0
  289. package/dist/esm/dom/is-comment/is-comment.js.map +1 -0
  290. package/dist/esm/dom/is-element/is-element.js +4 -0
  291. package/dist/esm/dom/is-element/is-element.js.map +1 -0
  292. package/dist/esm/dom/is-text/is-text.js +4 -0
  293. package/dist/esm/dom/is-text/is-text.js.map +1 -0
  294. package/dist/esm/dom/set-offset-from-parent/set-offset-from-parent.js +34 -0
  295. package/dist/esm/dom/set-offset-from-parent/set-offset-from-parent.js.map +1 -0
  296. package/dist/esm/dom/set-style/set-style.js +7 -0
  297. package/dist/esm/dom/set-style/set-style.js.map +1 -0
  298. package/dist/esm/dom/set-styles/set-styles.js +10 -0
  299. package/dist/esm/dom/set-styles/set-styles.js.map +1 -0
  300. package/dist/esm/dom/types.js.map +1 -0
  301. package/dist/esm/env/get-browser/get-browser.js +22 -0
  302. package/dist/esm/env/get-browser/get-browser.js.map +1 -0
  303. package/dist/esm/env/get-engine/get-engine.js +14 -0
  304. package/dist/esm/env/get-engine/get-engine.js.map +1 -0
  305. package/dist/esm/env/get-os/get-os.js +17 -0
  306. package/dist/esm/env/get-os/get-os.js.map +1 -0
  307. package/dist/esm/env/get-platform/get-platform.js +22 -0
  308. package/dist/esm/env/get-platform/get-platform.js.map +1 -0
  309. package/dist/esm/env/index.js +21 -0
  310. package/dist/esm/env/index.js.map +1 -0
  311. package/dist/esm/env/is-browser/is-browser.js +6 -0
  312. package/dist/esm/env/is-browser/is-browser.js.map +1 -0
  313. package/dist/esm/env/is-chrome-like/is-chrome-like.js +6 -0
  314. package/dist/esm/env/is-chrome-like/is-chrome-like.js.map +1 -0
  315. package/dist/esm/env/is-desktop/is-desktop.js +6 -0
  316. package/dist/esm/env/is-desktop/is-desktop.js.map +1 -0
  317. package/dist/esm/env/is-engine/is-engine.js +6 -0
  318. package/dist/esm/env/is-engine/is-engine.js.map +1 -0
  319. package/dist/esm/env/is-firefox-like/is-firefox-like.js +6 -0
  320. package/dist/esm/env/is-firefox-like/is-firefox-like.js.map +1 -0
  321. package/dist/esm/env/is-mobile/is-mobile.js +6 -0
  322. package/dist/esm/env/is-mobile/is-mobile.js.map +1 -0
  323. package/dist/esm/env/is-os/is-os.js +6 -0
  324. package/dist/esm/env/is-os/is-os.js.map +1 -0
  325. package/dist/esm/env/is-portable/is-portable.js +5 -0
  326. package/dist/esm/env/is-portable/is-portable.js.map +1 -0
  327. package/dist/esm/env/is-safari-like/is-safari-like.js +6 -0
  328. package/dist/esm/env/is-safari-like/is-safari-like.js.map +1 -0
  329. package/dist/esm/env/is-stationary/is-stationary.js +5 -0
  330. package/dist/esm/env/is-stationary/is-stationary.js.map +1 -0
  331. package/dist/esm/env/is-tablet/is-tablet.js +6 -0
  332. package/dist/esm/env/is-tablet/is-tablet.js.map +1 -0
  333. package/dist/esm/env/is-tv/is-tv.js +6 -0
  334. package/dist/esm/env/is-tv/is-tv.js.map +1 -0
  335. package/dist/esm/env/matches/matches.js +20 -0
  336. package/dist/esm/env/matches/matches.js.map +1 -0
  337. package/dist/esm/env/matches-with-browsers/matches-with-browsers.js +32 -0
  338. package/dist/esm/env/matches-with-browsers/matches-with-browsers.js.map +1 -0
  339. package/dist/esm/env/matches-with-version/matches-with-version.js +36 -0
  340. package/dist/esm/env/matches-with-version/matches-with-version.js.map +1 -0
  341. package/dist/esm/env/private/private.js +51 -0
  342. package/dist/esm/env/private/private.js.map +1 -0
  343. package/dist/esm/env/types.js.map +1 -0
  344. package/dist/esm/env/user-agent/user-agent.js +20 -0
  345. package/dist/esm/env/user-agent/user-agent.js.map +1 -0
  346. package/dist/esm/index.js +8 -0
  347. package/dist/esm/index.js.map +1 -0
  348. package/dist/esm/num/in-range/in-range.js +18 -0
  349. package/dist/esm/num/in-range/in-range.js.map +1 -0
  350. package/dist/esm/num/index.js +3 -0
  351. package/dist/esm/num/index.js.map +1 -0
  352. package/dist/esm/num/round/round.js +5 -0
  353. package/dist/esm/num/round/round.js.map +1 -0
  354. package/dist/esm/obj/constant/constant.js +4 -0
  355. package/dist/esm/obj/constant/constant.js.map +1 -0
  356. package/dist/esm/obj/deep-constant/deep-constant.js +12 -0
  357. package/dist/esm/obj/deep-constant/deep-constant.js.map +1 -0
  358. package/dist/esm/obj/diff-obj/diff-obj.js +42 -0
  359. package/dist/esm/obj/diff-obj/diff-obj.js.map +1 -0
  360. package/dist/esm/obj/exclude/exclude.js +12 -0
  361. package/dist/esm/obj/exclude/exclude.js.map +1 -0
  362. package/dist/esm/obj/extend/extend.js +36 -0
  363. package/dist/esm/obj/extend/extend.js.map +1 -0
  364. package/dist/esm/obj/for-each-obj/for-each-obj.js +10 -0
  365. package/dist/esm/obj/for-each-obj/for-each-obj.js.map +1 -0
  366. package/dist/esm/obj/has-own/has-own.js +4 -0
  367. package/dist/esm/obj/has-own/has-own.js.map +1 -0
  368. package/dist/esm/obj/include/include.js +12 -0
  369. package/dist/esm/obj/include/include.js.map +1 -0
  370. package/dist/esm/obj/index.js +13 -0
  371. package/dist/esm/obj/index.js.map +1 -0
  372. package/dist/esm/obj/keys/keys.js +4 -0
  373. package/dist/esm/obj/keys/keys.js.map +1 -0
  374. package/dist/esm/obj/map-obj/map-obj.js +7 -0
  375. package/dist/esm/obj/map-obj/map-obj.js.map +1 -0
  376. package/dist/esm/obj/map-obj-to-arr/map-obj-to-arr.js +7 -0
  377. package/dist/esm/obj/map-obj-to-arr/map-obj-to-arr.js.map +1 -0
  378. package/dist/esm/obj/values/values.js +7 -0
  379. package/dist/esm/obj/values/values.js.map +1 -0
  380. package/dist/esm/str/index.js +4 -0
  381. package/dist/esm/str/index.js.map +1 -0
  382. package/dist/esm/str/to-camel-case/to-camel-case.js +9 -0
  383. package/dist/esm/str/to-camel-case/to-camel-case.js.map +1 -0
  384. package/dist/esm/str/to-hash/to-hash.js +15 -0
  385. package/dist/esm/str/to-hash/to-hash.js.map +1 -0
  386. package/dist/esm/str/with-capital/with-capital.js +4 -0
  387. package/dist/esm/str/with-capital/with-capital.js.map +1 -0
  388. package/dist/types/arr/at/at.d.ts +8 -0
  389. package/dist/types/arr/at/at.d.ts.map +1 -0
  390. package/dist/types/arr/cnd/cnd.d.ts +118 -0
  391. package/dist/types/arr/cnd/cnd.d.ts.map +1 -0
  392. package/dist/types/arr/diff-arr/diff-arr.d.ts +31 -0
  393. package/dist/types/arr/diff-arr/diff-arr.d.ts.map +1 -0
  394. package/dist/types/arr/fill/fill.d.ts +9 -0
  395. package/dist/types/arr/fill/fill.d.ts.map +1 -0
  396. package/dist/types/arr/for-each-arr/for-each-arr.d.ts +10 -0
  397. package/dist/types/arr/for-each-arr/for-each-arr.d.ts.map +1 -0
  398. package/dist/types/arr/index-by/index-by.d.ts +10 -0
  399. package/dist/types/arr/index-by/index-by.d.ts.map +1 -0
  400. package/dist/types/arr/index.d.ts +9 -0
  401. package/dist/types/arr/index.d.ts.map +1 -0
  402. package/dist/types/arr/pluck/pluck.d.ts +8 -0
  403. package/dist/types/arr/pluck/pluck.d.ts.map +1 -0
  404. package/dist/types/arr/within/within.d.ts +10 -0
  405. package/dist/types/arr/within/within.d.ts.map +1 -0
  406. package/dist/types/common/copy/copy.d.ts +7 -0
  407. package/dist/types/common/copy/copy.d.ts.map +1 -0
  408. package/dist/types/common/equals/equals.d.ts +13 -0
  409. package/dist/types/common/equals/equals.d.ts.map +1 -0
  410. package/dist/types/common/error.d.ts +26 -0
  411. package/dist/types/common/error.d.ts.map +1 -0
  412. package/dist/types/common/for-each/for-each.d.ts +10 -0
  413. package/dist/types/common/for-each/for-each.d.ts.map +1 -0
  414. package/dist/types/common/get-unique-num-id/get-unique-num-id.d.ts +5 -0
  415. package/dist/types/common/get-unique-num-id/get-unique-num-id.d.ts.map +1 -0
  416. package/dist/types/common/get-unique-str-id/get-unique-str-id.d.ts +5 -0
  417. package/dist/types/common/get-unique-str-id/get-unique-str-id.d.ts.map +1 -0
  418. package/dist/types/common/has-iterator/has-iterator.d.ts +6 -0
  419. package/dist/types/common/has-iterator/has-iterator.d.ts.map +1 -0
  420. package/dist/types/common/index.d.ts +18 -0
  421. package/dist/types/common/index.d.ts.map +1 -0
  422. package/dist/types/common/interrupt.d.ts +5 -0
  423. package/dist/types/common/interrupt.d.ts.map +1 -0
  424. package/dist/types/common/is/is.d.ts +137 -0
  425. package/dist/types/common/is/is.d.ts.map +1 -0
  426. package/dist/types/common/is-empty/is-empty.d.ts +7 -0
  427. package/dist/types/common/is-empty/is-empty.d.ts.map +1 -0
  428. package/dist/types/common/random/random.d.ts +6 -0
  429. package/dist/types/common/random/random.d.ts.map +1 -0
  430. package/dist/types/common/same/same.d.ts +7 -0
  431. package/dist/types/common/same/same.d.ts.map +1 -0
  432. package/dist/types/common/stub/stub.d.ts +5 -0
  433. package/dist/types/common/stub/stub.d.ts.map +1 -0
  434. package/dist/types/common/to-float/to-float.d.ts +7 -0
  435. package/dist/types/common/to-float/to-float.d.ts.map +1 -0
  436. package/dist/types/common/to-int/to-int.d.ts +7 -0
  437. package/dist/types/common/to-int/to-int.d.ts.map +1 -0
  438. package/dist/types/common/to-sorted-string/to-sorted-string.d.ts +8 -0
  439. package/dist/types/common/to-sorted-string/to-sorted-string.d.ts.map +1 -0
  440. package/dist/types/common/types.d.ts +53 -0
  441. package/dist/types/common/types.d.ts.map +1 -0
  442. package/dist/types/dom/closest/closest.d.ts +7 -0
  443. package/dist/types/dom/closest/closest.d.ts.map +1 -0
  444. package/dist/types/dom/document/document.d.ts +13 -0
  445. package/dist/types/dom/document/document.d.ts.map +1 -0
  446. package/dist/types/dom/download-file/download-file.d.ts +7 -0
  447. package/dist/types/dom/download-file/download-file.d.ts.map +1 -0
  448. package/dist/types/dom/for-each-elements/for-each-elements.d.ts +9 -0
  449. package/dist/types/dom/for-each-elements/for-each-elements.d.ts.map +1 -0
  450. package/dist/types/dom/for-each-nodes/for-each-nodes.d.ts +8 -0
  451. package/dist/types/dom/for-each-nodes/for-each-nodes.d.ts.map +1 -0
  452. package/dist/types/dom/get-all-styles/get-all-styles.d.ts +6 -0
  453. package/dist/types/dom/get-all-styles/get-all-styles.d.ts.map +1 -0
  454. package/dist/types/dom/get-body/get-body.d.ts +5 -0
  455. package/dist/types/dom/get-body/get-body.d.ts.map +1 -0
  456. package/dist/types/dom/get-html/get-html.d.ts +5 -0
  457. package/dist/types/dom/get-html/get-html.d.ts.map +1 -0
  458. package/dist/types/dom/get-non-static-parent/get-non-static-parent.d.ts +6 -0
  459. package/dist/types/dom/get-non-static-parent/get-non-static-parent.d.ts.map +1 -0
  460. package/dist/types/dom/get-offset-from-doc/get-offset-from-doc.d.ts +7 -0
  461. package/dist/types/dom/get-offset-from-doc/get-offset-from-doc.d.ts.map +1 -0
  462. package/dist/types/dom/get-offset-from-parent/get-offset-from-parent.d.ts +8 -0
  463. package/dist/types/dom/get-offset-from-parent/get-offset-from-parent.d.ts.map +1 -0
  464. package/dist/types/dom/get-offset-from-win/get-offset-from-win.d.ts +7 -0
  465. package/dist/types/dom/get-offset-from-win/get-offset-from-win.d.ts.map +1 -0
  466. package/dist/types/dom/get-scroll-width/get-scroll-width.d.ts +9 -0
  467. package/dist/types/dom/get-scroll-width/get-scroll-width.d.ts.map +1 -0
  468. package/dist/types/dom/get-style/get-style.d.ts +7 -0
  469. package/dist/types/dom/get-style/get-style.d.ts.map +1 -0
  470. package/dist/types/dom/get-styles/get-styles.d.ts +10 -0
  471. package/dist/types/dom/get-styles/get-styles.d.ts.map +1 -0
  472. package/dist/types/dom/get-valid-style-name/get-valid-style-name.d.ts +7 -0
  473. package/dist/types/dom/get-valid-style-name/get-valid-style-name.d.ts.map +1 -0
  474. package/dist/types/dom/get-window/get-window.d.ts +5 -0
  475. package/dist/types/dom/get-window/get-window.d.ts.map +1 -0
  476. package/dist/types/dom/has-name/has-name.d.ts +7 -0
  477. package/dist/types/dom/has-name/has-name.d.ts.map +1 -0
  478. package/dist/types/dom/index.d.ts +26 -0
  479. package/dist/types/dom/index.d.ts.map +1 -0
  480. package/dist/types/dom/is-comment/is-comment.d.ts +6 -0
  481. package/dist/types/dom/is-comment/is-comment.d.ts.map +1 -0
  482. package/dist/types/dom/is-element/is-element.d.ts +6 -0
  483. package/dist/types/dom/is-element/is-element.d.ts.map +1 -0
  484. package/dist/types/dom/is-text/is-text.d.ts +6 -0
  485. package/dist/types/dom/is-text/is-text.d.ts.map +1 -0
  486. package/dist/types/dom/set-offset-from-parent/set-offset-from-parent.d.ts +9 -0
  487. package/dist/types/dom/set-offset-from-parent/set-offset-from-parent.d.ts.map +1 -0
  488. package/dist/types/dom/set-style/set-style.d.ts +9 -0
  489. package/dist/types/dom/set-style/set-style.d.ts.map +1 -0
  490. package/dist/types/dom/set-styles/set-styles.d.ts +9 -0
  491. package/dist/types/dom/set-styles/set-styles.d.ts.map +1 -0
  492. package/dist/types/dom/types.d.ts +20 -0
  493. package/dist/types/dom/types.d.ts.map +1 -0
  494. package/dist/types/env/get-browser/get-browser.d.ts +11 -0
  495. package/dist/types/env/get-browser/get-browser.d.ts.map +1 -0
  496. package/dist/types/env/get-engine/get-engine.d.ts +8 -0
  497. package/dist/types/env/get-engine/get-engine.d.ts.map +1 -0
  498. package/dist/types/env/get-os/get-os.d.ts +9 -0
  499. package/dist/types/env/get-os/get-os.d.ts.map +1 -0
  500. package/dist/types/env/get-platform/get-platform.d.ts +8 -0
  501. package/dist/types/env/get-platform/get-platform.d.ts.map +1 -0
  502. package/dist/types/env/index.d.ts +22 -0
  503. package/dist/types/env/index.d.ts.map +1 -0
  504. package/dist/types/env/is-browser/is-browser.d.ts +12 -0
  505. package/dist/types/env/is-browser/is-browser.d.ts.map +1 -0
  506. package/dist/types/env/is-chrome-like/is-chrome-like.d.ts +5 -0
  507. package/dist/types/env/is-chrome-like/is-chrome-like.d.ts.map +1 -0
  508. package/dist/types/env/is-desktop/is-desktop.d.ts +5 -0
  509. package/dist/types/env/is-desktop/is-desktop.d.ts.map +1 -0
  510. package/dist/types/env/is-engine/is-engine.d.ts +9 -0
  511. package/dist/types/env/is-engine/is-engine.d.ts.map +1 -0
  512. package/dist/types/env/is-firefox-like/is-firefox-like.d.ts +5 -0
  513. package/dist/types/env/is-firefox-like/is-firefox-like.d.ts.map +1 -0
  514. package/dist/types/env/is-mobile/is-mobile.d.ts +5 -0
  515. package/dist/types/env/is-mobile/is-mobile.d.ts.map +1 -0
  516. package/dist/types/env/is-os/is-os.d.ts +10 -0
  517. package/dist/types/env/is-os/is-os.d.ts.map +1 -0
  518. package/dist/types/env/is-portable/is-portable.d.ts +5 -0
  519. package/dist/types/env/is-portable/is-portable.d.ts.map +1 -0
  520. package/dist/types/env/is-safari-like/is-safari-like.d.ts +5 -0
  521. package/dist/types/env/is-safari-like/is-safari-like.d.ts.map +1 -0
  522. package/dist/types/env/is-stationary/is-stationary.d.ts +5 -0
  523. package/dist/types/env/is-stationary/is-stationary.d.ts.map +1 -0
  524. package/dist/types/env/is-tablet/is-tablet.d.ts +5 -0
  525. package/dist/types/env/is-tablet/is-tablet.d.ts.map +1 -0
  526. package/dist/types/env/is-tv/is-tv.d.ts +5 -0
  527. package/dist/types/env/is-tv/is-tv.d.ts.map +1 -0
  528. package/dist/types/env/matches/matches.d.ts +35 -0
  529. package/dist/types/env/matches/matches.d.ts.map +1 -0
  530. package/dist/types/env/matches-with-browsers/matches-with-browsers.d.ts +24 -0
  531. package/dist/types/env/matches-with-browsers/matches-with-browsers.d.ts.map +1 -0
  532. package/dist/types/env/matches-with-version/matches-with-version.d.ts +7 -0
  533. package/dist/types/env/matches-with-version/matches-with-version.d.ts.map +1 -0
  534. package/dist/types/env/private/private.d.ts +5 -0
  535. package/dist/types/env/private/private.d.ts.map +1 -0
  536. package/dist/types/env/types.d.ts +107 -0
  537. package/dist/types/env/types.d.ts.map +1 -0
  538. package/dist/types/env/user-agent/user-agent.d.ts +10 -0
  539. package/dist/types/env/user-agent/user-agent.d.ts.map +1 -0
  540. package/dist/types/index.d.ts +8 -0
  541. package/dist/types/index.d.ts.map +1 -0
  542. package/dist/types/num/in-range/in-range.d.ts +32 -0
  543. package/dist/types/num/in-range/in-range.d.ts.map +1 -0
  544. package/dist/types/num/index.d.ts +3 -0
  545. package/dist/types/num/index.d.ts.map +1 -0
  546. package/dist/types/num/round/round.d.ts +8 -0
  547. package/dist/types/num/round/round.d.ts.map +1 -0
  548. package/dist/types/obj/constant/constant.d.ts +7 -0
  549. package/dist/types/obj/constant/constant.d.ts.map +1 -0
  550. package/dist/types/obj/deep-constant/deep-constant.d.ts +7 -0
  551. package/dist/types/obj/deep-constant/deep-constant.d.ts.map +1 -0
  552. package/dist/types/obj/diff-obj/diff-obj.d.ts +38 -0
  553. package/dist/types/obj/diff-obj/diff-obj.d.ts.map +1 -0
  554. package/dist/types/obj/exclude/exclude.d.ts +8 -0
  555. package/dist/types/obj/exclude/exclude.d.ts.map +1 -0
  556. package/dist/types/obj/extend/extend.d.ts +17 -0
  557. package/dist/types/obj/extend/extend.d.ts.map +1 -0
  558. package/dist/types/obj/for-each-obj/for-each-obj.d.ts +9 -0
  559. package/dist/types/obj/for-each-obj/for-each-obj.d.ts.map +1 -0
  560. package/dist/types/obj/has-own/has-own.d.ts +9 -0
  561. package/dist/types/obj/has-own/has-own.d.ts.map +1 -0
  562. package/dist/types/obj/include/include.d.ts +8 -0
  563. package/dist/types/obj/include/include.d.ts.map +1 -0
  564. package/dist/types/obj/index.d.ts +13 -0
  565. package/dist/types/obj/index.d.ts.map +1 -0
  566. package/dist/types/obj/keys/keys.d.ts +7 -0
  567. package/dist/types/obj/keys/keys.d.ts.map +1 -0
  568. package/dist/types/obj/map-obj/map-obj.d.ts +8 -0
  569. package/dist/types/obj/map-obj/map-obj.d.ts.map +1 -0
  570. package/dist/types/obj/map-obj-to-arr/map-obj-to-arr.d.ts +8 -0
  571. package/dist/types/obj/map-obj-to-arr/map-obj-to-arr.d.ts.map +1 -0
  572. package/dist/types/obj/values/values.d.ts +7 -0
  573. package/dist/types/obj/values/values.d.ts.map +1 -0
  574. package/dist/types/str/index.d.ts +4 -0
  575. package/dist/types/str/index.d.ts.map +1 -0
  576. package/dist/types/str/to-camel-case/to-camel-case.d.ts +11 -0
  577. package/dist/types/str/to-camel-case/to-camel-case.d.ts.map +1 -0
  578. package/dist/types/str/to-hash/to-hash.d.ts +8 -0
  579. package/dist/types/str/to-hash/to-hash.d.ts.map +1 -0
  580. package/dist/types/str/with-capital/with-capital.d.ts +7 -0
  581. package/dist/types/str/with-capital/with-capital.d.ts.map +1 -0
  582. package/package.json +92 -73
  583. package/src/arr/at/at.ts +10 -0
  584. package/src/arr/cnd/cnd.ts +188 -0
  585. package/src/arr/diff-arr/diff-arr.ts +66 -0
  586. package/src/arr/fill/fill.ts +10 -0
  587. package/src/arr/for-each-arr/for-each-arr.ts +25 -0
  588. package/src/arr/index-by/index-by.ts +19 -0
  589. package/src/arr/index.ts +11 -0
  590. package/src/arr/pluck/pluck.ts +14 -0
  591. package/src/arr/within/within.ts +14 -0
  592. package/src/common/copy/copy.ts +89 -0
  593. package/src/common/equals/equals.ts +142 -0
  594. package/src/common/error.ts +34 -0
  595. package/src/common/for-each/for-each.ts +36 -0
  596. package/src/common/get-unique-num-id/get-unique-num-id.ts +8 -0
  597. package/src/common/get-unique-str-id/get-unique-str-id.ts +18 -0
  598. package/src/common/has-iterator/has-iterator.ts +7 -0
  599. package/src/common/index.ts +23 -0
  600. package/src/common/interrupt.ts +4 -0
  601. package/src/common/is/is.ts +244 -0
  602. package/src/common/is-empty/is-empty.ts +26 -0
  603. package/src/common/random/random.ts +8 -0
  604. package/src/common/same/same.ts +8 -0
  605. package/src/common/stub/stub.ts +7 -0
  606. package/src/common/to-float/to-float.ts +10 -0
  607. package/src/common/to-int/to-int.ts +10 -0
  608. package/src/common/to-sorted-string/to-sorted-string.ts +58 -0
  609. package/src/common/types.ts +66 -0
  610. package/src/dom/closest/closest.ts +24 -0
  611. package/src/dom/document/document.ts +25 -0
  612. package/src/dom/download-file/download-file.ts +31 -0
  613. package/src/dom/for-each-elements/for-each-elements.ts +17 -0
  614. package/src/dom/for-each-nodes/for-each-nodes.ts +15 -0
  615. package/src/dom/get-all-styles/get-all-styles.ts +10 -0
  616. package/src/dom/get-body/get-body.ts +9 -0
  617. package/src/dom/get-html/get-html.ts +9 -0
  618. package/src/dom/get-non-static-parent/get-non-static-parent.ts +9 -0
  619. package/src/dom/get-offset-from-doc/get-offset-from-doc.ts +18 -0
  620. package/src/dom/get-offset-from-parent/get-offset-from-parent.ts +48 -0
  621. package/src/dom/get-offset-from-win/get-offset-from-win.ts +9 -0
  622. package/src/dom/get-scroll-width/get-scroll-width.ts +33 -0
  623. package/src/dom/get-style/get-style.ts +25 -0
  624. package/src/dom/get-styles/get-styles.ts +14 -0
  625. package/src/dom/get-valid-style-name/get-valid-style-name.ts +45 -0
  626. package/src/dom/get-window/get-window.ts +17 -0
  627. package/src/dom/has-name/has-name.ts +8 -0
  628. package/src/dom/index.ts +25 -0
  629. package/src/dom/is-comment/is-comment.ts +7 -0
  630. package/src/dom/is-element/is-element.ts +7 -0
  631. package/src/dom/is-text/is-text.ts +7 -0
  632. package/src/dom/set-offset-from-parent/set-offset-from-parent.ts +46 -0
  633. package/src/dom/set-style/set-style.ts +14 -0
  634. package/src/dom/set-styles/set-styles.ts +17 -0
  635. package/src/dom/types.ts +20 -0
  636. package/src/env/get-browser/get-browser.ts +38 -0
  637. package/src/env/get-engine/get-engine.ts +27 -0
  638. package/src/env/get-os/get-os.ts +31 -0
  639. package/src/env/get-platform/get-platform.ts +34 -0
  640. package/src/env/index.ts +24 -0
  641. package/src/env/is-browser/is-browser.ts +15 -0
  642. package/src/env/is-chrome-like/is-chrome-like.ts +9 -0
  643. package/src/env/is-desktop/is-desktop.ts +9 -0
  644. package/src/env/is-engine/is-engine.ts +12 -0
  645. package/src/env/is-firefox-like/is-firefox-like.ts +9 -0
  646. package/src/env/is-mobile/is-mobile.ts +9 -0
  647. package/src/env/is-os/is-os.ts +13 -0
  648. package/src/env/is-portable/is-portable.ts +8 -0
  649. package/src/env/is-safari-like/is-safari-like.ts +9 -0
  650. package/src/env/is-stationary/is-stationary.ts +8 -0
  651. package/src/env/is-tablet/is-tablet.ts +9 -0
  652. package/src/env/is-tv/is-tv.ts +9 -0
  653. package/src/env/matches/matches.ts +55 -0
  654. package/src/env/matches-with-browsers/matches-with-browsers.ts +55 -0
  655. package/src/env/matches-with-version/matches-with-version.ts +44 -0
  656. package/src/env/private/private.ts +82 -0
  657. package/src/env/types.ts +146 -0
  658. package/src/env/user-agent/user-agent.ts +29 -0
  659. package/src/index.ts +7 -0
  660. package/src/num/in-range/in-range.ts +54 -0
  661. package/src/num/index.ts +2 -0
  662. package/src/num/round/round.ts +10 -0
  663. package/src/obj/constant/constant.ts +9 -0
  664. package/src/obj/deep-constant/deep-constant.ts +20 -0
  665. package/src/obj/diff-obj/diff-obj.ts +87 -0
  666. package/src/obj/exclude/exclude.ts +18 -0
  667. package/src/obj/extend/extend.ts +54 -0
  668. package/src/obj/for-each-obj/for-each-obj.ts +17 -0
  669. package/src/obj/has-own/has-own.ts +12 -0
  670. package/src/obj/include/include.ts +17 -0
  671. package/src/obj/index.ts +12 -0
  672. package/src/obj/keys/keys.ts +9 -0
  673. package/src/obj/map-obj/map-obj.ts +14 -0
  674. package/src/obj/map-obj-to-arr/map-obj-to-arr.ts +14 -0
  675. package/src/obj/values/values.ts +12 -0
  676. package/src/str/index.ts +3 -0
  677. package/src/str/to-camel-case/to-camel-case.ts +17 -0
  678. package/src/str/to-hash/to-hash.ts +21 -0
  679. package/src/str/with-capital/with-capital.ts +8 -0
  680. package/arr/at/at.d.ts +0 -7
  681. package/arr/at/at.js +0 -11
  682. package/arr/at/at.js.map +0 -1
  683. package/arr/cnd/cnd.d.ts +0 -55
  684. package/arr/cnd/cnd.js +0 -136
  685. package/arr/cnd/cnd.js.map +0 -1
  686. package/arr/diff-arr/diff-arr.d.ts +0 -10
  687. package/arr/diff-arr/diff-arr.js +0 -37
  688. package/arr/diff-arr/diff-arr.js.map +0 -1
  689. package/arr/fill/fill.d.ts +0 -8
  690. package/arr/fill/fill.js +0 -11
  691. package/arr/fill/fill.js.map +0 -1
  692. package/arr/for-each-arr/for-each-arr.d.ts +0 -9
  693. package/arr/for-each-arr/for-each-arr.js +0 -25
  694. package/arr/for-each-arr/for-each-arr.js.map +0 -1
  695. package/arr/index-by/index-by.d.ts +0 -9
  696. package/arr/index-by/index-by.js +0 -19
  697. package/arr/index-by/index-by.js.map +0 -1
  698. package/arr/index.d.ts +0 -9
  699. package/arr/index.js +0 -10
  700. package/arr/index.js.map +0 -1
  701. package/arr/pluck/pluck.d.ts +0 -7
  702. package/arr/pluck/pluck.js +0 -13
  703. package/arr/pluck/pluck.js.map +0 -1
  704. package/arr/types.d.ts +0 -84
  705. package/arr/types.js.map +0 -1
  706. package/arr/within/within.d.ts +0 -9
  707. package/arr/within/within.js +0 -14
  708. package/arr/within/within.js.map +0 -1
  709. package/common/copy/copy.d.ts +0 -6
  710. package/common/copy/copy.js +0 -86
  711. package/common/copy/copy.js.map +0 -1
  712. package/common/equals/equals.d.ts +0 -12
  713. package/common/equals/equals.js +0 -127
  714. package/common/equals/equals.js.map +0 -1
  715. package/common/error.d.ts +0 -19
  716. package/common/error.js +0 -16
  717. package/common/error.js.map +0 -1
  718. package/common/for-each/for-each.d.ts +0 -9
  719. package/common/for-each/for-each.js +0 -40
  720. package/common/for-each/for-each.js.map +0 -1
  721. package/common/get-unique-num-id/get-unique-num-id.d.ts +0 -4
  722. package/common/get-unique-num-id/get-unique-num-id.js +0 -8
  723. package/common/get-unique-num-id/get-unique-num-id.js.map +0 -1
  724. package/common/get-unique-str-id/get-unique-str-id.d.ts +0 -4
  725. package/common/get-unique-str-id/get-unique-str-id.js +0 -16
  726. package/common/get-unique-str-id/get-unique-str-id.js.map +0 -1
  727. package/common/has-iterator/has-iterator.d.ts +0 -5
  728. package/common/has-iterator/has-iterator.js +0 -8
  729. package/common/has-iterator/has-iterator.js.map +0 -1
  730. package/common/index.d.ts +0 -16
  731. package/common/index.js +0 -17
  732. package/common/index.js.map +0 -1
  733. package/common/is/is.d.ts +0 -136
  734. package/common/is/is.js +0 -214
  735. package/common/is/is.js.map +0 -1
  736. package/common/is-empty/is-empty.d.ts +0 -6
  737. package/common/is-empty/is-empty.js +0 -30
  738. package/common/is-empty/is-empty.js.map +0 -1
  739. package/common/random/random.d.ts +0 -5
  740. package/common/random/random.js +0 -9
  741. package/common/random/random.js.map +0 -1
  742. package/common/same/same.d.ts +0 -6
  743. package/common/same/same.js +0 -9
  744. package/common/same/same.js.map +0 -1
  745. package/common/stub/stub.d.ts +0 -4
  746. package/common/stub/stub.js +0 -8
  747. package/common/stub/stub.js.map +0 -1
  748. package/common/to-float/to-float.d.ts +0 -6
  749. package/common/to-float/to-float.js +0 -10
  750. package/common/to-float/to-float.js.map +0 -1
  751. package/common/to-int/to-int.d.ts +0 -6
  752. package/common/to-int/to-int.js +0 -10
  753. package/common/to-int/to-int.js.map +0 -1
  754. package/common/to-sorted-string/to-sorted-string.d.ts +0 -7
  755. package/common/to-sorted-string/to-sorted-string.js +0 -53
  756. package/common/to-sorted-string/to-sorted-string.js.map +0 -1
  757. package/common/types.d.ts +0 -63
  758. package/common/types.js +0 -5
  759. package/common/types.js.map +0 -1
  760. package/dom/closest/closest.d.ts +0 -6
  761. package/dom/closest/closest.js +0 -26
  762. package/dom/closest/closest.js.map +0 -1
  763. package/dom/document/document.d.ts +0 -12
  764. package/dom/document/document.js +0 -24
  765. package/dom/document/document.js.map +0 -1
  766. package/dom/download-file/download-file.d.ts +0 -6
  767. package/dom/download-file/download-file.js +0 -32
  768. package/dom/download-file/download-file.js.map +0 -1
  769. package/dom/for-each-elements/for-each-elements.d.ts +0 -8
  770. package/dom/for-each-elements/for-each-elements.js +0 -16
  771. package/dom/for-each-elements/for-each-elements.js.map +0 -1
  772. package/dom/for-each-nodes/for-each-nodes.d.ts +0 -7
  773. package/dom/for-each-nodes/for-each-nodes.js +0 -15
  774. package/dom/for-each-nodes/for-each-nodes.js.map +0 -1
  775. package/dom/get-all-styles/get-all-styles.d.ts +0 -5
  776. package/dom/get-all-styles/get-all-styles.js +0 -10
  777. package/dom/get-all-styles/get-all-styles.js.map +0 -1
  778. package/dom/get-body/get-body.d.ts +0 -4
  779. package/dom/get-body/get-body.js +0 -9
  780. package/dom/get-body/get-body.js.map +0 -1
  781. package/dom/get-html/get-html.d.ts +0 -4
  782. package/dom/get-html/get-html.js +0 -9
  783. package/dom/get-html/get-html.js.map +0 -1
  784. package/dom/get-non-static-parent/get-non-static-parent.d.ts +0 -5
  785. package/dom/get-non-static-parent/get-non-static-parent.js +0 -9
  786. package/dom/get-non-static-parent/get-non-static-parent.js.map +0 -1
  787. package/dom/get-offset-from-doc/get-offset-from-doc.d.ts +0 -6
  788. package/dom/get-offset-from-doc/get-offset-from-doc.js +0 -18
  789. package/dom/get-offset-from-doc/get-offset-from-doc.js.map +0 -1
  790. package/dom/get-offset-from-parent/get-offset-from-parent.d.ts +0 -7
  791. package/dom/get-offset-from-parent/get-offset-from-parent.js +0 -45
  792. package/dom/get-offset-from-parent/get-offset-from-parent.js.map +0 -1
  793. package/dom/get-offset-from-win/get-offset-from-win.d.ts +0 -6
  794. package/dom/get-offset-from-win/get-offset-from-win.js +0 -8
  795. package/dom/get-offset-from-win/get-offset-from-win.js.map +0 -1
  796. package/dom/get-scroll-width/get-scroll-width.d.ts +0 -8
  797. package/dom/get-scroll-width/get-scroll-width.js +0 -28
  798. package/dom/get-scroll-width/get-scroll-width.js.map +0 -1
  799. package/dom/get-style/get-style.d.ts +0 -6
  800. package/dom/get-style/get-style.js +0 -23
  801. package/dom/get-style/get-style.js.map +0 -1
  802. package/dom/get-styles/get-styles.d.ts +0 -9
  803. package/dom/get-styles/get-styles.js +0 -12
  804. package/dom/get-styles/get-styles.js.map +0 -1
  805. package/dom/get-valid-style-name/get-valid-style-name.d.ts +0 -6
  806. package/dom/get-valid-style-name/get-valid-style-name.js +0 -41
  807. package/dom/get-valid-style-name/get-valid-style-name.js.map +0 -1
  808. package/dom/get-window/get-window.d.ts +0 -4
  809. package/dom/get-window/get-window.js +0 -17
  810. package/dom/get-window/get-window.js.map +0 -1
  811. package/dom/has-name/has-name.d.ts +0 -6
  812. package/dom/has-name/has-name.js +0 -9
  813. package/dom/has-name/has-name.js.map +0 -1
  814. package/dom/index.d.ts +0 -25
  815. package/dom/index.js +0 -26
  816. package/dom/index.js.map +0 -1
  817. package/dom/is-comment/is-comment.d.ts +0 -5
  818. package/dom/is-comment/is-comment.js +0 -8
  819. package/dom/is-comment/is-comment.js.map +0 -1
  820. package/dom/is-element/is-element.d.ts +0 -5
  821. package/dom/is-element/is-element.js +0 -8
  822. package/dom/is-element/is-element.js.map +0 -1
  823. package/dom/is-text/is-text.d.ts +0 -5
  824. package/dom/is-text/is-text.js +0 -8
  825. package/dom/is-text/is-text.js.map +0 -1
  826. package/dom/set-offset-from-parent/set-offset-from-parent.d.ts +0 -8
  827. package/dom/set-offset-from-parent/set-offset-from-parent.js +0 -42
  828. package/dom/set-offset-from-parent/set-offset-from-parent.js.map +0 -1
  829. package/dom/set-style/set-style.d.ts +0 -8
  830. package/dom/set-style/set-style.js +0 -14
  831. package/dom/set-style/set-style.js.map +0 -1
  832. package/dom/set-styles/set-styles.d.ts +0 -8
  833. package/dom/set-styles/set-styles.js +0 -16
  834. package/dom/set-styles/set-styles.js.map +0 -1
  835. package/dom/types.d.ts +0 -19
  836. package/dom/types.js.map +0 -1
  837. package/env/get-browser/get-browser.d.ts +0 -10
  838. package/env/get-browser/get-browser.js +0 -33
  839. package/env/get-browser/get-browser.js.map +0 -1
  840. package/env/get-engine/get-engine.d.ts +0 -7
  841. package/env/get-engine/get-engine.js +0 -22
  842. package/env/get-engine/get-engine.js.map +0 -1
  843. package/env/get-os/get-os.d.ts +0 -8
  844. package/env/get-os/get-os.js +0 -26
  845. package/env/get-os/get-os.js.map +0 -1
  846. package/env/get-platform/get-platform.d.ts +0 -7
  847. package/env/get-platform/get-platform.js +0 -30
  848. package/env/get-platform/get-platform.js.map +0 -1
  849. package/env/index.d.ts +0 -21
  850. package/env/index.js +0 -22
  851. package/env/index.js.map +0 -1
  852. package/env/is-browser/is-browser.d.ts +0 -11
  853. package/env/is-browser/is-browser.js +0 -15
  854. package/env/is-browser/is-browser.js.map +0 -1
  855. package/env/is-chrome-like/is-chrome-like.d.ts +0 -4
  856. package/env/is-chrome-like/is-chrome-like.js +0 -9
  857. package/env/is-chrome-like/is-chrome-like.js.map +0 -1
  858. package/env/is-desktop/is-desktop.d.ts +0 -4
  859. package/env/is-desktop/is-desktop.js +0 -9
  860. package/env/is-desktop/is-desktop.js.map +0 -1
  861. package/env/is-engine/is-engine.d.ts +0 -8
  862. package/env/is-engine/is-engine.js +0 -12
  863. package/env/is-engine/is-engine.js.map +0 -1
  864. package/env/is-firefox-like/is-firefox-like.d.ts +0 -4
  865. package/env/is-firefox-like/is-firefox-like.js +0 -9
  866. package/env/is-firefox-like/is-firefox-like.js.map +0 -1
  867. package/env/is-mobile/is-mobile.d.ts +0 -4
  868. package/env/is-mobile/is-mobile.js +0 -9
  869. package/env/is-mobile/is-mobile.js.map +0 -1
  870. package/env/is-os/is-os.d.ts +0 -9
  871. package/env/is-os/is-os.js +0 -13
  872. package/env/is-os/is-os.js.map +0 -1
  873. package/env/is-portable/is-portable.d.ts +0 -4
  874. package/env/is-portable/is-portable.js +0 -8
  875. package/env/is-portable/is-portable.js.map +0 -1
  876. package/env/is-safari-like/is-safari-like.d.ts +0 -4
  877. package/env/is-safari-like/is-safari-like.js +0 -9
  878. package/env/is-safari-like/is-safari-like.js.map +0 -1
  879. package/env/is-stationary/is-stationary.d.ts +0 -4
  880. package/env/is-stationary/is-stationary.js +0 -8
  881. package/env/is-stationary/is-stationary.js.map +0 -1
  882. package/env/is-tablet/is-tablet.d.ts +0 -4
  883. package/env/is-tablet/is-tablet.js +0 -9
  884. package/env/is-tablet/is-tablet.js.map +0 -1
  885. package/env/is-tv/is-tv.d.ts +0 -4
  886. package/env/is-tv/is-tv.js +0 -9
  887. package/env/is-tv/is-tv.js.map +0 -1
  888. package/env/matches/matches.d.ts +0 -34
  889. package/env/matches/matches.js +0 -52
  890. package/env/matches/matches.js.map +0 -1
  891. package/env/matches-with-browsers/matches-with-browsers.d.ts +0 -23
  892. package/env/matches-with-browsers/matches-with-browsers.js +0 -53
  893. package/env/matches-with-browsers/matches-with-browsers.js.map +0 -1
  894. package/env/matches-with-version/matches-with-version.d.ts +0 -6
  895. package/env/matches-with-version/matches-with-version.js +0 -41
  896. package/env/matches-with-version/matches-with-version.js.map +0 -1
  897. package/env/private/private.d.ts +0 -4
  898. package/env/private/private.js +0 -67
  899. package/env/private/private.js.map +0 -1
  900. package/env/types.d.ts +0 -106
  901. package/env/types.js.map +0 -1
  902. package/env/user-agent/user-agent.d.ts +0 -9
  903. package/env/user-agent/user-agent.js +0 -24
  904. package/env/user-agent/user-agent.js.map +0 -1
  905. package/index.d.ts +0 -7
  906. package/index.js +0 -8
  907. package/index.js.map +0 -1
  908. package/num/in-range/in-range.d.ts +0 -8
  909. package/num/in-range/in-range.js +0 -23
  910. package/num/in-range/in-range.js.map +0 -1
  911. package/num/index.d.ts +0 -3
  912. package/num/index.js +0 -4
  913. package/num/index.js.map +0 -1
  914. package/num/round/round.d.ts +0 -7
  915. package/num/round/round.js +0 -11
  916. package/num/round/round.js.map +0 -1
  917. package/num/types.d.ts +0 -24
  918. package/num/types.js +0 -2
  919. package/num/types.js.map +0 -1
  920. package/obj/constant/constant.d.ts +0 -6
  921. package/obj/constant/constant.js +0 -8
  922. package/obj/constant/constant.js.map +0 -1
  923. package/obj/deep-constant/deep-constant.d.ts +0 -6
  924. package/obj/deep-constant/deep-constant.js +0 -18
  925. package/obj/deep-constant/deep-constant.js.map +0 -1
  926. package/obj/diff-obj/diff-obj.d.ts +0 -9
  927. package/obj/diff-obj/diff-obj.js +0 -48
  928. package/obj/diff-obj/diff-obj.js.map +0 -1
  929. package/obj/exclude/exclude.d.ts +0 -7
  930. package/obj/exclude/exclude.js +0 -18
  931. package/obj/exclude/exclude.js.map +0 -1
  932. package/obj/extend/extend.d.ts +0 -16
  933. package/obj/extend/extend.js +0 -49
  934. package/obj/extend/extend.js.map +0 -1
  935. package/obj/for-each-obj/for-each-obj.d.ts +0 -8
  936. package/obj/for-each-obj/for-each-obj.js +0 -16
  937. package/obj/for-each-obj/for-each-obj.js.map +0 -1
  938. package/obj/has-own/has-own.d.ts +0 -8
  939. package/obj/has-own/has-own.js +0 -11
  940. package/obj/has-own/has-own.js.map +0 -1
  941. package/obj/include/include.d.ts +0 -7
  942. package/obj/include/include.js +0 -17
  943. package/obj/include/include.js.map +0 -1
  944. package/obj/index.d.ts +0 -13
  945. package/obj/index.js +0 -14
  946. package/obj/index.js.map +0 -1
  947. package/obj/keys/keys.d.ts +0 -6
  948. package/obj/keys/keys.js +0 -8
  949. package/obj/keys/keys.js.map +0 -1
  950. package/obj/map-obj/map-obj.d.ts +0 -7
  951. package/obj/map-obj/map-obj.js +0 -12
  952. package/obj/map-obj/map-obj.js.map +0 -1
  953. package/obj/map-obj-to-arr/map-obj-to-arr.d.ts +0 -7
  954. package/obj/map-obj-to-arr/map-obj-to-arr.js +0 -12
  955. package/obj/map-obj-to-arr/map-obj-to-arr.js.map +0 -1
  956. package/obj/types.d.ts +0 -30
  957. package/obj/types.js +0 -2
  958. package/obj/types.js.map +0 -1
  959. package/obj/values/values.d.ts +0 -6
  960. package/obj/values/values.js +0 -11
  961. package/obj/values/values.js.map +0 -1
  962. package/str/index.d.ts +0 -3
  963. package/str/index.js +0 -4
  964. package/str/index.js.map +0 -1
  965. package/str/to-camel-case/to-camel-case.d.ts +0 -10
  966. package/str/to-camel-case/to-camel-case.js +0 -18
  967. package/str/to-camel-case/to-camel-case.js.map +0 -1
  968. package/str/to-hash/to-hash.d.ts +0 -7
  969. package/str/to-hash/to-hash.js +0 -21
  970. package/str/to-hash/to-hash.js.map +0 -1
  971. package/str/with-capital/with-capital.d.ts +0 -6
  972. package/str/with-capital/with-capital.js +0 -9
  973. package/str/with-capital/with-capital.js.map +0 -1
  974. /package/{arr → dist/esm/common}/types.js +0 -0
  975. /package/{dom → dist/esm/dom}/types.js +0 -0
  976. /package/{env → dist/esm/env}/types.js +0 -0
@@ -0,0 +1,27 @@
1
+ import {EngineData} from '../';
2
+ import {EnvCondition} from '../types';
3
+ import {getBot, getEnvData} from '../private/private';
4
+
5
+ let engine: EngineData | null = null;
6
+
7
+ const engineConditions: EnvCondition[] = [
8
+ ['gecko', 'firefox'], ['blink', 'chrome'], ['webkit', '(?:safari|AppleWebKit)'],
9
+ ];
10
+
11
+ /**
12
+ * Returns information about the browser engine.
13
+ * Possible engine names: blink (Chrome like) | webkit (Safari like) | gecko (Firefox like) | unknown | BotNames
14
+ */
15
+ export function getEngine(): EngineData {
16
+ const bot = getBot();
17
+ engine ??= bot.name !== 'unknown' ? {...bot} : <EngineData>getEnvData(engineConditions, true);
18
+ return engine;
19
+ }
20
+
21
+ /*
22
+ * @internal
23
+ * For internal use
24
+ */
25
+ export function resetEngine(): void {
26
+ engine = null;
27
+ }
@@ -0,0 +1,31 @@
1
+ import {OSData} from '../';
2
+ import {EnvCondition} from '../types';
3
+ import {getBot, getEnvData} from '../private/private';
4
+
5
+ let os: OSData | null = null;
6
+
7
+ const osConditions: EnvCondition[] = [
8
+ 'xbox', ['windows', 'Windows (?:NT|XP)'], ['ios', '(?:iphone|ipad|FxiOS)', 'OS'], ['macOS', 'Macintosh', 'Mac OS X'],
9
+ ['webOS', '(?:web|hpw)[o0]s'], 'tizen', ['appleTV', 'apple[\\s_-]?TV', 'OS'], ['roku', 'Roku[\\w]{0,8}/DVP'],
10
+ ['chromeOS', 'CrOS(?: x86_64)?'], ['playstation4', 'PlayStation 4'], ['playstation5', 'PlayStation 5'],
11
+ ['nintendoSwitch', 'Nintendo Switch'], ['likeAndroid', 'like android'], 'android', ['linux', 'linux', 'rv:'],
12
+ ];
13
+
14
+ /**
15
+ * Returns information about the OS
16
+ * Possible OS names: xbox | windows | ios | macOS | webOS | tizen | appleTV | roku | chromeOS
17
+ * | playstation4 | playstation5 | nintendoSwitch | likeAndroid | android | linux | unknown | BotNames
18
+ */
19
+ export function getOS(): OSData {
20
+ const bot = getBot();
21
+ os ??= bot.name !== 'unknown' ? {...bot} : <OSData>getEnvData(osConditions, true);
22
+ return os;
23
+ }
24
+
25
+ /*
26
+ * @internal
27
+ * For internal use
28
+ */
29
+ export function resetOS(): void {
30
+ os = null;
31
+ }
@@ -0,0 +1,34 @@
1
+ import {getOS, PlatformNames} from '../';
2
+ import {EnvCondition} from '../types';
3
+ import {getBot, getEnvData} from '../private/private';
4
+
5
+ let platform: PlatformNames | null = null;
6
+
7
+ const platformConditions: EnvCondition[] = [
8
+ [
9
+ 'tv', [
10
+ () => ['tizen', 'webOS', 'appleTV', 'roku', 'xbox', 'playstation4', 'playstation5'].includes(getOS().name),
11
+ '(?:smart|web|google|hbb)[\\s:_/-]?tv', 'bravia',
12
+ ],
13
+ ], ['desktop', [() => ['macOS', 'chromeOS', 'windows', 'linux'].includes(getOS().name)]],
14
+ ['tablet', [() => ['nintendoSwitch'].includes(getOS().name), 'ipad', 'silk', 'tablet']],
15
+ ['mobile', ['iphone', 'android.*?mobi(?:le)?']], ['tablet', 'android'],
16
+ ];
17
+
18
+ /**
19
+ * Returns the name of the platform
20
+ * @returns tv | desktop | tablet | mobile | unknown | BotNames
21
+ */
22
+ export function getPlatform(): PlatformNames {
23
+ const bot = getBot();
24
+ platform ??= bot.name !== 'unknown' ? bot.name : <PlatformNames>getEnvData(platformConditions).name;
25
+ return <PlatformNames>platform;
26
+ }
27
+
28
+ /*
29
+ * @internal
30
+ * For internal use
31
+ */
32
+ export function resetPlatform(): void {
33
+ platform = null;
34
+ }
@@ -0,0 +1,24 @@
1
+ export {
2
+ BotNames, PlatformNames, OSNames, EngineNames, BrowserNames, VersionData, OSData, EngineData, BrowserData,
3
+ EnginesCondition, BrowsersCondition, OSBrowsersCondition, OSCondition, PlatformsCondition,
4
+ } from './types';
5
+ export {getUserAgent, setUserAgent} from './user-agent/user-agent';
6
+ export {getOS} from './get-os/get-os';
7
+ export {getEngine} from './get-engine/get-engine';
8
+ export {getPlatform} from './get-platform/get-platform';
9
+ export {getBrowser} from './get-browser/get-browser';
10
+ export {matchesWithVersion} from './matches-with-version/matches-with-version';
11
+ export {isTV} from './is-tv/is-tv';
12
+ export {isDesktop} from './is-desktop/is-desktop';
13
+ export {isTablet} from './is-tablet/is-tablet';
14
+ export {isMobile} from './is-mobile/is-mobile';
15
+ export {isPortable} from './is-portable/is-portable';
16
+ export {isStationary} from './is-stationary/is-stationary';
17
+ export {isChromeLike} from './is-chrome-like/is-chrome-like';
18
+ export {isFirefoxLike} from './is-firefox-like/is-firefox-like';
19
+ export {isSafariLike} from './is-safari-like/is-safari-like';
20
+ export {isOS} from './is-os/is-os';
21
+ export {isEngine} from './is-engine/is-engine';
22
+ export {isBrowser} from './is-browser/is-browser';
23
+ export {matchesWithBrowsers} from './matches-with-browsers/matches-with-browsers';
24
+ export {matches} from './matches/matches';
@@ -0,0 +1,15 @@
1
+ import {BrowserNames, getBrowser, matchesWithVersion} from '../';
2
+
3
+ /**
4
+ * Returns true if the name matches the browser name and the version matches the browser version, otherwise false
5
+ * @param name - one of the browser names:
6
+ * opera | operaCoast | operaTouch | samsung | mz | yandex | uc | maxthon | kmeleon
7
+ * | wechat | qqLite | qq | edge | sailfish | webOS | tizen | miui | silk | phantomjs | slimerjs | qupzilla
8
+ * | electron | whale | focus | swing | epiphany | puffin | sleipnir | vivaldi | seamonkey | playstation4
9
+ * | playstation5 | googleSearch | firefox | chrome | android | safari | unknown | BotNames
10
+ * @param version - string condition in the format: x.x...x | [~ >= > <= <]x.x...x
11
+ */
12
+ export function isBrowser(name: BrowserNames, version?: string): boolean {
13
+ const browser = getBrowser();
14
+ return browser.name === name && (!version || matchesWithVersion(browser.version, version));
15
+ }
@@ -0,0 +1,9 @@
1
+ import {getEngine} from '../';
2
+
3
+ /**
4
+ * Returns true if the browser uses the Blink engine like Chrome, false otherwise
5
+ */
6
+ export function isChromeLike(): boolean {
7
+ const name = getEngine().name;
8
+ return name === 'blink';
9
+ }
@@ -0,0 +1,9 @@
1
+ import {getPlatform} from '../';
2
+
3
+ /**
4
+ * Returns true if the platform is desktop, otherwise false
5
+ */
6
+ export function isDesktop(): boolean {
7
+ const name = getPlatform();
8
+ return name === 'desktop';
9
+ }
@@ -0,0 +1,12 @@
1
+ import {EngineNames, getEngine, matchesWithVersion} from '../';
2
+
3
+ /**
4
+ * Returns true if the name matches the engine name and the version matches the engine version, otherwise false
5
+ * @param name - one of the engine names:
6
+ * blink (Chrome like) | webkit (Safari like) | gecko (Firefox like) | unknown | BotNames
7
+ * @param version - string condition in the format: x.x...x | [~ >= > <= <]x.x...x
8
+ */
9
+ export function isEngine(name: EngineNames, version?: string): boolean {
10
+ const engine = getEngine();
11
+ return engine.name === name && (!version || matchesWithVersion(engine.version, version));
12
+ }
@@ -0,0 +1,9 @@
1
+ import {getEngine} from '../';
2
+
3
+ /**
4
+ * Returns true if the browser uses the Gecko engine like FireFox, false otherwise
5
+ */
6
+ export function isFirefoxLike(): boolean {
7
+ const name = getEngine().name;
8
+ return name === 'gecko';
9
+ }
@@ -0,0 +1,9 @@
1
+ import {getPlatform} from '../';
2
+
3
+ /**
4
+ * Returns true if the platform is mobile, otherwise false
5
+ */
6
+ export function isMobile(): boolean {
7
+ const name = getPlatform();
8
+ return name === 'mobile';
9
+ }
@@ -0,0 +1,13 @@
1
+ import {getOS, matchesWithVersion, OSNames} from '../';
2
+
3
+ /**
4
+ * Returns true if the name matches the OS name and the version matches the OS version, otherwise false
5
+ * @param name - one of the OS names:
6
+ * xbox | windows | ios | macOS | webOS | tizen | appleTV | roku | chromeOS
7
+ * | playstation4 | playstation5 | nintendoSwitch | likeAndroid | android | linux | unknown | BotNames
8
+ * @param version - string condition in the format: x.x...x | [~ >= > <= <]x.x...x
9
+ */
10
+ export function isOS(name: OSNames, version?: string): boolean {
11
+ const os = getOS();
12
+ return os.name === name && (!version || matchesWithVersion(os.version, version));
13
+ }
@@ -0,0 +1,8 @@
1
+ import {isMobile, isTablet} from '../';
2
+
3
+ /**
4
+ * Returns true if the platform is mobile or tablet, otherwise false
5
+ */
6
+ export function isPortable(): boolean {
7
+ return isMobile() || isTablet();
8
+ }
@@ -0,0 +1,9 @@
1
+ import {getEngine} from '../';
2
+
3
+ /**
4
+ * Returns true if the browser uses the WebKit engine like Safari, false otherwise
5
+ */
6
+ export function isSafariLike(): boolean {
7
+ const name = getEngine().name;
8
+ return name === 'webkit';
9
+ }
@@ -0,0 +1,8 @@
1
+ import {isDesktop, isTV} from '../';
2
+
3
+ /**
4
+ * Returns true if the platform is desktop or TV, otherwise false
5
+ */
6
+ export function isStationary(): boolean {
7
+ return isTV() || isDesktop();
8
+ }
@@ -0,0 +1,9 @@
1
+ import {getPlatform} from '../';
2
+
3
+ /**
4
+ * Returns true if the platform is tablet, otherwise false
5
+ */
6
+ export function isTablet(): boolean {
7
+ const name = getPlatform();
8
+ return name === 'tablet';
9
+ }
@@ -0,0 +1,9 @@
1
+ import {getPlatform} from '../';
2
+
3
+ /**
4
+ * Returns true if the platform is TV, otherwise false
5
+ */
6
+ export function isTV(): boolean {
7
+ const name = getPlatform();
8
+ return name === 'tv';
9
+ }
@@ -0,0 +1,55 @@
1
+ import {INTERRUPT} from '../../common';
2
+ import {exclude, forEachObj} from '../../obj';
3
+ import {getPlatform, isOS, matchesWithBrowsers, PlatformsCondition} from '../';
4
+
5
+ /**
6
+ * Checks if a current browser matches a specific set of conditions
7
+ *
8
+ * Condition structure:
9
+ * {
10
+ * [platformName | anyPlatform]: {
11
+ * [osName | anyOS]: {
12
+ * osVersion?: versionCondition(x.x...x | [~ >= > <= <]x.x...x),
13
+ * browserName?: versionCondition(x.x...x | [~ >= > <= <]x.x...x),
14
+ * engines?: engineName | {
15
+ * engineName: versionCondition(x.x...x | [~ >= > <= <]x.x...x)
16
+ * ...
17
+ * }
18
+ * ...
19
+ * }
20
+ * ...
21
+ * }
22
+ * ...
23
+ * }
24
+ *
25
+ * @example
26
+ * matches({anyPlatform: {anyOS: {chrome: ''}}});
27
+ * matches({desktop: {windows: {chrome: '96.0.4664.110'}}});
28
+ * matches({desktop: {windows: {osVersion: '~10', engines: 'blink'}}});
29
+ * matches({desktop: {anyOS: {engines: {blink: '>90.5', gecko: '<=100'}}}});
30
+ * matches({anyPlatform: {ios: {chrome: '~96.1', safari: '>80'}}});
31
+ *
32
+ * @param condition - an object that has keys corresponding to platform names
33
+ * and values corresponding to objects that have keys corresponding to OS names
34
+ * and values corresponding to objects that have keys corresponding to browser names
35
+ * and values corresponding to browser versions
36
+ */
37
+ export function matches(condition: PlatformsCondition): boolean {
38
+ let result = false;
39
+
40
+ forEachObj(condition, (oss, platform) => {
41
+ if (oss && (platform === 'anyPlatform' || platform === getPlatform())) {
42
+ forEachObj(oss, (browsers, osName) => {
43
+ const osVersion = browsers?.osVersion;
44
+ if (browsers && (osName === 'anyOS' || isOS(osName, osVersion))) {
45
+ result = matchesWithBrowsers(exclude(browsers, 'osVersion'));
46
+ }
47
+ return result && INTERRUPT;
48
+ });
49
+ }
50
+
51
+ return result && INTERRUPT;
52
+ });
53
+
54
+ return result;
55
+ }
@@ -0,0 +1,55 @@
1
+ import {INTERRUPT, isObject, isString} from '../../common';
2
+ import {forEachObj} from '../../obj';
3
+ import {BrowsersCondition, getEngine, isBrowser, isEngine} from '../';
4
+
5
+ /**
6
+ * Checks if a current browser matches a specific set of browsers
7
+ *
8
+ * Condition structure:
9
+ * {
10
+ * browserName?: versionCondition(x.x...x | [~ >= > <= <]x.x...x),
11
+ * engines?: engineName | {
12
+ * engineNane: versionCondition(x.x...x | [~ >= > <= <]x.x...x)
13
+ * ...
14
+ * }
15
+ * ...
16
+ * }
17
+ *
18
+ * @example
19
+ * matchesWithBrowsers({firefox: '>=95.5', chrome: '~96.0.4664'});
20
+ * matchesWithBrowsers({engines: 'gecko', firefox: '>100.1'});
21
+ * matchesWithBrowsers({engines: {blink: '~96', gecko: '110.5.0'}, firefox: '>100.1'});
22
+ *
23
+ * @param condition - an object that has keys corresponding to browser names
24
+ * and values corresponding to browser version conditions
25
+ */
26
+ export function matchesWithBrowsers(condition: BrowsersCondition): boolean {
27
+ let result = false;
28
+
29
+ forEachObj(condition, (enginesOrVer, browser) => {
30
+ if (browser === 'engines') {
31
+ const {name} = getEngine();
32
+ const engines = enginesOrVer;
33
+
34
+ if (isObject(engines)) {
35
+ forEachObj(engines, (version, engine) => {
36
+ if (isEngine(engine, version)) {
37
+ result = true;
38
+ }
39
+ return result && INTERRUPT;
40
+ });
41
+ } else if (isString(engines) && engines === name) {
42
+ result = true;
43
+ }
44
+ } else {
45
+ const version = <string>enginesOrVer;
46
+ if (isBrowser(browser, version)) {
47
+ result = true;
48
+ }
49
+ }
50
+
51
+ return result && INTERRUPT;
52
+ });
53
+
54
+ return result;
55
+ }
@@ -0,0 +1,44 @@
1
+ import {INTERRUPT} from '../../common';
2
+ import {forEachArr} from '../../arr';
3
+
4
+ /**
5
+ * Checks if a specific version matches a version condition
6
+ * @param version - any browser or OS version, for example: x.x...x
7
+ * @param condition - version condition in the format: x.x...x | [~ >= > <= <]x.x...x
8
+ */
9
+ export function matchesWithVersion(version: string, condition: string): boolean {
10
+ let result = 0;
11
+ const versionParts = version.split('.');
12
+ const conditionParts = condition.split('.');
13
+ const matches = conditionParts[0].match(/^([~><=]*)(\d+)$/i);
14
+ const operator = matches && matches.length ? matches[1] : '';
15
+ conditionParts[0] = matches && matches.length ? matches[2] : '0';
16
+
17
+ forEachArr(conditionParts, (part: string, index: number) => {
18
+ const a = Number(versionParts[index]);
19
+ const b = Number(part);
20
+
21
+ switch (operator) {
22
+ case '~':
23
+ result = a === b ? 1 : -1;
24
+ return result !== -1 || INTERRUPT;
25
+ case '>':
26
+ result = a === b ? 0 : (a > b ? 1 : -1);
27
+ return result === 0 || INTERRUPT;
28
+ case '>=':
29
+ result = a === b || a > b ? 1 : -1;
30
+ return (result !== -1 && !(a > b)) || INTERRUPT;
31
+ case '<':
32
+ result = a === b ? 0 : (a < b ? 1 : -1);
33
+ return result === 0 || INTERRUPT;
34
+ case '<=':
35
+ result = a === b || a < b ? 1 : -1;
36
+ return (result !== -1 && !(a < b)) || INTERRUPT;
37
+ default:
38
+ result = a === b && versionParts.length === conditionParts.length ? 1 : -1;
39
+ return result !== -1 || INTERRUPT;
40
+ }
41
+ });
42
+
43
+ return result === 1;
44
+ }
@@ -0,0 +1,82 @@
1
+ import {isArray, isFunction, isRegExp, isString, isUndefined} from '../../common';
2
+ import {getUserAgent} from '../';
3
+ import {BotData, EnvCondition, EnvData} from '../types';
4
+
5
+ /*
6
+ * Functions for internal use
7
+ */
8
+
9
+ let bot: BotData | null = null;
10
+
11
+ const botConditions: EnvCondition[] = ['googlebot', 'bingbot', 'yandexbot', 'slurp'];
12
+
13
+ /*
14
+ * @internal
15
+ * For internal use
16
+ */
17
+ export function getBot(): BotData {
18
+ return bot ??= <BotData>getEnvData(botConditions);
19
+ }
20
+
21
+ /*
22
+ * @internal
23
+ * For internal use
24
+ */
25
+ export function resetBot(): void {
26
+ bot = null;
27
+ }
28
+
29
+ /*
30
+ * @internal
31
+ * For internal use
32
+ */
33
+ export function getEnvData(conditions: EnvCondition[], needVersion = false): EnvData {
34
+ const agent = getUserAgent();
35
+ const result: EnvData = {
36
+ name: 'unknown',
37
+ version: '',
38
+ major: '',
39
+ };
40
+
41
+ for (const condition of conditions) {
42
+ // eslint-disable-next-line prefer-const
43
+ let [name, test, ver] = isString(condition) ? [condition] : condition;
44
+ const tests = isArray(test) ? test : (isUndefined(test) ? [name] : [test]);
45
+
46
+ if (needVersion) {
47
+ ver = isUndefined(ver) ? getVerRegExp(isString(test) ? test : name) : (isString(ver) ? getVerRegExp(ver) : ver);
48
+ }
49
+
50
+ for (let test of tests) {
51
+ if (isString(test)) {
52
+ test = getTestRegExp(test);
53
+ }
54
+ if ((isFunction(test) && test()) || (isRegExp(test) && agent.search(test) > -1)) {
55
+ result.name = <any>name;
56
+
57
+ if (needVersion && isRegExp(ver)) {
58
+ const matches = agent.match(ver);
59
+ result.version = (matches && matches.length > 1 && matches[1]) || '';
60
+ result.version = result.version.trim().replace(/[\s_-]+/g, '.');
61
+
62
+ if (result.version) {
63
+ result.major = result.version.split('.')[0];
64
+ return result;
65
+ }
66
+ }
67
+
68
+ return result;
69
+ }
70
+ }
71
+ }
72
+
73
+ return result;
74
+ }
75
+
76
+ function getTestRegExp(name: string): RegExp {
77
+ return new RegExp(name, 'i');
78
+ }
79
+
80
+ function getVerRegExp(name: string): RegExp {
81
+ return new RegExp(`${name}(?:[\\s:;/-]?ver(?:sion)?)?[\\s:/-]?(\\d+(?:[_.-]\\d+)*)`, 'i');
82
+ }
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Represents supported bot names
3
+ */
4
+ export type BotNames = 'googlebot' | 'bingbot' | 'yandexbot' | 'slurp' | 'unknown';
5
+
6
+ /**
7
+ * Represents supported platform names
8
+ */
9
+ export type PlatformNames = 'tv' | 'desktop' | 'tablet' | 'mobile' | BotNames;
10
+
11
+ /**
12
+ * Represents supported OS names
13
+ */
14
+ export type OSNames = 'xbox' | 'windows' | 'ios' | 'macOS' | 'webOS' | 'tizen' | 'appleTV' | 'roku' | 'chromeOS'
15
+ | 'playstation4' | 'playstation5' | 'nintendoSwitch' | 'likeAndroid' | 'android' | 'linux' | BotNames;
16
+
17
+ /**
18
+ * Represents supported engine names
19
+ */
20
+ export type EngineNames = 'blink' | 'webkit' | 'gecko' | BotNames;
21
+
22
+ /**
23
+ * Represents supported browser names
24
+ */
25
+ export type BrowserNames = 'opera' | 'operaCoast' | 'operaTouch' | 'samsung' | 'mz' | 'yandex' | 'uc' | 'maxthon'
26
+ | 'kmeleon' | 'wechat' | 'qqLite' | 'qq' | 'edge' | 'sailfish' | 'webOS' | 'tizen' | 'miui' | 'silk' | 'phantomjs'
27
+ | 'slimerjs' | 'qupzilla' | 'electron' | 'whale' | 'focus' | 'swing' | 'epiphany' | 'puffin' | 'sleipnir' | 'vivaldi'
28
+ | 'seamonkey' | 'playstation4' | 'playstation5' | 'googleSearch' | 'firefox' | 'chrome' | 'android' | 'safari'
29
+ | BotNames;
30
+
31
+ /**
32
+ * Represents a version data
33
+ */
34
+ export interface VersionData {
35
+
36
+ /**
37
+ * Full version
38
+ */
39
+ version: string;
40
+
41
+ /**
42
+ * Major version (first number)
43
+ */
44
+ major: string;
45
+ }
46
+
47
+ /**
48
+ * Represents the returned data by the getOS function
49
+ */
50
+ export interface OSData extends VersionData {
51
+
52
+ /**
53
+ * Unique name of the OS
54
+ */
55
+ name: OSNames;
56
+ }
57
+
58
+ /**
59
+ * Represents the returned data by the getEngine function
60
+ */
61
+ export interface EngineData extends VersionData {
62
+
63
+ /**
64
+ * Unique name of the browser engine
65
+ */
66
+ name: EngineNames;
67
+ }
68
+
69
+ /**
70
+ * Represents the returned data by the getBrowser function
71
+ */
72
+ export interface BrowserData extends VersionData {
73
+
74
+ /**
75
+ * Unique name of the browser
76
+ */
77
+ name: BrowserNames;
78
+ }
79
+
80
+ /**
81
+ * Represents an object that have keys corresponding to engine names and values corresponding to engine versions
82
+ */
83
+ export type EnginesCondition = {[key in EngineNames]?: string};
84
+
85
+ /**
86
+ * Represents an object that have keys corresponding to browser names and values corresponding to browser versions,
87
+ * and may have an engine property with the engines condition
88
+ */
89
+ export type BrowsersCondition = {[key in BrowserNames]?: string} & {engines?: EngineNames | EnginesCondition};
90
+
91
+ /**
92
+ * Represents the browsers condition with an optional osVersion property
93
+ */
94
+ export type OSBrowsersCondition = BrowsersCondition & {osVersion?: string};
95
+
96
+ /**
97
+ * Represents an object that have keys corresponding to OS names and values corresponding to the OS browsers conditions
98
+ */
99
+ export type OSCondition = {[key in OSNames]?: OSBrowsersCondition} & {anyOS?: OSBrowsersCondition};
100
+
101
+ /**
102
+ * Represents an object that have keys corresponding to platform names and values corresponding to the OS conditions
103
+ */
104
+ export type PlatformsCondition = {[key in PlatformNames]?: OSCondition} & {anyPlatform?: OSCondition};
105
+
106
+ /*
107
+ * @internal
108
+ * Represents the returned data by the getBot function
109
+ */
110
+ export interface BotData extends VersionData {
111
+
112
+ /*
113
+ * Unique name of the bot
114
+ */
115
+ name: BotNames;
116
+ }
117
+
118
+ /*
119
+ * @internal
120
+ * Represents the returned data by the getEnvData function
121
+ */
122
+ export interface EnvData extends VersionData {
123
+
124
+ /*
125
+ * Unique name of the platform, OS, browser or browser engine
126
+ */
127
+ name: PlatformNames | OSNames | EngineNames | BrowserNames;
128
+ }
129
+
130
+ /*
131
+ * @internal
132
+ * Represents the test type to test for compliance
133
+ */
134
+ export type EnvTest = string | RegExp | (() => boolean);
135
+
136
+ /*
137
+ * @internal
138
+ * Represents a group of tests
139
+ */
140
+ export type EnvTestGroup = EnvTest | EnvTest[];
141
+
142
+ /*
143
+ * @internal
144
+ * Represents a set of tests and template for retrieving a version
145
+ */
146
+ export type EnvCondition = string | [string, EnvTestGroup] | [string, EnvTestGroup, string | RegExp];
@@ -0,0 +1,29 @@
1
+ import {resetBrowser} from '../get-browser/get-browser';
2
+ import {resetEngine} from '../get-engine/get-engine';
3
+ import {resetOS} from '../get-os/get-os';
4
+ import {resetPlatform} from '../get-platform/get-platform';
5
+ import {resetBot} from '../private/private';
6
+
7
+ let agent = typeof navigator === 'object' ? navigator.userAgent : '';
8
+
9
+ /**
10
+ * Returns user agent
11
+ */
12
+ export function getUserAgent(): string {
13
+ return agent;
14
+ }
15
+
16
+ /**
17
+ * If the global object is not a window, you can use this function to set up a stub user agent
18
+ * @param userAgent - any string with user agent data
19
+ */
20
+ export function setUserAgent(userAgent: string): void {
21
+ if (agent !== userAgent) {
22
+ resetBot();
23
+ resetOS();
24
+ resetEngine();
25
+ resetPlatform();
26
+ resetBrowser();
27
+ agent = userAgent;
28
+ }
29
+ }