avajs/ava

Enable value transfers in shared worker messages

Open

#2 733 ouverte le 6 avr. 2021

Voir sur GitHub
 (2 commentaires) (0 réactions) (0 assignés)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

Guide contributeur