@allthings/cloud-toolkit 3.2.4 → 4.0.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/package.json +6 -14
- package/dist/lib.umd.min.js +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@allthings/cloud-toolkit",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Allthings GmbH",
|
|
6
6
|
"keywords": [
|
|
@@ -23,7 +23,6 @@
|
|
|
23
23
|
},
|
|
24
24
|
"main": "dist/lib.cjs.js",
|
|
25
25
|
"module": "dist/lib.esm.js",
|
|
26
|
-
"browser": "dist/lib.umd.min.js",
|
|
27
26
|
"types": "dist/src/index.d.ts",
|
|
28
27
|
"files": [
|
|
29
28
|
"dist/*.js",
|
|
@@ -62,33 +61,26 @@
|
|
|
62
61
|
"@aws-sdk/client-ssm": "^3.1012.0",
|
|
63
62
|
"@aws-sdk/lib-dynamodb": "^3.1012.0",
|
|
64
63
|
"bottleneck": "^2.19.5",
|
|
65
|
-
"cross-fetch": "^4.1.0",
|
|
66
64
|
"nodemailer": "^8.0.0",
|
|
67
|
-
"query-string": "^9.2.2",
|
|
68
65
|
"winston": "^3.17.0"
|
|
69
66
|
},
|
|
70
67
|
"devDependencies": {
|
|
71
68
|
"@allthings/eslint-config": "3.0.0",
|
|
72
|
-
"@commitlint/cli": "20.
|
|
73
|
-
"@commitlint/config-conventional": "20.
|
|
74
|
-
"@rollup/plugin-commonjs": "29.0.2",
|
|
75
|
-
"@rollup/plugin-json": "6.1.0",
|
|
69
|
+
"@commitlint/cli": "20.5.0",
|
|
70
|
+
"@commitlint/config-conventional": "20.5.0",
|
|
76
71
|
"@rollup/plugin-node-resolve": "16.0.3",
|
|
77
|
-
"@rollup/plugin-replace": "6.0.3",
|
|
78
|
-
"@rollup/plugin-terser": "1.0.0",
|
|
79
72
|
"@types/aws-lambda": "8.10.161",
|
|
80
73
|
"@types/jest": "30.0.0",
|
|
81
74
|
"@types/node": "24.12.0",
|
|
82
75
|
"@types/nodemailer": "7.0.11",
|
|
83
|
-
"@types/query-string": "6.3.0",
|
|
84
76
|
"aws-sdk-client-mock": "4.1.0",
|
|
85
77
|
"eslint": "9.39.4",
|
|
86
78
|
"husky": "9.1.7",
|
|
87
|
-
"jest": "30.
|
|
88
|
-
"lint-staged": "16.
|
|
79
|
+
"jest": "30.3.0",
|
|
80
|
+
"lint-staged": "16.4.0",
|
|
89
81
|
"prettier": "3.8.1",
|
|
90
82
|
"rimraf": "6.1.3",
|
|
91
|
-
"rollup": "4.59.
|
|
83
|
+
"rollup": "4.59.1",
|
|
92
84
|
"semantic-release": "25.0.3",
|
|
93
85
|
"ts-jest": "29.4.6",
|
|
94
86
|
"typescript": "5.9.3"
|
package/dist/lib.umd.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import*as e from"querystring";import*as t from"zlib";import*as n from"crypto";import{DynamoDBClient as o}from"@aws-sdk/client-dynamodb";import{DynamoDBDocumentClient as a,UpdateCommand as r,ScanCommand as s,QueryCommand as i,PutCommand as c,GetCommand as l,DeleteCommand as p,BatchWriteCommand as d}from"@aws-sdk/lib-dynamodb";import u from"bottleneck";import{LambdaClient as m,InvokeCommand as g}from"@aws-sdk/client-lambda";import{SSMClient as h,GetParametersCommand as y,GetParameterCommand as f}from"@aws-sdk/client-ssm";import{SESv2Client as v,SendEmailCommand as x}from"@aws-sdk/client-sesv2";import{createTransport as j}from"nodemailer";import{SQSClient as b,SendMessageCommand as w,SendMessageBatchCommand as C,GetQueueUrlCommand as I,ReceiveMessageCommand as N,DeleteMessageCommand as S}from"@aws-sdk/client-sqs";import{format as k,createLogger as T,transports as q}from"winston";export{Logger}from"winston";const M=(e,t,n)=>{const{requestId:o}=e.requestContext,a=n.name&&"string"==typeof n.name?n.name.replace(/([A-Z])([A-Z])([a-z])|([a-z])([A-Z])/g,"$1$4 $2$3$5"):"Error",r=n.message||"",s=n.statusCode?` ${n.statusCode}`:"";return"ClientError"===n.name||n.statusCode>=400&&n.statusCode<500?t.respondTo({html:`<html><body><strong>${a}${s}</strong>: ${r}<br/>Request ID: ${o}</body></html>`,json:{error:n.name,message:r,requestId:o}},n.statusCode||400):t.respondTo({html:`<html><body>An internal server error occurred.<br/>Request ID: ${o}</body></html>`,json:{error:"Internal server error",message:"An internal server error occurred",requestId:o}},500)};class E extends Error{name="ClientError";statusCode=400;constructor(e,t,n=400){super(String(e)),this.name=t||this.name,this.statusCode=n}}class A extends Error{name="ServerError";statusCode=500;constructor(e,t,n=500){super(String(e)),this.name=t||this.name,this.statusCode=n}}const R=async(e,t,...n)=>e.reduce(async(e,t)=>t(await e,...n),Promise.resolve(t)),$=e=>{return e.isBase64Encoded&&"string"==typeof e.body?{...e,body:(t=e.body,Buffer.from(t,"base64").toString("utf8"))}:e;var t},L=e=>{const t=e.indexOf("="),n=-1!==t,o=n&&e.slice(0,Math.max(0,t)).trim(),a=n&&e.substr(t+1,e.length).trim(),r=a&&'"'===a[0]?a.slice(1,-1):a;return o?{[o]:r?decodeURIComponent(r):""}:{}},P=e=>{return{...e,cookies:(t=e.headers?.cookie||"",t.split(/; */).reduce((e,t)=>({...e,...L(t)}),{}))};var t},O=e=>({...e,hostname:e.headers?.host||void 0}),D=e=>{try{return JSON.parse(e)}catch{return{}}},H=e=>{const{headers:t,body:n}=e;return"application/json"===t["content-type"]?.split(";").shift()&&"string"==typeof n?{...e,body:D(n)}:e},U=new Map([["invocationCount",0]]),z=e=>{const t=Number(U.get("invocationCount"));return{...e,meta:{...e.meta,coldStart:!t,invocationCount:U.set("invocationCount",t+1).get("invocationCount")}}},B=({headers:e={},...t})=>({...t,headers:Object.keys(e).reduce((n,o)=>{const a=o.toLowerCase();return"aws"===t.provider&&Reflect.has(n,a)&&"content-type"===a&&"application/json"===e[o]?n:{...n,[a]:e[o]}},{})}),_=e=>({...e,method:e.httpMethod??e.requestContext?.http?.method??"",path:e.path??e.requestContext?.http?.path??"",provider:"aws",query:e.queryStringParameters||{},source:e.requestContext?"api-gateway":e.source}),Q=e=>({...e,timestamp:Date.now()}),K=t=>{const{headers:n,body:o}=t;return"application/x-www-form-urlencoded"===n["content-type"]?.split(";").shift()&&"string"==typeof o?{...t,body:e.parse(o)}:t};const F=(e,t,n,o)=>(Object.assign(t.headers,{[n]:o}),e),V=(e,t="",n=200,{headers:o={},...a}={},r)=>Object.freeze({...e,body:t||"",headers:{...e?.headers,"content-type":r,...o},statusCode:n,...a}),W=(e,t,n,o,a)=>V(e,n,o,a,"text/html"),Y=(e,t,n,o,a)=>V(e,(e=>{const t="string"==typeof e?e.trim():e;return"string"==typeof e&&["{",'"'].includes(t[0])&&["}",'"'].includes(t.at(-1))?t:JSON.stringify(e)})(n),o,a,"application/json"),J=["application/activity+json","application/alto-costmap+json","application/alto-costmapfilter+json","application/alto-directory+json","application/alto-endpointcost+json","application/alto-endpointcostparams+json","application/alto-endpointprop+json","application/alto-endpointpropparams+json","application/alto-error+json","application/alto-networkmap+json","application/alto-networkmapfilter+json","application/atom+xml","application/calendar+json","application/coap-group+json","application/csvm+json","application/dart","application/dicom+json","application/ecmascript","application/fhir+json","application/fido.trusted-apps+json","application/geo+json","application/javascript","application/jf2feed+json","application/jose+json","application/jrd+json","application/json","application/json-patch+json","application/jsonml+json","application/jwk+json","application/jwk-set+json","application/ld+json","application/manifest+json","application/merge-patch+json","application/mud+json","application/postscript","application/ppsp-tracker+json","application/problem+json","application/raml+yaml","application/rdap+json","application/rdf+xml","application/reputon+json","application/rss+xml","application/rtf","application/scim+json","application/soap+xml","application/tar","application/vcard+json","application/vnd.amadeus+json","application/vnd.api+json","application/vnd.apothekende.reservation+json","application/vnd.avalon+json","application/vnd.bbf.usp.msg+json","application/vnd.bekitzur-stech+json","application/vnd.capasystems-pg+json","application/vnd.collection+json","application/vnd.collection.doc+json","application/vnd.collection.next+json","application/vnd.coreos.ignition+json","application/vnd.dart","application/vnd.datapackage+json","application/vnd.dataresource+json","application/vnd.document+json","application/vnd.drive+json","application/vnd.geo+json","application/vnd.google-earth.kml+xml","application/vnd.hal+json","application/vnd.hc+json","application/vnd.heroku+json","application/vnd.hyper+json","application/vnd.hyper-item+json","application/vnd.hyperdrive+json","application/vnd.ims.lis.v2.result+json","application/vnd.ims.lti.v2.toolconsumerprofile+json","application/vnd.ims.lti.v2.toolproxy+json","application/vnd.ims.lti.v2.toolproxy.id+json","application/vnd.ims.lti.v2.toolsettings+json","application/vnd.ims.lti.v2.toolsettings.simple+json","application/vnd.las.las+json","application/vnd.mason+json","application/vnd.micro+json","application/vnd.miele+json","application/vnd.mozilla.xul+xml","application/vnd.ms-fontobject","application/vnd.ms-opentype","application/vnd.nearst.inv+json","application/vnd.oftn.l10n+json","application/vnd.oma.lwm2m+json","application/vnd.oracle.resource+json","application/vnd.pagerduty+json","application/vnd.restful+json","application/vnd.siren+json","application/vnd.sun.wadl+xml","application/vnd.tableschema+json","application/vnd.vel+json","application/vnd.xacml+json","application/voucher-cms+json","application/wasm","application/webpush-options+json","application/x-httpd-php","application/x-javascript","application/x-ns-proxy-autoconfig","application/x-sh","application/x-tar","application/x-virtualbox-hdd","application/x-virtualbox-ova","application/x-virtualbox-ovf","application/x-virtualbox-vbox","application/x-virtualbox-vdi","application/x-virtualbox-vhd","application/x-virtualbox-vmdk","application/x-web-app-manifest+json","application/x-www-form-urlencoded","application/xhtml+xml","application/xml","application/xml-dtd","application/xop+xml","application/yang-data+json","application/yang-patch+json","font/otf","image/bmp","image/svg+xml","image/vnd.adobe.photoshop","image/x-icon","image/x-ms-bmp","message/imdn+xml","message/rfc822","model/gltf+json","model/gltf-binary","model/x3d+xml","text/cache-manifest","text/calender","text/cmd","text/css","text/csv","text/html","text/javascript","text/jsx","text/markdown","text/n3","text/plain","text/richtext","text/rtf","text/tab-separated-values","text/uri-list","text/vcard","text/vtt","text/x-gwt-rpc","text/x-jquery-tmpl","text/x-markdown","text/x-org","text/x-processing","text/x-suse-ymp","text/xml","x-shader/x-fragment","x-shader/x-vertex"],Z={level:5},G=(e,t)=>e.find(e=>t.some(t=>e===t)),X={"default-src":"'self' https: 'unsafe-inline'","img-src":"* data: blob:"},ee=e=>0===e.length?'"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"':(e=>{const t=n.createHash("sha1").update(e,"utf8").digest("base64").slice(0,27);return`"${("string"==typeof e?Buffer.byteLength(e,"utf8"):e.length).toString(16)}-${t}"`})(e),te=e=>{const{headers:t,requestContext:n,context:o}=e;return{apig:{requestId:n.requestId,resourcePath:n.resourcePath??""},awsAccountId:n.accountId,cloudfront:{country:t["cloudfront-viewer-country"],desktop:"true"===t["cloudfront-is-desktop-viewer"],mobile:"true"===t["cloudfront-is-mobile-viewer"],smarttv:"true"===t["cloudfront-is-smarttv-viewer"],tablet:"true"===t["cloudfront-is-tablet-viewer"]},deploymentStage:n.stage,lambda:{functionName:o.functionName,memoryLimit:Number(o.memoryLimitInMB),remainingExecutionTime:o.getRemainingTimeInMillis?.(),requestId:o.awsRequestId},sourceIp:n.identity?.sourceIp??n?.http?.sourceIp}},ne=(t,n,o)=>o.enableLogger&&("function"==typeof o.logger?o.logger(n,t):((t,n)=>{const{source:o,headers:a,meta:r,requestContext:s,provider:i,hostname:c,body:l,timestamp:p,path:d,query:u}=t,m=n.statusCode>=500&&n.statusCode<600,g={dateTime:(new Date).toISOString(),eventSource:o,hostname:c,httpMethod:s.httpMethod,httpProtocol:a.via?.split(" ")[0],httpReferrer:a.referer,httpUserAgent:a["user-agent"],requestContentLength:l&&l.length>0||0,requestTime:Date.now()-p,requestUri:d+(u&&Object.keys(u).length>0?`?${e.stringify(u)}`:""),responseContentLength:n.headers["content-length"],statusCode:n.statusCode,xForwardedHost:a["x-forwarded-host"],...r,..."aws"===i&&te(t)};return(m?process.stderr:process.stdout).write(JSON.stringify(g))&&g})(n,t))&&t||t,oe=(e,t,n,o=302,a={})=>V(e,"",o,{...a,headers:{...a.headers,location:n}}),ae=(e,t,n,o,a)=>{const{headers:{accept:r}}=t,s=((e,t)=>{const n=e.default||"html",o=t&&"string"==typeof t&&t.split(";")[0].split(",").map(e=>e.split("/").at(-1));return o&&o.find(t=>Reflect.has(e,t))||n})(n,r),i=(e=>{switch(e){case"html":return W;case"json":return Y}throw new TypeError(`"${e}" is not a valid Alagarr respondTo() format.`)})(s),c=((e,t)=>{switch(t){case"html":return e.html;case"json":return e.json}throw new TypeError(`"${t}" is not a valid Alagarr respondTo() format.`)})(n,s);return i(e,t,c,o,a)},re=(e,t,n,o,a)=>V(e,n,o,a,"text/plain"),se={enableCompression:(e,n)=>{const{body:o,headers:a}=e,r=(e=>{const{headers:t}=e,n=(t["accept-encoding"]||"").split(/, */),o=G(n,["gzip","deflate","identity"]);return"deflate"===o&&G(n,["gzip"])?G(n,["gzip","identity"]):o})(n);return J.includes(a["content-type"])&&void 0!==r&&"identity"!==r&&o&&o.length>256&&r?((e,n)=>{const{body:o,headers:a,...r}=e,s="gzip"===n?t.gzipSync(o,Z):t.deflateSync(o,Z);return{...r,body:s.toString("base64"),headers:{...a,"content-encoding":n,"content-length":s.byteLength},isBase64Encoded:!0}})(e,r):e},enableContentLength:e=>{const{body:t,headers:n,...o}=e;return{...o,body:t,headers:{...n,"content-length":n["content-length"]||Buffer.byteLength(t)}}},enableCspHeaders:(e,t,n)=>{const{headers:o={},...a}=e,r={...X,...n.cspPolicies};return{...a,headers:{...o,"content-security-policy":Object.keys(r).map(e=>`${e} ${r[e]}`).join(";"),"referrer-policy":"strict-origin-when-cross-origin","x-content-type-options":"nosniff","x-frame-options":{"'none'":"DENY","'self'":"SAMEORIGIN"}[r["frame-ancestors"]]||void 0,"x-xss-protection":"1; mode=block"}}},enableETagHeader:e=>({...e,headers:{...e.headers,etag:ee(e.body)}}),enableEnforcedHeaders:(e,t,n)=>({...e,headers:{...e.headers,...n.headers??{}}})};const ie={cspPolicies:[],enableCompression:!0,enableContentLength:!0,enableCspHeaders:!0,enableETagHeader:!0,enableEnforcedHeaders:!0,enableLogger:!0,enableStrictTransportSecurity:!0,errorHandler:M,requestMiddleware:[],responseMiddleware:[]},ce=(e,t)=>{throw new A("Misconfiguration in Alagarr setup. No handler function was provided.")},le=(e=ce,t=ie)=>async(n,o,a)=>{const r={...ie,...t},s=await(async(e,t,n={})=>R([Q,_,B,$,P,K,H,O,z,...n.requestMiddleware||[]],Object.freeze({...e,context:t}),n))(n,o,r),i=await(async(e,t,n)=>{const o=V(),a=[re,W,Y,oe,ae].reduce((a,r)=>({...a,[r.name]:async(...a)=>t(null,await R(Object.keys(se).reduce((e,t)=>n[t]?[...e,se[t]]:e,[...n.responseMiddleware||[],...n.enableLogger?[ne]:[]]),r(o,e,...a),e,n))}),{raw:t}),r=[F].reduce((e,t)=>({...e,[t.name]:(...e)=>t(r,o,...e)}),a);return r})(s,a,r);try{return await e(s,i,o)}catch(e){const t="function"==typeof r.errorHandler?r.errorHandler:M;try{return await t(s,i,e)}catch(e){return console.error("There was an error in the error handler provided to Alagaar",e,t.toString()),M(s,i,e)}}},pe={region:"eu-central-2"},de=async(e,t,n,o=0)=>{const a=await t(n,o);return await e(a,o)?a:de(e,t,a,o+1)};let ue;const me=e=>"string"==typeof e?{id:e}:e,ge=({UnprocessedItems:e})=>!e||0===Object.keys(e).length,he=async(e,t,n,o)=>{try{const s=(a=25,r=o,Array.from({length:Math.ceil(r.length/a)}).map((e,t)=>r.slice(t*a,t*a+a))),i=await Promise.all(s.map(async o=>ue.schedule(async()=>de(ge,((e,t,n)=>async(o,a)=>{if(a>n)throw new Error("Reached maximum number of DynamoDB BatchWrite request retries.");const r=new d({RequestItems:o.UnprocessedItems??{[t]:o.map(e=>({PutRequest:{Item:e}}))},ReturnConsumedCapacity:"TOTAL",ReturnItemCollectionMetrics:"SIZE"});return e.send(r)})(t,e.tableNamePrefix+n,e.batchWriteMaxRetries??50),o))));return i&&o}catch(t){return void(e.logger&&e.logger.error(t))}var a,r},ye=e=>{const{clientConfig:t,...n}={...pe,...e},d=new o(n.dockerConfig?{credentials:{accessKeyId:"foobarkey",secretAccessKey:"foobarsecret"},endpoint:n.dockerConfig.endpoint,region:"local",retryMode:"standard"}:{retryMode:"standard",...t}),m=a.from(d);return ue=new u({maxConcurrent:n.queueConfig?.queueConcurrency??25,minTime:n.queueConfig?.queueDelay??void 0}),{batchWriteItems:(e,t)=>he(n,m,e,t),deleteItem:(e,t,o)=>(async(e,t,n,o,a={})=>{try{const{ReturnValues:r="NONE"}=a,s=new p({Key:me(o),ReturnValues:r,TableName:e.tableNamePrefix+n});return(await ue.schedule(()=>t.send(s))).Attributes}catch(t){return void(e.logger&&e.logger.error(t))}})(n,m,e,t,o),getItem:(e,t,o)=>(async(e,t,n,o,a={})=>{try{const{ConsistentRead:r=!1}=a,s=new l({ConsistentRead:r,Key:me(o),TableName:e.tableNamePrefix+n});return(await ue.schedule(()=>t.send(s))).Item}catch(t){return void(e.logger&&e.logger.error(t))}})(n,m,e,t,o),putItem:(e,t)=>(async(e,t,n,o)=>{try{const{expires:a,...r}=o,s=new c({Item:null===a?r:o,TableName:e.tableNamePrefix+n});return await ue.schedule(()=>t.send(s))&&o}catch(t){return void(e.logger&&e.logger.error(t))}})(n,m,e,t),queryTable:(e,t)=>(async(e,t,n,o={})=>{try{const{ConsistentRead:a=!1}=o,r=new i({...o,ConsistentRead:a,TableName:e.tableNamePrefix+n});return await ue.schedule(()=>t.send(r))}catch(t){return void(e.logger&&e.logger.error(t))}})(n,m,e,t),scanTable:(e,t)=>(async(e,t,n,o={})=>{try{const{ConsistentRead:a=!1}=o,r=new s({...o,ConsistentRead:a,TableName:e.tableNamePrefix+n});return await ue.schedule(()=>t.send(r))}catch(t){return void(e.logger&&e.logger.error(t))}})(n,m,e,t),updateItem:(e,t,o)=>(async(e,t,n,o,a={})=>{try{const s=new r({Key:me(o),...a,ReturnValues:"ALL_NEW",TableName:e.tableNamePrefix+n});return(await ue.schedule(async()=>t.send(s))).Attributes}catch(t){return void(e.logger&&e.logger.error(t))}})(n,m,e,t,o)}},fe=e=>{const{clientConfig:t,...n}={...pe,...e},o=new m(t);return{invokeLambda:(e,t)=>(async(e,t,n,o)=>{try{const a=new g({FunctionName:t.functionName,InvocationType:n,Payload:Buffer.from(JSON.stringify(o))}),r=await e.send(a);return t.logger&&t.logger.info(JSON.stringify(r)),!0}catch(e){return t.logger&&t.logger.error(e),!1}})(o,n,e,t)}},ve={clientConfig:pe,onlyDefault:!1,prefix:process.env.SSM_PARAM_PATH},xe=e=>{const{clientConfig:t,...n}={...ve,...e},o=new h(t);return{getSecret:(e,t="")=>(async(e,t,n,o)=>{if(t.onlyDefault)return o;try{const a=await e.send(new f({Name:`${t.prefix??""}${n}`,WithDecryption:!0}));return a?.Parameter?.Value??o}catch(e){return t.logger&&t.logger.error(e),o}})(o,n,e,t),getSecrets:(e,t=[])=>(async(e,t,n,o)=>{if(t.onlyDefault)return o;try{const a=new y({Names:n.map(e=>`${t.prefix??""}${e}`),WithDecryption:!0}),r=await e.send(a);return r?.Parameters?.map(e=>{const t=!e.Value&&e.Name?o.find(t=>t.name===e.Name):o[0];return{name:e.Name??t?.name??"",value:e.Value??t?.value??""}})??o}catch(e){return t.logger&&t.logger.error(e),o}})(o,n,e,t)}},je={clientConfig:{region:"eu-west-1"}},be=e=>{const{clientConfig:t,...n}={...je,...e},o=new v(t),a=j(e.customSMTPConfig??{SES:{SendEmailCommand:x,sesClient:o}});return{sendMail:(e,t)=>(async(e,t,n,o)=>{try{if(!n.html&&!n.text)return e.logger&&e.logger.error("The option text or html needs to be set."),!1;if(!n.to||!n.subject)return e.logger&&e.logger.error("The fields to and subject have to be set."),!1;const a=await t.sendMail(n);return o&&await o(a),!!a||(e.logger&&e.logger.error("Sending email failed!"),!1)}catch(t){return e.logger&&e.logger.error(t),!1}})(n,a,e,t)}},we=e=>{const{clientConfig:t,...n}={...pe,...e},o=new b(t);return{deleteQueueItem:(e,t)=>(async(e,t,n,o)=>{try{const t=new S({QueueUrl:n,ReceiptHandle:o});return await e.send(t)}catch(e){return void(t.logger&&t.logger.error(e))}})(o,n,e,t),getQueueItems:(e,t)=>(async(e,t,n,o=1)=>{try{const t=new N({MaxNumberOfMessages:o,QueueUrl:n});return await e.send(t)}catch(e){return void(t.logger&&t.logger.error(e))}})(o,n,e,t),getQueueUrl:e=>(async(e,t,n)=>{try{const t=new I({QueueName:n});return(await e.send(t)).QueueUrl}catch(e){return void(t.logger&&t.logger.error(e))}})(o,n,e),sendBatchMessages:(e,t)=>(async(e,t,n,o)=>{try{const t=new C({Entries:o,QueueUrl:n}),a=await e.send(t);return{failed:a.Failed,successful:a.Successful}}catch(e){return t.logger&&t.logger.error(e),{failed:void 0,successful:void 0}}})(o,n,e,t),sendMessage:(e,t,a,r,s)=>(async(e,t,n,o,a={},r,s=0)=>{try{const t=new w({...a,...r?{MessageAttributes:r}:{},DelaySeconds:s,MessageBody:o,QueueUrl:n});return(await e.send(t)).MessageId}catch(e){return void(t.logger&&t.logger.error(e))}})(o,n,e,t,a,r,s)}},Ce=e=>{const t={defaultMeta:{...e.defaultLogInformation,deploymentStage:e.deploymentStage,service:e.service},format:k.combine(k.timestamp({format:"DD-MM-YYYY HH:mm:ss"}),k.json()),level:e.level||"info"};if(e.datadogApiKey){const n={host:"http-intake.logs.datadoghq.eu",path:`/api/v2/logs?dd-api-key=${e.datadogApiKey}&ddsource=nodejs&service=${e.service}`,port:443,ssl:!0};return T({...t,transports:[new q.Http(n)]})}return T({...t,transports:[new q.Console({forceConsole:!0})]})};export{E as ClientError,ve as DEFAULT_PARAMETER_STORE_CLIENT_CONFIG,je as DEFAULT_SES_CLIENT_CONFIG,A as ServerError,le as alagarr,ye as dynamodb,fe as lambda,Ce as logger,xe as parameterStore,be as ses,we as sqs};
|