diff --git a/packages/server/README.md b/packages/server/README.md index 748e2de9..2bc75bb4 100644 --- a/packages/server/README.md +++ b/packages/server/README.md @@ -75,7 +75,11 @@ yarn add @openfeature/server-sdk @openfeature/core import { OpenFeature } from '@openfeature/server-sdk'; // Register your feature flag provider -await OpenFeature.setProviderAndWait(new YourProviderOfChoice()); +try { + await OpenFeature.setProviderAndWait(new YourProviderOfChoice()); +} catch (error) { + console.error('Failed to initialize provider:', error); +} // create a new client const client = OpenFeature.getClient(); diff --git a/packages/server/src/open-feature.ts b/packages/server/src/open-feature.ts index 3e818af0..01decf15 100644 --- a/packages/server/src/open-feature.ts +++ b/packages/server/src/open-feature.ts @@ -82,7 +82,7 @@ export class OpenFeatureAPI * Setting a provider supersedes the current provider used in new and existing unbound clients. * @param {Provider} provider The provider responsible for flag evaluations. * @returns {Promise} - * @throws Uncaught exceptions thrown by the provider during initialization. + * @throws {Error} If the provider throws an exception during initialization. */ setProviderAndWait(provider: Provider): Promise; /** @@ -92,7 +92,7 @@ export class OpenFeatureAPI * @param {string} domain The name to identify the client * @param {Provider} provider The provider responsible for flag evaluations. * @returns {Promise} - * @throws Uncaught exceptions thrown by the provider during initialization. + * @throws {Error} If the provider throws an exception during initialization. */ setProviderAndWait(domain: string, provider: Provider): Promise; async setProviderAndWait(domainOrProvider?: string | Provider, providerOrUndefined?: Provider): Promise { diff --git a/packages/web/README.md b/packages/web/README.md index 08c022fd..cb5ca7f9 100644 --- a/packages/web/README.md +++ b/packages/web/README.md @@ -75,7 +75,11 @@ yarn add @openfeature/web-sdk @openfeature/core import { OpenFeature } from '@openfeature/web-sdk'; // Register your feature flag provider -await OpenFeature.setProviderAndWait(new YourProviderOfChoice()); +try { + await OpenFeature.setProviderAndWait(new YourProviderOfChoice()); +} catch (error) { + console.error('Failed to initialize provider:', error); +} // create a new client const client = OpenFeature.getClient(); @@ -121,7 +125,11 @@ Once you've added a provider as a dependency, it can be registered with OpenFeat To register a provider and ensure it is ready before further actions are taken, you can use the `setProviderAndWait` method as shown below: ```ts -await OpenFeature.setProviderAndWait(new MyProvider()); +try { + await OpenFeature.setProviderAndWait(new MyProvider()); +} catch (error) { + console.error('Failed to initialize provider:', error); +} ``` #### Synchronous diff --git a/packages/web/src/open-feature.ts b/packages/web/src/open-feature.ts index eb32877d..57d714a4 100644 --- a/packages/web/src/open-feature.ts +++ b/packages/web/src/open-feature.ts @@ -77,7 +77,7 @@ export class OpenFeatureAPI * Setting a provider supersedes the current provider used in new and existing unbound clients. * @param {Provider} provider The provider responsible for flag evaluations. * @returns {Promise} - * @throws Uncaught exceptions thrown by the provider during initialization. + * @throws {Error} If the provider throws an exception during initialization. */ setProviderAndWait(provider: Provider): Promise; /** @@ -87,7 +87,7 @@ export class OpenFeatureAPI * @param {Provider} provider The provider responsible for flag evaluations. * @param {EvaluationContext} context The evaluation context to use for flag evaluations. * @returns {Promise} - * @throws Uncaught exceptions thrown by the provider during initialization. + * @throws {Error} If the provider throws an exception during initialization. */ setProviderAndWait(provider: Provider, context: EvaluationContext): Promise; /** @@ -97,7 +97,7 @@ export class OpenFeatureAPI * @param {string} domain The name to identify the client * @param {Provider} provider The provider responsible for flag evaluations. * @returns {Promise} - * @throws Uncaught exceptions thrown by the provider during initialization. + * @throws {Error} If the provider throws an exception during initialization. */ setProviderAndWait(domain: string, provider: Provider): Promise; /** @@ -108,7 +108,7 @@ export class OpenFeatureAPI * @param {Provider} provider The provider responsible for flag evaluations. * @param {EvaluationContext} context The evaluation context to use for flag evaluations. * @returns {Promise} - * @throws Uncaught exceptions thrown by the provider during initialization. + * @throws {Error} If the provider throws an exception during initialization. */ setProviderAndWait(domain: string, provider: Provider, context: EvaluationContext): Promise; async setProviderAndWait(