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
package/php/strings/setlocale.js
CHANGED
|
@@ -30,11 +30,11 @@ module.exports = function setlocale(category, locale) {
|
|
|
30
30
|
return new Date(orig);
|
|
31
31
|
}
|
|
32
32
|
var newObj = {};
|
|
33
|
-
for (var
|
|
34
|
-
if (_typeof(orig[
|
|
35
|
-
newObj[
|
|
33
|
+
for (var _i in orig) {
|
|
34
|
+
if (_typeof(orig[_i]) === 'object') {
|
|
35
|
+
newObj[_i] = _copy(orig[_i]);
|
|
36
36
|
} else {
|
|
37
|
-
newObj[
|
|
37
|
+
newObj[_i] = orig[_i];
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
return newObj;
|
|
@@ -76,12 +76,12 @@ module.exports = function setlocale(category, locale) {
|
|
|
76
76
|
$locutus.php.locales = {};
|
|
77
77
|
|
|
78
78
|
$locutus.php.locales.en = {
|
|
79
|
-
|
|
79
|
+
LC_COLLATE: function LC_COLLATE(str1, str2) {
|
|
80
80
|
// @todo: This one taken from strcmp, but need for other locales; we don't use localeCompare
|
|
81
81
|
// since its locale is not settable
|
|
82
82
|
return str1 === str2 ? 0 : str1 > str2 ? 1 : -1;
|
|
83
83
|
},
|
|
84
|
-
|
|
84
|
+
LC_CTYPE: {
|
|
85
85
|
// Need to change any of these for English as opposed to C?
|
|
86
86
|
an: /^[A-Za-z\d]+$/g,
|
|
87
87
|
al: /^[A-Za-z]+$/g,
|
|
@@ -99,7 +99,7 @@ module.exports = function setlocale(category, locale) {
|
|
|
99
99
|
lower: 'abcdefghijklmnopqrstuvwxyz',
|
|
100
100
|
upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
|
101
101
|
},
|
|
102
|
-
|
|
102
|
+
LC_TIME: {
|
|
103
103
|
// Comments include nl_langinfo() constant equivalents and any
|
|
104
104
|
// changes from Blues' implementation
|
|
105
105
|
a: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
|
|
@@ -133,7 +133,7 @@ module.exports = function setlocale(category, locale) {
|
|
|
133
133
|
},
|
|
134
134
|
// Assuming distinction between numeric and monetary is thus:
|
|
135
135
|
// See below for C locale
|
|
136
|
-
|
|
136
|
+
LC_MONETARY: {
|
|
137
137
|
// based on Windows "english" (English_United States.1252) locale
|
|
138
138
|
int_curr_symbol: 'USD',
|
|
139
139
|
currency_symbol: '$',
|
|
@@ -164,13 +164,13 @@ module.exports = function setlocale(category, locale) {
|
|
|
164
164
|
// succeeds curr. symbol
|
|
165
165
|
n_sign_posn: 0 // see p_sign_posn
|
|
166
166
|
},
|
|
167
|
-
|
|
167
|
+
LC_NUMERIC: {
|
|
168
168
|
// based on Windows "english" (English_United States.1252) locale
|
|
169
169
|
decimal_point: '.',
|
|
170
170
|
thousands_sep: ',',
|
|
171
171
|
grouping: [3] // see mon_grouping, but for non-monetary values (use thousands_sep)
|
|
172
172
|
},
|
|
173
|
-
|
|
173
|
+
LC_MESSAGES: {
|
|
174
174
|
YESEXPR: '^[yY].*',
|
|
175
175
|
NOEXPR: '^[nN].*',
|
|
176
176
|
YESSTR: '',
|
|
@@ -218,9 +218,8 @@ module.exports = function setlocale(category, locale) {
|
|
|
218
218
|
decimal_point: '.',
|
|
219
219
|
thousands_sep: '',
|
|
220
220
|
grouping: []
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
$locutus.php.locales.C.LC_TIME.c = '%a %b %e %H:%M:%S %Y';
|
|
221
|
+
// D_T_FMT
|
|
222
|
+
};$locutus.php.locales.C.LC_TIME.c = '%a %b %e %H:%M:%S %Y';
|
|
224
223
|
// D_FMT
|
|
225
224
|
$locutus.php.locales.C.LC_TIME.x = '%m/%d/%y';
|
|
226
225
|
// T_FMT
|
|
@@ -273,18 +272,18 @@ module.exports = function setlocale(category, locale) {
|
|
|
273
272
|
|
|
274
273
|
if (!$locutus.php.localeCategories) {
|
|
275
274
|
$locutus.php.localeCategories = {
|
|
276
|
-
|
|
275
|
+
LC_COLLATE: $locutus.php.locale,
|
|
277
276
|
// for string comparison, see strcoll()
|
|
278
|
-
|
|
277
|
+
LC_CTYPE: $locutus.php.locale,
|
|
279
278
|
// for character classification and conversion, for example strtoupper()
|
|
280
|
-
|
|
279
|
+
LC_MONETARY: $locutus.php.locale,
|
|
281
280
|
// for localeconv()
|
|
282
|
-
|
|
281
|
+
LC_NUMERIC: $locutus.php.locale,
|
|
283
282
|
// for decimal separator (See also localeconv())
|
|
284
|
-
|
|
283
|
+
LC_TIME: $locutus.php.locale,
|
|
285
284
|
// for date and time formatting with strftime()
|
|
286
285
|
// for system responses (available if PHP was compiled with libintl):
|
|
287
|
-
|
|
286
|
+
LC_MESSAGES: $locutus.php.locale
|
|
288
287
|
};
|
|
289
288
|
}
|
|
290
289
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/strings/setlocale.js"],"names":["module","exports","setlocale","category","locale","getenv","require","categ","cats","i","_copy","orig","RegExp","Date","newObj","_nplurals2a","n","_nplurals2b","$global","window","global","$locutus","php","locales","fr_CA","LC_TIME","x","en","str1","str2","an","al","ct","dg","gr","lw","pr","pu","sp","up","xd","CODESET","lower","upper","a","A","b","B","c","p","P","r","X","alt_digits","ERA","ERA_YEAR","ERA_D_T_FMT","ERA_D_FMT","ERA_T_FMT","int_curr_symbol","currency_symbol","mon_decimal_point","mon_thousands_sep","mon_grouping","positive_sign","negative_sign","int_frac_digits","frac_digits","p_cs_precedes","p_sep_by_space","n_cs_precedes","n_sep_by_space","p_sign_posn","n_sign_posn","decimal_point","thousands_sep","grouping","YESEXPR","NOEXPR","YESSTR","NOSTR","nplurals","en_US","LC_MONETARY","LC_NUMERIC","en_GB","en_AU","C","LC_CTYPE","LC_MESSAGES","fr","document","d","NS_XHTML","NS_XML","getElementsByTagNameNS","getAttributeNS","getElementsByTagName","lang","replace","localeCategories","Object","prototype","toString","call","length","push","join"],"mappings":"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","file":"setlocale.js","sourcesContent":["module.exports = function setlocale (category, locale) {\n // discuss at: https://locutus.io/php/setlocale/\n // original by: Brett Zamir (https://brett-zamir.me)\n // original by: Blues (https://hacks.bluesmoon.info/strftime/strftime.js)\n // original by: YUI Library (https://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html)\n // note 1: Is extensible, but currently only implements locales en,\n // note 1: en_US, en_GB, en_AU, fr, and fr_CA for LC_TIME only; C for LC_CTYPE;\n // note 1: C and en for LC_MONETARY/LC_NUMERIC; en for LC_COLLATE\n // note 1: Uses global: locutus to store locale info\n // note 1: Consider using https://demo.icu-project.org/icu-bin/locexp as basis for localization (as in i18n_loc_set_default())\n // note 2: This function tries to establish the locale via the `window` global.\n // note 2: This feature will not work in Node and hence is Browser-only\n // example 1: setlocale('LC_ALL', 'en_US')\n // returns 1: 'en_US'\n\n var getenv = require('../info/getenv')\n\n var categ = ''\n var cats = []\n var i = 0\n\n var _copy = function _copy (orig) {\n if (orig instanceof RegExp) {\n return new RegExp(orig)\n } else if (orig instanceof Date) {\n return new Date(orig)\n }\n var newObj = {}\n for (var i in orig) {\n if (typeof orig[i] === 'object') {\n newObj[i] = _copy(orig[i])\n } else {\n newObj[i] = orig[i]\n }\n }\n return newObj\n }\n\n // Function usable by a ngettext implementation (apparently not an accessible part of setlocale(),\n // but locale-specific) See https://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms\n // though amended with others from https://developer.mozilla.org/En/Localization_and_Plurals (new\n // categories noted with \"MDC\" below, though not sure of whether there is a convention for the\n // relative order of these newer groups as far as ngettext) The function name indicates the number\n // of plural forms (nplural) Need to look into https://cldr.unicode.org/ (maybe future JavaScript);\n // Dojo has some functions (under new BSD), including JSON conversions of LDML XML from CLDR:\n // https://bugs.dojotoolkit.org/browser/dojo/trunk/cldr and docs at\n // https://api.dojotoolkit.org/jsdoc/HEAD/dojo.cldr\n\n // var _nplurals1 = function (n) {\n // // e.g., Japanese\n // return 0\n // }\n var _nplurals2a = function (n) {\n // e.g., English\n return n !== 1 ? 1 : 0\n }\n var _nplurals2b = function (n) {\n // e.g., French\n return n > 1 ? 1 : 0\n }\n\n var $global = (typeof window !== 'undefined' ? window : global)\n $global.$locutus = $global.$locutus || {}\n var $locutus = $global.$locutus\n $locutus.php = $locutus.php || {}\n\n // Reconcile Windows vs. *nix locale names?\n // Allow different priority orders of languages, esp. if implement gettext as in\n // LANGUAGE env. var.? (e.g., show German if French is not available)\n if (!$locutus.php.locales ||\n !$locutus.php.locales.fr_CA ||\n !$locutus.php.locales.fr_CA.LC_TIME ||\n !$locutus.php.locales.fr_CA.LC_TIME.x) {\n // Can add to the locales\n $locutus.php.locales = {}\n\n $locutus.php.locales.en = {\n 'LC_COLLATE': function (str1, str2) {\n // @todo: This one taken from strcmp, but need for other locales; we don't use localeCompare\n // since its locale is not settable\n return (str1 === str2) ? 0 : ((str1 > str2) ? 1 : -1)\n },\n 'LC_CTYPE': {\n // Need to change any of these for English as opposed to C?\n an: /^[A-Za-z\\d]+$/g,\n al: /^[A-Za-z]+$/g,\n ct: /^[\\u0000-\\u001F\\u007F]+$/g,\n dg: /^[\\d]+$/g,\n gr: /^[\\u0021-\\u007E]+$/g,\n lw: /^[a-z]+$/g,\n pr: /^[\\u0020-\\u007E]+$/g,\n pu: /^[\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E]+$/g,\n sp: /^[\\f\\n\\r\\t\\v ]+$/g,\n up: /^[A-Z]+$/g,\n xd: /^[A-Fa-f\\d]+$/g,\n CODESET: 'UTF-8',\n // Used by sql_regcase\n lower: 'abcdefghijklmnopqrstuvwxyz',\n upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n },\n 'LC_TIME': {\n // Comments include nl_langinfo() constant equivalents and any\n // changes from Blues' implementation\n a: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n // ABDAY_\n A: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n // DAY_\n b: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n // ABMON_\n B: ['January', 'February', 'March', 'April', 'May', 'June', 'July',\n 'August', 'September', 'October',\n 'November', 'December'\n ],\n // MON_\n c: '%a %d %b %Y %r %Z',\n // D_T_FMT // changed %T to %r per results\n p: ['AM', 'PM'],\n // AM_STR/PM_STR\n P: ['am', 'pm'],\n // Not available in nl_langinfo()\n r: '%I:%M:%S %p',\n // T_FMT_AMPM (Fixed for all locales)\n x: '%m/%d/%Y',\n // D_FMT // switched order of %m and %d; changed %y to %Y (C uses %y)\n X: '%r',\n // T_FMT // changed from %T to %r (%T is default for C, not English US)\n // Following are from nl_langinfo() or https://www.cptec.inpe.br/sx4/sx4man2/g1ab02e/strftime.4.html\n alt_digits: '',\n // e.g., ordinal\n ERA: '',\n ERA_YEAR: '',\n ERA_D_T_FMT: '',\n ERA_D_FMT: '',\n ERA_T_FMT: ''\n },\n // Assuming distinction between numeric and monetary is thus:\n // See below for C locale\n 'LC_MONETARY': {\n // based on Windows \"english\" (English_United States.1252) locale\n int_curr_symbol: 'USD',\n currency_symbol: '$',\n mon_decimal_point: '.',\n mon_thousands_sep: ',',\n mon_grouping: [3],\n // use mon_thousands_sep; \"\" for no grouping; additional array members\n // indicate successive group lengths after first group\n // (e.g., if to be 1,23,456, could be [3, 2])\n positive_sign: '',\n negative_sign: '-',\n int_frac_digits: 2,\n // Fractional digits only for money defaults?\n frac_digits: 2,\n p_cs_precedes: 1,\n // positive currency symbol follows value = 0; precedes value = 1\n p_sep_by_space: 0,\n // 0: no space between curr. symbol and value; 1: space sep. them unless symb.\n // and sign are adjacent then space sep. them from value; 2: space sep. sign\n // and value unless symb. and sign are adjacent then space separates\n n_cs_precedes: 1,\n // see p_cs_precedes\n n_sep_by_space: 0,\n // see p_sep_by_space\n p_sign_posn: 3,\n // 0: parentheses surround quantity and curr. symbol; 1: sign precedes them;\n // 2: sign follows them; 3: sign immed. precedes curr. symbol; 4: sign immed.\n // succeeds curr. symbol\n n_sign_posn: 0 // see p_sign_posn\n },\n 'LC_NUMERIC': {\n // based on Windows \"english\" (English_United States.1252) locale\n decimal_point: '.',\n thousands_sep: ',',\n grouping: [3] // see mon_grouping, but for non-monetary values (use thousands_sep)\n },\n 'LC_MESSAGES': {\n YESEXPR: '^[yY].*',\n NOEXPR: '^[nN].*',\n YESSTR: '',\n NOSTR: ''\n },\n nplurals: _nplurals2a\n }\n $locutus.php.locales.en_US = _copy($locutus.php.locales.en)\n $locutus.php.locales.en_US.LC_TIME.c = '%a %d %b %Y %r %Z'\n $locutus.php.locales.en_US.LC_TIME.x = '%D'\n $locutus.php.locales.en_US.LC_TIME.X = '%r'\n // The following are based on *nix settings\n $locutus.php.locales.en_US.LC_MONETARY.int_curr_symbol = 'USD '\n $locutus.php.locales.en_US.LC_MONETARY.p_sign_posn = 1\n $locutus.php.locales.en_US.LC_MONETARY.n_sign_posn = 1\n $locutus.php.locales.en_US.LC_MONETARY.mon_grouping = [3, 3]\n $locutus.php.locales.en_US.LC_NUMERIC.thousands_sep = ''\n $locutus.php.locales.en_US.LC_NUMERIC.grouping = []\n\n $locutus.php.locales.en_GB = _copy($locutus.php.locales.en)\n $locutus.php.locales.en_GB.LC_TIME.r = '%l:%M:%S %P %Z'\n\n $locutus.php.locales.en_AU = _copy($locutus.php.locales.en_GB)\n // Assume C locale is like English (?) (We need C locale for LC_CTYPE)\n $locutus.php.locales.C = _copy($locutus.php.locales.en)\n $locutus.php.locales.C.LC_CTYPE.CODESET = 'ANSI_X3.4-1968'\n $locutus.php.locales.C.LC_MONETARY = {\n int_curr_symbol: '',\n currency_symbol: '',\n mon_decimal_point: '',\n mon_thousands_sep: '',\n mon_grouping: [],\n p_cs_precedes: 127,\n p_sep_by_space: 127,\n n_cs_precedes: 127,\n n_sep_by_space: 127,\n p_sign_posn: 127,\n n_sign_posn: 127,\n positive_sign: '',\n negative_sign: '',\n int_frac_digits: 127,\n frac_digits: 127\n }\n $locutus.php.locales.C.LC_NUMERIC = {\n decimal_point: '.',\n thousands_sep: '',\n grouping: []\n }\n // D_T_FMT\n $locutus.php.locales.C.LC_TIME.c = '%a %b %e %H:%M:%S %Y'\n // D_FMT\n $locutus.php.locales.C.LC_TIME.x = '%m/%d/%y'\n // T_FMT\n $locutus.php.locales.C.LC_TIME.X = '%H:%M:%S'\n $locutus.php.locales.C.LC_MESSAGES.YESEXPR = '^[yY]'\n $locutus.php.locales.C.LC_MESSAGES.NOEXPR = '^[nN]'\n\n $locutus.php.locales.fr = _copy($locutus.php.locales.en)\n $locutus.php.locales.fr.nplurals = _nplurals2b\n $locutus.php.locales.fr.LC_TIME.a = ['dim', 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam']\n $locutus.php.locales.fr.LC_TIME.A = ['dimanche', 'lundi', 'mardi', 'mercredi',\n 'jeudi', 'vendredi', 'samedi']\n $locutus.php.locales.fr.LC_TIME.b = ['jan', 'f\\u00E9v', 'mar', 'avr', 'mai',\n 'jun', 'jui', 'ao\\u00FB', 'sep', 'oct',\n 'nov', 'd\\u00E9c'\n ]\n $locutus.php.locales.fr.LC_TIME.B = ['janvier', 'f\\u00E9vrier', 'mars',\n 'avril', 'mai', 'juin', 'juillet', 'ao\\u00FBt',\n 'septembre', 'octobre', 'novembre', 'd\\u00E9cembre'\n ]\n $locutus.php.locales.fr.LC_TIME.c = '%a %d %b %Y %T %Z'\n $locutus.php.locales.fr.LC_TIME.p = ['', '']\n $locutus.php.locales.fr.LC_TIME.P = ['', '']\n $locutus.php.locales.fr.LC_TIME.x = '%d.%m.%Y'\n $locutus.php.locales.fr.LC_TIME.X = '%T'\n\n $locutus.php.locales.fr_CA = _copy($locutus.php.locales.fr)\n $locutus.php.locales.fr_CA.LC_TIME.x = '%Y-%m-%d'\n }\n if (!$locutus.php.locale) {\n $locutus.php.locale = 'en_US'\n // Try to establish the locale via the `window` global\n if (typeof window !== 'undefined' && window.document) {\n var d = window.document\n var NS_XHTML = 'https://www.w3.org/1999/xhtml'\n var NS_XML = 'https://www.w3.org/XML/1998/namespace'\n if (d.getElementsByTagNameNS &&\n d.getElementsByTagNameNS(NS_XHTML, 'html')[0]) {\n if (d.getElementsByTagNameNS(NS_XHTML, 'html')[0].getAttributeNS &&\n d.getElementsByTagNameNS(NS_XHTML, 'html')[0].getAttributeNS(NS_XML, 'lang')) {\n $locutus.php.locale = d.getElementsByTagName(NS_XHTML, 'html')[0]\n .getAttributeNS(NS_XML, 'lang')\n } else if (d.getElementsByTagNameNS(NS_XHTML, 'html')[0].lang) {\n // XHTML 1.0 only\n $locutus.php.locale = d.getElementsByTagNameNS(NS_XHTML, 'html')[0].lang\n }\n } else if (d.getElementsByTagName('html')[0] &&\n d.getElementsByTagName('html')[0].lang) {\n $locutus.php.locale = d.getElementsByTagName('html')[0].lang\n }\n }\n }\n // PHP-style\n $locutus.php.locale = $locutus.php.locale.replace('-', '_')\n // @todo: locale if declared locale hasn't been defined\n if (!($locutus.php.locale in $locutus.php.locales)) {\n if ($locutus.php.locale.replace(/_[a-zA-Z]+$/, '') in $locutus.php.locales) {\n $locutus.php.locale = $locutus.php.locale.replace(/_[a-zA-Z]+$/, '')\n }\n }\n\n if (!$locutus.php.localeCategories) {\n $locutus.php.localeCategories = {\n 'LC_COLLATE': $locutus.php.locale,\n // for string comparison, see strcoll()\n 'LC_CTYPE': $locutus.php.locale,\n // for character classification and conversion, for example strtoupper()\n 'LC_MONETARY': $locutus.php.locale,\n // for localeconv()\n 'LC_NUMERIC': $locutus.php.locale,\n // for decimal separator (See also localeconv())\n 'LC_TIME': $locutus.php.locale,\n // for date and time formatting with strftime()\n // for system responses (available if PHP was compiled with libintl):\n 'LC_MESSAGES': $locutus.php.locale\n }\n }\n\n if (locale === null || locale === '') {\n locale = getenv(category) || getenv('LANG')\n } else if (Object.prototype.toString.call(locale) === '[object Array]') {\n for (i = 0; i < locale.length; i++) {\n if (!(locale[i] in $locutus.php.locales)) {\n if (i === locale.length - 1) {\n // none found\n return false\n }\n continue\n }\n locale = locale[i]\n break\n }\n }\n\n // Just get the locale\n if (locale === '0' || locale === 0) {\n if (category === 'LC_ALL') {\n for (categ in $locutus.php.localeCategories) {\n // Add \".UTF-8\" or allow \".@latint\", etc. to the end?\n cats.push(categ + '=' + $locutus.php.localeCategories[categ])\n }\n return cats.join(';')\n }\n return $locutus.php.localeCategories[category]\n }\n\n if (!(locale in $locutus.php.locales)) {\n // Locale not found\n return false\n }\n\n // Set and get locale\n if (category === 'LC_ALL') {\n for (categ in $locutus.php.localeCategories) {\n $locutus.php.localeCategories[categ] = locale\n }\n } else {\n $locutus.php.localeCategories[category] = locale\n }\n\n return locale\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/php/strings/setlocale.js"],"names":["module","exports","setlocale","category","locale","getenv","require","categ","cats","i","_copy","orig","RegExp","Date","newObj","_nplurals2a","n","_nplurals2b","$global","window","global","$locutus","php","locales","fr_CA","LC_TIME","x","en","LC_COLLATE","str1","str2","LC_CTYPE","an","al","ct","dg","gr","lw","pr","pu","sp","up","xd","CODESET","lower","upper","a","A","b","B","c","p","P","r","X","alt_digits","ERA","ERA_YEAR","ERA_D_T_FMT","ERA_D_FMT","ERA_T_FMT","LC_MONETARY","int_curr_symbol","currency_symbol","mon_decimal_point","mon_thousands_sep","mon_grouping","positive_sign","negative_sign","int_frac_digits","frac_digits","p_cs_precedes","p_sep_by_space","n_cs_precedes","n_sep_by_space","p_sign_posn","n_sign_posn","LC_NUMERIC","decimal_point","thousands_sep","grouping","LC_MESSAGES","YESEXPR","NOEXPR","YESSTR","NOSTR","nplurals","en_US","en_GB","en_AU","C","fr","document","d","NS_XHTML","NS_XML","getElementsByTagNameNS","getAttributeNS","getElementsByTagName","lang","replace","localeCategories","Object","prototype","toString","call","length","push","join"],"mappings":"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","file":"setlocale.js","sourcesContent":["module.exports = function setlocale (category, locale) {\n // discuss at: https://locutus.io/php/setlocale/\n // original by: Brett Zamir (https://brett-zamir.me)\n // original by: Blues (https://hacks.bluesmoon.info/strftime/strftime.js)\n // original by: YUI Library (https://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html)\n // note 1: Is extensible, but currently only implements locales en,\n // note 1: en_US, en_GB, en_AU, fr, and fr_CA for LC_TIME only; C for LC_CTYPE;\n // note 1: C and en for LC_MONETARY/LC_NUMERIC; en for LC_COLLATE\n // note 1: Uses global: locutus to store locale info\n // note 1: Consider using https://demo.icu-project.org/icu-bin/locexp as basis for localization (as in i18n_loc_set_default())\n // note 2: This function tries to establish the locale via the `window` global.\n // note 2: This feature will not work in Node and hence is Browser-only\n // example 1: setlocale('LC_ALL', 'en_US')\n // returns 1: 'en_US'\n\n const getenv = require('../info/getenv')\n\n let categ = ''\n const cats = []\n let i = 0\n\n const _copy = function _copy (orig) {\n if (orig instanceof RegExp) {\n return new RegExp(orig)\n } else if (orig instanceof Date) {\n return new Date(orig)\n }\n const newObj = {}\n for (const i in orig) {\n if (typeof orig[i] === 'object') {\n newObj[i] = _copy(orig[i])\n } else {\n newObj[i] = orig[i]\n }\n }\n return newObj\n }\n\n // Function usable by a ngettext implementation (apparently not an accessible part of setlocale(),\n // but locale-specific) See https://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms\n // though amended with others from https://developer.mozilla.org/En/Localization_and_Plurals (new\n // categories noted with \"MDC\" below, though not sure of whether there is a convention for the\n // relative order of these newer groups as far as ngettext) The function name indicates the number\n // of plural forms (nplural) Need to look into https://cldr.unicode.org/ (maybe future JavaScript);\n // Dojo has some functions (under new BSD), including JSON conversions of LDML XML from CLDR:\n // https://bugs.dojotoolkit.org/browser/dojo/trunk/cldr and docs at\n // https://api.dojotoolkit.org/jsdoc/HEAD/dojo.cldr\n\n // var _nplurals1 = function (n) {\n // // e.g., Japanese\n // return 0\n // }\n const _nplurals2a = function (n) {\n // e.g., English\n return n !== 1 ? 1 : 0\n }\n const _nplurals2b = function (n) {\n // e.g., French\n return n > 1 ? 1 : 0\n }\n\n const $global = (typeof window !== 'undefined' ? window : global)\n $global.$locutus = $global.$locutus || {}\n const $locutus = $global.$locutus\n $locutus.php = $locutus.php || {}\n\n // Reconcile Windows vs. *nix locale names?\n // Allow different priority orders of languages, esp. if implement gettext as in\n // LANGUAGE env. var.? (e.g., show German if French is not available)\n if (!$locutus.php.locales ||\n !$locutus.php.locales.fr_CA ||\n !$locutus.php.locales.fr_CA.LC_TIME ||\n !$locutus.php.locales.fr_CA.LC_TIME.x) {\n // Can add to the locales\n $locutus.php.locales = {}\n\n $locutus.php.locales.en = {\n LC_COLLATE: function (str1, str2) {\n // @todo: This one taken from strcmp, but need for other locales; we don't use localeCompare\n // since its locale is not settable\n return (str1 === str2) ? 0 : ((str1 > str2) ? 1 : -1)\n },\n LC_CTYPE: {\n // Need to change any of these for English as opposed to C?\n an: /^[A-Za-z\\d]+$/g,\n al: /^[A-Za-z]+$/g,\n ct: /^[\\u0000-\\u001F\\u007F]+$/g,\n dg: /^[\\d]+$/g,\n gr: /^[\\u0021-\\u007E]+$/g,\n lw: /^[a-z]+$/g,\n pr: /^[\\u0020-\\u007E]+$/g,\n pu: /^[\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E]+$/g,\n sp: /^[\\f\\n\\r\\t\\v ]+$/g,\n up: /^[A-Z]+$/g,\n xd: /^[A-Fa-f\\d]+$/g,\n CODESET: 'UTF-8',\n // Used by sql_regcase\n lower: 'abcdefghijklmnopqrstuvwxyz',\n upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n },\n LC_TIME: {\n // Comments include nl_langinfo() constant equivalents and any\n // changes from Blues' implementation\n a: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n // ABDAY_\n A: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n // DAY_\n b: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n // ABMON_\n B: ['January', 'February', 'March', 'April', 'May', 'June', 'July',\n 'August', 'September', 'October',\n 'November', 'December'\n ],\n // MON_\n c: '%a %d %b %Y %r %Z',\n // D_T_FMT // changed %T to %r per results\n p: ['AM', 'PM'],\n // AM_STR/PM_STR\n P: ['am', 'pm'],\n // Not available in nl_langinfo()\n r: '%I:%M:%S %p',\n // T_FMT_AMPM (Fixed for all locales)\n x: '%m/%d/%Y',\n // D_FMT // switched order of %m and %d; changed %y to %Y (C uses %y)\n X: '%r',\n // T_FMT // changed from %T to %r (%T is default for C, not English US)\n // Following are from nl_langinfo() or https://www.cptec.inpe.br/sx4/sx4man2/g1ab02e/strftime.4.html\n alt_digits: '',\n // e.g., ordinal\n ERA: '',\n ERA_YEAR: '',\n ERA_D_T_FMT: '',\n ERA_D_FMT: '',\n ERA_T_FMT: ''\n },\n // Assuming distinction between numeric and monetary is thus:\n // See below for C locale\n LC_MONETARY: {\n // based on Windows \"english\" (English_United States.1252) locale\n int_curr_symbol: 'USD',\n currency_symbol: '$',\n mon_decimal_point: '.',\n mon_thousands_sep: ',',\n mon_grouping: [3],\n // use mon_thousands_sep; \"\" for no grouping; additional array members\n // indicate successive group lengths after first group\n // (e.g., if to be 1,23,456, could be [3, 2])\n positive_sign: '',\n negative_sign: '-',\n int_frac_digits: 2,\n // Fractional digits only for money defaults?\n frac_digits: 2,\n p_cs_precedes: 1,\n // positive currency symbol follows value = 0; precedes value = 1\n p_sep_by_space: 0,\n // 0: no space between curr. symbol and value; 1: space sep. them unless symb.\n // and sign are adjacent then space sep. them from value; 2: space sep. sign\n // and value unless symb. and sign are adjacent then space separates\n n_cs_precedes: 1,\n // see p_cs_precedes\n n_sep_by_space: 0,\n // see p_sep_by_space\n p_sign_posn: 3,\n // 0: parentheses surround quantity and curr. symbol; 1: sign precedes them;\n // 2: sign follows them; 3: sign immed. precedes curr. symbol; 4: sign immed.\n // succeeds curr. symbol\n n_sign_posn: 0 // see p_sign_posn\n },\n LC_NUMERIC: {\n // based on Windows \"english\" (English_United States.1252) locale\n decimal_point: '.',\n thousands_sep: ',',\n grouping: [3] // see mon_grouping, but for non-monetary values (use thousands_sep)\n },\n LC_MESSAGES: {\n YESEXPR: '^[yY].*',\n NOEXPR: '^[nN].*',\n YESSTR: '',\n NOSTR: ''\n },\n nplurals: _nplurals2a\n }\n $locutus.php.locales.en_US = _copy($locutus.php.locales.en)\n $locutus.php.locales.en_US.LC_TIME.c = '%a %d %b %Y %r %Z'\n $locutus.php.locales.en_US.LC_TIME.x = '%D'\n $locutus.php.locales.en_US.LC_TIME.X = '%r'\n // The following are based on *nix settings\n $locutus.php.locales.en_US.LC_MONETARY.int_curr_symbol = 'USD '\n $locutus.php.locales.en_US.LC_MONETARY.p_sign_posn = 1\n $locutus.php.locales.en_US.LC_MONETARY.n_sign_posn = 1\n $locutus.php.locales.en_US.LC_MONETARY.mon_grouping = [3, 3]\n $locutus.php.locales.en_US.LC_NUMERIC.thousands_sep = ''\n $locutus.php.locales.en_US.LC_NUMERIC.grouping = []\n\n $locutus.php.locales.en_GB = _copy($locutus.php.locales.en)\n $locutus.php.locales.en_GB.LC_TIME.r = '%l:%M:%S %P %Z'\n\n $locutus.php.locales.en_AU = _copy($locutus.php.locales.en_GB)\n // Assume C locale is like English (?) (We need C locale for LC_CTYPE)\n $locutus.php.locales.C = _copy($locutus.php.locales.en)\n $locutus.php.locales.C.LC_CTYPE.CODESET = 'ANSI_X3.4-1968'\n $locutus.php.locales.C.LC_MONETARY = {\n int_curr_symbol: '',\n currency_symbol: '',\n mon_decimal_point: '',\n mon_thousands_sep: '',\n mon_grouping: [],\n p_cs_precedes: 127,\n p_sep_by_space: 127,\n n_cs_precedes: 127,\n n_sep_by_space: 127,\n p_sign_posn: 127,\n n_sign_posn: 127,\n positive_sign: '',\n negative_sign: '',\n int_frac_digits: 127,\n frac_digits: 127\n }\n $locutus.php.locales.C.LC_NUMERIC = {\n decimal_point: '.',\n thousands_sep: '',\n grouping: []\n }\n // D_T_FMT\n $locutus.php.locales.C.LC_TIME.c = '%a %b %e %H:%M:%S %Y'\n // D_FMT\n $locutus.php.locales.C.LC_TIME.x = '%m/%d/%y'\n // T_FMT\n $locutus.php.locales.C.LC_TIME.X = '%H:%M:%S'\n $locutus.php.locales.C.LC_MESSAGES.YESEXPR = '^[yY]'\n $locutus.php.locales.C.LC_MESSAGES.NOEXPR = '^[nN]'\n\n $locutus.php.locales.fr = _copy($locutus.php.locales.en)\n $locutus.php.locales.fr.nplurals = _nplurals2b\n $locutus.php.locales.fr.LC_TIME.a = ['dim', 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam']\n $locutus.php.locales.fr.LC_TIME.A = ['dimanche', 'lundi', 'mardi', 'mercredi',\n 'jeudi', 'vendredi', 'samedi']\n $locutus.php.locales.fr.LC_TIME.b = ['jan', 'f\\u00E9v', 'mar', 'avr', 'mai',\n 'jun', 'jui', 'ao\\u00FB', 'sep', 'oct',\n 'nov', 'd\\u00E9c'\n ]\n $locutus.php.locales.fr.LC_TIME.B = ['janvier', 'f\\u00E9vrier', 'mars',\n 'avril', 'mai', 'juin', 'juillet', 'ao\\u00FBt',\n 'septembre', 'octobre', 'novembre', 'd\\u00E9cembre'\n ]\n $locutus.php.locales.fr.LC_TIME.c = '%a %d %b %Y %T %Z'\n $locutus.php.locales.fr.LC_TIME.p = ['', '']\n $locutus.php.locales.fr.LC_TIME.P = ['', '']\n $locutus.php.locales.fr.LC_TIME.x = '%d.%m.%Y'\n $locutus.php.locales.fr.LC_TIME.X = '%T'\n\n $locutus.php.locales.fr_CA = _copy($locutus.php.locales.fr)\n $locutus.php.locales.fr_CA.LC_TIME.x = '%Y-%m-%d'\n }\n if (!$locutus.php.locale) {\n $locutus.php.locale = 'en_US'\n // Try to establish the locale via the `window` global\n if (typeof window !== 'undefined' && window.document) {\n const d = window.document\n const NS_XHTML = 'https://www.w3.org/1999/xhtml'\n const NS_XML = 'https://www.w3.org/XML/1998/namespace'\n if (d.getElementsByTagNameNS &&\n d.getElementsByTagNameNS(NS_XHTML, 'html')[0]) {\n if (d.getElementsByTagNameNS(NS_XHTML, 'html')[0].getAttributeNS &&\n d.getElementsByTagNameNS(NS_XHTML, 'html')[0].getAttributeNS(NS_XML, 'lang')) {\n $locutus.php.locale = d.getElementsByTagName(NS_XHTML, 'html')[0]\n .getAttributeNS(NS_XML, 'lang')\n } else if (d.getElementsByTagNameNS(NS_XHTML, 'html')[0].lang) {\n // XHTML 1.0 only\n $locutus.php.locale = d.getElementsByTagNameNS(NS_XHTML, 'html')[0].lang\n }\n } else if (d.getElementsByTagName('html')[0] &&\n d.getElementsByTagName('html')[0].lang) {\n $locutus.php.locale = d.getElementsByTagName('html')[0].lang\n }\n }\n }\n // PHP-style\n $locutus.php.locale = $locutus.php.locale.replace('-', '_')\n // @todo: locale if declared locale hasn't been defined\n if (!($locutus.php.locale in $locutus.php.locales)) {\n if ($locutus.php.locale.replace(/_[a-zA-Z]+$/, '') in $locutus.php.locales) {\n $locutus.php.locale = $locutus.php.locale.replace(/_[a-zA-Z]+$/, '')\n }\n }\n\n if (!$locutus.php.localeCategories) {\n $locutus.php.localeCategories = {\n LC_COLLATE: $locutus.php.locale,\n // for string comparison, see strcoll()\n LC_CTYPE: $locutus.php.locale,\n // for character classification and conversion, for example strtoupper()\n LC_MONETARY: $locutus.php.locale,\n // for localeconv()\n LC_NUMERIC: $locutus.php.locale,\n // for decimal separator (See also localeconv())\n LC_TIME: $locutus.php.locale,\n // for date and time formatting with strftime()\n // for system responses (available if PHP was compiled with libintl):\n LC_MESSAGES: $locutus.php.locale\n }\n }\n\n if (locale === null || locale === '') {\n locale = getenv(category) || getenv('LANG')\n } else if (Object.prototype.toString.call(locale) === '[object Array]') {\n for (i = 0; i < locale.length; i++) {\n if (!(locale[i] in $locutus.php.locales)) {\n if (i === locale.length - 1) {\n // none found\n return false\n }\n continue\n }\n locale = locale[i]\n break\n }\n }\n\n // Just get the locale\n if (locale === '0' || locale === 0) {\n if (category === 'LC_ALL') {\n for (categ in $locutus.php.localeCategories) {\n // Add \".UTF-8\" or allow \".@latint\", etc. to the end?\n cats.push(categ + '=' + $locutus.php.localeCategories[categ])\n }\n return cats.join(';')\n }\n return $locutus.php.localeCategories[category]\n }\n\n if (!(locale in $locutus.php.locales)) {\n // Locale not found\n return false\n }\n\n // Set and get locale\n if (category === 'LC_ALL') {\n for (categ in $locutus.php.localeCategories) {\n $locutus.php.localeCategories[categ] = locale\n }\n } else {\n $locutus.php.localeCategories[category] = locale\n }\n\n return locale\n}\n"]}
|
package/php/strings/sha1.js
CHANGED
|
@@ -12,7 +12,7 @@ module.exports = function sha1(str) {
|
|
|
12
12
|
// example 1: sha1('Kevin van Zonneveld')
|
|
13
13
|
// returns 1: '54916d2e62f65b3afa6e192e6a601cdbe5cb5897'
|
|
14
14
|
|
|
15
|
-
var hash;
|
|
15
|
+
var hash = void 0;
|
|
16
16
|
try {
|
|
17
17
|
var crypto = require('crypto');
|
|
18
18
|
var sha1sum = crypto.createHash('sha1');
|
|
@@ -33,8 +33,8 @@ module.exports = function sha1(str) {
|
|
|
33
33
|
|
|
34
34
|
var _cvtHex = function _cvtHex(val) {
|
|
35
35
|
var str = '';
|
|
36
|
-
var i;
|
|
37
|
-
var v;
|
|
36
|
+
var i = void 0;
|
|
37
|
+
var v = void 0;
|
|
38
38
|
|
|
39
39
|
for (i = 7; i >= 0; i--) {
|
|
40
40
|
v = val >>> i * 4 & 0x0f;
|
|
@@ -43,16 +43,21 @@ module.exports = function sha1(str) {
|
|
|
43
43
|
return str;
|
|
44
44
|
};
|
|
45
45
|
|
|
46
|
-
var blockstart;
|
|
47
|
-
var i,
|
|
46
|
+
var blockstart = void 0;
|
|
47
|
+
var i = void 0,
|
|
48
|
+
j = void 0;
|
|
48
49
|
var W = new Array(80);
|
|
49
50
|
var H0 = 0x67452301;
|
|
50
51
|
var H1 = 0xEFCDAB89;
|
|
51
52
|
var H2 = 0x98BADCFE;
|
|
52
53
|
var H3 = 0x10325476;
|
|
53
54
|
var H4 = 0xC3D2E1F0;
|
|
54
|
-
var A
|
|
55
|
-
|
|
55
|
+
var A = void 0,
|
|
56
|
+
B = void 0,
|
|
57
|
+
C = void 0,
|
|
58
|
+
D = void 0,
|
|
59
|
+
E = void 0;
|
|
60
|
+
var temp = void 0;
|
|
56
61
|
|
|
57
62
|
// utf8_encode
|
|
58
63
|
str = unescape(encodeURIComponent(str));
|
package/php/strings/sha1.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/strings/sha1.js"],"names":["module","exports","sha1","str","hash","crypto","require","sha1sum","createHash","update","digest","e","undefined","_rotLeft","n","s","t4","_cvtHex","val","i","v","toString","blockstart","j","W","Array","H0","H1","H2","H3","H4","A","B","C","D","E","temp","unescape","encodeURIComponent","strLen","length","wordArray","charCodeAt","push","toLowerCase"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,IAAT,CAAeC,GAAf,EAAoB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/strings/sha1.js"],"names":["module","exports","sha1","str","hash","crypto","require","sha1sum","createHash","update","digest","e","undefined","_rotLeft","n","s","t4","_cvtHex","val","i","v","toString","blockstart","j","W","Array","H0","H1","H2","H3","H4","A","B","C","D","E","temp","unescape","encodeURIComponent","strLen","length","wordArray","charCodeAt","push","toLowerCase"],"mappings":"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","file":"sha1.js","sourcesContent":["module.exports = function sha1 (str) {\n // discuss at: https://locutus.io/php/sha1/\n // original by: Webtoolkit.info (https://www.webtoolkit.info/)\n // improved by: Michael White (https://getsprink.com)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // input by: Brett Zamir (https://brett-zamir.me)\n // note 1: Keep in mind that in accordance with PHP, the whole string is buffered and then\n // note 1: hashed. If available, we'd recommend using Node's native crypto modules directly\n // note 1: in a steaming fashion for faster and more efficient hashing\n // example 1: sha1('Kevin van Zonneveld')\n // returns 1: '54916d2e62f65b3afa6e192e6a601cdbe5cb5897'\n\n let hash\n try {\n const crypto = require('crypto')\n const sha1sum = crypto.createHash('sha1')\n sha1sum.update(str)\n hash = sha1sum.digest('hex')\n } catch (e) {\n hash = undefined\n }\n\n if (hash !== undefined) {\n return hash\n }\n\n const _rotLeft = function (n, s) {\n const t4 = (n << s) | (n >>> (32 - s))\n return t4\n }\n\n const _cvtHex = function (val) {\n let str = ''\n let i\n let v\n\n for (i = 7; i >= 0; i--) {\n v = (val >>> (i * 4)) & 0x0f\n str += v.toString(16)\n }\n return str\n }\n\n let blockstart\n let i, j\n const W = new Array(80)\n let H0 = 0x67452301\n let H1 = 0xEFCDAB89\n let H2 = 0x98BADCFE\n let H3 = 0x10325476\n let H4 = 0xC3D2E1F0\n let A, B, C, D, E\n let temp\n\n // utf8_encode\n str = unescape(encodeURIComponent(str))\n const strLen = str.length\n\n const wordArray = []\n for (i = 0; i < strLen - 3; i += 4) {\n j = str.charCodeAt(i) << 24 |\n str.charCodeAt(i + 1) << 16 |\n str.charCodeAt(i + 2) << 8 |\n str.charCodeAt(i + 3)\n wordArray.push(j)\n }\n\n switch (strLen % 4) {\n case 0:\n i = 0x080000000\n break\n case 1:\n i = str.charCodeAt(strLen - 1) << 24 | 0x0800000\n break\n case 2:\n i = str.charCodeAt(strLen - 2) << 24 | str.charCodeAt(strLen - 1) << 16 | 0x08000\n break\n case 3:\n i = str.charCodeAt(strLen - 3) << 24 |\n str.charCodeAt(strLen - 2) << 16 |\n str.charCodeAt(strLen - 1) <<\n 8 | 0x80\n break\n }\n\n wordArray.push(i)\n\n while ((wordArray.length % 16) !== 14) {\n wordArray.push(0)\n }\n\n wordArray.push(strLen >>> 29)\n wordArray.push((strLen << 3) & 0x0ffffffff)\n\n for (blockstart = 0; blockstart < wordArray.length; blockstart += 16) {\n for (i = 0; i < 16; i++) {\n W[i] = wordArray[blockstart + i]\n }\n for (i = 16; i <= 79; i++) {\n W[i] = _rotLeft(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1)\n }\n\n A = H0\n B = H1\n C = H2\n D = H3\n E = H4\n\n for (i = 0; i <= 19; i++) {\n temp = (_rotLeft(A, 5) + ((B & C) | (~B & D)) + E + W[i] + 0x5A827999) & 0x0ffffffff\n E = D\n D = C\n C = _rotLeft(B, 30)\n B = A\n A = temp\n }\n\n for (i = 20; i <= 39; i++) {\n temp = (_rotLeft(A, 5) + (B ^ C ^ D) + E + W[i] + 0x6ED9EBA1) & 0x0ffffffff\n E = D\n D = C\n C = _rotLeft(B, 30)\n B = A\n A = temp\n }\n\n for (i = 40; i <= 59; i++) {\n temp = (_rotLeft(A, 5) + ((B & C) | (B & D) | (C & D)) + E + W[i] + 0x8F1BBCDC) & 0x0ffffffff\n E = D\n D = C\n C = _rotLeft(B, 30)\n B = A\n A = temp\n }\n\n for (i = 60; i <= 79; i++) {\n temp = (_rotLeft(A, 5) + (B ^ C ^ D) + E + W[i] + 0xCA62C1D6) & 0x0ffffffff\n E = D\n D = C\n C = _rotLeft(B, 30)\n B = A\n A = temp\n }\n\n H0 = (H0 + A) & 0x0ffffffff\n H1 = (H1 + B) & 0x0ffffffff\n H2 = (H2 + C) & 0x0ffffffff\n H3 = (H3 + D) & 0x0ffffffff\n H4 = (H4 + E) & 0x0ffffffff\n }\n\n temp = _cvtHex(H0) + _cvtHex(H1) + _cvtHex(H2) + _cvtHex(H3) + _cvtHex(H4)\n return temp.toLowerCase()\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/strings/sha1_file.js"],"names":["module","exports","sha1_file","str_filename","fileGetContents","require","sha1","buf"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,SAAT,CAAoBC,YAApB,EAAkC;AAAE;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/strings/sha1_file.js"],"names":["module","exports","sha1_file","str_filename","fileGetContents","require","sha1","buf"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,SAAT,CAAoBC,YAApB,EAAkC;AAAE;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,kBAAkBC,QAAQ,iCAAR,CAAxB;AACA,MAAMC,OAAOD,QAAQ,iBAAR,CAAb;AACA,MAAME,MAAMH,gBAAgBD,YAAhB,CAAZ;;AAEA,MAAII,QAAQ,KAAZ,EAAmB;AACjB,WAAO,KAAP;AACD;;AAED,SAAOD,KAAKC,GAAL,CAAP;AACD,CAnBD","file":"sha1_file.js","sourcesContent":["module.exports = function sha1_file (str_filename) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/sha1_file/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // note 1: Relies on file_get_contents which does not work in the browser, so Node only.\n // note 2: Keep in mind that in accordance with PHP, the whole file is buffered and then\n // note 2: hashed. We'd recommend Node's native crypto modules for faster and more\n // note 2: efficient hashing\n // example 1: sha1_file('test/never-change.txt')\n // returns 1: '0ea65a1f4b4d69712affc58240932f3eb8a2af66'\n\n const fileGetContents = require('../filesystem/file_get_contents')\n const sha1 = require('../strings/sha1')\n const buf = fileGetContents(str_filename)\n\n if (buf === false) {\n return false\n }\n\n return sha1(buf)\n}\n"]}
|
|
@@ -24,10 +24,10 @@ module.exports = function similar_text(first, second, percent) {
|
|
|
24
24
|
var max = 0;
|
|
25
25
|
var firstLength = first.length;
|
|
26
26
|
var secondLength = second.length;
|
|
27
|
-
var p;
|
|
28
|
-
var q;
|
|
29
|
-
var l;
|
|
30
|
-
var sum;
|
|
27
|
+
var p = void 0;
|
|
28
|
+
var q = void 0;
|
|
29
|
+
var l = void 0;
|
|
30
|
+
var sum = void 0;
|
|
31
31
|
|
|
32
32
|
for (p = 0; p < firstLength; p++) {
|
|
33
33
|
for (q = 0; q < secondLength; q++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/strings/similar_text.js"],"names":["module","exports","similar_text","first","second","percent","pos1","pos2","max","firstLength","length","secondLength","p","q","l","sum","charAt","substr"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,YAAT,CAAuBC,KAAvB,EAA8BC,MAA9B,EAAsCC,OAAtC,EAA+C;AAAE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIF,UAAU,IAAV,IACFC,WAAW,IADT,IAEF,OAAOD,KAAP,KAAiB,WAFf,IAGF,OAAOC,MAAP,KAAkB,WAHpB,EAGiC;AAC/B,WAAO,CAAP;AACD;;AAEDD,WAAS,EAAT;AACAC,YAAU,EAAV;;AAEA,MAAIE,OAAO,CAAX;AACA,MAAIC,OAAO,CAAX;AACA,MAAIC,MAAM,CAAV;AACA,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/strings/similar_text.js"],"names":["module","exports","similar_text","first","second","percent","pos1","pos2","max","firstLength","length","secondLength","p","q","l","sum","charAt","substr"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,YAAT,CAAuBC,KAAvB,EAA8BC,MAA9B,EAAsCC,OAAtC,EAA+C;AAAE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIF,UAAU,IAAV,IACFC,WAAW,IADT,IAEF,OAAOD,KAAP,KAAiB,WAFf,IAGF,OAAOC,MAAP,KAAkB,WAHpB,EAGiC;AAC/B,WAAO,CAAP;AACD;;AAEDD,WAAS,EAAT;AACAC,YAAU,EAAV;;AAEA,MAAIE,OAAO,CAAX;AACA,MAAIC,OAAO,CAAX;AACA,MAAIC,MAAM,CAAV;AACA,MAAMC,cAAcN,MAAMO,MAA1B;AACA,MAAMC,eAAeP,OAAOM,MAA5B;AACA,MAAIE,UAAJ;AACA,MAAIC,UAAJ;AACA,MAAIC,UAAJ;AACA,MAAIC,YAAJ;;AAEA,OAAKH,IAAI,CAAT,EAAYA,IAAIH,WAAhB,EAA6BG,GAA7B,EAAkC;AAChC,SAAKC,IAAI,CAAT,EAAYA,IAAIF,YAAhB,EAA8BE,GAA9B,EAAmC;AACjC,WAAKC,IAAI,CAAT,EAAaF,IAAIE,CAAJ,GAAQL,WAAT,IAA0BI,IAAIC,CAAJ,GAAQH,YAAlC,IAAoDR,MAAMa,MAAN,CAAaJ,IAAIE,CAAjB,MAAwBV,OAAOY,MAAP,CAAcH,IAAIC,CAAlB,CAAxF,EAA+GA,GAA/G,EAAoH,CAAE;AACpH;AACD;AACD,UAAIA,IAAIN,GAAR,EAAa;AACXA,cAAMM,CAAN;AACAR,eAAOM,CAAP;AACAL,eAAOM,CAAP;AACD;AACF;AACF;;AAEDE,QAAMP,GAAN;;AAEA,MAAIO,GAAJ,EAAS;AACP,QAAIT,QAAQC,IAAZ,EAAkB;AAChBQ,aAAOb,aAAaC,MAAMc,MAAN,CAAa,CAAb,EAAgBX,IAAhB,CAAb,EAAoCF,OAAOa,MAAP,CAAc,CAAd,EAAiBV,IAAjB,CAApC,CAAP;AACD;;AAED,QAAKD,OAAOE,GAAP,GAAaC,WAAd,IAA+BF,OAAOC,GAAP,GAAaG,YAAhD,EAA+D;AAC7DI,aAAOb,aACLC,MAAMc,MAAN,CAAaX,OAAOE,GAApB,EAAyBC,cAAcH,IAAd,GAAqBE,GAA9C,CADK,EAELJ,OAAOa,MAAP,CAAcV,OAAOC,GAArB,EACEG,eAAeJ,IAAf,GAAsBC,GADxB,CAFK,CAAP;AAID;AACF;;AAED,MAAI,CAACH,OAAL,EAAc;AACZ,WAAOU,GAAP;AACD;;AAED,SAAQA,MAAM,GAAP,IAAeN,cAAcE,YAA7B,CAAP;AACD,CAhED","file":"similar_text.js","sourcesContent":["module.exports = function similar_text (first, second, percent) { // eslint-disable-line camelcase\n // discuss at: https://locutus.io/php/similar_text/\n // original by: Rafał Kukawski (https://blog.kukawski.pl)\n // bugfixed by: Chris McMacken\n // bugfixed by: Jarkko Rantavuori original by findings in stackoverflow (https://stackoverflow.com/questions/14136349/how-does-similar-text-work)\n // improved by: Markus Padourek (taken from https://www.kevinhq.com/2012/06/php-similartext-function-in-javascript_16.html)\n // example 1: similar_text('Hello World!', 'Hello locutus!')\n // returns 1: 8\n // example 2: similar_text('Hello World!', null)\n // returns 2: 0\n\n if (first === null ||\n second === null ||\n typeof first === 'undefined' ||\n typeof second === 'undefined') {\n return 0\n }\n\n first += ''\n second += ''\n\n let pos1 = 0\n let pos2 = 0\n let max = 0\n const firstLength = first.length\n const secondLength = second.length\n let p\n let q\n let l\n let sum\n\n for (p = 0; p < firstLength; p++) {\n for (q = 0; q < secondLength; q++) {\n for (l = 0; (p + l < firstLength) && (q + l < secondLength) && (first.charAt(p + l) === second.charAt(q + l)); l++) { // eslint-disable-line max-len\n // @todo: ^-- break up this crazy for loop and put the logic in its body\n }\n if (l > max) {\n max = l\n pos1 = p\n pos2 = q\n }\n }\n }\n\n sum = max\n\n if (sum) {\n if (pos1 && pos2) {\n sum += similar_text(first.substr(0, pos1), second.substr(0, pos2))\n }\n\n if ((pos1 + max < firstLength) && (pos2 + max < secondLength)) {\n sum += similar_text(\n first.substr(pos1 + max, firstLength - pos1 - max),\n second.substr(pos2 + max,\n secondLength - pos2 - max))\n }\n }\n\n if (!percent) {\n return sum\n }\n\n return (sum * 200) / (firstLength + secondLength)\n}\n"]}
|
package/php/strings/soundex.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/strings/soundex.js"],"names":["module","exports","soundex","str","toUpperCase","sdx","m","B","F","P","V","C","G","J","K","Q","S","X","Z","D","T","L","M","N","R","i","j","s","c","p","charAt","join"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,GAAlB,EAAuB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEAA,QAAM,CAACA,MAAM,EAAP,EAAWC,WAAX,EAAN;AACA,MAAI,CAACD,GAAL,EAAU;AACR,WAAO,EAAP;AACD;;AAED,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/strings/soundex.js"],"names":["module","exports","soundex","str","toUpperCase","sdx","m","B","F","P","V","C","G","J","K","Q","S","X","Z","D","T","L","M","N","R","i","j","s","c","p","charAt","join"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAkBC,GAAlB,EAAuB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEAA,QAAM,CAACA,MAAM,EAAP,EAAWC,WAAX,EAAN;AACA,MAAI,CAACD,GAAL,EAAU;AACR,WAAO,EAAP;AACD;;AAED,MAAME,MAAM,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CAAZ;AACA,MAAMC,IAAI;AACRC,OAAG,CADK;AAERC,OAAG,CAFK;AAGRC,OAAG,CAHK;AAIRC,OAAG,CAJK;AAKRC,OAAG,CALK;AAMRC,OAAG,CANK;AAORC,OAAG,CAPK;AAQRC,OAAG,CARK;AASRC,OAAG,CATK;AAURC,OAAG,CAVK;AAWRC,OAAG,CAXK;AAYRC,OAAG,CAZK;AAaRC,OAAG,CAbK;AAcRC,OAAG,CAdK;AAeRC,OAAG,CAfK;AAgBRC,OAAG,CAhBK;AAiBRC,OAAG,CAjBK;AAkBRC,OAAG;AAlBK,GAAV;AAoBA,MAAIC,IAAI,CAAR;AACA,MAAIC,UAAJ;AACA,MAAIC,IAAI,CAAR;AACA,MAAIC,UAAJ;AACA,MAAIC,UAAJ;;AAEA,SAAO,CAACD,IAAIzB,IAAI2B,MAAJ,CAAWL,GAAX,CAAL,KAAyBE,IAAI,CAApC,EAAuC;AACrC,QAAKD,IAAIpB,EAAEsB,CAAF,CAAT,EAAgB;AACd,UAAIF,MAAMG,CAAV,EAAa;AACXxB,YAAIsB,GAAJ,IAAWE,IAAIH,CAAf;AACD;AACF,KAJD,MAIO;AACLC,WAAKF,MAAM,CAAX;AACAI,UAAI,CAAJ;AACD;AACF;;AAEDxB,MAAI,CAAJ,IAASF,IAAI2B,MAAJ,CAAW,CAAX,CAAT;;AAEA,SAAOzB,IAAI0B,IAAJ,CAAS,EAAT,CAAP;AACD,CA/DD","file":"soundex.js","sourcesContent":["module.exports = function soundex (str) {\n // discuss at: https://locutus.io/php/soundex/\n // original by: Jonas Raoni Soares Silva (https://www.jsfromhell.com)\n // original by: Arnout Kazemier (https://www.3rd-Eden.com)\n // improved by: Jack\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // bugfixed by: Kevin van Zonneveld (https://kvz.io)\n // input by: Brett Zamir (https://brett-zamir.me)\n // revised by: Rafał Kukawski (https://blog.kukawski.pl)\n // example 1: soundex('Kevin')\n // returns 1: 'K150'\n // example 2: soundex('Ellery')\n // returns 2: 'E460'\n // example 3: soundex('Euler')\n // returns 3: 'E460'\n\n str = (str + '').toUpperCase()\n if (!str) {\n return ''\n }\n\n const sdx = [0, 0, 0, 0]\n const m = {\n B: 1,\n F: 1,\n P: 1,\n V: 1,\n C: 2,\n G: 2,\n J: 2,\n K: 2,\n Q: 2,\n S: 2,\n X: 2,\n Z: 2,\n D: 3,\n T: 3,\n L: 4,\n M: 5,\n N: 5,\n R: 6\n }\n let i = 0\n let j\n let s = 0\n let c\n let p\n\n while ((c = str.charAt(i++)) && s < 4) {\n if ((j = m[c])) {\n if (j !== p) {\n sdx[s++] = p = j\n }\n } else {\n s += i === 1\n p = 0\n }\n }\n\n sdx[0] = str.charAt(0)\n\n return sdx.join('')\n}\n"]}
|
package/php/strings/split.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/strings/split.js"],"names":["module","exports","split","delimiter","string","explode","require"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,KAAT,CAAgBC,SAAhB,EAA2BC,MAA3B,EAAmC;AAClD;AACA;AACA;AACA;;AAEA,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/strings/split.js"],"names":["module","exports","split","delimiter","string","explode","require"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,KAAT,CAAgBC,SAAhB,EAA2BC,MAA3B,EAAmC;AAClD;AACA;AACA;AACA;;AAEA,MAAMC,UAAUC,QAAQ,oBAAR,CAAhB;AACA,SAAOD,QAAQF,SAAR,EAAmBC,MAAnB,CAAP;AACD,CARD","file":"split.js","sourcesContent":["module.exports = function split (delimiter, string) {\n // discuss at: https://locutus.io/php/split/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // example 1: split(' ', 'Kevin van Zonneveld')\n // returns 1: ['Kevin', 'van', 'Zonneveld']\n\n const explode = require('../strings/explode')\n return explode(delimiter, string)\n}\n"]}
|
package/php/strings/sprintf.js
CHANGED
|
@@ -77,7 +77,11 @@ module.exports = function sprintf() {
|
|
|
77
77
|
|
|
78
78
|
// doFormat()
|
|
79
79
|
var doFormat = function doFormat(substring, argIndex, modifiers, minWidth, precision, specifier) {
|
|
80
|
-
var number
|
|
80
|
+
var number = void 0,
|
|
81
|
+
prefix = void 0,
|
|
82
|
+
method = void 0,
|
|
83
|
+
textTransform = void 0,
|
|
84
|
+
value = void 0;
|
|
81
85
|
|
|
82
86
|
if (substring === '%%') {
|
|
83
87
|
return '%';
|
|
@@ -87,7 +91,8 @@ module.exports = function sprintf() {
|
|
|
87
91
|
var padChar = ' '; // pad with spaces by default
|
|
88
92
|
var leftJustify = false;
|
|
89
93
|
var positiveNumberPrefix = '';
|
|
90
|
-
var j,
|
|
94
|
+
var j = void 0,
|
|
95
|
+
l = void 0;
|
|
91
96
|
|
|
92
97
|
for (j = 0, l = modifiers.length; j < l; j++) {
|
|
93
98
|
switch (modifiers.charAt(j)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/strings/sprintf.js"],"names":["module","exports","sprintf","regex","args","arguments","i","format","_pad","str","len","chr","leftJustify","padding","length","Array","join","justify","value","prefix","minWidth","padChar","diff","slice","_formatBaseX","base","precision","number","toString","_formatString","customPadChar","undefined","doFormat","substring","argIndex","modifiers","specifier","method","textTransform","positiveNumberPrefix","j","l","charAt","isFinite","Error","indexOf","String","fromCharCode","toUpperCase","Math","round","abs","toLowerCase","replace","err"],"mappings":"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","file":"sprintf.js","sourcesContent":["module.exports = function sprintf () {\n // discuss at: https://locutus.io/php/sprintf/\n // original by: Ash Searle (https://hexmen.com/blog/)\n // improved by: Michael White (https://getsprink.com)\n // improved by: Jack\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Dj\n // improved by: Allidylls\n // input by: Paulo Freitas\n // input by: Brett Zamir (https://brett-zamir.me)\n // improved by: Rafał Kukawski (https://kukawski.pl)\n // example 1: sprintf(\"%01.2f\", 123.1)\n // returns 1: '123.10'\n // example 2: sprintf(\"[%10s]\", 'monkey')\n // returns 2: '[ monkey]'\n // example 3: sprintf(\"[%'#10s]\", 'monkey')\n // returns 3: '[####monkey]'\n // example 4: sprintf(\"%d\", 123456789012345)\n // returns 4: '123456789012345'\n // example 5: sprintf('%-03s', 'E')\n // returns 5: 'E00'\n // example 6: sprintf('%+010d', 9)\n // returns 6: '+000000009'\n // example 7: sprintf('%+0\\'@10d', 9)\n // returns 7: '@@@@@@@@+9'\n // example 8: sprintf('%.f', 3.14)\n // returns 8: '3.140000'\n // example 9: sprintf('%% %2$d', 1, 2)\n // returns 9: '% 2'\n\n var regex = /%%|%(?:(\\d+)\\$)?((?:[-+#0 ]|'[\\s\\S])*)(\\d+)?(?:\\.(\\d*))?([\\s\\S])/g\n var args = arguments\n var i = 0\n var format = args[i++]\n\n var _pad = function (str, len, chr, leftJustify) {\n if (!chr) {\n chr = ' '\n }\n var padding = (str.length >= len) ? '' : new Array(1 + len - str.length >>> 0).join(chr)\n return leftJustify ? str + padding : padding + str\n }\n\n var justify = function (value, prefix, leftJustify, minWidth, padChar) {\n var diff = minWidth - value.length\n if (diff > 0) {\n // when padding with zeros\n // on the left side\n // keep sign (+ or -) in front\n if (!leftJustify && padChar === '0') {\n value = [\n value.slice(0, prefix.length),\n _pad('', diff, '0', true),\n value.slice(prefix.length)\n ].join('')\n } else {\n value = _pad(value, minWidth, padChar, leftJustify)\n }\n }\n return value\n }\n\n var _formatBaseX = function (value, base, leftJustify, minWidth, precision, padChar) {\n // Note: casts negative numbers to positive ones\n var number = value >>> 0\n value = _pad(number.toString(base), precision || 0, '0', false)\n return justify(value, '', leftJustify, minWidth, padChar)\n }\n\n // _formatString()\n var _formatString = function (value, leftJustify, minWidth, precision, customPadChar) {\n if (precision !== null && precision !== undefined) {\n value = value.slice(0, precision)\n }\n return justify(value, '', leftJustify, minWidth, customPadChar)\n }\n\n // doFormat()\n var doFormat = function (substring, argIndex, modifiers, minWidth, precision, specifier) {\n var number, prefix, method, textTransform, value\n\n if (substring === '%%') {\n return '%'\n }\n\n // parse modifiers\n var padChar = ' ' // pad with spaces by default\n var leftJustify = false\n var positiveNumberPrefix = ''\n var j, l\n\n for (j = 0, l = modifiers.length; j < l; j++) {\n switch (modifiers.charAt(j)) {\n case ' ':\n case '0':\n padChar = modifiers.charAt(j)\n break\n case '+':\n positiveNumberPrefix = '+'\n break\n case '-':\n leftJustify = true\n break\n case \"'\":\n if (j + 1 < l) {\n padChar = modifiers.charAt(j + 1)\n j++\n }\n break\n }\n }\n\n if (!minWidth) {\n minWidth = 0\n } else {\n minWidth = +minWidth\n }\n\n if (!isFinite(minWidth)) {\n throw new Error('Width must be finite')\n }\n\n if (!precision) {\n precision = (specifier === 'd') ? 0 : 'fFeE'.indexOf(specifier) > -1 ? 6 : undefined\n } else {\n precision = +precision\n }\n\n if (argIndex && +argIndex === 0) {\n throw new Error('Argument number must be greater than zero')\n }\n\n if (argIndex && +argIndex >= args.length) {\n throw new Error('Too few arguments')\n }\n\n value = argIndex ? args[+argIndex] : args[i++]\n\n switch (specifier) {\n case '%':\n return '%'\n case 's':\n return _formatString(value + '', leftJustify, minWidth, precision, padChar)\n case 'c':\n return _formatString(String.fromCharCode(+value), leftJustify, minWidth, precision, padChar)\n case 'b':\n return _formatBaseX(value, 2, leftJustify, minWidth, precision, padChar)\n case 'o':\n return _formatBaseX(value, 8, leftJustify, minWidth, precision, padChar)\n case 'x':\n return _formatBaseX(value, 16, leftJustify, minWidth, precision, padChar)\n case 'X':\n return _formatBaseX(value, 16, leftJustify, minWidth, precision, padChar)\n .toUpperCase()\n case 'u':\n return _formatBaseX(value, 10, leftJustify, minWidth, precision, padChar)\n case 'i':\n case 'd':\n number = +value || 0\n // Plain Math.round doesn't just truncate\n number = Math.round(number - number % 1)\n prefix = number < 0 ? '-' : positiveNumberPrefix\n value = prefix + _pad(String(Math.abs(number)), precision, '0', false)\n\n if (leftJustify && padChar === '0') {\n // can't right-pad 0s on integers\n padChar = ' '\n }\n return justify(value, prefix, leftJustify, minWidth, padChar)\n case 'e':\n case 'E':\n case 'f': // @todo: Should handle locales (as per setlocale)\n case 'F':\n case 'g':\n case 'G':\n number = +value\n prefix = number < 0 ? '-' : positiveNumberPrefix\n method = ['toExponential', 'toFixed', 'toPrecision']['efg'.indexOf(specifier.toLowerCase())]\n textTransform = ['toString', 'toUpperCase']['eEfFgG'.indexOf(specifier) % 2]\n value = prefix + Math.abs(number)[method](precision)\n return justify(value, prefix, leftJustify, minWidth, padChar)[textTransform]()\n default:\n // unknown specifier, consume that char and return empty\n return ''\n }\n }\n\n try {\n return format.replace(regex, doFormat)\n } catch (err) {\n return false\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/php/strings/sprintf.js"],"names":["module","exports","sprintf","regex","args","arguments","i","format","_pad","str","len","chr","leftJustify","padding","length","Array","join","justify","value","prefix","minWidth","padChar","diff","slice","_formatBaseX","base","precision","number","toString","_formatString","customPadChar","undefined","doFormat","substring","argIndex","modifiers","specifier","method","textTransform","positiveNumberPrefix","j","l","charAt","isFinite","Error","indexOf","String","fromCharCode","toUpperCase","Math","round","abs","toLowerCase","replace","err"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,GAAoB;AACnC;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,QAAQ,mEAAd;AACA,MAAMC,OAAOC,SAAb;AACA,MAAIC,IAAI,CAAR;AACA,MAAMC,SAASH,KAAKE,GAAL,CAAf;;AAEA,MAAME,OAAO,SAAPA,IAAO,CAAUC,GAAV,EAAeC,GAAf,EAAoBC,GAApB,EAAyBC,WAAzB,EAAsC;AACjD,QAAI,CAACD,GAAL,EAAU;AACRA,YAAM,GAAN;AACD;AACD,QAAME,UAAWJ,IAAIK,MAAJ,IAAcJ,GAAf,GAAsB,EAAtB,GAA2B,IAAIK,KAAJ,CAAU,IAAIL,GAAJ,GAAUD,IAAIK,MAAd,KAAyB,CAAnC,EAAsCE,IAAtC,CAA2CL,GAA3C,CAA3C;AACA,WAAOC,cAAcH,MAAMI,OAApB,GAA8BA,UAAUJ,GAA/C;AACD,GAND;;AAQA,MAAMQ,UAAU,SAAVA,OAAU,CAAUC,KAAV,EAAiBC,MAAjB,EAAyBP,WAAzB,EAAsCQ,QAAtC,EAAgDC,OAAhD,EAAyD;AACvE,QAAMC,OAAOF,WAAWF,MAAMJ,MAA9B;AACA,QAAIQ,OAAO,CAAX,EAAc;AACZ;AACA;AACA;AACA,UAAI,CAACV,WAAD,IAAgBS,YAAY,GAAhC,EAAqC;AACnCH,gBAAQ,CACNA,MAAMK,KAAN,CAAY,CAAZ,EAAeJ,OAAOL,MAAtB,CADM,EAENN,KAAK,EAAL,EAASc,IAAT,EAAe,GAAf,EAAoB,IAApB,CAFM,EAGNJ,MAAMK,KAAN,CAAYJ,OAAOL,MAAnB,CAHM,EAINE,IAJM,CAID,EAJC,CAAR;AAKD,OAND,MAMO;AACLE,gBAAQV,KAAKU,KAAL,EAAYE,QAAZ,EAAsBC,OAAtB,EAA+BT,WAA/B,CAAR;AACD;AACF;AACD,WAAOM,KAAP;AACD,GAjBD;;AAmBA,MAAMM,eAAe,SAAfA,YAAe,CAAUN,KAAV,EAAiBO,IAAjB,EAAuBb,WAAvB,EAAoCQ,QAApC,EAA8CM,SAA9C,EAAyDL,OAAzD,EAAkE;AACrF;AACA,QAAMM,SAAST,UAAU,CAAzB;AACAA,YAAQV,KAAKmB,OAAOC,QAAP,CAAgBH,IAAhB,CAAL,EAA4BC,aAAa,CAAzC,EAA4C,GAA5C,EAAiD,KAAjD,CAAR;AACA,WAAOT,QAAQC,KAAR,EAAe,EAAf,EAAmBN,WAAnB,EAAgCQ,QAAhC,EAA0CC,OAA1C,CAAP;AACD,GALD;;AAOA;AACA,MAAMQ,gBAAgB,SAAhBA,aAAgB,CAAUX,KAAV,EAAiBN,WAAjB,EAA8BQ,QAA9B,EAAwCM,SAAxC,EAAmDI,aAAnD,EAAkE;AACtF,QAAIJ,cAAc,IAAd,IAAsBA,cAAcK,SAAxC,EAAmD;AACjDb,cAAQA,MAAMK,KAAN,CAAY,CAAZ,EAAeG,SAAf,CAAR;AACD;AACD,WAAOT,QAAQC,KAAR,EAAe,EAAf,EAAmBN,WAAnB,EAAgCQ,QAAhC,EAA0CU,aAA1C,CAAP;AACD,GALD;;AAOA;AACA,MAAME,WAAW,SAAXA,QAAW,CAAUC,SAAV,EAAqBC,QAArB,EAA+BC,SAA/B,EAA0Cf,QAA1C,EAAoDM,SAApD,EAA+DU,SAA/D,EAA0E;AACzF,QAAIT,eAAJ;AAAA,QAAYR,eAAZ;AAAA,QAAoBkB,eAApB;AAAA,QAA4BC,sBAA5B;AAAA,QAA2CpB,cAA3C;;AAEA,QAAIe,cAAc,IAAlB,EAAwB;AACtB,aAAO,GAAP;AACD;;AAED;AACA,QAAIZ,UAAU,GAAd,CARyF,CAQvE;AAClB,QAAIT,cAAc,KAAlB;AACA,QAAI2B,uBAAuB,EAA3B;AACA,QAAIC,UAAJ;AAAA,QAAOC,UAAP;;AAEA,SAAKD,IAAI,CAAJ,EAAOC,IAAIN,UAAUrB,MAA1B,EAAkC0B,IAAIC,CAAtC,EAAyCD,GAAzC,EAA8C;AAC5C,cAAQL,UAAUO,MAAV,CAAiBF,CAAjB,CAAR;AACE,aAAK,GAAL;AACA,aAAK,GAAL;AACEnB,oBAAUc,UAAUO,MAAV,CAAiBF,CAAjB,CAAV;AACA;AACF,aAAK,GAAL;AACED,iCAAuB,GAAvB;AACA;AACF,aAAK,GAAL;AACE3B,wBAAc,IAAd;AACA;AACF,aAAK,GAAL;AACE,cAAI4B,IAAI,CAAJ,GAAQC,CAAZ,EAAe;AACbpB,sBAAUc,UAAUO,MAAV,CAAiBF,IAAI,CAArB,CAAV;AACAA;AACD;AACD;AAhBJ;AAkBD;;AAED,QAAI,CAACpB,QAAL,EAAe;AACbA,iBAAW,CAAX;AACD,KAFD,MAEO;AACLA,iBAAW,CAACA,QAAZ;AACD;;AAED,QAAI,CAACuB,SAASvB,QAAT,CAAL,EAAyB;AACvB,YAAM,IAAIwB,KAAJ,CAAU,sBAAV,CAAN;AACD;;AAED,QAAI,CAAClB,SAAL,EAAgB;AACdA,kBAAaU,cAAc,GAAf,GAAsB,CAAtB,GAA0B,OAAOS,OAAP,CAAeT,SAAf,IAA4B,CAAC,CAA7B,GAAiC,CAAjC,GAAqCL,SAA3E;AACD,KAFD,MAEO;AACLL,kBAAY,CAACA,SAAb;AACD;;AAED,QAAIQ,YAAY,CAACA,QAAD,KAAc,CAA9B,EAAiC;AAC/B,YAAM,IAAIU,KAAJ,CAAU,2CAAV,CAAN;AACD;;AAED,QAAIV,YAAY,CAACA,QAAD,IAAa9B,KAAKU,MAAlC,EAA0C;AACxC,YAAM,IAAI8B,KAAJ,CAAU,mBAAV,CAAN;AACD;;AAED1B,YAAQgB,WAAW9B,KAAK,CAAC8B,QAAN,CAAX,GAA6B9B,KAAKE,GAAL,CAArC;;AAEA,YAAQ8B,SAAR;AACE,WAAK,GAAL;AACE,eAAO,GAAP;AACF,WAAK,GAAL;AACE,eAAOP,cAAcX,QAAQ,EAAtB,EAA0BN,WAA1B,EAAuCQ,QAAvC,EAAiDM,SAAjD,EAA4DL,OAA5D,CAAP;AACF,WAAK,GAAL;AACE,eAAOQ,cAAciB,OAAOC,YAAP,CAAoB,CAAC7B,KAArB,CAAd,EAA2CN,WAA3C,EAAwDQ,QAAxD,EAAkEM,SAAlE,EAA6EL,OAA7E,CAAP;AACF,WAAK,GAAL;AACE,eAAOG,aAAaN,KAAb,EAAoB,CAApB,EAAuBN,WAAvB,EAAoCQ,QAApC,EAA8CM,SAA9C,EAAyDL,OAAzD,CAAP;AACF,WAAK,GAAL;AACE,eAAOG,aAAaN,KAAb,EAAoB,CAApB,EAAuBN,WAAvB,EAAoCQ,QAApC,EAA8CM,SAA9C,EAAyDL,OAAzD,CAAP;AACF,WAAK,GAAL;AACE,eAAOG,aAAaN,KAAb,EAAoB,EAApB,EAAwBN,WAAxB,EAAqCQ,QAArC,EAA+CM,SAA/C,EAA0DL,OAA1D,CAAP;AACF,WAAK,GAAL;AACE,eAAOG,aAAaN,KAAb,EAAoB,EAApB,EAAwBN,WAAxB,EAAqCQ,QAArC,EAA+CM,SAA/C,EAA0DL,OAA1D,EACJ2B,WADI,EAAP;AAEF,WAAK,GAAL;AACE,eAAOxB,aAAaN,KAAb,EAAoB,EAApB,EAAwBN,WAAxB,EAAqCQ,QAArC,EAA+CM,SAA/C,EAA0DL,OAA1D,CAAP;AACF,WAAK,GAAL;AACA,WAAK,GAAL;AACEM,iBAAS,CAACT,KAAD,IAAU,CAAnB;AACA;AACAS,iBAASsB,KAAKC,KAAL,CAAWvB,SAASA,SAAS,CAA7B,CAAT;AACAR,iBAASQ,SAAS,CAAT,GAAa,GAAb,GAAmBY,oBAA5B;AACArB,gBAAQC,SAASX,KAAKsC,OAAOG,KAAKE,GAAL,CAASxB,MAAT,CAAP,CAAL,EAA+BD,SAA/B,EAA0C,GAA1C,EAA+C,KAA/C,CAAjB;;AAEA,YAAId,eAAeS,YAAY,GAA/B,EAAoC;AAClC;AACAA,oBAAU,GAAV;AACD;AACD,eAAOJ,QAAQC,KAAR,EAAeC,MAAf,EAAuBP,WAAvB,EAAoCQ,QAApC,EAA8CC,OAA9C,CAAP;AACF,WAAK,GAAL;AACA,WAAK,GAAL;AACA,WAAK,GAAL,CAjCF,CAiCY;AACV,WAAK,GAAL;AACA,WAAK,GAAL;AACA,WAAK,GAAL;AACEM,iBAAS,CAACT,KAAV;AACAC,iBAASQ,SAAS,CAAT,GAAa,GAAb,GAAmBY,oBAA5B;AACAF,iBAAS,CAAC,eAAD,EAAkB,SAAlB,EAA6B,aAA7B,EAA4C,MAAMQ,OAAN,CAAcT,UAAUgB,WAAV,EAAd,CAA5C,CAAT;AACAd,wBAAgB,CAAC,UAAD,EAAa,aAAb,EAA4B,SAASO,OAAT,CAAiBT,SAAjB,IAA8B,CAA1D,CAAhB;AACAlB,gBAAQC,SAAS8B,KAAKE,GAAL,CAASxB,MAAT,EAAiBU,MAAjB,EAAyBX,SAAzB,CAAjB;AACA,eAAOT,QAAQC,KAAR,EAAeC,MAAf,EAAuBP,WAAvB,EAAoCQ,QAApC,EAA8CC,OAA9C,EAAuDiB,aAAvD,GAAP;AACF;AACE;AACA,eAAO,EAAP;AA7CJ;AA+CD,GA3GD;;AA6GA,MAAI;AACF,WAAO/B,OAAO8C,OAAP,CAAelD,KAAf,EAAsB6B,QAAtB,CAAP;AACD,GAFD,CAEE,OAAOsB,GAAP,EAAY;AACZ,WAAO,KAAP;AACD;AACF,CAlMD","file":"sprintf.js","sourcesContent":["module.exports = function sprintf () {\n // discuss at: https://locutus.io/php/sprintf/\n // original by: Ash Searle (https://hexmen.com/blog/)\n // improved by: Michael White (https://getsprink.com)\n // improved by: Jack\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Dj\n // improved by: Allidylls\n // input by: Paulo Freitas\n // input by: Brett Zamir (https://brett-zamir.me)\n // improved by: Rafał Kukawski (https://kukawski.pl)\n // example 1: sprintf(\"%01.2f\", 123.1)\n // returns 1: '123.10'\n // example 2: sprintf(\"[%10s]\", 'monkey')\n // returns 2: '[ monkey]'\n // example 3: sprintf(\"[%'#10s]\", 'monkey')\n // returns 3: '[####monkey]'\n // example 4: sprintf(\"%d\", 123456789012345)\n // returns 4: '123456789012345'\n // example 5: sprintf('%-03s', 'E')\n // returns 5: 'E00'\n // example 6: sprintf('%+010d', 9)\n // returns 6: '+000000009'\n // example 7: sprintf('%+0\\'@10d', 9)\n // returns 7: '@@@@@@@@+9'\n // example 8: sprintf('%.f', 3.14)\n // returns 8: '3.140000'\n // example 9: sprintf('%% %2$d', 1, 2)\n // returns 9: '% 2'\n\n const regex = /%%|%(?:(\\d+)\\$)?((?:[-+#0 ]|'[\\s\\S])*)(\\d+)?(?:\\.(\\d*))?([\\s\\S])/g\n const args = arguments\n let i = 0\n const format = args[i++]\n\n const _pad = function (str, len, chr, leftJustify) {\n if (!chr) {\n chr = ' '\n }\n const padding = (str.length >= len) ? '' : new Array(1 + len - str.length >>> 0).join(chr)\n return leftJustify ? str + padding : padding + str\n }\n\n const justify = function (value, prefix, leftJustify, minWidth, padChar) {\n const diff = minWidth - value.length\n if (diff > 0) {\n // when padding with zeros\n // on the left side\n // keep sign (+ or -) in front\n if (!leftJustify && padChar === '0') {\n value = [\n value.slice(0, prefix.length),\n _pad('', diff, '0', true),\n value.slice(prefix.length)\n ].join('')\n } else {\n value = _pad(value, minWidth, padChar, leftJustify)\n }\n }\n return value\n }\n\n const _formatBaseX = function (value, base, leftJustify, minWidth, precision, padChar) {\n // Note: casts negative numbers to positive ones\n const number = value >>> 0\n value = _pad(number.toString(base), precision || 0, '0', false)\n return justify(value, '', leftJustify, minWidth, padChar)\n }\n\n // _formatString()\n const _formatString = function (value, leftJustify, minWidth, precision, customPadChar) {\n if (precision !== null && precision !== undefined) {\n value = value.slice(0, precision)\n }\n return justify(value, '', leftJustify, minWidth, customPadChar)\n }\n\n // doFormat()\n const doFormat = function (substring, argIndex, modifiers, minWidth, precision, specifier) {\n let number, prefix, method, textTransform, value\n\n if (substring === '%%') {\n return '%'\n }\n\n // parse modifiers\n let padChar = ' ' // pad with spaces by default\n let leftJustify = false\n let positiveNumberPrefix = ''\n let j, l\n\n for (j = 0, l = modifiers.length; j < l; j++) {\n switch (modifiers.charAt(j)) {\n case ' ':\n case '0':\n padChar = modifiers.charAt(j)\n break\n case '+':\n positiveNumberPrefix = '+'\n break\n case '-':\n leftJustify = true\n break\n case \"'\":\n if (j + 1 < l) {\n padChar = modifiers.charAt(j + 1)\n j++\n }\n break\n }\n }\n\n if (!minWidth) {\n minWidth = 0\n } else {\n minWidth = +minWidth\n }\n\n if (!isFinite(minWidth)) {\n throw new Error('Width must be finite')\n }\n\n if (!precision) {\n precision = (specifier === 'd') ? 0 : 'fFeE'.indexOf(specifier) > -1 ? 6 : undefined\n } else {\n precision = +precision\n }\n\n if (argIndex && +argIndex === 0) {\n throw new Error('Argument number must be greater than zero')\n }\n\n if (argIndex && +argIndex >= args.length) {\n throw new Error('Too few arguments')\n }\n\n value = argIndex ? args[+argIndex] : args[i++]\n\n switch (specifier) {\n case '%':\n return '%'\n case 's':\n return _formatString(value + '', leftJustify, minWidth, precision, padChar)\n case 'c':\n return _formatString(String.fromCharCode(+value), leftJustify, minWidth, precision, padChar)\n case 'b':\n return _formatBaseX(value, 2, leftJustify, minWidth, precision, padChar)\n case 'o':\n return _formatBaseX(value, 8, leftJustify, minWidth, precision, padChar)\n case 'x':\n return _formatBaseX(value, 16, leftJustify, minWidth, precision, padChar)\n case 'X':\n return _formatBaseX(value, 16, leftJustify, minWidth, precision, padChar)\n .toUpperCase()\n case 'u':\n return _formatBaseX(value, 10, leftJustify, minWidth, precision, padChar)\n case 'i':\n case 'd':\n number = +value || 0\n // Plain Math.round doesn't just truncate\n number = Math.round(number - number % 1)\n prefix = number < 0 ? '-' : positiveNumberPrefix\n value = prefix + _pad(String(Math.abs(number)), precision, '0', false)\n\n if (leftJustify && padChar === '0') {\n // can't right-pad 0s on integers\n padChar = ' '\n }\n return justify(value, prefix, leftJustify, minWidth, padChar)\n case 'e':\n case 'E':\n case 'f': // @todo: Should handle locales (as per setlocale)\n case 'F':\n case 'g':\n case 'G':\n number = +value\n prefix = number < 0 ? '-' : positiveNumberPrefix\n method = ['toExponential', 'toFixed', 'toPrecision']['efg'.indexOf(specifier.toLowerCase())]\n textTransform = ['toString', 'toUpperCase']['eEfFgG'.indexOf(specifier) % 2]\n value = prefix + Math.abs(number)[method](precision)\n return justify(value, prefix, leftJustify, minWidth, padChar)[textTransform]()\n default:\n // unknown specifier, consume that char and return empty\n return ''\n }\n }\n\n try {\n return format.replace(regex, doFormat)\n } catch (err) {\n return false\n }\n}\n"]}
|
package/php/strings/sscanf.js
CHANGED
|
@@ -15,7 +15,7 @@ module.exports = function sscanf(str, format) {
|
|
|
15
15
|
var retArr = [];
|
|
16
16
|
var _NWS = /\S/;
|
|
17
17
|
var args = arguments;
|
|
18
|
-
var digit;
|
|
18
|
+
var digit = void 0;
|
|
19
19
|
|
|
20
20
|
var _setExtraConversionSpecs = function _setExtraConversionSpecs(offset) {
|
|
21
21
|
// Since a mismatched character sets us off track from future
|
|
@@ -89,7 +89,7 @@ module.exports = function sscanf(str, format) {
|
|
|
89
89
|
// CHARACTER FOLLOWING PERCENT IS NOT A PERCENT
|
|
90
90
|
|
|
91
91
|
// We need 'g' set to get lastIndex
|
|
92
|
-
var prePattern =
|
|
92
|
+
var prePattern = /^(?:(\d+)\$)?(\*)?(\d*)([hlL]?)/g;
|
|
93
93
|
|
|
94
94
|
var preConvs = prePattern.exec(format.slice(i + 1));
|
|
95
95
|
|