Giter Site home page Giter Site logo

Comments (3)

DuredhelFinceleb avatar DuredhelFinceleb commented on June 11, 2024

I should add that I'm asking this in the context of a JavaScript codebase that won't migrate to TypeScript anytime soon
Using ow is my attempt to bring in some type sanity and stop wasting my brain as a type-checker

from ow.

sindresorhus avatar sindresorhus commented on June 11, 2024

I think that's a bit out of scope for this package. Ow is meant for validation only.


Also, it's ambiguous in many cases which would be the correct value to return.

axis: ow.string.oneOf(['X', 'Y', 'Z']),

A user might be fine with the first value there, but they also might want to specify a custom default. It's a slippery slope for API bloat.

from ow.

DuredhelFinceleb avatar DuredhelFinceleb commented on June 11, 2024

Yes it's ambigiguous and precisely the reason why I put it in my example 🙂

That being said, I did not meant for 'ow' to provide something like this.
I wanted to know if it is possible to build a function for my project which would allow me to construct an object from its definition. I guess I could test the type of the predicate for each property and set my default value accordingly. Then again for things like 'axis', I'm not sure how I would programatically get the info that only 'X', 'Y' or 'Z' are accepted.

I know that 'ow' is for validation only, but I'm not on the TypeScript train with this code base, so when you're stuck with JavaScript, 'ow' is the closest thing I've found so far to have some type system that actually works & is easy to use (and if you know of a more appropriate project for this than 'ow', I'm all ears 😀 )

from ow.

Related Issues (20)

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.