Skip to content

Commit f432e56

Browse files
committed
fix(enum-values): access array props
Fixes: #2140
1 parent e702883 commit f432e56

File tree

1 file changed

+5
-3
lines changed
  • packages/openapi-typescript/src/lib

1 file changed

+5
-3
lines changed

packages/openapi-typescript/src/lib/ts.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ export function oapiRef(path: string, resolved?: OapiRefResolved, deep = false):
180180

181181
const leadingType = addIndexedAccess(
182182
ts.factory.createTypeReferenceNode(
183-
ts.factory.createIdentifier(deep ? `DeepRequired<${String(initialSegment)}>` : String(initialSegment)),
183+
ts.factory.createIdentifier(deep ? `FlattenedDeepRequired<${String(initialSegment)}>` : String(initialSegment)),
184184
),
185185
...leadingSegments,
186186
);
@@ -309,10 +309,12 @@ export function tsArrayLiteralExpression(
309309

310310
if (
311311
options?.injectFooter &&
312-
!options.injectFooter.some((node) => ts.isTypeAliasDeclaration(node) && node?.name?.escapedText === "DeepRequired")
312+
!options.injectFooter.some(
313+
(node) => ts.isTypeAliasDeclaration(node) && node?.name?.escapedText === "FlattenedDeepRequired",
314+
)
313315
) {
314316
const helper = stringToAST(
315-
"type DeepRequired<T> = { [K in keyof T]: Required<DeepRequired<T[K]>> };",
317+
"type FlattenedDeepRequired<T> = { [K in keyof T]: Required<FlattenedDeepRequired<T[K] extends unknown[] ? T[K][number] : T[K]>>; };",
316318
)[0] as any;
317319
options.injectFooter.push(helper);
318320
}

0 commit comments

Comments
 (0)