Skip to content

fix: add items type to roles const in access-ref partner organization#24

Draft
BatLeDev wants to merge 2 commits intomainfrom
fix/access-ref-roles-const-array
Draft

fix: add items type to roles const in access-ref partner organization#24
BatLeDev wants to merge 2 commits intomainfrom
fix/access-ref-roles-const-array

Conversation

@BatLeDev
Copy link
Member

Problem

roles: { type: 'array', const: [] } generates roles?: unknown[] which works but is imprecise. Without items, the TypeScript type lacks the string[] information needed for .includes(session.accountRole) to compile correctly in index.ts.

Fix

Add items: { type: 'string' } to the roles property of the partner organization variant:

roles: { type: 'array', const: [], items: { type: 'string' } }

This generates the correct string[] type while keeping the const: [] validation (ensuring roles is always empty for partner organizations).

Note: const: [] (non-primitive) causes AJV standalone code generation to emit require("ajv/dist/runtime/equal"). A separate fix for that is tracked in json-layout/json-layout#9.

Using const: [] (non-primitive) causes AJV standalone code generation
to emit require("ajv/dist/runtime/equal") for deep equality checks,
which breaks ESM builds. maxItems: 0 is semantically equivalent and
avoids this dependency.
@BatLeDev BatLeDev marked this pull request as draft March 19, 2026 13: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