@@ -18,6 +18,7 @@ import ImageReaderImpl from "./io/jimp-image-reader.class";
18
18
import ImageWriterImpl from "./io/jimp-image-writer.class" ;
19
19
import ImageProcessorImpl from "./image/jimp-image-processor.class" ;
20
20
import { LogProviderInterface , wrapLogger } from "./log-provider.interface" ;
21
+ import { NoopLogProvider } from "./io/noop-log-provider.class" ;
21
22
22
23
export interface ProviderRegistry {
23
24
getClipboard ( ) : ClipboardProviderInterface ;
@@ -75,113 +76,133 @@ class DefaultProviderRegistry implements ProviderRegistry {
75
76
76
77
getClipboard ( ) : ClipboardProviderInterface {
77
78
if ( this . _clipboard ) {
79
+ this . getLogProvider ( ) . debug ( "Fetching clipboard provider" ) ;
78
80
return this . _clipboard ;
79
81
}
80
82
throw new Error ( `No ClipboardProvider registered` ) ;
81
83
}
82
84
83
85
registerClipboardProvider ( value : ClipboardProviderInterface ) {
84
86
this . _clipboard = value ;
87
+ this . getLogProvider ( ) . info ( "Registered new clipboard provider" , value ) ;
85
88
}
86
89
87
90
getImageFinder ( ) : ImageFinderInterface {
88
91
if ( this . _finder ) {
92
+ this . getLogProvider ( ) . debug ( "Fetching image finder" ) ;
89
93
return this . _finder ;
90
94
}
91
95
throw new Error ( `No ImageFinder registered` ) ;
92
96
}
93
97
94
98
registerImageFinder ( value : ImageFinderInterface ) {
95
99
this . _finder = value ;
100
+ this . getLogProvider ( ) . info ( "Registered new image finder" , value ) ;
96
101
}
97
102
98
103
getKeyboard ( ) : KeyboardProviderInterface {
99
104
if ( this . _keyboard ) {
105
+ this . getLogProvider ( ) . debug ( "Fetching keyboard provider" ) ;
100
106
return this . _keyboard ;
101
107
}
102
108
throw new Error ( `No KeyboardProvider registered` ) ;
103
109
}
104
110
105
111
registerKeyboardProvider ( value : KeyboardProviderInterface ) {
106
112
this . _keyboard = value ;
113
+ this . getLogProvider ( ) . info ( "Registered new keyboard provider" , value ) ;
107
114
}
108
115
109
116
getMouse ( ) : MouseProviderInterface {
110
117
if ( this . _mouse ) {
118
+ this . getLogProvider ( ) . debug ( "Fetching mouse provider" ) ;
111
119
return this . _mouse ;
112
120
}
113
121
throw new Error ( `No MouseProvider registered` ) ;
114
122
}
115
123
116
124
registerMouseProvider ( value : MouseProviderInterface ) {
117
125
this . _mouse = value ;
126
+ this . getLogProvider ( ) . info ( "Registered new mouse provider" , value ) ;
118
127
}
119
128
120
129
getScreen ( ) : ScreenProviderInterface {
121
130
if ( this . _screen ) {
131
+ this . getLogProvider ( ) . debug ( "Fetching screen provider" ) ;
122
132
return this . _screen ;
123
133
}
124
134
throw new Error ( `No ScreenProvider registered` ) ;
125
135
}
126
136
127
137
registerScreenProvider ( value : ScreenProviderInterface ) {
128
138
this . _screen = value ;
139
+ this . getLogProvider ( ) . info ( "Registered new screen provider" , value ) ;
129
140
}
130
141
131
142
getWindow ( ) : WindowProviderInterface {
132
143
if ( this . _window ) {
144
+ this . getLogProvider ( ) . debug ( "Fetching window provider" ) ;
133
145
return this . _window ;
134
146
}
135
147
throw new Error ( `No WindowProvider registered` ) ;
136
148
}
137
149
138
150
registerWindowProvider ( value : WindowProviderInterface ) {
139
151
this . _window = value ;
152
+ this . getLogProvider ( ) . info ( "Registered new window provider" , value ) ;
140
153
}
141
154
142
155
getImageReader ( ) : ImageReader {
143
156
if ( this . _imageReader ) {
157
+ this . getLogProvider ( ) . debug ( "Fetching image reader" ) ;
144
158
return this . _imageReader ;
145
159
}
146
160
throw new Error ( `No ImageReader registered` ) ;
147
161
}
148
162
149
163
registerImageReader ( value : ImageReader ) {
150
164
this . _imageReader = value ;
165
+ this . getLogProvider ( ) . info ( "Registered new image reader" , value ) ;
151
166
}
152
167
153
168
getImageWriter ( ) : ImageWriter {
154
169
if ( this . _imageWriter ) {
170
+ this . getLogProvider ( ) . debug ( "Fetching image writer" ) ;
155
171
return this . _imageWriter ;
156
172
}
157
173
throw new Error ( `No ImageWriter registered` ) ;
158
174
}
159
175
160
176
registerImageWriter ( value : ImageWriter ) {
161
177
this . _imageWriter = value ;
178
+ this . getLogProvider ( ) . info ( "Registered new image writer" , value ) ;
162
179
}
163
180
164
181
getImageProcessor ( ) : ImageProcessor {
165
182
if ( this . _imageProcessor ) {
183
+ this . getLogProvider ( ) . debug ( "Fetching image processor" ) ;
166
184
return this . _imageProcessor ;
167
185
}
168
186
throw new Error ( `No ImageProcessor registered` ) ;
169
187
}
170
188
171
189
registerImageProcessor ( value : ImageProcessor ) : void {
172
190
this . _imageProcessor = value ;
191
+ this . getLogProvider ( ) . info ( "Registered new image processor" , value ) ;
173
192
}
174
193
175
194
getLogProvider ( ) : LogProviderInterface {
176
195
if ( this . _logProvider ) {
177
196
return this . _logProvider ;
178
197
}
179
198
180
- throw new Error ( `No log provider registered` ) ;
199
+ // Fallback to avoid errors caused by logging
200
+ return new NoopLogProvider ( ) ;
181
201
}
182
202
183
203
registerLogProvider ( value : LogProviderInterface ) : void {
184
204
this . _logProvider = wrapLogger ( value ) ;
205
+ this . getLogProvider ( ) . info ( "Registered new log provider" , value ) ;
185
206
}
186
207
}
187
208
@@ -195,5 +216,6 @@ providerRegistry.registerWindowProvider(new Window());
195
216
providerRegistry . registerImageWriter ( new ImageWriterImpl ( ) ) ;
196
217
providerRegistry . registerImageReader ( new ImageReaderImpl ( ) ) ;
197
218
providerRegistry . registerImageProcessor ( new ImageProcessorImpl ( ) ) ;
219
+ providerRegistry . registerLogProvider ( new NoopLogProvider ( ) ) ;
198
220
199
221
export default providerRegistry ;
0 commit comments