@dbx-tools/shared-core 0.6.50 → 0.6.51
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/README.md +3 -1
- package/lib/src/env.d.ts +12 -0
- package/lib/src/env.js +15 -1
- package/package.json +1 -1
- package/src/env.ts +15 -0
package/README.md
CHANGED
|
@@ -340,7 +340,9 @@ without paying formatting cost when disabled.
|
|
|
340
340
|
- `object` - record checks, boolean coercion, present-only field spreading, deep
|
|
341
341
|
equality, shape types, and lazy sequence transforms + collection helpers.
|
|
342
342
|
- `env` - config-over-environment resolution: strings, booleans, positive
|
|
343
|
-
numbers/integers, and lists, with env-name fallback chains.
|
|
343
|
+
numbers/integers, and lists, with env-name fallback chains. `name()` gives the
|
|
344
|
+
primary variable name for a log line or error - an `EnvKey` may be a bare
|
|
345
|
+
string, so indexing `keys[0]` yields a character, not a name.
|
|
344
346
|
- `predicate` - composable boolean/type predicates.
|
|
345
347
|
- `pattern` - literal / glob / `/regex/` allow-list matching compiled to a
|
|
346
348
|
predicate.
|
package/lib/src/env.d.ts
CHANGED
|
@@ -16,6 +16,18 @@
|
|
|
16
16
|
*/
|
|
17
17
|
/** One env var name, or several tried in order. */
|
|
18
18
|
export type EnvKey = string | readonly string[];
|
|
19
|
+
/**
|
|
20
|
+
* The PRIMARY (current, non-deprecated) name in an {@link EnvKey}.
|
|
21
|
+
*
|
|
22
|
+
* Use this when naming a variable in a log line or error rather than indexing
|
|
23
|
+
* `keys[0]`: an {@link EnvKey} may be a bare string, and `"TUNNEL_X"[0]` is the
|
|
24
|
+
* character `"T"`, which produces a message naming a variable that does not
|
|
25
|
+
* exist. Returns `""` only for an empty list, which no caller should have.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* logger.warn(`${env.name(JWT_SECRET_ENV)} is not set`);
|
|
29
|
+
*/
|
|
30
|
+
export declare function name(keys: EnvKey): string;
|
|
19
31
|
/**
|
|
20
32
|
* First non-empty value among `keys`, trimmed, else `null`.
|
|
21
33
|
*
|
package/lib/src/env.js
CHANGED
|
@@ -20,6 +20,20 @@ import { parseList, trimToNull } from "./string.js";
|
|
|
20
20
|
function environment() {
|
|
21
21
|
return globalThis.process?.env ?? {};
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* The PRIMARY (current, non-deprecated) name in an {@link EnvKey}.
|
|
25
|
+
*
|
|
26
|
+
* Use this when naming a variable in a log line or error rather than indexing
|
|
27
|
+
* `keys[0]`: an {@link EnvKey} may be a bare string, and `"TUNNEL_X"[0]` is the
|
|
28
|
+
* character `"T"`, which produces a message naming a variable that does not
|
|
29
|
+
* exist. Returns `""` only for an empty list, which no caller should have.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* logger.warn(`${env.name(JWT_SECRET_ENV)} is not set`);
|
|
33
|
+
*/
|
|
34
|
+
export function name(keys) {
|
|
35
|
+
return typeof keys === "string" ? keys : (keys[0] ?? "");
|
|
36
|
+
}
|
|
23
37
|
/**
|
|
24
38
|
* First non-empty value among `keys`, trimmed, else `null`.
|
|
25
39
|
*
|
|
@@ -111,4 +125,4 @@ export function list(configured, keys, transform) {
|
|
|
111
125
|
const fromConfig = parseList(configured, transform);
|
|
112
126
|
return fromConfig.length > 0 ? fromConfig : parseList(text(keys), transform);
|
|
113
127
|
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBVXBELGdFQUFnRTtBQUNoRSxTQUFTLFdBQVc7SUFDbEIsT0FBUSxVQUF3QyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO0FBQ3RFLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxJQUFJLENBQUMsSUFBWTtJQUMvQixNQUFNLEdBQUcsR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUMxQixLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0QsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25DLElBQUksS0FBSyxLQUFLLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FBQyxVQUFtQixFQUFFLElBQVk7SUFDdEQsT0FBTyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxPQUFPLENBQUMsVUFBbUIsRUFBRSxJQUFZO0lBQ3ZELE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsVUFBbUIsRUFBRSxJQUFZLEVBQUUsUUFBZ0I7SUFDaEYsT0FBTyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUM7QUFDbEYsQ0FBQztBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxVQUFtQixFQUFFLElBQVksRUFBRSxRQUFnQjtJQUM3RSxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDO0FBQzVFLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEtBQWM7SUFDdEMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUU7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUM1RSxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3BFLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxLQUFjO0lBQ25DLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLElBQUksQ0FDbEIsVUFBeUQsRUFDekQsSUFBWSxFQUNaLFNBQXFDO0lBRXJDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDcEQsT0FBTyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQy9FLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlYWRpbmcgY29uZmlndXJhdGlvbiBvdXQgb2YgdGhlIGVudmlyb25tZW50LlxuICpcbiAqIEV2ZXJ5IHBsdWdpbiBjb25maWcgaW4gdGhpcyByZXBvIHJlc29sdmVzIHRoZSBzYW1lIHdheTogdGFrZSB0aGUgdHlwZWRcbiAqIGNvbmZpZyB2YWx1ZSB3aGVuIHRoZSBjYWxsZXIgc2V0IG9uZSwgZWxzZSBmYWxsIGJhY2sgdG8gb25lIG9yIG1vcmVcbiAqIGVudmlyb25tZW50IHZhcmlhYmxlcywgZWxzZSBhIGRlZmF1bHQuIFdyaXR0ZW4gYnkgaGFuZCB0aGF0IGJlY29tZXMgYVxuICogYGNvbmZpZy54ID8/IE51bWJlcihwcm9jZXNzLmVudi5YKWAgY2hhaW4gcGVyIGZpZWxkLCBhbmQgZWFjaCBwYWNrYWdlIGdyZXdcbiAqIGl0cyBvd24gYGZyb21FbnZgIC8gYHJlc29sdmVQb3NpdGl2ZUludGAgaGVscGVyIHdpdGggc2xpZ2h0bHkgZGlmZmVyZW50XG4gKiBjb2VyY2lvbiBydWxlcy4gVGhlc2UgYXJlIHRob3NlIGhlbHBlcnMsIG9uY2UuXG4gKlxuICogQnJvd3Nlci1zYWZlOiBgcHJvY2Vzc2AgaXMgcmVhY2hlZCB0aHJvdWdoIGBnbG9iYWxUaGlzYCBhbmQgZ3VhcmRlZCwgc28gdGhpc1xuICogbW9kdWxlIG5lZWRzIG5vIE5vZGUgdHlwZXMgYW5kIGlzIGluZXJ0IGluIGEgYnJvd3NlciAoZXZlcnkgbG9va3VwIG1pc3NlcyBhbmRcbiAqIHRoZSBjYWxsZXIncyBmYWxsYmFjayBhcHBsaWVzKS5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgdG9Cb29sZWFuIH0gZnJvbSBcIi4vb2JqZWN0LnRzXCI7XG5pbXBvcnQgeyBwYXJzZUxpc3QsIHRyaW1Ub051bGwgfSBmcm9tIFwiLi9zdHJpbmcudHNcIjtcblxuLyoqIGBwcm9jZXNzYC1zaGFwZWQgdmlldyBvZmYgYGdsb2JhbFRoaXNgLCBzbyBubyBub2RlIHR5cGVzIGFyZSBuZWVkZWQuICovXG5pbnRlcmZhY2UgUHJvY2Vzc0xpa2Uge1xuICBlbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+O1xufVxuXG4vKiogT25lIGVudiB2YXIgbmFtZSwgb3Igc2V2ZXJhbCB0cmllZCBpbiBvcmRlci4gKi9cbmV4cG9ydCB0eXBlIEVudktleSA9IHN0cmluZyB8IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4vKiogVGhlIGFtYmllbnQgZW52aXJvbm1lbnQsIG9yIGB7fWAgb2ZmLXByb2Nlc3MgKGEgYnJvd3NlcikuICovXG5mdW5jdGlvbiBlbnZpcm9ubWVudCgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgcmV0dXJuIChnbG9iYWxUaGlzIGFzIHsgcHJvY2Vzcz86IFByb2Nlc3NMaWtlIH0pLnByb2Nlc3M/LmVudiA/PyB7fTtcbn1cblxuLyoqXG4gKiBGaXJzdCBub24tZW1wdHkgdmFsdWUgYW1vbmcgYGtleXNgLCB0cmltbWVkLCBlbHNlIGBudWxsYC5cbiAqXG4gKiBTZXZlcmFsIG5hbWVzIGZvciBvbmUgc2V0dGluZyBpcyB0aGUgbm9ybSAoYSBwYWNrYWdlLXNwZWNpZmljIHZhcmlhYmxlIHBsdXNcbiAqIHRoZSBEYXRhYnJpY2tzLXN0YW5kYXJkIG9uZSksIHNvIGBrZXlzYCBpcyBvcmRlci1zZW5zaXRpdmU6IGVhcmxpZXIgbmFtZXMgd2luLlxuICpcbiAqIEBleGFtcGxlXG4gKiBlbnYudGV4dChbXCJURUFNU19BUFBfSURcIiwgXCJNSUNST1NPRlRfQVBQX0lEXCJdKTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRleHQoa2V5czogRW52S2V5KTogc3RyaW5nIHwgbnVsbCB7XG4gIGNvbnN0IGVudiA9IGVudmlyb25tZW50KCk7XG4gIGZvciAoY29uc3Qga2V5IG9mIHR5cGVvZiBrZXlzID09PSBcInN0cmluZ1wiID8gW2tleXNdIDoga2V5cykge1xuICAgIGNvbnN0IHZhbHVlID0gdHJpbVRvTnVsbChlbnZba2V5XSk7XG4gICAgaWYgKHZhbHVlICE9PSBudWxsKSByZXR1cm4gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogUmVzb2x2ZSBhIHN0cmluZyBzZXR0aW5nOiBgY29uZmlndXJlZGAgd2hlbiBzZXQgYW5kIG5vbi1lbXB0eSwgZWxzZSB0aGUgZmlyc3RcbiAqIG5vbi1lbXB0eSB2YXJpYWJsZSBhbW9uZyBga2V5c2AsIGVsc2UgYG51bGxgLlxuICpcbiAqIEBleGFtcGxlXG4gKiBlbnYuc3RyaW5nKGNvbmZpZy5ob3N0LCBcIlNNVFBfSE9TVFwiKTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZyhjb25maWd1cmVkOiB1bmtub3duLCBrZXlzOiBFbnZLZXkpOiBzdHJpbmcgfCBudWxsIHtcbiAgcmV0dXJuIHRyaW1Ub051bGwoY29uZmlndXJlZCkgPz8gdGV4dChrZXlzKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIGEgYm9vbGVhbiBzZXR0aW5nIHRocm91Z2gge0BsaW5rIHRvQm9vbGVhbn0sIHNvIHRoZSBsb29zZSBzcGVsbGluZ3MgYW5cbiAqIGVudiB2YXIgYWN0dWFsbHkgY2FycmllcyAoYDFgLCBgb25gLCBgeWVzYCwgLi4uKSBhcmUgYWNjZXB0ZWQuIFJldHVybnNcbiAqIGB1bmRlZmluZWRgIHdoZW4gbmVpdGhlciBzb3VyY2UgaXMgaW50ZXJwcmV0YWJsZSwgbGV0dGluZyB0aGUgY2FsbGVyIHBpY2sgYVxuICogZGVmYXVsdCB3aXRoIGA/P2AuXG4gKlxuICogQGV4YW1wbGVcbiAqIGVudi5ib29sZWFuKGNvbmZpZy5mdXp6eSwgXCJXRUJfU0VBUkNIX0ZVWlpZXCIpID8/IHRydWU7XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBib29sZWFuKGNvbmZpZ3VyZWQ6IHVua25vd24sIGtleXM6IEVudktleSk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICByZXR1cm4gdG9Cb29sZWFuKGNvbmZpZ3VyZWQpID8/IHRvQm9vbGVhbih0ZXh0KGtleXMpKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIGEgcG9zaXRpdmUtbnVtYmVyIHNldHRpbmcgdGhhdCBtYXkgYmUgZnJhY3Rpb25hbCAoYSBzY29yZSB0aHJlc2hvbGQsXG4gKiBhIHJhdGlvKTogYGNvbmZpZ3VyZWRgIHdoZW4gaXQgaXMgYSBmaW5pdGUgbnVtYmVyIGdyZWF0ZXIgdGhhbiB6ZXJvLCBlbHNlIHRoZVxuICogZmlyc3QgdmFyaWFibGUgYW1vbmcgYGtleXNgIHRoYXQgcGFyc2VzIHRoYXQgd2F5LCBlbHNlIGBmYWxsYmFja2AuXG4gKlxuICoge0BsaW5rIHBvc2l0aXZlSW50fSBpcyB0aGUgcmlnaHQgY2hvaWNlIGZvciBhIGNvdW50OyB0aGlzIG9uZSBrZWVwcyB0aGVcbiAqIGZyYWN0aW9uLCBzbyBhIGAwLjRgIHRocmVzaG9sZCBkb2VzIG5vdCBmbG9vciB0byBgMGAuXG4gKlxuICogQGV4YW1wbGVcbiAqIGVudi5wb3NpdGl2ZU51bWJlcihjb25maWcuZnV6enlUaHJlc2hvbGQsIFwiU0VBUkNIX0ZVWlpZX1RIUkVTSE9MRFwiLCAwLjQpO1xuICovXG5leHBvcnQgZnVuY3Rpb24gcG9zaXRpdmVOdW1iZXIoY29uZmlndXJlZDogdW5rbm93biwga2V5czogRW52S2V5LCBmYWxsYmFjazogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIHRvUG9zaXRpdmVOdW1iZXIoY29uZmlndXJlZCkgPz8gdG9Qb3NpdGl2ZU51bWJlcih0ZXh0KGtleXMpKSA/PyBmYWxsYmFjaztcbn1cblxuLyoqXG4gKiBSZXNvbHZlIGEgcG9zaXRpdmUtaW50ZWdlciBzZXR0aW5nIChhIHBvcnQsIHRpbWVvdXQsIHBhZ2Ugc2l6ZSwgb3IgY2FwKTpcbiAqIGBjb25maWd1cmVkYCB3aGVuIGl0IGlzIGEgZmluaXRlIG51bWJlciBncmVhdGVyIHRoYW4gemVybywgZWxzZSB0aGUgZmlyc3RcbiAqIHZhcmlhYmxlIGFtb25nIGBrZXlzYCB0aGF0IHBhcnNlcyB0aGF0IHdheSwgZWxzZSBgZmFsbGJhY2tgLiBGbG9vcmVkLCBzbyBhXG4gKiBmcmFjdGlvbmFsIHZhbHVlIGNhbid0IGxlYWsgaW50byBhIGNvdW50LlxuICpcbiAqIEEgbm9uLW51bWVyaWMgb3Igbm9uLXBvc2l0aXZlIHZhbHVlIGlzIHRyZWF0ZWQgYXMgYWJzZW50IHJhdGhlciB0aGFuIGZhdGFsIC1cbiAqIHRoZXNlIGFyZSBjZWlsaW5ncyBhbmQgdGltZW91dHMgd2hlcmUgYSBzYW5lIGRlZmF1bHQgYmVhdHMgYSBib290IGZhaWx1cmUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGVudi5wb3NpdGl2ZUludChjb25maWcudGltZW91dE1zLCBcIlNFQVJDSF9USU1FT1VUX01TXCIsIDMwXzAwMCk7XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3NpdGl2ZUludChjb25maWd1cmVkOiB1bmtub3duLCBrZXlzOiBFbnZLZXksIGZhbGxiYWNrOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gdG9Qb3NpdGl2ZUludChjb25maWd1cmVkKSA/PyB0b1Bvc2l0aXZlSW50KHRleHQoa2V5cykpID8/IGZhbGxiYWNrO1xufVxuXG5mdW5jdGlvbiB0b1Bvc2l0aXZlTnVtYmVyKHZhbHVlOiB1bmtub3duKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IFwiXCIpIHJldHVybiB1bmRlZmluZWQ7XG4gIGNvbnN0IHBhcnNlZCA9IE51bWJlcih2YWx1ZSk7XG4gIHJldHVybiBOdW1iZXIuaXNGaW5pdGUocGFyc2VkKSAmJiBwYXJzZWQgPiAwID8gcGFyc2VkIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiB0b1Bvc2l0aXZlSW50KHZhbHVlOiB1bmtub3duKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgcGFyc2VkID0gdG9Qb3NpdGl2ZU51bWJlcih2YWx1ZSk7XG4gIHJldHVybiBwYXJzZWQgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IE1hdGguZmxvb3IocGFyc2VkKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIGEgbGlzdCBzZXR0aW5nIHRocm91Z2gge0BsaW5rIHBhcnNlTGlzdH0sIHNvIGFuIGFycmF5IGZyb20gdHlwZWRcbiAqIGNvbmZpZyBhbmQgYSBgXCJhLCBiIGNcImAgZW52IHN0cmluZyBub3JtYWxpemUgaWRlbnRpY2FsbHkuIFJldHVybnMgYFtdYCB3aGVuXG4gKiBuZWl0aGVyIHNvdXJjZSBoYXMgZW50cmllcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogZW52Lmxpc3QoY29uZmlnLm1vZGVsRmFsbGJhY2tzLCBcIldFQl9TRUFSQ0hfTU9ERUxfRkFMTEJBQ0tTXCIpO1xuICovXG5leHBvcnQgZnVuY3Rpb24gbGlzdChcbiAgY29uZmlndXJlZDogc3RyaW5nIHwgcmVhZG9ubHkgc3RyaW5nW10gfCB1bmRlZmluZWQgfCBudWxsLFxuICBrZXlzOiBFbnZLZXksXG4gIHRyYW5zZm9ybT86IChlbnRyeTogc3RyaW5nKSA9PiBzdHJpbmcsXG4pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGZyb21Db25maWcgPSBwYXJzZUxpc3QoY29uZmlndXJlZCwgdHJhbnNmb3JtKTtcbiAgcmV0dXJuIGZyb21Db25maWcubGVuZ3RoID4gMCA/IGZyb21Db25maWcgOiBwYXJzZUxpc3QodGV4dChrZXlzKSwgdHJhbnNmb3JtKTtcbn1cbiJdfQ==
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBVXBELGdFQUFnRTtBQUNoRSxTQUFTLFdBQVc7SUFDbEIsT0FBUSxVQUF3QyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO0FBQ3RFLENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxVQUFVLElBQUksQ0FBQyxJQUFZO0lBQy9CLE9BQU8sT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxJQUFJLENBQUMsSUFBWTtJQUMvQixNQUFNLEdBQUcsR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUMxQixLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0QsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25DLElBQUksS0FBSyxLQUFLLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FBQyxVQUFtQixFQUFFLElBQVk7SUFDdEQsT0FBTyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxPQUFPLENBQUMsVUFBbUIsRUFBRSxJQUFZO0lBQ3ZELE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsVUFBbUIsRUFBRSxJQUFZLEVBQUUsUUFBZ0I7SUFDaEYsT0FBTyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUM7QUFDbEYsQ0FBQztBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxVQUFtQixFQUFFLElBQVksRUFBRSxRQUFnQjtJQUM3RSxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDO0FBQzVFLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEtBQWM7SUFDdEMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUU7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUM1RSxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3BFLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxLQUFjO0lBQ25DLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLElBQUksQ0FDbEIsVUFBeUQsRUFDekQsSUFBWSxFQUNaLFNBQXFDO0lBRXJDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDcEQsT0FBTyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQy9FLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlYWRpbmcgY29uZmlndXJhdGlvbiBvdXQgb2YgdGhlIGVudmlyb25tZW50LlxuICpcbiAqIEV2ZXJ5IHBsdWdpbiBjb25maWcgaW4gdGhpcyByZXBvIHJlc29sdmVzIHRoZSBzYW1lIHdheTogdGFrZSB0aGUgdHlwZWRcbiAqIGNvbmZpZyB2YWx1ZSB3aGVuIHRoZSBjYWxsZXIgc2V0IG9uZSwgZWxzZSBmYWxsIGJhY2sgdG8gb25lIG9yIG1vcmVcbiAqIGVudmlyb25tZW50IHZhcmlhYmxlcywgZWxzZSBhIGRlZmF1bHQuIFdyaXR0ZW4gYnkgaGFuZCB0aGF0IGJlY29tZXMgYVxuICogYGNvbmZpZy54ID8/IE51bWJlcihwcm9jZXNzLmVudi5YKWAgY2hhaW4gcGVyIGZpZWxkLCBhbmQgZWFjaCBwYWNrYWdlIGdyZXdcbiAqIGl0cyBvd24gYGZyb21FbnZgIC8gYHJlc29sdmVQb3NpdGl2ZUludGAgaGVscGVyIHdpdGggc2xpZ2h0bHkgZGlmZmVyZW50XG4gKiBjb2VyY2lvbiBydWxlcy4gVGhlc2UgYXJlIHRob3NlIGhlbHBlcnMsIG9uY2UuXG4gKlxuICogQnJvd3Nlci1zYWZlOiBgcHJvY2Vzc2AgaXMgcmVhY2hlZCB0aHJvdWdoIGBnbG9iYWxUaGlzYCBhbmQgZ3VhcmRlZCwgc28gdGhpc1xuICogbW9kdWxlIG5lZWRzIG5vIE5vZGUgdHlwZXMgYW5kIGlzIGluZXJ0IGluIGEgYnJvd3NlciAoZXZlcnkgbG9va3VwIG1pc3NlcyBhbmRcbiAqIHRoZSBjYWxsZXIncyBmYWxsYmFjayBhcHBsaWVzKS5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgdG9Cb29sZWFuIH0gZnJvbSBcIi4vb2JqZWN0LnRzXCI7XG5pbXBvcnQgeyBwYXJzZUxpc3QsIHRyaW1Ub051bGwgfSBmcm9tIFwiLi9zdHJpbmcudHNcIjtcblxuLyoqIGBwcm9jZXNzYC1zaGFwZWQgdmlldyBvZmYgYGdsb2JhbFRoaXNgLCBzbyBubyBub2RlIHR5cGVzIGFyZSBuZWVkZWQuICovXG5pbnRlcmZhY2UgUHJvY2Vzc0xpa2Uge1xuICBlbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+O1xufVxuXG4vKiogT25lIGVudiB2YXIgbmFtZSwgb3Igc2V2ZXJhbCB0cmllZCBpbiBvcmRlci4gKi9cbmV4cG9ydCB0eXBlIEVudktleSA9IHN0cmluZyB8IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4vKiogVGhlIGFtYmllbnQgZW52aXJvbm1lbnQsIG9yIGB7fWAgb2ZmLXByb2Nlc3MgKGEgYnJvd3NlcikuICovXG5mdW5jdGlvbiBlbnZpcm9ubWVudCgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgcmV0dXJuIChnbG9iYWxUaGlzIGFzIHsgcHJvY2Vzcz86IFByb2Nlc3NMaWtlIH0pLnByb2Nlc3M/LmVudiA/PyB7fTtcbn1cblxuLyoqXG4gKiBUaGUgUFJJTUFSWSAoY3VycmVudCwgbm9uLWRlcHJlY2F0ZWQpIG5hbWUgaW4gYW4ge0BsaW5rIEVudktleX0uXG4gKlxuICogVXNlIHRoaXMgd2hlbiBuYW1pbmcgYSB2YXJpYWJsZSBpbiBhIGxvZyBsaW5lIG9yIGVycm9yIHJhdGhlciB0aGFuIGluZGV4aW5nXG4gKiBga2V5c1swXWA6IGFuIHtAbGluayBFbnZLZXl9IG1heSBiZSBhIGJhcmUgc3RyaW5nLCBhbmQgYFwiVFVOTkVMX1hcIlswXWAgaXMgdGhlXG4gKiBjaGFyYWN0ZXIgYFwiVFwiYCwgd2hpY2ggcHJvZHVjZXMgYSBtZXNzYWdlIG5hbWluZyBhIHZhcmlhYmxlIHRoYXQgZG9lcyBub3RcbiAqIGV4aXN0LiBSZXR1cm5zIGBcIlwiYCBvbmx5IGZvciBhbiBlbXB0eSBsaXN0LCB3aGljaCBubyBjYWxsZXIgc2hvdWxkIGhhdmUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGxvZ2dlci53YXJuKGAke2Vudi5uYW1lKEpXVF9TRUNSRVRfRU5WKX0gaXMgbm90IHNldGApO1xuICovXG5leHBvcnQgZnVuY3Rpb24gbmFtZShrZXlzOiBFbnZLZXkpOiBzdHJpbmcge1xuICByZXR1cm4gdHlwZW9mIGtleXMgPT09IFwic3RyaW5nXCIgPyBrZXlzIDogKGtleXNbMF0gPz8gXCJcIik7XG59XG5cbi8qKlxuICogRmlyc3Qgbm9uLWVtcHR5IHZhbHVlIGFtb25nIGBrZXlzYCwgdHJpbW1lZCwgZWxzZSBgbnVsbGAuXG4gKlxuICogU2V2ZXJhbCBuYW1lcyBmb3Igb25lIHNldHRpbmcgaXMgdGhlIG5vcm0gKGEgcGFja2FnZS1zcGVjaWZpYyB2YXJpYWJsZSBwbHVzXG4gKiB0aGUgRGF0YWJyaWNrcy1zdGFuZGFyZCBvbmUpLCBzbyBga2V5c2AgaXMgb3JkZXItc2Vuc2l0aXZlOiBlYXJsaWVyIG5hbWVzIHdpbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogZW52LnRleHQoW1wiVEVBTVNfQVBQX0lEXCIsIFwiTUlDUk9TT0ZUX0FQUF9JRFwiXSk7XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZXh0KGtleXM6IEVudktleSk6IHN0cmluZyB8IG51bGwge1xuICBjb25zdCBlbnYgPSBlbnZpcm9ubWVudCgpO1xuICBmb3IgKGNvbnN0IGtleSBvZiB0eXBlb2Yga2V5cyA9PT0gXCJzdHJpbmdcIiA/IFtrZXlzXSA6IGtleXMpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRyaW1Ub051bGwoZW52W2tleV0pO1xuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCkgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIFJlc29sdmUgYSBzdHJpbmcgc2V0dGluZzogYGNvbmZpZ3VyZWRgIHdoZW4gc2V0IGFuZCBub24tZW1wdHksIGVsc2UgdGhlIGZpcnN0XG4gKiBub24tZW1wdHkgdmFyaWFibGUgYW1vbmcgYGtleXNgLCBlbHNlIGBudWxsYC5cbiAqXG4gKiBAZXhhbXBsZVxuICogZW52LnN0cmluZyhjb25maWcuaG9zdCwgXCJTTVRQX0hPU1RcIik7XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmcoY29uZmlndXJlZDogdW5rbm93biwga2V5czogRW52S2V5KTogc3RyaW5nIHwgbnVsbCB7XG4gIHJldHVybiB0cmltVG9OdWxsKGNvbmZpZ3VyZWQpID8/IHRleHQoa2V5cyk7XG59XG5cbi8qKlxuICogUmVzb2x2ZSBhIGJvb2xlYW4gc2V0dGluZyB0aHJvdWdoIHtAbGluayB0b0Jvb2xlYW59LCBzbyB0aGUgbG9vc2Ugc3BlbGxpbmdzIGFuXG4gKiBlbnYgdmFyIGFjdHVhbGx5IGNhcnJpZXMgKGAxYCwgYG9uYCwgYHllc2AsIC4uLikgYXJlIGFjY2VwdGVkLiBSZXR1cm5zXG4gKiBgdW5kZWZpbmVkYCB3aGVuIG5laXRoZXIgc291cmNlIGlzIGludGVycHJldGFibGUsIGxldHRpbmcgdGhlIGNhbGxlciBwaWNrIGFcbiAqIGRlZmF1bHQgd2l0aCBgPz9gLlxuICpcbiAqIEBleGFtcGxlXG4gKiBlbnYuYm9vbGVhbihjb25maWcuZnV6enksIFwiV0VCX1NFQVJDSF9GVVpaWVwiKSA/PyB0cnVlO1xuICovXG5leHBvcnQgZnVuY3Rpb24gYm9vbGVhbihjb25maWd1cmVkOiB1bmtub3duLCBrZXlzOiBFbnZLZXkpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHRvQm9vbGVhbihjb25maWd1cmVkKSA/PyB0b0Jvb2xlYW4odGV4dChrZXlzKSk7XG59XG5cbi8qKlxuICogUmVzb2x2ZSBhIHBvc2l0aXZlLW51bWJlciBzZXR0aW5nIHRoYXQgbWF5IGJlIGZyYWN0aW9uYWwgKGEgc2NvcmUgdGhyZXNob2xkLFxuICogYSByYXRpbyk6IGBjb25maWd1cmVkYCB3aGVuIGl0IGlzIGEgZmluaXRlIG51bWJlciBncmVhdGVyIHRoYW4gemVybywgZWxzZSB0aGVcbiAqIGZpcnN0IHZhcmlhYmxlIGFtb25nIGBrZXlzYCB0aGF0IHBhcnNlcyB0aGF0IHdheSwgZWxzZSBgZmFsbGJhY2tgLlxuICpcbiAqIHtAbGluayBwb3NpdGl2ZUludH0gaXMgdGhlIHJpZ2h0IGNob2ljZSBmb3IgYSBjb3VudDsgdGhpcyBvbmUga2VlcHMgdGhlXG4gKiBmcmFjdGlvbiwgc28gYSBgMC40YCB0aHJlc2hvbGQgZG9lcyBub3QgZmxvb3IgdG8gYDBgLlxuICpcbiAqIEBleGFtcGxlXG4gKiBlbnYucG9zaXRpdmVOdW1iZXIoY29uZmlnLmZ1enp5VGhyZXNob2xkLCBcIlNFQVJDSF9GVVpaWV9USFJFU0hPTERcIiwgMC40KTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBvc2l0aXZlTnVtYmVyKGNvbmZpZ3VyZWQ6IHVua25vd24sIGtleXM6IEVudktleSwgZmFsbGJhY2s6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiB0b1Bvc2l0aXZlTnVtYmVyKGNvbmZpZ3VyZWQpID8/IHRvUG9zaXRpdmVOdW1iZXIodGV4dChrZXlzKSkgPz8gZmFsbGJhY2s7XG59XG5cbi8qKlxuICogUmVzb2x2ZSBhIHBvc2l0aXZlLWludGVnZXIgc2V0dGluZyAoYSBwb3J0LCB0aW1lb3V0LCBwYWdlIHNpemUsIG9yIGNhcCk6XG4gKiBgY29uZmlndXJlZGAgd2hlbiBpdCBpcyBhIGZpbml0ZSBudW1iZXIgZ3JlYXRlciB0aGFuIHplcm8sIGVsc2UgdGhlIGZpcnN0XG4gKiB2YXJpYWJsZSBhbW9uZyBga2V5c2AgdGhhdCBwYXJzZXMgdGhhdCB3YXksIGVsc2UgYGZhbGxiYWNrYC4gRmxvb3JlZCwgc28gYVxuICogZnJhY3Rpb25hbCB2YWx1ZSBjYW4ndCBsZWFrIGludG8gYSBjb3VudC5cbiAqXG4gKiBBIG5vbi1udW1lcmljIG9yIG5vbi1wb3NpdGl2ZSB2YWx1ZSBpcyB0cmVhdGVkIGFzIGFic2VudCByYXRoZXIgdGhhbiBmYXRhbCAtXG4gKiB0aGVzZSBhcmUgY2VpbGluZ3MgYW5kIHRpbWVvdXRzIHdoZXJlIGEgc2FuZSBkZWZhdWx0IGJlYXRzIGEgYm9vdCBmYWlsdXJlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBlbnYucG9zaXRpdmVJbnQoY29uZmlnLnRpbWVvdXRNcywgXCJTRUFSQ0hfVElNRU9VVF9NU1wiLCAzMF8wMDApO1xuICovXG5leHBvcnQgZnVuY3Rpb24gcG9zaXRpdmVJbnQoY29uZmlndXJlZDogdW5rbm93biwga2V5czogRW52S2V5LCBmYWxsYmFjazogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIHRvUG9zaXRpdmVJbnQoY29uZmlndXJlZCkgPz8gdG9Qb3NpdGl2ZUludCh0ZXh0KGtleXMpKSA/PyBmYWxsYmFjaztcbn1cblxuZnVuY3Rpb24gdG9Qb3NpdGl2ZU51bWJlcih2YWx1ZTogdW5rbm93bik6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBcIlwiKSByZXR1cm4gdW5kZWZpbmVkO1xuICBjb25zdCBwYXJzZWQgPSBOdW1iZXIodmFsdWUpO1xuICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKHBhcnNlZCkgJiYgcGFyc2VkID4gMCA/IHBhcnNlZCA6IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gdG9Qb3NpdGl2ZUludCh2YWx1ZTogdW5rbm93bik6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHBhcnNlZCA9IHRvUG9zaXRpdmVOdW1iZXIodmFsdWUpO1xuICByZXR1cm4gcGFyc2VkID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBNYXRoLmZsb29yKHBhcnNlZCk7XG59XG5cbi8qKlxuICogUmVzb2x2ZSBhIGxpc3Qgc2V0dGluZyB0aHJvdWdoIHtAbGluayBwYXJzZUxpc3R9LCBzbyBhbiBhcnJheSBmcm9tIHR5cGVkXG4gKiBjb25maWcgYW5kIGEgYFwiYSwgYiBjXCJgIGVudiBzdHJpbmcgbm9ybWFsaXplIGlkZW50aWNhbGx5LiBSZXR1cm5zIGBbXWAgd2hlblxuICogbmVpdGhlciBzb3VyY2UgaGFzIGVudHJpZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGVudi5saXN0KGNvbmZpZy5tb2RlbEZhbGxiYWNrcywgXCJXRUJfU0VBUkNIX01PREVMX0ZBTExCQUNLU1wiKTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpc3QoXG4gIGNvbmZpZ3VyZWQ6IHN0cmluZyB8IHJlYWRvbmx5IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHwgbnVsbCxcbiAga2V5czogRW52S2V5LFxuICB0cmFuc2Zvcm0/OiAoZW50cnk6IHN0cmluZykgPT4gc3RyaW5nLFxuKTogc3RyaW5nW10ge1xuICBjb25zdCBmcm9tQ29uZmlnID0gcGFyc2VMaXN0KGNvbmZpZ3VyZWQsIHRyYW5zZm9ybSk7XG4gIHJldHVybiBmcm9tQ29uZmlnLmxlbmd0aCA+IDAgPyBmcm9tQ29uZmlnIDogcGFyc2VMaXN0KHRleHQoa2V5cyksIHRyYW5zZm9ybSk7XG59XG4iXX0=
|
package/package.json
CHANGED
package/src/env.ts
CHANGED
|
@@ -31,6 +31,21 @@ function environment(): Record<string, string | undefined> {
|
|
|
31
31
|
return (globalThis as { process?: ProcessLike }).process?.env ?? {};
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
/**
|
|
35
|
+
* The PRIMARY (current, non-deprecated) name in an {@link EnvKey}.
|
|
36
|
+
*
|
|
37
|
+
* Use this when naming a variable in a log line or error rather than indexing
|
|
38
|
+
* `keys[0]`: an {@link EnvKey} may be a bare string, and `"TUNNEL_X"[0]` is the
|
|
39
|
+
* character `"T"`, which produces a message naming a variable that does not
|
|
40
|
+
* exist. Returns `""` only for an empty list, which no caller should have.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* logger.warn(`${env.name(JWT_SECRET_ENV)} is not set`);
|
|
44
|
+
*/
|
|
45
|
+
export function name(keys: EnvKey): string {
|
|
46
|
+
return typeof keys === "string" ? keys : (keys[0] ?? "");
|
|
47
|
+
}
|
|
48
|
+
|
|
34
49
|
/**
|
|
35
50
|
* First non-empty value among `keys`, trimmed, else `null`.
|
|
36
51
|
*
|