Skip to content

Commit e6d6f0f

Browse files
committed
(#455) Added new provider interfaces to registry, changed log level of register events to trace
1 parent b0026d9 commit e6d6f0f

File tree

1 file changed

+50
-10
lines changed

1 file changed

+50
-10
lines changed

Diff for: lib/provider/provider-registry.class.ts

+50-10
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import ImageWriterImpl from "./io/jimp-image-writer.class";
1919
import ImageProcessorImpl from "./image/jimp-image-processor.class";
2020
import { LogProviderInterface, wrapLogger } from "./log-provider.interface";
2121
import { NoopLogProvider } from "./log/noop-log-provider.class";
22+
import { TextFinderInterface } from "./text-finder.interface";
23+
import { WindowFinderInterface } from "./window-finder.interface";
2224

2325
export interface ProviderRegistry {
2426
getClipboard(): ClipboardProviderInterface;
@@ -60,6 +62,14 @@ export interface ProviderRegistry {
6062
getLogProvider(): LogProviderInterface;
6163

6264
registerLogProvider(value: LogProviderInterface): void;
65+
66+
getTextFinder(): TextFinderInterface;
67+
68+
registerTextFinder(value: TextFinderInterface): void;
69+
70+
getWindowFinder(): WindowFinderInterface;
71+
72+
registerWindowFinder(value: WindowFinderInterface): void;
6373
}
6474

6575
class DefaultProviderRegistry implements ProviderRegistry {
@@ -73,6 +83,8 @@ class DefaultProviderRegistry implements ProviderRegistry {
7383
private _imageWriter?: ImageWriter;
7484
private _imageProcessor?: ImageProcessor;
7585
private _logProvider?: LogProviderInterface;
86+
private _textFinder?: TextFinderInterface;
87+
private _windowFinder?: WindowFinderInterface;
7688

7789
getClipboard(): ClipboardProviderInterface {
7890
if (this._clipboard) {
@@ -85,7 +97,7 @@ class DefaultProviderRegistry implements ProviderRegistry {
8597

8698
registerClipboardProvider(value: ClipboardProviderInterface) {
8799
this._clipboard = value;
88-
this.getLogProvider().info("Registered new clipboard provider", value);
100+
this.getLogProvider().trace("Registered new clipboard provider", value);
89101
}
90102

91103
getImageFinder(): ImageFinderInterface {
@@ -99,7 +111,7 @@ class DefaultProviderRegistry implements ProviderRegistry {
99111

100112
registerImageFinder(value: ImageFinderInterface) {
101113
this._finder = value;
102-
this.getLogProvider().info("Registered new image finder", value);
114+
this.getLogProvider().trace("Registered new image finder", value);
103115
}
104116

105117
getKeyboard(): KeyboardProviderInterface {
@@ -113,7 +125,7 @@ class DefaultProviderRegistry implements ProviderRegistry {
113125

114126
registerKeyboardProvider(value: KeyboardProviderInterface) {
115127
this._keyboard = value;
116-
this.getLogProvider().info("Registered new keyboard provider", value);
128+
this.getLogProvider().trace("Registered new keyboard provider", value);
117129
}
118130

119131
getMouse(): MouseProviderInterface {
@@ -127,7 +139,7 @@ class DefaultProviderRegistry implements ProviderRegistry {
127139

128140
registerMouseProvider(value: MouseProviderInterface) {
129141
this._mouse = value;
130-
this.getLogProvider().info("Registered new mouse provider", value);
142+
this.getLogProvider().trace("Registered new mouse provider", value);
131143
}
132144

133145
getScreen(): ScreenProviderInterface {
@@ -141,7 +153,7 @@ class DefaultProviderRegistry implements ProviderRegistry {
141153

142154
registerScreenProvider(value: ScreenProviderInterface) {
143155
this._screen = value;
144-
this.getLogProvider().info("Registered new screen provider", value);
156+
this.getLogProvider().trace("Registered new screen provider", value);
145157
}
146158

147159
getWindow(): WindowProviderInterface {
@@ -155,7 +167,35 @@ class DefaultProviderRegistry implements ProviderRegistry {
155167

156168
registerWindowProvider(value: WindowProviderInterface) {
157169
this._window = value;
158-
this.getLogProvider().info("Registered new window provider", value);
170+
this.getLogProvider().trace("Registered new window provider", value);
171+
}
172+
173+
getTextFinder(): TextFinderInterface {
174+
if (this._textFinder) {
175+
return this._textFinder;
176+
}
177+
const error = new Error(`No TextFinder registered`);
178+
this.getLogProvider().error(error);
179+
throw error;
180+
}
181+
182+
registerTextFinder(value: TextFinderInterface) {
183+
this._textFinder = value;
184+
this.getLogProvider().trace("Registered new TextFinder provider", value);
185+
}
186+
187+
getWindowFinder(): WindowFinderInterface {
188+
if (this._windowFinder) {
189+
return this._windowFinder;
190+
}
191+
const error = new Error(`No WindowFinder registered`);
192+
this.getLogProvider().error(error);
193+
throw error;
194+
}
195+
196+
registerWindowFinder(value: WindowFinderInterface) {
197+
this._windowFinder = value;
198+
this.getLogProvider().trace("Registered new TextFinder provider", value);
159199
}
160200

161201
getImageReader(): ImageReader {
@@ -169,7 +209,7 @@ class DefaultProviderRegistry implements ProviderRegistry {
169209

170210
registerImageReader(value: ImageReader) {
171211
this._imageReader = value;
172-
this.getLogProvider().info("Registered new image reader", value);
212+
this.getLogProvider().trace("Registered new image reader", value);
173213
}
174214

175215
getImageWriter(): ImageWriter {
@@ -183,7 +223,7 @@ class DefaultProviderRegistry implements ProviderRegistry {
183223

184224
registerImageWriter(value: ImageWriter) {
185225
this._imageWriter = value;
186-
this.getLogProvider().info("Registered new image writer", value);
226+
this.getLogProvider().trace("Registered new image writer", value);
187227
}
188228

189229
getImageProcessor(): ImageProcessor {
@@ -197,7 +237,7 @@ class DefaultProviderRegistry implements ProviderRegistry {
197237

198238
registerImageProcessor(value: ImageProcessor): void {
199239
this._imageProcessor = value;
200-
this.getLogProvider().info("Registered new image processor", value);
240+
this.getLogProvider().trace("Registered new image processor", value);
201241
}
202242

203243
getLogProvider(): LogProviderInterface {
@@ -211,7 +251,7 @@ class DefaultProviderRegistry implements ProviderRegistry {
211251

212252
registerLogProvider(value: LogProviderInterface): void {
213253
this._logProvider = wrapLogger(value);
214-
this.getLogProvider().info("Registered new log provider", value);
254+
this.getLogProvider().trace("Registered new log provider", value);
215255
}
216256
}
217257

0 commit comments

Comments
 (0)