Digital-Alchemy-TS / Digital-Alchemy-TS/code-glue
Generic patching plugin system
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## 🪤 Context
- #13
One of the design requirements for virtual services is the ability to enable / disable at any time. In order to do that without creating accidental memory leaks, the outside coordinator needs a way to patch these reliably without adversely affecting the underlying libraries for normal day to day usage
It's easy to spin these up, but harder to not do things like leaving open event handles open. `hass` had to have some invasive patches for `refBy`, and that's a thing that will be repeated across all libraries
What seems best is to flip control of the situation, and implement a plugin registration system. Modules that want to participate in code-glue need to register plugins that will provide a wrapper around their functionality. The wrapper will allow for the tracking and cleanup of refs that the library creates
## 🩻 Additional details
Contributor guide
Assessment
This issue has not been assessed yet.