Skip to content

Commit

Permalink
feat(xhr-http-handler): add static factory method for XHR handler (#5534
Browse files Browse the repository at this point in the history
)
  • Loading branch information
kuhe authored Dec 1, 2023
1 parent a813615 commit 484d1ec
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions packages/xhr-http-handler/src/xhr-http-handler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,19 @@ export class XhrHttpHandler extends EventEmitter implements HttpHandler<XhrHttpH
private config?: XhrHttpHandlerOptions;
private configProvider: Promise<XhrHttpHandlerOptions>;

/**
* @returns the input if it is an HttpHandler of any class,
* or instantiates a new instance of this handler.
*/
public static create(instanceOrOptions?: HttpHandler<any> | XhrHttpHandlerOptions) {
if (typeof (instanceOrOptions as any)?.handle === "function") {
// is already an instance of HttpHandler.
return instanceOrOptions as HttpHandler<any>;
}
// input is ctor options or undefined.
return new XhrHttpHandler(instanceOrOptions as XhrHttpHandlerOptions);
}

public constructor(options?: XhrHttpHandlerOptions | Provider<XhrHttpHandlerOptions>) {
super();
if (typeof options === "function") {
Expand Down

0 comments on commit 484d1ec

Please sign in to comment.