playwright-smart-test 0.0.0-stage → 1.0.1
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/LICENSE +21 -0
- package/README.md +270 -2
- package/dist/ai/ai-analyzer.d.ts +17 -0
- package/dist/ai/ai-analyzer.js +224 -0
- package/dist/catalog/test-catalog.d.ts +8 -0
- package/dist/catalog/test-catalog.js +111 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +147 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.js +37 -0
- package/dist/config/schema.d.ts +97 -0
- package/dist/config/schema.js +72 -0
- package/dist/diff/git-diff-analyzer.d.ts +24 -0
- package/dist/diff/git-diff-analyzer.js +105 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -0
- package/dist/reporters/github-reporter.d.ts +5 -0
- package/dist/reporters/github-reporter.js +72 -0
- package/dist/reporters/terminal-reporter.d.ts +5 -0
- package/dist/reporters/terminal-reporter.js +69 -0
- package/dist/runner/playwright-runner.d.ts +7 -0
- package/dist/runner/playwright-runner.js +25 -0
- package/dist/selector/test-selector.d.ts +18 -0
- package/dist/selector/test-selector.js +303 -0
- package/node_modules/@colors/colors/LICENSE +26 -0
- package/node_modules/@colors/colors/README.md +219 -0
- package/node_modules/@colors/colors/examples/normal-usage.js +83 -0
- package/node_modules/@colors/colors/examples/safe-string.js +80 -0
- package/node_modules/@colors/colors/index.d.ts +136 -0
- package/node_modules/@colors/colors/lib/colors.js +211 -0
- package/node_modules/@colors/colors/lib/custom/trap.js +46 -0
- package/node_modules/@colors/colors/lib/custom/zalgo.js +110 -0
- package/node_modules/@colors/colors/lib/extendStringPrototype.js +110 -0
- package/node_modules/@colors/colors/lib/index.js +13 -0
- package/node_modules/@colors/colors/lib/maps/america.js +10 -0
- package/node_modules/@colors/colors/lib/maps/rainbow.js +12 -0
- package/node_modules/@colors/colors/lib/maps/random.js +11 -0
- package/node_modules/@colors/colors/lib/maps/zebra.js +5 -0
- package/node_modules/@colors/colors/lib/styles.js +95 -0
- package/node_modules/@colors/colors/lib/system/has-flag.js +35 -0
- package/node_modules/@colors/colors/lib/system/supports-colors.js +151 -0
- package/node_modules/@colors/colors/package.json +45 -0
- package/node_modules/@colors/colors/safe.d.ts +48 -0
- package/node_modules/@colors/colors/safe.js +10 -0
- package/node_modules/@colors/colors/themes/generic-logging.js +12 -0
- package/node_modules/@google/genai/LICENSE +202 -0
- package/node_modules/@google/genai/README.md +244 -0
- package/node_modules/@google/genai/dist/genai.d.ts +3329 -0
- package/node_modules/@google/genai/dist/index.js +6999 -0
- package/node_modules/@google/genai/dist/index.js.map +1 -0
- package/node_modules/@google/genai/dist/index.mjs +6961 -0
- package/node_modules/@google/genai/dist/index.mjs.map +1 -0
- package/node_modules/@google/genai/dist/node/index.js +7308 -0
- package/node_modules/@google/genai/dist/node/index.js.map +1 -0
- package/node_modules/@google/genai/dist/node/node.d.ts +3334 -0
- package/node_modules/@google/genai/dist/web/index.mjs +7007 -0
- package/node_modules/@google/genai/dist/web/index.mjs.map +1 -0
- package/node_modules/@google/genai/dist/web/web.d.ts +3329 -0
- package/node_modules/@google/genai/node/package.json +4 -0
- package/node_modules/@google/genai/package.json +104 -0
- package/node_modules/@google/genai/web/package.json +4 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/LICENSE.md +55 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/README.md +333 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.d.ts +114 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.js +762 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.js.map +1 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.min.js +3 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.min.js.map +7 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/package.json +3 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/parse-class.d.ts +4 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/parse-class.d.ts.map +1 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/parse-class.js +142 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/parse-class.js.map +1 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.d.ts +114 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.d.ts.map +1 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.js +758 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.js.map +1 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.min.js +3 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.min.js.map +7 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/package.json +3 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/parse-class.d.ts +4 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/parse-class.d.ts.map +1 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/parse-class.js +138 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/parse-class.js.map +1 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/package.json +56 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/src/index.ts +900 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/src/parse-class.ts +158 -0
- package/node_modules/agent-base/LICENSE +22 -0
- package/node_modules/agent-base/README.md +69 -0
- package/node_modules/agent-base/dist/helpers.d.ts +15 -0
- package/node_modules/agent-base/dist/helpers.d.ts.map +1 -0
- package/node_modules/agent-base/dist/helpers.js +66 -0
- package/node_modules/agent-base/dist/helpers.js.map +1 -0
- package/node_modules/agent-base/dist/index.d.ts +41 -0
- package/node_modules/agent-base/dist/index.d.ts.map +1 -0
- package/node_modules/agent-base/dist/index.js +178 -0
- package/node_modules/agent-base/dist/index.js.map +1 -0
- package/node_modules/agent-base/package.json +46 -0
- package/node_modules/ansi-regex/index.d.ts +37 -0
- package/node_modules/ansi-regex/index.js +10 -0
- package/node_modules/ansi-regex/license +9 -0
- package/node_modules/ansi-regex/package.json +55 -0
- package/node_modules/ansi-regex/readme.md +78 -0
- package/node_modules/balanced-match/LICENSE.md +23 -0
- package/node_modules/balanced-match/README.md +57 -0
- package/node_modules/balanced-match/dist/commonjs/index.d.ts +9 -0
- package/node_modules/balanced-match/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/balanced-match/dist/commonjs/index.js +59 -0
- package/node_modules/balanced-match/dist/commonjs/index.js.map +1 -0
- package/node_modules/balanced-match/dist/commonjs/package.json +3 -0
- package/node_modules/balanced-match/dist/esm/index.d.ts +9 -0
- package/node_modules/balanced-match/dist/esm/index.d.ts.map +1 -0
- package/node_modules/balanced-match/dist/esm/index.js +54 -0
- package/node_modules/balanced-match/dist/esm/index.js.map +1 -0
- package/node_modules/balanced-match/dist/esm/package.json +3 -0
- package/node_modules/balanced-match/package.json +68 -0
- package/node_modules/base64-js/LICENSE +21 -0
- package/node_modules/base64-js/README.md +34 -0
- package/node_modules/base64-js/base64js.min.js +1 -0
- package/node_modules/base64-js/index.d.ts +3 -0
- package/node_modules/base64-js/index.js +150 -0
- package/node_modules/base64-js/package.json +47 -0
- package/node_modules/bignumber.js/CHANGELOG.md +381 -0
- package/node_modules/bignumber.js/LICENCE.md +26 -0
- package/node_modules/bignumber.js/README.md +289 -0
- package/node_modules/bignumber.js/bignumber.d.mts +6 -0
- package/node_modules/bignumber.js/bignumber.d.ts +5 -0
- package/node_modules/bignumber.js/bignumber.js +2922 -0
- package/node_modules/bignumber.js/bignumber.mjs +2907 -0
- package/node_modules/bignumber.js/doc/API.html +2249 -0
- package/node_modules/bignumber.js/package.json +60 -0
- package/node_modules/bignumber.js/types.d.ts +1821 -0
- package/node_modules/brace-expansion/LICENSE +23 -0
- package/node_modules/brace-expansion/README.md +105 -0
- package/node_modules/brace-expansion/dist/commonjs/index.d.ts +12 -0
- package/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/brace-expansion/dist/commonjs/index.js +333 -0
- package/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -0
- package/node_modules/brace-expansion/dist/commonjs/package.json +3 -0
- package/node_modules/brace-expansion/dist/esm/index.d.ts +12 -0
- package/node_modules/brace-expansion/dist/esm/index.d.ts.map +1 -0
- package/node_modules/brace-expansion/dist/esm/index.js +329 -0
- package/node_modules/brace-expansion/dist/esm/index.js.map +1 -0
- package/node_modules/brace-expansion/dist/esm/package.json +3 -0
- package/node_modules/brace-expansion/package.json +65 -0
- package/node_modules/buffer-equal-constant-time/.npmignore +2 -0
- package/node_modules/buffer-equal-constant-time/.travis.yml +4 -0
- package/node_modules/buffer-equal-constant-time/LICENSE.txt +12 -0
- package/node_modules/buffer-equal-constant-time/README.md +50 -0
- package/node_modules/buffer-equal-constant-time/index.js +41 -0
- package/node_modules/buffer-equal-constant-time/package.json +21 -0
- package/node_modules/buffer-equal-constant-time/test.js +42 -0
- package/node_modules/cli-table3/LICENSE +21 -0
- package/node_modules/cli-table3/README.md +236 -0
- package/node_modules/cli-table3/index.d.ts +96 -0
- package/node_modules/cli-table3/index.js +1 -0
- package/node_modules/cli-table3/package.json +100 -0
- package/node_modules/cli-table3/src/cell.js +409 -0
- package/node_modules/cli-table3/src/debug.js +28 -0
- package/node_modules/cli-table3/src/layout-manager.js +254 -0
- package/node_modules/cli-table3/src/table.js +106 -0
- package/node_modules/cli-table3/src/utils.js +344 -0
- package/node_modules/commander/LICENSE +22 -0
- package/node_modules/commander/Readme.md +1157 -0
- package/node_modules/commander/esm.mjs +16 -0
- package/node_modules/commander/index.js +24 -0
- package/node_modules/commander/lib/argument.js +149 -0
- package/node_modules/commander/lib/command.js +2509 -0
- package/node_modules/commander/lib/error.js +39 -0
- package/node_modules/commander/lib/help.js +520 -0
- package/node_modules/commander/lib/option.js +330 -0
- package/node_modules/commander/lib/suggestSimilar.js +101 -0
- package/node_modules/commander/package-support.json +16 -0
- package/node_modules/commander/package.json +84 -0
- package/node_modules/commander/typings/esm.d.mts +3 -0
- package/node_modules/commander/typings/index.d.ts +969 -0
- package/node_modules/debug/LICENSE +20 -0
- package/node_modules/debug/README.md +481 -0
- package/node_modules/debug/package.json +64 -0
- package/node_modules/debug/src/browser.js +272 -0
- package/node_modules/debug/src/common.js +292 -0
- package/node_modules/debug/src/index.js +10 -0
- package/node_modules/debug/src/node.js +263 -0
- package/node_modules/dotenv/CHANGELOG.md +520 -0
- package/node_modules/dotenv/LICENSE +23 -0
- package/node_modules/dotenv/README-es.md +411 -0
- package/node_modules/dotenv/README.md +645 -0
- package/node_modules/dotenv/SECURITY.md +1 -0
- package/node_modules/dotenv/config.d.ts +1 -0
- package/node_modules/dotenv/config.js +9 -0
- package/node_modules/dotenv/lib/cli-options.js +17 -0
- package/node_modules/dotenv/lib/env-options.js +28 -0
- package/node_modules/dotenv/lib/main.d.ts +162 -0
- package/node_modules/dotenv/lib/main.js +386 -0
- package/node_modules/dotenv/package.json +62 -0
- package/node_modules/ecdsa-sig-formatter/CODEOWNERS +1 -0
- package/node_modules/ecdsa-sig-formatter/LICENSE +201 -0
- package/node_modules/ecdsa-sig-formatter/README.md +65 -0
- package/node_modules/ecdsa-sig-formatter/package.json +46 -0
- package/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.d.ts +17 -0
- package/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js +187 -0
- package/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js +23 -0
- package/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
- package/node_modules/emoji-regex/README.md +73 -0
- package/node_modules/emoji-regex/es2015/index.js +6 -0
- package/node_modules/emoji-regex/es2015/text.js +6 -0
- package/node_modules/emoji-regex/index.d.ts +23 -0
- package/node_modules/emoji-regex/index.js +6 -0
- package/node_modules/emoji-regex/package.json +50 -0
- package/node_modules/emoji-regex/text.js +6 -0
- package/node_modules/extend/.editorconfig +20 -0
- package/node_modules/extend/.eslintrc +17 -0
- package/node_modules/extend/.jscs.json +175 -0
- package/node_modules/extend/.travis.yml +230 -0
- package/node_modules/extend/CHANGELOG.md +83 -0
- package/node_modules/extend/LICENSE +23 -0
- package/node_modules/extend/README.md +81 -0
- package/node_modules/extend/component.json +32 -0
- package/node_modules/extend/index.js +117 -0
- package/node_modules/extend/package.json +42 -0
- package/node_modules/gaxios/LICENSE +202 -0
- package/node_modules/gaxios/README.md +171 -0
- package/node_modules/gaxios/build/src/common.d.ts +220 -0
- package/node_modules/gaxios/build/src/common.js +172 -0
- package/node_modules/gaxios/build/src/common.js.map +1 -0
- package/node_modules/gaxios/build/src/gaxios.d.ts +51 -0
- package/node_modules/gaxios/build/src/gaxios.js +363 -0
- package/node_modules/gaxios/build/src/gaxios.js.map +1 -0
- package/node_modules/gaxios/build/src/index.d.ts +14 -0
- package/node_modules/gaxios/build/src/index.js +33 -0
- package/node_modules/gaxios/build/src/index.js.map +1 -0
- package/node_modules/gaxios/build/src/retry.d.ts +8 -0
- package/node_modules/gaxios/build/src/retry.js +139 -0
- package/node_modules/gaxios/build/src/retry.js.map +1 -0
- package/node_modules/gaxios/build/src/util.d.ts +4 -0
- package/node_modules/gaxios/build/src/util.js +17 -0
- package/node_modules/gaxios/build/src/util.js.map +1 -0
- package/node_modules/gaxios/package.json +95 -0
- package/node_modules/gcp-metadata/LICENSE +202 -0
- package/node_modules/gcp-metadata/README.md +235 -0
- package/node_modules/gcp-metadata/build/src/gcp-residency.d.ts +57 -0
- package/node_modules/gcp-metadata/build/src/gcp-residency.js +114 -0
- package/node_modules/gcp-metadata/build/src/gcp-residency.js.map +1 -0
- package/node_modules/gcp-metadata/build/src/index.d.ts +156 -0
- package/node_modules/gcp-metadata/build/src/index.js +408 -0
- package/node_modules/gcp-metadata/build/src/index.js.map +1 -0
- package/node_modules/gcp-metadata/package.json +73 -0
- package/node_modules/glob/LICENSE.md +63 -0
- package/node_modules/glob/README.md +1377 -0
- package/node_modules/glob/dist/commonjs/glob.d.ts +405 -0
- package/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -0
- package/node_modules/glob/dist/commonjs/glob.js +241 -0
- package/node_modules/glob/dist/commonjs/glob.js.map +1 -0
- package/node_modules/glob/dist/commonjs/has-magic.d.ts +14 -0
- package/node_modules/glob/dist/commonjs/has-magic.d.ts.map +1 -0
- package/node_modules/glob/dist/commonjs/has-magic.js +24 -0
- package/node_modules/glob/dist/commonjs/has-magic.js.map +1 -0
- package/node_modules/glob/dist/commonjs/ignore.d.ts +36 -0
- package/node_modules/glob/dist/commonjs/ignore.d.ts.map +1 -0
- package/node_modules/glob/dist/commonjs/ignore.js +139 -0
- package/node_modules/glob/dist/commonjs/ignore.js.map +1 -0
- package/node_modules/glob/dist/commonjs/index.d.ts +98 -0
- package/node_modules/glob/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/glob/dist/commonjs/index.js +68 -0
- package/node_modules/glob/dist/commonjs/index.js.map +1 -0
- package/node_modules/glob/dist/commonjs/index.min.js +3 -0
- package/node_modules/glob/dist/commonjs/index.min.js.map +7 -0
- package/node_modules/glob/dist/commonjs/package.json +3 -0
- package/node_modules/glob/dist/commonjs/pattern.d.ts +86 -0
- package/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -0
- package/node_modules/glob/dist/commonjs/pattern.js +235 -0
- package/node_modules/glob/dist/commonjs/pattern.js.map +1 -0
- package/node_modules/glob/dist/commonjs/processor.d.ts +72 -0
- package/node_modules/glob/dist/commonjs/processor.d.ts.map +1 -0
- package/node_modules/glob/dist/commonjs/processor.js +314 -0
- package/node_modules/glob/dist/commonjs/processor.js.map +1 -0
- package/node_modules/glob/dist/commonjs/walker.d.ts +99 -0
- package/node_modules/glob/dist/commonjs/walker.d.ts.map +1 -0
- package/node_modules/glob/dist/commonjs/walker.js +402 -0
- package/node_modules/glob/dist/commonjs/walker.js.map +1 -0
- package/node_modules/glob/dist/esm/glob.d.ts +405 -0
- package/node_modules/glob/dist/esm/glob.d.ts.map +1 -0
- package/node_modules/glob/dist/esm/glob.js +237 -0
- package/node_modules/glob/dist/esm/glob.js.map +1 -0
- package/node_modules/glob/dist/esm/has-magic.d.ts +14 -0
- package/node_modules/glob/dist/esm/has-magic.d.ts.map +1 -0
- package/node_modules/glob/dist/esm/has-magic.js +20 -0
- package/node_modules/glob/dist/esm/has-magic.js.map +1 -0
- package/node_modules/glob/dist/esm/ignore.d.ts +36 -0
- package/node_modules/glob/dist/esm/ignore.d.ts.map +1 -0
- package/node_modules/glob/dist/esm/ignore.js +135 -0
- package/node_modules/glob/dist/esm/ignore.js.map +1 -0
- package/node_modules/glob/dist/esm/index.d.ts +98 -0
- package/node_modules/glob/dist/esm/index.d.ts.map +1 -0
- package/node_modules/glob/dist/esm/index.js +55 -0
- package/node_modules/glob/dist/esm/index.js.map +1 -0
- package/node_modules/glob/dist/esm/index.min.js +3 -0
- package/node_modules/glob/dist/esm/index.min.js.map +7 -0
- package/node_modules/glob/dist/esm/package.json +3 -0
- package/node_modules/glob/dist/esm/pattern.d.ts +86 -0
- package/node_modules/glob/dist/esm/pattern.d.ts.map +1 -0
- package/node_modules/glob/dist/esm/pattern.js +231 -0
- package/node_modules/glob/dist/esm/pattern.js.map +1 -0
- package/node_modules/glob/dist/esm/processor.d.ts +72 -0
- package/node_modules/glob/dist/esm/processor.d.ts.map +1 -0
- package/node_modules/glob/dist/esm/processor.js +307 -0
- package/node_modules/glob/dist/esm/processor.js.map +1 -0
- package/node_modules/glob/dist/esm/walker.d.ts +99 -0
- package/node_modules/glob/dist/esm/walker.d.ts.map +1 -0
- package/node_modules/glob/dist/esm/walker.js +396 -0
- package/node_modules/glob/dist/esm/walker.js.map +1 -0
- package/node_modules/glob/package.json +114 -0
- package/node_modules/glob/src/glob.ts +655 -0
- package/node_modules/glob/src/has-magic.ts +23 -0
- package/node_modules/glob/src/ignore.ts +162 -0
- package/node_modules/glob/src/index.ts +225 -0
- package/node_modules/glob/src/pattern.ts +286 -0
- package/node_modules/glob/src/processor.ts +333 -0
- package/node_modules/glob/src/walker.ts +523 -0
- package/node_modules/google-auth-library/LICENSE +202 -0
- package/node_modules/google-auth-library/README.md +1470 -0
- package/node_modules/google-auth-library/build/src/auth/authclient.d.ts +202 -0
- package/node_modules/google-auth-library/build/src/auth/authclient.js +116 -0
- package/node_modules/google-auth-library/build/src/auth/awsclient.d.ts +120 -0
- package/node_modules/google-auth-library/build/src/auth/awsclient.js +164 -0
- package/node_modules/google-auth-library/build/src/auth/awsrequestsigner.d.ts +40 -0
- package/node_modules/google-auth-library/build/src/auth/awsrequestsigner.js +209 -0
- package/node_modules/google-auth-library/build/src/auth/baseexternalclient.d.ts +322 -0
- package/node_modules/google-auth-library/build/src/auth/baseexternalclient.js +468 -0
- package/node_modules/google-auth-library/build/src/auth/computeclient.d.ts +37 -0
- package/node_modules/google-auth-library/build/src/auth/computeclient.js +117 -0
- package/node_modules/google-auth-library/build/src/auth/credentials.d.ts +75 -0
- package/node_modules/google-auth-library/build/src/auth/credentials.js +15 -0
- package/node_modules/google-auth-library/build/src/auth/defaultawssecuritycredentialssupplier.d.ts +79 -0
- package/node_modules/google-auth-library/build/src/auth/defaultawssecuritycredentialssupplier.js +196 -0
- package/node_modules/google-auth-library/build/src/auth/downscopedclient.d.ts +139 -0
- package/node_modules/google-auth-library/build/src/auth/downscopedclient.js +262 -0
- package/node_modules/google-auth-library/build/src/auth/envDetect.d.ts +10 -0
- package/node_modules/google-auth-library/build/src/auth/envDetect.js +89 -0
- package/node_modules/google-auth-library/build/src/auth/executable-response.d.ts +137 -0
- package/node_modules/google-auth-library/build/src/auth/executable-response.js +146 -0
- package/node_modules/google-auth-library/build/src/auth/externalAccountAuthorizedUserClient.d.ts +78 -0
- package/node_modules/google-auth-library/build/src/auth/externalAccountAuthorizedUserClient.js +239 -0
- package/node_modules/google-auth-library/build/src/auth/externalclient.d.ts +26 -0
- package/node_modules/google-auth-library/build/src/auth/externalclient.js +64 -0
- package/node_modules/google-auth-library/build/src/auth/filesubjecttokensupplier.d.ts +42 -0
- package/node_modules/google-auth-library/build/src/auth/filesubjecttokensupplier.js +81 -0
- package/node_modules/google-auth-library/build/src/auth/googleauth.d.ts +375 -0
- package/node_modules/google-auth-library/build/src/auth/googleauth.js +841 -0
- package/node_modules/google-auth-library/build/src/auth/iam.d.ts +23 -0
- package/node_modules/google-auth-library/build/src/auth/iam.js +41 -0
- package/node_modules/google-auth-library/build/src/auth/identitypoolclient.d.ts +102 -0
- package/node_modules/google-auth-library/build/src/auth/identitypoolclient.js +107 -0
- package/node_modules/google-auth-library/build/src/auth/idtokenclient.d.ts +27 -0
- package/node_modules/google-auth-library/build/src/auth/idtokenclient.js +55 -0
- package/node_modules/google-auth-library/build/src/auth/impersonated.d.ts +127 -0
- package/node_modules/google-auth-library/build/src/auth/impersonated.js +186 -0
- package/node_modules/google-auth-library/build/src/auth/jwtaccess.d.ts +62 -0
- package/node_modules/google-auth-library/build/src/auth/jwtaccess.js +192 -0
- package/node_modules/google-auth-library/build/src/auth/jwtclient.d.ts +117 -0
- package/node_modules/google-auth-library/build/src/auth/jwtclient.js +284 -0
- package/node_modules/google-auth-library/build/src/auth/loginticket.d.ts +140 -0
- package/node_modules/google-auth-library/build/src/auth/loginticket.js +57 -0
- package/node_modules/google-auth-library/build/src/auth/oauth2client.d.ts +575 -0
- package/node_modules/google-auth-library/build/src/auth/oauth2client.js +794 -0
- package/node_modules/google-auth-library/build/src/auth/oauth2common.d.ts +92 -0
- package/node_modules/google-auth-library/build/src/auth/oauth2common.js +192 -0
- package/node_modules/google-auth-library/build/src/auth/passthrough.d.ts +38 -0
- package/node_modules/google-auth-library/build/src/auth/passthrough.js +61 -0
- package/node_modules/google-auth-library/build/src/auth/pluggable-auth-client.d.ts +155 -0
- package/node_modules/google-auth-library/build/src/auth/pluggable-auth-client.js +215 -0
- package/node_modules/google-auth-library/build/src/auth/pluggable-auth-handler.d.ts +51 -0
- package/node_modules/google-auth-library/build/src/auth/pluggable-auth-handler.js +156 -0
- package/node_modules/google-auth-library/build/src/auth/refreshclient.d.ts +50 -0
- package/node_modules/google-auth-library/build/src/auth/refreshclient.js +132 -0
- package/node_modules/google-auth-library/build/src/auth/stscredentials.d.ts +114 -0
- package/node_modules/google-auth-library/build/src/auth/stscredentials.js +109 -0
- package/node_modules/google-auth-library/build/src/auth/urlsubjecttokensupplier.d.ts +57 -0
- package/node_modules/google-auth-library/build/src/auth/urlsubjecttokensupplier.js +63 -0
- package/node_modules/google-auth-library/build/src/crypto/browser/crypto.d.ts +27 -0
- package/node_modules/google-auth-library/build/src/crypto/browser/crypto.js +126 -0
- package/node_modules/google-auth-library/build/src/crypto/crypto.d.ts +44 -0
- package/node_modules/google-auth-library/build/src/crypto/crypto.js +47 -0
- package/node_modules/google-auth-library/build/src/crypto/node/crypto.d.ts +25 -0
- package/node_modules/google-auth-library/build/src/crypto/node/crypto.js +82 -0
- package/node_modules/google-auth-library/build/src/index.d.ts +33 -0
- package/node_modules/google-auth-library/build/src/index.js +68 -0
- package/node_modules/google-auth-library/build/src/messages.d.ts +11 -0
- package/node_modules/google-auth-library/build/src/messages.js +39 -0
- package/node_modules/google-auth-library/build/src/options.d.ts +1 -0
- package/node_modules/google-auth-library/build/src/options.js +34 -0
- package/node_modules/google-auth-library/build/src/transporters.d.ts +40 -0
- package/node_modules/google-auth-library/build/src/transporters.js +110 -0
- package/node_modules/google-auth-library/build/src/util.d.ts +151 -0
- package/node_modules/google-auth-library/build/src/util.js +125 -0
- package/node_modules/google-auth-library/package.json +94 -0
- package/node_modules/google-logging-utils/LICENSE +202 -0
- package/node_modules/google-logging-utils/build/src/colours.d.ts +29 -0
- package/node_modules/google-logging-utils/build/src/colours.js +80 -0
- package/node_modules/google-logging-utils/build/src/colours.js.map +1 -0
- package/node_modules/google-logging-utils/build/src/index.d.ts +1 -0
- package/node_modules/google-logging-utils/build/src/index.js +31 -0
- package/node_modules/google-logging-utils/build/src/index.js.map +1 -0
- package/node_modules/google-logging-utils/build/src/logging-utils.d.ts +222 -0
- package/node_modules/google-logging-utils/build/src/logging-utils.js +406 -0
- package/node_modules/google-logging-utils/build/src/logging-utils.js.map +1 -0
- package/node_modules/google-logging-utils/build/src/temporal.d.ts +45 -0
- package/node_modules/google-logging-utils/build/src/temporal.js +68 -0
- package/node_modules/google-logging-utils/build/src/temporal.js.map +1 -0
- package/node_modules/google-logging-utils/package.json +39 -0
- package/node_modules/gtoken/LICENSE +21 -0
- package/node_modules/gtoken/README.md +187 -0
- package/node_modules/gtoken/build/src/index.d.ts +93 -0
- package/node_modules/gtoken/build/src/index.js +276 -0
- package/node_modules/gtoken/package.json +62 -0
- package/node_modules/https-proxy-agent/LICENSE +22 -0
- package/node_modules/https-proxy-agent/README.md +70 -0
- package/node_modules/https-proxy-agent/dist/index.d.ts +47 -0
- package/node_modules/https-proxy-agent/dist/index.d.ts.map +1 -0
- package/node_modules/https-proxy-agent/dist/index.js +180 -0
- package/node_modules/https-proxy-agent/dist/index.js.map +1 -0
- package/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +15 -0
- package/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts.map +1 -0
- package/node_modules/https-proxy-agent/dist/parse-proxy-response.js +101 -0
- package/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +1 -0
- package/node_modules/https-proxy-agent/package.json +50 -0
- package/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
- package/node_modules/is-fullwidth-code-point/index.js +50 -0
- package/node_modules/is-fullwidth-code-point/license +9 -0
- package/node_modules/is-fullwidth-code-point/package.json +42 -0
- package/node_modules/is-fullwidth-code-point/readme.md +39 -0
- package/node_modules/is-stream/index.d.ts +79 -0
- package/node_modules/is-stream/index.js +28 -0
- package/node_modules/is-stream/license +9 -0
- package/node_modules/is-stream/package.json +42 -0
- package/node_modules/is-stream/readme.md +60 -0
- package/node_modules/json-bigint/LICENSE +20 -0
- package/node_modules/json-bigint/README.md +240 -0
- package/node_modules/json-bigint/index.js +12 -0
- package/node_modules/json-bigint/lib/parse.js +443 -0
- package/node_modules/json-bigint/lib/stringify.js +384 -0
- package/node_modules/json-bigint/package.json +34 -0
- package/node_modules/jwa/LICENSE +17 -0
- package/node_modules/jwa/README.md +150 -0
- package/node_modules/jwa/index.js +266 -0
- package/node_modules/jwa/opslevel.yml +6 -0
- package/node_modules/jwa/package.json +37 -0
- package/node_modules/jws/CHANGELOG.md +56 -0
- package/node_modules/jws/LICENSE +17 -0
- package/node_modules/jws/index.js +22 -0
- package/node_modules/jws/lib/data-stream.js +55 -0
- package/node_modules/jws/lib/sign-stream.js +83 -0
- package/node_modules/jws/lib/tostring.js +10 -0
- package/node_modules/jws/lib/verify-stream.js +125 -0
- package/node_modules/jws/opslevel.yml +6 -0
- package/node_modules/jws/package.json +34 -0
- package/node_modules/jws/readme.md +255 -0
- package/node_modules/lru-cache/LICENSE.md +55 -0
- package/node_modules/lru-cache/README.md +469 -0
- package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js +7 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.js +1733 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.min.js +2 -0
- package/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/browser/perf.js +10 -0
- package/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +7 -0
- package/node_modules/lru-cache/dist/commonjs/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/index.js +1733 -0
- package/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
- package/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js +9 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.js +1733 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.min.js +2 -0
- package/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/node/perf.js +10 -0
- package/node_modules/lru-cache/dist/commonjs/node/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/package.json +3 -0
- package/node_modules/lru-cache/dist/commonjs/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/perf.js +10 -0
- package/node_modules/lru-cache/dist/commonjs/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel-react-native.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel-react-native.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel.js +7 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/index.js +1733 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/index.js.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/perf.js +10 -0
- package/node_modules/lru-cache/dist/commonjs/react-native/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +4 -0
- package/node_modules/lru-cache/dist/esm/browser/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/index.js +1729 -0
- package/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/index.min.js +2 -0
- package/node_modules/lru-cache/dist/esm/browser/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/esm/browser/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/browser/perf.js +7 -0
- package/node_modules/lru-cache/dist/esm/browser/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -0
- package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.mjs.map +1 -0
- package/node_modules/lru-cache/dist/esm/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/esm/diagnostics-channel.js +19 -0
- package/node_modules/lru-cache/dist/esm/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/index.js +1729 -0
- package/node_modules/lru-cache/dist/esm/index.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/index.min.js +2 -0
- package/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +6 -0
- package/node_modules/lru-cache/dist/esm/node/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/index.js +1729 -0
- package/node_modules/lru-cache/dist/esm/node/index.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/index.min.js +2 -0
- package/node_modules/lru-cache/dist/esm/node/index.min.js.map +7 -0
- package/node_modules/lru-cache/dist/esm/node/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/perf.js +7 -0
- package/node_modules/lru-cache/dist/esm/node/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/package.json +3 -0
- package/node_modules/lru-cache/dist/esm/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/esm/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/perf.js +7 -0
- package/node_modules/lru-cache/dist/esm/perf.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel-react-native.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel-react-native.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel.d.ts +5 -0
- package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel.js +4 -0
- package/node_modules/lru-cache/dist/esm/react-native/index.d.ts +1400 -0
- package/node_modules/lru-cache/dist/esm/react-native/index.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/react-native/index.js +1729 -0
- package/node_modules/lru-cache/dist/esm/react-native/index.js.map +1 -0
- package/node_modules/lru-cache/dist/esm/react-native/perf.d.ts +12 -0
- package/node_modules/lru-cache/dist/esm/react-native/perf.d.ts.map +1 -0
- package/node_modules/lru-cache/dist/esm/react-native/perf.js +7 -0
- package/node_modules/lru-cache/dist/esm/react-native/perf.js.map +1 -0
- package/node_modules/lru-cache/package.json +180 -0
- package/node_modules/minimatch/LICENSE.md +55 -0
- package/node_modules/minimatch/README.md +546 -0
- package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +2 -0
- package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +1 -0
- package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
- package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -0
- package/node_modules/minimatch/dist/commonjs/escape.d.ts +15 -0
- package/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -0
- package/node_modules/minimatch/dist/commonjs/escape.js +30 -0
- package/node_modules/minimatch/dist/commonjs/escape.js.map +1 -0
- package/node_modules/minimatch/dist/commonjs/index.d.ts +185 -0
- package/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/minimatch/dist/commonjs/index.js +1550 -0
- package/node_modules/minimatch/dist/commonjs/index.js.map +1 -0
- package/node_modules/minimatch/dist/commonjs/package.json +3 -0
- package/node_modules/minimatch/dist/commonjs/unescape.d.ts +22 -0
- package/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -0
- package/node_modules/minimatch/dist/commonjs/unescape.js +38 -0
- package/node_modules/minimatch/dist/commonjs/unescape.js.map +1 -0
- package/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +2 -0
- package/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +1 -0
- package/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
- package/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -0
- package/node_modules/minimatch/dist/esm/escape.d.ts +15 -0
- package/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -0
- package/node_modules/minimatch/dist/esm/escape.js +26 -0
- package/node_modules/minimatch/dist/esm/escape.js.map +1 -0
- package/node_modules/minimatch/dist/esm/index.d.ts +185 -0
- package/node_modules/minimatch/dist/esm/index.d.ts.map +1 -0
- package/node_modules/minimatch/dist/esm/index.js +1539 -0
- package/node_modules/minimatch/dist/esm/index.js.map +1 -0
- package/node_modules/minimatch/dist/esm/package.json +3 -0
- package/node_modules/minimatch/dist/esm/unescape.d.ts +22 -0
- package/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -0
- package/node_modules/minimatch/dist/esm/unescape.js +34 -0
- package/node_modules/minimatch/dist/esm/unescape.js.map +1 -0
- package/node_modules/minimatch/package.json +74 -0
- package/node_modules/minipass/LICENSE.md +55 -0
- package/node_modules/minipass/README.md +825 -0
- package/node_modules/minipass/dist/commonjs/index.d.ts +545 -0
- package/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/minipass/dist/commonjs/index.js +1038 -0
- package/node_modules/minipass/dist/commonjs/index.js.map +1 -0
- package/node_modules/minipass/dist/commonjs/package.json +3 -0
- package/node_modules/minipass/dist/esm/index.d.ts +545 -0
- package/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
- package/node_modules/minipass/dist/esm/index.js +1020 -0
- package/node_modules/minipass/dist/esm/index.js.map +1 -0
- package/node_modules/minipass/dist/esm/package.json +3 -0
- package/node_modules/minipass/package.json +77 -0
- package/node_modules/ms/index.js +162 -0
- package/node_modules/ms/license.md +21 -0
- package/node_modules/ms/package.json +38 -0
- package/node_modules/ms/readme.md +59 -0
- package/node_modules/node-fetch/LICENSE.md +22 -0
- package/node_modules/node-fetch/README.md +634 -0
- package/node_modules/node-fetch/browser.js +25 -0
- package/node_modules/node-fetch/lib/index.es.js +1777 -0
- package/node_modules/node-fetch/lib/index.js +1787 -0
- package/node_modules/node-fetch/lib/index.mjs +1775 -0
- package/node_modules/node-fetch/package.json +89 -0
- package/node_modules/path-scurry/LICENSE.md +55 -0
- package/node_modules/path-scurry/README.md +635 -0
- package/node_modules/path-scurry/dist/commonjs/index.d.ts +1122 -0
- package/node_modules/path-scurry/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/path-scurry/dist/commonjs/index.js +2056 -0
- package/node_modules/path-scurry/dist/commonjs/index.js.map +1 -0
- package/node_modules/path-scurry/dist/commonjs/package.json +3 -0
- package/node_modules/path-scurry/dist/esm/index.d.ts +1122 -0
- package/node_modules/path-scurry/dist/esm/index.d.ts.map +1 -0
- package/node_modules/path-scurry/dist/esm/index.js +2011 -0
- package/node_modules/path-scurry/dist/esm/index.js.map +1 -0
- package/node_modules/path-scurry/dist/esm/package.json +3 -0
- package/node_modules/path-scurry/package.json +72 -0
- package/node_modules/picocolors/LICENSE +15 -0
- package/node_modules/picocolors/README.md +21 -0
- package/node_modules/picocolors/package.json +25 -0
- package/node_modules/picocolors/picocolors.browser.js +4 -0
- package/node_modules/picocolors/picocolors.d.ts +5 -0
- package/node_modules/picocolors/picocolors.js +75 -0
- package/node_modules/picocolors/types.d.ts +51 -0
- package/node_modules/safe-buffer/LICENSE +21 -0
- package/node_modules/safe-buffer/README.md +584 -0
- package/node_modules/safe-buffer/index.d.ts +187 -0
- package/node_modules/safe-buffer/index.js +65 -0
- package/node_modules/safe-buffer/package.json +51 -0
- package/node_modules/string-width/index.d.ts +29 -0
- package/node_modules/string-width/index.js +47 -0
- package/node_modules/string-width/license +9 -0
- package/node_modules/string-width/package.json +56 -0
- package/node_modules/string-width/readme.md +50 -0
- package/node_modules/strip-ansi/index.d.ts +17 -0
- package/node_modules/strip-ansi/index.js +4 -0
- package/node_modules/strip-ansi/license +9 -0
- package/node_modules/strip-ansi/package.json +54 -0
- package/node_modules/strip-ansi/readme.md +46 -0
- package/node_modules/tr46/.npmignore +4 -0
- package/node_modules/tr46/index.js +193 -0
- package/node_modules/tr46/lib/.gitkeep +0 -0
- package/node_modules/tr46/lib/mappingTable.json +1 -0
- package/node_modules/tr46/package.json +31 -0
- package/node_modules/webidl-conversions/LICENSE.md +12 -0
- package/node_modules/webidl-conversions/README.md +53 -0
- package/node_modules/webidl-conversions/lib/index.js +189 -0
- package/node_modules/webidl-conversions/package.json +23 -0
- package/node_modules/whatwg-url/LICENSE.txt +21 -0
- package/node_modules/whatwg-url/README.md +67 -0
- package/node_modules/whatwg-url/lib/URL-impl.js +200 -0
- package/node_modules/whatwg-url/lib/URL.js +196 -0
- package/node_modules/whatwg-url/lib/public-api.js +11 -0
- package/node_modules/whatwg-url/lib/url-state-machine.js +1297 -0
- package/node_modules/whatwg-url/lib/utils.js +20 -0
- package/node_modules/whatwg-url/package.json +32 -0
- package/node_modules/ws/LICENSE +20 -0
- package/node_modules/ws/README.md +540 -0
- package/node_modules/ws/browser.js +8 -0
- package/node_modules/ws/index.js +22 -0
- package/node_modules/ws/lib/buffer-util.js +142 -0
- package/node_modules/ws/lib/constants.js +19 -0
- package/node_modules/ws/lib/event-target.js +292 -0
- package/node_modules/ws/lib/extension.js +203 -0
- package/node_modules/ws/lib/limiter.js +55 -0
- package/node_modules/ws/lib/permessage-deflate.js +530 -0
- package/node_modules/ws/lib/receiver.js +743 -0
- package/node_modules/ws/lib/sender.js +610 -0
- package/node_modules/ws/lib/stream.js +161 -0
- package/node_modules/ws/lib/subprotocol.js +62 -0
- package/node_modules/ws/lib/validation.js +152 -0
- package/node_modules/ws/lib/websocket-server.js +562 -0
- package/node_modules/ws/lib/websocket.js +1426 -0
- package/node_modules/ws/package.json +74 -0
- package/node_modules/ws/wrapper.mjs +21 -0
- package/node_modules/zod/LICENSE +21 -0
- package/node_modules/zod/README.md +218 -0
- package/node_modules/zod/compile.cjs +96 -0
- package/node_modules/zod/compile.d.cts +1 -0
- package/node_modules/zod/compile.d.ts +1 -0
- package/node_modules/zod/compile.js +52 -0
- package/node_modules/zod/index.cjs +52 -0
- package/node_modules/zod/index.d.cts +3 -0
- package/node_modules/zod/index.d.ts +3 -0
- package/node_modules/zod/index.js +7 -0
- package/node_modules/zod/locales/index.cjs +36 -0
- package/node_modules/zod/locales/index.d.cts +1 -0
- package/node_modules/zod/locales/index.d.ts +1 -0
- package/node_modules/zod/locales/index.js +1 -0
- package/node_modules/zod/locales/package.json +7 -0
- package/node_modules/zod/mini/index.cjs +51 -0
- package/node_modules/zod/mini/index.d.cts +3 -0
- package/node_modules/zod/mini/index.d.ts +3 -0
- package/node_modules/zod/mini/index.js +3 -0
- package/node_modules/zod/mini/package.json +7 -0
- package/node_modules/zod/package.json +147 -0
- package/node_modules/zod/src/compile.ts +56 -0
- package/node_modules/zod/src/index.ts +7 -0
- package/node_modules/zod/src/locales/index.ts +1 -0
- package/node_modules/zod/src/mini/index.ts +3 -0
- package/node_modules/zod/src/v3/ZodError.ts +340 -0
- package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
- package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
- package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
- package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
- package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
- package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
- package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
- package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
- package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
- package/node_modules/zod/src/v3/errors.ts +13 -0
- package/node_modules/zod/src/v3/external.ts +6 -0
- package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
- package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
- package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
- package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
- package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
- package/node_modules/zod/src/v3/helpers/util.ts +224 -0
- package/node_modules/zod/src/v3/index.ts +4 -0
- package/node_modules/zod/src/v3/locales/en.ts +124 -0
- package/node_modules/zod/src/v3/standard-schema.ts +113 -0
- package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
- package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
- package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
- package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
- package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
- package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
- package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
- package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
- package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
- package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
- package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
- package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
- package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
- package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
- package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
- package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
- package/node_modules/zod/src/v3/tests/error.test.ts +586 -0
- package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
- package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
- package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
- package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
- package/node_modules/zod/src/v3/tests/intersection.test.ts +128 -0
- package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
- package/node_modules/zod/src/v3/tests/language-server.test.ts +206 -0
- package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
- package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
- package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
- package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
- package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
- package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object.test.ts +431 -0
- package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
- package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
- package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
- package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
- package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
- package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/readonly.test.ts +114 -0
- package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
- package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
- package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
- package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
- package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
- package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
- package/node_modules/zod/src/v3/tests/string.test.ts +922 -0
- package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
- package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
- package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
- package/node_modules/zod/src/v3/types.ts +5138 -0
- package/node_modules/zod/src/v4/classic/checks.ts +33 -0
- package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
- package/node_modules/zod/src/v4/classic/compat.ts +78 -0
- package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
- package/node_modules/zod/src/v4/classic/errors.ts +97 -0
- package/node_modules/zod/src/v4/classic/external.ts +57 -0
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +944 -0
- package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
- package/node_modules/zod/src/v4/classic/index.ts +5 -0
- package/node_modules/zod/src/v4/classic/iso.ts +20 -0
- package/node_modules/zod/src/v4/classic/parse.ts +88 -0
- package/node_modules/zod/src/v4/classic/schemas.ts +2937 -0
- package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/apply.test.ts +86 -0
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +291 -0
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +402 -0
- package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
- package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +89 -0
- package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/catch.test.ts +604 -0
- package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
- package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +572 -0
- package/node_modules/zod/src/v4/classic/tests/codec.test.ts +704 -0
- package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
- package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
- package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
- package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +985 -0
- package/node_modules/zod/src/v4/classic/tests/date.test.ts +92 -0
- package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +316 -0
- package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
- package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
- package/node_modules/zod/src/v4/classic/tests/default.test.ts +455 -0
- package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
- package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +221 -0
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +942 -0
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +305 -0
- package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +917 -0
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +1108 -0
- package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
- package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
- package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +1467 -0
- package/node_modules/zod/src/v4/classic/tests/function.test.ts +391 -0
- package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
- package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +32 -0
- package/node_modules/zod/src/v4/classic/tests/hash.test.ts +67 -0
- package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
- package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
- package/node_modules/zod/src/v4/classic/tests/index.test.ts +958 -0
- package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +319 -0
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +127 -0
- package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +334 -0
- package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +215 -0
- package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +39 -0
- package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
- package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +262 -0
- package/node_modules/zod/src/v4/classic/tests/literal.test.ts +128 -0
- package/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
- package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +349 -0
- package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
- package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
- package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +401 -0
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +1006 -0
- package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +235 -0
- package/node_modules/zod/src/v4/classic/tests/optional.test.ts +366 -0
- package/node_modules/zod/src/v4/classic/tests/partial.test.ts +497 -0
- package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
- package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +144 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +44 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +351 -0
- package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
- package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
- package/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
- package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
- package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +184 -0
- package/node_modules/zod/src/v4/classic/tests/record.test.ts +885 -0
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +707 -0
- package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/refine.test.ts +693 -0
- package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +196 -0
- package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +153 -0
- package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +1440 -0
- package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +124 -0
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +812 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +4733 -0
- package/node_modules/zod/src/v4/classic/tests/transform.test.ts +378 -0
- package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +511 -0
- package/node_modules/zod/src/v4/classic/tests/union.test.ts +310 -0
- package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
- package/node_modules/zod/src/v4/classic/tests/validate.test.ts +645 -0
- package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
- package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
- package/node_modules/zod/src/v4/core/api.ts +1875 -0
- package/node_modules/zod/src/v4/core/checks.ts +1266 -0
- package/node_modules/zod/src/v4/core/compile.ts +2322 -0
- package/node_modules/zod/src/v4/core/core.ts +230 -0
- package/node_modules/zod/src/v4/core/doc.ts +52 -0
- package/node_modules/zod/src/v4/core/errors.ts +543 -0
- package/node_modules/zod/src/v4/core/index.ts +19 -0
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +131 -0
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +934 -0
- package/node_modules/zod/src/v4/core/json-schema.ts +148 -0
- package/node_modules/zod/src/v4/core/memoizer.ts +331 -0
- package/node_modules/zod/src/v4/core/parse.ts +309 -0
- package/node_modules/zod/src/v4/core/regexes.ts +217 -0
- package/node_modules/zod/src/v4/core/registries.ts +105 -0
- package/node_modules/zod/src/v4/core/schemas.ts +5226 -0
- package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
- package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
- package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +1004 -0
- package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
- package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
- package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
- package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
- package/node_modules/zod/src/v4/core/tests/compile.test.ts +2036 -0
- package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
- package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
- package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
- package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +214 -0
- package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
- package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +180 -0
- package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
- package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
- package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
- package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
- package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
- package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
- package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
- package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
- package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +105 -0
- package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +125 -0
- package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
- package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
- package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +133 -0
- package/node_modules/zod/src/v4/core/to-json-schema.ts +857 -0
- package/node_modules/zod/src/v4/core/util.ts +1293 -0
- package/node_modules/zod/src/v4/core/versions.ts +5 -0
- package/node_modules/zod/src/v4/core/visit.ts +193 -0
- package/node_modules/zod/src/v4/core/zsf.ts +323 -0
- package/node_modules/zod/src/v4/index.ts +4 -0
- package/node_modules/zod/src/v4/locales/ar.ts +120 -0
- package/node_modules/zod/src/v4/locales/az.ts +116 -0
- package/node_modules/zod/src/v4/locales/be.ts +188 -0
- package/node_modules/zod/src/v4/locales/bg.ts +133 -0
- package/node_modules/zod/src/v4/locales/bn.ts +123 -0
- package/node_modules/zod/src/v4/locales/ca.ts +121 -0
- package/node_modules/zod/src/v4/locales/ckb.ts +140 -0
- package/node_modules/zod/src/v4/locales/cs.ts +123 -0
- package/node_modules/zod/src/v4/locales/da.ts +128 -0
- package/node_modules/zod/src/v4/locales/de.ts +121 -0
- package/node_modules/zod/src/v4/locales/el.ts +124 -0
- package/node_modules/zod/src/v4/locales/en.ts +136 -0
- package/node_modules/zod/src/v4/locales/eo.ts +123 -0
- package/node_modules/zod/src/v4/locales/es.ts +145 -0
- package/node_modules/zod/src/v4/locales/fa.ts +131 -0
- package/node_modules/zod/src/v4/locales/fi.ts +126 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +121 -0
- package/node_modules/zod/src/v4/locales/fr.ts +139 -0
- package/node_modules/zod/src/v4/locales/gu.ts +123 -0
- package/node_modules/zod/src/v4/locales/he.ts +253 -0
- package/node_modules/zod/src/v4/locales/hi.ts +126 -0
- package/node_modules/zod/src/v4/locales/hr.ts +135 -0
- package/node_modules/zod/src/v4/locales/hu.ts +122 -0
- package/node_modules/zod/src/v4/locales/hy.ts +175 -0
- package/node_modules/zod/src/v4/locales/id.ts +120 -0
- package/node_modules/zod/src/v4/locales/index.ts +63 -0
- package/node_modules/zod/src/v4/locales/is.ts +124 -0
- package/node_modules/zod/src/v4/locales/it.ts +121 -0
- package/node_modules/zod/src/v4/locales/ja.ts +119 -0
- package/node_modules/zod/src/v4/locales/ka.ts +128 -0
- package/node_modules/zod/src/v4/locales/kh.ts +7 -0
- package/node_modules/zod/src/v4/locales/km.ts +124 -0
- package/node_modules/zod/src/v4/locales/kn.ts +126 -0
- package/node_modules/zod/src/v4/locales/ko.ts +126 -0
- package/node_modules/zod/src/v4/locales/lt.ts +243 -0
- package/node_modules/zod/src/v4/locales/mk.ts +123 -0
- package/node_modules/zod/src/v4/locales/ms.ts +120 -0
- package/node_modules/zod/src/v4/locales/ne.ts +128 -0
- package/node_modules/zod/src/v4/locales/nl.ts +126 -0
- package/node_modules/zod/src/v4/locales/nn.ts +121 -0
- package/node_modules/zod/src/v4/locales/no.ts +121 -0
- package/node_modules/zod/src/v4/locales/ota.ts +122 -0
- package/node_modules/zod/src/v4/locales/pl.ts +123 -0
- package/node_modules/zod/src/v4/locales/ps.ts +131 -0
- package/node_modules/zod/src/v4/locales/pt-BR.ts +161 -0
- package/node_modules/zod/src/v4/locales/pt.ts +159 -0
- package/node_modules/zod/src/v4/locales/ro.ts +132 -0
- package/node_modules/zod/src/v4/locales/ru.ts +188 -0
- package/node_modules/zod/src/v4/locales/sk.ts +123 -0
- package/node_modules/zod/src/v4/locales/sl.ts +123 -0
- package/node_modules/zod/src/v4/locales/sv.ts +124 -0
- package/node_modules/zod/src/v4/locales/ta.ts +123 -0
- package/node_modules/zod/src/v4/locales/tg.ts +135 -0
- package/node_modules/zod/src/v4/locales/th.ts +124 -0
- package/node_modules/zod/src/v4/locales/tk.ts +113 -0
- package/node_modules/zod/src/v4/locales/tr.ts +116 -0
- package/node_modules/zod/src/v4/locales/ua.ts +7 -0
- package/node_modules/zod/src/v4/locales/uk.ts +122 -0
- package/node_modules/zod/src/v4/locales/ur.ts +124 -0
- package/node_modules/zod/src/v4/locales/uz.ts +120 -0
- package/node_modules/zod/src/v4/locales/vi.ts +122 -0
- package/node_modules/zod/src/v4/locales/yo.ts +129 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +121 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +120 -0
- package/node_modules/zod/src/v4/mini/checks.ts +33 -0
- package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
- package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
- package/node_modules/zod/src/v4/mini/external.ts +52 -0
- package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
- package/node_modules/zod/src/v4/mini/index.ts +3 -0
- package/node_modules/zod/src/v4/mini/iso.ts +66 -0
- package/node_modules/zod/src/v4/mini/parse.ts +16 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +2051 -0
- package/node_modules/zod/src/v4/mini/tests/apply.test.ts +57 -0
- package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +190 -0
- package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +158 -0
- package/node_modules/zod/src/v4/mini/tests/codec.test.ts +582 -0
- package/node_modules/zod/src/v4/mini/tests/computed.test.ts +30 -0
- package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
- package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
- package/node_modules/zod/src/v4/mini/tests/error.test.ts +41 -0
- package/node_modules/zod/src/v4/mini/tests/functions.test.ts +14 -0
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +1146 -0
- package/node_modules/zod/src/v4/mini/tests/number.test.ts +109 -0
- package/node_modules/zod/src/v4/mini/tests/object.test.ts +292 -0
- package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
- package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +341 -0
- package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +396 -0
- package/node_modules/zod/src/v4-mini/index.ts +3 -0
- package/node_modules/zod/v3/ZodError.cjs +167 -0
- package/node_modules/zod/v3/ZodError.d.cts +164 -0
- package/node_modules/zod/v3/ZodError.d.ts +164 -0
- package/node_modules/zod/v3/ZodError.js +143 -0
- package/node_modules/zod/v3/errors.cjs +36 -0
- package/node_modules/zod/v3/errors.d.cts +5 -0
- package/node_modules/zod/v3/errors.d.ts +5 -0
- package/node_modules/zod/v3/errors.js +9 -0
- package/node_modules/zod/v3/external.cjs +41 -0
- package/node_modules/zod/v3/external.d.cts +6 -0
- package/node_modules/zod/v3/external.d.ts +6 -0
- package/node_modules/zod/v3/external.js +6 -0
- package/node_modules/zod/v3/helpers/enumUtil.cjs +21 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
- package/node_modules/zod/v3/helpers/errorUtil.cjs +28 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/node_modules/zod/v3/helpers/parseUtil.cjs +143 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/node_modules/zod/v3/helpers/partialUtil.cjs +21 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
- package/node_modules/zod/v3/helpers/typeAliases.cjs +21 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/node_modules/zod/v3/helpers/util.cjs +156 -0
- package/node_modules/zod/v3/helpers/util.d.cts +85 -0
- package/node_modules/zod/v3/helpers/util.d.ts +85 -0
- package/node_modules/zod/v3/helpers/util.js +133 -0
- package/node_modules/zod/v3/index.cjs +52 -0
- package/node_modules/zod/v3/index.d.cts +4 -0
- package/node_modules/zod/v3/index.d.ts +4 -0
- package/node_modules/zod/v3/index.js +4 -0
- package/node_modules/zod/v3/locales/en.cjs +112 -0
- package/node_modules/zod/v3/locales/en.d.cts +3 -0
- package/node_modules/zod/v3/locales/en.d.ts +3 -0
- package/node_modules/zod/v3/locales/en.js +109 -0
- package/node_modules/zod/v3/package.json +7 -0
- package/node_modules/zod/v3/standard-schema.cjs +21 -0
- package/node_modules/zod/v3/standard-schema.d.cts +102 -0
- package/node_modules/zod/v3/standard-schema.d.ts +102 -0
- package/node_modules/zod/v3/standard-schema.js +1 -0
- package/node_modules/zod/v3/types.cjs +3798 -0
- package/node_modules/zod/v3/types.d.cts +1034 -0
- package/node_modules/zod/v3/types.d.ts +1034 -0
- package/node_modules/zod/v3/types.js +3697 -0
- package/node_modules/zod/v4/classic/checks.cjs +53 -0
- package/node_modules/zod/v4/classic/checks.d.cts +1 -0
- package/node_modules/zod/v4/classic/checks.d.ts +1 -0
- package/node_modules/zod/v4/classic/checks.js +1 -0
- package/node_modules/zod/v4/classic/coerce.cjs +66 -0
- package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
- package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
- package/node_modules/zod/v4/classic/coerce.js +17 -0
- package/node_modules/zod/v4/classic/compat.cjs +80 -0
- package/node_modules/zod/v4/classic/compat.d.cts +48 -0
- package/node_modules/zod/v4/classic/compat.d.ts +48 -0
- package/node_modules/zod/v4/classic/compat.js +31 -0
- package/node_modules/zod/v4/classic/deep-partial.cjs +58 -0
- package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
- package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
- package/node_modules/zod/v4/classic/deep-partial.js +13 -0
- package/node_modules/zod/v4/classic/errors.cjs +102 -0
- package/node_modules/zod/v4/classic/errors.d.cts +29 -0
- package/node_modules/zod/v4/classic/errors.d.ts +29 -0
- package/node_modules/zod/v4/classic/errors.js +57 -0
- package/node_modules/zod/v4/classic/external.cjs +97 -0
- package/node_modules/zod/v4/classic/external.d.cts +19 -0
- package/node_modules/zod/v4/classic/external.d.ts +19 -0
- package/node_modules/zod/v4/classic/external.js +17 -0
- package/node_modules/zod/v4/classic/from-json-schema.cjs +926 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.js +881 -0
- package/node_modules/zod/v4/classic/in-out.cjs +82 -0
- package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
- package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
- package/node_modules/zod/v4/classic/in-out.js +36 -0
- package/node_modules/zod/v4/classic/index.cjs +52 -0
- package/node_modules/zod/v4/classic/index.d.cts +3 -0
- package/node_modules/zod/v4/classic/index.d.ts +3 -0
- package/node_modules/zod/v4/classic/index.js +4 -0
- package/node_modules/zod/v4/classic/iso.cjs +68 -0
- package/node_modules/zod/v4/classic/iso.d.cts +7 -0
- package/node_modules/zod/v4/classic/iso.d.ts +7 -0
- package/node_modules/zod/v4/classic/iso.js +15 -0
- package/node_modules/zod/v4/classic/package.json +7 -0
- package/node_modules/zod/v4/classic/parse.cjs +63 -0
- package/node_modules/zod/v4/classic/parse.d.cts +44 -0
- package/node_modules/zod/v4/classic/parse.d.ts +44 -0
- package/node_modules/zod/v4/classic/parse.js +16 -0
- package/node_modules/zod/v4/classic/schemas.cjs +1676 -0
- package/node_modules/zod/v4/classic/schemas.d.cts +816 -0
- package/node_modules/zod/v4/classic/schemas.d.ts +816 -0
- package/node_modules/zod/v4/classic/schemas.js +1535 -0
- package/node_modules/zod/v4/core/api.cjs +1269 -0
- package/node_modules/zod/v4/core/api.d.cts +335 -0
- package/node_modules/zod/v4/core/api.d.ts +335 -0
- package/node_modules/zod/v4/core/api.js +1107 -0
- package/node_modules/zod/v4/core/checks.cjs +561 -0
- package/node_modules/zod/v4/core/checks.d.cts +294 -0
- package/node_modules/zod/v4/core/checks.d.ts +294 -0
- package/node_modules/zod/v4/core/checks.js +516 -0
- package/node_modules/zod/v4/core/compile.cjs +1916 -0
- package/node_modules/zod/v4/core/compile.d.cts +65 -0
- package/node_modules/zod/v4/core/compile.d.ts +65 -0
- package/node_modules/zod/v4/core/compile.js +1866 -0
- package/node_modules/zod/v4/core/core.cjs +167 -0
- package/node_modules/zod/v4/core/core.d.cts +82 -0
- package/node_modules/zod/v4/core/core.d.ts +82 -0
- package/node_modules/zod/v4/core/core.js +141 -0
- package/node_modules/zod/v4/core/doc.cjs +61 -0
- package/node_modules/zod/v4/core/doc.d.cts +16 -0
- package/node_modules/zod/v4/core/doc.d.ts +16 -0
- package/node_modules/zod/v4/core/doc.js +38 -0
- package/node_modules/zod/v4/core/errors.cjs +317 -0
- package/node_modules/zod/v4/core/errors.d.cts +225 -0
- package/node_modules/zod/v4/core/errors.d.ts +225 -0
- package/node_modules/zod/v4/core/errors.js +267 -0
- package/node_modules/zod/v4/core/index.cjs +70 -0
- package/node_modules/zod/v4/core/index.d.cts +19 -0
- package/node_modules/zod/v4/core/index.d.ts +19 -0
- package/node_modules/zod/v4/core/index.js +19 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +122 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.js +99 -0
- package/node_modules/zod/v4/core/json-schema-processors.cjs +929 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.cts +65 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.ts +65 -0
- package/node_modules/zod/v4/core/json-schema-processors.js +843 -0
- package/node_modules/zod/v4/core/json-schema.cjs +21 -0
- package/node_modules/zod/v4/core/json-schema.d.cts +89 -0
- package/node_modules/zod/v4/core/json-schema.d.ts +89 -0
- package/node_modules/zod/v4/core/json-schema.js +1 -0
- package/node_modules/zod/v4/core/memoizer.cjs +360 -0
- package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
- package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
- package/node_modules/zod/v4/core/memoizer.js +311 -0
- package/node_modules/zod/v4/core/package.json +7 -0
- package/node_modules/zod/v4/core/parse.cjs +233 -0
- package/node_modules/zod/v4/core/parse.d.cts +52 -0
- package/node_modules/zod/v4/core/parse.d.ts +52 -0
- package/node_modules/zod/v4/core/parse.js +175 -0
- package/node_modules/zod/v4/core/regexes.cjs +209 -0
- package/node_modules/zod/v4/core/regexes.d.cts +90 -0
- package/node_modules/zod/v4/core/regexes.d.ts +90 -0
- package/node_modules/zod/v4/core/regexes.js +156 -0
- package/node_modules/zod/v4/core/registries.cjs +75 -0
- package/node_modules/zod/v4/core/registries.d.cts +35 -0
- package/node_modules/zod/v4/core/registries.d.ts +35 -0
- package/node_modules/zod/v4/core/registries.js +51 -0
- package/node_modules/zod/v4/core/schemas.cjs +2699 -0
- package/node_modules/zod/v4/core/schemas.d.cts +1275 -0
- package/node_modules/zod/v4/core/schemas.d.ts +1275 -0
- package/node_modules/zod/v4/core/schemas.js +2636 -0
- package/node_modules/zod/v4/core/standard-schema.cjs +21 -0
- package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
- package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
- package/node_modules/zod/v4/core/standard-schema.js +1 -0
- package/node_modules/zod/v4/core/to-json-schema.cjs +681 -0
- package/node_modules/zod/v4/core/to-json-schema.d.cts +154 -0
- package/node_modules/zod/v4/core/to-json-schema.d.ts +154 -0
- package/node_modules/zod/v4/core/to-json-schema.js +651 -0
- package/node_modules/zod/v4/core/util.cjs +964 -0
- package/node_modules/zod/v4/core/util.d.cts +280 -0
- package/node_modules/zod/v4/core/util.d.ts +280 -0
- package/node_modules/zod/v4/core/util.js +873 -0
- package/node_modules/zod/v4/core/versions.cjs +27 -0
- package/node_modules/zod/v4/core/versions.d.cts +5 -0
- package/node_modules/zod/v4/core/versions.d.ts +5 -0
- package/node_modules/zod/v4/core/versions.js +5 -0
- package/node_modules/zod/v4/core/visit.cjs +214 -0
- package/node_modules/zod/v4/core/visit.d.cts +30 -0
- package/node_modules/zod/v4/core/visit.d.ts +30 -0
- package/node_modules/zod/v4/core/visit.js +169 -0
- package/node_modules/zod/v4/index.cjs +51 -0
- package/node_modules/zod/v4/index.d.cts +3 -0
- package/node_modules/zod/v4/index.d.ts +3 -0
- package/node_modules/zod/v4/index.js +4 -0
- package/node_modules/zod/v4/locales/ar.cjs +138 -0
- package/node_modules/zod/v4/locales/ar.d.cts +5 -0
- package/node_modules/zod/v4/locales/ar.d.ts +4 -0
- package/node_modules/zod/v4/locales/ar.js +111 -0
- package/node_modules/zod/v4/locales/az.cjs +137 -0
- package/node_modules/zod/v4/locales/az.d.cts +5 -0
- package/node_modules/zod/v4/locales/az.d.ts +4 -0
- package/node_modules/zod/v4/locales/az.js +110 -0
- package/node_modules/zod/v4/locales/be.cjs +195 -0
- package/node_modules/zod/v4/locales/be.d.cts +5 -0
- package/node_modules/zod/v4/locales/be.d.ts +4 -0
- package/node_modules/zod/v4/locales/be.js +168 -0
- package/node_modules/zod/v4/locales/bg.cjs +152 -0
- package/node_modules/zod/v4/locales/bg.d.cts +5 -0
- package/node_modules/zod/v4/locales/bg.d.ts +4 -0
- package/node_modules/zod/v4/locales/bg.js +125 -0
- package/node_modules/zod/v4/locales/bn.cjs +140 -0
- package/node_modules/zod/v4/locales/bn.d.cts +5 -0
- package/node_modules/zod/v4/locales/bn.d.ts +4 -0
- package/node_modules/zod/v4/locales/bn.js +113 -0
- package/node_modules/zod/v4/locales/ca.cjs +139 -0
- package/node_modules/zod/v4/locales/ca.d.cts +5 -0
- package/node_modules/zod/v4/locales/ca.d.ts +4 -0
- package/node_modules/zod/v4/locales/ca.js +112 -0
- package/node_modules/zod/v4/locales/ckb.cjs +160 -0
- package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
- package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
- package/node_modules/zod/v4/locales/ckb.js +133 -0
- package/node_modules/zod/v4/locales/cs.cjs +143 -0
- package/node_modules/zod/v4/locales/cs.d.cts +5 -0
- package/node_modules/zod/v4/locales/cs.d.ts +4 -0
- package/node_modules/zod/v4/locales/cs.js +116 -0
- package/node_modules/zod/v4/locales/da.cjs +147 -0
- package/node_modules/zod/v4/locales/da.d.cts +5 -0
- package/node_modules/zod/v4/locales/da.d.ts +4 -0
- package/node_modules/zod/v4/locales/da.js +120 -0
- package/node_modules/zod/v4/locales/de.cjs +140 -0
- package/node_modules/zod/v4/locales/de.d.cts +5 -0
- package/node_modules/zod/v4/locales/de.d.ts +4 -0
- package/node_modules/zod/v4/locales/de.js +113 -0
- package/node_modules/zod/v4/locales/el.cjs +139 -0
- package/node_modules/zod/v4/locales/el.d.cts +5 -0
- package/node_modules/zod/v4/locales/el.d.ts +4 -0
- package/node_modules/zod/v4/locales/el.js +112 -0
- package/node_modules/zod/v4/locales/en.cjs +152 -0
- package/node_modules/zod/v4/locales/en.d.cts +5 -0
- package/node_modules/zod/v4/locales/en.d.ts +4 -0
- package/node_modules/zod/v4/locales/en.js +125 -0
- package/node_modules/zod/v4/locales/eo.cjs +141 -0
- package/node_modules/zod/v4/locales/eo.d.cts +5 -0
- package/node_modules/zod/v4/locales/eo.d.ts +4 -0
- package/node_modules/zod/v4/locales/eo.js +114 -0
- package/node_modules/zod/v4/locales/es.cjs +163 -0
- package/node_modules/zod/v4/locales/es.d.cts +5 -0
- package/node_modules/zod/v4/locales/es.d.ts +4 -0
- package/node_modules/zod/v4/locales/es.js +136 -0
- package/node_modules/zod/v4/locales/fa.cjs +146 -0
- package/node_modules/zod/v4/locales/fa.d.cts +5 -0
- package/node_modules/zod/v4/locales/fa.d.ts +4 -0
- package/node_modules/zod/v4/locales/fa.js +119 -0
- package/node_modules/zod/v4/locales/fi.cjs +144 -0
- package/node_modules/zod/v4/locales/fi.d.cts +5 -0
- package/node_modules/zod/v4/locales/fi.d.ts +4 -0
- package/node_modules/zod/v4/locales/fi.js +117 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +139 -0
- package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr-CA.js +112 -0
- package/node_modules/zod/v4/locales/fr.cjs +156 -0
- package/node_modules/zod/v4/locales/fr.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr.js +129 -0
- package/node_modules/zod/v4/locales/gu.cjs +140 -0
- package/node_modules/zod/v4/locales/gu.d.cts +5 -0
- package/node_modules/zod/v4/locales/gu.d.ts +4 -0
- package/node_modules/zod/v4/locales/gu.js +113 -0
- package/node_modules/zod/v4/locales/he.cjs +248 -0
- package/node_modules/zod/v4/locales/he.d.cts +5 -0
- package/node_modules/zod/v4/locales/he.d.ts +4 -0
- package/node_modules/zod/v4/locales/he.js +221 -0
- package/node_modules/zod/v4/locales/hi.cjs +138 -0
- package/node_modules/zod/v4/locales/hi.d.cts +5 -0
- package/node_modules/zod/v4/locales/hi.d.ts +4 -0
- package/node_modules/zod/v4/locales/hi.js +111 -0
- package/node_modules/zod/v4/locales/hr.cjs +153 -0
- package/node_modules/zod/v4/locales/hr.d.cts +5 -0
- package/node_modules/zod/v4/locales/hr.d.ts +4 -0
- package/node_modules/zod/v4/locales/hr.js +126 -0
- package/node_modules/zod/v4/locales/hu.cjs +140 -0
- package/node_modules/zod/v4/locales/hu.d.cts +5 -0
- package/node_modules/zod/v4/locales/hu.d.ts +4 -0
- package/node_modules/zod/v4/locales/hu.js +113 -0
- package/node_modules/zod/v4/locales/hy.cjs +185 -0
- package/node_modules/zod/v4/locales/hy.d.cts +5 -0
- package/node_modules/zod/v4/locales/hy.d.ts +4 -0
- package/node_modules/zod/v4/locales/hy.js +158 -0
- package/node_modules/zod/v4/locales/id.cjs +138 -0
- package/node_modules/zod/v4/locales/id.d.cts +5 -0
- package/node_modules/zod/v4/locales/id.d.ts +4 -0
- package/node_modules/zod/v4/locales/id.js +111 -0
- package/node_modules/zod/v4/locales/index.cjs +152 -0
- package/node_modules/zod/v4/locales/index.d.cts +63 -0
- package/node_modules/zod/v4/locales/index.d.ts +63 -0
- package/node_modules/zod/v4/locales/index.js +63 -0
- package/node_modules/zod/v4/locales/is.cjs +141 -0
- package/node_modules/zod/v4/locales/is.d.cts +5 -0
- package/node_modules/zod/v4/locales/is.d.ts +4 -0
- package/node_modules/zod/v4/locales/is.js +114 -0
- package/node_modules/zod/v4/locales/it.cjs +140 -0
- package/node_modules/zod/v4/locales/it.d.cts +5 -0
- package/node_modules/zod/v4/locales/it.d.ts +4 -0
- package/node_modules/zod/v4/locales/it.js +113 -0
- package/node_modules/zod/v4/locales/ja.cjs +139 -0
- package/node_modules/zod/v4/locales/ja.d.cts +5 -0
- package/node_modules/zod/v4/locales/ja.d.ts +4 -0
- package/node_modules/zod/v4/locales/ja.js +112 -0
- package/node_modules/zod/v4/locales/ka.cjs +144 -0
- package/node_modules/zod/v4/locales/ka.d.cts +5 -0
- package/node_modules/zod/v4/locales/ka.d.ts +4 -0
- package/node_modules/zod/v4/locales/ka.js +117 -0
- package/node_modules/zod/v4/locales/kh.cjs +12 -0
- package/node_modules/zod/v4/locales/kh.d.cts +5 -0
- package/node_modules/zod/v4/locales/kh.d.ts +5 -0
- package/node_modules/zod/v4/locales/kh.js +5 -0
- package/node_modules/zod/v4/locales/km.cjs +142 -0
- package/node_modules/zod/v4/locales/km.d.cts +5 -0
- package/node_modules/zod/v4/locales/km.d.ts +4 -0
- package/node_modules/zod/v4/locales/km.js +115 -0
- package/node_modules/zod/v4/locales/kn.cjs +143 -0
- package/node_modules/zod/v4/locales/kn.d.cts +5 -0
- package/node_modules/zod/v4/locales/kn.d.ts +4 -0
- package/node_modules/zod/v4/locales/kn.js +116 -0
- package/node_modules/zod/v4/locales/ko.cjs +143 -0
- package/node_modules/zod/v4/locales/ko.d.cts +5 -0
- package/node_modules/zod/v4/locales/ko.d.ts +4 -0
- package/node_modules/zod/v4/locales/ko.js +116 -0
- package/node_modules/zod/v4/locales/lt.cjs +234 -0
- package/node_modules/zod/v4/locales/lt.d.cts +5 -0
- package/node_modules/zod/v4/locales/lt.d.ts +4 -0
- package/node_modules/zod/v4/locales/lt.js +207 -0
- package/node_modules/zod/v4/locales/mk.cjs +141 -0
- package/node_modules/zod/v4/locales/mk.d.cts +5 -0
- package/node_modules/zod/v4/locales/mk.d.ts +4 -0
- package/node_modules/zod/v4/locales/mk.js +114 -0
- package/node_modules/zod/v4/locales/ms.cjs +139 -0
- package/node_modules/zod/v4/locales/ms.d.cts +5 -0
- package/node_modules/zod/v4/locales/ms.d.ts +4 -0
- package/node_modules/zod/v4/locales/ms.js +112 -0
- package/node_modules/zod/v4/locales/ne.cjs +138 -0
- package/node_modules/zod/v4/locales/ne.d.cts +5 -0
- package/node_modules/zod/v4/locales/ne.d.ts +4 -0
- package/node_modules/zod/v4/locales/ne.js +111 -0
- package/node_modules/zod/v4/locales/nl.cjs +142 -0
- package/node_modules/zod/v4/locales/nl.d.cts +5 -0
- package/node_modules/zod/v4/locales/nl.d.ts +4 -0
- package/node_modules/zod/v4/locales/nl.js +115 -0
- package/node_modules/zod/v4/locales/nn.cjs +140 -0
- package/node_modules/zod/v4/locales/nn.d.cts +5 -0
- package/node_modules/zod/v4/locales/nn.d.ts +4 -0
- package/node_modules/zod/v4/locales/nn.js +113 -0
- package/node_modules/zod/v4/locales/no.cjs +140 -0
- package/node_modules/zod/v4/locales/no.d.cts +5 -0
- package/node_modules/zod/v4/locales/no.d.ts +4 -0
- package/node_modules/zod/v4/locales/no.js +113 -0
- package/node_modules/zod/v4/locales/ota.cjs +141 -0
- package/node_modules/zod/v4/locales/ota.d.cts +5 -0
- package/node_modules/zod/v4/locales/ota.d.ts +4 -0
- package/node_modules/zod/v4/locales/ota.js +114 -0
- package/node_modules/zod/v4/locales/package.json +7 -0
- package/node_modules/zod/v4/locales/pl.cjs +141 -0
- package/node_modules/zod/v4/locales/pl.d.cts +5 -0
- package/node_modules/zod/v4/locales/pl.d.ts +4 -0
- package/node_modules/zod/v4/locales/pl.js +114 -0
- package/node_modules/zod/v4/locales/ps.cjs +146 -0
- package/node_modules/zod/v4/locales/ps.d.cts +5 -0
- package/node_modules/zod/v4/locales/ps.d.ts +4 -0
- package/node_modules/zod/v4/locales/ps.js +119 -0
- package/node_modules/zod/v4/locales/pt-BR.cjs +170 -0
- package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt-BR.js +143 -0
- package/node_modules/zod/v4/locales/pt.cjs +169 -0
- package/node_modules/zod/v4/locales/pt.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt.js +142 -0
- package/node_modules/zod/v4/locales/ro.cjs +149 -0
- package/node_modules/zod/v4/locales/ro.d.cts +5 -0
- package/node_modules/zod/v4/locales/ro.d.ts +4 -0
- package/node_modules/zod/v4/locales/ro.js +122 -0
- package/node_modules/zod/v4/locales/ru.cjs +195 -0
- package/node_modules/zod/v4/locales/ru.d.cts +5 -0
- package/node_modules/zod/v4/locales/ru.d.ts +4 -0
- package/node_modules/zod/v4/locales/ru.js +168 -0
- package/node_modules/zod/v4/locales/sk.cjs +143 -0
- package/node_modules/zod/v4/locales/sk.d.cts +5 -0
- package/node_modules/zod/v4/locales/sk.d.ts +4 -0
- package/node_modules/zod/v4/locales/sk.js +116 -0
- package/node_modules/zod/v4/locales/sl.cjs +141 -0
- package/node_modules/zod/v4/locales/sl.d.cts +5 -0
- package/node_modules/zod/v4/locales/sl.d.ts +4 -0
- package/node_modules/zod/v4/locales/sl.js +114 -0
- package/node_modules/zod/v4/locales/sv.cjs +142 -0
- package/node_modules/zod/v4/locales/sv.d.cts +5 -0
- package/node_modules/zod/v4/locales/sv.d.ts +4 -0
- package/node_modules/zod/v4/locales/sv.js +115 -0
- package/node_modules/zod/v4/locales/ta.cjs +142 -0
- package/node_modules/zod/v4/locales/ta.d.cts +5 -0
- package/node_modules/zod/v4/locales/ta.d.ts +4 -0
- package/node_modules/zod/v4/locales/ta.js +115 -0
- package/node_modules/zod/v4/locales/tg.cjs +144 -0
- package/node_modules/zod/v4/locales/tg.d.cts +5 -0
- package/node_modules/zod/v4/locales/tg.d.ts +4 -0
- package/node_modules/zod/v4/locales/tg.js +117 -0
- package/node_modules/zod/v4/locales/th.cjs +142 -0
- package/node_modules/zod/v4/locales/th.d.cts +5 -0
- package/node_modules/zod/v4/locales/th.d.ts +4 -0
- package/node_modules/zod/v4/locales/th.js +115 -0
- package/node_modules/zod/v4/locales/tk.cjs +134 -0
- package/node_modules/zod/v4/locales/tk.d.cts +5 -0
- package/node_modules/zod/v4/locales/tk.d.ts +4 -0
- package/node_modules/zod/v4/locales/tk.js +107 -0
- package/node_modules/zod/v4/locales/tr.cjs +137 -0
- package/node_modules/zod/v4/locales/tr.d.cts +5 -0
- package/node_modules/zod/v4/locales/tr.d.ts +4 -0
- package/node_modules/zod/v4/locales/tr.js +110 -0
- package/node_modules/zod/v4/locales/ua.cjs +12 -0
- package/node_modules/zod/v4/locales/ua.d.cts +5 -0
- package/node_modules/zod/v4/locales/ua.d.ts +5 -0
- package/node_modules/zod/v4/locales/ua.js +5 -0
- package/node_modules/zod/v4/locales/uk.cjs +140 -0
- package/node_modules/zod/v4/locales/uk.d.cts +5 -0
- package/node_modules/zod/v4/locales/uk.d.ts +4 -0
- package/node_modules/zod/v4/locales/uk.js +113 -0
- package/node_modules/zod/v4/locales/ur.cjs +142 -0
- package/node_modules/zod/v4/locales/ur.d.cts +5 -0
- package/node_modules/zod/v4/locales/ur.d.ts +4 -0
- package/node_modules/zod/v4/locales/ur.js +115 -0
- package/node_modules/zod/v4/locales/uz.cjs +140 -0
- package/node_modules/zod/v4/locales/uz.d.cts +5 -0
- package/node_modules/zod/v4/locales/uz.d.ts +4 -0
- package/node_modules/zod/v4/locales/uz.js +113 -0
- package/node_modules/zod/v4/locales/vi.cjs +140 -0
- package/node_modules/zod/v4/locales/vi.d.cts +5 -0
- package/node_modules/zod/v4/locales/vi.d.ts +4 -0
- package/node_modules/zod/v4/locales/vi.js +113 -0
- package/node_modules/zod/v4/locales/yo.cjs +139 -0
- package/node_modules/zod/v4/locales/yo.d.cts +5 -0
- package/node_modules/zod/v4/locales/yo.d.ts +4 -0
- package/node_modules/zod/v4/locales/yo.js +112 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +141 -0
- package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-CN.js +114 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +139 -0
- package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-TW.js +112 -0
- package/node_modules/zod/v4/mini/checks.cjs +54 -0
- package/node_modules/zod/v4/mini/checks.d.cts +1 -0
- package/node_modules/zod/v4/mini/checks.d.ts +1 -0
- package/node_modules/zod/v4/mini/checks.js +1 -0
- package/node_modules/zod/v4/mini/coerce.cjs +71 -0
- package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
- package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
- package/node_modules/zod/v4/mini/coerce.js +22 -0
- package/node_modules/zod/v4/mini/deep-partial.cjs +58 -0
- package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
- package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
- package/node_modules/zod/v4/mini/deep-partial.js +13 -0
- package/node_modules/zod/v4/mini/external.cjs +95 -0
- package/node_modules/zod/v4/mini/external.d.cts +16 -0
- package/node_modules/zod/v4/mini/external.d.ts +16 -0
- package/node_modules/zod/v4/mini/external.js +16 -0
- package/node_modules/zod/v4/mini/in-out.cjs +82 -0
- package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
- package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
- package/node_modules/zod/v4/mini/in-out.js +36 -0
- package/node_modules/zod/v4/mini/index.cjs +51 -0
- package/node_modules/zod/v4/mini/index.d.cts +3 -0
- package/node_modules/zod/v4/mini/index.d.ts +3 -0
- package/node_modules/zod/v4/mini/index.js +3 -0
- package/node_modules/zod/v4/mini/iso.cjs +83 -0
- package/node_modules/zod/v4/mini/iso.d.cts +22 -0
- package/node_modules/zod/v4/mini/iso.d.ts +22 -0
- package/node_modules/zod/v4/mini/iso.js +34 -0
- package/node_modules/zod/v4/mini/package.json +7 -0
- package/node_modules/zod/v4/mini/parse.cjs +37 -0
- package/node_modules/zod/v4/mini/parse.d.cts +1 -0
- package/node_modules/zod/v4/mini/parse.d.ts +1 -0
- package/node_modules/zod/v4/mini/parse.js +1 -0
- package/node_modules/zod/v4/mini/schemas.cjs +1147 -0
- package/node_modules/zod/v4/mini/schemas.d.cts +480 -0
- package/node_modules/zod/v4/mini/schemas.d.ts +480 -0
- package/node_modules/zod/v4/mini/schemas.js +1002 -0
- package/node_modules/zod/v4/package.json +7 -0
- package/node_modules/zod/v4-mini/index.cjs +51 -0
- package/node_modules/zod/v4-mini/index.d.cts +3 -0
- package/node_modules/zod/v4-mini/index.d.ts +3 -0
- package/node_modules/zod/v4-mini/index.js +3 -0
- package/node_modules/zod/v4-mini/package.json +7 -0
- package/package.json +66 -4
|
@@ -0,0 +1,1539 @@
|
|
|
1
|
+
import { expand } from 'brace-expansion';
|
|
2
|
+
import { Matcher } from '@isaacs/nonrecursive-glob-match';
|
|
3
|
+
import { assertValidPattern } from './assert-valid-pattern.js';
|
|
4
|
+
import { escape } from './escape.js';
|
|
5
|
+
import { unescape } from './unescape.js';
|
|
6
|
+
export const minimatch = (p, pattern, options = {}) => {
|
|
7
|
+
assertValidPattern(pattern);
|
|
8
|
+
// shortcut: comments match nothing.
|
|
9
|
+
if (!options.nocomment && pattern.charAt(0) === '#') {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return cachedMinimatch(pattern, options).match(p);
|
|
13
|
+
};
|
|
14
|
+
// The Minimatch objects that minimatch() used most recently. A Map
|
|
15
|
+
// keeps its keys in the order they were set, so the first key is the
|
|
16
|
+
// one used least recently.
|
|
17
|
+
const cache = new Map();
|
|
18
|
+
const cacheMax = 256;
|
|
19
|
+
const cachedMinimatch = (pattern, options) => {
|
|
20
|
+
const key = pattern + '\0' + JSON.stringify(options);
|
|
21
|
+
let mm = cache.get(key);
|
|
22
|
+
if (mm) {
|
|
23
|
+
cache.delete(key);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
// a copy, so a later change to the options can not change it
|
|
27
|
+
mm = new Minimatch(pattern, { ...options });
|
|
28
|
+
if (cache.size >= cacheMax) {
|
|
29
|
+
cache.delete(cache.keys().next().value);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
cache.set(key, mm);
|
|
33
|
+
return mm;
|
|
34
|
+
};
|
|
35
|
+
/* c8 ignore start */
|
|
36
|
+
const defaultPlatform = (typeof process === 'object' && process ?
|
|
37
|
+
process.env?.__MINIMATCH_TESTING_PLATFORM__ || process.platform
|
|
38
|
+
: 'posix');
|
|
39
|
+
const path = {
|
|
40
|
+
win32: { sep: '\\' },
|
|
41
|
+
posix: { sep: '/' },
|
|
42
|
+
};
|
|
43
|
+
/* c8 ignore stop */
|
|
44
|
+
export const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep;
|
|
45
|
+
minimatch.sep = sep;
|
|
46
|
+
export const GLOBSTAR = Symbol('globstar **');
|
|
47
|
+
minimatch.GLOBSTAR = GLOBSTAR;
|
|
48
|
+
export const filter = (pattern, options = {}) => (p) => minimatch(p, pattern, options);
|
|
49
|
+
minimatch.filter = filter;
|
|
50
|
+
const ext = (a, b = {}) => Object.assign({}, a, b);
|
|
51
|
+
export const defaults = (def) => {
|
|
52
|
+
if (!def || typeof def !== 'object' || !Object.keys(def).length) {
|
|
53
|
+
return minimatch;
|
|
54
|
+
}
|
|
55
|
+
const orig = minimatch;
|
|
56
|
+
const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
|
|
57
|
+
return Object.assign(m, {
|
|
58
|
+
Minimatch: class Minimatch extends orig.Minimatch {
|
|
59
|
+
constructor(pattern, options = {}) {
|
|
60
|
+
super(pattern, ext(def, options));
|
|
61
|
+
}
|
|
62
|
+
static defaults(options) {
|
|
63
|
+
return orig.defaults(ext(def, options)).Minimatch;
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
|
|
67
|
+
escape: (s, options = {}) => orig.escape(s, ext(def, options)),
|
|
68
|
+
filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
|
|
69
|
+
defaults: (options) => orig.defaults(ext(def, options)),
|
|
70
|
+
braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
|
|
71
|
+
match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
|
|
72
|
+
sep: orig.sep,
|
|
73
|
+
GLOBSTAR: GLOBSTAR,
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
minimatch.defaults = defaults;
|
|
77
|
+
// Brace expansion:
|
|
78
|
+
// a{b,c}d -> abd acd
|
|
79
|
+
// a{b,}c -> abc ac
|
|
80
|
+
// a{0..3}d -> a0d a1d a2d a3d
|
|
81
|
+
// a{b,c{d,e}f}g -> abg acdfg acefg
|
|
82
|
+
// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg
|
|
83
|
+
//
|
|
84
|
+
// Invalid sets are not expanded.
|
|
85
|
+
// a{2..}b -> a{2..}b
|
|
86
|
+
// a{b}c -> a{b}c
|
|
87
|
+
export const braceExpand = (pattern, options = {}) => {
|
|
88
|
+
assertValidPattern(pattern);
|
|
89
|
+
// Thanks to Yeting Li <https://github.com/yetingli> for
|
|
90
|
+
// improving this regexp to avoid a ReDOS vulnerability.
|
|
91
|
+
if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
|
|
92
|
+
// shortcut. no need to expand.
|
|
93
|
+
return [pattern];
|
|
94
|
+
}
|
|
95
|
+
return expand(pattern, { max: options.braceExpandMax });
|
|
96
|
+
};
|
|
97
|
+
minimatch.braceExpand = braceExpand;
|
|
98
|
+
export const match = (list, pattern, options = {}) => {
|
|
99
|
+
const mm = new Minimatch(pattern, options);
|
|
100
|
+
list = list.filter(f => mm.match(f));
|
|
101
|
+
if (mm.options.nonull && !list.length) {
|
|
102
|
+
list.push(pattern);
|
|
103
|
+
}
|
|
104
|
+
return list;
|
|
105
|
+
};
|
|
106
|
+
minimatch.match = match;
|
|
107
|
+
const globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
|
|
108
|
+
// Index of the `]` that closes the class that starts at `start`,
|
|
109
|
+
// or -1 if it is not closed. Posix classes such as `[:alpha:]` are
|
|
110
|
+
// not skipped, so this can find a `]` before the real end. That
|
|
111
|
+
// only makes a class look less like a literal.
|
|
112
|
+
const classEnd = (pattern, start) => {
|
|
113
|
+
let i = start + 1;
|
|
114
|
+
if (pattern.charAt(i) === '!' || pattern.charAt(i) === '^')
|
|
115
|
+
i++;
|
|
116
|
+
let sawStart = false;
|
|
117
|
+
for (; i < pattern.length; i++) {
|
|
118
|
+
const c = pattern.charAt(i);
|
|
119
|
+
if (c === ']' && sawStart)
|
|
120
|
+
return i;
|
|
121
|
+
sawStart = true;
|
|
122
|
+
if (c === '\\')
|
|
123
|
+
i++;
|
|
124
|
+
}
|
|
125
|
+
return -1;
|
|
126
|
+
};
|
|
127
|
+
// If a path portion pattern has no magic, return the string it
|
|
128
|
+
// matches. Otherwise, return undefined. This can report magic for
|
|
129
|
+
// a pattern that is in fact literal (eg, `[]`), but never the
|
|
130
|
+
// reverse, so a string result is always safe to compare directly.
|
|
131
|
+
const literal = (pattern, noext) => {
|
|
132
|
+
if (!noext && (pattern === '+()' || pattern === '@()'))
|
|
133
|
+
return pattern;
|
|
134
|
+
let lit = '';
|
|
135
|
+
for (let i = 0; i < pattern.length; i++) {
|
|
136
|
+
const c = pattern.charAt(i);
|
|
137
|
+
if (c === '\\') {
|
|
138
|
+
// a trailing \ is a literal \
|
|
139
|
+
lit += pattern.charAt(++i) || c;
|
|
140
|
+
}
|
|
141
|
+
else if (c === '*' || c === '?') {
|
|
142
|
+
return undefined;
|
|
143
|
+
}
|
|
144
|
+
else if (c === '[') {
|
|
145
|
+
const close = classEnd(pattern, i);
|
|
146
|
+
if (close === -1) {
|
|
147
|
+
// not closed, so the [ is a literal
|
|
148
|
+
lit += c;
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
// a class of one char, such as `[*]` or `[\b]`, is a literal
|
|
152
|
+
let body = pattern.slice(i + 1, close);
|
|
153
|
+
if (body.startsWith('\\'))
|
|
154
|
+
body = body.slice(1);
|
|
155
|
+
if ([...body].length !== 1 || '!^'.includes(pattern.charAt(i + 1))) {
|
|
156
|
+
return undefined;
|
|
157
|
+
}
|
|
158
|
+
lit += body;
|
|
159
|
+
i = close;
|
|
160
|
+
}
|
|
161
|
+
else if (!noext &&
|
|
162
|
+
'+@!'.includes(c) &&
|
|
163
|
+
pattern.charAt(i + 1) === '(' &&
|
|
164
|
+
pattern.includes(')', i + 2)) {
|
|
165
|
+
return undefined;
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
lit += c;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return lit;
|
|
172
|
+
};
|
|
173
|
+
// True if the portion pattern has the same meaning as an alternative
|
|
174
|
+
// inside `@(...)`. It must not have a `|` or `)` that is not in a
|
|
175
|
+
// closed extglob (those are literal at the top level), an extglob
|
|
176
|
+
// that is not closed (the `)` of the `@(...)` would close it), or a
|
|
177
|
+
// trailing `\` (it would escape the next `|`). A pattern that is
|
|
178
|
+
// only an empty extglob, such as `?()`, is literal on its own, but
|
|
179
|
+
// not in `@(...)`. Posix classes such as `[:alpha:]` can hide a `]`
|
|
180
|
+
// from classEnd, so patterns with them are not merged.
|
|
181
|
+
const extSafe = (pattern) => {
|
|
182
|
+
if (/^[?*+@]\(\)$/.test(pattern) || pattern.includes('[:'))
|
|
183
|
+
return false;
|
|
184
|
+
let depth = 0;
|
|
185
|
+
for (let i = 0; i < pattern.length; i++) {
|
|
186
|
+
const c = pattern.charAt(i);
|
|
187
|
+
if (c === '\\') {
|
|
188
|
+
if (++i === pattern.length)
|
|
189
|
+
return false;
|
|
190
|
+
}
|
|
191
|
+
else if (c === '[') {
|
|
192
|
+
const close = classEnd(pattern, i);
|
|
193
|
+
if (close !== -1)
|
|
194
|
+
i = close;
|
|
195
|
+
}
|
|
196
|
+
else if ('+@!?*'.includes(c) && pattern.charAt(i + 1) === '(') {
|
|
197
|
+
depth++;
|
|
198
|
+
i++;
|
|
199
|
+
}
|
|
200
|
+
else if (c === ')') {
|
|
201
|
+
if (!depth--)
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
else if (c === '|' && !depth) {
|
|
205
|
+
return false;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return !depth;
|
|
209
|
+
};
|
|
210
|
+
// The last path that Minimatch#match split, and its parts. A path is
|
|
211
|
+
// often tested against many patterns in a row (such as a list of
|
|
212
|
+
// ignore patterns), so this saves splitting it again. The parts are
|
|
213
|
+
// never changed, so they can be shared.
|
|
214
|
+
let lastSplit;
|
|
215
|
+
// The last path that Minimatch#match checked before splitting it. If
|
|
216
|
+
// the same path is checked again, it is being tested against many
|
|
217
|
+
// patterns, so it is split and the parts are kept for the others.
|
|
218
|
+
let lastChecked;
|
|
219
|
+
// true if a pattern portion that is not ** matches a path portion.
|
|
220
|
+
// An empty path portion only matches an empty pattern portion. A path
|
|
221
|
+
// portion never has a `/`, so the Matcher does not need to check it.
|
|
222
|
+
const portionMatch = (p, f) => typeof p === 'string' ? f === p : f !== '' && p.testUnchecked(f);
|
|
223
|
+
// Where the last portion of a row matches in a path: the start of the
|
|
224
|
+
// last portion of the path, or of the one before a trailing `/`. -1 if
|
|
225
|
+
// it matches neither.
|
|
226
|
+
const endIndex = (p, last, lastStart, prev, prevStart) => portionMatch(p, last) ? lastStart
|
|
227
|
+
: prev !== undefined && portionMatch(p, prev) ? prevStart
|
|
228
|
+
: -1;
|
|
229
|
+
const isDots = (p) => p === '.' || p === '..';
|
|
230
|
+
// a Windows drive letter portion, like `c:`
|
|
231
|
+
const isDrive = (p) => typeof p === 'string' && /^[a-z]:$/i.test(p);
|
|
232
|
+
// true for the `UNC` portion of a long UNC root, //?/UNC/host/share
|
|
233
|
+
const isLongUNC = (p) => typeof p === 'string' && /^unc$/i.test(p);
|
|
234
|
+
// The index of the host in a row or split path that starts with a
|
|
235
|
+
// Windows UNC root: 2 for `//host/share`, and 4 for
|
|
236
|
+
// `//?/UNC/host/share`. Otherwise -1. `//?/c:` is not one.
|
|
237
|
+
const uncHost = (p) => {
|
|
238
|
+
if (p[0] !== '' || p[1] !== '')
|
|
239
|
+
return -1;
|
|
240
|
+
const h = p[2] !== '?' ? 2
|
|
241
|
+
: isLongUNC(p[3]) ? 4
|
|
242
|
+
: -1;
|
|
243
|
+
const host = p[h];
|
|
244
|
+
const share = p[h + 1];
|
|
245
|
+
return (h !== -1 &&
|
|
246
|
+
host !== undefined &&
|
|
247
|
+
host !== '' &&
|
|
248
|
+
host !== GLOBSTAR &&
|
|
249
|
+
share !== undefined &&
|
|
250
|
+
share !== '' &&
|
|
251
|
+
share !== GLOBSTAR) ?
|
|
252
|
+
h
|
|
253
|
+
: -1;
|
|
254
|
+
};
|
|
255
|
+
// true if ** can walk the path portion: not `.` or `..`, and not a
|
|
256
|
+
// dotfile unless `dot` is set
|
|
257
|
+
const walkable = (p, dot) => !isDots(p) && (dot || !p.startsWith('.'));
|
|
258
|
+
// True if a portion of the path from `start` to `end` can not be
|
|
259
|
+
// walked by **: one that starts with `.`, or with `dot`, one that is
|
|
260
|
+
// `.` or `..`. `start` is the start of a portion, and `end` is the end
|
|
261
|
+
// of the path, or just after a separator.
|
|
262
|
+
const dotPortion = (f, start, end, dot, sep) => {
|
|
263
|
+
for (let k = start; k < end;) {
|
|
264
|
+
if (f.charCodeAt(k) === 46) {
|
|
265
|
+
if (!dot)
|
|
266
|
+
return true;
|
|
267
|
+
const n = f.charCodeAt(k + 1) === 46 ? k + 2 : k + 1;
|
|
268
|
+
if (n >= end || isSep(f.charCodeAt(n), sep))
|
|
269
|
+
return true;
|
|
270
|
+
}
|
|
271
|
+
// the start of the next portion, after any run of separators
|
|
272
|
+
const s = nextSep(f, k, sep);
|
|
273
|
+
if (s === -1)
|
|
274
|
+
return false;
|
|
275
|
+
k = s + 1;
|
|
276
|
+
while (k < end && isSep(f.charCodeAt(k), sep))
|
|
277
|
+
k++;
|
|
278
|
+
}
|
|
279
|
+
return false;
|
|
280
|
+
};
|
|
281
|
+
const isSep = (c, sep) => sep === '/' ? c === 47
|
|
282
|
+
: sep === '\\' ? c === 92
|
|
283
|
+
: c === 47 || c === 92;
|
|
284
|
+
// the index of the first separator at or after `from`, or -1
|
|
285
|
+
const nextSep = (f, from, sep) => {
|
|
286
|
+
if (sep !== 'both')
|
|
287
|
+
return f.indexOf(sep, from);
|
|
288
|
+
const s = f.indexOf('/', from);
|
|
289
|
+
const b = f.indexOf('\\', from);
|
|
290
|
+
return (s === -1 ? b
|
|
291
|
+
: b === -1 ? s
|
|
292
|
+
: Math.min(s, b));
|
|
293
|
+
};
|
|
294
|
+
// the index of the last separator at or before `from`, or -1
|
|
295
|
+
const lastSep = (f, from, sep) => sep !== 'both' ?
|
|
296
|
+
f.lastIndexOf(sep, from)
|
|
297
|
+
: Math.max(f.lastIndexOf('/', from), f.lastIndexOf('\\', from));
|
|
298
|
+
// What parse() returns in place of a Matcher while make() builds and
|
|
299
|
+
// merges the rows. Most of the Matchers in rows that are merged would
|
|
300
|
+
// never be used, so they are only made for the rows that are left.
|
|
301
|
+
const PENDING = {};
|
|
302
|
+
export class Minimatch {
|
|
303
|
+
options;
|
|
304
|
+
set;
|
|
305
|
+
pattern;
|
|
306
|
+
windowsPathsNoEscape;
|
|
307
|
+
nonegate;
|
|
308
|
+
negate;
|
|
309
|
+
comment;
|
|
310
|
+
empty;
|
|
311
|
+
preserveMultipleSlashes;
|
|
312
|
+
partial;
|
|
313
|
+
globSet;
|
|
314
|
+
globParts;
|
|
315
|
+
nocase;
|
|
316
|
+
isWindows;
|
|
317
|
+
platform;
|
|
318
|
+
windowsNoMagicRoot;
|
|
319
|
+
maxGlobstarRecursion;
|
|
320
|
+
// the path can be checked against the last portion, and the string
|
|
321
|
+
// portions, of each row before it is split. See #canMatch.
|
|
322
|
+
#endCheck;
|
|
323
|
+
#literalCheck;
|
|
324
|
+
// level 2 resolves `.` and `..` portions in the path
|
|
325
|
+
#level2;
|
|
326
|
+
// the unicode normalization form, if any
|
|
327
|
+
#form;
|
|
328
|
+
// the string portions of each row in the set
|
|
329
|
+
#literals = [];
|
|
330
|
+
// the rows that #canMatch can match without splitting the path
|
|
331
|
+
#shapes = [];
|
|
332
|
+
// the rows whose last portion can be checked against the path's
|
|
333
|
+
#endRows = [];
|
|
334
|
+
// brace expansion can make the same portion in many rows, so they
|
|
335
|
+
// share one Matcher, and the states that it caches
|
|
336
|
+
#matchers = new Map();
|
|
337
|
+
// parse() returns PENDING in place of a Matcher
|
|
338
|
+
#pending = false;
|
|
339
|
+
// the GlobstarParts of each pattern row, by start index and partial
|
|
340
|
+
#globstarParts = new WeakMap();
|
|
341
|
+
constructor(pattern, options = {}) {
|
|
342
|
+
assertValidPattern(pattern);
|
|
343
|
+
options = options || {};
|
|
344
|
+
this.options = options;
|
|
345
|
+
this.maxGlobstarRecursion = options.maxGlobstarRecursion ?? 200;
|
|
346
|
+
this.pattern = pattern;
|
|
347
|
+
this.platform = options.platform || defaultPlatform;
|
|
348
|
+
this.isWindows = this.platform === 'win32';
|
|
349
|
+
// avoid the annoying deprecation flag lol
|
|
350
|
+
const awe = ('allowWindow' + 'sEscape');
|
|
351
|
+
this.windowsPathsNoEscape =
|
|
352
|
+
!!options.windowsPathsNoEscape || options[awe] === false;
|
|
353
|
+
if (this.windowsPathsNoEscape) {
|
|
354
|
+
this.pattern = this.pattern.replace(/\\/g, '/');
|
|
355
|
+
}
|
|
356
|
+
this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
|
|
357
|
+
this.negate = false;
|
|
358
|
+
this.nonegate = !!options.nonegate;
|
|
359
|
+
this.comment = false;
|
|
360
|
+
this.empty = false;
|
|
361
|
+
this.partial = !!options.partial;
|
|
362
|
+
this.nocase = !!this.options.nocase;
|
|
363
|
+
this.windowsNoMagicRoot =
|
|
364
|
+
options.windowsNoMagicRoot !== undefined ?
|
|
365
|
+
options.windowsNoMagicRoot
|
|
366
|
+
: !!(this.isWindows && this.nocase);
|
|
367
|
+
this.globSet = [];
|
|
368
|
+
this.globParts = [];
|
|
369
|
+
this.set = [];
|
|
370
|
+
this.#endCheck = !this.preserveMultipleSlashes;
|
|
371
|
+
this.#level2 = (options.optimizationLevel ?? 1) >= 2;
|
|
372
|
+
const n = options.normalize;
|
|
373
|
+
this.#form = n === true ? 'NFC' : n || undefined;
|
|
374
|
+
// make the set of Matchers etc.
|
|
375
|
+
this.make();
|
|
376
|
+
// On Windows, the portions of a row up to its drive letter or UNC
|
|
377
|
+
// share are skipped or compared without case, if the path has one
|
|
378
|
+
// too. So the checks only use the portions after it.
|
|
379
|
+
const drives = this.set.map(row => this.#rootIndex(row));
|
|
380
|
+
this.#endRows = this.set.map((row, r) => this.#endCheck && row.length - 1 > drives[r]);
|
|
381
|
+
// with the end check, the last portion is already checked
|
|
382
|
+
this.#literals = this.set.map((row, r) => {
|
|
383
|
+
const end = this.#endRows[r] ? row.length - 1 : row.length;
|
|
384
|
+
const lits = row
|
|
385
|
+
.slice(drives[r] + 1, end)
|
|
386
|
+
.filter((p) => typeof p === 'string' && !!p);
|
|
387
|
+
return [...new Set(lits)];
|
|
388
|
+
});
|
|
389
|
+
this.#literalCheck = this.#literals.some(l => l.length);
|
|
390
|
+
this.#shapes = this.set.map((row, r) => {
|
|
391
|
+
const [p0, p1, p2] = row;
|
|
392
|
+
if (this.#endRows[r] && row.length === 2) {
|
|
393
|
+
if (p0 === GLOBSTAR && p1 !== GLOBSTAR)
|
|
394
|
+
return 'tail';
|
|
395
|
+
}
|
|
396
|
+
// the basename of a path that is split on / is its last portion,
|
|
397
|
+
// or the one before a trailing /, the same as the end check
|
|
398
|
+
if (this.#endRows[r] &&
|
|
399
|
+
options.matchBase &&
|
|
400
|
+
row.length === 1 &&
|
|
401
|
+
p0 !== GLOBSTAR &&
|
|
402
|
+
p0 !== '') {
|
|
403
|
+
return 'base';
|
|
404
|
+
}
|
|
405
|
+
// the portion must not be a root, or '', which can be a
|
|
406
|
+
// different portion on Windows (where //x paths get an extra '')
|
|
407
|
+
if (!this.#endCheck || drives[r] !== -1)
|
|
408
|
+
return undefined;
|
|
409
|
+
if (row.length === 3 &&
|
|
410
|
+
p0 === GLOBSTAR &&
|
|
411
|
+
p2 === GLOBSTAR &&
|
|
412
|
+
p1 !== GLOBSTAR &&
|
|
413
|
+
p1 !== '' &&
|
|
414
|
+
// the portion between is only matched below this limit
|
|
415
|
+
this.maxGlobstarRecursion > 0) {
|
|
416
|
+
return 'mid';
|
|
417
|
+
}
|
|
418
|
+
if (row.length === 2 &&
|
|
419
|
+
p1 === GLOBSTAR &&
|
|
420
|
+
p0 !== GLOBSTAR &&
|
|
421
|
+
p0 !== '') {
|
|
422
|
+
return 'head';
|
|
423
|
+
}
|
|
424
|
+
return undefined;
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
// a string portion of a pattern, normalized if the option is set
|
|
428
|
+
#norm(p) {
|
|
429
|
+
return this.#form ? p.normalize(this.#form) : p;
|
|
430
|
+
}
|
|
431
|
+
// On Windows, the index of the last root portion of a row, as
|
|
432
|
+
// #matchRow finds it: 0 for `c:/...`, 3 for `//?/c:/...` and
|
|
433
|
+
// `//host/share/...`, and 5 for `//?/UNC/host/share/...`. Otherwise
|
|
434
|
+
// -1.
|
|
435
|
+
#rootIndex(row) {
|
|
436
|
+
if (!this.isWindows)
|
|
437
|
+
return -1;
|
|
438
|
+
if (isDrive(row[0]))
|
|
439
|
+
return 0;
|
|
440
|
+
const uncDrive = row[0] === '' && row[1] === '' && row[2] === '?' && isDrive(row[3]);
|
|
441
|
+
if (uncDrive)
|
|
442
|
+
return 3;
|
|
443
|
+
const h = uncHost(row);
|
|
444
|
+
return h === -1 ? -1 : h + 1;
|
|
445
|
+
}
|
|
446
|
+
hasMagic() {
|
|
447
|
+
if (this.options.magicalBraces && this.set.length > 1) {
|
|
448
|
+
return true;
|
|
449
|
+
}
|
|
450
|
+
for (const pattern of this.set) {
|
|
451
|
+
for (const part of pattern) {
|
|
452
|
+
if (typeof part !== 'string')
|
|
453
|
+
return true;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
return false;
|
|
457
|
+
}
|
|
458
|
+
make() {
|
|
459
|
+
const pattern = this.pattern;
|
|
460
|
+
const options = this.options;
|
|
461
|
+
// empty patterns and comments match nothing.
|
|
462
|
+
if (!options.nocomment && pattern.charAt(0) === '#') {
|
|
463
|
+
this.comment = true;
|
|
464
|
+
return;
|
|
465
|
+
}
|
|
466
|
+
if (!pattern) {
|
|
467
|
+
this.empty = true;
|
|
468
|
+
return;
|
|
469
|
+
}
|
|
470
|
+
// step 1: figure out negation, etc.
|
|
471
|
+
this.parseNegate();
|
|
472
|
+
// step 2: expand braces
|
|
473
|
+
this.globSet = [...new Set(this.braceExpand())];
|
|
474
|
+
// step 3: now we have a set, so turn each one into a series of
|
|
475
|
+
// path-portion matching patterns.
|
|
476
|
+
// These will be Matchers, except in the case of "**", which is
|
|
477
|
+
// set to the GLOBSTAR object for globstar behavior,
|
|
478
|
+
// and will not contain any / characters
|
|
479
|
+
//
|
|
480
|
+
// First, we preprocess to make the glob pattern sets a bit simpler
|
|
481
|
+
// and deduped. There are some perf-killing patterns that can cause
|
|
482
|
+
// problems with a glob walk, but we can simplify them down a bit.
|
|
483
|
+
const rawGlobParts = this.globSet.map(s => this.#slashSplit(s));
|
|
484
|
+
this.globParts = this.preprocess(rawGlobParts);
|
|
485
|
+
// glob --> Matchers
|
|
486
|
+
this.#pending = true;
|
|
487
|
+
let set = this.globParts.map((s, _, __) => {
|
|
488
|
+
if (this.isWindows && this.windowsNoMagicRoot) {
|
|
489
|
+
// check if it's a drive or unc path. The root of a long UNC
|
|
490
|
+
// path, //?/UNC/host/share, is 6 portions.
|
|
491
|
+
const n = s[2] === '?' && isLongUNC(s[3]) ? 6 : 4;
|
|
492
|
+
const isUNC = s[0] === '' &&
|
|
493
|
+
s[1] === '' &&
|
|
494
|
+
(s[2] === '?' || !globMagic.test(s[2])) &&
|
|
495
|
+
s.slice(3, n).every(p => !globMagic.test(p));
|
|
496
|
+
const isDrive = /^[a-z]:/i.test(s[0]);
|
|
497
|
+
if (isUNC) {
|
|
498
|
+
return [
|
|
499
|
+
...s.slice(0, n).map(p => this.#norm(p)),
|
|
500
|
+
...s.slice(n).map(ss => this.parse(ss)),
|
|
501
|
+
];
|
|
502
|
+
}
|
|
503
|
+
else if (isDrive) {
|
|
504
|
+
return [
|
|
505
|
+
this.#norm(s[0]),
|
|
506
|
+
...s.slice(1).map(ss => this.parse(ss)),
|
|
507
|
+
];
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
return s.map(ss => this.parse(ss));
|
|
511
|
+
});
|
|
512
|
+
// filter out everything that didn't compile properly.
|
|
513
|
+
this.set = set.filter(s => s.indexOf(false) === -1);
|
|
514
|
+
// do not treat the ? in UNC paths as magic
|
|
515
|
+
if (this.isWindows) {
|
|
516
|
+
for (let i = 0; i < this.set.length; i++) {
|
|
517
|
+
const p = this.set[i];
|
|
518
|
+
if (p[0] === '' &&
|
|
519
|
+
p[1] === '' &&
|
|
520
|
+
this.globParts[i][2] === '?' &&
|
|
521
|
+
(isDrive(p[3]) || isLongUNC(this.globParts[i][3]))) {
|
|
522
|
+
if (isLongUNC(this.globParts[i][3]))
|
|
523
|
+
p[3] = 'UNC';
|
|
524
|
+
p[2] = '?';
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
// with noext, `@(...)` would be literal
|
|
529
|
+
if (!options.noext)
|
|
530
|
+
this.mergeRows();
|
|
531
|
+
this.#pending = false;
|
|
532
|
+
this.set.forEach((row, i) => {
|
|
533
|
+
for (let k = 0; k < row.length; k++) {
|
|
534
|
+
if (row[k] === PENDING) {
|
|
535
|
+
row[k] = this.parse(this.globParts[i][k]);
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
});
|
|
539
|
+
}
|
|
540
|
+
// Merge rows that only differ in one portion, where each of them
|
|
541
|
+
// is a Matcher, into one row that matches any of them with
|
|
542
|
+
// `@(a|b|...)`. Then a path is only walked once for all of them,
|
|
543
|
+
// for example with `**/*.{js,ts}`.
|
|
544
|
+
mergeRows() {
|
|
545
|
+
let merged = true;
|
|
546
|
+
while (merged) {
|
|
547
|
+
merged = false;
|
|
548
|
+
const len = Math.max(0, ...this.set.map(r => r.length));
|
|
549
|
+
for (let k = 0; k < len; k++) {
|
|
550
|
+
// the rows that are the same other than at portion k
|
|
551
|
+
const groups = new Map();
|
|
552
|
+
this.set.forEach((row, i) => {
|
|
553
|
+
if (!(row[k] instanceof Matcher || row[k] === PENDING) ||
|
|
554
|
+
!extSafe(this.globParts[i][k])) {
|
|
555
|
+
return;
|
|
556
|
+
}
|
|
557
|
+
const parts = [...this.globParts[i]];
|
|
558
|
+
parts[k] = '';
|
|
559
|
+
const key = `${row.length}/${parts.join('/')}`;
|
|
560
|
+
const g = groups.get(key);
|
|
561
|
+
if (g)
|
|
562
|
+
g.push(i);
|
|
563
|
+
else
|
|
564
|
+
groups.set(key, [i]);
|
|
565
|
+
});
|
|
566
|
+
const drop = new Set();
|
|
567
|
+
for (const g of groups.values()) {
|
|
568
|
+
if (g.length < 2)
|
|
569
|
+
continue;
|
|
570
|
+
const [first, ...rest] = g;
|
|
571
|
+
const alts = g.map(i => this.globParts[i][k]);
|
|
572
|
+
const glob = `@(${alts.join('|')})`;
|
|
573
|
+
this.globParts[first][k] = glob;
|
|
574
|
+
this.set[first][k] = this.parse(glob);
|
|
575
|
+
for (const i of rest)
|
|
576
|
+
drop.add(i);
|
|
577
|
+
}
|
|
578
|
+
if (drop.size) {
|
|
579
|
+
merged = true;
|
|
580
|
+
this.set = this.set.filter((_, i) => !drop.has(i));
|
|
581
|
+
this.globParts = this.globParts.filter((_, i) => !drop.has(i));
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
// various transforms to equivalent pattern sets that are
|
|
587
|
+
// faster to process in a filesystem walk. The goal is to
|
|
588
|
+
// eliminate what we can, and push all ** patterns as far
|
|
589
|
+
// to the right as possible, even if it increases the number
|
|
590
|
+
// of patterns that we have to process.
|
|
591
|
+
preprocess(globParts) {
|
|
592
|
+
// if we're not in globstar mode, then turn ** into *
|
|
593
|
+
if (this.options.noglobstar) {
|
|
594
|
+
for (const partset of globParts) {
|
|
595
|
+
for (let j = 0; j < partset.length; j++) {
|
|
596
|
+
if (partset[j] === '**') {
|
|
597
|
+
partset[j] = '*';
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
const { optimizationLevel = 1 } = this.options;
|
|
603
|
+
if (optimizationLevel >= 2) {
|
|
604
|
+
// aggressive optimization for the purpose of fs walking
|
|
605
|
+
globParts = this.firstPhasePreProcess(globParts);
|
|
606
|
+
globParts = this.secondPhasePreProcess(globParts);
|
|
607
|
+
}
|
|
608
|
+
else if (optimizationLevel >= 1) {
|
|
609
|
+
// just basic optimizations to remove some .. parts
|
|
610
|
+
globParts = this.levelOneOptimize(globParts);
|
|
611
|
+
}
|
|
612
|
+
else {
|
|
613
|
+
// just collapse multiple ** portions into one
|
|
614
|
+
globParts = this.adjascentGlobstarOptimize(globParts);
|
|
615
|
+
}
|
|
616
|
+
return globParts;
|
|
617
|
+
}
|
|
618
|
+
// just get rid of adjascent ** portions
|
|
619
|
+
adjascentGlobstarOptimize(globParts) {
|
|
620
|
+
return globParts.map(parts => {
|
|
621
|
+
let gs = -1;
|
|
622
|
+
while (-1 !== (gs = parts.indexOf('**', gs + 1))) {
|
|
623
|
+
let i = gs;
|
|
624
|
+
while (parts[i + 1] === '**') {
|
|
625
|
+
i++;
|
|
626
|
+
}
|
|
627
|
+
if (i !== gs) {
|
|
628
|
+
parts.splice(gs, i - gs);
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
return parts;
|
|
632
|
+
});
|
|
633
|
+
}
|
|
634
|
+
// get rid of adjascent ** and resolve .. portions
|
|
635
|
+
levelOneOptimize(globParts) {
|
|
636
|
+
return globParts.map(parts => {
|
|
637
|
+
// .. can not remove the root of a Windows path
|
|
638
|
+
const root = this.#rootIndex(parts) + 1;
|
|
639
|
+
parts = parts.reduce((set, part) => {
|
|
640
|
+
const prev = set[set.length - 1];
|
|
641
|
+
if (part === '**' && prev === '**') {
|
|
642
|
+
return set;
|
|
643
|
+
}
|
|
644
|
+
if (part === '..') {
|
|
645
|
+
if (set.length > root &&
|
|
646
|
+
prev &&
|
|
647
|
+
prev !== '..' &&
|
|
648
|
+
prev !== '.' &&
|
|
649
|
+
prev !== '**') {
|
|
650
|
+
set.pop();
|
|
651
|
+
return set;
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
set.push(part);
|
|
655
|
+
return set;
|
|
656
|
+
}, []);
|
|
657
|
+
return parts.length === 0 ? [''] : parts;
|
|
658
|
+
});
|
|
659
|
+
}
|
|
660
|
+
// Check the path against each row before it is split. 'no' if no
|
|
661
|
+
// row can match, so it does not need to be split. 'yes' if a row of
|
|
662
|
+
// `**` and one more portion matches. 'maybe' if it must be split to
|
|
663
|
+
// know. None of this applies with partial, where the path can end
|
|
664
|
+
// before the row does.
|
|
665
|
+
//
|
|
666
|
+
// On Windows, `\` is a separator in the path too, and the portions of
|
|
667
|
+
// a row up to its drive letter or UNC share are not checked (see
|
|
668
|
+
// #rootIndex).
|
|
669
|
+
//
|
|
670
|
+
// Each string portion of a row must be a portion of the path, so the
|
|
671
|
+
// path must contain it. Level 2 can only take portions out of the
|
|
672
|
+
// path, so this is still true then.
|
|
673
|
+
//
|
|
674
|
+
// The last portion of a row must match the last portion of the path,
|
|
675
|
+
// or the one before a trailing `/` (as a/* and a/**/* match a/b/).
|
|
676
|
+
// This does not apply to rows that end in **, rows that end in a
|
|
677
|
+
// root, or preserveMultipleSlashes (which can leave more
|
|
678
|
+
// than one '' at the end). At level 2, it does not apply if that
|
|
679
|
+
// portion is `.` or `..`, which can be
|
|
680
|
+
// resolved away. Level 2 only takes other portions out of the
|
|
681
|
+
// middle of the path.
|
|
682
|
+
//
|
|
683
|
+
// A row of `**/x` then matches if the ** can walk the portions
|
|
684
|
+
// before the one that x matches, the same as #matchGlobstar. At
|
|
685
|
+
// level 2, this is only known if none of them are `.` or `..`, so
|
|
686
|
+
// that the path does not change when it is resolved.
|
|
687
|
+
#canMatch(f) {
|
|
688
|
+
const sep = !this.isWindows || !f.includes('\\') ? '/'
|
|
689
|
+
: f.includes('/') ? 'both'
|
|
690
|
+
: '\\';
|
|
691
|
+
// the portions that f.split(/\/+/) would end with, and where they
|
|
692
|
+
// start in f, found when a row needs them. `ends` is 0 until they
|
|
693
|
+
// are found, then 1, or -1 if they can not be used.
|
|
694
|
+
let ends = this.#endCheck ? 0 : -1;
|
|
695
|
+
let last = '';
|
|
696
|
+
let lastStart = 0;
|
|
697
|
+
let prev;
|
|
698
|
+
let prevStart = 0;
|
|
699
|
+
const dot = !!this.options.dot;
|
|
700
|
+
// A string compare is cheaper than includes(), and a Matcher test
|
|
701
|
+
// costs more, so the cheaper check goes first.
|
|
702
|
+
ROWS: for (let r = 0; r < this.set.length; r++) {
|
|
703
|
+
const row = this.set[r];
|
|
704
|
+
const p = row[row.length - 1];
|
|
705
|
+
let end = ends !== -1 && this.#endRows[r] && p !== GLOBSTAR;
|
|
706
|
+
if (end && ends === 0) {
|
|
707
|
+
const i = lastSep(f, f.length, sep);
|
|
708
|
+
lastStart = i + 1;
|
|
709
|
+
last = f.slice(lastStart);
|
|
710
|
+
if (last === '' && i >= 0) {
|
|
711
|
+
let j = i;
|
|
712
|
+
while (j > 0 && isSep(f.charCodeAt(j - 1), sep))
|
|
713
|
+
j--;
|
|
714
|
+
prevStart = j === 0 ? 0 : lastSep(f, j - 1, sep) + 1;
|
|
715
|
+
prev = f.slice(prevStart, j);
|
|
716
|
+
}
|
|
717
|
+
const resolves = this.#level2 &&
|
|
718
|
+
(isDots(last) ||
|
|
719
|
+
(last === '' && prev !== undefined && isDots(prev)));
|
|
720
|
+
ends = resolves ? -1 : 1;
|
|
721
|
+
end = !resolves;
|
|
722
|
+
}
|
|
723
|
+
let tailStart = -1;
|
|
724
|
+
if (end && typeof p === 'string') {
|
|
725
|
+
tailStart = endIndex(p, last, lastStart, prev, prevStart);
|
|
726
|
+
if (tailStart === -1)
|
|
727
|
+
continue;
|
|
728
|
+
}
|
|
729
|
+
if (this.#literalCheck) {
|
|
730
|
+
for (const l of this.#literals[r]) {
|
|
731
|
+
if (!f.includes(l))
|
|
732
|
+
continue ROWS;
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
if (end && typeof p === 'object') {
|
|
736
|
+
tailStart = endIndex(p, last, lastStart, prev, prevStart);
|
|
737
|
+
if (tailStart === -1)
|
|
738
|
+
continue;
|
|
739
|
+
}
|
|
740
|
+
const shape = this.#shapes[r];
|
|
741
|
+
if (shape === 'base' && end)
|
|
742
|
+
return 'yes';
|
|
743
|
+
if (shape === 'tail' && end) {
|
|
744
|
+
if (this.#level2 && dotPortion(f, 0, tailStart, true, sep)) {
|
|
745
|
+
return 'maybe';
|
|
746
|
+
}
|
|
747
|
+
if (!dotPortion(f, 0, tailStart, dot, sep))
|
|
748
|
+
return 'yes';
|
|
749
|
+
continue;
|
|
750
|
+
}
|
|
751
|
+
if (shape === 'mid' || shape === 'head') {
|
|
752
|
+
const m = this.#walk(f, row, shape === 'head', dot, sep);
|
|
753
|
+
if (m !== 'no')
|
|
754
|
+
return m;
|
|
755
|
+
continue;
|
|
756
|
+
}
|
|
757
|
+
return 'maybe';
|
|
758
|
+
}
|
|
759
|
+
return 'no';
|
|
760
|
+
}
|
|
761
|
+
// Match a row of a known shape against the split path, the same as
|
|
762
|
+
// #matchGlobstar and #matchGlobStarBodySections do. None of these
|
|
763
|
+
// rows have a drive letter, so they start at the first portion.
|
|
764
|
+
#matchShape(file, row, shape) {
|
|
765
|
+
const dot = !!this.options.dot;
|
|
766
|
+
const n = file.length;
|
|
767
|
+
if (shape === 'head') {
|
|
768
|
+
// x, then at least one portion that ** can walk
|
|
769
|
+
if (n < 2 || !portionMatch(row[0], file[0])) {
|
|
770
|
+
return false;
|
|
771
|
+
}
|
|
772
|
+
for (let i = 1; i < n; i++)
|
|
773
|
+
if (!walkable(file[i], dot))
|
|
774
|
+
return false;
|
|
775
|
+
return true;
|
|
776
|
+
}
|
|
777
|
+
const x = row[1];
|
|
778
|
+
if (shape === 'tail') {
|
|
779
|
+
// x is the last portion, or the one before a trailing ''
|
|
780
|
+
let t = n - 1;
|
|
781
|
+
if (!portionMatch(x, file[t])) {
|
|
782
|
+
if (file[t] !== '' || n === 1 || !portionMatch(x, file[--t])) {
|
|
783
|
+
return false;
|
|
784
|
+
}
|
|
785
|
+
}
|
|
786
|
+
for (let i = 0; i < t; i++)
|
|
787
|
+
if (!walkable(file[i], dot))
|
|
788
|
+
return false;
|
|
789
|
+
return true;
|
|
790
|
+
}
|
|
791
|
+
// mid: the first x that ** can walk to, with a portion after it,
|
|
792
|
+
// and ** can walk all of those
|
|
793
|
+
for (let k = 0; k < n; k++) {
|
|
794
|
+
if (portionMatch(x, file[k]) && k + 1 < n) {
|
|
795
|
+
let i = k + 1;
|
|
796
|
+
while (i < n && walkable(file[i], dot))
|
|
797
|
+
i++;
|
|
798
|
+
if (i === n)
|
|
799
|
+
return true;
|
|
800
|
+
}
|
|
801
|
+
if (!walkable(file[k], dot))
|
|
802
|
+
return false;
|
|
803
|
+
}
|
|
804
|
+
return false;
|
|
805
|
+
}
|
|
806
|
+
// Match a row of `**/x/**` or `x/**` against the path, the same as
|
|
807
|
+
// #matchGlobstar and #matchGlobStarBodySections do once it is split.
|
|
808
|
+
// x must match a portion (the first one, for `x/**`), the ** before
|
|
809
|
+
// it must be able to walk the portions before that one, and there
|
|
810
|
+
// must be a portion after it, which the ** after it can walk. At
|
|
811
|
+
// level 2, this is only known if no portion is `.` or `..`.
|
|
812
|
+
#walk(f, row, head, dot, sep) {
|
|
813
|
+
if (this.#level2 && dotPortion(f, 0, f.length, true, sep))
|
|
814
|
+
return 'maybe';
|
|
815
|
+
const x = row[head ? 0 : 1];
|
|
816
|
+
// the last portion has none after it, so it can not be x
|
|
817
|
+
let s = 0;
|
|
818
|
+
for (let e = nextSep(f, s, sep); e !== -1; e = nextSep(f, s, sep)) {
|
|
819
|
+
// the start of the next portion
|
|
820
|
+
let next = e + 1;
|
|
821
|
+
while (next < f.length && isSep(f.charCodeAt(next), sep))
|
|
822
|
+
next++;
|
|
823
|
+
const hit = typeof x === 'string' ?
|
|
824
|
+
e - s === x.length && f.startsWith(x, s)
|
|
825
|
+
: e > s && x.testUnchecked(f.slice(s, e));
|
|
826
|
+
if (hit && !dotPortion(f, next, f.length, dot, sep))
|
|
827
|
+
return 'yes';
|
|
828
|
+
if (head || dotPortion(f, s, next, dot, sep))
|
|
829
|
+
return 'no';
|
|
830
|
+
s = next;
|
|
831
|
+
}
|
|
832
|
+
return 'no';
|
|
833
|
+
}
|
|
834
|
+
// the last split, if it was the same path with the same split
|
|
835
|
+
// settings
|
|
836
|
+
#cachedSplit(f) {
|
|
837
|
+
const last = lastSplit;
|
|
838
|
+
return (last?.f === f &&
|
|
839
|
+
last.isWindows === this.isWindows &&
|
|
840
|
+
last.preserveMultipleSlashes === this.preserveMultipleSlashes &&
|
|
841
|
+
last.normalize === this.#form) ?
|
|
842
|
+
last
|
|
843
|
+
: undefined;
|
|
844
|
+
}
|
|
845
|
+
// split a path for match(), and keep the parts for the next call
|
|
846
|
+
#split(f) {
|
|
847
|
+
const { isWindows, preserveMultipleSlashes } = this;
|
|
848
|
+
// windows: need to use /, not \
|
|
849
|
+
let parts = this.#slashSplit(isWindows ? f.split('\\').join('/') : f);
|
|
850
|
+
// normalize each portion, so that a char that normalizes to `/`
|
|
851
|
+
// does not make a new portion
|
|
852
|
+
const normalize = this.#form;
|
|
853
|
+
if (normalize)
|
|
854
|
+
parts = parts.map(p => p.normalize(normalize));
|
|
855
|
+
lastSplit = {
|
|
856
|
+
f,
|
|
857
|
+
isWindows,
|
|
858
|
+
preserveMultipleSlashes,
|
|
859
|
+
normalize,
|
|
860
|
+
parts,
|
|
861
|
+
};
|
|
862
|
+
return lastSplit;
|
|
863
|
+
}
|
|
864
|
+
// resolve `.` and `..` portions of a path, for level 2
|
|
865
|
+
#levelTwoFileOptimize(file) {
|
|
866
|
+
// work on a copy, so that the cached parts do not change
|
|
867
|
+
const parts = [...file];
|
|
868
|
+
let didSomething = false;
|
|
869
|
+
do {
|
|
870
|
+
didSomething = false;
|
|
871
|
+
// <pre>/<e>/<rest> -> <pre>/<rest>
|
|
872
|
+
if (!this.preserveMultipleSlashes) {
|
|
873
|
+
for (let i = 1; i < parts.length - 1; i++) {
|
|
874
|
+
const p = parts[i];
|
|
875
|
+
// don't squeeze out UNC patterns
|
|
876
|
+
if (i === 1 && p === '' && parts[0] === '')
|
|
877
|
+
continue;
|
|
878
|
+
if (p === '.' || p === '') {
|
|
879
|
+
didSomething = true;
|
|
880
|
+
parts.splice(i, 1);
|
|
881
|
+
i--;
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
if (parts[0] === '.' &&
|
|
885
|
+
parts.length === 2 &&
|
|
886
|
+
(parts[1] === '.' || parts[1] === '')) {
|
|
887
|
+
didSomething = true;
|
|
888
|
+
parts.pop();
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
// <pre>/<p>/../<rest> -> <pre>/<rest>
|
|
892
|
+
// .. can not remove the root of a Windows path
|
|
893
|
+
const root = this.#rootIndex(parts) + 1;
|
|
894
|
+
let dd = root;
|
|
895
|
+
while (-1 !== (dd = parts.indexOf('..', dd + 1))) {
|
|
896
|
+
const p = parts[dd - 1];
|
|
897
|
+
if (p && p !== '.' && p !== '..' && p !== '**') {
|
|
898
|
+
didSomething = true;
|
|
899
|
+
parts.splice(dd - 1, 2);
|
|
900
|
+
dd = Math.max(dd - 2, root);
|
|
901
|
+
}
|
|
902
|
+
}
|
|
903
|
+
} while (didSomething);
|
|
904
|
+
return parts.length === 0 ? [''] : parts;
|
|
905
|
+
}
|
|
906
|
+
// First phase: single-pattern processing
|
|
907
|
+
// <pre> is 1 or more portions
|
|
908
|
+
// <rest> is 1 or more portions
|
|
909
|
+
// <p> is any portion other than ., .., '', or **
|
|
910
|
+
// <e> is . or ''
|
|
911
|
+
//
|
|
912
|
+
// **/.. is *brutal* for filesystem walking performance, because
|
|
913
|
+
// it effectively resets the recursive walk each time it occurs,
|
|
914
|
+
// and ** cannot be reduced out by a .. pattern part like a regexp
|
|
915
|
+
// or most strings (other than .., ., and '') can be.
|
|
916
|
+
//
|
|
917
|
+
// <pre>/**/../<p>/<p>/<rest> -> {<pre>/../<p>/<p>/<rest>,<pre>/**/<p>/<p>/<rest>}
|
|
918
|
+
// <pre>/<e>/<rest> -> <pre>/<rest>
|
|
919
|
+
// <pre>/<p>/../<rest> -> <pre>/<rest>
|
|
920
|
+
// **/**/<rest> -> **/<rest>
|
|
921
|
+
//
|
|
922
|
+
// **/*/<rest> -> */**/<rest> <== not valid because ** doesn't follow
|
|
923
|
+
// this WOULD be allowed if ** did follow symlinks, or * didn't
|
|
924
|
+
firstPhasePreProcess(globParts) {
|
|
925
|
+
// each **/.. split doubles the patterns, so stop at the brace max
|
|
926
|
+
const { braceExpandMax = 100_000 } = this.options;
|
|
927
|
+
let didSomething = false;
|
|
928
|
+
do {
|
|
929
|
+
didSomething = false;
|
|
930
|
+
// <pre>/**/../<p>/<p>/<rest> -> {<pre>/../<p>/<p>/<rest>,<pre>/**/<p>/<p>/<rest>}
|
|
931
|
+
for (let parts of globParts) {
|
|
932
|
+
let gs = -1;
|
|
933
|
+
while (-1 !== (gs = parts.indexOf('**', gs + 1))) {
|
|
934
|
+
let gss = gs;
|
|
935
|
+
while (parts[gss + 1] === '**') {
|
|
936
|
+
// <pre>/**/**/<rest> -> <pre>/**/<rest>
|
|
937
|
+
gss++;
|
|
938
|
+
}
|
|
939
|
+
// eg, if gs is 2 and gss is 4, that means we have 3 **
|
|
940
|
+
// parts, and can remove 2 of them.
|
|
941
|
+
if (gss > gs) {
|
|
942
|
+
parts.splice(gs + 1, gss - gs);
|
|
943
|
+
}
|
|
944
|
+
let next = parts[gs + 1];
|
|
945
|
+
const p = parts[gs + 2];
|
|
946
|
+
const p2 = parts[gs + 3];
|
|
947
|
+
if (next !== '..')
|
|
948
|
+
continue;
|
|
949
|
+
if (!p ||
|
|
950
|
+
p === '.' ||
|
|
951
|
+
p === '..' ||
|
|
952
|
+
!p2 ||
|
|
953
|
+
p2 === '.' ||
|
|
954
|
+
p2 === '..' ||
|
|
955
|
+
globParts.length >= braceExpandMax) {
|
|
956
|
+
continue;
|
|
957
|
+
}
|
|
958
|
+
didSomething = true;
|
|
959
|
+
// edit parts in place, and push the new one
|
|
960
|
+
parts.splice(gs, 1);
|
|
961
|
+
const other = parts.slice(0);
|
|
962
|
+
other[gs] = '**';
|
|
963
|
+
globParts.push(other);
|
|
964
|
+
gs--;
|
|
965
|
+
}
|
|
966
|
+
// <pre>/<e>/<rest> -> <pre>/<rest>
|
|
967
|
+
if (!this.preserveMultipleSlashes) {
|
|
968
|
+
for (let i = 1; i < parts.length - 1; i++) {
|
|
969
|
+
const p = parts[i];
|
|
970
|
+
// don't squeeze out UNC patterns
|
|
971
|
+
if (i === 1 && p === '' && parts[0] === '')
|
|
972
|
+
continue;
|
|
973
|
+
if (p === '.' || p === '') {
|
|
974
|
+
didSomething = true;
|
|
975
|
+
parts.splice(i, 1);
|
|
976
|
+
i--;
|
|
977
|
+
}
|
|
978
|
+
}
|
|
979
|
+
if (parts[0] === '.' &&
|
|
980
|
+
parts.length === 2 &&
|
|
981
|
+
(parts[1] === '.' || parts[1] === '')) {
|
|
982
|
+
didSomething = true;
|
|
983
|
+
parts.pop();
|
|
984
|
+
}
|
|
985
|
+
}
|
|
986
|
+
// <pre>/<p>/../<rest> -> <pre>/<rest>
|
|
987
|
+
// .. can not remove the root of a Windows path
|
|
988
|
+
const root = this.#rootIndex(parts) + 1;
|
|
989
|
+
let dd = root;
|
|
990
|
+
while (-1 !== (dd = parts.indexOf('..', dd + 1))) {
|
|
991
|
+
const p = parts[dd - 1];
|
|
992
|
+
if (p && p !== '.' && p !== '..' && p !== '**') {
|
|
993
|
+
didSomething = true;
|
|
994
|
+
const needDot = dd === 1 && parts[dd + 1] === '**';
|
|
995
|
+
const splin = needDot ? ['.'] : [];
|
|
996
|
+
parts.splice(dd - 1, 2, ...splin);
|
|
997
|
+
if (parts.length === 0)
|
|
998
|
+
parts.push('');
|
|
999
|
+
dd = Math.max(dd - 2, root);
|
|
1000
|
+
}
|
|
1001
|
+
}
|
|
1002
|
+
}
|
|
1003
|
+
} while (didSomething);
|
|
1004
|
+
return globParts;
|
|
1005
|
+
}
|
|
1006
|
+
// second phase: multi-pattern dedupes
|
|
1007
|
+
// {<pre>/*/<rest>,<pre>/<p>/<rest>} -> <pre>/*/<rest>
|
|
1008
|
+
// {<pre>/<rest>,<pre>/<rest>} -> <pre>/<rest>
|
|
1009
|
+
// {<pre>/**/<rest>,<pre>/<rest>} -> <pre>/**/<rest>
|
|
1010
|
+
//
|
|
1011
|
+
// {<pre>/**/<rest>,<pre>/**/<p>/<rest>} -> <pre>/**/<rest>
|
|
1012
|
+
// ^-- not valid because ** doens't follow symlinks
|
|
1013
|
+
secondPhasePreProcess(globParts) {
|
|
1014
|
+
// each pattern is compared to each other one, so skip this for
|
|
1015
|
+
// large sets. The patterns match the same paths either way.
|
|
1016
|
+
if (globParts.length > 1000)
|
|
1017
|
+
return globParts;
|
|
1018
|
+
for (let i = 0; i < globParts.length - 1; i++) {
|
|
1019
|
+
for (let j = i + 1; j < globParts.length; j++) {
|
|
1020
|
+
const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
|
|
1021
|
+
if (matched) {
|
|
1022
|
+
globParts[i] = [];
|
|
1023
|
+
globParts[j] = matched;
|
|
1024
|
+
break;
|
|
1025
|
+
}
|
|
1026
|
+
}
|
|
1027
|
+
}
|
|
1028
|
+
return globParts.filter(gs => gs.length);
|
|
1029
|
+
}
|
|
1030
|
+
partsMatch(a, b, emptyGSMatch = false) {
|
|
1031
|
+
let ai = 0;
|
|
1032
|
+
let bi = 0;
|
|
1033
|
+
let result = [];
|
|
1034
|
+
let which = '';
|
|
1035
|
+
while (ai < a.length && bi < b.length) {
|
|
1036
|
+
if (a[ai] === b[bi]) {
|
|
1037
|
+
result.push(which === 'b' ? b[bi] : a[ai]);
|
|
1038
|
+
ai++;
|
|
1039
|
+
bi++;
|
|
1040
|
+
}
|
|
1041
|
+
else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {
|
|
1042
|
+
result.push(a[ai]);
|
|
1043
|
+
ai++;
|
|
1044
|
+
}
|
|
1045
|
+
else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {
|
|
1046
|
+
result.push(b[bi]);
|
|
1047
|
+
bi++;
|
|
1048
|
+
}
|
|
1049
|
+
else if (a[ai] === '*' &&
|
|
1050
|
+
b[bi] &&
|
|
1051
|
+
(this.options.dot || !b[bi].startsWith('.')) &&
|
|
1052
|
+
b[bi] !== '**') {
|
|
1053
|
+
if (which === 'b')
|
|
1054
|
+
return false;
|
|
1055
|
+
which = 'a';
|
|
1056
|
+
result.push(a[ai]);
|
|
1057
|
+
ai++;
|
|
1058
|
+
bi++;
|
|
1059
|
+
}
|
|
1060
|
+
else if (b[bi] === '*' &&
|
|
1061
|
+
a[ai] &&
|
|
1062
|
+
(this.options.dot || !a[ai].startsWith('.')) &&
|
|
1063
|
+
a[ai] !== '**') {
|
|
1064
|
+
if (which === 'a')
|
|
1065
|
+
return false;
|
|
1066
|
+
which = 'b';
|
|
1067
|
+
result.push(b[bi]);
|
|
1068
|
+
ai++;
|
|
1069
|
+
bi++;
|
|
1070
|
+
}
|
|
1071
|
+
else {
|
|
1072
|
+
return false;
|
|
1073
|
+
}
|
|
1074
|
+
}
|
|
1075
|
+
// if we fall out of the loop, it means they two are identical
|
|
1076
|
+
// as long as their lengths match
|
|
1077
|
+
return a.length === b.length && result;
|
|
1078
|
+
}
|
|
1079
|
+
parseNegate() {
|
|
1080
|
+
if (this.nonegate)
|
|
1081
|
+
return;
|
|
1082
|
+
const pattern = this.pattern;
|
|
1083
|
+
let negate = false;
|
|
1084
|
+
let negateOffset = 0;
|
|
1085
|
+
for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {
|
|
1086
|
+
negate = !negate;
|
|
1087
|
+
negateOffset++;
|
|
1088
|
+
}
|
|
1089
|
+
if (negateOffset)
|
|
1090
|
+
this.pattern = pattern.slice(negateOffset);
|
|
1091
|
+
this.negate = negate;
|
|
1092
|
+
}
|
|
1093
|
+
// Match the parts of a path against one row of the set. `resolved`
|
|
1094
|
+
// is the parts after level 2 resolves `.` and `..` in them, or the
|
|
1095
|
+
// same parts below level 2. Set partial to true to test if, for
|
|
1096
|
+
// example, "/a/b" matches the start of "/*/b/*/d". Partial means, if
|
|
1097
|
+
// you run out of file before you run out of pattern, then that's
|
|
1098
|
+
// fine, as long as all the parts match.
|
|
1099
|
+
#matchRow(file, resolved, pattern, partial) {
|
|
1100
|
+
let fileStartIndex = 0;
|
|
1101
|
+
let patternStartIndex = 0;
|
|
1102
|
+
// UNC paths like //?/X:/... can match X:/... and vice versa, and
|
|
1103
|
+
// //?/UNC/host/share/... can match //host/share/... and vice versa.
|
|
1104
|
+
// Drive letters in absolute drive or unc paths, and the host and
|
|
1105
|
+
// share of UNC paths, are always compared case-insensitively.
|
|
1106
|
+
const fh = this.isWindows ? uncHost(resolved) : -1;
|
|
1107
|
+
const ph = fh === -1 ? -1 : uncHost(pattern);
|
|
1108
|
+
if (ph !== -1) {
|
|
1109
|
+
const host = pattern[ph];
|
|
1110
|
+
const share = pattern[ph + 1];
|
|
1111
|
+
if (typeof host !== 'string' || typeof share !== 'string') {
|
|
1112
|
+
// a host or share with magic is matched as usual
|
|
1113
|
+
fileStartIndex = fh;
|
|
1114
|
+
patternStartIndex = ph;
|
|
1115
|
+
}
|
|
1116
|
+
else if (resolved[fh].toLowerCase() === host.toLowerCase() &&
|
|
1117
|
+
resolved[fh + 1].toLowerCase() === share.toLowerCase()) {
|
|
1118
|
+
fileStartIndex = fh + 2;
|
|
1119
|
+
patternStartIndex = ph + 2;
|
|
1120
|
+
}
|
|
1121
|
+
}
|
|
1122
|
+
else if (this.isWindows) {
|
|
1123
|
+
const fileDrive = typeof file[0] === 'string' && /^[a-z]:$/i.test(file[0]);
|
|
1124
|
+
const fileUNC = !fileDrive &&
|
|
1125
|
+
file[0] === '' &&
|
|
1126
|
+
file[1] === '' &&
|
|
1127
|
+
file[2] === '?' &&
|
|
1128
|
+
/^[a-z]:$/i.test(file[3]);
|
|
1129
|
+
const patternDrive = typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0]);
|
|
1130
|
+
const patternUNC = !patternDrive &&
|
|
1131
|
+
pattern[0] === '' &&
|
|
1132
|
+
pattern[1] === '' &&
|
|
1133
|
+
pattern[2] === '?' &&
|
|
1134
|
+
typeof pattern[3] === 'string' &&
|
|
1135
|
+
/^[a-z]:$/i.test(pattern[3]);
|
|
1136
|
+
const fdi = fileUNC ? 3
|
|
1137
|
+
: fileDrive ? 0
|
|
1138
|
+
: undefined;
|
|
1139
|
+
const pdi = patternUNC ? 3
|
|
1140
|
+
: patternDrive ? 0
|
|
1141
|
+
: undefined;
|
|
1142
|
+
if (typeof fdi === 'number' && typeof pdi === 'number') {
|
|
1143
|
+
const [fd, pd] = [
|
|
1144
|
+
file[fdi],
|
|
1145
|
+
pattern[pdi],
|
|
1146
|
+
];
|
|
1147
|
+
// the drives match, so start matching after them
|
|
1148
|
+
if (fd.toLowerCase() === pd.toLowerCase()) {
|
|
1149
|
+
patternStartIndex = pdi + 1;
|
|
1150
|
+
fileStartIndex = fdi + 1;
|
|
1151
|
+
}
|
|
1152
|
+
}
|
|
1153
|
+
}
|
|
1154
|
+
// the drive letters are found in the parts before level 2 resolves
|
|
1155
|
+
// them, and the match uses the resolved parts
|
|
1156
|
+
file = resolved;
|
|
1157
|
+
if (pattern.includes(GLOBSTAR)) {
|
|
1158
|
+
return this.#matchGlobstar(file, pattern, partial, fileStartIndex, patternStartIndex);
|
|
1159
|
+
}
|
|
1160
|
+
return this.#matchOne(file, pattern, partial, fileStartIndex, patternStartIndex);
|
|
1161
|
+
}
|
|
1162
|
+
#matchGlobstar(file, pattern, partial, fileIndex, patternIndex) {
|
|
1163
|
+
const { head, body, tail, segments } = this.#getGlobstarParts(pattern, partial, patternIndex);
|
|
1164
|
+
// check the head, from the current file/pattern index.
|
|
1165
|
+
if (head.length) {
|
|
1166
|
+
const headEnd = fileIndex + head.length;
|
|
1167
|
+
if (!this.#matchOne(file, head, partial, fileIndex, 0, headEnd)) {
|
|
1168
|
+
return false;
|
|
1169
|
+
}
|
|
1170
|
+
fileIndex += head.length;
|
|
1171
|
+
patternIndex += head.length;
|
|
1172
|
+
}
|
|
1173
|
+
// now we know the head matches!
|
|
1174
|
+
// if the last portion is not empty, it MUST match the end
|
|
1175
|
+
// check the tail
|
|
1176
|
+
let fileTailMatch = 0;
|
|
1177
|
+
if (tail.length) {
|
|
1178
|
+
// if head + tail > file, then we cannot possibly match
|
|
1179
|
+
if (tail.length + fileIndex > file.length)
|
|
1180
|
+
return false;
|
|
1181
|
+
// try to match the tail
|
|
1182
|
+
let tailStart = file.length - tail.length;
|
|
1183
|
+
if (this.#matchOne(file, tail, partial, tailStart, 0)) {
|
|
1184
|
+
fileTailMatch = tail.length;
|
|
1185
|
+
}
|
|
1186
|
+
else {
|
|
1187
|
+
// affordance for stuff like a/**/* matching a/b/
|
|
1188
|
+
// if the last file portion is '', and there's more to the pattern
|
|
1189
|
+
// then try without the '' bit.
|
|
1190
|
+
if (file[file.length - 1] !== '' ||
|
|
1191
|
+
fileIndex + tail.length === file.length) {
|
|
1192
|
+
return false;
|
|
1193
|
+
}
|
|
1194
|
+
tailStart--;
|
|
1195
|
+
if (!this.#matchOne(file, tail, partial, tailStart, 0)) {
|
|
1196
|
+
return false;
|
|
1197
|
+
}
|
|
1198
|
+
fileTailMatch = tail.length + 1;
|
|
1199
|
+
}
|
|
1200
|
+
}
|
|
1201
|
+
// now we know the tail matches!
|
|
1202
|
+
// the middle is zero or more portions wrapped in **, possibly
|
|
1203
|
+
// containing more ** sections.
|
|
1204
|
+
// so a/**/b/**/c/**/d has become **/b/**/c/**
|
|
1205
|
+
// if it's empty, it means a/**/b, just verify we have no bad dots
|
|
1206
|
+
// if there's no tail, so it ends on /**, then we must have *something*
|
|
1207
|
+
// after the head, or it's not a matc
|
|
1208
|
+
if (!body.length) {
|
|
1209
|
+
let sawSome = !!fileTailMatch;
|
|
1210
|
+
for (let i = fileIndex; i < file.length - fileTailMatch; i++) {
|
|
1211
|
+
const f = String(file[i]);
|
|
1212
|
+
sawSome = true;
|
|
1213
|
+
if (f === '.' ||
|
|
1214
|
+
f === '..' ||
|
|
1215
|
+
(!this.options.dot && f.startsWith('.'))) {
|
|
1216
|
+
return false;
|
|
1217
|
+
}
|
|
1218
|
+
}
|
|
1219
|
+
// in partial mode, we just need to get past all file parts
|
|
1220
|
+
return partial || sawSome;
|
|
1221
|
+
}
|
|
1222
|
+
// now we know that there's one or more body sections, which can
|
|
1223
|
+
// be matched anywhere from the 0 index (because the head was pruned)
|
|
1224
|
+
// through to the length-fileTailMatch index.
|
|
1225
|
+
return !!this.#matchGlobStarBodySections(file, segments, file.length - fileTailMatch, fileIndex, 0, partial, 0, !!fileTailMatch, new Set());
|
|
1226
|
+
}
|
|
1227
|
+
// Split the pattern into head, tail, and middle of ** delimited
|
|
1228
|
+
// parts. The tail has to be at the end, and the others just have to
|
|
1229
|
+
// be found in order from the head. These only depend on the pattern
|
|
1230
|
+
// row, so they are kept for the next path.
|
|
1231
|
+
#getGlobstarParts(pattern, partial, patternIndex) {
|
|
1232
|
+
let byStart = this.#globstarParts.get(pattern);
|
|
1233
|
+
if (!byStart) {
|
|
1234
|
+
byStart = [];
|
|
1235
|
+
this.#globstarParts.set(pattern, byStart);
|
|
1236
|
+
}
|
|
1237
|
+
const key = patternIndex * 2 + (partial ? 1 : 0);
|
|
1238
|
+
const found = byStart[key];
|
|
1239
|
+
if (found)
|
|
1240
|
+
return found;
|
|
1241
|
+
const firstgs = pattern.indexOf(GLOBSTAR, patternIndex);
|
|
1242
|
+
const lastgs = pattern.lastIndexOf(GLOBSTAR);
|
|
1243
|
+
const head = pattern.slice(patternIndex, firstgs);
|
|
1244
|
+
const body = pattern.slice(firstgs + 1, partial ? undefined : lastgs);
|
|
1245
|
+
const tail = partial ? [] : pattern.slice(lastgs + 1);
|
|
1246
|
+
// split the body up into sections, and note the number of
|
|
1247
|
+
// portions that must come after the start of each one
|
|
1248
|
+
const segments = [[[], 0]];
|
|
1249
|
+
let current = segments[0];
|
|
1250
|
+
let nonGsParts = 0;
|
|
1251
|
+
const nonGsPartsSums = [0];
|
|
1252
|
+
for (const b of body) {
|
|
1253
|
+
if (b === GLOBSTAR) {
|
|
1254
|
+
nonGsPartsSums.push(nonGsParts);
|
|
1255
|
+
current = [[], 0];
|
|
1256
|
+
segments.push(current);
|
|
1257
|
+
}
|
|
1258
|
+
else {
|
|
1259
|
+
current[0].push(b);
|
|
1260
|
+
nonGsParts++;
|
|
1261
|
+
}
|
|
1262
|
+
}
|
|
1263
|
+
// the portions in this section and the ones after it
|
|
1264
|
+
segments.forEach((b, i) => {
|
|
1265
|
+
b[1] = nonGsParts - nonGsPartsSums[i];
|
|
1266
|
+
});
|
|
1267
|
+
const parts = { head, body, tail, segments };
|
|
1268
|
+
byStart[key] = parts;
|
|
1269
|
+
return parts;
|
|
1270
|
+
}
|
|
1271
|
+
// return false for "nope, not matching"
|
|
1272
|
+
// return null for "not matching, cannot keep trying"
|
|
1273
|
+
#matchGlobStarBodySections(file,
|
|
1274
|
+
// pattern section, and the portions that it and the rest need
|
|
1275
|
+
bodySegments,
|
|
1276
|
+
// the end of the file portions that the body can match
|
|
1277
|
+
fileLength, fileIndex, bodyIndex, partial, globStarDepth, sawTail,
|
|
1278
|
+
// the places that a walk has already tried, as
|
|
1279
|
+
// bodyIndex * (file.length + 1) + fileIndex. A walk from a place
|
|
1280
|
+
// does the same no matter how it got there, and it only comes back
|
|
1281
|
+
// if it found no match, so a walk that gets to one stops.
|
|
1282
|
+
tried) {
|
|
1283
|
+
// take the first body segment, and walk from fileIndex to its "after"
|
|
1284
|
+
// value at the end
|
|
1285
|
+
// If it doesn't match at that position, we increment, until we hit
|
|
1286
|
+
// that final possible position, and give up.
|
|
1287
|
+
// If it does match, then advance and try to rest.
|
|
1288
|
+
// If any of them fail we keep walking forward.
|
|
1289
|
+
// this is still a bit recursively painful, but it's more constrained
|
|
1290
|
+
// than previous implementations, because we never test something that
|
|
1291
|
+
// can't possibly be a valid matching condition.
|
|
1292
|
+
const bs = bodySegments[bodyIndex];
|
|
1293
|
+
if (!bs) {
|
|
1294
|
+
// with partial, the body is the rest of the pattern, so it
|
|
1295
|
+
// matches if no portions are left, or only the '' of a trailing
|
|
1296
|
+
// / (as a/* matches a/b/). A ** at the end walks them as its own
|
|
1297
|
+
// empty section.
|
|
1298
|
+
if (partial) {
|
|
1299
|
+
return (fileIndex >= fileLength ||
|
|
1300
|
+
(fileIndex === fileLength - 1 && file[fileIndex] === ''));
|
|
1301
|
+
}
|
|
1302
|
+
// just make sure that there's no bad dots before the tail
|
|
1303
|
+
for (let i = fileIndex; i < fileLength; i++) {
|
|
1304
|
+
sawTail = true;
|
|
1305
|
+
const f = file[i];
|
|
1306
|
+
if (f === '.' ||
|
|
1307
|
+
f === '..' ||
|
|
1308
|
+
(!this.options.dot && f.startsWith('.'))) {
|
|
1309
|
+
return false;
|
|
1310
|
+
}
|
|
1311
|
+
}
|
|
1312
|
+
return sawTail;
|
|
1313
|
+
}
|
|
1314
|
+
// have a non-globstar body section to test, up to the last index
|
|
1315
|
+
// where it can start
|
|
1316
|
+
const [body, need] = bs;
|
|
1317
|
+
// with partial, the path can end before the body does
|
|
1318
|
+
const after = partial ? fileLength : fileLength - need;
|
|
1319
|
+
while (fileIndex <= after) {
|
|
1320
|
+
const key = bodyIndex * (file.length + 1) + fileIndex;
|
|
1321
|
+
if (tried.has(key))
|
|
1322
|
+
return false;
|
|
1323
|
+
tried.add(key);
|
|
1324
|
+
const m = this.#matchOne(file, body, partial, fileIndex, 0, fileIndex + body.length);
|
|
1325
|
+
// if limit exceeded, no match. intentional false negative,
|
|
1326
|
+
// acceptable break in correctness for security.
|
|
1327
|
+
if (m && globStarDepth < this.maxGlobstarRecursion) {
|
|
1328
|
+
// match! see if the rest match. if so, we're done!
|
|
1329
|
+
const sub = this.#matchGlobStarBodySections(file, bodySegments, fileLength, fileIndex + body.length, bodyIndex + 1, partial, globStarDepth + 1, sawTail, tried);
|
|
1330
|
+
if (sub !== false) {
|
|
1331
|
+
return sub;
|
|
1332
|
+
}
|
|
1333
|
+
}
|
|
1334
|
+
// the ** does not walk past the last place the body can start
|
|
1335
|
+
if (fileIndex === after)
|
|
1336
|
+
break;
|
|
1337
|
+
const f = file[fileIndex];
|
|
1338
|
+
if (f === '.' ||
|
|
1339
|
+
f === '..' ||
|
|
1340
|
+
(!this.options.dot && f.startsWith('.'))) {
|
|
1341
|
+
return false;
|
|
1342
|
+
}
|
|
1343
|
+
fileIndex++;
|
|
1344
|
+
}
|
|
1345
|
+
// walked off. no point continuing
|
|
1346
|
+
return partial || null;
|
|
1347
|
+
}
|
|
1348
|
+
#matchOne(file, pattern, partial, fileIndex, patternIndex,
|
|
1349
|
+
// only match the file portions before this index
|
|
1350
|
+
fileEnd = file.length) {
|
|
1351
|
+
let fi;
|
|
1352
|
+
let pi;
|
|
1353
|
+
let pl;
|
|
1354
|
+
let fl;
|
|
1355
|
+
for (fi = fileIndex,
|
|
1356
|
+
pi = patternIndex,
|
|
1357
|
+
fl = Math.min(fileEnd, file.length),
|
|
1358
|
+
pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
|
|
1359
|
+
let p = pattern[pi];
|
|
1360
|
+
let f = file[fi];
|
|
1361
|
+
// should be impossible.
|
|
1362
|
+
/* c8 ignore start */
|
|
1363
|
+
if (p === false || p === GLOBSTAR) {
|
|
1364
|
+
return false;
|
|
1365
|
+
}
|
|
1366
|
+
/* c8 ignore stop */
|
|
1367
|
+
// something other than **
|
|
1368
|
+
// non-magic patterns just have to match exactly
|
|
1369
|
+
// patterns with magic have been turned into Matchers.
|
|
1370
|
+
if (!portionMatch(p, f))
|
|
1371
|
+
return false;
|
|
1372
|
+
}
|
|
1373
|
+
// Note: ending in / means that we'll get a final ""
|
|
1374
|
+
// at the end of the pattern. This can only match a
|
|
1375
|
+
// corresponding "" at the end of the file.
|
|
1376
|
+
// If the file ends in /, then it can only match a
|
|
1377
|
+
// a pattern that ends in /, unless the pattern just
|
|
1378
|
+
// doesn't have any more for it. But, a/b/ should *not*
|
|
1379
|
+
// match "a/b/*", even though * can match "", except in
|
|
1380
|
+
// partial mode, where it might simply not be reached yet.
|
|
1381
|
+
// However, a/b/ should still satisfy a/*
|
|
1382
|
+
// now either we fell off the end of the pattern, or we're done.
|
|
1383
|
+
if (fi === fl && pi === pl) {
|
|
1384
|
+
// ran out of pattern and filename at the same time.
|
|
1385
|
+
// an exact hit!
|
|
1386
|
+
return true;
|
|
1387
|
+
}
|
|
1388
|
+
else if (fi === fl) {
|
|
1389
|
+
// ran out of file, but still had pattern left.
|
|
1390
|
+
// this is ok if we're doing the match as part of
|
|
1391
|
+
// a glob fs traversal.
|
|
1392
|
+
return partial;
|
|
1393
|
+
}
|
|
1394
|
+
else if (pi === pl) {
|
|
1395
|
+
// ran out of pattern, still have file left.
|
|
1396
|
+
// this is only acceptable if we're on the very last
|
|
1397
|
+
// empty segment of a file with a trailing slash.
|
|
1398
|
+
// a/* should match a/b/
|
|
1399
|
+
return fi === fl - 1 && file[fi] === '';
|
|
1400
|
+
/* c8 ignore start */
|
|
1401
|
+
}
|
|
1402
|
+
else {
|
|
1403
|
+
// should be unreachable.
|
|
1404
|
+
throw new Error('wtf?');
|
|
1405
|
+
}
|
|
1406
|
+
/* c8 ignore stop */
|
|
1407
|
+
}
|
|
1408
|
+
braceExpand() {
|
|
1409
|
+
return braceExpand(this.pattern, this.options);
|
|
1410
|
+
}
|
|
1411
|
+
parse(pattern) {
|
|
1412
|
+
assertValidPattern(pattern);
|
|
1413
|
+
const options = this.options;
|
|
1414
|
+
// shortcuts
|
|
1415
|
+
if (pattern === '**')
|
|
1416
|
+
return GLOBSTAR;
|
|
1417
|
+
if (pattern === '')
|
|
1418
|
+
return '';
|
|
1419
|
+
const { nocase, nocaseMagicOnly, noext = false, dot, normalize, } = options;
|
|
1420
|
+
const lit = literal(pattern, noext);
|
|
1421
|
+
// in nocase mode, a literal with cased chars still needs a
|
|
1422
|
+
// Matcher, unless nocaseMagicOnly is set.
|
|
1423
|
+
if (lit !== undefined &&
|
|
1424
|
+
!(nocase &&
|
|
1425
|
+
!nocaseMagicOnly &&
|
|
1426
|
+
pattern.toUpperCase() !== pattern.toLowerCase())) {
|
|
1427
|
+
return this.#norm(lit);
|
|
1428
|
+
}
|
|
1429
|
+
if (this.#pending)
|
|
1430
|
+
return PENDING;
|
|
1431
|
+
let m = this.#matchers.get(pattern);
|
|
1432
|
+
if (!m) {
|
|
1433
|
+
m = new Matcher(pattern, { nocase, noext, dot, normalize });
|
|
1434
|
+
this.#matchers.set(pattern, m);
|
|
1435
|
+
}
|
|
1436
|
+
return m;
|
|
1437
|
+
}
|
|
1438
|
+
#slashSplit(p) {
|
|
1439
|
+
// if p starts with // on windows, we preserve that
|
|
1440
|
+
// so that UNC paths aren't broken. Otherwise, any number of
|
|
1441
|
+
// / characters are coalesced into one, unless
|
|
1442
|
+
// preserveMultipleSlashes is set to true.
|
|
1443
|
+
if (this.preserveMultipleSlashes) {
|
|
1444
|
+
return p.split('/');
|
|
1445
|
+
}
|
|
1446
|
+
else if (this.isWindows && /^\/\/[^/]+/.test(p)) {
|
|
1447
|
+
// add an extra '' for the one we lose
|
|
1448
|
+
return ['', ...p.split(/\/+/)];
|
|
1449
|
+
}
|
|
1450
|
+
else {
|
|
1451
|
+
return p.split(/\/+/);
|
|
1452
|
+
}
|
|
1453
|
+
}
|
|
1454
|
+
match(f, partial = this.partial) {
|
|
1455
|
+
// short-circuit in the case of busted things.
|
|
1456
|
+
// comments, etc.
|
|
1457
|
+
if (this.comment) {
|
|
1458
|
+
return false;
|
|
1459
|
+
}
|
|
1460
|
+
if (this.empty) {
|
|
1461
|
+
return f === '';
|
|
1462
|
+
}
|
|
1463
|
+
if (f === '/' && partial) {
|
|
1464
|
+
return true;
|
|
1465
|
+
}
|
|
1466
|
+
const options = this.options;
|
|
1467
|
+
// treat the test path as a set of pathparts. If it was not just
|
|
1468
|
+
// split or checked, check that it can match before splitting it.
|
|
1469
|
+
let split = this.#cachedSplit(f);
|
|
1470
|
+
if (!split) {
|
|
1471
|
+
// the checks look at the path as given, so not if it is
|
|
1472
|
+
// normalized
|
|
1473
|
+
if (!partial &&
|
|
1474
|
+
!this.#form &&
|
|
1475
|
+
(this.#endCheck || this.#literalCheck) &&
|
|
1476
|
+
lastChecked !== f) {
|
|
1477
|
+
lastChecked = f;
|
|
1478
|
+
const can = this.#canMatch(f);
|
|
1479
|
+
if (can === 'no')
|
|
1480
|
+
return options.flipNegate ? false : this.negate;
|
|
1481
|
+
if (can === 'yes')
|
|
1482
|
+
return options.flipNegate ? true : !this.negate;
|
|
1483
|
+
}
|
|
1484
|
+
split = this.#split(f);
|
|
1485
|
+
}
|
|
1486
|
+
const ff = split.parts;
|
|
1487
|
+
// the parts after level 2 resolves them, kept for the next pattern
|
|
1488
|
+
// that tests the same path
|
|
1489
|
+
const resolved = this.#level2 ?
|
|
1490
|
+
(split.resolved ??= this.#levelTwoFileOptimize(ff))
|
|
1491
|
+
: ff;
|
|
1492
|
+
// just ONE of the pattern sets in this.set needs to match
|
|
1493
|
+
// in order for it to be valid. If negating, then just one
|
|
1494
|
+
// match means that we have failed.
|
|
1495
|
+
// Either way, return on the first hit.
|
|
1496
|
+
const set = this.set;
|
|
1497
|
+
// Find the basename of the path by looking for the last non-empty segment
|
|
1498
|
+
let filename = ff[ff.length - 1];
|
|
1499
|
+
if (!filename) {
|
|
1500
|
+
for (let i = ff.length - 2; !filename && i >= 0; i--) {
|
|
1501
|
+
filename = ff[i];
|
|
1502
|
+
}
|
|
1503
|
+
}
|
|
1504
|
+
for (let r = 0; r < set.length; r++) {
|
|
1505
|
+
const pattern = set[r];
|
|
1506
|
+
const shape = partial ? undefined : this.#shapes[r];
|
|
1507
|
+
// level 2 does not change a path of one portion
|
|
1508
|
+
const hit = shape === 'base' ?
|
|
1509
|
+
portionMatch(pattern[0], filename)
|
|
1510
|
+
: shape ? this.#matchShape(resolved, pattern, shape)
|
|
1511
|
+
: options.matchBase && pattern.length === 1 ?
|
|
1512
|
+
this.#matchRow([filename], [filename], pattern, partial)
|
|
1513
|
+
: this.#matchRow(ff, resolved, pattern, partial);
|
|
1514
|
+
if (hit) {
|
|
1515
|
+
if (options.flipNegate) {
|
|
1516
|
+
return true;
|
|
1517
|
+
}
|
|
1518
|
+
return !this.negate;
|
|
1519
|
+
}
|
|
1520
|
+
}
|
|
1521
|
+
// didn't get any hits. this is success if it's a negative
|
|
1522
|
+
// pattern, failure otherwise.
|
|
1523
|
+
if (options.flipNegate) {
|
|
1524
|
+
return false;
|
|
1525
|
+
}
|
|
1526
|
+
return this.negate;
|
|
1527
|
+
}
|
|
1528
|
+
static defaults(def) {
|
|
1529
|
+
return minimatch.defaults(def).Minimatch;
|
|
1530
|
+
}
|
|
1531
|
+
}
|
|
1532
|
+
/* c8 ignore start */
|
|
1533
|
+
export { escape } from './escape.js';
|
|
1534
|
+
export { unescape } from './unescape.js';
|
|
1535
|
+
/* c8 ignore stop */
|
|
1536
|
+
minimatch.Minimatch = Minimatch;
|
|
1537
|
+
minimatch.escape = escape;
|
|
1538
|
+
minimatch.unescape = unescape;
|
|
1539
|
+
//# sourceMappingURL=index.js.map
|