@wikicasa-dev/utilities 1.0.15 → 1.0.18
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.
- package/dist/DateUtils.cjs +1 -1
- package/dist/DateUtils.js +1218 -4
- package/dist/ObjectUtils.cjs +1 -1
- package/dist/ObjectUtils.js +22 -18
- package/dist/index.cjs +1 -1
- package/dist/index.js +77 -74
- package/dist/types/ObjectUtilsTypes.d.ts +10 -0
- package/dist/utils/DateUtils.d.ts +15 -0
- package/dist/utils/ObjectUtils.d.ts +9 -1
- package/package.json +2 -1
package/dist/ObjectUtils.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function i(
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function i(e,n){if(e)for(const t in e)n[t]=e[t]}const l=e=>!e||!Object.keys(e).length;function c(e){if(!e)return null;for(const n in e){const t=e[n];if(t&&(Array.isArray(t)||Object.keys(t).length>0))return JSON.parse(JSON.stringify(e))}return{...e}}const s=e=>Object.entries(e).reduce((n,[t,r])=>(n[r]=t,n),{}),u=e=>Object.keys(e).reduce((n,t)=>(n[t]=t,n),{}),O=e=>e??null;exports.deepCopy=c;exports.getOrNull=O;exports.invertFlatObject=s;exports.invertKeyToValue=u;exports.isEmptyObject=l;exports.shallowCopyObjectTo=i;
|
package/dist/ObjectUtils.js
CHANGED
|
@@ -1,27 +1,31 @@
|
|
|
1
|
-
function i(
|
|
2
|
-
if (
|
|
3
|
-
for (const
|
|
4
|
-
n[
|
|
1
|
+
function i(e, n) {
|
|
2
|
+
if (e)
|
|
3
|
+
for (const t in e)
|
|
4
|
+
n[t] = e[t];
|
|
5
5
|
}
|
|
6
|
-
const
|
|
7
|
-
function
|
|
8
|
-
if (!
|
|
6
|
+
const s = (e) => !e || !Object.keys(e).length;
|
|
7
|
+
function c(e) {
|
|
8
|
+
if (!e)
|
|
9
9
|
return null;
|
|
10
|
-
for (const n in
|
|
11
|
-
const
|
|
12
|
-
if (
|
|
13
|
-
return JSON.parse(JSON.stringify(
|
|
10
|
+
for (const n in e) {
|
|
11
|
+
const t = e[n];
|
|
12
|
+
if (t && (Array.isArray(t) || Object.keys(t).length > 0))
|
|
13
|
+
return JSON.parse(JSON.stringify(e));
|
|
14
14
|
}
|
|
15
|
-
return { ...
|
|
15
|
+
return { ...e };
|
|
16
16
|
}
|
|
17
|
-
const u = (
|
|
18
|
-
(n, [
|
|
17
|
+
const u = (e) => Object.entries(e).reduce(
|
|
18
|
+
(n, [t, r]) => (n[r] = t, n),
|
|
19
19
|
{}
|
|
20
|
-
), l = (
|
|
20
|
+
), l = (e) => Object.keys(e).reduce(
|
|
21
|
+
(n, t) => (n[t] = t, n),
|
|
22
|
+
{}
|
|
23
|
+
), O = (e) => e ?? null;
|
|
21
24
|
export {
|
|
22
|
-
|
|
23
|
-
|
|
25
|
+
c as deepCopy,
|
|
26
|
+
O as getOrNull,
|
|
24
27
|
u as invertFlatObject,
|
|
25
|
-
|
|
28
|
+
l as invertKeyToValue,
|
|
29
|
+
s as isEmptyObject,
|
|
26
30
|
i as shallowCopyObjectTo
|
|
27
31
|
};
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("./ArrayUtils.cjs"),g=require("./ColorUtils.cjs"),i=require("./CookieUtils.cjs"),p=require("./CurrencyUtils.cjs"),l=require("./DateUtils.cjs"),s=require("./DeviceDetectionUtils.cjs"),a=require("./DOMUtils.cjs"),c=require("./EmailUtils.cjs"),E=require("./FunctionUtils.cjs"),m=require("./GenericUtils.cjs"),t=require("./NumberUtils.cjs"),r=require("./ObjectUtils.cjs"),C=require("./ObserverUtils.cjs"),u=require("./PermissionUtils.cjs"),n=require("./RESB_UrlBuilder.cjs"),o=require("./StringUtils.cjs"),R=require("./URLBuilderUtils.cjs"),e=require("./RegexUtils.cjs"),d=require("./GeolocationUtils.cjs"),b=require("./AdressUtils.cjs"),S=require("./GAutocompleteUtils.cjs"),U=require("./DownloadUtils.cjs");exports.isArrNullOrEmpty=O.isArrNullOrEmpty;exports.rgba=g.rgba;exports.decodeCookie=i.decodeCookie;exports.encodeCookie=i.encodeCookie;exports.getCookie=i.getCookie;exports.removeCookie=i.removeCookie;exports.formatCurrency=p.formatCurrency;exports.formatDate=l.formatDate;exports.formatDateToddMMYYYY=l.formatDateToddMMYYYY;exports.subtractDaysFromDate=l.subtractDaysFromDate;exports.getCurrentDeviceSize=s.getCurrentDeviceSize;exports.isMobile=s.isMobile;exports.isSafari=s.isSafari;exports.isiOSDevice=s.isiOSDevice;exports.emptyElem=a.emptyElem;exports.getSingleElement=a.getSingleElement;exports.hideElem=a.hideElem;exports.showElem=a.showElem;exports.hash256=c.hash256;exports.hashEmail=c.hashEmail;exports.debounce=E.debounce;exports.isPromise=E.isPromise;exports.awaitableSetTimeout=m.awaitableSetTimeout;exports.createCustomEvent=m.createCustomEvent;exports.formatFloat=t.formatFloat;exports.formatInteger=t.formatInteger;exports.formatLocaleNumber=t.formatLocaleNumber;exports.formatNumber=t.formatNumber;exports.formatterNumberObj=t.formatterNumberObj;exports.parseLocaleNumber=t.parseLocaleNumber;exports.deepCopy=r.deepCopy;exports.getOrNull=r.getOrNull;exports.invertFlatObject=r.invertFlatObject;exports.invertKeyToValue=r.invertKeyToValue;exports.isEmptyObject=r.isEmptyObject;exports.shallowCopyObjectTo=r.shallowCopyObjectTo;exports.observeOnce=C.observeOnce;exports.addPermissionStateListener=u.addPermissionStateListener;exports.onNotificationsPermissionChange=u.onNotificationsPermissionChange;exports.buildParams=n.buildParams;exports.buildParamsForAgency=n.buildParamsForAgency;exports.buildURL=n.buildURL;exports.capitalizeFirstLetter=o.capitalizeFirstLetter;exports.cleanASCII=o.cleanASCII;exports.decodeTextWithEntities=o.decodeTextWithEntities;exports.replaceAll=o.replaceAll;exports.replaceAllTokens=o.replaceAllTokens;exports.stringToHyphened=o.stringToHyphened;exports.appendQueryString=R.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=d.browserSupportGeolocation;exports.getUserPosition=d.getUserPosition;exports.formatAddress=b.formatAddress;exports.formattedAddress=b.formattedAddress;exports.googlePlaceConverter=S.googlePlaceConverter;exports.downloadFile=U.downloadFile;
|
package/dist/index.js
CHANGED
|
@@ -1,86 +1,89 @@
|
|
|
1
1
|
import { isArrNullOrEmpty as r } from "./ArrayUtils.js";
|
|
2
2
|
import { rgba as m } from "./ColorUtils.js";
|
|
3
|
-
import { decodeCookie as
|
|
4
|
-
import { formatCurrency as
|
|
5
|
-
import { formatDate as x } from "./DateUtils.js";
|
|
6
|
-
import { getCurrentDeviceSize as
|
|
7
|
-
import { emptyElem as
|
|
8
|
-
import { hash256 as
|
|
9
|
-
import { debounce as
|
|
10
|
-
import { awaitableSetTimeout as N, createCustomEvent as
|
|
11
|
-
import { formatFloat as
|
|
12
|
-
import { deepCopy as
|
|
3
|
+
import { decodeCookie as i, encodeCookie as E, getCookie as p, removeCookie as l } from "./CookieUtils.js";
|
|
4
|
+
import { formatCurrency as f } from "./CurrencyUtils.js";
|
|
5
|
+
import { formatDate as d, formatDateToddMMYYYY as c, subtractDaysFromDate as x } from "./DateUtils.js";
|
|
6
|
+
import { getCurrentDeviceSize as u, isMobile as O, isSafari as g, isiOSDevice as C } from "./DeviceDetectionUtils.js";
|
|
7
|
+
import { emptyElem as S, getSingleElement as T, hideElem as _, showElem as A } from "./DOMUtils.js";
|
|
8
|
+
import { hash256 as X, hashEmail as y } from "./EmailUtils.js";
|
|
9
|
+
import { debounce as h, isPromise as D } from "./FunctionUtils.js";
|
|
10
|
+
import { awaitableSetTimeout as N, createCustomEvent as v } from "./GenericUtils.js";
|
|
11
|
+
import { formatFloat as I, formatInteger as F, formatLocaleNumber as k, formatNumber as w, formatterNumberObj as j, parseLocaleNumber as Y } from "./NumberUtils.js";
|
|
12
|
+
import { deepCopy as U, getOrNull as z, invertFlatObject as Q, invertKeyToValue as W, isEmptyObject as B, shallowCopyObjectTo as K } from "./ObjectUtils.js";
|
|
13
13
|
import { observeOnce as q } from "./ObserverUtils.js";
|
|
14
|
-
import { addPermissionStateListener as
|
|
15
|
-
import { buildParams as
|
|
16
|
-
import { capitalizeFirstLetter as
|
|
17
|
-
import { appendQueryString as
|
|
18
|
-
import { COMPETITOR_REGEX as
|
|
19
|
-
import { browserSupportGeolocation as
|
|
20
|
-
import { formatAddress as
|
|
21
|
-
import { googlePlaceConverter as
|
|
22
|
-
import { downloadFile as
|
|
14
|
+
import { addPermissionStateListener as Z, onNotificationsPermissionChange as $ } from "./PermissionUtils.js";
|
|
15
|
+
import { buildParams as oe, buildParamsForAgency as re, buildURL as te } from "./RESB_UrlBuilder.js";
|
|
16
|
+
import { capitalizeFirstLetter as ae, cleanASCII as ie, decodeTextWithEntities as Ee, replaceAll as pe, replaceAllTokens as le, stringToHyphened as se } from "./StringUtils.js";
|
|
17
|
+
import { appendQueryString as ne } from "./URLBuilderUtils.js";
|
|
18
|
+
import { COMPETITOR_REGEX as ce, DATE_REGEX as xe, EMAIL_REGEX as be, EMAIL_REGEX_INTO_TEXT as ue, EXCLUDED_REGEX as Oe, GLOBAL_PHONE_REGEX as ge, PASSWORD_REGEX as Ce, PHONE_REGEX as Re, ROOMS_REGEX as Se, SQM_REGEX as Te } from "./RegexUtils.js";
|
|
19
|
+
import { browserSupportGeolocation as Ae, getUserPosition as Ge } from "./GeolocationUtils.js";
|
|
20
|
+
import { formatAddress as ye, formattedAddress as Pe } from "./AdressUtils.js";
|
|
21
|
+
import { googlePlaceConverter as De } from "./GAutocompleteUtils.js";
|
|
22
|
+
import { downloadFile as Ne } from "./DownloadUtils.js";
|
|
23
23
|
export {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
24
|
+
ce as COMPETITOR_REGEX,
|
|
25
|
+
xe as DATE_REGEX,
|
|
26
|
+
be as EMAIL_REGEX,
|
|
27
|
+
ue as EMAIL_REGEX_INTO_TEXT,
|
|
28
|
+
Oe as EXCLUDED_REGEX,
|
|
29
|
+
ge as GLOBAL_PHONE_REGEX,
|
|
30
|
+
Ce as PASSWORD_REGEX,
|
|
31
|
+
Re as PHONE_REGEX,
|
|
32
|
+
Se as ROOMS_REGEX,
|
|
33
|
+
Te as SQM_REGEX,
|
|
34
|
+
Z as addPermissionStateListener,
|
|
35
|
+
ne as appendQueryString,
|
|
36
36
|
N as awaitableSetTimeout,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
37
|
+
Ae as browserSupportGeolocation,
|
|
38
|
+
oe as buildParams,
|
|
39
|
+
re as buildParamsForAgency,
|
|
40
|
+
te as buildURL,
|
|
41
|
+
ae as capitalizeFirstLetter,
|
|
42
|
+
ie as cleanASCII,
|
|
43
|
+
v as createCustomEvent,
|
|
44
|
+
h as debounce,
|
|
45
|
+
i as decodeCookie,
|
|
46
|
+
Ee as decodeTextWithEntities,
|
|
47
|
+
U as deepCopy,
|
|
48
|
+
Ne as downloadFile,
|
|
49
|
+
S as emptyElem,
|
|
50
50
|
E as encodeCookie,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
I as
|
|
56
|
-
|
|
57
|
-
k as
|
|
58
|
-
|
|
59
|
-
|
|
51
|
+
ye as formatAddress,
|
|
52
|
+
f as formatCurrency,
|
|
53
|
+
d as formatDate,
|
|
54
|
+
c as formatDateToddMMYYYY,
|
|
55
|
+
I as formatFloat,
|
|
56
|
+
F as formatInteger,
|
|
57
|
+
k as formatLocaleNumber,
|
|
58
|
+
w as formatNumber,
|
|
59
|
+
Pe as formattedAddress,
|
|
60
|
+
j as formatterNumberObj,
|
|
60
61
|
p as getCookie,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
62
|
+
u as getCurrentDeviceSize,
|
|
63
|
+
z as getOrNull,
|
|
64
|
+
T as getSingleElement,
|
|
65
|
+
Ge as getUserPosition,
|
|
66
|
+
De as googlePlaceConverter,
|
|
67
|
+
X as hash256,
|
|
68
|
+
y as hashEmail,
|
|
69
|
+
_ as hideElem,
|
|
70
|
+
Q as invertFlatObject,
|
|
71
|
+
W as invertKeyToValue,
|
|
70
72
|
r as isArrNullOrEmpty,
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
B as isEmptyObject,
|
|
74
|
+
O as isMobile,
|
|
75
|
+
D as isPromise,
|
|
76
|
+
g as isSafari,
|
|
77
|
+
C as isiOSDevice,
|
|
76
78
|
q as observeOnce,
|
|
77
|
-
|
|
78
|
-
|
|
79
|
+
$ as onNotificationsPermissionChange,
|
|
80
|
+
Y as parseLocaleNumber,
|
|
79
81
|
l as removeCookie,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
+
pe as replaceAll,
|
|
83
|
+
le as replaceAllTokens,
|
|
82
84
|
m as rgba,
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
85
|
+
K as shallowCopyObjectTo,
|
|
86
|
+
A as showElem,
|
|
87
|
+
se as stringToHyphened,
|
|
88
|
+
x as subtractDaysFromDate
|
|
86
89
|
};
|
|
@@ -4,3 +4,13 @@
|
|
|
4
4
|
export type FlatInvert<T extends Record<PropertyKey, string | number>> = {
|
|
5
5
|
[K in keyof T as `${T[K]}`]: Extract<K, string | number>;
|
|
6
6
|
};
|
|
7
|
+
/**
|
|
8
|
+
* Inverts the keys with the value of the given object
|
|
9
|
+
* @example
|
|
10
|
+
* type A = { a: string; b: number; c: symbol };
|
|
11
|
+
* type B = InvertKeyToValue<A>;
|
|
12
|
+
* // B is { a: "a"; b: "b"; c: "c" };
|
|
13
|
+
*/
|
|
14
|
+
export type InvertKeyToValue<T extends Record<PropertyKey, unknown>> = {
|
|
15
|
+
[K in keyof T]: K;
|
|
16
|
+
};
|
|
@@ -1 +1,16 @@
|
|
|
1
1
|
export declare function formatDate(date: Date, display?: boolean): string;
|
|
2
|
+
/**
|
|
3
|
+
* Formats a date string from a certain format to 'dd/MM/yyyy' format.
|
|
4
|
+
* @param {string} date - The input date string.
|
|
5
|
+
* @returns {string} The formatted date string in 'dd/MM/yyyy' format.
|
|
6
|
+
*/
|
|
7
|
+
export declare const formatDateToddMMYYYY: (date: Date | string) => string;
|
|
8
|
+
/**
|
|
9
|
+
* Subtracts a specified number of days from a given date.
|
|
10
|
+
* If no initial date is provided, the current date is used as the default.
|
|
11
|
+
* If the number of days is less than zero, it defaults to 0.
|
|
12
|
+
* @param {Date} initialDate - The initial date to subtract days from (default: current date).
|
|
13
|
+
* @param {number} days - The number of days to subtract.
|
|
14
|
+
* @returns {Date} A new Date object representing the result of subtracting the specified days from the initial date.
|
|
15
|
+
*/
|
|
16
|
+
export declare const subtractDaysFromDate: (initialDate: Date | undefined, days: number) => Date;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Nullable, Optional } from '@wikicasa-dev/types';
|
|
2
|
-
import { FlatInvert } from '../types/ObjectUtilsTypes';
|
|
2
|
+
import { FlatInvert, InvertKeyToValue } from '../types/ObjectUtilsTypes';
|
|
3
3
|
|
|
4
4
|
export declare function shallowCopyObjectTo(from: Record<string, any> | undefined, to: Record<string, any>): void;
|
|
5
5
|
/**
|
|
@@ -25,6 +25,14 @@ export declare function deepCopy<T>(objToCopy: T): T | null;
|
|
|
25
25
|
* @return {FlatInvert<T>} - The inverted object.
|
|
26
26
|
*/
|
|
27
27
|
export declare const invertFlatObject: <T extends Record<TKey, TValue>, TKey extends PropertyKey = PropertyKey, TValue extends string | number = string | number>(obj: T) => FlatInvert<T>;
|
|
28
|
+
/**
|
|
29
|
+
* Inverts the keys with the value of the given object
|
|
30
|
+
* @example
|
|
31
|
+
* type A = { a: string; b: number; c: symbol };
|
|
32
|
+
* type B = InvertKeyToValue<A>;
|
|
33
|
+
* // B is { a: "a"; b: "b"; c: "c" };
|
|
34
|
+
*/
|
|
35
|
+
export declare const invertKeyToValue: <T extends Record<PropertyKey, unknown>>(objectToInvert: T) => InvertKeyToValue<T>;
|
|
28
36
|
/**
|
|
29
37
|
* Returns the value if it is not null or undefined, otherwise returns null.
|
|
30
38
|
* @typeParam T - The type of the value.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wikicasa-dev/utilities",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.18",
|
|
4
4
|
"description": "Wikicasa frontend utilities",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"axios": "^1.4.0",
|
|
48
|
+
"date-fns": "^3.6.0",
|
|
48
49
|
"google-polyline": "^1.0.3",
|
|
49
50
|
"jest": "^29.7.0",
|
|
50
51
|
"js-cookie": "^3.0.5",
|