appium-mac2-driver 4.3.5 → 4.4.0
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/CHANGELOG.md +12 -0
- package/WebDriverAgentMac/IntegrationTests/AMSessionTests.m +14 -0
- package/WebDriverAgentMac/WebDriverAgentLib/Commands/FBSessionCommands.m +17 -5
- package/WebDriverAgentMac/WebDriverAgentLib/Routing/FBSession.m +5 -1
- package/WebDriverAgentMac/WebDriverAgentLib/Utilities/FBXPath.m +48 -2
- package/WebDriverAgentMac/WebDriverAgentMac.xcodeproj/project.pbxproj +4 -0
- package/build/lib/driver.d.ts +3 -0
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +52 -32
- package/build/lib/driver.js.map +1 -1
- package/build/lib/session-claim-handler.d.ts +41 -0
- package/build/lib/session-claim-handler.d.ts.map +1 -0
- package/build/lib/session-claim-handler.js +236 -0
- package/build/lib/session-claim-handler.js.map +1 -0
- package/build/lib/wda-mac.d.ts +6 -2
- package/build/lib/wda-mac.d.ts.map +1 -1
- package/build/lib/wda-mac.js +43 -14
- package/build/lib/wda-mac.js.map +1 -1
- package/lib/driver.ts +55 -31
- package/lib/session-claim-handler.ts +306 -0
- package/lib/wda-mac.ts +45 -15
- package/node_modules/@appium/logger/CHANGELOG.md +8 -0
- package/node_modules/@appium/logger/package.json +3 -3
- package/node_modules/@appium/strongbox/build/lib/index.d.ts.map +1 -1
- package/node_modules/@appium/strongbox/build/lib/index.js +6 -1
- package/node_modules/@appium/strongbox/build/lib/index.js.map +1 -1
- package/node_modules/@appium/strongbox/lib/index.ts +6 -1
- package/node_modules/@appium/strongbox/package.json +2 -2
- package/node_modules/@appium/support/build/lib/fs.d.ts.map +1 -1
- package/node_modules/@appium/support/build/lib/fs.js +7 -0
- package/node_modules/@appium/support/build/lib/fs.js.map +1 -1
- package/node_modules/@appium/support/build/lib/index.d.ts.map +1 -1
- package/node_modules/@appium/support/build/lib/net.d.ts.map +1 -1
- package/node_modules/@appium/support/build/lib/net.js +6 -2
- package/node_modules/@appium/support/build/lib/net.js.map +1 -1
- package/node_modules/@appium/support/build/lib/util.d.ts.map +1 -1
- package/node_modules/@appium/support/build/lib/util.js +10 -4
- package/node_modules/@appium/support/build/lib/util.js.map +1 -1
- package/node_modules/@appium/support/build/lib/zip.d.ts.map +1 -1
- package/node_modules/@appium/support/build/lib/zip.js +2 -7
- package/node_modules/@appium/support/build/lib/zip.js.map +1 -1
- package/node_modules/@appium/support/lib/fs.ts +8 -1
- package/node_modules/@appium/support/lib/net.ts +7 -2
- package/node_modules/@appium/support/lib/util.ts +9 -3
- package/node_modules/@appium/support/lib/zip.ts +3 -9
- package/node_modules/@appium/support/package.json +9 -9
- package/node_modules/@appium/types/package.json +4 -4
- package/node_modules/@img/sharp-darwin-arm64/index.cjs +1 -1
- package/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64-0.35.5.node +0 -0
- package/node_modules/@img/sharp-darwin-arm64/package.json +2 -2
- package/node_modules/@img/sharp-libvips-darwin-arm64/README.md +1 -1
- package/node_modules/@img/sharp-libvips-darwin-arm64/lib/glib-2.0/include/glibconfig.h +2 -2
- package/node_modules/@img/sharp-libvips-darwin-arm64/lib/{libvips-cpp.8.18.6.dylib → libvips-cpp.8.18.7.dylib} +0 -0
- package/node_modules/@img/sharp-libvips-darwin-arm64/package.json +2 -2
- package/node_modules/@img/sharp-libvips-darwin-arm64/versions.json +11 -11
- package/node_modules/appium-xcode/CHANGELOG.md +35 -0
- package/node_modules/appium-xcode/README.md +1 -1
- package/node_modules/appium-xcode/package.json +14 -18
- package/node_modules/async-lock/AUTHORS +21 -0
- package/node_modules/async-lock/History.md +132 -0
- package/node_modules/async-lock/LICENSE +22 -0
- package/node_modules/async-lock/README.md +177 -0
- package/node_modules/async-lock/index.js +2 -0
- package/node_modules/async-lock/lib/index.js +312 -0
- package/node_modules/async-lock/package.json +48 -0
- package/node_modules/b4a/browser.js +5 -0
- package/node_modules/b4a/index.d.ts +144 -0
- package/node_modules/b4a/index.js +5 -0
- package/node_modules/b4a/package.json +4 -1
- package/node_modules/b4a/runtime.d.ts +14 -0
- package/node_modules/bare-fs/binding.c +52 -23
- package/node_modules/bare-fs/index.d.ts +12 -10
- package/node_modules/bare-fs/index.js +43 -10
- package/node_modules/bare-fs/package.json +2 -1
- package/node_modules/bare-fs/prebuilds/android-arm/bare-fs.bare +0 -0
- package/node_modules/bare-fs/prebuilds/android-arm64/bare-fs.bare +0 -0
- package/node_modules/bare-fs/prebuilds/android-ia32/bare-fs.bare +0 -0
- package/node_modules/bare-fs/prebuilds/android-x64/bare-fs.bare +0 -0
- package/node_modules/bare-fs/prebuilds/darwin-arm64/bare-fs.bare +0 -0
- package/node_modules/bare-fs/prebuilds/darwin-x64/bare-fs.bare +0 -0
- package/node_modules/bare-fs/prebuilds/ios-arm64/bare-fs.bare +0 -0
- package/node_modules/bare-fs/prebuilds/ios-arm64-simulator/bare-fs.bare +0 -0
- package/node_modules/bare-fs/prebuilds/ios-x64-simulator/bare-fs.bare +0 -0
- package/node_modules/bare-fs/prebuilds/linux-arm64/bare-fs.bare +0 -0
- package/node_modules/bare-fs/prebuilds/linux-x64/bare-fs.bare +0 -0
- package/node_modules/bare-fs/prebuilds/win32-arm64/bare-fs.bare +0 -0
- package/node_modules/bare-fs/prebuilds/win32-x64/bare-fs.bare +0 -0
- package/node_modules/bplist-creator/README.md +26 -6
- package/node_modules/bplist-creator/dist/index.cjs +508 -0
- package/node_modules/bplist-creator/dist/index.cjs.map +7 -0
- package/node_modules/bplist-creator/dist/index.d.cts +12 -0
- package/node_modules/bplist-creator/dist/index.d.ts +12 -0
- package/node_modules/bplist-creator/dist/index.mjs +472 -0
- package/node_modules/bplist-creator/dist/index.mjs.map +7 -0
- package/node_modules/bplist-creator/package.json +43 -9
- package/node_modules/bplist-parser/README.md +37 -3
- package/node_modules/bplist-parser/dist/index.cjs +385 -0
- package/node_modules/bplist-parser/dist/index.cjs.map +7 -0
- package/node_modules/bplist-parser/dist/index.d.cts +13 -0
- package/node_modules/bplist-parser/dist/index.d.ts +13 -0
- package/node_modules/bplist-parser/{bplistParser.js → dist/index.mjs} +141 -171
- package/node_modules/bplist-parser/dist/index.mjs.map +7 -0
- package/node_modules/bplist-parser/package.json +39 -12
- package/node_modules/brace-expansion/dist/commonjs/index.d.ts +4 -0
- package/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +1 -1
- package/node_modules/brace-expansion/dist/commonjs/index.js +69 -25
- package/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -1
- package/node_modules/brace-expansion/dist/esm/index.d.ts +4 -0
- package/node_modules/brace-expansion/dist/esm/index.d.ts.map +1 -1
- package/node_modules/brace-expansion/dist/esm/index.js +68 -24
- package/node_modules/brace-expansion/dist/esm/index.js.map +1 -1
- package/node_modules/brace-expansion/package.json +2 -1
- package/node_modules/follow-redirects/index.js +10 -1
- package/node_modules/follow-redirects/package.json +1 -1
- 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/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 +27 -1
- package/node_modules/p-limit/index.d.ts +2 -0
- package/node_modules/p-limit/index.js +17 -1
- package/node_modules/p-limit/package.json +1 -1
- package/node_modules/p-limit/readme.md +2 -0
- package/node_modules/readable-stream/lib/internal/shims/process.js +19 -0
- package/node_modules/readable-stream/lib/internal/streams/destroy.js +1 -1
- package/node_modules/readable-stream/lib/internal/streams/duplexify.js +1 -1
- package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +1 -1
- package/node_modules/readable-stream/lib/internal/streams/from.js +1 -1
- package/node_modules/readable-stream/lib/internal/streams/legacy.js +6 -1
- package/node_modules/readable-stream/lib/internal/streams/pipeline.js +1 -1
- package/node_modules/readable-stream/lib/internal/streams/readable.js +1 -1
- package/node_modules/readable-stream/lib/internal/streams/writable.js +1 -1
- package/node_modules/readable-stream/package.json +3 -2
- package/node_modules/sharp/dist/index.d.cts +2 -2
- package/node_modules/sharp/dist/index.d.mts +3 -3
- package/node_modules/sharp/dist/is.cjs +8 -2
- package/node_modules/sharp/dist/is.mjs +8 -2
- package/node_modules/sharp/dist/operation.cjs +2 -2
- package/node_modules/sharp/dist/operation.mjs +2 -2
- package/node_modules/sharp/dist/output.cjs +1 -0
- package/node_modules/sharp/dist/output.mjs +1 -0
- package/node_modules/sharp/dist/resize.cjs +14 -14
- package/node_modules/sharp/dist/resize.mjs +14 -14
- package/node_modules/sharp/dist/sharp.cjs +3 -3
- package/node_modules/sharp/dist/sharp.mjs +3 -3
- package/node_modules/sharp/lib/index.d.ts +2 -2
- package/node_modules/sharp/package.json +35 -35
- package/node_modules/sharp/src/binding.gyp +1 -1
- package/node_modules/sharp/src/common.cc +4 -4
- package/node_modules/sharp/src/common.h +2 -2
- package/node_modules/sharp/src/pipeline.cc +31 -6
- package/node_modules/sharp/src/utilities.cc +1 -1
- package/node_modules/spdx-license-ids/index.json +13 -0
- package/node_modules/spdx-license-ids/package.json +1 -1
- package/node_modules/stream-buffers/.codeclimate.yml +12 -0
- package/node_modules/stream-buffers/.eslintignore +1 -0
- package/node_modules/stream-buffers/.eslintrc +25 -0
- package/node_modules/stream-buffers/.github/workflows/codeql-analysis.yml +71 -0
- package/node_modules/stream-buffers/.github/workflows/node.js.yml +31 -0
- package/node_modules/stream-buffers/.mailmap +1 -0
- package/node_modules/stream-buffers/.nvmrc +1 -0
- package/node_modules/stream-buffers/README.md +65 -65
- package/node_modules/stream-buffers/lib/constants.js +8 -6
- package/node_modules/stream-buffers/lib/readable_streambuffer.js +114 -136
- package/node_modules/stream-buffers/lib/streambuffer.js +5 -3
- package/node_modules/stream-buffers/lib/writable_streambuffer.js +72 -97
- package/node_modules/stream-buffers/package.json +7 -5
- package/node_modules/tar-stream/package.json +7 -7
- package/node_modules/type-fest/index.d.ts +7 -7
- package/node_modules/type-fest/package.json +2 -1
- package/node_modules/type-fest/readme.md +7 -16
- package/node_modules/type-fest/source/all-extend.d.ts +9 -7
- package/node_modules/type-fest/source/array-reverse.d.ts +13 -12
- package/node_modules/type-fest/source/array-tail.d.ts +3 -3
- package/node_modules/type-fest/source/delimiter-case.d.ts +1 -1
- package/node_modules/type-fest/source/get.d.ts +1 -1
- package/node_modules/type-fest/source/int-closed-range.d.ts +4 -1
- package/node_modules/type-fest/source/int-range.d.ts +56 -9
- package/node_modules/type-fest/source/internal/array.d.ts +14 -13
- package/node_modules/type-fest/source/internal/numeric.d.ts +0 -38
- package/node_modules/type-fest/source/internal/object.d.ts +30 -1
- package/node_modules/type-fest/source/is-boolean-literal.d.ts +39 -0
- package/node_modules/type-fest/source/is-literal.d.ts +43 -269
- package/node_modules/type-fest/source/is-numeric-literal.d.ts +50 -0
- package/node_modules/type-fest/source/is-string-literal.d.ts +72 -0
- package/node_modules/type-fest/source/is-symbol-literal.d.ts +39 -0
- package/node_modules/type-fest/source/is-tuple.d.ts +3 -3
- package/node_modules/type-fest/source/jsonify.d.ts +1 -5
- package/node_modules/type-fest/source/merge-deep.d.ts +3 -3
- package/node_modules/type-fest/source/remove-prefix.d.ts +1 -1
- package/node_modules/type-fest/source/remove-suffix.d.ts +1 -1
- package/node_modules/type-fest/source/rename-keys.d.ts +163 -0
- package/node_modules/type-fest/source/set-required.d.ts +10 -9
- package/node_modules/type-fest/source/shared-union-fields-deep.d.ts +6 -4
- package/node_modules/type-fest/source/some-extend.d.ts +9 -7
- package/node_modules/type-fest/source/split-on-rest-element.d.ts +14 -13
- package/node_modules/type-fest/source/split.d.ts +22 -11
- package/node_modules/type-fest/source/string-repeat.d.ts +1 -1
- package/node_modules/type-fest/source/string-to-array.d.ts +1 -1
- package/node_modules/type-fest/source/tsconfig-json.d.ts +1 -1
- package/node_modules/type-fest/source/typed-array.d.ts +6 -0
- package/node_modules/type-fest/source/union-max.d.ts +56 -0
- package/node_modules/type-fest/source/writable.d.ts +2 -2
- package/package.json +5 -3
- package/node_modules/@appium/support/node_modules/asyncbox/LICENSE +0 -203
- package/node_modules/@appium/support/node_modules/asyncbox/README.md +0 -215
- package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/lib/asyncbox.d.ts +0 -103
- package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/lib/asyncbox.d.ts.map +0 -1
- package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/lib/asyncbox.js +0 -301
- package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/lib/asyncbox.js.map +0 -1
- package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/lib/types.d.ts +0 -84
- package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/lib/types.d.ts.map +0 -1
- package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/lib/types.js +0 -3
- package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/lib/types.js.map +0 -1
- package/node_modules/@appium/support/node_modules/asyncbox/build/cjs/package.json +0 -3
- package/node_modules/@appium/support/node_modules/asyncbox/build/esm/lib/asyncbox.d.ts +0 -103
- package/node_modules/@appium/support/node_modules/asyncbox/build/esm/lib/asyncbox.d.ts.map +0 -1
- package/node_modules/@appium/support/node_modules/asyncbox/build/esm/lib/asyncbox.js +0 -288
- package/node_modules/@appium/support/node_modules/asyncbox/build/esm/lib/asyncbox.js.map +0 -1
- package/node_modules/@appium/support/node_modules/asyncbox/build/esm/lib/types.d.ts +0 -84
- package/node_modules/@appium/support/node_modules/asyncbox/build/esm/lib/types.d.ts.map +0 -1
- package/node_modules/@appium/support/node_modules/asyncbox/build/esm/lib/types.js +0 -2
- package/node_modules/@appium/support/node_modules/asyncbox/build/esm/lib/types.js.map +0 -1
- package/node_modules/@appium/support/node_modules/asyncbox/build/esm/package.json +0 -3
- package/node_modules/@appium/support/node_modules/asyncbox/lib/asyncbox.ts +0 -365
- package/node_modules/@appium/support/node_modules/asyncbox/lib/types.ts +0 -88
- package/node_modules/@appium/support/node_modules/asyncbox/package.json +0 -74
- package/node_modules/@appium/support/node_modules/axios/CHANGELOG.md +0 -1872
- package/node_modules/@appium/support/node_modules/axios/LICENSE +0 -7
- package/node_modules/@appium/support/node_modules/axios/MIGRATION_GUIDE.md +0 -877
- package/node_modules/@appium/support/node_modules/axios/README.md +0 -2623
- package/node_modules/@appium/support/node_modules/axios/dist/axios.js +0 -5509
- package/node_modules/@appium/support/node_modules/axios/dist/axios.min.js +0 -5
- package/node_modules/@appium/support/node_modules/axios/dist/axios.min.js.map +0 -1
- package/node_modules/@appium/support/node_modules/axios/dist/browser/axios.cjs +0 -5469
- package/node_modules/@appium/support/node_modules/axios/dist/esm/axios.js +0 -5490
- package/node_modules/@appium/support/node_modules/axios/dist/esm/axios.min.js +0 -3
- package/node_modules/@appium/support/node_modules/axios/dist/esm/axios.min.js.map +0 -1
- package/node_modules/@appium/support/node_modules/axios/dist/node/axios.cjs +0 -6356
- package/node_modules/@appium/support/node_modules/axios/index.d.cts +0 -762
- package/node_modules/@appium/support/node_modules/axios/index.d.ts +0 -783
- package/node_modules/@appium/support/node_modules/axios/index.js +0 -45
- package/node_modules/@appium/support/node_modules/axios/lib/adapters/README.md +0 -36
- package/node_modules/@appium/support/node_modules/axios/lib/adapters/adapters.js +0 -132
- package/node_modules/@appium/support/node_modules/axios/lib/adapters/fetch.js +0 -643
- package/node_modules/@appium/support/node_modules/axios/lib/adapters/http.js +0 -1406
- package/node_modules/@appium/support/node_modules/axios/lib/adapters/xhr.js +0 -228
- package/node_modules/@appium/support/node_modules/axios/lib/axios.js +0 -89
- package/node_modules/@appium/support/node_modules/axios/lib/cancel/CancelToken.js +0 -135
- package/node_modules/@appium/support/node_modules/axios/lib/cancel/CanceledError.js +0 -22
- package/node_modules/@appium/support/node_modules/axios/lib/cancel/isCancel.js +0 -5
- package/node_modules/@appium/support/node_modules/axios/lib/core/Axios.js +0 -301
- package/node_modules/@appium/support/node_modules/axios/lib/core/AxiosError.js +0 -219
- package/node_modules/@appium/support/node_modules/axios/lib/core/AxiosHeaders.js +0 -474
- package/node_modules/@appium/support/node_modules/axios/lib/core/InterceptorManager.js +0 -72
- package/node_modules/@appium/support/node_modules/axios/lib/core/README.md +0 -8
- package/node_modules/@appium/support/node_modules/axios/lib/core/buildFullPath.js +0 -88
- package/node_modules/@appium/support/node_modules/axios/lib/core/dispatchRequest.js +0 -89
- package/node_modules/@appium/support/node_modules/axios/lib/core/mergeConfig.js +0 -174
- package/node_modules/@appium/support/node_modules/axios/lib/core/setFormDataHeaders.js +0 -27
- package/node_modules/@appium/support/node_modules/axios/lib/core/settle.js +0 -27
- package/node_modules/@appium/support/node_modules/axios/lib/core/transformData.js +0 -28
- package/node_modules/@appium/support/node_modules/axios/lib/defaults/index.js +0 -177
- package/node_modules/@appium/support/node_modules/axios/lib/defaults/transitional.js +0 -10
- package/node_modules/@appium/support/node_modules/axios/lib/env/README.md +0 -3
- package/node_modules/@appium/support/node_modules/axios/lib/env/classes/FormData.js +0 -2
- package/node_modules/@appium/support/node_modules/axios/lib/env/data.js +0 -1
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/AxiosTransformStream.js +0 -156
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +0 -59
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/Http2Sessions.js +0 -119
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/HttpStatusCode.js +0 -78
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/README.md +0 -7
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js +0 -29
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/bind.js +0 -14
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/buildURL.js +0 -69
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/callbackify.js +0 -18
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/combineURLs.js +0 -23
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/composeSignals.js +0 -68
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/cookies.js +0 -64
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/deprecatedMethod.js +0 -31
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +0 -166
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/formDataToJSON.js +0 -125
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/formDataToStream.js +0 -119
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/fromDataURI.js +0 -68
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/isAbsoluteURL.js +0 -19
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/isAxiosError.js +0 -14
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/isURLSameOrigin.js +0 -16
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/null.js +0 -2
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/parseHeaders.js +0 -71
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/parseProtocol.js +0 -6
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/progressEventReducer.js +0 -54
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/readBlob.js +0 -15
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/resolveConfig.js +0 -105
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/sanitizeHeaderValue.js +0 -60
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/shouldBypassProxy.js +0 -329
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/speedometer.js +0 -55
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/spread.js +0 -28
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/throttle.js +0 -44
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/toFormData.js +0 -286
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/toURLEncodedForm.js +0 -19
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/trackStream.js +0 -89
- package/node_modules/@appium/support/node_modules/axios/lib/helpers/validator.js +0 -112
- package/node_modules/@appium/support/node_modules/axios/lib/platform/browser/classes/Blob.js +0 -3
- package/node_modules/@appium/support/node_modules/axios/lib/platform/browser/classes/FormData.js +0 -3
- package/node_modules/@appium/support/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js +0 -4
- package/node_modules/@appium/support/node_modules/axios/lib/platform/browser/index.js +0 -13
- package/node_modules/@appium/support/node_modules/axios/lib/platform/common/utils.js +0 -52
- package/node_modules/@appium/support/node_modules/axios/lib/platform/index.js +0 -7
- package/node_modules/@appium/support/node_modules/axios/lib/platform/node/classes/Buffer.js +0 -11
- package/node_modules/@appium/support/node_modules/axios/lib/platform/node/classes/FormData.js +0 -3
- package/node_modules/@appium/support/node_modules/axios/lib/platform/node/classes/URLSearchParams.js +0 -4
- package/node_modules/@appium/support/node_modules/axios/lib/platform/node/index.js +0 -37
- package/node_modules/@appium/support/node_modules/axios/lib/utils.js +0 -1029
- package/node_modules/@appium/support/node_modules/axios/package.json +0 -203
- package/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64-0.35.4.node +0 -0
- package/node_modules/big-integer/BigInteger.d.ts +0 -2393
- package/node_modules/big-integer/BigInteger.js +0 -1453
- package/node_modules/big-integer/BigInteger.min.js +0 -1
- package/node_modules/big-integer/LICENSE +0 -24
- package/node_modules/big-integer/README.md +0 -589
- package/node_modules/big-integer/bower.json +0 -29
- package/node_modules/big-integer/package.json +0 -48
- package/node_modules/big-integer/tsconfig.json +0 -24
- package/node_modules/bplist-creator/bplistCreator.d.ts +0 -8
- package/node_modules/bplist-creator/bplistCreator.js +0 -460
- package/node_modules/bplist-creator/test/airplay.bplist +0 -0
- package/node_modules/bplist-creator/test/binaryData.bplist +0 -0
- package/node_modules/bplist-creator/test/creatorTest.js +0 -211
- package/node_modules/bplist-creator/test/iTunes-small.bplist +0 -0
- package/node_modules/bplist-creator/test/integers.bplist +0 -0
- package/node_modules/bplist-creator/test/sample1.bplist +0 -0
- package/node_modules/bplist-creator/test/sample2.bplist +0 -0
- package/node_modules/bplist-creator/test/uid.bplist +0 -0
- package/node_modules/bplist-creator/test/utf16.bplist +0 -0
- package/node_modules/bplist-parser/.editorconfig +0 -12
- package/node_modules/bplist-parser/.eslintignore +0 -1
- package/node_modules/bplist-parser/.eslintrc.js +0 -296
- package/node_modules/bplist-parser/bplistParser.d.ts +0 -8
- package/node_modules/stream-buffers/.travis.yml +0 -28
- package/node_modules/stream-buffers/coverage/coverage.json +0 -1
- package/node_modules/stream-buffers/coverage/lcov-report/base.css +0 -182
- package/node_modules/stream-buffers/coverage/lcov-report/index.html +0 -73
- package/node_modules/stream-buffers/coverage/lcov-report/lib/constants.js.html +0 -63
- package/node_modules/stream-buffers/coverage/lcov-report/lib/index.html +0 -112
- package/node_modules/stream-buffers/coverage/lcov-report/lib/readable_streambuffer.js.html +0 -453
- package/node_modules/stream-buffers/coverage/lcov-report/lib/streambuffer.js.html +0 -54
- package/node_modules/stream-buffers/coverage/lcov-report/lib/writable_streambuffer.js.html +0 -336
- package/node_modules/stream-buffers/coverage/lcov-report/prettify.css +0 -1
- package/node_modules/stream-buffers/coverage/lcov-report/prettify.js +0 -1
- package/node_modules/stream-buffers/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/node_modules/stream-buffers/coverage/lcov-report/sorter.js +0 -156
- package/node_modules/stream-buffers/coverage/lcov.info +0 -305
|
@@ -1,272 +1,14 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
1
|
+
import type {IsStringLiteral} from './is-string-literal.d.ts';
|
|
2
|
+
import type {IsNumericLiteral} from './is-numeric-literal.d.ts';
|
|
3
|
+
import type {IsBooleanLiteral} from './is-boolean-literal.d.ts';
|
|
4
|
+
import type {IsSymbolLiteral} from './is-symbol-literal.d.ts';
|
|
4
5
|
import type {IsNever} from './is-never.d.ts';
|
|
5
|
-
import type {
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
Returns a boolean for whether the given type `T` is the specified `LiteralType`.
|
|
9
|
-
|
|
10
|
-
@link https://stackoverflow.com/a/52806744/10292952
|
|
11
|
-
|
|
12
|
-
@example
|
|
13
|
-
```
|
|
14
|
-
type A = LiteralCheck<1, number>;
|
|
15
|
-
//=> true
|
|
16
|
-
|
|
17
|
-
type B = LiteralCheck<number, number>;
|
|
18
|
-
//=> false
|
|
19
|
-
|
|
20
|
-
type C = LiteralCheck<1, string>;
|
|
21
|
-
//=> false
|
|
22
|
-
```
|
|
23
|
-
*/
|
|
24
|
-
type LiteralCheck<T, LiteralType extends Primitive> = (
|
|
25
|
-
IsNever<T> extends false // Must be wider than `never`
|
|
26
|
-
? [T] extends [LiteralType & infer U] // Remove any branding
|
|
27
|
-
? [U] extends [LiteralType] // Must be narrower than `LiteralType`
|
|
28
|
-
? [LiteralType] extends [U] // Cannot be wider than `LiteralType`
|
|
29
|
-
? false
|
|
30
|
-
: true
|
|
31
|
-
: false
|
|
32
|
-
: false
|
|
33
|
-
: false
|
|
34
|
-
);
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
Returns a boolean for whether the given type `T` is one of the specified literal types in `LiteralUnionType`.
|
|
38
|
-
|
|
39
|
-
@example
|
|
40
|
-
```
|
|
41
|
-
type A = LiteralChecks<1, Numeric>;
|
|
42
|
-
//=> true
|
|
43
|
-
|
|
44
|
-
type B = LiteralChecks<1n, Numeric>;
|
|
45
|
-
//=> true
|
|
46
|
-
|
|
47
|
-
type C = LiteralChecks<bigint, Numeric>;
|
|
48
|
-
//=> false
|
|
49
|
-
```
|
|
50
|
-
*/
|
|
51
|
-
type LiteralChecks<T, LiteralUnionType> = (
|
|
52
|
-
// Conditional type to force union distribution.
|
|
53
|
-
// If `T` is none of the literal types in the union `LiteralUnionType`, then `LiteralCheck<T, LiteralType>` will evaluate to `false` for the whole union.
|
|
54
|
-
// If `T` is one of the literal types in the union, it will evaluate to `boolean` (i.e. `true | false`)
|
|
55
|
-
IsNotFalse<LiteralUnionType extends Primitive
|
|
56
|
-
? LiteralCheck<T, LiteralUnionType>
|
|
57
|
-
: never
|
|
58
|
-
>
|
|
59
|
-
);
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
Returns a boolean for whether the given type is a `string` [literal type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types).
|
|
63
|
-
|
|
64
|
-
Useful for:
|
|
65
|
-
- providing strongly-typed string manipulation functions
|
|
66
|
-
- constraining strings to be a string literal
|
|
67
|
-
- type utilities, such as when constructing parsers and ASTs
|
|
68
|
-
|
|
69
|
-
The implementation of this type is inspired by the trick mentioned in this [StackOverflow answer](https://stackoverflow.com/a/68261113/420747).
|
|
70
|
-
|
|
71
|
-
@example
|
|
72
|
-
```
|
|
73
|
-
import type {IsStringLiteral} from 'type-fest';
|
|
74
|
-
|
|
75
|
-
type CapitalizedString<T extends string> = IsStringLiteral<T> extends true ? Capitalize<T> : string;
|
|
76
|
-
|
|
77
|
-
// https://github.com/yankeeinlondon/native-dash/blob/master/src/capitalize.ts
|
|
78
|
-
function capitalize<T extends Readonly<string>>(input: T): CapitalizedString<T> {
|
|
79
|
-
return (input.slice(0, 1).toUpperCase() + input.slice(1)) as CapitalizedString<T>;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
const output = capitalize('hello, world!');
|
|
83
|
-
//=> 'Hello, world!'
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
@example
|
|
87
|
-
```
|
|
88
|
-
// String types with infinite set of possible values return `false`.
|
|
89
|
-
|
|
90
|
-
import type {IsStringLiteral} from 'type-fest';
|
|
91
|
-
|
|
92
|
-
type AllUppercaseStrings = IsStringLiteral<Uppercase<string>>;
|
|
93
|
-
//=> false
|
|
94
|
-
|
|
95
|
-
type StringsStartingWithOn = IsStringLiteral<`on${string}`>;
|
|
96
|
-
//=> false
|
|
97
|
-
|
|
98
|
-
// This behaviour is particularly useful in string manipulation utilities, as infinite string types often require separate handling.
|
|
99
|
-
|
|
100
|
-
type Length<S extends string, Counter extends never[] = []> =
|
|
101
|
-
IsStringLiteral<S> extends false
|
|
102
|
-
? number // return `number` for infinite string types
|
|
103
|
-
: S extends `${string}${infer Tail}`
|
|
104
|
-
? Length<Tail, [...Counter, never]>
|
|
105
|
-
: Counter['length'];
|
|
106
|
-
|
|
107
|
-
type L1 = Length<Lowercase<string>>;
|
|
108
|
-
//=> number
|
|
109
|
-
|
|
110
|
-
type L2 = Length<`${number}`>;
|
|
111
|
-
//=> number
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
@category Type Guard
|
|
115
|
-
@category Utilities
|
|
116
|
-
*/
|
|
117
|
-
export type IsStringLiteral<S> = IfNotAnyOrNever<S, {
|
|
118
|
-
ifNot: _IsStringLiteral<CollapseLiterals<S extends TagContainer<any> ? UnwrapTagged<S> : S>>;
|
|
119
|
-
ifAny: false;
|
|
120
|
-
ifNever: false;
|
|
121
|
-
}>;
|
|
122
|
-
|
|
123
|
-
export type _IsStringLiteral<S> =
|
|
124
|
-
// If `T` is an infinite string type (e.g., `on${string}`), `Record<T, never>` produces an index signature,
|
|
125
|
-
// and since `{}` extends index signatures, the result becomes `false`.
|
|
126
|
-
S extends string
|
|
127
|
-
? {} extends Record<S, never>
|
|
128
|
-
? false
|
|
129
|
-
: true
|
|
130
|
-
: false;
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
Returns a boolean for whether the given type is a `number` or `bigint` [literal type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types).
|
|
134
|
-
|
|
135
|
-
Useful for:
|
|
136
|
-
- providing strongly-typed functions when given literal arguments
|
|
137
|
-
- type utilities, such as when constructing parsers and ASTs
|
|
138
|
-
|
|
139
|
-
@example
|
|
140
|
-
```
|
|
141
|
-
import type {IsNumericLiteral, IsStringLiteral} from 'type-fest';
|
|
142
|
-
|
|
143
|
-
// https://github.com/inocan-group/inferred-types/blob/master/modules/types/src/boolean-logic/operators/EndsWith.ts
|
|
144
|
-
type EndsWith<TValue, TEndsWith extends string> =
|
|
145
|
-
TValue extends string
|
|
146
|
-
? IsStringLiteral<TEndsWith> extends true
|
|
147
|
-
? IsStringLiteral<TValue> extends true
|
|
148
|
-
? TValue extends `${string}${TEndsWith}`
|
|
149
|
-
? true
|
|
150
|
-
: false
|
|
151
|
-
: boolean
|
|
152
|
-
: boolean
|
|
153
|
-
: TValue extends number
|
|
154
|
-
? IsNumericLiteral<TValue> extends true
|
|
155
|
-
? EndsWith<`${TValue}`, TEndsWith>
|
|
156
|
-
: false
|
|
157
|
-
: false;
|
|
158
|
-
|
|
159
|
-
function endsWith<Input extends string | number, End extends string>(input: Input, end: End) {
|
|
160
|
-
return `${input}`.endsWith(end) as EndsWith<Input, End>;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
endsWith('abc', 'c');
|
|
164
|
-
//=> true
|
|
165
|
-
|
|
166
|
-
endsWith(123_456, '456');
|
|
167
|
-
//=> true
|
|
168
|
-
|
|
169
|
-
const end = '123' as string;
|
|
170
|
-
|
|
171
|
-
endsWith('abc123', end);
|
|
172
|
-
//=> boolean
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
@category Type Guard
|
|
176
|
-
@category Utilities
|
|
177
|
-
*/
|
|
178
|
-
export type IsNumericLiteral<T> = LiteralChecks<T, _Numeric>;
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
Returns a boolean for whether the given type is a `true` or `false` [literal type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types).
|
|
182
|
-
|
|
183
|
-
Useful for:
|
|
184
|
-
- providing strongly-typed functions when given literal arguments
|
|
185
|
-
- type utilities, such as when constructing parsers and ASTs
|
|
186
|
-
|
|
187
|
-
@example
|
|
188
|
-
```
|
|
189
|
-
import type {IsBooleanLiteral} from 'type-fest';
|
|
190
|
-
|
|
191
|
-
const id = 123;
|
|
192
|
-
|
|
193
|
-
type GetId<AsString extends boolean> =
|
|
194
|
-
IsBooleanLiteral<AsString> extends true
|
|
195
|
-
? AsString extends true
|
|
196
|
-
? `${typeof id}`
|
|
197
|
-
: typeof id
|
|
198
|
-
: number | string;
|
|
199
|
-
|
|
200
|
-
function getId<AsString extends boolean = false>(options?: {asString: AsString}) {
|
|
201
|
-
return (options?.asString ? `${id}` : id) as GetId<AsString>;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
const numberId = getId();
|
|
205
|
-
//=> 123
|
|
206
|
-
|
|
207
|
-
const stringId = getId({asString: true});
|
|
208
|
-
//=> '123'
|
|
209
|
-
|
|
210
|
-
declare const runtimeBoolean: boolean;
|
|
211
|
-
const eitherId = getId({asString: runtimeBoolean});
|
|
212
|
-
//=> string | number
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
@category Type Guard
|
|
216
|
-
@category Utilities
|
|
217
|
-
*/
|
|
218
|
-
export type IsBooleanLiteral<T> = LiteralCheck<T, boolean>;
|
|
219
|
-
|
|
220
|
-
/**
|
|
221
|
-
Returns a boolean for whether the given type is a `symbol` [literal type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types).
|
|
222
|
-
|
|
223
|
-
Useful for:
|
|
224
|
-
- providing strongly-typed functions when given literal arguments
|
|
225
|
-
- type utilities, such as when constructing parsers and ASTs
|
|
226
|
-
|
|
227
|
-
@example
|
|
228
|
-
```
|
|
229
|
-
import type {IsSymbolLiteral} from 'type-fest';
|
|
230
|
-
|
|
231
|
-
type Get<Object_ extends Record<symbol, number>, Key extends keyof Object_> =
|
|
232
|
-
IsSymbolLiteral<Key> extends true
|
|
233
|
-
? Object_[Key]
|
|
234
|
-
: number;
|
|
235
|
-
|
|
236
|
-
function get<Object_ extends Record<symbol, number>, Key extends keyof Object_>(o: Object_, key: Key) {
|
|
237
|
-
return o[key] as Get<Object_, Key>;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
const symbolLiteral = Symbol('literal');
|
|
241
|
-
let symbolValue = Symbol('value1');
|
|
242
|
-
symbolValue = Symbol('value2');
|
|
243
|
-
|
|
244
|
-
get({[symbolLiteral]: 1} as const, symbolLiteral);
|
|
245
|
-
//=> 1
|
|
246
|
-
|
|
247
|
-
get({[symbolValue]: 1} as const, symbolValue);
|
|
248
|
-
//=> number
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
@category Type Guard
|
|
252
|
-
@category Utilities
|
|
253
|
-
*/
|
|
254
|
-
export type IsSymbolLiteral<T> = LiteralCheck<T, symbol>;
|
|
255
|
-
|
|
256
|
-
/** Helper type for `IsLiteral`. */
|
|
257
|
-
type IsLiteralUnion<T> =
|
|
258
|
-
| IsStringLiteral<T>
|
|
259
|
-
| IsNumericLiteral<T>
|
|
260
|
-
| IsBooleanLiteral<T>
|
|
261
|
-
| IsSymbolLiteral<T>;
|
|
6
|
+
import type {IfNotAnyOrNever} from './internal/type.d.ts';
|
|
7
|
+
import type {CollapseLiterals, UnwrapBrand} from './internal/object.d.ts';
|
|
262
8
|
|
|
263
9
|
/**
|
|
264
10
|
Returns a boolean for whether the given type is a [literal type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types).
|
|
265
11
|
|
|
266
|
-
Useful for:
|
|
267
|
-
- providing strongly-typed functions when given literal arguments
|
|
268
|
-
- type utilities, such as when constructing parsers and ASTs
|
|
269
|
-
|
|
270
12
|
@example
|
|
271
13
|
```
|
|
272
14
|
import type {IsLiteral} from 'type-fest';
|
|
@@ -302,16 +44,48 @@ type I = IsLiteral<symbol>;
|
|
|
302
44
|
type J = IsLiteral<true>;
|
|
303
45
|
//=> true
|
|
304
46
|
|
|
305
|
-
type K = IsLiteral<
|
|
47
|
+
type K = IsLiteral<false>;
|
|
48
|
+
//=> true
|
|
49
|
+
|
|
50
|
+
type L = IsLiteral<boolean>;
|
|
306
51
|
//=> false
|
|
52
|
+
|
|
53
|
+
type M = IsLiteral<1 | 'foo' | false>;
|
|
54
|
+
//=> true
|
|
55
|
+
|
|
56
|
+
type N = IsLiteral<string | number | symbol>;
|
|
57
|
+
//=> false
|
|
58
|
+
|
|
59
|
+
type O = IsLiteral<1000n | string | true>;
|
|
60
|
+
//=> boolean
|
|
307
61
|
```
|
|
308
62
|
|
|
309
63
|
@category Type Guard
|
|
310
64
|
@category Utilities
|
|
311
65
|
*/
|
|
312
|
-
export type IsLiteral<T> =
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
66
|
+
export type IsLiteral<T> = IfNotAnyOrNever<T, {
|
|
67
|
+
ifNot: _IsLiteral<CollapseLiterals<UnwrapBrand<T>>>;
|
|
68
|
+
ifAny: false;
|
|
69
|
+
ifNever: false;
|
|
70
|
+
}>;
|
|
71
|
+
|
|
72
|
+
type _IsLiteral<T> =
|
|
73
|
+
| (Extract<T, boolean> extends infer Bools
|
|
74
|
+
// We can't instantiate `IsBooleanLiteral` with `never`,
|
|
75
|
+
// because that will add an extraneous `false` to the result if there are no booleans.
|
|
76
|
+
? IsNever<Bools> extends true
|
|
77
|
+
? never
|
|
78
|
+
: IsBooleanLiteral<Bools>
|
|
79
|
+
: never)
|
|
80
|
+
| (IsLiteralNonBools<Exclude<T, boolean>>);
|
|
81
|
+
|
|
82
|
+
type IsLiteralNonBools<T> =
|
|
83
|
+
T extends number | bigint
|
|
84
|
+
? IsNumericLiteral<T>
|
|
85
|
+
: T extends string
|
|
86
|
+
? IsStringLiteral<T>
|
|
87
|
+
: T extends symbol
|
|
88
|
+
? IsSymbolLiteral<T>
|
|
89
|
+
: false;
|
|
316
90
|
|
|
317
91
|
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type {CollapseLiterals, UnwrapBrand} from './internal/object.d.ts';
|
|
2
|
+
import type {IfNotAnyOrNever} from './internal/type.d.ts';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
Returns a boolean for whether the given type is a `number` or `bigint` [literal type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types).
|
|
6
|
+
|
|
7
|
+
@example
|
|
8
|
+
```
|
|
9
|
+
import type {IsNumericLiteral} from 'type-fest';
|
|
10
|
+
|
|
11
|
+
type A = IsNumericLiteral<0>;
|
|
12
|
+
//=> true
|
|
13
|
+
|
|
14
|
+
type B = IsNumericLiteral<number>;
|
|
15
|
+
//=> false
|
|
16
|
+
|
|
17
|
+
type C = IsNumericLiteral<100n>;
|
|
18
|
+
//=> true
|
|
19
|
+
|
|
20
|
+
type D = IsNumericLiteral<bigint>;
|
|
21
|
+
//=> false
|
|
22
|
+
|
|
23
|
+
type E = IsNumericLiteral<1 | 2 | 10n | 20n>;
|
|
24
|
+
//=> true
|
|
25
|
+
|
|
26
|
+
type F = IsNumericLiteral<number | bigint>;
|
|
27
|
+
//=> false
|
|
28
|
+
|
|
29
|
+
type G = IsNumericLiteral<1 | bigint>;
|
|
30
|
+
//=> boolean
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
@category Type Guard
|
|
34
|
+
@category Utilities
|
|
35
|
+
*/
|
|
36
|
+
export type IsNumericLiteral<T> = IfNotAnyOrNever<T, {
|
|
37
|
+
ifNot: _IsNumericLiteral<CollapseLiterals<UnwrapBrand<T>>>;
|
|
38
|
+
ifAny: false;
|
|
39
|
+
ifNever: false;
|
|
40
|
+
}>;
|
|
41
|
+
|
|
42
|
+
type _IsNumericLiteral<T> = T extends number | bigint
|
|
43
|
+
? number extends T
|
|
44
|
+
? false
|
|
45
|
+
: bigint extends T
|
|
46
|
+
? false
|
|
47
|
+
: true
|
|
48
|
+
: false;
|
|
49
|
+
|
|
50
|
+
export {};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type {CollapseLiterals, UnwrapBrand} from './internal/object.d.ts';
|
|
2
|
+
import type {IfNotAnyOrNever} from './internal/type.d.ts';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
Returns a boolean for whether the given type is a `string` [literal type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types).
|
|
6
|
+
|
|
7
|
+
The implementation of this type is inspired by the trick mentioned in this [StackOverflow answer](https://stackoverflow.com/a/68261113/420747).
|
|
8
|
+
|
|
9
|
+
@example
|
|
10
|
+
```
|
|
11
|
+
import type {IsStringLiteral} from 'type-fest';
|
|
12
|
+
|
|
13
|
+
type A = IsStringLiteral<'foo'>;
|
|
14
|
+
//=> true
|
|
15
|
+
|
|
16
|
+
type B = IsStringLiteral<string>;
|
|
17
|
+
//=> false
|
|
18
|
+
|
|
19
|
+
// String types with infinite set of possible values return `false`
|
|
20
|
+
type C = IsStringLiteral<`on${string}`>;
|
|
21
|
+
//=> false
|
|
22
|
+
|
|
23
|
+
type D = IsStringLiteral<Uppercase<string>>;
|
|
24
|
+
//=> false
|
|
25
|
+
|
|
26
|
+
type E = IsStringLiteral<'foo' | 'bar' | 'baz'>;
|
|
27
|
+
//=> true
|
|
28
|
+
|
|
29
|
+
type F = IsStringLiteral<'sm' | 'md' | 'lg' | `${number}px`>;
|
|
30
|
+
//=> boolean
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
@example
|
|
34
|
+
```
|
|
35
|
+
import type {IsStringLiteral} from 'type-fest';
|
|
36
|
+
|
|
37
|
+
type StringLength<S extends string, Counter extends never[] = []> =
|
|
38
|
+
IsStringLiteral<S> extends true
|
|
39
|
+
? S extends `${string}${infer Tail}`
|
|
40
|
+
? StringLength<Tail, [...Counter, never]>
|
|
41
|
+
: Counter['length']
|
|
42
|
+
: number; // return `number` for non-literal string types
|
|
43
|
+
|
|
44
|
+
type L1 = StringLength<'foobar'>;
|
|
45
|
+
//=> 6
|
|
46
|
+
|
|
47
|
+
type L2 = StringLength<Lowercase<string>>;
|
|
48
|
+
//=> number
|
|
49
|
+
|
|
50
|
+
type L3 = StringLength<`${number}`>;
|
|
51
|
+
//=> number
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
@category Type Guard
|
|
55
|
+
@category Utilities
|
|
56
|
+
*/
|
|
57
|
+
export type IsStringLiteral<S> = IfNotAnyOrNever<S, {
|
|
58
|
+
ifNot: _IsStringLiteral<CollapseLiterals<UnwrapBrand<S>>>;
|
|
59
|
+
ifAny: false;
|
|
60
|
+
ifNever: false;
|
|
61
|
+
}>;
|
|
62
|
+
|
|
63
|
+
type _IsStringLiteral<S> =
|
|
64
|
+
// If `S` is an infinite string type (e.g., `on${string}`), `Record<S, never>` produces an index signature,
|
|
65
|
+
// and since `{}` extends index signatures, the result becomes `false`.
|
|
66
|
+
S extends string
|
|
67
|
+
? {} extends Record<S, never>
|
|
68
|
+
? false
|
|
69
|
+
: true
|
|
70
|
+
: false;
|
|
71
|
+
|
|
72
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type {CollapseLiterals, UnwrapBrand} from './internal/object.d.ts';
|
|
2
|
+
import type {IfNotAnyOrNever} from './internal/type.d.ts';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
Returns a boolean for whether the given type is a `symbol` [literal type](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types).
|
|
6
|
+
|
|
7
|
+
@example
|
|
8
|
+
```
|
|
9
|
+
import type {IsSymbolLiteral} from 'type-fest';
|
|
10
|
+
|
|
11
|
+
declare const symbolLiteral1: unique symbol;
|
|
12
|
+
declare const symbolLiteral2: unique symbol;
|
|
13
|
+
|
|
14
|
+
type A = IsSymbolLiteral<typeof symbolLiteral1>;
|
|
15
|
+
//=> true
|
|
16
|
+
|
|
17
|
+
type B = IsSymbolLiteral<symbol>;
|
|
18
|
+
//=> false
|
|
19
|
+
|
|
20
|
+
type C = IsSymbolLiteral<typeof symbolLiteral1 | typeof symbolLiteral2>;
|
|
21
|
+
//=> true
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
@category Type Guard
|
|
25
|
+
@category Utilities
|
|
26
|
+
*/
|
|
27
|
+
export type IsSymbolLiteral<T> = IfNotAnyOrNever<T, {
|
|
28
|
+
ifNot: _IsSymbolLiteral<CollapseLiterals<UnwrapBrand<T>>>;
|
|
29
|
+
ifAny: false;
|
|
30
|
+
ifNever: false;
|
|
31
|
+
}>;
|
|
32
|
+
|
|
33
|
+
type _IsSymbolLiteral<T> = T extends symbol
|
|
34
|
+
? symbol extends T
|
|
35
|
+
? false
|
|
36
|
+
: true
|
|
37
|
+
: false;
|
|
38
|
+
|
|
39
|
+
export {};
|
|
@@ -81,9 +81,9 @@ type _IsTuple<
|
|
|
81
81
|
TArray extends unknown // For distributing `TArray`
|
|
82
82
|
? number extends TArray['length']
|
|
83
83
|
? Options['fixedLengthOnly'] extends false
|
|
84
|
-
?
|
|
85
|
-
|
|
86
|
-
true
|
|
84
|
+
? '0' extends keyof TArray
|
|
85
|
+
? true
|
|
86
|
+
: TArray extends readonly [...any, any] ? true : false // To handle cases where a non-rest element follows a rest element, e.g., `[...number[], number]`
|
|
87
87
|
: false
|
|
88
88
|
: true
|
|
89
89
|
: false
|
|
@@ -25,15 +25,11 @@ type JsonifyList<T extends UnknownArray> = T extends readonly []
|
|
|
25
25
|
? JsonValue[]
|
|
26
26
|
: Array<T[number] extends NotJsonable ? null : Jsonify<UndefinedToNull<T[number]>>>;
|
|
27
27
|
|
|
28
|
-
type FilterJsonableKeys<T extends object> = {
|
|
29
|
-
[Key in keyof T]: T[Key] extends NotJsonable ? never : Key;
|
|
30
|
-
}[keyof T];
|
|
31
|
-
|
|
32
28
|
/**
|
|
33
29
|
JSON serialize objects (not including arrays) and classes.
|
|
34
30
|
*/
|
|
35
31
|
type JsonifyObject<T extends object> = {
|
|
36
|
-
[Key in keyof
|
|
32
|
+
[Key in keyof T as T[Key] extends NotJsonable ? never : Key]: Jsonify<T[Key]>;
|
|
37
33
|
};
|
|
38
34
|
|
|
39
35
|
/**
|
|
@@ -18,9 +18,9 @@ type Writable<TArray extends UnknownArray> = {-readonly [Key in keyof TArray]: T
|
|
|
18
18
|
|
|
19
19
|
// Using the default `ArrayTail` type causes issues, refer https://github.com/sindresorhus/type-fest/pull/1175/files#r2134694728.
|
|
20
20
|
type ArrayTail<TArray extends UnknownArray> = TArray extends unknown // For distributing `TArray`
|
|
21
|
-
? keyof TArray
|
|
22
|
-
?
|
|
23
|
-
:
|
|
21
|
+
? '0' extends keyof TArray
|
|
22
|
+
? Writable<_ArrayTail<TArray>>
|
|
23
|
+
: []
|
|
24
24
|
: never; // Should never happen
|
|
25
25
|
|
|
26
26
|
type SimplifyDeepExcludeArray<T> = SimplifyDeep<T, UnknownArray>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type {ApplyDefaultOptions} from './internal/object.d.ts';
|
|
2
2
|
import type {IfNotAnyOrNever, Not} from './internal/type.d.ts';
|
|
3
|
-
import type {IsStringLiteral} from './is-literal.d.ts';
|
|
3
|
+
import type {IsStringLiteral} from './is-string-literal.d.ts';
|
|
4
4
|
import type {IsNever} from './is-never.d.ts';
|
|
5
5
|
import type {Or} from './or.d.ts';
|
|
6
6
|
import type {If} from './if.d.ts';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type {ApplyDefaultOptions} from './internal/object.d.ts';
|
|
2
2
|
import type {IfNotAnyOrNever, Not} from './internal/type.d.ts';
|
|
3
|
-
import type {IsStringLiteral} from './is-literal.d.ts';
|
|
3
|
+
import type {IsStringLiteral} from './is-string-literal.d.ts';
|
|
4
4
|
import type {IsNever} from './is-never.d.ts';
|
|
5
5
|
import type {Or} from './or.d.ts';
|
|
6
6
|
import type {If} from './if.d.ts';
|