Git Product home page Git Product logo

Comments (4)

Chriscbr avatar Chriscbr commented on June 10, 2024 1

@ekeren I'm not sure I understand but maybe a synchronous discussion will help. 😄

BTW, I want to share one more example where I created my own Queue class:

bring cloud;

class Queue {
  b: cloud.Bucket;
  new() {
    this.b = new cloud.Bucket();
    nodeof(this.b).hidden = true;
  }
  pub inflight push(msg: str) {
    this.b.put("file.txt", msg);
  }
  pub inflight pop() {
    this.b.delete("file.txt");
  }
  pub inflight boring() {
    log("this method does not interact with other resources");
  }
  pub setConsumer(fn: inflight (str): void) {
    this.b.onUpdate(fn);
  }
}

let b = new cloud.Bucket();
let q = new Queue();
q.setConsumer(inflight () => {
  b.list();
});

The Queue class has three inflight methods, push, pop, and boring. boring does not interact with any other resources.

Even though I do not have a cloud.Function that is calling the push or pop methods on my class, to me it feels intuitive that the visual map shows the methods of the class I wrote.

Screenshot 2024-05-17 at 2 13 21 PM

To me what may be confusing is not all of my class's methods are shown - the Wing Console doesn't show there is a boring method that can also be called.

from wing.

Chriscbr avatar Chriscbr commented on June 10, 2024

The oncreate handler should have a connection to the queue (via push) - (probably already covered by #6458)

I believe this will be fixed by #6509

Not to see putJson

I want to say this could be expected behavior, but I'm curious to learn what you'd like to see as a user.

Take this example:

bring cloud;

let b = new cloud.Bucket();
let q = new cloud.Queue();
q.setConsumer(inflight () => {
  b.put("file.txt", "Hello World");
});

I never call the queue's "push" method in the app code. But the Wing Console shows "push()" in the map.

Screenshot 2024-05-17 at 12 00 49 AM

@ekeren I'm curious does this feel like the same problem to you? Or do you think the problem showing put() and putJson() is different?

(BTW, we could hide the inner function if needed so that it instead looks like the map below)
Screenshot 2024-05-17 at 12 14 10 AM

from wing.

ekeren avatar ekeren commented on June 10, 2024

I don't understand why push is there, it is very confusing

I would expect to see a:

⚡️ consumer
Handler and no push

from wing.

skyrpex avatar skyrpex commented on June 10, 2024

I'd prefer to have the public API of every class, too. The private methods, not that important IMO.

from wing.

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.