axe 11.0.4 → 11.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/axe.js +17 -7
- package/dist/axe.min.js +1 -1
- package/lib/index.js +16 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -396,6 +396,7 @@ See [Browser](#browser-1) usage below for more information.
|
|
|
396
396
|
| `meta.pickedFields` | Array | `[]` | Attempts to parse an array value from `process.env.AXE_PICK_META_FIELDS` (`,` delimited) - meaning you can pass a flag, e.g. `AXE_PICK_META_FIELDS=request.headers,response.headers node app.js` which would pick from `meta.request` and `meta.response` *only* `meta.request.headers` and `meta.response.headers`), **This takes precedence after fields are omitted, which means this acts as a whitelist.** Supports dot-notation. | |
|
|
397
397
|
| `meta.cleanupRemapping` | Boolean | `true` | Whether or not to cleanup empty objects after remapping operations are completed) | |
|
|
398
398
|
| `meta.hideHTTP` | Boolean | `true` | Whether to suppress HTTP metadata (prevents logger invocation with second arg `meta`) if `meta.is_http` is `true` (via [parse-request][] v5.1.0+). If you manually set `meta.is_http = true` and this is `true`, then `meta` arg will be suppressed as well. | |
|
|
399
|
+
| `meta.hideMeta` | String or Boolean | `"hide_meta"` | If this value is provided as a String, then if `meta[config.hideMeta]` is `true`, it will suppress the entire metadata object `meta` (the second arg) from being passed/invoked to the logger. This is useful when you want to suppress metadata from the logger invocation, but still persist it to post hooks (e.g. for sending upstream to your log storage provider). This helps to keep development and production console output clean while also allowing you to still store the meta object. | |
|
|
399
400
|
| `silent` | Boolean | `false` | Whether or not to invoke logger methods. Pre and post hooks will still run even if this option is set to `false`. | |
|
|
400
401
|
| `logger` | Object | `console` | Defaults to `console` with [console-polyfill][] added automatically, though **you can bring your own logger**. See [custom logger](#custom-logger) – you can pass an instance of `pino`, `signale`, `winston`, `bunyan`, etc. | |
|
|
401
402
|
| `name` | String or Boolean | `false` if `NODE_ENV` is `"development"` otherwise the value of `process.env.HOSTNAME` or `os.hostname()` | The default name for the logger (defaults to `false` in development environments, which does not set `logger.name`) – this is useful if you are using a logger like `pino` which prefixes log output with the name set here. | |
|
package/dist/axe.js
CHANGED
|
@@ -1128,7 +1128,7 @@ module.exports = function unset(obj, prop) {
|
|
|
1128
1128
|
module.exports={
|
|
1129
1129
|
"name": "axe",
|
|
1130
1130
|
"description": "Axe is a logger-agnostic wrapper that normalizes logs regardless of argument style. Great for large development teams, old and new projects, and works with Pino, Bunyan, Winston, console, and more. It is lightweight, performant, highly-configurable, and automatically adds OS, CPU, and Git information to your logs. It supports hooks (useful for masking sensitive data) and dot-notation remapping, omitting, and picking of log metadata properties. Made for Forward Email, Lad, and Cabin.",
|
|
1131
|
-
"version": "11.0
|
|
1131
|
+
"version": "11.1.0",
|
|
1132
1132
|
"author": "Nick Baugh <niftylettuce@gmail.com> (http://niftylettuce.com)",
|
|
1133
1133
|
"browser": {
|
|
1134
1134
|
"parse-app-info": false
|
|
@@ -1341,6 +1341,7 @@ function isFunction(value) {
|
|
|
1341
1341
|
return typeof value === 'function';
|
|
1342
1342
|
}
|
|
1343
1343
|
class Axe {
|
|
1344
|
+
// eslint-disable-next-line complexity
|
|
1344
1345
|
constructor() {
|
|
1345
1346
|
var _this = this;
|
|
1346
1347
|
let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -1354,17 +1355,24 @@ class Axe {
|
|
|
1354
1355
|
}
|
|
1355
1356
|
|
|
1356
1357
|
// envify does not support conditionals well enough so we declare vars outside
|
|
1357
|
-
|
|
1358
|
-
|
|
1358
|
+
let omittedFields = process.env.AXE_OMIT_META_FIELDS;
|
|
1359
|
+
if (typeof omittedFields === 'string') omittedFields = omittedFields.split(',').map(s => s.trim());
|
|
1360
|
+
if (!Array.isArray(omittedFields)) omittedFields = [];
|
|
1361
|
+
let pickedFields = process.env.AXE_PICK_META_FIELDS;
|
|
1362
|
+
if (typeof pickedFields === 'string') pickedFields = pickedFields.split(',').map(s => s.trim());
|
|
1363
|
+
if (!Array.isArray(pickedFields)) pickedFields = [];
|
|
1359
1364
|
this.config = mergeOptions({
|
|
1360
1365
|
showStack: process.env.AXE_SHOW_STACK ? boolean(process.env.AXE_SHOW_STACK) : true,
|
|
1361
1366
|
meta: Object.assign({
|
|
1362
1367
|
show: process.env.AXE_SHOW_META ? boolean(process.env.AXE_SHOW_META) : true,
|
|
1363
1368
|
remappedFields,
|
|
1364
|
-
omittedFields
|
|
1365
|
-
pickedFields
|
|
1369
|
+
omittedFields,
|
|
1370
|
+
pickedFields,
|
|
1366
1371
|
cleanupRemapping: true,
|
|
1367
|
-
hideHTTP:
|
|
1372
|
+
hideHTTP: 'is_http',
|
|
1373
|
+
// implemented mainly for @ladjs/graceful to
|
|
1374
|
+
// suppress unnecessary meta output to console
|
|
1375
|
+
hideMeta: 'hide_meta'
|
|
1368
1376
|
}, typeof config.meta === 'object' ? config.meta : {}),
|
|
1369
1377
|
version: pkg.version,
|
|
1370
1378
|
silent: false,
|
|
@@ -1682,12 +1690,14 @@ class Axe {
|
|
|
1682
1690
|
if (isError(err) && this.config.showStack) {
|
|
1683
1691
|
if (!this.config.meta.show || isEmpty(meta)) {
|
|
1684
1692
|
this.config.logger[method](err);
|
|
1693
|
+
} else if (this.config.meta.hideMeta && meta[this.config.meta.hideMeta]) {
|
|
1694
|
+
this.config.logger[method](err);
|
|
1685
1695
|
} else {
|
|
1686
1696
|
this.config.logger[method](err, meta);
|
|
1687
1697
|
}
|
|
1688
1698
|
} else if (!this.config.meta.show || isEmpty(meta)) {
|
|
1689
1699
|
this.config.logger[method](message);
|
|
1690
|
-
} else if (meta.
|
|
1700
|
+
} else if (this.config.meta.hideMeta && meta[this.config.meta.hideMeta] || this.config.meta.hideHTTP && meta[this.config.meta.hideHTTP]) {
|
|
1691
1701
|
this.config.logger[method](message);
|
|
1692
1702
|
} else {
|
|
1693
1703
|
this.config.logger[method](message, meta);
|
package/dist/axe.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Axe=e()}}((function(){!function(e){"use strict";e.console||(e.console={});for(var t,r,n=e.console,o=function(){},i=["memory"],s="assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn".split(",");t=i.pop();)n[t]||(n[t]={});for(;r=s.pop();)n[r]||(n[r]=o)}("undefined"==typeof window?this:window);var e={hostname:function(){return"undefined"!=typeof location?location.hostname:""}};const t=Symbol("kErrors");class r extends Error{constructor(e){const r=new Set(e.map(s).filter(Boolean));super(Array.from(r).join("; ")),n(this,"name","CombinedError"),n(this,t,e),o(this,"stack",()=>e.map(c).join("\n\n")),o(this,"transient",()=>e.length>0&&e.every(a)),o(this,"expected",()=>e.length>0&&e.every(f))}[Symbol.iterator](){return this[t][Symbol.iterator]()}}function n(e,t,r){Object.defineProperty(e,t,{value:r})}function o(e,t,r){Object.defineProperty(e,t,{get:r})}function i(e){return null!=e}function s(e){return e.message}function c(e){return e.stack}function a(e){return!0===e.transient}function f(e){return!0===e.expected}var u=function(e){var t=Array.prototype.slice.call(arguments,1);return t.length&&(e=e.toString().replace(/(%?)(%([jds]))/g,(function(e,r,n,o){var i=t.shift();switch(o){case"s":i=""+i;break;case"d":i=Number(i);break;case"j":i=JSON.stringify(i)}return r?(t.unshift(i),e):i}))),t.length&&(e=e.toString()+" "+t.join(" ")),""+e.toString().replace(/%{2,2}/g,"%")},l=["%s","%d","%i","%f","%j","%o","%O","%%"],g=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(n=e,"[object Object]"!==Object.prototype.toString.call(n)||!t)return e;var n;const o=Array.isArray(t)?t:String(t).split(r),{length:i}=o;return i<2?e[o[0]]:((e,t,r)=>{for(let n=0;n<r;n++){if(null===e)return;const r=e[t[n]];if(void 0===r)return;e=r}return e})(e,o,i)},p=function(e){switch(Object.prototype.toString.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return e instanceof Error}},h=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype};const{hasOwnProperty:y}=Object.prototype,{propertyIsEnumerable:d}=Object,m=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),b=this,v={concatArrays:!1,ignoreUndefined:!1},A=e=>{const t=[];for(const r in e)y.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){const r=Object.getOwnPropertySymbols(e);for(const n of r)d.call(e,n)&&t.push(n)}return t};function j(e){return Array.isArray(e)?function(e){const t=e.slice(0,0);return A(e).forEach(r=>{m(t,r,j(e[r]))}),t}(e):h(e)?function(e){const t=null===Object.getPrototypeOf(e)?Object.create(null):{};return A(e).forEach(r=>{m(t,r,j(e[r]))}),t}(e):e}const O=(e,t,r,n)=>(r.forEach(r=>{void 0===t[r]&&n.ignoreUndefined||(r in e&&e[r]!==Object.getPrototypeOf(e)?m(e,r,w(e[r],t[r],n)):m(e,r,j(t[r])))}),e);function w(e,t,r){return r.concatArrays&&Array.isArray(e)&&Array.isArray(t)?((e,t,r)=>{let n=e.slice(0,0),o=0;return[e,t].forEach(t=>{const i=[];for(let r=0;r<t.length;r++)y.call(t,r)&&(i.push(String(r)),m(n,o++,t===e?t[r]:j(t[r])));n=O(n,t,A(t).filter(e=>!i.includes(e)),r)}),n})(e,t,r):h(t)&&h(e)?O(e,t,A(t),r):j(t)}var E={};const S=async(e,t)=>{const r=[];let n=0;for(const o of e)r.push(await t(await o,n++));return r};(E=S).default=S;var _={},T=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!p(e))throw new Error("`err` must be an Error");if(!Array.isArray(t))throw new Error("`fields` must be an Array");var r={};return Object.getOwnPropertyNames(Object.getPrototypeOf(e)).concat(Object.getOwnPropertyNames(e)).forEach((function(t){"function"!=typeof e[t]&&(r[t]=e[t])})),!r.name&&e.constructor.name&&(r.name=e.constructor.name),Array.isArray(t)&&0!==t.length?r.filter((function(e){return t.includes(e)})):r};const k=e=>"object"==typeof e||"function"==typeof e,P=(e,t)=>"__proto__"==e||"constructor"==e&&"function"==typeof t.constructor;var x=function(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".";if(!k(e)||!t||!t.length)return e;const o=Array.isArray(t)?t:String(t).split(n);if(P(o[0],e))return e;const{length:i}=o;return 1===i?(e[o[0]]=r,e):((e,t,r,n)=>{let o=e,i=0;for(;i<r-1;i++){const e=t[i];P(e,o)||(o=k(o[e])?o[e]:o[e]={})}return o[t[i]]=n,e})(e,o,i,r)},L=function(e){return null!=e&&"object"==typeof e&&!1===Array.isArray(e)};function I(e,t,r){return"function"==typeof r.join?r.join(e):e[0]+t+e[1]}function F(e,t,r){return"function"!=typeof r.isValid||r.isValid(e,t)}function M(e){return L(e)||Array.isArray(e)||"function"==typeof e}var N=Object.prototype.toString;function C(e){return"function"==typeof e.constructor?e.constructor.name:null}var D=function e(t){switch(function(e){if(void 0===e)return"undefined";if(null===e)return"null";var t=typeof e;if("boolean"===t)return"boolean";if("string"===t)return"string";if("number"===t)return"number";if("symbol"===t)return"symbol";if("function"===t)return"GeneratorFunction"===C(e)?"generatorfunction":"function";if(function(e){return Array.isArray?Array.isArray(e):e instanceof Array}(e))return"array";if(function(e){return!(!e.constructor||"function"!=typeof e.constructor.isBuffer)&&e.constructor.isBuffer(e)}(e))return"buffer";if(function(e){try{if("number"==typeof e.length&&"function"==typeof e.callee)return!0}catch(t){if(-1!==t.message.indexOf("callee"))return!0}return!1}(e))return"arguments";if(function(e){return e instanceof Date||"function"==typeof e.toDateString&&"function"==typeof e.getDate&&"function"==typeof e.setDate}(e))return"date";if(function(e){return e instanceof Error||"string"==typeof e.message&&e.constructor&&"number"==typeof e.constructor.stackTraceLimit}(e))return"error";if(function(e){return e instanceof RegExp||"string"==typeof e.flags&&"boolean"==typeof e.ignoreCase&&"boolean"==typeof e.multiline&&"boolean"==typeof e.global}(e))return"regexp";switch(C(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(function(e){return"function"==typeof e.throw&&"function"==typeof e.return&&"function"==typeof e.next}(e))return"generator";switch(t=N.call(e)){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return t.slice(8,-1).toLowerCase().replace(/\s/g,"")}(t)){case"boolean":case"date":case"function":case"null":case"number":return!0;case"undefined":return!1;case"regexp":return"(?:)"!==t.source&&""!==t.source;case"buffer":return""!==t.toString();case"error":return""!==t.message;case"string":case"arguments":return 0!==t.length;case"file":case"map":case"set":return 0!==t.size;case"array":case"object":for(const r of Object.keys(t))if(e(t[r]))return!0;return!1;default:return!0}},X=function(e,t,r){return!(null==(n=e)||"object"!=typeof n&&"function"!=typeof n&&!Array.isArray(n)||"string"!=typeof t&&!Array.isArray(t))&&D(function(e,t,r){if(L(r)||(r={default:r}),!M(e))return void 0!==r.default?r.default:e;"number"==typeof t&&(t=String(t));const n=Array.isArray(t),o="string"==typeof t,i=r.separator||".",s=r.joinChar||("string"==typeof i?i:".");if(!o&&!n)return e;if(o&&t in e)return F(t,e,r)?e[t]:r.default;let c=n?t:function(e,t,r){return"function"==typeof r.split?r.split(e):e.split(t)}(t,i,r),a=c.length,f=0;do{let t=c[f];for("number"==typeof t&&(t=String(t));t&&"\\"===t.slice(-1);)t=I([t.slice(0,-1),c[++f]||""],s,r);if(t in e){if(!F(t,e,r))return r.default;e=e[t]}else{let n=!1,o=f+1;for(;o<a;)if(n=(t=I([t,c[o++]],s,r))in e){if(!F(t,e,r))return r.default;e=e[t],f=o-1;break}if(!n)return r.default}}while(++f<a&&M(e));return f===a?e:r.default}(e,t,r));var n};const B=e=>{if((e=>"__proto__"===e||"constructor"===e||"prototype"===e)(e))throw new Error(`Cannot set unsafe key: "${e}"`)};var H=function(e,t){if(null==(r=e)||"object"!=typeof r||!1!==Array.isArray(r))throw new TypeError("expected an object.");var r,n=Array.isArray(t);if(!n&&e.hasOwnProperty(t))return delete e[t],!0;if(X(e,t)){for(var o=n?t.slice():t.split("."),i=o.pop();o.length&&"\\"===o[o.length-1].slice(-1);)i=o.pop().slice(0,-1)+"."+i;for(;o.length;)t=o.shift(),B(t),e=e[t];return delete e[i]}return!0},U={};Object.defineProperty(U,"__esModule",{value:!0}),U.boolean=void 0,U.boolean=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return 1===e.valueOf();case"[object Boolean]":return e.valueOf();default:return!1}};var W={};Object.defineProperty(W,"__esModule",{value:!0}),W.isBooleanable=void 0,W.isBooleanable=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};var z={};Object.defineProperty(z,"__esModule",{value:!0}),z.boolean=void 0,Object.defineProperty(z,"boolean",{enumerable:!0,get:function(){return U.boolean}}),Object.defineProperty(z,"isBooleanable",{enumerable:!0,get:function(){return W.isBooleanable}});var R,K,V,G="11.0.4",J=R={};function $(){throw new Error("setTimeout has not been defined")}function q(){throw new Error("clearTimeout has not been defined")}function Q(e){if(K===setTimeout)return setTimeout(e,0);if((K===$||!K)&&setTimeout)return K=setTimeout,setTimeout(e,0);try{return K(e,0)}catch(t){try{return K.call(null,e,0)}catch(t){return K.call(this,e,0)}}}!function(){try{K="function"==typeof setTimeout?setTimeout:$}catch(e){K=$}try{V="function"==typeof clearTimeout?clearTimeout:q}catch(e){V=q}}();var Y,Z=[],ee=!1,te=-1;function re(){ee&&Y&&(ee=!1,Y.length?Z=Y.concat(Z):te=-1,Z.length&&ne())}function ne(){if(!ee){var e=Q(re);ee=!0;for(var t=Z.length;t;){for(Y=Z,Z=[];++te<t;)Y&&Y[te].run();te=-1,t=Z.length}Y=null,ee=!1,function(e){if(V===clearTimeout)return clearTimeout(e);if((V===q||!V)&&clearTimeout)return V=clearTimeout,clearTimeout(e);try{V(e)}catch(t){try{return V.call(null,e)}catch(t){return V.call(this,e)}}}(e)}}function oe(e,t){this.fun=e,this.array=t}function ie(){}J.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];Z.push(new oe(e,t)),1!==Z.length||ee||Q(ne)},oe.prototype.run=function(){this.fun.apply(null,this.array)},J.title="browser",J.browser=!0,J.env={},J.argv=[],J.version="",J.versions={},J.on=ie,J.addListener=ie,J.once=ie,J.off=ie,J.removeListener=ie,J.removeAllListeners=ie,J.emit=ie,J.prependListener=ie,J.prependOnceListener=ie,J.listeners=function(e){return[]},J.binding=function(e){throw new Error("process.binding is not supported")},J.cwd=function(){return"/"},J.chdir=function(e){throw new Error("process.chdir is not supported")},J.umask=function(){return 0};var se={};return function(t){(function(){const{boolean:n}=z,o=new Set(["config","log"]),s=["trace","debug","info","warn","error","fatal"],c={warning:"warn",err:"error"},a="`level` invalid, must be: "+s.join(", "),f=t.env.HOSTNAME||e.hostname();function y(e){if("object"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)}function d(e){return null==e||"object"==typeof e&&0===Object.keys(e).length||"string"==typeof e&&0===e.trim().length}function m(e){return void 0===e}function A(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function O(e){return"string"==typeof e}se=class{constructor(){var e=this;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const i={};if(t.env.AXE_REMAPPED_META_FIELDS){const e=t.env.AXE_REMAPPED_META_FIELDS.split(",").map(e=>e.split(":"));for(const[t,r]of e)i[t]=r}const c=t.env.AXE_OMIT_META_FIELDS,a=t.env.AXE_PICK_META_FIELDS;this.config=function(){const e=w(j(v),this!==b&&this||{},v);let t={_:{}};for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];for(const i of n)if(void 0!==i){if(!h(i))throw new TypeError("`"+i+"` is not an Option Object");t=w(t,{_:i},e)}return t._}({showStack:!t.env.AXE_SHOW_STACK||n(t.env.AXE_SHOW_STACK),meta:Object.assign({show:!t.env.AXE_SHOW_META||n(t.env.AXE_SHOW_META),remappedFields:i,omittedFields:c?c.split(",").map(e=>e.trim()):[],pickedFields:a?a.split(",").map(e=>e.trim()):[],cleanupRemapping:!0,hideHTTP:!0},"object"==typeof r.meta?r.meta:{}),version:G,silent:!1,logger:console,name:f,level:"info",levels:["info","warn","error","fatal"],appInfo:!t.env.AXE_APP_INFO||n(t.env.AXE_APP_INFO),hooks:Object.assign({pre:[],post:[]},"object"==typeof r.hooks?r.hooks:{})},r),this.appInfo=!!this.config.appInfo&&"function"==typeof _&&_(),this.log=this.log.bind(this);const u=Object.keys(this.config.logger).filter(e=>!o.has(e));for(const t of u)this[t]=this.config.logger[t];for(const t of s)"function"!=typeof this.config.logger[t]&&("fatal"===t?this.config.logger.fatal=this.config.logger.error||this.config.logger.info||this.config.logger.log:this.config.logger[t]=this.config.logger.info||this.config.logger.log),this[t]=function(){for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return e.log(t,...Array.prototype.slice.call(n))};this.setLevel=this.setLevel.bind(this),this.getNormalizedLevel=this.getNormalizedLevel.bind(this),this.setName=this.setName.bind(this),this.config.name&&this.setName(this.config.name),this.setLevel(this.config.level),this.err=this.error,this.warning=this.warn,this.pre=function(e,t){this.config.hooks.pre.push((function(r){for(var n=arguments.length,o=new Array(n>1?n-1:0),i=1;i<n;i++)o[i-1]=arguments[i];return e!==r?[...o]:t(...o)}))},this.post=function(e,t){this.config.hooks.post.push((function(r){for(var n=arguments.length,o=new Array(n>1?n-1:0),i=1;i<n;i++)o[i-1]=arguments[i];return e!==r?[...o]:t(...o)}))}}setLevel(e){if(!O(e)||-1===s.indexOf(e))throw new Error(a);O(this.config.logger.logLevel)?this.config.logger.logLevel=e:this.config.logger.level=e,this.config.levels=s.slice(s.indexOf(e))}getNormalizedLevel(e){return O(e)?O(c[e])?c[e]:-1===s.indexOf(e)?"info":e:"info"}setName(e){if(!O(e))throw new Error("`name` must be a String");O(this.config.logger.scope)?this.config.logger.scope=e:this.config.logger.name=e}log(e,t,n){const o=[],a=[];m(e)||o.push(e),m(t)||o.push(t),m(n)||o.push(n);for(var f=arguments.length,h=new Array(f>3?f-3:0),b=3;b<f;b++)h[b-3]=arguments[b];for(const r of Array.prototype.slice.call(h))o.push(r);let v=0;if(O(e)&&O(c[e])?e=c[e]:p(e)?(n=t,t=e,e="error"):O(e)&&-1!==s.indexOf(e)||(n=t,t=e,e=this.getNormalizedLevel(e),v=-1),-1===this.config.levels.indexOf(e))return;let j,w=!1;if((A(t)||Array.isArray(t))&&O(n)){w=!0;const e=n;n=t,t=O(e)&&o.length>=3+v?u(...o.slice(2+v)):e}if(m(t)&&(t=e),1!==o.slice(1+v).length||O(t)||p(t))if(!w&&o.length>=4+v){t=void 0,n={};const r=[];for(const e of o)p(e)?a.push(e):O(e)&&r.push(e);0===a.length&&r.length>0?t=u(...r):a.length>0&&"log"===e&&(e="error")}else if(!w&&o.length===3+v&&O(t)&&l.some(e=>-1!==t.indexOf(e)))t=u(t,n),n={};else if(p(t)){if(p(n)){a.push(n);for(const e of o.slice(2+v))n!==e&&p(e)&&a.push(e);n={}}}else p(n)?(a.push(n),n={}):A(n)||m(n)||null===n?O(t)||(t=u(t)):(t=u(t,n),n={});else n={message:t},t=e;m(n)||A(n)?A(n)||(n={}):n={original_meta:n},p(t)&&(a.unshift(t),t=void 0),A(n.err)&&(p(n.err)&&a.push(n.err),n.original_err=p(n.err)?T(n.err):n.err),a.length>0&&(j=function(e){if(0!==(e=e.filter(i)).length)return 1===e.length?e[0]:new r(e)}(a),n.err=T(j),O(t)||(t=j.message)),n.level=e,this.appInfo&&(n.app=this.appInfo);const S=-1===v?"log":e;for(const r of this.config.hooks.pre)[j,t,n]=r(S,j,t,n);if(!d(this.config.meta.remappedFields))for(const r of Object.keys(this.config.meta.remappedFields))if(x(n,this.config.meta.remappedFields[r],g(n,r)),H(n,r),this.config.meta.cleanupRemapping){const e=r.lastIndexOf(".");if(-1===e)continue;const t=r.slice(0,e);d(g(n,t))&&H(n,t)}if(!d(this.config.meta.omittedFields)||!d(this.config.meta.pickedFields)){const e=function(e){const t=[];return function e(r,n){for(const o of Object.keys(r)){const i=r[o],s=n?n+"."+o:o;y(i)?e(i,s):t.push(s)}}(e),t}(n);if(!d(this.config.meta.omittedFields))for(const t of this.config.meta.omittedFields){let r=e.length;for(;r--;)e[r]!==t&&0!==e[r].indexOf(t+".")||e.splice(r,1)}if(!d(this.config.meta.pickedFields))for(const t of this.config.meta.pickedFields){const r=t.indexOf("."),n=t.slice(0,r+1);if(-1!==r){let t=e.length;for(;t--;)0===e[t].indexOf(n)&&e.splice(t,1)}-1===e.indexOf(t)&&e.push(t)}n=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(n=e,"[object Object]"!==Object.prototype.toString.call(n)||!t||!Array.isArray(t)&&"string"!=typeof t)return{};var n;const{length:o}=t;if("string"==typeof t||o<2){const n="string"==typeof t?t:t[0],o=g(e,n,r);return void 0!==o?x({},n,o,r):{}}return((e,t,r,n)=>{const o={};for(let i=0;i<r;i++){const r=t[i],s=g(e,r,n);void 0!==s&&x(o,r,s,n)}return o})(e,t,o,r)}(n,e)}this.config.silent||(p(j)&&this.config.showStack?!this.config.meta.show||d(n)?this.config.logger[S](j):this.config.logger[S](j,n):!this.config.meta.show||d(n)||n.is_http&&this.config.meta.hideHTTP?this.config.logger[S](t):this.config.logger[S](t,n)),E(this.config.hooks.post,e=>e(S,j,t,n)).then().catch(e=>{this.config.logger.error(e)})}}}).call(this)}.call(this,R),se}));
|
|
1
|
+
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Axe=e()}}((function(){!function(e){"use strict";e.console||(e.console={});for(var t,r,n=e.console,o=function(){},i=["memory"],s="assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn".split(",");t=i.pop();)n[t]||(n[t]={});for(;r=s.pop();)n[r]||(n[r]=o)}("undefined"==typeof window?this:window);var e={hostname:function(){return"undefined"!=typeof location?location.hostname:""}};const t=Symbol("kErrors");class r extends Error{constructor(e){const r=new Set(e.map(s).filter(Boolean));super(Array.from(r).join("; ")),n(this,"name","CombinedError"),n(this,t,e),o(this,"stack",()=>e.map(c).join("\n\n")),o(this,"transient",()=>e.length>0&&e.every(a)),o(this,"expected",()=>e.length>0&&e.every(f))}[Symbol.iterator](){return this[t][Symbol.iterator]()}}function n(e,t,r){Object.defineProperty(e,t,{value:r})}function o(e,t,r){Object.defineProperty(e,t,{get:r})}function i(e){return null!=e}function s(e){return e.message}function c(e){return e.stack}function a(e){return!0===e.transient}function f(e){return!0===e.expected}var l=function(e){var t=Array.prototype.slice.call(arguments,1);return t.length&&(e=e.toString().replace(/(%?)(%([jds]))/g,(function(e,r,n,o){var i=t.shift();switch(o){case"s":i=""+i;break;case"d":i=Number(i);break;case"j":i=JSON.stringify(i)}return r?(t.unshift(i),e):i}))),t.length&&(e=e.toString()+" "+t.join(" ")),""+e.toString().replace(/%{2,2}/g,"%")},u=["%s","%d","%i","%f","%j","%o","%O","%%"],g=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(n=e,"[object Object]"!==Object.prototype.toString.call(n)||!t)return e;var n;const o=Array.isArray(t)?t:String(t).split(r),{length:i}=o;return i<2?e[o[0]]:((e,t,r)=>{for(let n=0;n<r;n++){if(null===e)return;const r=e[t[n]];if(void 0===r)return;e=r}return e})(e,o,i)},p=function(e){switch(Object.prototype.toString.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return e instanceof Error}},h=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype};const{hasOwnProperty:y}=Object.prototype,{propertyIsEnumerable:d}=Object,m=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),b=this,v={concatArrays:!1,ignoreUndefined:!1},A=e=>{const t=[];for(const r in e)y.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){const r=Object.getOwnPropertySymbols(e);for(const n of r)d.call(e,n)&&t.push(n)}return t};function j(e){return Array.isArray(e)?function(e){const t=e.slice(0,0);return A(e).forEach(r=>{m(t,r,j(e[r]))}),t}(e):h(e)?function(e){const t=null===Object.getPrototypeOf(e)?Object.create(null):{};return A(e).forEach(r=>{m(t,r,j(e[r]))}),t}(e):e}const O=(e,t,r,n)=>(r.forEach(r=>{void 0===t[r]&&n.ignoreUndefined||(r in e&&e[r]!==Object.getPrototypeOf(e)?m(e,r,w(e[r],t[r],n)):m(e,r,j(t[r])))}),e);function w(e,t,r){return r.concatArrays&&Array.isArray(e)&&Array.isArray(t)?((e,t,r)=>{let n=e.slice(0,0),o=0;return[e,t].forEach(t=>{const i=[];for(let r=0;r<t.length;r++)y.call(t,r)&&(i.push(String(r)),m(n,o++,t===e?t[r]:j(t[r])));n=O(n,t,A(t).filter(e=>!i.includes(e)),r)}),n})(e,t,r):h(t)&&h(e)?O(e,t,A(t),r):j(t)}var E={};const S=async(e,t)=>{const r=[];let n=0;for(const o of e)r.push(await t(await o,n++));return r};(E=S).default=S;var _={},T=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!p(e))throw new Error("`err` must be an Error");if(!Array.isArray(t))throw new Error("`fields` must be an Array");var r={};return Object.getOwnPropertyNames(Object.getPrototypeOf(e)).concat(Object.getOwnPropertyNames(e)).forEach((function(t){"function"!=typeof e[t]&&(r[t]=e[t])})),!r.name&&e.constructor.name&&(r.name=e.constructor.name),Array.isArray(t)&&0!==t.length?r.filter((function(e){return t.includes(e)})):r};const k=e=>"object"==typeof e||"function"==typeof e,P=(e,t)=>"__proto__"==e||"constructor"==e&&"function"==typeof t.constructor;var x=function(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".";if(!k(e)||!t||!t.length)return e;const o=Array.isArray(t)?t:String(t).split(n);if(P(o[0],e))return e;const{length:i}=o;return 1===i?(e[o[0]]=r,e):((e,t,r,n)=>{let o=e,i=0;for(;i<r-1;i++){const e=t[i];P(e,o)||(o=k(o[e])?o[e]:o[e]={})}return o[t[i]]=n,e})(e,o,i,r)},L=function(e){return null!=e&&"object"==typeof e&&!1===Array.isArray(e)};function I(e,t,r){return"function"==typeof r.join?r.join(e):e[0]+t+e[1]}function M(e,t,r){return"function"!=typeof r.isValid||r.isValid(e,t)}function F(e){return L(e)||Array.isArray(e)||"function"==typeof e}var N=Object.prototype.toString;function C(e){return"function"==typeof e.constructor?e.constructor.name:null}var D=function e(t){switch(function(e){if(void 0===e)return"undefined";if(null===e)return"null";var t=typeof e;if("boolean"===t)return"boolean";if("string"===t)return"string";if("number"===t)return"number";if("symbol"===t)return"symbol";if("function"===t)return"GeneratorFunction"===C(e)?"generatorfunction":"function";if(function(e){return Array.isArray?Array.isArray(e):e instanceof Array}(e))return"array";if(function(e){return!(!e.constructor||"function"!=typeof e.constructor.isBuffer)&&e.constructor.isBuffer(e)}(e))return"buffer";if(function(e){try{if("number"==typeof e.length&&"function"==typeof e.callee)return!0}catch(t){if(-1!==t.message.indexOf("callee"))return!0}return!1}(e))return"arguments";if(function(e){return e instanceof Date||"function"==typeof e.toDateString&&"function"==typeof e.getDate&&"function"==typeof e.setDate}(e))return"date";if(function(e){return e instanceof Error||"string"==typeof e.message&&e.constructor&&"number"==typeof e.constructor.stackTraceLimit}(e))return"error";if(function(e){return e instanceof RegExp||"string"==typeof e.flags&&"boolean"==typeof e.ignoreCase&&"boolean"==typeof e.multiline&&"boolean"==typeof e.global}(e))return"regexp";switch(C(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(function(e){return"function"==typeof e.throw&&"function"==typeof e.return&&"function"==typeof e.next}(e))return"generator";switch(t=N.call(e)){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return t.slice(8,-1).toLowerCase().replace(/\s/g,"")}(t)){case"boolean":case"date":case"function":case"null":case"number":return!0;case"undefined":return!1;case"regexp":return"(?:)"!==t.source&&""!==t.source;case"buffer":return""!==t.toString();case"error":return""!==t.message;case"string":case"arguments":return 0!==t.length;case"file":case"map":case"set":return 0!==t.size;case"array":case"object":for(const r of Object.keys(t))if(e(t[r]))return!0;return!1;default:return!0}},X=function(e,t,r){return!(null==(n=e)||"object"!=typeof n&&"function"!=typeof n&&!Array.isArray(n)||"string"!=typeof t&&!Array.isArray(t))&&D(function(e,t,r){if(L(r)||(r={default:r}),!F(e))return void 0!==r.default?r.default:e;"number"==typeof t&&(t=String(t));const n=Array.isArray(t),o="string"==typeof t,i=r.separator||".",s=r.joinChar||("string"==typeof i?i:".");if(!o&&!n)return e;if(o&&t in e)return M(t,e,r)?e[t]:r.default;let c=n?t:function(e,t,r){return"function"==typeof r.split?r.split(e):e.split(t)}(t,i,r),a=c.length,f=0;do{let t=c[f];for("number"==typeof t&&(t=String(t));t&&"\\"===t.slice(-1);)t=I([t.slice(0,-1),c[++f]||""],s,r);if(t in e){if(!M(t,e,r))return r.default;e=e[t]}else{let n=!1,o=f+1;for(;o<a;)if(n=(t=I([t,c[o++]],s,r))in e){if(!M(t,e,r))return r.default;e=e[t],f=o-1;break}if(!n)return r.default}}while(++f<a&&F(e));return f===a?e:r.default}(e,t,r));var n};const B=e=>{if((e=>"__proto__"===e||"constructor"===e||"prototype"===e)(e))throw new Error(`Cannot set unsafe key: "${e}"`)};var H=function(e,t){if(null==(r=e)||"object"!=typeof r||!1!==Array.isArray(r))throw new TypeError("expected an object.");var r,n=Array.isArray(t);if(!n&&e.hasOwnProperty(t))return delete e[t],!0;if(X(e,t)){for(var o=n?t.slice():t.split("."),i=o.pop();o.length&&"\\"===o[o.length-1].slice(-1);)i=o.pop().slice(0,-1)+"."+i;for(;o.length;)t=o.shift(),B(t),e=e[t];return delete e[i]}return!0},U={};Object.defineProperty(U,"__esModule",{value:!0}),U.boolean=void 0,U.boolean=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1"].includes(e.trim().toLowerCase());case"[object Number]":return 1===e.valueOf();case"[object Boolean]":return e.valueOf();default:return!1}};var W={};Object.defineProperty(W,"__esModule",{value:!0}),W.isBooleanable=void 0,W.isBooleanable=function(e){switch(Object.prototype.toString.call(e)){case"[object String]":return["true","t","yes","y","on","1","false","f","no","n","off","0"].includes(e.trim().toLowerCase());case"[object Number]":return[0,1].includes(e.valueOf());case"[object Boolean]":return!0;default:return!1}};var z={};Object.defineProperty(z,"__esModule",{value:!0}),z.boolean=void 0,Object.defineProperty(z,"boolean",{enumerable:!0,get:function(){return U.boolean}}),Object.defineProperty(z,"isBooleanable",{enumerable:!0,get:function(){return W.isBooleanable}});var R,K,V,G="11.1.0",J=R={};function $(){throw new Error("setTimeout has not been defined")}function q(){throw new Error("clearTimeout has not been defined")}function Q(e){if(K===setTimeout)return setTimeout(e,0);if((K===$||!K)&&setTimeout)return K=setTimeout,setTimeout(e,0);try{return K(e,0)}catch(t){try{return K.call(null,e,0)}catch(t){return K.call(this,e,0)}}}!function(){try{K="function"==typeof setTimeout?setTimeout:$}catch(e){K=$}try{V="function"==typeof clearTimeout?clearTimeout:q}catch(e){V=q}}();var Y,Z=[],ee=!1,te=-1;function re(){ee&&Y&&(ee=!1,Y.length?Z=Y.concat(Z):te=-1,Z.length&&ne())}function ne(){if(!ee){var e=Q(re);ee=!0;for(var t=Z.length;t;){for(Y=Z,Z=[];++te<t;)Y&&Y[te].run();te=-1,t=Z.length}Y=null,ee=!1,function(e){if(V===clearTimeout)return clearTimeout(e);if((V===q||!V)&&clearTimeout)return V=clearTimeout,clearTimeout(e);try{V(e)}catch(t){try{return V.call(null,e)}catch(t){return V.call(this,e)}}}(e)}}function oe(e,t){this.fun=e,this.array=t}function ie(){}J.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];Z.push(new oe(e,t)),1!==Z.length||ee||Q(ne)},oe.prototype.run=function(){this.fun.apply(null,this.array)},J.title="browser",J.browser=!0,J.env={},J.argv=[],J.version="",J.versions={},J.on=ie,J.addListener=ie,J.once=ie,J.off=ie,J.removeListener=ie,J.removeAllListeners=ie,J.emit=ie,J.prependListener=ie,J.prependOnceListener=ie,J.listeners=function(e){return[]},J.binding=function(e){throw new Error("process.binding is not supported")},J.cwd=function(){return"/"},J.chdir=function(e){throw new Error("process.chdir is not supported")},J.umask=function(){return 0};var se={};return function(t){(function(){const{boolean:n}=z,o=new Set(["config","log"]),s=["trace","debug","info","warn","error","fatal"],c={warning:"warn",err:"error"},a="`level` invalid, must be: "+s.join(", "),f=t.env.HOSTNAME||e.hostname();function y(e){if("object"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)}function d(e){return null==e||"object"==typeof e&&0===Object.keys(e).length||"string"==typeof e&&0===e.trim().length}function m(e){return void 0===e}function A(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function O(e){return"string"==typeof e}se=class{constructor(){var e=this;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const i={};if(t.env.AXE_REMAPPED_META_FIELDS){const e=t.env.AXE_REMAPPED_META_FIELDS.split(",").map(e=>e.split(":"));for(const[t,r]of e)i[t]=r}let c=t.env.AXE_OMIT_META_FIELDS;"string"==typeof c&&(c=c.split(",").map(e=>e.trim())),Array.isArray(c)||(c=[]);let a=t.env.AXE_PICK_META_FIELDS;"string"==typeof a&&(a=a.split(",").map(e=>e.trim())),Array.isArray(a)||(a=[]),this.config=function(){const e=w(j(v),this!==b&&this||{},v);let t={_:{}};for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];for(const i of n)if(void 0!==i){if(!h(i))throw new TypeError("`"+i+"` is not an Option Object");t=w(t,{_:i},e)}return t._}({showStack:!t.env.AXE_SHOW_STACK||n(t.env.AXE_SHOW_STACK),meta:Object.assign({show:!t.env.AXE_SHOW_META||n(t.env.AXE_SHOW_META),remappedFields:i,omittedFields:c,pickedFields:a,cleanupRemapping:!0,hideHTTP:"is_http",hideMeta:"hide_meta"},"object"==typeof r.meta?r.meta:{}),version:G,silent:!1,logger:console,name:f,level:"info",levels:["info","warn","error","fatal"],appInfo:!t.env.AXE_APP_INFO||n(t.env.AXE_APP_INFO),hooks:Object.assign({pre:[],post:[]},"object"==typeof r.hooks?r.hooks:{})},r),this.appInfo=!!this.config.appInfo&&"function"==typeof _&&_(),this.log=this.log.bind(this);const l=Object.keys(this.config.logger).filter(e=>!o.has(e));for(const t of l)this[t]=this.config.logger[t];for(const t of s)"function"!=typeof this.config.logger[t]&&("fatal"===t?this.config.logger.fatal=this.config.logger.error||this.config.logger.info||this.config.logger.log:this.config.logger[t]=this.config.logger.info||this.config.logger.log),this[t]=function(){for(var r=arguments.length,n=new Array(r),o=0;o<r;o++)n[o]=arguments[o];return e.log(t,...Array.prototype.slice.call(n))};this.setLevel=this.setLevel.bind(this),this.getNormalizedLevel=this.getNormalizedLevel.bind(this),this.setName=this.setName.bind(this),this.config.name&&this.setName(this.config.name),this.setLevel(this.config.level),this.err=this.error,this.warning=this.warn,this.pre=function(e,t){this.config.hooks.pre.push((function(r){for(var n=arguments.length,o=new Array(n>1?n-1:0),i=1;i<n;i++)o[i-1]=arguments[i];return e!==r?[...o]:t(...o)}))},this.post=function(e,t){this.config.hooks.post.push((function(r){for(var n=arguments.length,o=new Array(n>1?n-1:0),i=1;i<n;i++)o[i-1]=arguments[i];return e!==r?[...o]:t(...o)}))}}setLevel(e){if(!O(e)||-1===s.indexOf(e))throw new Error(a);O(this.config.logger.logLevel)?this.config.logger.logLevel=e:this.config.logger.level=e,this.config.levels=s.slice(s.indexOf(e))}getNormalizedLevel(e){return O(e)?O(c[e])?c[e]:-1===s.indexOf(e)?"info":e:"info"}setName(e){if(!O(e))throw new Error("`name` must be a String");O(this.config.logger.scope)?this.config.logger.scope=e:this.config.logger.name=e}log(e,t,n){const o=[],a=[];m(e)||o.push(e),m(t)||o.push(t),m(n)||o.push(n);for(var f=arguments.length,h=new Array(f>3?f-3:0),b=3;b<f;b++)h[b-3]=arguments[b];for(const r of Array.prototype.slice.call(h))o.push(r);let v=0;if(O(e)&&O(c[e])?e=c[e]:p(e)?(n=t,t=e,e="error"):O(e)&&-1!==s.indexOf(e)||(n=t,t=e,e=this.getNormalizedLevel(e),v=-1),-1===this.config.levels.indexOf(e))return;let j,w=!1;if((A(t)||Array.isArray(t))&&O(n)){w=!0;const e=n;n=t,t=O(e)&&o.length>=3+v?l(...o.slice(2+v)):e}if(m(t)&&(t=e),1!==o.slice(1+v).length||O(t)||p(t))if(!w&&o.length>=4+v){t=void 0,n={};const r=[];for(const e of o)p(e)?a.push(e):O(e)&&r.push(e);0===a.length&&r.length>0?t=l(...r):a.length>0&&"log"===e&&(e="error")}else if(!w&&o.length===3+v&&O(t)&&u.some(e=>-1!==t.indexOf(e)))t=l(t,n),n={};else if(p(t)){if(p(n)){a.push(n);for(const e of o.slice(2+v))n!==e&&p(e)&&a.push(e);n={}}}else p(n)?(a.push(n),n={}):A(n)||m(n)||null===n?O(t)||(t=l(t)):(t=l(t,n),n={});else n={message:t},t=e;m(n)||A(n)?A(n)||(n={}):n={original_meta:n},p(t)&&(a.unshift(t),t=void 0),A(n.err)&&(p(n.err)&&a.push(n.err),n.original_err=p(n.err)?T(n.err):n.err),a.length>0&&(j=function(e){if(0!==(e=e.filter(i)).length)return 1===e.length?e[0]:new r(e)}(a),n.err=T(j),O(t)||(t=j.message)),n.level=e,this.appInfo&&(n.app=this.appInfo);const S=-1===v?"log":e;for(const r of this.config.hooks.pre)[j,t,n]=r(S,j,t,n);if(!d(this.config.meta.remappedFields))for(const r of Object.keys(this.config.meta.remappedFields))if(x(n,this.config.meta.remappedFields[r],g(n,r)),H(n,r),this.config.meta.cleanupRemapping){const e=r.lastIndexOf(".");if(-1===e)continue;const t=r.slice(0,e);d(g(n,t))&&H(n,t)}if(!d(this.config.meta.omittedFields)||!d(this.config.meta.pickedFields)){const e=function(e){const t=[];return function e(r,n){for(const o of Object.keys(r)){const i=r[o],s=n?n+"."+o:o;y(i)?e(i,s):t.push(s)}}(e),t}(n);if(!d(this.config.meta.omittedFields))for(const t of this.config.meta.omittedFields){let r=e.length;for(;r--;)e[r]!==t&&0!==e[r].indexOf(t+".")||e.splice(r,1)}if(!d(this.config.meta.pickedFields))for(const t of this.config.meta.pickedFields){const r=t.indexOf("."),n=t.slice(0,r+1);if(-1!==r){let t=e.length;for(;t--;)0===e[t].indexOf(n)&&e.splice(t,1)}-1===e.indexOf(t)&&e.push(t)}n=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(n=e,"[object Object]"!==Object.prototype.toString.call(n)||!t||!Array.isArray(t)&&"string"!=typeof t)return{};var n;const{length:o}=t;if("string"==typeof t||o<2){const n="string"==typeof t?t:t[0],o=g(e,n,r);return void 0!==o?x({},n,o,r):{}}return((e,t,r,n)=>{const o={};for(let i=0;i<r;i++){const r=t[i],s=g(e,r,n);void 0!==s&&x(o,r,s,n)}return o})(e,t,o,r)}(n,e)}this.config.silent||(p(j)&&this.config.showStack?!this.config.meta.show||d(n)||this.config.meta.hideMeta&&n[this.config.meta.hideMeta]?this.config.logger[S](j):this.config.logger[S](j,n):!this.config.meta.show||d(n)||this.config.meta.hideMeta&&n[this.config.meta.hideMeta]||this.config.meta.hideHTTP&&n[this.config.meta.hideHTTP]?this.config.logger[S](t):this.config.logger[S](t,n)),E(this.config.hooks.post,e=>e(S,j,t,n)).then().catch(e=>{this.config.logger.error(e)})}}}).call(this)}.call(this,R),se}));
|
package/lib/index.js
CHANGED
|
@@ -78,6 +78,7 @@ function isFunction(value) {
|
|
|
78
78
|
return typeof value === 'function';
|
|
79
79
|
}
|
|
80
80
|
class Axe {
|
|
81
|
+
// eslint-disable-next-line complexity
|
|
81
82
|
constructor() {
|
|
82
83
|
var _this = this;
|
|
83
84
|
let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -91,17 +92,24 @@ class Axe {
|
|
|
91
92
|
}
|
|
92
93
|
|
|
93
94
|
// envify does not support conditionals well enough so we declare vars outside
|
|
94
|
-
|
|
95
|
-
|
|
95
|
+
let omittedFields = process.env.AXE_OMIT_META_FIELDS;
|
|
96
|
+
if (typeof omittedFields === 'string') omittedFields = omittedFields.split(',').map(s => s.trim());
|
|
97
|
+
if (!Array.isArray(omittedFields)) omittedFields = [];
|
|
98
|
+
let pickedFields = process.env.AXE_PICK_META_FIELDS;
|
|
99
|
+
if (typeof pickedFields === 'string') pickedFields = pickedFields.split(',').map(s => s.trim());
|
|
100
|
+
if (!Array.isArray(pickedFields)) pickedFields = [];
|
|
96
101
|
this.config = mergeOptions({
|
|
97
102
|
showStack: process.env.AXE_SHOW_STACK ? boolean(process.env.AXE_SHOW_STACK) : true,
|
|
98
103
|
meta: Object.assign({
|
|
99
104
|
show: process.env.AXE_SHOW_META ? boolean(process.env.AXE_SHOW_META) : true,
|
|
100
105
|
remappedFields,
|
|
101
|
-
omittedFields
|
|
102
|
-
pickedFields
|
|
106
|
+
omittedFields,
|
|
107
|
+
pickedFields,
|
|
103
108
|
cleanupRemapping: true,
|
|
104
|
-
hideHTTP:
|
|
109
|
+
hideHTTP: 'is_http',
|
|
110
|
+
// implemented mainly for @ladjs/graceful to
|
|
111
|
+
// suppress unnecessary meta output to console
|
|
112
|
+
hideMeta: 'hide_meta'
|
|
105
113
|
}, typeof config.meta === 'object' ? config.meta : {}),
|
|
106
114
|
version: pkg.version,
|
|
107
115
|
silent: false,
|
|
@@ -419,12 +427,14 @@ class Axe {
|
|
|
419
427
|
if (isError(err) && this.config.showStack) {
|
|
420
428
|
if (!this.config.meta.show || isEmpty(meta)) {
|
|
421
429
|
this.config.logger[method](err);
|
|
430
|
+
} else if (this.config.meta.hideMeta && meta[this.config.meta.hideMeta]) {
|
|
431
|
+
this.config.logger[method](err);
|
|
422
432
|
} else {
|
|
423
433
|
this.config.logger[method](err, meta);
|
|
424
434
|
}
|
|
425
435
|
} else if (!this.config.meta.show || isEmpty(meta)) {
|
|
426
436
|
this.config.logger[method](message);
|
|
427
|
-
} else if (meta.
|
|
437
|
+
} else if (this.config.meta.hideMeta && meta[this.config.meta.hideMeta] || this.config.meta.hideHTTP && meta[this.config.meta.hideHTTP]) {
|
|
428
438
|
this.config.logger[method](message);
|
|
429
439
|
} else {
|
|
430
440
|
this.config.logger[method](message, meta);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "axe",
|
|
3
3
|
"description": "Axe is a logger-agnostic wrapper that normalizes logs regardless of argument style. Great for large development teams, old and new projects, and works with Pino, Bunyan, Winston, console, and more. It is lightweight, performant, highly-configurable, and automatically adds OS, CPU, and Git information to your logs. It supports hooks (useful for masking sensitive data) and dot-notation remapping, omitting, and picking of log metadata properties. Made for Forward Email, Lad, and Cabin.",
|
|
4
|
-
"version": "11.0
|
|
4
|
+
"version": "11.1.0",
|
|
5
5
|
"author": "Nick Baugh <niftylettuce@gmail.com> (http://niftylettuce.com)",
|
|
6
6
|
"browser": {
|
|
7
7
|
"parse-app-info": false
|