Skip to content

TS: Remove generated profile override interface#104

Merged
ryukzak merged 1 commit intomainfrom
remove-profile-interface
Mar 16, 2026
Merged

TS: Remove generated profile override interface#104
ryukzak merged 1 commit intomainfrom
remove-profile-interface

Conversation

@ryukzak
Copy link
Copy Markdown
Collaborator

@ryukzak ryukzak commented Mar 16, 2026

  • Remove generateProfileOverrideInterface and supporting functions (detectFieldOverrides, tsTypeForProfileField, collectDisallowedChoiceFields)
  • Remove FieldOverrides type and overrides param from generateProfileImports
  • Remove type re-exports from profile index files
  • Clean up unused imports (isSpecializationTypeSchema, typeSchemaInfo, resolvePrimitiveType, tsEnumType)

The interface (e.g. export interface USCoreBodyWeightProfile extends Observation { ... }) was misleading — actual data lives in this.resource, not on the class instance, so the interface created wrong expectations.

The interface (e.g. `export interface USCoreBodyWeightProfile extends
Observation`) declared narrowed fields directly on the profile type, but
actual data lives in `this.resource`. This created a false expectation
that fields like `profile.subject` exist on the instance. Profile
narrowing is now expressed only through validation and class accessors.
@ryukzak ryukzak changed the title Remove generated profile override interface Remove generated TypeScript profile override interface Mar 16, 2026
@ryukzak ryukzak changed the title Remove generated TypeScript profile override interface TS: Remove generated profile override interface Mar 16, 2026
@ryukzak ryukzak merged commit f36f12c into main Mar 16, 2026
31 checks passed
@ryukzak ryukzak deleted the remove-profile-interface branch March 16, 2026 12:16
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