Skip to content

Commit 7b4810a

Browse files
committed
simplify output
1 parent c889f8a commit 7b4810a

16 files changed

Lines changed: 2923 additions & 1333 deletions

File tree

packages/openapi-ts-tests/faker/v10/__snapshots__/2.0.x/faker-locale/@faker-js/faker.gen.ts

Lines changed: 266 additions & 115 deletions
Large diffs are not rendered by default.

packages/openapi-ts-tests/faker/v10/__snapshots__/2.0.x/faker-typed/@faker-js/faker.gen.ts

Lines changed: 266 additions & 115 deletions
Large diffs are not rendered by default.

packages/openapi-ts-tests/faker/v10/__snapshots__/2.0.x/faker/@faker-js/faker.gen.ts

Lines changed: 266 additions & 115 deletions
Large diffs are not rendered by default.

packages/openapi-ts-tests/faker/v10/__snapshots__/3.0.x/faker-locale/@faker-js/faker.gen.ts

Lines changed: 340 additions & 159 deletions
Large diffs are not rendered by default.

packages/openapi-ts-tests/faker/v10/__snapshots__/3.0.x/faker-typed/@faker-js/faker.gen.ts

Lines changed: 340 additions & 159 deletions
Large diffs are not rendered by default.

packages/openapi-ts-tests/faker/v10/__snapshots__/3.0.x/faker/@faker-js/faker.gen.ts

Lines changed: 340 additions & 159 deletions
Large diffs are not rendered by default.

packages/openapi-ts-tests/faker/v10/__snapshots__/3.1.x/faker-locale/@faker-js/faker.gen.ts

Lines changed: 340 additions & 159 deletions
Large diffs are not rendered by default.

packages/openapi-ts-tests/faker/v10/__snapshots__/3.1.x/faker-typed/@faker-js/faker.gen.ts

Lines changed: 340 additions & 159 deletions
Large diffs are not rendered by default.

packages/openapi-ts-tests/faker/v10/__snapshots__/3.1.x/faker/@faker-js/faker.gen.ts

Lines changed: 340 additions & 159 deletions
Large diffs are not rendered by default.

packages/openapi-ts/src/plugins/@faker-js/faker/shared/export.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,26 @@ export function exportAst({
4343
...(meta.role ? { role: meta.role } : undefined),
4444
});
4545

46-
// Build arrow function, only adding options param when the expression uses faker
46+
// Build arrow function, only adding options param when the expression uses faker.
47+
// When usesAccessor is true, emit a block body: const f = options?.faker ?? faker; return <expr>;
4748
const arrowFn = $.func()
4849
.arrow()
4950
.$if(final.usesFaker, (f) => f.param('options', (p) => p.optional().type('Options')))
5051
.$if(typeSymbol, (f) => f.returns($.type(typeSymbol!)))
51-
.do($.return(final.expression));
52+
.$if(
53+
final.usesAccessor,
54+
(f) => {
55+
const fakerPackagePath = plugin.config.locale
56+
? `@faker-js/faker/locale/${plugin.config.locale}`
57+
: '@faker-js/faker';
58+
const fakerSymbol = plugin.external(`${fakerPackagePath}.faker`);
59+
const fDecl = $.const('f').assign(
60+
$.binary($('options').attr('faker').optional(), '??', $(fakerSymbol)),
61+
);
62+
return f.do(fDecl, $.return(final.expression));
63+
},
64+
(f) => f.do($.return(final.expression)),
65+
);
5266

5367
const statement = $.const(symbol).export().assign(arrowFn);
5468

0 commit comments

Comments
 (0)