UNPKG

@arcane-utils/storage

Version:

Storage helper functions.

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