@start9labs/start-sdk 0.4.0-beta.51 → 0.4.0-beta.53
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/base/lib/actions/input/builder/inputSpec.d.ts +126 -5
- package/base/lib/actions/input/builder/inputSpec.js +219 -9
- package/base/lib/actions/input/builder/inputSpec.js.map +1 -1
- package/base/lib/actions/input/builder/list.d.ts +21 -0
- package/base/lib/actions/input/builder/list.js +21 -0
- package/base/lib/actions/input/builder/list.js.map +1 -1
- package/base/lib/actions/input/builder/value.d.ts +54 -0
- package/base/lib/actions/input/builder/value.js +56 -1
- package/base/lib/actions/input/builder/value.js.map +1 -1
- package/base/lib/actions/input/builder/variants.d.ts +11 -0
- package/base/lib/actions/input/builder/variants.js +17 -2
- package/base/lib/actions/input/builder/variants.js.map +1 -1
- package/base/lib/actions/input/inputSpecConstants.d.ts +203 -5
- package/base/lib/actions/input/inputSpecConstants.js +118 -38
- package/base/lib/actions/input/inputSpecConstants.js.map +1 -1
- package/base/lib/actions/input/inputSpecTypes.d.ts +99 -0
- package/base/lib/actions/input/inputSpecTypes.js +6 -1
- package/base/lib/actions/input/inputSpecTypes.js.map +1 -1
- package/base/lib/actions/setupActions.d.ts +6 -3
- package/base/lib/actions/setupActions.js +6 -3
- package/base/lib/actions/setupActions.js.map +1 -1
- package/base/lib/exver/index.d.ts +233 -2
- package/base/lib/exver/index.js +197 -3
- package/base/lib/exver/index.js.map +1 -1
- package/base/lib/index.d.ts +9 -1
- package/base/lib/index.js +3 -1
- package/base/lib/index.js.map +1 -1
- package/base/lib/inits/setupInit.d.ts +17 -0
- package/base/lib/inits/setupInit.js +7 -0
- package/base/lib/inits/setupInit.js.map +1 -1
- package/base/lib/inits/setupUninit.d.ts +12 -0
- package/base/lib/inits/setupUninit.js +7 -0
- package/base/lib/inits/setupUninit.js.map +1 -1
- package/base/lib/osBindings/AddPackageSignerParams.d.ts +1 -0
- package/base/lib/osBindings/ServerHostname.d.ts +1 -0
- package/base/lib/osBindings/{IpHostname.js → ServerHostname.js} +1 -1
- package/base/lib/osBindings/ServerHostname.js.map +1 -0
- package/base/lib/osBindings/ServerInfo.d.ts +1 -0
- package/base/lib/osBindings/SetServerHostnameParams.d.ts +4 -0
- package/base/lib/osBindings/{OnionHostname.js → SetServerHostnameParams.js} +1 -1
- package/base/lib/osBindings/SetServerHostnameParams.js.map +1 -0
- package/base/lib/osBindings/SetupExecuteParams.d.ts +3 -1
- package/base/lib/osBindings/SmtpSecurity.d.ts +1 -0
- package/base/lib/osBindings/{Hostname.js → SmtpSecurity.js} +1 -1
- package/base/lib/osBindings/SmtpSecurity.js.map +1 -0
- package/base/lib/osBindings/SmtpValue.d.ts +4 -2
- package/base/lib/osBindings/SmtpValue.js +0 -1
- package/base/lib/osBindings/SmtpValue.js.map +1 -1
- package/base/lib/osBindings/StartOsRecoveryInfo.d.ts +2 -2
- package/base/lib/osBindings/TestSmtpParams.d.ts +4 -2
- package/base/lib/osBindings/TestSmtpParams.js +0 -1
- package/base/lib/osBindings/TestSmtpParams.js.map +1 -1
- package/base/lib/osBindings/index.d.ts +3 -1
- package/base/lib/s9pk/index.d.ts +66 -0
- package/base/lib/s9pk/index.js +70 -1
- package/base/lib/s9pk/index.js.map +1 -1
- package/base/lib/types.d.ts +68 -2
- package/base/lib/types.js +14 -0
- package/base/lib/types.js.map +1 -1
- package/base/lib/util/asError.d.ts +8 -0
- package/base/lib/util/asError.js +8 -0
- package/base/lib/util/asError.js.map +1 -1
- package/base/lib/util/deepEqual.d.ts +15 -0
- package/base/lib/util/deepEqual.js +15 -0
- package/base/lib/util/deepEqual.js.map +1 -1
- package/base/lib/util/deepMerge.d.ts +18 -0
- package/base/lib/util/deepMerge.js +18 -0
- package/base/lib/util/deepMerge.js.map +1 -1
- package/base/lib/util/getDefaultString.d.ts +8 -0
- package/base/lib/util/getDefaultString.js +8 -0
- package/base/lib/util/getDefaultString.js.map +1 -1
- package/base/lib/util/graph.d.ts +57 -0
- package/base/lib/util/graph.js +47 -0
- package/base/lib/util/graph.js.map +1 -1
- package/base/lib/util/inMs.d.ts +15 -0
- package/base/lib/util/inMs.js +15 -0
- package/base/lib/util/inMs.js.map +1 -1
- package/base/lib/util/ip.d.ts +81 -0
- package/base/lib/util/ip.js +81 -0
- package/base/lib/util/ip.js.map +1 -1
- package/base/lib/util/once.d.ts +13 -0
- package/base/lib/util/once.js +13 -0
- package/base/lib/util/once.js.map +1 -1
- package/base/lib/util/patterns.d.ts +11 -0
- package/base/lib/util/patterns.js +11 -0
- package/base/lib/util/patterns.js.map +1 -1
- package/base/lib/util/regexes.d.ts +38 -0
- package/base/lib/util/regexes.js +38 -0
- package/base/lib/util/regexes.js.map +1 -1
- package/base/lib/util/splitCommand.d.ts +14 -0
- package/base/lib/util/splitCommand.js +14 -0
- package/base/lib/util/splitCommand.js.map +1 -1
- package/base/lib/util/stringFromStdErrOut.d.ts +7 -0
- package/base/lib/util/stringFromStdErrOut.js +7 -0
- package/base/lib/util/stringFromStdErrOut.js.map +1 -1
- package/base/lib/util/typeHelpers.d.ts +35 -0
- package/base/lib/util/typeHelpers.js +7 -0
- package/base/lib/util/typeHelpers.js.map +1 -1
- package/package/lib/StartSdk.d.ts +328 -2
- package/package/lib/StartSdk.js +142 -1
- package/package/lib/StartSdk.js.map +1 -1
- package/package/lib/backup/Backups.d.ts +71 -0
- package/package/lib/backup/Backups.js +69 -0
- package/package/lib/backup/Backups.js.map +1 -1
- package/package/lib/backup/setupBackups.d.ts +14 -0
- package/package/lib/backup/setupBackups.js +9 -0
- package/package/lib/backup/setupBackups.js.map +1 -1
- package/package/lib/health/HealthCheck.d.ts +16 -0
- package/package/lib/health/HealthCheck.js +15 -0
- package/package/lib/health/HealthCheck.js.map +1 -1
- package/package/lib/health/checkFns/HealthCheckResult.d.ts +6 -0
- package/package/lib/health/checkFns/index.d.ts +8 -0
- package/package/lib/health/checkFns/index.js +8 -0
- package/package/lib/health/checkFns/index.js.map +1 -1
- package/package/lib/mainFn/CommandController.d.ts +29 -0
- package/package/lib/mainFn/CommandController.js +29 -0
- package/package/lib/mainFn/CommandController.js.map +1 -1
- package/package/lib/mainFn/Daemon.d.ts +38 -2
- package/package/lib/mainFn/Daemon.js +38 -2
- package/package/lib/mainFn/Daemon.js.map +1 -1
- package/package/lib/mainFn/Daemons.d.ts +31 -0
- package/package/lib/mainFn/Daemons.js +13 -0
- package/package/lib/mainFn/Daemons.js.map +1 -1
- package/package/lib/mainFn/Mounts.d.ts +38 -0
- package/package/lib/mainFn/Mounts.js +38 -0
- package/package/lib/mainFn/Mounts.js.map +1 -1
- package/package/lib/mainFn/index.d.ts +1 -0
- package/package/lib/mainFn/index.js +1 -0
- package/package/lib/mainFn/index.js.map +1 -1
- package/package/lib/manifest/setupManifest.d.ts +9 -0
- package/package/lib/manifest/setupManifest.js +9 -0
- package/package/lib/manifest/setupManifest.js.map +1 -1
- package/package/lib/test/output.sdk.d.ts +192 -2
- package/package/lib/util/SubContainer.d.ts +46 -0
- package/package/lib/util/SubContainer.js +10 -0
- package/package/lib/util/SubContainer.js.map +1 -1
- package/package/lib/util/fileHelper.d.ts +41 -8
- package/package/lib/util/fileHelper.js +6 -4
- package/package/lib/util/fileHelper.js.map +1 -1
- package/package/lib/version/VersionGraph.d.ts +61 -0
- package/package/lib/version/VersionGraph.js +61 -0
- package/package/lib/version/VersionGraph.js.map +1 -1
- package/package/lib/version/VersionInfo.d.ts +17 -0
- package/package/lib/version/VersionInfo.js +12 -0
- package/package/lib/version/VersionInfo.js.map +1 -1
- package/package/package.json +3 -2
- package/package.json +3 -2
- package/base/lib/osBindings/BindingGatewaySetEnabledParams.d.ts +0 -6
- package/base/lib/osBindings/BindingGatewaySetEnabledParams.js +0 -3
- package/base/lib/osBindings/BindingGatewaySetEnabledParams.js.map +0 -1
- package/base/lib/osBindings/Hostname.d.ts +0 -1
- package/base/lib/osBindings/Hostname.js.map +0 -1
- package/base/lib/osBindings/IpHostname.d.ts +0 -22
- package/base/lib/osBindings/IpHostname.js.map +0 -1
- package/base/lib/osBindings/OnionHostname.d.ts +0 -5
- package/base/lib/osBindings/OnionHostname.js.map +0 -1
- package/package/lib/test/health.readyCheck.test.d.ts +0 -1
- package/package/lib/test/health.readyCheck.test.js +0 -18
- package/package/lib/test/health.readyCheck.test.js.map +0 -1
- package/package/lib/test/host.test.d.ts +0 -1
- package/package/lib/test/host.test.js +0 -29
- package/package/lib/test/host.test.js.map +0 -1
- package/package/lib/test/inputSpecBuilder.test.d.ts +0 -1
- package/package/lib/test/inputSpecBuilder.test.js +0 -782
- package/package/lib/test/inputSpecBuilder.test.js.map +0 -1
- package/package/lib/test/makeOutput.d.ts +0 -1
- package/package/lib/test/makeOutput.js +0 -398
- package/package/lib/test/makeOutput.js.map +0 -1
- package/package/lib/test/output.d.ts +0 -158
- package/package/lib/test/output.js +0 -446
- package/package/lib/test/output.js.map +0 -1
- package/package/lib/test/output.test.d.ts +0 -2
- package/package/lib/test/output.test.js +0 -121
- package/package/lib/test/output.test.js.map +0 -1
- package/package/scripts/oldSpecToBuilder.d.ts +0 -6
- package/package/scripts/oldSpecToBuilder.js +0 -334
- package/package/scripts/oldSpecToBuilder.js.map +0 -1
package/base/lib/util/ip.js
CHANGED
|
@@ -1,12 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CGNAT = exports.IPV6_LINK_LOCAL = exports.IPV6_LOOPBACK = exports.IPV4_LOOPBACK = exports.PRIVATE_IPV4_RANGES = exports.IpNet = exports.IpAddress = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Represents an IPv4 or IPv6 address as raw octets with arithmetic and comparison operations.
|
|
6
|
+
*
|
|
7
|
+
* IPv4 addresses have 4 octets, IPv6 addresses have 16 octets.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* const ip = IpAddress.parse("192.168.1.1")
|
|
12
|
+
* const next = ip.add(1) // 192.168.1.2
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
4
15
|
class IpAddress {
|
|
5
16
|
constructor(octets, renderedAddress) {
|
|
6
17
|
this.octets = octets;
|
|
7
18
|
this.renderedAddress = renderedAddress;
|
|
8
19
|
this.renderedOctets = [...octets];
|
|
9
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Parses an IP address string into an IpAddress instance.
|
|
23
|
+
* Supports both IPv4 dotted-decimal and IPv6 colon-hex notation (including `::` shorthand).
|
|
24
|
+
* @param address - The IP address string to parse
|
|
25
|
+
* @returns A new IpAddress instance
|
|
26
|
+
* @throws Error if the address format is invalid
|
|
27
|
+
*/
|
|
10
28
|
static parse(address) {
|
|
11
29
|
let octets;
|
|
12
30
|
if (address.includes(':')) {
|
|
@@ -42,6 +60,12 @@ class IpAddress {
|
|
|
42
60
|
}
|
|
43
61
|
return new IpAddress(octets, address);
|
|
44
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Creates an IpAddress from a raw octet array.
|
|
65
|
+
* @param octets - Array of 4 octets (IPv4) or 16 octets (IPv6), each 0-255
|
|
66
|
+
* @returns A new IpAddress instance
|
|
67
|
+
* @throws Error if the octet array length is not 4 or 16, or any octet exceeds 255
|
|
68
|
+
*/
|
|
45
69
|
static fromOctets(octets) {
|
|
46
70
|
if (octets.length == 4) {
|
|
47
71
|
if (octets.some((o) => o > 255)) {
|
|
@@ -72,15 +96,24 @@ class IpAddress {
|
|
|
72
96
|
throw new Error('invalid ip address');
|
|
73
97
|
}
|
|
74
98
|
}
|
|
99
|
+
/** Returns true if this is an IPv4 address (4 octets). */
|
|
75
100
|
isIpv4() {
|
|
76
101
|
return this.octets.length === 4;
|
|
77
102
|
}
|
|
103
|
+
/** Returns true if this is an IPv6 address (16 octets). */
|
|
78
104
|
isIpv6() {
|
|
79
105
|
return this.octets.length === 16;
|
|
80
106
|
}
|
|
107
|
+
/** Returns true if this is a public IPv4 address (not in any private range). */
|
|
81
108
|
isPublic() {
|
|
82
109
|
return this.isIpv4() && !exports.PRIVATE_IPV4_RANGES.some((r) => r.contains(this));
|
|
83
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Returns a new IpAddress incremented by `n`.
|
|
113
|
+
* @param n - The integer amount to add (fractional part is truncated)
|
|
114
|
+
* @returns A new IpAddress with the result
|
|
115
|
+
* @throws Error on overflow
|
|
116
|
+
*/
|
|
84
117
|
add(n) {
|
|
85
118
|
let octets = [...this.octets];
|
|
86
119
|
n = Math.floor(n);
|
|
@@ -99,6 +132,12 @@ class IpAddress {
|
|
|
99
132
|
}
|
|
100
133
|
return IpAddress.fromOctets(octets);
|
|
101
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Returns a new IpAddress decremented by `n`.
|
|
137
|
+
* @param n - The integer amount to subtract (fractional part is truncated)
|
|
138
|
+
* @returns A new IpAddress with the result
|
|
139
|
+
* @throws Error on underflow
|
|
140
|
+
*/
|
|
102
141
|
sub(n) {
|
|
103
142
|
let octets = [...this.octets];
|
|
104
143
|
n = Math.floor(n);
|
|
@@ -117,6 +156,11 @@ class IpAddress {
|
|
|
117
156
|
}
|
|
118
157
|
return IpAddress.fromOctets(octets);
|
|
119
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* Compares this address to another, returning -1, 0, or 1.
|
|
161
|
+
* @param other - An IpAddress instance or string to compare against
|
|
162
|
+
* @returns -1 if this < other, 0 if equal, 1 if this > other
|
|
163
|
+
*/
|
|
120
164
|
cmp(other) {
|
|
121
165
|
if (typeof other === 'string')
|
|
122
166
|
other = IpAddress.parse(other);
|
|
@@ -133,6 +177,7 @@ class IpAddress {
|
|
|
133
177
|
}
|
|
134
178
|
return 0;
|
|
135
179
|
}
|
|
180
|
+
/** The string representation of this IP address (e.g. `"192.168.1.1"` or `"::1"`). Cached and recomputed only when octets change. */
|
|
136
181
|
get address() {
|
|
137
182
|
if (this.renderedOctets.length === this.octets.length &&
|
|
138
183
|
this.renderedOctets.every((o, idx) => o === this.octets[idx])) {
|
|
@@ -169,23 +214,51 @@ class IpAddress {
|
|
|
169
214
|
}
|
|
170
215
|
}
|
|
171
216
|
exports.IpAddress = IpAddress;
|
|
217
|
+
/**
|
|
218
|
+
* Represents an IP network (CIDR notation) combining an IP address with a prefix length.
|
|
219
|
+
* Extends IpAddress with network-specific operations like containment checks and broadcast calculation.
|
|
220
|
+
*
|
|
221
|
+
* @example
|
|
222
|
+
* ```ts
|
|
223
|
+
* const net = IpNet.parse("192.168.1.0/24")
|
|
224
|
+
* net.contains("192.168.1.100") // true
|
|
225
|
+
* net.broadcast() // 192.168.1.255
|
|
226
|
+
* ```
|
|
227
|
+
*/
|
|
172
228
|
class IpNet extends IpAddress {
|
|
173
229
|
constructor(octets, prefix, address) {
|
|
174
230
|
super(octets, address);
|
|
175
231
|
this.prefix = prefix;
|
|
176
232
|
}
|
|
233
|
+
/**
|
|
234
|
+
* Creates an IpNet from an IpAddress and prefix length.
|
|
235
|
+
* @param ip - The base IP address
|
|
236
|
+
* @param prefix - The CIDR prefix length (0-32 for IPv4, 0-128 for IPv6)
|
|
237
|
+
* @returns A new IpNet instance
|
|
238
|
+
* @throws Error if prefix exceeds the address bit length
|
|
239
|
+
*/
|
|
177
240
|
static fromIpPrefix(ip, prefix) {
|
|
178
241
|
if (prefix > ip.octets.length * 8) {
|
|
179
242
|
throw new Error('invalid prefix');
|
|
180
243
|
}
|
|
181
244
|
return new IpNet(ip.octets, prefix, ip.address);
|
|
182
245
|
}
|
|
246
|
+
/**
|
|
247
|
+
* Parses a CIDR notation string (e.g. `"192.168.1.0/24"`) into an IpNet.
|
|
248
|
+
* @param ipnet - The CIDR string to parse
|
|
249
|
+
* @returns A new IpNet instance
|
|
250
|
+
*/
|
|
183
251
|
static parse(ipnet) {
|
|
184
252
|
const [address, prefixStr] = ipnet.split('/', 2);
|
|
185
253
|
const ip = IpAddress.parse(address);
|
|
186
254
|
const prefix = Number(prefixStr);
|
|
187
255
|
return IpNet.fromIpPrefix(ip, prefix);
|
|
188
256
|
}
|
|
257
|
+
/**
|
|
258
|
+
* Checks whether this network contains the given address or subnet.
|
|
259
|
+
* @param address - An IP address or subnet (string, IpAddress, or IpNet)
|
|
260
|
+
* @returns True if the address falls within this network's range
|
|
261
|
+
*/
|
|
189
262
|
contains(address) {
|
|
190
263
|
if (typeof address === 'string')
|
|
191
264
|
address = IpAddress.parse(address);
|
|
@@ -207,6 +280,7 @@ class IpNet extends IpAddress {
|
|
|
207
280
|
const mask = 255 ^ (255 >> prefix);
|
|
208
281
|
return (this.octets[idx] & mask) === (address.octets[idx] & mask);
|
|
209
282
|
}
|
|
283
|
+
/** Returns the network address (all host bits zeroed) for this subnet. */
|
|
210
284
|
zero() {
|
|
211
285
|
let octets = [];
|
|
212
286
|
let prefix = this.prefix;
|
|
@@ -223,6 +297,7 @@ class IpNet extends IpAddress {
|
|
|
223
297
|
}
|
|
224
298
|
return IpAddress.fromOctets(octets);
|
|
225
299
|
}
|
|
300
|
+
/** Returns the broadcast address (all host bits set to 1) for this subnet. */
|
|
226
301
|
broadcast() {
|
|
227
302
|
let octets = [];
|
|
228
303
|
let prefix = this.prefix;
|
|
@@ -239,19 +314,25 @@ class IpNet extends IpAddress {
|
|
|
239
314
|
}
|
|
240
315
|
return IpAddress.fromOctets(octets);
|
|
241
316
|
}
|
|
317
|
+
/** The CIDR notation string for this network (e.g. `"192.168.1.0/24"`). */
|
|
242
318
|
get ipnet() {
|
|
243
319
|
return `${this.address}/${this.prefix}`;
|
|
244
320
|
}
|
|
245
321
|
}
|
|
246
322
|
exports.IpNet = IpNet;
|
|
323
|
+
/** All private IPv4 ranges: loopback (127.0.0.0/8), Class A (10.0.0.0/8), Class B (172.16.0.0/12), Class C (192.168.0.0/16). */
|
|
247
324
|
exports.PRIVATE_IPV4_RANGES = [
|
|
248
325
|
IpNet.parse('127.0.0.0/8'),
|
|
249
326
|
IpNet.parse('10.0.0.0/8'),
|
|
250
327
|
IpNet.parse('172.16.0.0/12'),
|
|
251
328
|
IpNet.parse('192.168.0.0/16'),
|
|
252
329
|
];
|
|
330
|
+
/** IPv4 loopback network (127.0.0.0/8). */
|
|
253
331
|
exports.IPV4_LOOPBACK = IpNet.parse('127.0.0.0/8');
|
|
332
|
+
/** IPv6 loopback address (::1/128). */
|
|
254
333
|
exports.IPV6_LOOPBACK = IpNet.parse('::1/128');
|
|
334
|
+
/** IPv6 link-local network (fe80::/10). */
|
|
255
335
|
exports.IPV6_LINK_LOCAL = IpNet.parse('fe80::/10');
|
|
336
|
+
/** Carrier-Grade NAT (CGNAT) address range (100.64.0.0/10), per RFC 6598. */
|
|
256
337
|
exports.CGNAT = IpNet.parse('100.64.0.0/10');
|
|
257
338
|
//# sourceMappingURL=ip.js.map
|
package/base/lib/util/ip.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ip.js","sourceRoot":"","sources":["../../../../base/lib/util/ip.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ip.js","sourceRoot":"","sources":["../../../../base/lib/util/ip.ts"],"names":[],"mappings":"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"}
|
package/base/lib/util/once.d.ts
CHANGED
|
@@ -1 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wraps a function so it is only executed once. Subsequent calls return the cached result.
|
|
3
|
+
*
|
|
4
|
+
* @param fn - The function to execute at most once
|
|
5
|
+
* @returns A wrapper that lazily evaluates `fn` on first call and caches the result
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* const getConfig = once(() => loadExpensiveConfig())
|
|
10
|
+
* getConfig() // loads config
|
|
11
|
+
* getConfig() // returns cached result
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
1
14
|
export declare function once<B>(fn: () => B): () => B;
|
package/base/lib/util/once.js
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.once = once;
|
|
4
|
+
/**
|
|
5
|
+
* Wraps a function so it is only executed once. Subsequent calls return the cached result.
|
|
6
|
+
*
|
|
7
|
+
* @param fn - The function to execute at most once
|
|
8
|
+
* @returns A wrapper that lazily evaluates `fn` on first call and caches the result
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* const getConfig = once(() => loadExpensiveConfig())
|
|
13
|
+
* getConfig() // loads config
|
|
14
|
+
* getConfig() // returns cached result
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
4
17
|
function once(fn) {
|
|
5
18
|
let result = [];
|
|
6
19
|
return () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"once.js","sourceRoot":"","sources":["../../../../base/lib/util/once.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"once.js","sourceRoot":"","sources":["../../../../base/lib/util/once.ts"],"names":[],"mappings":";;AAaA,oBAQC;AArBD;;;;;;;;;;;;GAYG;AACH,SAAgB,IAAI,CAAI,EAAW;IACjC,IAAI,MAAM,GAAa,EAAE,CAAA;IACzB,OAAO,GAAG,EAAE;QACV,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
import { Pattern } from '../actions/input/inputSpecTypes';
|
|
2
|
+
/** Pattern for validating IPv6 addresses. */
|
|
2
3
|
export declare const ipv6: Pattern;
|
|
4
|
+
/** Pattern for validating IPv4 addresses. */
|
|
3
5
|
export declare const ipv4: Pattern;
|
|
6
|
+
/** Pattern for validating hostnames (RFC-compliant). */
|
|
4
7
|
export declare const hostname: Pattern;
|
|
8
|
+
/** Pattern for validating `.local` mDNS hostnames. */
|
|
5
9
|
export declare const localHostname: Pattern;
|
|
10
|
+
/** Pattern for validating HTTP/HTTPS URLs. */
|
|
6
11
|
export declare const url: Pattern;
|
|
12
|
+
/** Pattern for validating `.local` URLs (mDNS/LAN). */
|
|
7
13
|
export declare const localUrl: Pattern;
|
|
14
|
+
/** Pattern for validating ASCII-only strings (printable characters). */
|
|
8
15
|
export declare const ascii: Pattern;
|
|
16
|
+
/** Pattern for validating fully qualified domain names (FQDNs). */
|
|
9
17
|
export declare const domain: Pattern;
|
|
18
|
+
/** Pattern for validating email addresses. */
|
|
10
19
|
export declare const email: Pattern;
|
|
20
|
+
/** Pattern for validating email addresses, optionally with a display name (e.g. `"John Doe <john@example.com>"`). */
|
|
11
21
|
export declare const emailWithName: Pattern;
|
|
22
|
+
/** Pattern for validating base64-encoded strings. */
|
|
12
23
|
export declare const base64: Pattern;
|
|
@@ -35,46 +35,57 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.base64 = exports.emailWithName = exports.email = exports.domain = exports.ascii = exports.localUrl = exports.url = exports.localHostname = exports.hostname = exports.ipv4 = exports.ipv6 = void 0;
|
|
37
37
|
const regexes = __importStar(require("./regexes"));
|
|
38
|
+
/** Pattern for validating IPv6 addresses. */
|
|
38
39
|
exports.ipv6 = {
|
|
39
40
|
regex: regexes.ipv6.matches(),
|
|
40
41
|
description: 'Must be a valid IPv6 address',
|
|
41
42
|
};
|
|
43
|
+
/** Pattern for validating IPv4 addresses. */
|
|
42
44
|
exports.ipv4 = {
|
|
43
45
|
regex: regexes.ipv4.matches(),
|
|
44
46
|
description: 'Must be a valid IPv4 address',
|
|
45
47
|
};
|
|
48
|
+
/** Pattern for validating hostnames (RFC-compliant). */
|
|
46
49
|
exports.hostname = {
|
|
47
50
|
regex: regexes.hostname.matches(),
|
|
48
51
|
description: 'Must be a valid hostname',
|
|
49
52
|
};
|
|
53
|
+
/** Pattern for validating `.local` mDNS hostnames. */
|
|
50
54
|
exports.localHostname = {
|
|
51
55
|
regex: regexes.localHostname.matches(),
|
|
52
56
|
description: 'Must be a valid ".local" hostname',
|
|
53
57
|
};
|
|
58
|
+
/** Pattern for validating HTTP/HTTPS URLs. */
|
|
54
59
|
exports.url = {
|
|
55
60
|
regex: regexes.url.matches(),
|
|
56
61
|
description: 'Must be a valid URL',
|
|
57
62
|
};
|
|
63
|
+
/** Pattern for validating `.local` URLs (mDNS/LAN). */
|
|
58
64
|
exports.localUrl = {
|
|
59
65
|
regex: regexes.localUrl.matches(),
|
|
60
66
|
description: 'Must be a valid ".local" URL',
|
|
61
67
|
};
|
|
68
|
+
/** Pattern for validating ASCII-only strings (printable characters). */
|
|
62
69
|
exports.ascii = {
|
|
63
70
|
regex: regexes.ascii.matches(),
|
|
64
71
|
description: 'May only contain ASCII characters. See https://www.w3schools.com/charsets/ref_html_ascii.asp',
|
|
65
72
|
};
|
|
73
|
+
/** Pattern for validating fully qualified domain names (FQDNs). */
|
|
66
74
|
exports.domain = {
|
|
67
75
|
regex: regexes.domain.matches(),
|
|
68
76
|
description: 'Must be a valid Fully Qualified Domain Name',
|
|
69
77
|
};
|
|
78
|
+
/** Pattern for validating email addresses. */
|
|
70
79
|
exports.email = {
|
|
71
80
|
regex: regexes.email.matches(),
|
|
72
81
|
description: 'Must be a valid email address',
|
|
73
82
|
};
|
|
83
|
+
/** Pattern for validating email addresses, optionally with a display name (e.g. `"John Doe <john@example.com>"`). */
|
|
74
84
|
exports.emailWithName = {
|
|
75
85
|
regex: regexes.emailWithName.matches(),
|
|
76
86
|
description: 'Must be a valid email address, optionally with a name',
|
|
77
87
|
};
|
|
88
|
+
/** Pattern for validating base64-encoded strings. */
|
|
78
89
|
exports.base64 = {
|
|
79
90
|
regex: regexes.base64.matches(),
|
|
80
91
|
description: 'May only contain base64 characters. See https://base64.guru/learn/base64-characters',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../../../base/lib/util/patterns.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mDAAoC;
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../../../base/lib/util/patterns.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mDAAoC;AAEpC,6CAA6C;AAChC,QAAA,IAAI,GAAY;IAC3B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;IAC7B,WAAW,EAAE,8BAA8B;CAC5C,CAAA;AAED,6CAA6C;AAChC,QAAA,IAAI,GAAY;IAC3B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;IAC7B,WAAW,EAAE,8BAA8B;CAC5C,CAAA;AAED,wDAAwD;AAC3C,QAAA,QAAQ,GAAY;IAC/B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE;IACjC,WAAW,EAAE,0BAA0B;CACxC,CAAA;AAED,sDAAsD;AACzC,QAAA,aAAa,GAAY;IACpC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE;IACtC,WAAW,EAAE,mCAAmC;CACjD,CAAA;AAED,8CAA8C;AACjC,QAAA,GAAG,GAAY;IAC1B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;IAC5B,WAAW,EAAE,qBAAqB;CACnC,CAAA;AAED,uDAAuD;AAC1C,QAAA,QAAQ,GAAY;IAC/B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE;IACjC,WAAW,EAAE,8BAA8B;CAC5C,CAAA;AAED,wEAAwE;AAC3D,QAAA,KAAK,GAAY;IAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;IAC9B,WAAW,EACT,8FAA8F;CACjG,CAAA;AAED,mEAAmE;AACtD,QAAA,MAAM,GAAY;IAC7B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;IAC/B,WAAW,EAAE,6CAA6C;CAC3D,CAAA;AAED,8CAA8C;AACjC,QAAA,KAAK,GAAY;IAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;IAC9B,WAAW,EAAE,+BAA+B;CAC7C,CAAA;AAED,qHAAqH;AACxG,QAAA,aAAa,GAAY;IACpC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE;IACtC,WAAW,EAAE,uDAAuD;CACrE,CAAA;AAED,qDAAqD;AACxC,QAAA,MAAM,GAAY;IAC7B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;IAC/B,WAAW,EACT,qFAAqF;CACxF,CAAA"}
|
|
@@ -1,21 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A wrapper around RegExp that supports composition into larger patterns.
|
|
3
|
+
* Provides helpers to produce anchored (full-match), grouped (sub-expression),
|
|
4
|
+
* and unanchored (contains) regex source strings.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* const digit = new ComposableRegex(/\d+/)
|
|
9
|
+
* digit.matches() // "^\\d+$"
|
|
10
|
+
* digit.contains() // "\\d+"
|
|
11
|
+
* digit.asExpr() // "(\\d+)"
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
1
14
|
export declare class ComposableRegex {
|
|
2
15
|
readonly regex: RegExp;
|
|
3
16
|
constructor(regex: RegExp | string);
|
|
17
|
+
/** Returns the regex source wrapped in a capturing group, suitable for embedding in a larger expression. */
|
|
4
18
|
asExpr(): string;
|
|
19
|
+
/** Returns the regex source anchored with `^...$` for full-string matching. */
|
|
5
20
|
matches(): string;
|
|
21
|
+
/** Returns the raw regex source string for substring/containment matching. */
|
|
6
22
|
contains(): string;
|
|
7
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Escapes all regex special characters in a string so it can be used as a literal in a RegExp.
|
|
26
|
+
* @param str - The string to escape
|
|
27
|
+
* @returns The escaped string safe for regex interpolation
|
|
28
|
+
*/
|
|
8
29
|
export declare const escapeLiteral: (str: string) => string;
|
|
30
|
+
/** Composable regex for matching IPv6 addresses (all standard forms including `::` shorthand). */
|
|
9
31
|
export declare const ipv6: ComposableRegex;
|
|
32
|
+
/** Composable regex for matching IPv4 addresses in dotted-decimal notation. */
|
|
10
33
|
export declare const ipv4: ComposableRegex;
|
|
34
|
+
/** Composable regex for matching RFC-compliant hostnames. */
|
|
11
35
|
export declare const hostname: ComposableRegex;
|
|
36
|
+
/** Composable regex for matching `.local` mDNS hostnames. */
|
|
12
37
|
export declare const localHostname: ComposableRegex;
|
|
38
|
+
/** Composable regex for matching HTTP/HTTPS URLs. */
|
|
13
39
|
export declare const url: ComposableRegex;
|
|
40
|
+
/** Composable regex for matching `.local` URLs (mDNS/LAN). */
|
|
14
41
|
export declare const localUrl: ComposableRegex;
|
|
42
|
+
/** Composable regex for matching printable ASCII characters (space through tilde). */
|
|
15
43
|
export declare const ascii: ComposableRegex;
|
|
44
|
+
/** Composable regex for matching fully qualified domain names. */
|
|
16
45
|
export declare const domain: ComposableRegex;
|
|
46
|
+
/** Composable regex for matching email addresses. */
|
|
17
47
|
export declare const email: ComposableRegex;
|
|
48
|
+
/** Composable regex for matching email addresses optionally preceded by a display name (e.g. `"Name <email>"`). */
|
|
18
49
|
export declare const emailWithName: ComposableRegex;
|
|
50
|
+
/** Composable regex for matching base64-encoded strings (no whitespace). */
|
|
19
51
|
export declare const base64: ComposableRegex;
|
|
52
|
+
/** Composable regex for matching base64-encoded strings that may contain interspersed whitespace. */
|
|
20
53
|
export declare const base64Whitespace: ComposableRegex;
|
|
54
|
+
/**
|
|
55
|
+
* Creates a composable regex for matching PEM-encoded blocks with the given label.
|
|
56
|
+
* @param label - The PEM label (e.g. `"CERTIFICATE"`, `"RSA PRIVATE KEY"`)
|
|
57
|
+
* @returns A ComposableRegex matching `-----BEGIN <label>-----...-----END <label>-----`
|
|
58
|
+
*/
|
|
21
59
|
export declare const pem: (label: string) => ComposableRegex;
|
package/base/lib/util/regexes.js
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.pem = exports.base64Whitespace = exports.base64 = exports.emailWithName = exports.email = exports.domain = exports.ascii = exports.localUrl = exports.url = exports.localHostname = exports.hostname = exports.ipv4 = exports.ipv6 = exports.escapeLiteral = exports.ComposableRegex = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* A wrapper around RegExp that supports composition into larger patterns.
|
|
6
|
+
* Provides helpers to produce anchored (full-match), grouped (sub-expression),
|
|
7
|
+
* and unanchored (contains) regex source strings.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* const digit = new ComposableRegex(/\d+/)
|
|
12
|
+
* digit.matches() // "^\\d+$"
|
|
13
|
+
* digit.contains() // "\\d+"
|
|
14
|
+
* digit.asExpr() // "(\\d+)"
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
4
17
|
class ComposableRegex {
|
|
5
18
|
constructor(regex) {
|
|
6
19
|
if (regex instanceof RegExp) {
|
|
@@ -10,38 +23,63 @@ class ComposableRegex {
|
|
|
10
23
|
this.regex = new RegExp(regex);
|
|
11
24
|
}
|
|
12
25
|
}
|
|
26
|
+
/** Returns the regex source wrapped in a capturing group, suitable for embedding in a larger expression. */
|
|
13
27
|
asExpr() {
|
|
14
28
|
return `(${this.regex.source})`;
|
|
15
29
|
}
|
|
30
|
+
/** Returns the regex source anchored with `^...$` for full-string matching. */
|
|
16
31
|
matches() {
|
|
17
32
|
return `^${this.regex.source}$`;
|
|
18
33
|
}
|
|
34
|
+
/** Returns the raw regex source string for substring/containment matching. */
|
|
19
35
|
contains() {
|
|
20
36
|
return this.regex.source;
|
|
21
37
|
}
|
|
22
38
|
}
|
|
23
39
|
exports.ComposableRegex = ComposableRegex;
|
|
40
|
+
/**
|
|
41
|
+
* Escapes all regex special characters in a string so it can be used as a literal in a RegExp.
|
|
42
|
+
* @param str - The string to escape
|
|
43
|
+
* @returns The escaped string safe for regex interpolation
|
|
44
|
+
*/
|
|
24
45
|
const escapeLiteral = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
25
46
|
exports.escapeLiteral = escapeLiteral;
|
|
47
|
+
/** Composable regex for matching IPv6 addresses (all standard forms including `::` shorthand). */
|
|
26
48
|
// https://ihateregex.io/expr/ipv6/
|
|
27
49
|
exports.ipv6 = new ComposableRegex(/(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))/);
|
|
50
|
+
/** Composable regex for matching IPv4 addresses in dotted-decimal notation. */
|
|
28
51
|
// https://ihateregex.io/expr/ipv4/
|
|
29
52
|
exports.ipv4 = new ComposableRegex(/(\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}/);
|
|
53
|
+
/** Composable regex for matching RFC-compliant hostnames. */
|
|
30
54
|
exports.hostname = new ComposableRegex(/(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])/);
|
|
55
|
+
/** Composable regex for matching `.local` mDNS hostnames. */
|
|
31
56
|
exports.localHostname = new ComposableRegex(/[-a-zA-Z0-9@:%._\+~#=]{1,256}\.local/);
|
|
57
|
+
/** Composable regex for matching HTTP/HTTPS URLs. */
|
|
32
58
|
// https://ihateregex.io/expr/url/
|
|
33
59
|
exports.url = new ComposableRegex(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/);
|
|
60
|
+
/** Composable regex for matching `.local` URLs (mDNS/LAN). */
|
|
34
61
|
exports.localUrl = new ComposableRegex(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.local\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/);
|
|
62
|
+
/** Composable regex for matching printable ASCII characters (space through tilde). */
|
|
35
63
|
// https://ihateregex.io/expr/ascii/
|
|
36
64
|
exports.ascii = new ComposableRegex(/[ -~]*/);
|
|
65
|
+
/** Composable regex for matching fully qualified domain names. */
|
|
37
66
|
exports.domain = new ComposableRegex(/[A-Za-z0-9.-]+\.[A-Za-z]{2,}/);
|
|
67
|
+
/** Composable regex for matching email addresses. */
|
|
38
68
|
// https://www.regular-expressions.info/email.html
|
|
39
69
|
exports.email = new ComposableRegex(`[A-Za-z0-9._%+-]+@${exports.domain.asExpr()}`);
|
|
70
|
+
/** Composable regex for matching email addresses optionally preceded by a display name (e.g. `"Name <email>"`). */
|
|
40
71
|
exports.emailWithName = new ComposableRegex(`${exports.email.asExpr()}|([^<]*<${exports.email.asExpr()}>)`);
|
|
72
|
+
/** Composable regex for matching base64-encoded strings (no whitespace). */
|
|
41
73
|
//https://rgxdb.com/r/1NUN74O6
|
|
42
74
|
exports.base64 = new ComposableRegex(/(?:[a-zA-Z0-9+\/]{4})*(?:|(?:[a-zA-Z0-9+\/]{3}=)|(?:[a-zA-Z0-9+\/]{2}==)|(?:[a-zA-Z0-9+\/]{1}===))/);
|
|
75
|
+
/** Composable regex for matching base64-encoded strings that may contain interspersed whitespace. */
|
|
43
76
|
//https://rgxdb.com/r/1NUN74O6
|
|
44
77
|
exports.base64Whitespace = new ComposableRegex(/(?:([a-zA-Z0-9+\/]\s*){4})*(?:|(?:([a-zA-Z0-9+\/]\s*){3}=)|(?:([a-zA-Z0-9+\/]\s*){2}==)|(?:([a-zA-Z0-9+\/]\s*){1}===))/);
|
|
78
|
+
/**
|
|
79
|
+
* Creates a composable regex for matching PEM-encoded blocks with the given label.
|
|
80
|
+
* @param label - The PEM label (e.g. `"CERTIFICATE"`, `"RSA PRIVATE KEY"`)
|
|
81
|
+
* @returns A ComposableRegex matching `-----BEGIN <label>-----...-----END <label>-----`
|
|
82
|
+
*/
|
|
45
83
|
const pem = (label) => new ComposableRegex(`-----BEGIN ${(0, exports.escapeLiteral)(label)}-----\r?\n[a-zA-Z0-9+/\n\r=]*?\r?\n-----END ${(0, exports.escapeLiteral)(label)}-----`);
|
|
46
84
|
exports.pem = pem;
|
|
47
85
|
//# sourceMappingURL=regexes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regexes.js","sourceRoot":"","sources":["../../../../base/lib/util/regexes.ts"],"names":[],"mappings":";;;AAAA,MAAa,eAAe;IAE1B,YAAY,KAAsB;QAChC,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IACD,MAAM;QACJ,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAA;IACjC,CAAC;IACD,OAAO;QACL,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAA;IACjC,CAAC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"regexes.js","sourceRoot":"","sources":["../../../../base/lib/util/regexes.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;GAYG;AACH,MAAa,eAAe;IAE1B,YAAY,KAAsB;QAChC,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IACD,4GAA4G;IAC5G,MAAM;QACJ,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAA;IACjC,CAAC;IACD,+EAA+E;IAC/E,OAAO;QACL,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAA;IACjC,CAAC;IACD,8EAA8E;IAC9E,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;CACF;AArBD,0CAqBC;AAED;;;;GAIG;AACI,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE,CAC3C,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;AAD/B,QAAA,aAAa,iBACkB;AAE5C,kGAAkG;AAClG,mCAAmC;AACtB,QAAA,IAAI,GAAG,IAAI,eAAe,CACrC,qpBAAqpB,CACtpB,CAAA;AAED,+EAA+E;AAC/E,mCAAmC;AACtB,QAAA,IAAI,GAAG,IAAI,eAAe,CACrC,2FAA2F,CAC5F,CAAA;AAED,6DAA6D;AAChD,QAAA,QAAQ,GAAG,IAAI,eAAe,CACzC,2GAA2G,CAC5G,CAAA;AAED,6DAA6D;AAChD,QAAA,aAAa,GAAG,IAAI,eAAe,CAC9C,sCAAsC,CACvC,CAAA;AAED,qDAAqD;AACrD,kCAAkC;AACrB,QAAA,GAAG,GAAG,IAAI,eAAe,CACpC,0GAA0G,CAC3G,CAAA;AAED,8DAA8D;AACjD,QAAA,QAAQ,GAAG,IAAI,eAAe,CACzC,6FAA6F,CAC9F,CAAA;AAED,sFAAsF;AACtF,oCAAoC;AACvB,QAAA,KAAK,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAA;AAElD,kEAAkE;AACrD,QAAA,MAAM,GAAG,IAAI,eAAe,CAAC,8BAA8B,CAAC,CAAA;AAEzE,qDAAqD;AACrD,kDAAkD;AACrC,QAAA,KAAK,GAAG,IAAI,eAAe,CAAC,qBAAqB,cAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAEhF,mHAAmH;AACtG,QAAA,aAAa,GAAG,IAAI,eAAe,CAC9C,GAAG,aAAK,CAAC,MAAM,EAAE,WAAW,aAAK,CAAC,MAAM,EAAE,IAAI,CAC/C,CAAA;AAED,4EAA4E;AAC5E,8BAA8B;AACjB,QAAA,MAAM,GAAG,IAAI,eAAe,CACvC,oGAAoG,CACrG,CAAA;AAED,qGAAqG;AACrG,8BAA8B;AACjB,QAAA,gBAAgB,GAAG,IAAI,eAAe,CACjD,wHAAwH,CACzH,CAAA;AAED;;;;GAIG;AACI,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,EAAE,CACnC,IAAI,eAAe,CACjB,cAAc,IAAA,qBAAa,EAAC,KAAK,CAAC,+CAA+C,IAAA,qBAAa,EAAC,KAAK,CAAC,OAAO,CAC7G,CAAA;AAHU,QAAA,GAAG,OAGb"}
|
|
@@ -1 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalizes a command into an argv-style string array.
|
|
3
|
+
* If given a string, wraps it as `["sh", "-c", command]`.
|
|
4
|
+
* If given a tuple, returns it as-is.
|
|
5
|
+
*
|
|
6
|
+
* @param command - A shell command string or a pre-split argv tuple
|
|
7
|
+
* @returns An argv-style string array suitable for process execution
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* splitCommand("echo hello") // ["sh", "-c", "echo hello"]
|
|
12
|
+
* splitCommand(["node", "index.js"]) // ["node", "index.js"]
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
1
15
|
export declare const splitCommand: (command: string | [string, ...string[]]) => string[];
|
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.splitCommand = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Normalizes a command into an argv-style string array.
|
|
6
|
+
* If given a string, wraps it as `["sh", "-c", command]`.
|
|
7
|
+
* If given a tuple, returns it as-is.
|
|
8
|
+
*
|
|
9
|
+
* @param command - A shell command string or a pre-split argv tuple
|
|
10
|
+
* @returns An argv-style string array suitable for process execution
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* splitCommand("echo hello") // ["sh", "-c", "echo hello"]
|
|
15
|
+
* splitCommand(["node", "index.js"]) // ["node", "index.js"]
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
4
18
|
const splitCommand = (command) => {
|
|
5
19
|
if (Array.isArray(command))
|
|
6
20
|
return command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitCommand.js","sourceRoot":"","sources":["../../../../base/lib/util/splitCommand.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"splitCommand.js","sourceRoot":"","sources":["../../../../base/lib/util/splitCommand.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACI,MAAM,YAAY,GAAG,CAC1B,OAAuC,EAC7B,EAAE;IACZ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAA;IAC1C,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAC9B,CAAC,CAAA;AALY,QAAA,YAAY,gBAKxB"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extracts a string result from a stdout/stderr pair.
|
|
3
|
+
* Returns `stdout` on success; rejects with `stderr` if it is non-empty.
|
|
4
|
+
*
|
|
5
|
+
* @param x - An object containing `stdout` and `stderr` strings
|
|
6
|
+
* @returns A promise resolving to `stdout`, or rejecting with `stderr`
|
|
7
|
+
*/
|
|
1
8
|
export declare function stringFromStdErrOut(x: {
|
|
2
9
|
stdout: string;
|
|
3
10
|
stderr: string;
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.stringFromStdErrOut = stringFromStdErrOut;
|
|
4
|
+
/**
|
|
5
|
+
* Extracts a string result from a stdout/stderr pair.
|
|
6
|
+
* Returns `stdout` on success; rejects with `stderr` if it is non-empty.
|
|
7
|
+
*
|
|
8
|
+
* @param x - An object containing `stdout` and `stderr` strings
|
|
9
|
+
* @returns A promise resolving to `stdout`, or rejecting with `stderr`
|
|
10
|
+
*/
|
|
4
11
|
async function stringFromStdErrOut(x) {
|
|
5
12
|
return x?.stderr ? Promise.reject(x.stderr) : x.stdout;
|
|
6
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringFromStdErrOut.js","sourceRoot":"","sources":["../../../../base/lib/util/stringFromStdErrOut.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"stringFromStdErrOut.js","sourceRoot":"","sources":["../../../../base/lib/util/stringFromStdErrOut.ts"],"names":[],"mappings":";;AAOA,kDAKC;AAZD;;;;;;GAMG;AACI,KAAK,UAAU,mBAAmB,CAAC,CAGzC;IACC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;AACxD,CAAC"}
|