@socketsecurity/lib 5.18.2 → 5.19.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 +43 -0
- package/README.md +6 -5
- package/dist/abort.d.ts +3 -0
- package/dist/abort.js +1 -0
- package/dist/agent.d.ts +66 -49
- package/dist/agent.js +51 -50
- package/dist/ansi.d.ts +2 -5
- package/dist/ansi.js +3 -2
- package/dist/archives.d.ts +25 -21
- package/dist/archives.js +35 -34
- package/dist/argv/flags.d.ts +100 -91
- package/dist/argv/flags.js +88 -87
- package/dist/argv/parse.d.ts +30 -40
- package/dist/argv/parse.js +33 -32
- package/dist/arrays.d.ts +4 -8
- package/dist/arrays.js +1 -0
- package/dist/bin.d.ts +7 -5
- package/dist/bin.js +52 -29
- package/dist/cacache.d.ts +13 -12
- package/dist/cacache.js +9 -8
- package/dist/cache-with-ttl.d.ts +53 -35
- package/dist/cache-with-ttl.js +1 -0
- package/dist/colors.d.ts +5 -5
- package/dist/colors.js +1 -0
- package/dist/constants/agents.d.ts +5 -9
- package/dist/constants/agents.js +3 -2
- package/dist/constants/core.d.ts +5 -10
- package/dist/constants/core.js +2 -1
- package/dist/constants/encoding.d.ts +3 -3
- package/dist/constants/encoding.js +1 -0
- package/dist/constants/github.d.ts +3 -3
- package/dist/constants/github.js +1 -0
- package/dist/constants/licenses.d.ts +9 -2
- package/dist/constants/licenses.js +1 -0
- package/dist/constants/lifecycle-script-names.js +1 -0
- package/dist/constants/maintained-node-versions.d.ts +3 -0
- package/dist/constants/maintained-node-versions.js +1 -0
- package/dist/constants/node.d.ts +125 -16
- package/dist/constants/node.js +74 -73
- package/dist/constants/package-default-node-range.d.ts +3 -1
- package/dist/constants/package-default-node-range.js +2 -1
- package/dist/constants/package-default-socket-categories.d.ts +0 -1
- package/dist/constants/package-default-socket-categories.js +1 -0
- package/dist/constants/packages.d.ts +12 -17
- package/dist/constants/packages.js +31 -16
- package/dist/constants/platform.d.ts +1 -2
- package/dist/constants/platform.js +2 -1
- package/dist/constants/process.d.ts +18 -0
- package/dist/constants/process.js +1 -0
- package/dist/constants/socket.d.ts +4 -10
- package/dist/constants/socket.js +2 -1
- package/dist/constants/testing.d.ts +3 -3
- package/dist/constants/testing.js +1 -0
- package/dist/constants/time.d.ts +3 -4
- package/dist/constants/time.js +1 -0
- package/dist/constants/typescript.d.ts +10 -3
- package/dist/constants/typescript.js +5 -4
- package/dist/cover/code.d.ts +3 -0
- package/dist/cover/code.js +12 -12
- package/dist/cover/formatters.d.ts +12 -9
- package/dist/cover/formatters.js +19 -18
- package/dist/cover/type.d.ts +3 -0
- package/dist/cover/type.js +1 -0
- package/dist/cover/types.js +1 -0
- package/dist/debug.d.ts +32 -47
- package/dist/debug.js +97 -96
- package/dist/dlx/arborist.d.ts +134 -0
- package/dist/dlx/arborist.js +177 -0
- package/dist/dlx/binary.d.ts +25 -9
- package/dist/dlx/binary.js +34 -12
- package/dist/dlx/cache.d.ts +1 -0
- package/dist/dlx/cache.js +2 -1
- package/dist/dlx/detect.d.ts +15 -0
- package/dist/dlx/detect.js +28 -20
- package/dist/dlx/dir.d.ts +1 -11
- package/dist/dlx/dir.js +2 -12
- package/dist/dlx/integrity.d.ts +86 -0
- package/dist/dlx/integrity.js +112 -0
- package/dist/dlx/lockfile.d.ts +115 -0
- package/dist/dlx/lockfile.js +139 -0
- package/dist/dlx/manifest.d.ts +26 -1
- package/dist/dlx/manifest.js +9 -6
- package/dist/dlx/package.d.ts +58 -3
- package/dist/dlx/package.js +101 -74
- package/dist/dlx/packages.d.ts +1 -11
- package/dist/dlx/packages.js +3 -14
- package/dist/dlx/paths.d.ts +1 -0
- package/dist/dlx/paths.js +2 -1
- package/dist/effects/pulse-frames.js +1 -0
- package/dist/effects/text-shimmer.d.ts +13 -2
- package/dist/effects/text-shimmer.js +50 -46
- package/dist/effects/types.js +1 -0
- package/dist/effects/ultra.js +1 -0
- package/dist/env/ci.d.ts +6 -1
- package/dist/env/ci.js +1 -0
- package/dist/env/debug.d.ts +5 -1
- package/dist/env/debug.js +1 -0
- package/dist/env/github.d.ts +19 -23
- package/dist/env/github.js +5 -4
- package/dist/env/helpers.d.ts +21 -9
- package/dist/env/helpers.js +5 -11
- package/dist/env/home.d.ts +17 -4
- package/dist/env/home.js +2 -1
- package/dist/env/locale.d.ts +4 -3
- package/dist/env/locale.js +1 -0
- package/dist/env/node-auth-token.d.ts +5 -1
- package/dist/env/node-auth-token.js +1 -0
- package/dist/env/node-env.d.ts +5 -1
- package/dist/env/node-env.js +1 -0
- package/dist/env/npm.d.ts +4 -5
- package/dist/env/npm.js +1 -0
- package/dist/env/package-manager.d.ts +4 -3
- package/dist/env/package-manager.js +2 -1
- package/dist/env/path.d.ts +5 -1
- package/dist/env/path.js +1 -0
- package/dist/env/pre-commit.d.ts +5 -1
- package/dist/env/pre-commit.js +1 -0
- package/dist/env/rewire.d.ts +10 -0
- package/dist/env/rewire.js +7 -5
- package/dist/env/shell.d.ts +5 -1
- package/dist/env/shell.js +1 -0
- package/dist/env/socket-cli-shadow.d.ts +4 -5
- package/dist/env/socket-cli-shadow.js +1 -0
- package/dist/env/socket-cli.d.ts +4 -14
- package/dist/env/socket-cli.js +1 -0
- package/dist/env/socket.d.ts +6 -18
- package/dist/env/socket.js +4 -3
- package/dist/env/temp-dir.d.ts +4 -3
- package/dist/env/temp-dir.js +1 -0
- package/dist/env/term.d.ts +5 -1
- package/dist/env/term.js +1 -0
- package/dist/env/test.d.ts +4 -3
- package/dist/env/test.js +1 -0
- package/dist/env/windows.d.ts +4 -4
- package/dist/env/windows.js +1 -0
- package/dist/env/xdg.d.ts +4 -3
- package/dist/env/xdg.js +1 -0
- package/dist/env.d.ts +83 -23
- package/dist/env.js +112 -80
- package/dist/errors.js +1 -0
- package/dist/external/@npmcli/package-json.js +9 -3968
- package/dist/external/@socketregistry/packageurl-js.js +2 -2
- package/dist/external/debug.js +162 -328
- package/dist/external/external-pack.js +3 -2835
- package/dist/external/npm-pack.js +13939 -33342
- package/dist/external/zod.js +160 -7558
- package/dist/fs.d.ts +92 -113
- package/dist/fs.js +35 -35
- package/dist/git.d.ts +170 -164
- package/dist/git.js +113 -87
- package/dist/github.d.ts +249 -227
- package/dist/github.js +82 -81
- package/dist/globs.d.ts +31 -17
- package/dist/globs.js +51 -58
- package/dist/http-request.d.ts +99 -99
- package/dist/http-request.js +182 -156
- package/dist/ipc-cli.d.ts +28 -0
- package/dist/{utils/get-ipc.js → ipc-cli.js} +4 -3
- package/dist/ipc.d.ts +9 -299
- package/dist/ipc.js +18 -204
- package/dist/json/edit.d.ts +3 -1
- package/dist/json/edit.js +30 -30
- package/dist/json/format.d.ts +36 -36
- package/dist/json/format.js +22 -21
- package/dist/json/parse.d.ts +4 -2
- package/dist/json/parse.js +1 -0
- package/dist/json/types.js +1 -0
- package/dist/{links/index.d.ts → links.d.ts} +6 -2
- package/dist/{links/index.js → links.js} +5 -4
- package/dist/logger.d.ts +4 -6
- package/dist/logger.js +61 -53
- package/dist/memoization.d.ts +52 -49
- package/dist/memoization.js +55 -33
- package/dist/objects.d.ts +25 -44
- package/dist/objects.js +2 -1
- package/dist/package-extensions.d.ts +6 -0
- package/dist/package-extensions.js +2 -1
- package/dist/packages/edit.d.ts +3 -5
- package/dist/packages/edit.js +4 -3
- package/dist/packages/exports.d.ts +11 -14
- package/dist/packages/exports.js +11 -10
- package/dist/packages/isolation.d.ts +4 -0
- package/dist/packages/isolation.js +20 -19
- package/dist/packages/licenses.d.ts +3 -10
- package/dist/packages/licenses.js +2 -1
- package/dist/packages/manifest.d.ts +3 -3
- package/dist/packages/manifest.js +1 -0
- package/dist/packages/normalize.d.ts +3 -4
- package/dist/packages/normalize.js +1 -0
- package/dist/packages/operations.d.ts +3 -10
- package/dist/packages/operations.js +1 -0
- package/dist/packages/provenance.d.ts +10 -8
- package/dist/packages/provenance.js +55 -54
- package/dist/packages/specs.d.ts +3 -5
- package/dist/packages/specs.js +1 -0
- package/dist/packages/validation.d.ts +3 -3
- package/dist/packages/validation.js +1 -0
- package/dist/packages.d.ts +2 -17
- package/dist/packages.js +2 -1
- package/dist/paths/dirnames.d.ts +0 -2
- package/dist/paths/dirnames.js +1 -0
- package/dist/paths/exts.d.ts +0 -1
- package/dist/paths/exts.js +1 -0
- package/dist/paths/filenames.d.ts +0 -1
- package/dist/paths/filenames.js +1 -0
- package/dist/paths/globs.d.ts +0 -1
- package/dist/paths/globs.js +1 -0
- package/dist/paths/normalize.d.ts +115 -123
- package/dist/paths/normalize.js +128 -127
- package/dist/paths/packages.d.ts +3 -2
- package/dist/paths/packages.js +2 -1
- package/dist/paths/rewire.d.ts +9 -0
- package/dist/paths/rewire.js +5 -3
- package/dist/paths/socket.d.ts +37 -23
- package/dist/paths/socket.js +26 -25
- package/dist/performance.d.ts +87 -84
- package/dist/performance.js +97 -96
- package/dist/process-lock.d.ts +41 -1
- package/dist/process-lock.js +24 -17
- package/dist/promise-queue.d.ts +6 -0
- package/dist/promise-queue.js +1 -0
- package/dist/promises.d.ts +40 -55
- package/dist/promises.js +12 -11
- package/dist/regexps.d.ts +0 -5
- package/dist/regexps.js +1 -0
- package/dist/releases/github.d.ts +59 -63
- package/dist/releases/github.js +95 -100
- package/dist/releases/socket-btm.d.ts +9 -2
- package/dist/releases/socket-btm.js +32 -25
- package/dist/sea.d.ts +5 -0
- package/dist/sea.js +1 -0
- package/dist/shadow.d.ts +4 -0
- package/dist/shadow.js +1 -0
- package/dist/signal-exit.d.ts +7 -7
- package/dist/signal-exit.js +46 -45
- package/dist/sorts.d.ts +5 -7
- package/dist/sorts.js +11 -10
- package/dist/spawn.d.ts +96 -77
- package/dist/spawn.js +39 -38
- package/dist/spinner.d.ts +21 -22
- package/dist/spinner.js +15 -11
- package/dist/ssri.d.ts +31 -36
- package/dist/ssri.js +15 -14
- package/dist/stdio/_stream.d.ts +31 -0
- package/dist/stdio/_stream.js +57 -0
- package/dist/stdio/divider.d.ts +40 -36
- package/dist/stdio/divider.js +10 -9
- package/dist/stdio/footer.d.ts +20 -0
- package/dist/stdio/footer.js +12 -2
- package/dist/stdio/header.d.ts +4 -16
- package/dist/stdio/header.js +1 -9
- package/dist/stdio/stderr.d.ts +51 -39
- package/dist/stdio/stderr.js +19 -22
- package/dist/stdio/stdout.d.ts +54 -52
- package/dist/stdio/stdout.js +35 -33
- package/dist/streams.d.ts +4 -3
- package/dist/streams.js +1 -0
- package/dist/strings.d.ts +31 -85
- package/dist/strings.js +5 -49
- package/dist/suppress-warnings.d.ts +32 -15
- package/dist/suppress-warnings.js +14 -13
- package/dist/tables.d.ts +30 -26
- package/dist/tables.js +24 -23
- package/dist/temporary-executor.d.ts +4 -0
- package/dist/temporary-executor.js +1 -0
- package/dist/themes/context.d.ts +30 -26
- package/dist/themes/context.js +19 -18
- package/dist/themes/index.d.ts +0 -4
- package/dist/themes/index.js +1 -0
- package/dist/themes/themes.d.ts +1 -1
- package/dist/themes/themes.js +1 -0
- package/dist/themes/types.js +1 -0
- package/dist/themes/utils.d.ts +46 -43
- package/dist/themes/utils.js +45 -44
- package/dist/types.d.ts +48 -52
- package/dist/types.js +35 -35
- package/dist/url.d.ts +48 -53
- package/dist/url.js +38 -37
- package/dist/validation/json-parser.d.ts +19 -190
- package/dist/validation/json-parser.js +5 -69
- package/dist/validation/types.d.ts +9 -33
- package/dist/validation/types.js +1 -0
- package/dist/versions.d.ts +1 -0
- package/dist/versions.js +2 -1
- package/dist/words.d.ts +3 -6
- package/dist/words.js +1 -0
- package/dist/zod.js +1 -0
- package/package.json +34 -66
- package/dist/external/@inquirer/checkbox.js +0 -5
- package/dist/external/@inquirer/confirm.js +0 -5
- package/dist/external/@inquirer/input.js +0 -5
- package/dist/external/@inquirer/password.js +0 -5
- package/dist/external/@inquirer/search.js +0 -5
- package/dist/external/@inquirer/select.js +0 -5
- package/dist/functions.d.ts +0 -57
- package/dist/functions.js +0 -70
- package/dist/stdio/clear.d.ts +0 -140
- package/dist/stdio/clear.js +0 -95
- package/dist/stdio/mask.d.ts +0 -151
- package/dist/stdio/mask.js +0 -224
- package/dist/stdio/progress.d.ts +0 -148
- package/dist/stdio/progress.js +0 -212
- package/dist/stdio/prompts.d.ts +0 -195
- package/dist/stdio/prompts.js +0 -176
- package/dist/utils/get-ipc.d.ts +0 -15
package/dist/env.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* Socket Lib - Built with esbuild */
|
|
3
|
+
"use strict";
|
|
3
4
|
var __defProp = Object.defineProperty;
|
|
4
5
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -28,6 +29,7 @@ __export(env_exports, {
|
|
|
28
29
|
module.exports = __toCommonJS(env_exports);
|
|
29
30
|
const NumberCtor = Number;
|
|
30
31
|
const NumberIsFinite = Number.isFinite;
|
|
32
|
+
const NumberIsNaN = Number.isNaN;
|
|
31
33
|
const NumberParseInt = Number.parseInt;
|
|
32
34
|
const StringCtor = String;
|
|
33
35
|
const caseInsensitiveKeys = /* @__PURE__ */ new Set([
|
|
@@ -45,89 +47,95 @@ const caseInsensitiveKeys = /* @__PURE__ */ new Set([
|
|
|
45
47
|
"WINDIR"
|
|
46
48
|
]);
|
|
47
49
|
function createEnvProxy(base, overrides) {
|
|
48
|
-
|
|
49
|
-
{
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
const upperProp = prop.toUpperCase();
|
|
62
|
-
if (caseInsensitiveKeys.has(upperProp)) {
|
|
63
|
-
if (overrides) {
|
|
64
|
-
const key2 = findCaseInsensitiveEnvKey(overrides, upperProp);
|
|
65
|
-
if (key2 !== void 0) {
|
|
66
|
-
return overrides[key2];
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
const key = findCaseInsensitiveEnvKey(base, upperProp);
|
|
70
|
-
if (key !== void 0) {
|
|
71
|
-
return base[key];
|
|
72
|
-
}
|
|
50
|
+
function lookupEnvValue(prop) {
|
|
51
|
+
if (overrides && prop in overrides) {
|
|
52
|
+
return overrides[prop];
|
|
53
|
+
}
|
|
54
|
+
if (prop in base) {
|
|
55
|
+
return base[prop];
|
|
56
|
+
}
|
|
57
|
+
const upperProp = prop.toUpperCase();
|
|
58
|
+
if (caseInsensitiveKeys.has(upperProp)) {
|
|
59
|
+
if (overrides) {
|
|
60
|
+
const key2 = findCaseInsensitiveEnvKey(overrides, upperProp);
|
|
61
|
+
if (key2 !== void 0) {
|
|
62
|
+
return overrides[key2];
|
|
73
63
|
}
|
|
64
|
+
}
|
|
65
|
+
const key = findCaseInsensitiveEnvKey(base, upperProp);
|
|
66
|
+
if (key !== void 0) {
|
|
67
|
+
return base[key];
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return void 0;
|
|
71
|
+
}
|
|
72
|
+
return new Proxy({}, {
|
|
73
|
+
get(_target, prop) {
|
|
74
|
+
if (typeof prop !== "string") {
|
|
74
75
|
return void 0;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
76
|
+
}
|
|
77
|
+
return lookupEnvValue(prop);
|
|
78
|
+
},
|
|
79
|
+
ownKeys(_target) {
|
|
80
|
+
const keys = /* @__PURE__ */ new Set([
|
|
81
|
+
...Object.keys(base),
|
|
82
|
+
...overrides ? Object.keys(overrides) : []
|
|
83
|
+
]);
|
|
84
|
+
return [...keys];
|
|
85
|
+
},
|
|
86
|
+
getOwnPropertyDescriptor(_target, prop) {
|
|
87
|
+
if (typeof prop !== "string") {
|
|
88
|
+
return void 0;
|
|
89
|
+
}
|
|
90
|
+
const value = lookupEnvValue(prop);
|
|
91
|
+
return value !== void 0 ? {
|
|
92
|
+
enumerable: true,
|
|
93
|
+
configurable: true,
|
|
94
|
+
writable: true,
|
|
95
|
+
value
|
|
96
|
+
} : void 0;
|
|
97
|
+
},
|
|
98
|
+
has(_target, prop) {
|
|
99
|
+
if (typeof prop !== "string") {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
if (overrides && prop in overrides) {
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
if (prop in base) {
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
const upperProp = prop.toUpperCase();
|
|
109
|
+
if (caseInsensitiveKeys.has(upperProp)) {
|
|
110
|
+
if (overrides && findCaseInsensitiveEnvKey(overrides, upperProp) !== void 0) {
|
|
103
111
|
return true;
|
|
104
112
|
}
|
|
105
|
-
|
|
106
|
-
if (caseInsensitiveKeys.has(upperProp)) {
|
|
107
|
-
if (overrides && findCaseInsensitiveEnvKey(overrides, upperProp) !== void 0) {
|
|
108
|
-
return true;
|
|
109
|
-
}
|
|
110
|
-
if (findCaseInsensitiveEnvKey(base, upperProp) !== void 0) {
|
|
111
|
-
return true;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return false;
|
|
115
|
-
},
|
|
116
|
-
set(_target, prop, value) {
|
|
117
|
-
if (typeof prop === "string" && overrides) {
|
|
118
|
-
overrides[prop] = value;
|
|
113
|
+
if (findCaseInsensitiveEnvKey(base, upperProp) !== void 0) {
|
|
119
114
|
return true;
|
|
120
115
|
}
|
|
121
|
-
return false;
|
|
122
116
|
}
|
|
117
|
+
return false;
|
|
118
|
+
},
|
|
119
|
+
set(_target, prop, value) {
|
|
120
|
+
if (typeof prop === "string" && overrides) {
|
|
121
|
+
overrides[prop] = value;
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
return false;
|
|
123
125
|
}
|
|
124
|
-
);
|
|
126
|
+
});
|
|
125
127
|
}
|
|
126
128
|
// @__NO_SIDE_EFFECTS__
|
|
127
|
-
function envAsBoolean(value,
|
|
129
|
+
function envAsBoolean(value, defaultValueOrOptions = false) {
|
|
130
|
+
const opts = typeof defaultValueOrOptions === "boolean" ? { defaultValue: defaultValueOrOptions } : defaultValueOrOptions ?? {};
|
|
131
|
+
const { defaultValue = false, trim = true } = opts;
|
|
128
132
|
if (typeof value === "string") {
|
|
129
|
-
const
|
|
130
|
-
|
|
133
|
+
const candidate = trim ? value.trim() : value;
|
|
134
|
+
if (!candidate) {
|
|
135
|
+
return !!defaultValue;
|
|
136
|
+
}
|
|
137
|
+
const lower = candidate.toLowerCase();
|
|
138
|
+
return lower === "1" || lower === "true" || lower === "yes";
|
|
131
139
|
}
|
|
132
140
|
if (value === null || value === void 0) {
|
|
133
141
|
return !!defaultValue;
|
|
@@ -135,20 +143,44 @@ function envAsBoolean(value, defaultValue = false) {
|
|
|
135
143
|
return !!value;
|
|
136
144
|
}
|
|
137
145
|
// @__NO_SIDE_EFFECTS__
|
|
138
|
-
function envAsNumber(value,
|
|
139
|
-
const
|
|
146
|
+
function envAsNumber(value, defaultValueOrOptions = 0) {
|
|
147
|
+
const opts = typeof defaultValueOrOptions === "number" ? { defaultValue: defaultValueOrOptions } : defaultValueOrOptions ?? {};
|
|
148
|
+
const { allowInfinity = false, defaultValue = 0, mode = "int" } = opts;
|
|
149
|
+
if (value === void 0 || value === null) {
|
|
150
|
+
return defaultValue;
|
|
151
|
+
}
|
|
152
|
+
if (typeof value === "string") {
|
|
153
|
+
if (!value) {
|
|
154
|
+
return defaultValue;
|
|
155
|
+
}
|
|
156
|
+
const num = mode === "float" ? NumberCtor(value) : NumberParseInt(value, 10);
|
|
157
|
+
if (NumberIsNaN(num)) {
|
|
158
|
+
return defaultValue;
|
|
159
|
+
}
|
|
160
|
+
if (!NumberIsFinite(num)) {
|
|
161
|
+
return allowInfinity ? num : defaultValue;
|
|
162
|
+
}
|
|
163
|
+
return num || 0;
|
|
164
|
+
}
|
|
165
|
+
const numOrNaN = mode === "float" ? NumberCtor(String(value)) : NumberParseInt(String(value), 10);
|
|
140
166
|
const numMayBeNegZero = NumberIsFinite(numOrNaN) ? numOrNaN : NumberCtor(defaultValue);
|
|
141
167
|
return numMayBeNegZero || 0;
|
|
142
168
|
}
|
|
143
169
|
// @__NO_SIDE_EFFECTS__
|
|
144
|
-
function envAsString(value,
|
|
145
|
-
|
|
146
|
-
|
|
170
|
+
function envAsString(value, defaultValueOrOptions = "") {
|
|
171
|
+
const isOptionsObject = typeof defaultValueOrOptions === "object" && defaultValueOrOptions !== null && !Array.isArray(defaultValueOrOptions) && ("defaultValue" in defaultValueOrOptions || "trim" in defaultValueOrOptions);
|
|
172
|
+
const opts = isOptionsObject ? defaultValueOrOptions : {
|
|
173
|
+
defaultValue: defaultValueOrOptions === void 0 ? "" : typeof defaultValueOrOptions === "string" ? defaultValueOrOptions : StringCtor(defaultValueOrOptions)
|
|
174
|
+
};
|
|
175
|
+
const { defaultValue = "", trim = true } = opts;
|
|
176
|
+
if (value === void 0 || value === null) {
|
|
177
|
+
return defaultValue === "" || !trim ? defaultValue : StringCtor(defaultValue).trim();
|
|
147
178
|
}
|
|
148
|
-
if (
|
|
149
|
-
return
|
|
179
|
+
if (typeof value === "string") {
|
|
180
|
+
return trim ? value.trim() : value;
|
|
150
181
|
}
|
|
151
|
-
|
|
182
|
+
const str = StringCtor(value);
|
|
183
|
+
return trim ? str.trim() : str;
|
|
152
184
|
}
|
|
153
185
|
function findCaseInsensitiveEnvKey(env, upperEnvVarName) {
|
|
154
186
|
const targetLength = upperEnvVarName.length;
|