@rent-scraper/utils 1.0.13-beta.3 → 1.0.14-beta.1

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.
Files changed (2) hide show
  1. package/dist/index.mjs +1 -1
  2. package/package.json +2 -2
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{readdir as S,access as w,readFile as p,writeFile as y}from"fs/promises";import f,{readdirSync as N}from"fs";import c from"path";import*as b from"csv";import d from"yaml";const $=(e,r)=>e.reduce((t,a)=>({...t,[a[r]]:(t[a[r]]||[]).concat(a)}),{}),g=e=>typeof e=="object"&&!!e,E=e=>g(e)&&Object.keys(e).length===0;function F(e,r){throw new Error(JSON.stringify({status:r??400,message:e}))}const x=e=>JSON.parse(e?.message),h=(e,r)=>e.length<=r?[e]:[e.slice(0,r),...h(e.slice(r),r)],l=(e,r)=>{const{round:t,zeros:a,type:i}=r??{};let s=e;return s=Number(t?m(e,t):s),s=a?Number(s).toFixed(a):s,s=i==="%"?`${s}%`:s,s=i==="$"?`$${s}`:s,r?s:Number(s)},D=e=>l(e,{round:100,zeros:2,type:"$"}),O=(e,r)=>{const{round:t=100}=r??{};return l(e,{round:t,type:"%"})},v=e=>Number(l(e,{round:100,zeros:2})),m=(e,r=100)=>Math.round(Number(e)*r)/r,I=e=>{const r=e?.replace("$","")?.replace(",","");return Number(r)},T=e=>{const r=e?.replace("+","")?.replace("%","");return m(Number(r)/100,1e3)},A=e=>e==="true"||Number(e)===1,j=e=>{if(e?.response){const{status:r,data:t}=e?.response??{};return{status:r,message:t}}else{if(e?.errors)return{status:400,message:e?.errors?.map(r=>r).map(r=>r?.message).join("")};try{if(e?.body){const{status:r,message:t}=JSON.parse(e?.body)??{};return{status:r,message:t}}else{const{status:r,message:t}=JSON.parse(e?.message)??{};return{status:r,message:t}}}catch{console.log(e);const{status:r,message:t}=e??{};return{status:r||400,message:t||"Internal Server Error"}}}},J=(e,r,t)=>{const a=e.toString(),i=r.toString().padStart(2,"0"),s=t.toString().padStart(2,"0");return new Date(`${a}-${i}-${s}T00:00:00-08:00`)},P=async(e,r)=>{const{extension:t,prefix:a,prependDirectory:i,recursive:s=!1}=r??{},u=await S(e,{recursive:s});let o=t?u.filter(n=>Array.isArray(t)?t.includes(c.extname(n)):c.extname(n)===t):u;return o=a?o.filter(n=>n.startsWith(a)):o,o=o.filter(n=>n!==".DS_Store"),i?o.map(n=>`${e}/${n}`):o},k=(e,r)=>{const{extension:t,prefix:a,prependDirectory:i,recursive:s=!1}=r??{},u=N(e,{recursive:s});let o=t?u.filter(n=>Array.isArray(t)?t.includes(c.extname(n)):c.extname(n)===t):u;return o=a?o.filter(n=>n.startsWith(a)):o,o=o.filter(n=>n!==".DS_Store"),i?o.map(n=>`${e}/${n}`):o},z=async e=>{try{if(await w(e),(await p(e)).length)return!0}catch(r){if(r?.code==="EISDIR")return!0;if(r?.code==="ENOENT")return!1;throw r}},C=e=>c.resolve(c.join(process.env.INIT_CWD,e)),M=e=>e[Math.floor(Math.random()*e.length)],R=async(e,r)=>{const t=[],a=f.createReadStream(e).pipe(b.parse(r));for await(const i of a)t.push(i);return t},W=async e=>{const r=[],t=(await p(e,"utf8")).replace(/\n/g,",").replace(/ /g,"").split(",");for(const a of t)r.push(a);return r},_=async e=>JSON.parse(await p(e,"utf8")),B=async e=>{try{return d.parse(await p(e,"utf8"))}catch(r){r?.code==="ENOENT"&&await f.promises.writeFile(e,"")}},V=async(e,r)=>{await y(e,d.stringify(r))},Y=(e,r)=>e?.filter(t=>!r?.includes(t));class K{errors;constructor(r=[]){this.errors=r}add(r,t){t instanceof Error&&(r+=`: ${t.message}`),this.errors.push(r)}get(){return this.errors}async write(r,t){await y(r,t)}}export{K as ErrorLog,z as checkForFile,h as chunkArray,Y as compareArrays,J as createDayStartInPST,M as getRandomArrayValue,$ as groupByKey,E as isEmptyObject,g as isObject,C as parseAbsolutePath,R as parseCsvFile,D as parseCurrency,j as parseError,_ as parseJsonFile,l as parseNumber,O as parsePercentage,v as parsePrice,x as parseThrownError,W as parseTxtFile,B as parseYamlFile,T as percentageToDecimal,I as priceToInteger,P as readFilesInDirectory,k as readFilesInDirectorySync,m as roundValue,F as throwError,A as validateBooleanString,V as writeYamlFile};
1
+ import{readdir as ue,access as oe,readFile as L,writeFile as Q}from"fs/promises";import G,{readdirSync as ce}from"fs";import E from"path";import*as fe from"csv";import X from"yaml";function le(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var z={exports:{}},he=z.exports,ee;function de(){return ee||(ee=1,(function(e,s){(function(i,h){e.exports=h()})(he,(function(){var i=1e3,h=6e4,D=36e5,m="millisecond",M="second",$="minute",d="hour",O="day",C="week",b="month",R="quarter",_="year",k="date",Z="Invalid Date",ne=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,se=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,ae={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(u){var n=["th","st","nd","rd"],t=u%100;return"["+u+(n[(t-20)%10]||n[t]||n[0])+"]"}},U=function(u,n,t){var a=String(u);return!a||a.length>=n?u:""+Array(n+1-a.length).join(t)+u},ie={s:U,z:function(u){var n=-u.utcOffset(),t=Math.abs(n),a=Math.floor(t/60),r=t%60;return(n<=0?"+":"-")+U(a,2,"0")+":"+U(r,2,"0")},m:function u(n,t){if(n.date()<t.date())return-u(t,n);var a=12*(t.year()-n.year())+(t.month()-n.month()),r=n.clone().add(a,b),o=t-r<0,c=n.clone().add(a+(o?-1:1),b);return+(-(a+(t-r)/(o?r-c:c-r))||0)},a:function(u){return u<0?Math.ceil(u)||0:Math.floor(u)},p:function(u){return{M:b,y:_,w:C,d:O,D:k,h:d,m:$,s:M,ms:m,Q:R}[u]||String(u||"").toLowerCase().replace(/s$/,"")},u:function(u){return u===void 0}},A="en",N={};N[A]=ae;var B="$isDayjsObject",V=function(u){return u instanceof W||!(!u||!u[B])},H=function u(n,t,a){var r;if(!n)return A;if(typeof n=="string"){var o=n.toLowerCase();N[o]&&(r=o),t&&(N[o]=t,r=o);var c=n.split("-");if(!r&&c.length>1)return u(c[0])}else{var l=n.name;N[l]=n,r=l}return!a&&r&&(A=r),r||!a&&A},y=function(u,n){if(V(u))return u.clone();var t=typeof n=="object"?n:{};return t.date=u,t.args=arguments,new W(t)},f=ie;f.l=H,f.i=V,f.w=function(u,n){return y(u,{locale:n.$L,utc:n.$u,x:n.$x,$offset:n.$offset})};var W=(function(){function u(t){this.$L=H(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[B]=!0}var n=u.prototype;return n.parse=function(t){this.$d=(function(a){var r=a.date,o=a.utc;if(r===null)return new Date(NaN);if(f.u(r))return new Date;if(r instanceof Date)return new Date(r);if(typeof r=="string"&&!/Z$/i.test(r)){var c=r.match(ne);if(c){var l=c[2]-1||0,p=(c[7]||"0").substring(0,3);return o?new Date(Date.UTC(c[1],l,c[3]||1,c[4]||0,c[5]||0,c[6]||0,p)):new Date(c[1],l,c[3]||1,c[4]||0,c[5]||0,c[6]||0,p)}}return new Date(r)})(t),this.init()},n.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},n.$utils=function(){return f},n.isValid=function(){return this.$d.toString()!==Z},n.isSame=function(t,a){var r=y(t);return this.startOf(a)<=r&&r<=this.endOf(a)},n.isAfter=function(t,a){return y(t)<this.startOf(a)},n.isBefore=function(t,a){return this.endOf(a)<y(t)},n.$g=function(t,a,r){return f.u(t)?this[a]:this.set(r,t)},n.unix=function(){return Math.floor(this.valueOf()/1e3)},n.valueOf=function(){return this.$d.getTime()},n.startOf=function(t,a){var r=this,o=!!f.u(a)||a,c=f.p(t),l=function(j,v){var x=f.w(r.$u?Date.UTC(r.$y,v,j):new Date(r.$y,v,j),r);return o?x:x.endOf(O)},p=function(j,v){return f.w(r.toDate()[j].apply(r.toDate("s"),(o?[0,0,0,0]:[23,59,59,999]).slice(v)),r)},g=this.$W,S=this.$M,w=this.$D,F="set"+(this.$u?"UTC":"");switch(c){case _:return o?l(1,0):l(31,11);case b:return o?l(1,S):l(0,S+1);case C:var T=this.$locale().weekStart||0,I=(g<T?g+7:g)-T;return l(o?w-I:w+(6-I),S);case O:case k:return p(F+"Hours",0);case d:return p(F+"Minutes",1);case $:return p(F+"Seconds",2);case M:return p(F+"Milliseconds",3);default:return this.clone()}},n.endOf=function(t){return this.startOf(t,!1)},n.$set=function(t,a){var r,o=f.p(t),c="set"+(this.$u?"UTC":""),l=(r={},r[O]=c+"Date",r[k]=c+"Date",r[b]=c+"Month",r[_]=c+"FullYear",r[d]=c+"Hours",r[$]=c+"Minutes",r[M]=c+"Seconds",r[m]=c+"Milliseconds",r)[o],p=o===O?this.$D+(a-this.$W):a;if(o===b||o===_){var g=this.clone().set(k,1);g.$d[l](p),g.init(),this.$d=g.set(k,Math.min(this.$D,g.daysInMonth())).$d}else l&&this.$d[l](p);return this.init(),this},n.set=function(t,a){return this.clone().$set(t,a)},n.get=function(t){return this[f.p(t)]()},n.add=function(t,a){var r,o=this;t=Number(t);var c=f.p(a),l=function(S){var w=y(o);return f.w(w.date(w.date()+Math.round(S*t)),o)};if(c===b)return this.set(b,this.$M+t);if(c===_)return this.set(_,this.$y+t);if(c===O)return l(1);if(c===C)return l(7);var p=(r={},r[$]=h,r[d]=D,r[M]=i,r)[c]||1,g=this.$d.getTime()+t*p;return f.w(g,this)},n.subtract=function(t,a){return this.add(-1*t,a)},n.format=function(t){var a=this,r=this.$locale();if(!this.isValid())return r.invalidDate||Z;var o=t||"YYYY-MM-DDTHH:mm:ssZ",c=f.z(this),l=this.$H,p=this.$m,g=this.$M,S=r.weekdays,w=r.months,F=r.meridiem,T=function(v,x,Y,J){return v&&(v[x]||v(a,o))||Y[x].slice(0,J)},I=function(v){return f.s(l%12||12,v,"0")},j=F||function(v,x,Y){var J=v<12?"AM":"PM";return Y?J.toLowerCase():J};return o.replace(se,(function(v,x){return x||(function(Y){switch(Y){case"YY":return String(a.$y).slice(-2);case"YYYY":return f.s(a.$y,4,"0");case"M":return g+1;case"MM":return f.s(g+1,2,"0");case"MMM":return T(r.monthsShort,g,w,3);case"MMMM":return T(w,g);case"D":return a.$D;case"DD":return f.s(a.$D,2,"0");case"d":return String(a.$W);case"dd":return T(r.weekdaysMin,a.$W,S,2);case"ddd":return T(r.weekdaysShort,a.$W,S,3);case"dddd":return S[a.$W];case"H":return String(l);case"HH":return f.s(l,2,"0");case"h":return I(1);case"hh":return I(2);case"a":return j(l,p,!0);case"A":return j(l,p,!1);case"m":return String(p);case"mm":return f.s(p,2,"0");case"s":return String(a.$s);case"ss":return f.s(a.$s,2,"0");case"SSS":return f.s(a.$ms,3,"0");case"Z":return c}return null})(v)||c.replace(":","")}))},n.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},n.diff=function(t,a,r){var o,c=this,l=f.p(a),p=y(t),g=(p.utcOffset()-this.utcOffset())*h,S=this-p,w=function(){return f.m(c,p)};switch(l){case _:o=w()/12;break;case b:o=w();break;case R:o=w()/3;break;case C:o=(S-g)/6048e5;break;case O:o=(S-g)/864e5;break;case d:o=S/D;break;case $:o=S/h;break;case M:o=S/i;break;default:o=S}return r?o:f.a(o)},n.daysInMonth=function(){return this.endOf(b).$D},n.$locale=function(){return N[this.$L]},n.locale=function(t,a){if(!t)return this.$L;var r=this.clone(),o=H(t,a,!0);return o&&(r.$L=o),r},n.clone=function(){return f.w(this.$d,this)},n.toDate=function(){return new Date(this.valueOf())},n.toJSON=function(){return this.isValid()?this.toISOString():null},n.toISOString=function(){return this.$d.toISOString()},n.toString=function(){return this.$d.toUTCString()},u})(),K=W.prototype;return y.prototype=K,[["$ms",m],["$s",M],["$m",$],["$H",d],["$W",O],["$M",b],["$y",_],["$D",k]].forEach((function(u){K[u[1]]=function(n){return this.$g(n,u[0],u[1])}})),y.extend=function(u,n){return u.$i||(u(n,W,y),u.$i=!0),y},y.locale=H,y.isDayjs=V,y.unix=function(u){return y(1e3*u)},y.en=N[A],y.Ls=N,y.p={},y}))})(z)),z.exports}var me=de();const $e=le(me),pe=(e,s)=>e.reduce((i,h)=>({...i,[h[s]]:(i[h[s]]||[]).concat(h)}),{}),te=e=>typeof e=="object"&&!!e,ye=e=>te(e)&&Object.keys(e).length===0;function ge(e,s){throw new Error(JSON.stringify({status:s??400,message:e}))}const Se=e=>JSON.parse(e?.message),re=(e,s)=>e.length<=s?[e]:[e.slice(0,s),...re(e.slice(s),s)],P=(e,s)=>{const{round:i,zeros:h,type:D}=s??{};let m=e;return m=Number(i?q(e,i):m),m=h?Number(m).toFixed(h):m,m=D==="%"?`${m}%`:m,m=D==="$"?`$${m}`:m,s?m:Number(m)},ve=e=>P(e,{round:100,zeros:2,type:"$"}),De=(e,s)=>{const{round:i=100}=s??{};return P(e,{round:i,type:"%"})},Me=e=>Number(P(e,{round:100,zeros:2})),q=(e,s=100)=>Math.round(Number(e)*s)/s,we=e=>{const s=e?.replace("$","")?.replace(",","");return Number(s)},be=e=>{const s=e?.replace("+","")?.replace("%","");return q(Number(s)/100,1e3)},Oe=e=>e==="true"||Number(e)===1,_e=e=>{if(e?.response){const{status:s,data:i}=e?.response??{};return{status:s,message:i}}else{if(e?.errors)return{status:400,message:e?.errors?.map(s=>s).map(s=>s?.message).join("")};if(e?.message==="canceled")return{status:400,message:"request timed out at "+$e().format()};try{if(e?.body){const{status:s,message:i}=JSON.parse(e?.body)??{};return{status:s,message:i}}else{const{status:s,message:i}=JSON.parse(e?.message)??{};return{status:s,message:i}}}catch{const{status:s,message:i}=e??{};return console.log({status:s,message:i}),{status:s||400,message:i||"Internal Server Error"}}}},xe=(e,s,i)=>{const h=e.toString(),D=s.toString().padStart(2,"0"),m=i.toString().padStart(2,"0");return new Date(`${h}-${D}-${m}T00:00:00-08:00`)},Ne=async(e,s)=>{const{extension:i,prefix:h,prependDirectory:D,recursive:m=!1}=s??{},M=await ue(e,{recursive:m});let $=i?M.filter(d=>Array.isArray(i)?i.includes(E.extname(d)):E.extname(d)===i):M;return $=h?$.filter(d=>d.startsWith(h)):$,$=$.filter(d=>d!==".DS_Store"),D?$.map(d=>`${e}/${d}`):$},Te=(e,s)=>{const{extension:i,prefix:h,prependDirectory:D,recursive:m=!1}=s??{},M=ce(e,{recursive:m});let $=i?M.filter(d=>Array.isArray(i)?i.includes(E.extname(d)):E.extname(d)===i):M;return $=h?$.filter(d=>d.startsWith(h)):$,$=$.filter(d=>d!==".DS_Store"),D?$.map(d=>`${e}/${d}`):$},je=async e=>{try{if(await oe(e),(await L(e)).length)return!0}catch(s){if(s?.code==="EISDIR")return!0;if(s?.code==="ENOENT")return!1;throw s}},ke=e=>E.resolve(E.join(process.env.INIT_CWD,e)),Fe=e=>e[Math.floor(Math.random()*e.length)],Ee=async(e,s)=>{const i=[],h=G.createReadStream(e).pipe(fe.parse(s));for await(const D of h)i.push(D);return i},Ae=async e=>{const s=[],i=(await L(e,"utf8")).replace(/\n/g,",").replace(/ /g,"").split(",");for(const h of i)s.push(h);return s},Ie=async e=>JSON.parse(await L(e,"utf8")),Ye=async e=>{try{return X.parse(await L(e,"utf8"))}catch(s){s?.code==="ENOENT"&&await G.promises.writeFile(e,"")}},Ce=async(e,s)=>{await Q(e,X.stringify(s))},He=(e,s)=>e?.filter(i=>!s?.includes(i));class We{errors;constructor(s=[]){this.errors=s}add(s,i){i instanceof Error&&(s+=`: ${i.message}`),this.errors.push(s)}get(){return this.errors}async write(s,i){await Q(s,i)}}export{We as ErrorLog,je as checkForFile,re as chunkArray,He as compareArrays,xe as createDayStartInPST,Fe as getRandomArrayValue,pe as groupByKey,ye as isEmptyObject,te as isObject,ke as parseAbsolutePath,Ee as parseCsvFile,ve as parseCurrency,_e as parseError,Ie as parseJsonFile,P as parseNumber,De as parsePercentage,Me as parsePrice,Se as parseThrownError,Ae as parseTxtFile,Ye as parseYamlFile,be as percentageToDecimal,we as priceToInteger,Ne as readFilesInDirectory,Te as readFilesInDirectorySync,q as roundValue,ge as throwError,Oe as validateBooleanString,Ce as writeYamlFile};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rent-scraper/utils",
3
- "version": "1.0.13-beta.3",
3
+ "version": "1.0.14-beta.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.mjs",
6
6
  "module": "./dist/index.mjs",
@@ -31,7 +31,7 @@
31
31
  "bumpp": "^10.2.3",
32
32
  "csv": "^6.3.11",
33
33
  "yaml": "^2.8.0",
34
- "@rent-scraper/api": "1.0.13-beta.3"
34
+ "@rent-scraper/api": "1.0.14-beta.1"
35
35
  },
36
36
  "devDependencies": {
37
37
  "unbuild": "^3.5.0"