/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/zoapp-backend@0.24.11/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createConfig=exports.defaultAppConfig=exports.CommonRoutes=exports.Model=exports.Controller=void 0;var _zoappCore=require("zoapp-core"),_lodash=require("lodash"),_lodash2=_interopRequireDefault(_lodash),_server=require("./server"),_server2=_interopRequireDefault(_server),_app=require("./app"),_app2=_interopRequireDefault(_app),_abstractController=require("./controllers/abstractController"),_abstractController2=_interopRequireDefault(_abstractController),_abstractModel=require("./models/abstractModel"),_abstractModel2=_interopRequireDefault(_abstractModel),_common=require("./routes/common"),_common2=_interopRequireDefault(_common),_defaultAppConfig=require("./defaultAppConfig"),_defaultAppConfig2=_interopRequireDefault(_defaultAppConfig);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const createConfig=(e,o)=>{let r=_defaultAppConfig2.default;r=_lodash2.default.merge({},r,e);for(const e in _lodash2.default.pickBy(o,((e,o)=>o.startsWith("ZOAPP__"))))if(o.hasOwnProperty(e)){const t=e.split("__").splice(1);_lodash2.default.set(r,t.join(".").toLowerCase(),o[e])}return r},createZoapp=(e,o="debug")=>{(0,_zoappCore.setupLogger)(o);const r=createConfig(e,process.env),t=(0,_server2.default)(r),a=(0,_app2.default)(r,t),s=()=>{(async()=>{await a.close(),logger.info("Closed out remaining connections / services."),process.exit(0)})()};return process.on("SIGTERM",s),process.on("SIGINT",s),a};exports.Controller=_abstractController2.default,exports.Model=_abstractModel2.default,exports.CommonRoutes=_common2.default,exports.defaultAppConfig=_defaultAppConfig2.default,exports.createConfig=createConfig,exports.default=createZoapp;
//# sourceMappingURL=/sm/f80875b4d0c21d20b61a3a6b6431ae50e6846771857c0ff2d444be27db9d4297.map