---
title: "Szenadam Scorm Api Wrapper"
description: "This is a single TypeScript file — one class, roughly 300 lines — that finds the SCORM API object in a parent or opener window and gives you initialize, get, set, status, save and quit over it. The README states plainly that it is a reimplementation of the widely-used pipwerks wrapper, and the repository keeps both of the original JavaScript files under references/ for comparison. It is not a fork: the logic was rewritten as a class with typed returns and private members, then tested with Jest."
canonical_url: "https://scorm-tools.com/tools/szenadam-scorm-api-wrapper"
last_updated: "2026-10-31T10:21:59.590Z"
---

This is a single TypeScript file — one class, roughly 300 lines — that finds the SCORM API object in a parent or opener window and gives you `initialize`, `get`, `set`, `status`, `save` and `quit` over it. The README states plainly that it is a reimplementation of the widely-used pipwerks wrapper, and the repository keeps both of the original JavaScript files under `references/` for comparison. It is not a fork: the logic was rewritten as a class with typed returns and private members, then tested with Jest.

The audience is narrow but real: a TypeScript project that wants the pipwerks behaviour without a `declare module` shim or a hand-written type file. If you do not need types, the original is better attended.

What it is not good for is anything beyond the run-time API. There is no packaging, no manifest generation, no sequencing, no offline queueing, and no handling of the LMS-specific quirks that make production SCORM integration awkward.

Weigh the maintenance state before adopting it. The last commit to `master` was a Dependabot merge in December 2022, npm shows version 1.1.1 from April 2022, and the project has eight stars and no open issues. Nothing here is broken, but nothing will be fixed either — treat it as source to read and vendor rather than a dependency to track.
