File tree Expand file tree Collapse file tree 12 files changed +52
-14
lines changed
Expand file tree Collapse file tree 12 files changed +52
-14
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ " @hey-api/shared " : patch
3+ ---
4+
5+ ** utils** : ` outputHeaderToPrefix() ` function signature change
Original file line number Diff line number Diff line change 1+ ---
2+ " @hey-api/openapi-ts " : patch
3+ ---
4+
5+ ** output** : pass default value to ` header ` function
Original file line number Diff line number Diff line change @@ -24,7 +24,6 @@ export function getOutput(userConfig: { output: MaybeArray<string | UserOutput>
2424 name : '{{name}}' ,
2525 suffix : '_gen' ,
2626 } ,
27- header : '# This file is auto-generated by @hey-api/openapi-python' ,
2827 path : '' ,
2928 postProcess : [ ] ,
3029 preferExportAll : false ,
Original file line number Diff line number Diff line change @@ -107,6 +107,7 @@ export async function createClient({
107107 eventInputPatch . timeEnd ( ) ;
108108
109109 const eventParser = logger . timeEvent ( 'parser' ) ;
110+ const header = config . output . header ;
110111 // TODO: allow overriding via config
111112 const project = new Project ( {
112113 defaultFileName : '__init__' ,
@@ -125,7 +126,11 @@ export async function createClient({
125126 : undefined ,
126127 renderers : [
127128 new PythonRenderer ( {
128- header : config . output . header ,
129+ header : ( ctx ) => {
130+ const defaultValue = [ '# This file is auto-generated by @hey-api/openapi-python' ] ;
131+ const result = typeof header === 'function' ? header ( { ...ctx , defaultValue } ) : header ;
132+ return result === undefined ? defaultValue : result ;
133+ } ,
129134 preferExportAll : config . output . preferExportAll ,
130135 preferFileExtension : config . output . importFileExtension || undefined ,
131136 resolveModuleName : config . output . resolveModuleName ,
Original file line number Diff line number Diff line change @@ -154,7 +154,11 @@ export function generateClientBundle({
154154 project : IProject ;
155155} ) : Map < string , string > | undefined {
156156 const renamed = new Map < string , string > ( ) ;
157- const headerPrefix = outputHeaderToPrefix ( header , project ) ;
157+ const headerPrefix = outputHeaderToPrefix ( {
158+ defaultValue : [ '# This file is auto-generated by @hey-api/openapi-python' ] ,
159+ header,
160+ project,
161+ } ) ;
158162
159163 // copy Hey API clients to output
160164 const isHeyApiClientPlugin = plugin . name . startsWith ( '@hey-api/client-' ) ;
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ type ExportsOptions = {
1111 preferExportAll ?: boolean ;
1212} ;
1313type Header = MaybeArray < string > | null | undefined ;
14+ type HeaderArg = MaybeFunc < ( ctx : RenderContext < PyDsl > ) => Header > ;
1415type Imports = Array < ReadonlyArray < ModuleImport > > ;
1516
1617function headerToLines ( header : Header ) : ReadonlyArray < string > {
@@ -32,7 +33,7 @@ export class PythonRenderer implements Renderer {
3233 *
3334 * @private
3435 */
35- private _header ?: MaybeFunc < ( ctx : RenderContext < PyDsl > ) => Header > ;
36+ private _header ?: HeaderArg ;
3637 /**
3738 * Whether `export * from 'module'` should be used when possible instead of named exports.
3839 *
@@ -54,7 +55,7 @@ export class PythonRenderer implements Renderer {
5455
5556 constructor (
5657 args : {
57- header ?: MaybeFunc < ( ctx : RenderContext < PyDsl > ) => Header > ;
58+ header ?: HeaderArg ;
5859 preferExportAll ?: boolean ;
5960 preferFileExtension ?: string ;
6061 resolveModuleName ?: ( moduleName : string ) => string | undefined ;
Original file line number Diff line number Diff line change @@ -36,7 +36,6 @@ export function getOutput(userConfig: { output: MaybeArray<string | UserOutput>
3636 suffix : '.gen' ,
3737 } ,
3838 format : null ,
39- header : '// This file is auto-generated by @hey-api/openapi-ts' ,
4039 lint : null ,
4140 path : '' ,
4241 postProcess : [ ] ,
Original file line number Diff line number Diff line change @@ -107,6 +107,7 @@ export async function createClient({
107107 eventInputPatch . timeEnd ( ) ;
108108
109109 const eventParser = logger . timeEvent ( 'parser' ) ;
110+ const header = config . output . header ;
110111 // TODO: allow overriding via config
111112 const project = new Project ( {
112113 defaultFileName : 'index' ,
@@ -125,7 +126,11 @@ export async function createClient({
125126 : undefined ,
126127 renderers : [
127128 new TypeScriptRenderer ( {
128- header : config . output . header ,
129+ header : ( ctx ) => {
130+ const defaultValue = [ '// This file is auto-generated by @hey-api/openapi-ts' ] ;
131+ const result = typeof header === 'function' ? header ( { ...ctx , defaultValue } ) : header ;
132+ return result === undefined ? defaultValue : result ;
133+ } ,
129134 preferExportAll : config . output . preferExportAll ,
130135 preferFileExtension : config . output . importFileExtension || undefined ,
131136 resolveModuleName : config . output . resolveModuleName ,
Original file line number Diff line number Diff line change @@ -157,7 +157,11 @@ export function generateClientBundle({
157157 project : IProject ;
158158} ) : Map < string , string > | undefined {
159159 const renamed = new Map < string , string > ( ) ;
160- const headerPrefix = outputHeaderToPrefix ( header , project ) ;
160+ const headerPrefix = outputHeaderToPrefix ( {
161+ defaultValue : [ '// This file is auto-generated by @hey-api/openapi-ts' ] ,
162+ header,
163+ project,
164+ } ) ;
161165
162166 // copy Hey API clients to output
163167 const isHeyApiClientPlugin = plugin . name . startsWith ( '@hey-api/client-' ) ;
Original file line number Diff line number Diff line change @@ -12,6 +12,7 @@ type ExportsOptions = {
1212 preferExportAll ?: boolean ;
1313} ;
1414type Header = MaybeArray < string > | null | undefined ;
15+ type HeaderArg = MaybeFunc < ( ctx : RenderContext < TsDsl > ) => Header > ;
1516type Imports = ReadonlyArray < ReadonlyArray < ModuleImport > > ;
1617
1718function headerToLines ( header : Header ) : ReadonlyArray < string > {
@@ -33,7 +34,7 @@ export class TypeScriptRenderer implements Renderer {
3334 *
3435 * @private
3536 */
36- private _header ?: MaybeFunc < ( ctx : RenderContext < TsDsl > ) => Header > ;
37+ private _header ?: HeaderArg ;
3738 /**
3839 * Whether `export * from 'module'` should be used when possible instead of named exports.
3940 *
@@ -55,7 +56,7 @@ export class TypeScriptRenderer implements Renderer {
5556
5657 constructor (
5758 args : {
58- header ?: MaybeFunc < ( ctx : RenderContext < TsDsl > ) => Header > ;
59+ header ?: HeaderArg ;
5960 preferExportAll ?: boolean ;
6061 preferFileExtension ?: string ;
6162 resolveModuleName ?: ( moduleName : string ) => string | undefined ;
You can’t perform that action at this time.
0 commit comments