locutus 2.0.16 → 2.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 -1
- 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.map +1 -1
- package/php/datetime/mktime.js.map +1 -1
- package/php/datetime/strftime.js.map +1 -1
- 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.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 +0 -1
- 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 +0 -1
- 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.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.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 +0 -1
- 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 +0 -1
- 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 +2 -2
- package/python/string/punctuation.js.map +1 -1
- 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/strftime.js"],"names":["module","exports","strftime","fmt","timestamp","setlocale","require","$global","window","global","$locutus","_xPad","x","pad","r","parseInt","toString","locale","php","localeCategories","LC_TIME","lcTime","locales","_formats","a","d","getDay","A","b","getMonth","B","C","getFullYear","e","g","G","y","V","W","H","I","getHours","j","ms","Date","getTimezoneOffset","doy","k","l","m","M","p","P","s","parse","S","u","dow","U","rdow","woy","dow11","idow","w","Y","z","o","Math","abs","Z","replace","_date","_aggregates","c","D","F","h","n","R","t","T","X","match","m0","m1","f","str"],"mappings":"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","file":"strftime.js","sourcesContent":["module.exports = function strftime (fmt, timestamp) {\n // discuss at: https://locutus.io/php/strftime/\n // original by: Blues (https://tech.bluesmoon.info/)\n // reimplemented by: Brett Zamir (https://brett-zamir.me)\n // input by: Alex\n // bugfixed by: Brett Zamir (https://brett-zamir.me)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // note 1: Uses global: locutus to store locale info\n // example 1: strftime(\"%A\", 1062462400); // Return value will depend on date and locale\n // returns 1: 'Tuesday'\n\n const setlocale = require('../strings/setlocale')\n\n const $global = (typeof window !== 'undefined' ? window : global)\n $global.$locutus = $global.$locutus || {}\n const $locutus = $global.$locutus\n\n // ensure setup of localization variables takes place\n setlocale('LC_ALL', 0)\n\n const _xPad = function (x, pad, r) {\n if (typeof r === 'undefined') {\n r = 10\n }\n for (; parseInt(x, 10) < r && r > 1; r /= 10) {\n x = pad.toString() + x\n }\n return x.toString()\n }\n\n const locale = $locutus.php.localeCategories.LC_TIME\n const lcTime = $locutus.php.locales[locale].LC_TIME\n\n var _formats = {\n a: function (d) {\n return lcTime.a[d.getDay()]\n },\n A: function (d) {\n return lcTime.A[d.getDay()]\n },\n b: function (d) {\n return lcTime.b[d.getMonth()]\n },\n B: function (d) {\n return lcTime.B[d.getMonth()]\n },\n C: function (d) {\n return _xPad(parseInt(d.getFullYear() / 100, 10), 0)\n },\n d: ['getDate', '0'],\n e: ['getDate', ' '],\n g: function (d) {\n return _xPad(parseInt(this.G(d) / 100, 10), 0)\n },\n G: function (d) {\n let y = d.getFullYear()\n const V = parseInt(_formats.V(d), 10)\n const W = parseInt(_formats.W(d), 10)\n\n if (W > V) {\n y++\n } else if (W === 0 && V >= 52) {\n y--\n }\n\n return y\n },\n H: ['getHours', '0'],\n I: function (d) {\n const I = d.getHours() % 12\n return _xPad(I === 0 ? 12 : I, 0)\n },\n j: function (d) {\n let ms = d - new Date('' + d.getFullYear() + '/1/1 GMT')\n // Line differs from Yahoo implementation which would be\n // equivalent to replacing it here with:\n ms += d.getTimezoneOffset() * 60000\n const doy = parseInt(ms / 60000 / 60 / 24, 10) + 1\n return _xPad(doy, 0, 100)\n },\n k: ['getHours', '0'],\n // not in PHP, but implemented here (as in Yahoo)\n l: function (d) {\n const l = d.getHours() % 12\n return _xPad(l === 0 ? 12 : l, ' ')\n },\n m: function (d) {\n return _xPad(d.getMonth() + 1, 0)\n },\n M: ['getMinutes', '0'],\n p: function (d) {\n return lcTime.p[d.getHours() >= 12 ? 1 : 0]\n },\n P: function (d) {\n return lcTime.P[d.getHours() >= 12 ? 1 : 0]\n },\n s: function (d) {\n // Yahoo uses return parseInt(d.getTime()/1000, 10);\n return Date.parse(d) / 1000\n },\n S: ['getSeconds', '0'],\n u: function (d) {\n const dow = d.getDay()\n return ((dow === 0) ? 7 : dow)\n },\n U: function (d) {\n const doy = parseInt(_formats.j(d), 10)\n const rdow = 6 - d.getDay()\n const woy = parseInt((doy + rdow) / 7, 10)\n return _xPad(woy, 0)\n },\n V: function (d) {\n const woy = parseInt(_formats.W(d), 10)\n const dow11 = (new Date('' + d.getFullYear() + '/1/1')).getDay()\n // First week is 01 and not 00 as in the case of %U and %W,\n // so we add 1 to the final result except if day 1 of the year\n // is a Monday (then %W returns 01).\n // We also need to subtract 1 if the day 1 of the year is\n // Friday-Sunday, so the resulting equation becomes:\n let idow = woy + (dow11 > 4 || dow11 <= 1 ? 0 : 1)\n if (idow === 53 && (new Date('' + d.getFullYear() + '/12/31')).getDay() < 4) {\n idow = 1\n } else if (idow === 0) {\n idow = _formats.V(new Date('' + (d.getFullYear() - 1) + '/12/31'))\n }\n return _xPad(idow, 0)\n },\n w: 'getDay',\n W: function (d) {\n const doy = parseInt(_formats.j(d), 10)\n const rdow = 7 - _formats.u(d)\n const woy = parseInt((doy + rdow) / 7, 10)\n return _xPad(woy, 0, 10)\n },\n y: function (d) {\n return _xPad(d.getFullYear() % 100, 0)\n },\n Y: 'getFullYear',\n z: function (d) {\n const o = d.getTimezoneOffset()\n const H = _xPad(parseInt(Math.abs(o / 60), 10), 0)\n const M = _xPad(o % 60, 0)\n return (o > 0 ? '-' : '+') + H + M\n },\n Z: function (d) {\n return d.toString().replace(/^.*\\(([^)]+)\\)$/, '$1')\n },\n '%': function (d) {\n return '%'\n }\n }\n\n const _date = (typeof timestamp === 'undefined')\n ? new Date()\n : (timestamp instanceof Date)\n ? new Date(timestamp)\n : new Date(timestamp * 1000)\n\n const _aggregates = {\n c: 'locale',\n D: '%m/%d/%y',\n F: '%y-%m-%d',\n h: '%b',\n n: '\\n',\n r: 'locale',\n R: '%H:%M',\n t: '\\t',\n T: '%H:%M:%S',\n x: 'locale',\n X: 'locale'\n }\n\n // First replace aggregates (run in a loop because an agg may be made up of other aggs)\n while (fmt.match(/%[cDFhnrRtTxX]/)) {\n fmt = fmt.replace(/%([cDFhnrRtTxX])/g, function (m0, m1) {\n const f = _aggregates[m1]\n return (f === 'locale' ? lcTime[m1] : f)\n })\n }\n\n // Now replace formats - we need a closure so that the date object gets passed through\n const str = fmt.replace(/%([aAbBCdegGHIjklmMpPsSuUVwWyYzZ%])/g, function (m0, m1) {\n const f = _formats[m1]\n if (typeof f === 'string') {\n return _date[f]()\n } else if (typeof f === 'function') {\n return f(_date)\n } else if (typeof f === 'object' && typeof f[0] === 'string') {\n return _xPad(_date[f[0]](), f[1])\n } else {\n // Shouldn't reach here\n return m1\n }\n })\n\n return str\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/php/datetime/strftime.js"],"names":["module","exports","strftime","fmt","timestamp","setlocale","require","$global","window","global","$locutus","_xPad","x","pad","r","parseInt","toString","locale","php","localeCategories","LC_TIME","lcTime","locales","_formats","a","d","getDay","A","b","getMonth","B","C","getFullYear","e","g","G","y","V","W","H","I","getHours","j","ms","Date","getTimezoneOffset","doy","k","l","m","M","p","P","s","parse","S","u","dow","U","rdow","woy","dow11","idow","w","Y","z","o","Math","abs","Z","replace","_date","_aggregates","c","D","F","h","n","R","t","T","X","match","m0","m1","f","str"],"mappings":"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","file":"strftime.js","sourcesContent":["module.exports = function strftime(fmt, timestamp) {\n // discuss at: https://locutus.io/php/strftime/\n // original by: Blues (https://tech.bluesmoon.info/)\n // reimplemented by: Brett Zamir (https://brett-zamir.me)\n // input by: Alex\n // bugfixed by: Brett Zamir (https://brett-zamir.me)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // note 1: Uses global: locutus to store locale info\n // example 1: strftime(\"%A\", 1062462400); // Return value will depend on date and locale\n // returns 1: 'Tuesday'\n\n const setlocale = require('../strings/setlocale')\n\n const $global = typeof window !== 'undefined' ? window : global\n $global.$locutus = $global.$locutus || {}\n const $locutus = $global.$locutus\n\n // ensure setup of localization variables takes place\n setlocale('LC_ALL', 0)\n\n const _xPad = function (x, pad, r) {\n if (typeof r === 'undefined') {\n r = 10\n }\n for (; parseInt(x, 10) < r && r > 1; r /= 10) {\n x = pad.toString() + x\n }\n return x.toString()\n }\n\n const locale = $locutus.php.localeCategories.LC_TIME\n const lcTime = $locutus.php.locales[locale].LC_TIME\n\n var _formats = {\n a: function (d) {\n return lcTime.a[d.getDay()]\n },\n A: function (d) {\n return lcTime.A[d.getDay()]\n },\n b: function (d) {\n return lcTime.b[d.getMonth()]\n },\n B: function (d) {\n return lcTime.B[d.getMonth()]\n },\n C: function (d) {\n return _xPad(parseInt(d.getFullYear() / 100, 10), 0)\n },\n d: ['getDate', '0'],\n e: ['getDate', ' '],\n g: function (d) {\n return _xPad(parseInt(this.G(d) / 100, 10), 0)\n },\n G: function (d) {\n let y = d.getFullYear()\n const V = parseInt(_formats.V(d), 10)\n const W = parseInt(_formats.W(d), 10)\n\n if (W > V) {\n y++\n } else if (W === 0 && V >= 52) {\n y--\n }\n\n return y\n },\n H: ['getHours', '0'],\n I: function (d) {\n const I = d.getHours() % 12\n return _xPad(I === 0 ? 12 : I, 0)\n },\n j: function (d) {\n let ms = d - new Date('' + d.getFullYear() + '/1/1 GMT')\n // Line differs from Yahoo implementation which would be\n // equivalent to replacing it here with:\n ms += d.getTimezoneOffset() * 60000\n const doy = parseInt(ms / 60000 / 60 / 24, 10) + 1\n return _xPad(doy, 0, 100)\n },\n k: ['getHours', '0'],\n // not in PHP, but implemented here (as in Yahoo)\n l: function (d) {\n const l = d.getHours() % 12\n return _xPad(l === 0 ? 12 : l, ' ')\n },\n m: function (d) {\n return _xPad(d.getMonth() + 1, 0)\n },\n M: ['getMinutes', '0'],\n p: function (d) {\n return lcTime.p[d.getHours() >= 12 ? 1 : 0]\n },\n P: function (d) {\n return lcTime.P[d.getHours() >= 12 ? 1 : 0]\n },\n s: function (d) {\n // Yahoo uses return parseInt(d.getTime()/1000, 10);\n return Date.parse(d) / 1000\n },\n S: ['getSeconds', '0'],\n u: function (d) {\n const dow = d.getDay()\n return dow === 0 ? 7 : dow\n },\n U: function (d) {\n const doy = parseInt(_formats.j(d), 10)\n const rdow = 6 - d.getDay()\n const woy = parseInt((doy + rdow) / 7, 10)\n return _xPad(woy, 0)\n },\n V: function (d) {\n const woy = parseInt(_formats.W(d), 10)\n const dow11 = new Date('' + d.getFullYear() + '/1/1').getDay()\n // First week is 01 and not 00 as in the case of %U and %W,\n // so we add 1 to the final result except if day 1 of the year\n // is a Monday (then %W returns 01).\n // We also need to subtract 1 if the day 1 of the year is\n // Friday-Sunday, so the resulting equation becomes:\n let idow = woy + (dow11 > 4 || dow11 <= 1 ? 0 : 1)\n if (idow === 53 && new Date('' + d.getFullYear() + '/12/31').getDay() < 4) {\n idow = 1\n } else if (idow === 0) {\n idow = _formats.V(new Date('' + (d.getFullYear() - 1) + '/12/31'))\n }\n return _xPad(idow, 0)\n },\n w: 'getDay',\n W: function (d) {\n const doy = parseInt(_formats.j(d), 10)\n const rdow = 7 - _formats.u(d)\n const woy = parseInt((doy + rdow) / 7, 10)\n return _xPad(woy, 0, 10)\n },\n y: function (d) {\n return _xPad(d.getFullYear() % 100, 0)\n },\n Y: 'getFullYear',\n z: function (d) {\n const o = d.getTimezoneOffset()\n const H = _xPad(parseInt(Math.abs(o / 60), 10), 0)\n const M = _xPad(o % 60, 0)\n return (o > 0 ? '-' : '+') + H + M\n },\n Z: function (d) {\n return d.toString().replace(/^.*\\(([^)]+)\\)$/, '$1')\n },\n '%': function (d) {\n return '%'\n },\n }\n\n const _date =\n typeof timestamp === 'undefined'\n ? new Date()\n : timestamp instanceof Date\n ? new Date(timestamp)\n : new Date(timestamp * 1000)\n\n const _aggregates = {\n c: 'locale',\n D: '%m/%d/%y',\n F: '%y-%m-%d',\n h: '%b',\n n: '\\n',\n r: 'locale',\n R: '%H:%M',\n t: '\\t',\n T: '%H:%M:%S',\n x: 'locale',\n X: 'locale',\n }\n\n // First replace aggregates (run in a loop because an agg may be made up of other aggs)\n while (fmt.match(/%[cDFhnrRtTxX]/)) {\n fmt = fmt.replace(/%([cDFhnrRtTxX])/g, function (m0, m1) {\n const f = _aggregates[m1]\n return f === 'locale' ? lcTime[m1] : f\n })\n }\n\n // Now replace formats - we need a closure so that the date object gets passed through\n const str = fmt.replace(/%([aAbBCdegGHIjklmMpPsSuUVwWyYzZ%])/g, function (m0, m1) {\n const f = _formats[m1]\n if (typeof f === 'string') {\n return _date[f]()\n } else if (typeof f === 'function') {\n return f(_date)\n } else if (typeof f === 'object' && typeof f[0] === 'string') {\n return _xPad(_date[f[0]](), f[1])\n } else {\n // Shouldn't reach here\n return m1\n }\n })\n\n return str\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/php/datetime/strptime.js"],"names":["module","exports","strptime","dateStr","format","setlocale","require","arrayMap","retObj","tm_sec","tm_min","tm_hour","tm_mday","tm_mon","tm_year","tm_wday","tm_yday","unparsed","i","j","amPmOffset","prevHour","_reset","dateObj","realMday","jan1","o","d","getUTCSeconds","getUTCMinutes","getUTCHours","getUTCDate","getUTCMonth","getUTCFullYear","getUTCDay","Date","UTC","Math","ceil","_date","_NWS","_WS","_aggregates","c","D","F","r","R","T","x","X","_pregQuote","str","replace","$global","window","global","$locutus","locale","php","localeCategories","LC_TIME","lcTime","locales","match","m0","m1","f","_addNext","regex","cb","RegExp","check","slice","exec","testNull","apply","Error","length","_addLocalized","formatChar","category","join","m","search","charAt","literalPos","indexOf","year","parseInt","dayMonth","hour","dayYear","month","minute","test","timestamp","date","second","e"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,QAAT,CAAmBC,OAAnB,EAA4BC,MAA5B,EAAoC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,YAAYC,QAAQ,sBAAR,CAAlB;AACA,MAAMC,WAAWD,QAAQ,oBAAR,CAAjB;;AAEA,MAAME,SAAS;AACbC,YAAQ,CADK;AAEbC,YAAQ,CAFK;AAGbC,aAAS,CAHI;AAIbC,aAAS,CAJI;AAKbC,YAAQ,CALK;AAMbC,aAAS,CANI;AAObC,aAAS,CAPI;AAQbC,aAAS,CARI;AASbC,cAAU;AATG,GAAf;AAWA,MAAIC,IAAI,CAAR;AACA,MAAIC,IAAI,CAAR;AACA,MAAIC,aAAa,CAAjB;AACA,MAAIC,WAAW,KAAf;AACA,MAAMC,SAAS,SAATA,MAAS,CAAUC,OAAV,EAAmBC,QAAnB,EAA6B;AAC1C;AACA;AACA,QAAIC,aAAJ;AACA,QAAMC,IAAIlB,MAAV;AACA,QAAMmB,IAAIJ,OAAV;AACAG,MAAEjB,MAAF,GAAWkB,EAAEC,aAAF,EAAX;AACAF,MAAEhB,MAAF,GAAWiB,EAAEE,aAAF,EAAX;AACAH,MAAEf,OAAF,GAAYgB,EAAEG,WAAF,EAAZ;AACAJ,MAAEd,OAAF,GAAYY,aAAa,CAAb,GAAiBA,QAAjB,GAA4BG,EAAEI,UAAF,EAAxC;AACAL,MAAEb,MAAF,GAAWc,EAAEK,WAAF,EAAX;AACAN,MAAEZ,OAAF,GAAYa,EAAEM,cAAF,KAAqB,IAAjC;AACAP,MAAEX,OAAF,GAAYS,aAAa,CAAb,GAAkBG,EAAEO,SAAF,KAAgB,CAAhB,GAAoBP,EAAEO,SAAF,KAAgB,CAApC,GAAwC,CAA1D,GAA+DP,EAAEO,SAAF,EAA3E;AACAT,WAAO,IAAIU,IAAJ,CAASA,KAAKC,GAAL,CAAST,EAAEM,cAAF,EAAT,EAA6B,CAA7B,EAAgC,CAAhC,CAAT,CAAP;AACAP,MAAEV,OAAF,GAAYqB,KAAKC,IAAL,CAAU,CAACX,IAAIF,IAAL,KAAc,OAAO,EAAP,GAAY,EAAZ,GAAiB,EAA/B,CAAV,CAAZ;AACD,GAfD;AAgBA,MAAMc,QAAQ,SAARA,KAAQ,GAAY;AACxB,QAAMb,IAAIlB,MAAV;AACA;AACA,WAAOc,OAAO,IAAIa,IAAJ,CAASA,KAAKC,GAAL,CACrBV,EAAEZ,OAAF,GAAY,IADS,EAErBY,EAAEb,MAFmB,EAGrBa,EAAEd,OAAF,IAAa,CAHQ,EAIrBc,EAAEf,OAJmB,EAKrBe,EAAEhB,MALmB,EAMrBgB,EAAEjB,MANmB,CAAT,CAAP,EAQPiB,EAAEd,OARK,CAAP;AASD,GAZD;;AAcA,MAAM4B,OAAO,IAAb;AACA,MAAMC,MAAM,IAAZ;;AAEA,MAAMC,cAAc;AAClBC,OAAG,QADe;AAElBC,OAAG,UAFe;AAGlBC,OAAG,UAHe;AAIlBC,OAAG,QAJe;AAKlBC,OAAG,OALe;AAMlBC,OAAG,UANe;AAOlBC,OAAG,QAPe;AAQlBC,OAAG;;AAGL;;;;;;;;;;;;;;;;;;AAXoB,GAApB,CA6BA,IAAMC,aAAa,SAAbA,UAAa,CAAUC,GAAV,EAAe;AAChC,WAAO,CAACA,MAAM,EAAP,EAAWC,OAAX,CAAmB,4BAAnB,EAAiD,MAAjD,CAAP;AACD,GAFD;;AAIA;AACAhD,YAAU,QAAV,EAAoB,CAApB;;AAEA,MAAMiD,UAAW,OAAOC,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyCC,MAA1D;AACAF,UAAQG,QAAR,GAAmBH,QAAQG,QAAR,IAAoB,EAAvC;AACA,MAAMA,WAAWH,QAAQG,QAAzB;AACA,MAAMC,SAASD,SAASE,GAAT,CAAaC,gBAAb,CAA8BC,OAA7C;AACA,MAAMC,SAASL,SAASE,GAAT,CAAaI,OAAb,CAAqBL,MAArB,EAA6BG,OAA5C;;AAEA;AACA,SAAOzD,OAAO4D,KAAP,CAAa,gBAAb,CAAP,EAAuC;AACrC5D,aAASA,OAAOiD,OAAP,CAAe,mBAAf,EAAoC,UAAUY,EAAV,EAAcC,EAAd,EAAkB;AAC7D,UAAMC,IAAIzB,YAAYwB,EAAZ,CAAV;AACA,aAAQC,MAAM,QAAN,GAAiBL,OAAOI,EAAP,CAAjB,GAA8BC,CAAtC;AACD,KAHQ,CAAT;AAID;;AAED,MAAMC,WAAW,SAAXA,QAAW,CAAUjD,CAAV,EAAakD,KAAb,EAAoBC,EAApB,EAAwB;AACvC,QAAI,OAAOD,KAAP,KAAiB,QAArB,EAA+B;AAC7BA,cAAQ,IAAIE,MAAJ,CAAW,MAAMF,KAAjB,EAAwB,GAAxB,CAAR;AACD;AACD,QAAMG,QAAQrE,QAAQsE,KAAR,CAActD,CAAd,CAAd;AACA,QAAM6C,QAAQK,MAAMK,IAAN,CAAWF,KAAX,CAAd;AACA;AACA;AACA,QAAMG,WAAWX,QAAQM,GAAGM,KAAH,CAAS,IAAT,EAAeZ,KAAf,CAAR,GAAgC,IAAjD;AACA,QAAIW,aAAa,IAAjB,EAAuB;AACrB,YAAM,IAAIE,KAAJ,CAAU,oBAAV,CAAN;AACD;AACD,WAAO1D,IAAI6C,MAAM,CAAN,EAASc,MAApB;AACD,GAbD;;AAeA,MAAMC,gBAAgB,SAAhBA,aAAgB,CAAU5D,CAAV,EAAa6D,UAAb,EAAyBC,QAAzB,EAAmC;AACvD;AACA,WAAOb,SAASjD,CAAT,EAAYZ,SAAS4C,UAAT,EAAqBW,OAAOkB,UAAP,CAArB,EAAyCE,IAAzC,CAA8C,GAA9C,CAAZ,EACL,UAAUC,CAAV,EAAa;AACX,UAAMnB,QAAQF,OAAOkB,UAAP,EAAmBI,MAAnB,CAA0B,IAAIb,MAAJ,CAAW,MAAMpB,WAAWgC,CAAX,CAAN,GAAsB,GAAjC,EAAsC,GAAtC,CAA1B,CAAd;AACA,UAAInB,KAAJ,EAAW;AACTxD,eAAOyE,QAAP,IAAmBjB,MAAM,CAAN,CAAnB;AACD;AACF,KANI,CAAP;AAOD,GATD;;AAWA;AACA,OAAK9C,IAAI,CAAJ,EAAOC,IAAI,CAAhB,EAAmBD,IAAId,OAAO0E,MAA9B,EAAsC5D,GAAtC,EAA2C;AACzC,QAAId,OAAOiF,MAAP,CAAcnE,CAAd,MAAqB,GAAzB,EAA8B;AAC5B,UAAMoE,aAAa,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgBC,OAAhB,CAAwBnF,OAAOiF,MAAP,CAAcnE,IAAI,CAAlB,CAAxB,CAAnB;AACA,UAAIoE,eAAe,CAAC,CAApB,EAAuB;AACrB,YAAI,CAAC,GAAD,EAAM,IAAN,EAAY,IAAZ,EAAkBC,OAAlB,CAA0BpF,QAAQkF,MAAR,CAAelE,CAAf,CAA1B,MAAiDmE,UAArD,EAAiE;AAC/D;AACA,YAAEpE,CAAF;AACA;AACA,YAAEC,CAAF;AACA;AACD;AACD;AACA,eAAO,KAAP;AACD;AACD,UAAI6D,aAAa5E,OAAOiF,MAAP,CAAcnE,IAAI,CAAlB,CAAjB;AACA,UAAI;AACF,gBAAQ8D,UAAR;AACE,eAAK,GAAL;AACA,eAAK,GAAL;AACE;AACA;AACA7D,gBAAI4D,cAAc5D,CAAd,EAAiB6D,UAAjB,EAA6B,SAA7B,CAAJ;AACA;AACF,eAAK,GAAL;AACA,eAAK,GAAL;AACE;AACA7D,gBAAI4D,cAAc5D,CAAd,EAAiB,GAAjB,EAAsB,QAAtB,CAAJ;AACA;AACAoB;AACA;AACF,eAAK,GAAL;AACE;AACApB,gBAAI4D,cAAc5D,CAAd,EAAiB6D,UAAjB,EAA6B,QAA7B,CAAJ;AACA;AACAzC;AACA;AACF,eAAK,GAAL;AACE;AACA;AACApB,gBAAIiD,SAASjD,CAAT,EAAY,QAAZ,EAEF,UAAUQ,CAAV,EAAa;AACX,kBAAM6D,OAAO,CAACC,SAAS9D,CAAT,EAAY,EAAZ,IAAkB,EAAnB,IAAyB,GAAtC;AACAnB,qBAAOM,OAAP,GAAiB0E,IAAjB;AACAjD;AACA,kBAAI,CAAC/B,OAAOQ,OAAZ,EAAqB;AACnBR,uBAAOQ,OAAP,GAAiB,CAAC,CAAlB;AACD;AACH;AACC,aAVC,CAAJ;AAWA;AACF,eAAK,GAAL;AACA,eAAK,GAAL;AACE;AACAG,gBAAIiD,SAASjD,CAAT,EAAY6D,eAAe,GAAf,GACZ,0BADY,GAEZ,yBAFA,EAGJ,UAAUrD,CAAV,EAAa;AACX,kBAAM+D,WAAWD,SAAS9D,CAAT,EAAY,EAAZ,CAAjB;AACAnB,qBAAOI,OAAP,GAAiB8E,QAAjB;AACA;AACAnD;AACD,aARG,CAAJ;AASA;AACF,eAAK,GAAL;AACE;AACA;AACF,eAAK,GAAL;AACE;AACA;AACF,eAAK,GAAL;AACE;AACApB,gBAAIiD,SAASjD,CAAT,EAAY,mBAAZ,EAAiC,UAAUQ,CAAV,EAAa;AAChD,kBAAMgE,OAAOF,SAAS9D,CAAT,EAAY,EAAZ,CAAb;AACAnB,qBAAOG,OAAP,GAAiBgF,IAAjB;AACA;AACD,aAJG,CAAJ;AAKA;AACF,eAAK,GAAL;AACA,eAAK,GAAL;AACE;AACAxE,gBAAIiD,SAASjD,CAAT,EAAY6D,eAAe,GAAf,GACZ,iBADY,GAEZ,kBAFA,EAGJ,UAAUrD,CAAV,EAAa;AACX,kBAAMgE,OAAOF,SAAS9D,CAAT,EAAY,EAAZ,IAAkB,CAAlB,GAAsBP,UAAnC;AACAZ,qBAAOG,OAAP,GAAiBgF,IAAjB;AACA;AACAtE,yBAAW,IAAX;AACA;AACD,aATG,CAAJ;AAUA;AACF,eAAK,GAAL;AACE;AACAF,gBAAIiD,SAASjD,CAAT,EAAY,2CAAZ,EAAyD,UAAUQ,CAAV,EAAa;AACxE,kBAAMiE,UAAUH,SAAS9D,CAAT,EAAY,EAAZ,IAAkB,CAAlC;AACAnB,qBAAOQ,OAAP,GAAiB4E,OAAjB;AACA;AACA;AACD,aALG,CAAJ;AAMA;AACF,eAAK,GAAL;AACE;AACAzE,gBAAIiD,SAASjD,CAAT,EAAY,kBAAZ,EAAgC,UAAUQ,CAAV,EAAa;AAC/C,kBAAMkE,QAAQJ,SAAS9D,CAAT,EAAY,EAAZ,IAAkB,CAAhC;AACAnB,qBAAOK,MAAP,GAAgBgF,KAAhB;AACA;AACAtD;AACD,aALG,CAAJ;AAMA;AACF,eAAK,GAAL;AACE;AACApB,gBAAIiD,SAASjD,CAAT,EAAY,UAAZ,EAAwB,UAAUQ,CAAV,EAAa;AACvC,kBAAMmE,SAASL,SAAS9D,CAAT,EAAY,EAAZ,CAAf;AACAnB,qBAAOE,MAAP,GAAgBoF,MAAhB;AACF;AACC,aAJG,CAAJ;AAKA;AACF,eAAK,GAAL;AACE;AACA;AACA,mBAAO,KAAP;AACF,eAAK,GAAL;AACE;AACA3E,gBAAIiD,SAASjD,CAAT,EAAY,WAAZ,EAAyB,UAAUQ,CAAV,EAAa;AACxC;AACA;AACAP,2BAAa,IAAI2E,IAAJ,CAASpE,CAAT,IAAc,CAAd,GAAkB,EAA/B;AACA,kBAAIN,QAAJ,EAAc;AACZb,uBAAOG,OAAP,IAAkBS,UAAlB;AACD;AACF,aAPG,CAAJ;AAQA;AACF,eAAK,GAAL;AACE;AACAD,gBAAIiD,SAASjD,CAAT,EAAY,MAAZ,EAAoB,UAAUQ,CAAV,EAAa;AACnC,kBAAMqE,YAAYP,SAAS9D,CAAT,EAAY,EAAZ,CAAlB;AACA,kBAAMsE,OAAO,IAAI9D,IAAJ,CAASA,KAAKC,GAAL,CAAS4D,YAAY,IAArB,CAAT,CAAb;AACA1E,qBAAO2E,IAAP;AACA;AACD,aALG,CAAJ;AAMA;AACF,eAAK,GAAL;AACE;AACA9E,gBAAIiD,SAASjD,CAAT,EAAY,UAAZ,EAAwB;;AAE1B,sBAAUQ,CAAV,EAAa;AACX,kBAAMuE,SAAST,SAAS9D,CAAT,EAAY,EAAZ,CAAf;AACAnB,qBAAOC,MAAP,GAAgByF,MAAhB;AACF;AACC,aANC,CAAJ;AAOA;AACF,eAAK,GAAL;AACA,eAAK,GAAL;AACE;AACA/E,gBAAIiD,SAASjD,CAAT,EAAY,KAAZ,EAAmB,UAAUQ,CAAV,EAAa;AAClCnB,qBAAOO,OAAP,GAAiBY,KAAKqD,eAAe,GAApB,CAAjB;AACA;AACD,aAHG,CAAJ;AAIA;AACF,eAAK,GAAL;AACA,eAAK,GAAL;AACA,eAAK,GAAL;AACE;AACA;AACF,eAAK,GAAL;AACE;AACA;AACA7D,gBAAIiD,SAASjD,CAAT,EAAY,QAAZ,EAEF,UAAUQ,CAAV,EAAa;AACXA,kBAAI8D,SAAS9D,CAAT,EAAY,EAAZ,CAAJ;AACA,kBAAM6D,OAAO7D,KAAK,EAAL,GAAUA,CAAV,GAAcA,IAAI,GAA/B;AACAnB,qBAAOM,OAAP,GAAiB0E,IAAjB;AACAjD;AACA,kBAAI,CAAC/B,OAAOQ,OAAZ,EAAqB;AACnBR,uBAAOQ,OAAP,GAAiB,CAAC,CAAlB;AACD;AACH;AACC,aAXC,CAAJ;AAYA;AACF,eAAK,GAAL;AACE;AACA;AACAG,gBAAIiD,SAASjD,CAAT,EAAY,UAAZ,EAEF,UAAUQ,CAAV,EAAa;AACX,kBAAM6D,OAAQC,SAAS9D,CAAT,EAAY,EAAZ,CAAD,GAAoB,IAAjC;AACAnB,qBAAOM,OAAP,GAAiB0E,IAAjB;AACAjD;AACA,kBAAI,CAAC/B,OAAOQ,OAAZ,EAAqB;AACnBR,uBAAOQ,OAAP,GAAiB,CAAC,CAAlB;AACD;AACH;AACC,aAVC,CAAJ;AAWA;AACF,eAAK,GAAL;AACE;AACA;AACA;AACF,eAAK,GAAL;AACE;AACA;AACF;AACE,kBAAM,IAAI6D,KAAJ,CAAU,iDAAV,CAAN;AA5LJ;AA8LD,OA/LD,CA+LE,OAAOsB,CAAP,EAAU;AACV,YAAIA,MAAM,oBAAV,EAAgC;AAC9B;AACA;AACA,iBAAO,KAAP;AACD;AACD;AACD;AACD,QAAEjF,CAAF;AACD,KAtND,MAsNO,IAAId,OAAOiF,MAAP,CAAcnE,CAAd,MAAqBf,QAAQkF,MAAR,CAAelE,CAAf,CAAzB,EAA4C;AACjD;AACA;;AAEA;AACA,UAAIhB,QAAQkF,MAAR,CAAelE,CAAf,EAAkBiE,MAAlB,CAAyB3C,GAAzB,MAAkC,CAAC,CAAvC,EAA0C;AACxCtB;AACA;AACAD;AACD,OAJD,MAIO,IAAId,OAAOiF,MAAP,CAAcnE,CAAd,EAAiBkE,MAAjB,CAAwB5C,IAAxB,MAAkC,CAAC,CAAvC,EAA0C;AAC/C;AACA;AACA,eAAO,KAAP;AACD;AACD;AACA;AACA;AACD,KAjBM,MAiBA;AACLrB;AACD;AACF;;AAED;AACA;AACAX,SAAOS,QAAP,GAAkBd,QAAQsE,KAAR,CAActD,CAAd,CAAlB;AACA,SAAOX,MAAP;AACD,CA1XD","file":"strptime.js","sourcesContent":["module.exports = function strptime (dateStr, format) {\n // discuss at: https://locutus.io/php/strptime/\n // original by: Brett Zamir (https://brett-zamir.me)\n // original by: strftime\n // example 1: strptime('20091112222135', '%Y%m%d%H%M%S') // Return value will depend on date and locale\n // returns 1: {tm_sec: 35, tm_min: 21, tm_hour: 22, tm_mday: 12, tm_mon: 10, tm_year: 109, tm_wday: 4, tm_yday: 315, unparsed: ''}\n // example 2: strptime('2009extra', '%Y')\n // returns 2: {tm_sec:0, tm_min:0, tm_hour:0, tm_mday:0, tm_mon:0, tm_year:109, tm_wday:3, tm_yday: -1, unparsed: 'extra'}\n\n const setlocale = require('../strings/setlocale')\n const arrayMap = require('../array/array_map')\n\n const retObj = {\n tm_sec: 0,\n tm_min: 0,\n tm_hour: 0,\n tm_mday: 0,\n tm_mon: 0,\n tm_year: 0,\n tm_wday: 0,\n tm_yday: 0,\n unparsed: ''\n }\n let i = 0\n let j = 0\n let amPmOffset = 0\n let prevHour = false\n const _reset = function (dateObj, realMday) {\n // realMday is to allow for a value of 0 in return results (but without\n // messing up the Date() object)\n let jan1\n const o = retObj\n const d = dateObj\n o.tm_sec = d.getUTCSeconds()\n o.tm_min = d.getUTCMinutes()\n o.tm_hour = d.getUTCHours()\n o.tm_mday = realMday === 0 ? realMday : d.getUTCDate()\n o.tm_mon = d.getUTCMonth()\n o.tm_year = d.getUTCFullYear() - 1900\n o.tm_wday = realMday === 0 ? (d.getUTCDay() > 0 ? d.getUTCDay() - 1 : 6) : d.getUTCDay()\n jan1 = new Date(Date.UTC(d.getUTCFullYear(), 0, 1))\n o.tm_yday = Math.ceil((d - jan1) / (1000 * 60 * 60 * 24))\n }\n const _date = function () {\n const o = retObj\n // We set date to at least 1 to ensure year or month doesn't go backwards\n return _reset(new Date(Date.UTC(\n o.tm_year + 1900,\n o.tm_mon,\n o.tm_mday || 1,\n o.tm_hour,\n o.tm_min,\n o.tm_sec\n )),\n o.tm_mday)\n }\n\n const _NWS = /\\S/\n const _WS = /\\s/\n\n const _aggregates = {\n c: 'locale',\n D: '%m/%d/%y',\n F: '%y-%m-%d',\n r: 'locale',\n R: '%H:%M',\n T: '%H:%M:%S',\n x: 'locale',\n X: 'locale'\n }\n\n /* Fix: Locale alternatives are supported though not documented in PHP; see https://linux.die.net/man/3/strptime\n Ec\n EC\n Ex\n EX\n Ey\n EY\n Od or Oe\n OH\n OI\n Om\n OM\n OS\n OU\n Ow\n OW\n Oy\n */\n const _pregQuote = function (str) {\n return (str + '').replace(/([\\\\.+*?[^\\]$(){}=!<>|:])/g, '\\\\$1')\n }\n\n // ensure setup of localization variables takes place\n setlocale('LC_ALL', 0)\n\n const $global = (typeof window !== 'undefined' ? window : global)\n $global.$locutus = $global.$locutus || {}\n const $locutus = $global.$locutus\n const locale = $locutus.php.localeCategories.LC_TIME\n const lcTime = $locutus.php.locales[locale].LC_TIME\n\n // First replace aggregates (run in a loop because an agg may be made up of other aggs)\n while (format.match(/%[cDFhnrRtTxX]/)) {\n format = format.replace(/%([cDFhnrRtTxX])/g, function (m0, m1) {\n const f = _aggregates[m1]\n return (f === 'locale' ? lcTime[m1] : f)\n })\n }\n\n const _addNext = function (j, regex, cb) {\n if (typeof regex === 'string') {\n regex = new RegExp('^' + regex, 'i')\n }\n const check = dateStr.slice(j)\n const match = regex.exec(check)\n // Even if the callback returns null after assigning to the\n // return object, the object won't be saved anyways\n const testNull = match ? cb.apply(null, match) : null\n if (testNull === null) {\n throw new Error('No match in string')\n }\n return j + match[0].length\n }\n\n const _addLocalized = function (j, formatChar, category) {\n // Could make each parenthesized instead and pass index to callback:\n return _addNext(j, arrayMap(_pregQuote, lcTime[formatChar]).join('|'),\n function (m) {\n const match = lcTime[formatChar].search(new RegExp('^' + _pregQuote(m) + '$', 'i'))\n if (match) {\n retObj[category] = match[0]\n }\n })\n }\n\n // BEGIN PROCESSING CHARACTERS\n for (i = 0, j = 0; i < format.length; i++) {\n if (format.charAt(i) === '%') {\n const literalPos = ['%', 'n', 't'].indexOf(format.charAt(i + 1))\n if (literalPos !== -1) {\n if (['%', '\\n', '\\t'].indexOf(dateStr.charAt(j)) === literalPos) {\n // a matched literal\n ++i\n // skip beyond\n ++j\n continue\n }\n // Format indicated a percent literal, but not actually present\n return false\n }\n var formatChar = format.charAt(i + 1)\n try {\n switch (formatChar) {\n case 'a':\n case 'A':\n // Sunday-Saturday\n // Changes nothing else\n j = _addLocalized(j, formatChar, 'tm_wday')\n break\n case 'h':\n case 'b':\n // Jan-Dec\n j = _addLocalized(j, 'b', 'tm_mon')\n // Also changes wday, yday\n _date()\n break\n case 'B':\n // January-December\n j = _addLocalized(j, formatChar, 'tm_mon')\n // Also changes wday, yday\n _date()\n break\n case 'C':\n // 0+; century (19 for 20th)\n // PHP docs say two-digit, but accepts one-digit (two-digit max):\n j = _addNext(j, /^\\d?\\d/,\n\n function (d) {\n const year = (parseInt(d, 10) - 19) * 100\n retObj.tm_year = year\n _date()\n if (!retObj.tm_yday) {\n retObj.tm_yday = -1\n }\n // Also changes wday; and sets yday to -1 (always?)\n })\n break\n case 'd':\n case 'e':\n // 1-31 day\n j = _addNext(j, formatChar === 'd'\n ? /^(0[1-9]|[1-2]\\d|3[0-1])/\n : /^([1-2]\\d|3[0-1]|[1-9])/,\n function (d) {\n const dayMonth = parseInt(d, 10)\n retObj.tm_mday = dayMonth\n // Also changes w_day, y_day\n _date()\n })\n break\n case 'g':\n // No apparent effect; 2-digit year (see 'V')\n break\n case 'G':\n // No apparent effect; 4-digit year (see 'V')'\n break\n case 'H':\n // 00-23 hours\n j = _addNext(j, /^([0-1]\\d|2[0-3])/, function (d) {\n const hour = parseInt(d, 10)\n retObj.tm_hour = hour\n // Changes nothing else\n })\n break\n case 'l':\n case 'I':\n // 01-12 hours\n j = _addNext(j, formatChar === 'l'\n ? /^([1-9]|1[0-2])/\n : /^(0[1-9]|1[0-2])/,\n function (d) {\n const hour = parseInt(d, 10) - 1 + amPmOffset\n retObj.tm_hour = hour\n // Used for coordinating with am-pm\n prevHour = true\n // Changes nothing else, but affected by prior 'p/P'\n })\n break\n case 'j':\n // 001-366 day of year\n j = _addNext(j, /^(00[1-9]|0[1-9]\\d|[1-2]\\d\\d|3[0-6][0-6])/, function (d) {\n const dayYear = parseInt(d, 10) - 1\n retObj.tm_yday = dayYear\n // Changes nothing else\n // (oddly, since if original by a given year, could calculate other fields)\n })\n break\n case 'm':\n // 01-12 month\n j = _addNext(j, /^(0[1-9]|1[0-2])/, function (d) {\n const month = parseInt(d, 10) - 1\n retObj.tm_mon = month\n // Also sets wday and yday\n _date()\n })\n break\n case 'M':\n // 00-59 minutes\n j = _addNext(j, /^[0-5]\\d/, function (d) {\n const minute = parseInt(d, 10)\n retObj.tm_min = minute\n // Changes nothing else\n })\n break\n case 'P':\n // Seems not to work; AM-PM\n // Could make fall-through instead since supposed to be a synonym despite PHP docs\n return false\n case 'p':\n // am-pm\n j = _addNext(j, /^(am|pm)/i, function (d) {\n // No effect on 'H' since already 24 hours but\n // works before or after setting of l/I hour\n amPmOffset = /a/.test(d) ? 0 : 12\n if (prevHour) {\n retObj.tm_hour += amPmOffset\n }\n })\n break\n case 's':\n // Unix timestamp (in seconds)\n j = _addNext(j, /^\\d+/, function (d) {\n const timestamp = parseInt(d, 10)\n const date = new Date(Date.UTC(timestamp * 1000))\n _reset(date)\n // Affects all fields, but can't be negative (and initial + not allowed)\n })\n break\n case 'S':\n // 00-59 seconds\n j = _addNext(j, /^[0-5]\\d/, // strptime also accepts 60-61 for some reason\n\n function (d) {\n const second = parseInt(d, 10)\n retObj.tm_sec = second\n // Changes nothing else\n })\n break\n case 'u':\n case 'w':\n // 0 (Sunday)-6(Saturday)\n j = _addNext(j, /^\\d/, function (d) {\n retObj.tm_wday = d - (formatChar === 'u')\n // Changes nothing else apparently\n })\n break\n case 'U':\n case 'V':\n case 'W':\n // Apparently ignored (week of year, from 1st Monday)\n break\n case 'y':\n // 69 (or higher) for 1969+, 68 (or lower) for 2068-\n // PHP docs say two-digit, but accepts one-digit (two-digit max):\n j = _addNext(j, /^\\d?\\d/,\n\n function (d) {\n d = parseInt(d, 10)\n const year = d >= 69 ? d : d + 100\n retObj.tm_year = year\n _date()\n if (!retObj.tm_yday) {\n retObj.tm_yday = -1\n }\n // Also changes wday; and sets yday to -1 (always?)\n })\n break\n case 'Y':\n // 2010 (4-digit year)\n // PHP docs say four-digit, but accepts one-digit (four-digit max):\n j = _addNext(j, /^\\d{1,4}/,\n\n function (d) {\n const year = (parseInt(d, 10)) - 1900\n retObj.tm_year = year\n _date()\n if (!retObj.tm_yday) {\n retObj.tm_yday = -1\n }\n // Also changes wday; and sets yday to -1 (always?)\n })\n break\n case 'z':\n // Timezone; on my system, strftime gives -0800,\n // but strptime seems not to alter hour setting\n break\n case 'Z':\n // Timezone; on my system, strftime gives PST, but strptime treats text as unparsed\n break\n default:\n throw new Error('Unrecognized formatting character in strptime()')\n }\n } catch (e) {\n if (e === 'No match in string') {\n // Allow us to exit\n // There was supposed to be a matching format but there wasn't\n return false\n }\n // Calculate skipping beyond initial percent too\n }\n ++i\n } else if (format.charAt(i) !== dateStr.charAt(j)) {\n // If extra whitespace at beginning or end of either, or between formats, no problem\n // (just a problem when between % and format specifier)\n\n // If the string has white-space, it is ok to ignore\n if (dateStr.charAt(j).search(_WS) !== -1) {\n j++\n // Let the next iteration try again with the same format character\n i--\n } else if (format.charAt(i).search(_NWS) !== -1) {\n // Any extra formatting characters besides white-space causes\n // problems (do check after WS though, as may just be WS in string before next character)\n return false\n }\n // Extra WS in format\n // Adjust strings when encounter non-matching whitespace, so they align in future checks above\n // Will check on next iteration (against same (non-WS) string character)\n } else {\n j++\n }\n }\n\n // POST-PROCESSING\n // Will also get extra whitespace; empty string if none\n retObj.unparsed = dateStr.slice(j)\n return retObj\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/php/datetime/strptime.js"],"names":["module","exports","strptime","dateStr","format","setlocale","require","arrayMap","retObj","tm_sec","tm_min","tm_hour","tm_mday","tm_mon","tm_year","tm_wday","tm_yday","unparsed","i","j","amPmOffset","prevHour","_reset","dateObj","realMday","jan1","o","d","getUTCSeconds","getUTCMinutes","getUTCHours","getUTCDate","getUTCMonth","getUTCFullYear","getUTCDay","Date","UTC","Math","ceil","_date","_NWS","_WS","_aggregates","c","D","F","r","R","T","x","X","_pregQuote","str","replace","$global","window","global","$locutus","locale","php","localeCategories","LC_TIME","lcTime","locales","match","m0","m1","f","_addNext","regex","cb","RegExp","check","slice","exec","testNull","apply","Error","length","_addLocalized","formatChar","category","join","m","search","charAt","literalPos","indexOf","year","parseInt","dayMonth","hour","dayYear","month","minute","test","timestamp","date","second","e"],"mappings":"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","file":"strptime.js","sourcesContent":["module.exports = function strptime(dateStr, format) {\n // discuss at: https://locutus.io/php/strptime/\n // original by: Brett Zamir (https://brett-zamir.me)\n // original by: strftime\n // example 1: strptime('20091112222135', '%Y%m%d%H%M%S') // Return value will depend on date and locale\n // returns 1: {tm_sec: 35, tm_min: 21, tm_hour: 22, tm_mday: 12, tm_mon: 10, tm_year: 109, tm_wday: 4, tm_yday: 315, unparsed: ''}\n // example 2: strptime('2009extra', '%Y')\n // returns 2: {tm_sec:0, tm_min:0, tm_hour:0, tm_mday:0, tm_mon:0, tm_year:109, tm_wday:3, tm_yday: -1, unparsed: 'extra'}\n\n const setlocale = require('../strings/setlocale')\n const arrayMap = require('../array/array_map')\n\n const retObj = {\n tm_sec: 0,\n tm_min: 0,\n tm_hour: 0,\n tm_mday: 0,\n tm_mon: 0,\n tm_year: 0,\n tm_wday: 0,\n tm_yday: 0,\n unparsed: '',\n }\n let i = 0\n let j = 0\n let amPmOffset = 0\n let prevHour = false\n const _reset = function (dateObj, realMday) {\n // realMday is to allow for a value of 0 in return results (but without\n // messing up the Date() object)\n let jan1\n const o = retObj\n const d = dateObj\n o.tm_sec = d.getUTCSeconds()\n o.tm_min = d.getUTCMinutes()\n o.tm_hour = d.getUTCHours()\n o.tm_mday = realMday === 0 ? realMday : d.getUTCDate()\n o.tm_mon = d.getUTCMonth()\n o.tm_year = d.getUTCFullYear() - 1900\n o.tm_wday = realMday === 0 ? (d.getUTCDay() > 0 ? d.getUTCDay() - 1 : 6) : d.getUTCDay()\n jan1 = new Date(Date.UTC(d.getUTCFullYear(), 0, 1))\n o.tm_yday = Math.ceil((d - jan1) / (1000 * 60 * 60 * 24))\n }\n const _date = function () {\n const o = retObj\n // We set date to at least 1 to ensure year or month doesn't go backwards\n return _reset(\n new Date(Date.UTC(o.tm_year + 1900, o.tm_mon, o.tm_mday || 1, o.tm_hour, o.tm_min, o.tm_sec)),\n o.tm_mday,\n )\n }\n\n const _NWS = /\\S/\n const _WS = /\\s/\n\n const _aggregates = {\n c: 'locale',\n D: '%m/%d/%y',\n F: '%y-%m-%d',\n r: 'locale',\n R: '%H:%M',\n T: '%H:%M:%S',\n x: 'locale',\n X: 'locale',\n }\n\n /* Fix: Locale alternatives are supported though not documented in PHP; see https://linux.die.net/man/3/strptime\n Ec\n EC\n Ex\n EX\n Ey\n EY\n Od or Oe\n OH\n OI\n Om\n OM\n OS\n OU\n Ow\n OW\n Oy\n */\n const _pregQuote = function (str) {\n return (str + '').replace(/([\\\\.+*?[^\\]$(){}=!<>|:])/g, '\\\\$1')\n }\n\n // ensure setup of localization variables takes place\n setlocale('LC_ALL', 0)\n\n const $global = typeof window !== 'undefined' ? window : global\n $global.$locutus = $global.$locutus || {}\n const $locutus = $global.$locutus\n const locale = $locutus.php.localeCategories.LC_TIME\n const lcTime = $locutus.php.locales[locale].LC_TIME\n\n // First replace aggregates (run in a loop because an agg may be made up of other aggs)\n while (format.match(/%[cDFhnrRtTxX]/)) {\n format = format.replace(/%([cDFhnrRtTxX])/g, function (m0, m1) {\n const f = _aggregates[m1]\n return f === 'locale' ? lcTime[m1] : f\n })\n }\n\n const _addNext = function (j, regex, cb) {\n if (typeof regex === 'string') {\n regex = new RegExp('^' + regex, 'i')\n }\n const check = dateStr.slice(j)\n const match = regex.exec(check)\n // Even if the callback returns null after assigning to the\n // return object, the object won't be saved anyways\n const testNull = match ? cb.apply(null, match) : null\n if (testNull === null) {\n throw new Error('No match in string')\n }\n return j + match[0].length\n }\n\n const _addLocalized = function (j, formatChar, category) {\n // Could make each parenthesized instead and pass index to callback:\n return _addNext(j, arrayMap(_pregQuote, lcTime[formatChar]).join('|'), function (m) {\n const match = lcTime[formatChar].search(new RegExp('^' + _pregQuote(m) + '$', 'i'))\n if (match) {\n retObj[category] = match[0]\n }\n })\n }\n\n // BEGIN PROCESSING CHARACTERS\n for (i = 0, j = 0; i < format.length; i++) {\n if (format.charAt(i) === '%') {\n const literalPos = ['%', 'n', 't'].indexOf(format.charAt(i + 1))\n if (literalPos !== -1) {\n if (['%', '\\n', '\\t'].indexOf(dateStr.charAt(j)) === literalPos) {\n // a matched literal\n ++i\n // skip beyond\n ++j\n continue\n }\n // Format indicated a percent literal, but not actually present\n return false\n }\n var formatChar = format.charAt(i + 1)\n try {\n switch (formatChar) {\n case 'a':\n case 'A':\n // Sunday-Saturday\n // Changes nothing else\n j = _addLocalized(j, formatChar, 'tm_wday')\n break\n case 'h':\n case 'b':\n // Jan-Dec\n j = _addLocalized(j, 'b', 'tm_mon')\n // Also changes wday, yday\n _date()\n break\n case 'B':\n // January-December\n j = _addLocalized(j, formatChar, 'tm_mon')\n // Also changes wday, yday\n _date()\n break\n case 'C':\n // 0+; century (19 for 20th)\n // PHP docs say two-digit, but accepts one-digit (two-digit max):\n j = _addNext(\n j,\n /^\\d?\\d/,\n\n function (d) {\n const year = (parseInt(d, 10) - 19) * 100\n retObj.tm_year = year\n _date()\n if (!retObj.tm_yday) {\n retObj.tm_yday = -1\n }\n // Also changes wday; and sets yday to -1 (always?)\n },\n )\n break\n case 'd':\n case 'e':\n // 1-31 day\n j = _addNext(j, formatChar === 'd' ? /^(0[1-9]|[1-2]\\d|3[0-1])/ : /^([1-2]\\d|3[0-1]|[1-9])/, function (d) {\n const dayMonth = parseInt(d, 10)\n retObj.tm_mday = dayMonth\n // Also changes w_day, y_day\n _date()\n })\n break\n case 'g':\n // No apparent effect; 2-digit year (see 'V')\n break\n case 'G':\n // No apparent effect; 4-digit year (see 'V')'\n break\n case 'H':\n // 00-23 hours\n j = _addNext(j, /^([0-1]\\d|2[0-3])/, function (d) {\n const hour = parseInt(d, 10)\n retObj.tm_hour = hour\n // Changes nothing else\n })\n break\n case 'l':\n case 'I':\n // 01-12 hours\n j = _addNext(j, formatChar === 'l' ? /^([1-9]|1[0-2])/ : /^(0[1-9]|1[0-2])/, function (d) {\n const hour = parseInt(d, 10) - 1 + amPmOffset\n retObj.tm_hour = hour\n // Used for coordinating with am-pm\n prevHour = true\n // Changes nothing else, but affected by prior 'p/P'\n })\n break\n case 'j':\n // 001-366 day of year\n j = _addNext(j, /^(00[1-9]|0[1-9]\\d|[1-2]\\d\\d|3[0-6][0-6])/, function (d) {\n const dayYear = parseInt(d, 10) - 1\n retObj.tm_yday = dayYear\n // Changes nothing else\n // (oddly, since if original by a given year, could calculate other fields)\n })\n break\n case 'm':\n // 01-12 month\n j = _addNext(j, /^(0[1-9]|1[0-2])/, function (d) {\n const month = parseInt(d, 10) - 1\n retObj.tm_mon = month\n // Also sets wday and yday\n _date()\n })\n break\n case 'M':\n // 00-59 minutes\n j = _addNext(j, /^[0-5]\\d/, function (d) {\n const minute = parseInt(d, 10)\n retObj.tm_min = minute\n // Changes nothing else\n })\n break\n case 'P':\n // Seems not to work; AM-PM\n // Could make fall-through instead since supposed to be a synonym despite PHP docs\n return false\n case 'p':\n // am-pm\n j = _addNext(j, /^(am|pm)/i, function (d) {\n // No effect on 'H' since already 24 hours but\n // works before or after setting of l/I hour\n amPmOffset = /a/.test(d) ? 0 : 12\n if (prevHour) {\n retObj.tm_hour += amPmOffset\n }\n })\n break\n case 's':\n // Unix timestamp (in seconds)\n j = _addNext(j, /^\\d+/, function (d) {\n const timestamp = parseInt(d, 10)\n const date = new Date(Date.UTC(timestamp * 1000))\n _reset(date)\n // Affects all fields, but can't be negative (and initial + not allowed)\n })\n break\n case 'S':\n // 00-59 seconds\n j = _addNext(\n j,\n /^[0-5]\\d/, // strptime also accepts 60-61 for some reason\n\n function (d) {\n const second = parseInt(d, 10)\n retObj.tm_sec = second\n // Changes nothing else\n },\n )\n break\n case 'u':\n case 'w':\n // 0 (Sunday)-6(Saturday)\n j = _addNext(j, /^\\d/, function (d) {\n retObj.tm_wday = d - (formatChar === 'u')\n // Changes nothing else apparently\n })\n break\n case 'U':\n case 'V':\n case 'W':\n // Apparently ignored (week of year, from 1st Monday)\n break\n case 'y':\n // 69 (or higher) for 1969+, 68 (or lower) for 2068-\n // PHP docs say two-digit, but accepts one-digit (two-digit max):\n j = _addNext(\n j,\n /^\\d?\\d/,\n\n function (d) {\n d = parseInt(d, 10)\n const year = d >= 69 ? d : d + 100\n retObj.tm_year = year\n _date()\n if (!retObj.tm_yday) {\n retObj.tm_yday = -1\n }\n // Also changes wday; and sets yday to -1 (always?)\n },\n )\n break\n case 'Y':\n // 2010 (4-digit year)\n // PHP docs say four-digit, but accepts one-digit (four-digit max):\n j = _addNext(\n j,\n /^\\d{1,4}/,\n\n function (d) {\n const year = parseInt(d, 10) - 1900\n retObj.tm_year = year\n _date()\n if (!retObj.tm_yday) {\n retObj.tm_yday = -1\n }\n // Also changes wday; and sets yday to -1 (always?)\n },\n )\n break\n case 'z':\n // Timezone; on my system, strftime gives -0800,\n // but strptime seems not to alter hour setting\n break\n case 'Z':\n // Timezone; on my system, strftime gives PST, but strptime treats text as unparsed\n break\n default:\n throw new Error('Unrecognized formatting character in strptime()')\n }\n } catch (e) {\n if (e === 'No match in string') {\n // Allow us to exit\n // There was supposed to be a matching format but there wasn't\n return false\n }\n // Calculate skipping beyond initial percent too\n }\n ++i\n } else if (format.charAt(i) !== dateStr.charAt(j)) {\n // If extra whitespace at beginning or end of either, or between formats, no problem\n // (just a problem when between % and format specifier)\n\n // If the string has white-space, it is ok to ignore\n if (dateStr.charAt(j).search(_WS) !== -1) {\n j++\n // Let the next iteration try again with the same format character\n i--\n } else if (format.charAt(i).search(_NWS) !== -1) {\n // Any extra formatting characters besides white-space causes\n // problems (do check after WS though, as may just be WS in string before next character)\n return false\n }\n // Extra WS in format\n // Adjust strings when encounter non-matching whitespace, so they align in future checks above\n // Will check on next iteration (against same (non-WS) string character)\n } else {\n j++\n }\n }\n\n // POST-PROCESSING\n // Will also get extra whitespace; empty string if none\n retObj.unparsed = dateStr.slice(j)\n return retObj\n}\n"]}
|
|
@@ -783,13 +783,20 @@ var formats = {
|
|
|
783
783
|
case 'years':
|
|
784
784
|
this.ry += amount;
|
|
785
785
|
break;
|
|
786
|
-
case 'mon':
|
|
787
|
-
case '
|
|
788
|
-
case '
|
|
789
|
-
case '
|
|
790
|
-
case '
|
|
791
|
-
case '
|
|
792
|
-
case '
|
|
786
|
+
case 'mon':
|
|
787
|
+
case 'monday':
|
|
788
|
+
case 'tue':
|
|
789
|
+
case 'tuesday':
|
|
790
|
+
case 'wed':
|
|
791
|
+
case 'wednesday':
|
|
792
|
+
case 'thu':
|
|
793
|
+
case 'thursday':
|
|
794
|
+
case 'fri':
|
|
795
|
+
case 'friday':
|
|
796
|
+
case 'sat':
|
|
797
|
+
case 'saturday':
|
|
798
|
+
case 'sun':
|
|
799
|
+
case 'sunday':
|
|
793
800
|
this.resetTime();
|
|
794
801
|
this.weekday = lookupWeekday(relUnit, 7);
|
|
795
802
|
this.weekdayBehavior = 1;
|
|
@@ -850,13 +857,20 @@ var formats = {
|
|
|
850
857
|
case 'years':
|
|
851
858
|
this.ry += amount;
|
|
852
859
|
break;
|
|
853
|
-
case 'mon':
|
|
854
|
-
case '
|
|
855
|
-
case '
|
|
856
|
-
case '
|
|
857
|
-
case '
|
|
858
|
-
case '
|
|
859
|
-
case '
|
|
860
|
+
case 'mon':
|
|
861
|
+
case 'monday':
|
|
862
|
+
case 'tue':
|
|
863
|
+
case 'tuesday':
|
|
864
|
+
case 'wed':
|
|
865
|
+
case 'wednesday':
|
|
866
|
+
case 'thu':
|
|
867
|
+
case 'thursday':
|
|
868
|
+
case 'fri':
|
|
869
|
+
case 'friday':
|
|
870
|
+
case 'sat':
|
|
871
|
+
case 'saturday':
|
|
872
|
+
case 'sun':
|
|
873
|
+
case 'sunday':
|
|
860
874
|
this.resetTime();
|
|
861
875
|
this.weekday = lookupWeekday(relUnit, 7);
|
|
862
876
|
this.weekdayBehavior = 1;
|