@socketsecurity/lib 6.0.3 → 6.0.4
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 +16 -0
- package/dist/_virtual/_rolldown/runtime.js +45 -0
- package/dist/abort/signal.js +53 -59
- package/dist/ai/discover.js +110 -110
- package/dist/ai/profiles.js +94 -65
- package/dist/ai/spawn.js +172 -194
- package/dist/ai/types.js +1 -17
- package/dist/ai/worktree.js +160 -183
- package/dist/ansi/constants.js +16 -38
- package/dist/ansi/strip.js +44 -41
- package/dist/archives/_internal.js +64 -73
- package/dist/archives/detect.js +30 -43
- package/dist/archives/extract.js +43 -50
- package/dist/archives/tar.js +197 -228
- package/dist/archives/types.js +1 -17
- package/dist/archives/zip.js +85 -121
- package/dist/argv/flag-predicates.js +203 -101
- package/dist/argv/flag-types.js +96 -113
- package/dist/argv/parse-args-string.d.ts +16 -14
- package/dist/argv/parse-args-string.js +42 -39
- package/dist/argv/parse.js +145 -163
- package/dist/arrays/_internal.js +65 -48
- package/dist/arrays/chunk.js +51 -40
- package/dist/arrays/join.js +87 -35
- package/dist/arrays/predicates.js +46 -28
- package/dist/arrays/unique.js +45 -31
- package/dist/bin/_internal.js +34 -42
- package/dist/bin/check-primordials.js +175 -233
- package/dist/bin/check.js +51 -72
- package/dist/bin/exec.js +70 -74
- package/dist/bin/find.js +151 -134
- package/dist/bin/resolve.js +180 -246
- package/dist/bin/shadow.js +24 -33
- package/dist/bin/socket-lib.js +51 -73
- package/dist/bin/types.js +1 -17
- package/dist/bin/which.js +211 -146
- package/dist/cacache/_internal.js +25 -40
- package/dist/cacache/clear.js +79 -72
- package/dist/cacache/read.js +48 -46
- package/dist/cacache/tmp.js +29 -36
- package/dist/cacache/types.js +1 -17
- package/dist/cacache/write.js +43 -48
- package/dist/cache/ttl/store.js +232 -288
- package/dist/cache/ttl/types.js +1 -17
- package/dist/checks/primordials-defaults.js +83 -89
- package/dist/checks/primordials.js +225 -277
- package/dist/colors/convert.js +45 -37
- package/dist/colors/palette.js +88 -45
- package/dist/colors/socket-palette.js +74 -84
- package/dist/colors/types.js +1 -17
- package/dist/compression/_internal.js +57 -72
- package/dist/compression/brotli.js +94 -127
- package/dist/compression/gzip.js +95 -121
- package/dist/compression/types.js +1 -17
- package/dist/constants/agents.js +61 -113
- package/dist/constants/encoding.js +19 -42
- package/dist/constants/github.js +12 -30
- package/dist/constants/licenses.js +48 -63
- package/dist/constants/lifecycle-script-names.js +31 -45
- package/dist/constants/maintained-node-versions.js +22 -37
- package/dist/constants/node.js +226 -167
- package/dist/constants/package-default-node-range.js +16 -41
- package/dist/constants/package-default-socket-categories.js +12 -30
- package/dist/constants/packages.js +77 -126
- package/dist/constants/platform.js +27 -49
- package/dist/constants/sentinels.js +23 -48
- package/dist/constants/socket.js +42 -87
- package/dist/constants/testing.js +15 -34
- package/dist/constants/time.js +16 -36
- package/dist/constants/typescript.js +32 -52
- package/dist/cover/code.js +111 -142
- package/dist/cover/formatters.js +118 -101
- package/dist/cover/type.js +50 -76
- package/dist/cover/types.js +1 -17
- package/dist/crypto/hash.js +54 -46
- package/dist/debug/_internal.js +62 -71
- package/dist/debug/caller-info.js +53 -64
- package/dist/debug/namespace.js +80 -90
- package/dist/debug/output.js +172 -188
- package/dist/debug/types.js +1 -17
- package/dist/dlx/_internal.js +24 -43
- package/dist/dlx/arborist.js +162 -160
- package/dist/dlx/binary-cache.js +228 -200
- package/dist/dlx/binary-download.js +172 -211
- package/dist/dlx/binary-resolution.js +165 -157
- package/dist/dlx/binary-types.js +1 -17
- package/dist/dlx/binary.js +149 -189
- package/dist/dlx/cache.js +45 -30
- package/dist/dlx/detect.js +245 -159
- package/dist/dlx/dir.js +67 -51
- package/dist/dlx/firewall.js +62 -100
- package/dist/dlx/lockfile.js +122 -127
- package/dist/dlx/manifest.js +264 -274
- package/dist/dlx/package.js +241 -244
- package/dist/dlx/packages.js +99 -96
- package/dist/dlx/paths.js +73 -59
- package/dist/dlx/spec.js +52 -60
- package/dist/dlx/types.js +1 -17
- package/dist/eco/cargo/lockfile-format.js +19 -36
- package/dist/eco/cargo/manifest-format.js +17 -35
- package/dist/eco/cargo/parse-lockfile.js +210 -237
- package/dist/eco/manifest/analyze-lockfile.js +46 -63
- package/dist/eco/manifest/detect-format.js +66 -90
- package/dist/eco/manifest/find-packages.js +39 -64
- package/dist/eco/manifest/get-package-versions.js +27 -48
- package/dist/eco/manifest/get-package.js +21 -40
- package/dist/eco/manifest/manifest-error.js +14 -35
- package/dist/eco/manifest/parse-lockfile.js +40 -86
- package/dist/eco/manifest/parse-manifest.js +26 -43
- package/dist/eco/manifest/parse.js +26 -47
- package/dist/eco/manifest/types.js +1 -17
- package/dist/eco/npm/bun/exec.js +23 -32
- package/dist/eco/npm/manifest-format.js +21 -35
- package/dist/eco/npm/npm/exec.js +51 -61
- package/dist/eco/npm/npm/extract-package-name-from-path.js +28 -50
- package/dist/eco/npm/npm/flags.js +80 -52
- package/dist/eco/npm/npm/lockfile-format.js +21 -40
- package/dist/eco/npm/npm/parse-git-url.js +26 -40
- package/dist/eco/npm/npm/parse-lockfile.js +184 -210
- package/dist/eco/npm/parse-package-json.js +71 -102
- package/dist/eco/npm/pnpm/detect-pnpm-version.js +22 -43
- package/dist/eco/npm/pnpm/exec.js +51 -62
- package/dist/eco/npm/pnpm/flags.js +75 -68
- package/dist/eco/npm/pnpm/lockfile-format.js +19 -36
- package/dist/eco/npm/pnpm/parse-lockfile.js +235 -259
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +37 -47
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +36 -49
- package/dist/eco/npm/script.js +82 -90
- package/dist/eco/npm/vlt/exec.js +24 -32
- package/dist/eco/npm/yarnpkg/yarn/exec.js +60 -59
- package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +20 -36
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +194 -242
- package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +37 -61
- package/dist/eco/purl.js +50 -60
- package/dist/eco/types.js +1 -17
- package/dist/effects/pulse-frames.js +64 -65
- package/dist/effects/shimmer-keyframes.js +71 -52
- package/dist/effects/shimmer-terminal.js +81 -50
- package/dist/effects/shimmer.js +290 -153
- package/dist/env/boolean.js +42 -43
- package/dist/env/case-insensitive.js +54 -39
- package/dist/env/ci.js +29 -31
- package/dist/env/debug.js +28 -31
- package/dist/env/github.js +144 -59
- package/dist/env/home.js +38 -31
- package/dist/env/locale.js +59 -39
- package/dist/env/node-auth-token.js +28 -31
- package/dist/env/node-env.js +28 -31
- package/dist/env/npm.js +94 -47
- package/dist/env/number.js +50 -51
- package/dist/env/package-manager.js +95 -83
- package/dist/env/path.js +28 -31
- package/dist/env/pre-commit.js +30 -32
- package/dist/env/proxy.js +121 -122
- package/dist/env/rewire.js +204 -96
- package/dist/env/shell.js +28 -31
- package/dist/env/socket-cli.js +233 -81
- package/dist/env/socket.js +521 -156
- package/dist/env/string.js +43 -44
- package/dist/env/temp-dir.js +59 -39
- package/dist/env/term.js +28 -31
- package/dist/env/test.js +65 -43
- package/dist/env/types.js +1 -17
- package/dist/env/windows.js +78 -43
- package/dist/env/xdg.js +62 -39
- package/dist/errors/message.js +40 -46
- package/dist/errors/predicates.js +61 -49
- package/dist/errors/stack.js +24 -36
- package/dist/events/exit/_internal.js +86 -103
- package/dist/events/exit/handler.js +48 -55
- package/dist/events/exit/intercept.js +49 -70
- package/dist/events/exit/lifecycle.js +92 -101
- package/dist/events/exit/signals.js +25 -31
- package/dist/events/exit/types.js +1 -17
- package/dist/events/warning/handler.js +43 -40
- package/dist/events/warning/suppress.js +111 -90
- package/dist/external/@npmcli/package-json/lib/read-package.js +132 -153
- package/dist/external/@npmcli/package-json/lib/sort.js +73 -105
- package/dist/external/@npmcli/package-json.js +12705 -15140
- package/dist/external/@npmcli/promise-spawn.js +451 -472
- package/dist/external/@sinclair/typebox/value.js +7443 -9002
- package/dist/external/@sinclair/typebox.js +7516 -7885
- package/dist/external/@socketregistry/is-unicode-supported.js +31 -39
- package/dist/external/@socketregistry/packageurl-js.js +6127 -7369
- package/dist/external/@socketregistry/yocto-spinner.js +394 -455
- package/dist/external/@yarnpkg/extensions.js +435 -1022
- package/dist/external/adm-zip.js +2313 -2673
- package/dist/external/debug.js +700 -687
- package/dist/external/external-pack.js +2658 -3171
- package/dist/external/fast-sort.js +124 -138
- package/dist/external/get-east-asian-width.js +70 -64
- package/dist/external/libnpmexec.js +28 -31
- package/dist/external/npm-pack.js +43617 -50137
- package/dist/external/p-map.js +198 -222
- package/dist/external/pico-pack.js +6735 -7304
- package/dist/external/pony-cause.js +143 -139
- package/dist/external/shell-quote.js +226 -0
- package/dist/external/spdx-pack.js +1283 -1403
- package/dist/external/streaming-iterables.js +835 -1052
- package/dist/external/tar-fs.js +2769 -3048
- package/dist/external/which.js +267 -251
- package/dist/external/yargs-parser.js +851 -1074
- package/dist/external-tools/bazel/asset-names.js +98 -90
- package/dist/external-tools/bazel/from-download.js +52 -46
- package/dist/external-tools/bazel/from-path.js +27 -38
- package/dist/external-tools/bazel/read-bazel-version-file.js +35 -57
- package/dist/external-tools/bazel/resolve-asset-url.js +24 -39
- package/dist/external-tools/bazel/resolve-bazel-version.js +34 -56
- package/dist/external-tools/bazel/resolve.js +44 -58
- package/dist/external-tools/bazel/types.js +1 -17
- package/dist/external-tools/cdxgen/asset-names.js +59 -66
- package/dist/external-tools/cdxgen/from-download.js +52 -80
- package/dist/external-tools/cdxgen/from-path.js +19 -37
- package/dist/external-tools/cdxgen/from-vfs.js +22 -43
- package/dist/external-tools/cdxgen/resolve.js +48 -63
- package/dist/external-tools/cdxgen/types.js +1 -17
- package/dist/external-tools/from-download.js +107 -67
- package/dist/external-tools/janus/asset-names.js +44 -51
- package/dist/external-tools/janus/from-download.js +45 -70
- package/dist/external-tools/janus/from-path.js +19 -37
- package/dist/external-tools/janus/from-vfs.js +22 -43
- package/dist/external-tools/janus/resolve.js +45 -63
- package/dist/external-tools/janus/types.js +1 -17
- package/dist/external-tools/jre/asset-names.js +109 -82
- package/dist/external-tools/jre/detect-platform-arch.js +25 -49
- package/dist/external-tools/jre/from-download.js +71 -67
- package/dist/external-tools/jre/from-java-home.js +27 -54
- package/dist/external-tools/jre/from-path.js +27 -49
- package/dist/external-tools/jre/from-vfs.js +39 -60
- package/dist/external-tools/jre/resolve.js +55 -68
- package/dist/external-tools/jre/types.js +1 -17
- package/dist/external-tools/manifest.js +130 -150
- package/dist/external-tools/opengrep/asset-names.js +60 -72
- package/dist/external-tools/opengrep/from-download.js +58 -80
- package/dist/external-tools/opengrep/from-path.js +19 -37
- package/dist/external-tools/opengrep/from-vfs.js +23 -43
- package/dist/external-tools/opengrep/resolve.js +43 -63
- package/dist/external-tools/opengrep/types.js +1 -17
- package/dist/external-tools/sbt/asset-names.js +21 -30
- package/dist/external-tools/sbt/from-download.js +50 -61
- package/dist/external-tools/sbt/from-path.js +23 -38
- package/dist/external-tools/sbt/from-vfs.js +30 -44
- package/dist/external-tools/sbt/resolve.js +45 -63
- package/dist/external-tools/sbt/types.js +1 -17
- package/dist/external-tools/synp/asset-names.js +11 -29
- package/dist/external-tools/synp/from-download.js +24 -41
- package/dist/external-tools/synp/from-path.js +19 -37
- package/dist/external-tools/synp/from-vfs.js +22 -43
- package/dist/external-tools/synp/resolve.js +43 -62
- package/dist/external-tools/synp/types.js +1 -17
- package/dist/external-tools/trivy/asset-names.js +51 -62
- package/dist/external-tools/trivy/from-download.js +42 -64
- package/dist/external-tools/trivy/from-path.js +19 -37
- package/dist/external-tools/trivy/from-vfs.js +22 -43
- package/dist/external-tools/trivy/resolve.js +43 -63
- package/dist/external-tools/trivy/types.js +1 -17
- package/dist/external-tools/trufflehog/asset-names.js +54 -66
- package/dist/external-tools/trufflehog/from-download.js +44 -62
- package/dist/external-tools/trufflehog/from-path.js +21 -37
- package/dist/external-tools/trufflehog/from-vfs.js +26 -43
- package/dist/external-tools/trufflehog/resolve.js +43 -63
- package/dist/external-tools/trufflehog/types.js +1 -17
- package/dist/external-tools/uv/asset-names.js +64 -74
- package/dist/external-tools/uv/from-download.js +44 -65
- package/dist/external-tools/uv/from-path.js +19 -37
- package/dist/external-tools/uv/from-vfs.js +22 -43
- package/dist/external-tools/uv/resolve.js +42 -63
- package/dist/external-tools/uv/types.js +1 -17
- package/dist/fs/_internal.js +40 -42
- package/dist/fs/access.js +57 -54
- package/dist/fs/encoding.js +80 -97
- package/dist/fs/find-up.js +126 -125
- package/dist/fs/inspect.js +168 -99
- package/dist/fs/path-cache.js +31 -32
- package/dist/fs/read-dir.js +102 -79
- package/dist/fs/read-file.js +177 -118
- package/dist/fs/read-json-cache.js +150 -134
- package/dist/fs/read-json.js +172 -187
- package/dist/fs/resolve-module.js +35 -58
- package/dist/fs/safe.js +278 -169
- package/dist/fs/types.js +1 -17
- package/dist/fs/unique.js +52 -48
- package/dist/fs/validate.js +56 -40
- package/dist/fs/write-json.js +109 -75
- package/dist/git/_internal.js +251 -216
- package/dist/git/changed.js +191 -74
- package/dist/git/repo.js +118 -104
- package/dist/git/staged.js +172 -62
- package/dist/git/types.js +1 -17
- package/dist/git/unstaged.js +175 -62
- package/dist/github/constants.js +25 -33
- package/dist/github/errors.js +46 -38
- package/dist/github/fetch.js +137 -82
- package/dist/github/ghsa.js +217 -151
- package/dist/github/refs-cache.js +54 -43
- package/dist/github/refs-graphql.js +97 -89
- package/dist/github/refs-rest.js +70 -101
- package/dist/github/refs.js +105 -64
- package/dist/github/token.js +96 -48
- package/dist/github/types.js +1 -17
- package/dist/globs/_internal.js +73 -82
- package/dist/globs/defaults.js +40 -59
- package/dist/globs/match.js +93 -77
- package/dist/globs/matcher.js +104 -92
- package/dist/globs/stream.js +43 -55
- package/dist/globs/types.js +1 -17
- package/dist/http-request/_internal.js +11 -38
- package/dist/http-request/browser-fetch.js +19 -29
- package/dist/http-request/browser.js +188 -206
- package/dist/http-request/checksums.js +101 -65
- package/dist/http-request/download-types.js +1 -17
- package/dist/http-request/download.js +195 -196
- package/dist/http-request/errors.js +39 -47
- package/dist/http-request/headers.js +95 -80
- package/dist/http-request/http-request.js +10 -35
- package/dist/http-request/node.js +71 -97
- package/dist/http-request/request-attempt.js +232 -285
- package/dist/http-request/request-types.js +1 -17
- package/dist/http-request/request.js +106 -108
- package/dist/http-request/response-reader.js +47 -51
- package/dist/http-request/response-types.js +22 -38
- package/dist/http-request/user-agent.js +73 -55
- package/dist/integrity.js +105 -106
- package/dist/ipc/_internal.js +34 -48
- package/dist/ipc/directory.js +55 -63
- package/dist/ipc/paths.js +52 -45
- package/dist/ipc/types.js +1 -17
- package/dist/ipc/write.js +81 -74
- package/dist/ipc-cli/get.js +29 -56
- package/dist/ipc-cli/types.js +1 -17
- package/dist/json/edit.js +182 -242
- package/dist/json/format.js +202 -103
- package/dist/json/parse.js +206 -109
- package/dist/json/types.js +1 -17
- package/dist/links/create.js +93 -60
- package/dist/links/types.js +1 -17
- package/dist/logger/_internal.js +109 -73
- package/dist/logger/browser.js +45 -56
- package/dist/logger/colors.js +31 -49
- package/dist/logger/console.js +89 -112
- package/dist/logger/default.js +19 -33
- package/dist/logger/logger.js +5 -29
- package/dist/logger/node.js +794 -854
- package/dist/logger/symbols-builder.js +54 -56
- package/dist/logger/symbols.js +135 -118
- package/dist/logger/types.js +1 -17
- package/dist/memo/_internal.js +39 -49
- package/dist/memo/async.js +133 -117
- package/dist/memo/clear.js +25 -34
- package/dist/memo/decorator.js +43 -37
- package/dist/memo/memoize.js +97 -88
- package/dist/memo/once.js +42 -41
- package/dist/memo/types.js +1 -17
- package/dist/memo/weak.js +45 -41
- package/dist/node/async-hooks.js +9 -30
- package/dist/node/child-process.js +9 -30
- package/dist/node/crypto.js +9 -30
- package/dist/node/events.js +9 -30
- package/dist/node/fs-promises.js +9 -30
- package/dist/node/fs.js +9 -30
- package/dist/node/http.js +9 -30
- package/dist/node/https.js +9 -30
- package/dist/node/module.js +20 -34
- package/dist/node/os.js +9 -30
- package/dist/node/path.js +9 -30
- package/dist/node/timers-promises.js +9 -30
- package/dist/node/url.js +9 -30
- package/dist/node/util.js +9 -30
- package/dist/objects/getters.js +185 -126
- package/dist/objects/inspect.js +85 -52
- package/dist/objects/mutate.js +96 -76
- package/dist/objects/predicates.js +112 -59
- package/dist/objects/sort.js +120 -76
- package/dist/objects/types.js +1 -17
- package/dist/packages/edit-class.js +198 -265
- package/dist/packages/edit.js +79 -86
- package/dist/packages/exports.js +146 -157
- package/dist/packages/isolation.js +159 -209
- package/dist/packages/licenses.js +207 -189
- package/dist/packages/manifest.js +134 -172
- package/dist/packages/normalize.js +91 -102
- package/dist/packages/operations.d.ts +2 -0
- package/dist/packages/operations.js +283 -254
- package/dist/packages/provenance.js +195 -245
- package/dist/packages/specs.js +94 -84
- package/dist/packages/types.js +1 -17
- package/dist/packages/validation.js +49 -50
- package/dist/paths/_internal.js +82 -86
- package/dist/paths/conversion.js +112 -65
- package/dist/paths/dirnames.js +17 -42
- package/dist/paths/exts.js +23 -54
- package/dist/paths/filenames.js +21 -50
- package/dist/paths/globs.js +15 -38
- package/dist/paths/normalize.js +215 -236
- package/dist/paths/packages.js +34 -49
- package/dist/paths/predicates.js +184 -106
- package/dist/paths/resolve.js +146 -128
- package/dist/paths/rewire.js +108 -72
- package/dist/paths/socket.js +252 -132
- package/dist/paths/walk.js +55 -60
- package/dist/perf/_internal.js +10 -28
- package/dist/perf/enabled.js +21 -30
- package/dist/perf/metrics.js +81 -67
- package/dist/perf/report.js +79 -80
- package/dist/perf/timer.js +180 -126
- package/dist/perf/types.js +1 -17
- package/dist/pkg-ext/data.js +29 -82
- package/dist/pkg-ext/types.js +1 -17
- package/dist/primordials/array.js +120 -198
- package/dist/primordials/buffer.js +28 -51
- package/dist/primordials/date.js +26 -51
- package/dist/primordials/error.js +33 -59
- package/dist/primordials/function.js +21 -41
- package/dist/primordials/globals.js +25 -48
- package/dist/primordials/json.js +14 -30
- package/dist/primordials/map-set.js +88 -152
- package/dist/primordials/math.js +59 -116
- package/dist/primordials/number.js +41 -76
- package/dist/primordials/object.js +56 -116
- package/dist/primordials/promise.js +28 -52
- package/dist/primordials/reflect.js +24 -52
- package/dist/primordials/regexp.js +25 -47
- package/dist/primordials/string.js +114 -167
- package/dist/primordials/symbol.js +40 -72
- package/dist/primordials/uncurry.js +38 -55
- package/dist/primordials/url.js +27 -66
- package/dist/process/_internal.js +7 -32
- package/dist/process/abort.js +29 -35
- package/dist/process/lock-instance.js +26 -30
- package/dist/process/lock-manager.js +279 -307
- package/dist/process/lock-types.js +1 -17
- package/dist/process/spawn/_internal.js +43 -55
- package/dist/process/spawn/child.js +172 -211
- package/dist/process/spawn/errors.js +116 -113
- package/dist/process/spawn/stdio.js +51 -35
- package/dist/process/spawn/types.js +1 -17
- package/dist/process/transient.js +49 -66
- package/dist/promises/_internal.js +31 -34
- package/dist/promises/iterate.js +238 -102
- package/dist/promises/options.js +123 -101
- package/dist/promises/queue.js +115 -136
- package/dist/promises/resolvers.js +77 -46
- package/dist/promises/retry.js +156 -101
- package/dist/promises/types.js +1 -17
- package/dist/regexps/escape.js +32 -30
- package/dist/regexps/hex.js +16 -33
- package/dist/regexps/spec.js +53 -81
- package/dist/releases/github-archives.js +127 -118
- package/dist/releases/github-asset-url.js +162 -146
- package/dist/releases/github-assets.js +37 -49
- package/dist/releases/github-auth.js +32 -48
- package/dist/releases/github-downloads.js +118 -138
- package/dist/releases/github-listing.js +175 -145
- package/dist/releases/github-retry-config.js +41 -47
- package/dist/releases/github-types.js +1 -17
- package/dist/releases/socket-btm.js +273 -192
- package/dist/schema/parse.js +35 -36
- package/dist/schema/types.js +1 -17
- package/dist/schema/validate.js +118 -99
- package/dist/sea/detect.js +57 -52
- package/dist/secrets/_internal.js +86 -67
- package/dist/secrets/find.js +96 -77
- package/dist/secrets/keychain.js +315 -309
- package/dist/secrets/linux.js +133 -135
- package/dist/secrets/macos.js +151 -147
- package/dist/secrets/rc.js +182 -181
- package/dist/secrets/socket-api-token.js +28 -43
- package/dist/secrets/types.js +1 -17
- package/dist/secrets/windows.js +184 -242
- package/dist/shadow/skip.js +51 -70
- package/dist/shadow/types.js +1 -17
- package/dist/shell/parse.d.ts +26 -0
- package/dist/shell/parse.js +35 -0
- package/dist/shell/quote.d.ts +19 -0
- package/dist/shell/quote.js +30 -0
- package/dist/smol/detect.js +67 -43
- package/dist/smol/http.js +33 -37
- package/dist/smol/https.js +31 -37
- package/dist/smol/manifest.js +33 -37
- package/dist/smol/path.js +33 -37
- package/dist/smol/primordial.js +35 -37
- package/dist/smol/purl.js +34 -37
- package/dist/smol/versions.js +31 -37
- package/dist/smol/vfs.js +46 -38
- package/dist/sorts/_internal.js +14 -40
- package/dist/sorts/natural.js +57 -64
- package/dist/sorts/semver.js +33 -43
- package/dist/sorts/strings.js +24 -30
- package/dist/sorts/types.js +1 -17
- package/dist/spinner/default.js +72 -63
- package/dist/spinner/format.js +86 -71
- package/dist/spinner/spinner.js +749 -797
- package/dist/spinner/types.js +1 -17
- package/dist/spinner/with.js +193 -137
- package/dist/ssri/convert.js +64 -47
- package/dist/ssri/parse.js +38 -37
- package/dist/ssri/validate.js +51 -34
- package/dist/stdio/_internal.js +50 -46
- package/dist/stdio/clear.js +208 -86
- package/dist/stdio/divider.js +170 -97
- package/dist/stdio/footer.js +116 -110
- package/dist/stdio/header.js +117 -90
- package/dist/stdio/progress.js +189 -218
- package/dist/stdio/prompts.js +244 -168
- package/dist/stdio/stderr.js +173 -78
- package/dist/stdio/stdout.js +177 -94
- package/dist/streams/parallel.js +58 -50
- package/dist/streams/transform.js +36 -45
- package/dist/strings/format.js +145 -63
- package/dist/strings/predicates.js +56 -34
- package/dist/strings/search.js +52 -42
- package/dist/strings/transform.js +113 -72
- package/dist/strings/types.js +1 -17
- package/dist/strings/width.js +89 -82
- package/dist/tables/bordered.js +81 -81
- package/dist/tables/padding.js +36 -46
- package/dist/tables/simple.js +62 -70
- package/dist/tables/types.js +1 -17
- package/dist/temporal/instant.js +72 -81
- package/dist/temporal/now.js +40 -31
- package/dist/temporal/slots.js +42 -36
- package/dist/temporal/system.js +36 -36
- package/dist/temporal/temporal.js +11 -41
- package/dist/themes/context.js +131 -69
- package/dist/themes/resolve.js +207 -132
- package/dist/themes/themes.js +225 -194
- package/dist/themes/types.js +1 -17
- package/dist/url/parse.js +48 -51
- package/dist/url/predicates.js +24 -31
- package/dist/url/search-params.js +133 -101
- package/dist/url/types.js +1 -17
- package/dist/versions/_internal.js +31 -33
- package/dist/versions/compare.js +80 -58
- package/dist/versions/modify.js +41 -39
- package/dist/versions/parse.js +88 -64
- package/dist/versions/range.js +58 -41
- package/dist/versions/types.js +1 -17
- package/dist/words/article.js +22 -30
- package/dist/words/capitalize.js +25 -34
- package/dist/words/pluralize.js +23 -31
- package/dist/words/types.js +1 -17
- package/package.json +17 -5
package/dist/objects/inspect.js
CHANGED
|
@@ -1,59 +1,92 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* Socket Lib - Built with
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_primordials_object = require('../primordials/object.js');
|
|
5
|
+
const require_objects_predicates = require('./predicates.js');
|
|
6
|
+
|
|
7
|
+
//#region src/objects/inspect.ts
|
|
8
|
+
/**
|
|
9
|
+
* @file Object inspection helpers — `getKeys`, `getOwn`,
|
|
10
|
+
* `getOwnPropertyValues`. Safe accessors that return empty / undefined on
|
|
11
|
+
* null inputs instead of throwing.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Get the enumerable own property keys of an object.
|
|
15
|
+
*
|
|
16
|
+
* This is a safe wrapper around `Object.keys()` that returns an empty array for
|
|
17
|
+
* non-object values instead of throwing an error.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ;```ts
|
|
21
|
+
* getKeys({ a: 1, b: 2 }) // ['a', 'b']
|
|
22
|
+
* getKeys([10, 20, 30]) // ['0', '1', '2']
|
|
23
|
+
* getKeys(null) // []
|
|
24
|
+
* getKeys('hello') // []
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @param obj - The value to get keys from.
|
|
28
|
+
*
|
|
29
|
+
* @returns Array of enumerable string keys, or empty array for non-objects
|
|
30
|
+
*/
|
|
31
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
31
32
|
function getKeys(obj) {
|
|
32
|
-
|
|
33
|
+
return /* @__PURE__ */ require_objects_predicates.isObject(obj) ? require_primordials_object.ObjectKeys(obj) : [];
|
|
33
34
|
}
|
|
34
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Get an own property value from an object safely.
|
|
37
|
+
*
|
|
38
|
+
* Returns `undefined` if the value is null/undefined or if the property doesn't
|
|
39
|
+
* exist as an own property (not inherited). This avoids prototype chain lookups
|
|
40
|
+
* and prevents errors on null/undefined values.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ;```ts
|
|
44
|
+
* const obj = { name: 'Alice', age: 30 }
|
|
45
|
+
* getOwn(obj, 'name') // 'Alice'
|
|
46
|
+
* getOwn(obj, 'missing') // undefined
|
|
47
|
+
* getOwn(obj, 'toString') // undefined (inherited)
|
|
48
|
+
* getOwn(null, 'name') // undefined
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @param obj - The object to get the property from.
|
|
52
|
+
* @param propKey - The property key to look up.
|
|
53
|
+
*
|
|
54
|
+
* @returns The property value, or `undefined` if not found or obj is
|
|
55
|
+
* null/undefined.
|
|
56
|
+
*/
|
|
57
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
35
58
|
function getOwn(obj, propKey) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
return (0, import_object.ObjectHasOwn)(obj, propKey) ? obj[propKey] : void 0;
|
|
59
|
+
if (obj === null || obj === void 0) return;
|
|
60
|
+
return require_primordials_object.ObjectHasOwn(obj, propKey) ? obj[propKey] : void 0;
|
|
40
61
|
}
|
|
41
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Get all own property values from an object.
|
|
64
|
+
*
|
|
65
|
+
* Returns values for all own properties (enumerable and non-enumerable), but
|
|
66
|
+
* not inherited properties. Returns an empty array for null/undefined.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ;```ts
|
|
70
|
+
* getOwnPropertyValues({ a: 1, b: 2, c: 3 }) // [1, 2, 3]
|
|
71
|
+
* getOwnPropertyValues([10, 20, 30]) // [10, 20, 30]
|
|
72
|
+
* getOwnPropertyValues(null) // []
|
|
73
|
+
* ```
|
|
74
|
+
*
|
|
75
|
+
* @param obj - The object to get values from.
|
|
76
|
+
*
|
|
77
|
+
* @returns Array of all own property values, or empty array for null/undefined
|
|
78
|
+
*/
|
|
79
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
42
80
|
function getOwnPropertyValues(obj) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
for (let i = 0; i < length; i += 1) {
|
|
50
|
-
values[i] = obj[keys[i]];
|
|
51
|
-
}
|
|
52
|
-
return values;
|
|
81
|
+
if (obj === null || obj === void 0) return [];
|
|
82
|
+
const keys = require_primordials_object.ObjectGetOwnPropertyNames(obj);
|
|
83
|
+
const { length } = keys;
|
|
84
|
+
const values = Array(length);
|
|
85
|
+
for (let i = 0; i < length; i += 1) values[i] = obj[keys[i]];
|
|
86
|
+
return values;
|
|
53
87
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
});
|
|
88
|
+
|
|
89
|
+
//#endregion
|
|
90
|
+
exports.getKeys = getKeys;
|
|
91
|
+
exports.getOwn = getOwn;
|
|
92
|
+
exports.getOwnPropertyValues = getOwnPropertyValues;
|
package/dist/objects/mutate.js
CHANGED
|
@@ -1,81 +1,101 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* Socket Lib - Built with
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_primordials_error = require('../primordials/error.js');
|
|
5
|
+
const require_constants_sentinels = require('../constants/sentinels.js');
|
|
6
|
+
const require_primordials_reflect = require('../primordials/reflect.js');
|
|
7
|
+
const require_arrays_predicates = require('../arrays/predicates.js');
|
|
8
|
+
const require_objects_predicates = require('./predicates.js');
|
|
9
|
+
|
|
10
|
+
//#region src/objects/mutate.ts
|
|
11
|
+
/**
|
|
12
|
+
* @file Object mutation helpers — `merge` (deep recursive), `objectAssign`
|
|
13
|
+
* (alias for native), `objectFreeze` (alias for native). `merge` includes
|
|
14
|
+
* infinite-loop detection via `LOOP_SENTINEL` because `__proto__` and
|
|
15
|
+
* self-referential graphs would otherwise blow the stack on a recursive
|
|
16
|
+
* descent.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Deep merge source object into target object.
|
|
20
|
+
*
|
|
21
|
+
* Recursively merges properties from `source` into `target`. Arrays in source
|
|
22
|
+
* completely replace arrays in target (no element-wise merging). Objects are
|
|
23
|
+
* merged recursively. Includes infinite loop detection for safety.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ;```ts
|
|
27
|
+
* merge(
|
|
28
|
+
* { config: { api: 'v1', timeout: 1000 } },
|
|
29
|
+
* { config: { api: 'v2', retries: 3 } },
|
|
30
|
+
* )
|
|
31
|
+
* // { config: { api: 'v2', timeout: 1000, retries: 3 } }
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ;```ts
|
|
36
|
+
* // Arrays are replaced, not merged
|
|
37
|
+
* merge({ arr: [1, 2] }, { arr: [3] }) // { arr: [3] }
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @param target - The object to merge into (will be modified)
|
|
41
|
+
* @param source - The object to merge from.
|
|
42
|
+
*
|
|
43
|
+
* @returns The modified target object
|
|
44
|
+
*/
|
|
45
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
34
46
|
function merge(target, source) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const targetVal = currentTarget[key];
|
|
59
|
-
if ((0, import_predicates.isArray)(srcVal)) {
|
|
60
|
-
currentTarget[key] = srcVal;
|
|
61
|
-
} else if ((0, import_predicates2.isObject)(srcVal)) {
|
|
62
|
-
if ((0, import_predicates2.isObject)(targetVal) && !(0, import_predicates.isArray)(targetVal)) {
|
|
63
|
-
queue[queueLength++] = [targetVal, srcVal];
|
|
64
|
-
} else {
|
|
65
|
-
currentTarget[key] = srcVal;
|
|
66
|
-
}
|
|
67
|
-
} else {
|
|
68
|
-
currentTarget[key] = srcVal;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return target;
|
|
47
|
+
if (!/* @__PURE__ */ require_objects_predicates.isObject(target) || !/* @__PURE__ */ require_objects_predicates.isObject(source)) return target;
|
|
48
|
+
const queue = [[target, source]];
|
|
49
|
+
let pos = 0;
|
|
50
|
+
let { length: queueLength } = queue;
|
|
51
|
+
while (pos < queueLength) {
|
|
52
|
+
if (pos === 1e6) throw new require_primordials_error.ErrorCtor("Detected infinite loop in object crawl of merge");
|
|
53
|
+
const { 0: currentTarget, 1: currentSource } = queue[pos++];
|
|
54
|
+
if (!currentSource || !currentTarget) continue;
|
|
55
|
+
const isSourceArray = require_arrays_predicates.isArray(currentSource);
|
|
56
|
+
const isTargetArray = require_arrays_predicates.isArray(currentTarget);
|
|
57
|
+
if (isSourceArray || isTargetArray) continue;
|
|
58
|
+
const keys = require_primordials_reflect.ReflectOwnKeys(currentSource);
|
|
59
|
+
for (let i = 0, { length } = keys; i < length; i += 1) {
|
|
60
|
+
const key = keys[i];
|
|
61
|
+
const srcVal = currentSource[key];
|
|
62
|
+
const targetVal = currentTarget[key];
|
|
63
|
+
if (require_arrays_predicates.isArray(srcVal)) currentTarget[key] = srcVal;
|
|
64
|
+
else if (/* @__PURE__ */ require_objects_predicates.isObject(srcVal)) if (/* @__PURE__ */ require_objects_predicates.isObject(targetVal) && !require_arrays_predicates.isArray(targetVal)) queue[queueLength++] = [targetVal, srcVal];
|
|
65
|
+
else currentTarget[key] = srcVal;
|
|
66
|
+
else currentTarget[key] = srcVal;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return target;
|
|
73
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Alias for native `Object.assign`.
|
|
73
|
+
*
|
|
74
|
+
* Copies all enumerable own properties from one or more source objects to a
|
|
75
|
+
* target object and returns the modified target object.
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ;```ts
|
|
79
|
+
* objectAssign({ a: 1 }, { b: 2 }) // { a: 1, b: 2 }
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
74
82
|
const objectAssign = Object.assign;
|
|
83
|
+
/**
|
|
84
|
+
* Alias for native `Object.freeze`.
|
|
85
|
+
*
|
|
86
|
+
* Freezes an object, preventing new properties from being added and existing
|
|
87
|
+
* properties from being removed or modified. Makes the object immutable.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ;```ts
|
|
91
|
+
* const obj = { a: 1 }
|
|
92
|
+
* objectFreeze(obj)
|
|
93
|
+
* obj.a = 2 // Silently fails (or throws in strict mode)
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
75
96
|
const objectFreeze = Object.freeze;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
});
|
|
97
|
+
|
|
98
|
+
//#endregion
|
|
99
|
+
exports.merge = merge;
|
|
100
|
+
exports.objectAssign = objectAssign;
|
|
101
|
+
exports.objectFreeze = objectFreeze;
|
|
@@ -1,68 +1,121 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* Socket Lib - Built with
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_primordials_object = require('../primordials/object.js');
|
|
5
|
+
const require_arrays_predicates = require('../arrays/predicates.js');
|
|
6
|
+
|
|
7
|
+
//#region src/objects/predicates.ts
|
|
8
|
+
/**
|
|
9
|
+
* @file Object type guards: `hasKeys`, `hasOwn`, `isObject`, `isPlainObject`.
|
|
10
|
+
* All four narrow `unknown` to a typed shape and tolerate `null` /
|
|
11
|
+
* `undefined` without throwing.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Check if an object has any enumerable own properties.
|
|
15
|
+
*
|
|
16
|
+
* Returns `true` if the object has at least one enumerable own property,
|
|
17
|
+
* `false` otherwise. Also returns `false` for null/undefined.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ;```ts
|
|
21
|
+
* hasKeys({ a: 1 }) // true
|
|
22
|
+
* hasKeys({}) // false
|
|
23
|
+
* hasKeys([]) // false
|
|
24
|
+
* hasKeys([1, 2]) // true
|
|
25
|
+
* hasKeys(null) // false
|
|
26
|
+
* hasKeys(undefined) // false
|
|
27
|
+
* hasKeys(Object.create({ inherited: true })) // false
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @param obj - The value to check.
|
|
31
|
+
*
|
|
32
|
+
* @returns `true` if obj has enumerable own properties, `false` otherwise
|
|
33
|
+
*/
|
|
34
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
32
35
|
function hasKeys(obj) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
for (const key in obj) {
|
|
37
|
-
if ((0, import_object.ObjectHasOwn)(obj, key)) {
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return false;
|
|
36
|
+
if (obj === null || obj === void 0) return false;
|
|
37
|
+
for (const key in obj) if (require_primordials_object.ObjectHasOwn(obj, key)) return true;
|
|
38
|
+
return false;
|
|
42
39
|
}
|
|
43
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Check if an object has an own property.
|
|
42
|
+
*
|
|
43
|
+
* Type-safe wrapper around `Object.hasOwn()` that returns `false` for
|
|
44
|
+
* null/undefined instead of throwing. Only checks own properties, not inherited
|
|
45
|
+
* ones from the prototype chain.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ;```ts
|
|
49
|
+
* const obj = { name: 'Alice' }
|
|
50
|
+
* hasOwn(obj, 'name') // true
|
|
51
|
+
* hasOwn(obj, 'age') // false
|
|
52
|
+
* hasOwn(obj, 'toString') // false (inherited)
|
|
53
|
+
* hasOwn(null, 'name') // false
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* @param obj - The value to check.
|
|
57
|
+
* @param propKey - The property key to look for.
|
|
58
|
+
*
|
|
59
|
+
* @returns `true` if obj has the property as an own property, `false` otherwise
|
|
60
|
+
*/
|
|
61
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
44
62
|
function hasOwn(obj, propKey) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
return (0, import_object.ObjectHasOwn)(obj, propKey);
|
|
63
|
+
if (obj === null || obj === void 0) return false;
|
|
64
|
+
return require_primordials_object.ObjectHasOwn(obj, propKey);
|
|
49
65
|
}
|
|
50
|
-
|
|
66
|
+
/**
|
|
67
|
+
* Check if a value is an object (including arrays).
|
|
68
|
+
*
|
|
69
|
+
* Returns `true` for any object type including arrays, dates, etc. Returns
|
|
70
|
+
* `false` for primitives and `null`. Functions are not considered objects here
|
|
71
|
+
* (typeof functions === 'function').
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ;```ts
|
|
75
|
+
* isObject({}) // true
|
|
76
|
+
* isObject([]) // true
|
|
77
|
+
* isObject(new Date()) // true
|
|
78
|
+
* isObject(() => {}) // false
|
|
79
|
+
* isObject(null) // false
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* @param value - The value to check.
|
|
83
|
+
*
|
|
84
|
+
* @returns `true` if value is an object (including arrays), `false` otherwise
|
|
85
|
+
*/
|
|
86
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
51
87
|
function isObject(value) {
|
|
52
|
-
|
|
88
|
+
return value !== null && typeof value === "object";
|
|
53
89
|
}
|
|
54
|
-
|
|
90
|
+
/**
|
|
91
|
+
* Check if a value is a plain object (not an array, not a built-in).
|
|
92
|
+
*
|
|
93
|
+
* Returns `true` only for plain objects created with `{}` or
|
|
94
|
+
* `Object.create(null)`. Returns `false` for arrays, built-in objects (Date,
|
|
95
|
+
* RegExp, etc.), and primitives.
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ;```ts
|
|
99
|
+
* isPlainObject({}) // true
|
|
100
|
+
* isPlainObject({ a: 1 }) // true
|
|
101
|
+
* isPlainObject(Object.create(null)) // true
|
|
102
|
+
* isPlainObject([]) // false
|
|
103
|
+
* isPlainObject(new Date()) // false
|
|
104
|
+
* ```
|
|
105
|
+
*
|
|
106
|
+
* @param value - The value to check.
|
|
107
|
+
*
|
|
108
|
+
* @returns `true` if value is a plain object, `false` otherwise
|
|
109
|
+
*/
|
|
110
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
55
111
|
function isPlainObject(value) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const proto = (0, import_object.ObjectGetPrototypeOf)(value);
|
|
60
|
-
return proto === null || proto === import_object.ObjectPrototype;
|
|
112
|
+
if (value === null || typeof value !== "object" || require_arrays_predicates.isArray(value)) return false;
|
|
113
|
+
const proto = require_primordials_object.ObjectGetPrototypeOf(value);
|
|
114
|
+
return proto === null || proto === require_primordials_object.ObjectPrototype;
|
|
61
115
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
});
|
|
116
|
+
|
|
117
|
+
//#endregion
|
|
118
|
+
exports.hasKeys = hasKeys;
|
|
119
|
+
exports.hasOwn = hasOwn;
|
|
120
|
+
exports.isObject = isObject;
|
|
121
|
+
exports.isPlainObject = isPlainObject;
|