Code Monkey home page Code Monkey logo

Comments (6)

alexander-yakushev avatar alexander-yakushev commented on September 27, 2024 1

Regarding:

(is (= {:first "alpha", :more {:two "two"}, :second 70} (cfg/get :nested-option)))

This is because --nested-option.more {} is in the test. It erases all defaults.

from omniconf.

anujsrc avatar anujsrc commented on September 27, 2024

If I define a top level default for nested ones, it does list but it is slightly confusing for me in case of the position of default values in both nested and other case. Here is what works for me for nested booleans-

user> (omniconf.core/define {:conf1 {:default {:c3 false} :nested {:c1 {:type :number :default 0} :c2 {:type :string :default "c2"} :c3 {:type :boolean :default false}}}})
nil
user> (omniconf.core/verify)
Omniconf configuration:
 {:conf1 {:c3 false, :c1 0, :c2 "c2"}}

nil

from omniconf.

alexander-yakushev avatar alexander-yakushev commented on September 27, 2024

Yeah, that's probably a bug. However, it might be argued that setting a boolean parameter ("a flag") is the same as not setting it at all. But there's no harm in fixing this.

from omniconf.

anujsrc avatar anujsrc commented on September 27, 2024

Yes, agree. Here is the case where I find it relevant-

  • Suppose an external component has a default parameter set to true
  • The component that we are implementing depends on this external component but we want that parameter set to false from our component side, by default and we are reading the configuration of our component via Omniconf

from omniconf.

alexander-yakushev avatar alexander-yakushev commented on September 27, 2024

I deployed this fix as 0.2.6. Hope this helps!

from omniconf.

anujsrc avatar anujsrc commented on September 27, 2024

Thanks @alexander-yakushev. Pulled in 0.2.6. Works like a charm 👍

from omniconf.

Related Issues (11)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.