I'd love to use (and contribute to) this library, but it doesn't look look like it handles ESI caching properly.
Unless I'm misreading the code, it seems like you only ever cache (using memoize) the first response for every API call. If I'm missing something, feel free to close this issue.