UNPKG

@arcane-utils/storage

Version:

Storage helper functions.

2 lines 3.41 kB
var L=Object.create;var d=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty;var G=(e,t)=>{for(var o in t)d(e,o,{get:t[o],enumerable:!0})},h=(e,t,o,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of B(t))!j.call(e,r)&&r!==o&&d(e,r,{get:()=>t[r],enumerable:!(a=P(t,r))||a.enumerable});return e};var w=(e,t,o)=>(o=e!=null?L(v(e)):{},h(t||!e||!e.__esModule?d(o,"default",{value:e,enumerable:!0}):o,e)),H=e=>h(d({},"__esModule",{value:!0}),e);var k={};G(k,{HUBMETRICS_FILE_FOLDER:()=>x,concatenateSubFiles:()=>E,copyFile:()=>R,deleteFiles:()=>u,downloadFile:()=>S,getFileACL:()=>b,getFileHash:()=>M,getFileObject:()=>T,getStorageClient:()=>_,googleStorage:()=>D,setFileMetadata:()=>A,uploadFile:()=>O});module.exports=H(k);var D=w(require("@google-cloud/storage"),1);var f=require("@google-cloud/storage"),C=require("uuid"),n=w(require("promise-retry"),1),c=require("@arcane-utils/error"),i={retries:5,factor:2,minTimeout:1e3},x="hubmetrics_75012",_=(e,t)=>new f.Storage({projectId:e,keyFilename:t}),T=(e,t,o)=>o.bucket(e).file(t),b=async(e,t)=>(0,n.default)(async(o,a)=>{try{return await e.acl.get(t)}catch(r){throw(0,c.shouldRetryGoogleRequest)(r.code)&&(console.log(`Could not get ACL: ${r.message}. Attempt is ${a}. Trying again...`),o(r)),r}},i),A=async(e,t)=>(0,n.default)(async(o,a)=>{try{await e.setMetadata(t)}catch(r){throw(0,c.shouldRetryGoogleRequest)(r.code)&&(console.log(`Could not set metadata: ${r.message}. Attempt is ${a}. Trying again...`),o(r)),r}},i),R=async(e,t,o)=>(0,n.default)(async(a,r)=>{try{await e.copy(t,o)}catch(l){throw(0,c.shouldRetryGoogleRequest)(l.code)&&(console.log(`Could not copy ${e.name} to ${t}: ${l.message}. Attempt is ${r}. Trying again...`),a(l)),l}},i),S=async(e,t)=>(0,n.default)(async(o,a)=>{try{await e.download({destination:t})}catch(r){(0,c.shouldRetryGoogleRequest)(r.code)&&(console.log(`Could not download ${e} to ${t}: ${r.message}. Attempt is ${a}. Trying again...`),o(r))}},i),M=async e=>(0,n.default)(async(t,o)=>{try{let[a]=await e.getMetadata();console.log(`Crc32c: ${a.crc32c}`);let{crc32c:r}=a;return r}catch(a){(0,c.shouldRetryGoogleRequest)(a.code)&&(console.log(`Could not getFileMetadata ${e} : ${a.message}. Attempt is ${o}. Trying again...`),t(a))}},i),O=async(e,t,o)=>(0,n.default)(async a=>{try{await e.upload(t,{destination:o})}catch(r){console.log(`${t} uploaded to ${e.name}`),a(r)}},i),u=async e=>(0,n.default)(async t=>{try{await Promise.all(e.map(o=>o.delete()))}catch(o){t(o)}},i),E=async(e,t,o,a=console,r)=>(0,n.default)(async(l,I)=>{let p=1,g=[...e],F=[],$=(0,C.v4)();for(;g.length>32;){let s=1,m=[];for(let y=0;y<g.length;y+=1)m.push(g[y]),(m.length===32||y===e.length-1)&&(await o.combine(m,`${t.name}_${$}/temp_combine_${p}/file_combined_${s}`),s+=1,m=[]);[g]=await o.getFiles({prefix:`${t.name}_${$}/temp_combine_${p}`}),F=F.concat([...g]),p+=1}try{return await o.combine(g,t),r&&t.setMetadata({metadata:r}),await u(F),t}catch(s){if((0,c.shouldRetryGoogleRequest)(s.code))return a.info(`Could not concatenate sub files. Attempt is ${I}. Trying again...`),a.info(s),l(s);throw s}},i);0&&(module.exports={HUBMETRICS_FILE_FOLDER,concatenateSubFiles,copyFile,deleteFiles,downloadFile,getFileACL,getFileHash,getFileObject,getStorageClient,googleStorage,setFileMetadata,uploadFile}); //# sourceMappingURL=index.cjs.map