UNPKG

@dorgtech/web3modal-angular

Version:

Web3Modal implementation for Angular

117 lines 8.57 kB
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==