Skip to main content
markAsUntransferable - node__worker_threads.d.ts - Node documentation
function markAsUntransferable

Usage in Deno

```typescript import { markAsUntransferable } from "node:node__worker_threads.d.ts"; ```
markAsUntransferable(object: object): void
> [!WARNING] Deno compatibility > This symbol is not supported. Mark an object as not transferable. If `object` occurs in the transfer list of a `port.postMessage()` call, it is ignored. In particular, this makes sense for objects that can be cloned, rather than transferred, and which are used by other objects on the sending side. For example, Node.js marks the `ArrayBuffer`s it uses for its `Buffer pool` with this. This operation cannot be undone. ```js import { MessageChannel, markAsUntransferable } from 'node:worker_threads'; const pooledBuffer = new ArrayBuffer(8); const typedArray1 = new Uint8Array(pooledBuffer); const typedArray2 = new Float64Array(pooledBuffer); markAsUntransferable(pooledBuffer); const { port1 } = new MessageChannel(); port1.postMessage(typedArray1, [ typedArray1.buffer ]); // The following line prints the contents of typedArray1 -- it still owns // its memory and has been cloned, not transferred. Without // `markAsUntransferable()`, this would print an empty Uint8Array. // typedArray2 is intact as well. console.log(typedArray1); console.log(typedArray2); ``` There is no equivalent to this API in browsers.

Parameters

object: object

Return Type

void