diff --git a/src/sync/atomic-bool.ts b/src/shared/atomic-bool.ts similarity index 100% rename from src/sync/atomic-bool.ts rename to src/shared/atomic-bool.ts diff --git a/src/sync/atomic-int16.ts b/src/shared/atomic-int16.ts similarity index 100% rename from src/sync/atomic-int16.ts rename to src/shared/atomic-int16.ts diff --git a/src/sync/atomic-int32.ts b/src/shared/atomic-int32.ts similarity index 100% rename from src/sync/atomic-int32.ts rename to src/shared/atomic-int32.ts diff --git a/src/sync/atomic-int64.ts b/src/shared/atomic-int64.ts similarity index 100% rename from src/sync/atomic-int64.ts rename to src/shared/atomic-int64.ts diff --git a/src/sync/atomic-int8.ts b/src/shared/atomic-int8.ts similarity index 100% rename from src/sync/atomic-int8.ts rename to src/shared/atomic-int8.ts diff --git a/src/sync/atomic-uint16.ts b/src/shared/atomic-uint16.ts similarity index 100% rename from src/sync/atomic-uint16.ts rename to src/shared/atomic-uint16.ts diff --git a/src/sync/atomic-uint32.ts b/src/shared/atomic-uint32.ts similarity index 100% rename from src/sync/atomic-uint32.ts rename to src/shared/atomic-uint32.ts diff --git a/src/sync/atomic-uint64.ts b/src/shared/atomic-uint64.ts similarity index 100% rename from src/sync/atomic-uint64.ts rename to src/shared/atomic-uint64.ts diff --git a/src/sync/atomic-uint8.ts b/src/shared/atomic-uint8.ts similarity index 100% rename from src/sync/atomic-uint8.ts rename to src/shared/atomic-uint8.ts diff --git a/src/sync/index.ts b/src/shared/index.ts similarity index 100% rename from src/sync/index.ts rename to src/shared/index.ts diff --git a/src/sync/mutex.ts b/src/shared/mutex.ts similarity index 100% rename from src/sync/mutex.ts rename to src/shared/mutex.ts diff --git a/src/sync/reconstruct.ts b/src/shared/reconstruct.ts similarity index 100% rename from src/sync/reconstruct.ts rename to src/shared/reconstruct.ts diff --git a/src/sync/rwlock.ts b/src/shared/rwlock.ts similarity index 100% rename from src/sync/rwlock.ts rename to src/shared/rwlock.ts diff --git a/src/sync/slab.ts b/src/shared/slab.ts similarity index 100% rename from src/sync/slab.ts rename to src/shared/slab.ts diff --git a/src/transfer.ts b/src/transfer.ts index a6073de..6e6a3fd 100644 --- a/src/transfer.ts +++ b/src/transfer.ts @@ -8,8 +8,8 @@ export interface Transferred { readonly value: T; } -export function transfer(value: T): Transferred { - return { [TRANSFER]: true as const, value }; +export function transfer(value: T): T { + return { [TRANSFER]: true as const, value } as unknown as T; } export function extractTransferables(args: unknown[]): { args: unknown[]; transfer: Transferable[] } { diff --git a/test/sync/atomic-bool.test.ts b/test/shared/atomic-bool.test.ts similarity index 100% rename from test/sync/atomic-bool.test.ts rename to test/shared/atomic-bool.test.ts diff --git a/test/sync/atomic-int16.test.ts b/test/shared/atomic-int16.test.ts similarity index 100% rename from test/sync/atomic-int16.test.ts rename to test/shared/atomic-int16.test.ts diff --git a/test/sync/atomic-int32.test.ts b/test/shared/atomic-int32.test.ts similarity index 100% rename from test/sync/atomic-int32.test.ts rename to test/shared/atomic-int32.test.ts diff --git a/test/sync/atomic-int64.test.ts b/test/shared/atomic-int64.test.ts similarity index 100% rename from test/sync/atomic-int64.test.ts rename to test/shared/atomic-int64.test.ts diff --git a/test/sync/atomic-int8.test.ts b/test/shared/atomic-int8.test.ts similarity index 100% rename from test/sync/atomic-int8.test.ts rename to test/shared/atomic-int8.test.ts diff --git a/test/sync/atomic-uint16.test.ts b/test/shared/atomic-uint16.test.ts similarity index 100% rename from test/sync/atomic-uint16.test.ts rename to test/shared/atomic-uint16.test.ts diff --git a/test/sync/atomic-uint32.test.ts b/test/shared/atomic-uint32.test.ts similarity index 100% rename from test/sync/atomic-uint32.test.ts rename to test/shared/atomic-uint32.test.ts diff --git a/test/sync/atomic-uint64.test.ts b/test/shared/atomic-uint64.test.ts similarity index 100% rename from test/sync/atomic-uint64.test.ts rename to test/shared/atomic-uint64.test.ts diff --git a/test/sync/atomic-uint8.test.ts b/test/shared/atomic-uint8.test.ts similarity index 100% rename from test/sync/atomic-uint8.test.ts rename to test/shared/atomic-uint8.test.ts diff --git a/test/sync/cross-worker.test.ts b/test/shared/cross-worker.test.ts similarity index 100% rename from test/sync/cross-worker.test.ts rename to test/shared/cross-worker.test.ts diff --git a/test/sync/mutex.test.ts b/test/shared/mutex.test.ts similarity index 100% rename from test/sync/mutex.test.ts rename to test/shared/mutex.test.ts diff --git a/test/sync/rwlock.test.ts b/test/shared/rwlock.test.ts similarity index 100% rename from test/sync/rwlock.test.ts rename to test/shared/rwlock.test.ts diff --git a/test/sync/slab.test.ts b/test/shared/slab.test.ts similarity index 100% rename from test/sync/slab.test.ts rename to test/shared/slab.test.ts