@@ -35,7 +35,7 @@ export async function generate(model: Model, options: PluginOptions, dmmf: DMMF.
35
35
}
36
36
37
37
generateIndex ( project , outDir , models ) ;
38
- generateHelper ( target , project , outDir ) ;
38
+ generateHelper ( target , project , outDir , options . useSuperJson === true ) ;
39
39
40
40
models . forEach ( ( dataModel ) => {
41
41
const mapping = dmmf . mappings . modelOperations . find ( ( op ) => op . model === dataModel . name ) ;
@@ -385,7 +385,7 @@ function generateIndex(project: Project, outDir: string, models: DataModel[]) {
385
385
sf . addStatements ( `export * from './_helper';` ) ;
386
386
}
387
387
388
- function generateHelper ( target : TargetFramework , project : Project , outDir : string ) {
388
+ function generateHelper ( target : TargetFramework , project : Project , outDir : string , useSuperJson : boolean ) {
389
389
let srcFile : string ;
390
390
switch ( target ) {
391
391
case 'react' :
@@ -398,10 +398,15 @@ function generateHelper(target: TargetFramework, project: Project, outDir: strin
398
398
throw new PluginError ( `Unsupported target: ${ target } ` ) ;
399
399
}
400
400
401
- // merge content of `shared.ts` and `helper .ts`
401
+ // merge content of `shared.ts`, `helper.ts` and `marshal-? .ts`
402
402
const sharedContent = fs . readFileSync ( path . join ( __dirname , './res/shared.ts' ) , 'utf-8' ) ;
403
403
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 } ` , {
405
410
overwrite : true ,
406
411
} ) ;
407
412
}
0 commit comments