Code Monkey home page Code Monkey logo

nominal's People

Contributors

castarco avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

nominal's Issues

Assert that WithTag<WithoutTag<WithTag>> === WithTag

Introduce new tests to assert this property. Might be the case that it does not hold in the current situation (at least before we implement the issue #2 ).

  • WithTag<WithoutTag<WithTag>> === WithTag // We want to test this because WithoutTag is relatively complex

Nominal Readme Clarification

The installation instructions in the nominal README state to use npm install or yarn add --dev. The npm install instructions will add nominal as a production dependency whereas the yarn install instructions will add nominal as a dev dependency. This seems inconsistent. How should we install nominal? regular dependency or dev dependency specifically when the nominal branded types will be added to a library that will then be re-used by multiple downstream dependencies?

Thanks and appreciate the great work on this incredibly useful library.

Uniformize naming in documentation & code

Stick to a fixed terminology. Right now we use the terms "tag", "type" and "brand", we should clarify how we use them and simplify as much as possible the terminology.

Add "typical" branded types

  • Branded types.
    • compatible with multiple tags
    • but only one brand is possible per type
  • Flavored types. Like branded types, but less strict:
    • they don't accept differently branded values
    • but they do accept values of the "naked" base primitive type

Add missing documentation

  • CONTRIBUTING.md: We should have a document explaining the workflow of this project and how to contribute.
  • badges: add badges to README.md to signal project quality.
  • funding: unlikely that will be useful, but it would be nice that people can be thankful for the effort.

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.