@luvio/service-provisioner
Advanced tools
Comparing version 5.24.1 to 5.25.0
@@ -64,3 +64,3 @@ import { type ServiceDescriptor } from '@luvio/utils'; | ||
*/ | ||
export default function getServices<R extends ServicesRequest<any>>(request: R): PromiseLike<RequestedServices<R>>; | ||
export default function getServices<R extends ServicesRequest<any>>(request: R, timeout?: number): PromiseLike<RequestedServices<R>>; | ||
/** | ||
@@ -67,0 +67,0 @@ * Sets the services that will be used to satisfy calls to getServices(). |
@@ -7,3 +7,3 @@ /** | ||
import { satisfies, resolvedPromiseLike } from '@luvio/utils'; | ||
import { racesync, satisfies, resolvedPromiseLike } from '@luvio/utils'; | ||
@@ -62,4 +62,4 @@ /** | ||
*/ | ||
function getServices(request) { | ||
return waitForServices.then((services) => { | ||
function getServices(request, timeout = 30000) { | ||
const servicesPromise = waitForServices.then((services) => { | ||
// try to resolve the requested services against our services | ||
@@ -73,2 +73,15 @@ const result = resolve(services, request); | ||
}); | ||
let timeoutId; | ||
let timeoutPromise = new Promise((_, reject) => { | ||
timeoutId = setTimeout(() => reject(new Error('OneStore services unavailable')), timeout); | ||
}); | ||
return racesync([servicesPromise, timeoutPromise]).then((value) => { | ||
clearTimeout(timeoutId); | ||
return value; | ||
}, (reason) => { | ||
clearTimeout(timeoutId); | ||
// eslint-disable-next-line | ||
console.error(reason); | ||
throw reason; | ||
}); | ||
} | ||
@@ -75,0 +88,0 @@ /** |
@@ -64,3 +64,3 @@ import { type ServiceDescriptor } from '@luvio/utils'; | ||
*/ | ||
export default function getServices<R extends ServicesRequest<any>>(request: R): PromiseLike<RequestedServices<R>>; | ||
export default function getServices<R extends ServicesRequest<any>>(request: R, timeout?: number): PromiseLike<RequestedServices<R>>; | ||
/** | ||
@@ -67,0 +67,0 @@ * Sets the services that will be used to satisfy calls to getServices(). |
{ | ||
"name": "@luvio/service-provisioner", | ||
"version": "5.24.1", | ||
"version": "5.25.0", | ||
"private": false, | ||
@@ -33,3 +33,3 @@ "description": "Luvio Service Provisioner", | ||
"dependencies": { | ||
"@luvio/utils": "5.24.1" | ||
"@luvio/utils": "5.25.0" | ||
}, | ||
@@ -36,0 +36,0 @@ "volta": { |
Sorry, the diff of this file is not supported yet
25895
262
+ Added@luvio/utils@5.25.0(transitive)
- Removed@luvio/utils@5.24.1(transitive)
Updated@luvio/utils@5.25.0