UNPKG

grafo-client

Version:

Grafo Client API Library

1 lines 2.37 kB
var moment=require("moment"),async=require("async");this.unixFormatToDate=function(e){return e?moment.unix(e).format("YYYY-MM-DD"):null},this.customPush=function(e,i){for(const t of i)e.push(t);return e},this.deepCopy=function(e){if(!e)return e;let i,t=Array.isArray(e)?[]:{};for(const o in e)i=e[o],t[o]="object"==typeof i?this.deepCopy(i):i;return t},this.eachSeries=function(e,i,t){return new Promise((o,n)=>{async.eachSeries(e,(e,o)=>{i(e,t).then(()=>{o()}).catch(e=>{console.log(e),n(e)})},(e,i)=>{e?n(e):o(i||"Done")})})},this.eachSeriesCbFunctionWithoutPromise=function(e,i,t){return new Promise((o,n)=>{async.eachSeries(e,(e,o)=>{i(e,t),async.setImmediate(function(){o()})},(e,i)=>{e?n(e):o(i||"Done")})})},this.eachSeriesFindById=function(e,i){return new Promise((t,o)=>{let n=null;async.eachSeries(e,(e,t)=>{if(e.id===i){n=e;let i=new Error;return i.breakOutOfLoop=!0,t(i)}t()},e=>{e&&!e.breakOutOfLoop?o(e):t(n)})})},this.eachSeriesUpdateCollectionWithSuppliedData=function(e,i,t,o){return new Promise((n,r)=>{async.eachSeries(e,(e,n)=>{o.onValue&&(i[e]=t),o.onValueId&&(i[e.id]=t),async.setImmediate(function(){n()})},(e,i)=>{e?r(e):n(i||"Done")})})},this.forEachOfSeries=function(e,i,t){return new Promise((o,n)=>{async.forEachOfSeries(e,(e,o,r)=>{i(e,o,t).then(()=>{r()}).catch(e=>{console.log(e),n(e)})},(e,i)=>{e?n(e):o(i||"Done")})})},this.forEachOfSeriesUpdateCollectionWithSuppliedData=function(e,i,t,o){return new Promise((n,r)=>{async.forEachOfSeries(e,(e,n,r)=>{i[n]=t,o&&(o.onValue&&(i[e]=t),o.onValueId&&(i[e.id]=t),o.onKey&&(i[n]=t)),async.setImmediate(function(){r()})},(e,i)=>{e?r(e):n(i||"Done")})})},this.forEachOfSeriesWithoutPromise=function(e,i,t){return new Promise((o,n)=>{async.forEachOfSeries(e,(e,o,n)=>{i(e,o,t),async.setImmediate(function(){n()})},(e,i)=>{e?n(e):o(i||"Done")})})},module.exports={unixFormatToDate:this.unixFormatToDate,customPush:this.customPush,deepCopy:this.deepCopy,eachSeries:this.eachSeries,eachSeriesCbFunctionWithoutPromise:this.eachSeriesCbFunctionWithoutPromise,eachSeriesFindById:this.eachSeriesFindById,eachSeriesUpdateCollectionWithSuppliedData:this.eachSeriesUpdateCollectionWithSuppliedData,forEachOfSeries:this.forEachOfSeries,forEachOfSeriesWithoutPromise:this.forEachOfSeriesWithoutPromise,forEachOfSeriesUpdateCollectionWithSuppliedData:this.forEachOfSeriesUpdateCollectionWithSuppliedData};