/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@tapjs/mock@4.4.3/dist/commonjs/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(t,e,r,o){void 0===o&&(o=r);var i=Object.getOwnPropertyDescriptor(e,r);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,o,i)}:function(t,e,r,o){void 0===o&&(o=r),t[o]=e[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),__importStar=this&&this.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[e.length]=r);return e},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var o=t(e),i=0;i<o.length;i++)"default"!==o[i]&&__createBinding(r,e,o[i]);return __setModuleDefault(r,e),r}}();Object.defineProperty(exports,"__esModule",{value:!0}),exports.plugin=exports.importLoader=exports.loader=exports.TapMock=void 0;const after_1=require("@tapjs/after"),stack=__importStar(require("@tapjs/stack")),node_module_1=require("node:module"),mock_require_js_1=require("./mock-require.js"),mock_service_js_1=require("./mock-service.js");class TapMock{#t;#e=!1;#r=[];#o;static#i=new Map;constructor(t){this.#t=t,TapMock.#i.set(t,this);const e=t.parent&&TapMock.#i.get(t.parent);this.#o=Object.assign(Object.create(null),e?e.#o:{})}createMock(t,e){if(Array.isArray(e))return e;const r=Object.fromEntries(Object.entries(t).map((([t,r])=>{if(t in e){const o=!!r&&"object"==typeof r;return!!e[t]&&"object"==typeof e[t]&&o?[t,this.createMock(r,e[t])]:[t,e[t]]}return[t,r]})).concat(Object.entries(e).filter((([e])=>!Object.hasOwnProperty.call(t,e)))));return Object.getPrototypeOf(t)!==Object.prototype&&Object.setPrototypeOf(r,Object.getPrototypeOf(t)),r}#s;#c(){return this.#s??=this.#t.t}mock(t,e={}){const{mock:r}=this.#c(),o=stack.at(r)?.toJSON()||"";return console.error("t.mock() is now t.mockRequire(). Please update your tests.",o),(0,mock_require_js_1.mockRequire)(t,e,r)}async mockImport(t,e={}){if((0,node_module_1.isBuiltin)(t))return this.#t.t.currentAssert=this.#c().mockImport,this.#t.t.fail("Node built-in modules cannot have their imports mocked"),{};e=Object.assign({},this.#o,e),!this.#e&&this.#t.t.pluginLoaded(after_1.plugin)&&(this.#e=!0,this.#t.t.teardown((()=>this.unmock())));const{mockImport:r}=this.#c(),o=mock_service_js_1.MockService.create(t,e,r);return this.#r.push(o),Promise.resolve(o.module).then((t=>import(t)))}mockRequire(t,e={}){if((0,node_module_1.isBuiltin)(t))return this.#t.t.currentAssert=this.#c().mockRequire,this.#t.t.fail("Node built-in modules cannot have their imports mocked"),{};e=Object.assign({},this.#o,e);const{mockRequire:r}=this.#c();return(0,mock_require_js_1.mockRequire)(t,e,r)}mockAll(t){if(null===t)this.#o=Object.create(null);else if(void 0!==t){this.#o=Object.assign(this.#o,t);for(const[t,e]of Object.entries(this.#o))null==e&&delete this.#o[t]}return this.#o}unmock(){for(const t of this.#r)t.unmock()}}exports.TapMock=TapMock,exports.loader="@tapjs/mock/loader",exports.importLoader="@tapjs/mock/import";const plugin=t=>new TapMock(t);exports.plugin=plugin;
//# sourceMappingURL=/sm/b4b98bec8e4164b1141d618c544c69883e50399e24a99123d615fd72af68d96b.map