Skip to content

TypeScript: join a keyed in-process registry's publish to the functions filed under the same key - #1828

Merged
swapnilpaliwal-sd merged 1 commit into
apps/integration-0.1.9from
apps/typescript/keyed-inprocess-callback-registry
Sep 30, 2026
Merged

swapnilpaliwal-sd merged 1 commit into
apps/integration-0.1.9from
apps/typescript/keyed-inprocess-callback-registry

Conversation

@swapnilpaliwal-sd

Copy link
Copy Markdown
Contributor
  • A method that files its function parameter in a field under its key parameter (slot.add(fn), map.set(k, fn), obj[k] = fn) and a method that reads that field by key and calls what it gets are now joined at their callers: a publish reaches the functions registered under the same key (event_dispatch, new file call-edge-generation/keyed_registry.dl).
  • Keys: literal, const, const-object member (local or imported), computed object keys of a { [K]: fn } table; a run-time key matches all; a constant the dispatch also looks up (wildcard) matches every publish.
  • Followed through wrappers that forward the key/function (closures included) and a subscribe-all method over a table.
  • The key-blind function-type envelope candidate is withdrawn for such a store's parameter, its overload signatures and forwarding wrappers; a registry slot's add/delete is a collection store, not a callback hand-off.
  • New golden 86-keyed-callback-registry + plugin case keyed-callback-registry (4 controls: other key, other table entry, read-without-call, terse form's other key; 2 of them fail if the envelope guard is removed).
  • Checked: TS goldens 100/100, TS plugin cases 219/219; on a ~5.8k-edge TS monorepo +31 event_dispatch edges, 8 key-blind value candidates removed, probes 47/74 before and after with no regressions, index 28-40s both.

…ns filed under the same key

A class that stores a function parameter in a field under a key parameter
(slot.add(fn), map.set(k, fn), obj[k] = fn) and another method that reads
that field by key and calls what it gets is now joined caller to caller:
each publish site reaches the functions registered under an equal key
(tier event_dispatch), a run-time key reaches all of them, and a constant
the dispatch also looks up (a wildcard) matches every publish. Wrappers
that forward the key or the function, and a subscribe-all method taking a
table of { [KEY]: fn } entries, are followed.

The function-type envelope row that made every registered function a
candidate of the handler type (key-blind) is withdrawn for such a store's
parameter, its overload signatures and forwarding wrappers.

Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
@swapnilpaliwal-sd
swapnilpaliwal-sd merged commit 9212383 into apps/integration-0.1.9 Sep 30, 2026
12 checks passed
@swapnilpaliwal-sd
swapnilpaliwal-sd deleted the apps/typescript/keyed-inprocess-callback-registry branch September 30, 2026 19:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant