Website : rimsha.abasa.com
backdoor
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
canvas
/
node_modules
/
testcafe
/
lib
/
role
/
Filename :
index.js
back
Copy
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createAnonymousRole = exports.createRole = void 0; const events_1 = require("events"); const nanoid_1 = __importDefault(require("nanoid")); const phase_1 = __importDefault(require("./phase")); const type_assertions_1 = require("../errors/runtime/type-assertions"); const wrap_test_function_1 = __importDefault(require("../api/wrap-test-function")); const test_page_url_1 = require("../api/test-page-url"); const marker_symbol_1 = __importDefault(require("./marker-symbol")); const testcafe_hammerhead_1 = require("testcafe-hammerhead"); class Role extends events_1.EventEmitter { constructor(loginUrl, initFn, options = {}) { super(); // @ts-ignore this[marker_symbol_1.default] = true; this.id = nanoid_1.default(7); this.phase = loginUrl ? phase_1.default.uninitialized : phase_1.default.initialized; this.loginUrl = loginUrl; this._initFn = initFn; this.opts = options; this.redirectUrl = null; this.stateSnapshot = testcafe_hammerhead_1.StateSnapshot.empty(); this.initErr = null; } async _storeStateSnapshot(testRun) { if (this.initErr) return; this.stateSnapshot = await testRun.getStateSnapshot(); } async _executeInitFn(testRun) { try { let fn = () => this._initFn(testRun); fn = testRun.decoratePreventEmitActionEvents(fn, { prevent: false }); fn = testRun.decorateDisableDebugBreakpoints(fn, { disable: false }); await fn(); } catch (err) { this.initErr = err; } } async initialize(testRun) { this.phase = phase_1.default.pendingInitialization; await testRun.switchToCleanRun(this.loginUrl); await this._executeInitFn(testRun); await this._storeStateSnapshot(testRun); if (this.opts.preserveUrl) await this.setCurrentUrlAsRedirectUrl(testRun); this.phase = phase_1.default.initialized; this.emit('initialized'); } async setCurrentUrlAsRedirectUrl(testRun) { this.redirectUrl = await testRun.getCurrentUrl(); } } function createRole(loginUrl, initFn, options = { preserveUrl: false }) { type_assertions_1.assertType(type_assertions_1.is.string, 'Role', '"loginUrl" argument', loginUrl); type_assertions_1.assertType(type_assertions_1.is.function, 'Role', '"initFn" argument', initFn); type_assertions_1.assertType(type_assertions_1.is.nonNullObject, 'Role', '"options" argument', options); if (options.preserveUrl !== void 0) type_assertions_1.assertType(type_assertions_1.is.boolean, 'Role', '"preserveUrl" option', options.preserveUrl); test_page_url_1.assertRoleUrl(loginUrl, 'Role'); loginUrl = test_page_url_1.getUrl(loginUrl); initFn = wrap_test_function_1.default(initFn); return new Role(loginUrl, initFn, options); } exports.createRole = createRole; function createAnonymousRole() { return new Role(null, null); } exports.createAnonymousRole = createAnonymousRole; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm9sZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtQ0FBc0M7QUFDdEMsb0RBQTRCO0FBQzVCLG9EQUFnQztBQUNoQyx1RUFBbUU7QUFDbkUsbUZBQXlEO0FBQ3pELHdEQUE2RDtBQUM3RCxvRUFBeUM7QUFDekMsNkRBQW9EO0FBT3BELE1BQU0sSUFBSyxTQUFRLHFCQUFZO0lBVTNCLFlBQW9CLFFBQXVCLEVBQUUsTUFBdUIsRUFBRSxPQUFPLEdBQUcsRUFBRTtRQUM5RSxLQUFLLEVBQUUsQ0FBQztRQUVSLGFBQWE7UUFDYixJQUFJLENBQUMsdUJBQVUsQ0FBQyxHQUFLLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsRUFBRSxHQUFjLGdCQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBVyxRQUFRLENBQUMsQ0FBQyxDQUFDLGVBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGVBQVMsQ0FBQyxXQUFXLENBQUM7UUFDaEYsSUFBSSxDQUFDLFFBQVEsR0FBUSxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBUyxNQUFNLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksR0FBWSxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBSyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxtQ0FBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLEdBQVMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFTyxLQUFLLENBQUMsbUJBQW1CLENBQUUsT0FBZ0I7UUFDL0MsSUFBSSxJQUFJLENBQUMsT0FBTztZQUNaLE9BQU87UUFFWCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVPLEtBQUssQ0FBQyxjQUFjLENBQUUsT0FBZ0I7UUFDMUMsSUFBSTtZQUNBLElBQUksRUFBRSxHQUFHLEdBQWtCLEVBQUUsQ0FBRSxJQUFJLENBQUMsT0FBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVsRSxFQUFFLEdBQUcsT0FBTyxDQUFDLCtCQUErQixDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLEVBQUUsR0FBRyxPQUFPLENBQUMsK0JBQStCLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFFckUsTUFBTSxFQUFFLEVBQUUsQ0FBQztTQUNkO1FBQ0QsT0FBTyxHQUFHLEVBQUU7WUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztTQUN0QjtJQUNMLENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVSxDQUFFLE9BQWdCO1FBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsZUFBUyxDQUFDLHFCQUFxQixDQUFDO1FBRTdDLE1BQU0sT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU5QyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFeEMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFDckIsTUFBTSxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLEtBQUssR0FBRyxlQUFTLENBQUMsV0FBVyxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLEtBQUssQ0FBQywwQkFBMEIsQ0FBRSxPQUFnQjtRQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3JELENBQUM7Q0FDSjtBQUVELFNBQWdCLFVBQVUsQ0FBRSxRQUFnQixFQUFFLE1BQWdCLEVBQUUsVUFBdUIsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFO0lBQ3pHLDRCQUFVLENBQUMsb0JBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9ELDRCQUFVLENBQUMsb0JBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdELDRCQUFVLENBQUMsb0JBQUUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRXBFLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUM7UUFDOUIsNEJBQVUsQ0FBQyxvQkFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWhGLDZCQUFhLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRWhDLFFBQVEsR0FBRyxzQkFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLE1BQU0sR0FBSyw0QkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwQyxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQWRELGdDQWNDO0FBRUQsU0FBZ0IsbUJBQW1CO0lBQy9CLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2hDLENBQUM7QUFGRCxrREFFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ2V2ZW50cyc7XG5pbXBvcnQgbmFub2lkIGZyb20gJ25hbm9pZCc7XG5pbXBvcnQgUm9sZVBoYXNlIGZyb20gJy4vcGhhc2UnO1xuaW1wb3J0IHsgYXNzZXJ0VHlwZSwgaXMgfSBmcm9tICcuLi9lcnJvcnMvcnVudGltZS90eXBlLWFzc2VydGlvbnMnO1xuaW1wb3J0IHdyYXBUZXN0RnVuY3Rpb24gZnJvbSAnLi4vYXBpL3dyYXAtdGVzdC1mdW5jdGlvbic7XG5pbXBvcnQgeyBnZXRVcmwsIGFzc2VydFJvbGVVcmwgfSBmcm9tICcuLi9hcGkvdGVzdC1wYWdlLXVybCc7XG5pbXBvcnQgcm9sZU1hcmtlciBmcm9tICcuL21hcmtlci1zeW1ib2wnO1xuaW1wb3J0IHsgU3RhdGVTbmFwc2hvdCB9IGZyb20gJ3Rlc3RjYWZlLWhhbW1lcmhlYWQnO1xuaW1wb3J0IFRlc3RSdW4gZnJvbSAnLi4vdGVzdC1ydW4nO1xuXG5pbnRlcmZhY2UgUm9sZU9wdGlvbnMge1xuICAgIHByZXNlcnZlVXJsPzogYm9vbGVhbjtcbn1cblxuY2xhc3MgUm9sZSBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gICAgcHVibGljIGlkOiBzdHJpbmc7XG4gICAgcHVibGljIHBoYXNlOiBSb2xlUGhhc2U7XG4gICAgcHVibGljIGxvZ2luVXJsOiBzdHJpbmcgfCBudWxsO1xuICAgIHB1YmxpYyByZWRpcmVjdFVybDogc3RyaW5nIHwgbnVsbDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9pbml0Rm46IEZ1bmN0aW9uIHwgbnVsbDtcbiAgICBwdWJsaWMgb3B0czogUm9sZU9wdGlvbnM7XG4gICAgcHVibGljIGluaXRFcnI6IG51bGwgfCBFcnJvcjtcbiAgICBwdWJsaWMgc3RhdGVTbmFwc2hvdDogU3RhdGVTbmFwc2hvdDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAobG9naW5Vcmw6IHN0cmluZyB8IG51bGwsIGluaXRGbjogRnVuY3Rpb24gfCBudWxsLCBvcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRoaXNbcm9sZU1hcmtlcl0gICA9IHRydWU7XG4gICAgICAgIHRoaXMuaWQgICAgICAgICAgICA9IG5hbm9pZCg3KTtcbiAgICAgICAgdGhpcy5waGFzZSAgICAgICAgID0gbG9naW5VcmwgPyBSb2xlUGhhc2UudW5pbml0aWFsaXplZCA6IFJvbGVQaGFzZS5pbml0aWFsaXplZDtcbiAgICAgICAgdGhpcy5sb2dpblVybCAgICAgID0gbG9naW5Vcmw7XG4gICAgICAgIHRoaXMuX2luaXRGbiAgICAgICA9IGluaXRGbjtcbiAgICAgICAgdGhpcy5vcHRzICAgICAgICAgID0gb3B0aW9ucztcbiAgICAgICAgdGhpcy5yZWRpcmVjdFVybCAgID0gbnVsbDtcbiAgICAgICAgdGhpcy5zdGF0ZVNuYXBzaG90ID0gU3RhdGVTbmFwc2hvdC5lbXB0eSgpO1xuICAgICAgICB0aGlzLmluaXRFcnIgICAgICAgPSBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3N0b3JlU3RhdGVTbmFwc2hvdCAodGVzdFJ1bjogVGVzdFJ1bik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy5pbml0RXJyKVxuICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuc3RhdGVTbmFwc2hvdCA9IGF3YWl0IHRlc3RSdW4uZ2V0U3RhdGVTbmFwc2hvdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX2V4ZWN1dGVJbml0Rm4gKHRlc3RSdW46IFRlc3RSdW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGxldCBmbiA9ICgpOiBQcm9taXNlPHZvaWQ+ID0+ICh0aGlzLl9pbml0Rm4gYXMgRnVuY3Rpb24pKHRlc3RSdW4pO1xuXG4gICAgICAgICAgICBmbiA9IHRlc3RSdW4uZGVjb3JhdGVQcmV2ZW50RW1pdEFjdGlvbkV2ZW50cyhmbiwgeyBwcmV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgIGZuID0gdGVzdFJ1bi5kZWNvcmF0ZURpc2FibGVEZWJ1Z0JyZWFrcG9pbnRzKGZuLCB7IGRpc2FibGU6IGZhbHNlIH0pO1xuXG4gICAgICAgICAgICBhd2FpdCBmbigpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdEVyciA9IGVycjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBpbml0aWFsaXplICh0ZXN0UnVuOiBUZXN0UnVuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMucGhhc2UgPSBSb2xlUGhhc2UucGVuZGluZ0luaXRpYWxpemF0aW9uO1xuXG4gICAgICAgIGF3YWl0IHRlc3RSdW4uc3dpdGNoVG9DbGVhblJ1bih0aGlzLmxvZ2luVXJsKTtcblxuICAgICAgICBhd2FpdCB0aGlzLl9leGVjdXRlSW5pdEZuKHRlc3RSdW4pO1xuICAgICAgICBhd2FpdCB0aGlzLl9zdG9yZVN0YXRlU25hcHNob3QodGVzdFJ1bik7XG5cbiAgICAgICAgaWYgKHRoaXMub3B0cy5wcmVzZXJ2ZVVybClcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2V0Q3VycmVudFVybEFzUmVkaXJlY3RVcmwodGVzdFJ1bik7XG5cbiAgICAgICAgdGhpcy5waGFzZSA9IFJvbGVQaGFzZS5pbml0aWFsaXplZDtcbiAgICAgICAgdGhpcy5lbWl0KCdpbml0aWFsaXplZCcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZXRDdXJyZW50VXJsQXNSZWRpcmVjdFVybCAodGVzdFJ1bjogVGVzdFJ1bik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLnJlZGlyZWN0VXJsID0gYXdhaXQgdGVzdFJ1bi5nZXRDdXJyZW50VXJsKCk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUm9sZSAobG9naW5Vcmw6IHN0cmluZywgaW5pdEZuOiBGdW5jdGlvbiwgb3B0aW9uczogUm9sZU9wdGlvbnMgPSB7IHByZXNlcnZlVXJsOiBmYWxzZSB9KTogUm9sZSB7XG4gICAgYXNzZXJ0VHlwZShpcy5zdHJpbmcsICdSb2xlJywgJ1wibG9naW5VcmxcIiBhcmd1bWVudCcsIGxvZ2luVXJsKTtcbiAgICBhc3NlcnRUeXBlKGlzLmZ1bmN0aW9uLCAnUm9sZScsICdcImluaXRGblwiIGFyZ3VtZW50JywgaW5pdEZuKTtcbiAgICBhc3NlcnRUeXBlKGlzLm5vbk51bGxPYmplY3QsICdSb2xlJywgJ1wib3B0aW9uc1wiIGFyZ3VtZW50Jywgb3B0aW9ucyk7XG5cbiAgICBpZiAob3B0aW9ucy5wcmVzZXJ2ZVVybCAhPT0gdm9pZCAwKVxuICAgICAgICBhc3NlcnRUeXBlKGlzLmJvb2xlYW4sICdSb2xlJywgJ1wicHJlc2VydmVVcmxcIiBvcHRpb24nLCBvcHRpb25zLnByZXNlcnZlVXJsKTtcblxuICAgIGFzc2VydFJvbGVVcmwobG9naW5VcmwsICdSb2xlJyk7XG5cbiAgICBsb2dpblVybCA9IGdldFVybChsb2dpblVybCk7XG4gICAgaW5pdEZuICAgPSB3cmFwVGVzdEZ1bmN0aW9uKGluaXRGbik7XG5cbiAgICByZXR1cm4gbmV3IFJvbGUobG9naW5VcmwsIGluaXRGbiwgb3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBbm9ueW1vdXNSb2xlICgpOiBSb2xlIHtcbiAgICByZXR1cm4gbmV3IFJvbGUobnVsbCwgbnVsbCk7XG59XG4iXX0=