locutus 2.0.15 → 2.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_util/util.js +13 -13
- package/_util/util.js.map +1 -1
- package/c/math/abs.js.map +1 -1
- package/c/math/frexp.js.map +1 -1
- package/c/stdio/sprintf.js +1 -1
- package/c/stdio/sprintf.js.map +1 -1
- package/golang/strings/Contains.js.map +1 -1
- package/golang/strings/Count.js.map +1 -1
- package/golang/strings/Index2.js.map +1 -1
- package/golang/strings/LastIndex.js.map +1 -1
- package/package.json +62 -59
- package/php/_helpers/_bc.js +2 -3
- package/php/_helpers/_bc.js.map +1 -1
- package/php/_helpers/_phpCastString.js.map +1 -1
- package/php/_helpers/_php_cast_float.js +0 -1
- package/php/_helpers/_php_cast_float.js.map +1 -1
- package/php/_helpers/_php_cast_int.js +0 -1
- package/php/_helpers/_php_cast_int.js.map +1 -1
- package/php/array/array_change_key_case.js +0 -1
- package/php/array/array_change_key_case.js.map +1 -1
- package/php/array/array_chunk.js +6 -5
- package/php/array/array_chunk.js.map +1 -1
- package/php/array/array_column.js +1 -1
- package/php/array/array_column.js.map +1 -1
- package/php/array/array_combine.js +0 -1
- package/php/array/array_combine.js.map +1 -1
- package/php/array/array_count_values.js +0 -1
- package/php/array/array_count_values.js.map +1 -1
- package/php/array/array_diff.js +0 -2
- package/php/array/array_diff.js.map +1 -1
- package/php/array/array_diff_assoc.js +0 -2
- package/php/array/array_diff_assoc.js.map +1 -1
- package/php/array/array_diff_key.js +0 -2
- package/php/array/array_diff_key.js.map +1 -1
- package/php/array/array_diff_uassoc.js +0 -2
- package/php/array/array_diff_uassoc.js.map +1 -1
- package/php/array/array_diff_ukey.js +0 -2
- package/php/array/array_diff_ukey.js.map +1 -1
- package/php/array/array_fill.js +0 -1
- package/php/array/array_fill.js.map +1 -1
- package/php/array/array_fill_keys.js +0 -1
- package/php/array/array_fill_keys.js.map +1 -1
- package/php/array/array_filter.js +0 -1
- package/php/array/array_filter.js.map +1 -1
- package/php/array/array_flip.js +0 -1
- package/php/array/array_flip.js.map +1 -1
- package/php/array/array_intersect.js +0 -3
- package/php/array/array_intersect.js.map +1 -1
- package/php/array/array_intersect_assoc.js +0 -3
- package/php/array/array_intersect_assoc.js.map +1 -1
- package/php/array/array_intersect_key.js +0 -3
- package/php/array/array_intersect_key.js.map +1 -1
- package/php/array/array_intersect_uassoc.js +0 -3
- package/php/array/array_intersect_uassoc.js.map +1 -1
- package/php/array/array_intersect_ukey.js +0 -3
- package/php/array/array_intersect_ukey.js.map +1 -1
- package/php/array/array_key_exists.js +0 -1
- package/php/array/array_key_exists.js.map +1 -1
- package/php/array/array_keys.js +0 -1
- package/php/array/array_keys.js.map +1 -1
- package/php/array/array_map.js +0 -1
- package/php/array/array_map.js.map +1 -1
- package/php/array/array_merge.js +0 -1
- package/php/array/array_merge.js.map +1 -1
- package/php/array/array_merge_recursive.js +0 -1
- package/php/array/array_merge_recursive.js.map +1 -1
- package/php/array/array_multisort.js +0 -1
- package/php/array/array_multisort.js.map +1 -1
- package/php/array/array_pad.js +0 -1
- package/php/array/array_pad.js.map +1 -1
- package/php/array/array_pop.js +0 -1
- package/php/array/array_pop.js.map +1 -1
- package/php/array/array_product.js +0 -1
- package/php/array/array_product.js.map +1 -1
- package/php/array/array_push.js +0 -1
- package/php/array/array_push.js.map +1 -1
- package/php/array/array_rand.js +0 -1
- package/php/array/array_rand.js.map +1 -1
- package/php/array/array_reduce.js +0 -1
- package/php/array/array_reduce.js.map +1 -1
- package/php/array/array_replace.js +0 -1
- package/php/array/array_replace.js.map +1 -1
- package/php/array/array_replace_recursive.js +0 -1
- package/php/array/array_replace_recursive.js.map +1 -1
- package/php/array/array_reverse.js +0 -1
- package/php/array/array_reverse.js.map +1 -1
- package/php/array/array_search.js +1 -2
- package/php/array/array_search.js.map +1 -1
- package/php/array/array_shift.js +0 -20
- package/php/array/array_shift.js.map +1 -1
- package/php/array/array_slice.js +2 -2
- package/php/array/array_slice.js.map +1 -1
- package/php/array/array_splice.js +0 -1
- package/php/array/array_splice.js.map +1 -1
- package/php/array/array_sum.js +0 -1
- package/php/array/array_sum.js.map +1 -1
- package/php/array/array_udiff.js +0 -3
- package/php/array/array_udiff.js.map +1 -1
- package/php/array/array_udiff_assoc.js +0 -2
- package/php/array/array_udiff_assoc.js.map +1 -1
- package/php/array/array_udiff_uassoc.js +0 -2
- package/php/array/array_udiff_uassoc.js.map +1 -1
- package/php/array/array_uintersect.js +0 -3
- package/php/array/array_uintersect.js.map +1 -1
- package/php/array/array_uintersect_uassoc.js +0 -3
- package/php/array/array_uintersect_uassoc.js.map +1 -1
- package/php/array/array_unique.js +0 -1
- package/php/array/array_unique.js.map +1 -1
- package/php/array/array_unshift.js +0 -1
- package/php/array/array_unshift.js.map +1 -1
- package/php/array/array_values.js +0 -1
- package/php/array/array_values.js.map +1 -1
- package/php/array/array_walk.js +0 -1
- package/php/array/array_walk.js.map +1 -1
- package/php/array/array_walk_recursive.js +0 -1
- package/php/array/array_walk_recursive.js.map +1 -1
- package/php/array/arsort.js.map +1 -1
- package/php/array/asort.js.map +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.map +1 -1
- package/php/array/in_array.js +1 -2
- package/php/array/in_array.js.map +1 -1
- package/php/array/key.js.map +1 -1
- package/php/array/krsort.js.map +1 -1
- package/php/array/ksort.js.map +1 -1
- package/php/array/natcasesort.js.map +1 -1
- 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.map +1 -1
- package/php/array/reset.js.map +1 -1
- 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.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.map +1 -1
- package/php/bc/bccomp.js.map +1 -1
- package/php/bc/bcdiv.js.map +1 -1
- package/php/bc/bcmul.js.map +1 -1
- package/php/bc/bcround.js.map +1 -1
- package/php/bc/bcscale.js.map +1 -1
- package/php/bc/bcsub.js.map +1 -1
- package/php/ctype/ctype_alnum.js +0 -1
- package/php/ctype/ctype_alnum.js.map +1 -1
- package/php/ctype/ctype_alpha.js +0 -1
- package/php/ctype/ctype_alpha.js.map +1 -1
- package/php/ctype/ctype_cntrl.js +0 -1
- package/php/ctype/ctype_cntrl.js.map +1 -1
- package/php/ctype/ctype_digit.js +0 -1
- package/php/ctype/ctype_digit.js.map +1 -1
- package/php/ctype/ctype_graph.js +0 -1
- package/php/ctype/ctype_graph.js.map +1 -1
- package/php/ctype/ctype_lower.js +0 -1
- package/php/ctype/ctype_lower.js.map +1 -1
- package/php/ctype/ctype_print.js +0 -1
- package/php/ctype/ctype_print.js.map +1 -1
- package/php/ctype/ctype_punct.js +0 -1
- package/php/ctype/ctype_punct.js.map +1 -1
- package/php/ctype/ctype_space.js +0 -1
- package/php/ctype/ctype_space.js.map +1 -1
- package/php/ctype/ctype_upper.js +0 -1
- package/php/ctype/ctype_upper.js.map +1 -1
- package/php/ctype/ctype_xdigit.js +0 -1
- package/php/ctype/ctype_xdigit.js.map +1 -1
- package/php/datetime/checkdate.js.map +1 -1
- package/php/datetime/date.js +1 -2
- package/php/datetime/date.js.map +1 -1
- package/php/datetime/date_parse.js +0 -1
- package/php/datetime/date_parse.js.map +1 -1
- package/php/datetime/getdate.js +1 -2
- 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.map +1 -1
- package/php/datetime/microtime.js +1 -1
- 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 +19 -20
- package/php/datetime/strptime.js.map +1 -1
- package/php/datetime/strtotime.js +28 -14
- package/php/datetime/strtotime.js.map +1 -1
- package/php/datetime/time.js.map +1 -1
- package/php/exec/escapeshellarg.js +1 -1
- package/php/exec/escapeshellarg.js.map +1 -1
- package/php/filesystem/basename.js.map +1 -1
- package/php/filesystem/dirname.js.map +1 -1
- package/php/filesystem/file_get_contents.js +0 -1
- package/php/filesystem/file_get_contents.js.map +1 -1
- package/php/filesystem/pathinfo.js +2 -3
- package/php/filesystem/pathinfo.js.map +1 -1
- package/php/filesystem/realpath.js.map +1 -1
- package/php/funchand/call_user_func.js +0 -1
- package/php/funchand/call_user_func.js.map +1 -1
- package/php/funchand/call_user_func_array.js +0 -1
- package/php/funchand/call_user_func_array.js.map +1 -1
- package/php/funchand/create_function.js +0 -1
- package/php/funchand/create_function.js.map +1 -1
- package/php/funchand/function_exists.js +0 -1
- package/php/funchand/function_exists.js.map +1 -1
- package/php/funchand/get_defined_functions.js +0 -1
- package/php/funchand/get_defined_functions.js.map +1 -1
- package/php/i18n/i18n_loc_get_default.js +0 -1
- package/php/i18n/i18n_loc_get_default.js.map +1 -1
- package/php/i18n/i18n_loc_set_default.js +0 -1
- package/php/i18n/i18n_loc_set_default.js.map +1 -1
- package/php/info/assert_options.js +0 -1
- package/php/info/assert_options.js.map +1 -1
- package/php/info/getenv.js.map +1 -1
- package/php/info/ini_get.js +0 -1
- package/php/info/ini_get.js.map +1 -1
- package/php/info/ini_set.js +0 -1
- package/php/info/ini_set.js.map +1 -1
- package/php/info/set_time_limit.js +0 -1
- package/php/info/set_time_limit.js.map +1 -1
- package/php/info/version_compare.js +10 -12
- package/php/info/version_compare.js.map +1 -1
- package/php/json/json_decode.js +0 -1
- package/php/json/json_decode.js.map +1 -1
- package/php/json/json_encode.js +0 -1
- package/php/json/json_encode.js.map +1 -1
- package/php/json/json_last_error.js +0 -1
- package/php/json/json_last_error.js.map +1 -1
- package/php/math/abs.js.map +1 -1
- package/php/math/acos.js.map +1 -1
- package/php/math/acosh.js.map +1 -1
- package/php/math/asin.js.map +1 -1
- package/php/math/asinh.js.map +1 -1
- package/php/math/atan.js.map +1 -1
- package/php/math/atan2.js.map +1 -1
- package/php/math/atanh.js.map +1 -1
- package/php/math/base_convert.js +0 -1
- package/php/math/base_convert.js.map +1 -1
- package/php/math/bindec.js.map +1 -1
- package/php/math/ceil.js.map +1 -1
- package/php/math/cos.js.map +1 -1
- package/php/math/cosh.js.map +1 -1
- package/php/math/decbin.js +1 -1
- package/php/math/decbin.js.map +1 -1
- package/php/math/dechex.js +1 -1
- package/php/math/dechex.js.map +1 -1
- package/php/math/decoct.js +1 -1
- package/php/math/decoct.js.map +1 -1
- package/php/math/deg2rad.js.map +1 -1
- package/php/math/exp.js.map +1 -1
- package/php/math/expm1.js.map +1 -1
- package/php/math/floor.js.map +1 -1
- package/php/math/fmod.js.map +1 -1
- package/php/math/getrandmax.js.map +1 -1
- package/php/math/hexdec.js.map +1 -1
- package/php/math/hypot.js.map +1 -1
- package/php/math/is_finite.js +0 -1
- package/php/math/is_finite.js.map +1 -1
- package/php/math/is_infinite.js +0 -1
- package/php/math/is_infinite.js.map +1 -1
- package/php/math/is_nan.js +0 -1
- package/php/math/is_nan.js.map +1 -1
- package/php/math/lcg_value.js +0 -1
- package/php/math/lcg_value.js.map +1 -1
- package/php/math/log.js.map +1 -1
- package/php/math/log10.js.map +1 -1
- package/php/math/log1p.js.map +1 -1
- package/php/math/max.js.map +1 -1
- package/php/math/min.js.map +1 -1
- package/php/math/mt_getrandmax.js +0 -1
- package/php/math/mt_getrandmax.js.map +1 -1
- package/php/math/mt_rand.js +0 -1
- package/php/math/mt_rand.js.map +1 -1
- package/php/math/octdec.js.map +1 -1
- package/php/math/pi.js.map +1 -1
- package/php/math/pow.js.map +1 -1
- package/php/math/rad2deg.js.map +1 -1
- package/php/math/rand.js.map +1 -1
- package/php/math/round.js.map +1 -1
- package/php/math/sin.js.map +1 -1
- package/php/math/sinh.js.map +1 -1
- package/php/math/sqrt.js.map +1 -1
- package/php/math/tan.js.map +1 -1
- package/php/math/tanh.js.map +1 -1
- package/php/misc/pack.js +15 -15
- package/php/misc/pack.js.map +1 -1
- package/php/misc/uniqid.js.map +1 -1
- package/php/net-gopher/gopher_parsedir.js +2 -4
- package/php/net-gopher/gopher_parsedir.js.map +1 -1
- package/php/network/inet_ntop.js +0 -1
- package/php/network/inet_ntop.js.map +1 -1
- package/php/network/inet_pton.js +1 -2
- package/php/network/inet_pton.js.map +1 -1
- package/php/network/ip2long.js.map +1 -1
- package/php/network/long2ip.js +1 -1
- package/php/network/long2ip.js.map +1 -1
- package/php/network/setcookie.js.map +1 -1
- package/php/network/setrawcookie.js.map +1 -1
- package/php/pcre/preg_match.js +0 -1
- package/php/pcre/preg_match.js.map +1 -1
- package/php/pcre/preg_quote.js +0 -1
- package/php/pcre/preg_quote.js.map +1 -1
- package/php/pcre/preg_replace.js +0 -1
- package/php/pcre/preg_replace.js.map +1 -1
- package/php/pcre/sql_regcase.js +0 -1
- package/php/pcre/sql_regcase.js.map +1 -1
- package/php/strings/addcslashes.js.map +1 -1
- package/php/strings/addslashes.js.map +1 -1
- package/php/strings/bin2hex.js.map +1 -1
- package/php/strings/chop.js.map +1 -1
- package/php/strings/chr.js +2 -2
- package/php/strings/chr.js.map +1 -1
- package/php/strings/chunk_split.js +0 -1
- package/php/strings/chunk_split.js.map +1 -1
- package/php/strings/convert_cyr_string.js +0 -1
- package/php/strings/convert_cyr_string.js.map +1 -1
- package/php/strings/convert_uuencode.js +0 -1
- package/php/strings/convert_uuencode.js.map +1 -1
- package/php/strings/count_chars.js +0 -1
- package/php/strings/count_chars.js.map +1 -1
- package/php/strings/crc32.js +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 +0 -1
- package/php/strings/get_html_translation_table.js.map +1 -1
- package/php/strings/hex2bin.js.map +1 -1
- package/php/strings/html_entity_decode.js +0 -1
- package/php/strings/html_entity_decode.js.map +1 -1
- package/php/strings/htmlentities.js.map +1 -1
- package/php/strings/htmlspecialchars.js.map +1 -1
- package/php/strings/htmlspecialchars_decode.js +0 -1
- package/php/strings/htmlspecialchars_decode.js.map +1 -1
- package/php/strings/implode.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.map +1 -1
- package/php/strings/localeconv.js.map +1 -1
- package/php/strings/ltrim.js.map +1 -1
- package/php/strings/md5.js +67 -67
- package/php/strings/md5.js.map +1 -1
- package/php/strings/md5_file.js +0 -1
- package/php/strings/md5_file.js.map +1 -1
- package/php/strings/metaphone.js +1 -1
- package/php/strings/metaphone.js.map +1 -1
- package/php/strings/money_format.js +0 -1
- package/php/strings/money_format.js.map +1 -1
- package/php/strings/nl2br.js.map +1 -1
- package/php/strings/nl_langinfo.js +0 -1
- package/php/strings/nl_langinfo.js.map +1 -1
- package/php/strings/number_format.js +0 -1
- package/php/strings/number_format.js.map +1 -1
- package/php/strings/ord.js +3 -3
- package/php/strings/ord.js.map +1 -1
- package/php/strings/parse_str.js +0 -1
- package/php/strings/parse_str.js.map +1 -1
- package/php/strings/printf.js.map +1 -1
- package/php/strings/quoted_printable_decode.js +0 -1
- package/php/strings/quoted_printable_decode.js.map +1 -1
- package/php/strings/quoted_printable_encode.js +0 -1
- package/php/strings/quoted_printable_encode.js.map +1 -1
- package/php/strings/quotemeta.js.map +1 -1
- package/php/strings/rtrim.js.map +1 -1
- package/php/strings/setlocale.js +2 -3
- package/php/strings/setlocale.js.map +1 -1
- package/php/strings/sha1.js +7 -7
- package/php/strings/sha1.js.map +1 -1
- package/php/strings/sha1_file.js +0 -1
- package/php/strings/sha1_file.js.map +1 -1
- package/php/strings/similar_text.js +1 -2
- package/php/strings/similar_text.js.map +1 -1
- package/php/strings/soundex.js.map +1 -1
- package/php/strings/split.js.map +1 -1
- package/php/strings/sprintf.js.map +1 -1
- package/php/strings/sscanf.js +1 -1
- package/php/strings/sscanf.js.map +1 -1
- package/php/strings/str_getcsv.js +0 -1
- package/php/strings/str_getcsv.js.map +1 -1
- package/php/strings/str_ireplace.js +0 -1
- package/php/strings/str_ireplace.js.map +1 -1
- package/php/strings/str_pad.js +0 -1
- package/php/strings/str_pad.js.map +1 -1
- package/php/strings/str_repeat.js +0 -1
- package/php/strings/str_repeat.js.map +1 -1
- package/php/strings/str_replace.js +0 -1
- package/php/strings/str_replace.js.map +1 -1
- package/php/strings/str_rot13.js +0 -1
- package/php/strings/str_rot13.js.map +1 -1
- package/php/strings/str_shuffle.js +0 -1
- package/php/strings/str_shuffle.js.map +1 -1
- package/php/strings/str_split.js +0 -1
- package/php/strings/str_split.js.map +1 -1
- package/php/strings/str_word_count.js +4 -5
- 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/strcmp.js.map +1 -1
- package/php/strings/strcoll.js.map +1 -1
- package/php/strings/strcspn.js.map +1 -1
- package/php/strings/strip_tags.js +0 -1
- package/php/strings/strip_tags.js.map +1 -1
- package/php/strings/stripos.js.map +1 -1
- package/php/strings/stripslashes.js.map +1 -1
- package/php/strings/stristr.js.map +1 -1
- package/php/strings/strlen.js +4 -4
- 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.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.map +1 -1
- package/php/strings/strstr.js.map +1 -1
- package/php/strings/strtok.js.map +1 -1
- package/php/strings/strtolower.js.map +1 -1
- package/php/strings/strtoupper.js.map +1 -1
- package/php/strings/strtr.js.map +1 -1
- package/php/strings/substr.js.map +1 -1
- package/php/strings/substr_compare.js +0 -1
- package/php/strings/substr_compare.js.map +1 -1
- package/php/strings/substr_count.js +0 -1
- package/php/strings/substr_count.js.map +1 -1
- package/php/strings/substr_replace.js +0 -1
- package/php/strings/substr_replace.js.map +1 -1
- package/php/strings/trim.js.map +1 -1
- package/php/strings/ucfirst.js.map +1 -1
- package/php/strings/ucwords.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.map +1 -1
- package/php/url/base64_decode.js +0 -1
- package/php/url/base64_decode.js.map +1 -1
- package/php/url/base64_encode.js +0 -1
- package/php/url/base64_encode.js.map +1 -1
- package/php/url/http_build_query.js +0 -1
- package/php/url/http_build_query.js.map +1 -1
- package/php/url/parse_url.js +0 -1
- package/php/url/parse_url.js.map +1 -1
- package/php/url/rawurldecode.js.map +1 -1
- package/php/url/rawurlencode.js.map +1 -1
- package/php/url/urldecode.js.map +1 -1
- package/php/url/urlencode.js.map +1 -1
- package/php/var/boolval.js.map +1 -1
- package/php/var/doubleval.js.map +1 -1
- package/php/var/empty.js.map +1 -1
- package/php/var/floatval.js.map +1 -1
- package/php/var/gettype.js.map +1 -1
- package/php/var/intval.js.map +1 -1
- package/php/var/is_array.js +0 -1
- package/php/var/is_array.js.map +1 -1
- package/php/var/is_binary.js +0 -1
- package/php/var/is_binary.js.map +1 -1
- package/php/var/is_bool.js +0 -1
- package/php/var/is_bool.js.map +1 -1
- package/php/var/is_buffer.js +0 -1
- package/php/var/is_buffer.js.map +1 -1
- package/php/var/is_callable.js +1 -2
- package/php/var/is_callable.js.map +1 -1
- package/php/var/is_double.js +0 -1
- package/php/var/is_double.js.map +1 -1
- package/php/var/is_float.js +0 -1
- package/php/var/is_float.js.map +1 -1
- package/php/var/is_int.js +0 -1
- package/php/var/is_int.js.map +1 -1
- package/php/var/is_integer.js +0 -1
- package/php/var/is_integer.js.map +1 -1
- package/php/var/is_long.js +0 -1
- package/php/var/is_long.js.map +1 -1
- package/php/var/is_null.js +0 -1
- package/php/var/is_null.js.map +1 -1
- package/php/var/is_numeric.js +0 -1
- package/php/var/is_numeric.js.map +1 -1
- package/php/var/is_object.js +0 -1
- package/php/var/is_object.js.map +1 -1
- package/php/var/is_real.js +0 -1
- package/php/var/is_real.js.map +1 -1
- package/php/var/is_scalar.js +0 -1
- package/php/var/is_scalar.js.map +1 -1
- package/php/var/is_string.js +0 -1
- package/php/var/is_string.js.map +1 -1
- package/php/var/is_unicode.js +0 -1
- package/php/var/is_unicode.js.map +1 -1
- package/php/var/isset.js.map +1 -1
- package/php/var/print_r.js +0 -1
- package/php/var/print_r.js.map +1 -1
- package/php/var/serialize.js.map +1 -1
- package/php/var/strval.js.map +1 -1
- package/php/var/unserialize.js +12 -16
- package/php/var/unserialize.js.map +1 -1
- package/php/var/var_dump.js +0 -1
- package/php/var/var_dump.js.map +1 -1
- package/php/var/var_export.js +1 -2
- package/php/var/var_export.js.map +1 -1
- package/php/xdiff/xdiff_string_diff.js +0 -1
- package/php/xdiff/xdiff_string_diff.js.map +1 -1
- package/php/xdiff/xdiff_string_patch.js +2 -4
- package/php/xdiff/xdiff_string_patch.js.map +1 -1
- package/php/xml/utf8_decode.js +10 -11
- package/php/xml/utf8_decode.js.map +1 -1
- package/php/xml/utf8_encode.js +4 -5
- package/php/xml/utf8_encode.js.map +1 -1
- package/python/string/ascii_letters.js +0 -1
- package/python/string/ascii_letters.js.map +1 -1
- package/python/string/ascii_lowercase.js +0 -1
- package/python/string/ascii_lowercase.js.map +1 -1
- package/python/string/ascii_uppercase.js +0 -1
- package/python/string/ascii_uppercase.js.map +1 -1
- package/python/string/capwords.js.map +1 -1
- package/python/string/index.js +1 -0
- 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/acos.js.map +1 -1
- package/php/_locutus_shared/_locutus_shared_bc.js +0 -1255
- package/php/_locutus_shared/_locutus_shared_bc.js.map +0 -1
- package/php/_locutus_shared/index.js +0 -4
- package/php/_locutus_shared/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/datetime/strtotime.js"],"names":["reSpace","reSpaceOpt","reMeridian","reHour24","reHour24lz","reHour12","reMinute","reMinutelz","reSecond","reSecondlz","reFrac","reDayfull","reDayabbr","reDaytext","reReltextnumber","reReltexttext","reReltextunit","reYear","reYear2","reYear4","reYear4withSign","reMonth","reMonthlz","reDay","reDaylz","reMonthFull","reMonthAbbr","reMonthroman","reMonthText","reTzCorrection","reTzAbbr","reDayOfYear","reWeekOfYear","reDateNoYear","processMeridian","hour","meridian","toLowerCase","processYear","yearStr","year","length","lookupMonth","monthStr","jan","january","i","feb","february","ii","mar","march","iii","apr","april","iv","may","v","jun","june","vi","jul","july","vii","aug","august","viii","sep","sept","september","ix","oct","october","x","nov","november","xi","dec","december","xii","lookupWeekday","dayStr","desiredSundayNumber","dayNumbers","mon","monday","tue","tuesday","wed","wednesday","thu","thursday","fri","friday","sat","saturday","sun","sunday","lookupRelative","relText","relativeNumbers","last","previous","this","first","next","second","third","fourth","fifth","sixth","seventh","eight","eighth","ninth","tenth","eleventh","twelfth","relativeBehavior","relTextLower","amount","behavior","processTzCorrection","tzOffset","oldValue","reTzCorrectionLoose","match","sign","hours","minutes","Math","floor","tzAbbrOffsets","acdt","acst","addt","adt","aedt","aest","ahdt","ahst","akdt","akst","amt","apt","ast","awdt","awst","awt","bdst","bdt","bmt","bst","cast","cat","cddt","cdt","cemt","cest","cet","cmt","cpt","cst","cwt","chst","dmt","eat","eddt","edt","eest","eet","emt","ept","est","ewt","ffmt","fmt","gdt","gmt","gst","hdt","hkst","hkt","hmt","hpt","hst","hwt","iddt","idt","imt","ist","jdt","jmt","jst","kdt","kmt","kst","lst","mddt","mdst","mdt","mest","met","mmt","mpt","msd","msk","mst","mwt","nddt","ndt","npt","nst","nwt","nzdt","nzmt","nzst","pddt","pdt","pkst","pkt","plmt","pmt","ppmt","ppt","pst","pwt","qmt","rmt","sast","sdmt","sjmt","smt","sst","tbmt","tmt","uct","utc","wast","wat","wemt","west","wet","wib","wita","wit","wmt","yddt","ydt","ypt","yst","ywt","a","b","c","d","e","f","g","h","k","l","m","n","o","p","q","r","s","t","u","w","y","z","formats","yesterday","regex","name","callback","rd","resetTime","now","noon","time","midnightOrToday","tomorrow","timestamp","rs","dates","zone","firstOrLastDay","day","firstOrLastDayOfMonth","backOrFrontOf","RegExp","side","back","minute","weekdayOf","mssqltime","frac","substr","timeLong12","timeShort12","timeTiny12","soap","month","tzCorrection","ymd","wddx","exif","xmlRpc","xmlRpcNoColon","clf","iso8601long","dateTextual","pointedDate4","pointedDate2","timeLong24","dateNoColon","pgydotd","timeShort24","iso8601noColon","iso8601dateSlash","dateSlash","american","americanShort","gnuDateShortOrIso8601date2","iso8601date4","gnuNoColon","times","gnuDateShorter","pgTextReverse","dateFull","dateNoDay","dateNoDayRev","pgTextShort","dateNoYear","dateNoYearRev","isoWeekDay","week","dayOfWeek","Date","getDay","relativeText","relValue","relUnit","ri","rh","rm","ry","weekday","weekdayBehavior","relative","signs","minuses","replace","pow","dayText","relativeTextWeek","isNaN","monthFullOrMonthAbbr","tzAbbr","abbr","offset","ago","rf","year4","whitespace","dateShortWithTimeLong","dateShortWithTimeLong12","dateShortWithTimeShort","dateShortWithTimeShort12","resultProto","NaN","zones","toDate","relativeTo","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","date","getTime","setFullYear","setHours","dow","diff","abs","result","setDate","setMonth","getTimezoneOffset","setUTCFullYear","setUTCHours","module","exports","strtotime","str","rules","Object","create","longestMatch","finalRule","format","apply"],"mappings":"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","file":"strtotime.js","sourcesContent":["const reSpace = '[ \\\\t]+'\nconst reSpaceOpt = '[ \\\\t]*'\nconst reMeridian = '(?:([ap])\\\\.?m\\\\.?([\\\\t ]|$))'\nconst reHour24 = '(2[0-4]|[01]?[0-9])'\nconst reHour24lz = '([01][0-9]|2[0-4])'\nconst reHour12 = '(0?[1-9]|1[0-2])'\nconst reMinute = '([0-5]?[0-9])'\nconst reMinutelz = '([0-5][0-9])'\nconst reSecond = '(60|[0-5]?[0-9])'\nconst reSecondlz = '(60|[0-5][0-9])'\nconst reFrac = '(?:\\\\.([0-9]+))'\n\nconst reDayfull = 'sunday|monday|tuesday|wednesday|thursday|friday|saturday'\nconst reDayabbr = 'sun|mon|tue|wed|thu|fri|sat'\nconst reDaytext = reDayfull + '|' + reDayabbr + '|weekdays?'\n\nconst reReltextnumber = 'first|second|third|fourth|fifth|sixth|seventh|eighth?|ninth|tenth|eleventh|twelfth'\nconst reReltexttext = 'next|last|previous|this'\nconst reReltextunit = '(?:second|sec|minute|min|hour|day|fortnight|forthnight|month|year)s?|weeks|' + reDaytext\n\nconst reYear = '([0-9]{1,4})'\nconst reYear2 = '([0-9]{2})'\nconst reYear4 = '([0-9]{4})'\nconst reYear4withSign = '([+-]?[0-9]{4})'\nconst reMonth = '(1[0-2]|0?[0-9])'\nconst reMonthlz = '(0[0-9]|1[0-2])'\nconst reDay = '(?:(3[01]|[0-2]?[0-9])(?:st|nd|rd|th)?)'\nconst reDaylz = '(0[0-9]|[1-2][0-9]|3[01])'\n\nconst reMonthFull = 'january|february|march|april|may|june|july|august|september|october|november|december'\nconst reMonthAbbr = 'jan|feb|mar|apr|may|jun|jul|aug|sept?|oct|nov|dec'\nconst reMonthroman = 'i[vx]|vi{0,3}|xi{0,2}|i{1,3}'\nconst reMonthText = '(' + reMonthFull + '|' + reMonthAbbr + '|' + reMonthroman + ')'\n\nconst reTzCorrection = '((?:GMT)?([+-])' + reHour24 + ':?' + reMinute + '?)'\nconst reTzAbbr = '\\\\(?([a-zA-Z]{1,6})\\\\)?'\nconst reDayOfYear = '(00[1-9]|0[1-9][0-9]|[12][0-9][0-9]|3[0-5][0-9]|36[0-6])'\nconst reWeekOfYear = '(0[1-9]|[1-4][0-9]|5[0-3])'\n\nconst reDateNoYear = reMonthText + '[ .\\\\t-]*' + reDay + '[,.stndrh\\\\t ]*'\n\nfunction processMeridian (hour, meridian) {\n meridian = meridian && meridian.toLowerCase()\n\n switch (meridian) {\n case 'a':\n hour += hour === 12 ? -12 : 0\n break\n case 'p':\n hour += hour !== 12 ? 12 : 0\n break\n }\n\n return hour\n}\n\nfunction processYear (yearStr) {\n let year = +yearStr\n\n if (yearStr.length < 4 && year < 100) {\n year += year < 70 ? 2000 : 1900\n }\n\n return year\n}\n\nfunction lookupMonth (monthStr) {\n return {\n jan: 0,\n january: 0,\n i: 0,\n feb: 1,\n february: 1,\n ii: 1,\n mar: 2,\n march: 2,\n iii: 2,\n apr: 3,\n april: 3,\n iv: 3,\n may: 4,\n v: 4,\n jun: 5,\n june: 5,\n vi: 5,\n jul: 6,\n july: 6,\n vii: 6,\n aug: 7,\n august: 7,\n viii: 7,\n sep: 8,\n sept: 8,\n september: 8,\n ix: 8,\n oct: 9,\n october: 9,\n x: 9,\n nov: 10,\n november: 10,\n xi: 10,\n dec: 11,\n december: 11,\n xii: 11\n }[monthStr.toLowerCase()]\n}\n\nfunction lookupWeekday (dayStr, desiredSundayNumber = 0) {\n const dayNumbers = {\n mon: 1,\n monday: 1,\n tue: 2,\n tuesday: 2,\n wed: 3,\n wednesday: 3,\n thu: 4,\n thursday: 4,\n fri: 5,\n friday: 5,\n sat: 6,\n saturday: 6,\n sun: 0,\n sunday: 0\n }\n\n return dayNumbers[dayStr.toLowerCase()] || desiredSundayNumber\n}\n\nfunction lookupRelative (relText) {\n const relativeNumbers = {\n last: -1,\n previous: -1,\n this: 0,\n first: 1,\n next: 1,\n second: 2,\n third: 3,\n fourth: 4,\n fifth: 5,\n sixth: 6,\n seventh: 7,\n eight: 8,\n eighth: 8,\n ninth: 9,\n tenth: 10,\n eleventh: 11,\n twelfth: 12\n }\n\n const relativeBehavior = {\n this: 1\n }\n\n const relTextLower = relText.toLowerCase()\n\n return {\n amount: relativeNumbers[relTextLower],\n behavior: relativeBehavior[relTextLower] || 0\n }\n}\n\nfunction processTzCorrection (tzOffset, oldValue) {\n const reTzCorrectionLoose = /(?:GMT)?([+-])(\\d+)(:?)(\\d{0,2})/i\n tzOffset = tzOffset && tzOffset.match(reTzCorrectionLoose)\n\n if (!tzOffset) {\n return oldValue\n }\n\n const sign = tzOffset[1] === '-' ? -1 : 1\n let hours = +tzOffset[2]\n let minutes = +tzOffset[4]\n\n if (!tzOffset[4] && !tzOffset[3]) {\n minutes = Math.floor(hours % 100)\n hours = Math.floor(hours / 100)\n }\n\n // timezone offset in seconds\n return sign * (hours * 60 + minutes) * 60\n}\n\n// tz abbrevation : tz offset in seconds\nconst tzAbbrOffsets = {\n acdt: 37800,\n acst: 34200,\n addt: -7200,\n adt: -10800,\n aedt: 39600,\n aest: 36000,\n ahdt: -32400,\n ahst: -36000,\n akdt: -28800,\n akst: -32400,\n amt: -13840,\n apt: -10800,\n ast: -14400,\n awdt: 32400,\n awst: 28800,\n awt: -10800,\n bdst: 7200,\n bdt: -36000,\n bmt: -14309,\n bst: 3600,\n cast: 34200,\n cat: 7200,\n cddt: -14400,\n cdt: -18000,\n cemt: 10800,\n cest: 7200,\n cet: 3600,\n cmt: -15408,\n cpt: -18000,\n cst: -21600,\n cwt: -18000,\n chst: 36000,\n dmt: -1521,\n eat: 10800,\n eddt: -10800,\n edt: -14400,\n eest: 10800,\n eet: 7200,\n emt: -26248,\n ept: -14400,\n est: -18000,\n ewt: -14400,\n ffmt: -14660,\n fmt: -4056,\n gdt: 39600,\n gmt: 0,\n gst: 36000,\n hdt: -34200,\n hkst: 32400,\n hkt: 28800,\n hmt: -19776,\n hpt: -34200,\n hst: -36000,\n hwt: -34200,\n iddt: 14400,\n idt: 10800,\n imt: 25025,\n ist: 7200,\n jdt: 36000,\n jmt: 8440,\n jst: 32400,\n kdt: 36000,\n kmt: 5736,\n kst: 30600,\n lst: 9394,\n mddt: -18000,\n mdst: 16279,\n mdt: -21600,\n mest: 7200,\n met: 3600,\n mmt: 9017,\n mpt: -21600,\n msd: 14400,\n msk: 10800,\n mst: -25200,\n mwt: -21600,\n nddt: -5400,\n ndt: -9052,\n npt: -9000,\n nst: -12600,\n nwt: -9000,\n nzdt: 46800,\n nzmt: 41400,\n nzst: 43200,\n pddt: -21600,\n pdt: -25200,\n pkst: 21600,\n pkt: 18000,\n plmt: 25590,\n pmt: -13236,\n ppmt: -17340,\n ppt: -25200,\n pst: -28800,\n pwt: -25200,\n qmt: -18840,\n rmt: 5794,\n sast: 7200,\n sdmt: -16800,\n sjmt: -20173,\n smt: -13884,\n sst: -39600,\n tbmt: 10751,\n tmt: 12344,\n uct: 0,\n utc: 0,\n wast: 7200,\n wat: 3600,\n wemt: 7200,\n west: 3600,\n wet: 0,\n wib: 25200,\n wita: 28800,\n wit: 32400,\n wmt: 5040,\n yddt: -25200,\n ydt: -28800,\n ypt: -28800,\n yst: -32400,\n ywt: -28800,\n a: 3600,\n b: 7200,\n c: 10800,\n d: 14400,\n e: 18000,\n f: 21600,\n g: 25200,\n h: 28800,\n i: 32400,\n k: 36000,\n l: 39600,\n m: 43200,\n n: -3600,\n o: -7200,\n p: -10800,\n q: -14400,\n r: -18000,\n s: -21600,\n t: -25200,\n u: -28800,\n v: -32400,\n w: -36000,\n x: -39600,\n y: -43200,\n z: 0\n}\n\nconst formats = {\n yesterday: {\n regex: /^yesterday/i,\n name: 'yesterday',\n callback () {\n this.rd -= 1\n return this.resetTime()\n }\n },\n\n now: {\n regex: /^now/i,\n name: 'now'\n // do nothing\n },\n\n noon: {\n regex: /^noon/i,\n name: 'noon',\n callback () {\n return this.resetTime() && this.time(12, 0, 0, 0)\n }\n },\n\n midnightOrToday: {\n regex: /^(midnight|today)/i,\n name: 'midnight | today',\n callback () {\n return this.resetTime()\n }\n },\n\n tomorrow: {\n regex: /^tomorrow/i,\n name: 'tomorrow',\n callback () {\n this.rd += 1\n return this.resetTime()\n }\n },\n\n timestamp: {\n regex: /^@(-?\\d+)/i,\n name: 'timestamp',\n callback (match, timestamp) {\n this.rs += +timestamp\n this.y = 1970\n this.m = 0\n this.d = 1\n this.dates = 0\n\n return this.resetTime() && this.zone(0)\n }\n },\n\n firstOrLastDay: {\n regex: /^(first|last) day of/i,\n name: 'firstdayof | lastdayof',\n callback (match, day) {\n if (day.toLowerCase() === 'first') {\n this.firstOrLastDayOfMonth = 1\n } else {\n this.firstOrLastDayOfMonth = -1\n }\n }\n },\n\n backOrFrontOf: {\n regex: RegExp('^(back|front) of ' + reHour24 + reSpaceOpt + reMeridian + '?', 'i'),\n name: 'backof | frontof',\n callback (match, side, hours, meridian) {\n const back = side.toLowerCase() === 'back'\n let hour = +hours\n let minute = 15\n\n if (!back) {\n hour -= 1\n minute = 45\n }\n\n hour = processMeridian(hour, meridian)\n\n return this.resetTime() && this.time(hour, minute, 0, 0)\n }\n },\n\n weekdayOf: {\n regex: RegExp('^(' + reReltextnumber + '|' + reReltexttext + ')' + reSpace + '(' + reDayfull + '|' + reDayabbr + ')' + reSpace + 'of', 'i'),\n name: 'weekdayof'\n // todo\n },\n\n mssqltime: {\n regex: RegExp('^' + reHour12 + ':' + reMinutelz + ':' + reSecondlz + '[:.]([0-9]+)' + reMeridian, 'i'),\n name: 'mssqltime',\n callback (match, hour, minute, second, frac, meridian) {\n return this.time(processMeridian(+hour, meridian), +minute, +second, +frac.substr(0, 3))\n }\n },\n\n timeLong12: {\n regex: RegExp('^' + reHour12 + '[:.]' + reMinute + '[:.]' + reSecondlz + reSpaceOpt + reMeridian, 'i'),\n name: 'timelong12',\n callback (match, hour, minute, second, meridian) {\n return this.time(processMeridian(+hour, meridian), +minute, +second, 0)\n }\n },\n\n timeShort12: {\n regex: RegExp('^' + reHour12 + '[:.]' + reMinutelz + reSpaceOpt + reMeridian, 'i'),\n name: 'timeshort12',\n callback (match, hour, minute, meridian) {\n return this.time(processMeridian(+hour, meridian), +minute, 0, 0)\n }\n },\n\n timeTiny12: {\n regex: RegExp('^' + reHour12 + reSpaceOpt + reMeridian, 'i'),\n name: 'timetiny12',\n callback (match, hour, meridian) {\n return this.time(processMeridian(+hour, meridian), 0, 0, 0)\n }\n },\n\n soap: {\n regex: RegExp('^' + reYear4 + '-' + reMonthlz + '-' + reDaylz + 'T' + reHour24lz + ':' + reMinutelz + ':' + reSecondlz + reFrac + reTzCorrection + '?', 'i'),\n name: 'soap',\n callback (match, year, month, day, hour, minute, second, frac, tzCorrection) {\n return this.ymd(+year, month - 1, +day) &&\n this.time(+hour, +minute, +second, +frac.substr(0, 3)) &&\n this.zone(processTzCorrection(tzCorrection))\n }\n },\n\n wddx: {\n regex: RegExp('^' + reYear4 + '-' + reMonth + '-' + reDay + 'T' + reHour24 + ':' + reMinute + ':' + reSecond),\n name: 'wddx',\n callback (match, year, month, day, hour, minute, second) {\n return this.ymd(+year, month - 1, +day) && this.time(+hour, +minute, +second, 0)\n }\n },\n\n exif: {\n regex: RegExp('^' + reYear4 + ':' + reMonthlz + ':' + reDaylz + ' ' + reHour24lz + ':' + reMinutelz + ':' + reSecondlz, 'i'),\n name: 'exif',\n callback (match, year, month, day, hour, minute, second) {\n return this.ymd(+year, month - 1, +day) && this.time(+hour, +minute, +second, 0)\n }\n },\n\n xmlRpc: {\n regex: RegExp('^' + reYear4 + reMonthlz + reDaylz + 'T' + reHour24 + ':' + reMinutelz + ':' + reSecondlz),\n name: 'xmlrpc',\n callback (match, year, month, day, hour, minute, second) {\n return this.ymd(+year, month - 1, +day) && this.time(+hour, +minute, +second, 0)\n }\n },\n\n xmlRpcNoColon: {\n regex: RegExp('^' + reYear4 + reMonthlz + reDaylz + '[Tt]' + reHour24 + reMinutelz + reSecondlz),\n name: 'xmlrpcnocolon',\n callback (match, year, month, day, hour, minute, second) {\n return this.ymd(+year, month - 1, +day) && this.time(+hour, +minute, +second, 0)\n }\n },\n\n clf: {\n regex: RegExp('^' + reDay + '/(' + reMonthAbbr + ')/' + reYear4 + ':' + reHour24lz + ':' + reMinutelz + ':' + reSecondlz + reSpace + reTzCorrection, 'i'),\n name: 'clf',\n callback (match, day, month, year, hour, minute, second, tzCorrection) {\n return this.ymd(+year, lookupMonth(month), +day) &&\n this.time(+hour, +minute, +second, 0) &&\n this.zone(processTzCorrection(tzCorrection))\n }\n },\n\n iso8601long: {\n regex: RegExp('^t?' + reHour24 + '[:.]' + reMinute + '[:.]' + reSecond + reFrac, 'i'),\n name: 'iso8601long',\n callback (match, hour, minute, second, frac) {\n return this.time(+hour, +minute, +second, +frac.substr(0, 3))\n }\n },\n\n dateTextual: {\n regex: RegExp('^' + reMonthText + '[ .\\\\t-]*' + reDay + '[,.stndrh\\\\t ]+' + reYear, 'i'),\n name: 'datetextual',\n callback (match, month, day, year) {\n return this.ymd(processYear(year), lookupMonth(month), +day)\n }\n },\n\n pointedDate4: {\n regex: RegExp('^' + reDay + '[.\\\\t-]' + reMonth + '[.-]' + reYear4),\n name: 'pointeddate4',\n callback (match, day, month, year) {\n return this.ymd(+year, month - 1, +day)\n }\n },\n\n pointedDate2: {\n regex: RegExp('^' + reDay + '[.\\\\t]' + reMonth + '\\\\.' + reYear2),\n name: 'pointeddate2',\n callback (match, day, month, year) {\n return this.ymd(processYear(year), month - 1, +day)\n }\n },\n\n timeLong24: {\n regex: RegExp('^t?' + reHour24 + '[:.]' + reMinute + '[:.]' + reSecond),\n name: 'timelong24',\n callback (match, hour, minute, second) {\n return this.time(+hour, +minute, +second, 0)\n }\n },\n\n dateNoColon: {\n regex: RegExp('^' + reYear4 + reMonthlz + reDaylz),\n name: 'datenocolon',\n callback (match, year, month, day) {\n return this.ymd(+year, month - 1, +day)\n }\n },\n\n pgydotd: {\n regex: RegExp('^' + reYear4 + '\\\\.?' + reDayOfYear),\n name: 'pgydotd',\n callback (match, year, day) {\n return this.ymd(+year, 0, +day)\n }\n },\n\n timeShort24: {\n regex: RegExp('^t?' + reHour24 + '[:.]' + reMinute, 'i'),\n name: 'timeshort24',\n callback (match, hour, minute) {\n return this.time(+hour, +minute, 0, 0)\n }\n },\n\n iso8601noColon: {\n regex: RegExp('^t?' + reHour24lz + reMinutelz + reSecondlz, 'i'),\n name: 'iso8601nocolon',\n callback (match, hour, minute, second) {\n return this.time(+hour, +minute, +second, 0)\n }\n },\n\n iso8601dateSlash: {\n // eventhough the trailing slash is optional in PHP\n // here it's mandatory and inputs without the slash\n // are handled by dateslash\n regex: RegExp('^' + reYear4 + '/' + reMonthlz + '/' + reDaylz + '/'),\n name: 'iso8601dateslash',\n callback (match, year, month, day) {\n return this.ymd(+year, month - 1, +day)\n }\n },\n\n dateSlash: {\n regex: RegExp('^' + reYear4 + '/' + reMonth + '/' + reDay),\n name: 'dateslash',\n callback (match, year, month, day) {\n return this.ymd(+year, month - 1, +day)\n }\n },\n\n american: {\n regex: RegExp('^' + reMonth + '/' + reDay + '/' + reYear),\n name: 'american',\n callback (match, month, day, year) {\n return this.ymd(processYear(year), month - 1, +day)\n }\n },\n\n americanShort: {\n regex: RegExp('^' + reMonth + '/' + reDay),\n name: 'americanshort',\n callback (match, month, day) {\n return this.ymd(this.y, month - 1, +day)\n }\n },\n\n gnuDateShortOrIso8601date2: {\n // iso8601date2 is complete subset of gnudateshort\n regex: RegExp('^' + reYear + '-' + reMonth + '-' + reDay),\n name: 'gnudateshort | iso8601date2',\n callback (match, year, month, day) {\n return this.ymd(processYear(year), month - 1, +day)\n }\n },\n\n iso8601date4: {\n regex: RegExp('^' + reYear4withSign + '-' + reMonthlz + '-' + reDaylz),\n name: 'iso8601date4',\n callback (match, year, month, day) {\n return this.ymd(+year, month - 1, +day)\n }\n },\n\n gnuNoColon: {\n regex: RegExp('^t?' + reHour24lz + reMinutelz, 'i'),\n name: 'gnunocolon',\n callback (match, hour, minute) {\n // this rule is a special case\n // if time was already set once by any preceding rule, it sets the captured value as year\n switch (this.times) {\n case 0:\n return this.time(+hour, +minute, 0, this.f)\n case 1:\n this.y = hour * 100 + +minute\n this.times++\n\n return true\n default:\n return false\n }\n }\n },\n\n gnuDateShorter: {\n regex: RegExp('^' + reYear4 + '-' + reMonth),\n name: 'gnudateshorter',\n callback (match, year, month) {\n return this.ymd(+year, month - 1, 1)\n }\n },\n\n pgTextReverse: {\n // note: allowed years are from 32-9999\n // years below 32 should be treated as days in datefull\n regex: RegExp('^' + '(\\\\d{3,4}|[4-9]\\\\d|3[2-9])-(' + reMonthAbbr + ')-' + reDaylz, 'i'),\n name: 'pgtextreverse',\n callback (match, year, month, day) {\n return this.ymd(processYear(year), lookupMonth(month), +day)\n }\n },\n\n dateFull: {\n regex: RegExp('^' + reDay + '[ \\\\t.-]*' + reMonthText + '[ \\\\t.-]*' + reYear, 'i'),\n name: 'datefull',\n callback (match, day, month, year) {\n return this.ymd(processYear(year), lookupMonth(month), +day)\n }\n },\n\n dateNoDay: {\n regex: RegExp('^' + reMonthText + '[ .\\\\t-]*' + reYear4, 'i'),\n name: 'datenoday',\n callback (match, month, year) {\n return this.ymd(+year, lookupMonth(month), 1)\n }\n },\n\n dateNoDayRev: {\n regex: RegExp('^' + reYear4 + '[ .\\\\t-]*' + reMonthText, 'i'),\n name: 'datenodayrev',\n callback (match, year, month) {\n return this.ymd(+year, lookupMonth(month), 1)\n }\n },\n\n pgTextShort: {\n regex: RegExp('^(' + reMonthAbbr + ')-' + reDaylz + '-' + reYear, 'i'),\n name: 'pgtextshort',\n callback (match, month, day, year) {\n return this.ymd(processYear(year), lookupMonth(month), +day)\n }\n },\n\n dateNoYear: {\n regex: RegExp('^' + reDateNoYear, 'i'),\n name: 'datenoyear',\n callback (match, month, day) {\n return this.ymd(this.y, lookupMonth(month), +day)\n }\n },\n\n dateNoYearRev: {\n regex: RegExp('^' + reDay + '[ .\\\\t-]*' + reMonthText, 'i'),\n name: 'datenoyearrev',\n callback (match, day, month) {\n return this.ymd(this.y, lookupMonth(month), +day)\n }\n },\n\n isoWeekDay: {\n regex: RegExp('^' + reYear4 + '-?W' + reWeekOfYear + '(?:-?([0-7]))?'),\n name: 'isoweekday | isoweek',\n callback (match, year, week, day) {\n day = day ? +day : 1\n\n if (!this.ymd(+year, 0, 1)) {\n return false\n }\n\n // get day of week for Jan 1st\n let dayOfWeek = new Date(this.y, this.m, this.d).getDay()\n\n // and use the day to figure out the offset for day 1 of week 1\n dayOfWeek = 0 - (dayOfWeek > 4 ? dayOfWeek - 7 : dayOfWeek)\n\n this.rd += dayOfWeek + ((week - 1) * 7) + day\n }\n },\n\n relativeText: {\n regex: RegExp('^(' + reReltextnumber + '|' + reReltexttext + ')' + reSpace + '(' + reReltextunit + ')', 'i'),\n name: 'relativetext',\n callback (match, relValue, relUnit) {\n // todo: implement handling of 'this time-unit'\n // eslint-disable-next-line no-unused-vars\n const { amount, behavior } = lookupRelative(relValue)\n\n switch (relUnit.toLowerCase()) {\n case 'sec':\n case 'secs':\n case 'second':\n case 'seconds':\n this.rs += amount\n break\n case 'min':\n case 'mins':\n case 'minute':\n case 'minutes':\n this.ri += amount\n break\n case 'hour':\n case 'hours':\n this.rh += amount\n break\n case 'day':\n case 'days':\n this.rd += amount\n break\n case 'fortnight':\n case 'fortnights':\n case 'forthnight':\n case 'forthnights':\n this.rd += amount * 14\n break\n case 'week':\n case 'weeks':\n this.rd += amount * 7\n break\n case 'month':\n case 'months':\n this.rm += amount\n break\n case 'year':\n case 'years':\n this.ry += amount\n break\n case 'mon': case 'monday':\n case 'tue': case 'tuesday':\n case 'wed': case 'wednesday':\n case 'thu': case 'thursday':\n case 'fri': case 'friday':\n case 'sat': case 'saturday':\n case 'sun': case 'sunday':\n this.resetTime()\n this.weekday = lookupWeekday(relUnit, 7)\n this.weekdayBehavior = 1\n this.rd += (amount > 0 ? amount - 1 : amount) * 7\n break\n case 'weekday':\n case 'weekdays':\n // todo\n break\n }\n }\n },\n\n relative: {\n regex: RegExp('^([+-]*)[ \\\\t]*(\\\\d+)' + reSpaceOpt + '(' + reReltextunit + '|week)', 'i'),\n name: 'relative',\n callback (match, signs, relValue, relUnit) {\n const minuses = signs.replace(/[^-]/g, '').length\n\n const amount = +relValue * Math.pow(-1, minuses)\n\n switch (relUnit.toLowerCase()) {\n case 'sec':\n case 'secs':\n case 'second':\n case 'seconds':\n this.rs += amount\n break\n case 'min':\n case 'mins':\n case 'minute':\n case 'minutes':\n this.ri += amount\n break\n case 'hour':\n case 'hours':\n this.rh += amount\n break\n case 'day':\n case 'days':\n this.rd += amount\n break\n case 'fortnight':\n case 'fortnights':\n case 'forthnight':\n case 'forthnights':\n this.rd += amount * 14\n break\n case 'week':\n case 'weeks':\n this.rd += amount * 7\n break\n case 'month':\n case 'months':\n this.rm += amount\n break\n case 'year':\n case 'years':\n this.ry += amount\n break\n case 'mon': case 'monday':\n case 'tue': case 'tuesday':\n case 'wed': case 'wednesday':\n case 'thu': case 'thursday':\n case 'fri': case 'friday':\n case 'sat': case 'saturday':\n case 'sun': case 'sunday':\n this.resetTime()\n this.weekday = lookupWeekday(relUnit, 7)\n this.weekdayBehavior = 1\n this.rd += (amount > 0 ? amount - 1 : amount) * 7\n break\n case 'weekday':\n case 'weekdays':\n // todo\n break\n }\n }\n },\n\n dayText: {\n regex: RegExp('^(' + reDaytext + ')', 'i'),\n name: 'daytext',\n callback (match, dayText) {\n this.resetTime()\n this.weekday = lookupWeekday(dayText, 0)\n\n if (this.weekdayBehavior !== 2) {\n this.weekdayBehavior = 1\n }\n }\n },\n\n relativeTextWeek: {\n regex: RegExp('^(' + reReltexttext + ')' + reSpace + 'week', 'i'),\n name: 'relativetextweek',\n callback (match, relText) {\n this.weekdayBehavior = 2\n\n switch (relText.toLowerCase()) {\n case 'this':\n this.rd += 0\n break\n case 'next':\n this.rd += 7\n break\n case 'last':\n case 'previous':\n this.rd -= 7\n break\n }\n\n if (isNaN(this.weekday)) {\n this.weekday = 1\n }\n }\n },\n\n monthFullOrMonthAbbr: {\n regex: RegExp('^(' + reMonthFull + '|' + reMonthAbbr + ')', 'i'),\n name: 'monthfull | monthabbr',\n callback (match, month) {\n return this.ymd(this.y, lookupMonth(month), this.d)\n }\n },\n\n tzCorrection: {\n regex: RegExp('^' + reTzCorrection, 'i'),\n name: 'tzcorrection',\n callback (tzCorrection) {\n return this.zone(processTzCorrection(tzCorrection))\n }\n },\n\n tzAbbr: {\n regex: RegExp('^' + reTzAbbr),\n name: 'tzabbr',\n callback (match, abbr) {\n const offset = tzAbbrOffsets[abbr.toLowerCase()]\n\n if (isNaN(offset)) {\n return false\n }\n\n return this.zone(offset)\n }\n },\n\n ago: {\n regex: /^ago/i,\n name: 'ago',\n callback () {\n this.ry = -this.ry\n this.rm = -this.rm\n this.rd = -this.rd\n this.rh = -this.rh\n this.ri = -this.ri\n this.rs = -this.rs\n this.rf = -this.rf\n }\n },\n\n year4: {\n regex: RegExp('^' + reYear4),\n name: 'year4',\n callback (match, year) {\n this.y = +year\n return true\n }\n },\n\n whitespace: {\n regex: /^[ .,\\t]+/,\n name: 'whitespace'\n // do nothing\n },\n\n dateShortWithTimeLong: {\n regex: RegExp('^' + reDateNoYear + 't?' + reHour24 + '[:.]' + reMinute + '[:.]' + reSecond, 'i'),\n name: 'dateshortwithtimelong',\n callback (match, month, day, hour, minute, second) {\n return this.ymd(this.y, lookupMonth(month), +day) && this.time(+hour, +minute, +second, 0)\n }\n },\n\n dateShortWithTimeLong12: {\n regex: RegExp('^' + reDateNoYear + reHour12 + '[:.]' + reMinute + '[:.]' + reSecondlz + reSpaceOpt + reMeridian, 'i'),\n name: 'dateshortwithtimelong12',\n callback (match, month, day, hour, minute, second, meridian) {\n return this.ymd(this.y, lookupMonth(month), +day) && this.time(processMeridian(+hour, meridian), +minute, +second, 0)\n }\n },\n\n dateShortWithTimeShort: {\n regex: RegExp('^' + reDateNoYear + 't?' + reHour24 + '[:.]' + reMinute, 'i'),\n name: 'dateshortwithtimeshort',\n callback (match, month, day, hour, minute) {\n return this.ymd(this.y, lookupMonth(month), +day) && this.time(+hour, +minute, 0, 0)\n }\n },\n\n dateShortWithTimeShort12: {\n regex: RegExp('^' + reDateNoYear + reHour12 + '[:.]' + reMinutelz + reSpaceOpt + reMeridian, 'i'),\n name: 'dateshortwithtimeshort12',\n callback (match, month, day, hour, minute, meridian) {\n return this.ymd(this.y, lookupMonth(month), +day) && this.time(processMeridian(+hour, meridian), +minute, 0, 0)\n }\n }\n}\n\nconst resultProto = {\n // date\n y: NaN,\n m: NaN,\n d: NaN,\n // time\n h: NaN,\n i: NaN,\n s: NaN,\n f: NaN,\n\n // relative shifts\n ry: 0,\n rm: 0,\n rd: 0,\n rh: 0,\n ri: 0,\n rs: 0,\n rf: 0,\n\n // weekday related shifts\n weekday: NaN,\n weekdayBehavior: 0,\n\n // first or last day of month\n // 0 none, 1 first, -1 last\n firstOrLastDayOfMonth: 0,\n\n // timezone correction in minutes\n z: NaN,\n\n // counters\n dates: 0,\n times: 0,\n zones: 0,\n\n // helper functions\n ymd (y, m, d) {\n if (this.dates > 0) {\n return false\n }\n\n this.dates++\n this.y = y\n this.m = m\n this.d = d\n return true\n },\n\n time (h, i, s, f) {\n if (this.times > 0) {\n return false\n }\n\n this.times++\n this.h = h\n this.i = i\n this.s = s\n this.f = f\n\n return true\n },\n\n resetTime () {\n this.h = 0\n this.i = 0\n this.s = 0\n this.f = 0\n this.times = 0\n\n return true\n },\n\n zone (minutes) {\n if (this.zones <= 1) {\n this.zones++\n this.z = minutes\n return true\n }\n\n return false\n },\n\n toDate (relativeTo) {\n if (this.dates && !this.times) {\n this.h = this.i = this.s = this.f = 0\n }\n\n // fill holes\n if (isNaN(this.y)) {\n this.y = relativeTo.getFullYear()\n }\n\n if (isNaN(this.m)) {\n this.m = relativeTo.getMonth()\n }\n\n if (isNaN(this.d)) {\n this.d = relativeTo.getDate()\n }\n\n if (isNaN(this.h)) {\n this.h = relativeTo.getHours()\n }\n\n if (isNaN(this.i)) {\n this.i = relativeTo.getMinutes()\n }\n\n if (isNaN(this.s)) {\n this.s = relativeTo.getSeconds()\n }\n\n if (isNaN(this.f)) {\n this.f = relativeTo.getMilliseconds()\n }\n\n // adjust special early\n switch (this.firstOrLastDayOfMonth) {\n case 1:\n this.d = 1\n break\n case -1:\n this.d = 0\n this.m += 1\n break\n }\n\n if (!isNaN(this.weekday)) {\n const date = new Date(relativeTo.getTime())\n date.setFullYear(this.y, this.m, this.d)\n date.setHours(this.h, this.i, this.s, this.f)\n\n const dow = date.getDay()\n\n if (this.weekdayBehavior === 2) {\n // To make \"this week\" work, where the current day of week is a \"sunday\"\n if (dow === 0 && this.weekday !== 0) {\n this.weekday = -6\n }\n\n // To make \"sunday this week\" work, where the current day of week is not a \"sunday\"\n if (this.weekday === 0 && dow !== 0) {\n this.weekday = 7\n }\n\n this.d -= dow\n this.d += this.weekday\n } else {\n let diff = this.weekday - dow\n\n // some PHP magic\n if ((this.rd < 0 && diff < 0) || (this.rd >= 0 && diff <= -this.weekdayBehavior)) {\n diff += 7\n }\n\n if (this.weekday >= 0) {\n this.d += diff\n } else {\n this.d -= (7 - (Math.abs(this.weekday) - dow))\n }\n\n this.weekday = NaN\n }\n }\n\n // adjust relative\n this.y += this.ry\n this.m += this.rm\n this.d += this.rd\n\n this.h += this.rh\n this.i += this.ri\n this.s += this.rs\n this.f += this.rf\n\n this.ry = this.rm = this.rd = 0\n this.rh = this.ri = this.rs = this.rf = 0\n\n const result = new Date(relativeTo.getTime())\n // since Date constructor treats years <= 99 as 1900+\n // it can't be used, thus this weird way\n result.setFullYear(this.y, this.m, this.d)\n result.setHours(this.h, this.i, this.s, this.f)\n\n // note: this is done twice in PHP\n // early when processing special relatives\n // and late\n // todo: check if the logic can be reduced\n // to just one time action\n switch (this.firstOrLastDayOfMonth) {\n case 1:\n result.setDate(1)\n break\n case -1:\n result.setMonth(result.getMonth() + 1, 0)\n break\n }\n\n // adjust timezone\n if (!isNaN(this.z) && result.getTimezoneOffset() !== this.z) {\n result.setUTCFullYear(\n result.getFullYear(),\n result.getMonth(),\n result.getDate())\n\n result.setUTCHours(\n result.getHours(),\n result.getMinutes(),\n result.getSeconds() - this.z,\n result.getMilliseconds())\n }\n\n return result\n }\n}\n\nmodule.exports = function strtotime (str, now) {\n // discuss at: https://locutus.io/php/strtotime/\n // original by: Caio Ariede (https://caioariede.com)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Caio Ariede (https://caioariede.com)\n // improved by: A. Matías Quezada (https://amatiasq.com)\n // improved by: preuter\n // improved by: Brett Zamir (https://brett-zamir.me)\n // improved by: Mirko Faber\n // input by: David\n // bugfixed by: Wagner B. Soares\n // bugfixed by: Artur Tchernychev\n // bugfixed by: Stephan Bösch-Plepelits (https://github.com/plepe)\n // reimplemented by: Rafał Kukawski\n // note 1: Examples all have a fixed timestamp to prevent\n // note 1: tests to fail because of variable time(zones)\n // example 1: strtotime('+1 day', 1129633200)\n // returns 1: 1129719600\n // example 2: strtotime('+1 week 2 days 4 hours 2 seconds', 1129633200)\n // returns 2: 1130425202\n // example 3: strtotime('last month', 1129633200)\n // returns 3: 1127041200\n // example 4: strtotime('2009-05-04 08:30:00+00')\n // returns 4: 1241425800\n // example 5: strtotime('2009-05-04 08:30:00+02:00')\n // returns 5: 1241418600\n // example 6: strtotime('2009-05-04 08:30:00 YWT')\n // returns 6: 1241454600\n\n if (now == null) {\n now = Math.floor(Date.now() / 1000)\n }\n\n // the rule order is important\n // if multiple rules match, the longest match wins\n // if multiple rules match the same string, the first match wins\n const rules = [\n formats.yesterday,\n formats.now,\n formats.noon,\n formats.midnightOrToday,\n formats.tomorrow,\n formats.timestamp,\n formats.firstOrLastDay,\n formats.backOrFrontOf,\n // formats.weekdayOf, // not yet implemented\n formats.timeTiny12,\n formats.timeShort12,\n formats.timeLong12,\n formats.mssqltime,\n formats.timeShort24,\n formats.timeLong24,\n formats.iso8601long,\n formats.gnuNoColon,\n formats.iso8601noColon,\n formats.americanShort,\n formats.american,\n formats.iso8601date4,\n formats.iso8601dateSlash,\n formats.dateSlash,\n formats.gnuDateShortOrIso8601date2,\n formats.gnuDateShorter,\n formats.dateFull,\n formats.pointedDate4,\n formats.pointedDate2,\n formats.dateNoDay,\n formats.dateNoDayRev,\n formats.dateTextual,\n formats.dateNoYear,\n formats.dateNoYearRev,\n formats.dateNoColon,\n formats.xmlRpc,\n formats.xmlRpcNoColon,\n formats.soap,\n formats.wddx,\n formats.exif,\n formats.pgydotd,\n formats.isoWeekDay,\n formats.pgTextShort,\n formats.pgTextReverse,\n formats.clf,\n formats.year4,\n formats.ago,\n formats.dayText,\n formats.relativeTextWeek,\n formats.relativeText,\n formats.monthFullOrMonthAbbr,\n formats.tzCorrection,\n formats.tzAbbr,\n formats.dateShortWithTimeShort12,\n formats.dateShortWithTimeLong12,\n formats.dateShortWithTimeShort,\n formats.dateShortWithTimeLong,\n formats.relative,\n formats.whitespace\n ]\n\n const result = Object.create(resultProto)\n\n while (str.length) {\n let longestMatch = null\n let finalRule = null\n\n for (let i = 0, l = rules.length; i < l; i++) {\n const format = rules[i]\n\n const match = str.match(format.regex)\n\n if (match) {\n if (!longestMatch || match[0].length > longestMatch[0].length) {\n longestMatch = match\n finalRule = format\n }\n }\n }\n\n if (!finalRule || (finalRule.callback && finalRule.callback.apply(result, longestMatch) === false)) {\n return false\n }\n\n str = str.substr(longestMatch[0].length)\n finalRule = null\n longestMatch = null\n }\n\n return Math.floor(result.toDate(new Date(now * 1000)) / 1000)\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/php/datetime/strtotime.js"],"names":["reSpace","reSpaceOpt","reMeridian","reHour24","reHour24lz","reHour12","reMinute","reMinutelz","reSecond","reSecondlz","reFrac","reDayfull","reDayabbr","reDaytext","reReltextnumber","reReltexttext","reReltextunit","reYear","reYear2","reYear4","reYear4withSign","reMonth","reMonthlz","reDay","reDaylz","reMonthFull","reMonthAbbr","reMonthroman","reMonthText","reTzCorrection","reTzAbbr","reDayOfYear","reWeekOfYear","reDateNoYear","processMeridian","hour","meridian","toLowerCase","processYear","yearStr","year","length","lookupMonth","monthStr","jan","january","i","feb","february","ii","mar","march","iii","apr","april","iv","may","v","jun","june","vi","jul","july","vii","aug","august","viii","sep","sept","september","ix","oct","october","x","nov","november","xi","dec","december","xii","lookupWeekday","dayStr","desiredSundayNumber","dayNumbers","mon","monday","tue","tuesday","wed","wednesday","thu","thursday","fri","friday","sat","saturday","sun","sunday","lookupRelative","relText","relativeNumbers","last","previous","this","first","next","second","third","fourth","fifth","sixth","seventh","eight","eighth","ninth","tenth","eleventh","twelfth","relativeBehavior","relTextLower","amount","behavior","processTzCorrection","tzOffset","oldValue","reTzCorrectionLoose","match","sign","hours","minutes","Math","floor","tzAbbrOffsets","acdt","acst","addt","adt","aedt","aest","ahdt","ahst","akdt","akst","amt","apt","ast","awdt","awst","awt","bdst","bdt","bmt","bst","cast","cat","cddt","cdt","cemt","cest","cet","cmt","cpt","cst","cwt","chst","dmt","eat","eddt","edt","eest","eet","emt","ept","est","ewt","ffmt","fmt","gdt","gmt","gst","hdt","hkst","hkt","hmt","hpt","hst","hwt","iddt","idt","imt","ist","jdt","jmt","jst","kdt","kmt","kst","lst","mddt","mdst","mdt","mest","met","mmt","mpt","msd","msk","mst","mwt","nddt","ndt","npt","nst","nwt","nzdt","nzmt","nzst","pddt","pdt","pkst","pkt","plmt","pmt","ppmt","ppt","pst","pwt","qmt","rmt","sast","sdmt","sjmt","smt","sst","tbmt","tmt","uct","utc","wast","wat","wemt","west","wet","wib","wita","wit","wmt","yddt","ydt","ypt","yst","ywt","a","b","c","d","e","f","g","h","k","l","m","n","o","p","q","r","s","t","u","w","y","z","formats","yesterday","regex","name","callback","rd","resetTime","now","noon","time","midnightOrToday","tomorrow","timestamp","rs","dates","zone","firstOrLastDay","day","firstOrLastDayOfMonth","backOrFrontOf","RegExp","side","back","minute","weekdayOf","mssqltime","frac","substr","timeLong12","timeShort12","timeTiny12","soap","month","tzCorrection","ymd","wddx","exif","xmlRpc","xmlRpcNoColon","clf","iso8601long","dateTextual","pointedDate4","pointedDate2","timeLong24","dateNoColon","pgydotd","timeShort24","iso8601noColon","iso8601dateSlash","dateSlash","american","americanShort","gnuDateShortOrIso8601date2","iso8601date4","gnuNoColon","times","gnuDateShorter","pgTextReverse","dateFull","dateNoDay","dateNoDayRev","pgTextShort","dateNoYear","dateNoYearRev","isoWeekDay","week","dayOfWeek","Date","getDay","relativeText","relValue","relUnit","ri","rh","rm","ry","weekday","weekdayBehavior","relative","signs","minuses","replace","pow","dayText","relativeTextWeek","isNaN","monthFullOrMonthAbbr","tzAbbr","abbr","offset","ago","rf","year4","whitespace","dateShortWithTimeLong","dateShortWithTimeLong12","dateShortWithTimeShort","dateShortWithTimeShort12","resultProto","NaN","zones","toDate","relativeTo","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","date","getTime","setFullYear","setHours","dow","diff","abs","result","setDate","setMonth","getTimezoneOffset","setUTCFullYear","setUTCHours","module","exports","strtotime","str","rules","Object","create","longestMatch","finalRule","format","apply"],"mappings":"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","file":"strtotime.js","sourcesContent":["const reSpace = '[ \\\\t]+'\nconst reSpaceOpt = '[ \\\\t]*'\nconst reMeridian = '(?:([ap])\\\\.?m\\\\.?([\\\\t ]|$))'\nconst reHour24 = '(2[0-4]|[01]?[0-9])'\nconst reHour24lz = '([01][0-9]|2[0-4])'\nconst reHour12 = '(0?[1-9]|1[0-2])'\nconst reMinute = '([0-5]?[0-9])'\nconst reMinutelz = '([0-5][0-9])'\nconst reSecond = '(60|[0-5]?[0-9])'\nconst reSecondlz = '(60|[0-5][0-9])'\nconst reFrac = '(?:\\\\.([0-9]+))'\n\nconst reDayfull = 'sunday|monday|tuesday|wednesday|thursday|friday|saturday'\nconst reDayabbr = 'sun|mon|tue|wed|thu|fri|sat'\nconst reDaytext = reDayfull + '|' + reDayabbr + '|weekdays?'\n\nconst reReltextnumber = 'first|second|third|fourth|fifth|sixth|seventh|eighth?|ninth|tenth|eleventh|twelfth'\nconst reReltexttext = 'next|last|previous|this'\nconst reReltextunit = '(?:second|sec|minute|min|hour|day|fortnight|forthnight|month|year)s?|weeks|' + reDaytext\n\nconst reYear = '([0-9]{1,4})'\nconst reYear2 = '([0-9]{2})'\nconst reYear4 = '([0-9]{4})'\nconst reYear4withSign = '([+-]?[0-9]{4})'\nconst reMonth = '(1[0-2]|0?[0-9])'\nconst reMonthlz = '(0[0-9]|1[0-2])'\nconst reDay = '(?:(3[01]|[0-2]?[0-9])(?:st|nd|rd|th)?)'\nconst reDaylz = '(0[0-9]|[1-2][0-9]|3[01])'\n\nconst reMonthFull = 'january|february|march|april|may|june|july|august|september|october|november|december'\nconst reMonthAbbr = 'jan|feb|mar|apr|may|jun|jul|aug|sept?|oct|nov|dec'\nconst reMonthroman = 'i[vx]|vi{0,3}|xi{0,2}|i{1,3}'\nconst reMonthText = '(' + reMonthFull + '|' + reMonthAbbr + '|' + reMonthroman + ')'\n\nconst reTzCorrection = '((?:GMT)?([+-])' + reHour24 + ':?' + reMinute + '?)'\nconst reTzAbbr = '\\\\(?([a-zA-Z]{1,6})\\\\)?'\nconst reDayOfYear = '(00[1-9]|0[1-9][0-9]|[12][0-9][0-9]|3[0-5][0-9]|36[0-6])'\nconst reWeekOfYear = '(0[1-9]|[1-4][0-9]|5[0-3])'\n\nconst reDateNoYear = reMonthText + '[ .\\\\t-]*' + reDay + '[,.stndrh\\\\t ]*'\n\nfunction processMeridian(hour, meridian) {\n meridian = meridian && meridian.toLowerCase()\n\n switch (meridian) {\n case 'a':\n hour += hour === 12 ? -12 : 0\n break\n case 'p':\n hour += hour !== 12 ? 12 : 0\n break\n }\n\n return hour\n}\n\nfunction processYear(yearStr) {\n let year = +yearStr\n\n if (yearStr.length < 4 && year < 100) {\n year += year < 70 ? 2000 : 1900\n }\n\n return year\n}\n\nfunction lookupMonth(monthStr) {\n return {\n jan: 0,\n january: 0,\n i: 0,\n feb: 1,\n february: 1,\n ii: 1,\n mar: 2,\n march: 2,\n iii: 2,\n apr: 3,\n april: 3,\n iv: 3,\n may: 4,\n v: 4,\n jun: 5,\n june: 5,\n vi: 5,\n jul: 6,\n july: 6,\n vii: 6,\n aug: 7,\n august: 7,\n viii: 7,\n sep: 8,\n sept: 8,\n september: 8,\n ix: 8,\n oct: 9,\n october: 9,\n x: 9,\n nov: 10,\n november: 10,\n xi: 10,\n dec: 11,\n december: 11,\n xii: 11,\n }[monthStr.toLowerCase()]\n}\n\nfunction lookupWeekday(dayStr, desiredSundayNumber = 0) {\n const dayNumbers = {\n mon: 1,\n monday: 1,\n tue: 2,\n tuesday: 2,\n wed: 3,\n wednesday: 3,\n thu: 4,\n thursday: 4,\n fri: 5,\n friday: 5,\n sat: 6,\n saturday: 6,\n sun: 0,\n sunday: 0,\n }\n\n return dayNumbers[dayStr.toLowerCase()] || desiredSundayNumber\n}\n\nfunction lookupRelative(relText) {\n const relativeNumbers = {\n last: -1,\n previous: -1,\n this: 0,\n first: 1,\n next: 1,\n second: 2,\n third: 3,\n fourth: 4,\n fifth: 5,\n sixth: 6,\n seventh: 7,\n eight: 8,\n eighth: 8,\n ninth: 9,\n tenth: 10,\n eleventh: 11,\n twelfth: 12,\n }\n\n const relativeBehavior = {\n this: 1,\n }\n\n const relTextLower = relText.toLowerCase()\n\n return {\n amount: relativeNumbers[relTextLower],\n behavior: relativeBehavior[relTextLower] || 0,\n }\n}\n\nfunction processTzCorrection(tzOffset, oldValue) {\n const reTzCorrectionLoose = /(?:GMT)?([+-])(\\d+)(:?)(\\d{0,2})/i\n tzOffset = tzOffset && tzOffset.match(reTzCorrectionLoose)\n\n if (!tzOffset) {\n return oldValue\n }\n\n const sign = tzOffset[1] === '-' ? -1 : 1\n let hours = +tzOffset[2]\n let minutes = +tzOffset[4]\n\n if (!tzOffset[4] && !tzOffset[3]) {\n minutes = Math.floor(hours % 100)\n hours = Math.floor(hours / 100)\n }\n\n // timezone offset in seconds\n return sign * (hours * 60 + minutes) * 60\n}\n\n// tz abbrevation : tz offset in seconds\nconst tzAbbrOffsets = {\n acdt: 37800,\n acst: 34200,\n addt: -7200,\n adt: -10800,\n aedt: 39600,\n aest: 36000,\n ahdt: -32400,\n ahst: -36000,\n akdt: -28800,\n akst: -32400,\n amt: -13840,\n apt: -10800,\n ast: -14400,\n awdt: 32400,\n awst: 28800,\n awt: -10800,\n bdst: 7200,\n bdt: -36000,\n bmt: -14309,\n bst: 3600,\n cast: 34200,\n cat: 7200,\n cddt: -14400,\n cdt: -18000,\n cemt: 10800,\n cest: 7200,\n cet: 3600,\n cmt: -15408,\n cpt: -18000,\n cst: -21600,\n cwt: -18000,\n chst: 36000,\n dmt: -1521,\n eat: 10800,\n eddt: -10800,\n edt: -14400,\n eest: 10800,\n eet: 7200,\n emt: -26248,\n ept: -14400,\n est: -18000,\n ewt: -14400,\n ffmt: -14660,\n fmt: -4056,\n gdt: 39600,\n gmt: 0,\n gst: 36000,\n hdt: -34200,\n hkst: 32400,\n hkt: 28800,\n hmt: -19776,\n hpt: -34200,\n hst: -36000,\n hwt: -34200,\n iddt: 14400,\n idt: 10800,\n imt: 25025,\n ist: 7200,\n jdt: 36000,\n jmt: 8440,\n jst: 32400,\n kdt: 36000,\n kmt: 5736,\n kst: 30600,\n lst: 9394,\n mddt: -18000,\n mdst: 16279,\n mdt: -21600,\n mest: 7200,\n met: 3600,\n mmt: 9017,\n mpt: -21600,\n msd: 14400,\n msk: 10800,\n mst: -25200,\n mwt: -21600,\n nddt: -5400,\n ndt: -9052,\n npt: -9000,\n nst: -12600,\n nwt: -9000,\n nzdt: 46800,\n nzmt: 41400,\n nzst: 43200,\n pddt: -21600,\n pdt: -25200,\n pkst: 21600,\n pkt: 18000,\n plmt: 25590,\n pmt: -13236,\n ppmt: -17340,\n ppt: -25200,\n pst: -28800,\n pwt: -25200,\n qmt: -18840,\n rmt: 5794,\n sast: 7200,\n sdmt: -16800,\n sjmt: -20173,\n smt: -13884,\n sst: -39600,\n tbmt: 10751,\n tmt: 12344,\n uct: 0,\n utc: 0,\n wast: 7200,\n wat: 3600,\n wemt: 7200,\n west: 3600,\n wet: 0,\n wib: 25200,\n wita: 28800,\n wit: 32400,\n wmt: 5040,\n yddt: -25200,\n ydt: -28800,\n ypt: -28800,\n yst: -32400,\n ywt: -28800,\n a: 3600,\n b: 7200,\n c: 10800,\n d: 14400,\n e: 18000,\n f: 21600,\n g: 25200,\n h: 28800,\n i: 32400,\n k: 36000,\n l: 39600,\n m: 43200,\n n: -3600,\n o: -7200,\n p: -10800,\n q: -14400,\n r: -18000,\n s: -21600,\n t: -25200,\n u: -28800,\n v: -32400,\n w: -36000,\n x: -39600,\n y: -43200,\n z: 0,\n}\n\nconst formats = {\n yesterday: {\n regex: /^yesterday/i,\n name: 'yesterday',\n callback() {\n this.rd -= 1\n return this.resetTime()\n },\n },\n\n now: {\n regex: /^now/i,\n name: 'now',\n // do nothing\n },\n\n noon: {\n regex: /^noon/i,\n name: 'noon',\n callback() {\n return this.resetTime() && this.time(12, 0, 0, 0)\n },\n },\n\n midnightOrToday: {\n regex: /^(midnight|today)/i,\n name: 'midnight | today',\n callback() {\n return this.resetTime()\n },\n },\n\n tomorrow: {\n regex: /^tomorrow/i,\n name: 'tomorrow',\n callback() {\n this.rd += 1\n return this.resetTime()\n },\n },\n\n timestamp: {\n regex: /^@(-?\\d+)/i,\n name: 'timestamp',\n callback(match, timestamp) {\n this.rs += +timestamp\n this.y = 1970\n this.m = 0\n this.d = 1\n this.dates = 0\n\n return this.resetTime() && this.zone(0)\n },\n },\n\n firstOrLastDay: {\n regex: /^(first|last) day of/i,\n name: 'firstdayof | lastdayof',\n callback(match, day) {\n if (day.toLowerCase() === 'first') {\n this.firstOrLastDayOfMonth = 1\n } else {\n this.firstOrLastDayOfMonth = -1\n }\n },\n },\n\n backOrFrontOf: {\n regex: RegExp('^(back|front) of ' + reHour24 + reSpaceOpt + reMeridian + '?', 'i'),\n name: 'backof | frontof',\n callback(match, side, hours, meridian) {\n const back = side.toLowerCase() === 'back'\n let hour = +hours\n let minute = 15\n\n if (!back) {\n hour -= 1\n minute = 45\n }\n\n hour = processMeridian(hour, meridian)\n\n return this.resetTime() && this.time(hour, minute, 0, 0)\n },\n },\n\n weekdayOf: {\n regex: RegExp(\n '^(' +\n reReltextnumber +\n '|' +\n reReltexttext +\n ')' +\n reSpace +\n '(' +\n reDayfull +\n '|' +\n reDayabbr +\n ')' +\n reSpace +\n 'of',\n 'i',\n ),\n name: 'weekdayof',\n // todo\n },\n\n mssqltime: {\n regex: RegExp('^' + reHour12 + ':' + reMinutelz + ':' + reSecondlz + '[:.]([0-9]+)' + reMeridian, 'i'),\n name: 'mssqltime',\n callback(match, hour, minute, second, frac, meridian) {\n return this.time(processMeridian(+hour, meridian), +minute, +second, +frac.substr(0, 3))\n },\n },\n\n timeLong12: {\n regex: RegExp('^' + reHour12 + '[:.]' + reMinute + '[:.]' + reSecondlz + reSpaceOpt + reMeridian, 'i'),\n name: 'timelong12',\n callback(match, hour, minute, second, meridian) {\n return this.time(processMeridian(+hour, meridian), +minute, +second, 0)\n },\n },\n\n timeShort12: {\n regex: RegExp('^' + reHour12 + '[:.]' + reMinutelz + reSpaceOpt + reMeridian, 'i'),\n name: 'timeshort12',\n callback(match, hour, minute, meridian) {\n return this.time(processMeridian(+hour, meridian), +minute, 0, 0)\n },\n },\n\n timeTiny12: {\n regex: RegExp('^' + reHour12 + reSpaceOpt + reMeridian, 'i'),\n name: 'timetiny12',\n callback(match, hour, meridian) {\n return this.time(processMeridian(+hour, meridian), 0, 0, 0)\n },\n },\n\n soap: {\n regex: RegExp(\n '^' +\n reYear4 +\n '-' +\n reMonthlz +\n '-' +\n reDaylz +\n 'T' +\n reHour24lz +\n ':' +\n reMinutelz +\n ':' +\n reSecondlz +\n reFrac +\n reTzCorrection +\n '?',\n 'i',\n ),\n name: 'soap',\n callback(match, year, month, day, hour, minute, second, frac, tzCorrection) {\n return (\n this.ymd(+year, month - 1, +day) &&\n this.time(+hour, +minute, +second, +frac.substr(0, 3)) &&\n this.zone(processTzCorrection(tzCorrection))\n )\n },\n },\n\n wddx: {\n regex: RegExp('^' + reYear4 + '-' + reMonth + '-' + reDay + 'T' + reHour24 + ':' + reMinute + ':' + reSecond),\n name: 'wddx',\n callback(match, year, month, day, hour, minute, second) {\n return this.ymd(+year, month - 1, +day) && this.time(+hour, +minute, +second, 0)\n },\n },\n\n exif: {\n regex: RegExp(\n '^' + reYear4 + ':' + reMonthlz + ':' + reDaylz + ' ' + reHour24lz + ':' + reMinutelz + ':' + reSecondlz,\n 'i',\n ),\n name: 'exif',\n callback(match, year, month, day, hour, minute, second) {\n return this.ymd(+year, month - 1, +day) && this.time(+hour, +minute, +second, 0)\n },\n },\n\n xmlRpc: {\n regex: RegExp('^' + reYear4 + reMonthlz + reDaylz + 'T' + reHour24 + ':' + reMinutelz + ':' + reSecondlz),\n name: 'xmlrpc',\n callback(match, year, month, day, hour, minute, second) {\n return this.ymd(+year, month - 1, +day) && this.time(+hour, +minute, +second, 0)\n },\n },\n\n xmlRpcNoColon: {\n regex: RegExp('^' + reYear4 + reMonthlz + reDaylz + '[Tt]' + reHour24 + reMinutelz + reSecondlz),\n name: 'xmlrpcnocolon',\n callback(match, year, month, day, hour, minute, second) {\n return this.ymd(+year, month - 1, +day) && this.time(+hour, +minute, +second, 0)\n },\n },\n\n clf: {\n regex: RegExp(\n '^' +\n reDay +\n '/(' +\n reMonthAbbr +\n ')/' +\n reYear4 +\n ':' +\n reHour24lz +\n ':' +\n reMinutelz +\n ':' +\n reSecondlz +\n reSpace +\n reTzCorrection,\n 'i',\n ),\n name: 'clf',\n callback(match, day, month, year, hour, minute, second, tzCorrection) {\n return (\n this.ymd(+year, lookupMonth(month), +day) &&\n this.time(+hour, +minute, +second, 0) &&\n this.zone(processTzCorrection(tzCorrection))\n )\n },\n },\n\n iso8601long: {\n regex: RegExp('^t?' + reHour24 + '[:.]' + reMinute + '[:.]' + reSecond + reFrac, 'i'),\n name: 'iso8601long',\n callback(match, hour, minute, second, frac) {\n return this.time(+hour, +minute, +second, +frac.substr(0, 3))\n },\n },\n\n dateTextual: {\n regex: RegExp('^' + reMonthText + '[ .\\\\t-]*' + reDay + '[,.stndrh\\\\t ]+' + reYear, 'i'),\n name: 'datetextual',\n callback(match, month, day, year) {\n return this.ymd(processYear(year), lookupMonth(month), +day)\n },\n },\n\n pointedDate4: {\n regex: RegExp('^' + reDay + '[.\\\\t-]' + reMonth + '[.-]' + reYear4),\n name: 'pointeddate4',\n callback(match, day, month, year) {\n return this.ymd(+year, month - 1, +day)\n },\n },\n\n pointedDate2: {\n regex: RegExp('^' + reDay + '[.\\\\t]' + reMonth + '\\\\.' + reYear2),\n name: 'pointeddate2',\n callback(match, day, month, year) {\n return this.ymd(processYear(year), month - 1, +day)\n },\n },\n\n timeLong24: {\n regex: RegExp('^t?' + reHour24 + '[:.]' + reMinute + '[:.]' + reSecond),\n name: 'timelong24',\n callback(match, hour, minute, second) {\n return this.time(+hour, +minute, +second, 0)\n },\n },\n\n dateNoColon: {\n regex: RegExp('^' + reYear4 + reMonthlz + reDaylz),\n name: 'datenocolon',\n callback(match, year, month, day) {\n return this.ymd(+year, month - 1, +day)\n },\n },\n\n pgydotd: {\n regex: RegExp('^' + reYear4 + '\\\\.?' + reDayOfYear),\n name: 'pgydotd',\n callback(match, year, day) {\n return this.ymd(+year, 0, +day)\n },\n },\n\n timeShort24: {\n regex: RegExp('^t?' + reHour24 + '[:.]' + reMinute, 'i'),\n name: 'timeshort24',\n callback(match, hour, minute) {\n return this.time(+hour, +minute, 0, 0)\n },\n },\n\n iso8601noColon: {\n regex: RegExp('^t?' + reHour24lz + reMinutelz + reSecondlz, 'i'),\n name: 'iso8601nocolon',\n callback(match, hour, minute, second) {\n return this.time(+hour, +minute, +second, 0)\n },\n },\n\n iso8601dateSlash: {\n // eventhough the trailing slash is optional in PHP\n // here it's mandatory and inputs without the slash\n // are handled by dateslash\n regex: RegExp('^' + reYear4 + '/' + reMonthlz + '/' + reDaylz + '/'),\n name: 'iso8601dateslash',\n callback(match, year, month, day) {\n return this.ymd(+year, month - 1, +day)\n },\n },\n\n dateSlash: {\n regex: RegExp('^' + reYear4 + '/' + reMonth + '/' + reDay),\n name: 'dateslash',\n callback(match, year, month, day) {\n return this.ymd(+year, month - 1, +day)\n },\n },\n\n american: {\n regex: RegExp('^' + reMonth + '/' + reDay + '/' + reYear),\n name: 'american',\n callback(match, month, day, year) {\n return this.ymd(processYear(year), month - 1, +day)\n },\n },\n\n americanShort: {\n regex: RegExp('^' + reMonth + '/' + reDay),\n name: 'americanshort',\n callback(match, month, day) {\n return this.ymd(this.y, month - 1, +day)\n },\n },\n\n gnuDateShortOrIso8601date2: {\n // iso8601date2 is complete subset of gnudateshort\n regex: RegExp('^' + reYear + '-' + reMonth + '-' + reDay),\n name: 'gnudateshort | iso8601date2',\n callback(match, year, month, day) {\n return this.ymd(processYear(year), month - 1, +day)\n },\n },\n\n iso8601date4: {\n regex: RegExp('^' + reYear4withSign + '-' + reMonthlz + '-' + reDaylz),\n name: 'iso8601date4',\n callback(match, year, month, day) {\n return this.ymd(+year, month - 1, +day)\n },\n },\n\n gnuNoColon: {\n regex: RegExp('^t?' + reHour24lz + reMinutelz, 'i'),\n name: 'gnunocolon',\n callback(match, hour, minute) {\n // this rule is a special case\n // if time was already set once by any preceding rule, it sets the captured value as year\n switch (this.times) {\n case 0:\n return this.time(+hour, +minute, 0, this.f)\n case 1:\n this.y = hour * 100 + +minute\n this.times++\n\n return true\n default:\n return false\n }\n },\n },\n\n gnuDateShorter: {\n regex: RegExp('^' + reYear4 + '-' + reMonth),\n name: 'gnudateshorter',\n callback(match, year, month) {\n return this.ymd(+year, month - 1, 1)\n },\n },\n\n pgTextReverse: {\n // note: allowed years are from 32-9999\n // years below 32 should be treated as days in datefull\n regex: RegExp('^' + '(\\\\d{3,4}|[4-9]\\\\d|3[2-9])-(' + reMonthAbbr + ')-' + reDaylz, 'i'),\n name: 'pgtextreverse',\n callback(match, year, month, day) {\n return this.ymd(processYear(year), lookupMonth(month), +day)\n },\n },\n\n dateFull: {\n regex: RegExp('^' + reDay + '[ \\\\t.-]*' + reMonthText + '[ \\\\t.-]*' + reYear, 'i'),\n name: 'datefull',\n callback(match, day, month, year) {\n return this.ymd(processYear(year), lookupMonth(month), +day)\n },\n },\n\n dateNoDay: {\n regex: RegExp('^' + reMonthText + '[ .\\\\t-]*' + reYear4, 'i'),\n name: 'datenoday',\n callback(match, month, year) {\n return this.ymd(+year, lookupMonth(month), 1)\n },\n },\n\n dateNoDayRev: {\n regex: RegExp('^' + reYear4 + '[ .\\\\t-]*' + reMonthText, 'i'),\n name: 'datenodayrev',\n callback(match, year, month) {\n return this.ymd(+year, lookupMonth(month), 1)\n },\n },\n\n pgTextShort: {\n regex: RegExp('^(' + reMonthAbbr + ')-' + reDaylz + '-' + reYear, 'i'),\n name: 'pgtextshort',\n callback(match, month, day, year) {\n return this.ymd(processYear(year), lookupMonth(month), +day)\n },\n },\n\n dateNoYear: {\n regex: RegExp('^' + reDateNoYear, 'i'),\n name: 'datenoyear',\n callback(match, month, day) {\n return this.ymd(this.y, lookupMonth(month), +day)\n },\n },\n\n dateNoYearRev: {\n regex: RegExp('^' + reDay + '[ .\\\\t-]*' + reMonthText, 'i'),\n name: 'datenoyearrev',\n callback(match, day, month) {\n return this.ymd(this.y, lookupMonth(month), +day)\n },\n },\n\n isoWeekDay: {\n regex: RegExp('^' + reYear4 + '-?W' + reWeekOfYear + '(?:-?([0-7]))?'),\n name: 'isoweekday | isoweek',\n callback(match, year, week, day) {\n day = day ? +day : 1\n\n if (!this.ymd(+year, 0, 1)) {\n return false\n }\n\n // get day of week for Jan 1st\n let dayOfWeek = new Date(this.y, this.m, this.d).getDay()\n\n // and use the day to figure out the offset for day 1 of week 1\n dayOfWeek = 0 - (dayOfWeek > 4 ? dayOfWeek - 7 : dayOfWeek)\n\n this.rd += dayOfWeek + (week - 1) * 7 + day\n },\n },\n\n relativeText: {\n regex: RegExp('^(' + reReltextnumber + '|' + reReltexttext + ')' + reSpace + '(' + reReltextunit + ')', 'i'),\n name: 'relativetext',\n callback(match, relValue, relUnit) {\n // todo: implement handling of 'this time-unit'\n // eslint-disable-next-line no-unused-vars\n const { amount, behavior } = lookupRelative(relValue)\n\n switch (relUnit.toLowerCase()) {\n case 'sec':\n case 'secs':\n case 'second':\n case 'seconds':\n this.rs += amount\n break\n case 'min':\n case 'mins':\n case 'minute':\n case 'minutes':\n this.ri += amount\n break\n case 'hour':\n case 'hours':\n this.rh += amount\n break\n case 'day':\n case 'days':\n this.rd += amount\n break\n case 'fortnight':\n case 'fortnights':\n case 'forthnight':\n case 'forthnights':\n this.rd += amount * 14\n break\n case 'week':\n case 'weeks':\n this.rd += amount * 7\n break\n case 'month':\n case 'months':\n this.rm += amount\n break\n case 'year':\n case 'years':\n this.ry += amount\n break\n case 'mon':\n case 'monday':\n case 'tue':\n case 'tuesday':\n case 'wed':\n case 'wednesday':\n case 'thu':\n case 'thursday':\n case 'fri':\n case 'friday':\n case 'sat':\n case 'saturday':\n case 'sun':\n case 'sunday':\n this.resetTime()\n this.weekday = lookupWeekday(relUnit, 7)\n this.weekdayBehavior = 1\n this.rd += (amount > 0 ? amount - 1 : amount) * 7\n break\n case 'weekday':\n case 'weekdays':\n // todo\n break\n }\n },\n },\n\n relative: {\n regex: RegExp('^([+-]*)[ \\\\t]*(\\\\d+)' + reSpaceOpt + '(' + reReltextunit + '|week)', 'i'),\n name: 'relative',\n callback(match, signs, relValue, relUnit) {\n const minuses = signs.replace(/[^-]/g, '').length\n\n const amount = +relValue * Math.pow(-1, minuses)\n\n switch (relUnit.toLowerCase()) {\n case 'sec':\n case 'secs':\n case 'second':\n case 'seconds':\n this.rs += amount\n break\n case 'min':\n case 'mins':\n case 'minute':\n case 'minutes':\n this.ri += amount\n break\n case 'hour':\n case 'hours':\n this.rh += amount\n break\n case 'day':\n case 'days':\n this.rd += amount\n break\n case 'fortnight':\n case 'fortnights':\n case 'forthnight':\n case 'forthnights':\n this.rd += amount * 14\n break\n case 'week':\n case 'weeks':\n this.rd += amount * 7\n break\n case 'month':\n case 'months':\n this.rm += amount\n break\n case 'year':\n case 'years':\n this.ry += amount\n break\n case 'mon':\n case 'monday':\n case 'tue':\n case 'tuesday':\n case 'wed':\n case 'wednesday':\n case 'thu':\n case 'thursday':\n case 'fri':\n case 'friday':\n case 'sat':\n case 'saturday':\n case 'sun':\n case 'sunday':\n this.resetTime()\n this.weekday = lookupWeekday(relUnit, 7)\n this.weekdayBehavior = 1\n this.rd += (amount > 0 ? amount - 1 : amount) * 7\n break\n case 'weekday':\n case 'weekdays':\n // todo\n break\n }\n },\n },\n\n dayText: {\n regex: RegExp('^(' + reDaytext + ')', 'i'),\n name: 'daytext',\n callback(match, dayText) {\n this.resetTime()\n this.weekday = lookupWeekday(dayText, 0)\n\n if (this.weekdayBehavior !== 2) {\n this.weekdayBehavior = 1\n }\n },\n },\n\n relativeTextWeek: {\n regex: RegExp('^(' + reReltexttext + ')' + reSpace + 'week', 'i'),\n name: 'relativetextweek',\n callback(match, relText) {\n this.weekdayBehavior = 2\n\n switch (relText.toLowerCase()) {\n case 'this':\n this.rd += 0\n break\n case 'next':\n this.rd += 7\n break\n case 'last':\n case 'previous':\n this.rd -= 7\n break\n }\n\n if (isNaN(this.weekday)) {\n this.weekday = 1\n }\n },\n },\n\n monthFullOrMonthAbbr: {\n regex: RegExp('^(' + reMonthFull + '|' + reMonthAbbr + ')', 'i'),\n name: 'monthfull | monthabbr',\n callback(match, month) {\n return this.ymd(this.y, lookupMonth(month), this.d)\n },\n },\n\n tzCorrection: {\n regex: RegExp('^' + reTzCorrection, 'i'),\n name: 'tzcorrection',\n callback(tzCorrection) {\n return this.zone(processTzCorrection(tzCorrection))\n },\n },\n\n tzAbbr: {\n regex: RegExp('^' + reTzAbbr),\n name: 'tzabbr',\n callback(match, abbr) {\n const offset = tzAbbrOffsets[abbr.toLowerCase()]\n\n if (isNaN(offset)) {\n return false\n }\n\n return this.zone(offset)\n },\n },\n\n ago: {\n regex: /^ago/i,\n name: 'ago',\n callback() {\n this.ry = -this.ry\n this.rm = -this.rm\n this.rd = -this.rd\n this.rh = -this.rh\n this.ri = -this.ri\n this.rs = -this.rs\n this.rf = -this.rf\n },\n },\n\n year4: {\n regex: RegExp('^' + reYear4),\n name: 'year4',\n callback(match, year) {\n this.y = +year\n return true\n },\n },\n\n whitespace: {\n regex: /^[ .,\\t]+/,\n name: 'whitespace',\n // do nothing\n },\n\n dateShortWithTimeLong: {\n regex: RegExp('^' + reDateNoYear + 't?' + reHour24 + '[:.]' + reMinute + '[:.]' + reSecond, 'i'),\n name: 'dateshortwithtimelong',\n callback(match, month, day, hour, minute, second) {\n return this.ymd(this.y, lookupMonth(month), +day) && this.time(+hour, +minute, +second, 0)\n },\n },\n\n dateShortWithTimeLong12: {\n regex: RegExp(\n '^' + reDateNoYear + reHour12 + '[:.]' + reMinute + '[:.]' + reSecondlz + reSpaceOpt + reMeridian,\n 'i',\n ),\n name: 'dateshortwithtimelong12',\n callback(match, month, day, hour, minute, second, meridian) {\n return (\n this.ymd(this.y, lookupMonth(month), +day) && this.time(processMeridian(+hour, meridian), +minute, +second, 0)\n )\n },\n },\n\n dateShortWithTimeShort: {\n regex: RegExp('^' + reDateNoYear + 't?' + reHour24 + '[:.]' + reMinute, 'i'),\n name: 'dateshortwithtimeshort',\n callback(match, month, day, hour, minute) {\n return this.ymd(this.y, lookupMonth(month), +day) && this.time(+hour, +minute, 0, 0)\n },\n },\n\n dateShortWithTimeShort12: {\n regex: RegExp('^' + reDateNoYear + reHour12 + '[:.]' + reMinutelz + reSpaceOpt + reMeridian, 'i'),\n name: 'dateshortwithtimeshort12',\n callback(match, month, day, hour, minute, meridian) {\n return this.ymd(this.y, lookupMonth(month), +day) && this.time(processMeridian(+hour, meridian), +minute, 0, 0)\n },\n },\n}\n\nconst resultProto = {\n // date\n y: NaN,\n m: NaN,\n d: NaN,\n // time\n h: NaN,\n i: NaN,\n s: NaN,\n f: NaN,\n\n // relative shifts\n ry: 0,\n rm: 0,\n rd: 0,\n rh: 0,\n ri: 0,\n rs: 0,\n rf: 0,\n\n // weekday related shifts\n weekday: NaN,\n weekdayBehavior: 0,\n\n // first or last day of month\n // 0 none, 1 first, -1 last\n firstOrLastDayOfMonth: 0,\n\n // timezone correction in minutes\n z: NaN,\n\n // counters\n dates: 0,\n times: 0,\n zones: 0,\n\n // helper functions\n ymd(y, m, d) {\n if (this.dates > 0) {\n return false\n }\n\n this.dates++\n this.y = y\n this.m = m\n this.d = d\n return true\n },\n\n time(h, i, s, f) {\n if (this.times > 0) {\n return false\n }\n\n this.times++\n this.h = h\n this.i = i\n this.s = s\n this.f = f\n\n return true\n },\n\n resetTime() {\n this.h = 0\n this.i = 0\n this.s = 0\n this.f = 0\n this.times = 0\n\n return true\n },\n\n zone(minutes) {\n if (this.zones <= 1) {\n this.zones++\n this.z = minutes\n return true\n }\n\n return false\n },\n\n toDate(relativeTo) {\n if (this.dates && !this.times) {\n this.h = this.i = this.s = this.f = 0\n }\n\n // fill holes\n if (isNaN(this.y)) {\n this.y = relativeTo.getFullYear()\n }\n\n if (isNaN(this.m)) {\n this.m = relativeTo.getMonth()\n }\n\n if (isNaN(this.d)) {\n this.d = relativeTo.getDate()\n }\n\n if (isNaN(this.h)) {\n this.h = relativeTo.getHours()\n }\n\n if (isNaN(this.i)) {\n this.i = relativeTo.getMinutes()\n }\n\n if (isNaN(this.s)) {\n this.s = relativeTo.getSeconds()\n }\n\n if (isNaN(this.f)) {\n this.f = relativeTo.getMilliseconds()\n }\n\n // adjust special early\n switch (this.firstOrLastDayOfMonth) {\n case 1:\n this.d = 1\n break\n case -1:\n this.d = 0\n this.m += 1\n break\n }\n\n if (!isNaN(this.weekday)) {\n const date = new Date(relativeTo.getTime())\n date.setFullYear(this.y, this.m, this.d)\n date.setHours(this.h, this.i, this.s, this.f)\n\n const dow = date.getDay()\n\n if (this.weekdayBehavior === 2) {\n // To make \"this week\" work, where the current day of week is a \"sunday\"\n if (dow === 0 && this.weekday !== 0) {\n this.weekday = -6\n }\n\n // To make \"sunday this week\" work, where the current day of week is not a \"sunday\"\n if (this.weekday === 0 && dow !== 0) {\n this.weekday = 7\n }\n\n this.d -= dow\n this.d += this.weekday\n } else {\n let diff = this.weekday - dow\n\n // some PHP magic\n if ((this.rd < 0 && diff < 0) || (this.rd >= 0 && diff <= -this.weekdayBehavior)) {\n diff += 7\n }\n\n if (this.weekday >= 0) {\n this.d += diff\n } else {\n this.d -= 7 - (Math.abs(this.weekday) - dow)\n }\n\n this.weekday = NaN\n }\n }\n\n // adjust relative\n this.y += this.ry\n this.m += this.rm\n this.d += this.rd\n\n this.h += this.rh\n this.i += this.ri\n this.s += this.rs\n this.f += this.rf\n\n this.ry = this.rm = this.rd = 0\n this.rh = this.ri = this.rs = this.rf = 0\n\n const result = new Date(relativeTo.getTime())\n // since Date constructor treats years <= 99 as 1900+\n // it can't be used, thus this weird way\n result.setFullYear(this.y, this.m, this.d)\n result.setHours(this.h, this.i, this.s, this.f)\n\n // note: this is done twice in PHP\n // early when processing special relatives\n // and late\n // todo: check if the logic can be reduced\n // to just one time action\n switch (this.firstOrLastDayOfMonth) {\n case 1:\n result.setDate(1)\n break\n case -1:\n result.setMonth(result.getMonth() + 1, 0)\n break\n }\n\n // adjust timezone\n if (!isNaN(this.z) && result.getTimezoneOffset() !== this.z) {\n result.setUTCFullYear(result.getFullYear(), result.getMonth(), result.getDate())\n\n result.setUTCHours(result.getHours(), result.getMinutes(), result.getSeconds() - this.z, result.getMilliseconds())\n }\n\n return result\n },\n}\n\nmodule.exports = function strtotime(str, now) {\n // discuss at: https://locutus.io/php/strtotime/\n // original by: Caio Ariede (https://caioariede.com)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Caio Ariede (https://caioariede.com)\n // improved by: A. Matías Quezada (https://amatiasq.com)\n // improved by: preuter\n // improved by: Brett Zamir (https://brett-zamir.me)\n // improved by: Mirko Faber\n // input by: David\n // bugfixed by: Wagner B. Soares\n // bugfixed by: Artur Tchernychev\n // bugfixed by: Stephan Bösch-Plepelits (https://github.com/plepe)\n // reimplemented by: Rafał Kukawski\n // note 1: Examples all have a fixed timestamp to prevent\n // note 1: tests to fail because of variable time(zones)\n // example 1: strtotime('+1 day', 1129633200)\n // returns 1: 1129719600\n // example 2: strtotime('+1 week 2 days 4 hours 2 seconds', 1129633200)\n // returns 2: 1130425202\n // example 3: strtotime('last month', 1129633200)\n // returns 3: 1127041200\n // example 4: strtotime('2009-05-04 08:30:00+00')\n // returns 4: 1241425800\n // example 5: strtotime('2009-05-04 08:30:00+02:00')\n // returns 5: 1241418600\n // example 6: strtotime('2009-05-04 08:30:00 YWT')\n // returns 6: 1241454600\n\n if (now == null) {\n now = Math.floor(Date.now() / 1000)\n }\n\n // the rule order is important\n // if multiple rules match, the longest match wins\n // if multiple rules match the same string, the first match wins\n const rules = [\n formats.yesterday,\n formats.now,\n formats.noon,\n formats.midnightOrToday,\n formats.tomorrow,\n formats.timestamp,\n formats.firstOrLastDay,\n formats.backOrFrontOf,\n // formats.weekdayOf, // not yet implemented\n formats.timeTiny12,\n formats.timeShort12,\n formats.timeLong12,\n formats.mssqltime,\n formats.timeShort24,\n formats.timeLong24,\n formats.iso8601long,\n formats.gnuNoColon,\n formats.iso8601noColon,\n formats.americanShort,\n formats.american,\n formats.iso8601date4,\n formats.iso8601dateSlash,\n formats.dateSlash,\n formats.gnuDateShortOrIso8601date2,\n formats.gnuDateShorter,\n formats.dateFull,\n formats.pointedDate4,\n formats.pointedDate2,\n formats.dateNoDay,\n formats.dateNoDayRev,\n formats.dateTextual,\n formats.dateNoYear,\n formats.dateNoYearRev,\n formats.dateNoColon,\n formats.xmlRpc,\n formats.xmlRpcNoColon,\n formats.soap,\n formats.wddx,\n formats.exif,\n formats.pgydotd,\n formats.isoWeekDay,\n formats.pgTextShort,\n formats.pgTextReverse,\n formats.clf,\n formats.year4,\n formats.ago,\n formats.dayText,\n formats.relativeTextWeek,\n formats.relativeText,\n formats.monthFullOrMonthAbbr,\n formats.tzCorrection,\n formats.tzAbbr,\n formats.dateShortWithTimeShort12,\n formats.dateShortWithTimeLong12,\n formats.dateShortWithTimeShort,\n formats.dateShortWithTimeLong,\n formats.relative,\n formats.whitespace,\n ]\n\n const result = Object.create(resultProto)\n\n while (str.length) {\n let longestMatch = null\n let finalRule = null\n\n for (let i = 0, l = rules.length; i < l; i++) {\n const format = rules[i]\n\n const match = str.match(format.regex)\n\n if (match) {\n if (!longestMatch || match[0].length > longestMatch[0].length) {\n longestMatch = match\n finalRule = format\n }\n }\n }\n\n if (!finalRule || (finalRule.callback && finalRule.callback.apply(result, longestMatch) === false)) {\n return false\n }\n\n str = str.substr(longestMatch[0].length)\n finalRule = null\n longestMatch = null\n }\n\n return Math.floor(result.toDate(new Date(now * 1000)) / 1000)\n}\n"]}
|
package/php/datetime/time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/datetime/time.js"],"names":["module","exports","time","Math","floor","Date","getTime"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,IAAT,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/datetime/time.js"],"names":["module","exports","time","Math","floor","Date","getTime"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,IAAT,GAAgB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAOC,KAAKC,KAAL,CAAW,IAAIC,IAAJ,GAAWC,OAAX,KAAuB,IAAlC,CAAP;AACD,CAXD","file":"time.js","sourcesContent":["module.exports = function time() {\n // discuss at: https://locutus.io/php/time/\n // original by: GeekFG (https://geekfg.blogspot.com)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: metjay\n // improved by: HKM\n // example 1: var $timeStamp = time()\n // example 1: var $result = $timeStamp > 1000000000 && $timeStamp < 2000000000\n // returns 1: true\n\n return Math.floor(new Date().getTime() / 1000)\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/exec/escapeshellarg.js"],"names":["module","exports","escapeshellarg","arg","indexOf","Error","ret","replace"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,cAAT,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/exec/escapeshellarg.js"],"names":["module","exports","escapeshellarg","arg","indexOf","Error","ret","replace"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,cAAT,CAAwBC,GAAxB,EAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIA,IAAIC,OAAJ,CAAY,MAAZ,MAAwB,CAAC,CAA7B,EAAgC;AAC9B,UAAM,IAAIC,KAAJ,CAAU,sEAAV,CAAN;AACD;;AAED,MAAIC,MAAM,EAAV;;AAEAA,QAAMH,IAAII,OAAJ,CAAY,IAAZ,EAAkB,OAAlB,CAAN;;AAEA,SAAO,MAAMD,GAAN,GAAY,GAAnB;AACD,CAtBD","file":"escapeshellarg.js","sourcesContent":["module.exports = function escapeshellarg(arg) {\n // discuss at: https://locutus.io/php/escapeshellarg/\n // Warning: this function emulates escapeshellarg() for php-running-on-linux\n // the function behaves differently when running on Windows, which is not covered by this code.\n //\n // original by: Felix Geisendoerfer (https://www.debuggable.com/felix)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: divinity76 (https://github.com/divinity76)\n // example 1: escapeshellarg(\"kevin's birthday\")\n // returns 1: \"'kevin'\\\\''s birthday'\"\n // example 2: escapeshellarg(\"/home'; whoami;''\")\n // returns 2: \"'/home'\\\\''; whoami;'\\\\'''\\\\'''\"\n\n if (arg.indexOf('\\x00') !== -1) {\n throw new Error('escapeshellarg(): Argument #1 ($arg) must not contain any null bytes')\n }\n\n let ret = ''\n\n ret = arg.replace(/'/g, \"'\\\\''\")\n\n return \"'\" + ret + \"'\"\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/filesystem/basename.js"],"names":["module","exports","basename","path","suffix","b","lastChar","charAt","length","slice","replace","substr"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,QAAT,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/filesystem/basename.js"],"names":["module","exports","basename","path","suffix","b","lastChar","charAt","length","slice","replace","substr"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,QAAT,CAAkBC,IAAlB,EAAwBC,MAAxB,EAAgC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,IAAIF,IAAR;AACA,MAAMG,WAAWD,EAAEE,MAAF,CAASF,EAAEG,MAAF,GAAW,CAApB,CAAjB;;AAEA,MAAIF,aAAa,GAAb,IAAoBA,aAAa,IAArC,EAA2C;AACzCD,QAAIA,EAAEI,KAAF,CAAQ,CAAR,EAAW,CAAC,CAAZ,CAAJ;AACD;;AAEDJ,MAAIA,EAAEK,OAAF,CAAU,WAAV,EAAuB,EAAvB,CAAJ;;AAEA,MAAI,OAAON,MAAP,KAAkB,QAAlB,IAA8BC,EAAEM,MAAF,CAASN,EAAEG,MAAF,GAAWJ,OAAOI,MAA3B,MAAuCJ,MAAzE,EAAiF;AAC/EC,QAAIA,EAAEM,MAAF,CAAS,CAAT,EAAYN,EAAEG,MAAF,GAAWJ,OAAOI,MAA9B,CAAJ;AACD;;AAED,SAAOH,CAAP;AACD,CA9BD","file":"basename.js","sourcesContent":["module.exports = function basename(path, suffix) {\n // discuss at: https://locutus.io/php/basename/\n // original by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Ash Searle (https://hexmen.com/blog/)\n // improved by: Lincoln Ramsay\n // improved by: djmix\n // improved by: Dmitry Gorelenkov\n // example 1: basename('/www/site/home.htm', '.htm')\n // returns 1: 'home'\n // example 2: basename('ecra.php?p=1')\n // returns 2: 'ecra.php?p=1'\n // example 3: basename('/some/path/')\n // returns 3: 'path'\n // example 4: basename('/some/path_ext.ext/','.ext')\n // returns 4: 'path_ext'\n\n let b = path\n const lastChar = b.charAt(b.length - 1)\n\n if (lastChar === '/' || lastChar === '\\\\') {\n b = b.slice(0, -1)\n }\n\n b = b.replace(/^.*[/\\\\]/g, '')\n\n if (typeof suffix === 'string' && b.substr(b.length - suffix.length) === suffix) {\n b = b.substr(0, b.length - suffix.length)\n }\n\n return b\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/filesystem/dirname.js"],"names":["module","exports","dirname","path","replace"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/filesystem/dirname.js"],"names":["module","exports","dirname","path","replace"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,OAAT,CAAiBC,IAAjB,EAAuB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAOA,KAAKC,OAAL,CAAa,KAAb,EAAoB,GAApB,EAAyBA,OAAzB,CAAiC,aAAjC,EAAgD,EAAhD,CAAP;AACD,CAZD","file":"dirname.js","sourcesContent":["module.exports = function dirname(path) {\n // discuss at: https://locutus.io/php/dirname/\n // original by: Ozh\n // improved by: XoraX (https://www.xorax.info)\n // example 1: dirname('/etc/passwd')\n // returns 1: '/etc'\n // example 2: dirname('c:/Temp/x')\n // returns 2: 'c:/Temp'\n // example 3: dirname('/dir/test/')\n // returns 3: '/dir'\n\n return path.replace(/\\\\/g, '/').replace(/\\/[^/]*\\/?$/, '')\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/filesystem/file_get_contents.js"],"names":["module","exports","file_get_contents","url","flags","context","offset","maxLen","fs","require","readFileSync"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,iBAAT,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/filesystem/file_get_contents.js"],"names":["module","exports","file_get_contents","url","flags","context","offset","maxLen","fs","require","readFileSync"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,iBAAT,CAA2BC,GAA3B,EAAgCC,KAAhC,EAAuCC,OAAvC,EAAgDC,MAAhD,EAAwDC,MAAxD,EAAgE;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,KAAKC,QAAQ,IAAR,CAAX;;AAEA,SAAOD,GAAGE,YAAH,CAAgBP,GAAhB,EAAqB,OAArB,CAAP;AACD,CArBD","file":"file_get_contents.js","sourcesContent":["module.exports = function file_get_contents(url, flags, context, offset, maxLen) {\n // discuss at: https://locutus.io/php/file_get_contents/\n // original by: Legaev Andrey\n // input by: Jani Hartikainen\n // input by: Raphael (Ao) RUDLER\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: Brett Zamir (https://brett-zamir.me)\n // reimplemented by: Kevin van Zonneveld (https://kvz.io)\n // note 1: This used to work in the browser via blocking ajax\n // note 1: requests in 1.3.2 and earlier\n // note 1: but then people started using that for real app,\n // note 1: so we deprecated this behavior,\n // note 1: so this function is now Node-only\n // example 1: var $buf = file_get_contents('test/never-change.txt')\n // example 1: var $result = $buf.indexOf('hash') !== -1\n // returns 1: true\n\n const fs = require('fs')\n\n return fs.readFileSync(url, 'utf-8')\n}\n"]}
|
|
@@ -63,9 +63,8 @@ module.exports = function pathinfo(path, options) {
|
|
|
63
63
|
PATHINFO_EXTENSION: 4,
|
|
64
64
|
PATHINFO_FILENAME: 8,
|
|
65
65
|
PATHINFO_ALL: 0
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
for (optName in OPTS) {
|
|
66
|
+
// PATHINFO_ALL sums up all previously defined PATHINFOs (could just pre-calculate)
|
|
67
|
+
};for (optName in OPTS) {
|
|
69
68
|
if (OPTS.hasOwnProperty(optName)) {
|
|
70
69
|
OPTS.PATHINFO_ALL = OPTS.PATHINFO_ALL | OPTS[optName];
|
|
71
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/filesystem/pathinfo.js"],"names":["module","exports","pathinfo","path","options","basename","require","opt","realOpt","optName","optTemp","tmpArr","cnt","i","haveBasename","haveExtension","haveFilename","OPTS","PATHINFO_DIRNAME","PATHINFO_BASENAME","PATHINFO_EXTENSION","PATHINFO_FILENAME","PATHINFO_ALL","hasOwnProperty","concat","length","_getExt","str","dotP","lastIndexOf","substr","dirName","replace","dirname","extension","slice","filename"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,QAAT,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/filesystem/pathinfo.js"],"names":["module","exports","pathinfo","path","options","basename","require","opt","realOpt","optName","optTemp","tmpArr","cnt","i","haveBasename","haveExtension","haveFilename","OPTS","PATHINFO_DIRNAME","PATHINFO_BASENAME","PATHINFO_EXTENSION","PATHINFO_FILENAME","PATHINFO_ALL","hasOwnProperty","concat","length","_getExt","str","dotP","lastIndexOf","substr","dirName","replace","dirname","extension","slice","filename"],"mappings":"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","file":"pathinfo.js","sourcesContent":["module.exports = function pathinfo(path, options) {\n // discuss at: https://locutus.io/php/pathinfo/\n // original by: Nate\n // revised by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // improved by: Dmitry Gorelenkov\n // input by: Timo\n // note 1: Inspired by actual PHP source: php5-5.2.6/ext/standard/string.c line #1559\n // note 1: The way the bitwise arguments are handled allows for greater flexibility\n // note 1: & compatability. We might even standardize this\n // note 1: code and use a similar approach for\n // note 1: other bitwise PHP functions\n // note 1: Locutus tries very hard to stay away from a core.js\n // note 1: file with global dependencies, because we like\n // note 1: that you can just take a couple of functions and be on your way.\n // note 1: But by way we implemented this function,\n // note 1: if you want you can still declare the PATHINFO_*\n // note 1: yourself, and then you can use:\n // note 1: pathinfo('/www/index.html', PATHINFO_BASENAME | PATHINFO_EXTENSION);\n // note 1: which makes it fully compliant with PHP syntax.\n // example 1: pathinfo('/www/htdocs/index.html', 1)\n // returns 1: '/www/htdocs'\n // example 2: pathinfo('/www/htdocs/index.html', 'PATHINFO_BASENAME')\n // returns 2: 'index.html'\n // example 3: pathinfo('/www/htdocs/index.html', 'PATHINFO_EXTENSION')\n // returns 3: 'html'\n // example 4: pathinfo('/www/htdocs/index.html', 'PATHINFO_FILENAME')\n // returns 4: 'index'\n // example 5: pathinfo('/www/htdocs/index.html', 2 | 4)\n // returns 5: {basename: 'index.html', extension: 'html'}\n // example 6: pathinfo('/www/htdocs/index.html', 'PATHINFO_ALL')\n // returns 6: {dirname: '/www/htdocs', basename: 'index.html', extension: 'html', filename: 'index'}\n // example 7: pathinfo('/www/htdocs/index.html')\n // returns 7: {dirname: '/www/htdocs', basename: 'index.html', extension: 'html', filename: 'index'}\n\n const basename = require('../filesystem/basename')\n let opt = ''\n let realOpt = ''\n let optName = ''\n let optTemp = 0\n const tmpArr = {}\n let cnt = 0\n let i = 0\n let haveBasename = false\n let haveExtension = false\n let haveFilename = false\n\n // Input defaulting & sanitation\n if (!path) {\n return false\n }\n if (!options) {\n options = 'PATHINFO_ALL'\n }\n\n // Initialize binary arguments. Both the string & integer (constant) input is\n // allowed\n const OPTS = {\n PATHINFO_DIRNAME: 1,\n PATHINFO_BASENAME: 2,\n PATHINFO_EXTENSION: 4,\n PATHINFO_FILENAME: 8,\n PATHINFO_ALL: 0,\n }\n // PATHINFO_ALL sums up all previously defined PATHINFOs (could just pre-calculate)\n for (optName in OPTS) {\n if (OPTS.hasOwnProperty(optName)) {\n OPTS.PATHINFO_ALL = OPTS.PATHINFO_ALL | OPTS[optName]\n }\n }\n if (typeof options !== 'number') {\n // Allow for a single string or an array of string flags\n options = [].concat(options)\n for (i = 0; i < options.length; i++) {\n // Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4\n if (OPTS[options[i]]) {\n optTemp = optTemp | OPTS[options[i]]\n }\n }\n options = optTemp\n }\n\n // Internal Functions\n const _getExt = function (path) {\n const str = path + ''\n const dotP = str.lastIndexOf('.') + 1\n return !dotP ? false : dotP !== str.length ? str.substr(dotP) : ''\n }\n\n // Gather path infos\n if (options & OPTS.PATHINFO_DIRNAME) {\n const dirName = path.replace(/\\\\/g, '/').replace(/\\/[^/]*\\/?$/, '') // dirname\n tmpArr.dirname = dirName === path ? '.' : dirName\n }\n\n if (options & OPTS.PATHINFO_BASENAME) {\n if (haveBasename === false) {\n haveBasename = basename(path)\n }\n tmpArr.basename = haveBasename\n }\n\n if (options & OPTS.PATHINFO_EXTENSION) {\n if (haveBasename === false) {\n haveBasename = basename(path)\n }\n if (haveExtension === false) {\n haveExtension = _getExt(haveBasename)\n }\n if (haveExtension !== false) {\n tmpArr.extension = haveExtension\n }\n }\n\n if (options & OPTS.PATHINFO_FILENAME) {\n if (haveBasename === false) {\n haveBasename = basename(path)\n }\n if (haveExtension === false) {\n haveExtension = _getExt(haveBasename)\n }\n if (haveFilename === false) {\n haveFilename = haveBasename.slice(\n 0,\n haveBasename.length - (haveExtension ? haveExtension.length + 1 : haveExtension === false ? 0 : 1),\n )\n }\n\n tmpArr.filename = haveFilename\n }\n\n // If array contains only 1 element: return string\n cnt = 0\n for (opt in tmpArr) {\n if (tmpArr.hasOwnProperty(opt)) {\n cnt++\n realOpt = opt\n }\n }\n if (cnt === 1) {\n return tmpArr[realOpt]\n }\n\n // Return full-blown array\n return tmpArr\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/filesystem/realpath.js"],"names":["module","exports","realpath","path","window","nodePath","require","normalize","p","arr","r","location","href","replace","indexOf","substring","lastIndexOf","split","k","length","pop","push","join"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,QAAT,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/filesystem/realpath.js"],"names":["module","exports","realpath","path","window","nodePath","require","normalize","p","arr","r","location","href","replace","indexOf","substring","lastIndexOf","split","k","length","pop","push","join"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,QAAT,CAAkBC,IAAlB,EAAwB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;AACjC,QAAMC,WAAWC,QAAQ,MAAR,CAAjB;AACA,WAAOD,SAASE,SAAT,CAAmBJ,IAAnB,CAAP;AACD;;AAED,MAAIK,IAAI,CAAR;AACA,MAAIC,MAAM,EAAV,CAduC,CAc1B;AACb,MAAMC,IAAI,KAAKN,MAAL,CAAYO,QAAZ,CAAqBC,IAA/B,CAfuC,CAeH;;AAEpC;AACAT,SAAO,CAACA,OAAO,EAAR,EAAYU,OAAZ,CAAoB,IAApB,EAA0B,GAA1B,CAAP;AACA,MAAIV,KAAKW,OAAL,CAAa,KAAb,MAAwB,CAAC,CAA7B,EAAgC;AAC9BN,QAAI,CAAJ;AACD;;AAED;AACA,MAAI,CAACA,CAAL,EAAQ;AACNL,WAAOO,EAAEK,SAAF,CAAY,CAAZ,EAAeL,EAAEM,WAAF,CAAc,GAAd,IAAqB,CAApC,IAAyCb,IAAhD;AACD;;AAED;AACAM,QAAMN,KAAKc,KAAL,CAAW,GAAX,CAAN,CA7BuC,CA6BjB;AACtBd,SAAO,EAAP,CA9BuC,CA8B7B;AACV,OAAK,IAAMe,CAAX,IAAgBT,GAAhB,EAAqB;AACnB;AACA,QAAIA,IAAIS,CAAJ,MAAW,GAAf,EAAoB;AAClB;AACD;AACD;AACA,QAAIT,IAAIS,CAAJ,MAAW,IAAf,EAAqB;AACnB;;AAEA,UAAIf,KAAKgB,MAAL,GAAc,CAAlB,EAAqB;AACnBhB,aAAKiB,GAAL;AACD;AACF,KAND,MAMO;AACL;AACA;AACA;AACA;AACA,UAAIjB,KAAKgB,MAAL,GAAc,CAAd,IAAmBV,IAAIS,CAAJ,MAAW,EAAlC,EAAsC;AACpCf,aAAKkB,IAAL,CAAUZ,IAAIS,CAAJ,CAAV;AACD;AACF;AACF;;AAED;AACA,SAAOf,KAAKmB,IAAL,CAAU,GAAV,CAAP;AACD,CAxDD","file":"realpath.js","sourcesContent":["module.exports = function realpath(path) {\n // discuss at: https://locutus.io/php/realpath/\n // original by: mk.keck\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // note 1: Returned path is an url like e.g. 'https://yourhost.tld/path/'\n // example 1: realpath('some/dir/.././_supporters/pj_test_supportfile_1.htm')\n // returns 1: 'some/_supporters/pj_test_supportfile_1.htm'\n\n if (typeof window === 'undefined') {\n const nodePath = require('path')\n return nodePath.normalize(path)\n }\n\n let p = 0\n let arr = [] // Save the root, if not given\n const r = this.window.location.href // Avoid input failures\n\n // Check if there's a port in path (like 'https://')\n path = (path + '').replace('\\\\', '/')\n if (path.indexOf('://') !== -1) {\n p = 1\n }\n\n // Ok, there's not a port in path, so let's take the root\n if (!p) {\n path = r.substring(0, r.lastIndexOf('/') + 1) + path\n }\n\n // Explode the given path into it's parts\n arr = path.split('/') // The path is an array now\n path = [] // Foreach part make a check\n for (const k in arr) {\n // This is'nt really interesting\n if (arr[k] === '.') {\n continue\n }\n // This reduces the realpath\n if (arr[k] === '..') {\n /* But only if there more than 3 parts in the path-array.\n * The first three parts are for the uri */\n if (path.length > 3) {\n path.pop()\n }\n } else {\n // This adds parts to the realpath\n // But only if the part is not empty or the uri\n // (the first three parts ar needed) was not\n // saved\n if (path.length < 2 || arr[k] !== '') {\n path.push(arr[k])\n }\n }\n }\n\n // Returns the absloute path as a string\n return path.join('/')\n}\n"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
module.exports = function call_user_func(cb, parameters) {
|
|
4
|
-
// eslint-disable-line camelcase
|
|
5
4
|
// discuss at: https://locutus.io/php/call_user_func/
|
|
6
5
|
// original by: Brett Zamir (https://brett-zamir.me)
|
|
7
6
|
// improved by: Diplom@t (https://difane.com/)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/funchand/call_user_func.js"],"names":["module","exports","call_user_func","cb","parameters","callUserFuncArray","require","Array","prototype","slice","call","arguments"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,cAAT,
|
|
1
|
+
{"version":3,"sources":["../../../src/php/funchand/call_user_func.js"],"names":["module","exports","call_user_func","cb","parameters","callUserFuncArray","require","Array","prototype","slice","call","arguments"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,cAAT,CAAwBC,EAAxB,EAA4BC,UAA5B,EAAwC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,oBAAoBC,QAAQ,kCAAR,CAA1B;AACAF,eAAaG,MAAMC,SAAN,CAAgBC,KAAhB,CAAsBC,IAAtB,CAA2BC,SAA3B,EAAsC,CAAtC,CAAb;AACA,SAAON,kBAAkBF,EAAlB,EAAsBC,UAAtB,CAAP;AACD,CAhBD","file":"call_user_func.js","sourcesContent":["module.exports = function call_user_func(cb, parameters) {\n // discuss at: https://locutus.io/php/call_user_func/\n // original by: Brett Zamir (https://brett-zamir.me)\n // improved by: Diplom@t (https://difane.com/)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // note 1: Depends on call_user_func_array which in turn depends on the `cb` that is passed,\n // note 1: this function can use `eval`.\n // note 1: The `eval` input is however checked to only allow valid function names,\n // note 1: So it should not be unsafer than uses without eval (seeing as you can)\n // note 1: already pass any function to be executed here.\n // example 1: call_user_func('isNaN', 'a')\n // returns 1: true\n\n const callUserFuncArray = require('../funchand/call_user_func_array')\n parameters = Array.prototype.slice.call(arguments, 1)\n return callUserFuncArray(cb, parameters)\n}\n"]}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
4
4
|
|
|
5
5
|
module.exports = function call_user_func_array(cb, parameters) {
|
|
6
|
-
// eslint-disable-line camelcase
|
|
7
6
|
// discuss at: https://locutus.io/php/call_user_func_array/
|
|
8
7
|
// original by: Thiago Mata (https://thiagomata.blog.com)
|
|
9
8
|
// revised by: Jon Hohle
|