locutus 2.0.16 → 2.0.29

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 (520) hide show
  1. package/_util/util.js +13 -13
  2. package/_util/util.js.map +1 -1
  3. package/c/math/abs.js.map +1 -1
  4. package/c/math/frexp.js.map +1 -1
  5. package/c/stdio/sprintf.js +1 -1
  6. package/c/stdio/sprintf.js.map +1 -1
  7. package/golang/strings/Contains.js.map +1 -1
  8. package/golang/strings/Count.js.map +1 -1
  9. package/golang/strings/Index2.js.map +1 -1
  10. package/golang/strings/LastIndex.js.map +1 -1
  11. package/package.json +62 -59
  12. package/php/_helpers/_bc.js +2 -3
  13. package/php/_helpers/_bc.js.map +1 -1
  14. package/php/_helpers/_phpCastString.js.map +1 -1
  15. package/php/_helpers/_php_cast_float.js +0 -1
  16. package/php/_helpers/_php_cast_float.js.map +1 -1
  17. package/php/_helpers/_php_cast_int.js +0 -1
  18. package/php/_helpers/_php_cast_int.js.map +1 -1
  19. package/php/array/array_change_key_case.js +0 -1
  20. package/php/array/array_change_key_case.js.map +1 -1
  21. package/php/array/array_chunk.js +6 -5
  22. package/php/array/array_chunk.js.map +1 -1
  23. package/php/array/array_column.js +1 -1
  24. package/php/array/array_column.js.map +1 -1
  25. package/php/array/array_combine.js +0 -1
  26. package/php/array/array_combine.js.map +1 -1
  27. package/php/array/array_count_values.js +0 -1
  28. package/php/array/array_count_values.js.map +1 -1
  29. package/php/array/array_diff.js +0 -2
  30. package/php/array/array_diff.js.map +1 -1
  31. package/php/array/array_diff_assoc.js +0 -2
  32. package/php/array/array_diff_assoc.js.map +1 -1
  33. package/php/array/array_diff_key.js +0 -2
  34. package/php/array/array_diff_key.js.map +1 -1
  35. package/php/array/array_diff_uassoc.js +0 -2
  36. package/php/array/array_diff_uassoc.js.map +1 -1
  37. package/php/array/array_diff_ukey.js +0 -2
  38. package/php/array/array_diff_ukey.js.map +1 -1
  39. package/php/array/array_fill.js +0 -1
  40. package/php/array/array_fill.js.map +1 -1
  41. package/php/array/array_fill_keys.js +0 -1
  42. package/php/array/array_fill_keys.js.map +1 -1
  43. package/php/array/array_filter.js +0 -1
  44. package/php/array/array_filter.js.map +1 -1
  45. package/php/array/array_flip.js +0 -1
  46. package/php/array/array_flip.js.map +1 -1
  47. package/php/array/array_intersect.js +0 -3
  48. package/php/array/array_intersect.js.map +1 -1
  49. package/php/array/array_intersect_assoc.js +0 -3
  50. package/php/array/array_intersect_assoc.js.map +1 -1
  51. package/php/array/array_intersect_key.js +0 -3
  52. package/php/array/array_intersect_key.js.map +1 -1
  53. package/php/array/array_intersect_uassoc.js +0 -3
  54. package/php/array/array_intersect_uassoc.js.map +1 -1
  55. package/php/array/array_intersect_ukey.js +0 -3
  56. package/php/array/array_intersect_ukey.js.map +1 -1
  57. package/php/array/array_key_exists.js +0 -1
  58. package/php/array/array_key_exists.js.map +1 -1
  59. package/php/array/array_keys.js +0 -1
  60. package/php/array/array_keys.js.map +1 -1
  61. package/php/array/array_map.js +0 -1
  62. package/php/array/array_map.js.map +1 -1
  63. package/php/array/array_merge.js +0 -1
  64. package/php/array/array_merge.js.map +1 -1
  65. package/php/array/array_merge_recursive.js +0 -1
  66. package/php/array/array_merge_recursive.js.map +1 -1
  67. package/php/array/array_multisort.js +0 -1
  68. package/php/array/array_multisort.js.map +1 -1
  69. package/php/array/array_pad.js +0 -1
  70. package/php/array/array_pad.js.map +1 -1
  71. package/php/array/array_pop.js +0 -1
  72. package/php/array/array_pop.js.map +1 -1
  73. package/php/array/array_product.js +0 -1
  74. package/php/array/array_product.js.map +1 -1
  75. package/php/array/array_push.js +0 -1
  76. package/php/array/array_push.js.map +1 -1
  77. package/php/array/array_rand.js +0 -1
  78. package/php/array/array_rand.js.map +1 -1
  79. package/php/array/array_reduce.js +0 -1
  80. package/php/array/array_reduce.js.map +1 -1
  81. package/php/array/array_replace.js +0 -1
  82. package/php/array/array_replace.js.map +1 -1
  83. package/php/array/array_replace_recursive.js +0 -1
  84. package/php/array/array_replace_recursive.js.map +1 -1
  85. package/php/array/array_reverse.js +0 -1
  86. package/php/array/array_reverse.js.map +1 -1
  87. package/php/array/array_search.js +1 -2
  88. package/php/array/array_search.js.map +1 -1
  89. package/php/array/array_shift.js +0 -1
  90. package/php/array/array_shift.js.map +1 -1
  91. package/php/array/array_slice.js +2 -2
  92. package/php/array/array_slice.js.map +1 -1
  93. package/php/array/array_splice.js +0 -1
  94. package/php/array/array_splice.js.map +1 -1
  95. package/php/array/array_sum.js +0 -1
  96. package/php/array/array_sum.js.map +1 -1
  97. package/php/array/array_udiff.js +0 -3
  98. package/php/array/array_udiff.js.map +1 -1
  99. package/php/array/array_udiff_assoc.js +0 -2
  100. package/php/array/array_udiff_assoc.js.map +1 -1
  101. package/php/array/array_udiff_uassoc.js +0 -2
  102. package/php/array/array_udiff_uassoc.js.map +1 -1
  103. package/php/array/array_uintersect.js +0 -3
  104. package/php/array/array_uintersect.js.map +1 -1
  105. package/php/array/array_uintersect_uassoc.js +0 -3
  106. package/php/array/array_uintersect_uassoc.js.map +1 -1
  107. package/php/array/array_unique.js +0 -1
  108. package/php/array/array_unique.js.map +1 -1
  109. package/php/array/array_unshift.js +0 -1
  110. package/php/array/array_unshift.js.map +1 -1
  111. package/php/array/array_values.js +0 -1
  112. package/php/array/array_values.js.map +1 -1
  113. package/php/array/array_walk.js +0 -1
  114. package/php/array/array_walk.js.map +1 -1
  115. package/php/array/array_walk_recursive.js +0 -1
  116. package/php/array/array_walk_recursive.js.map +1 -1
  117. package/php/array/arsort.js.map +1 -1
  118. package/php/array/asort.js.map +1 -1
  119. package/php/array/count.js.map +1 -1
  120. package/php/array/current.js.map +1 -1
  121. package/php/array/each.js.map +1 -1
  122. package/php/array/end.js.map +1 -1
  123. package/php/array/in_array.js +1 -2
  124. package/php/array/in_array.js.map +1 -1
  125. package/php/array/key.js.map +1 -1
  126. package/php/array/krsort.js.map +1 -1
  127. package/php/array/ksort.js.map +1 -1
  128. package/php/array/natcasesort.js.map +1 -1
  129. package/php/array/natsort.js.map +1 -1
  130. package/php/array/next.js.map +1 -1
  131. package/php/array/pos.js.map +1 -1
  132. package/php/array/prev.js.map +1 -1
  133. package/php/array/range.js.map +1 -1
  134. package/php/array/reset.js.map +1 -1
  135. package/php/array/rsort.js.map +1 -1
  136. package/php/array/shuffle.js.map +1 -1
  137. package/php/array/sizeof.js.map +1 -1
  138. package/php/array/sort.js.map +1 -1
  139. package/php/array/uasort.js.map +1 -1
  140. package/php/array/uksort.js.map +1 -1
  141. package/php/array/usort.js.map +1 -1
  142. package/php/bc/bcadd.js.map +1 -1
  143. package/php/bc/bccomp.js.map +1 -1
  144. package/php/bc/bcdiv.js.map +1 -1
  145. package/php/bc/bcmul.js.map +1 -1
  146. package/php/bc/bcround.js.map +1 -1
  147. package/php/bc/bcscale.js.map +1 -1
  148. package/php/bc/bcsub.js.map +1 -1
  149. package/php/ctype/ctype_alnum.js +0 -1
  150. package/php/ctype/ctype_alnum.js.map +1 -1
  151. package/php/ctype/ctype_alpha.js +0 -1
  152. package/php/ctype/ctype_alpha.js.map +1 -1
  153. package/php/ctype/ctype_cntrl.js +0 -1
  154. package/php/ctype/ctype_cntrl.js.map +1 -1
  155. package/php/ctype/ctype_digit.js +0 -1
  156. package/php/ctype/ctype_digit.js.map +1 -1
  157. package/php/ctype/ctype_graph.js +0 -1
  158. package/php/ctype/ctype_graph.js.map +1 -1
  159. package/php/ctype/ctype_lower.js +0 -1
  160. package/php/ctype/ctype_lower.js.map +1 -1
  161. package/php/ctype/ctype_print.js +0 -1
  162. package/php/ctype/ctype_print.js.map +1 -1
  163. package/php/ctype/ctype_punct.js +0 -1
  164. package/php/ctype/ctype_punct.js.map +1 -1
  165. package/php/ctype/ctype_space.js +0 -1
  166. package/php/ctype/ctype_space.js.map +1 -1
  167. package/php/ctype/ctype_upper.js +0 -1
  168. package/php/ctype/ctype_upper.js.map +1 -1
  169. package/php/ctype/ctype_xdigit.js +0 -1
  170. package/php/ctype/ctype_xdigit.js.map +1 -1
  171. package/php/datetime/checkdate.js.map +1 -1
  172. package/php/datetime/date.js +1 -2
  173. package/php/datetime/date.js.map +1 -1
  174. package/php/datetime/date_parse.js +0 -1
  175. package/php/datetime/date_parse.js.map +1 -1
  176. package/php/datetime/getdate.js +1 -2
  177. package/php/datetime/getdate.js.map +1 -1
  178. package/php/datetime/gettimeofday.js.map +1 -1
  179. package/php/datetime/gmdate.js.map +1 -1
  180. package/php/datetime/gmmktime.js.map +1 -1
  181. package/php/datetime/gmstrftime.js.map +1 -1
  182. package/php/datetime/idate.js.map +1 -1
  183. package/php/datetime/microtime.js.map +1 -1
  184. package/php/datetime/mktime.js.map +1 -1
  185. package/php/datetime/strftime.js.map +1 -1
  186. package/php/datetime/strptime.js.map +1 -1
  187. package/php/datetime/strtotime.js +28 -14
  188. package/php/datetime/strtotime.js.map +1 -1
  189. package/php/datetime/time.js.map +1 -1
  190. package/php/exec/escapeshellarg.js +1 -1
  191. package/php/exec/escapeshellarg.js.map +1 -1
  192. package/php/filesystem/basename.js.map +1 -1
  193. package/php/filesystem/dirname.js.map +1 -1
  194. package/php/filesystem/file_get_contents.js +0 -1
  195. package/php/filesystem/file_get_contents.js.map +1 -1
  196. package/php/filesystem/pathinfo.js.map +1 -1
  197. package/php/filesystem/realpath.js.map +1 -1
  198. package/php/funchand/call_user_func.js +0 -1
  199. package/php/funchand/call_user_func.js.map +1 -1
  200. package/php/funchand/call_user_func_array.js +0 -1
  201. package/php/funchand/call_user_func_array.js.map +1 -1
  202. package/php/funchand/create_function.js +0 -1
  203. package/php/funchand/create_function.js.map +1 -1
  204. package/php/funchand/function_exists.js +0 -1
  205. package/php/funchand/function_exists.js.map +1 -1
  206. package/php/funchand/get_defined_functions.js +0 -1
  207. package/php/funchand/get_defined_functions.js.map +1 -1
  208. package/php/i18n/i18n_loc_get_default.js +0 -1
  209. package/php/i18n/i18n_loc_get_default.js.map +1 -1
  210. package/php/i18n/i18n_loc_set_default.js +0 -1
  211. package/php/i18n/i18n_loc_set_default.js.map +1 -1
  212. package/php/info/assert_options.js +0 -1
  213. package/php/info/assert_options.js.map +1 -1
  214. package/php/info/getenv.js.map +1 -1
  215. package/php/info/ini_get.js +0 -1
  216. package/php/info/ini_get.js.map +1 -1
  217. package/php/info/ini_set.js +0 -1
  218. package/php/info/ini_set.js.map +1 -1
  219. package/php/info/set_time_limit.js +0 -1
  220. package/php/info/set_time_limit.js.map +1 -1
  221. package/php/info/version_compare.js +0 -1
  222. package/php/info/version_compare.js.map +1 -1
  223. package/php/json/json_decode.js +0 -1
  224. package/php/json/json_decode.js.map +1 -1
  225. package/php/json/json_encode.js +0 -1
  226. package/php/json/json_encode.js.map +1 -1
  227. package/php/json/json_last_error.js +0 -1
  228. package/php/json/json_last_error.js.map +1 -1
  229. package/php/math/abs.js.map +1 -1
  230. package/php/math/acos.js.map +1 -1
  231. package/php/math/acosh.js.map +1 -1
  232. package/php/math/asin.js.map +1 -1
  233. package/php/math/asinh.js.map +1 -1
  234. package/php/math/atan.js.map +1 -1
  235. package/php/math/atan2.js.map +1 -1
  236. package/php/math/atanh.js.map +1 -1
  237. package/php/math/base_convert.js +0 -1
  238. package/php/math/base_convert.js.map +1 -1
  239. package/php/math/bindec.js.map +1 -1
  240. package/php/math/ceil.js.map +1 -1
  241. package/php/math/cos.js.map +1 -1
  242. package/php/math/cosh.js.map +1 -1
  243. package/php/math/decbin.js +1 -1
  244. package/php/math/decbin.js.map +1 -1
  245. package/php/math/dechex.js +1 -1
  246. package/php/math/dechex.js.map +1 -1
  247. package/php/math/decoct.js +1 -1
  248. package/php/math/decoct.js.map +1 -1
  249. package/php/math/deg2rad.js.map +1 -1
  250. package/php/math/exp.js.map +1 -1
  251. package/php/math/expm1.js.map +1 -1
  252. package/php/math/floor.js.map +1 -1
  253. package/php/math/fmod.js.map +1 -1
  254. package/php/math/getrandmax.js.map +1 -1
  255. package/php/math/hexdec.js.map +1 -1
  256. package/php/math/hypot.js.map +1 -1
  257. package/php/math/is_finite.js +0 -1
  258. package/php/math/is_finite.js.map +1 -1
  259. package/php/math/is_infinite.js +0 -1
  260. package/php/math/is_infinite.js.map +1 -1
  261. package/php/math/is_nan.js +0 -1
  262. package/php/math/is_nan.js.map +1 -1
  263. package/php/math/lcg_value.js +0 -1
  264. package/php/math/lcg_value.js.map +1 -1
  265. package/php/math/log.js.map +1 -1
  266. package/php/math/log10.js.map +1 -1
  267. package/php/math/log1p.js.map +1 -1
  268. package/php/math/max.js.map +1 -1
  269. package/php/math/min.js.map +1 -1
  270. package/php/math/mt_getrandmax.js +0 -1
  271. package/php/math/mt_getrandmax.js.map +1 -1
  272. package/php/math/mt_rand.js +0 -1
  273. package/php/math/mt_rand.js.map +1 -1
  274. package/php/math/octdec.js.map +1 -1
  275. package/php/math/pi.js.map +1 -1
  276. package/php/math/pow.js.map +1 -1
  277. package/php/math/rad2deg.js.map +1 -1
  278. package/php/math/rand.js.map +1 -1
  279. package/php/math/round.js.map +1 -1
  280. package/php/math/sin.js.map +1 -1
  281. package/php/math/sinh.js.map +1 -1
  282. package/php/math/sqrt.js.map +1 -1
  283. package/php/math/tan.js.map +1 -1
  284. package/php/math/tanh.js.map +1 -1
  285. package/php/misc/pack.js +15 -15
  286. package/php/misc/pack.js.map +1 -1
  287. package/php/misc/uniqid.js.map +1 -1
  288. package/php/net-gopher/gopher_parsedir.js +0 -1
  289. package/php/net-gopher/gopher_parsedir.js.map +1 -1
  290. package/php/network/inet_ntop.js +0 -1
  291. package/php/network/inet_ntop.js.map +1 -1
  292. package/php/network/inet_pton.js +1 -2
  293. package/php/network/inet_pton.js.map +1 -1
  294. package/php/network/ip2long.js.map +1 -1
  295. package/php/network/long2ip.js +1 -1
  296. package/php/network/long2ip.js.map +1 -1
  297. package/php/network/setcookie.js.map +1 -1
  298. package/php/network/setrawcookie.js.map +1 -1
  299. package/php/pcre/preg_match.js +0 -1
  300. package/php/pcre/preg_match.js.map +1 -1
  301. package/php/pcre/preg_quote.js +0 -1
  302. package/php/pcre/preg_quote.js.map +1 -1
  303. package/php/pcre/preg_replace.js +0 -1
  304. package/php/pcre/preg_replace.js.map +1 -1
  305. package/php/pcre/sql_regcase.js +0 -1
  306. package/php/pcre/sql_regcase.js.map +1 -1
  307. package/php/strings/addcslashes.js.map +1 -1
  308. package/php/strings/addslashes.js.map +1 -1
  309. package/php/strings/bin2hex.js.map +1 -1
  310. package/php/strings/chop.js.map +1 -1
  311. package/php/strings/chr.js +2 -2
  312. package/php/strings/chr.js.map +1 -1
  313. package/php/strings/chunk_split.js +0 -1
  314. package/php/strings/chunk_split.js.map +1 -1
  315. package/php/strings/convert_cyr_string.js +0 -1
  316. package/php/strings/convert_cyr_string.js.map +1 -1
  317. package/php/strings/convert_uuencode.js +0 -1
  318. package/php/strings/convert_uuencode.js.map +1 -1
  319. package/php/strings/count_chars.js +0 -1
  320. package/php/strings/count_chars.js.map +1 -1
  321. package/php/strings/crc32.js +1 -1
  322. package/php/strings/crc32.js.map +1 -1
  323. package/php/strings/echo.js.map +1 -1
  324. package/php/strings/explode.js.map +1 -1
  325. package/php/strings/get_html_translation_table.js +0 -1
  326. package/php/strings/get_html_translation_table.js.map +1 -1
  327. package/php/strings/hex2bin.js.map +1 -1
  328. package/php/strings/html_entity_decode.js +0 -1
  329. package/php/strings/html_entity_decode.js.map +1 -1
  330. package/php/strings/htmlentities.js.map +1 -1
  331. package/php/strings/htmlspecialchars.js.map +1 -1
  332. package/php/strings/htmlspecialchars_decode.js +0 -1
  333. package/php/strings/htmlspecialchars_decode.js.map +1 -1
  334. package/php/strings/implode.js.map +1 -1
  335. package/php/strings/join.js.map +1 -1
  336. package/php/strings/lcfirst.js.map +1 -1
  337. package/php/strings/levenshtein.js.map +1 -1
  338. package/php/strings/localeconv.js.map +1 -1
  339. package/php/strings/ltrim.js.map +1 -1
  340. package/php/strings/md5.js +67 -67
  341. package/php/strings/md5.js.map +1 -1
  342. package/php/strings/md5_file.js +0 -1
  343. package/php/strings/md5_file.js.map +1 -1
  344. package/php/strings/metaphone.js +1 -1
  345. package/php/strings/metaphone.js.map +1 -1
  346. package/php/strings/money_format.js +0 -1
  347. package/php/strings/money_format.js.map +1 -1
  348. package/php/strings/nl2br.js.map +1 -1
  349. package/php/strings/nl_langinfo.js +0 -1
  350. package/php/strings/nl_langinfo.js.map +1 -1
  351. package/php/strings/number_format.js +0 -1
  352. package/php/strings/number_format.js.map +1 -1
  353. package/php/strings/ord.js +3 -3
  354. package/php/strings/ord.js.map +1 -1
  355. package/php/strings/parse_str.js +0 -1
  356. package/php/strings/parse_str.js.map +1 -1
  357. package/php/strings/printf.js.map +1 -1
  358. package/php/strings/quoted_printable_decode.js +0 -1
  359. package/php/strings/quoted_printable_decode.js.map +1 -1
  360. package/php/strings/quoted_printable_encode.js +0 -1
  361. package/php/strings/quoted_printable_encode.js.map +1 -1
  362. package/php/strings/quotemeta.js.map +1 -1
  363. package/php/strings/rtrim.js.map +1 -1
  364. package/php/strings/setlocale.js.map +1 -1
  365. package/php/strings/sha1.js +7 -7
  366. package/php/strings/sha1.js.map +1 -1
  367. package/php/strings/sha1_file.js +0 -1
  368. package/php/strings/sha1_file.js.map +1 -1
  369. package/php/strings/similar_text.js +1 -2
  370. package/php/strings/similar_text.js.map +1 -1
  371. package/php/strings/soundex.js.map +1 -1
  372. package/php/strings/split.js.map +1 -1
  373. package/php/strings/sprintf.js.map +1 -1
  374. package/php/strings/sscanf.js.map +1 -1
  375. package/php/strings/str_getcsv.js +0 -1
  376. package/php/strings/str_getcsv.js.map +1 -1
  377. package/php/strings/str_ireplace.js +0 -1
  378. package/php/strings/str_ireplace.js.map +1 -1
  379. package/php/strings/str_pad.js +0 -1
  380. package/php/strings/str_pad.js.map +1 -1
  381. package/php/strings/str_repeat.js +0 -1
  382. package/php/strings/str_repeat.js.map +1 -1
  383. package/php/strings/str_replace.js +0 -1
  384. package/php/strings/str_replace.js.map +1 -1
  385. package/php/strings/str_rot13.js +0 -1
  386. package/php/strings/str_rot13.js.map +1 -1
  387. package/php/strings/str_shuffle.js +0 -1
  388. package/php/strings/str_shuffle.js.map +1 -1
  389. package/php/strings/str_split.js +0 -1
  390. package/php/strings/str_split.js.map +1 -1
  391. package/php/strings/str_word_count.js +4 -5
  392. package/php/strings/str_word_count.js.map +1 -1
  393. package/php/strings/strcasecmp.js.map +1 -1
  394. package/php/strings/strchr.js.map +1 -1
  395. package/php/strings/strcmp.js.map +1 -1
  396. package/php/strings/strcoll.js.map +1 -1
  397. package/php/strings/strcspn.js.map +1 -1
  398. package/php/strings/strip_tags.js +0 -1
  399. package/php/strings/strip_tags.js.map +1 -1
  400. package/php/strings/stripos.js.map +1 -1
  401. package/php/strings/stripslashes.js.map +1 -1
  402. package/php/strings/stristr.js.map +1 -1
  403. package/php/strings/strlen.js +4 -4
  404. package/php/strings/strlen.js.map +1 -1
  405. package/php/strings/strnatcasecmp.js.map +1 -1
  406. package/php/strings/strnatcmp.js.map +1 -1
  407. package/php/strings/strncasecmp.js.map +1 -1
  408. package/php/strings/strncmp.js.map +1 -1
  409. package/php/strings/strpbrk.js.map +1 -1
  410. package/php/strings/strpos.js.map +1 -1
  411. package/php/strings/strrchr.js.map +1 -1
  412. package/php/strings/strrev.js.map +1 -1
  413. package/php/strings/strripos.js.map +1 -1
  414. package/php/strings/strrpos.js.map +1 -1
  415. package/php/strings/strspn.js.map +1 -1
  416. package/php/strings/strstr.js.map +1 -1
  417. package/php/strings/strtok.js.map +1 -1
  418. package/php/strings/strtolower.js.map +1 -1
  419. package/php/strings/strtoupper.js.map +1 -1
  420. package/php/strings/strtr.js.map +1 -1
  421. package/php/strings/substr.js.map +1 -1
  422. package/php/strings/substr_compare.js +0 -1
  423. package/php/strings/substr_compare.js.map +1 -1
  424. package/php/strings/substr_count.js +0 -1
  425. package/php/strings/substr_count.js.map +1 -1
  426. package/php/strings/substr_replace.js +0 -1
  427. package/php/strings/substr_replace.js.map +1 -1
  428. package/php/strings/trim.js.map +1 -1
  429. package/php/strings/ucfirst.js.map +1 -1
  430. package/php/strings/ucwords.js.map +1 -1
  431. package/php/strings/vprintf.js.map +1 -1
  432. package/php/strings/vsprintf.js.map +1 -1
  433. package/php/strings/wordwrap.js.map +1 -1
  434. package/php/url/base64_decode.js +0 -1
  435. package/php/url/base64_decode.js.map +1 -1
  436. package/php/url/base64_encode.js +0 -1
  437. package/php/url/base64_encode.js.map +1 -1
  438. package/php/url/http_build_query.js +0 -1
  439. package/php/url/http_build_query.js.map +1 -1
  440. package/php/url/parse_url.js +0 -1
  441. package/php/url/parse_url.js.map +1 -1
  442. package/php/url/rawurldecode.js.map +1 -1
  443. package/php/url/rawurlencode.js.map +1 -1
  444. package/php/url/urldecode.js.map +1 -1
  445. package/php/url/urlencode.js.map +1 -1
  446. package/php/var/boolval.js.map +1 -1
  447. package/php/var/doubleval.js.map +1 -1
  448. package/php/var/empty.js.map +1 -1
  449. package/php/var/floatval.js.map +1 -1
  450. package/php/var/gettype.js.map +1 -1
  451. package/php/var/intval.js.map +1 -1
  452. package/php/var/is_array.js +0 -1
  453. package/php/var/is_array.js.map +1 -1
  454. package/php/var/is_binary.js +0 -1
  455. package/php/var/is_binary.js.map +1 -1
  456. package/php/var/is_bool.js +0 -1
  457. package/php/var/is_bool.js.map +1 -1
  458. package/php/var/is_buffer.js +0 -1
  459. package/php/var/is_buffer.js.map +1 -1
  460. package/php/var/is_callable.js +1 -2
  461. package/php/var/is_callable.js.map +1 -1
  462. package/php/var/is_double.js +0 -1
  463. package/php/var/is_double.js.map +1 -1
  464. package/php/var/is_float.js +0 -1
  465. package/php/var/is_float.js.map +1 -1
  466. package/php/var/is_int.js +0 -1
  467. package/php/var/is_int.js.map +1 -1
  468. package/php/var/is_integer.js +0 -1
  469. package/php/var/is_integer.js.map +1 -1
  470. package/php/var/is_long.js +0 -1
  471. package/php/var/is_long.js.map +1 -1
  472. package/php/var/is_null.js +0 -1
  473. package/php/var/is_null.js.map +1 -1
  474. package/php/var/is_numeric.js +0 -1
  475. package/php/var/is_numeric.js.map +1 -1
  476. package/php/var/is_object.js +0 -1
  477. package/php/var/is_object.js.map +1 -1
  478. package/php/var/is_real.js +0 -1
  479. package/php/var/is_real.js.map +1 -1
  480. package/php/var/is_scalar.js +0 -1
  481. package/php/var/is_scalar.js.map +1 -1
  482. package/php/var/is_string.js +0 -1
  483. package/php/var/is_string.js.map +1 -1
  484. package/php/var/is_unicode.js +0 -1
  485. package/php/var/is_unicode.js.map +1 -1
  486. package/php/var/isset.js.map +1 -1
  487. package/php/var/print_r.js +0 -1
  488. package/php/var/print_r.js.map +1 -1
  489. package/php/var/serialize.js.map +1 -1
  490. package/php/var/strval.js.map +1 -1
  491. package/php/var/unserialize.js +12 -16
  492. package/php/var/unserialize.js.map +1 -1
  493. package/php/var/var_dump.js +0 -1
  494. package/php/var/var_dump.js.map +1 -1
  495. package/php/var/var_export.js +0 -1
  496. package/php/var/var_export.js.map +1 -1
  497. package/php/xdiff/xdiff_string_diff.js +0 -1
  498. package/php/xdiff/xdiff_string_diff.js.map +1 -1
  499. package/php/xdiff/xdiff_string_patch.js +0 -1
  500. package/php/xdiff/xdiff_string_patch.js.map +1 -1
  501. package/php/xml/utf8_decode.js +10 -11
  502. package/php/xml/utf8_decode.js.map +1 -1
  503. package/php/xml/utf8_encode.js +4 -5
  504. package/php/xml/utf8_encode.js.map +1 -1
  505. package/python/string/ascii_letters.js +0 -1
  506. package/python/string/ascii_letters.js.map +1 -1
  507. package/python/string/ascii_lowercase.js +0 -1
  508. package/python/string/ascii_lowercase.js.map +1 -1
  509. package/python/string/ascii_uppercase.js +0 -1
  510. package/python/string/ascii_uppercase.js.map +1 -1
  511. package/python/string/capwords.js.map +1 -1
  512. package/python/string/index.js +1 -0
  513. package/python/string/index.js.map +1 -1
  514. package/python/string/punctuation.js +2 -2
  515. package/python/string/punctuation.js.map +1 -1
  516. package/ruby/Math/acos.js.map +1 -1
  517. package/php/_locutus_shared/_locutus_shared_bc.js +0 -1255
  518. package/php/_locutus_shared/_locutus_shared_bc.js.map +0 -1
  519. package/php/_locutus_shared/index.js +0 -4
  520. package/php/_locutus_shared/index.js.map +0 -1
@@ -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,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
+ {"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,CAAiBC,GAAjB,EAAsB;AACrC;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,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"]}
1
+ {"version":3,"sources":["../../../src/php/strings/split.js"],"names":["module","exports","split","delimiter","string","explode","require"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,KAAT,CAAeC,SAAf,EAA0BC,MAA1B,EAAkC;AACjD;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"]}
@@ -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 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"]}
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 = [value.slice(0, prefix.length), _pad('', diff, '0', true), value.slice(prefix.length)].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).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 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/sscanf.js"],"names":["module","exports","sscanf","str","format","retArr","_NWS","args","arguments","digit","_setExtraConversionSpecs","offset","matches","slice","match","lgth","length","push","_finish","i","value","_addNext","j","regex","cb","assign","remaining","check","width","substr","exec","key","undefined","testNull","apply","Error","charAt","prePattern","preConvs","tmpDigit","msg","parseInt","sizeCode","lastIndex","pattern","num","sign","hex","oct","dec","RegExp","decInt","parseFloat","e","test"],"mappings":"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","file":"sscanf.js","sourcesContent":["module.exports = function sscanf (str, format) {\n // discuss at: https://locutus.io/php/sscanf/\n // original by: Brett Zamir (https://brett-zamir.me)\n // example 1: sscanf('SN/2350001', 'SN/%d')\n // returns 1: [2350001]\n // example 2: var myVar = {}\n // example 2: sscanf('SN/2350001', 'SN/%d', myVar)\n // example 2: var $result = myVar.value\n // returns 2: 2350001\n // example 3: sscanf(\"10--20\", \"%2$d--%1$d\") // Must escape '$' in PHP, but not JS\n // returns 3: [20, 10]\n\n const retArr = []\n const _NWS = /\\S/\n const args = arguments\n let digit\n\n const _setExtraConversionSpecs = function (offset) {\n // Since a mismatched character sets us off track from future\n // legitimate finds, we just scan\n // to the end for any other conversion specifications (besides a percent literal),\n // setting them to null\n // sscanf seems to disallow all conversion specification components (of sprintf)\n // except for type specifiers\n // Do not allow % in last char. class\n // var matches = format.match(/%[+-]?([ 0]|'.)?-?\\d*(\\.\\d+)?[bcdeufFosxX]/g);\n // Do not allow % in last char. class:\n const matches = format.slice(offset).match(/%[cdeEufgosxX]/g)\n // b, F,G give errors in PHP, but 'g', though also disallowed, doesn't\n if (matches) {\n let lgth = matches.length\n while (lgth--) {\n retArr.push(null)\n }\n }\n return _finish()\n }\n\n var _finish = function () {\n if (args.length === 2) {\n return retArr\n }\n for (var i = 0; i < retArr.length; ++i) {\n args[i + 2].value = retArr[i]\n }\n return i\n }\n\n const _addNext = function (j, regex, cb) {\n if (assign) {\n const remaining = str.slice(j)\n const check = width ? remaining.substr(0, width) : remaining\n const match = regex.exec(check)\n // @todo: Make this more readable\n const key = digit !== undefined\n ? digit\n : retArr.length\n const testNull = retArr[key] = match\n ? (cb\n ? cb.apply(null, match)\n : match[0])\n : null\n if (testNull === null) {\n throw new Error('No match in string')\n }\n return j + match[0].length\n }\n return j\n }\n\n if (arguments.length < 2) {\n throw new Error('Not enough arguments passed to sscanf')\n }\n\n // PROCESS\n for (let i = 0, j = 0; i < format.length; i++) {\n var width = 0\n var assign = true\n\n if (format.charAt(i) === '%') {\n if (format.charAt(i + 1) === '%') {\n if (str.charAt(j) === '%') {\n // a matched percent literal\n // skip beyond duplicated percent\n ++i\n ++j\n continue\n }\n // Format indicated a percent literal, but not actually present\n return _setExtraConversionSpecs(i + 2)\n }\n\n // CHARACTER FOLLOWING PERCENT IS NOT A PERCENT\n\n // We need 'g' set to get lastIndex\n const prePattern = /^(?:(\\d+)\\$)?(\\*)?(\\d*)([hlL]?)/g\n\n const preConvs = prePattern.exec(format.slice(i + 1))\n\n const tmpDigit = digit\n if (tmpDigit && preConvs[1] === undefined) {\n let msg = 'All groups in sscanf() must be expressed as numeric if '\n msg += 'any have already been used'\n throw new Error(msg)\n }\n digit = preConvs[1] ? parseInt(preConvs[1], 10) - 1 : undefined\n\n assign = !preConvs[2]\n width = parseInt(preConvs[3], 10)\n const sizeCode = preConvs[4]\n i += prePattern.lastIndex\n\n // @todo: Does PHP do anything with these? Seems not to matter\n if (sizeCode) {\n // This would need to be processed later\n switch (sizeCode) {\n case 'h':\n case 'l':\n case 'L':\n // Treats subsequent as short int (for d,i,n) or unsigned short int (for o,u,x)\n // Treats subsequent as long int (for d,i,n), or unsigned long int (for o,u,x);\n // or as double (for e,f,g) instead of float or wchar_t instead of char\n // Treats subsequent as long double (for e,f,g)\n break\n default:\n throw new Error('Unexpected size specifier in sscanf()!')\n }\n }\n // PROCESS CHARACTER\n try {\n // For detailed explanations, see https://web.archive.org/web/20031128125047/https://www.uwm.edu/cgi-bin/IMT/wwwman?topic=scanf%283%29&msection=\n // Also https://www.mathworks.com/access/helpdesk/help/techdoc/ref/sscanf.html\n // p, S, C arguments in C function not available\n // DOCUMENTED UNDER SSCANF\n switch (format.charAt(i + 1)) {\n case 'F':\n // Not supported in PHP sscanf; the argument is treated as a float, and\n // presented as a floating-point number (non-locale aware)\n // sscanf doesn't support locales, so no need for two (see %f)\n break\n case 'g':\n // Not supported in PHP sscanf; shorter of %e and %f\n // Irrelevant to input conversion\n break\n case 'G':\n // Not supported in PHP sscanf; shorter of %E and %f\n // Irrelevant to input conversion\n break\n case 'b':\n // Not supported in PHP sscanf; the argument is treated as an integer,\n // and presented as a binary number\n // Not supported - couldn't distinguish from other integers\n break\n case 'i':\n // Integer with base detection (Equivalent of 'd', but base 0 instead of 10)\n var pattern = /([+-])?(?:(?:0x([\\da-fA-F]+))|(?:0([0-7]+))|(\\d+))/\n j = _addNext(j, pattern, function (num, sign, hex,\n oct, dec) {\n return hex ? parseInt(num, 16) : oct ? parseInt(num, 8) : parseInt(num, 10)\n })\n break\n case 'n':\n // Number of characters processed so far\n retArr[digit !== undefined ? digit : retArr.length - 1] = j\n break\n // DOCUMENTED UNDER SPRINTF\n case 'c':\n // Get character; suppresses skipping over whitespace!\n // (but shouldn't be whitespace in format anyways, so no difference here)\n // Non-greedy match\n j = _addNext(j, new RegExp('.{1,' + (width || 1) + '}'))\n break\n case 'D':\n case 'd':\n // sscanf documented decimal number; equivalent of 'd';\n // Optionally signed decimal integer\n j = _addNext(j, /([+-])?(?:0*)(\\d+)/, function (num, sign, dec) {\n // Ignores initial zeroes, unlike %i and parseInt()\n const decInt = parseInt((sign || '') + dec, 10)\n if (decInt < 0) {\n // PHP also won't allow less than -2147483648\n // integer overflow with negative\n return decInt < -2147483648 ? -2147483648 : decInt\n } else {\n // PHP also won't allow greater than -2147483647\n return decInt < 2147483647 ? decInt : 2147483647\n }\n })\n break\n case 'f':\n case 'E':\n case 'e':\n // Although sscanf doesn't support locales,\n // this is used instead of '%F'; seems to be same as %e\n // These don't discriminate here as both allow exponential float of either case\n j = _addNext(j, /([+-])?(?:0*)(\\d*\\.?\\d*(?:[eE]?\\d+)?)/, function (num, sign, dec) {\n if (dec === '.') {\n return null\n }\n // Ignores initial zeroes, unlike %i and parseFloat()\n return parseFloat((sign || '') + dec)\n })\n break\n case 'u':\n // unsigned decimal integer\n // We won't deal with integer overflows due to signs\n j = _addNext(j, /([+-])?(?:0*)(\\d+)/, function (num, sign, dec) {\n // Ignores initial zeroes, unlike %i and parseInt()\n const decInt = parseInt(dec, 10)\n if (sign === '-') {\n // PHP also won't allow greater than 4294967295\n // integer overflow with negative\n return 4294967296 - decInt\n } else {\n return decInt < 4294967295 ? decInt : 4294967295\n }\n })\n break\n case 'o':\n // Octal integer // @todo: add overflows as above?\n j = _addNext(j, /([+-])?(?:0([0-7]+))/, function (num, sign, oct) {\n return parseInt(num, 8)\n })\n break\n case 's':\n // Greedy match\n j = _addNext(j, /\\S+/)\n break\n case 'X':\n case 'x':\n // Same as 'x'?\n // @todo: add overflows as above?\n // Initial 0x not necessary here\n j = _addNext(j, /([+-])?(?:(?:0x)?([\\da-fA-F]+))/, function (num, sign, hex) {\n return parseInt(num, 16)\n })\n break\n case '':\n // If no character left in expression\n throw new Error('Missing character after percent mark in sscanf() format argument')\n default:\n throw new Error('Unrecognized character after percent mark in sscanf() format argument')\n }\n } catch (e) {\n if (e === 'No match in string') {\n // Allow us to exit\n return _setExtraConversionSpecs(i + 2)\n }\n // Calculate skipping beyond initial percent too\n }\n ++i\n } else if (format.charAt(i) !== str.charAt(j)) {\n // @todo: Double-check i whitespace ignored in string and/or formats\n _NWS.lastIndex = 0\n if ((_NWS)\n .test(str.charAt(j)) || str.charAt(j) === '') {\n // Whitespace doesn't need to be an exact match)\n return _setExtraConversionSpecs(i + 1)\n } else {\n // Adjust strings when encounter non-matching whitespace,\n // so they align in future checks above\n // Ok to replace with j++;?\n str = str.slice(0, j) + str.slice(j + 1)\n i--\n }\n } else {\n j++\n }\n }\n\n // POST-PROCESSING\n return _finish()\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/sscanf.js"],"names":["module","exports","sscanf","str","format","retArr","_NWS","args","arguments","digit","_setExtraConversionSpecs","offset","matches","slice","match","lgth","length","push","_finish","i","value","_addNext","j","regex","cb","assign","remaining","check","width","substr","exec","key","undefined","testNull","apply","Error","charAt","prePattern","preConvs","tmpDigit","msg","parseInt","sizeCode","lastIndex","pattern","num","sign","hex","oct","dec","RegExp","decInt","parseFloat","e","test"],"mappings":"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","file":"sscanf.js","sourcesContent":["module.exports = function sscanf(str, format) {\n // discuss at: https://locutus.io/php/sscanf/\n // original by: Brett Zamir (https://brett-zamir.me)\n // example 1: sscanf('SN/2350001', 'SN/%d')\n // returns 1: [2350001]\n // example 2: var myVar = {}\n // example 2: sscanf('SN/2350001', 'SN/%d', myVar)\n // example 2: var $result = myVar.value\n // returns 2: 2350001\n // example 3: sscanf(\"10--20\", \"%2$d--%1$d\") // Must escape '$' in PHP, but not JS\n // returns 3: [20, 10]\n\n const retArr = []\n const _NWS = /\\S/\n const args = arguments\n let digit\n\n const _setExtraConversionSpecs = function (offset) {\n // Since a mismatched character sets us off track from future\n // legitimate finds, we just scan\n // to the end for any other conversion specifications (besides a percent literal),\n // setting them to null\n // sscanf seems to disallow all conversion specification components (of sprintf)\n // except for type specifiers\n // Do not allow % in last char. class\n // var matches = format.match(/%[+-]?([ 0]|'.)?-?\\d*(\\.\\d+)?[bcdeufFosxX]/g);\n // Do not allow % in last char. class:\n const matches = format.slice(offset).match(/%[cdeEufgosxX]/g)\n // b, F,G give errors in PHP, but 'g', though also disallowed, doesn't\n if (matches) {\n let lgth = matches.length\n while (lgth--) {\n retArr.push(null)\n }\n }\n return _finish()\n }\n\n var _finish = function () {\n if (args.length === 2) {\n return retArr\n }\n for (var i = 0; i < retArr.length; ++i) {\n args[i + 2].value = retArr[i]\n }\n return i\n }\n\n const _addNext = function (j, regex, cb) {\n if (assign) {\n const remaining = str.slice(j)\n const check = width ? remaining.substr(0, width) : remaining\n const match = regex.exec(check)\n // @todo: Make this more readable\n const key = digit !== undefined ? digit : retArr.length\n const testNull = (retArr[key] = match ? (cb ? cb.apply(null, match) : match[0]) : null)\n if (testNull === null) {\n throw new Error('No match in string')\n }\n return j + match[0].length\n }\n return j\n }\n\n if (arguments.length < 2) {\n throw new Error('Not enough arguments passed to sscanf')\n }\n\n // PROCESS\n for (let i = 0, j = 0; i < format.length; i++) {\n var width = 0\n var assign = true\n\n if (format.charAt(i) === '%') {\n if (format.charAt(i + 1) === '%') {\n if (str.charAt(j) === '%') {\n // a matched percent literal\n // skip beyond duplicated percent\n ++i\n ++j\n continue\n }\n // Format indicated a percent literal, but not actually present\n return _setExtraConversionSpecs(i + 2)\n }\n\n // CHARACTER FOLLOWING PERCENT IS NOT A PERCENT\n\n // We need 'g' set to get lastIndex\n const prePattern = /^(?:(\\d+)\\$)?(\\*)?(\\d*)([hlL]?)/g\n\n const preConvs = prePattern.exec(format.slice(i + 1))\n\n const tmpDigit = digit\n if (tmpDigit && preConvs[1] === undefined) {\n let msg = 'All groups in sscanf() must be expressed as numeric if '\n msg += 'any have already been used'\n throw new Error(msg)\n }\n digit = preConvs[1] ? parseInt(preConvs[1], 10) - 1 : undefined\n\n assign = !preConvs[2]\n width = parseInt(preConvs[3], 10)\n const sizeCode = preConvs[4]\n i += prePattern.lastIndex\n\n // @todo: Does PHP do anything with these? Seems not to matter\n if (sizeCode) {\n // This would need to be processed later\n switch (sizeCode) {\n case 'h':\n case 'l':\n case 'L':\n // Treats subsequent as short int (for d,i,n) or unsigned short int (for o,u,x)\n // Treats subsequent as long int (for d,i,n), or unsigned long int (for o,u,x);\n // or as double (for e,f,g) instead of float or wchar_t instead of char\n // Treats subsequent as long double (for e,f,g)\n break\n default:\n throw new Error('Unexpected size specifier in sscanf()!')\n }\n }\n // PROCESS CHARACTER\n try {\n // For detailed explanations, see https://web.archive.org/web/20031128125047/https://www.uwm.edu/cgi-bin/IMT/wwwman?topic=scanf%283%29&msection=\n // Also https://www.mathworks.com/access/helpdesk/help/techdoc/ref/sscanf.html\n // p, S, C arguments in C function not available\n // DOCUMENTED UNDER SSCANF\n switch (format.charAt(i + 1)) {\n case 'F':\n // Not supported in PHP sscanf; the argument is treated as a float, and\n // presented as a floating-point number (non-locale aware)\n // sscanf doesn't support locales, so no need for two (see %f)\n break\n case 'g':\n // Not supported in PHP sscanf; shorter of %e and %f\n // Irrelevant to input conversion\n break\n case 'G':\n // Not supported in PHP sscanf; shorter of %E and %f\n // Irrelevant to input conversion\n break\n case 'b':\n // Not supported in PHP sscanf; the argument is treated as an integer,\n // and presented as a binary number\n // Not supported - couldn't distinguish from other integers\n break\n case 'i':\n // Integer with base detection (Equivalent of 'd', but base 0 instead of 10)\n var pattern = /([+-])?(?:(?:0x([\\da-fA-F]+))|(?:0([0-7]+))|(\\d+))/\n j = _addNext(j, pattern, function (num, sign, hex, oct, dec) {\n return hex ? parseInt(num, 16) : oct ? parseInt(num, 8) : parseInt(num, 10)\n })\n break\n case 'n':\n // Number of characters processed so far\n retArr[digit !== undefined ? digit : retArr.length - 1] = j\n break\n // DOCUMENTED UNDER SPRINTF\n case 'c':\n // Get character; suppresses skipping over whitespace!\n // (but shouldn't be whitespace in format anyways, so no difference here)\n // Non-greedy match\n j = _addNext(j, new RegExp('.{1,' + (width || 1) + '}'))\n break\n case 'D':\n case 'd':\n // sscanf documented decimal number; equivalent of 'd';\n // Optionally signed decimal integer\n j = _addNext(j, /([+-])?(?:0*)(\\d+)/, function (num, sign, dec) {\n // Ignores initial zeroes, unlike %i and parseInt()\n const decInt = parseInt((sign || '') + dec, 10)\n if (decInt < 0) {\n // PHP also won't allow less than -2147483648\n // integer overflow with negative\n return decInt < -2147483648 ? -2147483648 : decInt\n } else {\n // PHP also won't allow greater than -2147483647\n return decInt < 2147483647 ? decInt : 2147483647\n }\n })\n break\n case 'f':\n case 'E':\n case 'e':\n // Although sscanf doesn't support locales,\n // this is used instead of '%F'; seems to be same as %e\n // These don't discriminate here as both allow exponential float of either case\n j = _addNext(j, /([+-])?(?:0*)(\\d*\\.?\\d*(?:[eE]?\\d+)?)/, function (num, sign, dec) {\n if (dec === '.') {\n return null\n }\n // Ignores initial zeroes, unlike %i and parseFloat()\n return parseFloat((sign || '') + dec)\n })\n break\n case 'u':\n // unsigned decimal integer\n // We won't deal with integer overflows due to signs\n j = _addNext(j, /([+-])?(?:0*)(\\d+)/, function (num, sign, dec) {\n // Ignores initial zeroes, unlike %i and parseInt()\n const decInt = parseInt(dec, 10)\n if (sign === '-') {\n // PHP also won't allow greater than 4294967295\n // integer overflow with negative\n return 4294967296 - decInt\n } else {\n return decInt < 4294967295 ? decInt : 4294967295\n }\n })\n break\n case 'o':\n // Octal integer // @todo: add overflows as above?\n j = _addNext(j, /([+-])?(?:0([0-7]+))/, function (num, sign, oct) {\n return parseInt(num, 8)\n })\n break\n case 's':\n // Greedy match\n j = _addNext(j, /\\S+/)\n break\n case 'X':\n case 'x':\n // Same as 'x'?\n // @todo: add overflows as above?\n // Initial 0x not necessary here\n j = _addNext(j, /([+-])?(?:(?:0x)?([\\da-fA-F]+))/, function (num, sign, hex) {\n return parseInt(num, 16)\n })\n break\n case '':\n // If no character left in expression\n throw new Error('Missing character after percent mark in sscanf() format argument')\n default:\n throw new Error('Unrecognized character after percent mark in sscanf() format argument')\n }\n } catch (e) {\n if (e === 'No match in string') {\n // Allow us to exit\n return _setExtraConversionSpecs(i + 2)\n }\n // Calculate skipping beyond initial percent too\n }\n ++i\n } else if (format.charAt(i) !== str.charAt(j)) {\n // @todo: Double-check i whitespace ignored in string and/or formats\n _NWS.lastIndex = 0\n if (_NWS.test(str.charAt(j)) || str.charAt(j) === '') {\n // Whitespace doesn't need to be an exact match)\n return _setExtraConversionSpecs(i + 1)\n } else {\n // Adjust strings when encounter non-matching whitespace,\n // so they align in future checks above\n // Ok to replace with j++;?\n str = str.slice(0, j) + str.slice(j + 1)\n i--\n }\n } else {\n j++\n }\n }\n\n // POST-PROCESSING\n return _finish()\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
3
  module.exports = function str_getcsv(input, delimiter, enclosure, escape) {
4
- // eslint-disable-line camelcase
5
4
  // discuss at: https://locutus.io/php/str_getcsv/
6
5
  // original by: Brett Zamir (https://brett-zamir.me)
7
6
  // example 1: str_getcsv('"abc","def","ghi"')
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/str_getcsv.js"],"names":["module","exports","str_getcsv","input","delimiter","enclosure","escape","i","inpLen","output","_backwards","str","split","reverse","join","_pq","String","replace","pqEnc","pqEsc","RegExp","length","push"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,UAAT,CAAqBC,KAArB,EAA4BC,SAA5B,EAAuCC,SAAvC,EAAkDC,MAAlD,EAA0D;AAAE;AAC3E;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;AAiBA,MAAIC,UAAJ;AACA,MAAIC,eAAJ;AACA,MAAMC,SAAS,EAAf;AACA,MAAMC,aAAa,SAAbA,UAAa,CAAUC,GAAV,EAAe;AAChC;AACA;AACA,WAAOA,IAAIC,KAAJ,CAAU,EAAV,EAAcC,OAAd,GAAwBC,IAAxB,CAA6B,EAA7B,CAAP;AACD,GAJD;AAKA,MAAMC,MAAM,SAANA,GAAM,CAAUJ,GAAV,EAAe;AACzB;AACA,WAAOK,OAAOL,GAAP,EAAYM,OAAZ,CAAoB,4BAApB,EAAkD,MAAlD,CAAP;AACD,GAHD;;AAKAb,cAAYA,aAAa,GAAzB;AACAC,cAAYA,aAAa,GAAzB;AACAC,WAASA,UAAU,IAAnB;AACA,MAAMY,QAAQH,IAAIV,SAAJ,CAAd;AACA,MAAMc,QAAQJ,IAAIT,MAAJ,CAAd;;AAEAH,UAAQA,MACLc,OADK,CACG,IAAIG,MAAJ,CAAW,UAAUF,KAArB,CADH,EACgC,EADhC,EAELD,OAFK,CAEG,IAAIG,MAAJ,CAAWF,QAAQ,OAAnB,CAFH,EAEgC,EAFhC,CAAR;;AAIA;AACAf,UAAQO,WAAWP,KAAX,EACLS,KADK,CACC,IAAIQ,MAAJ,CAAWF,QAAQ,MAAR,GAAiBH,IAAIX,SAAJ,CAAjB,GAAkC,MAAlC,GAA2Cc,KAA3C,GAAmD,KAAnD,GAA2DC,KAA3D,GAAmE,GAA9E,EAAmF,GAAnF,CADD,EAELN,OAFK,EAAR;;AAIA,OAAKN,IAAI,CAAJ,EAAOC,SAASL,MAAMkB,MAA3B,EAAmCd,IAAIC,MAAvC,EAA+CD,GAA/C,EAAoD;AAClDE,WAAOa,IAAP,CAAYZ,WAAWP,MAAMI,CAAN,CAAX,EACTU,OADS,CACD,IAAIG,MAAJ,CAAWD,QAAQD,KAAnB,EAA0B,GAA1B,CADC,EAC+Bb,SAD/B,CAAZ;AAED;;AAED,SAAOI,MAAP;AACD,CA3DD","file":"str_getcsv.js","sourcesContent":["module.exports = function str_getcsv (input, delimiter, enclosure, escape) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/str_getcsv/\n // original by: Brett Zamir (https://brett-zamir.me)\n // example 1: str_getcsv('\"abc\",\"def\",\"ghi\"')\n // returns 1: ['abc', 'def', 'ghi']\n // example 2: str_getcsv('\"row2\"\"cell1\",\"row2cell2\",\"row2cell3\"', null, null, '\"')\n // returns 2: ['row2\"cell1', 'row2cell2', 'row2cell3']\n\n /*\n // These test cases allowing for missing delimiters are not currently supported\n str_getcsv('\"row2\"\"cell1\",row2cell2,row2cell3', null, null, '\"');\n ['row2\"cell1', 'row2cell2', 'row2cell3']\n\n str_getcsv('row1cell1,\"row1,cell2\",row1cell3', null, null, '\"');\n ['row1cell1', 'row1,cell2', 'row1cell3']\n\n str_getcsv('\"row2\"\"cell1\",row2cell2,\"row2\"\"\"\"cell3\"');\n ['row2\"cell1', 'row2cell2', 'row2\"\"cell3']\n\n str_getcsv('row1cell1,\"row1,cell2\",\"row1\"\",\"\"cell3\"', null, null, '\"');\n ['row1cell1', 'row1,cell2', 'row1\",\"cell3'];\n\n Should also test newlines within\n */\n\n let i\n let inpLen\n const output = []\n const _backwards = function (str) {\n // We need to go backwards to simulate negative look-behind (don't split on\n // an escaped enclosure even if followed by the delimiter and another enclosure mark)\n return str.split('').reverse().join('')\n }\n const _pq = function (str) {\n // preg_quote()\n return String(str).replace(/([\\\\.+*?[^\\]$(){}=!<>|:])/g, '\\\\$1')\n }\n\n delimiter = delimiter || ','\n enclosure = enclosure || '\"'\n escape = escape || '\\\\'\n const pqEnc = _pq(enclosure)\n const pqEsc = _pq(escape)\n\n input = input\n .replace(new RegExp('^\\\\s*' + pqEnc), '')\n .replace(new RegExp(pqEnc + '\\\\s*$'), '')\n\n // PHP behavior may differ by including whitespace even outside of the enclosure\n input = _backwards(input)\n .split(new RegExp(pqEnc + '\\\\s*' + _pq(delimiter) + '\\\\s*' + pqEnc + '(?!' + pqEsc + ')', 'g'))\n .reverse()\n\n for (i = 0, inpLen = input.length; i < inpLen; i++) {\n output.push(_backwards(input[i])\n .replace(new RegExp(pqEsc + pqEnc, 'g'), enclosure))\n }\n\n return output\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/str_getcsv.js"],"names":["module","exports","str_getcsv","input","delimiter","enclosure","escape","i","inpLen","output","_backwards","str","split","reverse","join","_pq","String","replace","pqEnc","pqEsc","RegExp","length","push"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,UAAT,CAAoBC,KAApB,EAA2BC,SAA3B,EAAsCC,SAAtC,EAAiDC,MAAjD,EAAyD;AACxE;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;AAiBA,MAAIC,UAAJ;AACA,MAAIC,eAAJ;AACA,MAAMC,SAAS,EAAf;AACA,MAAMC,aAAa,SAAbA,UAAa,CAAUC,GAAV,EAAe;AAChC;AACA;AACA,WAAOA,IAAIC,KAAJ,CAAU,EAAV,EAAcC,OAAd,GAAwBC,IAAxB,CAA6B,EAA7B,CAAP;AACD,GAJD;AAKA,MAAMC,MAAM,SAANA,GAAM,CAAUJ,GAAV,EAAe;AACzB;AACA,WAAOK,OAAOL,GAAP,EAAYM,OAAZ,CAAoB,4BAApB,EAAkD,MAAlD,CAAP;AACD,GAHD;;AAKAb,cAAYA,aAAa,GAAzB;AACAC,cAAYA,aAAa,GAAzB;AACAC,WAASA,UAAU,IAAnB;AACA,MAAMY,QAAQH,IAAIV,SAAJ,CAAd;AACA,MAAMc,QAAQJ,IAAIT,MAAJ,CAAd;;AAEAH,UAAQA,MAAMc,OAAN,CAAc,IAAIG,MAAJ,CAAW,UAAUF,KAArB,CAAd,EAA2C,EAA3C,EAA+CD,OAA/C,CAAuD,IAAIG,MAAJ,CAAWF,QAAQ,OAAnB,CAAvD,EAAoF,EAApF,CAAR;;AAEA;AACAf,UAAQO,WAAWP,KAAX,EACLS,KADK,CACC,IAAIQ,MAAJ,CAAWF,QAAQ,MAAR,GAAiBH,IAAIX,SAAJ,CAAjB,GAAkC,MAAlC,GAA2Cc,KAA3C,GAAmD,KAAnD,GAA2DC,KAA3D,GAAmE,GAA9E,EAAmF,GAAnF,CADD,EAELN,OAFK,EAAR;;AAIA,OAAKN,IAAI,CAAJ,EAAOC,SAASL,MAAMkB,MAA3B,EAAmCd,IAAIC,MAAvC,EAA+CD,GAA/C,EAAoD;AAClDE,WAAOa,IAAP,CAAYZ,WAAWP,MAAMI,CAAN,CAAX,EAAqBU,OAArB,CAA6B,IAAIG,MAAJ,CAAWD,QAAQD,KAAnB,EAA0B,GAA1B,CAA7B,EAA6Db,SAA7D,CAAZ;AACD;;AAED,SAAOI,MAAP;AACD,CAxDD","file":"str_getcsv.js","sourcesContent":["module.exports = function str_getcsv(input, delimiter, enclosure, escape) {\n // discuss at: https://locutus.io/php/str_getcsv/\n // original by: Brett Zamir (https://brett-zamir.me)\n // example 1: str_getcsv('\"abc\",\"def\",\"ghi\"')\n // returns 1: ['abc', 'def', 'ghi']\n // example 2: str_getcsv('\"row2\"\"cell1\",\"row2cell2\",\"row2cell3\"', null, null, '\"')\n // returns 2: ['row2\"cell1', 'row2cell2', 'row2cell3']\n\n /*\n // These test cases allowing for missing delimiters are not currently supported\n str_getcsv('\"row2\"\"cell1\",row2cell2,row2cell3', null, null, '\"');\n ['row2\"cell1', 'row2cell2', 'row2cell3']\n\n str_getcsv('row1cell1,\"row1,cell2\",row1cell3', null, null, '\"');\n ['row1cell1', 'row1,cell2', 'row1cell3']\n\n str_getcsv('\"row2\"\"cell1\",row2cell2,\"row2\"\"\"\"cell3\"');\n ['row2\"cell1', 'row2cell2', 'row2\"\"cell3']\n\n str_getcsv('row1cell1,\"row1,cell2\",\"row1\"\",\"\"cell3\"', null, null, '\"');\n ['row1cell1', 'row1,cell2', 'row1\",\"cell3'];\n\n Should also test newlines within\n */\n\n let i\n let inpLen\n const output = []\n const _backwards = function (str) {\n // We need to go backwards to simulate negative look-behind (don't split on\n // an escaped enclosure even if followed by the delimiter and another enclosure mark)\n return str.split('').reverse().join('')\n }\n const _pq = function (str) {\n // preg_quote()\n return String(str).replace(/([\\\\.+*?[^\\]$(){}=!<>|:])/g, '\\\\$1')\n }\n\n delimiter = delimiter || ','\n enclosure = enclosure || '\"'\n escape = escape || '\\\\'\n const pqEnc = _pq(enclosure)\n const pqEsc = _pq(escape)\n\n input = input.replace(new RegExp('^\\\\s*' + pqEnc), '').replace(new RegExp(pqEnc + '\\\\s*$'), '')\n\n // PHP behavior may differ by including whitespace even outside of the enclosure\n input = _backwards(input)\n .split(new RegExp(pqEnc + '\\\\s*' + _pq(delimiter) + '\\\\s*' + pqEnc + '(?!' + pqEsc + ')', 'g'))\n .reverse()\n\n for (i = 0, inpLen = input.length; i < inpLen; i++) {\n output.push(_backwards(input[i]).replace(new RegExp(pqEsc + pqEnc, 'g'), enclosure))\n }\n\n return output\n}\n"]}
@@ -3,7 +3,6 @@
3
3
  var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
4
4
 
5
5
  module.exports = function str_ireplace(search, replace, subject, countObj) {
6
- // eslint-disable-line camelcase
7
6
  // discuss at: https://locutus.io/php/str_ireplace/
8
7
  // original by: Glen Arason (https://CanadianDomainRegistry.ca)
9
8
  // bugfixed by: Mahmoud Saeed
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/str_ireplace.js"],"names":["module","exports","str_ireplace","search","replace","subject","countObj","i","j","temp","repl","sl","fl","f","r","s","ra","otemp","oi","ofjl","os","osa","Object","prototype","toString","call","length","toLowerCase","concat","value","undefined","split","join","indexOf","substr"],"mappings":"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","file":"str_ireplace.js","sourcesContent":["module.exports = function str_ireplace (search, replace, subject, countObj) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/str_ireplace/\n // original by: Glen Arason (https://CanadianDomainRegistry.ca)\n // bugfixed by: Mahmoud Saeed\n // note 1: Case-insensitive version of str_replace()\n // note 1: Compliant with PHP 5.0 str_ireplace() Full details at:\n // note 1: https://ca3.php.net/manual/en/function.str-ireplace.php\n // note 2: The countObj parameter (optional) if used must be passed in as a\n // note 2: object. The count will then be written by reference into it's `value` property\n // example 1: str_ireplace('M', 'e', 'name')\n // returns 1: 'naee'\n // example 2: var $countObj = {}\n // example 2: str_ireplace('M', 'e', 'name', $countObj)\n // example 2: var $result = $countObj.value\n // returns 2: 1\n // example 3: str_ireplace('', '.', 'aaa')\n // returns 3: 'aaa'\n\n let i = 0\n let j = 0\n let temp = ''\n let repl = ''\n let sl = 0\n let fl = 0\n let f = ''\n let r = ''\n let s = ''\n let ra = ''\n let otemp = ''\n let oi = ''\n let ofjl = ''\n let os = subject\n const osa = Object.prototype.toString.call(os) === '[object Array]'\n // var sa = ''\n\n if (typeof (search) === 'object') {\n temp = search\n search = []\n for (i = 0; i < temp.length; i += 1) {\n search[i] = temp[i].toLowerCase()\n }\n } else {\n search = search.toLowerCase()\n }\n\n if (typeof (subject) === 'object') {\n temp = subject\n subject = []\n for (i = 0; i < temp.length; i += 1) {\n subject[i] = temp[i].toLowerCase()\n }\n } else {\n subject = subject.toLowerCase()\n }\n\n if (typeof (search) === 'object' && typeof (replace) === 'string') {\n temp = replace\n replace = []\n for (i = 0; i < search.length; i += 1) {\n replace[i] = temp\n }\n }\n\n temp = ''\n f = [].concat(search)\n r = [].concat(replace)\n ra = Object.prototype.toString.call(r) === '[object Array]'\n s = subject\n // sa = Object.prototype.toString.call(s) === '[object Array]'\n s = [].concat(s)\n os = [].concat(os)\n\n if (countObj) {\n countObj.value = 0\n }\n\n for (i = 0, sl = s.length; i < sl; i++) {\n if (s[i] === '') {\n continue\n }\n for (j = 0, fl = f.length; j < fl; j++) {\n if (f[j] === '') {\n continue\n }\n temp = s[i] + ''\n repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0]\n s[i] = (temp).split(f[j]).join(repl)\n otemp = os[i] + ''\n oi = temp.indexOf(f[j])\n ofjl = f[j].length\n if (oi >= 0) {\n os[i] = (otemp).split(otemp.substr(oi, ofjl)).join(repl)\n }\n\n if (countObj) {\n countObj.value += ((temp.split(f[j])).length - 1)\n }\n }\n }\n\n return osa ? os : os[0]\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/str_ireplace.js"],"names":["module","exports","str_ireplace","search","replace","subject","countObj","i","j","temp","repl","sl","fl","f","r","s","ra","otemp","oi","ofjl","os","osa","Object","prototype","toString","call","length","toLowerCase","concat","value","undefined","split","join","indexOf","substr"],"mappings":"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","file":"str_ireplace.js","sourcesContent":["module.exports = function str_ireplace(search, replace, subject, countObj) {\n // discuss at: https://locutus.io/php/str_ireplace/\n // original by: Glen Arason (https://CanadianDomainRegistry.ca)\n // bugfixed by: Mahmoud Saeed\n // note 1: Case-insensitive version of str_replace()\n // note 1: Compliant with PHP 5.0 str_ireplace() Full details at:\n // note 1: https://ca3.php.net/manual/en/function.str-ireplace.php\n // note 2: The countObj parameter (optional) if used must be passed in as a\n // note 2: object. The count will then be written by reference into it's `value` property\n // example 1: str_ireplace('M', 'e', 'name')\n // returns 1: 'naee'\n // example 2: var $countObj = {}\n // example 2: str_ireplace('M', 'e', 'name', $countObj)\n // example 2: var $result = $countObj.value\n // returns 2: 1\n // example 3: str_ireplace('', '.', 'aaa')\n // returns 3: 'aaa'\n\n let i = 0\n let j = 0\n let temp = ''\n let repl = ''\n let sl = 0\n let fl = 0\n let f = ''\n let r = ''\n let s = ''\n let ra = ''\n let otemp = ''\n let oi = ''\n let ofjl = ''\n let os = subject\n const osa = Object.prototype.toString.call(os) === '[object Array]'\n // var sa = ''\n\n if (typeof search === 'object') {\n temp = search\n search = []\n for (i = 0; i < temp.length; i += 1) {\n search[i] = temp[i].toLowerCase()\n }\n } else {\n search = search.toLowerCase()\n }\n\n if (typeof subject === 'object') {\n temp = subject\n subject = []\n for (i = 0; i < temp.length; i += 1) {\n subject[i] = temp[i].toLowerCase()\n }\n } else {\n subject = subject.toLowerCase()\n }\n\n if (typeof search === 'object' && typeof replace === 'string') {\n temp = replace\n replace = []\n for (i = 0; i < search.length; i += 1) {\n replace[i] = temp\n }\n }\n\n temp = ''\n f = [].concat(search)\n r = [].concat(replace)\n ra = Object.prototype.toString.call(r) === '[object Array]'\n s = subject\n // sa = Object.prototype.toString.call(s) === '[object Array]'\n s = [].concat(s)\n os = [].concat(os)\n\n if (countObj) {\n countObj.value = 0\n }\n\n for (i = 0, sl = s.length; i < sl; i++) {\n if (s[i] === '') {\n continue\n }\n for (j = 0, fl = f.length; j < fl; j++) {\n if (f[j] === '') {\n continue\n }\n temp = s[i] + ''\n repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0]\n s[i] = temp.split(f[j]).join(repl)\n otemp = os[i] + ''\n oi = temp.indexOf(f[j])\n ofjl = f[j].length\n if (oi >= 0) {\n os[i] = otemp.split(otemp.substr(oi, ofjl)).join(repl)\n }\n\n if (countObj) {\n countObj.value += temp.split(f[j]).length - 1\n }\n }\n }\n\n return osa ? os : os[0]\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
3
  module.exports = function str_pad(input, padLength, padString, padType) {
4
- // eslint-disable-line camelcase
5
4
  // discuss at: https://locutus.io/php/str_pad/
6
5
  // original by: Kevin van Zonneveld (https://kvz.io)
7
6
  // improved by: Michael White (https://getsprink.com)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/str_pad.js"],"names":["module","exports","str_pad","input","padLength","padString","padType","half","padToGo","_strPadRepeater","s","len","collect","length","substr","undefined","Math","ceil"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,KAAlB,EAAyBC,SAAzB,EAAoCC,SAApC,EAA+CC,OAA/C,EAAwD;AAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,OAAO,EAAX;AACA,MAAIC,gBAAJ;;AAEA,MAAMC,kBAAkB,SAAlBA,eAAkB,CAAUC,CAAV,EAAaC,GAAb,EAAkB;AACxC,QAAIC,UAAU,EAAd;;AAEA,WAAOA,QAAQC,MAAR,GAAiBF,GAAxB,EAA6B;AAC3BC,iBAAWF,CAAX;AACD;AACDE,cAAUA,QAAQE,MAAR,CAAe,CAAf,EAAkBH,GAAlB,CAAV;;AAEA,WAAOC,OAAP;AACD,GATD;;AAWAT,WAAS,EAAT;AACAE,cAAYA,cAAcU,SAAd,GAA0BV,SAA1B,GAAsC,GAAlD;;AAEA,MAAIC,YAAY,cAAZ,IAA8BA,YAAY,eAA1C,IAA6DA,YAAY,cAA7E,EAA6F;AAC3FA,cAAU,eAAV;AACD;AACD,MAAI,CAACE,UAAUJ,YAAYD,MAAMU,MAA7B,IAAuC,CAA3C,EAA8C;AAC5C,QAAIP,YAAY,cAAhB,EAAgC;AAC9BH,cAAQM,gBAAgBJ,SAAhB,EAA2BG,OAA3B,IAAsCL,KAA9C;AACD,KAFD,MAEO,IAAIG,YAAY,eAAhB,EAAiC;AACtCH,cAAQA,QAAQM,gBAAgBJ,SAAhB,EAA2BG,OAA3B,CAAhB;AACD,KAFM,MAEA,IAAIF,YAAY,cAAhB,EAAgC;AACrCC,aAAOE,gBAAgBJ,SAAhB,EAA2BW,KAAKC,IAAL,CAAUT,UAAU,CAApB,CAA3B,CAAP;AACAL,cAAQI,OAAOJ,KAAP,GAAeI,IAAvB;AACAJ,cAAQA,MAAMW,MAAN,CAAa,CAAb,EAAgBV,SAAhB,CAAR;AACD;AACF;;AAED,SAAOD,KAAP;AACD,CA5CD","file":"str_pad.js","sourcesContent":["module.exports = function str_pad (input, padLength, padString, padType) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/str_pad/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Michael White (https://getsprink.com)\n // input by: Marco van Oort\n // bugfixed by: Brett Zamir (https://brett-zamir.me)\n // example 1: str_pad('Kevin van Zonneveld', 30, '-=', 'STR_PAD_LEFT')\n // returns 1: '-=-=-=-=-=-Kevin van Zonneveld'\n // example 2: str_pad('Kevin van Zonneveld', 30, '-', 'STR_PAD_BOTH')\n // returns 2: '------Kevin van Zonneveld-----'\n\n let half = ''\n let padToGo\n\n const _strPadRepeater = function (s, len) {\n let collect = ''\n\n while (collect.length < len) {\n collect += s\n }\n collect = collect.substr(0, len)\n\n return collect\n }\n\n input += ''\n padString = padString !== undefined ? padString : ' '\n\n if (padType !== 'STR_PAD_LEFT' && padType !== 'STR_PAD_RIGHT' && padType !== 'STR_PAD_BOTH') {\n padType = 'STR_PAD_RIGHT'\n }\n if ((padToGo = padLength - input.length) > 0) {\n if (padType === 'STR_PAD_LEFT') {\n input = _strPadRepeater(padString, padToGo) + input\n } else if (padType === 'STR_PAD_RIGHT') {\n input = input + _strPadRepeater(padString, padToGo)\n } else if (padType === 'STR_PAD_BOTH') {\n half = _strPadRepeater(padString, Math.ceil(padToGo / 2))\n input = half + input + half\n input = input.substr(0, padLength)\n }\n }\n\n return input\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/str_pad.js"],"names":["module","exports","str_pad","input","padLength","padString","padType","half","padToGo","_strPadRepeater","s","len","collect","length","substr","undefined","Math","ceil"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAiBC,KAAjB,EAAwBC,SAAxB,EAAmCC,SAAnC,EAA8CC,OAA9C,EAAuD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,OAAO,EAAX;AACA,MAAIC,gBAAJ;;AAEA,MAAMC,kBAAkB,SAAlBA,eAAkB,CAAUC,CAAV,EAAaC,GAAb,EAAkB;AACxC,QAAIC,UAAU,EAAd;;AAEA,WAAOA,QAAQC,MAAR,GAAiBF,GAAxB,EAA6B;AAC3BC,iBAAWF,CAAX;AACD;AACDE,cAAUA,QAAQE,MAAR,CAAe,CAAf,EAAkBH,GAAlB,CAAV;;AAEA,WAAOC,OAAP;AACD,GATD;;AAWAT,WAAS,EAAT;AACAE,cAAYA,cAAcU,SAAd,GAA0BV,SAA1B,GAAsC,GAAlD;;AAEA,MAAIC,YAAY,cAAZ,IAA8BA,YAAY,eAA1C,IAA6DA,YAAY,cAA7E,EAA6F;AAC3FA,cAAU,eAAV;AACD;AACD,MAAI,CAACE,UAAUJ,YAAYD,MAAMU,MAA7B,IAAuC,CAA3C,EAA8C;AAC5C,QAAIP,YAAY,cAAhB,EAAgC;AAC9BH,cAAQM,gBAAgBJ,SAAhB,EAA2BG,OAA3B,IAAsCL,KAA9C;AACD,KAFD,MAEO,IAAIG,YAAY,eAAhB,EAAiC;AACtCH,cAAQA,QAAQM,gBAAgBJ,SAAhB,EAA2BG,OAA3B,CAAhB;AACD,KAFM,MAEA,IAAIF,YAAY,cAAhB,EAAgC;AACrCC,aAAOE,gBAAgBJ,SAAhB,EAA2BW,KAAKC,IAAL,CAAUT,UAAU,CAApB,CAA3B,CAAP;AACAL,cAAQI,OAAOJ,KAAP,GAAeI,IAAvB;AACAJ,cAAQA,MAAMW,MAAN,CAAa,CAAb,EAAgBV,SAAhB,CAAR;AACD;AACF;;AAED,SAAOD,KAAP;AACD,CA5CD","file":"str_pad.js","sourcesContent":["module.exports = function str_pad(input, padLength, padString, padType) {\n // discuss at: https://locutus.io/php/str_pad/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Michael White (https://getsprink.com)\n // input by: Marco van Oort\n // bugfixed by: Brett Zamir (https://brett-zamir.me)\n // example 1: str_pad('Kevin van Zonneveld', 30, '-=', 'STR_PAD_LEFT')\n // returns 1: '-=-=-=-=-=-Kevin van Zonneveld'\n // example 2: str_pad('Kevin van Zonneveld', 30, '-', 'STR_PAD_BOTH')\n // returns 2: '------Kevin van Zonneveld-----'\n\n let half = ''\n let padToGo\n\n const _strPadRepeater = function (s, len) {\n let collect = ''\n\n while (collect.length < len) {\n collect += s\n }\n collect = collect.substr(0, len)\n\n return collect\n }\n\n input += ''\n padString = padString !== undefined ? padString : ' '\n\n if (padType !== 'STR_PAD_LEFT' && padType !== 'STR_PAD_RIGHT' && padType !== 'STR_PAD_BOTH') {\n padType = 'STR_PAD_RIGHT'\n }\n if ((padToGo = padLength - input.length) > 0) {\n if (padType === 'STR_PAD_LEFT') {\n input = _strPadRepeater(padString, padToGo) + input\n } else if (padType === 'STR_PAD_RIGHT') {\n input = input + _strPadRepeater(padString, padToGo)\n } else if (padType === 'STR_PAD_BOTH') {\n half = _strPadRepeater(padString, Math.ceil(padToGo / 2))\n input = half + input + half\n input = input.substr(0, padLength)\n }\n }\n\n return input\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
3
  module.exports = function str_repeat(input, multiplier) {
4
- // eslint-disable-line camelcase
5
4
  // discuss at: https://locutus.io/php/str_repeat/
6
5
  // original by: Kevin van Zonneveld (https://kvz.io)
7
6
  // improved by: Jonas Raoni Soares Silva (https://www.jsfromhell.com)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/str_repeat.js"],"names":["module","exports","str_repeat","input","multiplier","y"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,UAAT,CAAqBC,KAArB,EAA4BC,UAA5B,EAAwC;AAAE;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,IAAI,EAAR;AACA,SAAO,IAAP,EAAa;AACX,QAAID,aAAa,CAAjB,EAAoB;AAClBC,WAAKF,KAAL;AACD;AACDC,mBAAe,CAAf;AACA,QAAIA,UAAJ,EAAgB;AACdD,eAASA,KAAT;AACD,KAFD,MAEO;AACL;AACD;AACF;AACD,SAAOE,CAAP;AACD,CArBD","file":"str_repeat.js","sourcesContent":["module.exports = function str_repeat (input, multiplier) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/str_repeat/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Jonas Raoni Soares Silva (https://www.jsfromhell.com)\n // improved by: Ian Carter (https://euona.com/)\n // example 1: str_repeat('-=', 10)\n // returns 1: '-=-=-=-=-=-=-=-=-=-='\n\n let y = ''\n while (true) {\n if (multiplier & 1) {\n y += input\n }\n multiplier >>= 1\n if (multiplier) {\n input += input\n } else {\n break\n }\n }\n return y\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/str_repeat.js"],"names":["module","exports","str_repeat","input","multiplier","y"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,UAAT,CAAoBC,KAApB,EAA2BC,UAA3B,EAAuC;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,IAAI,EAAR;AACA,SAAO,IAAP,EAAa;AACX,QAAID,aAAa,CAAjB,EAAoB;AAClBC,WAAKF,KAAL;AACD;AACDC,mBAAe,CAAf;AACA,QAAIA,UAAJ,EAAgB;AACdD,eAASA,KAAT;AACD,KAFD,MAEO;AACL;AACD;AACF;AACD,SAAOE,CAAP;AACD,CArBD","file":"str_repeat.js","sourcesContent":["module.exports = function str_repeat(input, multiplier) {\n // discuss at: https://locutus.io/php/str_repeat/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Jonas Raoni Soares Silva (https://www.jsfromhell.com)\n // improved by: Ian Carter (https://euona.com/)\n // example 1: str_repeat('-=', 10)\n // returns 1: '-=-=-=-=-=-=-=-=-=-='\n\n let y = ''\n while (true) {\n if (multiplier & 1) {\n y += input\n }\n multiplier >>= 1\n if (multiplier) {\n input += input\n } else {\n break\n }\n }\n return y\n}\n"]}
@@ -3,7 +3,6 @@
3
3
  var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
4
4
 
5
5
  module.exports = function str_replace(search, replace, subject, countObj) {
6
- // eslint-disable-line camelcase
7
6
  // discuss at: https://locutus.io/php/str_replace/
8
7
  // original by: Kevin van Zonneveld (https://kvz.io)
9
8
  // improved by: Gabriel Paderni
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/str_replace.js"],"names":["module","exports","str_replace","search","replace","subject","countObj","i","j","temp","repl","sl","fl","f","concat","r","s","ra","Object","prototype","toString","call","sa","$global","window","global","$locutus","php","length","value","undefined","split","join"],"mappings":"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","file":"str_replace.js","sourcesContent":["module.exports = function str_replace (search, replace, subject, countObj) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/str_replace/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Gabriel Paderni\n // improved by: Philip Peterson\n // improved by: Simon Willison (https://simonwillison.net)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Onno Marsman (https://twitter.com/onnomarsman)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // revised by: Jonas Raoni Soares Silva (https://www.jsfromhell.com)\n // bugfixed by: Anton Ongson\n // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: Oleg Eremeev\n // bugfixed by: Glen Arason (https://CanadianDomainRegistry.ca)\n // bugfixed by: Glen Arason (https://CanadianDomainRegistry.ca)\n // bugfixed by: Mahmoud Saeed\n // input by: Onno Marsman (https://twitter.com/onnomarsman)\n // input by: Brett Zamir (https://brett-zamir.me)\n // input by: Oleg Eremeev\n // note 1: The countObj parameter (optional) if used must be passed in as a\n // note 1: object. The count will then be written by reference into it's `value` property\n // example 1: str_replace(' ', '.', 'Kevin van Zonneveld')\n // returns 1: 'Kevin.van.Zonneveld'\n // example 2: str_replace(['{name}', 'l'], ['hello', 'm'], '{name}, lars')\n // returns 2: 'hemmo, mars'\n // example 3: str_replace(Array('S','F'),'x','ASDFASDF')\n // returns 3: 'AxDxAxDx'\n // example 4: var countObj = {}\n // example 4: str_replace(['A','D'], ['x','y'] , 'ASDFASDF' , countObj)\n // example 4: var $result = countObj.value\n // returns 4: 4\n // example 5: str_replace('', '.', 'aaa')\n // returns 5: 'aaa'\n\n let i = 0\n let j = 0\n let temp = ''\n let repl = ''\n let sl = 0\n let fl = 0\n const f = [].concat(search)\n let r = [].concat(replace)\n let s = subject\n let ra = Object.prototype.toString.call(r) === '[object Array]'\n const sa = Object.prototype.toString.call(s) === '[object Array]'\n s = [].concat(s)\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 if (typeof (search) === 'object' && typeof (replace) === 'string') {\n temp = replace\n replace = []\n for (i = 0; i < search.length; i += 1) {\n replace[i] = temp\n }\n temp = ''\n r = [].concat(replace)\n ra = Object.prototype.toString.call(r) === '[object Array]'\n }\n\n if (typeof countObj !== 'undefined') {\n countObj.value = 0\n }\n\n for (i = 0, sl = s.length; i < sl; i++) {\n if (s[i] === '') {\n continue\n }\n for (j = 0, fl = f.length; j < fl; j++) {\n if (f[j] === '') {\n continue\n }\n temp = s[i] + ''\n repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0]\n s[i] = (temp).split(f[j]).join(repl)\n if (typeof countObj !== 'undefined') {\n countObj.value += ((temp.split(f[j])).length - 1)\n }\n }\n }\n return sa ? s : s[0]\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/str_replace.js"],"names":["module","exports","str_replace","search","replace","subject","countObj","i","j","temp","repl","sl","fl","f","concat","r","s","ra","Object","prototype","toString","call","sa","$global","window","global","$locutus","php","length","value","undefined","split","join"],"mappings":";;;;AAAAA,OAAOC,OAAP,GAAiB,SAASC,WAAT,CAAqBC,MAArB,EAA6BC,OAA7B,EAAsCC,OAAtC,EAA+CC,QAA/C,EAAyD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,IAAI,CAAR;AACA,MAAIC,IAAI,CAAR;AACA,MAAIC,OAAO,EAAX;AACA,MAAIC,OAAO,EAAX;AACA,MAAIC,KAAK,CAAT;AACA,MAAIC,KAAK,CAAT;AACA,MAAMC,IAAI,GAAGC,MAAH,CAAUX,MAAV,CAAV;AACA,MAAIY,IAAI,GAAGD,MAAH,CAAUV,OAAV,CAAR;AACA,MAAIY,IAAIX,OAAR;AACA,MAAIY,KAAKC,OAAOC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BN,CAA/B,MAAsC,gBAA/C;AACA,MAAMO,KAAKJ,OAAOC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BL,CAA/B,MAAsC,gBAAjD;AACAA,MAAI,GAAGF,MAAH,CAAUE,CAAV,CAAJ;;AAEA,MAAMO,UAAU,OAAOC,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyCC,MAAzD;AACAF,UAAQG,QAAR,GAAmBH,QAAQG,QAAR,IAAoB,EAAvC;AACA,MAAMA,WAAWH,QAAQG,QAAzB;AACAA,WAASC,GAAT,GAAeD,SAASC,GAAT,IAAgB,EAA/B;;AAEA,MAAI,QAAOxB,MAAP,yCAAOA,MAAP,OAAkB,QAAlB,IAA8B,OAAOC,OAAP,KAAmB,QAArD,EAA+D;AAC7DK,WAAOL,OAAP;AACAA,cAAU,EAAV;AACA,SAAKG,IAAI,CAAT,EAAYA,IAAIJ,OAAOyB,MAAvB,EAA+BrB,KAAK,CAApC,EAAuC;AACrCH,cAAQG,CAAR,IAAaE,IAAb;AACD;AACDA,WAAO,EAAP;AACAM,QAAI,GAAGD,MAAH,CAAUV,OAAV,CAAJ;AACAa,SAAKC,OAAOC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BN,CAA/B,MAAsC,gBAA3C;AACD;;AAED,MAAI,OAAOT,QAAP,KAAoB,WAAxB,EAAqC;AACnCA,aAASuB,KAAT,GAAiB,CAAjB;AACD;;AAED,OAAKtB,IAAI,CAAJ,EAAOI,KAAKK,EAAEY,MAAnB,EAA2BrB,IAAII,EAA/B,EAAmCJ,GAAnC,EAAwC;AACtC,QAAIS,EAAET,CAAF,MAAS,EAAb,EAAiB;AACf;AACD;AACD,SAAKC,IAAI,CAAJ,EAAOI,KAAKC,EAAEe,MAAnB,EAA2BpB,IAAII,EAA/B,EAAmCJ,GAAnC,EAAwC;AACtC,UAAIK,EAAEL,CAAF,MAAS,EAAb,EAAiB;AACf;AACD;AACDC,aAAOO,EAAET,CAAF,IAAO,EAAd;AACAG,aAAOO,KAAMF,EAAEP,CAAF,MAASsB,SAAT,GAAqBf,EAAEP,CAAF,CAArB,GAA4B,EAAlC,GAAwCO,EAAE,CAAF,CAA/C;AACAC,QAAET,CAAF,IAAOE,KAAKsB,KAAL,CAAWlB,EAAEL,CAAF,CAAX,EAAiBwB,IAAjB,CAAsBtB,IAAtB,CAAP;AACA,UAAI,OAAOJ,QAAP,KAAoB,WAAxB,EAAqC;AACnCA,iBAASuB,KAAT,IAAkBpB,KAAKsB,KAAL,CAAWlB,EAAEL,CAAF,CAAX,EAAiBoB,MAAjB,GAA0B,CAA5C;AACD;AACF;AACF;AACD,SAAON,KAAKN,CAAL,GAASA,EAAE,CAAF,CAAhB;AACD,CApFD","file":"str_replace.js","sourcesContent":["module.exports = function str_replace(search, replace, subject, countObj) {\n // discuss at: https://locutus.io/php/str_replace/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Gabriel Paderni\n // improved by: Philip Peterson\n // improved by: Simon Willison (https://simonwillison.net)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Onno Marsman (https://twitter.com/onnomarsman)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // revised by: Jonas Raoni Soares Silva (https://www.jsfromhell.com)\n // bugfixed by: Anton Ongson\n // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: Oleg Eremeev\n // bugfixed by: Glen Arason (https://CanadianDomainRegistry.ca)\n // bugfixed by: Glen Arason (https://CanadianDomainRegistry.ca)\n // bugfixed by: Mahmoud Saeed\n // input by: Onno Marsman (https://twitter.com/onnomarsman)\n // input by: Brett Zamir (https://brett-zamir.me)\n // input by: Oleg Eremeev\n // note 1: The countObj parameter (optional) if used must be passed in as a\n // note 1: object. The count will then be written by reference into it's `value` property\n // example 1: str_replace(' ', '.', 'Kevin van Zonneveld')\n // returns 1: 'Kevin.van.Zonneveld'\n // example 2: str_replace(['{name}', 'l'], ['hello', 'm'], '{name}, lars')\n // returns 2: 'hemmo, mars'\n // example 3: str_replace(Array('S','F'),'x','ASDFASDF')\n // returns 3: 'AxDxAxDx'\n // example 4: var countObj = {}\n // example 4: str_replace(['A','D'], ['x','y'] , 'ASDFASDF' , countObj)\n // example 4: var $result = countObj.value\n // returns 4: 4\n // example 5: str_replace('', '.', 'aaa')\n // returns 5: 'aaa'\n\n let i = 0\n let j = 0\n let temp = ''\n let repl = ''\n let sl = 0\n let fl = 0\n const f = [].concat(search)\n let r = [].concat(replace)\n let s = subject\n let ra = Object.prototype.toString.call(r) === '[object Array]'\n const sa = Object.prototype.toString.call(s) === '[object Array]'\n s = [].concat(s)\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 if (typeof search === 'object' && typeof replace === 'string') {\n temp = replace\n replace = []\n for (i = 0; i < search.length; i += 1) {\n replace[i] = temp\n }\n temp = ''\n r = [].concat(replace)\n ra = Object.prototype.toString.call(r) === '[object Array]'\n }\n\n if (typeof countObj !== 'undefined') {\n countObj.value = 0\n }\n\n for (i = 0, sl = s.length; i < sl; i++) {\n if (s[i] === '') {\n continue\n }\n for (j = 0, fl = f.length; j < fl; j++) {\n if (f[j] === '') {\n continue\n }\n temp = s[i] + ''\n repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0]\n s[i] = temp.split(f[j]).join(repl)\n if (typeof countObj !== 'undefined') {\n countObj.value += temp.split(f[j]).length - 1\n }\n }\n }\n return sa ? s : s[0]\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
3
  module.exports = function str_rot13(str) {
4
- // eslint-disable-line camelcase
5
4
  // discuss at: https://locutus.io/php/str_rot13/
6
5
  // original by: Jonas Raoni Soares Silva (https://www.jsfromhell.com)
7
6
  // improved by: Ates Goral (https://magnetiq.com)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/str_rot13.js"],"names":["module","exports","str_rot13","str","replace","s","String","fromCharCode","charCodeAt","toLowerCase"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,SAAT,CAAoBC,GAApB,EAAyB;AAAE;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAO,CAACA,MAAM,EAAP,EACJC,OADI,CACI,SADJ,EACe,UAAUC,CAAV,EAAa;AAC/B,WAAOC,OAAOC,YAAP,CAAoBF,EAAEG,UAAF,CAAa,CAAb,KAAmBH,EAAEI,WAAF,KAAkB,GAAlB,GAAwB,EAAxB,GAA6B,CAAC,EAAjD,CAApB,CAAP;AACD,GAHI,CAAP;AAID,CAjBD","file":"str_rot13.js","sourcesContent":["module.exports = function str_rot13 (str) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/str_rot13/\n // original by: Jonas Raoni Soares Silva (https://www.jsfromhell.com)\n // improved by: Ates Goral (https://magnetiq.com)\n // improved by: Rafał Kukawski (https://blog.kukawski.pl)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // example 1: str_rot13('Kevin van Zonneveld')\n // returns 1: 'Xriva ina Mbaariryq'\n // example 2: str_rot13('Xriva ina Mbaariryq')\n // returns 2: 'Kevin van Zonneveld'\n // example 3: str_rot13(33)\n // returns 3: '33'\n\n return (str + '')\n .replace(/[a-z]/gi, function (s) {\n return String.fromCharCode(s.charCodeAt(0) + (s.toLowerCase() < 'n' ? 13 : -13))\n })\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/str_rot13.js"],"names":["module","exports","str_rot13","str","replace","s","String","fromCharCode","charCodeAt","toLowerCase"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,SAAT,CAAmBC,GAAnB,EAAwB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAO,CAACA,MAAM,EAAP,EAAWC,OAAX,CAAmB,SAAnB,EAA8B,UAAUC,CAAV,EAAa;AAChD,WAAOC,OAAOC,YAAP,CAAoBF,EAAEG,UAAF,CAAa,CAAb,KAAmBH,EAAEI,WAAF,KAAkB,GAAlB,GAAwB,EAAxB,GAA6B,CAAC,EAAjD,CAApB,CAAP;AACD,GAFM,CAAP;AAGD,CAhBD","file":"str_rot13.js","sourcesContent":["module.exports = function str_rot13(str) {\n // discuss at: https://locutus.io/php/str_rot13/\n // original by: Jonas Raoni Soares Silva (https://www.jsfromhell.com)\n // improved by: Ates Goral (https://magnetiq.com)\n // improved by: Rafał Kukawski (https://blog.kukawski.pl)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // example 1: str_rot13('Kevin van Zonneveld')\n // returns 1: 'Xriva ina Mbaariryq'\n // example 2: str_rot13('Xriva ina Mbaariryq')\n // returns 2: 'Kevin van Zonneveld'\n // example 3: str_rot13(33)\n // returns 3: '33'\n\n return (str + '').replace(/[a-z]/gi, function (s) {\n return String.fromCharCode(s.charCodeAt(0) + (s.toLowerCase() < 'n' ? 13 : -13))\n })\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
3
  module.exports = function str_shuffle(str) {
4
- // eslint-disable-line camelcase
5
4
  // discuss at: https://locutus.io/php/str_shuffle/
6
5
  // original by: Brett Zamir (https://brett-zamir.me)
7
6
  // example 1: var $shuffled = str_shuffle("abcdef")
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/str_shuffle.js"],"names":["module","exports","str_shuffle","str","arguments","length","Error","newStr","rand","i","Math","floor","random","charAt","substring","substr"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,WAAT,CAAsBC,GAAtB,EAA2B;AAAE;AAC5C;AACA;AACA;AACA;AACA;;AAEA,MAAIC,UAAUC,MAAV,KAAqB,CAAzB,EAA4B;AAC1B,UAAM,IAAIC,KAAJ,CAAU,yCAAV,CAAN;AACD;;AAED,MAAIH,QAAQ,IAAZ,EAAkB;AAChB,WAAO,EAAP;AACD;;AAEDA,SAAO,EAAP;;AAEA,MAAII,SAAS,EAAb;AACA,MAAIC,aAAJ;AACA,MAAIC,IAAIN,IAAIE,MAAZ;;AAEA,SAAOI,CAAP,EAAU;AACRD,WAAOE,KAAKC,KAAL,CAAWD,KAAKE,MAAL,KAAgBH,CAA3B,CAAP;AACAF,cAAUJ,IAAIU,MAAJ,CAAWL,IAAX,CAAV;AACAL,UAAMA,IAAIW,SAAJ,CAAc,CAAd,EAAiBN,IAAjB,IAAyBL,IAAIY,MAAJ,CAAWP,OAAO,CAAlB,CAA/B;AACAC;AACD;;AAED,SAAOF,MAAP;AACD,CA7BD","file":"str_shuffle.js","sourcesContent":["module.exports = function str_shuffle (str) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/str_shuffle/\n // original by: Brett Zamir (https://brett-zamir.me)\n // example 1: var $shuffled = str_shuffle(\"abcdef\")\n // example 1: var $result = $shuffled.length\n // returns 1: 6\n\n if (arguments.length === 0) {\n throw new Error('Wrong parameter count for str_shuffle()')\n }\n\n if (str === null) {\n return ''\n }\n\n str += ''\n\n let newStr = ''\n let rand\n let i = str.length\n\n while (i) {\n rand = Math.floor(Math.random() * i)\n newStr += str.charAt(rand)\n str = str.substring(0, rand) + str.substr(rand + 1)\n i--\n }\n\n return newStr\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/str_shuffle.js"],"names":["module","exports","str_shuffle","str","arguments","length","Error","newStr","rand","i","Math","floor","random","charAt","substring","substr"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,WAAT,CAAqBC,GAArB,EAA0B;AACzC;AACA;AACA;AACA;AACA;;AAEA,MAAIC,UAAUC,MAAV,KAAqB,CAAzB,EAA4B;AAC1B,UAAM,IAAIC,KAAJ,CAAU,yCAAV,CAAN;AACD;;AAED,MAAIH,QAAQ,IAAZ,EAAkB;AAChB,WAAO,EAAP;AACD;;AAEDA,SAAO,EAAP;;AAEA,MAAII,SAAS,EAAb;AACA,MAAIC,aAAJ;AACA,MAAIC,IAAIN,IAAIE,MAAZ;;AAEA,SAAOI,CAAP,EAAU;AACRD,WAAOE,KAAKC,KAAL,CAAWD,KAAKE,MAAL,KAAgBH,CAA3B,CAAP;AACAF,cAAUJ,IAAIU,MAAJ,CAAWL,IAAX,CAAV;AACAL,UAAMA,IAAIW,SAAJ,CAAc,CAAd,EAAiBN,IAAjB,IAAyBL,IAAIY,MAAJ,CAAWP,OAAO,CAAlB,CAA/B;AACAC;AACD;;AAED,SAAOF,MAAP;AACD,CA7BD","file":"str_shuffle.js","sourcesContent":["module.exports = function str_shuffle(str) {\n // discuss at: https://locutus.io/php/str_shuffle/\n // original by: Brett Zamir (https://brett-zamir.me)\n // example 1: var $shuffled = str_shuffle(\"abcdef\")\n // example 1: var $result = $shuffled.length\n // returns 1: 6\n\n if (arguments.length === 0) {\n throw new Error('Wrong parameter count for str_shuffle()')\n }\n\n if (str === null) {\n return ''\n }\n\n str += ''\n\n let newStr = ''\n let rand\n let i = str.length\n\n while (i) {\n rand = Math.floor(Math.random() * i)\n newStr += str.charAt(rand)\n str = str.substring(0, rand) + str.substr(rand + 1)\n i--\n }\n\n return newStr\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
3
  module.exports = function str_split(string, splitLength) {
4
- // eslint-disable-line camelcase
5
4
  // discuss at: https://locutus.io/php/str_split/
6
5
  // original by: Martijn Wieringa
7
6
  // improved by: Brett Zamir (https://brett-zamir.me)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/str_split.js"],"names":["module","exports","str_split","string","splitLength","chunks","pos","len","length","push","slice"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,SAAT,CAAoBC,MAApB,EAA4BC,WAA5B,EAAyC;AAAE;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIA,gBAAgB,IAApB,EAA0B;AACxBA,kBAAc,CAAd;AACD;AACD,MAAID,WAAW,IAAX,IAAmBC,cAAc,CAArC,EAAwC;AACtC,WAAO,KAAP;AACD;;AAEDD,YAAU,EAAV;AACA,MAAME,SAAS,EAAf;AACA,MAAIC,MAAM,CAAV;AACA,MAAMC,MAAMJ,OAAOK,MAAnB;;AAEA,SAAOF,MAAMC,GAAb,EAAkB;AAChBF,WAAOI,IAAP,CAAYN,OAAOO,KAAP,CAAaJ,GAAb,EAAkBA,OAAOF,WAAzB,CAAZ;AACD;;AAED,SAAOC,MAAP;AACD,CA5BD","file":"str_split.js","sourcesContent":["module.exports = function str_split (string, splitLength) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/str_split/\n // original by: Martijn Wieringa\n // improved by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // revised by: Theriault (https://github.com/Theriault)\n // revised by: Rafał Kukawski (https://blog.kukawski.pl)\n // input by: Bjorn Roesbeke (https://www.bjornroesbeke.be/)\n // example 1: str_split('Hello Friend', 3)\n // returns 1: ['Hel', 'lo ', 'Fri', 'end']\n\n if (splitLength === null) {\n splitLength = 1\n }\n if (string === null || splitLength < 1) {\n return false\n }\n\n string += ''\n const chunks = []\n let pos = 0\n const len = string.length\n\n while (pos < len) {\n chunks.push(string.slice(pos, pos += splitLength))\n }\n\n return chunks\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/str_split.js"],"names":["module","exports","str_split","string","splitLength","chunks","pos","len","length","push","slice"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,SAAT,CAAmBC,MAAnB,EAA2BC,WAA3B,EAAwC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIA,gBAAgB,IAApB,EAA0B;AACxBA,kBAAc,CAAd;AACD;AACD,MAAID,WAAW,IAAX,IAAmBC,cAAc,CAArC,EAAwC;AACtC,WAAO,KAAP;AACD;;AAEDD,YAAU,EAAV;AACA,MAAME,SAAS,EAAf;AACA,MAAIC,MAAM,CAAV;AACA,MAAMC,MAAMJ,OAAOK,MAAnB;;AAEA,SAAOF,MAAMC,GAAb,EAAkB;AAChBF,WAAOI,IAAP,CAAYN,OAAOO,KAAP,CAAaJ,GAAb,EAAmBA,OAAOF,WAA1B,CAAZ;AACD;;AAED,SAAOC,MAAP;AACD,CA5BD","file":"str_split.js","sourcesContent":["module.exports = function str_split(string, splitLength) {\n // discuss at: https://locutus.io/php/str_split/\n // original by: Martijn Wieringa\n // improved by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // revised by: Theriault (https://github.com/Theriault)\n // revised by: Rafał Kukawski (https://blog.kukawski.pl)\n // input by: Bjorn Roesbeke (https://www.bjornroesbeke.be/)\n // example 1: str_split('Hello Friend', 3)\n // returns 1: ['Hel', 'lo ', 'Fri', 'end']\n\n if (splitLength === null) {\n splitLength = 1\n }\n if (string === null || splitLength < 1) {\n return false\n }\n\n string += ''\n const chunks = []\n let pos = 0\n const len = string.length\n\n while (pos < len) {\n chunks.push(string.slice(pos, (pos += splitLength)))\n }\n\n return chunks\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
3
  module.exports = function str_word_count(str, format, charlist) {
4
- // eslint-disable-line camelcase
5
4
  // discuss at: https://locutus.io/php/str_word_count/
6
5
  // original by: Ole Vrijenhoek
7
6
  // bugfixed by: Kevin van Zonneveld (https://kvz.io)
@@ -38,17 +37,17 @@ module.exports = function str_word_count(str, format, charlist) {
38
37
  var _getWholeChar = function _getWholeChar(str, i) {
39
38
  // Use for rare cases of non-BMP characters
40
39
  var code = str.charCodeAt(i);
41
- if (code < 0xD800 || code > 0xDFFF) {
40
+ if (code < 0xd800 || code > 0xdfff) {
42
41
  return str.charAt(i);
43
42
  }
44
- if (code >= 0xD800 && code <= 0xDBFF) {
43
+ if (code >= 0xd800 && code <= 0xdbff) {
45
44
  // High surrogate (could change last hex to 0xDB7F to treat high private surrogates as single
46
45
  // characters)
47
46
  if (str.length <= i + 1) {
48
47
  throw new Error('High surrogate without following low surrogate');
49
48
  }
50
49
  var next = str.charCodeAt(i + 1);
51
- if (next < 0xDC00 || next > 0xDFFF) {
50
+ if (next < 0xdc00 || next > 0xdfff) {
52
51
  throw new Error('High surrogate without following low surrogate');
53
52
  }
54
53
  return str.charAt(i) + str.charAt(i + 1);
@@ -58,7 +57,7 @@ module.exports = function str_word_count(str, format, charlist) {
58
57
  throw new Error('Low surrogate without preceding high surrogate');
59
58
  }
60
59
  var prev = str.charCodeAt(i - 1);
61
- if (prev < 0xD800 || prev > 0xDBFF) {
60
+ if (prev < 0xd800 || prev > 0xdbff) {
62
61
  // (could change last hex to 0xDB7F to treat high private surrogates as single characters)
63
62
  throw new Error('Low surrogate without preceding high surrogate');
64
63
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/str_word_count.js"],"names":["module","exports","str_word_count","str","format","charlist","ctypeAlpha","require","len","length","cl","chr","tmpStr","i","c","wArr","wC","assoc","aC","reg","match","_pregQuote","replace","_getWholeChar","code","charCodeAt","charAt","Error","next","prev","RegExp","search"],"mappings":"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","file":"str_word_count.js","sourcesContent":["module.exports = function str_word_count (str, format, charlist) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/str_word_count/\n // original by: Ole Vrijenhoek\n // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: Brett Zamir (https://brett-zamir.me)\n // input by: Bug?\n // improved by: Brett Zamir (https://brett-zamir.me)\n // example 1: str_word_count(\"Hello fri3nd, you're\\r\\n looking good today!\", 1)\n // returns 1: ['Hello', 'fri', 'nd', \"you're\", 'looking', 'good', 'today']\n // example 2: str_word_count(\"Hello fri3nd, you're\\r\\n looking good today!\", 2)\n // returns 2: {0: 'Hello', 6: 'fri', 10: 'nd', 14: \"you're\", 29: 'looking', 46: 'good', 51: 'today'}\n // example 3: str_word_count(\"Hello fri3nd, you're\\r\\n looking good today!\", 1, '\\u00e0\\u00e1\\u00e3\\u00e73')\n // returns 3: ['Hello', 'fri3nd', \"you're\", 'looking', 'good', 'today']\n // example 4: str_word_count('hey', 2)\n // returns 4: {0: 'hey'}\n\n const ctypeAlpha = require('../ctype/ctype_alpha')\n const len = str.length\n const cl = charlist && charlist.length\n let chr = ''\n let tmpStr = ''\n let i = 0\n let c = ''\n const wArr = []\n let wC = 0\n const assoc = {}\n let aC = 0\n let reg = ''\n let match = false\n\n const _pregQuote = function (str) {\n return (str + '').replace(/([\\\\.+*?[^\\]$(){}=!<>|:])/g, '\\\\$1')\n }\n const _getWholeChar = function (str, i) {\n // Use for rare cases of non-BMP characters\n const code = str.charCodeAt(i)\n if (code < 0xD800 || code > 0xDFFF) {\n return str.charAt(i)\n }\n if (code >= 0xD800 && code <= 0xDBFF) {\n // High surrogate (could change last hex to 0xDB7F to treat high private surrogates as single\n // characters)\n if (str.length <= (i + 1)) {\n throw new Error('High surrogate without following low surrogate')\n }\n const next = str.charCodeAt(i + 1)\n if (next < 0xDC00 || next > 0xDFFF) {\n throw new Error('High surrogate without following low surrogate')\n }\n return str.charAt(i) + str.charAt(i + 1)\n }\n // Low surrogate (0xDC00 <= code && code <= 0xDFFF)\n if (i === 0) {\n throw new Error('Low surrogate without preceding high surrogate')\n }\n const prev = str.charCodeAt(i - 1)\n if (prev < 0xD800 || prev > 0xDBFF) {\n // (could change last hex to 0xDB7F to treat high private surrogates as single characters)\n throw new Error('Low surrogate without preceding high surrogate')\n }\n // We can pass over low surrogates now as the second component in a pair which we have already\n // processed\n return false\n }\n\n if (cl) {\n reg = '^(' + _pregQuote(_getWholeChar(charlist, 0))\n for (i = 1; i < cl; i++) {\n if ((chr = _getWholeChar(charlist, i)) === false) {\n continue\n }\n reg += '|' + _pregQuote(chr)\n }\n reg += ')$'\n reg = new RegExp(reg)\n }\n\n for (i = 0; i < len; i++) {\n if ((c = _getWholeChar(str, i)) === false) {\n continue\n }\n // No hyphen at beginning or end unless allowed in charlist (or locale)\n // No apostrophe at beginning unless allowed in charlist (or locale)\n // @todo: Make this more readable\n match = ctypeAlpha(c) ||\n (reg && c.search(reg) !== -1) ||\n ((i !== 0 && i !== len - 1) && c === '-') ||\n (i !== 0 && c === \"'\")\n if (match) {\n if (tmpStr === '' && format === 2) {\n aC = i\n }\n tmpStr = tmpStr + c\n }\n if (i === len - 1 || !match && tmpStr !== '') {\n if (format !== 2) {\n wArr[wArr.length] = tmpStr\n } else {\n assoc[aC] = tmpStr\n }\n tmpStr = ''\n wC++\n }\n }\n\n if (!format) {\n return wC\n } else if (format === 1) {\n return wArr\n } else if (format === 2) {\n return assoc\n }\n\n throw new Error('You have supplied an incorrect format')\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/str_word_count.js"],"names":["module","exports","str_word_count","str","format","charlist","ctypeAlpha","require","len","length","cl","chr","tmpStr","i","c","wArr","wC","assoc","aC","reg","match","_pregQuote","replace","_getWholeChar","code","charCodeAt","charAt","Error","next","prev","RegExp","search"],"mappings":"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","file":"str_word_count.js","sourcesContent":["module.exports = function str_word_count(str, format, charlist) {\n // discuss at: https://locutus.io/php/str_word_count/\n // original by: Ole Vrijenhoek\n // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: Brett Zamir (https://brett-zamir.me)\n // input by: Bug?\n // improved by: Brett Zamir (https://brett-zamir.me)\n // example 1: str_word_count(\"Hello fri3nd, you're\\r\\n looking good today!\", 1)\n // returns 1: ['Hello', 'fri', 'nd', \"you're\", 'looking', 'good', 'today']\n // example 2: str_word_count(\"Hello fri3nd, you're\\r\\n looking good today!\", 2)\n // returns 2: {0: 'Hello', 6: 'fri', 10: 'nd', 14: \"you're\", 29: 'looking', 46: 'good', 51: 'today'}\n // example 3: str_word_count(\"Hello fri3nd, you're\\r\\n looking good today!\", 1, '\\u00e0\\u00e1\\u00e3\\u00e73')\n // returns 3: ['Hello', 'fri3nd', \"you're\", 'looking', 'good', 'today']\n // example 4: str_word_count('hey', 2)\n // returns 4: {0: 'hey'}\n\n const ctypeAlpha = require('../ctype/ctype_alpha')\n const len = str.length\n const cl = charlist && charlist.length\n let chr = ''\n let tmpStr = ''\n let i = 0\n let c = ''\n const wArr = []\n let wC = 0\n const assoc = {}\n let aC = 0\n let reg = ''\n let match = false\n\n const _pregQuote = function (str) {\n return (str + '').replace(/([\\\\.+*?[^\\]$(){}=!<>|:])/g, '\\\\$1')\n }\n const _getWholeChar = function (str, i) {\n // Use for rare cases of non-BMP characters\n const code = str.charCodeAt(i)\n if (code < 0xd800 || code > 0xdfff) {\n return str.charAt(i)\n }\n if (code >= 0xd800 && code <= 0xdbff) {\n // High surrogate (could change last hex to 0xDB7F to treat high private surrogates as single\n // characters)\n if (str.length <= i + 1) {\n throw new Error('High surrogate without following low surrogate')\n }\n const next = str.charCodeAt(i + 1)\n if (next < 0xdc00 || next > 0xdfff) {\n throw new Error('High surrogate without following low surrogate')\n }\n return str.charAt(i) + str.charAt(i + 1)\n }\n // Low surrogate (0xDC00 <= code && code <= 0xDFFF)\n if (i === 0) {\n throw new Error('Low surrogate without preceding high surrogate')\n }\n const prev = str.charCodeAt(i - 1)\n if (prev < 0xd800 || prev > 0xdbff) {\n // (could change last hex to 0xDB7F to treat high private surrogates as single characters)\n throw new Error('Low surrogate without preceding high surrogate')\n }\n // We can pass over low surrogates now as the second component in a pair which we have already\n // processed\n return false\n }\n\n if (cl) {\n reg = '^(' + _pregQuote(_getWholeChar(charlist, 0))\n for (i = 1; i < cl; i++) {\n if ((chr = _getWholeChar(charlist, i)) === false) {\n continue\n }\n reg += '|' + _pregQuote(chr)\n }\n reg += ')$'\n reg = new RegExp(reg)\n }\n\n for (i = 0; i < len; i++) {\n if ((c = _getWholeChar(str, i)) === false) {\n continue\n }\n // No hyphen at beginning or end unless allowed in charlist (or locale)\n // No apostrophe at beginning unless allowed in charlist (or locale)\n // @todo: Make this more readable\n match =\n ctypeAlpha(c) ||\n (reg && c.search(reg) !== -1) ||\n (i !== 0 && i !== len - 1 && c === '-') ||\n (i !== 0 && c === \"'\")\n if (match) {\n if (tmpStr === '' && format === 2) {\n aC = i\n }\n tmpStr = tmpStr + c\n }\n if (i === len - 1 || (!match && tmpStr !== '')) {\n if (format !== 2) {\n wArr[wArr.length] = tmpStr\n } else {\n assoc[aC] = tmpStr\n }\n tmpStr = ''\n wC++\n }\n }\n\n if (!format) {\n return wC\n } else if (format === 1) {\n return wArr\n } else if (format === 2) {\n return assoc\n }\n\n throw new Error('You have supplied an incorrect format')\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/strcasecmp.js"],"names":["module","exports","strcasecmp","fString1","fString2","string1","toLowerCase","string2"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,UAAT,CAAqBC,QAArB,EAA+BC,QAA/B,EAAyC;AACxD;AACA;AACA;AACA;AACA;;AAEA,MAAMC,UAAU,CAACF,WAAW,EAAZ,EAAgBG,WAAhB,EAAhB;AACA,MAAMC,UAAU,CAACH,WAAW,EAAZ,EAAgBE,WAAhB,EAAhB;;AAEA,MAAID,UAAUE,OAAd,EAAuB;AACrB,WAAO,CAAP;AACD,GAFD,MAEO,IAAIF,YAAYE,OAAhB,EAAyB;AAC9B,WAAO,CAAP;AACD;;AAED,SAAO,CAAC,CAAR;AACD,CAjBD","file":"strcasecmp.js","sourcesContent":["module.exports = function strcasecmp (fString1, fString2) {\n // discuss at: https://locutus.io/php/strcasecmp/\n // original by: Martijn Wieringa\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // example 1: strcasecmp('Hello', 'hello')\n // returns 1: 0\n\n const string1 = (fString1 + '').toLowerCase()\n const string2 = (fString2 + '').toLowerCase()\n\n if (string1 > string2) {\n return 1\n } else if (string1 === string2) {\n return 0\n }\n\n return -1\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/strcasecmp.js"],"names":["module","exports","strcasecmp","fString1","fString2","string1","toLowerCase","string2"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,UAAT,CAAoBC,QAApB,EAA8BC,QAA9B,EAAwC;AACvD;AACA;AACA;AACA;AACA;;AAEA,MAAMC,UAAU,CAACF,WAAW,EAAZ,EAAgBG,WAAhB,EAAhB;AACA,MAAMC,UAAU,CAACH,WAAW,EAAZ,EAAgBE,WAAhB,EAAhB;;AAEA,MAAID,UAAUE,OAAd,EAAuB;AACrB,WAAO,CAAP;AACD,GAFD,MAEO,IAAIF,YAAYE,OAAhB,EAAyB;AAC9B,WAAO,CAAP;AACD;;AAED,SAAO,CAAC,CAAR;AACD,CAjBD","file":"strcasecmp.js","sourcesContent":["module.exports = function strcasecmp(fString1, fString2) {\n // discuss at: https://locutus.io/php/strcasecmp/\n // original by: Martijn Wieringa\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // example 1: strcasecmp('Hello', 'hello')\n // returns 1: 0\n\n const string1 = (fString1 + '').toLowerCase()\n const string2 = (fString2 + '').toLowerCase()\n\n if (string1 > string2) {\n return 1\n } else if (string1 === string2) {\n return 0\n }\n\n return -1\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/strchr.js"],"names":["module","exports","strchr","haystack","needle","bool","strstr","require"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,MAAT,CAAiBC,QAAjB,EAA2BC,MAA3B,EAAmCC,IAAnC,EAAyC;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,SAASC,QAAQ,mBAAR,CAAf;AACA,SAAOD,OAAOH,QAAP,EAAiBC,MAAjB,EAAyBC,IAAzB,CAAP;AACD,CAVD","file":"strchr.js","sourcesContent":["module.exports = function strchr (haystack, needle, bool) {\n // discuss at: https://locutus.io/php/strchr/\n // original by: Philip Peterson\n // example 1: strchr('Kevin van Zonneveld', 'van')\n // returns 1: 'van Zonneveld'\n // example 2: strchr('Kevin van Zonneveld', 'van', true)\n // returns 2: 'Kevin '\n\n const strstr = require('../strings/strstr')\n return strstr(haystack, needle, bool)\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/strchr.js"],"names":["module","exports","strchr","haystack","needle","bool","strstr","require"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,MAAT,CAAgBC,QAAhB,EAA0BC,MAA1B,EAAkCC,IAAlC,EAAwC;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,SAASC,QAAQ,mBAAR,CAAf;AACA,SAAOD,OAAOH,QAAP,EAAiBC,MAAjB,EAAyBC,IAAzB,CAAP;AACD,CAVD","file":"strchr.js","sourcesContent":["module.exports = function strchr(haystack, needle, bool) {\n // discuss at: https://locutus.io/php/strchr/\n // original by: Philip Peterson\n // example 1: strchr('Kevin van Zonneveld', 'van')\n // returns 1: 'van Zonneveld'\n // example 2: strchr('Kevin van Zonneveld', 'van', true)\n // returns 2: 'Kevin '\n\n const strstr = require('../strings/strstr')\n return strstr(haystack, needle, bool)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/strcmp.js"],"names":["module","exports","strcmp","str1","str2"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,MAAT,CAAiBC,IAAjB,EAAuBC,IAAvB,EAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASD,SAASC,IAAV,GAAkB,CAAlB,GAAwBD,OAAOC,IAAR,GAAgB,CAAhB,GAAoB,CAAC,CAApD;AACD,CAZD","file":"strcmp.js","sourcesContent":["module.exports = function strcmp (str1, str2) {\n // discuss at: https://locutus.io/php/strcmp/\n // original by: Waldo Malqui Silva (https://waldo.malqui.info)\n // input by: Steve Hilder\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // revised by: gorthaur\n // example 1: strcmp( 'waldo', 'owald' )\n // returns 1: 1\n // example 2: strcmp( 'owald', 'waldo' )\n // returns 2: -1\n\n return ((str1 === str2) ? 0 : ((str1 > str2) ? 1 : -1))\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/strcmp.js"],"names":["module","exports","strcmp","str1","str2"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,MAAT,CAAgBC,IAAhB,EAAsBC,IAAtB,EAA4B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAOD,SAASC,IAAT,GAAgB,CAAhB,GAAoBD,OAAOC,IAAP,GAAc,CAAd,GAAkB,CAAC,CAA9C;AACD,CAZD","file":"strcmp.js","sourcesContent":["module.exports = function strcmp(str1, str2) {\n // discuss at: https://locutus.io/php/strcmp/\n // original by: Waldo Malqui Silva (https://waldo.malqui.info)\n // input by: Steve Hilder\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // revised by: gorthaur\n // example 1: strcmp( 'waldo', 'owald' )\n // returns 1: 1\n // example 2: strcmp( 'owald', 'waldo' )\n // returns 2: -1\n\n return str1 === str2 ? 0 : str1 > str2 ? 1 : -1\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/strcoll.js"],"names":["module","exports","strcoll","str1","str2","setlocale","require","$global","window","global","$locutus","php","cmp","locales","localeCategories","LC_COLLATE"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,IAAlB,EAAwBC,IAAxB,EAA8B;AAC7C;AACA;AACA;AACA;AACA;;AAEA,MAAMC,YAAYC,QAAQ,sBAAR,CAAlB;;AAEA,MAAMC,UAAW,OAAOC,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyCC,MAA1D;AACAF,UAAQG,QAAR,GAAmBH,QAAQG,QAAR,IAAoB,EAAvC;AACA,MAAMA,WAAWH,QAAQG,QAAzB;AACAA,WAASC,GAAT,GAAeD,SAASC,GAAT,IAAgB,EAA/B;;AAEAN,YAAU,QAAV,EAAoB,CAApB,EAd6C,CActB;;AAEvB,MAAMO,MAAMF,SAASC,GAAT,CAAaE,OAAb,CAAqBH,SAASC,GAAT,CAAaG,gBAAb,CAA8BC,UAAnD,EAA+DA,UAA3E;;AAEA,SAAOH,IAAIT,IAAJ,EAAUC,IAAV,CAAP;AACD,CAnBD","file":"strcoll.js","sourcesContent":["module.exports = function strcoll (str1, str2) {\n // discuss at: https://locutus.io/php/strcoll/\n // original by: Brett Zamir (https://brett-zamir.me)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // example 1: strcoll('a', 'b')\n // returns 1: -1\n\n const setlocale = require('../strings/setlocale')\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 setlocale('LC_ALL', 0) // ensure setup of localization variables takes place\n\n const cmp = $locutus.php.locales[$locutus.php.localeCategories.LC_COLLATE].LC_COLLATE\n\n return cmp(str1, str2)\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/strcoll.js"],"names":["module","exports","strcoll","str1","str2","setlocale","require","$global","window","global","$locutus","php","cmp","locales","localeCategories","LC_COLLATE"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAiBC,IAAjB,EAAuBC,IAAvB,EAA6B;AAC5C;AACA;AACA;AACA;AACA;;AAEA,MAAMC,YAAYC,QAAQ,sBAAR,CAAlB;;AAEA,MAAMC,UAAU,OAAOC,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyCC,MAAzD;AACAF,UAAQG,QAAR,GAAmBH,QAAQG,QAAR,IAAoB,EAAvC;AACA,MAAMA,WAAWH,QAAQG,QAAzB;AACAA,WAASC,GAAT,GAAeD,SAASC,GAAT,IAAgB,EAA/B;;AAEAN,YAAU,QAAV,EAAoB,CAApB,EAd4C,CAcrB;;AAEvB,MAAMO,MAAMF,SAASC,GAAT,CAAaE,OAAb,CAAqBH,SAASC,GAAT,CAAaG,gBAAb,CAA8BC,UAAnD,EAA+DA,UAA3E;;AAEA,SAAOH,IAAIT,IAAJ,EAAUC,IAAV,CAAP;AACD,CAnBD","file":"strcoll.js","sourcesContent":["module.exports = function strcoll(str1, str2) {\n // discuss at: https://locutus.io/php/strcoll/\n // original by: Brett Zamir (https://brett-zamir.me)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // example 1: strcoll('a', 'b')\n // returns 1: -1\n\n const setlocale = require('../strings/setlocale')\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 setlocale('LC_ALL', 0) // ensure setup of localization variables takes place\n\n const cmp = $locutus.php.locales[$locutus.php.localeCategories.LC_COLLATE].LC_COLLATE\n\n return cmp(str1, str2)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/php/strings/strcspn.js"],"names":["module","exports","strcspn","str","mask","start","length","e","Math","min","i","lgth","indexOf","charAt"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,GAAlB,EAAuBC,IAAvB,EAA6BC,KAA7B,EAAoCC,MAApC,EAA4C;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEAD,UAAQA,SAAS,CAAjB;AACAC,WAAS,OAAOA,MAAP,KAAkB,WAAlB,GAAgCH,IAAIG,MAApC,GAA8CA,UAAU,CAAjE;AACA,MAAID,QAAQ,CAAZ,EAAeA,QAAQF,IAAIG,MAAJ,GAAaD,KAArB;AACf,MAAIC,SAAS,CAAb,EAAgBA,SAASH,IAAIG,MAAJ,GAAaD,KAAb,GAAqBC,MAA9B;AAChB,MAAID,QAAQ,CAAR,IAAaA,SAASF,IAAIG,MAA1B,IAAoCA,UAAU,CAA9C,IAAmDC,KAAKJ,IAAIG,MAAhE,EAAwE,OAAO,CAAP;AACxE,MAAIC,IAAIC,KAAKC,GAAL,CAASN,IAAIG,MAAb,EAAqBD,QAAQC,MAA7B,CAAR;AACA,OAAK,IAAII,IAAIL,KAAR,EAAeM,OAAO,CAA3B,EAA8BD,IAAIH,CAAlC,EAAqCG,GAArC,EAA0C;AACxC,QAAIN,KAAKQ,OAAL,CAAaT,IAAIU,MAAJ,CAAWH,CAAX,CAAb,MAAgC,CAAC,CAArC,EAAwC;AACtC;AACD;AACD,MAAEC,IAAF;AACD;AACD,SAAOA,IAAP;AACD,CA1BD","file":"strcspn.js","sourcesContent":["module.exports = function strcspn (str, mask, start, length) {\n // discuss at: https://locutus.io/php/strcspn/\n // original by: Brett Zamir (https://brett-zamir.me)\n // revised by: Theriault\n // example 1: strcspn('abcdefg123', '1234567890')\n // returns 1: 7\n // example 2: strcspn('123abc', '1234567890')\n // returns 2: 0\n // example 3: strcspn('abcdefg123', '1234567890', 1)\n // returns 3: 6\n // example 4: strcspn('abcdefg123', '1234567890', -6, -5)\n // returns 4: 1\n\n start = start || 0\n length = typeof length === 'undefined' ? str.length : (length || 0)\n if (start < 0) start = str.length + start\n if (length < 0) length = str.length - start + length\n if (start < 0 || start >= str.length || length <= 0 || e >= str.length) return 0\n var e = Math.min(str.length, start + length)\n for (var i = start, lgth = 0; i < e; i++) {\n if (mask.indexOf(str.charAt(i)) !== -1) {\n break\n }\n ++lgth\n }\n return lgth\n}\n"]}
1
+ {"version":3,"sources":["../../../src/php/strings/strcspn.js"],"names":["module","exports","strcspn","str","mask","start","length","e","Math","min","i","lgth","indexOf","charAt"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAiBC,GAAjB,EAAsBC,IAAtB,EAA4BC,KAA5B,EAAmCC,MAAnC,EAA2C;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEAD,UAAQA,SAAS,CAAjB;AACAC,WAAS,OAAOA,MAAP,KAAkB,WAAlB,GAAgCH,IAAIG,MAApC,GAA6CA,UAAU,CAAhE;AACA,MAAID,QAAQ,CAAZ,EAAeA,QAAQF,IAAIG,MAAJ,GAAaD,KAArB;AACf,MAAIC,SAAS,CAAb,EAAgBA,SAASH,IAAIG,MAAJ,GAAaD,KAAb,GAAqBC,MAA9B;AAChB,MAAID,QAAQ,CAAR,IAAaA,SAASF,IAAIG,MAA1B,IAAoCA,UAAU,CAA9C,IAAmDC,KAAKJ,IAAIG,MAAhE,EAAwE,OAAO,CAAP;AACxE,MAAIC,IAAIC,KAAKC,GAAL,CAASN,IAAIG,MAAb,EAAqBD,QAAQC,MAA7B,CAAR;AACA,OAAK,IAAII,IAAIL,KAAR,EAAeM,OAAO,CAA3B,EAA8BD,IAAIH,CAAlC,EAAqCG,GAArC,EAA0C;AACxC,QAAIN,KAAKQ,OAAL,CAAaT,IAAIU,MAAJ,CAAWH,CAAX,CAAb,MAAgC,CAAC,CAArC,EAAwC;AACtC;AACD;AACD,MAAEC,IAAF;AACD;AACD,SAAOA,IAAP;AACD,CA1BD","file":"strcspn.js","sourcesContent":["module.exports = function strcspn(str, mask, start, length) {\n // discuss at: https://locutus.io/php/strcspn/\n // original by: Brett Zamir (https://brett-zamir.me)\n // revised by: Theriault\n // example 1: strcspn('abcdefg123', '1234567890')\n // returns 1: 7\n // example 2: strcspn('123abc', '1234567890')\n // returns 2: 0\n // example 3: strcspn('abcdefg123', '1234567890', 1)\n // returns 3: 6\n // example 4: strcspn('abcdefg123', '1234567890', -6, -5)\n // returns 4: 1\n\n start = start || 0\n length = typeof length === 'undefined' ? str.length : length || 0\n if (start < 0) start = str.length + start\n if (length < 0) length = str.length - start + length\n if (start < 0 || start >= str.length || length <= 0 || e >= str.length) return 0\n var e = Math.min(str.length, start + length)\n for (var i = start, lgth = 0; i < e; i++) {\n if (mask.indexOf(str.charAt(i)) !== -1) {\n break\n }\n ++lgth\n }\n return lgth\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
3
  module.exports = function strip_tags(input, allowed) {
4
- // eslint-disable-line camelcase
5
4
  // discuss at: https://locutus.io/php/strip_tags/
6
5
  // original by: Kevin van Zonneveld (https://kvz.io)
7
6
  // improved by: Luke Godfrey