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) {