Skip to content
← Public packages

@jelias/kody-release-tracker

Track platform releases with your own release hook and an optional daily digest for your account.

src/runtime.ts

20 lines · 695 B · TypeScript
Raw
import { kody, packageStorage } from 'kody:runtime';
import { onRelease } from './on-release.ts';
import type { Tracker } from './contracts.ts';
import { createTracker } from './tracker.ts';
export function runtimeTracker(): Tracker {
    const storage = packageStorage();
    const get = storage.get?.bind(storage);
    const set = storage.set?.bind(storage);
    if (!get || !set)
        throw new Error('packageStorage get and set are required');
    return createTracker({
        storage: {
            get: (key) => get(key),
            set: (key, value) => set(key, value),
        },
        fetch,
        hook: onRelease,
        emailSend: (mail) => kody.emailSend(mail),
    });
}