Skip to content

Commit c956a07

Browse files
committed
refactor(env): reorder parameters in getEnum and getNumberEnum methods for consistency
1 parent bbbdb31 commit c956a07

2 files changed

Lines changed: 12 additions & 12 deletions

File tree

src/utils/env.utils.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -440,17 +440,17 @@ export class Env {
440440
*
441441
* @typeParam T - The allowed value type (string literal types).
442442
* @param {string} key - The environment variable key.
443-
* @param {T[]} allowedValues - Array of accepted string values.
444443
* @param {T} [defaultValue] - Optional fallback value.
444+
* @param {T[]} allowedValues - Array of accepted string values.
445445
* @returns {T} The validated environment value.
446446
* @throws {Error} If missing or invalid.
447447
*
448448
* @example
449449
* // If LOG_LEVEL=debug
450-
* const level = Env.getEnum('LOG_LEVEL', ['debug', 'info', 'warn', 'error'] as const, 'info');
450+
* const level = Env.getEnum('LOG_LEVEL', 'info', ['debug', 'info', 'warn', 'error'] as const);
451451
* // 'debug' (typed as 'debug' | 'info' | 'warn' | 'error')
452452
*/
453-
static getEnum<T extends string>(key: string, allowedValues: readonly T[], defaultValue: T): T {
453+
static getEnum<T extends string>(key: string, defaultValue: T, allowedValues: readonly T[]): T {
454454
const value = process.env[key];
455455

456456
if (!value) {
@@ -470,15 +470,15 @@ export class Env {
470470
* Retrieves an enum-like numeric environment variable.
471471
*
472472
* @param {string} key - The environment variable key.
473-
* @param {number[]} allowedValues - Array of accepted values.
474473
* @param {number} defaultValue - Default value if not present.
474+
* @param {number[]} allowedValues - Array of accepted values.
475475
* @returns {number} The validated value.
476476
*
477477
* @example
478478
* // If NODE_VERSION=16
479-
* const version = Env.getNumberEnum('NODE_VERSION', [14, 16, 18], 16);
479+
* const version = Env.getNumberEnum('NODE_VERSION', 16, [14, 16, 18]);
480480
*/
481-
static getNumberEnum(key: string, allowedValues: number[], defaultValue: number): number {
481+
static getNumberEnum(key: string, defaultValue: number, allowedValues: number[]): number {
482482
const value = Env.getNumber(key, defaultValue);
483483

484484
if (!allowedValues.includes(value)) {

tests/utils/env.utils.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -166,17 +166,17 @@ describe('EnvUtils', () => {
166166
describe('getNumberEnum', () => {
167167
it('returns allowed value if present', () => {
168168
Env.set('NUM_ENUM', '2');
169-
expect(Env.getNumberEnum('NUM_ENUM', [1, 2, 3], 1)).toBe(2);
169+
expect(Env.getNumberEnum('NUM_ENUM', 1, [1, 2, 3])).toBe(2);
170170
});
171171

172172
it('returns allowed default if missing', () => {
173173
Env.delete('NUM_ENUM_MISS');
174-
expect(Env.getNumberEnum('NUM_ENUM_MISS', [1, 2, 3], 3)).toBe(3);
174+
expect(Env.getNumberEnum('NUM_ENUM_MISS', 3, [1, 2, 3])).toBe(3);
175175
});
176176

177177
it('throws on invalid value', () => {
178178
Env.set('NUM_ENUM_INVALID', '4');
179-
expect(() => Env.getNumberEnum('NUM_ENUM_INVALID', [1, 2, 3], 1)).toThrow(/must be one of/);
179+
expect(() => Env.getNumberEnum('NUM_ENUM_INVALID', 1, [1, 2, 3])).toThrow(/must be one of/);
180180
});
181181
});
182182

@@ -361,15 +361,15 @@ describe('EnvUtils', () => {
361361
describe('getEnum', () => {
362362
it('returns allowed value if present', () => {
363363
Env.set('EN', 'production');
364-
expect(Env.getEnum('EN', ['production', 'staging'], 'production')).toBe('production');
364+
expect(Env.getEnum('EN', 'production', ['production', 'staging'])).toBe('production');
365365
});
366366
it('returns allowed default if missing', () => {
367367
Env.delete('ENM');
368-
expect(Env.getEnum('ENM', ['foo', 'bar'], 'bar')).toBe('bar');
368+
expect(Env.getEnum('ENM', 'bar', ['foo', 'bar'])).toBe('bar');
369369
});
370370
it('throws on invalid value', () => {
371371
Env.set('EN2', 'wat');
372-
expect(() => Env.getEnum('EN2', ['a', 'b'], 'c')).toThrow(/must be one of/);
372+
expect(() => Env.getEnum('EN2', 'c', ['a', 'b'])).toThrow(/must be one of/);
373373
});
374374
});
375375

0 commit comments

Comments
 (0)