Skip to content

oyc0401/Callink

Repository files navigation

Callink

npm version Build MIT license

CallinkComlink에서 영감을 받아 개발한 TypeScript 라이브러리로, 웹 워커에서 메인 스레드로의 통신을 간편하게 만들어줍니다.

특징

  • 웹워커 -> 메인 - Comlink가 메인에서 워커로의 호출을 간소화했다면, Callink는 워커에서 메인으로의 호출을 간소화합니다.
  • 간단한 사용법 – 워커 안에서 메인 스레드 함수를 직접 호출하듯 사용할 수 있습니다
  • 전송 최적화 지원ArrayBuffer, OffscreenCanvas 등을 전송하는 Transferable을 지원합니다.

설치

npm install callink

예시

main.ts

import { Callink } from "callink";

const obj = {
  counter: 0,
  inc() {
    return this.counter++;
  },
};

const worker = new Worker("worker.js");
Callink.provide(worker, api);

worker.ts

import { Callink } from "callink";

const main = Callink.connect();

async function init() {;
  alert(`Counter: ${await main.counter}`);
  await main.inc();
  alert(`Counter: ${await main.counter}`);
}

init();

Transferable

const data = new Uint8Array([1, 2, 3, 4, 5]);
await main.send(Callink.transfer(data, [data.buffer]));

라이선스

MIT License © 2025 oyc0401

About

Comlink에서 영감을 받은 워커 → 메인 방향 통신 라이브러리

Resources

License

Stars

Watchers

Forks

Packages

No packages published