locutus 2.0.12 → 2.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_util/cli.js.map +1 -1
- package/_util/util.js +11 -16
- package/_util/util.js.map +1 -1
- package/c/index.js +2 -2
- package/c/index.js.map +1 -1
- package/c/math/index.js +2 -2
- package/c/math/index.js.map +1 -1
- package/c/stdio/index.js +1 -1
- package/c/stdio/index.js.map +1 -1
- package/c/stdio/sprintf.js +8 -1
- package/c/stdio/sprintf.js.map +1 -1
- package/golang/index.js +1 -1
- package/golang/index.js.map +1 -1
- package/golang/strings/Count.js +1 -1
- package/golang/strings/Count.js.map +1 -1
- package/golang/strings/index.js +4 -4
- package/golang/strings/index.js.map +1 -1
- package/index.js +5 -5
- package/index.js.map +1 -1
- package/package.json +39 -40
- package/php/_helpers/_bc.js +104 -48
- package/php/_helpers/_bc.js.map +1 -1
- package/php/_helpers/_phpCastString.js.map +1 -1
- package/php/_helpers/_php_cast_float.js.map +1 -1
- package/php/_helpers/_php_cast_int.js.map +1 -1
- package/php/_helpers/index.js +4 -4
- package/php/_helpers/index.js.map +1 -1
- package/php/array/array_change_key_case.js +2 -2
- package/php/array/array_change_key_case.js.map +1 -1
- package/php/array/array_chunk.js +1 -1
- package/php/array/array_chunk.js.map +1 -1
- package/php/array/array_column.js.map +1 -1
- package/php/array/array_combine.js.map +1 -1
- package/php/array/array_count_values.js.map +1 -1
- package/php/array/array_diff.js.map +1 -1
- package/php/array/array_diff_assoc.js.map +1 -1
- package/php/array/array_diff_key.js.map +1 -1
- package/php/array/array_diff_uassoc.js.map +1 -1
- package/php/array/array_diff_ukey.js.map +1 -1
- package/php/array/array_fill.js +1 -1
- package/php/array/array_fill.js.map +1 -1
- package/php/array/array_fill_keys.js.map +1 -1
- package/php/array/array_filter.js +1 -1
- package/php/array/array_filter.js.map +1 -1
- package/php/array/array_flip.js +1 -1
- package/php/array/array_flip.js.map +1 -1
- package/php/array/array_intersect.js.map +1 -1
- package/php/array/array_intersect_assoc.js.map +1 -1
- package/php/array/array_intersect_key.js.map +1 -1
- package/php/array/array_intersect_uassoc.js.map +1 -1
- package/php/array/array_intersect_ukey.js.map +1 -1
- package/php/array/array_keys.js.map +1 -1
- package/php/array/array_map.js.map +1 -1
- package/php/array/array_merge.js +1 -1
- package/php/array/array_merge.js.map +1 -1
- package/php/array/array_merge_recursive.js.map +1 -1
- package/php/array/array_multisort.js +16 -16
- package/php/array/array_multisort.js.map +1 -1
- package/php/array/array_pad.js +1 -1
- package/php/array/array_pad.js.map +1 -1
- package/php/array/array_pop.js.map +1 -1
- package/php/array/array_product.js.map +1 -1
- package/php/array/array_push.js.map +1 -1
- package/php/array/array_rand.js.map +1 -1
- package/php/array/array_reduce.js.map +1 -1
- package/php/array/array_replace.js.map +1 -1
- package/php/array/array_replace_recursive.js +1 -1
- package/php/array/array_replace_recursive.js.map +1 -1
- package/php/array/array_reverse.js +1 -1
- package/php/array/array_reverse.js.map +1 -1
- package/php/array/array_search.js.map +1 -1
- package/php/array/array_shift.js +0 -19
- package/php/array/array_shift.js.map +1 -1
- package/php/array/array_slice.js.map +1 -1
- package/php/array/array_splice.js.map +1 -1
- package/php/array/array_sum.js +1 -1
- package/php/array/array_sum.js.map +1 -1
- package/php/array/array_udiff.js.map +1 -1
- package/php/array/array_udiff_assoc.js.map +1 -1
- package/php/array/array_udiff_uassoc.js.map +1 -1
- package/php/array/array_uintersect.js.map +1 -1
- package/php/array/array_uintersect_uassoc.js.map +1 -1
- package/php/array/array_unique.js.map +1 -1
- package/php/array/array_unshift.js.map +1 -1
- package/php/array/array_values.js.map +1 -1
- package/php/array/array_walk.js.map +1 -1
- package/php/array/array_walk_recursive.js.map +1 -1
- package/php/array/arsort.js +3 -3
- package/php/array/arsort.js.map +1 -1
- package/php/array/asort.js +3 -3
- package/php/array/asort.js.map +1 -1
- package/php/array/count.js +1 -1
- package/php/array/count.js.map +1 -1
- package/php/array/current.js.map +1 -1
- package/php/array/each.js.map +1 -1
- package/php/array/end.js +1 -1
- package/php/array/end.js.map +1 -1
- package/php/array/in_array.js.map +1 -1
- package/php/array/index.js +73 -72
- package/php/array/index.js.map +1 -1
- package/php/array/key.js.map +1 -1
- package/php/array/krsort.js +3 -3
- package/php/array/krsort.js.map +1 -1
- package/php/array/ksort.js +3 -3
- package/php/array/ksort.js.map +1 -1
- package/php/array/natcasesort.js +2 -2
- package/php/array/natcasesort.js.map +1 -1
- package/php/array/natsort.js +2 -2
- package/php/array/natsort.js.map +1 -1
- package/php/array/next.js.map +1 -1
- package/php/array/pos.js.map +1 -1
- package/php/array/prev.js.map +1 -1
- package/php/array/range.js +3 -3
- package/php/array/range.js.map +1 -1
- package/php/array/reset.js.map +1 -1
- package/php/array/rsort.js +3 -3
- package/php/array/rsort.js.map +1 -1
- package/php/array/shuffle.js.map +1 -1
- package/php/array/sizeof.js.map +1 -1
- package/php/array/sort.js +3 -3
- package/php/array/sort.js.map +1 -1
- package/php/array/uasort.js.map +1 -1
- package/php/array/uksort.js.map +1 -1
- package/php/array/usort.js.map +1 -1
- package/php/bc/bcadd.js +3 -1
- package/php/bc/bcadd.js.map +1 -1
- package/php/bc/bccomp.js +2 -1
- package/php/bc/bccomp.js.map +1 -1
- package/php/bc/bcdiv.js +3 -1
- package/php/bc/bcdiv.js.map +1 -1
- package/php/bc/bcmul.js +3 -1
- package/php/bc/bcmul.js.map +1 -1
- package/php/bc/bcround.js +4 -2
- package/php/bc/bcround.js.map +1 -1
- package/php/bc/bcscale.js.map +1 -1
- package/php/bc/bcsub.js +3 -1
- package/php/bc/bcsub.js.map +1 -1
- package/php/bc/index.js +7 -7
- package/php/bc/index.js.map +1 -1
- package/php/ctype/ctype_alnum.js.map +1 -1
- package/php/ctype/ctype_alpha.js.map +1 -1
- package/php/ctype/ctype_cntrl.js.map +1 -1
- package/php/ctype/ctype_digit.js.map +1 -1
- package/php/ctype/ctype_graph.js.map +1 -1
- package/php/ctype/ctype_lower.js.map +1 -1
- package/php/ctype/ctype_print.js.map +1 -1
- package/php/ctype/ctype_punct.js.map +1 -1
- package/php/ctype/ctype_space.js.map +1 -1
- package/php/ctype/ctype_upper.js.map +1 -1
- package/php/ctype/ctype_xdigit.js.map +1 -1
- package/php/ctype/index.js +11 -11
- package/php/ctype/index.js.map +1 -1
- package/php/datetime/date.js +2 -1
- package/php/datetime/date.js.map +1 -1
- package/php/datetime/date_parse.js +1 -1
- package/php/datetime/date_parse.js.map +1 -1
- package/php/datetime/getdate.js.map +1 -1
- package/php/datetime/gettimeofday.js.map +1 -1
- package/php/datetime/gmdate.js.map +1 -1
- package/php/datetime/gmmktime.js.map +1 -1
- package/php/datetime/gmstrftime.js.map +1 -1
- package/php/datetime/idate.js +1 -1
- package/php/datetime/idate.js.map +1 -1
- package/php/datetime/index.js +15 -15
- package/php/datetime/index.js.map +1 -1
- package/php/datetime/microtime.js +3 -3
- package/php/datetime/microtime.js.map +1 -1
- package/php/datetime/mktime.js.map +1 -1
- package/php/datetime/strftime.js +2 -3
- package/php/datetime/strftime.js.map +1 -1
- package/php/datetime/strptime.js +20 -21
- package/php/datetime/strptime.js.map +1 -1
- package/php/datetime/strtotime.js +170 -4
- package/php/datetime/strtotime.js.map +1 -1
- package/php/exec/escapeshellarg.js +12 -4
- package/php/exec/escapeshellarg.js.map +1 -1
- package/php/exec/index.js +1 -1
- package/php/exec/index.js.map +1 -1
- package/php/filesystem/basename.js.map +1 -1
- package/php/filesystem/file_get_contents.js.map +1 -1
- package/php/filesystem/index.js +5 -5
- package/php/filesystem/index.js.map +1 -1
- package/php/filesystem/pathinfo.js +7 -8
- package/php/filesystem/pathinfo.js.map +1 -1
- package/php/filesystem/realpath.js.map +1 -1
- package/php/funchand/call_user_func.js.map +1 -1
- package/php/funchand/call_user_func_array.js +1 -1
- package/php/funchand/call_user_func_array.js.map +1 -1
- package/php/funchand/function_exists.js.map +1 -1
- package/php/funchand/get_defined_functions.js.map +1 -1
- package/php/funchand/index.js +5 -5
- package/php/funchand/index.js.map +1 -1
- package/php/i18n/i18n_loc_get_default.js.map +1 -1
- package/php/i18n/i18n_loc_set_default.js.map +1 -1
- package/php/i18n/index.js +2 -2
- package/php/i18n/index.js.map +1 -1
- package/php/index.js +19 -19
- package/php/index.js.map +1 -1
- package/php/info/assert_options.js +2 -1
- package/php/info/assert_options.js.map +1 -1
- package/php/info/index.js +6 -6
- package/php/info/index.js.map +1 -1
- package/php/info/ini_get.js.map +1 -1
- package/php/info/ini_set.js.map +1 -1
- package/php/info/set_time_limit.js.map +1 -1
- package/php/info/version_compare.js +21 -22
- package/php/info/version_compare.js.map +1 -1
- package/php/json/index.js +3 -3
- package/php/json/index.js.map +1 -1
- package/php/json/json_decode.js +1 -1
- package/php/json/json_decode.js.map +1 -1
- package/php/json/json_encode.js +1 -1
- package/php/json/json_encode.js.map +1 -1
- package/php/json/json_last_error.js.map +1 -1
- package/php/math/fmod.js +2 -2
- package/php/math/fmod.js.map +1 -1
- package/php/math/hypot.js.map +1 -1
- package/php/math/index.js +46 -46
- package/php/math/index.js.map +1 -1
- package/php/math/is_finite.js.map +1 -1
- package/php/math/is_infinite.js.map +1 -1
- package/php/math/is_nan.js.map +1 -1
- package/php/math/log1p.js.map +1 -1
- package/php/math/max.js +7 -7
- package/php/math/max.js.map +1 -1
- package/php/math/min.js +5 -5
- package/php/math/min.js.map +1 -1
- package/php/math/mt_rand.js.map +1 -1
- package/php/math/rand.js.map +1 -1
- package/php/math/round.js +1 -1
- package/php/math/round.js.map +1 -1
- package/php/misc/index.js +2 -2
- package/php/misc/index.js.map +1 -1
- package/php/misc/pack.js +23 -18
- package/php/misc/pack.js.map +1 -1
- package/php/misc/uniqid.js +1 -1
- package/php/misc/uniqid.js.map +1 -1
- package/php/net-gopher/gopher_parsedir.js +3 -4
- package/php/net-gopher/gopher_parsedir.js.map +1 -1
- package/php/net-gopher/index.js +1 -1
- package/php/net-gopher/index.js.map +1 -1
- package/php/network/index.js +6 -6
- package/php/network/index.js.map +1 -1
- package/php/network/inet_ntop.js.map +1 -1
- package/php/network/inet_pton.js +40 -32
- package/php/network/inet_pton.js.map +1 -1
- package/php/network/setcookie.js.map +1 -1
- package/php/network/setrawcookie.js.map +1 -1
- package/php/pcre/index.js +4 -3
- package/php/pcre/index.js.map +1 -1
- package/php/pcre/preg_replace.js +24 -0
- package/php/pcre/preg_replace.js.map +1 -0
- package/php/pcre/sql_regcase.js.map +1 -1
- package/php/strings/addcslashes.js.map +1 -1
- package/php/strings/bin2hex.js +3 -3
- package/php/strings/bin2hex.js.map +1 -1
- package/php/strings/chop.js.map +1 -1
- package/php/strings/convert_cyr_string.js +1 -1
- package/php/strings/convert_cyr_string.js.map +1 -1
- package/php/strings/convert_uuencode.js.map +1 -1
- package/php/strings/count_chars.js +1 -1
- package/php/strings/count_chars.js.map +1 -1
- package/php/strings/crc32.js.map +1 -1
- package/php/strings/echo.js.map +1 -1
- package/php/strings/explode.js.map +1 -1
- package/php/strings/get_html_translation_table.js +1 -1
- package/php/strings/get_html_translation_table.js.map +1 -1
- package/php/strings/hex2bin.js +1 -1
- package/php/strings/hex2bin.js.map +1 -1
- package/php/strings/html_entity_decode.js.map +1 -1
- package/php/strings/htmlentities.js.map +1 -1
- package/php/strings/htmlspecialchars.js +6 -6
- package/php/strings/htmlspecialchars.js.map +1 -1
- package/php/strings/htmlspecialchars_decode.js +6 -6
- package/php/strings/htmlspecialchars_decode.js.map +1 -1
- package/php/strings/implode.js.map +1 -1
- package/php/strings/index.js +91 -91
- package/php/strings/index.js.map +1 -1
- package/php/strings/join.js.map +1 -1
- package/php/strings/lcfirst.js.map +1 -1
- package/php/strings/levenshtein.js +6 -1
- package/php/strings/levenshtein.js.map +1 -1
- package/php/strings/localeconv.js.map +1 -1
- package/php/strings/ltrim.js.map +1 -1
- package/php/strings/md5.js +19 -15
- package/php/strings/md5.js.map +1 -1
- package/php/strings/md5_file.js.map +1 -1
- package/php/strings/metaphone.js +2 -2
- package/php/strings/metaphone.js.map +1 -1
- package/php/strings/money_format.js.map +1 -1
- package/php/strings/nl2br.js.map +1 -1
- package/php/strings/nl_langinfo.js.map +1 -1
- package/php/strings/number_format.js.map +1 -1
- package/php/strings/ord.js.map +1 -1
- package/php/strings/parse_str.js +13 -13
- package/php/strings/parse_str.js.map +1 -1
- package/php/strings/printf.js.map +1 -1
- package/php/strings/quoted_printable_decode.js.map +1 -1
- package/php/strings/quoted_printable_encode.js.map +1 -1
- package/php/strings/rtrim.js.map +1 -1
- package/php/strings/setlocale.js +18 -19
- package/php/strings/setlocale.js.map +1 -1
- package/php/strings/sha1.js +12 -7
- package/php/strings/sha1.js.map +1 -1
- package/php/strings/sha1_file.js.map +1 -1
- package/php/strings/similar_text.js +4 -4
- package/php/strings/similar_text.js.map +1 -1
- package/php/strings/soundex.js +3 -3
- package/php/strings/soundex.js.map +1 -1
- package/php/strings/split.js.map +1 -1
- package/php/strings/sprintf.js +7 -2
- package/php/strings/sprintf.js.map +1 -1
- package/php/strings/sscanf.js +2 -2
- package/php/strings/sscanf.js.map +1 -1
- package/php/strings/str_getcsv.js +2 -2
- package/php/strings/str_getcsv.js.map +1 -1
- package/php/strings/str_ireplace.js +6 -0
- package/php/strings/str_ireplace.js.map +1 -1
- package/php/strings/str_pad.js +1 -1
- package/php/strings/str_pad.js.map +1 -1
- package/php/strings/str_repeat.js.map +1 -1
- package/php/strings/str_replace.js +6 -0
- package/php/strings/str_replace.js.map +1 -1
- package/php/strings/str_shuffle.js +1 -1
- package/php/strings/str_shuffle.js.map +1 -1
- package/php/strings/str_split.js.map +1 -1
- package/php/strings/str_word_count.js.map +1 -1
- package/php/strings/strcasecmp.js.map +1 -1
- package/php/strings/strchr.js.map +1 -1
- package/php/strings/strcoll.js.map +1 -1
- package/php/strings/strip_tags.js.map +1 -1
- package/php/strings/stripos.js.map +1 -1
- package/php/strings/stristr.js.map +1 -1
- package/php/strings/strlen.js.map +1 -1
- package/php/strings/strnatcasecmp.js.map +1 -1
- package/php/strings/strnatcmp.js.map +1 -1
- package/php/strings/strncasecmp.js +1 -1
- package/php/strings/strncasecmp.js.map +1 -1
- package/php/strings/strncmp.js.map +1 -1
- package/php/strings/strpbrk.js.map +1 -1
- package/php/strings/strpos.js.map +1 -1
- package/php/strings/strrchr.js.map +1 -1
- package/php/strings/strrev.js.map +1 -1
- package/php/strings/strripos.js.map +1 -1
- package/php/strings/strrpos.js.map +1 -1
- package/php/strings/strspn.js +3 -3
- package/php/strings/strspn.js.map +1 -1
- package/php/strings/strstr.js.map +1 -1
- package/php/strings/strtok.js.map +1 -1
- package/php/strings/strtr.js.map +1 -1
- package/php/strings/substr.js.map +1 -1
- package/php/strings/substr_count.js.map +1 -1
- package/php/strings/trim.js.map +1 -1
- package/php/strings/ucfirst.js.map +1 -1
- package/php/strings/vprintf.js.map +1 -1
- package/php/strings/vsprintf.js.map +1 -1
- package/php/strings/wordwrap.js +4 -2
- package/php/strings/wordwrap.js.map +1 -1
- package/php/url/base64_decode.js +8 -8
- package/php/url/base64_decode.js.map +1 -1
- package/php/url/base64_encode.js +8 -8
- package/php/url/base64_encode.js.map +1 -1
- package/php/url/http_build_query.js +4 -4
- package/php/url/http_build_query.js.map +1 -1
- package/php/url/index.js +8 -8
- package/php/url/index.js.map +1 -1
- package/php/url/parse_url.js +1 -1
- package/php/url/parse_url.js.map +1 -1
- package/php/var/doubleval.js.map +1 -1
- package/php/var/empty.js +4 -4
- package/php/var/empty.js.map +1 -1
- package/php/var/gettype.js +1 -1
- package/php/var/gettype.js.map +1 -1
- package/php/var/index.js +30 -30
- package/php/var/index.js.map +1 -1
- package/php/var/intval.js +2 -1
- package/php/var/intval.js.map +1 -1
- package/php/var/is_array.js.map +1 -1
- package/php/var/is_callable.js.map +1 -1
- package/php/var/is_double.js.map +1 -1
- package/php/var/is_integer.js.map +1 -1
- package/php/var/is_long.js.map +1 -1
- package/php/var/is_numeric.js.map +1 -1
- package/php/var/is_real.js.map +1 -1
- package/php/var/is_unicode.js.map +1 -1
- package/php/var/isset.js +1 -1
- package/php/var/isset.js.map +1 -1
- package/php/var/print_r.js.map +1 -1
- package/php/var/serialize.js +7 -5
- package/php/var/serialize.js.map +1 -1
- package/php/var/strval.js.map +1 -1
- package/php/var/unserialize.js +422 -236
- package/php/var/unserialize.js.map +1 -1
- package/php/var/var_dump.js +3 -3
- package/php/var/var_dump.js.map +1 -1
- package/php/var/var_export.js +5 -5
- package/php/var/var_export.js.map +1 -1
- package/php/xdiff/index.js +2 -2
- package/php/xdiff/index.js.map +1 -1
- package/php/xdiff/xdiff_string_diff.js +30 -30
- package/php/xdiff/xdiff_string_diff.js.map +1 -1
- package/php/xdiff/xdiff_string_patch.js +7 -8
- package/php/xdiff/xdiff_string_patch.js.map +1 -1
- package/php/xml/index.js +2 -2
- package/php/xml/index.js.map +1 -1
- package/php/xml/utf8_decode.js.map +1 -1
- package/php/xml/utf8_encode.js +2 -2
- package/php/xml/utf8_encode.js.map +1 -1
- package/python/index.js +1 -1
- package/python/index.js.map +1 -1
- package/python/string/capwords.js.map +1 -1
- package/python/string/index.js +4 -4
- package/python/string/index.js.map +1 -1
- package/python/string/punctuation.js +10 -0
- package/python/string/punctuation.js.map +1 -0
- package/ruby/Math/index.js +1 -1
- package/ruby/Math/index.js.map +1 -1
- package/ruby/index.js +1 -1
- package/ruby/index.js.map +1 -1
|
@@ -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","RegExp","preConvs","tmpDigit","msg","parseInt","sizeCode","lastIndex","pattern","num","sign","hex","oct","dec","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 var retArr = []\n var _NWS = /\\S/\n var args = arguments\n var digit\n\n var _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 var 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 var 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 var _addNext = function (j, regex, cb) {\n if (assign) {\n var remaining = str.slice(j)\n var check = width ? remaining.substr(0, width) : remaining\n var match = regex.exec(check)\n // @todo: Make this more readable\n var key = digit !== undefined\n ? digit\n : retArr.length\n var 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 (var 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 var prePattern = new RegExp('^(?:(\\\\d+)\\\\$)?(\\\\*)?(\\\\d*)([hlL]?)', 'g')\n\n var preConvs = prePattern.exec(format.slice(i + 1))\n\n var tmpDigit = digit\n if (tmpDigit && preConvs[1] === undefined) {\n var 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 var 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 var 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 var 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\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"]}
|
|
@@ -22,8 +22,8 @@ module.exports = function str_getcsv(input, delimiter, enclosure, escape) {
|
|
|
22
22
|
Should also test newlines within
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
|
-
var i;
|
|
26
|
-
var inpLen;
|
|
25
|
+
var i = void 0;
|
|
26
|
+
var inpLen = void 0;
|
|
27
27
|
var output = [];
|
|
28
28
|
var _backwards = function _backwards(str) {
|
|
29
29
|
// We need to go backwards to simulate negative look-behind (don't split on
|
|
@@ -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,
|
|
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"]}
|
|
@@ -6,6 +6,7 @@ module.exports = function str_ireplace(search, replace, subject, countObj) {
|
|
|
6
6
|
// eslint-disable-line camelcase
|
|
7
7
|
// discuss at: https://locutus.io/php/str_ireplace/
|
|
8
8
|
// original by: Glen Arason (https://CanadianDomainRegistry.ca)
|
|
9
|
+
// bugfixed by: Mahmoud Saeed
|
|
9
10
|
// note 1: Case-insensitive version of str_replace()
|
|
10
11
|
// note 1: Compliant with PHP 5.0 str_ireplace() Full details at:
|
|
11
12
|
// note 1: https://ca3.php.net/manual/en/function.str-ireplace.php
|
|
@@ -17,6 +18,8 @@ module.exports = function str_ireplace(search, replace, subject, countObj) {
|
|
|
17
18
|
// example 2: str_ireplace('M', 'e', 'name', $countObj)
|
|
18
19
|
// example 2: var $result = $countObj.value
|
|
19
20
|
// returns 2: 1
|
|
21
|
+
// example 3: str_ireplace('', '.', 'aaa')
|
|
22
|
+
// returns 3: 'aaa'
|
|
20
23
|
|
|
21
24
|
var i = 0;
|
|
22
25
|
var j = 0;
|
|
@@ -81,6 +84,9 @@ module.exports = function str_ireplace(search, replace, subject, countObj) {
|
|
|
81
84
|
continue;
|
|
82
85
|
}
|
|
83
86
|
for (j = 0, fl = f.length; j < fl; j++) {
|
|
87
|
+
if (f[j] === '') {
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
84
90
|
temp = s[i] + '';
|
|
85
91
|
repl = ra ? r[j] !== undefined ? r[j] : '' : r[0];
|
|
86
92
|
s[i] = temp.split(f[j]).join(repl);
|
|
@@ -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":";;;;AAAAA,OAAOC,OAAP,GAAiB,SAASC,YAAT,CAAuBC,MAAvB,EAA+BC,OAA/B,EAAwCC,OAAxC,EAAiDC,QAAjD,EAA2D;AAAE;AAC5E;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,MAAIC,IAAI,EAAR;AACA,MAAIC,IAAI,EAAR;AACA,MAAIC,IAAI,EAAR;AACA,MAAIC,KAAK,EAAT;AACA,MAAIC,QAAQ,EAAZ;AACA,MAAIC,KAAK,EAAT;AACA,MAAIC,OAAO,EAAX;AACA,MAAIC,KAAKf,OAAT;AACA,
|
|
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"]}
|
package/php/strings/str_pad.js
CHANGED
|
@@ -13,7 +13,7 @@ module.exports = function str_pad(input, padLength, padString, padType) {
|
|
|
13
13
|
// returns 2: '------Kevin van Zonneveld-----'
|
|
14
14
|
|
|
15
15
|
var half = '';
|
|
16
|
-
var padToGo;
|
|
16
|
+
var padToGo = void 0;
|
|
17
17
|
|
|
18
18
|
var _strPadRepeater = function _strPadRepeater(s, len) {
|
|
19
19
|
var collect = '';
|
|
@@ -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,
|
|
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 +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
|
|
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"]}
|
|
@@ -18,6 +18,7 @@ module.exports = function str_replace(search, replace, subject, countObj) {
|
|
|
18
18
|
// bugfixed by: Oleg Eremeev
|
|
19
19
|
// bugfixed by: Glen Arason (https://CanadianDomainRegistry.ca)
|
|
20
20
|
// bugfixed by: Glen Arason (https://CanadianDomainRegistry.ca)
|
|
21
|
+
// bugfixed by: Mahmoud Saeed
|
|
21
22
|
// input by: Onno Marsman (https://twitter.com/onnomarsman)
|
|
22
23
|
// input by: Brett Zamir (https://brett-zamir.me)
|
|
23
24
|
// input by: Oleg Eremeev
|
|
@@ -33,6 +34,8 @@ module.exports = function str_replace(search, replace, subject, countObj) {
|
|
|
33
34
|
// example 4: str_replace(['A','D'], ['x','y'] , 'ASDFASDF' , countObj)
|
|
34
35
|
// example 4: var $result = countObj.value
|
|
35
36
|
// returns 4: 4
|
|
37
|
+
// example 5: str_replace('', '.', 'aaa')
|
|
38
|
+
// returns 5: 'aaa'
|
|
36
39
|
|
|
37
40
|
var i = 0;
|
|
38
41
|
var j = 0;
|
|
@@ -72,6 +75,9 @@ module.exports = function str_replace(search, replace, subject, countObj) {
|
|
|
72
75
|
continue;
|
|
73
76
|
}
|
|
74
77
|
for (j = 0, fl = f.length; j < fl; j++) {
|
|
78
|
+
if (f[j] === '') {
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
75
81
|
temp = s[i] + '';
|
|
76
82
|
repl = ra ? r[j] !== undefined ? r[j] : '' : r[0];
|
|
77
83
|
s[i] = temp.split(f[j]).join(repl);
|
|
@@ -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":";;;;AAAAA,OAAOC,OAAP,GAAiB,SAASC,WAAT,CAAsBC,MAAtB,EAA8BC,OAA9B,EAAuCC,OAAvC,EAAgDC,QAAhD,EAA0D;AAAE;AAC3E;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,
|
|
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 +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,
|
|
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 +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,
|
|
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 +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":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,cAAT,CAAyBC,GAAzB,EAA8BC,MAA9B,EAAsCC,QAAtC,EAAgD;AAAE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,
|
|
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 +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,
|
|
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 +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,
|
|
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 +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,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/strings/strip_tags.js"],"names":["module","exports","strip_tags","input","allowed","_phpCastString","require","toLowerCase","match","join","tags","commentsAndPhpTags","after","substring","length","before","replace","$0","$1","indexOf"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,UAAT,CAAqBC,KAArB,EAA4BC,OAA5B,EAAqC;AAAE;AACtD;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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/strings/strip_tags.js"],"names":["module","exports","strip_tags","input","allowed","_phpCastString","require","toLowerCase","match","join","tags","commentsAndPhpTags","after","substring","length","before","replace","$0","$1","indexOf"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,UAAT,CAAqBC,KAArB,EAA4BC,OAA5B,EAAqC;AAAE;AACtD;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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,iBAAiBC,QAAQ,4BAAR,CAAvB;;AAEA;AACAF,YAAU,CAAC,CAAC,CAACA,WAAW,EAAZ,IAAkB,EAAnB,EAAuBG,WAAvB,GAAqCC,KAArC,CAA2C,mBAA3C,KAAmE,EAApE,EAAwEC,IAAxE,CAA6E,EAA7E,CAAV;;AAEA,MAAMC,OAAO,4BAAb;AACA,MAAMC,qBAAqB,0CAA3B;;AAEA,MAAIC,QAAQP,eAAeF,KAAf,CAAZ;AACA;AACAS,UAASA,MAAMC,SAAN,CAAgBD,MAAME,MAAN,GAAe,CAA/B,MAAsC,GAAvC,GAA8CF,MAAMC,SAAN,CAAgB,CAAhB,EAAmBD,MAAME,MAAN,GAAe,CAAlC,CAA9C,GAAqFF,KAA7F;;AAEA;AACA,SAAO,IAAP,EAAa;AACX,QAAMG,SAASH,KAAf;AACAA,YAAQG,OAAOC,OAAP,CAAeL,kBAAf,EAAmC,EAAnC,EAAuCK,OAAvC,CAA+CN,IAA/C,EAAqD,UAAUO,EAAV,EAAcC,EAAd,EAAkB;AAC7E,aAAOd,QAAQe,OAAR,CAAgB,MAAMD,GAAGX,WAAH,EAAN,GAAyB,GAAzC,IAAgD,CAAC,CAAjD,GAAqDU,EAArD,GAA0D,EAAjE;AACD,KAFO,CAAR;;AAIA;AACA,QAAIF,WAAWH,KAAf,EAAsB;AACpB,aAAOA,KAAP;AACD;AACF;AACF,CAhED","file":"strip_tags.js","sourcesContent":["module.exports = function strip_tags (input, allowed) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/strip_tags/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Luke Godfrey\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // input by: Pul\n // input by: Alex\n // input by: Marc Palau\n // input by: Brett Zamir (https://brett-zamir.me)\n // input by: Bobby Drake\n // input by: Evertjan Garretsen\n // bugfixed 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 // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: Eric Nagel\n // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: Tomasz Wesolowski\n // bugfixed by: Tymon Sturgeon (https://scryptonite.com)\n // bugfixed by: Tim de Koning (https://www.kingsquare.nl)\n // revised by: Rafał Kukawski (https://blog.kukawski.pl)\n // example 1: strip_tags('<p>Kevin</p> <br /><b>van</b> <i>Zonneveld</i>', '<i><b>')\n // returns 1: 'Kevin <b>van</b> <i>Zonneveld</i>'\n // example 2: strip_tags('<p>Kevin <img src=\"someimage.png\" onmouseover=\"someFunction()\">van <i>Zonneveld</i></p>', '<p>')\n // returns 2: '<p>Kevin van Zonneveld</p>'\n // example 3: strip_tags(\"<a href='https://kvz.io'>Kevin van Zonneveld</a>\", \"<a>\")\n // returns 3: \"<a href='https://kvz.io'>Kevin van Zonneveld</a>\"\n // example 4: strip_tags('1 < 5 5 > 1')\n // returns 4: '1 < 5 5 > 1'\n // example 5: strip_tags('1 <br/> 1')\n // returns 5: '1 1'\n // example 6: strip_tags('1 <br/> 1', '<br>')\n // returns 6: '1 <br/> 1'\n // example 7: strip_tags('1 <br/> 1', '<br><br/>')\n // returns 7: '1 <br/> 1'\n // example 8: strip_tags('<i>hello</i> <<foo>script>world<</foo>/script>')\n // returns 8: 'hello world'\n // example 9: strip_tags(4)\n // returns 9: '4'\n\n const _phpCastString = require('../_helpers/_phpCastString')\n\n // making sure the allowed arg is a string containing only tags in lowercase (<a><b><c>)\n allowed = (((allowed || '') + '').toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join('')\n\n const tags = /<\\/?([a-z0-9]*)\\b[^>]*>?/gi\n const commentsAndPhpTags = /<!--[\\s\\S]*?-->|<\\?(?:php)?[\\s\\S]*?\\?>/gi\n\n let after = _phpCastString(input)\n // removes tha '<' char at the end of the string to replicate PHP's behaviour\n after = (after.substring(after.length - 1) === '<') ? after.substring(0, after.length - 1) : after\n\n // recursively remove tags to ensure that the returned string doesn't contain forbidden tags after previous passes (e.g. '<<bait/>switch/>')\n while (true) {\n const before = after\n after = before.replace(commentsAndPhpTags, '').replace(tags, function ($0, $1) {\n return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : ''\n })\n\n // return once no more tags are removed\n if (before === after) {\n return after\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/strings/stripos.js"],"names":["module","exports","stripos","fHaystack","fNeedle","fOffset","haystack","toLowerCase","needle","index","indexOf"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,SAAlB,EAA6BC,OAA7B,EAAsCC,OAAtC,EAA+C;AAC9D;AACA;AACA;AACA;AACA;;AAEA,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/strings/stripos.js"],"names":["module","exports","stripos","fHaystack","fNeedle","fOffset","haystack","toLowerCase","needle","index","indexOf"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,SAAlB,EAA6BC,OAA7B,EAAsCC,OAAtC,EAA+C;AAC9D;AACA;AACA;AACA;AACA;;AAEA,MAAMC,WAAW,CAACH,YAAY,EAAb,EAAiBI,WAAjB,EAAjB;AACA,MAAMC,SAAS,CAACJ,UAAU,EAAX,EAAeG,WAAf,EAAf;AACA,MAAIE,QAAQ,CAAZ;;AAEA,MAAI,CAACA,QAAQH,SAASI,OAAT,CAAiBF,MAAjB,EAAyBH,OAAzB,CAAT,MAAgD,CAAC,CAArD,EAAwD;AACtD,WAAOI,KAAP;AACD;;AAED,SAAO,KAAP;AACD,CAhBD","file":"stripos.js","sourcesContent":["module.exports = function stripos (fHaystack, fNeedle, fOffset) {\n // discuss at: https://locutus.io/php/stripos/\n // original by: Martijn Wieringa\n // revised by: Onno Marsman (https://twitter.com/onnomarsman)\n // example 1: stripos('ABC', 'a')\n // returns 1: 0\n\n const haystack = (fHaystack + '').toLowerCase()\n const needle = (fNeedle + '').toLowerCase()\n let index = 0\n\n if ((index = haystack.indexOf(needle, fOffset)) !== -1) {\n return index\n }\n\n return false\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/strings/stristr.js"],"names":["module","exports","stristr","haystack","needle","bool","pos","toLowerCase","indexOf","substr","slice"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,QAAlB,EAA4BC,MAA5B,EAAoCC,IAApC,EAA0C;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,MAAM,CAAV;;AAEAH,cAAY,EAAZ;AACAG,QAAMH,SAASI,WAAT,GACHC,OADG,CACK,CAACJ,SAAS,EAAV,EACNG,WADM,EADL,CAAN;AAGA,MAAID,QAAQ,CAAC,CAAb,EAAgB;AACd,WAAO,KAAP;AACD,GAFD,MAEO;AACL,QAAID,IAAJ,EAAU;AACR,aAAOF,SAASM,MAAT,CAAgB,CAAhB,EAAmBH,GAAnB,CAAP;AACD,KAFD,MAEO;AACL,aAAOH,SAASO,KAAT,CAAeJ,GAAf,CAAP;AACD;AACF;AACF,CAxBD","file":"stristr.js","sourcesContent":["module.exports = function stristr (haystack, needle, bool) {\n // discuss at: https://locutus.io/php/stristr/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // example 1: stristr('Kevin van Zonneveld', 'Van')\n // returns 1: 'van Zonneveld'\n // example 2: stristr('Kevin van Zonneveld', 'VAN', true)\n // returns 2: 'Kevin '\n\n
|
|
1
|
+
{"version":3,"sources":["../../../src/php/strings/stristr.js"],"names":["module","exports","stristr","haystack","needle","bool","pos","toLowerCase","indexOf","substr","slice"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,QAAlB,EAA4BC,MAA5B,EAAoCC,IAApC,EAA0C;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,MAAM,CAAV;;AAEAH,cAAY,EAAZ;AACAG,QAAMH,SAASI,WAAT,GACHC,OADG,CACK,CAACJ,SAAS,EAAV,EACNG,WADM,EADL,CAAN;AAGA,MAAID,QAAQ,CAAC,CAAb,EAAgB;AACd,WAAO,KAAP;AACD,GAFD,MAEO;AACL,QAAID,IAAJ,EAAU;AACR,aAAOF,SAASM,MAAT,CAAgB,CAAhB,EAAmBH,GAAnB,CAAP;AACD,KAFD,MAEO;AACL,aAAOH,SAASO,KAAT,CAAeJ,GAAf,CAAP;AACD;AACF;AACF,CAxBD","file":"stristr.js","sourcesContent":["module.exports = function stristr (haystack, needle, bool) {\n // discuss at: https://locutus.io/php/stristr/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // example 1: stristr('Kevin van Zonneveld', 'Van')\n // returns 1: 'van Zonneveld'\n // example 2: stristr('Kevin van Zonneveld', 'VAN', true)\n // returns 2: 'Kevin '\n\n let pos = 0\n\n haystack += ''\n pos = haystack.toLowerCase()\n .indexOf((needle + '')\n .toLowerCase())\n if (pos === -1) {\n return false\n } else {\n if (bool) {\n return haystack.substr(0, pos)\n } else {\n return haystack.slice(pos)\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/strings/strlen.js"],"names":["module","exports","strlen","string","str","iniVal","require","undefined","length","i","lgth","getWholeChar","code","charCodeAt","next","prev","Error","charAt"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,MAAT,CAAiBC,MAAjB,EAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/strings/strlen.js"],"names":["module","exports","strlen","string","str","iniVal","require","undefined","length","i","lgth","getWholeChar","code","charCodeAt","next","prev","Error","charAt"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,MAAT,CAAiBC,MAAjB,EAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,MAAMD,SAAS,EAArB;;AAEA,MAAME,SAAS,CAAC,OAAOC,OAAP,KAAmB,WAAnB,GAAiCA,QAAQ,iBAAR,EAA2B,mBAA3B,CAAjC,GAAmFC,SAApF,KAAkG,KAAjH;AACA,MAAIF,WAAW,KAAf,EAAsB;AACpB,WAAOD,IAAII,MAAX;AACD;;AAED,MAAIC,IAAI,CAAR;AACA,MAAIC,OAAO,CAAX;;AAEA,MAAMC,eAAe,SAAfA,YAAe,CAAUP,GAAV,EAAeK,CAAf,EAAkB;AACrC,QAAMG,OAAOR,IAAIS,UAAJ,CAAeJ,CAAf,CAAb;AACA,QAAIK,OAAO,EAAX;AACA,QAAIC,OAAO,EAAX;AACA,QAAIH,QAAQ,MAAR,IAAkBA,QAAQ,MAA9B,EAAsC;AACpC;AACA;AACA,UAAIR,IAAII,MAAJ,IAAeC,IAAI,CAAvB,EAA2B;AACzB,cAAM,IAAIO,KAAJ,CAAU,gDAAV,CAAN;AACD;AACDF,aAAOV,IAAIS,UAAJ,CAAeJ,IAAI,CAAnB,CAAP;AACA,UAAIK,OAAO,MAAP,IAAiBA,OAAO,MAA5B,EAAoC;AAClC,cAAM,IAAIE,KAAJ,CAAU,gDAAV,CAAN;AACD;AACD,aAAOZ,IAAIa,MAAJ,CAAWR,CAAX,IAAgBL,IAAIa,MAAJ,CAAWR,IAAI,CAAf,CAAvB;AACD,KAXD,MAWO,IAAIG,QAAQ,MAAR,IAAkBA,QAAQ,MAA9B,EAAsC;AAC3C;AACA,UAAIH,MAAM,CAAV,EAAa;AACX,cAAM,IAAIO,KAAJ,CAAU,gDAAV,CAAN;AACD;AACDD,aAAOX,IAAIS,UAAJ,CAAeJ,IAAI,CAAnB,CAAP;AACA,UAAIM,OAAO,MAAP,IAAiBA,OAAO,MAA5B,EAAoC;AAClC;AACA;AACA,cAAM,IAAIC,KAAJ,CAAU,gDAAV,CAAN;AACD;AACD;AACA;AACA,aAAO,KAAP;AACD;AACD,WAAOZ,IAAIa,MAAJ,CAAWR,CAAX,CAAP;AACD,GA/BD;;AAiCA,OAAKA,IAAI,CAAJ,EAAOC,OAAO,CAAnB,EAAsBD,IAAIL,IAAII,MAA9B,EAAsCC,GAAtC,EAA2C;AACzC,QAAKE,aAAaP,GAAb,EAAkBK,CAAlB,CAAD,KAA2B,KAA/B,EAAsC;AACpC;AACD;AACD;AACA;AACA;AACA;AACAC;AACD;;AAED,SAAOA,IAAP;AACD,CAxED","file":"strlen.js","sourcesContent":["module.exports = function strlen (string) {\n // discuss at: https://locutus.io/php/strlen/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Sakimori\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // input by: Kirk Strobeck\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // revised by: Brett Zamir (https://brett-zamir.me)\n // note 1: May look like overkill, but in order to be truly faithful to handling all Unicode\n // note 1: characters and to this function in PHP which does not count the number of bytes\n // note 1: but counts the number of characters, something like this is really necessary.\n // example 1: strlen('Kevin van Zonneveld')\n // returns 1: 19\n // example 2: ini_set('unicode.semantics', 'on')\n // example 2: strlen('A\\ud87e\\udc04Z')\n // returns 2: 3\n\n const str = string + ''\n\n const iniVal = (typeof require !== 'undefined' ? require('../info/ini_get')('unicode.semantics') : undefined) || 'off'\n if (iniVal === 'off') {\n return str.length\n }\n\n let i = 0\n let lgth = 0\n\n const getWholeChar = function (str, i) {\n const code = str.charCodeAt(i)\n let next = ''\n let prev = ''\n if (code >= 0xD800 && code <= 0xDBFF) {\n // High surrogate (could change last hex to 0xDB7F to\n // treat high private surrogates as single characters)\n if (str.length <= (i + 1)) {\n throw new Error('High surrogate without following low surrogate')\n }\n 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 } else if (code >= 0xDC00 && code <= 0xDFFF) {\n // Low surrogate\n if (i === 0) {\n throw new Error('Low surrogate without preceding high surrogate')\n }\n prev = str.charCodeAt(i - 1)\n if (prev < 0xD800 || prev > 0xDBFF) {\n // (could change last hex to 0xDB7F to treat high private surrogates\n // 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\n // component in a pair which we have already processed\n return false\n }\n return str.charAt(i)\n }\n\n for (i = 0, lgth = 0; i < str.length; i++) {\n if ((getWholeChar(str, i)) === false) {\n continue\n }\n // Adapt this line at the top of any loop, passing in the whole string and\n // the current iteration and returning a variable to represent the individual character;\n // purpose is to treat the first part of a surrogate pair as the whole character and then\n // ignore the second part\n lgth++\n }\n\n return lgth\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/strings/strnatcasecmp.js"],"names":["module","exports","strnatcasecmp","a","b","strnatcmp","require","_phpCastString","arguments","length","toLowerCase"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,aAAT,CAAwBC,CAAxB,EAA2BC,CAA3B,EAA8B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/strings/strnatcasecmp.js"],"names":["module","exports","strnatcasecmp","a","b","strnatcmp","require","_phpCastString","arguments","length","toLowerCase"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,aAAT,CAAwBC,CAAxB,EAA2BC,CAA3B,EAA8B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,YAAYC,QAAQ,sBAAR,CAAlB;AACA,MAAMC,iBAAiBD,QAAQ,4BAAR,CAAvB;;AAEA,MAAIE,UAAUC,MAAV,KAAqB,CAAzB,EAA4B;AAC1B,WAAO,IAAP;AACD;;AAED,SAAOJ,UAAUE,eAAeJ,CAAf,EAAkBO,WAAlB,EAAV,EAA2CH,eAAeH,CAAf,EAAkBM,WAAlB,EAA3C,CAAP;AACD,CAvBD","file":"strnatcasecmp.js","sourcesContent":["module.exports = function strnatcasecmp (a, b) {\n // discuss at: https://locutus.io/php/strnatcasecmp/\n // original by: Martin Pool\n // reimplemented by: Pierre-Luc Paour\n // reimplemented by: Kristof Coomans (SCK-CEN (Belgian Nucleair Research Centre))\n // reimplemented by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // input by: Devan Penner-Woelk\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // reimplemented by: Rafał Kukawski\n // example 1: strnatcasecmp(10, 1)\n // returns 1: 1\n // example 2: strnatcasecmp('1', '10')\n // returns 2: -1\n\n const strnatcmp = require('../strings/strnatcmp')\n const _phpCastString = require('../_helpers/_phpCastString')\n\n if (arguments.length !== 2) {\n return null\n }\n\n return strnatcmp(_phpCastString(a).toLowerCase(), _phpCastString(b).toLowerCase())\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/strings/strnatcmp.js"],"names":["module","exports","strnatcmp","a","b","_phpCastString","require","leadingZeros","whitespace","digit","arguments","length","i","j","replace","test","charAt","ac","bc","aIsDigit","bIsDigit","bias","fractional","iBeforeStrEnd","jBeforeStrEnd"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,SAAT,CAAoBC,CAApB,EAAuBC,CAAvB,EAA0B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/strings/strnatcmp.js"],"names":["module","exports","strnatcmp","a","b","_phpCastString","require","leadingZeros","whitespace","digit","arguments","length","i","j","replace","test","charAt","ac","bc","aIsDigit","bIsDigit","bias","fractional","iBeforeStrEnd","jBeforeStrEnd"],"mappings":"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","file":"strnatcmp.js","sourcesContent":["module.exports = function strnatcmp (a, b) {\n // discuss at: https://locutus.io/php/strnatcmp/\n // original by: Martijn Wieringa\n // improved by: Michael White (https://getsprink.com)\n // improved by: Jack\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // reimplemented by: Rafał Kukawski\n // example 1: strnatcmp('abc', 'abc')\n // returns 1: 0\n // example 2: strnatcmp('a', 'b')\n // returns 2: -1\n // example 3: strnatcmp('10', '1')\n // returns 3: 1\n // example 4: strnatcmp('0000abc', '0abc')\n // returns 4: 0\n // example 5: strnatcmp('1239', '12345')\n // returns 5: -1\n // example 6: strnatcmp('t01239', 't012345')\n // returns 6: 1\n // example 7: strnatcmp('0A', '5N')\n // returns 7: -1\n\n const _phpCastString = require('../_helpers/_phpCastString')\n\n const leadingZeros = /^0+(?=\\d)/\n const whitespace = /^\\s/\n const digit = /^\\d/\n\n if (arguments.length !== 2) {\n return null\n }\n\n a = _phpCastString(a)\n b = _phpCastString(b)\n\n if (!a.length || !b.length) {\n return a.length - b.length\n }\n\n let i = 0\n let j = 0\n\n a = a.replace(leadingZeros, '')\n b = b.replace(leadingZeros, '')\n\n while (i < a.length && j < b.length) {\n // skip consecutive whitespace\n while (whitespace.test(a.charAt(i))) i++\n while (whitespace.test(b.charAt(j))) j++\n\n let ac = a.charAt(i)\n let bc = b.charAt(j)\n let aIsDigit = digit.test(ac)\n let bIsDigit = digit.test(bc)\n\n if (aIsDigit && bIsDigit) {\n let bias = 0\n const fractional = ac === '0' || bc === '0'\n\n do {\n if (!aIsDigit) {\n return -1\n } else if (!bIsDigit) {\n return 1\n } else if (ac < bc) {\n if (!bias) {\n bias = -1\n }\n\n if (fractional) {\n return -1\n }\n } else if (ac > bc) {\n if (!bias) {\n bias = 1\n }\n\n if (fractional) {\n return 1\n }\n }\n\n ac = a.charAt(++i)\n bc = b.charAt(++j)\n\n aIsDigit = digit.test(ac)\n bIsDigit = digit.test(bc)\n } while (aIsDigit || bIsDigit)\n\n if (!fractional && bias) {\n return bias\n }\n\n continue\n }\n\n if (!ac || !bc) {\n continue\n } else if (ac < bc) {\n return -1\n } else if (ac > bc) {\n return 1\n }\n\n i++\n j++\n }\n\n const iBeforeStrEnd = i < a.length\n const jBeforeStrEnd = j < b.length\n\n // Check which string ended first\n // return -1 if a, 1 if b, 0 otherwise\n return (iBeforeStrEnd > jBeforeStrEnd) - (iBeforeStrEnd < jBeforeStrEnd)\n}\n"]}
|
|
@@ -18,7 +18,7 @@ module.exports = function strncasecmp(argStr1, argStr2, len) {
|
|
|
18
18
|
// example 5: strncasecmp('Version 12.15', 'Version 12.9', 20)
|
|
19
19
|
// returns 5: -8
|
|
20
20
|
|
|
21
|
-
var diff;
|
|
21
|
+
var diff = void 0;
|
|
22
22
|
var i = 0;
|
|
23
23
|
var str1 = (argStr1 + '').toLowerCase().substr(0, len);
|
|
24
24
|
var str2 = (argStr2 + '').toLowerCase().substr(0, len);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/strings/strncasecmp.js"],"names":["module","exports","strncasecmp","argStr1","argStr2","len","diff","i","str1","toLowerCase","substr","str2","length","charCodeAt"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,WAAT,CAAsBC,OAAtB,EAA+BC,OAA/B,EAAwCC,GAAxC,EAA6C;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/strings/strncasecmp.js"],"names":["module","exports","strncasecmp","argStr1","argStr2","len","diff","i","str1","toLowerCase","substr","str2","length","charCodeAt"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,WAAT,CAAsBC,OAAtB,EAA+BC,OAA/B,EAAwCC,GAAxC,EAA6C;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,aAAJ;AACA,MAAIC,IAAI,CAAR;AACA,MAAMC,OAAO,CAACL,UAAU,EAAX,EAAeM,WAAf,GAA6BC,MAA7B,CAAoC,CAApC,EAAuCL,GAAvC,CAAb;AACA,MAAMM,OAAO,CAACP,UAAU,EAAX,EAAeK,WAAf,GAA6BC,MAA7B,CAAoC,CAApC,EAAuCL,GAAvC,CAAb;;AAEA,MAAIG,KAAKI,MAAL,KAAgBD,KAAKC,MAAzB,EAAiC;AAC/B,QAAIJ,KAAKI,MAAL,GAAcD,KAAKC,MAAvB,EAA+B;AAC7BP,YAAMG,KAAKI,MAAX;AACA,UAAID,KAAKD,MAAL,CAAY,CAAZ,EAAeF,KAAKI,MAApB,MAAgCJ,IAApC,EAA0C;AACxC;AACA,eAAOA,KAAKI,MAAL,GAAcD,KAAKC,MAA1B;AACD;AACF,KAND,MAMO;AACLP,YAAMM,KAAKC,MAAX;AACA;AACA,UAAIJ,KAAKE,MAAL,CAAY,CAAZ,EAAeC,KAAKC,MAApB,MAAgCD,IAApC,EAA0C;AACxC;AACA,eAAOH,KAAKI,MAAL,GAAcD,KAAKC,MAA1B;AACD;AACF;AACF,GAfD,MAeO;AACL;AACAP,UAAMG,KAAKI,MAAX;AACD;;AAED,OAAKN,OAAO,CAAP,EAAUC,IAAI,CAAnB,EAAsBA,IAAIF,GAA1B,EAA+BE,GAA/B,EAAoC;AAClCD,WAAOE,KAAKK,UAAL,CAAgBN,CAAhB,IAAqBI,KAAKE,UAAL,CAAgBN,CAAhB,CAA5B;AACA,QAAID,SAAS,CAAb,EAAgB;AACd,aAAOA,IAAP;AACD;AACF;;AAED,SAAO,CAAP;AACD,CAnDD","file":"strncasecmp.js","sourcesContent":["module.exports = function strncasecmp (argStr1, argStr2, len) {\n // discuss at: https://locutus.io/php/strncasecmp/\n // original by: Saulo Vallory\n // input by: Nate\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // note 1: Returns < 0 if str1 is less than str2 ; > 0\n // note 1: if str1 is greater than str2, and 0 if they are equal.\n // example 1: strncasecmp('Price 12.9', 'Price 12.15', 2)\n // returns 1: 0\n // example 2: strncasecmp('Price 12.09', 'Price 12.15', 10)\n // returns 2: -1\n // example 3: strncasecmp('Price 12.90', 'Price 12.15', 30)\n // returns 3: 8\n // example 4: strncasecmp('Version 12.9', 'Version 12.15', 20)\n // returns 4: 8\n // example 5: strncasecmp('Version 12.15', 'Version 12.9', 20)\n // returns 5: -8\n\n let diff\n let i = 0\n const str1 = (argStr1 + '').toLowerCase().substr(0, len)\n const str2 = (argStr2 + '').toLowerCase().substr(0, len)\n\n if (str1.length !== str2.length) {\n if (str1.length < str2.length) {\n len = str1.length\n if (str2.substr(0, str1.length) === str1) {\n // return the difference of chars\n return str1.length - str2.length\n }\n } else {\n len = str2.length\n // str1 is longer than str2\n if (str1.substr(0, str2.length) === str2) {\n // return the difference of chars\n return str1.length - str2.length\n }\n }\n } else {\n // Avoids trying to get a char that does not exist\n len = str1.length\n }\n\n for (diff = 0, i = 0; i < len; i++) {\n diff = str1.charCodeAt(i) - str2.charCodeAt(i)\n if (diff !== 0) {\n return diff\n }\n }\n\n return 0\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/strings/strncmp.js"],"names":["module","exports","strncmp","str1","str2","lgth","s1","substr","s2"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,IAAlB,EAAwBC,IAAxB,EAA8BC,IAA9B,EAAoC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/strings/strncmp.js"],"names":["module","exports","strncmp","str1","str2","lgth","s1","substr","s2"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,IAAlB,EAAwBC,IAAxB,EAA8BC,IAA9B,EAAoC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,KAAK,CAACH,OAAO,EAAR,EACRI,MADQ,CACD,CADC,EACEF,IADF,CAAX;AAEA,MAAMG,KAAK,CAACJ,OAAO,EAAR,EACRG,MADQ,CACD,CADC,EACEF,IADF,CAAX;;AAGA,SAASC,OAAOE,EAAR,GAAc,CAAd,GAAoBF,KAAKE,EAAN,GAAY,CAAZ,GAAgB,CAAC,CAA5C;AACD,CAlBD","file":"strncmp.js","sourcesContent":["module.exports = function strncmp (str1, str2, lgth) {\n // discuss at: https://locutus.io/php/strncmp/\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 // reimplemented by: Brett Zamir (https://brett-zamir.me)\n // example 1: strncmp('aaa', 'aab', 2)\n // returns 1: 0\n // example 2: strncmp('aaa', 'aab', 3 )\n // returns 2: -1\n\n const s1 = (str1 + '')\n .substr(0, lgth)\n const s2 = (str2 + '')\n .substr(0, lgth)\n\n return ((s1 === s2) ? 0 : ((s1 > s2) ? 1 : -1))\n}\n"]}
|