UNPKG

playwright-bdd

Version:
33 lines 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.requireOrImport = requireOrImport; exports.requireOrImportDefaultFunction = requireOrImportDefaultFunction; /** * Universal requireOrImport function that can import any file (js/ts, cjs/esm) */ const utils_1 = require("./utils"); const esmLoader_1 = require("./esmLoader"); const paths_1 = require("../utils/paths"); async function requireOrImport(file) { (0, esmLoader_1.registerESMLoader)(); const { requireOrImport: pwRequireOrImport } = getTransformMethods(); return pwRequireOrImport(file); } // eslint-disable-next-line visual/complexity async function requireOrImportDefaultFunction(file, expectConstructor) { let func = await requireOrImport(file); if (func && typeof func === 'object' && 'default' in func) func = func['default']; if (typeof func !== 'function') { throw new Error(`${(0, paths_1.relativeToCwd)(file)}: file must export a single ${expectConstructor ? 'class' : 'function'}.`); } return func; } function getTransformMethods() { // Since PW 1.60 there is an index.js file with all exports. const { requireOrImport } = utils_1.playwrightVersion >= '1.60.0' ? (0, utils_1.requirePlaywrightModule)('lib/common/index.js').transform : (0, utils_1.requirePlaywrightModule)('lib/transform/transform.js'); return { requireOrImport }; } //# sourceMappingURL=requireOrImport.js.map