UNPKG

12.6 kBJavaScriptView Raw
1var N=Object.create;var l=Object.defineProperty,W=Object.defineProperties,D=Object.getOwnPropertyDescriptor,H=Object.getOwnPropertyDescriptors,O=Object.getOwnPropertyNames,E=Object.getOwnPropertySymbols,M=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var h=(e,r,t)=>r in e?l(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,s=(e,r)=>{for(var t in r||(r={}))b.call(r,t)&&h(e,t,r[t]);if(E)for(var t of E(r))A.call(r,t)&&h(e,t,r[t]);return e},I=(e,r)=>W(e,H(r)),R=e=>l(e,"__esModule",{value:!0});var w=(e,r)=>{R(e);for(var t in r)l(e,t,{get:r[t],enumerable:!0})},k=(e,r,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of O(r))!b.call(e,a)&&a!=="default"&&l(e,a,{get:()=>r[a],enumerable:!(t=D(r,a))||t.enumerable});return e},v=e=>k(R(l(e!=null?N(M(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);w(exports,{Env:()=>i,getCurrentPrestaInstance:()=>p,logger:()=>Q,wrapHandler:()=>S});var x={};w(x,{Levels:()=>o,colors:()=>u.default,debug:()=>B,error:()=>J,getLogs:()=>U,info:()=>K,logger:()=>c,newline:()=>q,raw:()=>$,warn:()=>V});var u=v(require("kleur"));var i={PRODUCTION:"production",DEVELOPMENT:"development"};var G={pid:process.pid,cwd:process.cwd(),env:i.PRODUCTION,debug:!1};function j(e){return global.__presta__=e,e}function p(){return global.__presta__||j(G),global.__presta__}var o;(function(n){n.Debug="debug",n.Info="info",n.Warn="warn",n.Err="error"})(o||(o={}));var g=[],z={[o.Debug]:"magenta",[o.Info]:"blue",[o.Warn]:"yellow",[o.Err]:"red"};function U(){if(!process.env.TESTING)throw new Error("Internal method was called outside test mode");return g}function c(e){if(process.env.TESTING)g.push(e);else{let r=p().debug,t=p().env===i.PRODUCTION?"prod":"dev";if(!r&&e.level===o.Debug)return;console.log([u.default.gray(t),u.default[z[e.level||"info"]](e.label),e.message,e.duration?u.default.gray("+"+e.duration):"",e.error?`
2
3${e.error.stack||e.error}
4
5`:""].filter(Boolean).join(" "))}}function B(e){c(s({level:o.Debug},e))}function K(e){c(s({level:o.Info},e))}function V(e){c(s({level:o.Warn},e))}function J(e){c(s({level:o.Err},e))}function $(...e){process.env.TESTING?g.push(e):console.log(...e)}function q(){process.env.TESTING||console.log("")}var T=v(require("regexparam"));function C(e,r){let[t]=e.split("?"),a=(0,T.default)(r),n=0,f={},d=a.pattern.exec(t)||[];for(;n<a.keys.length;)f[a.keys[n]]=d[++n];return f}function F(e){return typeof e=="object"?JSON.stringify(e):e}function _(e){let{isBase64Encoded:r=!1,statusCode:t=200,headers:a={},multiValueHeaders:n={},body:f="",html:d=void 0,json:P=void 0,xml:y=void 0}=typeof e=="string"?{body:e}:e,m="text/html; charset=utf-8";return P?m="application/json; charset=utf-8":y&&(m="application/xml; charset=utf-8"),{isBase64Encoded:r,statusCode:t,headers:s({"Content-Type":m},a),multiValueHeaders:n,body:F(f||d||P||y||"")}}function S(e){return async(r,t)=>(r=I(s({},r),{routeParameters:C(r.path,e.route)}),_(await e.handler(r,t)))}var Q=x;0&&(module.exports={Env,getCurrentPrestaInstance,logger,wrapHandler});
6//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibGliL2luZGV4LnRzIiwgImxpYi9sb2cudHMiLCAibGliL2NvbnN0YW50cy50cyIsICJsaWIvY3VycmVudFByZXN0YUluc3RhbmNlLnRzIiwgImxpYi9nZXRSb3V0ZVBhcmFtcy50cyIsICJsaWIvbm9ybWFsaXplUmVzcG9uc2UudHMiLCAibGliL3dyYXBIYW5kbGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKlxuICogQW55IHVzZWQgZXhwb3J0cyBvZiB0aGUgY29yZSBsaWJyYXJ5IGdvIGhlcmVcbiAqL1xuaW1wb3J0ICogYXMgbG9nIGZyb20gJy4vbG9nJ1xuXG5leHBvcnQgY29uc3QgbG9nZ2VyID0gbG9nXG5leHBvcnQgeyBFbnYgfSBmcm9tICcuL2NvbnN0YW50cydcbmV4cG9ydCB7IHdyYXBIYW5kbGVyIH0gZnJvbSAnLi93cmFwSGFuZGxlcidcbmV4cG9ydCB7IGdldEN1cnJlbnRQcmVzdGFJbnN0YW5jZSB9IGZyb20gJy4vY3VycmVudFByZXN0YUluc3RhbmNlJ1xuIiwgImltcG9ydCBjLCB7IEtsZXVyIH0gZnJvbSAna2xldXInXG5cbmltcG9ydCB7IGdldEN1cnJlbnRQcmVzdGFJbnN0YW5jZSB9IGZyb20gJy4vY3VycmVudFByZXN0YUluc3RhbmNlJ1xuaW1wb3J0IHsgRW52IH0gZnJvbSAnLi9jb25zdGFudHMnXG5cbmV4cG9ydCBlbnVtIExldmVscyB7XG4gIERlYnVnID0gJ2RlYnVnJyxcbiAgSW5mbyA9ICdpbmZvJyxcbiAgV2FybiA9ICd3YXJuJyxcbiAgRXJyID0gJ2Vycm9yJyxcbn1cblxuZXhwb3J0IHR5cGUgTWVzc2FnZSA9IHtcbiAgbGV2ZWw/OiBMZXZlbHNcbiAgbGFiZWw6IHN0cmluZyB8IG51bWJlclxuICBtZXNzYWdlPzogc3RyaW5nXG4gIGR1cmF0aW9uPzogc3RyaW5nIHwgbnVtYmVyXG4gIGVycm9yPzogRXJyb3Jcbn1cblxubGV0IGxvZ3M6IGFueVtdID0gW11cblxuY29uc3QgY29sb3JzID0ge1xuICBbTGV2ZWxzLkRlYnVnXTogJ21hZ2VudGEnLFxuICBbTGV2ZWxzLkluZm9dOiAnYmx1ZScsXG4gIFtMZXZlbHMuV2Fybl06ICd5ZWxsb3cnLFxuICBbTGV2ZWxzLkVycl06ICdyZWQnLFxufVxuXG5leHBvcnQgeyBjIGFzIGNvbG9ycyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMb2dzKCkge1xuICBpZiAoIXByb2Nlc3MuZW52LlRFU1RJTkcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludGVybmFsIG1ldGhvZCB3YXMgY2FsbGVkIG91dHNpZGUgdGVzdCBtb2RlJylcbiAgfVxuXG4gIHJldHVybiBsb2dzXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dnZXIobWVzc2FnZTogTWVzc2FnZSkge1xuICBpZiAocHJvY2Vzcy5lbnYuVEVTVElORykge1xuICAgIGxvZ3MucHVzaChtZXNzYWdlKVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IGRlYnVnID0gZ2V0Q3VycmVudFByZXN0YUluc3RhbmNlKCkuZGVidWdcbiAgICBjb25zdCBjb250ZXh0ID0gZ2V0Q3VycmVudFByZXN0YUluc3RhbmNlKCkuZW52ID09PSBFbnYuUFJPRFVDVElPTiA/ICdwcm9kJyA6ICdkZXYnXG5cbiAgICBpZiAoIWRlYnVnICYmIG1lc3NhZ2UubGV2ZWwgPT09IExldmVscy5EZWJ1ZykgcmV0dXJuXG5cbiAgICBjb25zb2xlLmxvZyhcbiAgICAgIFtcbiAgICAgICAgYy5ncmF5KGNvbnRleHQpLFxuICAgICAgICBjW2NvbG9yc1ttZXNzYWdlLmxldmVsIHx8ICdpbmZvJ10gYXMga2V5b2YgS2xldXJdKG1lc3NhZ2UubGFiZWwpLFxuICAgICAgICBtZXNzYWdlLm1lc3NhZ2UsXG4gICAgICAgIG1lc3NhZ2UuZHVyYXRpb24gPyBjLmdyYXkoJysnICsgbWVzc2FnZS5kdXJhdGlvbikgOiAnJyxcbiAgICAgICAgbWVzc2FnZS5lcnJvciA/IGBcXG5cXG4ke21lc3NhZ2UuZXJyb3Iuc3RhY2sgfHwgbWVzc2FnZS5lcnJvcn1cXG5cXG5gIDogJycsXG4gICAgICBdXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgLmpvaW4oJyAnKVxuICAgIClcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVidWcobWVzc2FnZTogTWVzc2FnZSkge1xuICBsb2dnZXIoeyBsZXZlbDogTGV2ZWxzLkRlYnVnLCAuLi5tZXNzYWdlIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmZvKG1lc3NhZ2U6IE1lc3NhZ2UpIHtcbiAgbG9nZ2VyKHsgbGV2ZWw6IExldmVscy5JbmZvLCAuLi5tZXNzYWdlIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3YXJuKG1lc3NhZ2U6IE1lc3NhZ2UpIHtcbiAgbG9nZ2VyKHsgbGV2ZWw6IExldmVscy5XYXJuLCAuLi5tZXNzYWdlIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlcnJvcihtZXNzYWdlOiBNZXNzYWdlKSB7XG4gIGxvZ2dlcih7IGxldmVsOiBMZXZlbHMuRXJyLCAuLi5tZXNzYWdlIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByYXcoLi4uYXJnczogYW55W10pIHtcbiAgaWYgKHByb2Nlc3MuZW52LlRFU1RJTkcpIHtcbiAgICBsb2dzLnB1c2goYXJncylcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLmxvZyguLi5hcmdzKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXdsaW5lKCkge1xuICBpZiAocHJvY2Vzcy5lbnYuVEVTVElORykgcmV0dXJuXG4gIGNvbnNvbGUubG9nKCcnKVxufVxuIiwgImV4cG9ydCBjb25zdCBFbnYgPSB7XG4gIFBST0RVQ1RJT046ICdwcm9kdWN0aW9uJyxcbiAgREVWRUxPUE1FTlQ6ICdkZXZlbG9wbWVudCcsXG59XG4iLCAiaW1wb3J0IHsgUHJlc3RhIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7IEVudiB9IGZyb20gJy4vY29uc3RhbnRzJ1xuXG5jb25zdCBkZWZhdWx0Q29uZmlnID0ge1xuICBwaWQ6IHByb2Nlc3MucGlkLFxuICBjd2Q6IHByb2Nlc3MuY3dkKCksXG4gIGVudjogRW52LlBST0RVQ1RJT04sXG4gIGRlYnVnOiBmYWxzZSxcbn0gYXMgUHJlc3RhXG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRDdXJyZW50UHJlc3RhSW5zdGFuY2UoY29uZmlnOiBQcmVzdGEpOiBQcmVzdGEge1xuICAvLyBAdHMtaWdub3JlXG4gIGdsb2JhbC5fX3ByZXN0YV9fID0gY29uZmlnXG4gIHJldHVybiBjb25maWdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEN1cnJlbnRQcmVzdGFJbnN0YW5jZSgpOiBQcmVzdGEge1xuICAvLyBAdHMtaWdub3JlXG4gIGlmICghZ2xvYmFsLl9fcHJlc3RhX18pIHtcbiAgICBzZXRDdXJyZW50UHJlc3RhSW5zdGFuY2UoZGVmYXVsdENvbmZpZylcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIGdsb2JhbC5fX3ByZXN0YV9fXG59XG4iLCAiaW1wb3J0IHRvUmVnRXhwIGZyb20gJ3JlZ2V4cGFyYW0nXG5cbmltcG9ydCB7IFJvdXRlUGFyYW1ldGVycyB9IGZyb20gJy4vdHlwZXMnXG5cbi8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2x1a2VlZC9yZWdleHBhcmFtI3VzYWdlXG5leHBvcnQgZnVuY3Rpb24gZ2V0Um91dGVQYXJhbXModXJsOiBzdHJpbmcsIHJvdXRlOiBzdHJpbmcpOiBSb3V0ZVBhcmFtZXRlcnMge1xuICBjb25zdCBbcGF0aF0gPSB1cmwuc3BsaXQoJz8nKVxuICBjb25zdCByZXN1bHQgPSB0b1JlZ0V4cChyb3V0ZSlcbiAgbGV0IGkgPSAwXG4gIGxldCBvdXQ6IFJvdXRlUGFyYW1ldGVycyA9IHt9XG4gIGxldCBtYXRjaGVzID0gcmVzdWx0LnBhdHRlcm4uZXhlYyhwYXRoKSB8fCBbXVxuXG4gIHdoaWxlIChpIDwgcmVzdWx0LmtleXMubGVuZ3RoKSB7XG4gICAgb3V0W3Jlc3VsdC5rZXlzW2ldXSA9IG1hdGNoZXNbKytpXVxuICB9XG5cbiAgcmV0dXJuIG91dFxufVxuIiwgImltcG9ydCB7IEFXUywgUmVzcG9uc2UgfSBmcm9tICcuL3R5cGVzJ1xuXG5mdW5jdGlvbiBzdHJpbmdpZnkob2JqOiBvYmplY3QgfCBzdHJpbmcpIHtcbiAgcmV0dXJuIHR5cGVvZiBvYmogPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkob2JqKSA6IG9ialxufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplUmVzcG9uc2UocmVzcG9uc2U6IFBhcnRpYWw8UmVzcG9uc2U+IHwgc3RyaW5nKTogQVdTWydIYW5kbGVyUmVzcG9uc2UnXSB7XG4gIGNvbnN0IHtcbiAgICBpc0Jhc2U2NEVuY29kZWQgPSBmYWxzZSxcbiAgICBzdGF0dXNDb2RlID0gMjAwLFxuICAgIGhlYWRlcnMgPSB7fSxcbiAgICBtdWx0aVZhbHVlSGVhZGVycyA9IHt9LFxuICAgIGJvZHkgPSAnJyxcbiAgICBodG1sID0gdW5kZWZpbmVkLFxuICAgIGpzb24gPSB1bmRlZmluZWQsXG4gICAgeG1sID0gdW5kZWZpbmVkLFxuICB9ID0gdHlwZW9mIHJlc3BvbnNlID09PSAnc3RyaW5nJ1xuICAgID8ge1xuICAgICAgICBib2R5OiByZXNwb25zZSxcbiAgICAgIH1cbiAgICA6IHJlc3BvbnNlXG5cbiAgbGV0IGNvbnRlbnRUeXBlID0gJ3RleHQvaHRtbDsgY2hhcnNldD11dGYtOCdcblxuICBpZiAoISFqc29uKSB7XG4gICAgY29udGVudFR5cGUgPSAnYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOCdcbiAgfSBlbHNlIGlmICghIXhtbCkge1xuICAgIGNvbnRlbnRUeXBlID0gJ2FwcGxpY2F0aW9uL3htbDsgY2hhcnNldD11dGYtOCdcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaXNCYXNlNjRFbmNvZGVkLFxuICAgIHN0YXR1c0NvZGUsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ0NvbnRlbnQtVHlwZSc6IGNvbnRlbnRUeXBlLFxuICAgICAgLi4uaGVhZGVycyxcbiAgICB9LFxuICAgIG11bHRpVmFsdWVIZWFkZXJzLFxuICAgIGJvZHk6IHN0cmluZ2lmeShib2R5IHx8IGh0bWwgfHwganNvbiB8fCB4bWwgfHwgJycpLFxuICB9XG59XG4iLCAiLyoqXG4gKiBUSElTIElTIFBST0QgQ09ERSwgQkUgQ0FSRUZVTCBXSEFUIFlPVSBBREQgVE8gVEhJUyBGSUxFXG4gKi9cblxuaW1wb3J0IHsgZ2V0Um91dGVQYXJhbXMgfSBmcm9tICcuL2dldFJvdXRlUGFyYW1zJ1xuaW1wb3J0IHsgbm9ybWFsaXplUmVzcG9uc2UgfSBmcm9tICcuL25vcm1hbGl6ZVJlc3BvbnNlJ1xuaW1wb3J0IHsgQVdTLCBFdmVudCwgQ29udGV4dCwgTGFtYmRhIH0gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IGZ1bmN0aW9uIHdyYXBIYW5kbGVyKFxuICBmaWxlOiBMYW1iZGFcbik6IChldmVudDogQVdTWydIYW5kbGVyRXZlbnQnXSwgY29udGV4dDogQ29udGV4dCkgPT4gUHJvbWlzZTxBV1NbJ0hhbmRsZXJSZXNwb25zZSddPiB7XG4gIHJldHVybiBhc3luYyAoZXZlbnQ6IEFXU1snSGFuZGxlckV2ZW50J10sIGNvbnRleHQ6IENvbnRleHQpID0+IHtcbiAgICBldmVudCA9IHtcbiAgICAgIC4uLmV2ZW50LFxuICAgICAgcm91dGVQYXJhbWV0ZXJzOiBnZXRSb3V0ZVBhcmFtcyhldmVudC5wYXRoLCBmaWxlLnJvdXRlKSxcbiAgICB9IGFzIEV2ZW50XG5cbiAgICByZXR1cm4gbm9ybWFsaXplUmVzcG9uc2UoYXdhaXQgZmlsZS5oYW5kbGVyKGV2ZW50IGFzIEV2ZW50LCBjb250ZXh0KSlcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogInM2QkFBQSxxRkNBQSx5SkFBeUIsb0JDQWxCLEdBQU0sR0FBTSxDQUNqQixXQUFZLGFBQ1osWUFBYSxlQ0NmLEdBQU0sR0FBZ0IsQ0FDcEIsSUFBSyxRQUFRLElBQ2IsSUFBSyxRQUFRLE1BQ2IsSUFBSyxFQUFJLFdBQ1QsTUFBTyxJQUdGLFdBQWtDLEVBQXdCLENBRS9ELGNBQU8sV0FBYSxFQUNiLEVBR0YsWUFB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