avajs/ava

Enable value transfers in shared worker messages

Open

#2733 opened on Apr 6, 2021

View on GitHub
 (2 comments) (0 reactions) (0 assignees)JavaScript (20,600 stars) (1,408 forks)batch import
enhancementhelp wantedscope:shared-workers

Description

From #2705, when publishing shared worker messages, or replying to an individual message, we should enable values to be transferred.

I don't think a second "transfer list" API is a good fit for the shared worker API. Perhaps we could add a chaining API like .transferring(buffer1, messagePort2).publish({buffer1, messagePort2}) and .transferring(buffer1, messagePort2).reply({buffer1, messagePort2}).

Values can only be transferred once. This also means we can't add this to the .broadcast() method.

See:

https://github.com/avajs/ava/blob/0e5cc7dc2b1512d0abe9bfba57b26888eedea0cf/plugin.d.ts#L35

https://github.com/avajs/ava/blob/0e5cc7dc2b1512d0abe9bfba57b26888eedea0cf/plugin.d.ts#L41

Contributor guide