Live event console

Build and inspect a real registry.

Add persistent, one-shot, typed, and wildcard subscribers; emit zero or many arguments; remove registrations; and watch the exact synchronous order. No user code is evaluated.

Three starter subscriptions are ready.

1 · Subscribe

Add a subscriber

Whitespace, Unicode, empty strings, and prototype-like names are preserved exactly.

2 · Publish

Emit an event

JSON must be a top-level array. Invalid JSON is reported and never silently converted to text.
Argument presets

Live state

Registry

0 subscribers

No subscriptions.

Chronological

Dispatch timeline

0 entries
  1. Emit demo.message to begin.
Run mutation scenarios
This is an unbundled native ESM application.

The page's head maps event-pubsub and strong-type to deployed files, then playground.js imports the bare package name. An installed application uses the equivalent document-relative map below before its first module script:

<script type="importmap">
{"imports":{"event-pubsub":"./node_modules/event-pubsub/index.js","strong-type":"./node_modules/strong-type/index.js"}}
</script>

If the app uses a strict CSP, authorize the inline import-map script with an allowed nonce or hash.

All displayed event types are quoted so empty strings and whitespace remain visible. Timeline retention is capped at 200 entries.