From e688443b8f845bb7a5049d2e3663d3c87d0c7390 Mon Sep 17 00:00:00 2001 From: allohamora Date: Tue, 11 Apr 2023 17:08:51 +0300 Subject: [PATCH 1/2] feat!: pickFor now every time returns EnvPicker --- __tests__/unit/env.manager.spec.ts | 14 +++++++------- src/env/env.manager.ts | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/__tests__/unit/env.manager.spec.ts b/__tests__/unit/env.manager.spec.ts index 777a41f..a93bb9a 100644 --- a/__tests__/unit/env.manager.spec.ts +++ b/__tests__/unit/env.manager.spec.ts @@ -37,15 +37,15 @@ describe('EnvManager', () => { describe('pickFor', () => { it('returns values', () => { - expect(env.pickFor({ test: 'EMAIL' })?.value()).toBe(envStub.EMAIL); - expect(env.pickFor({ test: 'INTEGER' })?.value()).toBe(envStub.INTEGER); + expect(env.pickFor({ test: 'EMAIL' }).value()).toBe(envStub.EMAIL); + expect(env.pickFor({ test: 'INTEGER' }).value()).toBe(envStub.INTEGER); - expect(env.pickFor({ production: 'EMAIL' })?.value()).toEqual(undefined); - expect(env.pickFor({ production: 'INTEGER' })?.value()).toEqual(undefined); + expect(env.pickFor({ production: 'EMAIL' }).value()).toEqual(undefined); + expect(env.pickFor({ production: 'INTEGER' }).value()).toEqual(undefined); - expect(env.pickFor({ test: 'EMPTY_STRING' })?.value()).toEqual(undefined); - expect(env.pickFor({ test: 'SPACE_STRING' })?.value()).toEqual(undefined); - expect(env.pickFor({ test: 'OPTIONAL' })?.value()).toEqual(undefined); + expect(env.pickFor({ test: 'EMPTY_STRING' }).value()).toEqual(undefined); + expect(env.pickFor({ test: 'SPACE_STRING' }).value()).toEqual(undefined); + expect(env.pickFor({ test: 'OPTIONAL' }).value()).toEqual(undefined); }); }); diff --git a/src/env/env.manager.ts b/src/env/env.manager.ts index 61ed0a7..c50ac8a 100644 --- a/src/env/env.manager.ts +++ b/src/env/env.manager.ts @@ -57,11 +57,11 @@ export class EnvManager ext return this.pick(key) as EnvPicker; } - public pickFor(envRecord: AtLeastOne>): undefined | EnvPicker { + public pickFor(envRecord: AtLeastOne>): EnvPicker { const key = envRecord[this.nodeEnv as E] as string | undefined; if (!key) { - return; + return new EnvPicker(undefined, this.nodeEnv) as EnvPicker; } return this.pick(key) as EnvPicker; From 58736020b15fc8320ff9b68fafab151bd3b0d3a0 Mon Sep 17 00:00:00 2001 From: allohamora Date: Tue, 11 Apr 2023 17:10:55 +0300 Subject: [PATCH 2/2] chore(release): 0.5.0 --- CHANGELOG.md | 10 ++++++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e737d25..0138221 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [0.5.0](https://github.com/allohamora/config-manager/compare/0.4.0...0.5.0) (2023-04-11) + +### ⚠ BREAKING CHANGES + +- pickFor now every time returns EnvPicker + +### Features + +- pickFor now every time returns EnvPicker ([e688443](https://github.com/allohamora/config-manager/commit/e688443b8f845bb7a5049d2e3663d3c87d0c7390)) + ## [0.4.0](https://github.com/allohamora/config-manager/compare/0.3.0...0.4.0) (2023-04-10) ### Features diff --git a/package-lock.json b/package-lock.json index ca721a4..eb67940 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@allohamora/config-manager", - "version": "0.4.0", + "version": "0.5.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@allohamora/config-manager", - "version": "0.4.0", + "version": "0.5.0", "license": "MIT", "devDependencies": { "@commitlint/cli": "^17.5.1", diff --git a/package.json b/package.json index 057ec1a..efea482 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@allohamora/config-manager", - "version": "0.4.0", + "version": "0.5.0", "description": "config manager", "main": "./dist/index.cjs", "exports": {