@wikicasa-dev/utilities 1.0.7 → 1.0.8

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.
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=(t,c)=>{if(t.size===0)return;const o=URL.createObjectURL(t),e=document.createElement("a");e.href=o,e.target="_blank",e.download=c,e.click(),URL.revokeObjectURL(o)};exports.downloadFile=n;
@@ -0,0 +1,9 @@
1
+ const n = (t, o) => {
2
+ if (t.size === 0)
3
+ return;
4
+ const c = URL.createObjectURL(t), e = document.createElement("a");
5
+ e.href = c, e.target = "_blank", e.download = o, e.click(), URL.revokeObjectURL(c);
6
+ };
7
+ export {
8
+ n as downloadFile
9
+ };
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./ArrayUtils.cjs"),O=require("./ColorUtils.cjs"),i=require("./CookieUtils.cjs"),p=require("./CurrencyUtils.cjs"),C=require("./DateUtils.cjs"),o=require("./DeviceDetectionUtils.cjs"),s=require("./DOMUtils.cjs"),n=require("./EmailUtils.cjs"),E=require("./FunctionUtils.cjs"),c=require("./GenericUtils.cjs"),r=require("./NumberUtils.cjs"),a=require("./ObjectUtils.cjs"),R=require("./ObserverUtils.cjs"),m=require("./PermissionUtils.cjs"),l=require("./RESB_UrlBuilder.cjs"),t=require("./StringUtils.cjs"),g=require("./URLBuilderUtils.cjs"),e=require("./RegexUtils.cjs"),u=require("./GeolocationUtils.cjs"),d=require("./AdressUtils.cjs"),S=require("./GAutocompleteUtils.cjs");exports.isArrNullOrEmpty=b.isArrNullOrEmpty;exports.rgba=O.rgba;exports.decodeCookie=i.decodeCookie;exports.encodeCookie=i.encodeCookie;exports.getCookie=i.getCookie;exports.removeCookie=i.removeCookie;exports.formatCurrency=p.formatCurrency;exports.formatDate=C.formatDate;exports.getCurrentDeviceSize=o.getCurrentDeviceSize;exports.isMobile=o.isMobile;exports.isSafari=o.isSafari;exports.isiOSDevice=o.isiOSDevice;exports.emptyElem=s.emptyElem;exports.getSingleElement=s.getSingleElement;exports.hideElem=s.hideElem;exports.showElem=s.showElem;exports.hash256=n.hash256;exports.hashEmail=n.hashEmail;exports.debounce=E.debounce;exports.isPromise=E.isPromise;exports.awaitableSetTimeout=c.awaitableSetTimeout;exports.createCustomEvent=c.createCustomEvent;exports.formatFloat=r.formatFloat;exports.formatInteger=r.formatInteger;exports.formatLocaleNumber=r.formatLocaleNumber;exports.formatNumber=r.formatNumber;exports.formatterNumberObj=r.formatterNumberObj;exports.parseLocaleNumber=r.parseLocaleNumber;exports.deepCopy=a.deepCopy;exports.isEmptyObject=a.isEmptyObject;exports.shallowCopyObjectTo=a.shallowCopyObjectTo;exports.observeOnce=R.observeOnce;exports.addPermissionStateListener=m.addPermissionStateListener;exports.onNotificationsPermissionChange=m.onNotificationsPermissionChange;exports.buildParams=l.buildParams;exports.buildParamsForAgency=l.buildParamsForAgency;exports.buildURL=l.buildURL;exports.capitalizeFirstLetter=t.capitalizeFirstLetter;exports.cleanASCII=t.cleanASCII;exports.decodeTextWithEntities=t.decodeTextWithEntities;exports.replaceAll=t.replaceAll;exports.replaceAllTokens=t.replaceAllTokens;exports.stringToHyphened=t.stringToHyphened;exports.appendQueryString=g.appendQueryString;exports.COMPETITOR_REGEX=e.COMPETITOR_REGEX;exports.DATE_REGEX=e.DATE_REGEX;exports.EMAIL_REGEX=e.EMAIL_REGEX;exports.EMAIL_REGEX_INTO_TEXT=e.EMAIL_REGEX_INTO_TEXT;exports.EXCLUDED_REGEX=e.EXCLUDED_REGEX;exports.GLOBAL_PHONE_REGEX=e.GLOBAL_PHONE_REGEX;exports.PASSWORD_REGEX=e.PASSWORD_REGEX;exports.PHONE_REGEX=e.PHONE_REGEX;exports.ROOMS_REGEX=e.ROOMS_REGEX;exports.SQM_REGEX=e.SQM_REGEX;exports.browserSupportGeolocation=u.browserSupportGeolocation;exports.getUserPosition=u.getUserPosition;exports.formatAddress=d.formatAddress;exports.formattedAddress=d.formattedAddress;exports.googlePlaceConverter=S.googlePlaceConverter;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./ArrayUtils.cjs"),O=require("./ColorUtils.cjs"),o=require("./CookieUtils.cjs"),p=require("./CurrencyUtils.cjs"),C=require("./DateUtils.cjs"),i=require("./DeviceDetectionUtils.cjs"),s=require("./DOMUtils.cjs"),n=require("./EmailUtils.cjs"),E=require("./FunctionUtils.cjs"),c=require("./GenericUtils.cjs"),r=require("./NumberUtils.cjs"),l=require("./ObjectUtils.cjs"),R=require("./ObserverUtils.cjs"),m=require("./PermissionUtils.cjs"),a=require("./RESB_UrlBuilder.cjs"),t=require("./StringUtils.cjs"),g=require("./URLBuilderUtils.cjs"),e=require("./RegexUtils.cjs"),u=require("./GeolocationUtils.cjs"),d=require("./AdressUtils.cjs"),S=require("./GAutocompleteUtils.cjs"),U=require("./DownloadUtils.cjs");exports.isArrNullOrEmpty=b.isArrNullOrEmpty;exports.rgba=O.rgba;exports.decodeCookie=o.decodeCookie;exports.encodeCookie=o.encodeCookie;exports.getCookie=o.getCookie;exports.removeCookie=o.removeCookie;exports.formatCurrency=p.formatCurrency;exports.formatDate=C.formatDate;exports.getCurrentDeviceSize=i.getCurrentDeviceSize;exports.isMobile=i.isMobile;exports.isSafari=i.isSafari;exports.isiOSDevice=i.isiOSDevice;exports.emptyElem=s.emptyElem;exports.getSingleElement=s.getSingleElement;exports.hideElem=s.hideElem;exports.showElem=s.showElem;exports.hash256=n.hash256;exports.hashEmail=n.hashEmail;exports.debounce=E.debounce;exports.isPromise=E.isPromise;exports.awaitableSetTimeout=c.awaitableSetTimeout;exports.createCustomEvent=c.createCustomEvent;exports.formatFloat=r.formatFloat;exports.formatInteger=r.formatInteger;exports.formatLocaleNumber=r.formatLocaleNumber;exports.formatNumber=r.formatNumber;exports.formatterNumberObj=r.formatterNumberObj;exports.parseLocaleNumber=r.parseLocaleNumber;exports.deepCopy=l.deepCopy;exports.isEmptyObject=l.isEmptyObject;exports.shallowCopyObjectTo=l.shallowCopyObjectTo;exports.observeOnce=R.observeOnce;exports.addPermissionStateListener=m.addPermissionStateListener;exports.onNotificationsPermissionChange=m.onNotificationsPermissionChange;exports.buildParams=a.buildParams;exports.buildParamsForAgency=a.buildParamsForAgency;exports.buildURL=a.buildURL;exports.capitalizeFirstLetter=t.capitalizeFirstLetter;exports.cleanASCII=t.cleanASCII;exports.decodeTextWithEntities=t.decodeTextWithEntities;exports.replaceAll=t.replaceAll;exports.replaceAllTokens=t.replaceAllTokens;exports.stringToHyphened=t.stringToHyphened;exports.appendQueryString=g.appendQueryString;exports.COMPETITOR_REGEX=e.COMPETITOR_REGEX;exports.DATE_REGEX=e.DATE_REGEX;exports.EMAIL_REGEX=e.EMAIL_REGEX;exports.EMAIL_REGEX_INTO_TEXT=e.EMAIL_REGEX_INTO_TEXT;exports.EXCLUDED_REGEX=e.EXCLUDED_REGEX;exports.GLOBAL_PHONE_REGEX=e.GLOBAL_PHONE_REGEX;exports.PASSWORD_REGEX=e.PASSWORD_REGEX;exports.PHONE_REGEX=e.PHONE_REGEX;exports.ROOMS_REGEX=e.ROOMS_REGEX;exports.SQM_REGEX=e.SQM_REGEX;exports.browserSupportGeolocation=u.browserSupportGeolocation;exports.getUserPosition=u.getUserPosition;exports.formatAddress=d.formatAddress;exports.formattedAddress=d.formattedAddress;exports.googlePlaceConverter=S.googlePlaceConverter;exports.downloadFile=U.downloadFile;
package/dist/index.d.ts CHANGED
@@ -19,3 +19,4 @@ export * from './utils/RegexUtils';
19
19
  export * from './utils/GeolocationUtils';
20
20
  export * from './utils/AdressUtils';
21
21
  export * from './utils/GAutocompleteUtils';
22
+ export * from './utils/DownloadUtils';
package/dist/index.js CHANGED
@@ -1,32 +1,33 @@
1
1
  import { isArrNullOrEmpty as r } from "./ArrayUtils.js";
2
2
  import { rgba as m } from "./ColorUtils.js";
3
- import { decodeCookie as a, encodeCookie as E, getCookie as p, removeCookie as s } from "./CookieUtils.js";
3
+ import { decodeCookie as a, encodeCookie as E, getCookie as p, removeCookie as f } from "./CookieUtils.js";
4
4
  import { formatCurrency as l } from "./CurrencyUtils.js";
5
5
  import { formatDate as x } from "./DateUtils.js";
6
- import { getCurrentDeviceSize as d, isMobile as b, isSafari as u, isiOSDevice as O } from "./DeviceDetectionUtils.js";
6
+ import { getCurrentDeviceSize as c, isMobile as b, isSafari as u, isiOSDevice as O } from "./DeviceDetectionUtils.js";
7
7
  import { emptyElem as R, getSingleElement as g, hideElem as S, showElem as _ } from "./DOMUtils.js";
8
8
  import { hash256 as G, hashEmail as X } from "./EmailUtils.js";
9
9
  import { debounce as T, isPromise as h } from "./FunctionUtils.js";
10
10
  import { awaitableSetTimeout as y, createCustomEvent as N } from "./GenericUtils.js";
11
- import { formatFloat as I, formatInteger as v, formatLocaleNumber as M, formatNumber as k, formatterNumberObj as w, parseLocaleNumber as j } from "./NumberUtils.js";
11
+ import { formatFloat as I, formatInteger as v, formatLocaleNumber as M, formatNumber as k, formatterNumberObj as w, parseLocaleNumber as F } from "./NumberUtils.js";
12
12
  import { deepCopy as H, isEmptyObject as U, shallowCopyObjectTo as z } from "./ObjectUtils.js";
13
13
  import { observeOnce as W } from "./ObserverUtils.js";
14
14
  import { addPermissionStateListener as q, onNotificationsPermissionChange as J } from "./PermissionUtils.js";
15
15
  import { buildParams as V, buildParamsForAgency as Y, buildURL as Z } from "./RESB_UrlBuilder.js";
16
16
  import { capitalizeFirstLetter as ee, cleanASCII as oe, decodeTextWithEntities as re, replaceAll as te, replaceAllTokens as me, stringToHyphened as ie } from "./StringUtils.js";
17
17
  import { appendQueryString as Ee } from "./URLBuilderUtils.js";
18
- import { COMPETITOR_REGEX as se, DATE_REGEX as fe, EMAIL_REGEX as le, EMAIL_REGEX_INTO_TEXT as ne, EXCLUDED_REGEX as xe, GLOBAL_PHONE_REGEX as ce, PASSWORD_REGEX as de, PHONE_REGEX as be, ROOMS_REGEX as ue, SQM_REGEX as Oe } from "./RegexUtils.js";
18
+ import { COMPETITOR_REGEX as fe, DATE_REGEX as se, EMAIL_REGEX as le, EMAIL_REGEX_INTO_TEXT as ne, EXCLUDED_REGEX as xe, GLOBAL_PHONE_REGEX as de, PASSWORD_REGEX as ce, PHONE_REGEX as be, ROOMS_REGEX as ue, SQM_REGEX as Oe } from "./RegexUtils.js";
19
19
  import { browserSupportGeolocation as Re, getUserPosition as ge } from "./GeolocationUtils.js";
20
20
  import { formatAddress as _e, formattedAddress as Ae } from "./AdressUtils.js";
21
21
  import { googlePlaceConverter as Xe } from "./GAutocompleteUtils.js";
22
+ import { downloadFile as Te } from "./DownloadUtils.js";
22
23
  export {
23
- se as COMPETITOR_REGEX,
24
- fe as DATE_REGEX,
24
+ fe as COMPETITOR_REGEX,
25
+ se as DATE_REGEX,
25
26
  le as EMAIL_REGEX,
26
27
  ne as EMAIL_REGEX_INTO_TEXT,
27
28
  xe as EXCLUDED_REGEX,
28
- ce as GLOBAL_PHONE_REGEX,
29
- de as PASSWORD_REGEX,
29
+ de as GLOBAL_PHONE_REGEX,
30
+ ce as PASSWORD_REGEX,
30
31
  be as PHONE_REGEX,
31
32
  ue as ROOMS_REGEX,
32
33
  Oe as SQM_REGEX,
@@ -44,6 +45,7 @@ export {
44
45
  a as decodeCookie,
45
46
  re as decodeTextWithEntities,
46
47
  H as deepCopy,
48
+ Te as downloadFile,
47
49
  R as emptyElem,
48
50
  E as encodeCookie,
49
51
  _e as formatAddress,
@@ -56,7 +58,7 @@ export {
56
58
  Ae as formattedAddress,
57
59
  w as formatterNumberObj,
58
60
  p as getCookie,
59
- d as getCurrentDeviceSize,
61
+ c as getCurrentDeviceSize,
60
62
  g as getSingleElement,
61
63
  ge as getUserPosition,
62
64
  Xe as googlePlaceConverter,
@@ -71,8 +73,8 @@ export {
71
73
  O as isiOSDevice,
72
74
  W as observeOnce,
73
75
  J as onNotificationsPermissionChange,
74
- j as parseLocaleNumber,
75
- s as removeCookie,
76
+ F as parseLocaleNumber,
77
+ f as removeCookie,
76
78
  te as replaceAll,
77
79
  me as replaceAllTokens,
78
80
  m as rgba,
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Downloads a file by creating a temporary URL for the given Blob object and triggering a download prompt for the user.
3
+ *
4
+ * @param blob - The Blob object representing the file to be downloaded.
5
+ * @param fileName - The name to be used for the downloaded file.
6
+ */
7
+ export declare const downloadFile: (blob: Blob, fileName: string) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wikicasa-dev/utilities",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "Wikicasa frontend utilities",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -25,6 +25,7 @@
25
25
  },
26
26
  "homepage": "https://bitbucket.org/wikicasa/wikicasa-fe#readme",
27
27
  "devDependencies": {
28
+ "@jest/globals": "^29.7.0",
28
29
  "@types/google-polyline": "^1.0.0",
29
30
  "@types/jquery": "^3.5.16",
30
31
  "@types/js-cookie": "^3.0.6",
@@ -36,6 +37,8 @@
36
37
  "@types/uuid": "^9.0.2",
37
38
  "@wikicasa-dev/types": "^1.2.14",
38
39
  "glob": "^10.3.10",
40
+ "jest-environment-jsdom": "^29.7.0",
41
+ "ts-jest": "^29.2.1",
39
42
  "typescript": "^5.4.3",
40
43
  "vite": "^5.2.3",
41
44
  "vite-plugin-dts": "^3.7.3"
@@ -43,6 +46,7 @@
43
46
  "dependencies": {
44
47
  "axios": "^1.4.0",
45
48
  "google-polyline": "^1.0.3",
49
+ "jest": "^29.7.0",
46
50
  "js-cookie": "^3.0.5",
47
51
  "leaflet": "^1.9.4",
48
52
  "leaflet-control-geocoder": "^2.4.0",
@@ -54,6 +58,7 @@
54
58
  "dev": "vite",
55
59
  "build": "tsc && vite build",
56
60
  "preview": "vite preview",
57
- "prepublish": "pnpm build"
61
+ "prepublish": "pnpm build",
62
+ "test": "jest"
58
63
  }
59
64
  }