UNPKG

@elbwalker/utils

Version:

Shared utils for walkerOS packages

1 lines 2.03 kB
"use strict";var e,t=Object.create,r=Object.defineProperty,o=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,s=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,u=(e,t,s,u)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let c of n(t))a.call(e,c)||c===s||r(e,c,{get:()=>t[c],enumerable:!(u=o(t,c))||u.enumerable});return e},c=(e,o,n)=>(n=null!=e?t(s(e)):{},u(!o&&e&&e.__esModule?n:r(n,"default",{value:e,enumerable:!0}),e)),i={};((e,t)=>{for(var o in t)r(e,o,{get:t[o],enumerable:!0})})(i,{getHashNode:()=>l,sendNode:()=>m}),module.exports=(e=i,u(r({},"__esModule",{value:!0}),e));var d=require("crypto");async function l(e,t){return(await async function(e){const t=(0,d.createHash)("sha256");return t.update(e),t.digest("hex")}(e)).slice(0,t)}var f={merge:!0,shallow:!0,extend:!0};function p(e={}){return function(e,t={},r={}){r={...f,...r};const o=Object.entries(t).reduce(((t,[o,n])=>{const s=e[o];return r.merge&&Array.isArray(s)&&Array.isArray(n)?t[o]=n.reduce(((e,t)=>e.includes(t)?e:[...e,t]),[...s]):(r.extend||o in e)&&(t[o]=n),t}),{});return r.shallow?{...e,...o}:(Object.assign(e,o),e)}({"Content-Type":"application/json; charset=utf-8"},e)}var y=c(require("http")),h=c(require("https"));function m(e,t,r={}){const o=p(r.headers),n=function(e){return void 0===e||"string"==typeof e?e:JSON.stringify(e)}(t),s=r.method||"POST",a=r.timeout||5e3;return new Promise((t=>{const r=new URL(e),u="https:"===r.protocol?h:y,c={method:s,headers:o},i=u.request(r,c,(e=>{const r=[];e.on("data",(e=>{r.push(e)})),e.on("end",(()=>{const o=!!(e.statusCode&&e.statusCode>=200&&e.statusCode<300),n=Buffer.concat(r).toString(),s=(a=JSON.parse,u=()=>n,function(...e){try{return a(...e)}catch(e){if(!u)return;return u(e)}finally{c?.()}})(n);var a,u,c;t({ok:o,data:s,error:o?void 0:`${e.statusCode} ${e.statusMessage}`})}))}));i.on("error",(e=>{t({ok:!1,error:e.message})})),i.on("timeout",(()=>{i.destroy(),t({ok:!1,error:"Request timeout"})})),i.setTimeout(a),n&&i.write(n),i.end()}))}//# sourceMappingURL=node.js.map