Giter Club home page Giter Club logo

Comments (4)

edemaine avatar edemaine commented on September 25, 2024

This seems like the same issue as #1113. Could you move your example to there?

from civet.

bbrk24 avatar bbrk24 commented on September 25, 2024

I think it's different. That issue can plausibly be fixed by removing a newline from the generated code, and emitting for (const key in obj){const value = obj[key];. This issue requires transposing the comment across the entire body of the for loop, which may be arbitrarily long and isn't necessarily collapsible (e.g. if it contains line comments or a multi-line template string).

from civet.

edemaine avatar edemaine commented on September 25, 2024

Ah, right, sorry.

from civet.

edemaine avatar edemaine commented on September 25, 2024

Do you have a proposal for how to fix this? I don't think we can use t in place of results here because t might change in the loop and then semantics change.

One better workaround I think:

sqrts := for i of [1..3]
  Math.sqrt i
// @ts-expect-error I can't prove this has three elements but it does
t = sqrts

It would be nice if this worked, but |> currently can't follow a loop like this:

t = for i of [1..3]
  Math.sqrt i
|> as [number, number, number]

Or perhaps this would be even cleaner, but also doesn't parse as intended:

t = for i of [1..3]
  Math.sqrt i
as [number, number, number]

Back to comments, one thing I would find somewhat natural to write is

t = // @ts-expect-error
  for i of [1..3]
    Math.sqrt i

Unfortunately @ts-expect-error must come on the line before, which seems hard to guarantee...

from civet.

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.