@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.
Files changed (305) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +6 -5
  3. package/dist/abort.d.ts +3 -0
  4. package/dist/abort.js +1 -0
  5. package/dist/agent.d.ts +66 -49
  6. package/dist/agent.js +51 -50
  7. package/dist/ansi.d.ts +2 -5
  8. package/dist/ansi.js +3 -2
  9. package/dist/archives.d.ts +25 -21
  10. package/dist/archives.js +35 -34
  11. package/dist/argv/flags.d.ts +100 -91
  12. package/dist/argv/flags.js +88 -87
  13. package/dist/argv/parse.d.ts +30 -40
  14. package/dist/argv/parse.js +33 -32
  15. package/dist/arrays.d.ts +4 -8
  16. package/dist/arrays.js +1 -0
  17. package/dist/bin.d.ts +7 -5
  18. package/dist/bin.js +52 -29
  19. package/dist/cacache.d.ts +13 -12
  20. package/dist/cacache.js +9 -8
  21. package/dist/cache-with-ttl.d.ts +53 -35
  22. package/dist/cache-with-ttl.js +1 -0
  23. package/dist/colors.d.ts +5 -5
  24. package/dist/colors.js +1 -0
  25. package/dist/constants/agents.d.ts +5 -9
  26. package/dist/constants/agents.js +3 -2
  27. package/dist/constants/core.d.ts +5 -10
  28. package/dist/constants/core.js +2 -1
  29. package/dist/constants/encoding.d.ts +3 -3
  30. package/dist/constants/encoding.js +1 -0
  31. package/dist/constants/github.d.ts +3 -3
  32. package/dist/constants/github.js +1 -0
  33. package/dist/constants/licenses.d.ts +9 -2
  34. package/dist/constants/licenses.js +1 -0
  35. package/dist/constants/lifecycle-script-names.js +1 -0
  36. package/dist/constants/maintained-node-versions.d.ts +3 -0
  37. package/dist/constants/maintained-node-versions.js +1 -0
  38. package/dist/constants/node.d.ts +125 -16
  39. package/dist/constants/node.js +74 -73
  40. package/dist/constants/package-default-node-range.d.ts +3 -1
  41. package/dist/constants/package-default-node-range.js +2 -1
  42. package/dist/constants/package-default-socket-categories.d.ts +0 -1
  43. package/dist/constants/package-default-socket-categories.js +1 -0
  44. package/dist/constants/packages.d.ts +12 -17
  45. package/dist/constants/packages.js +31 -16
  46. package/dist/constants/platform.d.ts +1 -2
  47. package/dist/constants/platform.js +2 -1
  48. package/dist/constants/process.d.ts +18 -0
  49. package/dist/constants/process.js +1 -0
  50. package/dist/constants/socket.d.ts +4 -10
  51. package/dist/constants/socket.js +2 -1
  52. package/dist/constants/testing.d.ts +3 -3
  53. package/dist/constants/testing.js +1 -0
  54. package/dist/constants/time.d.ts +3 -4
  55. package/dist/constants/time.js +1 -0
  56. package/dist/constants/typescript.d.ts +10 -3
  57. package/dist/constants/typescript.js +5 -4
  58. package/dist/cover/code.d.ts +3 -0
  59. package/dist/cover/code.js +12 -12
  60. package/dist/cover/formatters.d.ts +12 -9
  61. package/dist/cover/formatters.js +19 -18
  62. package/dist/cover/type.d.ts +3 -0
  63. package/dist/cover/type.js +1 -0
  64. package/dist/cover/types.js +1 -0
  65. package/dist/debug.d.ts +32 -47
  66. package/dist/debug.js +97 -96
  67. package/dist/dlx/arborist.d.ts +134 -0
  68. package/dist/dlx/arborist.js +177 -0
  69. package/dist/dlx/binary.d.ts +25 -9
  70. package/dist/dlx/binary.js +34 -12
  71. package/dist/dlx/cache.d.ts +1 -0
  72. package/dist/dlx/cache.js +2 -1
  73. package/dist/dlx/detect.d.ts +15 -0
  74. package/dist/dlx/detect.js +28 -20
  75. package/dist/dlx/dir.d.ts +1 -11
  76. package/dist/dlx/dir.js +2 -12
  77. package/dist/dlx/integrity.d.ts +86 -0
  78. package/dist/dlx/integrity.js +112 -0
  79. package/dist/dlx/lockfile.d.ts +115 -0
  80. package/dist/dlx/lockfile.js +139 -0
  81. package/dist/dlx/manifest.d.ts +26 -1
  82. package/dist/dlx/manifest.js +9 -6
  83. package/dist/dlx/package.d.ts +58 -3
  84. package/dist/dlx/package.js +101 -74
  85. package/dist/dlx/packages.d.ts +1 -11
  86. package/dist/dlx/packages.js +3 -14
  87. package/dist/dlx/paths.d.ts +1 -0
  88. package/dist/dlx/paths.js +2 -1
  89. package/dist/effects/pulse-frames.js +1 -0
  90. package/dist/effects/text-shimmer.d.ts +13 -2
  91. package/dist/effects/text-shimmer.js +50 -46
  92. package/dist/effects/types.js +1 -0
  93. package/dist/effects/ultra.js +1 -0
  94. package/dist/env/ci.d.ts +6 -1
  95. package/dist/env/ci.js +1 -0
  96. package/dist/env/debug.d.ts +5 -1
  97. package/dist/env/debug.js +1 -0
  98. package/dist/env/github.d.ts +19 -23
  99. package/dist/env/github.js +5 -4
  100. package/dist/env/helpers.d.ts +21 -9
  101. package/dist/env/helpers.js +5 -11
  102. package/dist/env/home.d.ts +17 -4
  103. package/dist/env/home.js +2 -1
  104. package/dist/env/locale.d.ts +4 -3
  105. package/dist/env/locale.js +1 -0
  106. package/dist/env/node-auth-token.d.ts +5 -1
  107. package/dist/env/node-auth-token.js +1 -0
  108. package/dist/env/node-env.d.ts +5 -1
  109. package/dist/env/node-env.js +1 -0
  110. package/dist/env/npm.d.ts +4 -5
  111. package/dist/env/npm.js +1 -0
  112. package/dist/env/package-manager.d.ts +4 -3
  113. package/dist/env/package-manager.js +2 -1
  114. package/dist/env/path.d.ts +5 -1
  115. package/dist/env/path.js +1 -0
  116. package/dist/env/pre-commit.d.ts +5 -1
  117. package/dist/env/pre-commit.js +1 -0
  118. package/dist/env/rewire.d.ts +10 -0
  119. package/dist/env/rewire.js +7 -5
  120. package/dist/env/shell.d.ts +5 -1
  121. package/dist/env/shell.js +1 -0
  122. package/dist/env/socket-cli-shadow.d.ts +4 -5
  123. package/dist/env/socket-cli-shadow.js +1 -0
  124. package/dist/env/socket-cli.d.ts +4 -14
  125. package/dist/env/socket-cli.js +1 -0
  126. package/dist/env/socket.d.ts +6 -18
  127. package/dist/env/socket.js +4 -3
  128. package/dist/env/temp-dir.d.ts +4 -3
  129. package/dist/env/temp-dir.js +1 -0
  130. package/dist/env/term.d.ts +5 -1
  131. package/dist/env/term.js +1 -0
  132. package/dist/env/test.d.ts +4 -3
  133. package/dist/env/test.js +1 -0
  134. package/dist/env/windows.d.ts +4 -4
  135. package/dist/env/windows.js +1 -0
  136. package/dist/env/xdg.d.ts +4 -3
  137. package/dist/env/xdg.js +1 -0
  138. package/dist/env.d.ts +83 -23
  139. package/dist/env.js +112 -80
  140. package/dist/errors.js +1 -0
  141. package/dist/external/@npmcli/package-json.js +9 -3968
  142. package/dist/external/@socketregistry/packageurl-js.js +2 -2
  143. package/dist/external/debug.js +162 -328
  144. package/dist/external/external-pack.js +3 -2835
  145. package/dist/external/npm-pack.js +13939 -33342
  146. package/dist/external/zod.js +160 -7558
  147. package/dist/fs.d.ts +92 -113
  148. package/dist/fs.js +35 -35
  149. package/dist/git.d.ts +170 -164
  150. package/dist/git.js +113 -87
  151. package/dist/github.d.ts +249 -227
  152. package/dist/github.js +82 -81
  153. package/dist/globs.d.ts +31 -17
  154. package/dist/globs.js +51 -58
  155. package/dist/http-request.d.ts +99 -99
  156. package/dist/http-request.js +182 -156
  157. package/dist/ipc-cli.d.ts +28 -0
  158. package/dist/{utils/get-ipc.js → ipc-cli.js} +4 -3
  159. package/dist/ipc.d.ts +9 -299
  160. package/dist/ipc.js +18 -204
  161. package/dist/json/edit.d.ts +3 -1
  162. package/dist/json/edit.js +30 -30
  163. package/dist/json/format.d.ts +36 -36
  164. package/dist/json/format.js +22 -21
  165. package/dist/json/parse.d.ts +4 -2
  166. package/dist/json/parse.js +1 -0
  167. package/dist/json/types.js +1 -0
  168. package/dist/{links/index.d.ts → links.d.ts} +6 -2
  169. package/dist/{links/index.js → links.js} +5 -4
  170. package/dist/logger.d.ts +4 -6
  171. package/dist/logger.js +61 -53
  172. package/dist/memoization.d.ts +52 -49
  173. package/dist/memoization.js +55 -33
  174. package/dist/objects.d.ts +25 -44
  175. package/dist/objects.js +2 -1
  176. package/dist/package-extensions.d.ts +6 -0
  177. package/dist/package-extensions.js +2 -1
  178. package/dist/packages/edit.d.ts +3 -5
  179. package/dist/packages/edit.js +4 -3
  180. package/dist/packages/exports.d.ts +11 -14
  181. package/dist/packages/exports.js +11 -10
  182. package/dist/packages/isolation.d.ts +4 -0
  183. package/dist/packages/isolation.js +20 -19
  184. package/dist/packages/licenses.d.ts +3 -10
  185. package/dist/packages/licenses.js +2 -1
  186. package/dist/packages/manifest.d.ts +3 -3
  187. package/dist/packages/manifest.js +1 -0
  188. package/dist/packages/normalize.d.ts +3 -4
  189. package/dist/packages/normalize.js +1 -0
  190. package/dist/packages/operations.d.ts +3 -10
  191. package/dist/packages/operations.js +1 -0
  192. package/dist/packages/provenance.d.ts +10 -8
  193. package/dist/packages/provenance.js +55 -54
  194. package/dist/packages/specs.d.ts +3 -5
  195. package/dist/packages/specs.js +1 -0
  196. package/dist/packages/validation.d.ts +3 -3
  197. package/dist/packages/validation.js +1 -0
  198. package/dist/packages.d.ts +2 -17
  199. package/dist/packages.js +2 -1
  200. package/dist/paths/dirnames.d.ts +0 -2
  201. package/dist/paths/dirnames.js +1 -0
  202. package/dist/paths/exts.d.ts +0 -1
  203. package/dist/paths/exts.js +1 -0
  204. package/dist/paths/filenames.d.ts +0 -1
  205. package/dist/paths/filenames.js +1 -0
  206. package/dist/paths/globs.d.ts +0 -1
  207. package/dist/paths/globs.js +1 -0
  208. package/dist/paths/normalize.d.ts +115 -123
  209. package/dist/paths/normalize.js +128 -127
  210. package/dist/paths/packages.d.ts +3 -2
  211. package/dist/paths/packages.js +2 -1
  212. package/dist/paths/rewire.d.ts +9 -0
  213. package/dist/paths/rewire.js +5 -3
  214. package/dist/paths/socket.d.ts +37 -23
  215. package/dist/paths/socket.js +26 -25
  216. package/dist/performance.d.ts +87 -84
  217. package/dist/performance.js +97 -96
  218. package/dist/process-lock.d.ts +41 -1
  219. package/dist/process-lock.js +24 -17
  220. package/dist/promise-queue.d.ts +6 -0
  221. package/dist/promise-queue.js +1 -0
  222. package/dist/promises.d.ts +40 -55
  223. package/dist/promises.js +12 -11
  224. package/dist/regexps.d.ts +0 -5
  225. package/dist/regexps.js +1 -0
  226. package/dist/releases/github.d.ts +59 -63
  227. package/dist/releases/github.js +95 -100
  228. package/dist/releases/socket-btm.d.ts +9 -2
  229. package/dist/releases/socket-btm.js +32 -25
  230. package/dist/sea.d.ts +5 -0
  231. package/dist/sea.js +1 -0
  232. package/dist/shadow.d.ts +4 -0
  233. package/dist/shadow.js +1 -0
  234. package/dist/signal-exit.d.ts +7 -7
  235. package/dist/signal-exit.js +46 -45
  236. package/dist/sorts.d.ts +5 -7
  237. package/dist/sorts.js +11 -10
  238. package/dist/spawn.d.ts +96 -77
  239. package/dist/spawn.js +39 -38
  240. package/dist/spinner.d.ts +21 -22
  241. package/dist/spinner.js +15 -11
  242. package/dist/ssri.d.ts +31 -36
  243. package/dist/ssri.js +15 -14
  244. package/dist/stdio/_stream.d.ts +31 -0
  245. package/dist/stdio/_stream.js +57 -0
  246. package/dist/stdio/divider.d.ts +40 -36
  247. package/dist/stdio/divider.js +10 -9
  248. package/dist/stdio/footer.d.ts +20 -0
  249. package/dist/stdio/footer.js +12 -2
  250. package/dist/stdio/header.d.ts +4 -16
  251. package/dist/stdio/header.js +1 -9
  252. package/dist/stdio/stderr.d.ts +51 -39
  253. package/dist/stdio/stderr.js +19 -22
  254. package/dist/stdio/stdout.d.ts +54 -52
  255. package/dist/stdio/stdout.js +35 -33
  256. package/dist/streams.d.ts +4 -3
  257. package/dist/streams.js +1 -0
  258. package/dist/strings.d.ts +31 -85
  259. package/dist/strings.js +5 -49
  260. package/dist/suppress-warnings.d.ts +32 -15
  261. package/dist/suppress-warnings.js +14 -13
  262. package/dist/tables.d.ts +30 -26
  263. package/dist/tables.js +24 -23
  264. package/dist/temporary-executor.d.ts +4 -0
  265. package/dist/temporary-executor.js +1 -0
  266. package/dist/themes/context.d.ts +30 -26
  267. package/dist/themes/context.js +19 -18
  268. package/dist/themes/index.d.ts +0 -4
  269. package/dist/themes/index.js +1 -0
  270. package/dist/themes/themes.d.ts +1 -1
  271. package/dist/themes/themes.js +1 -0
  272. package/dist/themes/types.js +1 -0
  273. package/dist/themes/utils.d.ts +46 -43
  274. package/dist/themes/utils.js +45 -44
  275. package/dist/types.d.ts +48 -52
  276. package/dist/types.js +35 -35
  277. package/dist/url.d.ts +48 -53
  278. package/dist/url.js +38 -37
  279. package/dist/validation/json-parser.d.ts +19 -190
  280. package/dist/validation/json-parser.js +5 -69
  281. package/dist/validation/types.d.ts +9 -33
  282. package/dist/validation/types.js +1 -0
  283. package/dist/versions.d.ts +1 -0
  284. package/dist/versions.js +2 -1
  285. package/dist/words.d.ts +3 -6
  286. package/dist/words.js +1 -0
  287. package/dist/zod.js +1 -0
  288. package/package.json +34 -66
  289. package/dist/external/@inquirer/checkbox.js +0 -5
  290. package/dist/external/@inquirer/confirm.js +0 -5
  291. package/dist/external/@inquirer/input.js +0 -5
  292. package/dist/external/@inquirer/password.js +0 -5
  293. package/dist/external/@inquirer/search.js +0 -5
  294. package/dist/external/@inquirer/select.js +0 -5
  295. package/dist/functions.d.ts +0 -57
  296. package/dist/functions.js +0 -70
  297. package/dist/stdio/clear.d.ts +0 -140
  298. package/dist/stdio/clear.js +0 -95
  299. package/dist/stdio/mask.d.ts +0 -151
  300. package/dist/stdio/mask.js +0 -224
  301. package/dist/stdio/progress.d.ts +0 -148
  302. package/dist/stdio/progress.js +0 -212
  303. package/dist/stdio/prompts.d.ts +0 -195
  304. package/dist/stdio/prompts.js +0 -176
  305. 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
- return new Proxy(
49
- {},
50
- {
51
- get(_target, prop) {
52
- if (typeof prop !== "string") {
53
- return void 0;
54
- }
55
- if (overrides && prop in overrides) {
56
- return overrides[prop];
57
- }
58
- if (prop in base) {
59
- return base[prop];
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
- ownKeys(_target) {
77
- const keys = /* @__PURE__ */ new Set([
78
- ...Object.keys(base),
79
- ...overrides ? Object.keys(overrides) : []
80
- ]);
81
- return [...keys];
82
- },
83
- getOwnPropertyDescriptor(_target, prop) {
84
- if (typeof prop !== "string") {
85
- return void 0;
86
- }
87
- const value = this.get?.(_target, prop, _target);
88
- return value !== void 0 ? {
89
- enumerable: true,
90
- configurable: true,
91
- writable: true,
92
- value
93
- } : void 0;
94
- },
95
- has(_target, prop) {
96
- if (typeof prop !== "string") {
97
- return false;
98
- }
99
- if (overrides && prop in overrides) {
100
- return true;
101
- }
102
- if (prop in base) {
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
- const upperProp = prop.toUpperCase();
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, defaultValue = false) {
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 trimmed = value.trim();
130
- return trimmed === "1" || trimmed.toLowerCase() === "true";
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, defaultValue = 0) {
139
- const numOrNaN = NumberParseInt(String(value), 10);
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, defaultValue = "") {
145
- if (typeof value === "string") {
146
- return value.trim();
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 (value === null || value === void 0) {
149
- return defaultValue === "" ? defaultValue : StringCtor(defaultValue).trim();
179
+ if (typeof value === "string") {
180
+ return trim ? value.trim() : value;
150
181
  }
151
- return StringCtor(value).trim();
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;
package/dist/errors.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;