Skip to main content Link Search Menu Expand Document (external link)

ConfigProvider.ts overview

Since v2.0.0


Exports Grouped by Category


combinators

constantCase

Returns a new config provider that will automatically convert all property names to constant case. This can be utilized to adapt the names of configuration properties from the default naming convention of camel case to the naming convention of a config provider.

Signature

declare const constantCase: (self: ConfigProvider) => ConfigProvider

Source

Since v2.0.0

kebabCase

Returns a new config provider that will automatically convert all property names to kebab case. This can be utilized to adapt the names of configuration properties from the default naming convention of camel case to the naming convention of a config provider.

Signature

declare const kebabCase: (self: ConfigProvider) => ConfigProvider

Source

Since v2.0.0

lowerCase

Returns a new config provider that will automatically convert all property names to lower case. This can be utilized to adapt the names of configuration properties from the default naming convention of camel case to the naming convention of a config provider.

Signature

declare const lowerCase: (self: ConfigProvider) => ConfigProvider

Source

Since v2.0.0

snakeCase

Returns a new config provider that will automatically convert all property names to upper case. This can be utilized to adapt the names of configuration properties from the default naming convention of camel case to the naming convention of a config provider.

Signature

declare const snakeCase: (self: ConfigProvider) => ConfigProvider

Source

Since v2.0.0

upperCase

Returns a new config provider that will automatically convert all property names to upper case. This can be utilized to adapt the names of configuration properties from the default naming convention of camel case to the naming convention of a config provider.

Signature

declare const upperCase: (self: ConfigProvider) => ConfigProvider

Source

Since v2.0.0

within

Returns a new config provider that transforms the config provider with the specified function within the specified path.

Signature

declare const within: {
  (path: ReadonlyArray<string>, f: (self: ConfigProvider) => ConfigProvider): (self: ConfigProvider) => ConfigProvider
  (self: ConfigProvider, path: ReadonlyArray<string>, f: (self: ConfigProvider) => ConfigProvider): ConfigProvider
}

Source

Since v2.0.0

constructors

fromEnv

A config provider that loads configuration from context variables

Options:

  • pathDelim: The delimiter for the path segments (default: "_").
  • seqDelim: The delimiter for the sequence of values (default: ",").

Signature

declare const fromEnv: (options?: Partial<ConfigProvider.FromEnvConfig>) => ConfigProvider

Source

Since v2.0.0

fromFlat

Constructs a new ConfigProvider from a key/value (flat) provider, where nesting is embedded into the string keys.

Signature

declare const fromFlat: (flat: ConfigProvider.Flat) => ConfigProvider

Source

Since v2.0.0

fromJson

Constructs a new ConfigProvider from a JSON object.

Signature

declare const fromJson: (json: unknown) => ConfigProvider

Source

Since v2.0.0

fromMap

Constructs a ConfigProvider using a map and the specified delimiter string, which determines how to split the keys in the map into path segments.

Signature

declare const fromMap: (map: Map<string, string>, config?: Partial<ConfigProvider.FromMapConfig>) => ConfigProvider

Source

Since v2.0.0

make

Creates a new config provider.

Signature

declare const make: (options: {
  readonly load: <A>(config: Config.Config<A>) => Effect.Effect<A, ConfigError.ConfigError>
  readonly flattened: ConfigProvider.Flat
}) => ConfigProvider

Source

Since v2.0.0

makeFlat

Creates a new flat config provider.

Signature

declare const makeFlat: (options: {
  readonly load: <A>(
    path: ReadonlyArray<string>,
    config: Config.Config.Primitive<A>,
    split: boolean
  ) => Effect.Effect<Array<A>, ConfigError.ConfigError>
  readonly enumerateChildren: (
    path: ReadonlyArray<string>
  ) => Effect.Effect<HashSet.HashSet<string>, ConfigError.ConfigError>
  readonly patch: PathPatch.PathPatch
}) => ConfigProvider.Flat

Source

Since v2.0.0

context

ConfigProvider

The service tag for ConfigProvider.

Signature

declare const ConfigProvider: Context.Tag<ConfigProvider, ConfigProvider>

Source

Since v2.0.0

models

ConfigProvider (interface)

A ConfigProvider is a service that provides configuration given a description of the structure of that configuration.

Signature

export interface ConfigProvider extends ConfigProvider.Proto, Pipeable {
  /**
   * Loads the specified configuration, or fails with a config error.
   */
  load<A>(config: Config.Config<A>): Effect.Effect<A, ConfigError.ConfigError>
  /**
   * Flattens this config provider into a simplified config provider that knows
   * only how to deal with flat (key/value) properties.
   */
  readonly flattened: ConfigProvider.Flat
}

Source

Since v2.0.0

symbols

ConfigProviderTypeId

Signature

declare const ConfigProviderTypeId: unique symbol

Source

Since v2.0.0

ConfigProviderTypeId (type alias)

Signature

type ConfigProviderTypeId = typeof ConfigProviderTypeId

Source

Since v2.0.0

FlatConfigProviderTypeId

Signature

declare const FlatConfigProviderTypeId: unique symbol

Source

Since v2.0.0

FlatConfigProviderTypeId (type alias)

Signature

type FlatConfigProviderTypeId = typeof FlatConfigProviderTypeId

Source

Since v2.0.0

utils

ConfigProvider (namespace)

Source

Since v2.0.0

Proto (interface)

Signature

export interface Proto {
  readonly [ConfigProviderTypeId]: ConfigProviderTypeId
}

Source

Since v2.0.0

Flat (interface)

A simplified config provider that knows only how to deal with flat (key/value) properties. Because these providers are common, there is special support for implementing them.

Signature

export interface Flat {
  readonly [FlatConfigProviderTypeId]: FlatConfigProviderTypeId
  readonly patch: PathPatch.PathPatch
  load<A>(
    path: ReadonlyArray<string>,
    config: Config.Config.Primitive<A>,
    split?: boolean
  ): Effect.Effect<Array<A>, ConfigError.ConfigError>
  enumerateChildren(path: ReadonlyArray<string>): Effect.Effect<HashSet.HashSet<string>, ConfigError.ConfigError>
}

Source

Since v2.0.0

FromMapConfig (interface)

Signature

export interface FromMapConfig {
  readonly pathDelim: string
  readonly seqDelim: string
}

Source

Since v2.0.0

FromEnvConfig (interface)

Signature

export interface FromEnvConfig {
  readonly pathDelim: string
  readonly seqDelim: string
}

Source

Since v2.0.0

KeyName (interface)

Signature

export interface KeyName {
  readonly _tag: "KeyName"
  readonly name: string
}

Source

Since v1.0.0

KeyIndex (interface)

Signature

export interface KeyIndex {
  readonly _tag: "KeyIndex"
  readonly index: number
}

Source

Since v1.0.0

KeyComponent (type alias)

Signature

type KeyComponent = KeyName | KeyIndex

Source

Since v1.0.0

mapInputPath

Returns a new config provider that will automatically tranform all path configuration names with the specified function. This can be utilized to adapt the names of configuration properties from one naming convention to another.

Signature

declare const mapInputPath: {
  (f: (path: string) => string): (self: ConfigProvider) => ConfigProvider
  (self: ConfigProvider, f: (path: string) => string): ConfigProvider
}

Source

Since v2.0.0

nested

Returns a new config provider that will automatically nest all configuration under the specified property name. This can be utilized to aggregate separate configuration sources that are all required to load a single configuration value.

Signature

declare const nested: {
  (name: string): (self: ConfigProvider) => ConfigProvider
  (self: ConfigProvider, name: string): ConfigProvider
}

Source

Since v2.0.0

orElse

Returns a new config provider that preferentially loads configuration data from this one, but which will fall back to the specified alternate provider if there are any issues loading the configuration from this provider.

Signature

declare const orElse: {
  (that: LazyArg<ConfigProvider>): (self: ConfigProvider) => ConfigProvider
  (self: ConfigProvider, that: LazyArg<ConfigProvider>): ConfigProvider
}

Source

Since v2.0.0

unnested

Returns a new config provider that will automatically un-nest all configuration under the specified property name. This can be utilized to de-aggregate separate configuration sources that are all required to load a single configuration value.

Signature

declare const unnested: {
  (name: string): (self: ConfigProvider) => ConfigProvider
  (self: ConfigProvider, name: string): ConfigProvider
}

Source

Since v2.0.0