@dorgtech/web3modal-angular
Version:
Web3Modal implementation for Angular
117 lines • 8.57 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
/**
* @fileoverview added by tsickle
* Generated from: lib/web3-modal/web3-modal.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { EventEmitter, Injectable, Optional } from '@angular/core';
import { CONNECT_EVENT, ERROR_EVENT, Web3WalletConnector } from '@mindsorg/web3modal-ts';
import { take } from 'rxjs/operators';
export class Web3ModalService {
/**
* @param {?=} configOptions
*/
constructor(configOptions) {
this.shouldOpen = new EventEmitter();
this.providers = new EventEmitter();
this.web3WalletConnector = new Web3WalletConnector(configOptions);
}
/**
* @return {?}
*/
open() {
return __awaiter(this, void 0, void 0, function* () {
this.providers.next(this.web3WalletConnector.providers);
return yield new Promise((/**
* @param {?} resolve
* @param {?} reject
* @return {?}
*/
(resolve, reject) => {
this.web3WalletConnector.providerController.on(CONNECT_EVENT, (/**
* @param {?} provider
* @return {?}
*/
provider => {
resolve(provider);
}));
this.web3WalletConnector.providerController.on(ERROR_EVENT, (/**
* @param {?} error
* @return {?}
*/
error => {
reject(error);
}));
this.shouldOpen.next(true);
this.shouldOpen.pipe(take(1)).subscribe({
next: (/**
* @param {?} open
* @return {?}
*/
(open) => {
if (!open) {
reject('Dismissed modal');
}
})
});
})).finally((/**
* @return {?}
*/
() => {
this.close();
}));
});
}
/**
* @param {?} options
* @return {?}
*/
setConfiguration(options) {
this.web3WalletConnector.setConfiguration(options);
}
/**
* @return {?}
*/
clearCachedProvider() {
this.web3WalletConnector.providerController.clearCachedProvider();
}
/**
* @param {?} id
* @return {?}
*/
setCachedProvider(id) {
this.web3WalletConnector.providerController.setCachedProvider(id);
}
/**
* @return {?}
*/
close() {
this.shouldOpen.next(false);
}
}
Web3ModalService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
Web3ModalService.ctorParameters = () => [
{ type: undefined, decorators: [{ type: Optional }] }
];
if (false) {
/**
* @type {?}
* @private
*/
Web3ModalService.prototype.web3WalletConnector;
/** @type {?} */
Web3ModalService.prototype.shouldOpen;
/** @type {?} */
Web3ModalService.prototype.providers;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViMy1tb2RhbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL25hbWVzdHkvRG9jdW1lbnRzL21pbmRzZG9yZy9taW5kc2Rvcmcvd2ViM21vZGFsLWFuZ3VsYXIvcHJvamVjdHMvd2ViM21vZGFsL3NyYy8iLCJzb3VyY2VzIjpbImxpYi93ZWIzLW1vZGFsL3dlYjMtbW9kYWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFDTCxhQUFhLEVBQ2IsV0FBVyxFQUVYLG1CQUFtQixFQUVwQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd0QyxNQUFNLE9BQU8sZ0JBQWdCOzs7O0lBTTNCLFlBQXlCLGFBQTBDO1FBSDVELGVBQVUsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2RCxjQUFTLEdBQXlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFHMUUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDbkUsQ0FBQzs7OztJQUVLLElBQUk7O1lBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBRXZELE9BQU8sTUFBTSxJQUFJLE9BQU87Ozs7O1lBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsYUFBYTs7OztnQkFBRSxRQUFRLENBQUMsRUFBRTtvQkFDdkUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNwQixDQUFDLEVBQUMsQ0FBQztnQkFFSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLFdBQVc7Ozs7Z0JBQUUsS0FBSyxDQUFDLEVBQUU7b0JBQ2xFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEIsQ0FBQyxFQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBRTFCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDdEMsSUFBSTs7OztvQkFBRSxDQUFDLElBQUksRUFBRSxFQUFFO3dCQUNiLElBQUksQ0FBQyxJQUFJLEVBQUU7NEJBQ1QsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7eUJBQzNCO29CQUNILENBQUMsQ0FBQTtpQkFDRixDQUFDLENBQUE7WUFDSixDQUFDLEVBQUMsQ0FBQyxPQUFPOzs7WUFBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1lBQ2QsQ0FBQyxFQUFDLENBQUE7UUFDSixDQUFDO0tBQUE7Ozs7O0lBRUQsZ0JBQWdCLENBQUMsT0FBbUM7UUFDbEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3BELENBQUM7Ozs7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDcEUsQ0FBQzs7Ozs7SUFFRCxpQkFBaUIsQ0FBQyxFQUFVO1FBQzFCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDOzs7O0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzdCLENBQUM7OztZQW5ERixVQUFVOzs7OzRDQU9LLFFBQVE7Ozs7Ozs7SUFMdEIsK0NBQWdEOztJQUVoRCxzQ0FBOEQ7O0lBQzlELHFDQUE0RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENPTk5FQ1RfRVZFTlQsXG4gIEVSUk9SX0VWRU5ULFxuICBJUHJvdmlkZXJDb250cm9sbGVyT3B0aW9ucyxcbiAgV2ViM1dhbGxldENvbm5lY3RvcixcbiAgSVByb3ZpZGVyVXNlck9wdGlvbnNcbn0gZnJvbSAnQG1pbmRzb3JnL3dlYjNtb2RhbC10cyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgV2ViM01vZGFsU2VydmljZSB7XG4gIHByaXZhdGUgd2ViM1dhbGxldENvbm5lY3RvcjogV2ViM1dhbGxldENvbm5lY3RvclxuXG4gIHB1YmxpYyBzaG91bGRPcGVuOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHB1YmxpYyBwcm92aWRlcnM6IEV2ZW50RW1pdHRlcjxJUHJvdmlkZXJVc2VyT3B0aW9uc1tdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvciAoQE9wdGlvbmFsKCkgY29uZmlnT3B0aW9ucz86IElQcm92aWRlckNvbnRyb2xsZXJPcHRpb25zKSB7XG4gICAgdGhpcy53ZWIzV2FsbGV0Q29ubmVjdG9yID0gbmV3IFdlYjNXYWxsZXRDb25uZWN0b3IoY29uZmlnT3B0aW9ucylcbiAgfVxuXG4gIGFzeW5jIG9wZW4oKSB7XG4gICAgdGhpcy5wcm92aWRlcnMubmV4dCh0aGlzLndlYjNXYWxsZXRDb25uZWN0b3IucHJvdmlkZXJzKVxuXG4gICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMud2ViM1dhbGxldENvbm5lY3Rvci5wcm92aWRlckNvbnRyb2xsZXIub24oQ09OTkVDVF9FVkVOVCwgcHJvdmlkZXIgPT4ge1xuICAgICAgICByZXNvbHZlKHByb3ZpZGVyKTtcbiAgICAgIH0pO1xuICBcbiAgICAgIHRoaXMud2ViM1dhbGxldENvbm5lY3Rvci5wcm92aWRlckNvbnRyb2xsZXIub24oRVJST1JfRVZFTlQsIGVycm9yID0+IHtcbiAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNob3VsZE9wZW4ubmV4dCh0cnVlKVxuXG4gICAgICB0aGlzLnNob3VsZE9wZW4ucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAob3BlbikgPT4ge1xuICAgICAgICAgIGlmICghb3Blbikge1xuICAgICAgICAgICAgcmVqZWN0KCdEaXNtaXNzZWQgbW9kYWwnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSkuZmluYWxseSgoKSA9PiB7XG4gICAgICB0aGlzLmNsb3NlKClcbiAgICB9KVxuICB9XG5cbiAgc2V0Q29uZmlndXJhdGlvbihvcHRpb25zOiBJUHJvdmlkZXJDb250cm9sbGVyT3B0aW9ucykge1xuICAgIHRoaXMud2ViM1dhbGxldENvbm5lY3Rvci5zZXRDb25maWd1cmF0aW9uKG9wdGlvbnMpXG4gIH1cblxuICBjbGVhckNhY2hlZFByb3ZpZGVyKCk6IHZvaWQge1xuICAgIHRoaXMud2ViM1dhbGxldENvbm5lY3Rvci5wcm92aWRlckNvbnRyb2xsZXIuY2xlYXJDYWNoZWRQcm92aWRlcigpO1xuICB9XG5cbiAgc2V0Q2FjaGVkUHJvdmlkZXIoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMud2ViM1dhbGxldENvbm5lY3Rvci5wcm92aWRlckNvbnRyb2xsZXIuc2V0Q2FjaGVkUHJvdmlkZXIoaWQpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5zaG91bGRPcGVuLm5leHQoZmFsc2UpXG4gIH1cbn1cbiJdfQ==