Skip to content

refactor(metadata)!: remove the RowFields alias of StoredRow - #135

Merged
Upd4ting merged 1 commit into
mainfrom
refactor/remove-rowfields-alias
Nov 14, 2026
Merged

Upd4ting merged 1 commit into
mainfrom
refactor/remove-rowfields-alias

Conversation

@Upd4ting

Copy link
Copy Markdown
Member

Why

interface-data-api#131 kept RowFields as a deprecated alias of StoredRow so that interface-dms 0.13 would still type-check. Nobody uses the product yet, so no compatibility code is kept. This PR removes the alias and leaves StoredRow as the only name for a row's fields. It ships in 0.8.0 as a breaking change.

What

  • src/internal/field-types.ts no longer declares RowFields.
  • src/metadata.ts no longer re-exports it.
  • src/tests/index/consumer_declarations.test.ts drops the RowFields import and assignment. Its route check now asserts that DefaultRoutes.Get answers a StoredRow.

No other @deprecated export is left in the repository.

Attention

  • dms main still imports RowFields from @antelopejs/interface-data-api/metadata in packages/dms/src. Its peer range >=0.6.0 <1.0.0 accepts 0.8.0. So dms has to move to StoredRow (ANT-2384) before it installs data-api 0.8.0.
  • The v0.7.0 section of CHANGELOG.md still names RowFields, because it records what 0.7.0 shipped. This PR doesn't rewrite released history.
  • No stored data changes. This is a type alias with no runtime value.

Proof

Main's consumer test fails on this head. That test still imports RowFields. Run against this head's build:

  Published declarations
    1) type-check in a consumer module with library checks on
  0 passing (4s)
  1 failing
  1) Published declarations
       type-check in a consumer module with library checks on:
      AssertionError: expected [ Array(1) ] to deeply equal []
      + expected - actual
      -[
      -  "TS2305 consumer-check/consumer.ts: Module '\"@antelopejs/interface-data-api/metadata\"' has no exported member 'RowFields'."
      -]
      +[]

This head's consumer test passes:

  Published declarations
    ✔ type-check in a consumer module with library checks on (2239ms)
  1 passing (2s)

pnpm run checks output: Checks: 11 passed, 0 failed.

flowchart LR
  C[consumer imports from /metadata] --> S[StoredRow]
  C -. removed .-x R[RowFields alias]
Loading

The API diff below shows a single removal, RowFields, from metadata and its @internal source module. Runtime exports are unchanged.

API: differences against origin/main (committed HEAD).
diff --git a/base/_root/exports/subpath/internal%2Ffield-types.d.ts b/head/_root/exports/subpath/internal%2Ffield-types.d.ts
index d599572..f44913a 100644
--- a/base/_root/exports/subpath/internal%2Ffield-types.d.ts
+++ b/head/_root/exports/subpath/internal%2Ffield-types.d.ts
@@ -159,7 +159,6 @@ export interface ReadableAccessFields {
         FieldData
     ][];
 }
-export type RowFields = StoredRow;
 export interface StoredRow {
     [field: string]: StoredValue;
 }
diff --git a/base/_root/exports/subpath/metadata.d.ts b/head/_root/exports/subpath/metadata.d.ts
index acd49a1..6b0f78c 100644
--- a/base/_root/exports/subpath/metadata.d.ts
+++ b/head/_root/exports/subpath/metadata.d.ts
@@ -185,7 +185,6 @@ export interface ReadableAccessFields {
         FieldData
     ][];
 }
-export type RowFields = StoredRow;
 export declare const Sortable: (options?: undefined | {
     noIndex?: boolean;
 }) => import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").MethodDecorator;
diff --git a/base/_root/typesVersions/%2A/metadata/0.d.ts b/head/_root/typesVersions/%2A/metadata/0.d.ts
index acd49a1..6b0f78c 100644
--- a/base/_root/typesVersions/%2A/metadata/0.d.ts
+++ b/head/_root/typesVersions/%2A/metadata/0.d.ts
@@ -185,7 +185,6 @@ export interface ReadableAccessFields {
         FieldData
     ][];
 }
-export type RowFields = StoredRow;
 export declare const Sortable: (options?: undefined | {
     noIndex?: boolean;
 }) => import("@antelopejs/interface-core/decorators").PropertyDecorator & import("@antelopejs/interface-core/decorators").MethodDecorator;
API: skipped .agents/skills/formal-field-access, private.
API: skipped .agents/skills/verify-interface, private.
API: skipped test-helper entry ./dist/*.d.ts in .; test helpers need a test runner and are outside both proof halves.
Runtime API: 1 packages, 24 entries unchanged against origin/main (committed HEAD).
Runtime API: skipped test-helper entry ./dist/*.js in .; test helpers need a test runner and are outside both proof halves.
No behavioural probe ran.

Suppressions in authored code files (origin/main and committed HEAD). A lint directive counts once per rule it names; `*` is a directive naming none.
| Suppressions | base | HEAD |
| --- | ---: | ---: |
| Lint suppressions, all rules | 0 | 0 |
| `@ts-expect-error` | 0 | 0 |
| `@ts-ignore` | 0 | 0 |
| `SAFETY:` comments | 3 | 3 |
| Lint config rule-offs, all rules | 0 | 0 |
<!-- antelopejs-proof base=170f079c2b77608fd33223eeb6b79e3551d153f2 head=b951fdf07c52e0ee1ada3547df7c78838443265a lines=51 digest=fa4df0b8a2320a85 command: antelopejs-api-diff origin/main -->

@Upd4ting
Upd4ting merged commit 7666d27 into main Nov 14, 2026
10 checks passed
@Upd4ting
Upd4ting deleted the refactor/remove-rowfields-alias branch November 14, 2026 01:25
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