Skip to content

Epic: De-duplicate interpreter runtime value-type wrappers #1093

Description

@nickna

Goal

The interpreter-side twin of Epic 5: the runtime value-type wrappers (SharpTS*) were authored by copy-paste and need shared bases/helpers. The Intl family, crypto family, typed-array subclasses, and stream write-side each re-roll coercion, encoding, options-parsing, and member dispatch. Some copies have already diverged (e.g. Decipher.FormatOutput has a utf8 case Cipher lacks; forked ToDouble defaults) — an active latent-bug hazard, not cosmetic.

Start with the zero-risk static-helper extractions, then the abstract bases.

Sub-issues (rough priority order)


Working agreement for every child PR

  • Green on dotnet test, SharpTS.Test262, and SharpTS.TypeScriptConformance (no baseline regression).
  • Interpreter and compiled output must remain behaviourally identical; add dual-mode tests where applicable.
  • Standalone compiled DLLs must not gain a SharpTS.dll dependency (see CLAUDE.md "Standalone DLL Constraint").

Source: codebase-wide maintainability audit, 2026-06-29.

Metadata

Metadata

Assignees

No one assigned

    Labels

    epicUmbrella tracking issue with child taskstech-debtCode maintainability / tech-debt cleanup

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions