Skip to content

Commit 87ba23c

Browse files
authoredMar 5, 2025··
ConfigProvider: fromEnv: add missing Partial modifier (#4554)
1 parent 99fcbf7 commit 87ba23c

File tree

4 files changed

+25
-5
lines changed

4 files changed

+25
-5
lines changed
 

‎.changeset/shiny-pets-study.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"effect": patch
3+
---
4+
5+
ConfigProvider: `fromEnv`: add missing `Partial` modifier.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { ConfigProvider } from "effect"
2+
import { describe, expect, it } from "tstyche"
3+
4+
describe("ConfigProvider", () => {
5+
describe("fromEnv", () => {
6+
it("should accept a partial configuration", () => {
7+
expect(ConfigProvider.fromEnv({ pathDelim: "." })).type.toBe<ConfigProvider.ConfigProvider>()
8+
expect(ConfigProvider.fromEnv({ seqDelim: "." })).type.toBe<ConfigProvider.ConfigProvider>()
9+
})
10+
})
11+
})

‎packages/effect/src/ConfigProvider.ts

+7-3
Original file line numberDiff line numberDiff line change
@@ -170,13 +170,17 @@ export const makeFlat: (options: {
170170
}) => ConfigProvider.Flat = internal.makeFlat
171171

172172
/**
173-
* A config provider that loads configuration from context variables,
174-
* using the default System service.
173+
* A config provider that loads configuration from context variables
174+
*
175+
* **Options**:
176+
*
177+
* - `pathDelim`: The delimiter for the path segments (default: `"_"`).
178+
* - `seqDelim`: The delimiter for the sequence of values (default: `","`).
175179
*
176180
* @since 2.0.0
177181
* @category constructors
178182
*/
179-
export const fromEnv: (config?: ConfigProvider.FromEnvConfig) => ConfigProvider = internal.fromEnv
183+
export const fromEnv: (options?: Partial<ConfigProvider.FromEnvConfig>) => ConfigProvider = internal.fromEnv
180184

181185
/**
182186
* Constructs a new `ConfigProvider` from a key/value (flat) provider, where

‎packages/effect/src/internal/configProvider.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,9 @@ export const fromFlat = (flat: ConfigProvider.ConfigProvider.Flat): ConfigProvid
102102

103103
/** @internal */
104104
export const fromEnv = (
105-
config?: Partial<ConfigProvider.ConfigProvider.FromEnvConfig>
105+
options?: Partial<ConfigProvider.ConfigProvider.FromEnvConfig>
106106
): ConfigProvider.ConfigProvider => {
107-
const { pathDelim, seqDelim } = Object.assign({}, { pathDelim: "_", seqDelim: "," }, config)
107+
const { pathDelim, seqDelim } = Object.assign({}, { pathDelim: "_", seqDelim: "," }, options)
108108
const makePathString = (path: ReadonlyArray<string>): string => pipe(path, Arr.join(pathDelim))
109109
const unmakePathString = (pathString: string): ReadonlyArray<string> => pathString.split(pathDelim)
110110

0 commit comments

Comments
 (0)
Please sign in to comment.