structured-outputs 0.1.0-beta.6 → 0.1.0-beta.8
Sign up to get free protection for your applications and to get access to all the features.
- package/esm/_dnt.polyfills.d.ts +19 -0
- package/esm/_dnt.polyfills.d.ts.map +1 -0
- package/esm/_dnt.polyfills.js +124 -0
- package/esm/_dnt.polyfills.js.map +1 -0
- package/esm/_dnt.shims.d.ts +6 -0
- package/esm/_dnt.shims.d.ts.map +1 -0
- package/esm/_dnt.shims.js +62 -0
- package/esm/_dnt.shims.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/almost_equals.d.ts +29 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/almost_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/almost_equals.js +47 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/almost_equals.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/array_includes.d.ts +24 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/array_includes.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/array_includes.js +47 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/array_includes.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/assert.d.ts +16 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/assert.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/assert.js +23 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/assert.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/assertion_error.d.ts +26 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/assertion_error.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/assertion_error.js +31 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/assertion_error.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/equal.d.ts +17 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/equal.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/equal.js +137 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/equal.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/equals.d.ts +22 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/equals.js +46 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/equals.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/exists.d.ts +18 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/exists.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/exists.js +28 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/exists.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/fail.d.ts +15 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/fail.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/fail.js +21 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/fail.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/false.d.ts +18 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/false.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/false.js +23 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/false.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/greater.d.ts +20 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/greater.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/greater.js +30 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/greater.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/greater_or_equal.d.ts +20 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/greater_or_equal.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/greater_or_equal.js +30 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/greater_or_equal.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/instance_of.d.ts +23 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/instance_of.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/instance_of.js +53 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/instance_of.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/is_error.d.ts +25 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/is_error.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/is_error.js +54 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/is_error.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/less.d.ts +19 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/less.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/less.js +29 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/less.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/less_or_equal.d.ts +20 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/less_or_equal.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/less_or_equal.js +30 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/less_or_equal.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/match.d.ts +18 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/match.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/match.js +27 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/match.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/mod.d.ts +44 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/mod.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/mod.js +46 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/mod.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/not_equals.d.ts +21 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/not_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/not_equals.js +33 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/not_equals.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/not_instance_of.d.ts +20 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/not_instance_of.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/not_instance_of.js +30 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/not_instance_of.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/not_match.d.ts +18 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/not_match.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/not_match.js +27 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/not_match.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.d.ts +23 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.js +33 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/object_match.d.ts +28 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/object_match.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/object_match.js +160 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/object_match.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/rejects.d.ts +42 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/rejects.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/rejects.js +54 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/rejects.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/strict_equals.d.ts +24 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/strict_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/strict_equals.js +58 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/strict_equals.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/string_includes.d.ts +18 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/string_includes.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/string_includes.js +27 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/string_includes.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/throws.d.ts +45 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/throws.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/throws.js +45 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/throws.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/unimplemented.d.ts +15 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/unimplemented.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/unimplemented.js +21 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/unimplemented.js.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/unreachable.d.ts +15 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/unreachable.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/unreachable.js +21 -0
- package/esm/deps/jsr.io/@std/assert/1.0.6/unreachable.js.map +1 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/_data.d.ts +9 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/_data.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/_data.js +18 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/_data.js.map +1 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/_run_length.d.ts +9 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/_run_length.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/_run_length.js +35 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/_run_length.js.map +1 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/mod.d.ts +18 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/mod.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/mod.js +19 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/mod.js.map +1 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/parse_args.d.ts +229 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/parse_args.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/parse_args.js +306 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/parse_args.js.map +1 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/prompt_secret.d.ts +28 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/prompt_secret.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/prompt_secret.js +87 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/prompt_secret.js.map +1 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/unicode_width.d.ts +40 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/unicode_width.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/unicode_width.js +75 -0
- package/esm/deps/jsr.io/@std/cli/1.0.6/unicode_width.js.map +1 -0
- package/esm/deps/jsr.io/@std/dotenv/0.225.2/load.d.ts +2 -0
- package/esm/deps/jsr.io/@std/dotenv/0.225.2/load.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/dotenv/0.225.2/load.js +11 -0
- package/esm/deps/jsr.io/@std/dotenv/0.225.2/load.js.map +1 -0
- package/esm/deps/jsr.io/@std/dotenv/0.225.2/mod.d.ts +164 -0
- package/esm/deps/jsr.io/@std/dotenv/0.225.2/mod.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/dotenv/0.225.2/mod.js +213 -0
- package/esm/deps/jsr.io/@std/dotenv/0.225.2/mod.js.map +1 -0
- package/esm/deps/jsr.io/@std/dotenv/0.225.2/parse.d.ts +19 -0
- package/esm/deps/jsr.io/@std/dotenv/0.225.2/parse.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/dotenv/0.225.2/parse.js +75 -0
- package/esm/deps/jsr.io/@std/dotenv/0.225.2/parse.js.map +1 -0
- package/esm/deps/jsr.io/@std/dotenv/0.225.2/stringify.d.ts +17 -0
- package/esm/deps/jsr.io/@std/dotenv/0.225.2/stringify.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/dotenv/0.225.2/stringify.js +45 -0
- package/esm/deps/jsr.io/@std/dotenv/0.225.2/stringify.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_create_walk_entry.d.ts +14 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_create_walk_entry.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_create_walk_entry.js +35 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_create_walk_entry.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_get_file_info_type.d.ts +13 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_get_file_info_type.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_get_file_info_type.js +19 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_get_file_info_type.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_is_same_path.d.ts +10 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_is_same_path.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_is_same_path.js +18 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_is_same_path.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_is_subdir.d.ts +12 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_is_subdir.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_is_subdir.js +26 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_is_subdir.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_to_path_string.d.ts +9 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_to_path_string.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_to_path_string.js +14 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/_to_path_string.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/copy.d.ts +117 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/copy.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/copy.js +315 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/copy.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/empty_dir.d.ts +48 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/empty_dir.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/empty_dir.js +88 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/empty_dir.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/ensure_dir.d.ts +49 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/ensure_dir.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/ensure_dir.js +103 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/ensure_dir.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/ensure_file.d.ts +47 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/ensure_file.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/ensure_file.js +91 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/ensure_file.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/ensure_link.d.ts +49 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/ensure_link.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/ensure_link.js +62 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/ensure_link.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/ensure_symlink.d.ts +52 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/ensure_symlink.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/ensure_symlink.js +122 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/ensure_symlink.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/eol.d.ts +52 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/eol.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/eol.js +67 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/eol.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/exists.d.ts +218 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/exists.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/exists.js +272 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/exists.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/expand_glob.d.ts +267 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/expand_glob.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/expand_glob.js +417 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/expand_glob.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/mod.d.ts +29 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/mod.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/mod.js +30 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/mod.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/move.d.ts +86 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/move.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/move.js +142 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/move.js.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/walk.d.ts +777 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/walk.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/walk.js +847 -0
- package/esm/deps/jsr.io/@std/fs/1.0.5/walk.js.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/build_message.d.ts +82 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/build_message.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/build_message.js +111 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/build_message.js.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/diff.d.ts +140 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/diff.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/diff.js +277 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/diff.js.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/diff_str.d.ts +99 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/diff_str.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/diff_str.js +180 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/diff_str.js.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/format.d.ts +2 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/format.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/format.js +38 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/format.js.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/styles.d.ts +159 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/styles.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/styles.js +208 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/styles.js.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/types.d.ts +16 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/types.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/types.js +3 -0
- package/esm/deps/jsr.io/@std/internal/1.0.4/types.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/assert_path.d.ts +2 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/assert_path.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/assert_path.js +8 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/assert_path.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/basename.d.ts +4 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/basename.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/basename.js +41 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/basename.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/common.d.ts +2 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/common.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/common.js +24 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/common.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/constants.d.ts +40 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/constants.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/constants.js +47 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/constants.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/dirname.d.ts +2 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/dirname.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/dirname.js +9 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/dirname.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/format.d.ts +4 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/format.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/format.js +20 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/format.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/from_file_url.d.ts +2 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/from_file_url.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/from_file_url.js +10 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/from_file_url.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/glob_to_reg_exp.d.ts +35 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/glob_to_reg_exp.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/glob_to_reg_exp.js +235 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/glob_to_reg_exp.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/normalize.d.ts +2 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/normalize.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/normalize.js +9 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/normalize.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/normalize_string.d.ts +2 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/normalize_string.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/normalize_string.js +78 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/normalize_string.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/relative.d.ts +2 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/relative.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/relative.js +10 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/relative.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/strip_trailing_separators.d.ts +2 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/strip_trailing_separators.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/strip_trailing_separators.js +20 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/strip_trailing_separators.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/to_file_url.d.ts +2 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/to_file_url.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/to_file_url.js +16 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_common/to_file_url.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_os.d.ts +2 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_os.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_os.js +10 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/_os.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/basename.d.ts +28 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/basename.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/basename.js +37 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/basename.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/common.d.ts +28 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/common.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/common.js +34 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/common.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/constants.d.ts +15 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/constants.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/constants.js +18 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/constants.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/dirname.d.ts +23 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/dirname.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/dirname.js +30 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/dirname.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/extname.d.ts +23 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/extname.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/extname.js +30 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/extname.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/format.d.ts +22 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/format.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/format.js +28 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/format.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/from_file_url.d.ts +22 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/from_file_url.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/from_file_url.js +29 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/from_file_url.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/glob_to_regexp.d.ts +77 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/glob_to_regexp.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/glob_to_regexp.js +84 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/glob_to_regexp.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/is_absolute.d.ts +22 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/is_absolute.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/is_absolute.js +29 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/is_absolute.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/is_glob.d.ts +17 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/is_glob.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/is_glob.js +43 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/is_glob.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/join.d.ts +23 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/join.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/join.js +30 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/join.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/join_globs.d.ts +28 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/join_globs.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/join_globs.js +35 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/join_globs.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/mod.d.ts +54 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/mod.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/mod.js +58 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/mod.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/normalize.d.ts +27 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/normalize.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/normalize.js +34 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/normalize.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/normalize_glob.d.ts +29 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/normalize_glob.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/normalize_glob.js +36 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/normalize_glob.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/parse.d.ts +35 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/parse.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/parse.js +40 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/parse.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/_util.d.ts +2 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/_util.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/_util.js +9 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/_util.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/basename.d.ts +40 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/basename.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/basename.js +50 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/basename.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/constants.d.ts +13 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/constants.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/constants.js +15 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/constants.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/dirname.d.ts +32 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/dirname.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/dirname.js +63 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/dirname.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/extname.d.ts +37 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/extname.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/extname.js +90 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/extname.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/format.d.ts +24 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/format.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/format.js +29 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/format.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/from_file_url.d.ts +16 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/from_file_url.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/from_file_url.js +22 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/from_file_url.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/glob_to_regexp.d.ts +72 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/glob_to_regexp.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/glob_to_regexp.js +83 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/glob_to_regexp.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/is_absolute.d.ts +17 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/is_absolute.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/is_absolute.js +24 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/is_absolute.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/join.d.ts +33 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/join.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/join.js +43 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/join.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/join_globs.d.ts +20 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/join_globs.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/join_globs.js +40 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/join_globs.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/normalize.d.ts +40 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/normalize.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/normalize.js +58 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/normalize.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/normalize_glob.d.ts +20 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/normalize_glob.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/normalize_glob.js +32 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/normalize_glob.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/parse.d.ts +25 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/parse.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/parse.js +116 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/parse.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/relative.d.ts +20 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/relative.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/relative.js +107 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/relative.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/resolve.d.ts +17 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/resolve.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/resolve.js +60 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/resolve.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/to_file_url.d.ts +17 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/to_file_url.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/to_file_url.js +28 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/to_file_url.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/to_namespaced_path.d.ts +16 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/to_namespaced_path.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/to_namespaced_path.js +21 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/posix/to_namespaced_path.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/relative.d.ts +24 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/relative.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/relative.js +31 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/relative.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/resolve.d.ts +22 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/resolve.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/resolve.js +31 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/resolve.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/to_file_url.d.ts +22 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/to_file_url.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/to_file_url.js +29 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/to_file_url.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/to_namespaced_path.d.ts +21 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/to_namespaced_path.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/to_namespaced_path.js +30 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/to_namespaced_path.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/types.d.ts +38 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/types.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/types.js +4 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/types.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/_util.d.ts +4 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/_util.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/_util.js +16 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/_util.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/basename.d.ts +23 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/basename.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/basename.js +45 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/basename.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/constants.d.ts +13 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/constants.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/constants.js +15 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/constants.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/dirname.d.ts +20 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/dirname.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/dirname.js +113 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/dirname.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/extname.d.ts +20 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/extname.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/extname.js +82 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/extname.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/format.d.ts +24 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/format.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/format.js +29 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/format.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/from_file_url.d.ts +18 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/from_file_url.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/from_file_url.js +31 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/from_file_url.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/glob_to_regexp.d.ts +71 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/glob_to_regexp.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/glob_to_regexp.js +83 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/glob_to_regexp.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/is_absolute.d.ts +17 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/is_absolute.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/is_absolute.js +39 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/is_absolute.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/join.d.ts +20 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/join.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/join.js +75 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/join.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/join_globs.d.ts +21 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/join_globs.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/join_globs.js +41 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/join_globs.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/normalize.d.ts +22 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/normalize.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/normalize.js +135 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/normalize.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/normalize_glob.d.ts +20 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/normalize_glob.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/normalize_glob.js +32 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/normalize_glob.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/parse.d.ts +25 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/parse.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/parse.js +177 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/parse.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/relative.d.ts +23 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/relative.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/relative.js +132 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/relative.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/resolve.d.ts +17 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/resolve.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/resolve.js +155 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/resolve.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/to_file_url.d.ts +17 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/to_file_url.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/to_file_url.js +35 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/to_file_url.js.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/to_namespaced_path.d.ts +17 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/to_namespaced_path.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/to_namespaced_path.js +50 -0
- package/esm/deps/jsr.io/@std/path/1.0.7/windows/to_namespaced_path.js.map +1 -0
- package/esm/main.d.ts +4 -0
- package/esm/main.d.ts.map +1 -0
- package/esm/main.js +80 -0
- package/esm/main.js.map +1 -0
- package/esm/mod.d.ts +1 -0
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +1 -0
- package/esm/mod.js.map +1 -1
- package/esm/util/displayCompletion.d.ts +3 -0
- package/esm/util/displayCompletion.d.ts.map +1 -0
- package/esm/util/displayCompletion.js +9 -0
- package/esm/util/displayCompletion.js.map +1 -0
- package/package.json +7 -2
- package/src/_dnt.polyfills.ts +172 -0
- package/src/_dnt.shims.ts +64 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/almost_equals.ts +55 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/array_includes.ts +57 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/assert.ts +23 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/assertion_error.ts +31 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/equal.ts +152 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/equals.ts +52 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/exists.ts +31 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/fail.ts +21 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/false.ts +26 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/greater.ts +30 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/greater_or_equal.ts +36 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/instance_of.ts +64 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/is_error.ts +65 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/less.ts +29 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/less_or_equal.ts +36 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/match.ts +30 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/mod.ts +47 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/not_equals.ts +36 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/not_instance_of.ts +33 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/not_match.ts +30 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.ts +42 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/object_match.ts +202 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/rejects.ts +123 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/strict_equals.ts +67 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/string_includes.ts +30 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/throws.ts +111 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/unimplemented.ts +21 -0
- package/src/deps/jsr.io/@std/assert/1.0.6/unreachable.ts +21 -0
- package/src/deps/jsr.io/@std/cli/1.0.6/_data.js +17 -0
- package/src/deps/jsr.io/@std/cli/1.0.6/_run_length.ts +41 -0
- package/src/deps/jsr.io/@std/cli/1.0.6/mod.ts +20 -0
- package/src/deps/jsr.io/@std/cli/1.0.6/parse_args.ts +776 -0
- package/src/deps/jsr.io/@std/cli/1.0.6/prompt_secret.ts +102 -0
- package/src/deps/jsr.io/@std/cli/1.0.6/unicode_width.ts +79 -0
- package/src/deps/jsr.io/@std/dotenv/0.225.2/load.ts +14 -0
- package/src/deps/jsr.io/@std/dotenv/0.225.2/mod.ts +251 -0
- package/src/deps/jsr.io/@std/dotenv/0.225.2/parse.ts +113 -0
- package/src/deps/jsr.io/@std/dotenv/0.225.2/stringify.ts +47 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/_create_walk_entry.ts +47 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/_get_file_info_type.ts +25 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/_is_same_path.ts +23 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/_is_subdir.ts +34 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/_to_path_string.ts +17 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/copy.ts +413 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/empty_dir.ts +91 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/ensure_dir.ts +110 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/ensure_file.ts +100 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/ensure_link.ts +66 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/ensure_symlink.ts +145 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/eol.ts +74 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/exists.ts +316 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/expand_glob.ts +538 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/mod.ts +31 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/move.ts +171 -0
- package/src/deps/jsr.io/@std/fs/1.0.5/walk.ts +956 -0
- package/src/deps/jsr.io/@std/internal/1.0.4/build_message.ts +134 -0
- package/src/deps/jsr.io/@std/internal/1.0.4/diff.ts +317 -0
- package/src/deps/jsr.io/@std/internal/1.0.4/diff_str.ts +204 -0
- package/src/deps/jsr.io/@std/internal/1.0.4/format.ts +39 -0
- package/src/deps/jsr.io/@std/internal/1.0.4/styles.ts +233 -0
- package/src/deps/jsr.io/@std/internal/1.0.4/types.ts +18 -0
- package/src/deps/jsr.io/@std/path/1.0.7/_common/assert_path.ts +10 -0
- package/src/deps/jsr.io/@std/path/1.0.7/_common/basename.ts +53 -0
- package/src/deps/jsr.io/@std/path/1.0.7/_common/common.ts +26 -0
- package/src/deps/jsr.io/@std/path/1.0.7/_common/constants.ts +49 -0
- package/src/deps/jsr.io/@std/path/1.0.7/_common/dirname.ts +9 -0
- package/src/deps/jsr.io/@std/path/1.0.7/_common/format.ts +25 -0
- package/src/deps/jsr.io/@std/path/1.0.7/_common/from_file_url.ts +12 -0
- package/src/deps/jsr.io/@std/path/1.0.7/_common/glob_to_reg_exp.ts +290 -0
- package/src/deps/jsr.io/@std/path/1.0.7/_common/normalize.ts +9 -0
- package/src/deps/jsr.io/@std/path/1.0.7/_common/normalize_string.ts +74 -0
- package/src/deps/jsr.io/@std/path/1.0.7/_common/relative.ts +10 -0
- package/src/deps/jsr.io/@std/path/1.0.7/_common/strip_trailing_separators.ts +25 -0
- package/src/deps/jsr.io/@std/path/1.0.7/_common/to_file_url.ts +17 -0
- package/src/deps/jsr.io/@std/path/1.0.7/_os.ts +12 -0
- package/src/deps/jsr.io/@std/path/1.0.7/basename.ts +38 -0
- package/src/deps/jsr.io/@std/path/1.0.7/common.ts +35 -0
- package/src/deps/jsr.io/@std/path/1.0.7/constants.ts +18 -0
- package/src/deps/jsr.io/@std/path/1.0.7/dirname.ts +31 -0
- package/src/deps/jsr.io/@std/path/1.0.7/extname.ts +30 -0
- package/src/deps/jsr.io/@std/path/1.0.7/format.ts +30 -0
- package/src/deps/jsr.io/@std/path/1.0.7/from_file_url.ts +30 -0
- package/src/deps/jsr.io/@std/path/1.0.7/glob_to_regexp.ts +94 -0
- package/src/deps/jsr.io/@std/path/1.0.7/is_absolute.ts +30 -0
- package/src/deps/jsr.io/@std/path/1.0.7/is_glob.ts +49 -0
- package/src/deps/jsr.io/@std/path/1.0.7/join.ts +31 -0
- package/src/deps/jsr.io/@std/path/1.0.7/join_globs.ts +42 -0
- package/src/deps/jsr.io/@std/path/1.0.7/mod.ts +58 -0
- package/src/deps/jsr.io/@std/path/1.0.7/normalize.ts +34 -0
- package/src/deps/jsr.io/@std/path/1.0.7/normalize_glob.ts +45 -0
- package/src/deps/jsr.io/@std/path/1.0.7/parse.ts +44 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/_util.ts +10 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/basename.ts +59 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/constants.ts +15 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/dirname.ts +70 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/extname.ts +92 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/format.ts +31 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/from_file_url.ts +25 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/glob_to_regexp.ts +94 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/is_absolute.ts +25 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/join.ts +43 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/join_globs.ts +44 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/normalize.ts +62 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/normalize_glob.ts +42 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/parse.ts +121 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/relative.ts +103 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/resolve.ts +71 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/to_file_url.ts +32 -0
- package/src/deps/jsr.io/@std/path/1.0.7/posix/to_namespaced_path.ts +21 -0
- package/src/deps/jsr.io/@std/path/1.0.7/relative.ts +32 -0
- package/src/deps/jsr.io/@std/path/1.0.7/resolve.ts +32 -0
- package/src/deps/jsr.io/@std/path/1.0.7/to_file_url.ts +30 -0
- package/src/deps/jsr.io/@std/path/1.0.7/to_namespaced_path.ts +31 -0
- package/src/deps/jsr.io/@std/path/1.0.7/types.ts +40 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/_util.ts +28 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/basename.ts +51 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/constants.ts +15 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/dirname.ts +117 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/extname.ts +89 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/format.ts +31 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/from_file_url.ts +34 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/glob_to_regexp.ts +92 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/is_absolute.ts +40 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/join.ts +75 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/join_globs.ts +45 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/normalize.ts +135 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/normalize_glob.ts +42 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/parse.ts +184 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/relative.ts +128 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/resolve.ts +178 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/to_file_url.ts +38 -0
- package/src/deps/jsr.io/@std/path/1.0.7/windows/to_namespaced_path.ts +60 -0
- package/src/main.ts +106 -0
- package/src/mod.ts +2 -0
- package/src/util/displayCompletion.ts +12 -0
@@ -0,0 +1,92 @@
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
+
// This module is browser compatible.
|
3
|
+
|
4
|
+
import { CHAR_DOT } from "../_common/constants.js";
|
5
|
+
import { assertPath } from "../_common/assert_path.js";
|
6
|
+
import { isPosixPathSeparator } from "./_util.js";
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Return the extension of the `path` with leading period.
|
10
|
+
*
|
11
|
+
* @example Usage
|
12
|
+
* ```ts
|
13
|
+
* import { extname } from "@std/path/posix/extname";
|
14
|
+
* import { assertEquals } from "@std/assert";
|
15
|
+
*
|
16
|
+
* assertEquals(extname("/home/user/Documents/file.ts"), ".ts");
|
17
|
+
* assertEquals(extname("/home/user/Documents/"), "");
|
18
|
+
* assertEquals(extname("/home/user/Documents/image.png"), ".png");
|
19
|
+
* ```
|
20
|
+
*
|
21
|
+
* @example Working with URLs
|
22
|
+
*
|
23
|
+
* Note: This function doesn't automatically strip hash and query parts from
|
24
|
+
* URLs. If your URL contains a hash or query, remove them before passing the
|
25
|
+
* URL to the function. This can be done by passing the URL to `new URL(url)`,
|
26
|
+
* and setting the `hash` and `search` properties to empty strings.
|
27
|
+
*
|
28
|
+
* ```ts
|
29
|
+
* import { extname } from "@std/path/posix/extname";
|
30
|
+
* import { assertEquals } from "@std/assert";
|
31
|
+
*
|
32
|
+
* assertEquals(extname("https://deno.land/std/path/mod.ts"), ".ts");
|
33
|
+
* assertEquals(extname("https://deno.land/std/path/mod.ts?a=b"), ".ts?a=b");
|
34
|
+
* assertEquals(extname("https://deno.land/std/path/mod.ts#header"), ".ts#header");
|
35
|
+
* ```
|
36
|
+
*
|
37
|
+
* Note: If you are working with file URLs,
|
38
|
+
* use the new version of `extname` from `@std/path/posix/unstable-extname`.
|
39
|
+
*
|
40
|
+
* @param path The path to get the extension from.
|
41
|
+
* @returns The extension (ex. for `file.ts` returns `.ts`).
|
42
|
+
*/
|
43
|
+
export function extname(path: string): string {
|
44
|
+
assertPath(path);
|
45
|
+
|
46
|
+
let startDot = -1;
|
47
|
+
let startPart = 0;
|
48
|
+
let end = -1;
|
49
|
+
let matchedSlash = true;
|
50
|
+
// Track the state of characters (if any) we see before our first dot and
|
51
|
+
// after any path separator we find
|
52
|
+
let preDotState = 0;
|
53
|
+
for (let i = path.length - 1; i >= 0; --i) {
|
54
|
+
const code = path.charCodeAt(i);
|
55
|
+
if (isPosixPathSeparator(code)) {
|
56
|
+
// If we reached a path separator that was not part of a set of path
|
57
|
+
// separators at the end of the string, stop now
|
58
|
+
if (!matchedSlash) {
|
59
|
+
startPart = i + 1;
|
60
|
+
break;
|
61
|
+
}
|
62
|
+
continue;
|
63
|
+
}
|
64
|
+
if (end === -1) {
|
65
|
+
// We saw the first non-path separator, mark this as the end of our
|
66
|
+
// extension
|
67
|
+
matchedSlash = false;
|
68
|
+
end = i + 1;
|
69
|
+
}
|
70
|
+
if (code === CHAR_DOT) {
|
71
|
+
// If this is our first dot, mark it as the start of our extension
|
72
|
+
if (startDot === -1) startDot = i;
|
73
|
+
else if (preDotState !== 1) preDotState = 1;
|
74
|
+
} else if (startDot !== -1) {
|
75
|
+
// We saw a non-dot and non-path separator before our dot, so we should
|
76
|
+
// have a good chance at having a non-empty extension
|
77
|
+
preDotState = -1;
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
if (
|
82
|
+
startDot === -1 ||
|
83
|
+
end === -1 ||
|
84
|
+
// We saw a non-dot character immediately before the dot
|
85
|
+
preDotState === 0 ||
|
86
|
+
// The (right-most) trimmed path component is exactly '..'
|
87
|
+
(preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)
|
88
|
+
) {
|
89
|
+
return "";
|
90
|
+
}
|
91
|
+
return path.slice(startDot, end);
|
92
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
+
// This module is browser compatible.
|
3
|
+
|
4
|
+
import { _format, assertArg } from "../_common/format.js";
|
5
|
+
import type { ParsedPath } from "../types.js";
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Generate a path from `ParsedPath` object.
|
9
|
+
*
|
10
|
+
* @example Usage
|
11
|
+
* ```ts
|
12
|
+
* import { format } from "@std/path/posix/format";
|
13
|
+
* import { assertEquals } from "@std/assert";
|
14
|
+
*
|
15
|
+
* const path = format({
|
16
|
+
* root: "/",
|
17
|
+
* dir: "/path/dir",
|
18
|
+
* base: "file.txt",
|
19
|
+
* ext: ".txt",
|
20
|
+
* name: "file"
|
21
|
+
* });
|
22
|
+
* assertEquals(path, "/path/dir/file.txt");
|
23
|
+
* ```
|
24
|
+
*
|
25
|
+
* @param pathObject The path object to format.
|
26
|
+
* @returns The formatted path.
|
27
|
+
*/
|
28
|
+
export function format(pathObject: Partial<ParsedPath>): string {
|
29
|
+
assertArg(pathObject);
|
30
|
+
return _format("/", pathObject);
|
31
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
+
// This module is browser compatible.
|
3
|
+
|
4
|
+
import { assertArg } from "../_common/from_file_url.js";
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Converts a file URL to a path string.
|
8
|
+
*
|
9
|
+
* @example Usage
|
10
|
+
* ```ts
|
11
|
+
* import { fromFileUrl } from "@std/path/posix/from-file-url";
|
12
|
+
* import { assertEquals } from "@std/assert";
|
13
|
+
*
|
14
|
+
* assertEquals(fromFileUrl(new URL("file:///home/foo")), "/home/foo");
|
15
|
+
* ```
|
16
|
+
*
|
17
|
+
* @param url The file URL to convert.
|
18
|
+
* @returns The path string.
|
19
|
+
*/
|
20
|
+
export function fromFileUrl(url: URL | string): string {
|
21
|
+
url = assertArg(url);
|
22
|
+
return decodeURIComponent(
|
23
|
+
url.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"),
|
24
|
+
);
|
25
|
+
}
|
@@ -0,0 +1,94 @@
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
+
// This module is browser compatible.
|
3
|
+
|
4
|
+
import {
|
5
|
+
_globToRegExp,
|
6
|
+
type GlobConstants,
|
7
|
+
type GlobOptions,
|
8
|
+
} from "../_common/glob_to_reg_exp.js";
|
9
|
+
|
10
|
+
export type { GlobOptions };
|
11
|
+
|
12
|
+
const constants: GlobConstants = {
|
13
|
+
sep: "/+",
|
14
|
+
sepMaybe: "/*",
|
15
|
+
seps: ["/"],
|
16
|
+
globstar: "(?:[^/]*(?:/|$)+)*",
|
17
|
+
wildcard: "[^/]*",
|
18
|
+
escapePrefix: "\\",
|
19
|
+
};
|
20
|
+
|
21
|
+
/** Convert a glob string to a regular expression.
|
22
|
+
*
|
23
|
+
* Tries to match bash glob expansion as closely as possible.
|
24
|
+
*
|
25
|
+
* Basic glob syntax:
|
26
|
+
* - `*` - Matches everything without leaving the path segment.
|
27
|
+
* - `?` - Matches any single character.
|
28
|
+
* - `{foo,bar}` - Matches `foo` or `bar`.
|
29
|
+
* - `[abcd]` - Matches `a`, `b`, `c` or `d`.
|
30
|
+
* - `[a-d]` - Matches `a`, `b`, `c` or `d`.
|
31
|
+
* - `[!abcd]` - Matches any single character besides `a`, `b`, `c` or `d`.
|
32
|
+
* - `[[:<class>:]]` - Matches any character belonging to `<class>`.
|
33
|
+
* - `[[:alnum:]]` - Matches any digit or letter.
|
34
|
+
* - `[[:digit:]abc]` - Matches any digit, `a`, `b` or `c`.
|
35
|
+
* - See https://facelessuser.github.io/wcmatch/glob/#posix-character-classes
|
36
|
+
* for a complete list of supported character classes.
|
37
|
+
* - `\` - Escapes the next character for an `os` other than `"windows"`.
|
38
|
+
* - \` - Escapes the next character for `os` set to `"windows"`.
|
39
|
+
* - `/` - Path separator.
|
40
|
+
* - `\` - Additional path separator only for `os` set to `"windows"`.
|
41
|
+
*
|
42
|
+
* Extended syntax:
|
43
|
+
* - Requires `{ extended: true }`.
|
44
|
+
* - `?(foo|bar)` - Matches 0 or 1 instance of `{foo,bar}`.
|
45
|
+
* - `@(foo|bar)` - Matches 1 instance of `{foo,bar}`. They behave the same.
|
46
|
+
* - `*(foo|bar)` - Matches _n_ instances of `{foo,bar}`.
|
47
|
+
* - `+(foo|bar)` - Matches _n > 0_ instances of `{foo,bar}`.
|
48
|
+
* - `!(foo|bar)` - Matches anything other than `{foo,bar}`.
|
49
|
+
* - See https://www.linuxjournal.com/content/bash-extended-globbing.
|
50
|
+
*
|
51
|
+
* Globstar syntax:
|
52
|
+
* - Requires `{ globstar: true }`.
|
53
|
+
* - `**` - Matches any number of any path segments.
|
54
|
+
* - Must comprise its entire path segment in the provided glob.
|
55
|
+
* - See https://www.linuxjournal.com/content/globstar-new-bash-globbing-option.
|
56
|
+
*
|
57
|
+
* Note the following properties:
|
58
|
+
* - The generated `RegExp` is anchored at both start and end.
|
59
|
+
* - Repeating and trailing separators are tolerated. Trailing separators in the
|
60
|
+
* provided glob have no meaning and are discarded.
|
61
|
+
* - Absolute globs will only match absolute paths, etc.
|
62
|
+
* - Empty globs will match nothing.
|
63
|
+
* - Any special glob syntax must be contained to one path segment. For example,
|
64
|
+
* `?(foo|bar/baz)` is invalid. The separator will take precedence and the
|
65
|
+
* first segment ends with an unclosed group.
|
66
|
+
* - If a path segment ends with unclosed groups or a dangling escape prefix, a
|
67
|
+
* parse error has occurred. Every character for that segment is taken
|
68
|
+
* literally in this event.
|
69
|
+
*
|
70
|
+
* Limitations:
|
71
|
+
* - A negative group like `!(foo|bar)` will wrongly be converted to a negative
|
72
|
+
* look-ahead followed by a wildcard. This means that `!(foo).js` will wrongly
|
73
|
+
* fail to match `foobar.js`, even though `foobar` is not `foo`. Effectively,
|
74
|
+
* `!(foo|bar)` is treated like `!(@(foo|bar)*)`. This will work correctly if
|
75
|
+
* the group occurs not nested at the end of the segment.
|
76
|
+
*
|
77
|
+
* @example Usage
|
78
|
+
* ```ts
|
79
|
+
* import { globToRegExp } from "@std/path/posix/glob-to-regexp";
|
80
|
+
* import { assertEquals } from "@std/assert";
|
81
|
+
*
|
82
|
+
* assertEquals(globToRegExp("*.js"), /^[^/]*\.js\/*$/);
|
83
|
+
* ```
|
84
|
+
*
|
85
|
+
* @param glob Glob string to convert.
|
86
|
+
* @param options Conversion options.
|
87
|
+
* @returns The regular expression equivalent to the glob.
|
88
|
+
*/
|
89
|
+
export function globToRegExp(
|
90
|
+
glob: string,
|
91
|
+
options: GlobOptions = {},
|
92
|
+
): RegExp {
|
93
|
+
return _globToRegExp(constants, glob, options);
|
94
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
+
// This module is browser compatible.
|
3
|
+
|
4
|
+
import { assertPath } from "../_common/assert_path.js";
|
5
|
+
import { isPosixPathSeparator } from "./_util.js";
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Verifies whether provided path is absolute.
|
9
|
+
*
|
10
|
+
* @example Usage
|
11
|
+
* ```ts
|
12
|
+
* import { isAbsolute } from "@std/path/posix/is-absolute";
|
13
|
+
* import { assert, assertFalse } from "@std/assert";
|
14
|
+
*
|
15
|
+
* assert(isAbsolute("/home/user/Documents/"));
|
16
|
+
* assertFalse(isAbsolute("home/user/Documents/"));
|
17
|
+
* ```
|
18
|
+
*
|
19
|
+
* @param path The path to verify.
|
20
|
+
* @returns Whether the path is absolute.
|
21
|
+
*/
|
22
|
+
export function isAbsolute(path: string): boolean {
|
23
|
+
assertPath(path);
|
24
|
+
return path.length > 0 && isPosixPathSeparator(path.charCodeAt(0));
|
25
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
+
// This module is browser compatible.
|
3
|
+
|
4
|
+
import { assertPath } from "../_common/assert_path.js";
|
5
|
+
import { normalize } from "./normalize.js";
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Join all given a sequence of `paths`,then normalizes the resulting path.
|
9
|
+
*
|
10
|
+
* @example Usage
|
11
|
+
* ```ts
|
12
|
+
* import { join } from "@std/path/posix/join";
|
13
|
+
* import { assertEquals } from "@std/assert";
|
14
|
+
*
|
15
|
+
* const path = join("/foo", "bar", "baz/asdf", "quux", "..");
|
16
|
+
* assertEquals(path, "/foo/bar/baz/asdf");
|
17
|
+
* ```
|
18
|
+
*
|
19
|
+
* @example Working with URLs
|
20
|
+
* ```ts
|
21
|
+
* import { join } from "@std/path/posix/join";
|
22
|
+
* import { assertEquals } from "@std/assert";
|
23
|
+
*
|
24
|
+
* const url = new URL("https://deno.land");
|
25
|
+
* url.pathname = join("std", "path", "mod.ts");
|
26
|
+
* assertEquals(url.href, "https://deno.land/std/path/mod.ts");
|
27
|
+
*
|
28
|
+
* url.pathname = join("//std", "path/", "/mod.ts");
|
29
|
+
* assertEquals(url.href, "https://deno.land/std/path/mod.ts");
|
30
|
+
* ```
|
31
|
+
*
|
32
|
+
* Note: If you are working with file URLs,
|
33
|
+
* use the new version of `join` from `@std/path/posix/unstable-join`.
|
34
|
+
*
|
35
|
+
* @param paths The paths to join.
|
36
|
+
* @returns The joined path.
|
37
|
+
*/
|
38
|
+
export function join(...paths: string[]): string {
|
39
|
+
if (paths.length === 0) return ".";
|
40
|
+
paths.forEach((path) => assertPath(path));
|
41
|
+
const joined = paths.filter((path) => path.length > 0).join("/");
|
42
|
+
return joined === "" ? "." : normalize(joined);
|
43
|
+
}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
+
// This module is browser compatible.
|
3
|
+
|
4
|
+
import type { GlobOptions } from "../_common/glob_to_reg_exp.js";
|
5
|
+
import { join } from "./join.js";
|
6
|
+
import { SEPARATOR } from "./constants.js";
|
7
|
+
import { normalizeGlob } from "./normalize_glob.js";
|
8
|
+
|
9
|
+
export type { GlobOptions };
|
10
|
+
|
11
|
+
/**
|
12
|
+
* Like join(), but doesn't collapse "**\/.." when `globstar` is true.
|
13
|
+
*
|
14
|
+
* @example Usage
|
15
|
+
* ```ts
|
16
|
+
* import { joinGlobs } from "@std/path/posix/join-globs";
|
17
|
+
* import { assertEquals } from "@std/assert";
|
18
|
+
*
|
19
|
+
* const path = joinGlobs(["foo", "bar", "**"], { globstar: true });
|
20
|
+
* assertEquals(path, "foo/bar/**");
|
21
|
+
* ```
|
22
|
+
*
|
23
|
+
* @param globs The globs to join.
|
24
|
+
* @param options The options to use.
|
25
|
+
* @returns The joined path.
|
26
|
+
*/
|
27
|
+
export function joinGlobs(
|
28
|
+
globs: string[],
|
29
|
+
{ extended = true, globstar = false }: GlobOptions = {},
|
30
|
+
): string {
|
31
|
+
if (!globstar || globs.length === 0) {
|
32
|
+
return join(...globs);
|
33
|
+
}
|
34
|
+
let joined: string | undefined;
|
35
|
+
for (const glob of globs) {
|
36
|
+
const path = glob;
|
37
|
+
if (path.length > 0) {
|
38
|
+
if (!joined) joined = path;
|
39
|
+
else joined += `${SEPARATOR}${path}`;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
if (!joined) return ".";
|
43
|
+
return normalizeGlob(joined, { extended, globstar });
|
44
|
+
}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
+
// This module is browser compatible.
|
3
|
+
|
4
|
+
import { assertArg } from "../_common/normalize.js";
|
5
|
+
import { normalizeString } from "../_common/normalize_string.js";
|
6
|
+
import { isPosixPathSeparator } from "./_util.js";
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Normalize the `path`, resolving `'..'` and `'.'` segments.
|
10
|
+
* Note that resolving these segments does not necessarily mean that all will be eliminated.
|
11
|
+
* A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`.
|
12
|
+
*
|
13
|
+
* @example Usage
|
14
|
+
* ```ts
|
15
|
+
* import { normalize } from "@std/path/posix/normalize";
|
16
|
+
* import { assertEquals } from "@std/assert";
|
17
|
+
*
|
18
|
+
* const path = normalize("/foo/bar//baz/asdf/quux/..");
|
19
|
+
* assertEquals(path, "/foo/bar/baz/asdf");
|
20
|
+
* ```
|
21
|
+
*
|
22
|
+
* @example Working with URLs
|
23
|
+
*
|
24
|
+
* Note: This function will remove the double slashes from a URL's scheme.
|
25
|
+
* Hence, do not pass a full URL to this function. Instead, pass the pathname of
|
26
|
+
* the URL.
|
27
|
+
*
|
28
|
+
* ```ts
|
29
|
+
* import { normalize } from "@std/path/posix/normalize";
|
30
|
+
* import { assertEquals } from "@std/assert";
|
31
|
+
*
|
32
|
+
* const url = new URL("https://deno.land");
|
33
|
+
* url.pathname = normalize("//std//assert//.//mod.ts");
|
34
|
+
* assertEquals(url.href, "https://deno.land/std/assert/mod.ts");
|
35
|
+
*
|
36
|
+
* url.pathname = normalize("std/assert/../async/retry.ts");
|
37
|
+
* assertEquals(url.href, "https://deno.land/std/async/retry.ts");
|
38
|
+
* ```
|
39
|
+
*
|
40
|
+
* Note: If you are working with file URLs,
|
41
|
+
* use the new version of `normalize` from `@std/path/posix/unstable-normalize`.
|
42
|
+
*
|
43
|
+
* @param path The path to normalize.
|
44
|
+
* @returns The normalized path.
|
45
|
+
*/
|
46
|
+
export function normalize(path: string): string {
|
47
|
+
assertArg(path);
|
48
|
+
|
49
|
+
const isAbsolute = isPosixPathSeparator(path.charCodeAt(0));
|
50
|
+
const trailingSeparator = isPosixPathSeparator(
|
51
|
+
path.charCodeAt(path.length - 1),
|
52
|
+
);
|
53
|
+
|
54
|
+
// Normalize the path
|
55
|
+
path = normalizeString(path, !isAbsolute, "/", isPosixPathSeparator);
|
56
|
+
|
57
|
+
if (path.length === 0 && !isAbsolute) path = ".";
|
58
|
+
if (path.length > 0 && trailingSeparator) path += "/";
|
59
|
+
|
60
|
+
if (isAbsolute) return `/${path}`;
|
61
|
+
return path;
|
62
|
+
}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
+
// This module is browser compatible.
|
3
|
+
|
4
|
+
import type { GlobOptions } from "../_common/glob_to_reg_exp.js";
|
5
|
+
import { normalize } from "./normalize.js";
|
6
|
+
import { SEPARATOR_PATTERN } from "./constants.js";
|
7
|
+
|
8
|
+
export type { GlobOptions };
|
9
|
+
|
10
|
+
/**
|
11
|
+
* Like normalize(), but doesn't collapse "**\/.." when `globstar` is true.
|
12
|
+
*
|
13
|
+
* @example Usage
|
14
|
+
* ```ts
|
15
|
+
* import { normalizeGlob } from "@std/path/posix/normalize-glob";
|
16
|
+
* import { assertEquals } from "@std/assert";
|
17
|
+
*
|
18
|
+
* const path = normalizeGlob("foo/bar/../*", { globstar: true });
|
19
|
+
* assertEquals(path, "foo/*");
|
20
|
+
* ```
|
21
|
+
*
|
22
|
+
* @param glob The glob to normalize.
|
23
|
+
* @param options The options to use.
|
24
|
+
* @returns The normalized path.
|
25
|
+
*/
|
26
|
+
export function normalizeGlob(
|
27
|
+
glob: string,
|
28
|
+
{ globstar = false }: GlobOptions = {},
|
29
|
+
): string {
|
30
|
+
if (glob.match(/\0/g)) {
|
31
|
+
throw new Error(`Glob contains invalid characters: "${glob}"`);
|
32
|
+
}
|
33
|
+
if (!globstar) {
|
34
|
+
return normalize(glob);
|
35
|
+
}
|
36
|
+
const s = SEPARATOR_PATTERN.source;
|
37
|
+
const badParentPattern = new RegExp(
|
38
|
+
`(?<=(${s}|^)\\*\\*${s})\\.\\.(?=${s}|$)`,
|
39
|
+
"g",
|
40
|
+
);
|
41
|
+
return normalize(glob.replace(badParentPattern, "\0")).replace(/\0/g, "..");
|
42
|
+
}
|
@@ -0,0 +1,121 @@
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
+
// This module is browser compatible.
|
3
|
+
|
4
|
+
import { CHAR_DOT } from "../_common/constants.js";
|
5
|
+
import type { ParsedPath } from "../types.js";
|
6
|
+
import { stripTrailingSeparators } from "../_common/strip_trailing_separators.js";
|
7
|
+
import { assertPath } from "../_common/assert_path.js";
|
8
|
+
import { isPosixPathSeparator } from "./_util.js";
|
9
|
+
|
10
|
+
export type { ParsedPath } from "../types.js";
|
11
|
+
|
12
|
+
/**
|
13
|
+
* Return a `ParsedPath` object of the `path`.
|
14
|
+
*
|
15
|
+
* @example Usage
|
16
|
+
* ```ts
|
17
|
+
* import { parse } from "@std/path/posix/parse";
|
18
|
+
* import { assertEquals } from "@std/assert";
|
19
|
+
*
|
20
|
+
* const path = parse("/home/user/file.txt");
|
21
|
+
* assertEquals(path, {
|
22
|
+
* root: "/",
|
23
|
+
* dir: "/home/user",
|
24
|
+
* base: "file.txt",
|
25
|
+
* ext: ".txt",
|
26
|
+
* name: "file"
|
27
|
+
* });
|
28
|
+
* ```
|
29
|
+
*
|
30
|
+
* @param path The path to parse.
|
31
|
+
* @returns The parsed path object.
|
32
|
+
*/
|
33
|
+
export function parse(path: string): ParsedPath {
|
34
|
+
assertPath(path);
|
35
|
+
|
36
|
+
const ret: ParsedPath = { root: "", dir: "", base: "", ext: "", name: "" };
|
37
|
+
if (path.length === 0) return ret;
|
38
|
+
const isAbsolute = isPosixPathSeparator(path.charCodeAt(0));
|
39
|
+
let start: number;
|
40
|
+
if (isAbsolute) {
|
41
|
+
ret.root = "/";
|
42
|
+
start = 1;
|
43
|
+
} else {
|
44
|
+
start = 0;
|
45
|
+
}
|
46
|
+
let startDot = -1;
|
47
|
+
let startPart = 0;
|
48
|
+
let end = -1;
|
49
|
+
let matchedSlash = true;
|
50
|
+
let i = path.length - 1;
|
51
|
+
|
52
|
+
// Track the state of characters (if any) we see before our first dot and
|
53
|
+
// after any path separator we find
|
54
|
+
let preDotState = 0;
|
55
|
+
|
56
|
+
// Get non-dir info
|
57
|
+
for (; i >= start; --i) {
|
58
|
+
const code = path.charCodeAt(i);
|
59
|
+
if (isPosixPathSeparator(code)) {
|
60
|
+
// If we reached a path separator that was not part of a set of path
|
61
|
+
// separators at the end of the string, stop now
|
62
|
+
if (!matchedSlash) {
|
63
|
+
startPart = i + 1;
|
64
|
+
break;
|
65
|
+
}
|
66
|
+
continue;
|
67
|
+
}
|
68
|
+
if (end === -1) {
|
69
|
+
// We saw the first non-path separator, mark this as the end of our
|
70
|
+
// extension
|
71
|
+
matchedSlash = false;
|
72
|
+
end = i + 1;
|
73
|
+
}
|
74
|
+
if (code === CHAR_DOT) {
|
75
|
+
// If this is our first dot, mark it as the start of our extension
|
76
|
+
if (startDot === -1) startDot = i;
|
77
|
+
else if (preDotState !== 1) preDotState = 1;
|
78
|
+
} else if (startDot !== -1) {
|
79
|
+
// We saw a non-dot and non-path separator before our dot, so we should
|
80
|
+
// have a good chance at having a non-empty extension
|
81
|
+
preDotState = -1;
|
82
|
+
}
|
83
|
+
}
|
84
|
+
|
85
|
+
if (
|
86
|
+
startDot === -1 ||
|
87
|
+
end === -1 ||
|
88
|
+
// We saw a non-dot character immediately before the dot
|
89
|
+
preDotState === 0 ||
|
90
|
+
// The (right-most) trimmed path component is exactly '..'
|
91
|
+
(preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)
|
92
|
+
) {
|
93
|
+
if (end !== -1) {
|
94
|
+
if (startPart === 0 && isAbsolute) {
|
95
|
+
ret.base = ret.name = path.slice(1, end);
|
96
|
+
} else {
|
97
|
+
ret.base = ret.name = path.slice(startPart, end);
|
98
|
+
}
|
99
|
+
}
|
100
|
+
// Fallback to '/' in case there is no basename
|
101
|
+
ret.base = ret.base || "/";
|
102
|
+
} else {
|
103
|
+
if (startPart === 0 && isAbsolute) {
|
104
|
+
ret.name = path.slice(1, startDot);
|
105
|
+
ret.base = path.slice(1, end);
|
106
|
+
} else {
|
107
|
+
ret.name = path.slice(startPart, startDot);
|
108
|
+
ret.base = path.slice(startPart, end);
|
109
|
+
}
|
110
|
+
ret.ext = path.slice(startDot, end);
|
111
|
+
}
|
112
|
+
|
113
|
+
if (startPart > 0) {
|
114
|
+
ret.dir = stripTrailingSeparators(
|
115
|
+
path.slice(0, startPart - 1),
|
116
|
+
isPosixPathSeparator,
|
117
|
+
);
|
118
|
+
} else if (isAbsolute) ret.dir = "/";
|
119
|
+
|
120
|
+
return ret;
|
121
|
+
}
|
@@ -0,0 +1,103 @@
|
|
1
|
+
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2
|
+
// This module is browser compatible.
|
3
|
+
|
4
|
+
import { isPosixPathSeparator } from "./_util.js";
|
5
|
+
import { resolve } from "./resolve.js";
|
6
|
+
import { assertArgs } from "../_common/relative.js";
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Return the relative path from `from` to `to` based on current working directory.
|
10
|
+
*
|
11
|
+
* If `from` and `to` are the same, return an empty string.
|
12
|
+
*
|
13
|
+
* @example Usage
|
14
|
+
* ```ts
|
15
|
+
* import { relative } from "@std/path/posix/relative";
|
16
|
+
* import { assertEquals } from "@std/assert";
|
17
|
+
*
|
18
|
+
* const path = relative("/data/orandea/test/aaa", "/data/orandea/impl/bbb");
|
19
|
+
* assertEquals(path, "../../impl/bbb");
|
20
|
+
* ```
|
21
|
+
*
|
22
|
+
* @param from The path to start from.
|
23
|
+
* @param to The path to reach.
|
24
|
+
* @returns The relative path.
|
25
|
+
*/
|
26
|
+
export function relative(from: string, to: string): string {
|
27
|
+
assertArgs(from, to);
|
28
|
+
|
29
|
+
from = resolve(from);
|
30
|
+
to = resolve(to);
|
31
|
+
|
32
|
+
if (from === to) return "";
|
33
|
+
|
34
|
+
// Trim any leading backslashes
|
35
|
+
let fromStart = 1;
|
36
|
+
const fromEnd = from.length;
|
37
|
+
for (; fromStart < fromEnd; ++fromStart) {
|
38
|
+
if (!isPosixPathSeparator(from.charCodeAt(fromStart))) break;
|
39
|
+
}
|
40
|
+
const fromLen = fromEnd - fromStart;
|
41
|
+
|
42
|
+
// Trim any leading backslashes
|
43
|
+
let toStart = 1;
|
44
|
+
const toEnd = to.length;
|
45
|
+
for (; toStart < toEnd; ++toStart) {
|
46
|
+
if (!isPosixPathSeparator(to.charCodeAt(toStart))) break;
|
47
|
+
}
|
48
|
+
const toLen = toEnd - toStart;
|
49
|
+
|
50
|
+
// Compare paths to find the longest common path from root
|
51
|
+
const length = fromLen < toLen ? fromLen : toLen;
|
52
|
+
let lastCommonSep = -1;
|
53
|
+
let i = 0;
|
54
|
+
for (; i <= length; ++i) {
|
55
|
+
if (i === length) {
|
56
|
+
if (toLen > length) {
|
57
|
+
if (isPosixPathSeparator(to.charCodeAt(toStart + i))) {
|
58
|
+
// We get here if `from` is the exact base path for `to`.
|
59
|
+
// For example: from='/foo/bar'; to='/foo/bar/baz'
|
60
|
+
return to.slice(toStart + i + 1);
|
61
|
+
} else if (i === 0) {
|
62
|
+
// We get here if `from` is the root
|
63
|
+
// For example: from='/'; to='/foo'
|
64
|
+
return to.slice(toStart + i);
|
65
|
+
}
|
66
|
+
} else if (fromLen > length) {
|
67
|
+
if (isPosixPathSeparator(from.charCodeAt(fromStart + i))) {
|
68
|
+
// We get here if `to` is the exact base path for `from`.
|
69
|
+
// For example: from='/foo/bar/baz'; to='/foo/bar'
|
70
|
+
lastCommonSep = i;
|
71
|
+
} else if (i === 0) {
|
72
|
+
// We get here if `to` is the root.
|
73
|
+
// For example: from='/foo'; to='/'
|
74
|
+
lastCommonSep = 0;
|
75
|
+
}
|
76
|
+
}
|
77
|
+
break;
|
78
|
+
}
|
79
|
+
const fromCode = from.charCodeAt(fromStart + i);
|
80
|
+
const toCode = to.charCodeAt(toStart + i);
|
81
|
+
if (fromCode !== toCode) break;
|
82
|
+
else if (isPosixPathSeparator(fromCode)) lastCommonSep = i;
|
83
|
+
}
|
84
|
+
|
85
|
+
let out = "";
|
86
|
+
// Generate the relative path based on the path difference between `to`
|
87
|
+
// and `from`
|
88
|
+
for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {
|
89
|
+
if (i === fromEnd || isPosixPathSeparator(from.charCodeAt(i))) {
|
90
|
+
if (out.length === 0) out += "..";
|
91
|
+
else out += "/..";
|
92
|
+
}
|
93
|
+
}
|
94
|
+
|
95
|
+
// Lastly, append the rest of the destination (`to`) path that comes after
|
96
|
+
// the common path parts
|
97
|
+
if (out.length > 0) return out + to.slice(toStart + lastCommonSep);
|
98
|
+
else {
|
99
|
+
toStart += lastCommonSep;
|
100
|
+
if (isPosixPathSeparator(to.charCodeAt(toStart))) ++toStart;
|
101
|
+
return to.slice(toStart);
|
102
|
+
}
|
103
|
+
}
|