UNPKG

@interopio/gateway

Version:

[![npm version](https://img.shields.io/npm/v/@interopio/gateway.svg)](https://www.npmjs.com/package/@interopio/gateway)

3 lines (2 loc) 7.01 kB
"use strict";var J=Object.create;var k=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var U=Object.getPrototypeOf,z=Object.prototype.hasOwnProperty;var w=(e,r)=>()=>(e&&(r=e(e=0)),r);var E=(e,r)=>{for(var t in r)k(e,t,{get:r[t],enumerable:!0})},B=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of R(r))!z.call(e,o)&&o!==t&&k(e,o,{get:()=>r[o],enumerable:!(n=K(r,o))||n.enumerable});return e};var u=(e,r,t)=>(t=e!=null?J(U(e)):{},B(r||!e||!e.__esModule?k(t,"default",{value:e,enumerable:!0}):t,e));var W={};E(W,{configure:()=>D,getLogger:()=>m,logEvent:()=>F});function F(e){let{name:r,level:t}=e;S(r),G(t,r)&&L(e)}function I(e,r,t,...n){this.enabledFor(r)&&L({time:new Date,level:r,name:e,message:t,data:n})}function G(e,r){let t=d[e];return f[r]<=t}function _(e){S(e);let r=function(n,o,...s){I.call(r,e,n,o,...s)};function t(n){return isNaN(Number(n))}for(let n of Object.keys(d).filter(t))r[n]=function(o,...s){I.call(r,e,n,o,...s)};return r.enabledFor=function(n){return G(n,e)},r.child=function(n){return m(`${e}.${n}`)},r}function S(e){if(!e.startsWith(p))throw new Error(`Logger name must start with ${p}`);if(!f[e]){let r=Object.entries(f).sort(([n],[o])=>o.localeCompare(n)),[,t]=r.find(([n])=>e.startsWith(n));f[e]=t}}function m(e){let r=C[e];return r===void 0&&(r=_(e),C[e]=r),r}function D(e){function r(n,o){for(let s of Object.keys(f).filter(g=>g.startsWith(n)))f[s]=d[o]}let t=e.level;if(typeof t=="string")f[p]=d[t],r(p,t);else if(typeof t=="object"){let n=Object.entries(t).sort(([o],[s])=>o.localeCompare(s));for(let[o,s]of n)r(o,s)}L=e.appender??L}var d,C,f,p,L,v=w(()=>{"use strict";d=(s=>(s[s.trace=0]="trace",s[s.debug=1]="debug",s[s.info=2]="info",s[s.warn=3]="warn",s[s.error=4]="error",s))(d||{}),C=Object.create(null),f={},p="gateway";f[p]=0;L=e=>{console[e.level](`${e.time.toISOString()} ${e.level.toUpperCase()} [${e.name}] - ${e.message}`,...e.data)}});var V,H,b,O=w(()=>{V=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map(e=>[e.name,e]),H=new Map(V),b=H});var N={};E(N,{NonError:()=>h,deserializeError:()=>X,errorConstructors:()=>b,isErrorLike:()=>T,serializeError:()=>Q});function Q(e,r={}){let{maxDepth:t=Number.POSITIVE_INFINITY,useToJSON:n=!0}=r;return typeof e=="object"&&e!==null?x({from:e,seen:[],forceEnumerable:!0,maxDepth:t,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name||"anonymous"}]`:e}function X(e,r={}){let{maxDepth:t=Number.POSITIVE_INFINITY}=r;if(e instanceof Error)return e;if(Z(e)){let n=j(e.name);return x({from:e,seen:[],to:new n,maxDepth:t,depth:0,serialize:!1})}return new h(e)}function T(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}function Z(e){return!!e&&typeof e=="object"&&"message"in e&&!Array.isArray(e)}var h,q,P,Y,j,x,M=w(()=>{O();O();h=class e extends Error{name="NonError";constructor(r){super(e._prepareSuperMessage(r))}static _prepareSuperMessage(r){try{return JSON.stringify(r)}catch{return String(r)}}},q=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],P=new WeakSet,Y=e=>{P.add(e);let r=e.toJSON();return P.delete(e),r},j=e=>b.get(e)??Error,x=({from:e,seen:r,to:t,forceEnumerable:n,maxDepth:o,depth:s,useToJSON:g,serialize:l})=>{if(!t)if(Array.isArray(e))t=[];else if(!l&&T(e)){let i=j(e.name);t=new i}else t={};if(r.push(e),s>=o)return t;if(g&&typeof e.toJSON=="function"&&!P.has(e))return Y(e);let y=i=>x({from:i,seen:[...r],forceEnumerable:n,maxDepth:o,depth:s,useToJSON:g,serialize:l});for(let[i,c]of Object.entries(e)){if(c&&c instanceof Uint8Array&&c.constructor.name==="Buffer"){t[i]="[object Buffer]";continue}if(c!==null&&typeof c=="object"&&typeof c.pipe=="function"){t[i]="[object Stream]";continue}if(typeof c!="function"){if(!c||typeof c!="object"){try{t[i]=c}catch{}continue}if(!r.includes(e[i])){s++,t[i]=y(e[i]);continue}t[i]="[Circular]"}}for(let{property:i,enumerable:c}of q)typeof e[i]<"u"&&e[i]!==null&&Object.defineProperty(t,i,{value:T(e[i])?y(e[i]):e[i],enumerable:n?!0:c,configurable:!0,writable:!0});return t}});var $={};E($,{default:()=>ee});var a,ee,A=w(()=>{"use strict";a={send:()=>{},on:()=>{},onmessage:null,onerror:null,exit:()=>{},findParameter(e){let r=new URLSearchParams(globalThis.location?.search).get(e);if(!r){let t=globalThis.process?.argv.filter(n=>n.startsWith("--")).map(n=>{let o=n.slice(2).split("=");return[o[0],o[1]]}).find(([n,o])=>n===e);t&&([,r]=t)}return r},async streamLogs(e="trace"){let r=t=>{a.send({log:{time:t.time.getTime(),level:t.level,name:t.name,message:t.message,data:t.data}})};(await Promise.resolve().then(()=>(v(),W))).configure({level:e,appender:r})},async importModule(e){return await Promise.resolve().then(()=>u(require(e)))}};if(typeof self<"u"&&typeof postMessage=="function"&&typeof addEventListener=="function")a.on=(e,r)=>{addEventListener(e,t=>{r(t)})},a.send=e=>{postMessage(e)},typeof close=="function"&&(a.exit=close);else if(typeof process<"u"){globalThis.self=a,a.on=process.on.bind(process);let e=process.send?.bind(process);e&&(a.send=r=>{e(JSON.stringify({type:"message",data:r}))}),a.on("disconnect",()=>{process.exit(1)}),process.on("uncaughtException",r=>{e&&e(JSON.stringify({type:"error",message:`Uncaught Error: ${r.message}`}))}),a.exit=process.exit.bind(process)}a.on("message",e=>{a.onmessage&&a.onmessage(e)});a.on("error",e=>{a.onerror&&a.onerror(e)});ee=a});v();async function re(e,r){try{let t=await Promise.resolve().then(()=>u(require(r)));if(typeof t=="function")return await t();if(typeof t.default=="function")return await t.default()}catch(t){e.error("failed to load preload",t)}}async function te(e,r,t){e.debug(`loading publisher from ${r}`);let n=await Promise.resolve().then(()=>u(require(r)));return typeof n.default=="object"&&(n=n.default),await n.create(t,m(`gateway.metrics.publisher.${n.name??r}`))}async function ne(e){let r=e.findParameter("logLevel");if(r?.startsWith('"'))try{r=JSON.parse(r)}catch{r=null}await e.streamLogs(r??"info")}async function oe(e,r){let{publishFn:t,cfg:n}=r;if(n?.preload){let g=await re(e,n.preload);if(typeof g=="object")for(let l in g)n[l]=g[l]}let o;typeof t=="function"?o=t:o=await te(e,t,n);let s=await o("start");return[o,s]}async function se(e,r,t){let n=await r("stop");typeof n=="function"&&await n(t)}function ie(e){let r,t;e.onmessage=async n=>{let o=m("gateway.metrics.worker"),{id:s,cmd:g,arg:l}=n.data;try{switch(g){case"start":{[r,t]=await oe(o,l);break}case"stop":{await se(o,r,t);break}case"update":{await r(l);break}}e.send({id:s,result:"ok"})}catch(y){let{serializeError:i}=await Promise.resolve().then(()=>(M(),N)),c=i(y);e.send({id:s,error:c})}}}Promise.resolve().then(()=>(A(),$)).then(e=>e.default).then(async e=>{await ne(e),ie(e),e.send({ready:!0})}).catch(e=>console.error(e)); //# sourceMappingURL=worker.cjs.map