TypesafeConfigOps

Useful extension and DSL created for Typesafe Config that allows to work with optional values, default values and templates.

License

License

Categories

Categories

config Application Layer Libs Configuration
GroupId

GroupId

io.github.typesafeconfigops
ArtifactId

ArtifactId

typesafeconfigops_2.12
Last Version

Last Version

1.3.4
Release Date

Release Date

Type

Type

jar
Description

Description

TypesafeConfigOps
Useful extension and DSL created for Typesafe Config that allows to work with optional values, default values and templates.
Project URL

Project URL

https://typesafeconfigops.github.io
Project Organization

Project Organization

typesafeconfigops
Source Code Management

Source Code Management

https://github.com/typesafeconfigops/TypesafeConfigOps

Download typesafeconfigops_2.12

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.typesafeconfigops/typesafeconfigops_2.12/ -->
<dependency>
    <groupId>io.github.typesafeconfigops</groupId>
    <artifactId>typesafeconfigops_2.12</artifactId>
    <version>1.3.4</version>
</dependency>
// https://jarcasting.com/artifacts/io.github.typesafeconfigops/typesafeconfigops_2.12/
implementation 'io.github.typesafeconfigops:typesafeconfigops_2.12:1.3.4'
// https://jarcasting.com/artifacts/io.github.typesafeconfigops/typesafeconfigops_2.12/
implementation ("io.github.typesafeconfigops:typesafeconfigops_2.12:1.3.4")
'io.github.typesafeconfigops:typesafeconfigops_2.12:jar:1.3.4'
<dependency org="io.github.typesafeconfigops" name="typesafeconfigops_2.12" rev="1.3.4">
  <artifact name="typesafeconfigops_2.12" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.github.typesafeconfigops', module='typesafeconfigops_2.12', version='1.3.4')
)
libraryDependencies += "io.github.typesafeconfigops" % "typesafeconfigops_2.12" % "1.3.4"
[io.github.typesafeconfigops/typesafeconfigops_2.12 "1.3.4"]

Dependencies

compile (2)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.12.12
com.typesafe : config jar 1.3.4

test (1)

Group / Artifact Type Version
org.scalatest : scalatest_2.12 jar 3.0.5

Project Modules

There are no modules declared in this project.

${Typesafe} %Config .Ops

codecov Codacy Badge Build Status

Usage

// build.sbt
libraryDependencies += "io.github.typesafeconfigops" %% "typesafe-config-ops" % "1.4.1"

ConfigOptOps

Import TypesafeConfigOps.ConfigOptOps allows to extract optional values from configuration.

import TypesafeConfigOps.ConfigOptOps

private val cfg = ConfigFactory.parseString("""{ "i" = 1 }""")
cfg.optInt("i") // Some(1)
cfg.optInt("ix") // None

ConfigDefaultOps

Import TypesafeConfigOps.ConfigDefaultOps allows to use default values for non existing paths in configuration.

import TypesafeConfigOps.ConfigDefaultOps

private val cfg = ConfigFactory.parseString("""{ "i" = 1 }""")
cfg.getInt("i", 2) // 1
cfg.getInt("ix", 2) // 2

ConfigTemplateOps

Import TypesafeConfigOps.ConfigTemplateOps allows to work with templates in configuration.

import TypesafeConfigOps.ConfigTemplateOps

val cfg = ConfigFactory.parseString(
  """
    |{
    |  code = <img ${imgSrc} ${imgHeight} ${imgWidth} ${imgBorder} />
    |}
  """.stripMargin)

val code = cfg
  .resolveTemplate(
    "imgSrc" -> "src='%s'",
    "imgHeight" -> "height='%dpx'",
    "imgWidth" -> "width='%dpx'",
    "imgBorder" -> "border='#%X%X%X'")
  .formatTemplate("code", "https://google.com/logo.png", 100, 200, 255, 255, 255)

code // "<img src='https://google.com/logo.png' height='100px' width='200px' border='#FFFFFF' />"

Versions

Version
1.3.4
0.1.2