Skip to content

🐛 Consume a task as an operation.#915

Merged
cowboyd merged 1 commit intov4from
v4-task-as-operation
Oct 25, 2024
Merged

🐛 Consume a task as an operation.#915
cowboyd merged 1 commit intov4from
v4-task-as-operation

Conversation

@cowboyd
Copy link
Copy Markdown
Member

@cowboyd cowboyd commented Oct 25, 2024

Motivation

Tasks are supposed to be both operations and promises. However, I had forgotten to make the task consumaeble as an operation, and only a promise. However, because we were monkey-patching Promise.prototype, it was actually hiding the gap because everywher we needed to consume a task as an operation, it just used the promise as operation route.

Approach

I added back the operation functionality, but at the same time, I actually removed the monkey-patch of Promise.prototype for our test suite so that we are forced to follow the operation pathway explicitly. That way, we won't risk regressing back to non-functioning operation tasks. It does make the tests a little more verbose, but the added safety is worth it.

Tasks are supposed to be both operations _and_ promises. However, I
had forgotten to make the task consumaeble as an operation, and only a
promise. However, because we were monkey-patching `Promise.prototype`,
it was actually hiding the gap because everywher we needed to consume
a task as an operation, it just used the promise as operation route.

I added back the operation functionality, but at the same time, I
actually removed the monkey-patch of `Promise.prototype` for our test
suite so that we are forced to follow the operation pathway
explicitly. That way, we won't risk regressing back to non-functioning
operation tasks. It does make the tests a little more verbose, but the
added safety is worth it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant