locutus 2.0.32 → 2.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/_data/rosetta.yml +325 -0
- package/awk/builtin/index.js +3 -0
- package/awk/builtin/int.js +13 -0
- package/awk/builtin/length.js +16 -0
- package/awk/builtin/substr.js +23 -0
- package/c/ctype/index.js +8 -0
- package/c/ctype/isalnum.js +15 -0
- package/c/ctype/isalpha.js +17 -0
- package/c/ctype/isdigit.js +15 -0
- package/c/ctype/islower.js +15 -0
- package/c/ctype/isspace.js +15 -0
- package/c/ctype/isupper.js +15 -0
- package/c/ctype/tolower.js +15 -0
- package/c/ctype/toupper.js +15 -0
- package/c/index.js +2 -5
- package/c/math/abs.js +14 -18
- package/c/math/frexp.js +19 -20
- package/c/math/index.js +2 -5
- package/c/stdio/index.js +1 -4
- package/c/stdio/sprintf.js +71 -81
- package/c/stdlib/atof.js +15 -0
- package/c/stdlib/atoi.js +17 -0
- package/c/stdlib/index.js +2 -0
- package/c/string/index.js +5 -0
- package/c/string/strcat.js +12 -0
- package/c/string/strchr.js +15 -0
- package/c/string/strcmp.js +21 -0
- package/c/string/strlen.js +12 -0
- package/c/string/strstr.js +15 -0
- package/clojure/Math/abs.js +13 -0
- package/clojure/Math/ceil.js +15 -0
- package/clojure/Math/floor.js +14 -0
- package/clojure/Math/index.js +3 -0
- package/elixir/Float/ceil.js +16 -0
- package/elixir/Float/floor.js +14 -0
- package/elixir/Float/index.js +2 -0
- package/elixir/Kernel/abs.js +13 -0
- package/elixir/Kernel/index.js +1 -0
- package/golang/index.js +1 -4
- package/golang/strconv/Atoi.js +26 -0
- package/golang/strconv/FormatBool.js +12 -0
- package/golang/strconv/FormatInt.js +21 -0
- package/golang/strconv/Itoa.js +14 -0
- package/golang/strconv/ParseBool.js +35 -0
- package/golang/strconv/ParseInt.js +27 -0
- package/golang/strconv/index.js +6 -0
- package/golang/strings/Compare.js +19 -0
- package/golang/strings/Contains.js +7 -9
- package/golang/strings/ContainsAny.js +18 -0
- package/golang/strings/Count.js +20 -22
- package/golang/strings/EqualFold.js +13 -0
- package/golang/strings/Fields.js +12 -0
- package/golang/strings/HasPrefix.js +15 -0
- package/golang/strings/HasSuffix.js +20 -0
- package/golang/strings/Index.js +11 -0
- package/golang/strings/Index2.js +9 -11
- package/golang/strings/IndexAny.js +18 -0
- package/golang/strings/Join.js +16 -0
- package/golang/strings/LastIndex.js +10 -12
- package/golang/strings/LastIndexAny.js +18 -0
- package/golang/strings/Repeat.js +19 -0
- package/golang/strings/Replace.js +44 -0
- package/golang/strings/Split.js +24 -0
- package/golang/strings/ToLower.js +9 -0
- package/golang/strings/ToUpper.js +9 -0
- package/golang/strings/Trim.js +19 -0
- package/golang/strings/TrimLeft.js +15 -0
- package/golang/strings/TrimPrefix.js +14 -0
- package/golang/strings/TrimRight.js +15 -0
- package/golang/strings/TrimSpace.js +10 -0
- package/golang/strings/TrimSuffix.js +14 -0
- package/golang/strings/index.js +25 -7
- package/index.js +5 -8
- package/julia/Base/abs.js +13 -0
- package/julia/Base/ceil.js +16 -0
- package/julia/Base/floor.js +14 -0
- package/julia/Base/index.js +3 -0
- package/lua/math/abs.js +13 -0
- package/lua/math/ceil.js +16 -0
- package/lua/math/floor.js +14 -0
- package/lua/math/index.js +3 -0
- package/package.json +37 -51
- package/perl/POSIX/ceil.js +16 -0
- package/perl/POSIX/floor.js +14 -0
- package/perl/POSIX/index.js +2 -0
- package/perl/core/index.js +1 -0
- package/perl/core/length.js +16 -0
- package/php/_helpers/_bc.js +524 -515
- package/php/_helpers/_phpCastString.js +20 -25
- package/php/_helpers/_php_cast_float.js +5 -10
- package/php/_helpers/_php_cast_int.js +6 -11
- package/php/_helpers/index.js +4 -7
- package/php/array/array_change_key_case.js +11 -16
- package/php/array/array_chunk.js +20 -23
- package/php/array/array_column.js +22 -72
- package/php/array/array_combine.js +13 -18
- package/php/array/array_count_values.js +35 -39
- package/php/array/array_diff.js +11 -14
- package/php/array/array_diff_assoc.js +11 -14
- package/php/array/array_diff_key.js +11 -14
- package/php/array/array_diff_uassoc.js +15 -19
- package/php/array/array_diff_ukey.js +14 -17
- package/php/array/array_fill.js +11 -13
- package/php/array/array_fill_keys.js +5 -8
- package/php/array/array_filter.js +12 -13
- package/php/array/array_flip.js +13 -15
- package/php/array/array_intersect.js +13 -16
- package/php/array/array_intersect_assoc.js +13 -16
- package/php/array/array_intersect_key.js +15 -18
- package/php/array/array_intersect_uassoc.js +17 -20
- package/php/array/array_intersect_ukey.js +17 -20
- package/php/array/array_key_exists.js +4 -7
- package/php/array/array_keys.js +22 -24
- package/php/array/array_map.js +24 -29
- package/php/array/array_merge.js +22 -25
- package/php/array/array_merge_recursive.js +51 -27
- package/php/array/array_multisort.js +138 -130
- package/php/array/array_pad.js +24 -26
- package/php/array/array_pop.js +10 -13
- package/php/array/array_product.js +15 -17
- package/php/array/array_push.js +16 -19
- package/php/array/array_rand.js +11 -14
- package/php/array/array_reduce.js +11 -14
- package/php/array/array_replace.js +9 -12
- package/php/array/array_replace_recursive.js +20 -24
- package/php/array/array_reverse.js +12 -15
- package/php/array/array_search.js +27 -29
- package/php/array/array_shift.js +3 -6
- package/php/array/array_slice.js +37 -39
- package/php/array/array_splice.js +64 -69
- package/php/array/array_sum.js +7 -12
- package/php/array/array_udiff.js +14 -17
- package/php/array/array_udiff_assoc.js +14 -17
- package/php/array/array_udiff_uassoc.js +17 -20
- package/php/array/array_uintersect.js +16 -19
- package/php/array/array_uintersect_uassoc.js +18 -21
- package/php/array/array_unique.js +12 -15
- package/php/array/array_unshift.js +4 -7
- package/php/array/array_values.js +11 -13
- package/php/array/array_walk.js +10 -15
- package/php/array/array_walk_recursive.js +15 -20
- package/php/array/arsort.js +50 -52
- package/php/array/asort.js +50 -51
- package/php/array/count.js +15 -14
- package/php/array/current.js +30 -32
- package/php/array/each.js +32 -35
- package/php/array/end.js +27 -30
- package/php/array/in_array.js +7 -10
- package/php/array/index.js +73 -76
- package/php/array/key.js +32 -34
- package/php/array/krsort.js +50 -51
- package/php/array/ksort.js +50 -51
- package/php/array/natcasesort.js +37 -38
- package/php/array/natsort.js +35 -36
- package/php/array/next.js +34 -36
- package/php/array/pos.js +10 -12
- package/php/array/prev.js +32 -34
- package/php/array/range.js +30 -33
- package/php/array/reset.js +24 -27
- package/php/array/rsort.js +47 -49
- package/php/array/shuffle.js +16 -18
- package/php/array/sizeof.js +3 -6
- package/php/array/sort.js +43 -45
- package/php/array/uasort.js +19 -21
- package/php/array/uksort.js +22 -24
- package/php/array/usort.js +20 -22
- package/php/bc/bcadd.js +16 -19
- package/php/bc/bccomp.js +12 -15
- package/php/bc/bcdiv.js +17 -20
- package/php/bc/bcmul.js +16 -19
- package/php/bc/bcround.js +21 -24
- package/php/bc/bcscale.js +8 -11
- package/php/bc/bcsub.js +16 -19
- package/php/bc/index.js +7 -10
- package/php/ctype/ctype_alnum.js +14 -16
- package/php/ctype/ctype_alpha.js +14 -16
- package/php/ctype/ctype_cntrl.js +9 -12
- package/php/ctype/ctype_digit.js +14 -16
- package/php/ctype/ctype_graph.js +14 -16
- package/php/ctype/ctype_lower.js +14 -16
- package/php/ctype/ctype_print.js +14 -16
- package/php/ctype/ctype_punct.js +14 -16
- package/php/ctype/ctype_space.js +9 -12
- package/php/ctype/ctype_upper.js +14 -16
- package/php/ctype/ctype_xdigit.js +14 -16
- package/php/ctype/index.js +11 -14
- package/php/datetime/checkdate.js +15 -17
- package/php/datetime/date.js +142 -123
- package/php/datetime/date_parse.js +18 -21
- package/php/datetime/getdate.js +38 -24
- package/php/datetime/gettimeofday.js +7 -10
- package/php/datetime/gmdate.js +17 -16
- package/php/datetime/gmmktime.js +23 -25
- package/php/datetime/gmstrftime.js +17 -14
- package/php/datetime/idate.js +44 -38
- package/php/datetime/index.js +15 -18
- package/php/datetime/microtime.js +11 -14
- package/php/datetime/mktime.js +14 -17
- package/php/datetime/strftime.js +122 -113
- package/php/datetime/strptime.js +210 -191
- package/php/datetime/strtotime.js +615 -496
- package/php/datetime/time.js +11 -13
- package/php/exec/escapeshellarg.js +16 -18
- package/php/exec/index.js +1 -4
- package/php/filesystem/basename.js +22 -24
- package/php/filesystem/dirname.js +12 -14
- package/php/filesystem/file_exists.js +9 -11
- package/php/filesystem/file_get_contents.js +3 -6
- package/php/filesystem/index.js +6 -9
- package/php/filesystem/pathinfo.js +47 -46
- package/php/filesystem/realpath.js +16 -19
- package/php/funchand/call_user_func.js +4 -7
- package/php/funchand/call_user_func_array.js +19 -22
- package/php/funchand/create_function.js +4 -7
- package/php/funchand/function_exists.js +4 -8
- package/php/funchand/get_defined_functions.js +25 -32
- package/php/funchand/index.js +5 -8
- package/php/i18n/i18n_loc_get_default.js +7 -10
- package/php/i18n/i18n_loc_set_default.js +12 -15
- package/php/i18n/index.js +2 -5
- package/php/index.js +20 -23
- package/php/info/assert_options.js +25 -27
- package/php/info/getenv.js +8 -10
- package/php/info/index.js +6 -9
- package/php/info/ini_get.js +9 -12
- package/php/info/ini_set.js +32 -34
- package/php/info/set_time_limit.js +8 -11
- package/php/info/version_compare.js +43 -44
- package/php/json/index.js +3 -6
- package/php/json/json_decode.js +42 -28
- package/php/json/json_encode.js +89 -66
- package/php/json/json_last_error.js +11 -13
- package/php/math/abs.js +2 -5
- package/php/math/acos.js +2 -5
- package/php/math/acosh.js +7 -9
- package/php/math/asin.js +2 -5
- package/php/math/asinh.js +7 -9
- package/php/math/atan.js +7 -9
- package/php/math/atan2.js +7 -9
- package/php/math/atanh.js +2 -5
- package/php/math/base_convert.js +8 -10
- package/php/math/bindec.js +12 -14
- package/php/math/ceil.js +7 -9
- package/php/math/cos.js +7 -9
- package/php/math/cosh.js +7 -9
- package/php/math/decbin.js +16 -18
- package/php/math/dechex.js +3 -6
- package/php/math/decoct.js +13 -15
- package/php/math/deg2rad.js +8 -10
- package/php/math/exp.js +7 -9
- package/php/math/expm1.js +9 -11
- package/php/math/floor.js +7 -9
- package/php/math/fmod.js +27 -29
- package/php/math/getrandmax.js +7 -9
- package/php/math/hexdec.js +10 -12
- package/php/math/hypot.js +8 -11
- package/php/math/index.js +46 -49
- package/php/math/is_finite.js +9 -14
- package/php/math/is_infinite.js +9 -14
- package/php/math/is_nan.js +8 -13
- package/php/math/lcg_value.js +8 -10
- package/php/math/log.js +8 -10
- package/php/math/log10.js +12 -14
- package/php/math/log1p.js +15 -17
- package/php/math/max.js +54 -59
- package/php/math/min.js +54 -59
- package/php/math/mt_getrandmax.js +7 -9
- package/php/math/mt_rand.js +15 -17
- package/php/math/octdec.js +8 -10
- package/php/math/pi.js +2 -5
- package/php/math/pow.js +2 -5
- package/php/math/rad2deg.js +8 -10
- package/php/math/rand.js +15 -17
- package/php/math/round.js +48 -49
- package/php/math/sin.js +7 -9
- package/php/math/sinh.js +7 -9
- package/php/math/sqrt.js +7 -9
- package/php/math/tan.js +7 -9
- package/php/math/tanh.js +8 -10
- package/php/misc/index.js +2 -5
- package/php/misc/pack.js +173 -165
- package/php/misc/uniqid.js +20 -23
- package/php/net-gopher/gopher_parsedir.js +27 -29
- package/php/net-gopher/index.js +1 -4
- package/php/network/index.js +6 -9
- package/php/network/inet_ntop.js +15 -15
- package/php/network/inet_pton.js +30 -34
- package/php/network/ip2long.js +25 -15
- package/php/network/long2ip.js +8 -10
- package/php/network/setcookie.js +11 -13
- package/php/network/setrawcookie.js +16 -19
- package/php/pcre/index.js +4 -7
- package/php/pcre/preg_match.js +3 -6
- package/php/pcre/preg_quote.js +2 -5
- package/php/pcre/preg_replace.js +8 -11
- package/php/pcre/sql_regcase.js +17 -20
- package/php/strings/addcslashes.js +86 -88
- package/php/strings/addslashes.js +15 -16
- package/php/strings/bin2hex.js +19 -43
- package/php/strings/chop.js +8 -10
- package/php/strings/chr.js +12 -14
- package/php/strings/chunk_split.js +15 -17
- package/php/strings/convert_cyr_string.js +137 -50
- package/php/strings/convert_uuencode.js +35 -38
- package/php/strings/count_chars.js +29 -27
- package/php/strings/crc32.js +276 -21
- package/php/strings/echo.js +28 -30
- package/php/strings/explode.js +31 -26
- package/php/strings/get_html_translation_table.js +123 -122
- package/php/strings/hex2bin.js +21 -21
- package/php/strings/html_entity_decode.js +31 -33
- package/php/strings/htmlentities.js +38 -34
- package/php/strings/htmlspecialchars.js +20 -23
- package/php/strings/htmlspecialchars_decode.js +19 -21
- package/php/strings/implode.js +23 -27
- package/php/strings/index.js +91 -94
- package/php/strings/join.js +8 -10
- package/php/strings/lcfirst.js +9 -11
- package/php/strings/levenshtein.js +37 -39
- package/php/strings/localeconv.js +12 -15
- package/php/strings/ltrim.js +12 -14
- package/php/strings/md5.js +216 -223
- package/php/strings/md5_file.js +17 -19
- package/php/strings/metaphone.js +112 -117
- package/php/strings/money_format.js +139 -126
- package/php/strings/nl2br.js +24 -26
- package/php/strings/nl_langinfo.js +32 -35
- package/php/strings/number_format.js +19 -22
- package/php/strings/ord.js +19 -21
- package/php/strings/parse_str.js +53 -56
- package/php/strings/printf.js +6 -9
- package/php/strings/quoted_printable_decode.js +7 -10
- package/php/strings/quoted_printable_encode.js +19 -20
- package/php/strings/quotemeta.js +7 -9
- package/php/strings/rtrim.js +14 -16
- package/php/strings/setlocale.js +148 -104
- package/php/strings/sha1.js +108 -106
- package/php/strings/sha1_file.js +15 -17
- package/php/strings/similar_text.js +34 -33
- package/php/strings/soundex.js +34 -36
- package/php/strings/split.js +8 -10
- package/php/strings/sprintf.js +112 -114
- package/php/strings/sscanf.js +99 -96
- package/php/strings/str_getcsv.js +37 -32
- package/php/strings/str_ireplace.js +50 -55
- package/php/strings/str_pad.js +18 -21
- package/php/strings/str_repeat.js +14 -16
- package/php/strings/str_replace.js +32 -37
- package/php/strings/str_rot13.js +15 -17
- package/php/strings/str_shuffle.js +12 -15
- package/php/strings/str_split.js +19 -21
- package/php/strings/str_word_count.js +51 -50
- package/php/strings/strcasecmp.js +12 -14
- package/php/strings/strchr.js +10 -12
- package/php/strings/strcmp.js +12 -14
- package/php/strings/strcoll.js +9 -12
- package/php/strings/strcspn.js +30 -25
- package/php/strings/strip_tags.js +50 -52
- package/php/strings/stripos.js +12 -14
- package/php/strings/stripslashes.js +8 -10
- package/php/strings/stristr.js +15 -17
- package/php/strings/strlen.js +23 -26
- package/php/strings/strnatcasecmp.js +6 -8
- package/php/strings/strnatcmp.js +47 -46
- package/php/strings/strncasecmp.js +30 -32
- package/php/strings/strncmp.js +5 -7
- package/php/strings/strpbrk.js +12 -14
- package/php/strings/strpos.js +11 -13
- package/php/strings/strrchr.js +7 -10
- package/php/strings/strrev.js +188 -10
- package/php/strings/strripos.js +16 -18
- package/php/strings/strrpos.js +20 -22
- package/php/strings/strspn.js +24 -26
- package/php/strings/strstr.js +20 -22
- package/php/strings/strtok.js +14 -16
- package/php/strings/strtolower.js +8 -10
- package/php/strings/strtoupper.js +8 -10
- package/php/strings/strtr.js +38 -43
- package/php/strings/substr.js +14 -18
- package/php/strings/substr_compare.js +18 -20
- package/php/strings/substr_count.js +11 -14
- package/php/strings/substr_replace.js +5 -8
- package/php/strings/trim.js +53 -32
- package/php/strings/ucfirst.js +11 -13
- package/php/strings/ucwords.js +3 -6
- package/php/strings/vprintf.js +6 -9
- package/php/strings/vsprintf.js +8 -10
- package/php/strings/wordwrap.js +32 -35
- package/php/url/base64_decode.js +42 -40
- package/php/url/base64_encode.js +51 -53
- package/php/url/http_build_query.js +27 -32
- package/php/url/index.js +8 -11
- package/php/url/parse_url.js +61 -25
- package/php/url/rawurldecode.js +8 -8
- package/php/url/rawurlencode.js +9 -6
- package/php/url/urldecode.js +9 -8
- package/php/url/urlencode.js +11 -6
- package/php/var/boolval.js +31 -33
- package/php/var/doubleval.js +10 -12
- package/php/var/empty.js +11 -16
- package/php/var/floatval.js +13 -15
- package/php/var/gettype.js +22 -23
- package/php/var/index.js +30 -33
- package/php/var/intval.js +35 -39
- package/php/var/is_array.js +27 -31
- package/php/var/is_binary.js +2 -5
- package/php/var/is_bool.js +10 -12
- package/php/var/is_buffer.js +2 -5
- package/php/var/is_callable.js +34 -35
- package/php/var/is_double.js +10 -12
- package/php/var/is_float.js +12 -14
- package/php/var/is_int.js +20 -22
- package/php/var/is_integer.js +12 -14
- package/php/var/is_long.js +3 -6
- package/php/var/is_null.js +9 -11
- package/php/var/is_numeric.js +30 -6
- package/php/var/is_object.js +4 -9
- package/php/var/is_real.js +3 -6
- package/php/var/is_scalar.js +2 -8
- package/php/var/is_string.js +9 -11
- package/php/var/is_unicode.js +12 -15
- package/php/var/isset.js +9 -12
- package/php/var/print_r.js +49 -53
- package/php/var/serialize.js +47 -52
- package/php/var/serialize.vitest.ts +10 -0
- package/php/var/strval.js +10 -13
- package/php/var/unserialize.js +168 -202
- package/php/var/var_dump.js +105 -104
- package/php/var/var_export.js +64 -66
- package/php/xdiff/index.js +2 -5
- package/php/xdiff/xdiff_string_diff.js +240 -226
- package/php/xdiff/xdiff_string_patch.js +98 -93
- package/php/xml/index.js +2 -5
- package/php/xml/utf8_decode.js +40 -42
- package/php/xml/utf8_encode.js +40 -42
- package/python/index.js +1 -4
- package/python/math/ceil.js +17 -0
- package/python/math/exp.js +12 -0
- package/python/math/fabs.js +14 -0
- package/python/math/factorial.js +29 -0
- package/python/math/floor.js +14 -0
- package/python/math/gcd.js +23 -0
- package/python/math/index.js +15 -0
- package/python/math/isfinite.js +14 -0
- package/python/math/isinf.js +14 -0
- package/python/math/isnan.js +14 -0
- package/python/math/log.js +16 -0
- package/python/math/log10.js +14 -0
- package/python/math/log2.js +14 -0
- package/python/math/pow.js +14 -0
- package/python/math/sqrt.js +14 -0
- package/python/math/trunc.js +14 -0
- package/python/string/ascii_letters.js +14 -14
- package/python/string/ascii_lowercase.js +12 -16
- package/python/string/ascii_uppercase.js +12 -16
- package/python/string/capwords.js +4 -7
- package/python/string/digits.js +10 -0
- package/python/string/hexdigits.js +10 -0
- package/python/string/index.js +10 -8
- package/python/string/octdigits.js +10 -0
- package/python/string/printable.js +15 -0
- package/python/string/punctuation.js +5 -7
- package/python/string/whitespace.js +10 -0
- package/r/base/abs.js +13 -0
- package/r/base/ceiling.js +16 -0
- package/r/base/floor.js +14 -0
- package/r/base/index.js +3 -0
- package/ruby/Array/compact.js +18 -0
- package/ruby/Array/first.js +22 -0
- package/ruby/Array/flatten.js +22 -0
- package/ruby/Array/index.js +6 -0
- package/ruby/Array/last.js +22 -0
- package/ruby/Array/sample.js +31 -0
- package/ruby/Array/uniq.js +16 -0
- package/ruby/Math/acos.js +2 -5
- package/ruby/Math/asin.js +11 -0
- package/ruby/Math/atan.js +11 -0
- package/ruby/Math/cbrt.js +13 -0
- package/ruby/Math/cos.js +12 -0
- package/ruby/Math/cosh.js +11 -0
- package/ruby/Math/exp.js +11 -0
- package/ruby/Math/index.js +15 -4
- package/ruby/Math/log.js +11 -0
- package/ruby/Math/log10.js +13 -0
- package/ruby/Math/log2.js +13 -0
- package/ruby/Math/sin.js +12 -0
- package/ruby/Math/sinh.js +11 -0
- package/ruby/Math/sqrt.js +13 -0
- package/ruby/Math/tan.js +11 -0
- package/ruby/Math/tanh.js +11 -0
- package/ruby/String/capitalize.js +19 -0
- package/ruby/String/chomp.js +27 -0
- package/ruby/String/chop.js +25 -0
- package/ruby/String/downcase.js +10 -0
- package/ruby/String/end_with.js +17 -0
- package/ruby/String/include.js +12 -0
- package/ruby/String/index.js +11 -0
- package/ruby/String/length.js +12 -0
- package/ruby/String/reverse.js +12 -0
- package/ruby/String/start_with.js +14 -0
- package/ruby/String/strip.js +12 -0
- package/ruby/String/upcase.js +10 -0
- package/ruby/index.js +1 -4
- package/_util/cli.js +0 -14
- package/_util/cli.js.map +0 -1
- package/_util/util.js +0 -620
- package/_util/util.js.map +0 -1
- package/c/index.js.map +0 -1
- package/c/math/abs.js.map +0 -1
- package/c/math/frexp.js.map +0 -1
- package/c/math/index.js.map +0 -1
- package/c/stdio/index.js.map +0 -1
- package/c/stdio/sprintf.js.map +0 -1
- package/golang/index.js.map +0 -1
- package/golang/strings/Contains.js.map +0 -1
- package/golang/strings/Count.js.map +0 -1
- package/golang/strings/Index2.js.map +0 -1
- package/golang/strings/LastIndex.js.map +0 -1
- package/golang/strings/index.js.map +0 -1
- package/index.js.map +0 -1
- package/php/_helpers/_bc.js.map +0 -1
- package/php/_helpers/_phpCastString.js.map +0 -1
- package/php/_helpers/_php_cast_float.js.map +0 -1
- package/php/_helpers/_php_cast_int.js.map +0 -1
- package/php/_helpers/index.js.map +0 -1
- package/php/array/array_change_key_case.js.map +0 -1
- package/php/array/array_chunk.js.map +0 -1
- package/php/array/array_column.js.map +0 -1
- package/php/array/array_combine.js.map +0 -1
- package/php/array/array_count_values.js.map +0 -1
- package/php/array/array_diff.js.map +0 -1
- package/php/array/array_diff_assoc.js.map +0 -1
- package/php/array/array_diff_key.js.map +0 -1
- package/php/array/array_diff_uassoc.js.map +0 -1
- package/php/array/array_diff_ukey.js.map +0 -1
- package/php/array/array_fill.js.map +0 -1
- package/php/array/array_fill_keys.js.map +0 -1
- package/php/array/array_filter.js.map +0 -1
- package/php/array/array_flip.js.map +0 -1
- package/php/array/array_intersect.js.map +0 -1
- package/php/array/array_intersect_assoc.js.map +0 -1
- package/php/array/array_intersect_key.js.map +0 -1
- package/php/array/array_intersect_uassoc.js.map +0 -1
- package/php/array/array_intersect_ukey.js.map +0 -1
- package/php/array/array_key_exists.js.map +0 -1
- package/php/array/array_keys.js.map +0 -1
- package/php/array/array_map.js.map +0 -1
- package/php/array/array_merge.js.map +0 -1
- package/php/array/array_merge_recursive.js.map +0 -1
- package/php/array/array_multisort.js.map +0 -1
- package/php/array/array_pad.js.map +0 -1
- package/php/array/array_pop.js.map +0 -1
- package/php/array/array_product.js.map +0 -1
- package/php/array/array_push.js.map +0 -1
- package/php/array/array_rand.js.map +0 -1
- package/php/array/array_reduce.js.map +0 -1
- package/php/array/array_replace.js.map +0 -1
- package/php/array/array_replace_recursive.js.map +0 -1
- package/php/array/array_reverse.js.map +0 -1
- package/php/array/array_search.js.map +0 -1
- package/php/array/array_shift.js.map +0 -1
- package/php/array/array_slice.js.map +0 -1
- package/php/array/array_splice.js.map +0 -1
- package/php/array/array_sum.js.map +0 -1
- package/php/array/array_udiff.js.map +0 -1
- package/php/array/array_udiff_assoc.js.map +0 -1
- package/php/array/array_udiff_uassoc.js.map +0 -1
- package/php/array/array_uintersect.js.map +0 -1
- package/php/array/array_uintersect_uassoc.js.map +0 -1
- package/php/array/array_unique.js.map +0 -1
- package/php/array/array_unshift.js.map +0 -1
- package/php/array/array_values.js.map +0 -1
- package/php/array/array_walk.js.map +0 -1
- package/php/array/array_walk_recursive.js.map +0 -1
- package/php/array/arsort.js.map +0 -1
- package/php/array/asort.js.map +0 -1
- package/php/array/count.js.map +0 -1
- package/php/array/current.js.map +0 -1
- package/php/array/each.js.map +0 -1
- package/php/array/end.js.map +0 -1
- package/php/array/in_array.js.map +0 -1
- package/php/array/index.js.map +0 -1
- package/php/array/key.js.map +0 -1
- package/php/array/krsort.js.map +0 -1
- package/php/array/ksort.js.map +0 -1
- package/php/array/natcasesort.js.map +0 -1
- package/php/array/natsort.js.map +0 -1
- package/php/array/next.js.map +0 -1
- package/php/array/pos.js.map +0 -1
- package/php/array/prev.js.map +0 -1
- package/php/array/range.js.map +0 -1
- package/php/array/reset.js.map +0 -1
- package/php/array/rsort.js.map +0 -1
- package/php/array/shuffle.js.map +0 -1
- package/php/array/sizeof.js.map +0 -1
- package/php/array/sort.js.map +0 -1
- package/php/array/uasort.js.map +0 -1
- package/php/array/uksort.js.map +0 -1
- package/php/array/usort.js.map +0 -1
- package/php/bc/bcadd.js.map +0 -1
- package/php/bc/bccomp.js.map +0 -1
- package/php/bc/bcdiv.js.map +0 -1
- package/php/bc/bcmul.js.map +0 -1
- package/php/bc/bcround.js.map +0 -1
- package/php/bc/bcscale.js.map +0 -1
- package/php/bc/bcsub.js.map +0 -1
- package/php/bc/index.js.map +0 -1
- package/php/ctype/ctype_alnum.js.map +0 -1
- package/php/ctype/ctype_alpha.js.map +0 -1
- package/php/ctype/ctype_cntrl.js.map +0 -1
- package/php/ctype/ctype_digit.js.map +0 -1
- package/php/ctype/ctype_graph.js.map +0 -1
- package/php/ctype/ctype_lower.js.map +0 -1
- package/php/ctype/ctype_print.js.map +0 -1
- package/php/ctype/ctype_punct.js.map +0 -1
- package/php/ctype/ctype_space.js.map +0 -1
- package/php/ctype/ctype_upper.js.map +0 -1
- package/php/ctype/ctype_xdigit.js.map +0 -1
- package/php/ctype/index.js.map +0 -1
- package/php/datetime/checkdate.js.map +0 -1
- package/php/datetime/date.js.map +0 -1
- package/php/datetime/date_parse.js.map +0 -1
- package/php/datetime/getdate.js.map +0 -1
- package/php/datetime/gettimeofday.js.map +0 -1
- package/php/datetime/gmdate.js.map +0 -1
- package/php/datetime/gmmktime.js.map +0 -1
- package/php/datetime/gmstrftime.js.map +0 -1
- package/php/datetime/idate.js.map +0 -1
- package/php/datetime/index.js.map +0 -1
- package/php/datetime/microtime.js.map +0 -1
- package/php/datetime/mktime.js.map +0 -1
- package/php/datetime/strftime.js.map +0 -1
- package/php/datetime/strptime.js.map +0 -1
- package/php/datetime/strtotime.js.map +0 -1
- package/php/datetime/time.js.map +0 -1
- package/php/exec/escapeshellarg.js.map +0 -1
- package/php/exec/index.js.map +0 -1
- package/php/filesystem/basename.js.map +0 -1
- package/php/filesystem/dirname.js.map +0 -1
- package/php/filesystem/file_exists.js.map +0 -1
- package/php/filesystem/file_get_contents.js.map +0 -1
- package/php/filesystem/index.js.map +0 -1
- package/php/filesystem/pathinfo.js.map +0 -1
- package/php/filesystem/realpath.js.map +0 -1
- package/php/funchand/call_user_func.js.map +0 -1
- package/php/funchand/call_user_func_array.js.map +0 -1
- package/php/funchand/create_function.js.map +0 -1
- package/php/funchand/function_exists.js.map +0 -1
- package/php/funchand/get_defined_functions.js.map +0 -1
- package/php/funchand/index.js.map +0 -1
- package/php/i18n/i18n_loc_get_default.js.map +0 -1
- package/php/i18n/i18n_loc_set_default.js.map +0 -1
- package/php/i18n/index.js.map +0 -1
- package/php/index.js.map +0 -1
- package/php/info/assert_options.js.map +0 -1
- package/php/info/getenv.js.map +0 -1
- package/php/info/index.js.map +0 -1
- package/php/info/ini_get.js.map +0 -1
- package/php/info/ini_set.js.map +0 -1
- package/php/info/set_time_limit.js.map +0 -1
- package/php/info/version_compare.js.map +0 -1
- package/php/json/index.js.map +0 -1
- package/php/json/json_decode.js.map +0 -1
- package/php/json/json_encode.js.map +0 -1
- package/php/json/json_last_error.js.map +0 -1
- package/php/math/abs.js.map +0 -1
- package/php/math/acos.js.map +0 -1
- package/php/math/acosh.js.map +0 -1
- package/php/math/asin.js.map +0 -1
- package/php/math/asinh.js.map +0 -1
- package/php/math/atan.js.map +0 -1
- package/php/math/atan2.js.map +0 -1
- package/php/math/atanh.js.map +0 -1
- package/php/math/base_convert.js.map +0 -1
- package/php/math/bindec.js.map +0 -1
- package/php/math/ceil.js.map +0 -1
- package/php/math/cos.js.map +0 -1
- package/php/math/cosh.js.map +0 -1
- package/php/math/decbin.js.map +0 -1
- package/php/math/dechex.js.map +0 -1
- package/php/math/decoct.js.map +0 -1
- package/php/math/deg2rad.js.map +0 -1
- package/php/math/exp.js.map +0 -1
- package/php/math/expm1.js.map +0 -1
- package/php/math/floor.js.map +0 -1
- package/php/math/fmod.js.map +0 -1
- package/php/math/getrandmax.js.map +0 -1
- package/php/math/hexdec.js.map +0 -1
- package/php/math/hypot.js.map +0 -1
- package/php/math/index.js.map +0 -1
- package/php/math/is_finite.js.map +0 -1
- package/php/math/is_infinite.js.map +0 -1
- package/php/math/is_nan.js.map +0 -1
- package/php/math/lcg_value.js.map +0 -1
- package/php/math/log.js.map +0 -1
- package/php/math/log10.js.map +0 -1
- package/php/math/log1p.js.map +0 -1
- package/php/math/max.js.map +0 -1
- package/php/math/min.js.map +0 -1
- package/php/math/mt_getrandmax.js.map +0 -1
- package/php/math/mt_rand.js.map +0 -1
- package/php/math/octdec.js.map +0 -1
- package/php/math/pi.js.map +0 -1
- package/php/math/pow.js.map +0 -1
- package/php/math/rad2deg.js.map +0 -1
- package/php/math/rand.js.map +0 -1
- package/php/math/round.js.map +0 -1
- package/php/math/sin.js.map +0 -1
- package/php/math/sinh.js.map +0 -1
- package/php/math/sqrt.js.map +0 -1
- package/php/math/tan.js.map +0 -1
- package/php/math/tanh.js.map +0 -1
- package/php/misc/index.js.map +0 -1
- package/php/misc/pack.js.map +0 -1
- package/php/misc/uniqid.js.map +0 -1
- package/php/net-gopher/gopher_parsedir.js.map +0 -1
- package/php/net-gopher/index.js.map +0 -1
- package/php/network/index.js.map +0 -1
- package/php/network/inet_ntop.js.map +0 -1
- package/php/network/inet_pton.js.map +0 -1
- package/php/network/ip2long.js.map +0 -1
- package/php/network/long2ip.js.map +0 -1
- package/php/network/setcookie.js.map +0 -1
- package/php/network/setrawcookie.js.map +0 -1
- package/php/pcre/index.js.map +0 -1
- package/php/pcre/preg_match.js.map +0 -1
- package/php/pcre/preg_quote.js.map +0 -1
- package/php/pcre/preg_replace.js.map +0 -1
- package/php/pcre/sql_regcase.js.map +0 -1
- package/php/strings/addcslashes.js.map +0 -1
- package/php/strings/addslashes.js.map +0 -1
- package/php/strings/bin2hex.js.map +0 -1
- package/php/strings/chop.js.map +0 -1
- package/php/strings/chr.js.map +0 -1
- package/php/strings/chunk_split.js.map +0 -1
- package/php/strings/convert_cyr_string.js.map +0 -1
- package/php/strings/convert_uuencode.js.map +0 -1
- package/php/strings/count_chars.js.map +0 -1
- package/php/strings/crc32.js.map +0 -1
- package/php/strings/echo.js.map +0 -1
- package/php/strings/explode.js.map +0 -1
- package/php/strings/get_html_translation_table.js.map +0 -1
- package/php/strings/hex2bin.js.map +0 -1
- package/php/strings/html_entity_decode.js.map +0 -1
- package/php/strings/htmlentities.js.map +0 -1
- package/php/strings/htmlspecialchars.js.map +0 -1
- package/php/strings/htmlspecialchars_decode.js.map +0 -1
- package/php/strings/implode.js.map +0 -1
- package/php/strings/index.js.map +0 -1
- package/php/strings/join.js.map +0 -1
- package/php/strings/lcfirst.js.map +0 -1
- package/php/strings/levenshtein.js.map +0 -1
- package/php/strings/localeconv.js.map +0 -1
- package/php/strings/ltrim.js.map +0 -1
- package/php/strings/md5.js.map +0 -1
- package/php/strings/md5_file.js.map +0 -1
- package/php/strings/metaphone.js.map +0 -1
- package/php/strings/money_format.js.map +0 -1
- package/php/strings/nl2br.js.map +0 -1
- package/php/strings/nl_langinfo.js.map +0 -1
- package/php/strings/number_format.js.map +0 -1
- package/php/strings/ord.js.map +0 -1
- package/php/strings/parse_str.js.map +0 -1
- package/php/strings/printf.js.map +0 -1
- package/php/strings/quoted_printable_decode.js.map +0 -1
- package/php/strings/quoted_printable_encode.js.map +0 -1
- package/php/strings/quotemeta.js.map +0 -1
- package/php/strings/rtrim.js.map +0 -1
- package/php/strings/setlocale.js.map +0 -1
- package/php/strings/sha1.js.map +0 -1
- package/php/strings/sha1_file.js.map +0 -1
- package/php/strings/similar_text.js.map +0 -1
- package/php/strings/soundex.js.map +0 -1
- package/php/strings/split.js.map +0 -1
- package/php/strings/sprintf.js.map +0 -1
- package/php/strings/sscanf.js.map +0 -1
- package/php/strings/str_getcsv.js.map +0 -1
- package/php/strings/str_ireplace.js.map +0 -1
- package/php/strings/str_pad.js.map +0 -1
- package/php/strings/str_repeat.js.map +0 -1
- package/php/strings/str_replace.js.map +0 -1
- package/php/strings/str_rot13.js.map +0 -1
- package/php/strings/str_shuffle.js.map +0 -1
- package/php/strings/str_split.js.map +0 -1
- package/php/strings/str_word_count.js.map +0 -1
- package/php/strings/strcasecmp.js.map +0 -1
- package/php/strings/strchr.js.map +0 -1
- package/php/strings/strcmp.js.map +0 -1
- package/php/strings/strcoll.js.map +0 -1
- package/php/strings/strcspn.js.map +0 -1
- package/php/strings/strip_tags.js.map +0 -1
- package/php/strings/stripos.js.map +0 -1
- package/php/strings/stripslashes.js.map +0 -1
- package/php/strings/stristr.js.map +0 -1
- package/php/strings/strlen.js.map +0 -1
- package/php/strings/strnatcasecmp.js.map +0 -1
- package/php/strings/strnatcmp.js.map +0 -1
- package/php/strings/strncasecmp.js.map +0 -1
- package/php/strings/strncmp.js.map +0 -1
- package/php/strings/strpbrk.js.map +0 -1
- package/php/strings/strpos.js.map +0 -1
- package/php/strings/strrchr.js.map +0 -1
- package/php/strings/strrev.js.map +0 -1
- package/php/strings/strripos.js.map +0 -1
- package/php/strings/strrpos.js.map +0 -1
- package/php/strings/strspn.js.map +0 -1
- package/php/strings/strstr.js.map +0 -1
- package/php/strings/strtok.js.map +0 -1
- package/php/strings/strtolower.js.map +0 -1
- package/php/strings/strtoupper.js.map +0 -1
- package/php/strings/strtr.js.map +0 -1
- package/php/strings/substr.js.map +0 -1
- package/php/strings/substr_compare.js.map +0 -1
- package/php/strings/substr_count.js.map +0 -1
- package/php/strings/substr_replace.js.map +0 -1
- package/php/strings/trim.js.map +0 -1
- package/php/strings/ucfirst.js.map +0 -1
- package/php/strings/ucwords.js.map +0 -1
- package/php/strings/vprintf.js.map +0 -1
- package/php/strings/vsprintf.js.map +0 -1
- package/php/strings/wordwrap.js.map +0 -1
- package/php/url/base64_decode.js.map +0 -1
- package/php/url/base64_encode.js.map +0 -1
- package/php/url/http_build_query.js.map +0 -1
- package/php/url/index.js.map +0 -1
- package/php/url/parse_url.js.map +0 -1
- package/php/url/rawurldecode.js.map +0 -1
- package/php/url/rawurlencode.js.map +0 -1
- package/php/url/urldecode.js.map +0 -1
- package/php/url/urlencode.js.map +0 -1
- package/php/var/boolval.js.map +0 -1
- package/php/var/doubleval.js.map +0 -1
- package/php/var/empty.js.map +0 -1
- package/php/var/floatval.js.map +0 -1
- package/php/var/gettype.js.map +0 -1
- package/php/var/index.js.map +0 -1
- package/php/var/intval.js.map +0 -1
- package/php/var/is_array.js.map +0 -1
- package/php/var/is_binary.js.map +0 -1
- package/php/var/is_bool.js.map +0 -1
- package/php/var/is_buffer.js.map +0 -1
- package/php/var/is_callable.js.map +0 -1
- package/php/var/is_double.js.map +0 -1
- package/php/var/is_float.js.map +0 -1
- package/php/var/is_int.js.map +0 -1
- package/php/var/is_integer.js.map +0 -1
- package/php/var/is_long.js.map +0 -1
- package/php/var/is_null.js.map +0 -1
- package/php/var/is_numeric.js.map +0 -1
- package/php/var/is_object.js.map +0 -1
- package/php/var/is_real.js.map +0 -1
- package/php/var/is_scalar.js.map +0 -1
- package/php/var/is_string.js.map +0 -1
- package/php/var/is_unicode.js.map +0 -1
- package/php/var/isset.js.map +0 -1
- package/php/var/print_r.js.map +0 -1
- package/php/var/serialize.js.map +0 -1
- package/php/var/serialize.mocha.js +0 -14
- package/php/var/serialize.mocha.js.map +0 -1
- package/php/var/strval.js.map +0 -1
- package/php/var/unserialize.js.map +0 -1
- package/php/var/var_dump.js.map +0 -1
- package/php/var/var_export.js.map +0 -1
- package/php/xdiff/index.js.map +0 -1
- package/php/xdiff/xdiff_string_diff.js.map +0 -1
- package/php/xdiff/xdiff_string_patch.js.map +0 -1
- package/php/xml/index.js.map +0 -1
- package/php/xml/utf8_decode.js.map +0 -1
- package/php/xml/utf8_encode.js.map +0 -1
- package/python/index.js.map +0 -1
- package/python/string/ascii_letters.js.map +0 -1
- package/python/string/ascii_lowercase.js.map +0 -1
- package/python/string/ascii_uppercase.js.map +0 -1
- package/python/string/capwords.js.map +0 -1
- package/python/string/index.js.map +0 -1
- package/python/string/punctuation.js.map +0 -1
- package/ruby/Math/acos.js.map +0 -1
- package/ruby/Math/index.js.map +0 -1
- package/ruby/index.js.map +0 -1
package/php/url/base64_decode.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
1
|
module.exports = function base64_decode(encodedData) {
|
|
4
2
|
// discuss at: https://locutus.io/php/base64_decode/
|
|
5
3
|
// original by: Tyler Akins (https://rumkin.com)
|
|
@@ -22,65 +20,69 @@ module.exports = function base64_decode(encodedData) {
|
|
|
22
20
|
// decodeUTF8string()
|
|
23
21
|
// Internal function to decode properly UTF8 string
|
|
24
22
|
// Adapted from Solution #1 at https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding
|
|
25
|
-
|
|
23
|
+
const decodeUTF8string = function (str) {
|
|
26
24
|
// Going backwards: from bytestream, to percent-encoding, to original string.
|
|
27
|
-
return decodeURIComponent(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
return decodeURIComponent(
|
|
26
|
+
str
|
|
27
|
+
.split('')
|
|
28
|
+
.map(function (c) {
|
|
29
|
+
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)
|
|
30
|
+
})
|
|
31
|
+
.join(''),
|
|
32
|
+
)
|
|
33
|
+
}
|
|
31
34
|
|
|
32
35
|
if (typeof window !== 'undefined') {
|
|
33
36
|
if (typeof window.atob !== 'undefined') {
|
|
34
|
-
return decodeUTF8string(window.atob(encodedData))
|
|
37
|
+
return decodeUTF8string(window.atob(encodedData))
|
|
35
38
|
}
|
|
36
39
|
} else {
|
|
37
|
-
return new Buffer(encodedData, 'base64').toString('utf-8')
|
|
40
|
+
return new Buffer(encodedData, 'base64').toString('utf-8')
|
|
38
41
|
}
|
|
39
42
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
43
|
+
const b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
|
|
44
|
+
let o1
|
|
45
|
+
let o2
|
|
46
|
+
let o3
|
|
47
|
+
let h1
|
|
48
|
+
let h2
|
|
49
|
+
let h3
|
|
50
|
+
let h4
|
|
51
|
+
let bits
|
|
52
|
+
let i = 0
|
|
53
|
+
let ac = 0
|
|
54
|
+
let dec = ''
|
|
55
|
+
const tmpArr = []
|
|
53
56
|
|
|
54
57
|
if (!encodedData) {
|
|
55
|
-
return encodedData
|
|
58
|
+
return encodedData
|
|
56
59
|
}
|
|
57
60
|
|
|
58
|
-
encodedData += ''
|
|
61
|
+
encodedData += ''
|
|
59
62
|
|
|
60
63
|
do {
|
|
61
64
|
// unpack four hexets into three octets using index points in b64
|
|
62
|
-
h1 = b64.indexOf(encodedData.charAt(i++))
|
|
63
|
-
h2 = b64.indexOf(encodedData.charAt(i++))
|
|
64
|
-
h3 = b64.indexOf(encodedData.charAt(i++))
|
|
65
|
-
h4 = b64.indexOf(encodedData.charAt(i++))
|
|
65
|
+
h1 = b64.indexOf(encodedData.charAt(i++))
|
|
66
|
+
h2 = b64.indexOf(encodedData.charAt(i++))
|
|
67
|
+
h3 = b64.indexOf(encodedData.charAt(i++))
|
|
68
|
+
h4 = b64.indexOf(encodedData.charAt(i++))
|
|
66
69
|
|
|
67
|
-
bits = h1 << 18 | h2 << 12 | h3 << 6 | h4
|
|
70
|
+
bits = (h1 << 18) | (h2 << 12) | (h3 << 6) | h4
|
|
68
71
|
|
|
69
|
-
o1 = bits >> 16 & 0xff
|
|
70
|
-
o2 = bits >> 8 & 0xff
|
|
71
|
-
o3 = bits & 0xff
|
|
72
|
+
o1 = (bits >> 16) & 0xff
|
|
73
|
+
o2 = (bits >> 8) & 0xff
|
|
74
|
+
o3 = bits & 0xff
|
|
72
75
|
|
|
73
76
|
if (h3 === 64) {
|
|
74
|
-
tmpArr[ac++] = String.fromCharCode(o1)
|
|
77
|
+
tmpArr[ac++] = String.fromCharCode(o1)
|
|
75
78
|
} else if (h4 === 64) {
|
|
76
|
-
tmpArr[ac++] = String.fromCharCode(o1, o2)
|
|
79
|
+
tmpArr[ac++] = String.fromCharCode(o1, o2)
|
|
77
80
|
} else {
|
|
78
|
-
tmpArr[ac++] = String.fromCharCode(o1, o2, o3)
|
|
81
|
+
tmpArr[ac++] = String.fromCharCode(o1, o2, o3)
|
|
79
82
|
}
|
|
80
|
-
} while (i < encodedData.length)
|
|
83
|
+
} while (i < encodedData.length)
|
|
81
84
|
|
|
82
|
-
dec = tmpArr.join('')
|
|
85
|
+
dec = tmpArr.join('')
|
|
83
86
|
|
|
84
|
-
return decodeUTF8string(dec.replace(/\0+$/, ''))
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=base64_decode.js.map
|
|
87
|
+
return decodeUTF8string(dec.replace(/\0+$/, ''))
|
|
88
|
+
}
|
package/php/url/base64_encode.js
CHANGED
|
@@ -1,83 +1,81 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
1
|
module.exports = function base64_encode(stringToEncode) {
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
-
//
|
|
18
|
-
//
|
|
2
|
+
// discuss at: https://locutus.io/php/base64_encode/
|
|
3
|
+
// parity verified: PHP 8.3
|
|
4
|
+
// original by: Tyler Akins (https://rumkin.com)
|
|
5
|
+
// improved by: Bayron Guevara
|
|
6
|
+
// improved by: Thunder.m
|
|
7
|
+
// improved by: Kevin van Zonneveld (https://kvz.io)
|
|
8
|
+
// improved by: Kevin van Zonneveld (https://kvz.io)
|
|
9
|
+
// improved by: Rafał Kukawski (https://blog.kukawski.pl)
|
|
10
|
+
// bugfixed by: Pellentesque Malesuada
|
|
11
|
+
// improved by: Indigo744
|
|
12
|
+
// example 1: base64_encode('Kevin van Zonneveld')
|
|
13
|
+
// returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='
|
|
14
|
+
// example 2: base64_encode('a')
|
|
15
|
+
// returns 2: 'YQ=='
|
|
16
|
+
// example 3: base64_encode('✓ à la mode')
|
|
17
|
+
// returns 3: '4pyTIMOgIGxhIG1vZGU='
|
|
19
18
|
|
|
20
19
|
// encodeUTF8string()
|
|
21
20
|
// Internal function to encode properly UTF8 string
|
|
22
21
|
// Adapted from Solution #1 at https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding
|
|
23
|
-
|
|
22
|
+
const encodeUTF8string = function (str) {
|
|
24
23
|
// first we use encodeURIComponent to get percent-encoded UTF-8,
|
|
25
24
|
// then we convert the percent encodings into raw bytes which
|
|
26
25
|
// can be fed into the base64 encoding algorithm.
|
|
27
26
|
return encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function toSolidBytes(match, p1) {
|
|
28
|
-
return String.fromCharCode('0x' + p1)
|
|
29
|
-
})
|
|
30
|
-
}
|
|
27
|
+
return String.fromCharCode('0x' + p1)
|
|
28
|
+
})
|
|
29
|
+
}
|
|
31
30
|
|
|
32
31
|
if (typeof window !== 'undefined') {
|
|
33
32
|
if (typeof window.btoa !== 'undefined') {
|
|
34
|
-
return window.btoa(encodeUTF8string(stringToEncode))
|
|
33
|
+
return window.btoa(encodeUTF8string(stringToEncode))
|
|
35
34
|
}
|
|
36
35
|
} else {
|
|
37
|
-
return new Buffer(stringToEncode).toString('base64')
|
|
36
|
+
return new Buffer(stringToEncode).toString('base64')
|
|
38
37
|
}
|
|
39
38
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
39
|
+
const b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
|
|
40
|
+
let o1
|
|
41
|
+
let o2
|
|
42
|
+
let o3
|
|
43
|
+
let h1
|
|
44
|
+
let h2
|
|
45
|
+
let h3
|
|
46
|
+
let h4
|
|
47
|
+
let bits
|
|
48
|
+
let i = 0
|
|
49
|
+
let ac = 0
|
|
50
|
+
let enc = ''
|
|
51
|
+
const tmpArr = []
|
|
53
52
|
|
|
54
53
|
if (!stringToEncode) {
|
|
55
|
-
return stringToEncode
|
|
54
|
+
return stringToEncode
|
|
56
55
|
}
|
|
57
56
|
|
|
58
|
-
stringToEncode = encodeUTF8string(stringToEncode)
|
|
57
|
+
stringToEncode = encodeUTF8string(stringToEncode)
|
|
59
58
|
|
|
60
59
|
do {
|
|
61
60
|
// pack three octets into four hexets
|
|
62
|
-
o1 = stringToEncode.charCodeAt(i++)
|
|
63
|
-
o2 = stringToEncode.charCodeAt(i++)
|
|
64
|
-
o3 = stringToEncode.charCodeAt(i++)
|
|
61
|
+
o1 = stringToEncode.charCodeAt(i++)
|
|
62
|
+
o2 = stringToEncode.charCodeAt(i++)
|
|
63
|
+
o3 = stringToEncode.charCodeAt(i++)
|
|
65
64
|
|
|
66
|
-
bits = o1 << 16 | o2 << 8 | o3
|
|
65
|
+
bits = (o1 << 16) | (o2 << 8) | o3
|
|
67
66
|
|
|
68
|
-
h1 = bits >> 18 & 0x3f
|
|
69
|
-
h2 = bits >> 12 & 0x3f
|
|
70
|
-
h3 = bits >> 6 & 0x3f
|
|
71
|
-
h4 = bits & 0x3f
|
|
67
|
+
h1 = (bits >> 18) & 0x3f
|
|
68
|
+
h2 = (bits >> 12) & 0x3f
|
|
69
|
+
h3 = (bits >> 6) & 0x3f
|
|
70
|
+
h4 = bits & 0x3f
|
|
72
71
|
|
|
73
72
|
// use hexets to index into b64, and append result to encoded string
|
|
74
|
-
tmpArr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4)
|
|
75
|
-
} while (i < stringToEncode.length)
|
|
73
|
+
tmpArr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4)
|
|
74
|
+
} while (i < stringToEncode.length)
|
|
76
75
|
|
|
77
|
-
enc = tmpArr.join('')
|
|
76
|
+
enc = tmpArr.join('')
|
|
78
77
|
|
|
79
|
-
|
|
78
|
+
const r = stringToEncode.length % 3
|
|
80
79
|
|
|
81
|
-
return (r ? enc.slice(0, r - 3) : enc) + '==='.slice(r || 3)
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=base64_encode.js.map
|
|
80
|
+
return (r ? enc.slice(0, r - 3) : enc) + '==='.slice(r || 3)
|
|
81
|
+
}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
4
|
-
|
|
5
1
|
module.exports = function http_build_query(formdata, numericPrefix, argSeparator, encType) {
|
|
6
2
|
// discuss at: https://locutus.io/php/http_build_query/
|
|
7
3
|
// original by: Kevin van Zonneveld (https://kvz.io)
|
|
@@ -23,63 +19,62 @@ module.exports = function http_build_query(formdata, numericPrefix, argSeparator
|
|
|
23
19
|
// example 3: http_build_query({foo: 'bar', php: 'hypertext processor', baz: 'boom', cow: 'milk'}, '', '&', 'PHP_QUERY_RFC3986')
|
|
24
20
|
// returns 3: 'foo=bar&php=hypertext%20processor&baz=boom&cow=milk'
|
|
25
21
|
|
|
26
|
-
|
|
22
|
+
let encodeFunc
|
|
27
23
|
|
|
28
24
|
switch (encType) {
|
|
29
25
|
case 'PHP_QUERY_RFC3986':
|
|
30
|
-
encodeFunc = require('../url/rawurlencode')
|
|
31
|
-
break
|
|
26
|
+
encodeFunc = require('../url/rawurlencode')
|
|
27
|
+
break
|
|
32
28
|
|
|
33
29
|
case 'PHP_QUERY_RFC1738':
|
|
34
30
|
default:
|
|
35
|
-
encodeFunc = require('../url/urlencode')
|
|
36
|
-
break
|
|
31
|
+
encodeFunc = require('../url/urlencode')
|
|
32
|
+
break
|
|
37
33
|
}
|
|
38
34
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
let value
|
|
36
|
+
let key
|
|
37
|
+
const tmp = []
|
|
42
38
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
const _httpBuildQueryHelper = function (key, val, argSeparator) {
|
|
40
|
+
let k
|
|
41
|
+
const tmp = []
|
|
46
42
|
if (val === true) {
|
|
47
|
-
val = '1'
|
|
43
|
+
val = '1'
|
|
48
44
|
} else if (val === false) {
|
|
49
|
-
val = '0'
|
|
45
|
+
val = '0'
|
|
50
46
|
}
|
|
51
47
|
if (val !== null) {
|
|
52
|
-
if (
|
|
48
|
+
if (typeof val === 'object') {
|
|
53
49
|
for (k in val) {
|
|
54
50
|
if (val[k] !== null) {
|
|
55
|
-
tmp.push(_httpBuildQueryHelper(key + '[' + k + ']', val[k], argSeparator))
|
|
51
|
+
tmp.push(_httpBuildQueryHelper(key + '[' + k + ']', val[k], argSeparator))
|
|
56
52
|
}
|
|
57
53
|
}
|
|
58
|
-
return tmp.join(argSeparator)
|
|
54
|
+
return tmp.join(argSeparator)
|
|
59
55
|
} else if (typeof val !== 'function') {
|
|
60
|
-
return encodeFunc(key) + '=' + encodeFunc(val)
|
|
56
|
+
return encodeFunc(key) + '=' + encodeFunc(val)
|
|
61
57
|
} else {
|
|
62
|
-
throw new Error('There was an error processing for http_build_query().')
|
|
58
|
+
throw new Error('There was an error processing for http_build_query().')
|
|
63
59
|
}
|
|
64
60
|
} else {
|
|
65
|
-
return ''
|
|
61
|
+
return ''
|
|
66
62
|
}
|
|
67
|
-
}
|
|
63
|
+
}
|
|
68
64
|
|
|
69
65
|
if (!argSeparator) {
|
|
70
|
-
argSeparator = '&'
|
|
66
|
+
argSeparator = '&'
|
|
71
67
|
}
|
|
72
68
|
for (key in formdata) {
|
|
73
|
-
value = formdata[key]
|
|
69
|
+
value = formdata[key]
|
|
74
70
|
if (numericPrefix && !isNaN(key)) {
|
|
75
|
-
key = String(numericPrefix) + key
|
|
71
|
+
key = String(numericPrefix) + key
|
|
76
72
|
}
|
|
77
|
-
|
|
73
|
+
const query = _httpBuildQueryHelper(key, value, argSeparator)
|
|
78
74
|
if (query !== '') {
|
|
79
|
-
tmp.push(query)
|
|
75
|
+
tmp.push(query)
|
|
80
76
|
}
|
|
81
77
|
}
|
|
82
78
|
|
|
83
|
-
return tmp.join(argSeparator)
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=http_build_query.js.map
|
|
79
|
+
return tmp.join(argSeparator)
|
|
80
|
+
}
|
package/php/url/index.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
module.exports.
|
|
4
|
-
module.exports.
|
|
5
|
-
module.exports.
|
|
6
|
-
module.exports.
|
|
7
|
-
module.exports.
|
|
8
|
-
module.exports.
|
|
9
|
-
module.exports.urldecode = require('./urldecode');
|
|
10
|
-
module.exports.urlencode = require('./urlencode');
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
module.exports.base64_decode = require('./base64_decode')
|
|
2
|
+
module.exports.base64_encode = require('./base64_encode')
|
|
3
|
+
module.exports.http_build_query = require('./http_build_query')
|
|
4
|
+
module.exports.parse_url = require('./parse_url')
|
|
5
|
+
module.exports.rawurldecode = require('./rawurldecode')
|
|
6
|
+
module.exports.rawurlencode = require('./rawurlencode')
|
|
7
|
+
module.exports.urldecode = require('./urldecode')
|
|
8
|
+
module.exports.urlencode = require('./urlencode')
|
package/php/url/parse_url.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
1
|
module.exports = function parse_url(str, component) {
|
|
4
2
|
// discuss at: https://locutus.io/php/parse_url/
|
|
5
3
|
// original by: Steven Levithan (https://blog.stevenlevithan.com)
|
|
@@ -25,46 +23,84 @@ module.exports = function parse_url(str, component) {
|
|
|
25
23
|
// example 4: parse_url('https://gooduser:secretpassword@www.example.com/a@b.c/folder?foo=bar')
|
|
26
24
|
// returns 4: { scheme: 'https', host: 'www.example.com', path: '/a@b.c/folder', query: 'foo=bar', user: 'gooduser', pass: 'secretpassword' }
|
|
27
25
|
|
|
28
|
-
|
|
26
|
+
let query
|
|
29
27
|
|
|
30
|
-
|
|
28
|
+
const mode =
|
|
29
|
+
(typeof require !== 'undefined' ? require('../info/ini_get')('locutus.parse_url.mode') : undefined) || 'php'
|
|
31
30
|
|
|
32
|
-
|
|
31
|
+
const key = [
|
|
32
|
+
'source',
|
|
33
|
+
'scheme',
|
|
34
|
+
'authority',
|
|
35
|
+
'userInfo',
|
|
36
|
+
'user',
|
|
37
|
+
'pass',
|
|
38
|
+
'host',
|
|
39
|
+
'port',
|
|
40
|
+
'relative',
|
|
41
|
+
'path',
|
|
42
|
+
'directory',
|
|
43
|
+
'file',
|
|
44
|
+
'query',
|
|
45
|
+
'fragment',
|
|
46
|
+
]
|
|
33
47
|
|
|
34
48
|
// For loose we added one optional slash to post-scheme to catch file:/// (should restrict this)
|
|
35
|
-
|
|
36
|
-
php: new RegExp(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
49
|
+
let parser = {
|
|
50
|
+
php: new RegExp(
|
|
51
|
+
[
|
|
52
|
+
'(?:([^:\\/?#]+):)?',
|
|
53
|
+
'(?:\\/\\/()(?:(?:()(?:([^:@\\/]*):?([^:@\\/]*))?@)?([^:\\/?#]*)(?::(\\d*))?))?',
|
|
54
|
+
'()',
|
|
55
|
+
'(?:(()(?:(?:[^?#\\/]*\\/)*)()(?:[^?#]*))(?:\\?([^#]*))?(?:#(.*))?)',
|
|
56
|
+
].join(''),
|
|
57
|
+
),
|
|
58
|
+
strict: new RegExp(
|
|
59
|
+
[
|
|
60
|
+
'(?:([^:\\/?#]+):)?',
|
|
61
|
+
'(?:\\/\\/((?:(([^:@\\/]*):?([^:@\\/]*))?@)?([^:\\/?#]*)(?::(\\d*))?))?',
|
|
62
|
+
'((((?:[^?#\\/]*\\/)*)([^?#]*))(?:\\?([^#]*))?(?:#(.*))?)',
|
|
63
|
+
].join(''),
|
|
64
|
+
),
|
|
65
|
+
loose: new RegExp(
|
|
66
|
+
[
|
|
67
|
+
'(?:(?![^:@]+:[^:@\\/]*@)([^:\\/?#.]+):)?',
|
|
68
|
+
'(?:\\/\\/\\/?)?',
|
|
69
|
+
'((?:(([^:@\\/]*):?([^:@\\/]*))?@)?([^:\\/?#]*)(?::(\\d*))?)',
|
|
70
|
+
'(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))',
|
|
71
|
+
'(?:\\?([^#]*))?(?:#(.*))?)',
|
|
72
|
+
].join(''),
|
|
73
|
+
),
|
|
74
|
+
}
|
|
40
75
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
76
|
+
const m = parser[mode].exec(str)
|
|
77
|
+
const uri = {}
|
|
78
|
+
let i = 14
|
|
44
79
|
|
|
45
80
|
while (i--) {
|
|
46
81
|
if (m[i]) {
|
|
47
|
-
uri[key[i]] = m[i]
|
|
82
|
+
uri[key[i]] = m[i]
|
|
48
83
|
}
|
|
49
84
|
}
|
|
50
85
|
|
|
51
86
|
if (component) {
|
|
52
|
-
return uri[component.replace('PHP_URL_', '').toLowerCase()]
|
|
87
|
+
return uri[component.replace('PHP_URL_', '').toLowerCase()]
|
|
53
88
|
}
|
|
54
89
|
|
|
55
90
|
if (mode !== 'php') {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
91
|
+
const name =
|
|
92
|
+
(typeof require !== 'undefined' ? require('../info/ini_get')('locutus.parse_url.queryKey') : undefined) ||
|
|
93
|
+
'queryKey'
|
|
94
|
+
parser = /(?:^|&)([^&=]*)=?([^&]*)/g
|
|
95
|
+
uri[name] = {}
|
|
96
|
+
query = uri[key[12]] || ''
|
|
60
97
|
query.replace(parser, function ($0, $1, $2) {
|
|
61
98
|
if ($1) {
|
|
62
|
-
uri[name][$1] = $2
|
|
99
|
+
uri[name][$1] = $2
|
|
63
100
|
}
|
|
64
|
-
})
|
|
101
|
+
})
|
|
65
102
|
}
|
|
66
103
|
|
|
67
|
-
delete uri.source
|
|
68
|
-
return uri
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=parse_url.js.map
|
|
104
|
+
delete uri.source
|
|
105
|
+
return uri
|
|
106
|
+
}
|
package/php/url/rawurldecode.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
1
|
module.exports = function rawurldecode(str) {
|
|
4
2
|
// discuss at: https://locutus.io/php/rawurldecode/
|
|
3
|
+
// parity verified: PHP 8.3
|
|
5
4
|
// original by: Brett Zamir (https://brett-zamir.me)
|
|
6
5
|
// input by: travc
|
|
7
6
|
// input by: Brett Zamir (https://brett-zamir.me)
|
|
@@ -20,9 +19,10 @@ module.exports = function rawurldecode(str) {
|
|
|
20
19
|
// example 3: rawurldecode('https%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3DLocutus%26ie%3D')
|
|
21
20
|
// returns 3: 'https://www.google.nl/search?q=Locutus&ie='
|
|
22
21
|
|
|
23
|
-
return decodeURIComponent(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
22
|
+
return decodeURIComponent(
|
|
23
|
+
(str + '').replace(/%(?![\da-f]{2})/gi, function () {
|
|
24
|
+
// PHP tolerates poorly formed escape sequences
|
|
25
|
+
return '%25'
|
|
26
|
+
}),
|
|
27
|
+
)
|
|
28
|
+
}
|
package/php/url/rawurlencode.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
1
|
module.exports = function rawurlencode(str) {
|
|
4
2
|
// discuss at: https://locutus.io/php/rawurlencode/
|
|
3
|
+
// parity verified: PHP 8.3
|
|
5
4
|
// original by: Brett Zamir (https://brett-zamir.me)
|
|
6
5
|
// input by: travc
|
|
7
6
|
// input by: Brett Zamir (https://brett-zamir.me)
|
|
@@ -23,11 +22,15 @@ module.exports = function rawurlencode(str) {
|
|
|
23
22
|
// example 3: rawurlencode('https://www.google.nl/search?q=Locutus&ie=utf-8')
|
|
24
23
|
// returns 3: 'https%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3DLocutus%26ie%3Dutf-8'
|
|
25
24
|
|
|
26
|
-
str = str + ''
|
|
25
|
+
str = str + ''
|
|
27
26
|
|
|
28
27
|
// Tilde should be allowed unescaped in future versions of PHP (as reflected below),
|
|
29
28
|
// but if you want to reflect current
|
|
30
29
|
// PHP behavior, you would need to add ".replace(/~/g, '%7E');" to the following.
|
|
31
|
-
return encodeURIComponent(str)
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
return encodeURIComponent(str)
|
|
31
|
+
.replace(/!/g, '%21')
|
|
32
|
+
.replace(/'/g, '%27')
|
|
33
|
+
.replace(/\(/g, '%28')
|
|
34
|
+
.replace(/\)/g, '%29')
|
|
35
|
+
.replace(/\*/g, '%2A')
|
|
36
|
+
}
|
package/php/url/urldecode.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
1
|
module.exports = function urldecode(str) {
|
|
4
2
|
// discuss at: https://locutus.io/php/urldecode/
|
|
5
3
|
// original by: Philip Peterson
|
|
@@ -33,9 +31,12 @@ module.exports = function urldecode(str) {
|
|
|
33
31
|
// example 4: urldecode('%E5%A5%BD%3_4')
|
|
34
32
|
// returns 4: '\u597d%3_4'
|
|
35
33
|
|
|
36
|
-
return decodeURIComponent(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
return decodeURIComponent(
|
|
35
|
+
(str + '')
|
|
36
|
+
.replace(/%(?![\da-f]{2})/gi, function () {
|
|
37
|
+
// PHP tolerates poorly formed escape sequences
|
|
38
|
+
return '%25'
|
|
39
|
+
})
|
|
40
|
+
.replace(/\+/g, '%20'),
|
|
41
|
+
)
|
|
42
|
+
}
|
package/php/url/urlencode.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
1
|
module.exports = function urlencode(str) {
|
|
4
2
|
// discuss at: https://locutus.io/php/urlencode/
|
|
3
|
+
// parity verified: PHP 8.3
|
|
5
4
|
// original by: Philip Peterson
|
|
6
5
|
// improved by: Kevin van Zonneveld (https://kvz.io)
|
|
7
6
|
// improved by: Kevin van Zonneveld (https://kvz.io)
|
|
@@ -28,8 +27,14 @@ module.exports = function urlencode(str) {
|
|
|
28
27
|
// example 3: urlencode('https://www.google.nl/search?q=Locutus&ie=utf-8')
|
|
29
28
|
// returns 3: 'https%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3DLocutus%26ie%3Dutf-8'
|
|
30
29
|
|
|
31
|
-
str = str + ''
|
|
30
|
+
str = str + ''
|
|
32
31
|
|
|
33
|
-
return encodeURIComponent(str)
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
return encodeURIComponent(str)
|
|
33
|
+
.replace(/!/g, '%21')
|
|
34
|
+
.replace(/'/g, '%27')
|
|
35
|
+
.replace(/\(/g, '%28')
|
|
36
|
+
.replace(/\)/g, '%29')
|
|
37
|
+
.replace(/\*/g, '%2A')
|
|
38
|
+
.replace(/~/g, '%7E')
|
|
39
|
+
.replace(/%20/g, '+')
|
|
40
|
+
}
|