locutus 2.0.32 → 2.0.34

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 (880) hide show
  1. package/README.md +18 -0
  2. package/_data/rosetta.yml +325 -0
  3. package/awk/builtin/index.js +3 -0
  4. package/awk/builtin/int.js +13 -0
  5. package/awk/builtin/length.js +16 -0
  6. package/awk/builtin/substr.js +23 -0
  7. package/c/ctype/index.js +8 -0
  8. package/c/ctype/isalnum.js +15 -0
  9. package/c/ctype/isalpha.js +17 -0
  10. package/c/ctype/isdigit.js +15 -0
  11. package/c/ctype/islower.js +15 -0
  12. package/c/ctype/isspace.js +15 -0
  13. package/c/ctype/isupper.js +15 -0
  14. package/c/ctype/tolower.js +15 -0
  15. package/c/ctype/toupper.js +15 -0
  16. package/c/index.js +2 -5
  17. package/c/math/abs.js +14 -18
  18. package/c/math/frexp.js +19 -20
  19. package/c/math/index.js +2 -5
  20. package/c/stdio/index.js +1 -4
  21. package/c/stdio/sprintf.js +71 -81
  22. package/c/stdlib/atof.js +15 -0
  23. package/c/stdlib/atoi.js +17 -0
  24. package/c/stdlib/index.js +2 -0
  25. package/c/string/index.js +5 -0
  26. package/c/string/strcat.js +12 -0
  27. package/c/string/strchr.js +15 -0
  28. package/c/string/strcmp.js +21 -0
  29. package/c/string/strlen.js +12 -0
  30. package/c/string/strstr.js +15 -0
  31. package/clojure/Math/abs.js +13 -0
  32. package/clojure/Math/ceil.js +15 -0
  33. package/clojure/Math/floor.js +14 -0
  34. package/clojure/Math/index.js +3 -0
  35. package/elixir/Float/ceil.js +16 -0
  36. package/elixir/Float/floor.js +14 -0
  37. package/elixir/Float/index.js +2 -0
  38. package/elixir/Kernel/abs.js +13 -0
  39. package/elixir/Kernel/index.js +1 -0
  40. package/golang/index.js +1 -4
  41. package/golang/strconv/Atoi.js +26 -0
  42. package/golang/strconv/FormatBool.js +12 -0
  43. package/golang/strconv/FormatInt.js +21 -0
  44. package/golang/strconv/Itoa.js +14 -0
  45. package/golang/strconv/ParseBool.js +35 -0
  46. package/golang/strconv/ParseInt.js +27 -0
  47. package/golang/strconv/index.js +6 -0
  48. package/golang/strings/Compare.js +19 -0
  49. package/golang/strings/Contains.js +7 -9
  50. package/golang/strings/ContainsAny.js +18 -0
  51. package/golang/strings/Count.js +20 -22
  52. package/golang/strings/EqualFold.js +13 -0
  53. package/golang/strings/Fields.js +12 -0
  54. package/golang/strings/HasPrefix.js +15 -0
  55. package/golang/strings/HasSuffix.js +20 -0
  56. package/golang/strings/Index.js +11 -0
  57. package/golang/strings/Index2.js +9 -11
  58. package/golang/strings/IndexAny.js +18 -0
  59. package/golang/strings/Join.js +16 -0
  60. package/golang/strings/LastIndex.js +10 -12
  61. package/golang/strings/LastIndexAny.js +18 -0
  62. package/golang/strings/Repeat.js +19 -0
  63. package/golang/strings/Replace.js +44 -0
  64. package/golang/strings/Split.js +24 -0
  65. package/golang/strings/ToLower.js +9 -0
  66. package/golang/strings/ToUpper.js +9 -0
  67. package/golang/strings/Trim.js +19 -0
  68. package/golang/strings/TrimLeft.js +15 -0
  69. package/golang/strings/TrimPrefix.js +14 -0
  70. package/golang/strings/TrimRight.js +15 -0
  71. package/golang/strings/TrimSpace.js +10 -0
  72. package/golang/strings/TrimSuffix.js +14 -0
  73. package/golang/strings/index.js +25 -7
  74. package/index.js +5 -8
  75. package/julia/Base/abs.js +13 -0
  76. package/julia/Base/ceil.js +16 -0
  77. package/julia/Base/floor.js +14 -0
  78. package/julia/Base/index.js +3 -0
  79. package/lua/math/abs.js +13 -0
  80. package/lua/math/ceil.js +16 -0
  81. package/lua/math/floor.js +14 -0
  82. package/lua/math/index.js +3 -0
  83. package/package.json +37 -51
  84. package/perl/POSIX/ceil.js +16 -0
  85. package/perl/POSIX/floor.js +14 -0
  86. package/perl/POSIX/index.js +2 -0
  87. package/perl/core/index.js +1 -0
  88. package/perl/core/length.js +16 -0
  89. package/php/_helpers/_bc.js +524 -515
  90. package/php/_helpers/_phpCastString.js +20 -25
  91. package/php/_helpers/_php_cast_float.js +5 -10
  92. package/php/_helpers/_php_cast_int.js +6 -11
  93. package/php/_helpers/index.js +4 -7
  94. package/php/array/array_change_key_case.js +11 -16
  95. package/php/array/array_chunk.js +20 -23
  96. package/php/array/array_column.js +22 -72
  97. package/php/array/array_combine.js +13 -18
  98. package/php/array/array_count_values.js +35 -39
  99. package/php/array/array_diff.js +11 -14
  100. package/php/array/array_diff_assoc.js +11 -14
  101. package/php/array/array_diff_key.js +11 -14
  102. package/php/array/array_diff_uassoc.js +15 -19
  103. package/php/array/array_diff_ukey.js +14 -17
  104. package/php/array/array_fill.js +11 -13
  105. package/php/array/array_fill_keys.js +5 -8
  106. package/php/array/array_filter.js +12 -13
  107. package/php/array/array_flip.js +13 -15
  108. package/php/array/array_intersect.js +13 -16
  109. package/php/array/array_intersect_assoc.js +13 -16
  110. package/php/array/array_intersect_key.js +15 -18
  111. package/php/array/array_intersect_uassoc.js +17 -20
  112. package/php/array/array_intersect_ukey.js +17 -20
  113. package/php/array/array_key_exists.js +4 -7
  114. package/php/array/array_keys.js +22 -24
  115. package/php/array/array_map.js +24 -29
  116. package/php/array/array_merge.js +22 -25
  117. package/php/array/array_merge_recursive.js +51 -27
  118. package/php/array/array_multisort.js +138 -130
  119. package/php/array/array_pad.js +24 -26
  120. package/php/array/array_pop.js +10 -13
  121. package/php/array/array_product.js +15 -17
  122. package/php/array/array_push.js +16 -19
  123. package/php/array/array_rand.js +11 -14
  124. package/php/array/array_reduce.js +11 -14
  125. package/php/array/array_replace.js +9 -12
  126. package/php/array/array_replace_recursive.js +20 -24
  127. package/php/array/array_reverse.js +12 -15
  128. package/php/array/array_search.js +27 -29
  129. package/php/array/array_shift.js +3 -6
  130. package/php/array/array_slice.js +37 -39
  131. package/php/array/array_splice.js +64 -69
  132. package/php/array/array_sum.js +7 -12
  133. package/php/array/array_udiff.js +14 -17
  134. package/php/array/array_udiff_assoc.js +14 -17
  135. package/php/array/array_udiff_uassoc.js +17 -20
  136. package/php/array/array_uintersect.js +16 -19
  137. package/php/array/array_uintersect_uassoc.js +18 -21
  138. package/php/array/array_unique.js +12 -15
  139. package/php/array/array_unshift.js +4 -7
  140. package/php/array/array_values.js +11 -13
  141. package/php/array/array_walk.js +10 -15
  142. package/php/array/array_walk_recursive.js +15 -20
  143. package/php/array/arsort.js +50 -52
  144. package/php/array/asort.js +50 -51
  145. package/php/array/count.js +15 -14
  146. package/php/array/current.js +30 -32
  147. package/php/array/each.js +32 -35
  148. package/php/array/end.js +27 -30
  149. package/php/array/in_array.js +7 -10
  150. package/php/array/index.js +73 -76
  151. package/php/array/key.js +32 -34
  152. package/php/array/krsort.js +50 -51
  153. package/php/array/ksort.js +50 -51
  154. package/php/array/natcasesort.js +37 -38
  155. package/php/array/natsort.js +35 -36
  156. package/php/array/next.js +34 -36
  157. package/php/array/pos.js +10 -12
  158. package/php/array/prev.js +32 -34
  159. package/php/array/range.js +30 -33
  160. package/php/array/reset.js +24 -27
  161. package/php/array/rsort.js +47 -49
  162. package/php/array/shuffle.js +16 -18
  163. package/php/array/sizeof.js +3 -6
  164. package/php/array/sort.js +43 -45
  165. package/php/array/uasort.js +19 -21
  166. package/php/array/uksort.js +22 -24
  167. package/php/array/usort.js +20 -22
  168. package/php/bc/bcadd.js +16 -19
  169. package/php/bc/bccomp.js +12 -15
  170. package/php/bc/bcdiv.js +17 -20
  171. package/php/bc/bcmul.js +16 -19
  172. package/php/bc/bcround.js +21 -24
  173. package/php/bc/bcscale.js +8 -11
  174. package/php/bc/bcsub.js +16 -19
  175. package/php/bc/index.js +7 -10
  176. package/php/ctype/ctype_alnum.js +14 -16
  177. package/php/ctype/ctype_alpha.js +14 -16
  178. package/php/ctype/ctype_cntrl.js +9 -12
  179. package/php/ctype/ctype_digit.js +14 -16
  180. package/php/ctype/ctype_graph.js +14 -16
  181. package/php/ctype/ctype_lower.js +14 -16
  182. package/php/ctype/ctype_print.js +14 -16
  183. package/php/ctype/ctype_punct.js +14 -16
  184. package/php/ctype/ctype_space.js +9 -12
  185. package/php/ctype/ctype_upper.js +14 -16
  186. package/php/ctype/ctype_xdigit.js +14 -16
  187. package/php/ctype/index.js +11 -14
  188. package/php/datetime/checkdate.js +15 -17
  189. package/php/datetime/date.js +142 -123
  190. package/php/datetime/date_parse.js +18 -21
  191. package/php/datetime/getdate.js +38 -24
  192. package/php/datetime/gettimeofday.js +7 -10
  193. package/php/datetime/gmdate.js +17 -16
  194. package/php/datetime/gmmktime.js +23 -25
  195. package/php/datetime/gmstrftime.js +17 -14
  196. package/php/datetime/idate.js +44 -38
  197. package/php/datetime/index.js +15 -18
  198. package/php/datetime/microtime.js +11 -14
  199. package/php/datetime/mktime.js +14 -17
  200. package/php/datetime/strftime.js +122 -113
  201. package/php/datetime/strptime.js +210 -191
  202. package/php/datetime/strtotime.js +615 -496
  203. package/php/datetime/time.js +11 -13
  204. package/php/exec/escapeshellarg.js +16 -18
  205. package/php/exec/index.js +1 -4
  206. package/php/filesystem/basename.js +22 -24
  207. package/php/filesystem/dirname.js +12 -14
  208. package/php/filesystem/file_exists.js +9 -11
  209. package/php/filesystem/file_get_contents.js +3 -6
  210. package/php/filesystem/index.js +6 -9
  211. package/php/filesystem/pathinfo.js +47 -46
  212. package/php/filesystem/realpath.js +16 -19
  213. package/php/funchand/call_user_func.js +4 -7
  214. package/php/funchand/call_user_func_array.js +19 -22
  215. package/php/funchand/create_function.js +4 -7
  216. package/php/funchand/function_exists.js +4 -8
  217. package/php/funchand/get_defined_functions.js +25 -32
  218. package/php/funchand/index.js +5 -8
  219. package/php/i18n/i18n_loc_get_default.js +7 -10
  220. package/php/i18n/i18n_loc_set_default.js +12 -15
  221. package/php/i18n/index.js +2 -5
  222. package/php/index.js +20 -23
  223. package/php/info/assert_options.js +25 -27
  224. package/php/info/getenv.js +8 -10
  225. package/php/info/index.js +6 -9
  226. package/php/info/ini_get.js +9 -12
  227. package/php/info/ini_set.js +32 -34
  228. package/php/info/set_time_limit.js +8 -11
  229. package/php/info/version_compare.js +43 -44
  230. package/php/json/index.js +3 -6
  231. package/php/json/json_decode.js +42 -28
  232. package/php/json/json_encode.js +89 -66
  233. package/php/json/json_last_error.js +11 -13
  234. package/php/math/abs.js +2 -5
  235. package/php/math/acos.js +2 -5
  236. package/php/math/acosh.js +7 -9
  237. package/php/math/asin.js +2 -5
  238. package/php/math/asinh.js +7 -9
  239. package/php/math/atan.js +7 -9
  240. package/php/math/atan2.js +7 -9
  241. package/php/math/atanh.js +2 -5
  242. package/php/math/base_convert.js +8 -10
  243. package/php/math/bindec.js +12 -14
  244. package/php/math/ceil.js +7 -9
  245. package/php/math/cos.js +7 -9
  246. package/php/math/cosh.js +7 -9
  247. package/php/math/decbin.js +16 -18
  248. package/php/math/dechex.js +3 -6
  249. package/php/math/decoct.js +13 -15
  250. package/php/math/deg2rad.js +8 -10
  251. package/php/math/exp.js +7 -9
  252. package/php/math/expm1.js +9 -11
  253. package/php/math/floor.js +7 -9
  254. package/php/math/fmod.js +27 -29
  255. package/php/math/getrandmax.js +7 -9
  256. package/php/math/hexdec.js +10 -12
  257. package/php/math/hypot.js +8 -11
  258. package/php/math/index.js +46 -49
  259. package/php/math/is_finite.js +9 -14
  260. package/php/math/is_infinite.js +9 -14
  261. package/php/math/is_nan.js +8 -13
  262. package/php/math/lcg_value.js +8 -10
  263. package/php/math/log.js +8 -10
  264. package/php/math/log10.js +12 -14
  265. package/php/math/log1p.js +15 -17
  266. package/php/math/max.js +54 -59
  267. package/php/math/min.js +54 -59
  268. package/php/math/mt_getrandmax.js +7 -9
  269. package/php/math/mt_rand.js +15 -17
  270. package/php/math/octdec.js +8 -10
  271. package/php/math/pi.js +2 -5
  272. package/php/math/pow.js +2 -5
  273. package/php/math/rad2deg.js +8 -10
  274. package/php/math/rand.js +15 -17
  275. package/php/math/round.js +48 -49
  276. package/php/math/sin.js +7 -9
  277. package/php/math/sinh.js +7 -9
  278. package/php/math/sqrt.js +7 -9
  279. package/php/math/tan.js +7 -9
  280. package/php/math/tanh.js +8 -10
  281. package/php/misc/index.js +2 -5
  282. package/php/misc/pack.js +173 -165
  283. package/php/misc/uniqid.js +20 -23
  284. package/php/net-gopher/gopher_parsedir.js +27 -29
  285. package/php/net-gopher/index.js +1 -4
  286. package/php/network/index.js +6 -9
  287. package/php/network/inet_ntop.js +15 -15
  288. package/php/network/inet_pton.js +30 -34
  289. package/php/network/ip2long.js +25 -15
  290. package/php/network/long2ip.js +8 -10
  291. package/php/network/setcookie.js +11 -13
  292. package/php/network/setrawcookie.js +16 -19
  293. package/php/pcre/index.js +4 -7
  294. package/php/pcre/preg_match.js +3 -6
  295. package/php/pcre/preg_quote.js +2 -5
  296. package/php/pcre/preg_replace.js +8 -11
  297. package/php/pcre/sql_regcase.js +17 -20
  298. package/php/strings/addcslashes.js +86 -88
  299. package/php/strings/addslashes.js +15 -16
  300. package/php/strings/bin2hex.js +19 -43
  301. package/php/strings/chop.js +8 -10
  302. package/php/strings/chr.js +12 -14
  303. package/php/strings/chunk_split.js +15 -17
  304. package/php/strings/convert_cyr_string.js +137 -50
  305. package/php/strings/convert_uuencode.js +35 -38
  306. package/php/strings/count_chars.js +29 -27
  307. package/php/strings/crc32.js +276 -21
  308. package/php/strings/echo.js +28 -30
  309. package/php/strings/explode.js +31 -26
  310. package/php/strings/get_html_translation_table.js +123 -122
  311. package/php/strings/hex2bin.js +21 -21
  312. package/php/strings/html_entity_decode.js +31 -33
  313. package/php/strings/htmlentities.js +38 -34
  314. package/php/strings/htmlspecialchars.js +20 -23
  315. package/php/strings/htmlspecialchars_decode.js +19 -21
  316. package/php/strings/implode.js +23 -27
  317. package/php/strings/index.js +91 -94
  318. package/php/strings/join.js +8 -10
  319. package/php/strings/lcfirst.js +9 -11
  320. package/php/strings/levenshtein.js +37 -39
  321. package/php/strings/localeconv.js +12 -15
  322. package/php/strings/ltrim.js +12 -14
  323. package/php/strings/md5.js +216 -223
  324. package/php/strings/md5_file.js +17 -19
  325. package/php/strings/metaphone.js +112 -117
  326. package/php/strings/money_format.js +139 -126
  327. package/php/strings/nl2br.js +24 -26
  328. package/php/strings/nl_langinfo.js +32 -35
  329. package/php/strings/number_format.js +19 -22
  330. package/php/strings/ord.js +19 -21
  331. package/php/strings/parse_str.js +53 -56
  332. package/php/strings/printf.js +6 -9
  333. package/php/strings/quoted_printable_decode.js +7 -10
  334. package/php/strings/quoted_printable_encode.js +19 -20
  335. package/php/strings/quotemeta.js +7 -9
  336. package/php/strings/rtrim.js +14 -16
  337. package/php/strings/setlocale.js +148 -104
  338. package/php/strings/sha1.js +108 -106
  339. package/php/strings/sha1_file.js +15 -17
  340. package/php/strings/similar_text.js +34 -33
  341. package/php/strings/soundex.js +34 -36
  342. package/php/strings/split.js +8 -10
  343. package/php/strings/sprintf.js +112 -114
  344. package/php/strings/sscanf.js +99 -96
  345. package/php/strings/str_getcsv.js +37 -32
  346. package/php/strings/str_ireplace.js +50 -55
  347. package/php/strings/str_pad.js +18 -21
  348. package/php/strings/str_repeat.js +14 -16
  349. package/php/strings/str_replace.js +32 -37
  350. package/php/strings/str_rot13.js +15 -17
  351. package/php/strings/str_shuffle.js +12 -15
  352. package/php/strings/str_split.js +19 -21
  353. package/php/strings/str_word_count.js +51 -50
  354. package/php/strings/strcasecmp.js +12 -14
  355. package/php/strings/strchr.js +10 -12
  356. package/php/strings/strcmp.js +12 -14
  357. package/php/strings/strcoll.js +9 -12
  358. package/php/strings/strcspn.js +30 -25
  359. package/php/strings/strip_tags.js +50 -52
  360. package/php/strings/stripos.js +12 -14
  361. package/php/strings/stripslashes.js +8 -10
  362. package/php/strings/stristr.js +15 -17
  363. package/php/strings/strlen.js +23 -26
  364. package/php/strings/strnatcasecmp.js +6 -8
  365. package/php/strings/strnatcmp.js +47 -46
  366. package/php/strings/strncasecmp.js +30 -32
  367. package/php/strings/strncmp.js +5 -7
  368. package/php/strings/strpbrk.js +12 -14
  369. package/php/strings/strpos.js +11 -13
  370. package/php/strings/strrchr.js +7 -10
  371. package/php/strings/strrev.js +188 -10
  372. package/php/strings/strripos.js +16 -18
  373. package/php/strings/strrpos.js +20 -22
  374. package/php/strings/strspn.js +24 -26
  375. package/php/strings/strstr.js +20 -22
  376. package/php/strings/strtok.js +14 -16
  377. package/php/strings/strtolower.js +8 -10
  378. package/php/strings/strtoupper.js +8 -10
  379. package/php/strings/strtr.js +38 -43
  380. package/php/strings/substr.js +14 -18
  381. package/php/strings/substr_compare.js +18 -20
  382. package/php/strings/substr_count.js +11 -14
  383. package/php/strings/substr_replace.js +5 -8
  384. package/php/strings/trim.js +53 -32
  385. package/php/strings/ucfirst.js +11 -13
  386. package/php/strings/ucwords.js +3 -6
  387. package/php/strings/vprintf.js +6 -9
  388. package/php/strings/vsprintf.js +8 -10
  389. package/php/strings/wordwrap.js +32 -35
  390. package/php/url/base64_decode.js +42 -40
  391. package/php/url/base64_encode.js +51 -53
  392. package/php/url/http_build_query.js +27 -32
  393. package/php/url/index.js +8 -11
  394. package/php/url/parse_url.js +61 -25
  395. package/php/url/rawurldecode.js +8 -8
  396. package/php/url/rawurlencode.js +9 -6
  397. package/php/url/urldecode.js +9 -8
  398. package/php/url/urlencode.js +11 -6
  399. package/php/var/boolval.js +31 -33
  400. package/php/var/doubleval.js +10 -12
  401. package/php/var/empty.js +11 -16
  402. package/php/var/floatval.js +13 -15
  403. package/php/var/gettype.js +22 -23
  404. package/php/var/index.js +30 -33
  405. package/php/var/intval.js +35 -39
  406. package/php/var/is_array.js +27 -31
  407. package/php/var/is_binary.js +2 -5
  408. package/php/var/is_bool.js +10 -12
  409. package/php/var/is_buffer.js +2 -5
  410. package/php/var/is_callable.js +34 -35
  411. package/php/var/is_double.js +10 -12
  412. package/php/var/is_float.js +12 -14
  413. package/php/var/is_int.js +20 -22
  414. package/php/var/is_integer.js +12 -14
  415. package/php/var/is_long.js +3 -6
  416. package/php/var/is_null.js +9 -11
  417. package/php/var/is_numeric.js +30 -6
  418. package/php/var/is_object.js +4 -9
  419. package/php/var/is_real.js +3 -6
  420. package/php/var/is_scalar.js +2 -8
  421. package/php/var/is_string.js +9 -11
  422. package/php/var/is_unicode.js +12 -15
  423. package/php/var/isset.js +9 -12
  424. package/php/var/print_r.js +49 -53
  425. package/php/var/serialize.js +47 -52
  426. package/php/var/serialize.vitest.ts +10 -0
  427. package/php/var/strval.js +10 -13
  428. package/php/var/unserialize.js +168 -202
  429. package/php/var/var_dump.js +105 -104
  430. package/php/var/var_export.js +64 -66
  431. package/php/xdiff/index.js +2 -5
  432. package/php/xdiff/xdiff_string_diff.js +240 -226
  433. package/php/xdiff/xdiff_string_patch.js +98 -93
  434. package/php/xml/index.js +2 -5
  435. package/php/xml/utf8_decode.js +40 -42
  436. package/php/xml/utf8_encode.js +40 -42
  437. package/python/index.js +1 -4
  438. package/python/math/ceil.js +17 -0
  439. package/python/math/exp.js +12 -0
  440. package/python/math/fabs.js +14 -0
  441. package/python/math/factorial.js +29 -0
  442. package/python/math/floor.js +14 -0
  443. package/python/math/gcd.js +23 -0
  444. package/python/math/index.js +15 -0
  445. package/python/math/isfinite.js +14 -0
  446. package/python/math/isinf.js +14 -0
  447. package/python/math/isnan.js +14 -0
  448. package/python/math/log.js +16 -0
  449. package/python/math/log10.js +14 -0
  450. package/python/math/log2.js +14 -0
  451. package/python/math/pow.js +14 -0
  452. package/python/math/sqrt.js +14 -0
  453. package/python/math/trunc.js +14 -0
  454. package/python/string/ascii_letters.js +14 -14
  455. package/python/string/ascii_lowercase.js +12 -16
  456. package/python/string/ascii_uppercase.js +12 -16
  457. package/python/string/capwords.js +4 -7
  458. package/python/string/digits.js +10 -0
  459. package/python/string/hexdigits.js +10 -0
  460. package/python/string/index.js +10 -8
  461. package/python/string/octdigits.js +10 -0
  462. package/python/string/printable.js +15 -0
  463. package/python/string/punctuation.js +5 -7
  464. package/python/string/whitespace.js +10 -0
  465. package/r/base/abs.js +13 -0
  466. package/r/base/ceiling.js +16 -0
  467. package/r/base/floor.js +14 -0
  468. package/r/base/index.js +3 -0
  469. package/ruby/Array/compact.js +18 -0
  470. package/ruby/Array/first.js +22 -0
  471. package/ruby/Array/flatten.js +22 -0
  472. package/ruby/Array/index.js +6 -0
  473. package/ruby/Array/last.js +22 -0
  474. package/ruby/Array/sample.js +31 -0
  475. package/ruby/Array/uniq.js +16 -0
  476. package/ruby/Math/acos.js +2 -5
  477. package/ruby/Math/asin.js +11 -0
  478. package/ruby/Math/atan.js +11 -0
  479. package/ruby/Math/cbrt.js +13 -0
  480. package/ruby/Math/cos.js +12 -0
  481. package/ruby/Math/cosh.js +11 -0
  482. package/ruby/Math/exp.js +11 -0
  483. package/ruby/Math/index.js +15 -4
  484. package/ruby/Math/log.js +11 -0
  485. package/ruby/Math/log10.js +13 -0
  486. package/ruby/Math/log2.js +13 -0
  487. package/ruby/Math/sin.js +12 -0
  488. package/ruby/Math/sinh.js +11 -0
  489. package/ruby/Math/sqrt.js +13 -0
  490. package/ruby/Math/tan.js +11 -0
  491. package/ruby/Math/tanh.js +11 -0
  492. package/ruby/String/capitalize.js +19 -0
  493. package/ruby/String/chomp.js +27 -0
  494. package/ruby/String/chop.js +25 -0
  495. package/ruby/String/downcase.js +10 -0
  496. package/ruby/String/end_with.js +17 -0
  497. package/ruby/String/include.js +12 -0
  498. package/ruby/String/index.js +11 -0
  499. package/ruby/String/length.js +12 -0
  500. package/ruby/String/reverse.js +12 -0
  501. package/ruby/String/start_with.js +14 -0
  502. package/ruby/String/strip.js +12 -0
  503. package/ruby/String/upcase.js +10 -0
  504. package/ruby/index.js +1 -4
  505. package/_util/cli.js +0 -14
  506. package/_util/cli.js.map +0 -1
  507. package/_util/util.js +0 -620
  508. package/_util/util.js.map +0 -1
  509. package/c/index.js.map +0 -1
  510. package/c/math/abs.js.map +0 -1
  511. package/c/math/frexp.js.map +0 -1
  512. package/c/math/index.js.map +0 -1
  513. package/c/stdio/index.js.map +0 -1
  514. package/c/stdio/sprintf.js.map +0 -1
  515. package/golang/index.js.map +0 -1
  516. package/golang/strings/Contains.js.map +0 -1
  517. package/golang/strings/Count.js.map +0 -1
  518. package/golang/strings/Index2.js.map +0 -1
  519. package/golang/strings/LastIndex.js.map +0 -1
  520. package/golang/strings/index.js.map +0 -1
  521. package/index.js.map +0 -1
  522. package/php/_helpers/_bc.js.map +0 -1
  523. package/php/_helpers/_phpCastString.js.map +0 -1
  524. package/php/_helpers/_php_cast_float.js.map +0 -1
  525. package/php/_helpers/_php_cast_int.js.map +0 -1
  526. package/php/_helpers/index.js.map +0 -1
  527. package/php/array/array_change_key_case.js.map +0 -1
  528. package/php/array/array_chunk.js.map +0 -1
  529. package/php/array/array_column.js.map +0 -1
  530. package/php/array/array_combine.js.map +0 -1
  531. package/php/array/array_count_values.js.map +0 -1
  532. package/php/array/array_diff.js.map +0 -1
  533. package/php/array/array_diff_assoc.js.map +0 -1
  534. package/php/array/array_diff_key.js.map +0 -1
  535. package/php/array/array_diff_uassoc.js.map +0 -1
  536. package/php/array/array_diff_ukey.js.map +0 -1
  537. package/php/array/array_fill.js.map +0 -1
  538. package/php/array/array_fill_keys.js.map +0 -1
  539. package/php/array/array_filter.js.map +0 -1
  540. package/php/array/array_flip.js.map +0 -1
  541. package/php/array/array_intersect.js.map +0 -1
  542. package/php/array/array_intersect_assoc.js.map +0 -1
  543. package/php/array/array_intersect_key.js.map +0 -1
  544. package/php/array/array_intersect_uassoc.js.map +0 -1
  545. package/php/array/array_intersect_ukey.js.map +0 -1
  546. package/php/array/array_key_exists.js.map +0 -1
  547. package/php/array/array_keys.js.map +0 -1
  548. package/php/array/array_map.js.map +0 -1
  549. package/php/array/array_merge.js.map +0 -1
  550. package/php/array/array_merge_recursive.js.map +0 -1
  551. package/php/array/array_multisort.js.map +0 -1
  552. package/php/array/array_pad.js.map +0 -1
  553. package/php/array/array_pop.js.map +0 -1
  554. package/php/array/array_product.js.map +0 -1
  555. package/php/array/array_push.js.map +0 -1
  556. package/php/array/array_rand.js.map +0 -1
  557. package/php/array/array_reduce.js.map +0 -1
  558. package/php/array/array_replace.js.map +0 -1
  559. package/php/array/array_replace_recursive.js.map +0 -1
  560. package/php/array/array_reverse.js.map +0 -1
  561. package/php/array/array_search.js.map +0 -1
  562. package/php/array/array_shift.js.map +0 -1
  563. package/php/array/array_slice.js.map +0 -1
  564. package/php/array/array_splice.js.map +0 -1
  565. package/php/array/array_sum.js.map +0 -1
  566. package/php/array/array_udiff.js.map +0 -1
  567. package/php/array/array_udiff_assoc.js.map +0 -1
  568. package/php/array/array_udiff_uassoc.js.map +0 -1
  569. package/php/array/array_uintersect.js.map +0 -1
  570. package/php/array/array_uintersect_uassoc.js.map +0 -1
  571. package/php/array/array_unique.js.map +0 -1
  572. package/php/array/array_unshift.js.map +0 -1
  573. package/php/array/array_values.js.map +0 -1
  574. package/php/array/array_walk.js.map +0 -1
  575. package/php/array/array_walk_recursive.js.map +0 -1
  576. package/php/array/arsort.js.map +0 -1
  577. package/php/array/asort.js.map +0 -1
  578. package/php/array/count.js.map +0 -1
  579. package/php/array/current.js.map +0 -1
  580. package/php/array/each.js.map +0 -1
  581. package/php/array/end.js.map +0 -1
  582. package/php/array/in_array.js.map +0 -1
  583. package/php/array/index.js.map +0 -1
  584. package/php/array/key.js.map +0 -1
  585. package/php/array/krsort.js.map +0 -1
  586. package/php/array/ksort.js.map +0 -1
  587. package/php/array/natcasesort.js.map +0 -1
  588. package/php/array/natsort.js.map +0 -1
  589. package/php/array/next.js.map +0 -1
  590. package/php/array/pos.js.map +0 -1
  591. package/php/array/prev.js.map +0 -1
  592. package/php/array/range.js.map +0 -1
  593. package/php/array/reset.js.map +0 -1
  594. package/php/array/rsort.js.map +0 -1
  595. package/php/array/shuffle.js.map +0 -1
  596. package/php/array/sizeof.js.map +0 -1
  597. package/php/array/sort.js.map +0 -1
  598. package/php/array/uasort.js.map +0 -1
  599. package/php/array/uksort.js.map +0 -1
  600. package/php/array/usort.js.map +0 -1
  601. package/php/bc/bcadd.js.map +0 -1
  602. package/php/bc/bccomp.js.map +0 -1
  603. package/php/bc/bcdiv.js.map +0 -1
  604. package/php/bc/bcmul.js.map +0 -1
  605. package/php/bc/bcround.js.map +0 -1
  606. package/php/bc/bcscale.js.map +0 -1
  607. package/php/bc/bcsub.js.map +0 -1
  608. package/php/bc/index.js.map +0 -1
  609. package/php/ctype/ctype_alnum.js.map +0 -1
  610. package/php/ctype/ctype_alpha.js.map +0 -1
  611. package/php/ctype/ctype_cntrl.js.map +0 -1
  612. package/php/ctype/ctype_digit.js.map +0 -1
  613. package/php/ctype/ctype_graph.js.map +0 -1
  614. package/php/ctype/ctype_lower.js.map +0 -1
  615. package/php/ctype/ctype_print.js.map +0 -1
  616. package/php/ctype/ctype_punct.js.map +0 -1
  617. package/php/ctype/ctype_space.js.map +0 -1
  618. package/php/ctype/ctype_upper.js.map +0 -1
  619. package/php/ctype/ctype_xdigit.js.map +0 -1
  620. package/php/ctype/index.js.map +0 -1
  621. package/php/datetime/checkdate.js.map +0 -1
  622. package/php/datetime/date.js.map +0 -1
  623. package/php/datetime/date_parse.js.map +0 -1
  624. package/php/datetime/getdate.js.map +0 -1
  625. package/php/datetime/gettimeofday.js.map +0 -1
  626. package/php/datetime/gmdate.js.map +0 -1
  627. package/php/datetime/gmmktime.js.map +0 -1
  628. package/php/datetime/gmstrftime.js.map +0 -1
  629. package/php/datetime/idate.js.map +0 -1
  630. package/php/datetime/index.js.map +0 -1
  631. package/php/datetime/microtime.js.map +0 -1
  632. package/php/datetime/mktime.js.map +0 -1
  633. package/php/datetime/strftime.js.map +0 -1
  634. package/php/datetime/strptime.js.map +0 -1
  635. package/php/datetime/strtotime.js.map +0 -1
  636. package/php/datetime/time.js.map +0 -1
  637. package/php/exec/escapeshellarg.js.map +0 -1
  638. package/php/exec/index.js.map +0 -1
  639. package/php/filesystem/basename.js.map +0 -1
  640. package/php/filesystem/dirname.js.map +0 -1
  641. package/php/filesystem/file_exists.js.map +0 -1
  642. package/php/filesystem/file_get_contents.js.map +0 -1
  643. package/php/filesystem/index.js.map +0 -1
  644. package/php/filesystem/pathinfo.js.map +0 -1
  645. package/php/filesystem/realpath.js.map +0 -1
  646. package/php/funchand/call_user_func.js.map +0 -1
  647. package/php/funchand/call_user_func_array.js.map +0 -1
  648. package/php/funchand/create_function.js.map +0 -1
  649. package/php/funchand/function_exists.js.map +0 -1
  650. package/php/funchand/get_defined_functions.js.map +0 -1
  651. package/php/funchand/index.js.map +0 -1
  652. package/php/i18n/i18n_loc_get_default.js.map +0 -1
  653. package/php/i18n/i18n_loc_set_default.js.map +0 -1
  654. package/php/i18n/index.js.map +0 -1
  655. package/php/index.js.map +0 -1
  656. package/php/info/assert_options.js.map +0 -1
  657. package/php/info/getenv.js.map +0 -1
  658. package/php/info/index.js.map +0 -1
  659. package/php/info/ini_get.js.map +0 -1
  660. package/php/info/ini_set.js.map +0 -1
  661. package/php/info/set_time_limit.js.map +0 -1
  662. package/php/info/version_compare.js.map +0 -1
  663. package/php/json/index.js.map +0 -1
  664. package/php/json/json_decode.js.map +0 -1
  665. package/php/json/json_encode.js.map +0 -1
  666. package/php/json/json_last_error.js.map +0 -1
  667. package/php/math/abs.js.map +0 -1
  668. package/php/math/acos.js.map +0 -1
  669. package/php/math/acosh.js.map +0 -1
  670. package/php/math/asin.js.map +0 -1
  671. package/php/math/asinh.js.map +0 -1
  672. package/php/math/atan.js.map +0 -1
  673. package/php/math/atan2.js.map +0 -1
  674. package/php/math/atanh.js.map +0 -1
  675. package/php/math/base_convert.js.map +0 -1
  676. package/php/math/bindec.js.map +0 -1
  677. package/php/math/ceil.js.map +0 -1
  678. package/php/math/cos.js.map +0 -1
  679. package/php/math/cosh.js.map +0 -1
  680. package/php/math/decbin.js.map +0 -1
  681. package/php/math/dechex.js.map +0 -1
  682. package/php/math/decoct.js.map +0 -1
  683. package/php/math/deg2rad.js.map +0 -1
  684. package/php/math/exp.js.map +0 -1
  685. package/php/math/expm1.js.map +0 -1
  686. package/php/math/floor.js.map +0 -1
  687. package/php/math/fmod.js.map +0 -1
  688. package/php/math/getrandmax.js.map +0 -1
  689. package/php/math/hexdec.js.map +0 -1
  690. package/php/math/hypot.js.map +0 -1
  691. package/php/math/index.js.map +0 -1
  692. package/php/math/is_finite.js.map +0 -1
  693. package/php/math/is_infinite.js.map +0 -1
  694. package/php/math/is_nan.js.map +0 -1
  695. package/php/math/lcg_value.js.map +0 -1
  696. package/php/math/log.js.map +0 -1
  697. package/php/math/log10.js.map +0 -1
  698. package/php/math/log1p.js.map +0 -1
  699. package/php/math/max.js.map +0 -1
  700. package/php/math/min.js.map +0 -1
  701. package/php/math/mt_getrandmax.js.map +0 -1
  702. package/php/math/mt_rand.js.map +0 -1
  703. package/php/math/octdec.js.map +0 -1
  704. package/php/math/pi.js.map +0 -1
  705. package/php/math/pow.js.map +0 -1
  706. package/php/math/rad2deg.js.map +0 -1
  707. package/php/math/rand.js.map +0 -1
  708. package/php/math/round.js.map +0 -1
  709. package/php/math/sin.js.map +0 -1
  710. package/php/math/sinh.js.map +0 -1
  711. package/php/math/sqrt.js.map +0 -1
  712. package/php/math/tan.js.map +0 -1
  713. package/php/math/tanh.js.map +0 -1
  714. package/php/misc/index.js.map +0 -1
  715. package/php/misc/pack.js.map +0 -1
  716. package/php/misc/uniqid.js.map +0 -1
  717. package/php/net-gopher/gopher_parsedir.js.map +0 -1
  718. package/php/net-gopher/index.js.map +0 -1
  719. package/php/network/index.js.map +0 -1
  720. package/php/network/inet_ntop.js.map +0 -1
  721. package/php/network/inet_pton.js.map +0 -1
  722. package/php/network/ip2long.js.map +0 -1
  723. package/php/network/long2ip.js.map +0 -1
  724. package/php/network/setcookie.js.map +0 -1
  725. package/php/network/setrawcookie.js.map +0 -1
  726. package/php/pcre/index.js.map +0 -1
  727. package/php/pcre/preg_match.js.map +0 -1
  728. package/php/pcre/preg_quote.js.map +0 -1
  729. package/php/pcre/preg_replace.js.map +0 -1
  730. package/php/pcre/sql_regcase.js.map +0 -1
  731. package/php/strings/addcslashes.js.map +0 -1
  732. package/php/strings/addslashes.js.map +0 -1
  733. package/php/strings/bin2hex.js.map +0 -1
  734. package/php/strings/chop.js.map +0 -1
  735. package/php/strings/chr.js.map +0 -1
  736. package/php/strings/chunk_split.js.map +0 -1
  737. package/php/strings/convert_cyr_string.js.map +0 -1
  738. package/php/strings/convert_uuencode.js.map +0 -1
  739. package/php/strings/count_chars.js.map +0 -1
  740. package/php/strings/crc32.js.map +0 -1
  741. package/php/strings/echo.js.map +0 -1
  742. package/php/strings/explode.js.map +0 -1
  743. package/php/strings/get_html_translation_table.js.map +0 -1
  744. package/php/strings/hex2bin.js.map +0 -1
  745. package/php/strings/html_entity_decode.js.map +0 -1
  746. package/php/strings/htmlentities.js.map +0 -1
  747. package/php/strings/htmlspecialchars.js.map +0 -1
  748. package/php/strings/htmlspecialchars_decode.js.map +0 -1
  749. package/php/strings/implode.js.map +0 -1
  750. package/php/strings/index.js.map +0 -1
  751. package/php/strings/join.js.map +0 -1
  752. package/php/strings/lcfirst.js.map +0 -1
  753. package/php/strings/levenshtein.js.map +0 -1
  754. package/php/strings/localeconv.js.map +0 -1
  755. package/php/strings/ltrim.js.map +0 -1
  756. package/php/strings/md5.js.map +0 -1
  757. package/php/strings/md5_file.js.map +0 -1
  758. package/php/strings/metaphone.js.map +0 -1
  759. package/php/strings/money_format.js.map +0 -1
  760. package/php/strings/nl2br.js.map +0 -1
  761. package/php/strings/nl_langinfo.js.map +0 -1
  762. package/php/strings/number_format.js.map +0 -1
  763. package/php/strings/ord.js.map +0 -1
  764. package/php/strings/parse_str.js.map +0 -1
  765. package/php/strings/printf.js.map +0 -1
  766. package/php/strings/quoted_printable_decode.js.map +0 -1
  767. package/php/strings/quoted_printable_encode.js.map +0 -1
  768. package/php/strings/quotemeta.js.map +0 -1
  769. package/php/strings/rtrim.js.map +0 -1
  770. package/php/strings/setlocale.js.map +0 -1
  771. package/php/strings/sha1.js.map +0 -1
  772. package/php/strings/sha1_file.js.map +0 -1
  773. package/php/strings/similar_text.js.map +0 -1
  774. package/php/strings/soundex.js.map +0 -1
  775. package/php/strings/split.js.map +0 -1
  776. package/php/strings/sprintf.js.map +0 -1
  777. package/php/strings/sscanf.js.map +0 -1
  778. package/php/strings/str_getcsv.js.map +0 -1
  779. package/php/strings/str_ireplace.js.map +0 -1
  780. package/php/strings/str_pad.js.map +0 -1
  781. package/php/strings/str_repeat.js.map +0 -1
  782. package/php/strings/str_replace.js.map +0 -1
  783. package/php/strings/str_rot13.js.map +0 -1
  784. package/php/strings/str_shuffle.js.map +0 -1
  785. package/php/strings/str_split.js.map +0 -1
  786. package/php/strings/str_word_count.js.map +0 -1
  787. package/php/strings/strcasecmp.js.map +0 -1
  788. package/php/strings/strchr.js.map +0 -1
  789. package/php/strings/strcmp.js.map +0 -1
  790. package/php/strings/strcoll.js.map +0 -1
  791. package/php/strings/strcspn.js.map +0 -1
  792. package/php/strings/strip_tags.js.map +0 -1
  793. package/php/strings/stripos.js.map +0 -1
  794. package/php/strings/stripslashes.js.map +0 -1
  795. package/php/strings/stristr.js.map +0 -1
  796. package/php/strings/strlen.js.map +0 -1
  797. package/php/strings/strnatcasecmp.js.map +0 -1
  798. package/php/strings/strnatcmp.js.map +0 -1
  799. package/php/strings/strncasecmp.js.map +0 -1
  800. package/php/strings/strncmp.js.map +0 -1
  801. package/php/strings/strpbrk.js.map +0 -1
  802. package/php/strings/strpos.js.map +0 -1
  803. package/php/strings/strrchr.js.map +0 -1
  804. package/php/strings/strrev.js.map +0 -1
  805. package/php/strings/strripos.js.map +0 -1
  806. package/php/strings/strrpos.js.map +0 -1
  807. package/php/strings/strspn.js.map +0 -1
  808. package/php/strings/strstr.js.map +0 -1
  809. package/php/strings/strtok.js.map +0 -1
  810. package/php/strings/strtolower.js.map +0 -1
  811. package/php/strings/strtoupper.js.map +0 -1
  812. package/php/strings/strtr.js.map +0 -1
  813. package/php/strings/substr.js.map +0 -1
  814. package/php/strings/substr_compare.js.map +0 -1
  815. package/php/strings/substr_count.js.map +0 -1
  816. package/php/strings/substr_replace.js.map +0 -1
  817. package/php/strings/trim.js.map +0 -1
  818. package/php/strings/ucfirst.js.map +0 -1
  819. package/php/strings/ucwords.js.map +0 -1
  820. package/php/strings/vprintf.js.map +0 -1
  821. package/php/strings/vsprintf.js.map +0 -1
  822. package/php/strings/wordwrap.js.map +0 -1
  823. package/php/url/base64_decode.js.map +0 -1
  824. package/php/url/base64_encode.js.map +0 -1
  825. package/php/url/http_build_query.js.map +0 -1
  826. package/php/url/index.js.map +0 -1
  827. package/php/url/parse_url.js.map +0 -1
  828. package/php/url/rawurldecode.js.map +0 -1
  829. package/php/url/rawurlencode.js.map +0 -1
  830. package/php/url/urldecode.js.map +0 -1
  831. package/php/url/urlencode.js.map +0 -1
  832. package/php/var/boolval.js.map +0 -1
  833. package/php/var/doubleval.js.map +0 -1
  834. package/php/var/empty.js.map +0 -1
  835. package/php/var/floatval.js.map +0 -1
  836. package/php/var/gettype.js.map +0 -1
  837. package/php/var/index.js.map +0 -1
  838. package/php/var/intval.js.map +0 -1
  839. package/php/var/is_array.js.map +0 -1
  840. package/php/var/is_binary.js.map +0 -1
  841. package/php/var/is_bool.js.map +0 -1
  842. package/php/var/is_buffer.js.map +0 -1
  843. package/php/var/is_callable.js.map +0 -1
  844. package/php/var/is_double.js.map +0 -1
  845. package/php/var/is_float.js.map +0 -1
  846. package/php/var/is_int.js.map +0 -1
  847. package/php/var/is_integer.js.map +0 -1
  848. package/php/var/is_long.js.map +0 -1
  849. package/php/var/is_null.js.map +0 -1
  850. package/php/var/is_numeric.js.map +0 -1
  851. package/php/var/is_object.js.map +0 -1
  852. package/php/var/is_real.js.map +0 -1
  853. package/php/var/is_scalar.js.map +0 -1
  854. package/php/var/is_string.js.map +0 -1
  855. package/php/var/is_unicode.js.map +0 -1
  856. package/php/var/isset.js.map +0 -1
  857. package/php/var/print_r.js.map +0 -1
  858. package/php/var/serialize.js.map +0 -1
  859. package/php/var/serialize.mocha.js +0 -14
  860. package/php/var/serialize.mocha.js.map +0 -1
  861. package/php/var/strval.js.map +0 -1
  862. package/php/var/unserialize.js.map +0 -1
  863. package/php/var/var_dump.js.map +0 -1
  864. package/php/var/var_export.js.map +0 -1
  865. package/php/xdiff/index.js.map +0 -1
  866. package/php/xdiff/xdiff_string_diff.js.map +0 -1
  867. package/php/xdiff/xdiff_string_patch.js.map +0 -1
  868. package/php/xml/index.js.map +0 -1
  869. package/php/xml/utf8_decode.js.map +0 -1
  870. package/php/xml/utf8_encode.js.map +0 -1
  871. package/python/index.js.map +0 -1
  872. package/python/string/ascii_letters.js.map +0 -1
  873. package/python/string/ascii_lowercase.js.map +0 -1
  874. package/python/string/ascii_uppercase.js.map +0 -1
  875. package/python/string/capwords.js.map +0 -1
  876. package/python/string/index.js.map +0 -1
  877. package/python/string/punctuation.js.map +0 -1
  878. package/ruby/Math/acos.js.map +0 -1
  879. package/ruby/Math/index.js.map +0 -1
  880. package/ruby/index.js.map +0 -1
package/php/array/key.js CHANGED
@@ -1,54 +1,52 @@
1
- 'use strict';
2
-
3
1
  module.exports = function key(arr) {
4
- // discuss at: https://locutus.io/php/key/
5
- // original by: Brett Zamir (https://brett-zamir.me)
6
- // input by: Riddler (https://www.frontierwebdev.com/)
7
- // bugfixed by: Brett Zamir (https://brett-zamir.me)
8
- // note 1: Uses global: locutus to store the array pointer
9
- // example 1: var $array = {fruit1: 'apple', 'fruit2': 'orange'}
10
- // example 1: key($array)
11
- // returns 1: 'fruit1'
2
+ // discuss at: https://locutus.io/php/key/
3
+ // parity verified: PHP 8.3
4
+ // original by: Brett Zamir (https://brett-zamir.me)
5
+ // input by: Riddler (https://www.frontierwebdev.com/)
6
+ // bugfixed by: Brett Zamir (https://brett-zamir.me)
7
+ // note 1: Uses global: locutus to store the array pointer
8
+ // example 1: var $array = {fruit1: 'apple', 'fruit2': 'orange'}
9
+ // example 1: key($array)
10
+ // returns 1: 'fruit1'
12
11
 
13
- var $global = typeof window !== 'undefined' ? window : global;
14
- $global.$locutus = $global.$locutus || {};
15
- var $locutus = $global.$locutus;
16
- $locutus.php = $locutus.php || {};
17
- $locutus.php.pointers = $locutus.php.pointers || [];
18
- var pointers = $locutus.php.pointers;
12
+ const $global = typeof window !== 'undefined' ? window : global
13
+ $global.$locutus = $global.$locutus || {}
14
+ const $locutus = $global.$locutus
15
+ $locutus.php = $locutus.php || {}
16
+ $locutus.php.pointers = $locutus.php.pointers || []
17
+ const pointers = $locutus.php.pointers
19
18
 
20
- var indexOf = function indexOf(value) {
21
- for (var i = 0, length = this.length; i < length; i++) {
19
+ const indexOf = function (value) {
20
+ for (let i = 0, length = this.length; i < length; i++) {
22
21
  if (this[i] === value) {
23
- return i;
22
+ return i
24
23
  }
25
24
  }
26
- return -1;
27
- };
25
+ return -1
26
+ }
28
27
 
29
28
  if (!pointers.indexOf) {
30
- pointers.indexOf = indexOf;
29
+ pointers.indexOf = indexOf
31
30
  }
32
31
 
33
32
  if (pointers.indexOf(arr) === -1) {
34
- pointers.push(arr, 0);
33
+ pointers.push(arr, 0)
35
34
  }
36
- var cursor = pointers[pointers.indexOf(arr) + 1];
37
- if (Object.prototype.toString.call(arr) !== '[object Array]') {
38
- var ct = 0;
39
- for (var k in arr) {
35
+ const cursor = pointers[pointers.indexOf(arr) + 1]
36
+ if (!Array.isArray(arr)) {
37
+ let ct = 0
38
+ for (const k in arr) {
40
39
  if (ct === cursor) {
41
- return k;
40
+ return k
42
41
  }
43
- ct++;
42
+ ct++
44
43
  }
45
44
  // Empty
46
- return false;
45
+ return false
47
46
  }
48
47
  if (arr.length === 0) {
49
- return false;
48
+ return false
50
49
  }
51
50
 
52
- return cursor;
53
- };
54
- //# sourceMappingURL=key.js.map
51
+ return cursor
52
+ }
@@ -1,5 +1,3 @@
1
- 'use strict';
2
-
3
1
  module.exports = function krsort(inputArr, sortFlags) {
4
2
  // discuss at: https://locutus.io/php/krsort/
5
3
  // original by: GeekFG (https://geekfg.blogspot.com)
@@ -30,88 +28,89 @@ module.exports = function krsort(inputArr, sortFlags) {
30
28
  // example 2: var $result = $data
31
29
  // returns 2: {3: 'Zonneveld', 2: 'van', 1: 'Kevin'}
32
30
 
33
- var i18nlgd = require('../i18n/i18n_loc_get_default');
34
- var strnatcmp = require('../strings/strnatcmp');
31
+ const i18nlgd = require('../i18n/i18n_loc_get_default')
32
+ const strnatcmp = require('../strings/strnatcmp')
35
33
 
36
- var tmpArr = {};
37
- var keys = [];
38
- var sorter = void 0;
39
- var i = void 0;
40
- var k = void 0;
41
- var sortByReference = false;
42
- var populateArr = {};
34
+ const tmpArr = {}
35
+ const keys = []
36
+ let sorter
37
+ let i
38
+ let k
39
+ let sortByReference = false
40
+ let populateArr = {}
43
41
 
44
- var $global = typeof window !== 'undefined' ? window : global;
45
- $global.$locutus = $global.$locutus || {};
46
- var $locutus = $global.$locutus;
47
- $locutus.php = $locutus.php || {};
48
- $locutus.php.locales = $locutus.php.locales || {};
42
+ const $global = typeof window !== 'undefined' ? window : global
43
+ $global.$locutus = $global.$locutus || {}
44
+ const $locutus = $global.$locutus
45
+ $locutus.php = $locutus.php || {}
46
+ $locutus.php.locales = $locutus.php.locales || {}
49
47
 
50
48
  switch (sortFlags) {
51
49
  case 'SORT_STRING':
52
50
  // compare items as strings
53
- sorter = function sorter(a, b) {
54
- return strnatcmp(b, a);
55
- };
56
- break;
57
- case 'SORT_LOCALE_STRING':
51
+ sorter = function (a, b) {
52
+ return strnatcmp(b, a)
53
+ }
54
+ break
55
+ case 'SORT_LOCALE_STRING': {
58
56
  // compare items as strings, based on the current locale
59
57
  // (set with i18n_loc_set_default() as of PHP6)
60
- var loc = i18nlgd();
61
- sorter = $locutus.locales[loc].sorting;
62
- break;
58
+ const loc = i18nlgd()
59
+ sorter = $locutus.locales[loc].sorting
60
+ break
61
+ }
63
62
  case 'SORT_NUMERIC':
64
63
  // compare items numerically
65
- sorter = function sorter(a, b) {
66
- return b - a;
67
- };
68
- break;
64
+ sorter = function (a, b) {
65
+ return b - a
66
+ }
67
+ break
69
68
  case 'SORT_REGULAR':
70
69
  default:
71
70
  // compare items normally (don't change types)
72
- sorter = function sorter(b, a) {
73
- var aFloat = parseFloat(a);
74
- var bFloat = parseFloat(b);
75
- var aNumeric = aFloat + '' === a;
76
- var bNumeric = bFloat + '' === b;
71
+ sorter = function (b, a) {
72
+ const aFloat = parseFloat(a)
73
+ const bFloat = parseFloat(b)
74
+ const aNumeric = aFloat + '' === a
75
+ const bNumeric = bFloat + '' === b
77
76
  if (aNumeric && bNumeric) {
78
- return aFloat > bFloat ? 1 : aFloat < bFloat ? -1 : 0;
77
+ return aFloat > bFloat ? 1 : aFloat < bFloat ? -1 : 0
79
78
  } else if (aNumeric && !bNumeric) {
80
- return 1;
79
+ return 1
81
80
  } else if (!aNumeric && bNumeric) {
82
- return -1;
81
+ return -1
83
82
  }
84
- return a > b ? 1 : a < b ? -1 : 0;
85
- };
86
- break;
83
+ return a > b ? 1 : a < b ? -1 : 0
84
+ }
85
+ break
87
86
  }
88
87
 
89
88
  // Make a list of key names
90
89
  for (k in inputArr) {
91
90
  if (inputArr.hasOwnProperty(k)) {
92
- keys.push(k);
91
+ keys.push(k)
93
92
  }
94
93
  }
95
- keys.sort(sorter);
94
+ keys.sort(sorter)
96
95
 
97
- var iniVal = (typeof require !== 'undefined' ? require('../info/ini_get')('locutus.sortByReference') : undefined) || 'on';
98
- sortByReference = iniVal === 'on';
99
- populateArr = sortByReference ? inputArr : populateArr;
96
+ const iniVal =
97
+ (typeof require !== 'undefined' ? require('../info/ini_get')('locutus.sortByReference') : undefined) || 'on'
98
+ sortByReference = iniVal === 'on'
99
+ populateArr = sortByReference ? inputArr : populateArr
100
100
 
101
101
  // Rebuild array with sorted key names
102
102
  for (i = 0; i < keys.length; i++) {
103
- k = keys[i];
104
- tmpArr[k] = inputArr[k];
103
+ k = keys[i]
104
+ tmpArr[k] = inputArr[k]
105
105
  if (sortByReference) {
106
- delete inputArr[k];
106
+ delete inputArr[k]
107
107
  }
108
108
  }
109
109
  for (i in tmpArr) {
110
110
  if (tmpArr.hasOwnProperty(i)) {
111
- populateArr[i] = tmpArr[i];
111
+ populateArr[i] = tmpArr[i]
112
112
  }
113
113
  }
114
114
 
115
- return sortByReference || populateArr;
116
- };
117
- //# sourceMappingURL=krsort.js.map
115
+ return sortByReference || populateArr
116
+ }
@@ -1,5 +1,3 @@
1
- 'use strict';
2
-
3
1
  module.exports = function ksort(inputArr, sortFlags) {
4
2
  // discuss at: https://locutus.io/php/ksort/
5
3
  // original by: GeekFG (https://geekfg.blogspot.com)
@@ -28,87 +26,88 @@ module.exports = function ksort(inputArr, sortFlags) {
28
26
  // example 2: var $result = $data
29
27
  // returns 2: {1: 'Kevin', 2: 'van', 3: 'Zonneveld'}
30
28
 
31
- var i18nlgd = require('../i18n/i18n_loc_get_default');
32
- var strnatcmp = require('../strings/strnatcmp');
29
+ const i18nlgd = require('../i18n/i18n_loc_get_default')
30
+ const strnatcmp = require('../strings/strnatcmp')
33
31
 
34
- var tmpArr = {};
35
- var keys = [];
36
- var sorter = void 0;
37
- var i = void 0;
38
- var k = void 0;
39
- var sortByReference = false;
40
- var populateArr = {};
32
+ const tmpArr = {}
33
+ const keys = []
34
+ let sorter
35
+ let i
36
+ let k
37
+ let sortByReference = false
38
+ let populateArr = {}
41
39
 
42
- var $global = typeof window !== 'undefined' ? window : global;
43
- $global.$locutus = $global.$locutus || {};
44
- var $locutus = $global.$locutus;
45
- $locutus.php = $locutus.php || {};
46
- $locutus.php.locales = $locutus.php.locales || {};
40
+ const $global = typeof window !== 'undefined' ? window : global
41
+ $global.$locutus = $global.$locutus || {}
42
+ const $locutus = $global.$locutus
43
+ $locutus.php = $locutus.php || {}
44
+ $locutus.php.locales = $locutus.php.locales || {}
47
45
 
48
46
  switch (sortFlags) {
49
47
  case 'SORT_STRING':
50
48
  // compare items as strings
51
- sorter = function sorter(a, b) {
52
- return strnatcmp(b, a);
53
- };
54
- break;
55
- case 'SORT_LOCALE_STRING':
49
+ sorter = function (a, b) {
50
+ return strnatcmp(b, a)
51
+ }
52
+ break
53
+ case 'SORT_LOCALE_STRING': {
56
54
  // compare items as strings, based on the current locale
57
55
  // (set with i18n_loc_set_default() as of PHP6)
58
- var loc = i18nlgd();
59
- sorter = $locutus.locales[loc].sorting;
60
- break;
56
+ const loc = i18nlgd()
57
+ sorter = $locutus.locales[loc].sorting
58
+ break
59
+ }
61
60
  case 'SORT_NUMERIC':
62
61
  // compare items numerically
63
- sorter = function sorter(a, b) {
64
- return a + 0 - (b + 0);
65
- };
66
- break;
62
+ sorter = function (a, b) {
63
+ return a + 0 - (b + 0)
64
+ }
65
+ break
67
66
  default:
68
67
  // case 'SORT_REGULAR': // compare items normally (don't change types)
69
- sorter = function sorter(a, b) {
70
- var aFloat = parseFloat(a);
71
- var bFloat = parseFloat(b);
72
- var aNumeric = aFloat + '' === a;
73
- var bNumeric = bFloat + '' === b;
68
+ sorter = function (a, b) {
69
+ const aFloat = parseFloat(a)
70
+ const bFloat = parseFloat(b)
71
+ const aNumeric = aFloat + '' === a
72
+ const bNumeric = bFloat + '' === b
74
73
  if (aNumeric && bNumeric) {
75
- return aFloat > bFloat ? 1 : aFloat < bFloat ? -1 : 0;
74
+ return aFloat > bFloat ? 1 : aFloat < bFloat ? -1 : 0
76
75
  } else if (aNumeric && !bNumeric) {
77
- return 1;
76
+ return 1
78
77
  } else if (!aNumeric && bNumeric) {
79
- return -1;
78
+ return -1
80
79
  }
81
- return a > b ? 1 : a < b ? -1 : 0;
82
- };
83
- break;
80
+ return a > b ? 1 : a < b ? -1 : 0
81
+ }
82
+ break
84
83
  }
85
84
 
86
85
  // Make a list of key names
87
86
  for (k in inputArr) {
88
87
  if (inputArr.hasOwnProperty(k)) {
89
- keys.push(k);
88
+ keys.push(k)
90
89
  }
91
90
  }
92
- keys.sort(sorter);
91
+ keys.sort(sorter)
93
92
 
94
- var iniVal = (typeof require !== 'undefined' ? require('../info/ini_get')('locutus.sortByReference') : undefined) || 'on';
95
- sortByReference = iniVal === 'on';
96
- populateArr = sortByReference ? inputArr : populateArr;
93
+ const iniVal =
94
+ (typeof require !== 'undefined' ? require('../info/ini_get')('locutus.sortByReference') : undefined) || 'on'
95
+ sortByReference = iniVal === 'on'
96
+ populateArr = sortByReference ? inputArr : populateArr
97
97
 
98
98
  // Rebuild array with sorted key names
99
99
  for (i = 0; i < keys.length; i++) {
100
- k = keys[i];
101
- tmpArr[k] = inputArr[k];
100
+ k = keys[i]
101
+ tmpArr[k] = inputArr[k]
102
102
  if (sortByReference) {
103
- delete inputArr[k];
103
+ delete inputArr[k]
104
104
  }
105
105
  }
106
106
  for (i in tmpArr) {
107
107
  if (tmpArr.hasOwnProperty(i)) {
108
- populateArr[i] = tmpArr[i];
108
+ populateArr[i] = tmpArr[i]
109
109
  }
110
110
  }
111
111
 
112
- return sortByReference || populateArr;
113
- };
114
- //# sourceMappingURL=ksort.js.map
112
+ return sortByReference || populateArr
113
+ }
@@ -1,55 +1,54 @@
1
- 'use strict';
2
-
3
1
  module.exports = function natcasesort(inputArr) {
4
- // discuss at: https://locutus.io/php/natcasesort/
5
- // original by: Brett Zamir (https://brett-zamir.me)
6
- // improved by: Brett Zamir (https://brett-zamir.me)
7
- // improved by: Theriault (https://github.com/Theriault)
8
- // note 1: This function deviates from PHP in returning a copy of the array instead
9
- // note 1: of acting by reference and returning true; this was necessary because
10
- // note 1: IE does not allow deleting and re-adding of properties without caching
11
- // note 1: of property position; you can set the ini of "locutus.sortByReference" to true to
12
- // note 1: get the PHP behavior, but use this only if you are in an environment
13
- // note 1: such as Firefox extensions where for-in iteration order is fixed and true
14
- // note 1: property deletion is supported. Note that we intend to implement the PHP
15
- // note 1: behavior by default if IE ever does allow it; only gives shallow copy since
16
- // note 1: is by reference in PHP anyways
17
- // note 1: We cannot use numbers as keys and have them be reordered since they
18
- // note 1: adhere to numerical order in some implementations
19
- // example 1: var $array1 = {a:'IMG0.png', b:'img12.png', c:'img10.png', d:'img2.png', e:'img1.png', f:'IMG3.png'}
20
- // example 1: natcasesort($array1)
21
- // example 1: var $result = $array1
22
- // returns 1: {a: 'IMG0.png', e: 'img1.png', d: 'img2.png', f: 'IMG3.png', c: 'img10.png', b: 'img12.png'}
2
+ // discuss at: https://locutus.io/php/natcasesort/
3
+ // parity verified: PHP 8.3
4
+ // original by: Brett Zamir (https://brett-zamir.me)
5
+ // improved by: Brett Zamir (https://brett-zamir.me)
6
+ // improved by: Theriault (https://github.com/Theriault)
7
+ // note 1: This function deviates from PHP in returning a copy of the array instead
8
+ // note 1: of acting by reference and returning true; this was necessary because
9
+ // note 1: IE does not allow deleting and re-adding of properties without caching
10
+ // note 1: of property position; you can set the ini of "locutus.sortByReference" to true to
11
+ // note 1: get the PHP behavior, but use this only if you are in an environment
12
+ // note 1: such as Firefox extensions where for-in iteration order is fixed and true
13
+ // note 1: property deletion is supported. Note that we intend to implement the PHP
14
+ // note 1: behavior by default if IE ever does allow it; only gives shallow copy since
15
+ // note 1: is by reference in PHP anyways
16
+ // note 1: We cannot use numbers as keys and have them be reordered since they
17
+ // note 1: adhere to numerical order in some implementations
18
+ // example 1: var $array1 = {a:'IMG0.png', b:'img12.png', c:'img10.png', d:'img2.png', e:'img1.png', f:'IMG3.png'}
19
+ // example 1: natcasesort($array1)
20
+ // example 1: var $result = $array1
21
+ // returns 1: {a: 'IMG0.png', e: 'img1.png', d: 'img2.png', f: 'IMG3.png', c: 'img10.png', b: 'img12.png'}
23
22
 
24
- var strnatcasecmp = require('../strings/strnatcasecmp');
25
- var valArr = [];
26
- var k = void 0;
27
- var i = void 0;
28
- var sortByReference = false;
29
- var populateArr = {};
23
+ const strnatcasecmp = require('../strings/strnatcasecmp')
24
+ const valArr = []
25
+ let k
26
+ let i
27
+ let sortByReference = false
28
+ let populateArr = {}
30
29
 
31
- var iniVal = (typeof require !== 'undefined' ? require('../info/ini_get')('locutus.sortByReference') : undefined) || 'on';
32
- sortByReference = iniVal === 'on';
33
- populateArr = sortByReference ? inputArr : populateArr;
30
+ const iniVal =
31
+ (typeof require !== 'undefined' ? require('../info/ini_get')('locutus.sortByReference') : undefined) || 'on'
32
+ sortByReference = iniVal === 'on'
33
+ populateArr = sortByReference ? inputArr : populateArr
34
34
 
35
35
  // Get key and value arrays
36
36
  for (k in inputArr) {
37
37
  if (inputArr.hasOwnProperty(k)) {
38
- valArr.push([k, inputArr[k]]);
38
+ valArr.push([k, inputArr[k]])
39
39
  if (sortByReference) {
40
- delete inputArr[k];
40
+ delete inputArr[k]
41
41
  }
42
42
  }
43
43
  }
44
44
  valArr.sort(function (a, b) {
45
- return strnatcasecmp(a[1], b[1]);
46
- });
45
+ return strnatcasecmp(a[1], b[1])
46
+ })
47
47
 
48
48
  // Repopulate the old array
49
49
  for (i = 0; i < valArr.length; i++) {
50
- populateArr[valArr[i][0]] = valArr[i][1];
50
+ populateArr[valArr[i][0]] = valArr[i][1]
51
51
  }
52
52
 
53
- return sortByReference || populateArr;
54
- };
55
- //# sourceMappingURL=natcasesort.js.map
53
+ return sortByReference || populateArr
54
+ }
@@ -1,54 +1,53 @@
1
- 'use strict';
2
-
3
1
  module.exports = function natsort(inputArr) {
4
- // discuss at: https://locutus.io/php/natsort/
5
- // original by: Brett Zamir (https://brett-zamir.me)
6
- // improved by: Brett Zamir (https://brett-zamir.me)
7
- // improved by: Theriault (https://github.com/Theriault)
8
- // note 1: This function deviates from PHP in returning a copy of the array instead
9
- // note 1: of acting by reference and returning true; this was necessary because
10
- // note 1: IE does not allow deleting and re-adding of properties without caching
11
- // note 1: of property position; you can set the ini of "locutus.sortByReference" to true to
12
- // note 1: get the PHP behavior, but use this only if you are in an environment
13
- // note 1: such as Firefox extensions where for-in iteration order is fixed and true
14
- // note 1: property deletion is supported. Note that we intend to implement the PHP
15
- // note 1: behavior by default if IE ever does allow it; only gives shallow copy since
16
- // note 1: is by reference in PHP anyways
17
- // example 1: var $array1 = {a:"img12.png", b:"img10.png", c:"img2.png", d:"img1.png"}
18
- // example 1: natsort($array1)
19
- // example 1: var $result = $array1
20
- // returns 1: {d: 'img1.png', c: 'img2.png', b: 'img10.png', a: 'img12.png'}
2
+ // discuss at: https://locutus.io/php/natsort/
3
+ // parity verified: PHP 8.3
4
+ // original by: Brett Zamir (https://brett-zamir.me)
5
+ // improved by: Brett Zamir (https://brett-zamir.me)
6
+ // improved by: Theriault (https://github.com/Theriault)
7
+ // note 1: This function deviates from PHP in returning a copy of the array instead
8
+ // note 1: of acting by reference and returning true; this was necessary because
9
+ // note 1: IE does not allow deleting and re-adding of properties without caching
10
+ // note 1: of property position; you can set the ini of "locutus.sortByReference" to true to
11
+ // note 1: get the PHP behavior, but use this only if you are in an environment
12
+ // note 1: such as Firefox extensions where for-in iteration order is fixed and true
13
+ // note 1: property deletion is supported. Note that we intend to implement the PHP
14
+ // note 1: behavior by default if IE ever does allow it; only gives shallow copy since
15
+ // note 1: is by reference in PHP anyways
16
+ // example 1: var $array1 = {a:"img12.png", b:"img10.png", c:"img2.png", d:"img1.png"}
17
+ // example 1: natsort($array1)
18
+ // example 1: var $result = $array1
19
+ // returns 1: {d: 'img1.png', c: 'img2.png', b: 'img10.png', a: 'img12.png'}
21
20
 
22
- var strnatcmp = require('../strings/strnatcmp');
21
+ const strnatcmp = require('../strings/strnatcmp')
23
22
 
24
- var valArr = [];
25
- var k = void 0;
26
- var i = void 0;
27
- var sortByReference = false;
28
- var populateArr = {};
23
+ const valArr = []
24
+ let k
25
+ let i
26
+ let sortByReference = false
27
+ let populateArr = {}
29
28
 
30
- var iniVal = (typeof require !== 'undefined' ? require('../info/ini_get')('locutus.sortByReference') : undefined) || 'on';
31
- sortByReference = iniVal === 'on';
32
- populateArr = sortByReference ? inputArr : populateArr;
29
+ const iniVal =
30
+ (typeof require !== 'undefined' ? require('../info/ini_get')('locutus.sortByReference') : undefined) || 'on'
31
+ sortByReference = iniVal === 'on'
32
+ populateArr = sortByReference ? inputArr : populateArr
33
33
 
34
34
  // Get key and value arrays
35
35
  for (k in inputArr) {
36
36
  if (inputArr.hasOwnProperty(k)) {
37
- valArr.push([k, inputArr[k]]);
37
+ valArr.push([k, inputArr[k]])
38
38
  if (sortByReference) {
39
- delete inputArr[k];
39
+ delete inputArr[k]
40
40
  }
41
41
  }
42
42
  }
43
43
  valArr.sort(function (a, b) {
44
- return strnatcmp(a[1], b[1]);
45
- });
44
+ return strnatcmp(a[1], b[1])
45
+ })
46
46
 
47
47
  // Repopulate the old array
48
48
  for (i = 0; i < valArr.length; i++) {
49
- populateArr[valArr[i][0]] = valArr[i][1];
49
+ populateArr[valArr[i][0]] = valArr[i][1]
50
50
  }
51
51
 
52
- return sortByReference || populateArr;
53
- };
54
- //# sourceMappingURL=natsort.js.map
52
+ return sortByReference || populateArr
53
+ }