Echo JS 0.11.0

<~>

tracker1 comments

tracker1 275 days ago. link 1 point
The debounce answer isn't quite right... the timeout should be from the first call, it should hold a map against the callback method, and expressly not reset the timer... the debounce should (generally) be from the first call, not the most recent call.  Although there are times you may want that kind of debounce, that's not how most libraries implement it.
tracker1 275 days ago. link 1 point
The following question often tells me how well a developer actually understands JavaScript as a language.

What specific values are falsy in JavaScript?

Although that isn't the only question, most of the questions in TFA are really generic and most devs with any formal training can answer them.
tracker1 281 days ago. link 1 point
I took a very similar approach when I made my first Node API over a decade ago.  In the end, it got complicated pretty quickly.  I actually really like the Koa/Oak approach myself.

When you get to the point of even several dozen routes, I can imagine the registration methods in TFA to become overly cumbersome to say the least.

Just my own $.02 on this.
tracker1 282 days ago. link 1 point
Worth noting, that adding a month the naive way won't always get you what you should expect... for example:

    let dtm = new Date(2020,0,31); // Fri Jan 31 2020...
    dtm.setMonth(dtm.getMonth() + 1);
    console.log(dtm);
    // Mon Mar 02 2020...

That's not what you should expect, I would expect the last day of February.

    function addMonths(dtm, months = 1) {
      const month = dtm.getMonth() + ~~months;
      const ret = new Date(dtm); // clone date - don't mutate
      ret.setMonth(month);
      if (ret.getMonth() > month) {
        ret.setDate(0); // go to end of previous month
      }
      return ret;
    }

This way you can add to the date, without mutation and get the expected result.

    let dtmIn = new Date(2020,0,31);
    let dtmOut = addMonths(new Date(2020,0,31));
    console.log(dtmOut);
    // Sat Feb 29 2020...
tracker1 294 days ago. link 1 point
Unfortunately, npm is entrenched, best long term options are to enhance and expand npm proper.
tracker1 294 days ago. link 1 point
Interesting... I starred it for later review.  Definitely looks useful, and will probably take a review/audit in the near future.
tracker1 302 days ago. link 2 points
I'm guessing GPT, or otherwise replicating an existing tutorial or repository that is using this.
tracker1 302 days ago. link 1 point
If using service workers, make sure to setup to self-update... this can get kind of borked if you don't.
tracker1 318 days ago. link 1 point
Not sure if this is cloned/duplicate content, but the sample code formatting is completely borked, whitespace is missing. Beyond this, the API itself isn't really detailed well and there is missing context for supported browsers [1]. Which does indeed seem to be well supported.

Links to the MozDev API docs might help as well. [2][3]

    1. https://caniuse.com/payment-request
    2. https://developer.mozilla.org/en-US/docs/Web/API/PaymentRequest
    3. https://developer.mozilla.org/en-US/docs/Web/API/PaymentResponse
[more]