PageSourceSearch

https://app.mailslurp.com/_nuxt/CP-xP7NC.js

js mailslurp.com collected 2026-10-04 00:16:50 UTC 17,947 bytes, 189 lines download raw bytes

1(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{};e.SENTRY_RELEASE={id:`ec73c1400cf46ee02e0658b9b9b034c6e6887193-0417cea9-dda7-45e1-b788-17a13357fcb3-build-30321`};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`c8a331ff-ab71-45fa-aec2-79353e5f698f`,e._sentryDebugIdIdentifier=`sentry-dbid-c8a331ff-ab71-45fa-aec2-79353e5f698f`)}catch{}})();import{D as e,at as t,ft as n,it as r,mt as i,w as a}from"./DXQmQWn0.js";var o=Error.captureStackTrace,s=class e extends Error{name;code;docs;fix;sources;get why(){return this.message}constructor(t,n=e){super(t.why,{cause:t.cause}),this.code=this.name=t.code,this.fix=t.fix,this.docs=t.docs,this.sources=t.sources,o?.(this,n)}toJSON(){return{name:this.name,why:this.why,fix:this.fix,docs:this.docs,sources:this.sources,cause:this.cause,stack:this.stack}}};function c(e,t){return typeof e==`string`?`${e}/${t.toLowerCase()}`:e?.(t)}function l(e={}){let{docsBase:t,reporters:n=[]}=e;return new Proxy({},{get(e,r){if(typeof r!=`string`)return;let i=(e={},a={})=>{let o=c(t,r),l=new s({code:r,why:o??``,docs:o,cause:e.cause,sources:e.sources},i);for(let e of n)e(l,a);return l};return i}})}function u(e){return`https://nuxt.com/docs/4.x/errors/${e.replace(`NUXT_`,``).toLowerCase()}`}var d=[e=>{console.error(`[${e.name}]`)}],f=l({docsBase:u,reporters:d});function p(e,t={},n){for(let r in e){let i=e[r],a=n?`${n}:${r}`:r;typeof i==`object`&&i?p(i,t,a):typeof i==`function`&&(t[a]=i)}return t}var m=(()=>{if(console.createTask)return console.createTask;let e={run:e=>e()};return()=>e})();function h(e,t,n,r){for(let i=n;i<e.length;i+=1)try{let n=r?r.run(()=>e[i](...t)):e[i](...t);if(n&&typeof n.then==`function`)return Promise.resolve(n).then(()=>h(e,t,i+1,r))}catch(e){return Promise.reject(e)}}function g(e,t,n){if(e.length>0)return h(e,t,0,m(n))}function _(e,t,n){if(e.length>0){let r=m(n);return Promise.all(e.map(e=>r.run(()=>e(...t))))}}function v(e,t){for(let n of[...e])n(t)}var y=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!=`function`)return()=>{};let r=e,i;for(;this._deprecatedHooks[e];)i=this._deprecatedHooks[e],e=i.to;if(i&&!n.allowDeprecated){let e=i.message;e||=`${r} hook has been deprecated`+(i.to?`, please use ${i.to}`:``),this._deprecatedMessages||=new Set,this._deprecatedMessages.has(e)||(console.warn(e),this._deprecatedMessages.add(e))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>`_`+e.replace(/\W+/g,`_`)+`_hook_cb`,configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&=(this.removeHook(e,t),void 0)}}hookOnce(e,t){let n,r=(...e)=>(typeof n==`function`&&n(),n=void 0,r=void 0,t(...e));return n=this.hook(e,r),n}removeHook(e,t){let n=this._hooks[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}clearHook(e){this._hooks[e]=void 0}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t==`string`?{to:t}:t;let n=this._hooks[e]||[];this._hooks[e]=void 0;for(let t of n)this.hook(e,t)}deprecateHooks(e){for(let t in e)this.deprecateHook(t,e[t])}addHooks(e){let t=p(e),n=Object.keys(t).map(e=>this.hook(e,t[e]));return()=>{for(let e of n)e();n.length=0}}removeHooks(e){let t=p(e);for(let e in t)this.removeHook(e,t[e])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(g,e,t)}callHookParallel(e,...t){return this.callHookWith(_,e,t)}callHookWith(e,t,n){let r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&v(this._before,r);let i=e(this._hooks[t]?[...this._hooks[t]]:[],n,t);return i instanceof Promise?i.finally(()=>{this._after&&r&&v(this._after,r)}):(this._after&&r&&v(this._after,r),i)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){let t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){let t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function b(){return new y}var x=class{_hooks;constructor(){this._hooks={}}hook(e,t){return!e||typeof t!=`function`?()=>{}:(this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&=(this.removeHook(e,t),void 0)})}removeHook(e,t){let n=this._hooks[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}callHook(e,...t){let n=this._hooks[e];if(n&&n.length!==0)return h(n,t,0)}};function S(){return globalThis.AsyncLocalStorage||globalThis.process?.getBuiltinModule?.(`node:async_hooks`)?.AsyncLocalStorage}function C(e={}){let t,n=!1,r=e=>{if(t&&t!==e)throw Error(`Context conflict`)},i;if(e.asyncContext){let t=e.AsyncLocalStorage||S();t?i=new t:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}let a=e=>i&&typeof e==`object`&&e?{__unctx_weak:new WeakRef(e)}:e,o=e=>e&&e.__unctx_weak?e.__unctx_weak.deref():e,s=()=>
1{if(i){let e=i.getStore();if(e!==void 0)return o(e)}return t};return{use:()=>{let e=s();if(e===void 0)throw Error(`Context is not available`);return e},tryUse:()=>s(),set:(e,i)=>{i||r(e),t=e,n=!0},unset:()=>{t=void 0,n=!1},call:(e,o)=>{r(e),t=e;try{return i?i.run(a(e),o):o()}finally{n||(t=void 0)}},async callAsync(e,r){t=e;let o=()=>{t=e},s=()=>t===e?o:void 0;A.add(s);try{let o=i?i.run(a(e),r):r();return n||(t=void 0),await o}finally{A.delete(s)}}}}function w(e={}){let t={};return{get(n,r={}){return t[n]||(t[n]=C({...e,...r})),t[n]}}}var T=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof global<`u`?global:typeof window<`u`?window:{},E=`__unctx__`,D=T[E]||(T[E]=w()),O=(e,t={})=>D.get(e,t),k=`__unctx_async_handlers__`,A=T[k]||(T[k]=new Set);function j(e){let t=[];for(let e of A){let n=e();n&&t.push(n)}let n=()=>{for(let e of t)e()},r=e();return r&&typeof r==`object`&&`catch`in r&&(r=r.catch(e=>{throw n(),e})),[r,n]}var M={meta:[{charset:`utf-8`},{name:`viewport`,content:`width=device-width, initial-scale=1`},{key:`description`,name:`description`,content:`Build, test, and automate email with confidence. Create real inboxes, inspect messages, and verify delivery from one API.`},{key:`version`,name:`version`,content:`ec73c1400cf46ee02e0658b9b9b034c6e6887193-0417cea9-dda7-45e1-b788-17a13357fcb3-build-30321`},{key:`isproduction`,name:`isproduction`,content:!0},{property:`og:type`,content:`website`},{property:`og:site_name`,content:`MailSlurp`},{property:`og:title`,content:`MailSlurp — Build, test, and automate email`},{property:`og:description`,content:`Build, test, and automate email with confidence. Create real inboxes, inspect messages, and verify delivery from one API.`},{property:`og:image`,content:`https://app.mailslurp.com/assets/social/mailslurp-og-v2.png`},{property:`og:image:secure_url`,content:`https://app.mailslurp.com/assets/social/mailslurp-og-v2.png`},{property:`og:image:type`,content:`image/png`},{property:`og:image:width`,content:`1200`},{property:`og:image:height`,content:`630`},{property:`og:image:alt`,content:`MailSlurp — Build, test, and automate email with confidence.`},{name:`twitter:card`,content:`summary_large_image`},{name:`twitter:title`,content:`MailSlurp — Build, test, and automate email`},{name:`twitter:description`,content:`Build, test, and automate email with confidence. Create real inboxes, inspect messages, and verify delivery from one API.`},{name:`twitter:image`,content:`https://app.mailslurp.com/assets/social/mailslurp-og-v2.png`},{name:`theme-color`,content:`#079669`}],link:[{rel:`icon`,type:`image/x-icon`,href:`/favicon.ico`},{rel:`preconnect`,href:`https://auth.mailslurp.com`,crossorigin:`anonymous`},{rel:`preconnect`,href:`https://api.mailslurp.com`,crossorigin:`anonymous`},{rel:`dns-prefetch`,href:`//enterprise.mailslurp.com`},{rel:`dns-prefetch`,href:`//checkout.stripe.com`},{rel:`dns-prefetch`,href:`//billing.stripe.com`}],style:[],script:[{id:`auth-callback-preserve`,innerHTML:`(() => {
2  try {
3    const storageKey = "ms:auth-callback-search";
4    const windowKey = "__msAuthCallbackSearch";
5    const traceKey = "ms:auth-trace";
6    const prefixes = ["/auth/complete","/auth/saml","/auth/oidc","/login","/sso","/verify","/organization","/organizations","/upgrade/callback"];
7    const sensitiveKeys = new Set(
8      ["token","apiaccesstokenkey","access_token","refreshtoken","refresh_token","id_token","code","authorizationcode","state","samlresponse","assertion","admingranttoken","email","emailaddress","password","newpassword","confirmpassword"]
9    );
10    const maxTraceEntries = 250;
11    const normalizePathname = (pathname = '') =>
12      pathname.length > 1 ? pathname.replace(/\\/+$/, '') || '/' : pathname || '/';
13    const authCompletePath = normalizePathname("/auth/complete/");
14    const redactSearch = (search = '') => {
15      if (!search) {
16        return '';
17      }
18      const params = new URLSearchParams(search.startsWith('?') ? search.slice(1) : search);
19      for (const key of Array.from(params.keys())) {
20        if (sensitiveKeys.has(key.toLowerCase())) {
21          params.set(key, '[REDACTED]');
22        }
23      }
24      const nextSearch = params.toString();
25      return nextSearch ? '?' + nextSearch : '';
26    };
27    const redactHash = (hash = '') => {
28      if (!hash) {
29        return '';
30      }
31      const params = new URLSearchParams(hash.startsWith('#') ? hash.slice(1) : hash);
32      for (const key of Array.from(params.keys())) {
33        if (sensitiveKeys.has(key.toLowerCase())) {
34          params.set(key, '[REDACTED]');
35        }
36      }
37      const nextHash = params.toString();
38      return nextHash ? '#' + nextHash : '';
39    };
40    const redactHref = (href) => {
41      if (!href) {
42        return href;
43      }
44      try {
45        const url = new URL(String(href), window.location.origin);
46        url.search = redactSearch(url.search);
47        url.hash = redactHash(url.hash);
48        return url.toString();
49      } catch {
50        return String(href);
51      }
52    };
53    const appendTrace = (event, payload = {}) => {
54      try {
55        const entry = {
56          event,
57          at: new Date().toISOString(),
58          href: redactHref(window.location.href),
59          path: window.location.pathname || '',
60          search: redactSearch(window.location.search || ''),
61          hash: redactHash(window.location.hash || ''),
62          readyState: document.readyState,
63          visibilityState: document.visibilityState,
64          historyLength: window.history.length,
65          ...payload,
66        };
67        const existing = JSON.parse(sessionStorage.getItem(traceKey) || '[]');
68        const nextEntries = [...existing.slice(-(maxTraceEntries - 1)), entry];
69        sessionStorage.setItem(traceKey, JSON.stringify(nextEntries));
70        window.__MS_AUTH_TRACE__ = nextEntries;
71        console.info('[auth-trace] ' + event, entry);
72      } catch {
73        // Ignore auth trace persistence failures and continue with console logs.
74      }
75    };
76    const isAuthCallbackPath = (pathname = '') => {
77      const normalizedPath = normalizePathname(pathname);
78      return prefixes.some(
79        (prefix) =>
80          normalizedPath === prefix || normalizedPath.startsWith(prefix + '/'),
81      );
82    };
83    const authCompleteHashToSearch = (pathname = '', hash = '') => {
84      if (!hash || normalizePathname(pathname) !== authCompletePath) {
85        return '';
86      }
87      const params = new URLSearchParams(hash.startsWith('#') ? hash.slice(1) : hash);
88      if (!params.has('authHandoff') && !params.has('returnTo')) {
89        return '';
90      }
91      const nextSearch = params.toString();
92      return nextSearch ? '?' + nextSearch : '';
93    };
94    const persistSearch = (urlLike) => {
95      if (!urlLike) {
96        return;
97      }
98      try {
99        const url = new URL(String(urlLike), window.location.origin);
100        const path = normalizePathname(url.pathname || window.location.pathname || '');
101        const search = url.search || authCompleteHashToSearch(path, url.hash || '');
102        if (!isAuthCallbackPath(path) || !search) {
103          return;
104        }
105        const payload = {
106          path,
107          search,
108          href: url.toString(),
109          capturedAt: Date.now(),
110        };
111        window[windowKey] = payload;
112        sessionStorage.setItem(storageKey, JSON.stringify(payload));
113        appendTrace('auth-callback-preserve-captured', {
114          callbackPath: path,
115          callbackSearch: redactSearch(search),
116          callbackHref: redactHref(payload.href),
117        });
118        console.info('[auth-callback-preserve] captured', {
119          path,
120          search: redactSearch(search),
121          href: redactHref(payload.href),
122        });
123      } catch {
124        // Ignore callback preservation failures for malformed intermediate URLs.
125      }
126    };
127    const normalizeAuthCallbackUrl = () => {
128      try {
129        const currentUrl = new URL(window.location.href);
130        const path = currentUrl.pathname || window.location.pathname || '';
131        const normalizedPath = normalizePathname(path);
132        const search =
133          currentUrl.search ||
134          authCompleteHashToSearch(normalizedPath, currentUrl.hash || '');
135        const shouldStripAuthCompleteHash =
136          normalizedPath === authCompletePath && !!currentUrl.hash;
137        if (
138          !isAuthCallbackPath(path) ||
139          (!search && !shouldStripAuthCompleteHash) ||
140          (!shouldStripAuthCompleteHash && normalizedPath === path)
141        ) {
142          return;
143        }
144        const normalizedHref =
145          normalizedPath +
146          currentUrl.search +
147          (shouldStripAuthCompleteHash ? '' : currentUrl.hash || '');
148        appendTrace('auth-callback-preserve-normalizing', {
149          fromPath: path,
150          toPath: normalizedPath,
151          callbackSearch: redactSearch(search),
152        });
153        console.info('[auth-callback-preserve] normalizing', {
154          fromPath: path,
155          toPath: normalizedPath,
156          search: redactSearch(search),
157        });
158        history.replaceState(history.state, document.title, normalizedHref);
159      } catch {
160        // Ignore early URL normalization failures and continue with the live URL.
161      }
162    };
163    const wrapHistoryMethod = (method) => {
164      const original = history[method];
165      if (typeof original !== 'function') {
166        return;
167      }
168      history[method] = function () {
169        persistSearch(window.location.href);
170        persistSearch(arguments[2]);
171        return original.apply(this, arguments);
172      };
173    };
174    persistSearch(window.location.href);
175    normalizeAuthCallbackUrl();
176    persistSearch(window.location.href);
177    wrapHistoryMethod('replaceState');
178    wrapHistoryMethod('pushState');
179    window.addEventListener(
180      'popstate',
181      () => {
182        persistSearch(window.location.href);
183      },
184      { passive: true },
185    );
186  } catch {
187    // Ignore callback preservation failures during initial page boot.
188	  }
189	})();`,tagPosition:`head`}],noscript:[],htmlAttrs:{lang:`en`},title:`MailSlurp — Email testing infrastructure`},N={id:`__nuxt-loader`},P={prefetch:!0,prefetchOn:{interaction:!0,visibility:!1},componentName:`NuxtLink`},F={deep:!1},I={},L=`#__nuxt`,R=`nuxt-app`,z=36e5,B=`vite:preloadError`;function V(e=`nuxt-app`){return O(e,{asyncContext:!1})}var H=`__nuxt_plugin`;function U(e){let a=0,o={_id:e.id||`nuxt-app`,_scope:r(),provide:void 0,versions:{get nuxt(){return`4.5.2`},get vue(){return o.vueApp.version}},payload:i({...e.ssrContext?.payload||{},data:i({}),state:n({}),once:new Set,_errors:i({})}),static:{data:{}},runWithContext(e){return o._scope.active&&!t()?o._scope.run(()=>Y(o,e)):Y(o,e)},isHydrating:!0,deferHydration(){if(!o.isHydrating)return()=>{};a++;let e=!1;return()=>{if(!e&&(e=!0,a--,a===0))return o.isHydrating=!1,o.callHook(`app:suspense:resolve`)}},_asyncDataPromises:{},_asyncData:i({}),_state:i({}),_payloadRevivers:{},...e};{let e=window.__NUXT__;if(e)for(let t in e)switch(t){case`data`:case`state`:case`_errors`:Object.assign(o.payload[t],e[t]);break;default:o.payload[t]=e[t]}}o.hooks=b(),o.hook=o.hooks.hook;{let e=o.hooks.callHook;o.hooks.callHook=(t,...n)=>Promise.resolve().then(()=>e(t,...n))}o.callHook=o.hooks.callHook,o.provide=(e,t)=>{let n=`$`+e;$(o,n,t),$(o.vueApp.config.globalProperties,n,t)},$(o.vueApp,`$nuxt`,o),$(o.vueApp.config.globalProperties,`$nuxt`,o);{window.addEventListener(B,e=>{o.callHook(`app:chunkError`,{error:e.payload}),e.payload?.message?.includes(`Unable to preload CSS`)&&e.preventDefault()}),window.useNuxtApp||=Z;let e=o.hook(`app:error`,(...e)=>{f.NUXT_E1005({cause:e.length>1?e:e[0]})});o.hook(`app:mounted`,e)}let s=o.payload.config;return o.provide(`config`,s),o}function W(e,t){t.hooks&&e.hooks.addHooks(t.hooks)}async function G(e,t){if(typeof t==`function`){let{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n==`object`)for(let t in n)e.provide(t,n[t])}}async function K(e,t){let n;for(let n of t)W(e,n);for(let r of t)try{await G(e,r)}catch(t){if(!e.payload.error)throw t;n||=t}if(n)throw e.payload.error||n}function q(e){if(typeof e==`function`)return e;let t=e._name||e.name;return delete e.name,Object.assign(e.setup||(()=>{}),e,{[H]:!0,_name:t})}var J=q;function Y(e,t,n){return V(e._id).set(e),e.vueApp.runWithContext(()=>n?t(...n):t())}function X(t){let n;return e()&&(n=a()?.appContext.app.$nuxt),n||=V(t).tryUse(),n||null}function Z(e){let t=X(e);if(!t)throw f.NUXT_E1001();return t}function Q(e){return Z().$config}function $(e,t,n){Object.defineProperty(e,t,{get:()=>n})}export{f as _,Z as a,l as b,R as c,I as d,P as f,x as g,j as h,J as i,N as l,L as m,U as n,Q as o,z as p,q as r,M as s,K as t,F as u,u as v,d as y};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.