@neuralegion/cypress-har-generator
Version:
The Cypress plugin for generating HTTP Archive (HAR) files is a tool that allows developers and QA engineers to capture detailed information about network requests made during the execution of Cypress tests.
2 lines • 1.98 kB
JavaScript
(()=>{"use strict";var e={};class s{static isString(e){return"string"==typeof e}static toRegexSource(e){return this.isString(e)?e:e.source}static toRegex(e){return this.isString(e)?new RegExp(e):e}static dirname(e){const s=this.removeTrailingSlash(e),r=this.fileNameIdx(s),t=s.substring(0,r);return this.removeTrailingSlash(t)}static normalizeName(e,s){var r;const t=this.fileNameIdx(e),a=this.removeLeadingSlash(e.substring(t)),i=a.lastIndexOf(".");let n,l=a;return i>=0&&(n=null!==(r=null==s?void 0:s.ext)&&void 0!==r?r:a.substring(i),l=a.substring(0,i)),`${l}${null!=n?n:".har"}`}static escapeCharacters(e,s="^[]{}()\\\\.$*+?|"){let r=!1;const t=s.length;for(let a=0;a<t;++a)if(-1!==e.indexOf(s.charAt(a))){r=!0;break}if(!r)return e;let a="";for(let r=0;r<e.length;++r)-1!==s.indexOf(e.charAt(r))&&(a+="\\"),a+=e.charAt(r);return a}static fileNameIdx(e){return e.indexOf("\\")>=0?e.lastIndexOf("\\"):e.lastIndexOf("/")}static removeLeadingSlash(e){return e.replace(/^\/|^\\/,"")}static removeTrailingSlash(e){return e.replace(/\/+$|\\+$/,"")}}Cypress.Commands.add("recordHar",(e=>{var r,t;return cy.task("recordHar",Object.assign(Object.assign({content:!0,includeBlobs:!0,rootDir:s.dirname(Cypress.spec.absolute)},e),{excludePaths:null===(r=null==e?void 0:e.excludePaths)||void 0===r?void 0:r.map((e=>s.toRegexSource(e))),includeHosts:null===(t=null==e?void 0:e.includeHosts)||void 0===t?void 0:t.map((e=>s.toRegexSource(e)))}))})),Cypress.Commands.add("saveHar",(e=>{var r,t;const a=Cypress.spec.name,i=null!==(r=Cypress.env("hars_folders"))&&void 0!==r?r:"./";return cy.task("saveHar",Object.assign(Object.assign({outDir:i},e),{fileName:s.normalizeName(null!==(t=null==e?void 0:e.fileName)&&void 0!==t?t:a,(null==e?void 0:e.fileName)?void 0:{ext:".har"})}))})),Cypress.Commands.add("disposeOfHar",(()=>cy.task("disposeOfHar")));var r=exports;for(var t in e)r[t]=e[t];e.__esModule&&Object.defineProperty(r,"__esModule",{value:!0})})();
//# sourceMappingURL=commands.js.map