/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/hapi-pino@13.0.0/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";const Hoek=require("@hapi/hoek"),pino=require("pino"),{stdSerializers:stdSerializers}=pino,serializersSym=Symbol.for("pino.serializers"),nullLogger=require("abstract-logging"),getCallerFile=require("get-caller-file"),levelTags={trace:"trace",debug:"debug",info:"info",warn:"warn",error:"error",fatal:"fatal"};let ignoredEventTags={log:"*",request:"*"};async function register(e,r){(r=Object.assign(Hoek.clone(r),{stream:r.stream,instance:r.instance})).serializers=r.serializers||{};const s=!("wrapSerializers"in r)||r.wrapSerializers,t=r.serializers.req||stdSerializers.req,o=r.serializers.res||stdSerializers.res;let n;if(r.serializers.err=r.serializers.err||pino.stdSerializers.err,r.serializers.req=s?stdSerializers.wrapRequestSerializer(t):t,r.serializers.res=s?stdSerializers.wrapResponseSerializer(o):o,void 0===r.logEvents&&(r.logEvents=["onPostStart","onPostStop","response","request-error"]),r.instance){n=r.instance;const e="function"==typeof r.serializers.err&&n[serializersSym].err===stdSerializers.err;n[serializersSym]=Object.assign({},r.serializers,n[serializersSym]),e&&(n[serializersSym].err=r.serializers.err)}else{r.transport&&!r.transport.caller&&(r.transport.caller=getCallerFile()),r.stream=r.stream||process.stdout;const e=r.stream||process.stdout;n=pino(r,e)}const i=Object.keys(n.levels.values),a=Object.assign({},levelTags,r.tags),l=r.allTags||"info";if(!(0===Object.keys(a).filter((e=>i.indexOf(a[e])<0)).length)||i.indexOf(l)<0)throw new Error("invalid tag levels");const g={};for(const e in a)g[e]=n.levels.values[a[e]];const u={};if(r.ignorePaths)for(let e=0;e<r.ignorePaths.length;e++)u[r.ignorePaths[e]]=!0;r.ignoredEventTags&&(ignoredEventTags={...ignoredEventTags,...r.ignoredEventTags});const c=r.mergeHapiLogData,f=r.messageKey||"msg",p=r.getChildBindings?r.getChildBindings:e=>({req:e}),d="function"==typeof r.logRequestStart?e=>r.logRequestStart(e):"boolean"==typeof r.logRequestStart?()=>!!r.logRequestStart:()=>!1,m="function"==typeof r.logRequestComplete?e=>r.logRequestComplete(e):"boolean"==typeof r.logRequestComplete?()=>!!r.logRequestComplete:()=>!0,v=r.customRequestStartMessage||function(){return"request start"},q=r.customRequestCompleteMessage||function(e,r){return`[response] ${e.method} ${e.path} ${e.raw.res.headersSent?e.raw.res.statusCode:"-"} (${r}ms)`},z=r.customRequestErrorMessage||function(e,r){return r.message},S=r.customRequestStartLevel||"info",y=r.customRequestCompleteLevel||"info",h=r.customRequestErrorLevel||"error";function R(e,r){return!(!e.tags||"*"===r)&&e.tags.some((e=>r.indexOf(e)>-1))}function E(e,r){if("function"==typeof e.ignoreFunc)return!!e.ignoreFunc(e,r);if(e.ignorePaths&&u[r.path])return!0;const s=e.ignoreTags,t=r.route.settings.tags;if(!s||!t)return!1;for(let e=s.length;e>=0;e--)if(t.includes(s[e]))return!0;return!1}function b(e,r){return e.logEvents&&-1!==e.logEvents.indexOf(r)}function P(e,r,s,t,o){if(b(r,"string"==typeof t?t:t.name))if("on"===s)e.events.on(t,o);else{if("ext"!==s)throw new Error(`unsupported type ${s}`);e.ext(t,o)}}function w(e,r){if(e===nullLogger)return;const s=r.tags;let t,o=r.data;c?("string"!=typeof o&&"number"!=typeof o||(o={[f]:o}),t=Object.assign({tags:s},o)):t={tags:s,data:o};let n=0;for(const e of s){const r=g[e];r&&r>n&&(n=r)}n>0?e[e.levels.labels[n]](t):e[l](t)}e.decorate("server","logger",n),e.ext("onRequest",((e,s)=>{if(E(r,e))return e.logger=nullLogger,s.continue;const t=p(e);return e.logger=n.child(t),d(e)&&e.logger[S]({req:t.req?void 0:e},v(e)),s.continue})),e.events.on("log",(function(e){R(e,ignoredEventTags.log)||(e.error?n.error({err:e.error,tags:e.tags}):w(n,e))})),e.events.on("request",(function(e,s,t){if(("internal"!==s.channel||t["accept-encoding"])&&!E(r,e)){if(!e.logger){const r=p(e);e.logger=n.child(r)}s.error&&b(r,"request-error")?e.logger[h]({tags:s.tags,err:s.error},z(e,s.error)):"app"!==s.channel||R(s,ignoredEventTags.request)||w(e.logger,s)}})),P(e,r,"on","response",(function(e){if(!E(r,e)&&m(e)){const s=e.info,t=e.response.statusCode;if(!e.logger){const r=p(e);e.logger=n.child(r)}const o=(void 0!==s.completed?s.completed:s.responded)-s.received;e.logger[y]({payload:r.logPayload?e.payload:void 0,queryParams:r.logQueryParams?e.query:void 0,pathParams:r.logPathParams?e.params:void 0,tags:r.logRouteTags?e.route.settings.tags:void 0,err:r.log4xxResponseErrors&&t>=400&&t<500?e.response.source:void 0,res:e.raw.res,responseTime:o},q(e,o))}})),P(e,r,"ext","onPostStart",(async function(r){n.info(e.info,"server started")})),P(e,r,"ext","onPostStop",(async function(r){n.info(e.info,"server stopped")}))}module.exports={register:register,name:"hapi-pino"};
//# sourceMappingURL=/sm/c458ab4028a3e4f179b05184dffd00360c23ae4341f6769ea321600c76484ea2.map