@baadal-sdk/dapi 0.28.4 → 0.31.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/dist/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- (()=>{"use strict";var e={76:e=>{e.exports=require("rimraf")}},r={};function t(n){var o=r[n];if(void 0!==o)return o.exports;var u=r[n]={exports:{}};return e[n](u,u.exports,t),u.exports}t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},t.d=(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{t.r(n),t.d(n,{aws:()=>o,default:()=>Ee,fs:()=>e,gh:()=>u});var e={};t.r(e),t.d(e,{appendToFile:()=>Q,createDir:()=>$,deleteDir:()=>L,deleteFile:()=>J,existsDirSync:()=>N,existsFileSync:()=>A,readDir:()=>B,readDirDirs:()=>z,readDirFiles:()=>K,readDirFilesRec:()=>H,readFile:()=>M,readFileSync:()=>G,renameFile:()=>V,writeFile:()=>W});var r={};t.r(r),t.d(r,{deleteItem:()=>ye,init:()=>ce,queryItems:()=>be,readItem:()=>me,scanItems:()=>ve,status:()=>ie,updateItem:()=>de,writeItem:()=>fe,writeItemForce:()=>pe});var o={};t.r(o),t.d(o,{db:()=>we,init:()=>je,status:()=>ge});var u={};t.r(u),t.d(u,{getContent:()=>Se,init:()=>Oe}),require("regenerator-runtime/runtime.js"),require("core-js/modules/es.string.starts-with.js"),require("core-js/modules/es.array.for-each.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/es.array.concat.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.array.last-index-of.js"),require("core-js/modules/es.symbol.js"),require("core-js/modules/es.symbol.description.js"),require("core-js/modules/es.symbol.iterator.js"),require("core-js/modules/es.array.from.js"),require("core-js/modules/es.array.slice.js");const a=require("path");var c=t.n(a);const i=require("util");var s=t.n(i);const l=require("fs");var p=t.n(l);const f=require("fs/promises");var d=t.n(f);function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function b(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function v(e,r){if(r&&("object"===m(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return y(e)}function y(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e){var r="function"==typeof Map?new Map:void 0;return h=function(e){if(null===e||(t=e,-1===Function.toString.call(t).indexOf("[native code]")))return e;var t;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,n)}function n(){return x(e,arguments,g(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),j(n,e)},h(e)}function x(e,r,t){return x=w()?Reflect.construct:function(e,r,t){var n=[null];n.push.apply(n,r);var o=new(Function.bind.apply(e,n));return t&&j(o,t.prototype),o},x.apply(null,arguments)}function w(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function j(e,r){return j=Object.setPrototypeOf||function(e,r){return e.__proto__=r,e},j(e,r)}function g(e){return g=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},g(e)}require("core-js/modules/es.object.set-prototype-of.js"),require("core-js/modules/es.object.get-prototype-of.js"),require("core-js/modules/es.array.index-of.js"),require("core-js/modules/es.regexp.to-string.js"),require("core-js/modules/es.reflect.construct.js"),require("core-js/modules/es.map.js"),require("core-js/modules/esnext.map.delete-all.js"),require("core-js/modules/esnext.map.every.js"),require("core-js/modules/esnext.map.filter.js"),require("core-js/modules/esnext.map.find.js"),require("core-js/modules/esnext.map.find-key.js"),require("core-js/modules/esnext.map.includes.js"),require("core-js/modules/esnext.map.key-of.js"),require("core-js/modules/esnext.map.map-keys.js"),require("core-js/modules/esnext.map.map-values.js"),require("core-js/modules/esnext.map.merge.js"),require("core-js/modules/esnext.map.reduce.js"),require("core-js/modules/esnext.map.some.js"),require("core-js/modules/esnext.map.update.js");var k=function(e){!function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),r&&j(e,r)}(o,e);var r,t,n=(r=o,t=w(),function(){var e,n=g(r);if(t){var o=g(this).constructor;e=Reflect.construct(n,arguments,o)}else e=n.apply(this,arguments);return v(this,e)});function o(e){var r,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,o),r=n.call(this,e),Error.captureStackTrace&&Error.captureStackTrace(y(r),o),r.name=t.name||"CustomError",r}return o}(h(Error));const R=require("chalk");var C=t.n(R);function q(e){return q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},q(e)}console.log;var D=console.warn,O=console.error;"undefined"===("undefined"==typeof window?"undefined":q(window))&&(D=function(){return console.warn(C().yellow.apply(C(),arguments))},O=function(){return console.error(C().red.apply(C(),arguments))});var S=D,E=O;function P(e){return function(e){if(Array.isArray(e))return I(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return I(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?I(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function F(e,r,t,n,o,u,a){try{var c=e[u](a),i=c.value}catch(e){return void t(e)}c.done?r(i):Promise.resolve(i).then(n,o)}function T(e){return function(){var r=this,t=arguments;return new Promise((function(n,o){var u=e.apply(r,t);function a(e){F(u,n,o,a,c,"next",e)}function c(e){F(u,n,o,a,c,"throw",e)}a(void 0)}))}}var _=function(e){return!e||e.startsWith("/")?e:c().resolve(process.cwd(),e)},A=function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return!1;e=_(e);try{if(!p().existsSync(e)){if(!r)return!1;throw new k("File does not exist: ".concat(e))}}catch(t){if(!r)return!1;throw t instanceof k?t:new k("Error while accessing file: ".concat(e))}return!0},N=function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return!1;e=_(e);try{if(!p().existsSync(e)){if(!r)return!1;throw new k("Directory does not exist: ".concat(e))}}catch(t){if(!r)return!1;throw t instanceof k?t:new k("Error while accessing directory: ".concat(e))}return!0},M=function(){var e=T(regeneratorRuntime.mark((function e(r){var t,n,o=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=o.length>1&&void 0!==o[1]&&o[1],r){e.next=3;break}return e.abrupt("return",null);case 3:return r=_(r),n=null,e.prev=5,e.next=8,d().readFile(r,"utf8");case 8:n=e.sent,e.next=14;break;case 11:e.prev=11,e.t0=e.catch(5),t&&S("Cannot read file: ".concat(r));case 14:return e.abrupt("return",n);case 15:case"end":return e.stop()}}),e,null,[[5,11]])})));return function(r){return e.apply(this,arguments)}}(),G=function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return null;e=_(e);var t=null;try{t=p().readFileSync(e,"utf8")}catch(t){r&&S("Cannot read file: ".concat(e))}return t},B=function(){var e=T(regeneratorRuntime.mark((function e(r){var t,n,o,u=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=u.length>1&&void 0!==u[1]&&u[1],r){e.next=3;break}return e.abrupt("return",{dirs:null,files:null});case 3:return r=_(r),n=null,o=null,e.prev=6,e.next=9,d().readdir(r,{withFileTypes:!0});case 9:e.sent.forEach((function(e){e.isDirectory()?o?o.push(e.name):o=[e.name]:e.isFile()&&(n?n.push(e.name):n=[e.name])})),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(6),t&&S("Cannot read dir: ".concat(r));case 16:return e.abrupt("return",{dirs:o,files:n});case 17:case"end":return e.stop()}}),e,null,[[6,13]])})));return function(r){return e.apply(this,arguments)}}(),K=function(){var e=T(regeneratorRuntime.mark((function e(r){var t,n=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=n.length>1&&void 0!==n[1]&&n[1],r){e.next=3;break}return e.abrupt("return",null);case 3:return r=_(r),e.next=6,B(r,t);case 6:return e.abrupt("return",e.sent.files);case 7:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}(),z=function(){var e=T(regeneratorRuntime.mark((function e(r){var t,n=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=n.length>1&&void 0!==n[1]&&n[1],r){e.next=3;break}return e.abrupt("return",null);case 3:return r=_(r),e.next=6,B(r,t);case 6:return e.abrupt("return",e.sent.dirs);case 7:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}(),U=function(){var e=T(regeneratorRuntime.mark((function e(r){var t,n,o,u,a,c,i,s,l=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=l.length>1&&void 0!==l[1]?l[1]:"",r){e.next=3;break}return e.abrupt("return",null);case 3:return r=_(r),n=t?"".concat(r,"/").concat(t):r,e.next=7,B(n);case 7:return o=e.sent,u=o.dirs,a=o.files,c=(c=a||[]).map((function(e){return t?"".concat(t,"/").concat(e):e})),i=(u||[]).map((function(e){return t?"".concat(t,"/").concat(e):e})),s=i.map((function(e){return U(r,e)})),e.next=16,Promise.all(s);case 16:return e.sent.forEach((function(e){e&&(c=[].concat(P(c),P(e)))})),e.abrupt("return",c.length?c:null);case 19:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}(),H=function(e){return U(e)},W=function(){var e=T(regeneratorRuntime.mark((function e(r,t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r&&t){e.next=2;break}return e.abrupt("return",!1);case 2:return r=_(r),e.prev=3,n=r.substring(0,r.lastIndexOf("/")),e.next=7,d().mkdir(n,{recursive:!0});case 7:return e.next=9,d().writeFile(r,t);case 9:e.next=15;break;case 11:return e.prev=11,e.t0=e.catch(3),console.error("Error while writing to ".concat(r),e.t0),e.abrupt("return",!1);case 15:return e.abrupt("return",!0);case 16:case"end":return e.stop()}}),e,null,[[3,11]])})));return function(r,t){return e.apply(this,arguments)}}(),Q=function(){var e=T(regeneratorRuntime.mark((function e(r,t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r&&t){e.next=2;break}return e.abrupt("return",!1);case 2:return r=_(r),e.prev=3,n=r.substring(0,r.lastIndexOf("/")),e.next=7,d().mkdir(n,{recursive:!0});case 7:return e.next=9,d().appendFile(r,t+"\n");case 9:e.next=15;break;case 11:return e.prev=11,e.t0=e.catch(3),console.error("Error while appending to ".concat(r),e.t0),e.abrupt("return",!1);case 15:return e.abrupt("return",!0);case 16:case"end":return e.stop()}}),e,null,[[3,11]])})));return function(r,t){return e.apply(this,arguments)}}(),V=function(){var e=T(regeneratorRuntime.mark((function e(r,t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r&&t){e.next=2;break}return e.abrupt("return",!1);case 2:return r=_(r),t=_(t),e.prev=4,e.next=7,d().rename(r,t);case 7:e.next=13;break;case 9:return e.prev=9,e.t0=e.catch(4),console.error("Error while renaming file ".concat(r," to ").concat(t),e.t0),e.abrupt("return",!1);case 13:return e.abrupt("return",!0);case 14:case"end":return e.stop()}}),e,null,[[4,9]])})));return function(r,t){return e.apply(this,arguments)}}(),$=function(){var e=T(regeneratorRuntime.mark((function e(r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r){e.next=2;break}return e.abrupt("return",!1);case 2:if(r=_(r),e.prev=3,N(r)){e.next=7;break}return e.next=7,d().mkdir(r,{recursive:!0});case 7:e.next=13;break;case 9:return e.prev=9,e.t0=e.catch(3),console.error("Error while creating directory: ".concat(r),e.t0),e.abrupt("return",!1);case 13:return e.abrupt("return",!0);case 14:case"end":return e.stop()}}),e,null,[[3,9]])})));return function(r){return e.apply(this,arguments)}}(),J=function(){var e=T(regeneratorRuntime.mark((function e(r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r){e.next=2;break}return e.abrupt("return",!1);case 2:return r=_(r),e.prev=3,e.next=6,d().unlink(r);case 6:e.next=12;break;case 8:return e.prev=8,e.t0=e.catch(3),console.error("Error while deleting file ".concat(r),e.t0),e.abrupt("return",!1);case 12:return e.abrupt("return",!0);case 13:case"end":return e.stop()}}),e,null,[[3,8]])})));return function(r){return e.apply(this,arguments)}}(),L=function(){var e=T(regeneratorRuntime.mark((function e(r){var n,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r){e.next=2;break}return e.abrupt("return",!1);case 2:return r=_(r),e.prev=3,n=t(76),o=s().promisify(n),e.next=8,o(r);case 8:e.next=14;break;case 10:return e.prev=10,e.t0=e.catch(3),console.error("Error while deleting dir ".concat(r),e.t0),e.abrupt("return",!1);case 14:return e.abrupt("return",!0);case 15:case"end":return e.stop()}}),e,null,[[3,10]])})));return function(r){return e.apply(this,arguments)}}();require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),require("core-js/modules/es.object.get-own-property-descriptors.js");const X=require("@aws-sdk/client-dynamodb"),Y=require("@aws-sdk/lib-dynamodb"),Z=require("short-uuid");var ee=t.n(Z);const re={dbDocClient:null,id:null};function te(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function ne(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?te(Object(t),!0).forEach((function(r){oe(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):te(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function oe(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function ue(e,r,t,n,o,u,a){try{var c=e[u](a),i=c.value}catch(e){return void t(e)}c.done?r(i):Promise.resolve(i).then(n,o)}function ae(e){return function(){var r=this,t=arguments;return new Promise((function(n,o){var u=e.apply(r,t);function a(e){ue(u,n,o,a,c,"next",e)}function c(e){ue(u,n,o,a,c,"throw",e)}a(void 0)}))}}var ce=function(e){var r=new X.DynamoDBClient({region:e});return!re.dbDocClient&&(re.dbDocClient=Y.DynamoDBDocumentClient.from(r),re.id=ee().uuid(),!0)},ie=function(){return re.id},se=function(){if(!ie()){var e=process.env.AWS_REGION||"";if(!e||!ce(e))throw new k("Could not auto-initialize DynamoDB!",{name:"DynamoDBError"})}},le=function(){var e=ae(regeneratorRuntime.mark((function e(r,t,n,o){var u,a,c,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(re.dbDocClient||se(),re.dbDocClient){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t){e.next=5;break}return e.abrupt("return",null);case 5:return t[n]||(t[n]=ee().uuid()),u={TableName:r,Item:t,ConditionExpression:"attribute_not_exists(".concat(n,")")},a=new Y.PutCommand(u),c=3,e.prev=9,e.next=12,re.dbDocClient.send(a);case 12:e.next=26;break;case 14:if(e.prev=14,e.t0=e.catch(9),"ConditionalCheckFailedException"!==e.t0.name){e.next=25;break}if(!(o<c-1)){e.next=23;break}return t[n]=ee().uuid(),e.next=21,le(r,t,n,o+1);case 21:return i=e.sent,e.abrupt("return",i);case 23:console.error("PutCommandInput:",u),console.error("[ERROR] Maximum attempts overflow!");case 25:return e.abrupt("return",null);case 26:return e.abrupt("return",t);case 27:case"end":return e.stop()}}),e,null,[[9,14]])})));return function(r,t,n,o){return e.apply(this,arguments)}}(),pe=function(){var e=ae(regeneratorRuntime.mark((function e(r,t){var n,o=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=o.length>2&&void 0!==o[2]?o[2]:"id",e.abrupt("return",le(r,t,n,0));case 2:case"end":return e.stop()}}),e)})));return function(r,t){return e.apply(this,arguments)}}(),fe=function(){var e=ae(regeneratorRuntime.mark((function e(r,t){var n,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(re.dbDocClient||se(),re.dbDocClient){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t){e.next=5;break}return e.abrupt("return",null);case 5:return n={TableName:r,Item:t},o=new Y.PutCommand(n),e.prev=7,e.next=10,re.dbDocClient.send(o);case 10:e.next=17;break;case 12:return e.prev=12,e.t0=e.catch(7),console.error("PutCommandInput:",n),console.error(e.t0),e.abrupt("return",null);case 17:return e.abrupt("return",!0);case 18:case"end":return e.stop()}}),e,null,[[7,12]])})));return function(r,t){return e.apply(this,arguments)}}(),de=function(){var e=ae(regeneratorRuntime.mark((function e(r,t,n,o,u){var a,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(re.dbDocClient||se(),re.dbDocClient){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t&&n&&o){e.next=5;break}return e.abrupt("return",null);case 5:return a={TableName:r,Key:t,UpdateExpression:n,ExpressionAttributeValues:o},u&&(a=ne(ne({},a),{},{ExpressionAttributeNames:u})),c=new Y.UpdateCommand(a),e.prev=8,e.next=11,re.dbDocClient.send(c);case 11:e.next=18;break;case 13:return e.prev=13,e.t0=e.catch(8),console.error("UpdateCommandInput:",a),console.error(e.t0),e.abrupt("return",null);case 18:return e.abrupt("return",!0);case 19:case"end":return e.stop()}}),e,null,[[8,13]])})));return function(r,t,n,o,u){return e.apply(this,arguments)}}(),me=function(){var e=ae(regeneratorRuntime.mark((function e(r,t,n,o){var u,a,c,i,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(re.dbDocClient||se(),re.dbDocClient){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t){e.next=5;break}return e.abrupt("return",null);case 5:return u=null,a={TableName:r,Key:t},n&&(a=ne(ne({},a),{},{ProjectionExpression:n})),o&&(a=ne(ne({},a),{},{ExpressionAttributeNames:o})),c=new Y.GetCommand(a),e.prev=10,e.next=13,re.dbDocClient.send(c);case 13:i=e.sent,(s=i.Item)&&(u=s),e.next=22;break;case 18:e.prev=18,e.t0=e.catch(10),console.error("GetCommandInput:",a),console.error(e.t0);case 22:return e.abrupt("return",u);case 23:case"end":return e.stop()}}),e,null,[[10,18]])})));return function(r,t,n,o){return e.apply(this,arguments)}}(),be=function(){var e=ae(regeneratorRuntime.mark((function e(r,t,n,o){var u,a,c,i,s,l,p,f=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u=f.length>4&&void 0!==f[4]?f[4]:"",a=f.length>5&&void 0!==f[5]&&f[5],re.dbDocClient||se(),re.dbDocClient){e.next=5;break}return e.abrupt("return",null);case 5:if(r&&n&&o){e.next=7;break}return e.abrupt("return",null);case 7:return c=null,i={TableName:r,KeyConditionExpression:n,ExpressionAttributeValues:o},t&&(i=ne(ne({},i),{},{IndexName:t})),u&&(i=ne(ne({},i),{},{ProjectionExpression:u})),a&&(i=ne(ne({},i),{},{ScanIndexForward:!1})),s=new Y.QueryCommand(i),e.prev=13,e.next=16,re.dbDocClient.send(s);case 16:l=e.sent,(p=l.Items)&&(c=p),e.next=25;break;case 21:e.prev=21,e.t0=e.catch(13),console.error("QueryCommandInput:",s.input),console.error(e.t0);case 25:return e.abrupt("return",c);case 26:case"end":return e.stop()}}),e,null,[[13,21]])})));return function(r,t,n,o){return e.apply(this,arguments)}}(),ve=function(){var e=ae(regeneratorRuntime.mark((function e(r){var t,n,o,u,a,c,i=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=i.length>1&&void 0!==i[1]?i[1]:"",re.dbDocClient||se(),re.dbDocClient){e.next=4;break}return e.abrupt("return",null);case 4:if(r){e.next=6;break}return e.abrupt("return",null);case 6:return n=null,o={TableName:r},t&&(o=ne(ne({},o),{},{ProjectionExpression:t})),u=new Y.ScanCommand(o),e.prev=10,e.next=13,re.dbDocClient.send(u);case 13:a=e.sent,(c=a.Items)&&(n=c),e.next=22;break;case 18:e.prev=18,e.t0=e.catch(10),console.error("ScanCommandInput:",o),console.error(e.t0);case 22:return e.abrupt("return",n);case 23:case"end":return e.stop()}}),e,null,[[10,18]])})));return function(r){return e.apply(this,arguments)}}(),ye=function(){var e=ae(regeneratorRuntime.mark((function e(r,t){var n,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(re.dbDocClient||se(),re.dbDocClient){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t){e.next=5;break}return e.abrupt("return",null);case 5:return n={TableName:r,Key:t},o=new Y.DeleteCommand(n),e.prev=7,e.next=10,re.dbDocClient.send(o);case 10:e.next=17;break;case 12:return e.prev=12,e.t0=e.catch(7),console.error("DeleteCommandInput:",n),console.error(e.t0),e.abrupt("return",!1);case 17:return e.abrupt("return",!0);case 18:case"end":return e.stop()}}),e,null,[[7,12]])})));return function(r,t){return e.apply(this,arguments)}}(),he=ce,xe=ie,we=function(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},u=Object.keys(e);for(n=0;n<u.length;n++)t=u[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n<u.length;n++)t=u[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(r,["init","status"]),je=function(e){return e?he(e):(E("AWS initialization error! Missing region: ".concat(e)),!1)},ge=function(){return xe()};const ke=require("@octokit/core");function Re(e,r,t,n,o,u,a){try{var c=e[u](a),i=c.value}catch(e){return void t(e)}c.done?r(i):Promise.resolve(i).then(n,o)}var Ce=null,qe=null,De=function(){throw new k("GitHub SDK is possibly uninitialized!",{name:"GitHubError"})},Oe=function(e,r){e&&r?(Ce=new ke.Octokit({auth:e}),qe=r):E("GitHub initialization error! authToken: ".concat(!!e,", account: ").concat(!!r))},Se=function(){var e,r=(e=regeneratorRuntime.mark((function e(r,t){var n,o,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Ce&&qe){e.next=2;break}return e.abrupt("return",De());case 2:return e.prev=2,e.next=5,Ce.request("GET /repos/{owner}/{repo}/contents/{path}",{owner:qe,repo:r,path:t});case 5:return n=e.sent,o=n.data,u=n.headers,e.abrupt("return",{response:o,headers:u});case 11:e.prev=11,e.t0=e.catch(2),E("[ERROR:gh.getContent]",e.t0);case 14:return e.abrupt("return",null);case 15:case"end":return e.stop()}}),e,null,[[2,11]])})),function(){var r=this,t=arguments;return new Promise((function(n,o){var u=e.apply(r,t);function a(e){Re(u,n,o,a,c,"next",e)}function c(e){Re(u,n,o,a,c,"throw",e)}a(void 0)}))});return function(e,t){return r.apply(this,arguments)}}();const Ee={fs:e,aws:o,gh:u}})(),module.exports=n})();
1
+ (()=>{"use strict";var e={76:e=>{e.exports=require("rimraf")}},r={};function t(n){var u=r[n];if(void 0!==u)return u.exports;var a=r[n]={exports:{}};return e[n](a,a.exports,t),a.exports}t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},t.d=(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{t.r(n),t.d(n,{aws:()=>o,default:()=>hr,fs:()=>r,gh:()=>c,utils:()=>e});var e={};t.r(e),t.d(e,{assertPath:()=>C,fileHash:()=>A,sha1Hash:()=>q,sha256Hash:()=>P});var r={};t.r(r),t.d(r,{appendToFile:()=>ee,createDir:()=>te,deleteDir:()=>ue,deleteFile:()=>ne,existsDirSync:()=>z,existsFileSync:()=>L,readDir:()=>Q,readDirDirs:()=>$,readDirFiles:()=>Y,readDirFilesRec:()=>X,readFile:()=>U,readFileSync:()=>V,renameFile:()=>re,writeFile:()=>Z});var u={};t.r(u),t.d(u,{deleteItem:()=>De,deleteItemsAll:()=>Te,init:()=>xe,queryItems:()=>Ee,readItem:()=>Pe,readItemsAll:()=>Se,scanItems:()=>Ie,status:()=>ke,updateItem:()=>qe,writeItem:()=>Re,writeItemForce:()=>je,writeItemsAll:()=>Ce});var a={};t.r(a),t.d(a,{deleteObject:()=>tr,deleteObjectsAll:()=>ur,downloadFile:()=>Xe,getObject:()=>Je,getObjectHead:()=>er,getObjectHeadsAll:()=>rr,init:()=>ze,listObjects:()=>Ze,putObject:()=>Qe,status:()=>Ue,uploadFile:()=>Ye,uploadFilesAll:()=>$e});var o={};t.r(o),t.d(o,{db:()=>u,init:()=>sr,s3:()=>a,status:()=>lr});var c={};t.r(c),t.d(c,{getContent:()=>yr,init:()=>vr}),require("core-js/modules/es.array.for-each.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.string.starts-with.js"),require("core-js/modules/es.array.concat.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.array.last-index-of.js"),require("core-js/modules/es.symbol.js"),require("core-js/modules/es.symbol.description.js"),require("core-js/modules/es.symbol.iterator.js"),require("core-js/modules/es.array.from.js"),require("core-js/modules/es.array.slice.js"),require("regenerator-runtime/runtime.js");const i=require("util");var s=t.n(i);const l=require("fs");var p=t.n(l);const f=require("fs/promises");var b=t.n(f);const m=require("path");var d=t.n(m);const v=require("crypto");var y=t.n(v);const h=require("chalk");var x=t.n(h);function k(e){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},k(e)}console.log;var w=console.warn,g=console.error;"undefined"===("undefined"==typeof window?"undefined":k(window))&&(w=function(){return console.warn(x().yellow.apply(x(),arguments))},g=function(){return console.error(x().red.apply(x(),arguments))});var j=w,R=g;function O(e,r,t,n,u,a,o){try{var c=e[a](o),i=c.value}catch(e){return void t(e)}c.done?r(i):Promise.resolve(i).then(n,u)}var C=function(e){return!e||e.startsWith("/")?e:d().resolve(process.cwd(),e)},q=function(e){if(!e)return null;var r=y().createHash("sha1");return r.update(e),r.digest("hex")},P=function(e){if(!e)return null;var r=y().createHash("sha256");return r.update(e),r.digest("hex")},A=function(){var e,r=(e=regeneratorRuntime.mark((function e(r){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r){e.next=2;break}return e.abrupt("return",null);case 2:return t=null,e.prev=3,e.next=6,b().readFile(r);case 6:t=e.sent,e.next=13;break;case 9:return e.prev=9,e.t0=e.catch(3),R(e.t0),e.abrupt("return",null);case 13:return e.abrupt("return",P(t));case 14:case"end":return e.stop()}}),e,null,[[3,9]])})),function(){var r=this,t=arguments;return new Promise((function(n,u){var a=e.apply(r,t);function o(e){O(a,n,u,o,c,"next",e)}function c(e){O(a,n,u,o,c,"throw",e)}o(void 0)}))});return function(e){return r.apply(this,arguments)}}();function S(e){return S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},S(e)}function E(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function I(e,r){if(r&&("object"===S(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return D(e)}function D(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function B(e){var r="function"==typeof Map?new Map:void 0;return B=function(e){if(null===e||(t=e,-1===Function.toString.call(t).indexOf("[native code]")))return e;var t;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,n)}function n(){return T(e,arguments,K(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),N(n,e)},B(e)}function T(e,r,t){return T=F()?Reflect.construct:function(e,r,t){var n=[null];n.push.apply(n,r);var u=new(Function.bind.apply(e,n));return t&&N(u,t.prototype),u},T.apply(null,arguments)}function F(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function N(e,r){return N=Object.setPrototypeOf||function(e,r){return e.__proto__=r,e},N(e,r)}function K(e){return K=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},K(e)}require("core-js/modules/es.object.set-prototype-of.js"),require("core-js/modules/es.object.get-prototype-of.js"),require("core-js/modules/es.array.index-of.js"),require("core-js/modules/es.regexp.to-string.js"),require("core-js/modules/es.reflect.construct.js"),require("core-js/modules/es.map.js"),require("core-js/modules/esnext.map.delete-all.js"),require("core-js/modules/esnext.map.every.js"),require("core-js/modules/esnext.map.filter.js"),require("core-js/modules/esnext.map.find.js"),require("core-js/modules/esnext.map.find-key.js"),require("core-js/modules/esnext.map.includes.js"),require("core-js/modules/esnext.map.key-of.js"),require("core-js/modules/esnext.map.map-keys.js"),require("core-js/modules/esnext.map.map-values.js"),require("core-js/modules/esnext.map.merge.js"),require("core-js/modules/esnext.map.reduce.js"),require("core-js/modules/esnext.map.some.js"),require("core-js/modules/esnext.map.update.js");var _=function(e){!function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),r&&N(e,r)}(u,e);var r,t,n=(r=u,t=F(),function(){var e,n=K(r);if(t){var u=K(this).constructor;e=Reflect.construct(n,arguments,u)}else e=n.apply(this,arguments);return I(this,e)});function u(e){var r,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return E(this,u),r=n.call(this,e),Error.captureStackTrace&&Error.captureStackTrace(D(r),u),r.name=t.name||"CustomError",r}return u}(B(Error));function G(e){return function(e){if(Array.isArray(e))return W(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return W(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?W(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function W(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function M(e,r,t,n,u,a,o){try{var c=e[a](o),i=c.value}catch(e){return void t(e)}c.done?r(i):Promise.resolve(i).then(n,u)}function H(e){return function(){var r=this,t=arguments;return new Promise((function(n,u){var a=e.apply(r,t);function o(e){M(a,n,u,o,c,"next",e)}function c(e){M(a,n,u,o,c,"throw",e)}o(void 0)}))}}var L=function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return null;e=C(e);try{if(!p().existsSync(e)){if(!r)return!1;throw new _("File does not exist: ".concat(e))}}catch(t){if(!r)return null;throw t instanceof _?t:new _("Error while accessing file: ".concat(e))}return!0},z=function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return null;e=C(e);try{if(!p().existsSync(e)){if(!r)return!1;throw new _("Directory does not exist: ".concat(e))}}catch(t){if(!r)return null;throw t instanceof _?t:new _("Error while accessing directory: ".concat(e))}return!0},U=function(){var e=H(regeneratorRuntime.mark((function e(r){var t,n,u=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=u.length>1&&void 0!==u[1]&&u[1],r){e.next=3;break}return e.abrupt("return",null);case 3:return r=C(r),n=null,e.prev=5,e.next=8,b().readFile(r,"utf8");case 8:n=e.sent,e.next=14;break;case 11:e.prev=11,e.t0=e.catch(5),t&&j("Cannot read file: ".concat(r));case 14:return e.abrupt("return",n);case 15:case"end":return e.stop()}}),e,null,[[5,11]])})));return function(r){return e.apply(this,arguments)}}(),V=function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e)return null;e=C(e);var t=null;try{t=p().readFileSync(e,"utf8")}catch(t){r&&j("Cannot read file: ".concat(e))}return t},Q=function(){var e=H(regeneratorRuntime.mark((function e(r){var t,n,u,a,o=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=o.length>1&&void 0!==o[1]&&o[1],n=o.length>2&&void 0!==o[2]&&o[2],r){e.next=4;break}return e.abrupt("return",null);case 4:return r=C(r),u=[],a=[],e.prev=7,e.next=10,b().readdir(r,{withFileTypes:!0});case 10:e.sent.forEach((function(e){e.isDirectory()?u.push(e.name):e.isFile()&&a.push(e.name)})),e.next=18;break;case 14:return e.prev=14,e.t0=e.catch(7),t&&j("Cannot read dir: ".concat(r)),e.abrupt("return",null);case 18:return n||(u=u.filter((function(e){return!e.startsWith(".")})),a=a.filter((function(e){return!e.startsWith(".")}))),e.abrupt("return",{dirs:u,files:a});case 20:case"end":return e.stop()}}),e,null,[[7,14]])})));return function(r){return e.apply(this,arguments)}}(),Y=function(){var e=H(regeneratorRuntime.mark((function e(r){var t,n,u,a=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=a.length>1&&void 0!==a[1]&&a[1],u=a.length>2&&void 0!==a[2]&&a[2],r){e.next=4;break}return e.abrupt("return",null);case 4:return r=C(r),e.next=7,Q(r,n,u);case 7:if(e.t1=t=e.sent,e.t0=null===e.t1,e.t0){e.next=11;break}e.t0=void 0===t;case 11:if(!e.t0){e.next=15;break}e.t2=void 0,e.next=16;break;case 15:e.t2=t.files;case 16:return e.abrupt("return",e.t2);case 17:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}(),$=function(){var e=H(regeneratorRuntime.mark((function e(r){var t,n,u,a=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=a.length>1&&void 0!==a[1]&&a[1],u=a.length>2&&void 0!==a[2]&&a[2],r){e.next=4;break}return e.abrupt("return",null);case 4:return r=C(r),e.next=7,Q(r,n,u);case 7:if(e.t1=t=e.sent,e.t0=null===e.t1,e.t0){e.next=11;break}e.t0=void 0===t;case 11:if(!e.t0){e.next=15;break}e.t2=void 0,e.next=16;break;case 15:e.t2=t.dirs;case 16:return e.abrupt("return",e.t2);case 17:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}(),J=function(){var e=H(regeneratorRuntime.mark((function e(r){var t,n,u,a,o,c,i,s,l=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=l.length>1&&void 0!==l[1]?l[1]:"",r){e.next=3;break}return e.abrupt("return",null);case 3:return r=C(r),n=t?"".concat(r,"/").concat(t):r,e.next=7,Q(n);case 7:if(u=e.sent){e.next=10;break}return e.abrupt("return",null);case 10:return a=u.dirs,o=u.files,c=(c=o||[]).map((function(e){return t?"".concat(t,"/").concat(e):e})),i=(a||[]).map((function(e){return t?"".concat(t,"/").concat(e):e})),s=i.map((function(e){return J(r,e)})),e.next=17,Promise.all(s);case 17:return e.sent.forEach((function(e){e&&(c=[].concat(G(c),G(e)))})),e.abrupt("return",c);case 20:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}(),X=function(){var e=H(regeneratorRuntime.mark((function e(r){var t,n,u=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=u.length>1&&void 0!==u[1]&&u[1],e.next=3,J(r);case 3:return n=e.sent,t||n&&(n=n.filter((function(e){return!e.startsWith(".")}))),e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}(),Z=function(){var e=H(regeneratorRuntime.mark((function e(r,t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r&&t){e.next=2;break}return e.abrupt("return",null);case 2:return r=C(r),e.prev=3,n=r.substring(0,r.lastIndexOf("/")),e.next=7,b().mkdir(n,{recursive:!0});case 7:return e.next=9,b().writeFile(r,t);case 9:e.next=15;break;case 11:return e.prev=11,e.t0=e.catch(3),console.error("Error while writing to ".concat(r),e.t0),e.abrupt("return",null);case 15:return e.abrupt("return",!0);case 16:case"end":return e.stop()}}),e,null,[[3,11]])})));return function(r,t){return e.apply(this,arguments)}}(),ee=function(){var e=H(regeneratorRuntime.mark((function e(r,t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r&&t){e.next=2;break}return e.abrupt("return",null);case 2:return r=C(r),e.prev=3,n=r.substring(0,r.lastIndexOf("/")),e.next=7,b().mkdir(n,{recursive:!0});case 7:return e.next=9,b().appendFile(r,t+"\n");case 9:e.next=15;break;case 11:return e.prev=11,e.t0=e.catch(3),console.error("Error while appending to ".concat(r),e.t0),e.abrupt("return",null);case 15:return e.abrupt("return",!0);case 16:case"end":return e.stop()}}),e,null,[[3,11]])})));return function(r,t){return e.apply(this,arguments)}}(),re=function(){var e=H(regeneratorRuntime.mark((function e(r,t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r&&t){e.next=2;break}return e.abrupt("return",null);case 2:return r=C(r),t=C(t),e.prev=4,e.next=7,b().rename(r,t);case 7:e.next=13;break;case 9:return e.prev=9,e.t0=e.catch(4),console.error("Error while renaming file ".concat(r," to ").concat(t),e.t0),e.abrupt("return",null);case 13:return e.abrupt("return",!0);case 14:case"end":return e.stop()}}),e,null,[[4,9]])})));return function(r,t){return e.apply(this,arguments)}}(),te=function(){var e=H(regeneratorRuntime.mark((function e(r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r){e.next=2;break}return e.abrupt("return",null);case 2:if(r=C(r),e.prev=3,z(r)){e.next=7;break}return e.next=7,b().mkdir(r,{recursive:!0});case 7:e.next=13;break;case 9:return e.prev=9,e.t0=e.catch(3),console.error("Error while creating directory: ".concat(r),e.t0),e.abrupt("return",null);case 13:return e.abrupt("return",!0);case 14:case"end":return e.stop()}}),e,null,[[3,9]])})));return function(r){return e.apply(this,arguments)}}(),ne=function(){var e=H(regeneratorRuntime.mark((function e(r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r){e.next=2;break}return e.abrupt("return",null);case 2:return r=C(r),e.prev=3,e.next=6,b().unlink(r);case 6:e.next=12;break;case 8:return e.prev=8,e.t0=e.catch(3),console.error("Error while deleting file ".concat(r),e.t0),e.abrupt("return",null);case 12:return e.abrupt("return",!0);case 13:case"end":return e.stop()}}),e,null,[[3,8]])})));return function(r){return e.apply(this,arguments)}}(),ue=function(){var e=H(regeneratorRuntime.mark((function e(r){var n,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r){e.next=2;break}return e.abrupt("return",null);case 2:return r=C(r),e.prev=3,n=t(76),u=s().promisify(n),e.next=8,u(r);case 8:e.next=14;break;case 10:return e.prev=10,e.t0=e.catch(3),console.error("Error while deleting dir ".concat(r),e.t0),e.abrupt("return",null);case 14:return e.abrupt("return",!0);case 15:case"end":return e.stop()}}),e,null,[[3,10]])})));return function(r){return e.apply(this,arguments)}}();require("core-js/modules/es.array.every.js"),require("core-js/modules/es.array.flat.js"),require("core-js/modules/es.array.find.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),require("core-js/modules/es.object.get-own-property-descriptors.js");const ae=require("@aws-sdk/client-dynamodb"),oe=require("@aws-sdk/lib-dynamodb"),ce=require("short-uuid");var ie=t.n(ce);const se=require("@baadal-sdk/utils");var le={client:null,id:null},pe={client:null,id:null},fe=10;function be(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function me(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?be(Object(t),!0).forEach((function(r){de(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):be(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function de(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function ve(e,r,t,n,u,a,o){try{var c=e[a](o),i=c.value}catch(e){return void t(e)}c.done?r(i):Promise.resolve(i).then(n,u)}function ye(e){return function(){var r=this,t=arguments;return new Promise((function(n,u){var a=e.apply(r,t);function o(e){ve(a,n,u,o,c,"next",e)}function c(e){ve(a,n,u,o,c,"throw",e)}o(void 0)}))}}var he=function(e){return new _(e,{name:"DynamoDBError"})},xe=function(e){if(!le.client){var r=new ae.DynamoDBClient({region:e});return le.client=oe.DynamoDBDocumentClient.from(r),le.id=ie().uuid(),!0}return!1},ke=function(){return le.id},we=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!le.client){var r=process.env.AWS_REGION||"";if(!(r&&xe(r)||e))throw he("Could not auto-initialize DynamoDB!")}};we(!0);var ge=function(){var e=ye(regeneratorRuntime.mark((function e(r,t,n,u){var a,o,c,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(le.client||we(),le.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t){e.next=5;break}return e.abrupt("return",null);case 5:return t[n]||(t[n]=ie().uuid()),a={TableName:r,Item:t,ConditionExpression:"attribute_not_exists(".concat(n,")")},o=new oe.PutCommand(a),c=3,e.prev=9,e.next=12,le.client.send(o);case 12:e.next=26;break;case 14:if(e.prev=14,e.t0=e.catch(9),"ConditionalCheckFailedException"!==e.t0.name){e.next=25;break}if(!(u<c-1)){e.next=23;break}return t[n]=ie().uuid(),e.next=21,ge(r,t,n,u+1);case 21:return i=e.sent,e.abrupt("return",i);case 23:console.error("PutCommandInput:",a),R("[ERROR] Maximum attempts overflow!");case 25:return e.abrupt("return",null);case 26:return e.abrupt("return",t);case 27:case"end":return e.stop()}}),e,null,[[9,14]])})));return function(r,t,n,u){return e.apply(this,arguments)}}(),je=function(){var e=ye(regeneratorRuntime.mark((function e(r){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.key||"id",e.abrupt("return",ge(r.table,r.item,t,0));case 2:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}(),Re=function(){var e=ye(regeneratorRuntime.mark((function e(r){var t,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(le.client||we(),le.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r.table&&r.item){e.next=5;break}return e.abrupt("return",null);case 5:return t={TableName:r.table,Item:r.item},n=new oe.PutCommand(t),e.prev=7,e.next=10,le.client.send(n);case 10:e.next=17;break;case 12:return e.prev=12,e.t0=e.catch(7),console.error("PutCommandInput:",t),console.error(e.t0),e.abrupt("return",null);case 17:return e.abrupt("return",!0);case 18:case"end":return e.stop()}}),e,null,[[7,12]])})));return function(r){return e.apply(this,arguments)}}(),Oe=function(){var e=ye(regeneratorRuntime.mark((function e(r,t){var n,u,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(le.client||we(),le.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t&&Array.isArray(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(t.length){e.next=7;break}return e.abrupt("return",!1);case 7:return n=t.map((function(e){return{PutRequest:{Item:e}}})),u={RequestItems:de({},r,n)},a=new oe.BatchWriteCommand(u),e.prev=10,e.next=13,le.client.send(a);case 13:e.next=20;break;case 15:return e.prev=15,e.t0=e.catch(10),console.error("BatchWriteCommandInput:",u),console.error(e.t0),e.abrupt("return",null);case 20:return e.abrupt("return",!0);case 21:case"end":return e.stop()}}),e,null,[[10,15]])})));return function(r,t){return e.apply(this,arguments)}}(),Ce=function(){var e=ye(regeneratorRuntime.mark((function e(r){var t,n,u,a,o,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(le.client||we(),le.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r.table&&r.items&&Array.isArray(r.items)){e.next=5;break}return e.abrupt("return",null);case 5:if(r.items.length){e.next=7;break}return e.abrupt("return",!1);case 7:t=!1,n=(0,se.chunkifyArray)(r.items,20),u=(0,se.chunkifyArray)(n,fe),a=0;case 11:if(!(a<u.length)){e.next=22;break}return o=u[a],c=o.map((function(e){return Oe(r.table,e)})),e.next=16,Promise.all(c);case 16:e.sent.every((function(e){return!0===e}))||(t=!0);case 19:a+=1,e.next=11;break;case 22:return e.abrupt("return",!t||null);case 23:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}(),qe=function(){var e=ye(regeneratorRuntime.mark((function e(r){var t,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(le.client||we(),le.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r.table&&r.key&&r.update&&r.attr){e.next=5;break}return e.abrupt("return",null);case 5:return t={TableName:r.table,Key:r.key,UpdateExpression:r.update,ExpressionAttributeValues:r.attr},r.attrNames&&(t=me(me({},t),{},{ExpressionAttributeNames:r.attrNames})),n=new oe.UpdateCommand(t),e.prev=8,e.next=11,le.client.send(n);case 11:e.next=18;break;case 13:return e.prev=13,e.t0=e.catch(8),console.error("UpdateCommandInput:",t),console.error(e.t0),e.abrupt("return",null);case 18:return e.abrupt("return",!0);case 19:case"end":return e.stop()}}),e,null,[[8,13]])})));return function(r){return e.apply(this,arguments)}}(),Pe=function(){var e=ye(regeneratorRuntime.mark((function e(r){var t,n,u,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(le.client||we(),le.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r.table&&r.key){e.next=5;break}return e.abrupt("return",null);case 5:return t=null,n={TableName:r.table,Key:r.key},r.projection&&(n=me(me({},n),{},{ProjectionExpression:r.projection})),r.attrNames&&(n=me(me({},n),{},{ExpressionAttributeNames:r.attrNames})),u=new oe.GetCommand(n),e.prev=10,e.next=13,le.client.send(u);case 13:a=e.sent,(o=a.Item)&&(t=o),e.next=23;break;case 18:return e.prev=18,e.t0=e.catch(10),console.error("GetCommandInput:",n),console.error(e.t0),e.abrupt("return",null);case 23:return e.abrupt("return",t);case 24:case"end":return e.stop()}}),e,null,[[10,18]])})));return function(r){return e.apply(this,arguments)}}(),Ae=function(){var e=ye(regeneratorRuntime.mark((function e(r,t,n,u){var a,o,c,i,s,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(le.client||we(),le.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t&&Array.isArray(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(t.length){e.next=7;break}return e.abrupt("return",[]);case 7:return a=[],o={Keys:t},n&&(o=me(me({},o),{},{ProjectionExpression:n})),u&&(o=me(me({},o),{},{ExpressionAttributeNames:u})),c={RequestItems:de({},r,o)},i=new oe.BatchGetCommand(c),e.prev=13,e.next=16,le.client.send(i);case 16:s=e.sent,(l=s.Responses)&&l[r]&&(a=l[r]),e.next=26;break;case 21:return e.prev=21,e.t0=e.catch(13),console.error("BatchGetCommandInput:",c),console.error(e.t0),e.abrupt("return",null);case 26:return e.abrupt("return",a);case 27:case"end":return e.stop()}}),e,null,[[13,21]])})));return function(r,t,n,u){return e.apply(this,arguments)}}(),Se=function(){var e=ye(regeneratorRuntime.mark((function e(r){var t,n,u,a,o,c,i,s,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(le.client||we(),le.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r.table&&r.keys&&Array.isArray(r.keys)){e.next=5;break}return e.abrupt("return",null);case 5:if(r.keys.length){e.next=7;break}return e.abrupt("return",[]);case 7:t=[],n=!1,u=(0,se.chunkifyArray)(r.keys,20),a=(0,se.chunkifyArray)(u,fe),o=0;case 12:if(!(o<a.length)){e.next=27;break}return c=a[o],i=c.map((function(e){return Ae(r.table,e,r.projection,r.attrNames)})),e.next=17,Promise.all(i);case 17:if(s=e.sent,null!==(l=s.flat()).find((function(e){return null===e}))){e.next=23;break}return n=!0,e.abrupt("return",null);case 23:n||(t=t.concat(l));case 24:o+=1,e.next=12;break;case 27:return e.abrupt("return",t);case 28:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}(),Ee=function(){var e=ye(regeneratorRuntime.mark((function e(r){var t,n,u,a,o,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(le.client||we(),le.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r.table&&r.cond&&r.attr){e.next=5;break}return e.abrupt("return",null);case 5:return t=[],n=r.desc||!1,u={TableName:r.table,KeyConditionExpression:r.cond,ExpressionAttributeValues:r.attr},r.indexName&&(u=me(me({},u),{},{IndexName:r.indexName})),r.attrNames&&(u=me(me({},u),{},{ExpressionAttributeNames:r.attrNames})),r.projection&&(u=me(me({},u),{},{ProjectionExpression:r.projection})),n&&(u=me(me({},u),{},{ScanIndexForward:!1})),a=new oe.QueryCommand(u),e.prev=13,e.next=16,le.client.send(a);case 16:o=e.sent,(c=o.Items)&&(t=c),e.next=26;break;case 21:return e.prev=21,e.t0=e.catch(13),console.error("QueryCommandInput:",a.input),console.error(e.t0),e.abrupt("return",null);case 26:return e.abrupt("return",t);case 27:case"end":return e.stop()}}),e,null,[[13,21]])})));return function(r){return e.apply(this,arguments)}}(),Ie=function(){var e=ye(regeneratorRuntime.mark((function e(r){var t,n,u,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(le.client||we(),le.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r.table){e.next=5;break}return e.abrupt("return",null);case 5:return t=[],n={TableName:r.table},r.projection&&(n=me(me({},n),{},{ProjectionExpression:r.projection})),u=new oe.ScanCommand(n),e.prev=9,e.next=12,le.client.send(u);case 12:a=e.sent,o=a.Items,a.LastEvaluatedKey&&j("[scanItems] Partial results obtained! Consider pagination."),o&&(t=o),e.next=23;break;case 18:return e.prev=18,e.t0=e.catch(9),console.error("ScanCommandInput:",n),console.error(e.t0),e.abrupt("return",null);case 23:return e.abrupt("return",t);case 24:case"end":return e.stop()}}),e,null,[[9,18]])})));return function(r){return e.apply(this,arguments)}}(),De=function(){var e=ye(regeneratorRuntime.mark((function e(r){var t,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(le.client||we(),le.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r.table&&r.key){e.next=5;break}return e.abrupt("return",null);case 5:return t={TableName:r.table,Key:r.key},n=new oe.DeleteCommand(t),e.prev=7,e.next=10,le.client.send(n);case 10:e.next=17;break;case 12:return e.prev=12,e.t0=e.catch(7),console.error("DeleteCommandInput:",t),console.error(e.t0),e.abrupt("return",null);case 17:return e.abrupt("return",!0);case 18:case"end":return e.stop()}}),e,null,[[7,12]])})));return function(r){return e.apply(this,arguments)}}(),Be=function(){var e=ye(regeneratorRuntime.mark((function e(r,t){var n,u,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(le.client||we(),le.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t&&Array.isArray(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(t.length){e.next=7;break}return e.abrupt("return",!1);case 7:return n=t.map((function(e){return{DeleteRequest:{Key:e}}})),u={RequestItems:de({},r,n)},a=new oe.BatchWriteCommand(u),e.prev=10,e.next=13,le.client.send(a);case 13:e.next=20;break;case 15:return e.prev=15,e.t0=e.catch(10),console.error("BatchWriteCommandInput:",u),console.error(e.t0),e.abrupt("return",null);case 20:return e.abrupt("return",!0);case 21:case"end":return e.stop()}}),e,null,[[10,15]])})));return function(r,t){return e.apply(this,arguments)}}(),Te=function(){var e=ye(regeneratorRuntime.mark((function e(r){var t,n,u,a,o,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(le.client||we(),le.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r.table&&r.keys&&Array.isArray(r.keys)){e.next=5;break}return e.abrupt("return",null);case 5:if(r.keys.length){e.next=7;break}return e.abrupt("return",!1);case 7:t=!1,n=(0,se.chunkifyArray)(r.keys,20),u=(0,se.chunkifyArray)(n,fe),a=0;case 11:if(!(a<u.length)){e.next=22;break}return o=u[a],c=o.map((function(e){return Be(r.table,e)})),e.next=16,Promise.all(c);case 16:e.sent.every((function(e){return!0===e}))||(t=!0);case 19:a+=1,e.next=11;break;case 22:return e.abrupt("return",!t||null);case 23:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}();const Fe=require("@aws-sdk/client-s3"),Ne=require("mime-types");var Ke=t.n(Ne);function _e(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function Ge(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?_e(Object(t),!0).forEach((function(r){We(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):_e(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function We(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function Me(e,r,t,n,u,a,o){try{var c=e[a](o),i=c.value}catch(e){return void t(e)}c.done?r(i):Promise.resolve(i).then(n,u)}function He(e){return function(){var r=this,t=arguments;return new Promise((function(n,u){var a=e.apply(r,t);function o(e){Me(a,n,u,o,c,"next",e)}function c(e){Me(a,n,u,o,c,"throw",e)}o(void 0)}))}}var Le=function(e){return new _(e,{name:"AWSS3Error"})},ze=function(e){if(!pe.client){var r=new Fe.S3Client({region:e});return pe.client=r,pe.id=ie().uuid(),!0}return!1},Ue=function(){return pe.id},Ve=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!pe.client){var r=process.env.AWS_REGION||"";if(!(r&&ze(r)||e))throw Le("Could not auto-initialize AWS S3!")}};Ve(!0);var Qe=function(){var e=He(regeneratorRuntime.mark((function e(r,t,n){var u,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(pe.client||Ve(),pe.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t&&n){e.next=5;break}return e.abrupt("return",null);case 5:return u=null,e.prev=6,a=Ge(Ge({},u={Bucket:r,Key:t,Body:"<contents>",ContentType:"text/plain; charset=utf-8",ACL:"public-read"}),{},{Body:n}),o=new Fe.PutObjectCommand(a),e.next=12,pe.client.send(o);case 12:e.next=19;break;case 14:return e.prev=14,e.t0=e.catch(6),console.error("PutObjectCommandInput:",u),console.error(e.t0),e.abrupt("return",null);case 19:return e.abrupt("return",!0);case 20:case"end":return e.stop()}}),e,null,[[6,14]])})));return function(r,t,n){return e.apply(this,arguments)}}(),Ye=function(){var e=He(regeneratorRuntime.mark((function e(r,t,n){var u,a,o,c,i,s,l,f,b;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(pe.client||Ve(),pe.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t){e.next=5;break}return e.abrupt("return",null);case 5:if(u=C(t),a=d().basename(u),o=a.substr(a.lastIndexOf(".")),c=Ke().lookup(o)){e.next=12;break}return R("Could not detect file type for: ".concat(a," [").concat(u,"]")),e.abrupt("return",null);case 12:return n||(n=t!==u?t:a),i=null,e.prev=14,e.next=17,A(u);case 17:if(e.t0=e.sent,e.t0){e.next=20;break}e.t0="";case 20:return s=e.t0,l=p().createReadStream(u),f=Ge(Ge({},i={Bucket:r,Key:n,Body:"<fileStream>",ContentType:c,ACL:"public-read",Metadata:{hash:s}}),{},{Body:l}),b=new Fe.PutObjectCommand(f),e.next=27,pe.client.send(b);case 27:e.next=34;break;case 29:return e.prev=29,e.t1=e.catch(14),console.error("PutObjectCommandInput:",i),console.error(e.t1),e.abrupt("return",null);case 34:return e.abrupt("return",!0);case 35:case"end":return e.stop()}}),e,null,[[14,29]])})));return function(r,t,n){return e.apply(this,arguments)}}(),$e=function(){var e=He(regeneratorRuntime.mark((function e(r,t,n){var u,a,o,c,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(pe.client||Ve(),pe.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t&&Array.isArray(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(t.length){e.next=7;break}return e.abrupt("return",!1);case 7:if(!n||Array.isArray(n)&&n.length&&t.length===n.length){e.next=9;break}return e.abrupt("return",null);case 9:u=!1,a=(0,se.chunkifyArray)(t,fe),o=n?(0,se.chunkifyArray)(n,fe):a,c=regeneratorRuntime.mark((function e(t){var n,c,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=a[t],c=o[t],i=n.map((function(e,t){return Ye(r,e,c[t])})),e.next=5,Promise.all(i);case 5:e.sent.every((function(e){return!0===e}))||(u=!0);case 8:case"end":return e.stop()}}),e)})),i=0;case 14:if(!(i<a.length)){e.next=19;break}return e.delegateYield(c(i),"t0",16);case 16:i+=1,e.next=14;break;case 19:return e.abrupt("return",!u||null);case 20:case"end":return e.stop()}}),e)})));return function(r,t,n){return e.apply(this,arguments)}}(),Je=function(){var e=He(regeneratorRuntime.mark((function e(r,t){var n,u,a,o,c,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(pe.client||Ve(),pe.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t){e.next=5;break}return e.abrupt("return",null);case 5:return n=null,u={Bucket:r,Key:t},a=new Fe.GetObjectCommand(u),e.prev=8,o=function(e){return new Promise((function(r,t){var n=[];e.on("data",(function(e){return n.push(e)})),e.on("error",t),e.on("end",(function(){return r(Buffer.concat(n).toString("utf8"))}))}))},e.next=12,pe.client.send(a);case 12:return c=e.sent,e.next=15,o(c.Body);case 15:(i=e.sent)&&(n=i),e.next=24;break;case 19:return e.prev=19,e.t0=e.catch(8),console.error("GetObjectCommandInput:",u),console.error(e.t0),e.abrupt("return",null);case 24:return e.abrupt("return",n);case 25:case"end":return e.stop()}}),e,null,[[8,19]])})));return function(r,t){return e.apply(this,arguments)}}(),Xe=function(){var e=He(regeneratorRuntime.mark((function e(r,t,n){var u,a,o,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(pe.client||Ve(),pe.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t){e.next=5;break}return e.abrupt("return",null);case 5:return n||(n=t),n=C(n),u={Bucket:r,Key:t},a=new Fe.GetObjectCommand(u),e.prev=9,o=function(e){return new Promise((function(r,t){var u=p().createWriteStream(n);e.on("data",(function(e){return u.write(e)})),e.on("error",t),e.on("end",(function(){return r(u.close())}))}))},e.next=13,pe.client.send(a);case 13:return c=e.sent,e.next=16,o(c.Body);case 16:e.next=22;break;case 18:return e.prev=18,e.t0=e.catch(9),"NoSuchKey"!==e.t0.name&&(console.error("GetObjectCommandInput:",u),console.error(e.t0)),e.abrupt("return",null);case 22:return e.abrupt("return",!0);case 23:case"end":return e.stop()}}),e,null,[[9,18]])})));return function(r,t,n){return e.apply(this,arguments)}}(),Ze=function(){var e=He(regeneratorRuntime.mark((function e(r,t){var n,u,a,o,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(pe.client||Ve(),pe.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r){e.next=5;break}return e.abrupt("return",null);case 5:return n=[],u={Bucket:r},t&&(u=Ge(Ge({},u),{},{Prefix:t})),a=new Fe.ListObjectsV2Command(u),e.prev=9,e.next=12,pe.client.send(a);case 12:o=e.sent,c=o.Contents,o.IsTruncated&&j("[listObjects] Partial results obtained! Consider pagination."),c&&(n=c.map((function(e){return e.Key})).filter((function(e){return!!e}))),e.next=23;break;case 18:return e.prev=18,e.t0=e.catch(9),console.error("ListObjectsV2CommandInput:",u),console.error(e.t0),e.abrupt("return",null);case 23:return e.abrupt("return",n);case 24:case"end":return e.stop()}}),e,null,[[9,18]])})));return function(r,t){return e.apply(this,arguments)}}(),er=function(){var e=He(regeneratorRuntime.mark((function e(r,t){var n,u,a,o,c,i,s,l,p,f,b;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(pe.client||Ve(),pe.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t){e.next=5;break}return e.abrupt("return",null);case 5:return n=null,u={Bucket:r,Key:t},a=new Fe.HeadObjectCommand(u),e.prev=8,e.next=11,pe.client.send(a);case 11:(o=e.sent)&&(c=o.ContentLength,i=o.ContentType,s=o.ETag,l=o.CacheControl,p=o.Expires,f=o.LastModified,b=o.Metadata,n={Key:t,ContentLength:c,ContentType:i,ETag:s,CacheControl:l,Expires:p,LastModified:f,Metadata:b}),e.next=19;break;case 15:return e.prev=15,e.t0=e.catch(8),"NotFound"!==e.t0.name&&(console.error("HeadObjectCommandInput:",u),console.error(e.t0)),e.abrupt("return",null);case 19:return e.abrupt("return",n);case 20:case"end":return e.stop()}}),e,null,[[8,15]])})));return function(r,t){return e.apply(this,arguments)}}(),rr=function(){var e=He(regeneratorRuntime.mark((function e(r,t){var n,u,a,o,c,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(pe.client||Ve(),pe.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t&&Array.isArray(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(t.length){e.next=7;break}return e.abrupt("return",[]);case 7:n=[],u=(0,se.chunkifyArray)(t,fe),a=0;case 10:if(!(a<u.length)){e.next=20;break}return o=u[a],c=o.map((function(e){return er(r,e)})),e.next=15,Promise.all(c);case 15:i=e.sent,n=n.concat(i);case 17:a+=1,e.next=10;break;case 20:return n.length&&(n=n.filter((function(e){return!!e}))),e.abrupt("return",n);case 22:case"end":return e.stop()}}),e)})));return function(r,t){return e.apply(this,arguments)}}(),tr=function(){var e=He(regeneratorRuntime.mark((function e(r,t){var n,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(pe.client||Ve(),pe.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t){e.next=5;break}return e.abrupt("return",null);case 5:return n={Bucket:r,Key:t},u=new Fe.DeleteObjectCommand(n),e.prev=7,e.next=10,pe.client.send(u);case 10:e.next=17;break;case 12:return e.prev=12,e.t0=e.catch(7),console.error("DeleteObjectCommandInput:",n),console.error(e.t0),e.abrupt("return",null);case 17:return e.abrupt("return",!0);case 18:case"end":return e.stop()}}),e,null,[[7,12]])})));return function(r,t){return e.apply(this,arguments)}}(),nr=function(){var e=He(regeneratorRuntime.mark((function e(r,t){var n,u,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(pe.client||Ve(),pe.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t&&Array.isArray(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(t.length){e.next=7;break}return e.abrupt("return",!1);case 7:return n=t.map((function(e){return{Key:e}})),u={Bucket:r,Delete:{Objects:n}},a=new Fe.DeleteObjectsCommand(u),e.prev=10,e.next=13,pe.client.send(a);case 13:e.next=20;break;case 15:return e.prev=15,e.t0=e.catch(10),console.error("DeleteObjectsCommandInput:",u),console.error(e.t0),e.abrupt("return",null);case 20:return e.abrupt("return",!0);case 21:case"end":return e.stop()}}),e,null,[[10,15]])})));return function(r,t){return e.apply(this,arguments)}}(),ur=function(){var e=He(regeneratorRuntime.mark((function e(r,t){var n,u,a,o,c,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(pe.client||Ve(),pe.client){e.next=3;break}return e.abrupt("return",null);case 3:if(r&&t&&Array.isArray(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(t.length){e.next=7;break}return e.abrupt("return",!1);case 7:n=!1,u=(0,se.chunkifyArray)(t,20),a=(0,se.chunkifyArray)(u,fe),o=0;case 11:if(!(o<a.length)){e.next=22;break}return c=a[o],i=c.map((function(e){return nr(r,e)})),e.next=16,Promise.all(i);case 16:e.sent.every((function(e){return!0===e}))||(n=!0);case 19:o+=1,e.next=11;break;case 22:return e.abrupt("return",!n||null);case 23:case"end":return e.stop()}}),e)})));return function(r,t){return e.apply(this,arguments)}}(),ar=xe,or=ke,cr=ze,ir=Ue,sr=function(e){if(j("[@baadal-sdk/dapi] aws explicit init deprecated!"),!e)return R("AWS initialization error! Missing region: ".concat(e)),!1;var r=ar(e),t=cr(e);return r&&t},lr=function(){return{db:or(),s3:ir()}};const pr=require("@octokit/core");function fr(e,r,t,n,u,a,o){try{var c=e[a](o),i=c.value}catch(e){return void t(e)}c.done?r(i):Promise.resolve(i).then(n,u)}var br=null,mr=null,dr=function(){throw new _("GitHub SDK is possibly uninitialized!",{name:"GitHubError"})},vr=function(e,r){e&&r?(br=new pr.Octokit({auth:e}),mr=r):R("GitHub initialization error! authToken: ".concat(!!e,", account: ").concat(!!r))},yr=function(){var e,r=(e=regeneratorRuntime.mark((function e(r,t){var n,u,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(br&&mr){e.next=2;break}return e.abrupt("return",dr());case 2:return e.prev=2,e.next=5,br.request("GET /repos/{owner}/{repo}/contents/{path}",{owner:mr,repo:r,path:t});case 5:return n=e.sent,u=n.data,a=n.headers,e.abrupt("return",{response:u,headers:a});case 11:e.prev=11,e.t0=e.catch(2),R("[ERROR:gh.getContent]",e.t0);case 14:return e.abrupt("return",null);case 15:case"end":return e.stop()}}),e,null,[[2,11]])})),function(){var r=this,t=arguments;return new Promise((function(n,u){var a=e.apply(r,t);function o(e){fr(a,n,u,o,c,"next",e)}function c(e){fr(a,n,u,o,c,"throw",e)}o(void 0)}))});return function(e,t){return r.apply(this,arguments)}}();const hr={fs:r,aws:o,gh:c,utils:e}})(),module.exports=n})();
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":"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","sources":["webpack://@baadal-sdk/dapi/external commonjs \"rimraf\"","webpack://@baadal-sdk/dapi/webpack/bootstrap","webpack://@baadal-sdk/dapi/webpack/runtime/compat get default export","webpack://@baadal-sdk/dapi/webpack/runtime/define property getters","webpack://@baadal-sdk/dapi/webpack/runtime/hasOwnProperty shorthand","webpack://@baadal-sdk/dapi/webpack/runtime/make namespace object","webpack://@baadal-sdk/dapi/external commonjs \"regenerator-runtime/runtime.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.string.starts-with.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.for-each.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/web.dom-collections.for-each.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.concat.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.map.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.iterator.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.object.to-string.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.promise.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.string.iterator.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/web.dom-collections.iterator.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.last-index-of.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.symbol.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.symbol.description.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.symbol.iterator.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.from.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.slice.js\"","webpack://@baadal-sdk/dapi/external node-commonjs \"path\"","webpack://@baadal-sdk/dapi/external node-commonjs \"util\"","webpack://@baadal-sdk/dapi/external node-commonjs \"fs\"","webpack://@baadal-sdk/dapi/external node-commonjs \"fs/promises\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.object.set-prototype-of.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.object.get-prototype-of.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.index-of.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.regexp.to-string.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.reflect.construct.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.map.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.delete-all.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.every.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.filter.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.find.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.find-key.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.includes.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.key-of.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.map-keys.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.map-values.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.merge.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.reduce.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.some.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.update.js\"","webpack://@baadal-sdk/dapi/./src/common/error.ts","webpack://@baadal-sdk/dapi/external commonjs \"chalk\"","webpack://@baadal-sdk/dapi/./src/common/logger.ts","webpack://@baadal-sdk/dapi/./src/fs/index.ts","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.object.keys.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.filter.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.object.get-own-property-descriptor.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.object.get-own-property-descriptors.js\"","webpack://@baadal-sdk/dapi/external commonjs \"@aws-sdk/client-dynamodb\"","webpack://@baadal-sdk/dapi/external commonjs \"@aws-sdk/lib-dynamodb\"","webpack://@baadal-sdk/dapi/external commonjs \"short-uuid\"","webpack://@baadal-sdk/dapi/./src/aws/db-client.ts","webpack://@baadal-sdk/dapi/./src/aws/db.ts","webpack://@baadal-sdk/dapi/./src/aws/index.ts","webpack://@baadal-sdk/dapi/external commonjs \"@octokit/core\"","webpack://@baadal-sdk/dapi/./src/gh/index.ts","webpack://@baadal-sdk/dapi/./src/index.ts"],"sourcesContent":["module.exports = require(\"rimraf\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"regenerator-runtime/runtime.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.string.starts-with.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.for-each.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/web.dom-collections.for-each.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.concat.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.map.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.iterator.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.object.to-string.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.promise.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.string.iterator.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/web.dom-collections.iterator.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.last-index-of.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.symbol.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.symbol.description.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.symbol.iterator.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.from.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.slice.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"path\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"util\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"fs\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"fs/promises\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.object.set-prototype-of.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.object.get-prototype-of.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.index-of.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.regexp.to-string.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.reflect.construct.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.map.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.delete-all.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.every.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.filter.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.find.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.find-key.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.includes.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.key-of.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.map-keys.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.map-values.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.merge.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.reduce.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.some.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.update.js\");","export class CustomError extends Error {\n constructor(message: string, options: any = {}) {\n super(message);\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CustomError);\n }\n\n this.name = options.name || 'CustomError';\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"chalk\");","import chalk from 'chalk';\n\nlet clog = console.log;\nlet cwarn = console.warn;\nlet cerror = console.error;\n\nif (typeof window === typeof undefined) {\n clog = (...args: any[]) => console.log(chalk.green(...args));\n cwarn = (...args: any[]) => console.warn(chalk.yellow(...args));\n cerror = (...args: any[]) => console.error(chalk.red(...args));\n}\n\nconst log = clog;\nconst warn = cwarn;\nconst error = cerror;\n\nexport { log, warn, error };\nexport default { log, warn, error };\n","import path from 'path';\nimport util from 'util';\nimport fs from 'fs';\nimport fsa from 'fs/promises';\n\nimport { CustomError } from '../common/error';\nimport { warn as cwarn } from '../common/logger';\n\nconst assertPath = (p: string) => {\n if (!p || p.startsWith('/')) return p;\n return path.resolve(process.cwd(), p);\n};\n\n/**\n * Check whether a file exists\n * @param file file path\n * @param loud whether to throw errors [default: false]\n * @returns true if it exists, false otherwise\n */\nexport const existsFileSync = (file: string, loud = false) => {\n if (!file) return false;\n file = assertPath(file);\n try {\n if (!fs.existsSync(file)) {\n if (!loud) return false;\n throw new CustomError(`File does not exist: ${file}`);\n }\n } catch (e) {\n if (!loud) return false;\n if (e instanceof CustomError) {\n throw e;\n } else {\n throw new CustomError(`Error while accessing file: ${file}`);\n }\n }\n return true;\n};\n\n/**\n * Check whether a directory exists\n * @param dir directory path\n * @param loud whether to throw errors [default: false]\n * @returns true if it exists, false otherwise\n */\nexport const existsDirSync = (dir: string, loud = false) => {\n if (!dir) return false;\n dir = assertPath(dir);\n try {\n if (!fs.existsSync(dir)) {\n if (!loud) return false;\n throw new CustomError(`Directory does not exist: ${dir}`);\n }\n } catch (e) {\n if (!loud) return false;\n if (e instanceof CustomError) {\n throw e;\n } else {\n throw new CustomError(`Error while accessing directory: ${dir}`);\n }\n }\n return true;\n};\n\n/**\n * Read contents of a file\n * @param file file path\n * @param warn whether to show warnings [default: false]\n * @returns contents of the file, null in case of error\n */\nexport const readFile = async (file: string, warn = false) => {\n if (!file) return null;\n file = assertPath(file);\n let contents = null;\n try {\n contents = await fsa.readFile(file, 'utf8');\n } catch (e) {\n if (warn) cwarn(`Cannot read file: ${file}`);\n }\n return contents;\n};\n\n/**\n * Read contents of a file\n * @param file file path\n * @param warn whether to show warnings [default: false]\n * @returns contents of the file, null in case of error\n */\nexport const readFileSync = (file: string, warn = false) => {\n if (!file) return null;\n file = assertPath(file);\n let contents = null;\n try {\n contents = fs.readFileSync(file, 'utf8');\n } catch (e) {\n if (warn) cwarn(`Cannot read file: ${file}`);\n }\n return contents;\n};\n\n/**\n * Get the list of files/directories in a directory\n * @param dir directory path\n * @param warn whether to show warnings [default: false]\n * @returns an object {dirs,files} containing list of directories & files\n */\nexport const readDir = async (dir: string, warn = false) => {\n if (!dir) return { dirs: null, files: null };\n dir = assertPath(dir);\n\n let files: string[] | null = null;\n let dirs: string[] | null = null;\n\n try {\n const items = await fsa.readdir(dir, { withFileTypes: true });\n items.forEach(item => {\n if (item.isDirectory()) {\n if (!dirs) {\n dirs = [item.name];\n } else {\n dirs.push(item.name);\n }\n } else if (item.isFile()) {\n if (!files) {\n files = [item.name];\n } else {\n files.push(item.name);\n }\n }\n });\n } catch (e) {\n if (warn) cwarn(`Cannot read dir: ${dir}`);\n }\n\n return { dirs, files } as { dirs: string[] | null; files: string[] | null };\n};\n\n/**\n * Get the list of files in a directory\n * @param dir directory path\n * @param warn whether to show warnings [default: false]\n * @returns list of files, null in case of error or no items\n */\nexport const readDirFiles = async (dir: string, warn = false) => {\n if (!dir) return null;\n dir = assertPath(dir);\n return (await readDir(dir, warn)).files;\n};\n\n/**\n * Get the list of directories in a directory\n * @param dir directory path\n * @param warn whether to show warnings [default: false]\n * @returns list of directories, null in case of error or no items\n */\nexport const readDirDirs = async (dir: string, warn = false) => {\n if (!dir) return null;\n dir = assertPath(dir);\n return (await readDir(dir, warn)).dirs;\n};\n\nconst readDirFilesRecHelper = async (dir: string, basePath = ''): Promise<string[] | null> => {\n if (!dir) return null;\n dir = assertPath(dir);\n\n const dirPath = basePath ? `${dir}/${basePath}` : dir;\n const { dirs, files } = await readDir(dirPath);\n let allFiles: string[] = files || [];\n allFiles = allFiles.map(file => (basePath ? `${basePath}/${file}` : file));\n const absDirs = (dirs || []).map(d => (basePath ? `${basePath}/${d}` : d));\n\n const pList = absDirs.map(dirx => readDirFilesRecHelper(dir, dirx));\n const filesxList = await Promise.all(pList);\n filesxList.forEach(filesx => {\n if (filesx) {\n allFiles = [...allFiles, ...filesx];\n }\n });\n\n return allFiles.length ? allFiles : null;\n};\n\n/**\n * Get the (recursive) list of files in a directory\n * @param dir directory path\n * @returns complete (recursive) list of files, null in case of error or no items\n */\nexport const readDirFilesRec = (dir: string) => readDirFilesRecHelper(dir);\n\n/**\n * Write contents to a file (creates the file path if it doesn't exist)\n * @param file file path\n * @param contents contents to write\n * @returns true if successful, false on error\n */\nexport const writeFile = async (file: string, contents: string) => {\n if (!file || !contents) return false;\n file = assertPath(file);\n try {\n const dir = file.substring(0, file.lastIndexOf('/'));\n await fsa.mkdir(dir, { recursive: true });\n await fsa.writeFile(file, contents);\n } catch (e) {\n console.error(`Error while writing to ${file}`, e);\n return false;\n }\n return true;\n};\n\n/**\n * Append contents to a file\n * @param file file path\n * @param contents contents to append\n * @returns true if successful, false on error\n */\nexport const appendToFile = async (file: string, contents: string) => {\n if (!file || !contents) return false;\n file = assertPath(file);\n try {\n const dir = file.substring(0, file.lastIndexOf('/'));\n await fsa.mkdir(dir, { recursive: true });\n\n await fsa.appendFile(file, contents + '\\n');\n\n // Ref: https://stackoverflow.com/a/43370201\n // const stream = fs.createWriteStream(file, { flags: 'a' });\n // stream.write(contents + '\\n');\n // stream.end();\n } catch (e) {\n console.error(`Error while appending to ${file}`, e);\n return false;\n }\n return true;\n};\n\n/**\n * Rename a file\n * @param oldpath old file path\n * @param newpath new file path\n * @returns true if successful, false on error\n */\nexport const renameFile = async (oldpath: string, newpath: string) => {\n if (!oldpath || !newpath) return false;\n oldpath = assertPath(oldpath);\n newpath = assertPath(newpath);\n try {\n await fsa.rename(oldpath, newpath);\n } catch (e) {\n console.error(`Error while renaming file ${oldpath} to ${newpath}`, e);\n return false;\n }\n return true;\n};\n\n/**\n * Create a directory, if it doesn't exist\n * @param dir directory path\n * @returns true if successful, false in case of failure\n */\nexport const createDir = async (dir: string) => {\n if (!dir) return false;\n dir = assertPath(dir);\n try {\n if (!existsDirSync(dir)) {\n await fsa.mkdir(dir, { recursive: true });\n }\n } catch (e) {\n console.error(`Error while creating directory: ${dir}`, e);\n return false;\n }\n return true;\n};\n\n/**\n * Delete a file\n * @param file file path\n * @returns true if successful, false on error\n */\nexport const deleteFile = async (file: string) => {\n if (!file) return false;\n file = assertPath(file);\n try {\n await fsa.unlink(file);\n } catch (e) {\n console.error(`Error while deleting file ${file}`, e);\n return false;\n }\n return true;\n};\n\n/**\n * Delete a directory\n * @param dir directory path\n * @returns true if successful, false on error\n */\nexport const deleteDir = async (dir: string) => {\n if (!dir) return false;\n dir = assertPath(dir);\n try {\n const rimraf = require('rimraf');\n const rimrafPr = util.promisify(rimraf);\n await rimrafPr(dir);\n\n // Added in: v14.14.0\n // await fsa.rm(dir, { recursive: true, force: true });\n } catch (e) {\n console.error(`Error while deleting dir ${dir}`, e);\n return false;\n }\n return true;\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.object.keys.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.filter.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.object.get-own-property-descriptor.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.object.get-own-property-descriptors.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@aws-sdk/client-dynamodb\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@aws-sdk/lib-dynamodb\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"short-uuid\");","import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';\n\nconst dbDocClient: DynamoDBDocumentClient | null = null;\nconst id: string | null = null;\n\nexport default { dbDocClient, id } as { dbDocClient: DynamoDBDocumentClient | null; id: string | null };\n","/**\n * Partition key vs Composite primary key:\n * Ref: https://aws.amazon.com/premiumsupport/knowledge-center/primary-key-dynamodb-table/\n */\n\nimport { DynamoDBClient } from '@aws-sdk/client-dynamodb';\nimport {\n DynamoDBDocumentClient,\n GetCommand,\n GetCommandInput,\n PutCommand,\n PutCommandInput,\n UpdateCommand,\n UpdateCommandInput,\n QueryCommand,\n QueryCommandInput,\n ScanCommand,\n ScanCommandInput,\n DeleteCommand,\n DeleteCommandInput,\n} from '@aws-sdk/lib-dynamodb';\nimport short from 'short-uuid';\n\nimport dbClient from './db-client';\nimport { StringIndexable } from '../common/common.model';\nimport { CustomError } from '../common/error';\n\nconst DynamoDBError = (msg: string) => new CustomError(msg, { name: 'DynamoDBError' });\n\nexport const init = (region: string) => {\n const dydbClient = new DynamoDBClient({ region });\n\n // Ref: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_lib_dynamodb.html#configuration\n if (!dbClient.dbDocClient) {\n dbClient.dbDocClient = DynamoDBDocumentClient.from(dydbClient);\n dbClient.id = short.uuid();\n return true;\n }\n return false;\n};\n\nexport const status = () => dbClient.id;\n\nconst tryInit = () => {\n if (status()) return;\n const region = process.env.AWS_REGION || '';\n if (region) {\n if (init(region)) return;\n }\n // throw DynamoDBError('DynamoDB is possibly uninitialized!');\n throw DynamoDBError('Could not auto-initialize DynamoDB!');\n};\n\n// auto-initialize on load\n// tryInit();\n\nconst writeItemForceHelper = async <T = any>(table: string, data: T, key: string, i: number): Promise<T | null> => {\n if (!dbClient.dbDocClient) tryInit();\n if (!dbClient.dbDocClient) return null;\n if (!table || !data) return null;\n\n if (!(data as any)[key]) {\n (data as any)[key] = short.uuid();\n }\n const cmdParams: PutCommandInput = { TableName: table, Item: data, ConditionExpression: `attribute_not_exists(${key})` };\n const command = new PutCommand(cmdParams);\n const numberOfAttempts = 3;\n\n try {\n await dbClient.dbDocClient.send(command);\n } catch (err: any) {\n // console.error('PutCommandInput:', cmdParams);\n // console.error(err);\n if (err.name === 'ConditionalCheckFailedException') {\n if (i < numberOfAttempts - 1) {\n (data as any)[key] = short.uuid(); // new primary key\n const ret: T | null = await writeItemForceHelper(table, data, key, i + 1);\n return ret;\n }\n console.error('PutCommandInput:', cmdParams);\n console.error('[ERROR] Maximum attempts overflow!');\n }\n return null;\n }\n\n return data;\n};\n\nexport const writeItemForce = async <T = any>(table: string, data: T, key = 'id'): Promise<T | null> => {\n return writeItemForceHelper<T>(table, data, key, 0);\n};\n\nexport const writeItem = async (table: string, data: StringIndexable) => {\n if (!dbClient.dbDocClient) tryInit();\n if (!dbClient.dbDocClient) return null;\n if (!table || !data) return null;\n\n const cmdParams: PutCommandInput = { TableName: table, Item: data };\n const command = new PutCommand(cmdParams);\n\n try {\n await dbClient.dbDocClient.send(command);\n } catch (err) {\n console.error('PutCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\nexport const updateItem = async (\n table: string,\n key: StringIndexable,\n update: string,\n attr: StringIndexable,\n attrNames?: StringIndexable\n) => {\n if (!dbClient.dbDocClient) tryInit();\n if (!dbClient.dbDocClient) return null;\n if (!table || !key || !update || !attr) return null;\n\n let cmdParams: UpdateCommandInput = {\n TableName: table,\n Key: key,\n UpdateExpression: update,\n ExpressionAttributeValues: attr,\n };\n if (attrNames) cmdParams = { ...cmdParams, ExpressionAttributeNames: attrNames };\n const command = new UpdateCommand(cmdParams);\n\n try {\n await dbClient.dbDocClient.send(command);\n } catch (err) {\n console.error('UpdateCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\nexport const readItem = async <T = any>(\n table: string,\n key: StringIndexable,\n projection?: string,\n attrNames?: StringIndexable\n) => {\n if (!dbClient.dbDocClient) tryInit();\n if (!dbClient.dbDocClient) return null;\n if (!table || !key) return null;\n\n let contents: T | null = null;\n let cmdParams: GetCommandInput = { TableName: table, Key: key };\n\n // Ref: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.ProjectionExpressions.html\n if (projection) cmdParams = { ...cmdParams, ProjectionExpression: projection };\n if (attrNames) cmdParams = { ...cmdParams, ExpressionAttributeNames: attrNames };\n\n const command = new GetCommand(cmdParams);\n\n try {\n const results = await dbClient.dbDocClient.send(command);\n const item = results.Item;\n\n if (item) {\n contents = item as T;\n }\n } catch (err) {\n console.error('GetCommandInput:', cmdParams);\n console.error(err);\n // throw err;\n }\n\n return contents;\n};\n\nexport const queryItems = async (\n table: string,\n indexName: string,\n cond: string,\n attr: StringIndexable,\n projection = '',\n desc = false\n) => {\n if (!dbClient.dbDocClient) tryInit();\n if (!dbClient.dbDocClient) return null;\n if (!table || !cond || !attr) return null;\n\n let contents: StringIndexable[] | null = null;\n\n // Ref: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html\n // Ref: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/dynamodb-example-query-scan.html\n // Ref: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/SQLtoNoSQL.Indexes.QueryAndScan.html#SQLtoNoSQL.Indexes.QueryAndScan.DynamoDB\n let cmdParams: QueryCommandInput = {\n TableName: table,\n KeyConditionExpression: cond,\n ExpressionAttributeValues: attr,\n // FilterExpression: \"contains (category_id, :cid)\",\n };\n\n if (indexName) cmdParams = { ...cmdParams, IndexName: indexName };\n if (projection) cmdParams = { ...cmdParams, ProjectionExpression: projection };\n if (desc) cmdParams = { ...cmdParams, ScanIndexForward: false };\n\n const command = new QueryCommand(cmdParams);\n\n try {\n const results = await dbClient.dbDocClient.send(command);\n const items = results.Items;\n\n if (items) {\n contents = items;\n }\n } catch (err) {\n console.error('QueryCommandInput:', command.input);\n console.error(err);\n // throw err;\n }\n\n return contents;\n};\n\nexport const scanItems = async (table: string, projection = '') => {\n if (!dbClient.dbDocClient) tryInit();\n if (!dbClient.dbDocClient) return null;\n if (!table) return null;\n\n let contents: StringIndexable[] | null = null;\n\n // Ref: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/dynamodb-example-query-scan.html\n let cmdParams: ScanCommandInput = {\n TableName: table,\n };\n\n if (projection) cmdParams = { ...cmdParams, ProjectionExpression: projection };\n\n const command = new ScanCommand(cmdParams);\n\n try {\n const results = await dbClient.dbDocClient.send(command);\n const items = results.Items;\n\n if (items) {\n contents = items;\n }\n } catch (err) {\n console.error('ScanCommandInput:', cmdParams);\n console.error(err);\n // throw err;\n }\n\n return contents;\n};\n\nexport const deleteItem = async (table: string, key: StringIndexable) => {\n if (!dbClient.dbDocClient) tryInit();\n if (!dbClient.dbDocClient) return null;\n if (!table || !key) return null;\n\n const cmdParams: DeleteCommandInput = { TableName: table, Key: key };\n const command = new DeleteCommand(cmdParams);\n\n try {\n await dbClient.dbDocClient.send(command);\n } catch (err) {\n console.error('DeleteCommandInput:', cmdParams);\n console.error(err);\n // throw err;\n return false;\n }\n\n return true;\n};\n\n// ----------------\n\n// await dbWriteItem('lesson_list', { id: 'id_001', title: 'My Lesson' });\n\n// const contents = await dbReadItem('lesson_list', { id: 'id_001' });\n// console.log(contents);\n\n// await dbUpdateItem(\n// 'lesson_list',\n// { id: 'id_001' },\n// 'set #a = :a, #b = :b',\n// { ':a': 'abhi@raj.me', ':b': 'Abhishek Raj' },\n// { '#a': 'email', '#b': 'name' }\n// );\n\n// ----------------\n","import * as dbAll from './db';\nimport { error } from '../common/logger';\n\nconst { init: dbInit, status: dbStatus, ...db } = dbAll;\n\nconst init = (region: string) => {\n if (!region) {\n error(`AWS initialization error! Missing region: ${region}`);\n return false;\n }\n\n return dbInit(region);\n};\n\nconst status = () => {\n return dbStatus();\n};\n\nexport { db, init, status }; // named exports\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@octokit/core\");","import { Octokit } from '@octokit/core';\n\nimport { CustomError } from '../common/error';\nimport { error } from '../common/logger';\n\nlet github: Octokit | null = null;\nlet owner: string | null = null;\n\nconst GitHubError = (msg: string) => new CustomError(msg, { name: 'GitHubError' });\n\nconst initializationError = () => {\n throw GitHubError('GitHub SDK is possibly uninitialized!');\n};\n\n/**\n * Initialize GitHub SDK\n * @param authToken GitHub auth token for the user account [GITHUB_TOKEN]\n * @param account account id for the GitHub user account [GITHUB_ACCOUNT]\n */\nexport const init = (authToken: string, account: string) => {\n if (!authToken || !account) {\n error(`GitHub initialization error! authToken: ${!!authToken}, account: ${!!account}`);\n return;\n }\n github = new Octokit({ auth: authToken });\n owner = account;\n};\n\n/**\n * Get contents of a particular file in a repo\n * @param repo name of the repo\n * @param path path of a file in the repo\n * @returns an object {response,headers} containing response and response headers, null in case of error\n */\nexport const getContent = async (repo: string, path: string) => {\n if (!github || !owner) return initializationError();\n\n try {\n const ghResp = await github.request('GET /repos/{owner}/{repo}/contents/{path}', {\n owner,\n repo,\n path,\n });\n const response = ghResp.data as GitHubContent;\n const { headers } = ghResp;\n return { response, headers };\n } catch (e) {\n error(`[ERROR:gh.getContent]`, e);\n }\n\n return null;\n};\n\n// --------------\n\nexport interface GitHubContent {\n path: string;\n content: string;\n sha: string;\n}\n","import * as fs from './fs';\nimport * as aws from './aws';\nimport * as gh from './gh';\n\n// Ref: https://stackoverflow.com/a/41283945\nexport { fs, aws, gh }; // named exports\nexport default { fs, aws, gh }; // default export\n"],"names":["module","exports","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","CustomError","message","options","Error","captureStackTrace","name","console","log","cwarn","warn","cerror","error","window","chalk","assertPath","p","startsWith","path","process","cwd","existsFileSync","file","loud","fs","e","existsDirSync","dir","readFile","contents","fsa","readFileSync","readDir","dirs","files","withFileTypes","forEach","item","isDirectory","push","isFile","readDirFiles","readDirDirs","readDirFilesRecHelper","basePath","dirPath","allFiles","map","absDirs","pList","dirx","Promise","all","filesx","length","readDirFilesRec","writeFile","substring","lastIndexOf","recursive","appendToFile","renameFile","oldpath","newpath","createDir","deleteFile","deleteDir","rimraf","rimrafPr","util","dbDocClient","id","init","region","dydbClient","DynamoDBClient","dbClient","DynamoDBDocumentClient","short","status","tryInit","env","AWS_REGION","writeItemForceHelper","table","data","i","cmdParams","TableName","Item","ConditionExpression","command","PutCommand","numberOfAttempts","ret","writeItemForce","writeItem","updateItem","update","attr","attrNames","Key","UpdateExpression","ExpressionAttributeValues","ExpressionAttributeNames","UpdateCommand","readItem","projection","ProjectionExpression","GetCommand","results","queryItems","indexName","cond","desc","KeyConditionExpression","IndexName","ScanIndexForward","QueryCommand","items","Items","input","scanItems","ScanCommand","deleteItem","DeleteCommand","dbInit","dbAll","dbStatus","db","github","owner","initializationError","authToken","account","Octokit","auth","getContent","repo","request","ghResp","response","headers","aws","gh"],"sourceRoot":""}
1
+ {"version":3,"file":"index.js","mappings":"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","sources":["webpack://@baadal-sdk/dapi/external commonjs \"rimraf\"","webpack://@baadal-sdk/dapi/webpack/bootstrap","webpack://@baadal-sdk/dapi/webpack/runtime/compat get default export","webpack://@baadal-sdk/dapi/webpack/runtime/define property getters","webpack://@baadal-sdk/dapi/webpack/runtime/hasOwnProperty shorthand","webpack://@baadal-sdk/dapi/webpack/runtime/make namespace object","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.for-each.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/web.dom-collections.for-each.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.filter.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.string.starts-with.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.concat.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.map.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.iterator.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.object.to-string.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.promise.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.string.iterator.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/web.dom-collections.iterator.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.last-index-of.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.symbol.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.symbol.description.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.symbol.iterator.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.from.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.slice.js\"","webpack://@baadal-sdk/dapi/external commonjs \"regenerator-runtime/runtime.js\"","webpack://@baadal-sdk/dapi/external node-commonjs \"util\"","webpack://@baadal-sdk/dapi/external node-commonjs \"fs\"","webpack://@baadal-sdk/dapi/external node-commonjs \"fs/promises\"","webpack://@baadal-sdk/dapi/external node-commonjs \"path\"","webpack://@baadal-sdk/dapi/external node-commonjs \"crypto\"","webpack://@baadal-sdk/dapi/external commonjs \"chalk\"","webpack://@baadal-sdk/dapi/./src/common/logger.ts","webpack://@baadal-sdk/dapi/./src/utils/index.ts","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.object.set-prototype-of.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.object.get-prototype-of.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.index-of.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.regexp.to-string.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.reflect.construct.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.map.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.delete-all.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.every.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.filter.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.find.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.find-key.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.includes.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.key-of.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.map-keys.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.map-values.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.merge.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.reduce.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.some.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/esnext.map.update.js\"","webpack://@baadal-sdk/dapi/./src/common/error.ts","webpack://@baadal-sdk/dapi/./src/fs/index.ts","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.every.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.flat.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.array.find.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.object.keys.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.object.get-own-property-descriptor.js\"","webpack://@baadal-sdk/dapi/external commonjs \"core-js/modules/es.object.get-own-property-descriptors.js\"","webpack://@baadal-sdk/dapi/external commonjs \"@aws-sdk/client-dynamodb\"","webpack://@baadal-sdk/dapi/external commonjs \"@aws-sdk/lib-dynamodb\"","webpack://@baadal-sdk/dapi/external commonjs \"short-uuid\"","webpack://@baadal-sdk/dapi/external commonjs \"@baadal-sdk/utils\"","webpack://@baadal-sdk/dapi/./src/aws/client.ts","webpack://@baadal-sdk/dapi/./src/common/const.ts","webpack://@baadal-sdk/dapi/./src/aws/db.ts","webpack://@baadal-sdk/dapi/external commonjs \"@aws-sdk/client-s3\"","webpack://@baadal-sdk/dapi/external commonjs \"mime-types\"","webpack://@baadal-sdk/dapi/./src/aws/s3.ts","webpack://@baadal-sdk/dapi/./src/aws/index.ts","webpack://@baadal-sdk/dapi/external commonjs \"@octokit/core\"","webpack://@baadal-sdk/dapi/./src/gh/index.ts","webpack://@baadal-sdk/dapi/./src/index.ts"],"sourcesContent":["module.exports = require(\"rimraf\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.for-each.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/web.dom-collections.for-each.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.filter.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.string.starts-with.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.concat.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.map.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.iterator.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.object.to-string.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.promise.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.string.iterator.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/web.dom-collections.iterator.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.last-index-of.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.symbol.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.symbol.description.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.symbol.iterator.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.from.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.slice.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"regenerator-runtime/runtime.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"util\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"fs\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"fs/promises\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"path\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"crypto\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"chalk\");","import chalk from 'chalk';\n\nlet clog = console.log;\nlet cwarn = console.warn;\nlet cerror = console.error;\n\nif (typeof window === typeof undefined) {\n clog = (...args: any[]) => console.log(chalk.green(...args));\n cwarn = (...args: any[]) => console.warn(chalk.yellow(...args));\n cerror = (...args: any[]) => console.error(chalk.red(...args));\n}\n\nconst log = clog;\nconst warn = cwarn;\nconst error = cerror;\n\nexport { log, warn, error };\nexport default { log, warn, error };\n","import path from 'path';\nimport crypto from 'crypto';\nimport fsa from 'fs/promises';\n\nimport { error } from '../common/logger';\n\nexport const assertPath = (p: string) => {\n if (!p || p.startsWith('/')) return p;\n return path.resolve(process.cwd(), p);\n};\n\nexport const sha1Hash = (data: string) => {\n if (!data) return null;\n const hashSum = crypto.createHash('sha1');\n hashSum.update(data);\n return hashSum.digest('hex');\n};\n\nexport const sha256Hash = (data: string | Buffer) => {\n if (!data) return null;\n const hashSum = crypto.createHash('sha256');\n hashSum.update(data);\n return hashSum.digest('hex');\n};\n\nexport const fileHash = async (file: string) => {\n if (!file) return null;\n let contents: Buffer | null = null;\n\n try {\n // get buffer (instead of utf8 string) to support binary data\n contents = await fsa.readFile(file);\n } catch (e) {\n error(e);\n return null;\n }\n\n return sha256Hash(contents);\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.object.set-prototype-of.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.object.get-prototype-of.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.index-of.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.regexp.to-string.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.reflect.construct.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.map.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.delete-all.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.every.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.filter.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.find.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.find-key.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.includes.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.key-of.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.map-keys.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.map-values.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.merge.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.reduce.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.some.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/esnext.map.update.js\");","export class CustomError extends Error {\n constructor(message: string, options: any = {}) {\n super(message);\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CustomError);\n }\n\n this.name = options.name || 'CustomError';\n }\n}\n","import util from 'util';\nimport fs from 'fs';\nimport fsa from 'fs/promises';\n\nimport { assertPath } from '../utils';\nimport { CustomError } from '../common/error';\nimport { warn as cwarn } from '../common/logger';\n\n/**\n * Check whether a file exists\n * @param file file path\n * @param loud whether to throw errors [default: false]\n * @returns true if it exists, false if it doesn't, null in case of error\n */\nexport const existsFileSync = (file: string, loud = false) => {\n if (!file) return null;\n file = assertPath(file);\n try {\n if (!fs.existsSync(file)) {\n if (!loud) return false;\n throw new CustomError(`File does not exist: ${file}`);\n }\n } catch (e) {\n if (!loud) return null;\n if (e instanceof CustomError) {\n throw e;\n } else {\n throw new CustomError(`Error while accessing file: ${file}`);\n }\n }\n return true;\n};\n\n/**\n * Check whether a directory exists\n * @param dir directory path\n * @param loud whether to throw errors [default: false]\n * @returns true if it exists, false if it doesn't, null in case of error\n */\nexport const existsDirSync = (dir: string, loud = false) => {\n if (!dir) return null;\n dir = assertPath(dir);\n try {\n if (!fs.existsSync(dir)) {\n if (!loud) return false;\n throw new CustomError(`Directory does not exist: ${dir}`);\n }\n } catch (e) {\n if (!loud) return null;\n if (e instanceof CustomError) {\n throw e;\n } else {\n throw new CustomError(`Error while accessing directory: ${dir}`);\n }\n }\n return true;\n};\n\n/**\n * Read contents of a file\n * @param file file path\n * @param warn whether to show warnings [default: false]\n * @returns contents of the file, null in case of error\n */\nexport const readFile = async (file: string, warn = false) => {\n if (!file) return null;\n file = assertPath(file);\n let contents = null;\n try {\n contents = await fsa.readFile(file, 'utf8');\n } catch (e) {\n if (warn) cwarn(`Cannot read file: ${file}`);\n }\n return contents;\n};\n\n/**\n * Read contents of a file\n * @param file file path\n * @param warn whether to show warnings [default: false]\n * @returns contents of the file, null in case of error\n */\nexport const readFileSync = (file: string, warn = false) => {\n if (!file) return null;\n file = assertPath(file);\n let contents = null;\n try {\n contents = fs.readFileSync(file, 'utf8');\n } catch (e) {\n if (warn) cwarn(`Cannot read file: ${file}`);\n }\n return contents;\n};\n\n/**\n * Get the list of files/directories in a directory\n * @param dir directory path\n * @param warn whether to show warnings [default: false]\n * @param hiddenItems whether to include items starting with dot(.) [default: false]\n * @returns an object {dirs,files} containing list of directories & files, null in case or error\n */\nexport const readDir = async (dir: string, warn = false, hiddenItems = false) => {\n if (!dir) return null;\n dir = assertPath(dir);\n\n let dirs: string[] = [];\n let files: string[] = [];\n\n try {\n const items = await fsa.readdir(dir, { withFileTypes: true });\n items.forEach(item => {\n if (item.isDirectory()) {\n dirs.push(item.name);\n } else if (item.isFile()) {\n files.push(item.name);\n }\n });\n } catch (e) {\n if (warn) cwarn(`Cannot read dir: ${dir}`);\n return null;\n }\n\n if (!hiddenItems) {\n dirs = (dirs as string[]).filter(d => !d.startsWith('.'));\n files = (files as string[]).filter(f => !f.startsWith('.'));\n }\n\n return { dirs, files };\n};\n\n/**\n * Get the list of files in a directory\n * @param dir directory path\n * @param warn whether to show warnings [default: false]\n * @param hiddenItems whether to include items starting with dot(.) [default: false]\n * @returns list of files, null in case of error or no items\n */\nexport const readDirFiles = async (dir: string, warn = false, hiddenItems = false) => {\n if (!dir) return null;\n dir = assertPath(dir);\n return (await readDir(dir, warn, hiddenItems))?.files;\n};\n\n/**\n * Get the list of directories in a directory\n * @param dir directory path\n * @param warn whether to show warnings [default: false]\n * @param hiddenItems whether to include items starting with dot(.) [default: false]\n * @returns list of directories, null in case of error or no items\n */\nexport const readDirDirs = async (dir: string, warn = false, hiddenItems = false) => {\n if (!dir) return null;\n dir = assertPath(dir);\n return (await readDir(dir, warn, hiddenItems))?.dirs;\n};\n\nconst readDirFilesRecHelper = async (dir: string, basePath = ''): Promise<string[] | null> => {\n if (!dir) return null;\n dir = assertPath(dir);\n\n const dirPath = basePath ? `${dir}/${basePath}` : dir;\n const readDirObj = await readDir(dirPath);\n if (!readDirObj) return null;\n\n const { dirs, files } = readDirObj;\n let allFiles: string[] = files || [];\n allFiles = allFiles.map(file => (basePath ? `${basePath}/${file}` : file));\n const absDirs = (dirs || []).map(d => (basePath ? `${basePath}/${d}` : d));\n\n const pList = absDirs.map(dirx => readDirFilesRecHelper(dir, dirx));\n const filesxList = await Promise.all(pList);\n filesxList.forEach(filesx => {\n if (filesx) {\n allFiles = [...allFiles, ...filesx];\n }\n });\n\n return allFiles;\n};\n\n/**\n * Get the (recursive) list of files in a directory\n * @param dir directory path\n * @param hiddenItems whether to include items starting with dot(.) [default: false]\n * @returns complete (recursive) list of files, null in case of error\n */\nexport const readDirFilesRec = async (dir: string, hiddenItems = false) => {\n let allFiles = await readDirFilesRecHelper(dir);\n if (!hiddenItems) {\n if (allFiles) allFiles = allFiles.filter(f => !f.startsWith('.'));\n }\n return allFiles;\n};\n\n/**\n * Write contents to a file (creates the file path if it doesn't exist)\n * @param file file path\n * @param contents contents to write\n * @returns true if successful, null in case of error\n */\nexport const writeFile = async (file: string, contents: string) => {\n if (!file || !contents) return null;\n file = assertPath(file);\n try {\n const dir = file.substring(0, file.lastIndexOf('/'));\n await fsa.mkdir(dir, { recursive: true });\n await fsa.writeFile(file, contents);\n } catch (e) {\n console.error(`Error while writing to ${file}`, e);\n return null;\n }\n return true;\n};\n\n/**\n * Append contents to a file\n * @param file file path\n * @param contents contents to append\n * @returns true if successful, null in case of error\n */\nexport const appendToFile = async (file: string, contents: string) => {\n if (!file || !contents) return null;\n file = assertPath(file);\n try {\n const dir = file.substring(0, file.lastIndexOf('/'));\n await fsa.mkdir(dir, { recursive: true });\n\n await fsa.appendFile(file, contents + '\\n');\n\n // Ref: https://stackoverflow.com/a/43370201\n // const stream = fs.createWriteStream(file, { flags: 'a' });\n // stream.write(contents + '\\n');\n // stream.end();\n } catch (e) {\n console.error(`Error while appending to ${file}`, e);\n return null;\n }\n return true;\n};\n\n/**\n * Rename a file\n * @param oldpath old file path\n * @param newpath new file path\n * @returns true if successful, null in case of error\n */\nexport const renameFile = async (oldpath: string, newpath: string) => {\n if (!oldpath || !newpath) return null;\n oldpath = assertPath(oldpath);\n newpath = assertPath(newpath);\n try {\n await fsa.rename(oldpath, newpath);\n } catch (e) {\n console.error(`Error while renaming file ${oldpath} to ${newpath}`, e);\n return null;\n }\n return true;\n};\n\n/**\n * Create a directory, if it doesn't exist\n * @param dir directory path\n * @returns true if successful, null in case of failure/error\n */\nexport const createDir = async (dir: string) => {\n if (!dir) return null;\n dir = assertPath(dir);\n try {\n if (!existsDirSync(dir)) {\n await fsa.mkdir(dir, { recursive: true });\n }\n } catch (e) {\n console.error(`Error while creating directory: ${dir}`, e);\n return null;\n }\n return true;\n};\n\n/**\n * Delete a file\n * @param file file path\n * @returns true if successful, null in case of error\n */\nexport const deleteFile = async (file: string) => {\n if (!file) return null;\n file = assertPath(file);\n try {\n await fsa.unlink(file);\n } catch (e) {\n console.error(`Error while deleting file ${file}`, e);\n return null;\n }\n return true;\n};\n\n/**\n * Delete a directory\n * @param dir directory path\n * @returns true if successful, null in case of error\n */\nexport const deleteDir = async (dir: string) => {\n if (!dir) return null;\n dir = assertPath(dir);\n try {\n const rimraf = require('rimraf');\n const rimrafPr = util.promisify(rimraf);\n await rimrafPr(dir);\n\n // Added in: v14.14.0\n // await fsa.rm(dir, { recursive: true, force: true });\n } catch (e) {\n console.error(`Error while deleting dir ${dir}`, e);\n return null;\n }\n return true;\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.every.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.flat.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.array.find.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.object.keys.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.object.get-own-property-descriptor.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"core-js/modules/es.object.get-own-property-descriptors.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@aws-sdk/client-dynamodb\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@aws-sdk/lib-dynamodb\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"short-uuid\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@baadal-sdk/utils\");","import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';\nimport { S3Client } from '@aws-sdk/client-s3';\n\nconst dbDocClient: DynamoDBDocumentClient | null = null;\nconst awsS3Client: S3Client | null = null;\n\nexport const dbClient = { client: dbDocClient, id: null } as DBClientType;\nexport const s3Client = { client: awsS3Client, id: null } as S3ClientType;\n\nexport interface DBClientType {\n client: DynamoDBDocumentClient | null;\n id: string | null;\n}\n\nexport interface S3ClientType {\n client: S3Client | null;\n id: string | null;\n}\n","export const BATCH_SIZE = 20; // (max) number of items in a batch request\nexport const CHUNK_SIZE = 10; // (max) number of parallel requests at a time\n","/**\n * Examples:\n * Ref: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/dynamodb-examples.html\n *\n * Partition key vs Composite primary key:\n * Ref: https://aws.amazon.com/premiumsupport/knowledge-center/primary-key-dynamodb-table/\n */\n\nimport { DynamoDBClient } from '@aws-sdk/client-dynamodb';\nimport {\n DynamoDBDocumentClient,\n GetCommand,\n GetCommandInput,\n BatchGetCommand,\n BatchGetCommandInput,\n PutCommand,\n PutCommandInput,\n BatchWriteCommand,\n BatchWriteCommandInput,\n UpdateCommand,\n UpdateCommandInput,\n QueryCommand,\n QueryCommandInput,\n ScanCommand,\n ScanCommandInput,\n DeleteCommand,\n DeleteCommandInput,\n} from '@aws-sdk/lib-dynamodb';\nimport short from 'short-uuid';\nimport { chunkifyArray } from '@baadal-sdk/utils';\n\nimport { dbClient } from './client';\nimport { StringIndexable } from '../common/common.model';\nimport { CustomError } from '../common/error';\nimport { warn, error } from '../common/logger';\nimport { BATCH_SIZE, CHUNK_SIZE } from '../common/const';\n\nconst DynamoDBError = (msg: string) => new CustomError(msg, { name: 'DynamoDBError' });\n\n/** @internal */\nexport const init = (region: string) => {\n // Ref: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_lib_dynamodb.html#configuration\n if (!dbClient.client) {\n const dydbClient = new DynamoDBClient({ region }); // may also pass `credentials`\n dbClient.client = DynamoDBDocumentClient.from(dydbClient);\n dbClient.id = short.uuid();\n return true;\n }\n return false;\n};\n\n/** @internal */\nexport const status = () => dbClient.id;\n\nconst tryInit = (silent = false) => {\n if (dbClient.client) return;\n const region = process.env.AWS_REGION || '';\n if (region) {\n if (init(region)) {\n // console.log('Auto-initialization of DynamoDB successful');\n return;\n }\n }\n if (!silent) {\n // throw DynamoDBError('DynamoDB is possibly uninitialized!');\n throw DynamoDBError('Could not auto-initialize DynamoDB!');\n }\n};\n\n// auto-initialize on load\ntryInit(true);\n\nconst writeItemForceHelper = async <T = any>(table: string, item: T, key: string, i: number): Promise<T | null> => {\n if (!dbClient.client) tryInit();\n if (!dbClient.client) return null;\n if (!table || !item) return null;\n\n if (!(item as any)[key]) {\n (item as any)[key] = short.uuid();\n }\n const cmdParams: PutCommandInput = { TableName: table, Item: item, ConditionExpression: `attribute_not_exists(${key})` };\n const command = new PutCommand(cmdParams);\n const numberOfAttempts = 3;\n\n try {\n await dbClient.client.send(command);\n } catch (err: any) {\n if (err.name === 'ConditionalCheckFailedException') {\n if (i < numberOfAttempts - 1) {\n (item as any)[key] = short.uuid(); // new primary key\n const ret: T | null = await writeItemForceHelper(table, item, key, i + 1);\n return ret;\n }\n console.error('PutCommandInput:', cmdParams);\n error('[ERROR] Maximum attempts overflow!');\n }\n return null;\n }\n\n return item;\n};\n\nexport interface WriteItemForceInput<T = any> {\n table: string;\n item: T;\n key?: string;\n}\n\n/**\n * Write an item to a DynamoDB table, retry in case of key conflict\n * @param input input command object\n * @returns the created item, null in case of error\n *\n * ```js\n * writeItemForce({\n * table: 'lesson_list',\n * item: { title: 'My Lesson' },\n * key: 'id',\n * });\n *\n * interface WriteItemForceInput<T = any> {\n * table: string;\n * item: T;\n * key?: string; // default: `id`\n * }\n * ```\n */\nexport const writeItemForce = async <T = any>(input: WriteItemForceInput<T>): Promise<T | null> => {\n const key = input.key || 'id';\n return writeItemForceHelper<T>(input.table, input.item, key, 0);\n};\n\nexport interface WriteItemInput {\n table: string;\n item: StringIndexable;\n}\n\n/**\n * Write an item to a DynamoDB table\n * @param input input command object\n * @returns true if successful, null in case of error\n *\n * ```js\n * writeItem({\n * table: 'lesson_list',\n * item: { id: 'id_001', title: 'My Lesson' },\n * });\n *\n * interface WriteItemInput {\n * table: string;\n * item: StringIndexable;\n * }\n * ```\n */\nexport const writeItem = async (input: WriteItemInput) => {\n if (!dbClient.client) tryInit();\n if (!dbClient.client) return null;\n if (!input.table || !input.item) return null;\n\n const cmdParams: PutCommandInput = { TableName: input.table, Item: input.item };\n const command = new PutCommand(cmdParams);\n\n try {\n await dbClient.client.send(command);\n } catch (err) {\n console.error('PutCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\n// Ref: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/dynamodb-example-table-read-write-batch.html\nconst batchWriteItems = async (table: string, items: StringIndexable[]) => {\n if (!dbClient.client) tryInit();\n if (!dbClient.client) return null;\n if (!table || !items || !Array.isArray(items)) return null;\n if (!items.length) return false;\n\n const reqList = items.map(item => ({ PutRequest: { Item: item } }));\n const cmdParams: BatchWriteCommandInput = {\n RequestItems: {\n [table]: reqList,\n },\n };\n\n const command = new BatchWriteCommand(cmdParams);\n\n try {\n await dbClient.client.send(command);\n } catch (err) {\n console.error('BatchWriteCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\nexport interface WriteItemsAllInput {\n table: string;\n items: StringIndexable[];\n}\n\n/**\n * Write an list of items to a DynamoDB table\n * @param input input command object\n * @returns true if successful, null in case of error\n *\n * ```js\n * writeItemsAll({\n * table: 'lesson_list',\n * items: [{ id: 'id_001', title: 'My Lesson' }, { id: 'id_002', title: 'My Lesson 2' }],\n * });\n *\n * interface WriteItemInput {\n * table: string;\n * items: StringIndexable[];\n * }\n * ```\n */\nexport const writeItemsAll = async (input: WriteItemsAllInput) => {\n if (!dbClient.client) tryInit();\n if (!dbClient.client) return null;\n if (!input.table || !input.items || !Array.isArray(input.items)) return null;\n if (!input.items.length) return false;\n\n let errFlag = false;\n\n const batchedItems = chunkifyArray(input.items, BATCH_SIZE);\n const chunkedItems = chunkifyArray(batchedItems, CHUNK_SIZE);\n\n for (let i = 0; i < chunkedItems.length; i += 1) {\n const bchunks = chunkedItems[i];\n\n const brlist = bchunks.map(iItems => batchWriteItems(input.table, iItems));\n const bslist = await Promise.all(brlist); // eslint-disable-line no-await-in-loop\n\n const isSuccess = bslist.every(e => e === true);\n if (!isSuccess) errFlag = true;\n }\n\n return errFlag ? null : true;\n};\n\nexport interface UpdateItemInput {\n table: string;\n key: StringIndexable;\n update: string;\n attr: StringIndexable;\n attrNames?: StringIndexable;\n}\n\n/**\n * Update an item in DynamoDB table\n * @param input input command object\n * @returns true if successful, null in case of error\n *\n * ```js\n * updateItem({\n * table: 'lesson_list',\n * key: { id: 'id_001' },\n * update: 'SET status = :status, #rev = 10',\n * attr: { ':status': 'completed' },\n * attrNames: { '#rev': 'revision' },\n * });\n *\n * interface UpdateItemInput {\n * table: string;\n * key: StringIndexable;\n * update: string;\n * attr: StringIndexable;\n * attrNames?: StringIndexable;\n * }\n * ```\n */\nexport const updateItem = async (input: UpdateItemInput) => {\n if (!dbClient.client) tryInit();\n if (!dbClient.client) return null;\n if (!input.table || !input.key || !input.update || !input.attr) return null;\n\n let cmdParams: UpdateCommandInput = {\n TableName: input.table,\n Key: input.key,\n UpdateExpression: input.update,\n ExpressionAttributeValues: input.attr,\n };\n if (input.attrNames) cmdParams = { ...cmdParams, ExpressionAttributeNames: input.attrNames };\n const command = new UpdateCommand(cmdParams);\n\n try {\n await dbClient.client.send(command);\n } catch (err) {\n console.error('UpdateCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\nexport interface ReadItemInput {\n table: string;\n key: StringIndexable;\n projection?: string;\n attrNames?: StringIndexable;\n}\n\n/**\n * Read an item from DynamoDB table\n * @param input input command object\n * @returns item contents, null in case of error\n *\n * ```js\n * readItem({\n * table: 'lesson_list',\n * key: { id: 'id_001' },\n * projection: 'id, lesson, status',\n * });\n *\n * interface ReadItemInput {\n * table: string;\n * key: StringIndexable;\n * projection?: string;\n * attrNames?: StringIndexable;\n * }\n * ```\n */\nexport const readItem = async <T = any>(input: ReadItemInput) => {\n if (!dbClient.client) tryInit();\n if (!dbClient.client) return null;\n if (!input.table || !input.key) return null;\n\n let contents: T | null = null;\n let cmdParams: GetCommandInput = { TableName: input.table, Key: input.key };\n\n // Ref: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.ProjectionExpressions.html\n if (input.projection) cmdParams = { ...cmdParams, ProjectionExpression: input.projection };\n if (input.attrNames) cmdParams = { ...cmdParams, ExpressionAttributeNames: input.attrNames };\n\n const command = new GetCommand(cmdParams);\n\n try {\n const results = await dbClient.client.send(command);\n const item = results.Item;\n\n if (item) {\n contents = item as T;\n }\n } catch (err) {\n console.error('GetCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return contents;\n};\n\n// Ref: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/dynamodb-example-table-read-write-batch.html\nconst batchReadItems = async <T = any>(\n table: string,\n keys: StringIndexable[],\n projection?: string,\n attrNames?: StringIndexable\n) => {\n if (!dbClient.client) tryInit();\n if (!dbClient.client) return null;\n if (!table || !keys || !Array.isArray(keys)) return null;\n if (!keys.length) return [];\n\n let contents: StringIndexable<T>[] = [];\n\n let reqParams: any = { Keys: keys };\n if (projection) reqParams = { ...reqParams, ProjectionExpression: projection };\n if (attrNames) reqParams = { ...reqParams, ExpressionAttributeNames: attrNames };\n\n const cmdParams: BatchGetCommandInput = {\n RequestItems: {\n [table]: reqParams,\n },\n };\n\n const command = new BatchGetCommand(cmdParams);\n\n try {\n const results = await dbClient.client.send(command);\n const items = results.Responses;\n\n if (items && items[table]) {\n contents = items[table];\n }\n } catch (err) {\n console.error('BatchGetCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return contents;\n};\n\nexport interface ReadItemsAllInput {\n table: string;\n keys: StringIndexable[];\n projection?: string;\n attrNames?: StringIndexable;\n}\n\n/**\n * Read a list of items from DynamoDB table\n * Note: ordering of items in result may not be same as that in `keys`\n * @param input input command object\n * @returns list of contents for items, null in case of error\n *\n * ```js\n * readItemsAll({\n * table: 'lesson_list',\n * keys: [{ id: 'id_001' }, { id: 'id_002' }],\n * projection: 'id, lesson, status',\n * });\n *\n * interface ReadItemsAllInput {\n * table: string;\n * keys: StringIndexable[];\n * projection?: string;\n * attrNames?: StringIndexable;\n * }\n * ```\n */\nexport const readItemsAll = async <T = any>(input: ReadItemsAllInput) => {\n if (!dbClient.client) tryInit();\n if (!dbClient.client) return null;\n if (!input.table || !input.keys || !Array.isArray(input.keys)) return null;\n if (!input.keys.length) return [];\n\n let contents: StringIndexable<T>[] = [];\n let errFlag = false;\n\n const batchedKeys = chunkifyArray(input.keys, BATCH_SIZE);\n const chunkedKeys = chunkifyArray(batchedKeys, CHUNK_SIZE);\n\n for (let i = 0; i < chunkedKeys.length; i += 1) {\n const bchunks = chunkedKeys[i];\n\n const brlist = bchunks.map(ikeys => batchReadItems(input.table, ikeys, input.projection, input.attrNames));\n const bslist = await Promise.all(brlist); // eslint-disable-line no-await-in-loop\n\n const icontents = bslist.flat();\n const isError = icontents.find(e => e === null) === null;\n if (isError) {\n errFlag = true;\n return null;\n }\n if (!errFlag) {\n contents = contents.concat(icontents as StringIndexable[]);\n }\n }\n\n return contents;\n};\n\nexport interface QueryItemsInput {\n table: string;\n indexName?: string;\n cond: string;\n attr: StringIndexable;\n attrNames?: StringIndexable;\n projection?: string;\n desc?: boolean;\n}\n\n/**\n * Query items from a DynamoDB table based on some condition\n * @param input input command object\n * @returns query results array, null in case of error\n *\n * ```js\n * dbQueryItems({\n * table: 'lesson_list',\n * indexName: 'status-revision-index',\n * cond: 'status = :comp AND #rev >= :rev',\n * attr: { ':comp': 'completed', ':rev': 9 },\n * attrNames: { '#rev': 'revision' },\n * projection: 'id, lesson, status, revision',\n * });\n *\n * interface QueryItemsInput {\n * table: string;\n * indexName?: string;\n * cond: string;\n * attr: StringIndexable;\n * attrNames?: StringIndexable;\n * projection?: string;\n * desc?: boolean;\n * }\n * ```\n */\nexport const queryItems = async (input: QueryItemsInput) => {\n if (!dbClient.client) tryInit();\n if (!dbClient.client) return null;\n if (!input.table || !input.cond || !input.attr) return null;\n\n let contents: StringIndexable[] = [];\n const desc = input.desc || false;\n\n // Ref: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html\n // Ref: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html\n // Ref: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/dynamodb-example-query-scan.html\n // Ref: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/SQLtoNoSQL.Indexes.QueryAndScan.html#SQLtoNoSQL.Indexes.QueryAndScan.DynamoDB\n let cmdParams: QueryCommandInput = {\n TableName: input.table,\n KeyConditionExpression: input.cond,\n ExpressionAttributeValues: input.attr,\n // FilterExpression: \"contains (category_id, :cid)\",\n };\n\n if (input.indexName) cmdParams = { ...cmdParams, IndexName: input.indexName };\n if (input.attrNames) cmdParams = { ...cmdParams, ExpressionAttributeNames: input.attrNames };\n if (input.projection) cmdParams = { ...cmdParams, ProjectionExpression: input.projection };\n if (desc) cmdParams = { ...cmdParams, ScanIndexForward: false };\n\n const command = new QueryCommand(cmdParams);\n\n try {\n const results = await dbClient.client.send(command);\n const items = results.Items;\n\n if (items) {\n contents = items;\n }\n } catch (err) {\n console.error('QueryCommandInput:', command.input);\n console.error(err);\n return null;\n // throw err;\n }\n\n return contents;\n};\n\nexport interface ScanItemsInput {\n table: string;\n projection?: string;\n}\n\n/**\n * Scan all items in a DynamoDB table\n * Note: avoid using this method in favour of `queryItems` method due to performance reasons\n * @param input input command object\n * @returns results of the scan query, null in case of error\n *\n * ```js\n * scanItems({\n * table: 'lesson_list',\n * projection: 'id, status',\n * });\n *\n * interface ScanItemsInput {\n * table: string;\n * projection?: string;\n * }\n * ```\n */\nexport const scanItems = async (input: ScanItemsInput) => {\n if (!dbClient.client) tryInit();\n if (!dbClient.client) return null;\n if (!input.table) return null;\n\n let contents: StringIndexable[] = [];\n\n // Ref: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/dynamodb-example-query-scan.html\n let cmdParams: ScanCommandInput = {\n TableName: input.table,\n };\n\n if (input.projection) cmdParams = { ...cmdParams, ProjectionExpression: input.projection };\n\n const command = new ScanCommand(cmdParams);\n\n try {\n const results = await dbClient.client.send(command);\n const items = results.Items;\n\n // Ref: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.Pagination\n if (results.LastEvaluatedKey) {\n warn('[scanItems] Partial results obtained! Consider pagination.');\n }\n\n if (items) {\n contents = items;\n }\n } catch (err) {\n console.error('ScanCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return contents;\n};\n\nexport interface DeleteItemInput {\n table: string;\n key: StringIndexable;\n}\n\n/**\n * Delete an item in a DynamoDB table\n * @param input input command object\n * @returns true if successful, null in case of error\n *\n * ```js\n * deleteItem({\n * table: 'lesson_list',\n * key: { id: 'id_001' },\n * });\n *\n * interface DeleteItemInput {\n * table: string;\n * key: StringIndexable;\n * }\n * ```\n */\nexport const deleteItem = async (input: DeleteItemInput) => {\n if (!dbClient.client) tryInit();\n if (!dbClient.client) return null;\n if (!input.table || !input.key) return null;\n\n const cmdParams: DeleteCommandInput = { TableName: input.table, Key: input.key };\n const command = new DeleteCommand(cmdParams);\n\n try {\n await dbClient.client.send(command);\n } catch (err) {\n console.error('DeleteCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\n// Ref: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/dynamodb-example-table-read-write-batch.html\n// Ref: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-dynamodb/interfaces/batchwriteitemcommandinput.html#requestitems\nconst batchDeleteItems = async (table: string, keys: StringIndexable[]) => {\n if (!dbClient.client) tryInit();\n if (!dbClient.client) return null;\n if (!table || !keys || !Array.isArray(keys)) return null;\n if (!keys.length) return false;\n\n const reqList = keys.map(key => ({ DeleteRequest: { Key: key } }));\n const cmdParams: BatchWriteCommandInput = {\n RequestItems: {\n [table]: reqList,\n },\n };\n\n const command = new BatchWriteCommand(cmdParams);\n\n try {\n await dbClient.client.send(command);\n } catch (err) {\n console.error('BatchWriteCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\nexport interface DeleteItemsAllInput {\n table: string;\n keys: StringIndexable[];\n}\n\n/**\n * Delete a list of items in a DynamoDB table\n * @param input input command object\n * @returns true if successful, null in case of error\n *\n * ```js\n * deleteItemsAll({\n * table: 'lesson_list',\n * keys: [{ id: 'id_001' }, { id: 'id_002' }],\n * });\n *\n * interface DeleteItemsAllInput {\n * table: string;\n * keys: StringIndexable[];\n * }\n * ```\n */\nexport const deleteItemsAll = async (input: DeleteItemsAllInput) => {\n if (!dbClient.client) tryInit();\n if (!dbClient.client) return null;\n if (!input.table || !input.keys || !Array.isArray(input.keys)) return null;\n if (!input.keys.length) return false;\n\n let errFlag = false;\n\n const batchedItems = chunkifyArray(input.keys, BATCH_SIZE);\n const chunkedItems = chunkifyArray(batchedItems, CHUNK_SIZE);\n\n for (let i = 0; i < chunkedItems.length; i += 1) {\n const bchunks = chunkedItems[i];\n\n const brlist = bchunks.map(ikeys => batchDeleteItems(input.table, ikeys));\n const bslist = await Promise.all(brlist); // eslint-disable-line no-await-in-loop\n\n const isSuccess = bslist.every(e => e === true);\n if (!isSuccess) errFlag = true;\n }\n\n return errFlag ? null : true;\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@aws-sdk/client-s3\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"mime-types\");","/**\n * Examples:\n * Ref: https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/s3-examples.html\n */\n\nimport path from 'path';\nimport { Readable } from 'stream';\nimport fs from 'fs';\nimport {\n S3Client,\n PutObjectCommand,\n PutObjectCommandInput,\n GetObjectCommand,\n GetObjectCommandInput,\n ListObjectsV2Command,\n ListObjectsV2CommandInput,\n HeadObjectCommand,\n HeadObjectCommandInput,\n DeleteObjectCommand,\n DeleteObjectCommandInput,\n DeleteObjectsCommand,\n DeleteObjectsCommandInput,\n} from '@aws-sdk/client-s3';\nimport short from 'short-uuid';\nimport mime from 'mime-types';\nimport { chunkifyArray } from '@baadal-sdk/utils';\n\nimport { StringIndexable } from 'src/common/common.model';\nimport { assertPath, fileHash } from '../utils';\nimport { s3Client } from './client';\nimport { CustomError } from '../common/error';\nimport { warn, error } from '../common/logger';\nimport { BATCH_SIZE, CHUNK_SIZE } from '../common/const';\n\n// import { Upload } from \"@aws-sdk/lib-storage\";\n// Multipart upload: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_lib_storage.html\n\nconst AWSS3Error = (msg: string) => new CustomError(msg, { name: 'AWSS3Error' });\n\n/** @internal */\nexport const init = (region: string) => {\n // Ref: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/index.html\n if (!s3Client.client) {\n const awsS3Client = new S3Client({ region }); // may also pass `credentials`\n s3Client.client = awsS3Client;\n s3Client.id = short.uuid();\n return true;\n }\n return false;\n};\n\n/** @internal */\nexport const status = () => s3Client.id;\n\nconst tryInit = (silent = false) => {\n if (s3Client.client) return;\n const region = process.env.AWS_REGION || '';\n if (region) {\n if (init(region)) {\n // console.log('Auto-initialization of S3 successful');\n return;\n }\n }\n if (!silent) {\n // throw AWSS3Error('AWS S3 is possibly uninitialized!');\n throw AWSS3Error('Could not auto-initialize AWS S3!');\n }\n};\n\n// auto-initialize on load\ntryInit(true);\n\n/**\n * Create a new file in S3 bucket\n * @param bucket S3 bucket name\n * @param s3path S3 path to be created\n * @param contents contents of the file to be created\n * @returns true if the write is successful, null in case of error\n */\nexport const putObject = async (bucket: string, s3path: string, contents: string) => {\n if (!s3Client.client) tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !s3path || !contents) return null;\n\n let baseParams: PutObjectCommandInput | null = null;\n\n try {\n baseParams = {\n Bucket: bucket,\n Key: s3path,\n Body: '<contents>',\n ContentType: 'text/plain; charset=utf-8',\n ACL: 'public-read',\n // CacheControl: 'max-age=86400,public',\n };\n const cmdParams: PutObjectCommandInput = { ...baseParams, Body: contents };\n const command = new PutObjectCommand(cmdParams);\n\n await s3Client.client.send(command);\n } catch (err) {\n console.error('PutObjectCommandInput:', baseParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\n/**\n * Upload a file to S3 bucket\n * @param bucket S3 bucket name\n * @param file (local) path of the file to upload\n * @param s3path [optional] S3 path to be created, if not provided then derived from `file` path\n * @returns true if the write is successful, null in case of error\n */\nexport const uploadFile = async (bucket: string, file: string, s3path?: string) => {\n if (!s3Client.client) tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !file) return null;\n\n const filepath = assertPath(file);\n const basename = path.basename(filepath);\n const ext = basename.substr(basename.lastIndexOf('.'));\n const contentType = mime.lookup(ext);\n if (!contentType) {\n error(`Could not detect file type for: ${basename} [${filepath}]`);\n return null;\n }\n\n if (!s3path) {\n if (file !== filepath) {\n s3path = file;\n } else {\n s3path = basename;\n }\n }\n\n let baseParams: PutObjectCommandInput | null = null;\n\n try {\n const hash = (await fileHash(filepath)) || '';\n const fileStream = fs.createReadStream(filepath);\n\n baseParams = {\n Bucket: bucket,\n Key: s3path,\n Body: '<fileStream>',\n ContentType: contentType,\n ACL: 'public-read',\n // CacheControl: 'max-age=86400,public',\n Metadata: { hash },\n };\n const cmdParams: PutObjectCommandInput = { ...baseParams, Body: fileStream };\n const command = new PutObjectCommand(cmdParams);\n\n await s3Client.client.send(command);\n } catch (err) {\n console.error('PutObjectCommandInput:', baseParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\n/**\n * Upload a list of files to S3 bucket\n * @param bucket S3 bucket name\n * @param files (local) list of file paths to upload\n * @param s3paths [optional] S3 path to be created, if not provided then derived from `file` path\n * @returns true if the write is successful, null in case of error\n */\nexport const uploadFilesAll = async (bucket: string, files: string[], s3paths?: string[]) => {\n if (!s3Client.client) tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !files || !Array.isArray(files)) return null;\n if (!files.length) return false;\n if (s3paths && (!Array.isArray(s3paths) || !s3paths.length || files.length !== s3paths.length)) return null;\n\n let errFlag = false;\n\n const chunkedFiles = chunkifyArray(files, CHUNK_SIZE);\n const chunkedPaths = s3paths ? chunkifyArray(s3paths, CHUNK_SIZE) : chunkedFiles;\n\n for (let i = 0; i < chunkedFiles.length; i += 1) {\n const filesChunk = chunkedFiles[i];\n const pathsChunk = chunkedPaths[i];\n const pList = filesChunk.map((item, j) => uploadFile(bucket, item, pathsChunk[j]));\n const rList = await Promise.all(pList); // eslint-disable-line no-await-in-loop\n\n const isSuccess = rList.every(e => e === true);\n if (!isSuccess) errFlag = true;\n }\n\n return errFlag ? null : true;\n};\n\n/**\n * Get the contents of a file in S3 bucket\n * @param bucket S3 bucket name\n * @param s3path S3 path of the file to be read\n * @returns contents of the file, null in case of error\n */\nexport const getObject = async (bucket: string, s3path: string) => {\n if (!s3Client.client) tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !s3path) return null;\n\n let contents: string | null = null;\n const cmdParams: GetObjectCommandInput = { Bucket: bucket, Key: s3path };\n const command = new GetObjectCommand(cmdParams);\n\n try {\n // helper function to convert a ReadableStream to a string\n const streamToString = (stream: Readable): Promise<string> =>\n new Promise((resolve, reject) => {\n const chunks: Uint8Array[] = [];\n stream.on('data', chunk => chunks.push(chunk));\n stream.on('error', reject);\n stream.on('end', () => resolve(Buffer.concat(chunks).toString('utf8')));\n });\n\n const data = await s3Client.client.send(command);\n const bodyContents = await streamToString(data.Body as Readable);\n // const metaData = data.Metadata;\n\n if (bodyContents) {\n contents = bodyContents as string;\n }\n } catch (err) {\n console.error('GetObjectCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return contents;\n};\n\n/**\n * Download a file from S3 bucket\n * @param bucket S3 bucket name\n * @param s3path S3 path of the file to be downloaded\n * @param outPath [optional] path where the downloaded file is written, if not provided then derived from `s3path`\n * @returns true if download is successful, null in case of error\n */\nexport const downloadFile = async (bucket: string, s3path: string, outPath?: string) => {\n if (!s3Client.client) tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !s3path) return null;\n\n if (!outPath) outPath = s3path;\n outPath = assertPath(outPath);\n const cmdParams: GetObjectCommandInput = { Bucket: bucket, Key: s3path };\n const command = new GetObjectCommand(cmdParams);\n\n try {\n // helper function to write a ReadableStream to a file\n const writeStreamToFile = (stream: Readable): Promise<void> =>\n new Promise((resolve, reject) => {\n // Ref: https://stackabuse.com/writing-to-files-in-node-js/\n const writeStream = fs.createWriteStream(outPath as string);\n stream.on('data', chunk => writeStream.write(chunk));\n stream.on('error', reject);\n stream.on('end', () => resolve(writeStream.close()));\n });\n\n const data = await s3Client.client.send(command);\n await writeStreamToFile(data.Body as Readable);\n // const metaData = data.Metadata;\n } catch (err: any) {\n if (err.name !== 'NoSuchKey') {\n console.error('GetObjectCommandInput:', cmdParams);\n console.error(err);\n }\n return null;\n // throw err;\n }\n\n return true;\n};\n\n/**\n * List objects in a S3 bucket\n * @param bucket S3 bucket name\n * @param prefix [optional] prefix for object names in the bucket\n * @returns list of objects in the S3 bucket (optionally starting with the given prefix), null in case of error\n */\nexport const listObjects = async (bucket: string, prefix?: string) => {\n if (!s3Client.client) tryInit();\n if (!s3Client.client) return null;\n if (!bucket) return null;\n\n let filesList: string[] = [];\n\n let cmdParams: ListObjectsV2CommandInput = { Bucket: bucket };\n if (prefix) cmdParams = { ...cmdParams, Prefix: prefix };\n const command = new ListObjectsV2Command(cmdParams);\n\n try {\n const results = await s3Client.client.send(command);\n const items = results.Contents;\n\n // Ref: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html\n if (results.IsTruncated) {\n warn('[listObjects] Partial results obtained! Consider pagination.');\n }\n\n if (items) {\n filesList = items.map(t => t.Key).filter(e => !!e) as string[];\n }\n } catch (err) {\n console.error('ListObjectsV2CommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return filesList;\n};\n\n/**\n * Get head content for a file in S3 bucket\n * @param bucket S3 bucket name\n * @param s3path S3 path of the file\n * @returns head content for the given file, null in case of error\n */\nexport const getObjectHead = async (bucket: string, s3path: string) => {\n if (!s3Client.client) tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !s3path) return null;\n\n let contents: HeadObject | null = null;\n\n const cmdParams: HeadObjectCommandInput = { Bucket: bucket, Key: s3path };\n const command = new HeadObjectCommand(cmdParams);\n\n try {\n const data = await s3Client.client.send(command);\n if (data) {\n const { ContentLength, ContentType, ETag, CacheControl, Expires, LastModified, Metadata } = data;\n contents = { Key: s3path, ContentLength, ContentType, ETag, CacheControl, Expires, LastModified, Metadata };\n }\n } catch (err: any) {\n if (err.name !== 'NotFound') {\n console.error('HeadObjectCommandInput:', cmdParams);\n console.error(err);\n }\n return null;\n // throw err;\n }\n\n return contents;\n};\n\n/**\n * Get head contents for a list of files in S3 bucket\n * @param bucket S3 bucket name\n * @param s3paths list of S3 paths of the files\n * @returns head contents for the given files, null in case of error\n */\nexport const getObjectHeadsAll = async (bucket: string, s3paths: string[]) => {\n if (!s3Client.client) tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !s3paths || !Array.isArray(s3paths)) return null;\n if (!s3paths.length) return [];\n\n let contents: (HeadObject | null)[] = [];\n\n const chunkedItems = chunkifyArray(s3paths, CHUNK_SIZE);\n\n for (let i = 0; i < chunkedItems.length; i += 1) {\n const chunk = chunkedItems[i];\n const pList = chunk.map(item => getObjectHead(bucket, item));\n const rList = await Promise.all(pList); // eslint-disable-line no-await-in-loop\n\n contents = contents.concat(rList);\n }\n\n if (contents.length) {\n contents = contents.filter(e => !!e);\n }\n\n return contents;\n};\n\n/**\n * Delete a file in S3 bucket\n * @param bucket S3 bucket name\n * @param s3path S3 file path to be deleted\n * @returns true if delete is successful, null in case of error\n */\nexport const deleteObject = async (bucket: string, s3path: string) => {\n if (!s3Client.client) tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !s3path) return null;\n\n const cmdParams: DeleteObjectCommandInput = { Bucket: bucket, Key: s3path };\n const command = new DeleteObjectCommand(cmdParams);\n\n try {\n await s3Client.client.send(command);\n } catch (err) {\n console.error('DeleteObjectCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\nconst batchDeleteObjects = async (bucket: string, s3paths: string[]) => {\n if (!s3Client.client) tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !s3paths || !Array.isArray(s3paths)) return null;\n if (!s3paths.length) return false;\n\n const keys = s3paths.map(key => ({ Key: key }));\n const cmdParams: DeleteObjectsCommandInput = { Bucket: bucket, Delete: { Objects: keys } };\n const command = new DeleteObjectsCommand(cmdParams);\n\n try {\n await s3Client.client.send(command);\n } catch (err) {\n console.error('DeleteObjectsCommandInput:', cmdParams);\n console.error(err);\n return null;\n // throw err;\n }\n\n return true;\n};\n\n/**\n * Delete a list of files in S3 bucket\n * @param bucket S3 bucket name\n * @param s3paths list of S3 file paths to be deleted\n * @returns true if all deletes are successful, null in case of error\n */\nexport const deleteObjectsAll = async (bucket: string, s3paths: string[]) => {\n if (!s3Client.client) tryInit();\n if (!s3Client.client) return null;\n if (!bucket || !s3paths || !Array.isArray(s3paths)) return null;\n if (!s3paths.length) return false;\n\n let errFlag = false;\n\n const batchedFiles = chunkifyArray(s3paths, BATCH_SIZE);\n const chunkedFiles = chunkifyArray(batchedFiles, CHUNK_SIZE);\n\n for (let i = 0; i < chunkedFiles.length; i += 1) {\n const batchFiles = chunkedFiles[i];\n\n const brlist = batchFiles.map(paths => batchDeleteObjects(bucket, paths));\n const bslist = await Promise.all(brlist); // eslint-disable-line no-await-in-loop\n\n const isSuccess = bslist.every(e => e === true);\n if (!isSuccess) errFlag = true;\n }\n\n return errFlag ? null : true;\n};\n\nexport interface HeadObject {\n Key: string;\n ContentLength?: number;\n ContentType?: string;\n ETag?: string;\n CacheControl?: string;\n Expires?: Date;\n LastModified?: Date;\n Metadata?: StringIndexable;\n}\n","import * as db from './db';\nimport * as s3 from './s3';\nimport { warn, error } from '../common/logger';\n\n// Ref: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/index.html\n// Types: https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_types.html\n\nconst { init: dbInit, status: dbStatus } = db;\nconst { init: s3Init, status: s3Status } = s3;\n\n/**\n * @deprecated explicit init deprecated!\n */\nexport const init = (region: string) => {\n warn('[@baadal-sdk/dapi] aws explicit init deprecated!');\n if (!region) {\n error(`AWS initialization error! Missing region: ${region}`);\n return false;\n }\n\n const cond1 = dbInit(region);\n const cond2 = s3Init(region);\n return cond1 && cond2;\n};\n\nexport const status = () => {\n return {\n db: dbStatus(),\n s3: s3Status(),\n };\n};\n\nexport { db, s3 }; // named exports\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@octokit/core\");","import { Octokit } from '@octokit/core';\n\nimport { CustomError } from '../common/error';\nimport { error } from '../common/logger';\n\nlet github: Octokit | null = null;\nlet owner: string | null = null;\n\nconst GitHubError = (msg: string) => new CustomError(msg, { name: 'GitHubError' });\n\nconst initializationError = () => {\n throw GitHubError('GitHub SDK is possibly uninitialized!');\n};\n\n/**\n * Initialize GitHub SDK\n * @param authToken GitHub auth token for the user account [GITHUB_TOKEN]\n * @param account account id for the GitHub user account [GITHUB_ACCOUNT]\n */\nexport const init = (authToken: string, account: string) => {\n if (!authToken || !account) {\n error(`GitHub initialization error! authToken: ${!!authToken}, account: ${!!account}`);\n return;\n }\n github = new Octokit({ auth: authToken });\n owner = account;\n};\n\n/**\n * Get contents of a particular file in a repo\n * @param repo name of the repo\n * @param path path of a file in the repo\n * @returns an object {response,headers} containing response and response headers, null in case of error\n */\nexport const getContent = async (repo: string, path: string) => {\n if (!github || !owner) return initializationError();\n\n try {\n const ghResp = await github.request('GET /repos/{owner}/{repo}/contents/{path}', {\n owner,\n repo,\n path,\n });\n const response = ghResp.data as GitHubContent;\n const { headers } = ghResp;\n return { response, headers };\n } catch (e) {\n error(`[ERROR:gh.getContent]`, e);\n }\n\n return null;\n};\n\n// --------------\n\nexport interface GitHubContent {\n path: string;\n content: string;\n sha: string;\n}\n","import * as fs from './fs';\nimport * as aws from './aws';\nimport * as gh from './gh';\nimport * as utils from './utils';\n\n// Ref: https://stackoverflow.com/a/41283945\nexport { fs, aws, gh, utils }; // named exports\nexport default { fs, aws, gh, utils }; // default export\n"],"names":["module","exports","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","console","log","cwarn","warn","cerror","error","window","chalk","assertPath","p","startsWith","path","process","cwd","sha1Hash","data","hashSum","crypto","update","digest","sha256Hash","fileHash","file","contents","fsa","CustomError","message","options","Error","captureStackTrace","name","existsFileSync","loud","fs","e","existsDirSync","dir","readFile","readFileSync","readDir","hiddenItems","dirs","files","withFileTypes","forEach","item","isDirectory","push","isFile","filter","f","readDirFiles","readDirDirs","readDirFilesRecHelper","basePath","dirPath","readDirObj","allFiles","map","absDirs","pList","dirx","Promise","all","filesx","readDirFilesRec","writeFile","substring","lastIndexOf","recursive","appendToFile","renameFile","oldpath","newpath","createDir","deleteFile","deleteDir","rimraf","rimrafPr","util","dbClient","client","id","s3Client","CHUNK_SIZE","DynamoDBError","msg","init","region","dydbClient","DynamoDBClient","DynamoDBDocumentClient","short","status","tryInit","silent","env","AWS_REGION","writeItemForceHelper","table","i","cmdParams","TableName","Item","ConditionExpression","command","PutCommand","numberOfAttempts","send","ret","writeItemForce","input","writeItem","batchWriteItems","items","Array","isArray","length","reqList","PutRequest","RequestItems","BatchWriteCommand","writeItemsAll","errFlag","batchedItems","chunkifyArray","chunkedItems","bchunks","brlist","iItems","every","updateItem","attr","Key","UpdateExpression","ExpressionAttributeValues","attrNames","ExpressionAttributeNames","UpdateCommand","readItem","projection","ProjectionExpression","GetCommand","results","batchReadItems","keys","reqParams","Keys","BatchGetCommand","Responses","readItemsAll","batchedKeys","chunkedKeys","ikeys","bslist","icontents","flat","find","concat","queryItems","cond","desc","KeyConditionExpression","indexName","IndexName","ScanIndexForward","QueryCommand","Items","scanItems","ScanCommand","LastEvaluatedKey","deleteItem","DeleteCommand","batchDeleteItems","DeleteRequest","deleteItemsAll","AWSS3Error","awsS3Client","S3Client","putObject","bucket","s3path","baseParams","Bucket","Body","ContentType","ACL","PutObjectCommand","uploadFile","filepath","basename","ext","substr","contentType","mime","hash","fileStream","Metadata","uploadFilesAll","s3paths","chunkedFiles","chunkedPaths","filesChunk","pathsChunk","j","getObject","GetObjectCommand","streamToString","stream","resolve","reject","chunks","on","chunk","Buffer","toString","bodyContents","downloadFile","outPath","writeStreamToFile","writeStream","write","close","listObjects","prefix","filesList","Prefix","ListObjectsV2Command","Contents","IsTruncated","t","getObjectHead","HeadObjectCommand","ContentLength","ETag","CacheControl","Expires","LastModified","getObjectHeadsAll","rList","deleteObject","DeleteObjectCommand","batchDeleteObjects","Delete","Objects","DeleteObjectsCommand","deleteObjectsAll","batchedFiles","batchFiles","paths","dbInit","db","dbStatus","s3Init","s3","s3Status","cond1","cond2","github","owner","initializationError","authToken","account","Octokit","auth","getContent","repo","request","ghResp","response","headers","aws","gh","utils"],"sourceRoot":""}