{"version":3,"sources":["jsdelivr-header.js","/npm/@databases/pg-test@3.1.2/lib/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,OAAO,eAAe,QAAS,aAAc,CAAE,OAAO,IACtD,QAAQ,kBAAe,EACvB,MAAM,iBAAmB,QAAQ,6BAC3B,YAAc,QAAQ,wBACtB,MAAQ,QAAQ,eAChB,QAAS,EAAI,YAAY,mBACzB,mBAAqB,QAAQ,IAAI,eAAiB,OAAO,KAAK,MAC9D,cAAgB,QAAQ,IAAI,eAAiB,OAAO,KAAK,MACzD,uBAAyB,QAAQ,IAAI,wBAA0B,OAAO,KAAK,cACjF,GAAI,QAAQ,IAAI,kCACX,QAAQ,KAAK,QAAQ,IAAI,iCAC1B,MAAM,IAAI,MAAM,0FAEpB,MAAM,gCAAkC,QAAQ,IAC3C,gCACC,SAAS,QAAQ,IAAI,gCAAiC,IACtD,OAAO,KAAK,sBACZ,gBAAkB,KAClB,gBAAkB,QAAQ,IAAI,cAAgB,OAAO,KAAK,OAC1D,cAAgB,QAAQ,IAAI,YAAc,OAAO,KAAK,KAC5D,eAAe,aAAa,EAAU,CAAC,SAC7B,EAAI,iBAAiB,mBAAmB,CAC1C,MAAO,iBACP,cAAe,0BACZ,GAEX,CAEA,eAAe,YAAY,EAAU,CAAC,GAClC,MAAM,OAAE,EAAM,KAAE,EAAI,YAAE,KAAgB,GAAe,CACjD,MAAO,iBACP,MAAO,cACP,cAAe,uBACf,sBAAuB,gCACvB,OAAQ,gBACR,KAAM,cACN,oBAnBgB,KAoBhB,aAAc,OAAO,KAAK,QACvB,IAED,KAAE,EAAI,aAAE,EAAY,KAAE,SAAe,EAAI,iBAAiB,SAAS,IAClE,EACH,aAzBgB,KA0BhB,YAAa,CACT,0BAA2B,WACxB,EACH,cAAe,EACf,YAAa,GAEjB,wBAAyB,kEACzB,eAAoB,OAAC,MAAE,EAAK,cAAE,EAAa,mBAAE,aAC7B,WAEC,IAAI,SAAS,IACtB,MAAM,SAAU,CACZ,OACA,EACA,OACA,cAAc,IACd,YAAY,IACZ,KACA,YACD,EAAQ,CAAE,MAAO,WAAc,CAAC,GAC9B,GAAG,SAAS,IAAM,GAAQ,KAC1B,GAAG,QAAS,GAAS,EAAiB,IAAT,IAAY,MAK1D,MAAO,CACH,OACA,YAHgB,cAAc,eAAoB,KAAgB,IAIlE,OAER,CA/CA,QAAQ,aAAe,aAgDvB,QAAQ,QAAU","file":"/npm/@databases/pg-test@3.1.2/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@databases/pg-test@3.1.2/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.killDatabase = void 0;\nconst with_container_1 = require(\"@databases/with-container\");\nconst pg_config_1 = require(\"@databases/pg-config\");\nconst spawn = require(\"cross-spawn\");\nconst config = (0, pg_config_1.getPgConfigSync)();\nconst DEFAULT_PG_DEBUG = !!process.env.PG_TEST_DEBUG || config.test.debug;\nconst DEFAULT_IMAGE = process.env.PG_TEST_IMAGE || config.test.image;\nconst DEFAULT_CONTAINER_NAME = process.env.PG_TEST_CONTAINER_NAME || config.test.containerName;\nif (process.env.PG_TEST_CONNECT_TIMEOUT_SECONDS &&\n    !/^\\d+$/.test(process.env.PG_TEST_CONNECT_TIMEOUT_SECONDS)) {\n    throw new Error('Expected PG_TEST_CONNECT_TIMEOUT_SECONDS environment variable to be a positive integer');\n}\nconst DEFAULT_CONNECT_TIMEOUT_SECONDS = process.env\n    .PG_TEST_CONNECT_TIMEOUT_SECONDS\n    ? parseInt(process.env.PG_TEST_CONNECT_TIMEOUT_SECONDS, 10)\n    : config.test.connectTimeoutSeconds;\nconst DEFAULT_PG_PORT = 5432;\nconst DEFAULT_PG_USER = process.env.PG_TEST_USER || config.test.pgUser;\nconst DEFAULT_PG_DB = process.env.PG_TEST_DB || config.test.pgDb;\nasync function killDatabase(options = {}) {\n    await (0, with_container_1.killOldContainers)({\n        debug: DEFAULT_PG_DEBUG,\n        containerName: DEFAULT_CONTAINER_NAME,\n        ...options,\n    });\n}\nexports.killDatabase = killDatabase;\nasync function getDatabase(options = {}) {\n    const { pgUser, pgDb, environment, ...rawOptions } = {\n        debug: DEFAULT_PG_DEBUG,\n        image: DEFAULT_IMAGE,\n        containerName: DEFAULT_CONTAINER_NAME,\n        connectTimeoutSeconds: DEFAULT_CONNECT_TIMEOUT_SECONDS,\n        pgUser: DEFAULT_PG_USER,\n        pgDb: DEFAULT_PG_DB,\n        defaultExternalPort: DEFAULT_PG_PORT,\n        externalPort: config.test.port,\n        ...options,\n    };\n    const { proc, externalPort, kill } = await (0, with_container_1.default)({\n        ...rawOptions,\n        internalPort: DEFAULT_PG_PORT,\n        environment: {\n            POSTGRES_HOST_AUTH_METHOD: 'trust',\n            ...environment,\n            POSTGRES_USER: pgUser,\n            POSTGRES_DB: pgDb,\n        },\n        enableDebugInstructions: `To view logs, run with PG_TEST_DEBUG=true environment variable.`,\n        async testConnection({ debug, containerName, testPortConnection, }) {\n            if (!(await testPortConnection()))\n                return false;\n            return await new Promise((resolve) => {\n                spawn(`docker`, [\n                    `exec`,\n                    containerName,\n                    `psql`,\n                    `--username=${pgUser}`,\n                    `--dbname=${pgDb}`,\n                    `-c`,\n                    `select 1`,\n                ], debug ? { stdio: 'inherit' } : {})\n                    .on(`error`, () => resolve(false))\n                    .on(`exit`, (code) => resolve(code === 0));\n            });\n        },\n    });\n    const databaseURL = `postgres://${pgUser}@localhost:${externalPort}/${pgDb}`;\n    return {\n        proc,\n        databaseURL,\n        kill,\n    };\n}\nexports.default = getDatabase;\n"]}