@@ -35,7 +35,7 @@ export async function generate(model: Model, options: PluginOptions, dmmf: DMMF.
3535 }
3636
3737 generateIndex ( project , outDir , models ) ;
38- generateHelper ( target , project , outDir ) ;
38+ generateHelper ( target , project , outDir , options . useSuperJson === true ) ;
3939
4040 models . forEach ( ( dataModel ) => {
4141 const mapping = dmmf . mappings . modelOperations . find ( ( op ) => op . model === dataModel . name ) ;
@@ -385,7 +385,7 @@ function generateIndex(project: Project, outDir: string, models: DataModel[]) {
385385 sf . addStatements ( `export * from './_helper';` ) ;
386386}
387387
388- function generateHelper ( target : TargetFramework , project : Project , outDir : string ) {
388+ function generateHelper ( target : TargetFramework , project : Project , outDir : string , useSuperJson : boolean ) {
389389 let srcFile : string ;
390390 switch ( target ) {
391391 case 'react' :
@@ -398,10 +398,15 @@ function generateHelper(target: TargetFramework, project: Project, outDir: strin
398398 throw new PluginError ( `Unsupported target: ${ target } ` ) ;
399399 }
400400
401- // merge content of `shared.ts` and `helper .ts`
401+ // merge content of `shared.ts`, `helper.ts` and `marshal-? .ts`
402402 const sharedContent = fs . readFileSync ( path . join ( __dirname , './res/shared.ts' ) , 'utf-8' ) ;
403403 const helperContent = fs . readFileSync ( srcFile , 'utf-8' ) ;
404- project . createSourceFile ( path . join ( outDir , '_helper.ts' ) , `${ sharedContent } \n${ helperContent } ` , {
404+ const marshalContent = fs . readFileSync (
405+ path . join ( __dirname , useSuperJson ? './res/marshal-superjson.ts' : './res/marshal-json.ts' ) ,
406+ 'utf-8'
407+ ) ;
408+
409+ project . createSourceFile ( path . join ( outDir , '_helper.ts' ) , `${ sharedContent } \n${ helperContent } \n${ marshalContent } ` , {
405410 overwrite : true ,
406411 } ) ;
407412}
0 commit comments