@@ -4,25 +4,15 @@ import { Field } from "o1js";
4
4
5
5
import { ObjectMapper } from "../../../ObjectMapper" ;
6
6
7
+ type EventData = {
8
+ eventName : string ;
9
+ data : Field [ ] ;
10
+ source : "afterTxHook" | "beforeTxHook" | "runtime" ;
11
+ } ;
12
+
7
13
@singleton ( )
8
- export class EventMapper
9
- implements
10
- ObjectMapper <
11
- {
12
- eventName : string ;
13
- data : Field [ ] ;
14
- source : "afterTxHook" | "beforeTxHook" | "runtime" ;
15
- } ,
16
- Prisma . JsonObject
17
- >
18
- {
19
- public mapIn ( input : Prisma . JsonObject ) : {
20
- eventName : string ;
21
- data : Field [ ] ;
22
- source : "afterTxHook" | "beforeTxHook" | "runtime" ;
23
- } {
24
- if ( input === undefined )
25
- return { eventName : "" , data : [ ] , source : "runtime" } ;
14
+ export class EventMapper implements ObjectMapper < EventData , Prisma . JsonObject > {
15
+ public mapIn ( input : Prisma . JsonObject ) : EventData {
26
16
return {
27
17
eventName : input . eventName as string ,
28
18
data : ( input . data as Prisma . JsonArray ) . map ( ( field ) =>
@@ -32,11 +22,7 @@ export class EventMapper
32
22
} ;
33
23
}
34
24
35
- public mapOut ( input : {
36
- eventName : string ;
37
- data : Field [ ] ;
38
- source : "afterTxHook" | "beforeTxHook" | "runtime" ;
39
- } ) : Prisma . JsonObject {
25
+ public mapOut ( input : EventData ) : Prisma . JsonObject {
40
26
return {
41
27
eventName : input . eventName ,
42
28
data : input . data . map ( ( field ) => field . toString ( ) ) ,
@@ -60,23 +46,11 @@ export class EventMapper
60
46
61
47
@singleton ( )
62
48
export class EventArrayMapper
63
- implements
64
- ObjectMapper <
65
- {
66
- eventName : string ;
67
- data : Field [ ] ;
68
- source : "afterTxHook" | "beforeTxHook" | "runtime" ;
69
- } [ ] ,
70
- Prisma . JsonValue | undefined
71
- >
49
+ implements ObjectMapper < EventData [ ] , Prisma . JsonValue | undefined >
72
50
{
73
51
public constructor ( private readonly eventMapper : EventMapper ) { }
74
52
75
- public mapIn ( input : Prisma . JsonValue | undefined ) : {
76
- eventName : string ;
77
- data : Field [ ] ;
78
- source : "afterTxHook" | "beforeTxHook" | "runtime" ;
79
- } [ ] {
53
+ public mapIn ( input : Prisma . JsonValue | undefined ) : EventData [ ] {
80
54
if ( input === undefined ) return [ ] ;
81
55
82
56
if ( Array . isArray ( input ) ) {
@@ -87,13 +61,7 @@ export class EventArrayMapper
87
61
return [ ] ;
88
62
}
89
63
90
- public mapOut (
91
- input : {
92
- eventName : string ;
93
- data : Field [ ] ;
94
- source : "afterTxHook" | "beforeTxHook" | "runtime" ;
95
- } [ ]
96
- ) : Prisma . JsonValue {
64
+ public mapOut ( input : EventData [ ] ) : Prisma . JsonValue {
97
65
return input . map ( ( event ) =>
98
66
this . eventMapper . mapOut ( event )
99
67
) as Prisma . JsonArray ;
0 commit comments