npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ograf

v1.1.0

Published

TypeScript definitions for Ograf graphics

Readme

EBU OGraf Typescript Definitions

NPM Version

Typescript definitions for OGraf Graphics and OGraf Server API, see the OGraf website.

Getting Started

OGraf Graphics

import { GraphicsAPI } from 'ograf';


// Setup my OGraf graphic WebComponent:
class MyOGrafGraphic extends HTMLElement implements GraphicsAPI.Graphic {
    connectedCallback() {
        // Called when the element is added to the DOM
        // Note: Don't paint any pixels at this point, wait for load() to be called
    }

    async load(params) {
        if (params.renderType !== "realtime")
        throw new Error("Only realtime rendering is supported by this graphic");

        const elText = document.createElement("p");
        elText.innerHTML = "Hello world!";
        this.appendChild(elText);

        // When everything is loaded we can return:
        return {
        statusCode: 200,
        };
    }
    async dispose(_params) {
        this.innerHTML = "";
    }
    async updateAction(_params) {
        // No actions are implemented in this minimal example
    }
    async playAction(_params) {
        // No actions are implemented in this minimal example
    }
    async stopAction(_params) {
        // No actions are implemented in this minimal example
    }
    async customAction(params) {
        // No actions are implemented in this minimal example
    }
    async goToTime(_payload) {
        throw new Error("Non-realtime not supported!");
    }
    async setActionsSchedule(_payload) {
        throw new Error("Non-realtime not supported!");
    }
}

OGraf Server API

import { ServerApi } from 'ograf'

// The ServerAPI is auto-generated from the OGraf Server API OpenAPI definition.
// The types can be useful when you implement your OGraf Server:
type Method = ServerApi.paths['/renderers/{rendererId}/target/graphicInstance/playAction']['post']
const requestBody: Method['requestBody']
const requestParameters: Method['parameters']
const successResponse: Method['responses']['200']['content']['application/json']
const error500Response: Method['responses']['500']['content']['application/json']

For Developers

The instructions below are for developers who want to work on the Typescript definitions.

Note: All types in this package are based on the OGraf Specification. In case of any discrepancy between the two, this package is to be updated to match the OGraf Specification.

Install & build


npm install
npm run generate-types # Run this if the Graphics API has changed
npm run generate-server-types # Run this if the server API has changed


npm run build
# or
npm run watch

Publish to NPM

To publish a new version to NPM:

  1. Bump the version npm version major|minor|patch
  2. Commit and push to GitHub
  3. Go to the Actions tab and trigger the "Publish to NPM" workflow

To publish a nightly build to NPM:

  1. Go to the Actions tab and trigger the "Publish nightly to NPM" workflow