feat(options-provider): add getOptionsConfiguration() method
This will be used by a follow-up commit.
Bug: twpowertools:192
Change-Id: I6a6a636c72b146d69e4dc8a305f2966e13522edf
diff --git a/src/infrastructure/services/options/OptionsProvider.adapter.ts b/src/infrastructure/services/options/OptionsProvider.adapter.ts
index d09d994..101ce8a 100644
--- a/src/infrastructure/services/options/OptionsProvider.adapter.ts
+++ b/src/infrastructure/services/options/OptionsProvider.adapter.ts
@@ -1,7 +1,10 @@
import { Mutex, MutexInterface, withTimeout } from 'async-mutex';
import { getOptions } from '../../../common/options/optionsUtils';
-import { OptionCodename, OptionsValues } from '../../../common/options/optionsPrototype';
+import {
+ OptionCodename,
+ OptionsValues,
+} from '../../../common/options/optionsPrototype';
import { OptionsConfiguration } from '../../../common/options/OptionsConfiguration';
import {
OptionsChangeListener,
@@ -32,19 +35,19 @@
}
async isEnabled(option: OptionCodename): Promise<boolean> {
+ return (await this.getOptionsConfiguration()).isEnabled(option);
+ }
+
+ async getOptionsConfiguration(): Promise<OptionsConfiguration> {
this.setUp();
return this.mutex.runExclusive(
- () => this.optionsConfiguration.isEnabled(option),
+ () => this.optionsConfiguration,
kReadPriority,
);
}
async getOptionsValues(): Promise<OptionsValues> {
- this.setUp();
- return this.mutex.runExclusive(
- () => this.optionsConfiguration.optionsValues,
- kReadPriority,
- );
+ return (await this.getOptionsConfiguration()).optionsValues;
}
addListener(listener: OptionsChangeListener) {