Workers says "is not a function" but it totally is!

I’m writing a class called Router with TypeScript. I have an instance of that class with a public method called handle, which is being called successfully to handle the incoming request. This public method has logic to work for both HTTP and Service Workers… it sees that the request is coming from Workers and calls a private method called this.handleEdge

Here’s the problem… Workers dies at that point and says “Uncaught (in promise) TypeError: this.handleEdge is not a function” I’m staring straight at the method. TypeScript is happy. The method is totally there right underneath the public method that it just called.

Does Cloudflare Workers not support private methods or something??

Can you share your code? Workers uses the most recent V8 version so should absolutely support private class methods.

Here is the router itself:

And the code calling it:

import { Router } from "minikin-router";

const router = new Router();

router.route("GET *", () => "foobar");

export default {
  fetch: router.handle,
};

We get to the handle method and then it tries to call handleEdge and reports that the function doesn’t exist.