locutus 2.0.12 → 2.0.16

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 (419) hide show
  1. package/_util/cli.js.map +1 -1
  2. package/_util/util.js +11 -16
  3. package/_util/util.js.map +1 -1
  4. package/c/index.js +2 -2
  5. package/c/index.js.map +1 -1
  6. package/c/math/index.js +2 -2
  7. package/c/math/index.js.map +1 -1
  8. package/c/stdio/index.js +1 -1
  9. package/c/stdio/index.js.map +1 -1
  10. package/c/stdio/sprintf.js +8 -1
  11. package/c/stdio/sprintf.js.map +1 -1
  12. package/golang/index.js +1 -1
  13. package/golang/index.js.map +1 -1
  14. package/golang/strings/Count.js +1 -1
  15. package/golang/strings/Count.js.map +1 -1
  16. package/golang/strings/index.js +4 -4
  17. package/golang/strings/index.js.map +1 -1
  18. package/index.js +5 -5
  19. package/index.js.map +1 -1
  20. package/package.json +39 -40
  21. package/php/_helpers/_bc.js +104 -48
  22. package/php/_helpers/_bc.js.map +1 -1
  23. package/php/_helpers/_phpCastString.js.map +1 -1
  24. package/php/_helpers/_php_cast_float.js.map +1 -1
  25. package/php/_helpers/_php_cast_int.js.map +1 -1
  26. package/php/_helpers/index.js +4 -4
  27. package/php/_helpers/index.js.map +1 -1
  28. package/php/array/array_change_key_case.js +2 -2
  29. package/php/array/array_change_key_case.js.map +1 -1
  30. package/php/array/array_chunk.js +1 -1
  31. package/php/array/array_chunk.js.map +1 -1
  32. package/php/array/array_column.js.map +1 -1
  33. package/php/array/array_combine.js.map +1 -1
  34. package/php/array/array_count_values.js.map +1 -1
  35. package/php/array/array_diff.js.map +1 -1
  36. package/php/array/array_diff_assoc.js.map +1 -1
  37. package/php/array/array_diff_key.js.map +1 -1
  38. package/php/array/array_diff_uassoc.js.map +1 -1
  39. package/php/array/array_diff_ukey.js.map +1 -1
  40. package/php/array/array_fill.js +1 -1
  41. package/php/array/array_fill.js.map +1 -1
  42. package/php/array/array_fill_keys.js.map +1 -1
  43. package/php/array/array_filter.js +1 -1
  44. package/php/array/array_filter.js.map +1 -1
  45. package/php/array/array_flip.js +1 -1
  46. package/php/array/array_flip.js.map +1 -1
  47. package/php/array/array_intersect.js.map +1 -1
  48. package/php/array/array_intersect_assoc.js.map +1 -1
  49. package/php/array/array_intersect_key.js.map +1 -1
  50. package/php/array/array_intersect_uassoc.js.map +1 -1
  51. package/php/array/array_intersect_ukey.js.map +1 -1
  52. package/php/array/array_keys.js.map +1 -1
  53. package/php/array/array_map.js.map +1 -1
  54. package/php/array/array_merge.js +1 -1
  55. package/php/array/array_merge.js.map +1 -1
  56. package/php/array/array_merge_recursive.js.map +1 -1
  57. package/php/array/array_multisort.js +16 -16
  58. package/php/array/array_multisort.js.map +1 -1
  59. package/php/array/array_pad.js +1 -1
  60. package/php/array/array_pad.js.map +1 -1
  61. package/php/array/array_pop.js.map +1 -1
  62. package/php/array/array_product.js.map +1 -1
  63. package/php/array/array_push.js.map +1 -1
  64. package/php/array/array_rand.js.map +1 -1
  65. package/php/array/array_reduce.js.map +1 -1
  66. package/php/array/array_replace.js.map +1 -1
  67. package/php/array/array_replace_recursive.js +1 -1
  68. package/php/array/array_replace_recursive.js.map +1 -1
  69. package/php/array/array_reverse.js +1 -1
  70. package/php/array/array_reverse.js.map +1 -1
  71. package/php/array/array_search.js.map +1 -1
  72. package/php/array/array_shift.js +0 -19
  73. package/php/array/array_shift.js.map +1 -1
  74. package/php/array/array_slice.js.map +1 -1
  75. package/php/array/array_splice.js.map +1 -1
  76. package/php/array/array_sum.js +1 -1
  77. package/php/array/array_sum.js.map +1 -1
  78. package/php/array/array_udiff.js.map +1 -1
  79. package/php/array/array_udiff_assoc.js.map +1 -1
  80. package/php/array/array_udiff_uassoc.js.map +1 -1
  81. package/php/array/array_uintersect.js.map +1 -1
  82. package/php/array/array_uintersect_uassoc.js.map +1 -1
  83. package/php/array/array_unique.js.map +1 -1
  84. package/php/array/array_unshift.js.map +1 -1
  85. package/php/array/array_values.js.map +1 -1
  86. package/php/array/array_walk.js.map +1 -1
  87. package/php/array/array_walk_recursive.js.map +1 -1
  88. package/php/array/arsort.js +3 -3
  89. package/php/array/arsort.js.map +1 -1
  90. package/php/array/asort.js +3 -3
  91. package/php/array/asort.js.map +1 -1
  92. package/php/array/count.js +1 -1
  93. package/php/array/count.js.map +1 -1
  94. package/php/array/current.js.map +1 -1
  95. package/php/array/each.js.map +1 -1
  96. package/php/array/end.js +1 -1
  97. package/php/array/end.js.map +1 -1
  98. package/php/array/in_array.js.map +1 -1
  99. package/php/array/index.js +73 -72
  100. package/php/array/index.js.map +1 -1
  101. package/php/array/key.js.map +1 -1
  102. package/php/array/krsort.js +3 -3
  103. package/php/array/krsort.js.map +1 -1
  104. package/php/array/ksort.js +3 -3
  105. package/php/array/ksort.js.map +1 -1
  106. package/php/array/natcasesort.js +2 -2
  107. package/php/array/natcasesort.js.map +1 -1
  108. package/php/array/natsort.js +2 -2
  109. package/php/array/natsort.js.map +1 -1
  110. package/php/array/next.js.map +1 -1
  111. package/php/array/pos.js.map +1 -1
  112. package/php/array/prev.js.map +1 -1
  113. package/php/array/range.js +3 -3
  114. package/php/array/range.js.map +1 -1
  115. package/php/array/reset.js.map +1 -1
  116. package/php/array/rsort.js +3 -3
  117. package/php/array/rsort.js.map +1 -1
  118. package/php/array/shuffle.js.map +1 -1
  119. package/php/array/sizeof.js.map +1 -1
  120. package/php/array/sort.js +3 -3
  121. package/php/array/sort.js.map +1 -1
  122. package/php/array/uasort.js.map +1 -1
  123. package/php/array/uksort.js.map +1 -1
  124. package/php/array/usort.js.map +1 -1
  125. package/php/bc/bcadd.js +3 -1
  126. package/php/bc/bcadd.js.map +1 -1
  127. package/php/bc/bccomp.js +2 -1
  128. package/php/bc/bccomp.js.map +1 -1
  129. package/php/bc/bcdiv.js +3 -1
  130. package/php/bc/bcdiv.js.map +1 -1
  131. package/php/bc/bcmul.js +3 -1
  132. package/php/bc/bcmul.js.map +1 -1
  133. package/php/bc/bcround.js +4 -2
  134. package/php/bc/bcround.js.map +1 -1
  135. package/php/bc/bcscale.js.map +1 -1
  136. package/php/bc/bcsub.js +3 -1
  137. package/php/bc/bcsub.js.map +1 -1
  138. package/php/bc/index.js +7 -7
  139. package/php/bc/index.js.map +1 -1
  140. package/php/ctype/ctype_alnum.js.map +1 -1
  141. package/php/ctype/ctype_alpha.js.map +1 -1
  142. package/php/ctype/ctype_cntrl.js.map +1 -1
  143. package/php/ctype/ctype_digit.js.map +1 -1
  144. package/php/ctype/ctype_graph.js.map +1 -1
  145. package/php/ctype/ctype_lower.js.map +1 -1
  146. package/php/ctype/ctype_print.js.map +1 -1
  147. package/php/ctype/ctype_punct.js.map +1 -1
  148. package/php/ctype/ctype_space.js.map +1 -1
  149. package/php/ctype/ctype_upper.js.map +1 -1
  150. package/php/ctype/ctype_xdigit.js.map +1 -1
  151. package/php/ctype/index.js +11 -11
  152. package/php/ctype/index.js.map +1 -1
  153. package/php/datetime/date.js +2 -1
  154. package/php/datetime/date.js.map +1 -1
  155. package/php/datetime/date_parse.js +1 -1
  156. package/php/datetime/date_parse.js.map +1 -1
  157. package/php/datetime/getdate.js.map +1 -1
  158. package/php/datetime/gettimeofday.js.map +1 -1
  159. package/php/datetime/gmdate.js.map +1 -1
  160. package/php/datetime/gmmktime.js.map +1 -1
  161. package/php/datetime/gmstrftime.js.map +1 -1
  162. package/php/datetime/idate.js +1 -1
  163. package/php/datetime/idate.js.map +1 -1
  164. package/php/datetime/index.js +15 -15
  165. package/php/datetime/index.js.map +1 -1
  166. package/php/datetime/microtime.js +3 -3
  167. package/php/datetime/microtime.js.map +1 -1
  168. package/php/datetime/mktime.js.map +1 -1
  169. package/php/datetime/strftime.js +2 -3
  170. package/php/datetime/strftime.js.map +1 -1
  171. package/php/datetime/strptime.js +20 -21
  172. package/php/datetime/strptime.js.map +1 -1
  173. package/php/datetime/strtotime.js +170 -4
  174. package/php/datetime/strtotime.js.map +1 -1
  175. package/php/exec/escapeshellarg.js +12 -4
  176. package/php/exec/escapeshellarg.js.map +1 -1
  177. package/php/exec/index.js +1 -1
  178. package/php/exec/index.js.map +1 -1
  179. package/php/filesystem/basename.js.map +1 -1
  180. package/php/filesystem/file_get_contents.js.map +1 -1
  181. package/php/filesystem/index.js +5 -5
  182. package/php/filesystem/index.js.map +1 -1
  183. package/php/filesystem/pathinfo.js +7 -8
  184. package/php/filesystem/pathinfo.js.map +1 -1
  185. package/php/filesystem/realpath.js.map +1 -1
  186. package/php/funchand/call_user_func.js.map +1 -1
  187. package/php/funchand/call_user_func_array.js +1 -1
  188. package/php/funchand/call_user_func_array.js.map +1 -1
  189. package/php/funchand/function_exists.js.map +1 -1
  190. package/php/funchand/get_defined_functions.js.map +1 -1
  191. package/php/funchand/index.js +5 -5
  192. package/php/funchand/index.js.map +1 -1
  193. package/php/i18n/i18n_loc_get_default.js.map +1 -1
  194. package/php/i18n/i18n_loc_set_default.js.map +1 -1
  195. package/php/i18n/index.js +2 -2
  196. package/php/i18n/index.js.map +1 -1
  197. package/php/index.js +19 -19
  198. package/php/index.js.map +1 -1
  199. package/php/info/assert_options.js +2 -1
  200. package/php/info/assert_options.js.map +1 -1
  201. package/php/info/index.js +6 -6
  202. package/php/info/index.js.map +1 -1
  203. package/php/info/ini_get.js.map +1 -1
  204. package/php/info/ini_set.js.map +1 -1
  205. package/php/info/set_time_limit.js.map +1 -1
  206. package/php/info/version_compare.js +21 -22
  207. package/php/info/version_compare.js.map +1 -1
  208. package/php/json/index.js +3 -3
  209. package/php/json/index.js.map +1 -1
  210. package/php/json/json_decode.js +1 -1
  211. package/php/json/json_decode.js.map +1 -1
  212. package/php/json/json_encode.js +1 -1
  213. package/php/json/json_encode.js.map +1 -1
  214. package/php/json/json_last_error.js.map +1 -1
  215. package/php/math/fmod.js +2 -2
  216. package/php/math/fmod.js.map +1 -1
  217. package/php/math/hypot.js.map +1 -1
  218. package/php/math/index.js +46 -46
  219. package/php/math/index.js.map +1 -1
  220. package/php/math/is_finite.js.map +1 -1
  221. package/php/math/is_infinite.js.map +1 -1
  222. package/php/math/is_nan.js.map +1 -1
  223. package/php/math/log1p.js.map +1 -1
  224. package/php/math/max.js +7 -7
  225. package/php/math/max.js.map +1 -1
  226. package/php/math/min.js +5 -5
  227. package/php/math/min.js.map +1 -1
  228. package/php/math/mt_rand.js.map +1 -1
  229. package/php/math/rand.js.map +1 -1
  230. package/php/math/round.js +1 -1
  231. package/php/math/round.js.map +1 -1
  232. package/php/misc/index.js +2 -2
  233. package/php/misc/index.js.map +1 -1
  234. package/php/misc/pack.js +23 -18
  235. package/php/misc/pack.js.map +1 -1
  236. package/php/misc/uniqid.js +1 -1
  237. package/php/misc/uniqid.js.map +1 -1
  238. package/php/net-gopher/gopher_parsedir.js +3 -4
  239. package/php/net-gopher/gopher_parsedir.js.map +1 -1
  240. package/php/net-gopher/index.js +1 -1
  241. package/php/net-gopher/index.js.map +1 -1
  242. package/php/network/index.js +6 -6
  243. package/php/network/index.js.map +1 -1
  244. package/php/network/inet_ntop.js.map +1 -1
  245. package/php/network/inet_pton.js +40 -32
  246. package/php/network/inet_pton.js.map +1 -1
  247. package/php/network/setcookie.js.map +1 -1
  248. package/php/network/setrawcookie.js.map +1 -1
  249. package/php/pcre/index.js +4 -3
  250. package/php/pcre/index.js.map +1 -1
  251. package/php/pcre/preg_replace.js +24 -0
  252. package/php/pcre/preg_replace.js.map +1 -0
  253. package/php/pcre/sql_regcase.js.map +1 -1
  254. package/php/strings/addcslashes.js.map +1 -1
  255. package/php/strings/bin2hex.js +3 -3
  256. package/php/strings/bin2hex.js.map +1 -1
  257. package/php/strings/chop.js.map +1 -1
  258. package/php/strings/convert_cyr_string.js +1 -1
  259. package/php/strings/convert_cyr_string.js.map +1 -1
  260. package/php/strings/convert_uuencode.js.map +1 -1
  261. package/php/strings/count_chars.js +1 -1
  262. package/php/strings/count_chars.js.map +1 -1
  263. package/php/strings/crc32.js.map +1 -1
  264. package/php/strings/echo.js.map +1 -1
  265. package/php/strings/explode.js.map +1 -1
  266. package/php/strings/get_html_translation_table.js +1 -1
  267. package/php/strings/get_html_translation_table.js.map +1 -1
  268. package/php/strings/hex2bin.js +1 -1
  269. package/php/strings/hex2bin.js.map +1 -1
  270. package/php/strings/html_entity_decode.js.map +1 -1
  271. package/php/strings/htmlentities.js.map +1 -1
  272. package/php/strings/htmlspecialchars.js +6 -6
  273. package/php/strings/htmlspecialchars.js.map +1 -1
  274. package/php/strings/htmlspecialchars_decode.js +6 -6
  275. package/php/strings/htmlspecialchars_decode.js.map +1 -1
  276. package/php/strings/implode.js.map +1 -1
  277. package/php/strings/index.js +91 -91
  278. package/php/strings/index.js.map +1 -1
  279. package/php/strings/join.js.map +1 -1
  280. package/php/strings/lcfirst.js.map +1 -1
  281. package/php/strings/levenshtein.js +6 -1
  282. package/php/strings/levenshtein.js.map +1 -1
  283. package/php/strings/localeconv.js.map +1 -1
  284. package/php/strings/ltrim.js.map +1 -1
  285. package/php/strings/md5.js +19 -15
  286. package/php/strings/md5.js.map +1 -1
  287. package/php/strings/md5_file.js.map +1 -1
  288. package/php/strings/metaphone.js +2 -2
  289. package/php/strings/metaphone.js.map +1 -1
  290. package/php/strings/money_format.js.map +1 -1
  291. package/php/strings/nl2br.js.map +1 -1
  292. package/php/strings/nl_langinfo.js.map +1 -1
  293. package/php/strings/number_format.js.map +1 -1
  294. package/php/strings/ord.js.map +1 -1
  295. package/php/strings/parse_str.js +13 -13
  296. package/php/strings/parse_str.js.map +1 -1
  297. package/php/strings/printf.js.map +1 -1
  298. package/php/strings/quoted_printable_decode.js.map +1 -1
  299. package/php/strings/quoted_printable_encode.js.map +1 -1
  300. package/php/strings/rtrim.js.map +1 -1
  301. package/php/strings/setlocale.js +18 -19
  302. package/php/strings/setlocale.js.map +1 -1
  303. package/php/strings/sha1.js +12 -7
  304. package/php/strings/sha1.js.map +1 -1
  305. package/php/strings/sha1_file.js.map +1 -1
  306. package/php/strings/similar_text.js +4 -4
  307. package/php/strings/similar_text.js.map +1 -1
  308. package/php/strings/soundex.js +3 -3
  309. package/php/strings/soundex.js.map +1 -1
  310. package/php/strings/split.js.map +1 -1
  311. package/php/strings/sprintf.js +7 -2
  312. package/php/strings/sprintf.js.map +1 -1
  313. package/php/strings/sscanf.js +2 -2
  314. package/php/strings/sscanf.js.map +1 -1
  315. package/php/strings/str_getcsv.js +2 -2
  316. package/php/strings/str_getcsv.js.map +1 -1
  317. package/php/strings/str_ireplace.js +6 -0
  318. package/php/strings/str_ireplace.js.map +1 -1
  319. package/php/strings/str_pad.js +1 -1
  320. package/php/strings/str_pad.js.map +1 -1
  321. package/php/strings/str_repeat.js.map +1 -1
  322. package/php/strings/str_replace.js +6 -0
  323. package/php/strings/str_replace.js.map +1 -1
  324. package/php/strings/str_shuffle.js +1 -1
  325. package/php/strings/str_shuffle.js.map +1 -1
  326. package/php/strings/str_split.js.map +1 -1
  327. package/php/strings/str_word_count.js.map +1 -1
  328. package/php/strings/strcasecmp.js.map +1 -1
  329. package/php/strings/strchr.js.map +1 -1
  330. package/php/strings/strcoll.js.map +1 -1
  331. package/php/strings/strip_tags.js.map +1 -1
  332. package/php/strings/stripos.js.map +1 -1
  333. package/php/strings/stristr.js.map +1 -1
  334. package/php/strings/strlen.js.map +1 -1
  335. package/php/strings/strnatcasecmp.js.map +1 -1
  336. package/php/strings/strnatcmp.js.map +1 -1
  337. package/php/strings/strncasecmp.js +1 -1
  338. package/php/strings/strncasecmp.js.map +1 -1
  339. package/php/strings/strncmp.js.map +1 -1
  340. package/php/strings/strpbrk.js.map +1 -1
  341. package/php/strings/strpos.js.map +1 -1
  342. package/php/strings/strrchr.js.map +1 -1
  343. package/php/strings/strrev.js.map +1 -1
  344. package/php/strings/strripos.js.map +1 -1
  345. package/php/strings/strrpos.js.map +1 -1
  346. package/php/strings/strspn.js +3 -3
  347. package/php/strings/strspn.js.map +1 -1
  348. package/php/strings/strstr.js.map +1 -1
  349. package/php/strings/strtok.js.map +1 -1
  350. package/php/strings/strtr.js.map +1 -1
  351. package/php/strings/substr.js.map +1 -1
  352. package/php/strings/substr_count.js.map +1 -1
  353. package/php/strings/trim.js.map +1 -1
  354. package/php/strings/ucfirst.js.map +1 -1
  355. package/php/strings/vprintf.js.map +1 -1
  356. package/php/strings/vsprintf.js.map +1 -1
  357. package/php/strings/wordwrap.js +4 -2
  358. package/php/strings/wordwrap.js.map +1 -1
  359. package/php/url/base64_decode.js +8 -8
  360. package/php/url/base64_decode.js.map +1 -1
  361. package/php/url/base64_encode.js +8 -8
  362. package/php/url/base64_encode.js.map +1 -1
  363. package/php/url/http_build_query.js +4 -4
  364. package/php/url/http_build_query.js.map +1 -1
  365. package/php/url/index.js +8 -8
  366. package/php/url/index.js.map +1 -1
  367. package/php/url/parse_url.js +1 -1
  368. package/php/url/parse_url.js.map +1 -1
  369. package/php/var/doubleval.js.map +1 -1
  370. package/php/var/empty.js +4 -4
  371. package/php/var/empty.js.map +1 -1
  372. package/php/var/gettype.js +1 -1
  373. package/php/var/gettype.js.map +1 -1
  374. package/php/var/index.js +30 -30
  375. package/php/var/index.js.map +1 -1
  376. package/php/var/intval.js +2 -1
  377. package/php/var/intval.js.map +1 -1
  378. package/php/var/is_array.js.map +1 -1
  379. package/php/var/is_callable.js.map +1 -1
  380. package/php/var/is_double.js.map +1 -1
  381. package/php/var/is_integer.js.map +1 -1
  382. package/php/var/is_long.js.map +1 -1
  383. package/php/var/is_numeric.js.map +1 -1
  384. package/php/var/is_real.js.map +1 -1
  385. package/php/var/is_unicode.js.map +1 -1
  386. package/php/var/isset.js +1 -1
  387. package/php/var/isset.js.map +1 -1
  388. package/php/var/print_r.js.map +1 -1
  389. package/php/var/serialize.js +7 -5
  390. package/php/var/serialize.js.map +1 -1
  391. package/php/var/strval.js.map +1 -1
  392. package/php/var/unserialize.js +422 -236
  393. package/php/var/unserialize.js.map +1 -1
  394. package/php/var/var_dump.js +3 -3
  395. package/php/var/var_dump.js.map +1 -1
  396. package/php/var/var_export.js +5 -5
  397. package/php/var/var_export.js.map +1 -1
  398. package/php/xdiff/index.js +2 -2
  399. package/php/xdiff/index.js.map +1 -1
  400. package/php/xdiff/xdiff_string_diff.js +30 -30
  401. package/php/xdiff/xdiff_string_diff.js.map +1 -1
  402. package/php/xdiff/xdiff_string_patch.js +7 -8
  403. package/php/xdiff/xdiff_string_patch.js.map +1 -1
  404. package/php/xml/index.js +2 -2
  405. package/php/xml/index.js.map +1 -1
  406. package/php/xml/utf8_decode.js.map +1 -1
  407. package/php/xml/utf8_encode.js +2 -2
  408. package/php/xml/utf8_encode.js.map +1 -1
  409. package/python/index.js +1 -1
  410. package/python/index.js.map +1 -1
  411. package/python/string/capwords.js.map +1 -1
  412. package/python/string/index.js +4 -4
  413. package/python/string/index.js.map +1 -1
  414. package/python/string/punctuation.js +10 -0
  415. package/python/string/punctuation.js.map +1 -0
  416. package/ruby/Math/index.js +1 -1
  417. package/ruby/Math/index.js.map +1 -1
  418. package/ruby/index.js +1 -1
  419. package/ruby/index.js.map +1 -1
@@ -30,11 +30,11 @@ module.exports = function setlocale(category, locale) {
30
30
  return new Date(orig);
31
31
  }
32
32
  var newObj = {};
33
- for (var i in orig) {
34
- if (_typeof(orig[i]) === 'object') {
35
- newObj[i] = _copy(orig[i]);
33
+ for (var _i in orig) {
34
+ if (_typeof(orig[_i]) === 'object') {
35
+ newObj[_i] = _copy(orig[_i]);
36
36
  } else {
37
- newObj[i] = orig[i];
37
+ newObj[_i] = orig[_i];
38
38
  }
39
39
  }
40
40
  return newObj;
@@ -76,12 +76,12 @@ module.exports = function setlocale(category, locale) {
76
76
  $locutus.php.locales = {};
77
77
 
78
78
  $locutus.php.locales.en = {
79
- 'LC_COLLATE': function LC_COLLATE(str1, str2) {
79
+ LC_COLLATE: function LC_COLLATE(str1, str2) {
80
80
  // @todo: This one taken from strcmp, but need for other locales; we don't use localeCompare
81
81
  // since its locale is not settable
82
82
  return str1 === str2 ? 0 : str1 > str2 ? 1 : -1;
83
83
  },
84
- 'LC_CTYPE': {
84
+ LC_CTYPE: {
85
85
  // Need to change any of these for English as opposed to C?
86
86
  an: /^[A-Za-z\d]+$/g,
87
87
  al: /^[A-Za-z]+$/g,
@@ -99,7 +99,7 @@ module.exports = function setlocale(category, locale) {
99
99
  lower: 'abcdefghijklmnopqrstuvwxyz',
100
100
  upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
101
101
  },
102
- 'LC_TIME': {
102
+ LC_TIME: {
103
103
  // Comments include nl_langinfo() constant equivalents and any
104
104
  // changes from Blues' implementation
105
105
  a: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
@@ -133,7 +133,7 @@ module.exports = function setlocale(category, locale) {
133
133
  },
134
134
  // Assuming distinction between numeric and monetary is thus:
135
135
  // See below for C locale
136
- 'LC_MONETARY': {
136
+ LC_MONETARY: {
137
137
  // based on Windows "english" (English_United States.1252) locale
138
138
  int_curr_symbol: 'USD',
139
139
  currency_symbol: '$',
@@ -164,13 +164,13 @@ module.exports = function setlocale(category, locale) {
164
164
  // succeeds curr. symbol
165
165
  n_sign_posn: 0 // see p_sign_posn
166
166
  },
167
- 'LC_NUMERIC': {
167
+ LC_NUMERIC: {
168
168
  // based on Windows "english" (English_United States.1252) locale
169
169
  decimal_point: '.',
170
170
  thousands_sep: ',',
171
171
  grouping: [3] // see mon_grouping, but for non-monetary values (use thousands_sep)
172
172
  },
173
- 'LC_MESSAGES': {
173
+ LC_MESSAGES: {
174
174
  YESEXPR: '^[yY].*',
175
175
  NOEXPR: '^[nN].*',
176
176
  YESSTR: '',
@@ -218,9 +218,8 @@ module.exports = function setlocale(category, locale) {
218
218
  decimal_point: '.',
219
219
  thousands_sep: '',
220
220
  grouping: []
221
- };
222
- // D_T_FMT
223
- $locutus.php.locales.C.LC_TIME.c = '%a %b %e %H:%M:%S %Y';
221
+ // D_T_FMT
222
+ };$locutus.php.locales.C.LC_TIME.c = '%a %b %e %H:%M:%S %Y';
224
223
  // D_FMT
225
224
  $locutus.php.locales.C.LC_TIME.x = '%m/%d/%y';
226
225
  // T_FMT
@@ -273,18 +272,18 @@ module.exports = function setlocale(category, locale) {
273
272
 
274
273
  if (!$locutus.php.localeCategories) {
275
274
  $locutus.php.localeCategories = {
276
- 'LC_COLLATE': $locutus.php.locale,
275
+ LC_COLLATE: $locutus.php.locale,
277
276
  // for string comparison, see strcoll()
278
- 'LC_CTYPE': $locutus.php.locale,
277
+ LC_CTYPE: $locutus.php.locale,
279
278
  // for character classification and conversion, for example strtoupper()
280
- 'LC_MONETARY': $locutus.php.locale,
279
+ LC_MONETARY: $locutus.php.locale,
281
280
  // for localeconv()
282
- 'LC_NUMERIC': $locutus.php.locale,
281
+ LC_NUMERIC: $locutus.php.locale,
283
282
  // for decimal separator (See also localeconv())
284
- 'LC_TIME': $locutus.php.locale,
283
+ LC_TIME: $locutus.php.locale,
285
284
  // for date and time formatting with strftime()
286
285
  // for system responses (available if PHP was compiled with libintl):
287
- 'LC_MESSAGES': $locutus.php.locale
286
+ LC_MESSAGES: $locutus.php.locale
288
287
  };
289
288
  }
290
289
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/setlocale.js"],"names":["module","exports","setlocale","category","locale","getenv","require","categ","cats","i","_copy","orig","RegExp","Date","newObj","_nplurals2a","n","_nplurals2b","$global","window","global","$locutus","php","locales","fr_CA","LC_TIME","x","en","str1","str2","an","al","ct","dg","gr","lw","pr","pu","sp","up","xd","CODESET","lower","upper","a","A","b","B","c","p","P","r","X","alt_digits","ERA","ERA_YEAR","ERA_D_T_FMT","ERA_D_FMT","ERA_T_FMT","int_curr_symbol","currency_symbol","mon_decimal_point","mon_thousands_sep","mon_grouping","positive_sign","negative_sign","int_frac_digits","frac_digits","p_cs_precedes","p_sep_by_space","n_cs_precedes","n_sep_by_space","p_sign_posn","n_sign_posn","decimal_point","thousands_sep","grouping","YESEXPR","NOEXPR","YESSTR","NOSTR","nplurals","en_US","LC_MONETARY","LC_NUMERIC","en_GB","en_AU","C","LC_CTYPE","LC_MESSAGES","fr","document","d","NS_XHTML","NS_XML","getElementsByTagNameNS","getAttributeNS","getElementsByTagName","lang","replace","localeCategories","Object","prototype","toString","call","length","push","join"],"mappings":"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","file":"setlocale.js","sourcesContent":["module.exports = function setlocale (category, locale) {\n // discuss at: https://locutus.io/php/setlocale/\n // original by: Brett Zamir (https://brett-zamir.me)\n // original by: Blues (https://hacks.bluesmoon.info/strftime/strftime.js)\n // original by: YUI Library (https://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html)\n // note 1: Is extensible, but currently only implements locales en,\n // note 1: en_US, en_GB, en_AU, fr, and fr_CA for LC_TIME only; C for LC_CTYPE;\n // note 1: C and en for LC_MONETARY/LC_NUMERIC; en for LC_COLLATE\n // note 1: Uses global: locutus to store locale info\n // note 1: Consider using https://demo.icu-project.org/icu-bin/locexp as basis for localization (as in i18n_loc_set_default())\n // note 2: This function tries to establish the locale via the `window` global.\n // note 2: This feature will not work in Node and hence is Browser-only\n // example 1: setlocale('LC_ALL', 'en_US')\n // returns 1: 'en_US'\n\n var getenv = require('../info/getenv')\n\n var categ = ''\n var cats = []\n var i = 0\n\n var _copy = function _copy (orig) {\n if (orig instanceof RegExp) {\n return new RegExp(orig)\n } else if (orig instanceof Date) {\n return new Date(orig)\n }\n var newObj = {}\n for (var i in orig) {\n if (typeof orig[i] === 'object') {\n newObj[i] = _copy(orig[i])\n } else {\n newObj[i] = orig[i]\n }\n }\n return newObj\n }\n\n // Function usable by a ngettext implementation (apparently not an accessible part of setlocale(),\n // but locale-specific) See https://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms\n // though amended with others from https://developer.mozilla.org/En/Localization_and_Plurals (new\n // categories noted with \"MDC\" below, though not sure of whether there is a convention for the\n // relative order of these newer groups as far as ngettext) The function name indicates the number\n // of plural forms (nplural) Need to look into https://cldr.unicode.org/ (maybe future JavaScript);\n // Dojo has some functions (under new BSD), including JSON conversions of LDML XML from CLDR:\n // https://bugs.dojotoolkit.org/browser/dojo/trunk/cldr and docs at\n // https://api.dojotoolkit.org/jsdoc/HEAD/dojo.cldr\n\n // var _nplurals1 = function (n) {\n // // e.g., Japanese\n // return 0\n // }\n var _nplurals2a = function (n) {\n // e.g., English\n return n !== 1 ? 1 : 0\n }\n var _nplurals2b = function (n) {\n // e.g., French\n return n > 1 ? 1 : 0\n }\n\n var $global = (typeof window !== 'undefined' ? window : global)\n $global.$locutus = $global.$locutus || {}\n var $locutus = $global.$locutus\n $locutus.php = $locutus.php || {}\n\n // Reconcile Windows vs. *nix locale names?\n // Allow different priority orders of languages, esp. if implement gettext as in\n // LANGUAGE env. var.? (e.g., show German if French is not available)\n if (!$locutus.php.locales ||\n !$locutus.php.locales.fr_CA ||\n !$locutus.php.locales.fr_CA.LC_TIME ||\n !$locutus.php.locales.fr_CA.LC_TIME.x) {\n // Can add to the locales\n $locutus.php.locales = {}\n\n $locutus.php.locales.en = {\n 'LC_COLLATE': function (str1, str2) {\n // @todo: This one taken from strcmp, but need for other locales; we don't use localeCompare\n // since its locale is not settable\n return (str1 === str2) ? 0 : ((str1 > str2) ? 1 : -1)\n },\n 'LC_CTYPE': {\n // Need to change any of these for English as opposed to C?\n an: /^[A-Za-z\\d]+$/g,\n al: /^[A-Za-z]+$/g,\n ct: /^[\\u0000-\\u001F\\u007F]+$/g,\n dg: /^[\\d]+$/g,\n gr: /^[\\u0021-\\u007E]+$/g,\n lw: /^[a-z]+$/g,\n pr: /^[\\u0020-\\u007E]+$/g,\n pu: /^[\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E]+$/g,\n sp: /^[\\f\\n\\r\\t\\v ]+$/g,\n up: /^[A-Z]+$/g,\n xd: /^[A-Fa-f\\d]+$/g,\n CODESET: 'UTF-8',\n // Used by sql_regcase\n lower: 'abcdefghijklmnopqrstuvwxyz',\n upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n },\n 'LC_TIME': {\n // Comments include nl_langinfo() constant equivalents and any\n // changes from Blues' implementation\n a: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n // ABDAY_\n A: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n // DAY_\n b: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n // ABMON_\n B: ['January', 'February', 'March', 'April', 'May', 'June', 'July',\n 'August', 'September', 'October',\n 'November', 'December'\n ],\n // MON_\n c: '%a %d %b %Y %r %Z',\n // D_T_FMT // changed %T to %r per results\n p: ['AM', 'PM'],\n // AM_STR/PM_STR\n P: ['am', 'pm'],\n // Not available in nl_langinfo()\n r: '%I:%M:%S %p',\n // T_FMT_AMPM (Fixed for all locales)\n x: '%m/%d/%Y',\n // D_FMT // switched order of %m and %d; changed %y to %Y (C uses %y)\n X: '%r',\n // T_FMT // changed from %T to %r (%T is default for C, not English US)\n // Following are from nl_langinfo() or https://www.cptec.inpe.br/sx4/sx4man2/g1ab02e/strftime.4.html\n alt_digits: '',\n // e.g., ordinal\n ERA: '',\n ERA_YEAR: '',\n ERA_D_T_FMT: '',\n ERA_D_FMT: '',\n ERA_T_FMT: ''\n },\n // Assuming distinction between numeric and monetary is thus:\n // See below for C locale\n 'LC_MONETARY': {\n // based on Windows \"english\" (English_United States.1252) locale\n int_curr_symbol: 'USD',\n currency_symbol: '$',\n mon_decimal_point: '.',\n mon_thousands_sep: ',',\n mon_grouping: [3],\n // use mon_thousands_sep; \"\" for no grouping; additional array members\n // indicate successive group lengths after first group\n // (e.g., if to be 1,23,456, could be [3, 2])\n positive_sign: '',\n negative_sign: '-',\n int_frac_digits: 2,\n // Fractional digits only for money defaults?\n frac_digits: 2,\n p_cs_precedes: 1,\n // positive currency symbol follows value = 0; precedes value = 1\n p_sep_by_space: 0,\n // 0: no space between curr. symbol and value; 1: space sep. them unless symb.\n // and sign are adjacent then space sep. them from value; 2: space sep. sign\n // and value unless symb. and sign are adjacent then space separates\n n_cs_precedes: 1,\n // see p_cs_precedes\n n_sep_by_space: 0,\n // see p_sep_by_space\n p_sign_posn: 3,\n // 0: parentheses surround quantity and curr. symbol; 1: sign precedes them;\n // 2: sign follows them; 3: sign immed. precedes curr. symbol; 4: sign immed.\n // succeeds curr. symbol\n n_sign_posn: 0 // see p_sign_posn\n },\n 'LC_NUMERIC': {\n // based on Windows \"english\" (English_United States.1252) locale\n decimal_point: '.',\n thousands_sep: ',',\n grouping: [3] // see mon_grouping, but for non-monetary values (use thousands_sep)\n },\n 'LC_MESSAGES': {\n YESEXPR: '^[yY].*',\n NOEXPR: '^[nN].*',\n YESSTR: '',\n NOSTR: ''\n },\n nplurals: _nplurals2a\n }\n $locutus.php.locales.en_US = _copy($locutus.php.locales.en)\n $locutus.php.locales.en_US.LC_TIME.c = '%a %d %b %Y %r %Z'\n $locutus.php.locales.en_US.LC_TIME.x = '%D'\n $locutus.php.locales.en_US.LC_TIME.X = '%r'\n // The following are based on *nix settings\n $locutus.php.locales.en_US.LC_MONETARY.int_curr_symbol = 'USD '\n $locutus.php.locales.en_US.LC_MONETARY.p_sign_posn = 1\n $locutus.php.locales.en_US.LC_MONETARY.n_sign_posn = 1\n $locutus.php.locales.en_US.LC_MONETARY.mon_grouping = [3, 3]\n $locutus.php.locales.en_US.LC_NUMERIC.thousands_sep = ''\n $locutus.php.locales.en_US.LC_NUMERIC.grouping = []\n\n $locutus.php.locales.en_GB = _copy($locutus.php.locales.en)\n $locutus.php.locales.en_GB.LC_TIME.r = '%l:%M:%S %P %Z'\n\n $locutus.php.locales.en_AU = _copy($locutus.php.locales.en_GB)\n // Assume C locale is like English (?) (We need C locale for LC_CTYPE)\n $locutus.php.locales.C = _copy($locutus.php.locales.en)\n $locutus.php.locales.C.LC_CTYPE.CODESET = 'ANSI_X3.4-1968'\n $locutus.php.locales.C.LC_MONETARY = {\n int_curr_symbol: '',\n currency_symbol: '',\n mon_decimal_point: '',\n mon_thousands_sep: '',\n mon_grouping: [],\n p_cs_precedes: 127,\n p_sep_by_space: 127,\n n_cs_precedes: 127,\n n_sep_by_space: 127,\n p_sign_posn: 127,\n n_sign_posn: 127,\n positive_sign: '',\n negative_sign: '',\n int_frac_digits: 127,\n frac_digits: 127\n }\n $locutus.php.locales.C.LC_NUMERIC = {\n decimal_point: '.',\n thousands_sep: '',\n grouping: []\n }\n // D_T_FMT\n $locutus.php.locales.C.LC_TIME.c = '%a %b %e %H:%M:%S %Y'\n // D_FMT\n $locutus.php.locales.C.LC_TIME.x = '%m/%d/%y'\n // T_FMT\n $locutus.php.locales.C.LC_TIME.X = '%H:%M:%S'\n $locutus.php.locales.C.LC_MESSAGES.YESEXPR = '^[yY]'\n $locutus.php.locales.C.LC_MESSAGES.NOEXPR = '^[nN]'\n\n $locutus.php.locales.fr = _copy($locutus.php.locales.en)\n $locutus.php.locales.fr.nplurals = _nplurals2b\n $locutus.php.locales.fr.LC_TIME.a = ['dim', 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam']\n $locutus.php.locales.fr.LC_TIME.A = ['dimanche', 'lundi', 'mardi', 'mercredi',\n 'jeudi', 'vendredi', 'samedi']\n $locutus.php.locales.fr.LC_TIME.b = ['jan', 'f\\u00E9v', 'mar', 'avr', 'mai',\n 'jun', 'jui', 'ao\\u00FB', 'sep', 'oct',\n 'nov', 'd\\u00E9c'\n ]\n $locutus.php.locales.fr.LC_TIME.B = ['janvier', 'f\\u00E9vrier', 'mars',\n 'avril', 'mai', 'juin', 'juillet', 'ao\\u00FBt',\n 'septembre', 'octobre', 'novembre', 'd\\u00E9cembre'\n ]\n $locutus.php.locales.fr.LC_TIME.c = '%a %d %b %Y %T %Z'\n $locutus.php.locales.fr.LC_TIME.p = ['', '']\n $locutus.php.locales.fr.LC_TIME.P = ['', '']\n $locutus.php.locales.fr.LC_TIME.x = '%d.%m.%Y'\n $locutus.php.locales.fr.LC_TIME.X = '%T'\n\n $locutus.php.locales.fr_CA = _copy($locutus.php.locales.fr)\n $locutus.php.locales.fr_CA.LC_TIME.x = '%Y-%m-%d'\n }\n if (!$locutus.php.locale) {\n $locutus.php.locale = 'en_US'\n // Try to establish the locale via the `window` global\n if (typeof window !== 'undefined' && window.document) {\n var d = window.document\n var NS_XHTML = 'https://www.w3.org/1999/xhtml'\n var NS_XML = 'https://www.w3.org/XML/1998/namespace'\n if (d.getElementsByTagNameNS &&\n d.getElementsByTagNameNS(NS_XHTML, 'html')[0]) {\n if (d.getElementsByTagNameNS(NS_XHTML, 'html')[0].getAttributeNS &&\n d.getElementsByTagNameNS(NS_XHTML, 'html')[0].getAttributeNS(NS_XML, 'lang')) {\n $locutus.php.locale = d.getElementsByTagName(NS_XHTML, 'html')[0]\n .getAttributeNS(NS_XML, 'lang')\n } else if (d.getElementsByTagNameNS(NS_XHTML, 'html')[0].lang) {\n // XHTML 1.0 only\n $locutus.php.locale = d.getElementsByTagNameNS(NS_XHTML, 'html')[0].lang\n }\n } else if (d.getElementsByTagName('html')[0] &&\n d.getElementsByTagName('html')[0].lang) {\n $locutus.php.locale = d.getElementsByTagName('html')[0].lang\n }\n }\n }\n // PHP-style\n $locutus.php.locale = $locutus.php.locale.replace('-', '_')\n // @todo: locale if declared locale hasn't been defined\n if (!($locutus.php.locale in $locutus.php.locales)) {\n if ($locutus.php.locale.replace(/_[a-zA-Z]+$/, '') in $locutus.php.locales) {\n $locutus.php.locale = $locutus.php.locale.replace(/_[a-zA-Z]+$/, '')\n }\n }\n\n if (!$locutus.php.localeCategories) {\n $locutus.php.localeCategories = {\n 'LC_COLLATE': $locutus.php.locale,\n // for string comparison, see strcoll()\n 'LC_CTYPE': $locutus.php.locale,\n // for character classification and conversion, for example strtoupper()\n 'LC_MONETARY': $locutus.php.locale,\n // for localeconv()\n 'LC_NUMERIC': $locutus.php.locale,\n // for decimal separator (See also localeconv())\n 'LC_TIME': $locutus.php.locale,\n // for date and time formatting with strftime()\n // for system responses (available if PHP was compiled with libintl):\n 'LC_MESSAGES': $locutus.php.locale\n }\n }\n\n if (locale === null || locale === '') {\n locale = getenv(category) || getenv('LANG')\n } else if (Object.prototype.toString.call(locale) === '[object Array]') {\n for (i = 0; i < locale.length; i++) {\n if (!(locale[i] in $locutus.php.locales)) {\n if (i === locale.length - 1) {\n // none found\n return false\n }\n continue\n }\n locale = locale[i]\n break\n }\n }\n\n // Just get the locale\n if (locale === '0' || locale === 0) {\n if (category === 'LC_ALL') {\n for (categ in $locutus.php.localeCategories) {\n // Add \".UTF-8\" or allow \".@latint\", etc. to the end?\n cats.push(categ + '=' + $locutus.php.localeCategories[categ])\n }\n return cats.join(';')\n }\n return $locutus.php.localeCategories[category]\n }\n\n if (!(locale in $locutus.php.locales)) {\n // Locale not found\n return false\n }\n\n // Set and get locale\n if (category === 'LC_ALL') {\n for (categ in $locutus.php.localeCategories) {\n $locutus.php.localeCategories[categ] = locale\n }\n } else {\n $locutus.php.localeCategories[category] = locale\n }\n\n return locale\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/setlocale.js"],"names":["module","exports","setlocale","category","locale","getenv","require","categ","cats","i","_copy","orig","RegExp","Date","newObj","_nplurals2a","n","_nplurals2b","$global","window","global","$locutus","php","locales","fr_CA","LC_TIME","x","en","LC_COLLATE","str1","str2","LC_CTYPE","an","al","ct","dg","gr","lw","pr","pu","sp","up","xd","CODESET","lower","upper","a","A","b","B","c","p","P","r","X","alt_digits","ERA","ERA_YEAR","ERA_D_T_FMT","ERA_D_FMT","ERA_T_FMT","LC_MONETARY","int_curr_symbol","currency_symbol","mon_decimal_point","mon_thousands_sep","mon_grouping","positive_sign","negative_sign","int_frac_digits","frac_digits","p_cs_precedes","p_sep_by_space","n_cs_precedes","n_sep_by_space","p_sign_posn","n_sign_posn","LC_NUMERIC","decimal_point","thousands_sep","grouping","LC_MESSAGES","YESEXPR","NOEXPR","YESSTR","NOSTR","nplurals","en_US","en_GB","en_AU","C","fr","document","d","NS_XHTML","NS_XML","getElementsByTagNameNS","getAttributeNS","getElementsByTagName","lang","replace","localeCategories","Object","prototype","toString","call","length","push","join"],"mappings":"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","file":"setlocale.js","sourcesContent":["module.exports = function setlocale (category, locale) {\n // discuss at: https://locutus.io/php/setlocale/\n // original by: Brett Zamir (https://brett-zamir.me)\n // original by: Blues (https://hacks.bluesmoon.info/strftime/strftime.js)\n // original by: YUI Library (https://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html)\n // note 1: Is extensible, but currently only implements locales en,\n // note 1: en_US, en_GB, en_AU, fr, and fr_CA for LC_TIME only; C for LC_CTYPE;\n // note 1: C and en for LC_MONETARY/LC_NUMERIC; en for LC_COLLATE\n // note 1: Uses global: locutus to store locale info\n // note 1: Consider using https://demo.icu-project.org/icu-bin/locexp as basis for localization (as in i18n_loc_set_default())\n // note 2: This function tries to establish the locale via the `window` global.\n // note 2: This feature will not work in Node and hence is Browser-only\n // example 1: setlocale('LC_ALL', 'en_US')\n // returns 1: 'en_US'\n\n const getenv = require('../info/getenv')\n\n let categ = ''\n const cats = []\n let i = 0\n\n const _copy = function _copy (orig) {\n if (orig instanceof RegExp) {\n return new RegExp(orig)\n } else if (orig instanceof Date) {\n return new Date(orig)\n }\n const newObj = {}\n for (const i in orig) {\n if (typeof orig[i] === 'object') {\n newObj[i] = _copy(orig[i])\n } else {\n newObj[i] = orig[i]\n }\n }\n return newObj\n }\n\n // Function usable by a ngettext implementation (apparently not an accessible part of setlocale(),\n // but locale-specific) See https://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms\n // though amended with others from https://developer.mozilla.org/En/Localization_and_Plurals (new\n // categories noted with \"MDC\" below, though not sure of whether there is a convention for the\n // relative order of these newer groups as far as ngettext) The function name indicates the number\n // of plural forms (nplural) Need to look into https://cldr.unicode.org/ (maybe future JavaScript);\n // Dojo has some functions (under new BSD), including JSON conversions of LDML XML from CLDR:\n // https://bugs.dojotoolkit.org/browser/dojo/trunk/cldr and docs at\n // https://api.dojotoolkit.org/jsdoc/HEAD/dojo.cldr\n\n // var _nplurals1 = function (n) {\n // // e.g., Japanese\n // return 0\n // }\n const _nplurals2a = function (n) {\n // e.g., English\n return n !== 1 ? 1 : 0\n }\n const _nplurals2b = function (n) {\n // e.g., French\n return n > 1 ? 1 : 0\n }\n\n const $global = (typeof window !== 'undefined' ? window : global)\n $global.$locutus = $global.$locutus || {}\n const $locutus = $global.$locutus\n $locutus.php = $locutus.php || {}\n\n // Reconcile Windows vs. *nix locale names?\n // Allow different priority orders of languages, esp. if implement gettext as in\n // LANGUAGE env. var.? (e.g., show German if French is not available)\n if (!$locutus.php.locales ||\n !$locutus.php.locales.fr_CA ||\n !$locutus.php.locales.fr_CA.LC_TIME ||\n !$locutus.php.locales.fr_CA.LC_TIME.x) {\n // Can add to the locales\n $locutus.php.locales = {}\n\n $locutus.php.locales.en = {\n LC_COLLATE: function (str1, str2) {\n // @todo: This one taken from strcmp, but need for other locales; we don't use localeCompare\n // since its locale is not settable\n return (str1 === str2) ? 0 : ((str1 > str2) ? 1 : -1)\n },\n LC_CTYPE: {\n // Need to change any of these for English as opposed to C?\n an: /^[A-Za-z\\d]+$/g,\n al: /^[A-Za-z]+$/g,\n ct: /^[\\u0000-\\u001F\\u007F]+$/g,\n dg: /^[\\d]+$/g,\n gr: /^[\\u0021-\\u007E]+$/g,\n lw: /^[a-z]+$/g,\n pr: /^[\\u0020-\\u007E]+$/g,\n pu: /^[\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E]+$/g,\n sp: /^[\\f\\n\\r\\t\\v ]+$/g,\n up: /^[A-Z]+$/g,\n xd: /^[A-Fa-f\\d]+$/g,\n CODESET: 'UTF-8',\n // Used by sql_regcase\n lower: 'abcdefghijklmnopqrstuvwxyz',\n upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n },\n LC_TIME: {\n // Comments include nl_langinfo() constant equivalents and any\n // changes from Blues' implementation\n a: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n // ABDAY_\n A: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n // DAY_\n b: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n // ABMON_\n B: ['January', 'February', 'March', 'April', 'May', 'June', 'July',\n 'August', 'September', 'October',\n 'November', 'December'\n ],\n // MON_\n c: '%a %d %b %Y %r %Z',\n // D_T_FMT // changed %T to %r per results\n p: ['AM', 'PM'],\n // AM_STR/PM_STR\n P: ['am', 'pm'],\n // Not available in nl_langinfo()\n r: '%I:%M:%S %p',\n // T_FMT_AMPM (Fixed for all locales)\n x: '%m/%d/%Y',\n // D_FMT // switched order of %m and %d; changed %y to %Y (C uses %y)\n X: '%r',\n // T_FMT // changed from %T to %r (%T is default for C, not English US)\n // Following are from nl_langinfo() or https://www.cptec.inpe.br/sx4/sx4man2/g1ab02e/strftime.4.html\n alt_digits: '',\n // e.g., ordinal\n ERA: '',\n ERA_YEAR: '',\n ERA_D_T_FMT: '',\n ERA_D_FMT: '',\n ERA_T_FMT: ''\n },\n // Assuming distinction between numeric and monetary is thus:\n // See below for C locale\n LC_MONETARY: {\n // based on Windows \"english\" (English_United States.1252) locale\n int_curr_symbol: 'USD',\n currency_symbol: '$',\n mon_decimal_point: '.',\n mon_thousands_sep: ',',\n mon_grouping: [3],\n // use mon_thousands_sep; \"\" for no grouping; additional array members\n // indicate successive group lengths after first group\n // (e.g., if to be 1,23,456, could be [3, 2])\n positive_sign: '',\n negative_sign: '-',\n int_frac_digits: 2,\n // Fractional digits only for money defaults?\n frac_digits: 2,\n p_cs_precedes: 1,\n // positive currency symbol follows value = 0; precedes value = 1\n p_sep_by_space: 0,\n // 0: no space between curr. symbol and value; 1: space sep. them unless symb.\n // and sign are adjacent then space sep. them from value; 2: space sep. sign\n // and value unless symb. and sign are adjacent then space separates\n n_cs_precedes: 1,\n // see p_cs_precedes\n n_sep_by_space: 0,\n // see p_sep_by_space\n p_sign_posn: 3,\n // 0: parentheses surround quantity and curr. symbol; 1: sign precedes them;\n // 2: sign follows them; 3: sign immed. precedes curr. symbol; 4: sign immed.\n // succeeds curr. symbol\n n_sign_posn: 0 // see p_sign_posn\n },\n LC_NUMERIC: {\n // based on Windows \"english\" (English_United States.1252) locale\n decimal_point: '.',\n thousands_sep: ',',\n grouping: [3] // see mon_grouping, but for non-monetary values (use thousands_sep)\n },\n LC_MESSAGES: {\n YESEXPR: '^[yY].*',\n NOEXPR: '^[nN].*',\n YESSTR: '',\n NOSTR: ''\n },\n nplurals: _nplurals2a\n }\n $locutus.php.locales.en_US = _copy($locutus.php.locales.en)\n $locutus.php.locales.en_US.LC_TIME.c = '%a %d %b %Y %r %Z'\n $locutus.php.locales.en_US.LC_TIME.x = '%D'\n $locutus.php.locales.en_US.LC_TIME.X = '%r'\n // The following are based on *nix settings\n $locutus.php.locales.en_US.LC_MONETARY.int_curr_symbol = 'USD '\n $locutus.php.locales.en_US.LC_MONETARY.p_sign_posn = 1\n $locutus.php.locales.en_US.LC_MONETARY.n_sign_posn = 1\n $locutus.php.locales.en_US.LC_MONETARY.mon_grouping = [3, 3]\n $locutus.php.locales.en_US.LC_NUMERIC.thousands_sep = ''\n $locutus.php.locales.en_US.LC_NUMERIC.grouping = []\n\n $locutus.php.locales.en_GB = _copy($locutus.php.locales.en)\n $locutus.php.locales.en_GB.LC_TIME.r = '%l:%M:%S %P %Z'\n\n $locutus.php.locales.en_AU = _copy($locutus.php.locales.en_GB)\n // Assume C locale is like English (?) (We need C locale for LC_CTYPE)\n $locutus.php.locales.C = _copy($locutus.php.locales.en)\n $locutus.php.locales.C.LC_CTYPE.CODESET = 'ANSI_X3.4-1968'\n $locutus.php.locales.C.LC_MONETARY = {\n int_curr_symbol: '',\n currency_symbol: '',\n mon_decimal_point: '',\n mon_thousands_sep: '',\n mon_grouping: [],\n p_cs_precedes: 127,\n p_sep_by_space: 127,\n n_cs_precedes: 127,\n n_sep_by_space: 127,\n p_sign_posn: 127,\n n_sign_posn: 127,\n positive_sign: '',\n negative_sign: '',\n int_frac_digits: 127,\n frac_digits: 127\n }\n $locutus.php.locales.C.LC_NUMERIC = {\n decimal_point: '.',\n thousands_sep: '',\n grouping: []\n }\n // D_T_FMT\n $locutus.php.locales.C.LC_TIME.c = '%a %b %e %H:%M:%S %Y'\n // D_FMT\n $locutus.php.locales.C.LC_TIME.x = '%m/%d/%y'\n // T_FMT\n $locutus.php.locales.C.LC_TIME.X = '%H:%M:%S'\n $locutus.php.locales.C.LC_MESSAGES.YESEXPR = '^[yY]'\n $locutus.php.locales.C.LC_MESSAGES.NOEXPR = '^[nN]'\n\n $locutus.php.locales.fr = _copy($locutus.php.locales.en)\n $locutus.php.locales.fr.nplurals = _nplurals2b\n $locutus.php.locales.fr.LC_TIME.a = ['dim', 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam']\n $locutus.php.locales.fr.LC_TIME.A = ['dimanche', 'lundi', 'mardi', 'mercredi',\n 'jeudi', 'vendredi', 'samedi']\n $locutus.php.locales.fr.LC_TIME.b = ['jan', 'f\\u00E9v', 'mar', 'avr', 'mai',\n 'jun', 'jui', 'ao\\u00FB', 'sep', 'oct',\n 'nov', 'd\\u00E9c'\n ]\n $locutus.php.locales.fr.LC_TIME.B = ['janvier', 'f\\u00E9vrier', 'mars',\n 'avril', 'mai', 'juin', 'juillet', 'ao\\u00FBt',\n 'septembre', 'octobre', 'novembre', 'd\\u00E9cembre'\n ]\n $locutus.php.locales.fr.LC_TIME.c = '%a %d %b %Y %T %Z'\n $locutus.php.locales.fr.LC_TIME.p = ['', '']\n $locutus.php.locales.fr.LC_TIME.P = ['', '']\n $locutus.php.locales.fr.LC_TIME.x = '%d.%m.%Y'\n $locutus.php.locales.fr.LC_TIME.X = '%T'\n\n $locutus.php.locales.fr_CA = _copy($locutus.php.locales.fr)\n $locutus.php.locales.fr_CA.LC_TIME.x = '%Y-%m-%d'\n }\n if (!$locutus.php.locale) {\n $locutus.php.locale = 'en_US'\n // Try to establish the locale via the `window` global\n if (typeof window !== 'undefined' && window.document) {\n const d = window.document\n const NS_XHTML = 'https://www.w3.org/1999/xhtml'\n const NS_XML = 'https://www.w3.org/XML/1998/namespace'\n if (d.getElementsByTagNameNS &&\n d.getElementsByTagNameNS(NS_XHTML, 'html')[0]) {\n if (d.getElementsByTagNameNS(NS_XHTML, 'html')[0].getAttributeNS &&\n d.getElementsByTagNameNS(NS_XHTML, 'html')[0].getAttributeNS(NS_XML, 'lang')) {\n $locutus.php.locale = d.getElementsByTagName(NS_XHTML, 'html')[0]\n .getAttributeNS(NS_XML, 'lang')\n } else if (d.getElementsByTagNameNS(NS_XHTML, 'html')[0].lang) {\n // XHTML 1.0 only\n $locutus.php.locale = d.getElementsByTagNameNS(NS_XHTML, 'html')[0].lang\n }\n } else if (d.getElementsByTagName('html')[0] &&\n d.getElementsByTagName('html')[0].lang) {\n $locutus.php.locale = d.getElementsByTagName('html')[0].lang\n }\n }\n }\n // PHP-style\n $locutus.php.locale = $locutus.php.locale.replace('-', '_')\n // @todo: locale if declared locale hasn't been defined\n if (!($locutus.php.locale in $locutus.php.locales)) {\n if ($locutus.php.locale.replace(/_[a-zA-Z]+$/, '') in $locutus.php.locales) {\n $locutus.php.locale = $locutus.php.locale.replace(/_[a-zA-Z]+$/, '')\n }\n }\n\n if (!$locutus.php.localeCategories) {\n $locutus.php.localeCategories = {\n LC_COLLATE: $locutus.php.locale,\n // for string comparison, see strcoll()\n LC_CTYPE: $locutus.php.locale,\n // for character classification and conversion, for example strtoupper()\n LC_MONETARY: $locutus.php.locale,\n // for localeconv()\n LC_NUMERIC: $locutus.php.locale,\n // for decimal separator (See also localeconv())\n LC_TIME: $locutus.php.locale,\n // for date and time formatting with strftime()\n // for system responses (available if PHP was compiled with libintl):\n LC_MESSAGES: $locutus.php.locale\n }\n }\n\n if (locale === null || locale === '') {\n locale = getenv(category) || getenv('LANG')\n } else if (Object.prototype.toString.call(locale) === '[object Array]') {\n for (i = 0; i < locale.length; i++) {\n if (!(locale[i] in $locutus.php.locales)) {\n if (i === locale.length - 1) {\n // none found\n return false\n }\n continue\n }\n locale = locale[i]\n break\n }\n }\n\n // Just get the locale\n if (locale === '0' || locale === 0) {\n if (category === 'LC_ALL') {\n for (categ in $locutus.php.localeCategories) {\n // Add \".UTF-8\" or allow \".@latint\", etc. to the end?\n cats.push(categ + '=' + $locutus.php.localeCategories[categ])\n }\n return cats.join(';')\n }\n return $locutus.php.localeCategories[category]\n }\n\n if (!(locale in $locutus.php.locales)) {\n // Locale not found\n return false\n }\n\n // Set and get locale\n if (category === 'LC_ALL') {\n for (categ in $locutus.php.localeCategories) {\n $locutus.php.localeCategories[categ] = locale\n }\n } else {\n $locutus.php.localeCategories[category] = locale\n }\n\n return locale\n}\n"]}
@@ -12,7 +12,7 @@ module.exports = function sha1(str) {
12
12
  // example 1: sha1('Kevin van Zonneveld')
13
13
  // returns 1: '54916d2e62f65b3afa6e192e6a601cdbe5cb5897'
14
14
 
15
- var hash;
15
+ var hash = void 0;
16
16
  try {
17
17
  var crypto = require('crypto');
18
18
  var sha1sum = crypto.createHash('sha1');
@@ -33,8 +33,8 @@ module.exports = function sha1(str) {
33
33
 
34
34
  var _cvtHex = function _cvtHex(val) {
35
35
  var str = '';
36
- var i;
37
- var v;
36
+ var i = void 0;
37
+ var v = void 0;
38
38
 
39
39
  for (i = 7; i >= 0; i--) {
40
40
  v = val >>> i * 4 & 0x0f;
@@ -43,16 +43,21 @@ module.exports = function sha1(str) {
43
43
  return str;
44
44
  };
45
45
 
46
- var blockstart;
47
- var i, j;
46
+ var blockstart = void 0;
47
+ var i = void 0,
48
+ j = void 0;
48
49
  var W = new Array(80);
49
50
  var H0 = 0x67452301;
50
51
  var H1 = 0xEFCDAB89;
51
52
  var H2 = 0x98BADCFE;
52
53
  var H3 = 0x10325476;
53
54
  var H4 = 0xC3D2E1F0;
54
- var A, B, C, D, E;
55
- var temp;
55
+ var A = void 0,
56
+ B = void 0,
57
+ C = void 0,
58
+ D = void 0,
59
+ E = void 0;
60
+ var temp = void 0;
56
61
 
57
62
  // utf8_encode
58
63
  str = unescape(encodeURIComponent(str));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/sha1.js"],"names":["module","exports","sha1","str","hash","crypto","require","sha1sum","createHash","update","digest","e","undefined","_rotLeft","n","s","t4","_cvtHex","val","i","v","toString","blockstart","j","W","Array","H0","H1","H2","H3","H4","A","B","C","D","E","temp","unescape","encodeURIComponent","strLen","length","wordArray","charCodeAt","push","toLowerCase"],"mappings":"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","file":"sha1.js","sourcesContent":["module.exports = function sha1 (str) {\n // discuss at: https://locutus.io/php/sha1/\n // original by: Webtoolkit.info (https://www.webtoolkit.info/)\n // improved by: Michael White (https://getsprink.com)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // input by: Brett Zamir (https://brett-zamir.me)\n // note 1: Keep in mind that in accordance with PHP, the whole string is buffered and then\n // note 1: hashed. If available, we'd recommend using Node's native crypto modules directly\n // note 1: in a steaming fashion for faster and more efficient hashing\n // example 1: sha1('Kevin van Zonneveld')\n // returns 1: '54916d2e62f65b3afa6e192e6a601cdbe5cb5897'\n\n var hash\n try {\n var crypto = require('crypto')\n var sha1sum = crypto.createHash('sha1')\n sha1sum.update(str)\n hash = sha1sum.digest('hex')\n } catch (e) {\n hash = undefined\n }\n\n if (hash !== undefined) {\n return hash\n }\n\n var _rotLeft = function (n, s) {\n var t4 = (n << s) | (n >>> (32 - s))\n return t4\n }\n\n var _cvtHex = function (val) {\n var str = ''\n var i\n var v\n\n for (i = 7; i >= 0; i--) {\n v = (val >>> (i * 4)) & 0x0f\n str += v.toString(16)\n }\n return str\n }\n\n var blockstart\n var i, j\n var W = new Array(80)\n var H0 = 0x67452301\n var H1 = 0xEFCDAB89\n var H2 = 0x98BADCFE\n var H3 = 0x10325476\n var H4 = 0xC3D2E1F0\n var A, B, C, D, E\n var temp\n\n // utf8_encode\n str = unescape(encodeURIComponent(str))\n var strLen = str.length\n\n var wordArray = []\n for (i = 0; i < strLen - 3; i += 4) {\n j = str.charCodeAt(i) << 24 |\n str.charCodeAt(i + 1) << 16 |\n str.charCodeAt(i + 2) << 8 |\n str.charCodeAt(i + 3)\n wordArray.push(j)\n }\n\n switch (strLen % 4) {\n case 0:\n i = 0x080000000\n break\n case 1:\n i = str.charCodeAt(strLen - 1) << 24 | 0x0800000\n break\n case 2:\n i = str.charCodeAt(strLen - 2) << 24 | str.charCodeAt(strLen - 1) << 16 | 0x08000\n break\n case 3:\n i = str.charCodeAt(strLen - 3) << 24 |\n str.charCodeAt(strLen - 2) << 16 |\n str.charCodeAt(strLen - 1) <<\n 8 | 0x80\n break\n }\n\n wordArray.push(i)\n\n while ((wordArray.length % 16) !== 14) {\n wordArray.push(0)\n }\n\n wordArray.push(strLen >>> 29)\n wordArray.push((strLen << 3) & 0x0ffffffff)\n\n for (blockstart = 0; blockstart < wordArray.length; blockstart += 16) {\n for (i = 0; i < 16; i++) {\n W[i] = wordArray[blockstart + i]\n }\n for (i = 16; i <= 79; i++) {\n W[i] = _rotLeft(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1)\n }\n\n A = H0\n B = H1\n C = H2\n D = H3\n E = H4\n\n for (i = 0; i <= 19; i++) {\n temp = (_rotLeft(A, 5) + ((B & C) | (~B & D)) + E + W[i] + 0x5A827999) & 0x0ffffffff\n E = D\n D = C\n C = _rotLeft(B, 30)\n B = A\n A = temp\n }\n\n for (i = 20; i <= 39; i++) {\n temp = (_rotLeft(A, 5) + (B ^ C ^ D) + E + W[i] + 0x6ED9EBA1) & 0x0ffffffff\n E = D\n D = C\n C = _rotLeft(B, 30)\n B = A\n A = temp\n }\n\n for (i = 40; i <= 59; i++) {\n temp = (_rotLeft(A, 5) + ((B & C) | (B & D) | (C & D)) + E + W[i] + 0x8F1BBCDC) & 0x0ffffffff\n E = D\n D = C\n C = _rotLeft(B, 30)\n B = A\n A = temp\n }\n\n for (i = 60; i <= 79; i++) {\n temp = (_rotLeft(A, 5) + (B ^ C ^ D) + E + W[i] + 0xCA62C1D6) & 0x0ffffffff\n E = D\n D = C\n C = _rotLeft(B, 30)\n B = A\n A = temp\n }\n\n H0 = (H0 + A) & 0x0ffffffff\n H1 = (H1 + B) & 0x0ffffffff\n H2 = (H2 + C) & 0x0ffffffff\n H3 = (H3 + D) & 0x0ffffffff\n H4 = (H4 + E) & 0x0ffffffff\n }\n\n temp = _cvtHex(H0) + _cvtHex(H1) + _cvtHex(H2) + _cvtHex(H3) + _cvtHex(H4)\n return temp.toLowerCase()\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/sha1.js"],"names":["module","exports","sha1","str","hash","crypto","require","sha1sum","createHash","update","digest","e","undefined","_rotLeft","n","s","t4","_cvtHex","val","i","v","toString","blockstart","j","W","Array","H0","H1","H2","H3","H4","A","B","C","D","E","temp","unescape","encodeURIComponent","strLen","length","wordArray","charCodeAt","push","toLowerCase"],"mappings":"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","file":"sha1.js","sourcesContent":["module.exports = function sha1 (str) {\n // discuss at: https://locutus.io/php/sha1/\n // original by: Webtoolkit.info (https://www.webtoolkit.info/)\n // improved by: Michael White (https://getsprink.com)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // input by: Brett Zamir (https://brett-zamir.me)\n // note 1: Keep in mind that in accordance with PHP, the whole string is buffered and then\n // note 1: hashed. If available, we'd recommend using Node's native crypto modules directly\n // note 1: in a steaming fashion for faster and more efficient hashing\n // example 1: sha1('Kevin van Zonneveld')\n // returns 1: '54916d2e62f65b3afa6e192e6a601cdbe5cb5897'\n\n let hash\n try {\n const crypto = require('crypto')\n const sha1sum = crypto.createHash('sha1')\n sha1sum.update(str)\n hash = sha1sum.digest('hex')\n } catch (e) {\n hash = undefined\n }\n\n if (hash !== undefined) {\n return hash\n }\n\n const _rotLeft = function (n, s) {\n const t4 = (n << s) | (n >>> (32 - s))\n return t4\n }\n\n const _cvtHex = function (val) {\n let str = ''\n let i\n let v\n\n for (i = 7; i >= 0; i--) {\n v = (val >>> (i * 4)) & 0x0f\n str += v.toString(16)\n }\n return str\n }\n\n let blockstart\n let i, j\n const W = new Array(80)\n let H0 = 0x67452301\n let H1 = 0xEFCDAB89\n let H2 = 0x98BADCFE\n let H3 = 0x10325476\n let H4 = 0xC3D2E1F0\n let A, B, C, D, E\n let temp\n\n // utf8_encode\n str = unescape(encodeURIComponent(str))\n const strLen = str.length\n\n const wordArray = []\n for (i = 0; i < strLen - 3; i += 4) {\n j = str.charCodeAt(i) << 24 |\n str.charCodeAt(i + 1) << 16 |\n str.charCodeAt(i + 2) << 8 |\n str.charCodeAt(i + 3)\n wordArray.push(j)\n }\n\n switch (strLen % 4) {\n case 0:\n i = 0x080000000\n break\n case 1:\n i = str.charCodeAt(strLen - 1) << 24 | 0x0800000\n break\n case 2:\n i = str.charCodeAt(strLen - 2) << 24 | str.charCodeAt(strLen - 1) << 16 | 0x08000\n break\n case 3:\n i = str.charCodeAt(strLen - 3) << 24 |\n str.charCodeAt(strLen - 2) << 16 |\n str.charCodeAt(strLen - 1) <<\n 8 | 0x80\n break\n }\n\n wordArray.push(i)\n\n while ((wordArray.length % 16) !== 14) {\n wordArray.push(0)\n }\n\n wordArray.push(strLen >>> 29)\n wordArray.push((strLen << 3) & 0x0ffffffff)\n\n for (blockstart = 0; blockstart < wordArray.length; blockstart += 16) {\n for (i = 0; i < 16; i++) {\n W[i] = wordArray[blockstart + i]\n }\n for (i = 16; i <= 79; i++) {\n W[i] = _rotLeft(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1)\n }\n\n A = H0\n B = H1\n C = H2\n D = H3\n E = H4\n\n for (i = 0; i <= 19; i++) {\n temp = (_rotLeft(A, 5) + ((B & C) | (~B & D)) + E + W[i] + 0x5A827999) & 0x0ffffffff\n E = D\n D = C\n C = _rotLeft(B, 30)\n B = A\n A = temp\n }\n\n for (i = 20; i <= 39; i++) {\n temp = (_rotLeft(A, 5) + (B ^ C ^ D) + E + W[i] + 0x6ED9EBA1) & 0x0ffffffff\n E = D\n D = C\n C = _rotLeft(B, 30)\n B = A\n A = temp\n }\n\n for (i = 40; i <= 59; i++) {\n temp = (_rotLeft(A, 5) + ((B & C) | (B & D) | (C & D)) + E + W[i] + 0x8F1BBCDC) & 0x0ffffffff\n E = D\n D = C\n C = _rotLeft(B, 30)\n B = A\n A = temp\n }\n\n for (i = 60; i <= 79; i++) {\n temp = (_rotLeft(A, 5) + (B ^ C ^ D) + E + W[i] + 0xCA62C1D6) & 0x0ffffffff\n E = D\n D = C\n C = _rotLeft(B, 30)\n B = A\n A = temp\n }\n\n H0 = (H0 + A) & 0x0ffffffff\n H1 = (H1 + B) & 0x0ffffffff\n H2 = (H2 + C) & 0x0ffffffff\n H3 = (H3 + D) & 0x0ffffffff\n H4 = (H4 + E) & 0x0ffffffff\n }\n\n temp = _cvtHex(H0) + _cvtHex(H1) + _cvtHex(H2) + _cvtHex(H3) + _cvtHex(H4)\n return temp.toLowerCase()\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/sha1_file.js"],"names":["module","exports","sha1_file","str_filename","fileGetContents","require","sha1","buf"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,SAAT,CAAoBC,YAApB,EAAkC;AAAE;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,kBAAkBC,QAAQ,iCAAR,CAAtB;AACA,MAAIC,OAAOD,QAAQ,iBAAR,CAAX;AACA,MAAIE,MAAMH,gBAAgBD,YAAhB,CAAV;;AAEA,MAAII,QAAQ,KAAZ,EAAmB;AACjB,WAAO,KAAP;AACD;;AAED,SAAOD,KAAKC,GAAL,CAAP;AACD,CAnBD","file":"sha1_file.js","sourcesContent":["module.exports = function sha1_file (str_filename) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/sha1_file/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // note 1: Relies on file_get_contents which does not work in the browser, so Node only.\n // note 2: Keep in mind that in accordance with PHP, the whole file is buffered and then\n // note 2: hashed. We'd recommend Node's native crypto modules for faster and more\n // note 2: efficient hashing\n // example 1: sha1_file('test/never-change.txt')\n // returns 1: '0ea65a1f4b4d69712affc58240932f3eb8a2af66'\n\n var fileGetContents = require('../filesystem/file_get_contents')\n var sha1 = require('../strings/sha1')\n var buf = fileGetContents(str_filename)\n\n if (buf === false) {\n return false\n }\n\n return sha1(buf)\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/sha1_file.js"],"names":["module","exports","sha1_file","str_filename","fileGetContents","require","sha1","buf"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,SAAT,CAAoBC,YAApB,EAAkC;AAAE;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,kBAAkBC,QAAQ,iCAAR,CAAxB;AACA,MAAMC,OAAOD,QAAQ,iBAAR,CAAb;AACA,MAAME,MAAMH,gBAAgBD,YAAhB,CAAZ;;AAEA,MAAII,QAAQ,KAAZ,EAAmB;AACjB,WAAO,KAAP;AACD;;AAED,SAAOD,KAAKC,GAAL,CAAP;AACD,CAnBD","file":"sha1_file.js","sourcesContent":["module.exports = function sha1_file (str_filename) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/sha1_file/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // note 1: Relies on file_get_contents which does not work in the browser, so Node only.\n // note 2: Keep in mind that in accordance with PHP, the whole file is buffered and then\n // note 2: hashed. We'd recommend Node's native crypto modules for faster and more\n // note 2: efficient hashing\n // example 1: sha1_file('test/never-change.txt')\n // returns 1: '0ea65a1f4b4d69712affc58240932f3eb8a2af66'\n\n const fileGetContents = require('../filesystem/file_get_contents')\n const sha1 = require('../strings/sha1')\n const buf = fileGetContents(str_filename)\n\n if (buf === false) {\n return false\n }\n\n return sha1(buf)\n}\n"]}
@@ -24,10 +24,10 @@ module.exports = function similar_text(first, second, percent) {
24
24
  var max = 0;
25
25
  var firstLength = first.length;
26
26
  var secondLength = second.length;
27
- var p;
28
- var q;
29
- var l;
30
- var sum;
27
+ var p = void 0;
28
+ var q = void 0;
29
+ var l = void 0;
30
+ var sum = void 0;
31
31
 
32
32
  for (p = 0; p < firstLength; p++) {
33
33
  for (q = 0; q < secondLength; q++) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/similar_text.js"],"names":["module","exports","similar_text","first","second","percent","pos1","pos2","max","firstLength","length","secondLength","p","q","l","sum","charAt","substr"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,YAAT,CAAuBC,KAAvB,EAA8BC,MAA9B,EAAsCC,OAAtC,EAA+C;AAAE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIF,UAAU,IAAV,IACFC,WAAW,IADT,IAEF,OAAOD,KAAP,KAAiB,WAFf,IAGF,OAAOC,MAAP,KAAkB,WAHpB,EAGiC;AAC/B,WAAO,CAAP;AACD;;AAEDD,WAAS,EAAT;AACAC,YAAU,EAAV;;AAEA,MAAIE,OAAO,CAAX;AACA,MAAIC,OAAO,CAAX;AACA,MAAIC,MAAM,CAAV;AACA,MAAIC,cAAcN,MAAMO,MAAxB;AACA,MAAIC,eAAeP,OAAOM,MAA1B;AACA,MAAIE,CAAJ;AACA,MAAIC,CAAJ;AACA,MAAIC,CAAJ;AACA,MAAIC,GAAJ;;AAEA,OAAKH,IAAI,CAAT,EAAYA,IAAIH,WAAhB,EAA6BG,GAA7B,EAAkC;AAChC,SAAKC,IAAI,CAAT,EAAYA,IAAIF,YAAhB,EAA8BE,GAA9B,EAAmC;AACjC,WAAKC,IAAI,CAAT,EAAaF,IAAIE,CAAJ,GAAQL,WAAT,IAA0BI,IAAIC,CAAJ,GAAQH,YAAlC,IAAoDR,MAAMa,MAAN,CAAaJ,IAAIE,CAAjB,MAAwBV,OAAOY,MAAP,CAAcH,IAAIC,CAAlB,CAAxF,EAA+GA,GAA/G,EAAoH,CAAE;AACpH;AACD;AACD,UAAIA,IAAIN,GAAR,EAAa;AACXA,cAAMM,CAAN;AACAR,eAAOM,CAAP;AACAL,eAAOM,CAAP;AACD;AACF;AACF;;AAEDE,QAAMP,GAAN;;AAEA,MAAIO,GAAJ,EAAS;AACP,QAAIT,QAAQC,IAAZ,EAAkB;AAChBQ,aAAOb,aAAaC,MAAMc,MAAN,CAAa,CAAb,EAAgBX,IAAhB,CAAb,EAAoCF,OAAOa,MAAP,CAAc,CAAd,EAAiBV,IAAjB,CAApC,CAAP;AACD;;AAED,QAAKD,OAAOE,GAAP,GAAaC,WAAd,IAA+BF,OAAOC,GAAP,GAAaG,YAAhD,EAA+D;AAC7DI,aAAOb,aACLC,MAAMc,MAAN,CAAaX,OAAOE,GAApB,EAAyBC,cAAcH,IAAd,GAAqBE,GAA9C,CADK,EAELJ,OAAOa,MAAP,CAAcV,OAAOC,GAArB,EACAG,eAAeJ,IAAf,GAAsBC,GADtB,CAFK,CAAP;AAID;AACF;;AAED,MAAI,CAACH,OAAL,EAAc;AACZ,WAAOU,GAAP;AACD;;AAED,SAAQA,MAAM,GAAP,IAAeN,cAAcE,YAA7B,CAAP;AACD,CAhED","file":"similar_text.js","sourcesContent":["module.exports = function similar_text (first, second, percent) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/similar_text/\n // original by: Rafał Kukawski (https://blog.kukawski.pl)\n // bugfixed by: Chris McMacken\n // bugfixed by: Jarkko Rantavuori original by findings in stackoverflow (https://stackoverflow.com/questions/14136349/how-does-similar-text-work)\n // improved by: Markus Padourek (taken from https://www.kevinhq.com/2012/06/php-similartext-function-in-javascript_16.html)\n // example 1: similar_text('Hello World!', 'Hello locutus!')\n // returns 1: 8\n // example 2: similar_text('Hello World!', null)\n // returns 2: 0\n\n if (first === null ||\n second === null ||\n typeof first === 'undefined' ||\n typeof second === 'undefined') {\n return 0\n }\n\n first += ''\n second += ''\n\n var pos1 = 0\n var pos2 = 0\n var max = 0\n var firstLength = first.length\n var secondLength = second.length\n var p\n var q\n var l\n var sum\n\n for (p = 0; p < firstLength; p++) {\n for (q = 0; q < secondLength; q++) {\n for (l = 0; (p + l < firstLength) && (q + l < secondLength) && (first.charAt(p + l) === second.charAt(q + l)); l++) { // eslint-disable-line max-len\n // @todo: ^-- break up this crazy for loop and put the logic in its body\n }\n if (l > max) {\n max = l\n pos1 = p\n pos2 = q\n }\n }\n }\n\n sum = max\n\n if (sum) {\n if (pos1 && pos2) {\n sum += similar_text(first.substr(0, pos1), second.substr(0, pos2))\n }\n\n if ((pos1 + max < firstLength) && (pos2 + max < secondLength)) {\n sum += similar_text(\n first.substr(pos1 + max, firstLength - pos1 - max),\n second.substr(pos2 + max,\n secondLength - pos2 - max))\n }\n }\n\n if (!percent) {\n return sum\n }\n\n return (sum * 200) / (firstLength + secondLength)\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/similar_text.js"],"names":["module","exports","similar_text","first","second","percent","pos1","pos2","max","firstLength","length","secondLength","p","q","l","sum","charAt","substr"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,YAAT,CAAuBC,KAAvB,EAA8BC,MAA9B,EAAsCC,OAAtC,EAA+C;AAAE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIF,UAAU,IAAV,IACFC,WAAW,IADT,IAEF,OAAOD,KAAP,KAAiB,WAFf,IAGF,OAAOC,MAAP,KAAkB,WAHpB,EAGiC;AAC/B,WAAO,CAAP;AACD;;AAEDD,WAAS,EAAT;AACAC,YAAU,EAAV;;AAEA,MAAIE,OAAO,CAAX;AACA,MAAIC,OAAO,CAAX;AACA,MAAIC,MAAM,CAAV;AACA,MAAMC,cAAcN,MAAMO,MAA1B;AACA,MAAMC,eAAeP,OAAOM,MAA5B;AACA,MAAIE,UAAJ;AACA,MAAIC,UAAJ;AACA,MAAIC,UAAJ;AACA,MAAIC,YAAJ;;AAEA,OAAKH,IAAI,CAAT,EAAYA,IAAIH,WAAhB,EAA6BG,GAA7B,EAAkC;AAChC,SAAKC,IAAI,CAAT,EAAYA,IAAIF,YAAhB,EAA8BE,GAA9B,EAAmC;AACjC,WAAKC,IAAI,CAAT,EAAaF,IAAIE,CAAJ,GAAQL,WAAT,IAA0BI,IAAIC,CAAJ,GAAQH,YAAlC,IAAoDR,MAAMa,MAAN,CAAaJ,IAAIE,CAAjB,MAAwBV,OAAOY,MAAP,CAAcH,IAAIC,CAAlB,CAAxF,EAA+GA,GAA/G,EAAoH,CAAE;AACpH;AACD;AACD,UAAIA,IAAIN,GAAR,EAAa;AACXA,cAAMM,CAAN;AACAR,eAAOM,CAAP;AACAL,eAAOM,CAAP;AACD;AACF;AACF;;AAEDE,QAAMP,GAAN;;AAEA,MAAIO,GAAJ,EAAS;AACP,QAAIT,QAAQC,IAAZ,EAAkB;AAChBQ,aAAOb,aAAaC,MAAMc,MAAN,CAAa,CAAb,EAAgBX,IAAhB,CAAb,EAAoCF,OAAOa,MAAP,CAAc,CAAd,EAAiBV,IAAjB,CAApC,CAAP;AACD;;AAED,QAAKD,OAAOE,GAAP,GAAaC,WAAd,IAA+BF,OAAOC,GAAP,GAAaG,YAAhD,EAA+D;AAC7DI,aAAOb,aACLC,MAAMc,MAAN,CAAaX,OAAOE,GAApB,EAAyBC,cAAcH,IAAd,GAAqBE,GAA9C,CADK,EAELJ,OAAOa,MAAP,CAAcV,OAAOC,GAArB,EACEG,eAAeJ,IAAf,GAAsBC,GADxB,CAFK,CAAP;AAID;AACF;;AAED,MAAI,CAACH,OAAL,EAAc;AACZ,WAAOU,GAAP;AACD;;AAED,SAAQA,MAAM,GAAP,IAAeN,cAAcE,YAA7B,CAAP;AACD,CAhED","file":"similar_text.js","sourcesContent":["module.exports = function similar_text (first, second, percent) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/similar_text/\n // original by: Rafał Kukawski (https://blog.kukawski.pl)\n // bugfixed by: Chris McMacken\n // bugfixed by: Jarkko Rantavuori original by findings in stackoverflow (https://stackoverflow.com/questions/14136349/how-does-similar-text-work)\n // improved by: Markus Padourek (taken from https://www.kevinhq.com/2012/06/php-similartext-function-in-javascript_16.html)\n // example 1: similar_text('Hello World!', 'Hello locutus!')\n // returns 1: 8\n // example 2: similar_text('Hello World!', null)\n // returns 2: 0\n\n if (first === null ||\n second === null ||\n typeof first === 'undefined' ||\n typeof second === 'undefined') {\n return 0\n }\n\n first += ''\n second += ''\n\n let pos1 = 0\n let pos2 = 0\n let max = 0\n const firstLength = first.length\n const secondLength = second.length\n let p\n let q\n let l\n let sum\n\n for (p = 0; p < firstLength; p++) {\n for (q = 0; q < secondLength; q++) {\n for (l = 0; (p + l < firstLength) && (q + l < secondLength) && (first.charAt(p + l) === second.charAt(q + l)); l++) { // eslint-disable-line max-len\n // @todo: ^-- break up this crazy for loop and put the logic in its body\n }\n if (l > max) {\n max = l\n pos1 = p\n pos2 = q\n }\n }\n }\n\n sum = max\n\n if (sum) {\n if (pos1 && pos2) {\n sum += similar_text(first.substr(0, pos1), second.substr(0, pos2))\n }\n\n if ((pos1 + max < firstLength) && (pos2 + max < secondLength)) {\n sum += similar_text(\n first.substr(pos1 + max, firstLength - pos1 - max),\n second.substr(pos2 + max,\n secondLength - pos2 - max))\n }\n }\n\n if (!percent) {\n return sum\n }\n\n return (sum * 200) / (firstLength + secondLength)\n}\n"]}
@@ -44,10 +44,10 @@ module.exports = function soundex(str) {
44
44
  R: 6
45
45
  };
46
46
  var i = 0;
47
- var j;
47
+ var j = void 0;
48
48
  var s = 0;
49
- var c;
50
- var p;
49
+ var c = void 0;
50
+ var p = void 0;
51
51
 
52
52
  while ((c = str.charAt(i++)) && s < 4) {
53
53
  if (j = m[c]) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/soundex.js"],"names":["module","exports","soundex","str","toUpperCase","sdx","m","B","F","P","V","C","G","J","K","Q","S","X","Z","D","T","L","M","N","R","i","j","s","c","p","charAt","join"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,GAAlB,EAAuB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEAA,QAAM,CAACA,MAAM,EAAP,EAAWC,WAAX,EAAN;AACA,MAAI,CAACD,GAAL,EAAU;AACR,WAAO,EAAP;AACD;;AAED,MAAIE,MAAM,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CAAV;AACA,MAAIC,IAAI;AACNC,OAAG,CADG;AAENC,OAAG,CAFG;AAGNC,OAAG,CAHG;AAINC,OAAG,CAJG;AAKNC,OAAG,CALG;AAMNC,OAAG,CANG;AAONC,OAAG,CAPG;AAQNC,OAAG,CARG;AASNC,OAAG,CATG;AAUNC,OAAG,CAVG;AAWNC,OAAG,CAXG;AAYNC,OAAG,CAZG;AAaNC,OAAG,CAbG;AAcNC,OAAG,CAdG;AAeNC,OAAG,CAfG;AAgBNC,OAAG,CAhBG;AAiBNC,OAAG,CAjBG;AAkBNC,OAAG;AAlBG,GAAR;AAoBA,MAAIC,IAAI,CAAR;AACA,MAAIC,CAAJ;AACA,MAAIC,IAAI,CAAR;AACA,MAAIC,CAAJ;AACA,MAAIC,CAAJ;;AAEA,SAAO,CAACD,IAAIzB,IAAI2B,MAAJ,CAAWL,GAAX,CAAL,KAAyBE,IAAI,CAApC,EAAuC;AACrC,QAAKD,IAAIpB,EAAEsB,CAAF,CAAT,EAAgB;AACd,UAAIF,MAAMG,CAAV,EAAa;AACXxB,YAAIsB,GAAJ,IAAWE,IAAIH,CAAf;AACD;AACF,KAJD,MAIO;AACLC,WAAKF,MAAM,CAAX;AACAI,UAAI,CAAJ;AACD;AACF;;AAEDxB,MAAI,CAAJ,IAASF,IAAI2B,MAAJ,CAAW,CAAX,CAAT;;AAEA,SAAOzB,IAAI0B,IAAJ,CAAS,EAAT,CAAP;AACD,CA/DD","file":"soundex.js","sourcesContent":["module.exports = function soundex (str) {\n // discuss at: https://locutus.io/php/soundex/\n // original by: Jonas Raoni Soares Silva (https://www.jsfromhell.com)\n // original by: Arnout Kazemier (https://www.3rd-Eden.com)\n // improved by: Jack\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // input by: Brett Zamir (https://brett-zamir.me)\n // revised by: Rafał Kukawski (https://blog.kukawski.pl)\n // example 1: soundex('Kevin')\n // returns 1: 'K150'\n // example 2: soundex('Ellery')\n // returns 2: 'E460'\n // example 3: soundex('Euler')\n // returns 3: 'E460'\n\n str = (str + '').toUpperCase()\n if (!str) {\n return ''\n }\n\n var sdx = [0, 0, 0, 0]\n var m = {\n B: 1,\n F: 1,\n P: 1,\n V: 1,\n C: 2,\n G: 2,\n J: 2,\n K: 2,\n Q: 2,\n S: 2,\n X: 2,\n Z: 2,\n D: 3,\n T: 3,\n L: 4,\n M: 5,\n N: 5,\n R: 6\n }\n var i = 0\n var j\n var s = 0\n var c\n var p\n\n while ((c = str.charAt(i++)) && s < 4) {\n if ((j = m[c])) {\n if (j !== p) {\n sdx[s++] = p = j\n }\n } else {\n s += i === 1\n p = 0\n }\n }\n\n sdx[0] = str.charAt(0)\n\n return sdx.join('')\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/soundex.js"],"names":["module","exports","soundex","str","toUpperCase","sdx","m","B","F","P","V","C","G","J","K","Q","S","X","Z","D","T","L","M","N","R","i","j","s","c","p","charAt","join"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,GAAlB,EAAuB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEAA,QAAM,CAACA,MAAM,EAAP,EAAWC,WAAX,EAAN;AACA,MAAI,CAACD,GAAL,EAAU;AACR,WAAO,EAAP;AACD;;AAED,MAAME,MAAM,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CAAZ;AACA,MAAMC,IAAI;AACRC,OAAG,CADK;AAERC,OAAG,CAFK;AAGRC,OAAG,CAHK;AAIRC,OAAG,CAJK;AAKRC,OAAG,CALK;AAMRC,OAAG,CANK;AAORC,OAAG,CAPK;AAQRC,OAAG,CARK;AASRC,OAAG,CATK;AAURC,OAAG,CAVK;AAWRC,OAAG,CAXK;AAYRC,OAAG,CAZK;AAaRC,OAAG,CAbK;AAcRC,OAAG,CAdK;AAeRC,OAAG,CAfK;AAgBRC,OAAG,CAhBK;AAiBRC,OAAG,CAjBK;AAkBRC,OAAG;AAlBK,GAAV;AAoBA,MAAIC,IAAI,CAAR;AACA,MAAIC,UAAJ;AACA,MAAIC,IAAI,CAAR;AACA,MAAIC,UAAJ;AACA,MAAIC,UAAJ;;AAEA,SAAO,CAACD,IAAIzB,IAAI2B,MAAJ,CAAWL,GAAX,CAAL,KAAyBE,IAAI,CAApC,EAAuC;AACrC,QAAKD,IAAIpB,EAAEsB,CAAF,CAAT,EAAgB;AACd,UAAIF,MAAMG,CAAV,EAAa;AACXxB,YAAIsB,GAAJ,IAAWE,IAAIH,CAAf;AACD;AACF,KAJD,MAIO;AACLC,WAAKF,MAAM,CAAX;AACAI,UAAI,CAAJ;AACD;AACF;;AAEDxB,MAAI,CAAJ,IAASF,IAAI2B,MAAJ,CAAW,CAAX,CAAT;;AAEA,SAAOzB,IAAI0B,IAAJ,CAAS,EAAT,CAAP;AACD,CA/DD","file":"soundex.js","sourcesContent":["module.exports = function soundex (str) {\n // discuss at: https://locutus.io/php/soundex/\n // original by: Jonas Raoni Soares Silva (https://www.jsfromhell.com)\n // original by: Arnout Kazemier (https://www.3rd-Eden.com)\n // improved by: Jack\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // input by: Brett Zamir (https://brett-zamir.me)\n // revised by: Rafał Kukawski (https://blog.kukawski.pl)\n // example 1: soundex('Kevin')\n // returns 1: 'K150'\n // example 2: soundex('Ellery')\n // returns 2: 'E460'\n // example 3: soundex('Euler')\n // returns 3: 'E460'\n\n str = (str + '').toUpperCase()\n if (!str) {\n return ''\n }\n\n const sdx = [0, 0, 0, 0]\n const m = {\n B: 1,\n F: 1,\n P: 1,\n V: 1,\n C: 2,\n G: 2,\n J: 2,\n K: 2,\n Q: 2,\n S: 2,\n X: 2,\n Z: 2,\n D: 3,\n T: 3,\n L: 4,\n M: 5,\n N: 5,\n R: 6\n }\n let i = 0\n let j\n let s = 0\n let c\n let p\n\n while ((c = str.charAt(i++)) && s < 4) {\n if ((j = m[c])) {\n if (j !== p) {\n sdx[s++] = p = j\n }\n } else {\n s += i === 1\n p = 0\n }\n }\n\n sdx[0] = str.charAt(0)\n\n return sdx.join('')\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/split.js"],"names":["module","exports","split","delimiter","string","explode","require"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,KAAT,CAAgBC,SAAhB,EAA2BC,MAA3B,EAAmC;AAClD;AACA;AACA;AACA;;AAEA,MAAIC,UAAUC,QAAQ,oBAAR,CAAd;AACA,SAAOD,QAAQF,SAAR,EAAmBC,MAAnB,CAAP;AACD,CARD","file":"split.js","sourcesContent":["module.exports = function split (delimiter, string) {\n // discuss at: https://locutus.io/php/split/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // example 1: split(' ', 'Kevin van Zonneveld')\n // returns 1: ['Kevin', 'van', 'Zonneveld']\n\n var explode = require('../strings/explode')\n return explode(delimiter, string)\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/split.js"],"names":["module","exports","split","delimiter","string","explode","require"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,KAAT,CAAgBC,SAAhB,EAA2BC,MAA3B,EAAmC;AAClD;AACA;AACA;AACA;;AAEA,MAAMC,UAAUC,QAAQ,oBAAR,CAAhB;AACA,SAAOD,QAAQF,SAAR,EAAmBC,MAAnB,CAAP;AACD,CARD","file":"split.js","sourcesContent":["module.exports = function split (delimiter, string) {\n // discuss at: https://locutus.io/php/split/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // example 1: split(' ', 'Kevin van Zonneveld')\n // returns 1: ['Kevin', 'van', 'Zonneveld']\n\n const explode = require('../strings/explode')\n return explode(delimiter, string)\n}\n"]}
@@ -77,7 +77,11 @@ module.exports = function sprintf() {
77
77
 
78
78
  // doFormat()
79
79
  var doFormat = function doFormat(substring, argIndex, modifiers, minWidth, precision, specifier) {
80
- var number, prefix, method, textTransform, value;
80
+ var number = void 0,
81
+ prefix = void 0,
82
+ method = void 0,
83
+ textTransform = void 0,
84
+ value = void 0;
81
85
 
82
86
  if (substring === '%%') {
83
87
  return '%';
@@ -87,7 +91,8 @@ module.exports = function sprintf() {
87
91
  var padChar = ' '; // pad with spaces by default
88
92
  var leftJustify = false;
89
93
  var positiveNumberPrefix = '';
90
- var j, l;
94
+ var j = void 0,
95
+ l = void 0;
91
96
 
92
97
  for (j = 0, l = modifiers.length; j < l; j++) {
93
98
  switch (modifiers.charAt(j)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/sprintf.js"],"names":["module","exports","sprintf","regex","args","arguments","i","format","_pad","str","len","chr","leftJustify","padding","length","Array","join","justify","value","prefix","minWidth","padChar","diff","slice","_formatBaseX","base","precision","number","toString","_formatString","customPadChar","undefined","doFormat","substring","argIndex","modifiers","specifier","method","textTransform","positiveNumberPrefix","j","l","charAt","isFinite","Error","indexOf","String","fromCharCode","toUpperCase","Math","round","abs","toLowerCase","replace","err"],"mappings":"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","file":"sprintf.js","sourcesContent":["module.exports = function sprintf () {\n // discuss at: https://locutus.io/php/sprintf/\n // original by: Ash Searle (https://hexmen.com/blog/)\n // improved by: Michael White (https://getsprink.com)\n // improved by: Jack\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Dj\n // improved by: Allidylls\n // input by: Paulo Freitas\n // input by: Brett Zamir (https://brett-zamir.me)\n // improved by: Rafał Kukawski (https://kukawski.pl)\n // example 1: sprintf(\"%01.2f\", 123.1)\n // returns 1: '123.10'\n // example 2: sprintf(\"[%10s]\", 'monkey')\n // returns 2: '[ monkey]'\n // example 3: sprintf(\"[%'#10s]\", 'monkey')\n // returns 3: '[####monkey]'\n // example 4: sprintf(\"%d\", 123456789012345)\n // returns 4: '123456789012345'\n // example 5: sprintf('%-03s', 'E')\n // returns 5: 'E00'\n // example 6: sprintf('%+010d', 9)\n // returns 6: '+000000009'\n // example 7: sprintf('%+0\\'@10d', 9)\n // returns 7: '@@@@@@@@+9'\n // example 8: sprintf('%.f', 3.14)\n // returns 8: '3.140000'\n // example 9: sprintf('%% %2$d', 1, 2)\n // returns 9: '% 2'\n\n var regex = /%%|%(?:(\\d+)\\$)?((?:[-+#0 ]|'[\\s\\S])*)(\\d+)?(?:\\.(\\d*))?([\\s\\S])/g\n var args = arguments\n var i = 0\n var format = args[i++]\n\n var _pad = function (str, len, chr, leftJustify) {\n if (!chr) {\n chr = ' '\n }\n var padding = (str.length >= len) ? '' : new Array(1 + len - str.length >>> 0).join(chr)\n return leftJustify ? str + padding : padding + str\n }\n\n var justify = function (value, prefix, leftJustify, minWidth, padChar) {\n var diff = minWidth - value.length\n if (diff > 0) {\n // when padding with zeros\n // on the left side\n // keep sign (+ or -) in front\n if (!leftJustify && padChar === '0') {\n value = [\n value.slice(0, prefix.length),\n _pad('', diff, '0', true),\n value.slice(prefix.length)\n ].join('')\n } else {\n value = _pad(value, minWidth, padChar, leftJustify)\n }\n }\n return value\n }\n\n var _formatBaseX = function (value, base, leftJustify, minWidth, precision, padChar) {\n // Note: casts negative numbers to positive ones\n var number = value >>> 0\n value = _pad(number.toString(base), precision || 0, '0', false)\n return justify(value, '', leftJustify, minWidth, padChar)\n }\n\n // _formatString()\n var _formatString = function (value, leftJustify, minWidth, precision, customPadChar) {\n if (precision !== null && precision !== undefined) {\n value = value.slice(0, precision)\n }\n return justify(value, '', leftJustify, minWidth, customPadChar)\n }\n\n // doFormat()\n var doFormat = function (substring, argIndex, modifiers, minWidth, precision, specifier) {\n var number, prefix, method, textTransform, value\n\n if (substring === '%%') {\n return '%'\n }\n\n // parse modifiers\n var padChar = ' ' // pad with spaces by default\n var leftJustify = false\n var positiveNumberPrefix = ''\n var j, l\n\n for (j = 0, l = modifiers.length; j < l; j++) {\n switch (modifiers.charAt(j)) {\n case ' ':\n case '0':\n padChar = modifiers.charAt(j)\n break\n case '+':\n positiveNumberPrefix = '+'\n break\n case '-':\n leftJustify = true\n break\n case \"'\":\n if (j + 1 < l) {\n padChar = modifiers.charAt(j + 1)\n j++\n }\n break\n }\n }\n\n if (!minWidth) {\n minWidth = 0\n } else {\n minWidth = +minWidth\n }\n\n if (!isFinite(minWidth)) {\n throw new Error('Width must be finite')\n }\n\n if (!precision) {\n precision = (specifier === 'd') ? 0 : 'fFeE'.indexOf(specifier) > -1 ? 6 : undefined\n } else {\n precision = +precision\n }\n\n if (argIndex && +argIndex === 0) {\n throw new Error('Argument number must be greater than zero')\n }\n\n if (argIndex && +argIndex >= args.length) {\n throw new Error('Too few arguments')\n }\n\n value = argIndex ? args[+argIndex] : args[i++]\n\n switch (specifier) {\n case '%':\n return '%'\n case 's':\n return _formatString(value + '', leftJustify, minWidth, precision, padChar)\n case 'c':\n return _formatString(String.fromCharCode(+value), leftJustify, minWidth, precision, padChar)\n case 'b':\n return _formatBaseX(value, 2, leftJustify, minWidth, precision, padChar)\n case 'o':\n return _formatBaseX(value, 8, leftJustify, minWidth, precision, padChar)\n case 'x':\n return _formatBaseX(value, 16, leftJustify, minWidth, precision, padChar)\n case 'X':\n return _formatBaseX(value, 16, leftJustify, minWidth, precision, padChar)\n .toUpperCase()\n case 'u':\n return _formatBaseX(value, 10, leftJustify, minWidth, precision, padChar)\n case 'i':\n case 'd':\n number = +value || 0\n // Plain Math.round doesn't just truncate\n number = Math.round(number - number % 1)\n prefix = number < 0 ? '-' : positiveNumberPrefix\n value = prefix + _pad(String(Math.abs(number)), precision, '0', false)\n\n if (leftJustify && padChar === '0') {\n // can't right-pad 0s on integers\n padChar = ' '\n }\n return justify(value, prefix, leftJustify, minWidth, padChar)\n case 'e':\n case 'E':\n case 'f': // @todo: Should handle locales (as per setlocale)\n case 'F':\n case 'g':\n case 'G':\n number = +value\n prefix = number < 0 ? '-' : positiveNumberPrefix\n method = ['toExponential', 'toFixed', 'toPrecision']['efg'.indexOf(specifier.toLowerCase())]\n textTransform = ['toString', 'toUpperCase']['eEfFgG'.indexOf(specifier) % 2]\n value = prefix + Math.abs(number)[method](precision)\n return justify(value, prefix, leftJustify, minWidth, padChar)[textTransform]()\n default:\n // unknown specifier, consume that char and return empty\n return ''\n }\n }\n\n try {\n return format.replace(regex, doFormat)\n } catch (err) {\n return false\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/sprintf.js"],"names":["module","exports","sprintf","regex","args","arguments","i","format","_pad","str","len","chr","leftJustify","padding","length","Array","join","justify","value","prefix","minWidth","padChar","diff","slice","_formatBaseX","base","precision","number","toString","_formatString","customPadChar","undefined","doFormat","substring","argIndex","modifiers","specifier","method","textTransform","positiveNumberPrefix","j","l","charAt","isFinite","Error","indexOf","String","fromCharCode","toUpperCase","Math","round","abs","toLowerCase","replace","err"],"mappings":"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","file":"sprintf.js","sourcesContent":["module.exports = function sprintf () {\n // discuss at: https://locutus.io/php/sprintf/\n // original by: Ash Searle (https://hexmen.com/blog/)\n // improved by: Michael White (https://getsprink.com)\n // improved by: Jack\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Dj\n // improved by: Allidylls\n // input by: Paulo Freitas\n // input by: Brett Zamir (https://brett-zamir.me)\n // improved by: Rafał Kukawski (https://kukawski.pl)\n // example 1: sprintf(\"%01.2f\", 123.1)\n // returns 1: '123.10'\n // example 2: sprintf(\"[%10s]\", 'monkey')\n // returns 2: '[ monkey]'\n // example 3: sprintf(\"[%'#10s]\", 'monkey')\n // returns 3: '[####monkey]'\n // example 4: sprintf(\"%d\", 123456789012345)\n // returns 4: '123456789012345'\n // example 5: sprintf('%-03s', 'E')\n // returns 5: 'E00'\n // example 6: sprintf('%+010d', 9)\n // returns 6: '+000000009'\n // example 7: sprintf('%+0\\'@10d', 9)\n // returns 7: '@@@@@@@@+9'\n // example 8: sprintf('%.f', 3.14)\n // returns 8: '3.140000'\n // example 9: sprintf('%% %2$d', 1, 2)\n // returns 9: '% 2'\n\n const regex = /%%|%(?:(\\d+)\\$)?((?:[-+#0 ]|'[\\s\\S])*)(\\d+)?(?:\\.(\\d*))?([\\s\\S])/g\n const args = arguments\n let i = 0\n const format = args[i++]\n\n const _pad = function (str, len, chr, leftJustify) {\n if (!chr) {\n chr = ' '\n }\n const padding = (str.length >= len) ? '' : new Array(1 + len - str.length >>> 0).join(chr)\n return leftJustify ? str + padding : padding + str\n }\n\n const justify = function (value, prefix, leftJustify, minWidth, padChar) {\n const diff = minWidth - value.length\n if (diff > 0) {\n // when padding with zeros\n // on the left side\n // keep sign (+ or -) in front\n if (!leftJustify && padChar === '0') {\n value = [\n value.slice(0, prefix.length),\n _pad('', diff, '0', true),\n value.slice(prefix.length)\n ].join('')\n } else {\n value = _pad(value, minWidth, padChar, leftJustify)\n }\n }\n return value\n }\n\n const _formatBaseX = function (value, base, leftJustify, minWidth, precision, padChar) {\n // Note: casts negative numbers to positive ones\n const number = value >>> 0\n value = _pad(number.toString(base), precision || 0, '0', false)\n return justify(value, '', leftJustify, minWidth, padChar)\n }\n\n // _formatString()\n const _formatString = function (value, leftJustify, minWidth, precision, customPadChar) {\n if (precision !== null && precision !== undefined) {\n value = value.slice(0, precision)\n }\n return justify(value, '', leftJustify, minWidth, customPadChar)\n }\n\n // doFormat()\n const doFormat = function (substring, argIndex, modifiers, minWidth, precision, specifier) {\n let number, prefix, method, textTransform, value\n\n if (substring === '%%') {\n return '%'\n }\n\n // parse modifiers\n let padChar = ' ' // pad with spaces by default\n let leftJustify = false\n let positiveNumberPrefix = ''\n let j, l\n\n for (j = 0, l = modifiers.length; j < l; j++) {\n switch (modifiers.charAt(j)) {\n case ' ':\n case '0':\n padChar = modifiers.charAt(j)\n break\n case '+':\n positiveNumberPrefix = '+'\n break\n case '-':\n leftJustify = true\n break\n case \"'\":\n if (j + 1 < l) {\n padChar = modifiers.charAt(j + 1)\n j++\n }\n break\n }\n }\n\n if (!minWidth) {\n minWidth = 0\n } else {\n minWidth = +minWidth\n }\n\n if (!isFinite(minWidth)) {\n throw new Error('Width must be finite')\n }\n\n if (!precision) {\n precision = (specifier === 'd') ? 0 : 'fFeE'.indexOf(specifier) > -1 ? 6 : undefined\n } else {\n precision = +precision\n }\n\n if (argIndex && +argIndex === 0) {\n throw new Error('Argument number must be greater than zero')\n }\n\n if (argIndex && +argIndex >= args.length) {\n throw new Error('Too few arguments')\n }\n\n value = argIndex ? args[+argIndex] : args[i++]\n\n switch (specifier) {\n case '%':\n return '%'\n case 's':\n return _formatString(value + '', leftJustify, minWidth, precision, padChar)\n case 'c':\n return _formatString(String.fromCharCode(+value), leftJustify, minWidth, precision, padChar)\n case 'b':\n return _formatBaseX(value, 2, leftJustify, minWidth, precision, padChar)\n case 'o':\n return _formatBaseX(value, 8, leftJustify, minWidth, precision, padChar)\n case 'x':\n return _formatBaseX(value, 16, leftJustify, minWidth, precision, padChar)\n case 'X':\n return _formatBaseX(value, 16, leftJustify, minWidth, precision, padChar)\n .toUpperCase()\n case 'u':\n return _formatBaseX(value, 10, leftJustify, minWidth, precision, padChar)\n case 'i':\n case 'd':\n number = +value || 0\n // Plain Math.round doesn't just truncate\n number = Math.round(number - number % 1)\n prefix = number < 0 ? '-' : positiveNumberPrefix\n value = prefix + _pad(String(Math.abs(number)), precision, '0', false)\n\n if (leftJustify && padChar === '0') {\n // can't right-pad 0s on integers\n padChar = ' '\n }\n return justify(value, prefix, leftJustify, minWidth, padChar)\n case 'e':\n case 'E':\n case 'f': // @todo: Should handle locales (as per setlocale)\n case 'F':\n case 'g':\n case 'G':\n number = +value\n prefix = number < 0 ? '-' : positiveNumberPrefix\n method = ['toExponential', 'toFixed', 'toPrecision']['efg'.indexOf(specifier.toLowerCase())]\n textTransform = ['toString', 'toUpperCase']['eEfFgG'.indexOf(specifier) % 2]\n value = prefix + Math.abs(number)[method](precision)\n return justify(value, prefix, leftJustify, minWidth, padChar)[textTransform]()\n default:\n // unknown specifier, consume that char and return empty\n return ''\n }\n }\n\n try {\n return format.replace(regex, doFormat)\n } catch (err) {\n return false\n }\n}\n"]}
@@ -15,7 +15,7 @@ module.exports = function sscanf(str, format) {
15
15
  var retArr = [];
16
16
  var _NWS = /\S/;
17
17
  var args = arguments;
18
- var digit;
18
+ var digit = void 0;
19
19
 
20
20
  var _setExtraConversionSpecs = function _setExtraConversionSpecs(offset) {
21
21
  // Since a mismatched character sets us off track from future
@@ -89,7 +89,7 @@ module.exports = function sscanf(str, format) {
89
89
  // CHARACTER FOLLOWING PERCENT IS NOT A PERCENT
90
90
 
91
91
  // We need 'g' set to get lastIndex
92
- var prePattern = new RegExp('^(?:(\\d+)\\$)?(\\*)?(\\d*)([hlL]?)', 'g');
92
+ var prePattern = /^(?:(\d+)\$)?(\*)?(\d*)([hlL]?)/g;
93
93
 
94
94
  var preConvs = prePattern.exec(format.slice(i + 1));
95
95