@applitools/utils
Advanced tools
Comparing version 1.5.2 to 1.6.0
# Changelog | ||
## [1.6.0](https://github.com/applitools/eyes.sdk.javascript1/compare/js/utils@1.5.2...js/utils@1.6.0) (2023-09-04) | ||
### Features | ||
* add support for fallback in `req` ([#1899](https://github.com/applitools/eyes.sdk.javascript1/issues/1899)) ([d69c4b5](https://github.com/applitools/eyes.sdk.javascript1/commit/d69c4b5830370c471dfc25b6e2caddca8b458df9)) | ||
## [1.5.2](https://github.com/applitools/eyes.sdk.javascript1/compare/js/utils@1.5.1...js/utils@1.5.2) (2023-08-30) | ||
@@ -4,0 +11,0 @@ |
@@ -9,13 +9,30 @@ "use strict"; | ||
let result; | ||
return { | ||
then(onFulfilled, onRejected) { | ||
if (!promise) { | ||
promise = new Promise((...args) => ([resolve, reject] = args)); | ||
if ((result === null || result === void 0 ? void 0 : result.status) === 'fulfilled') | ||
function getPromise() { | ||
if (!promise) { | ||
promise = new Promise((...args) => ([resolve, reject] = args)); | ||
if (result) { | ||
if (result.status === 'fulfilled') | ||
resolve(result.value); | ||
else if ((result === null || result === void 0 ? void 0 : result.status) === 'rejected') | ||
else | ||
reject(result.reason); | ||
} | ||
return promise.then(onFulfilled, onRejected); | ||
} | ||
return promise; | ||
} | ||
return { | ||
then(onFulfilled, onRejected) { | ||
return getPromise().then(onFulfilled, onRejected); | ||
}, | ||
catch(onRejected) { | ||
return getPromise().catch(onRejected); | ||
}, | ||
finally(onFinally) { | ||
return getPromise().finally(onFinally); | ||
}, | ||
get [Symbol.toStringTag]() { | ||
return 'ControlledPromise'; | ||
}, | ||
get settled() { | ||
return !!result; | ||
}, | ||
resolve(value) { | ||
@@ -22,0 +39,0 @@ if (resolve) |
{ | ||
"name": "@applitools/utils", | ||
"version": "1.5.2", | ||
"version": "1.6.0", | ||
"keywords": [ | ||
@@ -5,0 +5,0 @@ "applitools", |
@@ -1,4 +0,2 @@ | ||
export declare function makeControlledPromise<T = void>(): PromiseLike<T> & { | ||
resolve(value: T): void; | ||
reject(reason?: any): void; | ||
}; | ||
import type { ControlledPromise } from './utility-types'; | ||
export declare function makeControlledPromise<T = void>(): ControlledPromise<T>; |
@@ -10,3 +10,3 @@ export declare function isNotDefined(value: any): boolean; | ||
export declare function isInteger(value: any): value is number; | ||
export declare function isArray(value: any): value is any[]; | ||
export declare function isArray<T = any>(value: any): value is T[]; | ||
export declare function isObject(value: any): value is Record<PropertyKey, any>; | ||
@@ -13,0 +13,0 @@ export declare function isPlainObject(value: any): value is Record<string, any>; |
export type MaybeArray<T> = T | T[]; | ||
export type Awaitable<TType> = TType | Promise<TType>; | ||
export type Awaitable<T> = T | PromiseLike<T>; | ||
export type ControlledPromise<T> = Promise<T> & { | ||
readonly settled: boolean; | ||
resolve(value: Awaitable<T>): void; | ||
reject(reason?: any): void; | ||
}; | ||
export declare type Mutable<T> = { | ||
@@ -4,0 +9,0 @@ -readonly [P in keyof T]: T[P]; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
77848
1447