Giter Site home page Giter Site logo

Comments (6)

cmeeren avatar cmeeren commented on July 19, 2024 1

Thanks for the clarifications, I agree with both of you. :)

from feliz.

alfonsogarciacaro avatar alfonsogarciacaro commented on July 19, 2024 1

Yes, Guid is currently compiled as a string, but this (as other Fable hacks) is an implementation detail that may change in the future. Libraries shouldn't rely on this :)

However, I think before we used to erase the String() call when converting Guid to string, but it seems it's not the case now. We could try to do that again :)

from feliz.

Zaid-Ajaj avatar Zaid-Ajaj commented on July 19, 2024

You are right, I have removed it from prop.text and will probably remove prop.innerText altogether

from feliz.

cmeeren avatar cmeeren commented on July 19, 2024

Hm... After more research, I am thinking that perhaps anything that accepts string should also accept Guid. The reason is that a Guid is represented in JS by a string (see Fable compatibility docs). So AFAIK there is actually no conversion; you can simply unbox a Guid as a string and it will always work, no explicit stringifying or parsing involved. (Is that right, @alfonsogarciacaro?)

What do you think?

The same could be said for char too, since that's represented by string.

from feliz.

MangelMaxime avatar MangelMaxime commented on July 19, 2024

It's dangerous to base your library implementation on the internal representation of the types. For example, yes today Guid is represented as string but nothing guarantee that tomorrow it will not be represented by a class.

I think it already happened in the past were decimal were represented using string or number and now we have a class for them and was even considered to use WebAssembly to represents them.

PS: My example can be wrong I didn't check all the facts :) but you get the idea :)

So even if you add Guid or char variant of the helpers, my advice is to avoid "hack" like unbox and use guid.ToString() or string charValue.

from feliz.

Zaid-Ajaj avatar Zaid-Ajaj commented on July 19, 2024

@cmeeren The reasons for not using Guid is not because to save the computation of stringifying it but rather because of the points you mentioned above, it doesn't make much sense and for this example as well, I would rather wait for a good use-case where a user really needs this thing over calling string guid

from feliz.

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.