@wikicasa-dev/utilities 1.0.17 → 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/ObjectUtils.cjs +1 -1
- package/dist/ObjectUtils.js +22 -18
- package/dist/index.cjs +1 -1
- package/dist/index.js +52 -51
- package/dist/types/ObjectUtilsTypes.d.ts +10 -0
- package/dist/utils/ObjectUtils.d.ts +9 -1
- package/package.json +1 -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 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"),
|
|
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,55 +1,55 @@
|
|
|
1
1
|
import { isArrNullOrEmpty as r } from "./ArrayUtils.js";
|
|
2
2
|
import { rgba as m } from "./ColorUtils.js";
|
|
3
|
-
import { decodeCookie as i, encodeCookie as E, getCookie as p, removeCookie as
|
|
4
|
-
import { formatCurrency 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
5
|
import { formatDate as d, formatDateToddMMYYYY as c, subtractDaysFromDate as x } from "./DateUtils.js";
|
|
6
6
|
import { getCurrentDeviceSize as u, isMobile as O, isSafari as g, isiOSDevice as C } from "./DeviceDetectionUtils.js";
|
|
7
|
-
import { emptyElem as S, getSingleElement as
|
|
8
|
-
import { hash256 as X, hashEmail as
|
|
9
|
-
import { debounce as
|
|
10
|
-
import { awaitableSetTimeout as N, createCustomEvent as
|
|
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
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,
|
|
13
|
-
import { observeOnce as
|
|
14
|
-
import { addPermissionStateListener as
|
|
15
|
-
import { buildParams as
|
|
16
|
-
import { capitalizeFirstLetter as
|
|
17
|
-
import { appendQueryString as
|
|
18
|
-
import { COMPETITOR_REGEX as
|
|
12
|
+
import { deepCopy as U, getOrNull as z, invertFlatObject as Q, invertKeyToValue as W, isEmptyObject as B, shallowCopyObjectTo as K } from "./ObjectUtils.js";
|
|
13
|
+
import { observeOnce as q } from "./ObserverUtils.js";
|
|
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
19
|
import { browserSupportGeolocation as Ae, getUserPosition as Ge } from "./GeolocationUtils.js";
|
|
20
|
-
import { formatAddress as
|
|
21
|
-
import { googlePlaceConverter as
|
|
22
|
-
import { downloadFile as
|
|
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
37
|
Ae as browserSupportGeolocation,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
45
|
i as decodeCookie,
|
|
46
|
-
|
|
46
|
+
Ee as decodeTextWithEntities,
|
|
47
47
|
U as deepCopy,
|
|
48
|
-
|
|
48
|
+
Ne as downloadFile,
|
|
49
49
|
S as emptyElem,
|
|
50
50
|
E as encodeCookie,
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
ye as formatAddress,
|
|
52
|
+
f as formatCurrency,
|
|
53
53
|
d as formatDate,
|
|
54
54
|
c as formatDateToddMMYYYY,
|
|
55
55
|
I as formatFloat,
|
|
@@ -61,28 +61,29 @@ export {
|
|
|
61
61
|
p as getCookie,
|
|
62
62
|
u as getCurrentDeviceSize,
|
|
63
63
|
z as getOrNull,
|
|
64
|
-
|
|
64
|
+
T as getSingleElement,
|
|
65
65
|
Ge as getUserPosition,
|
|
66
|
-
|
|
66
|
+
De as googlePlaceConverter,
|
|
67
67
|
X as hash256,
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
y as hashEmail,
|
|
69
|
+
_ as hideElem,
|
|
70
70
|
Q as invertFlatObject,
|
|
71
|
+
W as invertKeyToValue,
|
|
71
72
|
r as isArrNullOrEmpty,
|
|
72
|
-
|
|
73
|
+
B as isEmptyObject,
|
|
73
74
|
O as isMobile,
|
|
74
75
|
D as isPromise,
|
|
75
76
|
g as isSafari,
|
|
76
77
|
C as isiOSDevice,
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
q as observeOnce,
|
|
79
|
+
$ as onNotificationsPermissionChange,
|
|
79
80
|
Y as parseLocaleNumber,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
l as removeCookie,
|
|
82
|
+
pe as replaceAll,
|
|
83
|
+
le as replaceAllTokens,
|
|
83
84
|
m as rgba,
|
|
84
|
-
|
|
85
|
-
|
|
85
|
+
K as shallowCopyObjectTo,
|
|
86
|
+
A as showElem,
|
|
86
87
|
se as stringToHyphened,
|
|
87
88
|
x as subtractDaysFromDate
|
|
88
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,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.
|