@balena/env-parsing 1.3.0 → 1.3.1

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.
@@ -1,3 +1,16 @@
1
+ - commits:
2
+ - subject: Improve `enumVar` handling
3
+ hash: 176941315517f44ba6f4515b7e9b78d956c88620
4
+ body: |
5
+ https://balena.fibery.io/Work/Project/2245
6
+ footer:
7
+ Change-type: patch
8
+ change-type: patch
9
+ author: Pagan Gazzard
10
+ nested: []
11
+ version: 1.3.1
12
+ title: ""
13
+ date: 2026-06-10T12:13:26.119Z
1
14
  - commits:
2
15
  - subject: Add enumVar
3
16
  hash: a5ac5c25caa1c987b4579c10b68054531dcc4a9a
@@ -9,7 +22,7 @@
9
22
  nested: []
10
23
  version: 1.3.0
11
24
  title: ""
12
- date: 2026-06-09T23:40:27.609Z
25
+ date: 2026-06-10T09:14:43.922Z
13
26
  - commits:
14
27
  - subject: Update dependency lint-staged to v17
15
28
  hash: cbd584b8eff8bc3626ff0a612c204f879348cf8f
package/CHANGELOG.md CHANGED
@@ -4,7 +4,11 @@ All notable changes to this project will be documented in this file
4
4
  automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
5
5
  This project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
- ## 1.3.0 - 2026-06-09
7
+ ## 1.3.1 - 2026-06-10
8
+
9
+ * Improve `enumVar` handling [Pagan Gazzard]
10
+
11
+ ## 1.3.0 - 2026-06-10
8
12
 
9
13
  * Add enumVar [joshbwlng]
10
14
 
package/build/index.d.ts CHANGED
@@ -46,7 +46,7 @@ export declare function boolVar<R>(varName: string | string[], defaultValue: R):
46
46
  * if it is not set then instead it returns the specified default value
47
47
  */
48
48
  export declare function enumVar<T extends string>(varName: string | string[], validValues: readonly T[]): T;
49
- export declare function enumVar<T extends string, R>(varName: string | string[], validValues: readonly T[], defaultValue: R): T | R;
49
+ export declare function enumVar<T extends string>(varName: string | string[], validValues: readonly T[], defaultValue: T): T;
50
50
  /**
51
51
  * Splits an env var using the provided delimiter (defaults to ',') into an array of individual string values.
52
52
  * Optionally accepts an array of allowed values for the array.
package/build/index.js CHANGED
@@ -100,18 +100,13 @@ function boolVar(varName, defaultValue) {
100
100
  throw new Error(`Invalid value for boolean var '${varName}', got '${s}', expected 'true' or 'false'`);
101
101
  }
102
102
  function enumVar(varName, validValues, defaultValue) {
103
- if (arguments.length === 2) {
104
- (0, exports.requiredVar)(varName);
105
- }
106
- const s = optionalVar(varName);
107
- if (s == null) {
108
- return defaultValue;
109
- }
110
- const match = validValues.find((v) => v === s);
111
- if (match == null) {
103
+ const s = arguments.length === 2
104
+ ? (0, exports.requiredVar)(varName)
105
+ : optionalVar(varName, defaultValue);
106
+ if (!validValues.includes(s)) {
112
107
  throw new Error(`Invalid value for '${varName}', got '${s}', expected one of: ${validValues.join(', ')}`);
113
108
  }
114
- return match;
109
+ return s;
115
110
  }
116
111
  /**
117
112
  * Splits an env var using the provided delimiter (defaults to ',') into an array of individual string values.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAyCA,kCAqBC;AA6BD,wBAkBC;AAWD,0BAqBC;AAeD,0BAgBC;AA5KY,QAAA,gBAAgB,GAAG,EAAE,GAAG,EAAE,CAAC;AACxC;;GAEG;AACU,QAAA,OAAO,GAAG,IAAI,CAAC;AAC5B;;GAEG;AACU,QAAA,OAAO,GAAG,EAAE,GAAG,eAAO,CAAC;AACpC;;GAEG;AACU,QAAA,KAAK,GAAG,EAAE,GAAG,eAAO,CAAC;AAClC;;GAEG;AACU,QAAA,IAAI,GAAG,EAAE,GAAG,aAAK,CAAC;AAE/B;;GAEG;AACI,MAAM,WAAW,GAAG,CAAC,OAA0B,EAAU,EAAE;IACjE,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC,CAAC;AANW,QAAA,WAAW,eAMtB;AAcF,SAAgB,WAAW,CAC1B,OAA0B,EAC1B,YAAgB;IAEhB,kHAAkH;IAClH,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YAC3B,OAAO,YAAY,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,CAAC;IACV,CAAC;IAED,kHAAkH;IAClH,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,CAAC;QACV,CAAC;IACF,CAAC;IACD,OAAO,YAAY,CAAC;AACrB,CAAC;AAED;;GAEG;AACI,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAsB,EAAE;IACzD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACtD,CAAC;IACD,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACb,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO;IACR,CAAC;IACD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,OAAO;IACR,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC,CAAC;AAbW,QAAA,QAAQ,YAanB;AAWF,SAAgB,MAAM,CACrB,OAA0B,EAC1B,YAAgB;IAEhB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACf,OAAO,YAAa,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,gCAAgC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC;AAWD,SAAgB,OAAO,CACtB,OAA0B,EAC1B,YAAgB;IAEhB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACf,OAAO,YAAa,CAAC;IACtB,CAAC;IACD,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,IAAI,KAAK,CACd,kCAAkC,OAAO,WAAW,CAAC,+BAA+B,CACpF,CAAC;AACH,CAAC;AAeD,SAAgB,OAAO,CACtB,OAA0B,EAC1B,WAAyB,EACzB,YAAgB;IAEhB,MAAM,CAAC,GACN,SAAS,CAAC,MAAM,KAAK,CAAC;QACrB,CAAC,CAAC,IAAA,mBAAW,EAAC,OAAO,CAAC;QACtB,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEvC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAM,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACd,sBAAsB,OAAO,WAAW,CAAC,uBAAuB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxF,CAAC;IACH,CAAC;IACD,OAAO,CAAM,CAAC;AACf,CAAC;AAED;;;GAGG;AACI,MAAM,QAAQ,GAAG,CACvB,IAAY,EACZ,EACC,SAAS,GAAG,GAAG,EACf,aAAa,MAIV,EAAE,EACY,EAAE;IACpB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAExC,MAAM,eAAe,GACpB,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAS,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,IAAI,eAAe,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CACd,IAAI,IAAI,gBAAgB,SAAS,CAAC,QAAQ,EAAE,8DAA8D,CAAC,GAAG,eAAe,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC3I,CAAC;IACH,CAAC;IACD,OAAO,KAAY,CAAC;AACrB,CAAC,CAAC;AAxBW,QAAA,QAAQ,YAwBnB;AAGF;;;GAGG;AACI,MAAM,YAAY,GAAG,CAC3B,OAA0B,EAC1B,YAAyB,EACZ,EAAE;IACf,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,YAAY,CAAC;IACrB,CAAC;IACD,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAY,EAAE;QACtD,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,MAAM,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,IAAI,GAAG,IAAA,gBAAQ,EAAC,SAAS,CAAC,CAAC;QACjC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,MAAM,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,YAAY,gBAsBvB;AAEF;;;;GAIG;AACI,MAAM,aAAa,GAAG,CAC5B,OAA0B,EAC1B,YAAgB,EACgB,EAAE;IAClC,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,YAAY,CAAC;IACrB,CAAC;IACD,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC3B,2BAA2B;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC5B,6BAA6B;QAC7B,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,mCAAmC;QACnC,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,MAAM,aAAa,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC3B,kCAAkC;QAClC,OAAO,aAAa,CAAC;IACtB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,SAAS,UAAU,GAAG,CAAC,CAAC;AACtE,CAAC,CAAC;AAlCW,QAAA,aAAa,iBAkCxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@balena/env-parsing",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "A collection of utilities to simplify/standardize env var parsing",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -47,6 +47,6 @@
47
47
  ]
48
48
  },
49
49
  "versionist": {
50
- "publishedAt": "2026-06-09T23:40:27.681Z"
50
+ "publishedAt": "2026-06-10T12:13:26.177Z"
51
51
  }
52
52
  }
package/src/index.ts CHANGED
@@ -149,31 +149,27 @@ export function enumVar<T extends string>(
149
149
  varName: string | string[],
150
150
  validValues: readonly T[],
151
151
  ): T;
152
- export function enumVar<T extends string, R>(
152
+ export function enumVar<T extends string>(
153
153
  varName: string | string[],
154
154
  validValues: readonly T[],
155
- defaultValue: R,
156
- ): T | R;
157
- export function enumVar<T extends string, R>(
155
+ defaultValue: T,
156
+ ): T;
157
+ export function enumVar<T extends string>(
158
158
  varName: string | string[],
159
159
  validValues: readonly T[],
160
- defaultValue?: R,
161
- ): T | R {
162
- if (arguments.length === 2) {
163
- requiredVar(varName);
164
- }
160
+ defaultValue?: T,
161
+ ): T {
162
+ const s =
163
+ arguments.length === 2
164
+ ? requiredVar(varName)
165
+ : optionalVar(varName, defaultValue);
165
166
 
166
- const s = optionalVar(varName);
167
- if (s == null) {
168
- return defaultValue!;
169
- }
170
- const match = validValues.find((v) => v === s);
171
- if (match == null) {
167
+ if (!validValues.includes(s as T)) {
172
168
  throw new Error(
173
169
  `Invalid value for '${varName}', got '${s}', expected one of: ${validValues.join(', ')}`,
174
170
  );
175
171
  }
176
- return match;
172
+ return s as T;
177
173
  }
178
174
 
179
175
  /**