gs-config/src/main/scala/gs/config/audit/ConfigSource.scala

26 lines
745 B
Scala

package gs.config.audit
/** Represents some _source_ of configuration data. This might be the system
* environment, a properties file, application runtime properties, or some
* other source.
*
* This type is used for auditing purposes. Each [[gs.config.Configuration]]
* has a source, and the source which retrieves (or fails to retrieve) some
* value is recorded in the [[ConfigManifest]].
*/
opaque type ConfigSource = String
object ConfigSource:
/** Instantiate a new `ConfigSource`.
*
* @param source
* The name of the source.
* @return
* The new instance.
*/
def apply(source: String): ConfigSource = source
given CanEqual[ConfigSource, ConfigSource] = CanEqual.derived
end ConfigSource