Skip to content

feat(fmodata,typegen): add list type override with preserved custom list options#123

Merged
eluce2 merged 2 commits intomainfrom
feat/list-field-type-override
Feb 27, 2026
Merged

feat(fmodata,typegen): add list type override with preserved custom list options#123
eluce2 merged 2 commits intomainfrom
feat/list-field-type-override

Conversation

@eluce2
Copy link
Collaborator

@eluce2 eluce2 commented Feb 27, 2026

Note

Medium Risk
Introduces a new listField() builder with non-trivial read/write validation plus updates the OData type generator’s customization-preservation logic; both could subtly change generated output and runtime coercion for list-backed fields.

Overview
Adds a new listField() to @proofkit/fmodata for FileMaker return-delimited list strings, including newline normalization, optional nullability (allowNull), and optional per-item validation/transform (itemValidator), and exports it (and ListFieldOptions) from the public API.

Extends OData typegen to support a new typeOverride: "list", auto-import listField, and improves preserveUserCustomizations to keep user-authored listField({...}) options when the field remains list-typed (and drop them when the type changes), with updated docs/UI/schema, snapshots, and new unit/e2e coverage; also splits Vitest config for default vs e2e runs and updates typegen test scripts.

Written by Cursor Bugbot for commit 40db5f8. This will update automatically on new commits. Configure here.

@vercel
Copy link

vercel bot commented Feb 27, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
proofkit-docs Ready Ready Preview Feb 27, 2026 2:21pm

Request Review

@eluce2 eluce2 marked this pull request as ready for review February 27, 2026 12:43
Copy link
Collaborator Author

eluce2 commented Feb 27, 2026

@pkg-pr-new
Copy link

pkg-pr-new bot commented Feb 27, 2026

Open in StackBlitz

@proofkit/better-auth

pnpm add https://pkg.pr.new/proofgeist/proofkit/@proofkit/better-auth@123

@proofkit/cli

pnpm add https://pkg.pr.new/proofgeist/proofkit/@proofkit/cli@123

create-proofkit

pnpm add https://pkg.pr.new/proofgeist/proofkit/create-proofkit@123

@proofkit/fmdapi

pnpm add https://pkg.pr.new/proofgeist/proofkit/@proofkit/fmdapi@123

@proofkit/fmodata

pnpm add https://pkg.pr.new/proofgeist/proofkit/@proofkit/fmodata@123

@proofkit/typegen

pnpm add https://pkg.pr.new/proofgeist/proofkit/@proofkit/typegen@123

@proofkit/webviewer

pnpm add https://pkg.pr.new/proofgeist/proofkit/@proofkit/webviewer@123

commit: 956ee28

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Copy link
Collaborator Author

eluce2 commented Feb 27, 2026

Merge activity

  • Feb 27, 2:19 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Feb 27, 2:22 PM UTC: Graphite rebased this pull request as part of a merge.
  • Feb 27, 2:22 PM UTC: @eluce2 merged this pull request with Graphite.

@eluce2 eluce2 changed the base branch from fix/fmodata-clearoldfiles-preserve-customizations to graphite-base/123 February 27, 2026 14:20
@eluce2 eluce2 changed the base branch from graphite-base/123 to main February 27, 2026 14:20
This commit updates the listField function to use a more efficient check for non-string items in the input array. It also adds a test case to ensure that undefined list items are correctly rejected without throwing an error when no itemValidator is provided, enhancing input validation and error handling.
@eluce2 eluce2 force-pushed the feat/list-field-type-override branch from 0aadfc7 to 40db5f8 Compare February 27, 2026 14:21
@eluce2 eluce2 merged commit d154fe1 into main Feb 27, 2026
14 checks passed
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