Зная, что у меня есть конфигурация webpack и файлы * .js.map. Можно ли перейти от связанного JS-кода Ionic 3 (полученного в результате декомпиляции APK), который выглядит следующим образом:
// FILE : 6.js
webpackJsonp([6],{
/***/ 287:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LoginPageModule", function() { return LoginPageModule; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(100);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__login__ = __webpack_require__(307);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var LoginPageModule = /** @class */ (function () {
function LoginPageModule() {
}
LoginPageModule = __decorate([
Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["NgModule"])({
declarations: [
__WEBPACK_IMPORTED_MODULE_2__login__["a" /* LoginPage */],
],
imports: [
__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* IonicPageModule */].forChild(__WEBPACK_IMPORTED_MODULE_2__login__["a" /* LoginPage */]),
],
})
], LoginPageModule);
return LoginPageModule;
}());
//# sourceMappingURL=login.module.js.map
/***/ }),
/***/ 307:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LoginPage; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(100);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__providers_api_api__ = __webpack_require__(102);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__providers_session_session__ = __webpack_require__(101);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__providers_data_data__ = __webpack_require__(200);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
/**
* Generated class for the LoginPage page.
*
* See https://ionicframework.com/docs/components/#navigation for more info on
* Ionic pages and navigation.
*/
var LoginPage = /** @class */ (function () {
function LoginPage(navCtrl, api, session, data) {
this.navCtrl = navCtrl;
this.api = api;
this.session = session;
this.data = data;
this.loading = false;
this.errorMessage = "";
}
LoginPage.prototype.ionViewDidLoad = function () {
var _this = this;
this.loading = true;
this.api.update().then(function () {
return _this.session.getToken();
}).then(function (token) {
if (token !== null)
_this.autoLogin();
else
_this.loading = false;
});
};
LoginPage.prototype.autoLogin = function () {
var _this = this;
this.loading = true;
return this.api.me()
.then(function (me) {
_this.email = me.email;
_this.initData();
}).catch(function (err) {
console.dir({
error: err
});
switch (err.name) {
case "HttpErrorResponse":
_this.errorMessage = "Can't connect to the server...";
default:
_this.errorMessage = "Encountered an unknown error";
}
_this.loading = false;
});
};
LoginPage.prototype.login = function () {
var _this = this;
this.loading = true;
this.api.login({
email: this.email,
password: this.password
}).then(function (response) {
console.log(response);
return _this.session.set(response);
}).then(function () {
_this.initData();
}).catch(function (error) {
_this.errorMessage = error;
_this.loading = false;
});
};
LoginPage.prototype.initData = function () {
var _this = this;
this.data.getMyEvents().then(function (events) {
return _this.data.getEventsAttendance();
}).then(function () {
return _this.data.getEventsTickets();
}).then(function () {
setTimeout(function () {
_this.goToMyEvents();
}, 1500);
}).catch(function (error) {
_this.errorMessage = error;
_this.loading = false;
});
};
LoginPage.prototype.goToMyEvents = function () {
this.navCtrl.setRoot("MyPage");
};
LoginPage = __decorate([
Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Component"])({
selector: 'page-login',template:/*ion-inline-start:"/some/folder/app/src/pages/login/login.html"*/'<ion-content>\n <ion-grid padding-small style="padding-top: 45px">\n <ion-row align-items-center>\n <ion-col text-center>\n <div id="access-control">MY APP</div>\n <img id="logo" src="assets/imgs/logo.png" />\n </ion-col>\n </ion-row>\n <ion-row class="fill-row" align-items-center style="display: none">\n <ion-col text-center style="padding:10px 32px">\n <button margin-bottom-small ion-button full class="fcbk-button socialBtn">\n <ion-row align-items-center>\n <ion-col no-margin margin-right no-padding col-auto><i class="fa fa-facebook-f"></i></ion-col>\n <ion-col no-margin no-paddingtext-center>Login with Facebook</ion-col>\n </ion-row>\n </button>\n <button ion-button full class="gmail-button socialBtn">\n <ion-row>\n <ion-col no-margin margin-right no-padding col-auto><i class="fa fa-google-plus"></i></ion-col>\n <ion-col no-margin no-paddingtext-center>Login with Google</ion-col>\n </ion-row>\n </button>\n </ion-col>\n </ion-row>\n <ion-row>\n <ion-col padding>\n <p text-center>{{ errorMessage }}</p>\n </ion-col>\n </ion-row>\n <ion-row class="fill-row" align-items-center>\n <ion-col padding>\n <div padding text-center>\n <ion-item>\n <ion-label fixed>E-Mail</ion-label>\n <ion-input [(ngModel)]="email" [disabled]="loading" type="email"></ion-input>\n </ion-item>\n <ion-item>\n <ion-label fixed>Password</ion-label>\n <ion-input [(ngModel)]="password" [disabled]="loading" type="password"></ion-input>\n </ion-item>\n <div style="padding:10px 32px 0px">\n <ion-spinner *ngIf="loading"></ion-spinner>\n <button *ngIf="!loading" ion-button full color="orange-color" class="submit-btn" (click)="login()">LOGIN</button>\n </div>\n <a style="display: none">Forgot Password</a>\n </div>\n </ion-col>\n </ion-row>\n </ion-grid>\n</ion-content>\n'/*ion-inline-end:"/some/folder/app/src/pages/login/login.html"*/,
}),
__metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["j" /* NavController */], __WEBPACK_IMPORTED_MODULE_2__providers_api_api__["a" /* ApiProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_session_session__["a" /* SessionProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_data_data__["a" /* DataProvider */]])
], LoginPage);
return LoginPage;
}());
//# sourceMappingURL=login.js.map
/***/ })
});
//# sourceMappingURL=6.js.map
К оригинальному Typescript и HTML или чему-то близкому?