@sankhyalabs/core 5.20.0-dev.6 → 5.20.0-dev.61
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/.docs/classes/Change.md +11 -11
- package/.docs/classes/DataUnit.md +317 -137
- package/.docs/classes/DateUtils.md +8 -8
- package/.docs/classes/IDBRepository.md +22 -0
- package/.docs/classes/LockManager.md +191 -0
- package/.docs/classes/MaskFormatter.md +66 -14
- package/.docs/classes/ObjectUtils.md +141 -0
- package/.docs/classes/OverflowWatcher.md +533 -0
- package/.docs/classes/SelectionInfo.md +25 -11
- package/.docs/classes/ServiceCanceledException.md +193 -0
- package/.docs/classes/ServiceUtils.md +67 -0
- package/.docs/classes/SilentException.md +193 -0
- package/.docs/enumerations/Action.md +41 -21
- package/.docs/enumerations/ChangeOperation.md +4 -4
- package/.docs/enumerations/LockManagerOperation.md +21 -0
- package/.docs/enumerations/OverflowDirection.md +29 -0
- package/.docs/enumerations/SelectionMode.md +2 -2
- package/.docs/enumerations/StorageType.md +37 -0
- package/.docs/globals.md +18 -0
- package/.docs/interfaces/DUActionInterceptor.md +1 -1
- package/.docs/interfaces/IRepository.md +18 -0
- package/.docs/interfaces/LoadDataRequest.md +1 -1
- package/.docs/interfaces/OverFlowWatcherParams.md +67 -0
- package/.docs/interfaces/PageRequest.md +3 -3
- package/.docs/interfaces/PaginationInfo.md +13 -0
- package/.docs/interfaces/QuickFilter.md +3 -3
- package/.docs/interfaces/Record.md +4 -4
- package/.docs/interfaces/SavedRecord.md +5 -5
- package/.docs/interfaces/WaitingChange.md +3 -3
- package/.docs/namespaces/MaskFormatter/type-aliases/MaskCharacter.md +1 -1
- package/.docs/namespaces/MaskFormatter/variables/MaskCharacter.md +1 -1
- package/.docs/type-aliases/DataUnitEventOptions.md +17 -0
- package/.docs/type-aliases/OnOverflowCallBack.md +25 -0
- package/.docs/variables/OVERFLOWED_CLASS_NAME.md +13 -0
- package/bun.lockb +0 -0
- package/dist/dataunit/DataUnit.d.ts +60 -11
- package/dist/dataunit/DataUnit.js +158 -46
- package/dist/dataunit/DataUnit.js.map +1 -1
- package/dist/dataunit/DataUnitHelper.js +6 -5
- package/dist/dataunit/DataUnitHelper.js.map +1 -1
- package/dist/dataunit/formatting/PrettyFormatter.js +14 -6
- package/dist/dataunit/formatting/PrettyFormatter.js.map +1 -1
- package/dist/dataunit/loading/LoadDataRequest.d.ts +1 -1
- package/dist/dataunit/loading/PaginationInfo.d.ts +4 -0
- package/dist/dataunit/metadata/DataType.js +3 -0
- package/dist/dataunit/metadata/DataType.js.map +1 -1
- package/dist/dataunit/state/action/DataUnitAction.d.ts +2 -0
- package/dist/dataunit/state/action/DataUnitAction.js +2 -0
- package/dist/dataunit/state/action/DataUnitAction.js.map +1 -1
- package/dist/dataunit/state/slice/InvalidFieldsSlice.js +2 -0
- package/dist/dataunit/state/slice/InvalidFieldsSlice.js.map +1 -1
- package/dist/dataunit/state/slice/RecordsSlice.js +1 -1
- package/dist/dataunit/state/slice/RecordsSlice.js.map +1 -1
- package/dist/dataunit/state/slice/SelectionSlice.js +4 -4
- package/dist/dataunit/state/slice/SelectionSlice.js.map +1 -1
- package/dist/exceptions/ServiceCanceledException.d.ts +14 -0
- package/dist/exceptions/ServiceCanceledException.js +13 -0
- package/dist/exceptions/ServiceCanceledException.js.map +1 -0
- package/dist/exceptions/SilentException.d.ts +14 -0
- package/dist/exceptions/SilentException.js +13 -0
- package/dist/exceptions/SilentException.js.map +1 -0
- package/dist/index.d.ts +8 -2
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/repository/IRepository.d.ts +6 -0
- package/dist/repository/indexeddb/IDBRepository.d.ts +1 -0
- package/dist/repository/indexeddb/IDBRepository.js +3 -0
- package/dist/repository/indexeddb/IDBRepository.js.map +1 -1
- package/dist/utils/CacheManager/index.d.ts +52 -0
- package/dist/utils/CacheManager/index.js +101 -0
- package/dist/utils/CacheManager/index.js.map +1 -0
- package/dist/utils/CacheManager/interfaces/index.d.ts +5 -0
- package/dist/utils/CacheManager/interfaces/index.js +7 -0
- package/dist/utils/CacheManager/interfaces/index.js.map +1 -0
- package/dist/utils/DateUtils.js +3 -0
- package/dist/utils/DateUtils.js.map +1 -1
- package/dist/utils/ElementUtils.d.ts +2 -0
- package/dist/utils/ElementUtils.js +9 -0
- package/dist/utils/ElementUtils.js.map +1 -0
- package/dist/utils/LockManager.d.ts +46 -0
- package/dist/utils/LockManager.js +141 -0
- package/dist/utils/LockManager.js.map +1 -0
- package/dist/utils/MaskFormatter.d.ts +16 -1
- package/dist/utils/MaskFormatter.js +82 -2
- package/dist/utils/MaskFormatter.js.map +1 -1
- package/dist/utils/ObjectUtils.d.ts +38 -0
- package/dist/utils/ObjectUtils.js +51 -0
- package/dist/utils/ObjectUtils.js.map +1 -1
- package/dist/utils/OnboardingUtils.js +1 -1
- package/dist/utils/OnboardingUtils.js.map +1 -1
- package/dist/utils/OverflowWatcher/index.d.ts +59 -0
- package/dist/utils/OverflowWatcher/index.js +188 -0
- package/dist/utils/OverflowWatcher/index.js.map +1 -0
- package/dist/utils/OverflowWatcher/types/overflow-callback.d.ts +6 -0
- package/dist/utils/OverflowWatcher/types/overflow-callback.js +2 -0
- package/dist/utils/OverflowWatcher/types/overflow-callback.js.map +1 -0
- package/dist/utils/OverflowWatcher/types/overflow-direction.d.ts +7 -0
- package/dist/utils/OverflowWatcher/types/overflow-direction.js +9 -0
- package/dist/utils/OverflowWatcher/types/overflow-direction.js.map +1 -0
- package/dist/utils/ServiceUtils.d.ts +24 -0
- package/dist/utils/ServiceUtils.js +40 -0
- package/dist/utils/ServiceUtils.js.map +1 -0
- package/dist/utils/SortingUtils.d.ts +9 -0
- package/dist/utils/SortingUtils.js +24 -0
- package/dist/utils/SortingUtils.js.map +1 -0
- package/jest.config.ts +2 -0
- package/package.json +2 -1
- package/reports/test-report.xml +175 -0
- package/setupTests.js +7 -0
- package/sonar-project.properties +6 -3
- package/src/dataunit/DataUnit.ts +189 -59
- package/src/dataunit/DataUnitHelper.ts +6 -5
- package/src/dataunit/formatting/PrettyFormatter.ts +15 -6
- package/src/dataunit/loading/LoadDataRequest.ts +1 -1
- package/src/dataunit/loading/PaginationInfo.ts +5 -0
- package/src/dataunit/metadata/DataType.ts +3 -0
- package/src/dataunit/state/action/DataUnitAction.ts +2 -0
- package/src/dataunit/state/slice/InvalidFieldsSlice.ts +2 -0
- package/src/dataunit/state/slice/RecordsSlice.ts +1 -1
- package/src/dataunit/state/slice/SelectionSlice.ts +4 -4
- package/src/dataunit/state/slice/test/RecordsSlice.spec.ts +45 -0
- package/src/dataunit/test/DataUnit.spec.ts +44 -0
- package/src/exceptions/ServiceCanceledException.ts +25 -0
- package/src/exceptions/SilentException.ts +25 -0
- package/src/index.ts +19 -1
- package/src/repository/IRepository.ts +7 -0
- package/src/repository/indexeddb/IDBRepository.ts +4 -0
- package/src/utils/CacheManager/index.ts +103 -0
- package/src/utils/CacheManager/interfaces/index.ts +5 -0
- package/src/utils/DateUtils.ts +3 -0
- package/src/utils/ElementUtils.ts +10 -0
- package/src/utils/LockManager.ts +157 -0
- package/src/utils/MaskFormatter.ts +93 -2
- package/src/utils/ObjectUtils.ts +56 -0
- package/src/utils/OnboardingUtils.ts +1 -1
- package/src/utils/OverflowWatcher/index.ts +243 -0
- package/src/utils/OverflowWatcher/types/overflow-callback.ts +6 -0
- package/src/utils/OverflowWatcher/types/overflow-direction.ts +7 -0
- package/src/utils/ServiceUtils.ts +36 -0
- package/src/utils/SortingUtils.ts +30 -0
- package/src/utils/test/objectUtils.spec.ts +109 -0
- package/test/dataunit/formatting/PrettyFormatter.spec.ts +177 -0
- package/test/util/ElementUtils.spec.ts +34 -0
- package/test/util/OverflowWatcher.spec.ts +152 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { StorageType } from './interfaces/index.js';
|
|
11
|
+
export * from "./interfaces/index.js";
|
|
12
|
+
export class CacheManager {
|
|
13
|
+
/**
|
|
14
|
+
* Recupera ou define o valor no cache.
|
|
15
|
+
*
|
|
16
|
+
* @param key Identificador único para armazenar e recuperar o valor.
|
|
17
|
+
* @param fetchCallback Função que retorna uma `Promise` com o valor a ser armazenado no cache caso ele não exista ou tenha expirado.
|
|
18
|
+
* @param storageType Tipo de armazenamento: `'inMemoryCache'`, `'sessionStorage'` ou `'localStorage'`.
|
|
19
|
+
* @returns Uma `Promise` com o valor armazenado ou obtido via `fetchCallback`.
|
|
20
|
+
*/
|
|
21
|
+
static getOrSet(key, fetchCallback, storageType = StorageType.IN_MEMORY_CACHE) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
const cache = this.getCache(storageType);
|
|
24
|
+
if (cache[key]) {
|
|
25
|
+
return cache[key].data;
|
|
26
|
+
}
|
|
27
|
+
const data = yield fetchCallback();
|
|
28
|
+
cache[key] = { data };
|
|
29
|
+
this.saveCache(cache, storageType);
|
|
30
|
+
return data;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Remove uma entrada específica do cache.
|
|
35
|
+
*
|
|
36
|
+
* @param key Identificador único da entrada a ser removida.
|
|
37
|
+
* @param storageType Tipo de armazenamento: `'inMemoryCache'`, `'sessionStorage'` ou `'localStorage'`.
|
|
38
|
+
*/
|
|
39
|
+
static clear(key, storageType = StorageType.IN_MEMORY_CACHE) {
|
|
40
|
+
const cache = this.getCache(storageType);
|
|
41
|
+
delete cache[key];
|
|
42
|
+
this.saveCache(cache, storageType);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Remove todas as entradas do cache.
|
|
46
|
+
*
|
|
47
|
+
* @param storageType Tipo de armazenamento: `'inMemoryCache'`, `'sessionStorage'` ou `'localStorage'`.
|
|
48
|
+
*/
|
|
49
|
+
static clearAll(storageType = StorageType.IN_MEMORY_CACHE) {
|
|
50
|
+
if (storageType === StorageType.IN_MEMORY_CACHE) {
|
|
51
|
+
this.inMemoryCache.clear();
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
this.getStorage(storageType).removeItem(this.storageKey);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Obtém o cache armazenado no armazenamento especificado.
|
|
59
|
+
* @param storageType Tipo de armazenamento: `'inMemoryCache'`, `'sessionStorage'` ou `'localStorage'`.
|
|
60
|
+
* @returns Um objeto representando o cache armazenado.
|
|
61
|
+
*/
|
|
62
|
+
static getCache(storageType) {
|
|
63
|
+
if (storageType === StorageType.IN_MEMORY_CACHE) {
|
|
64
|
+
return Object.fromEntries(this.inMemoryCache);
|
|
65
|
+
}
|
|
66
|
+
const storage = this.getStorage(storageType);
|
|
67
|
+
const cache = storage.getItem(this.storageKey);
|
|
68
|
+
return cache ? JSON.parse(cache) : {};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Salva o cache no armazenamento especificado.
|
|
72
|
+
* @param cache O objeto representando o cache a ser salvo.
|
|
73
|
+
* @param storageType Tipo de armazenamento: `'inMemoryCache'`, `'sessionStorage'` ou `'localStorage'`.
|
|
74
|
+
*/
|
|
75
|
+
static saveCache(cache, storageType) {
|
|
76
|
+
if (storageType === StorageType.IN_MEMORY_CACHE) {
|
|
77
|
+
this.inMemoryCache = new Map(Object.entries(cache));
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
const storage = this.getStorage(storageType);
|
|
81
|
+
storage.setItem(this.storageKey, JSON.stringify(cache));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Retorna o armazenamento correspondente ao tipo especificado.
|
|
86
|
+
* @param storageType Tipo de armazenamento: `'sessionStorage'` ou `'localStorage'`.
|
|
87
|
+
* @returns O objeto de armazenamento correspondente.
|
|
88
|
+
*/
|
|
89
|
+
static getStorage(storageType) {
|
|
90
|
+
return storageType === StorageType.LOCAL_STORAGE ? localStorage : sessionStorage;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Nome da chave utilizada para armazenar o cache no armazenamento.
|
|
95
|
+
*/
|
|
96
|
+
CacheManager.storageKey = 'cacheManager';
|
|
97
|
+
/**
|
|
98
|
+
* Estrutura de armazenamento em memória.
|
|
99
|
+
*/
|
|
100
|
+
CacheManager.inMemoryCache = new Map();
|
|
101
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/CacheManager/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,cAAc,uBAAuB,CAAC;AAEtC,MAAM,OAAO,YAAY;IAWrB;;;;;;;OAOG;IACI,MAAM,CAAO,QAAQ,CACxB,GAAW,EACX,aAA+B,EAC/B,cAA2B,WAAW,CAAC,eAAe;;YAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEzC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;gBACZ,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;aAC1B;YAED,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE,CAAC;YACnC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,GAAW,EAAE,cAA2B,WAAW,CAAC,eAAe;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,cAA2B,WAAW,CAAC,eAAe;QACzE,IAAI,WAAW,KAAK,WAAW,CAAC,eAAe,EAAE;YAC7C,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC9B;aAAM;YACH,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5D;IACL,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,QAAQ,CAAC,WAAwB;QAC5C,IAAI,WAAW,KAAK,WAAW,CAAC,eAAe,EAAE;YAC7C,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACjD;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,SAAS,CAAC,KAA0B,EAAE,WAAwB;QACzE,IAAI,WAAW,KAAK,WAAW,CAAC,eAAe,EAAE;YAC7C,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;SACvD;aAAM;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC7C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAC3D;IACL,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,UAAU,CAAC,WAAwB;QAC9C,OAAO,WAAW,KAAK,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC;IACrF,CAAC;;AAhGD;;GAEG;AACqB,uBAAU,GAAG,cAAc,CAAC;AAEpD;;GAEG;AACY,0BAAa,GAAG,IAAI,GAAG,EAAe,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var StorageType;
|
|
2
|
+
(function (StorageType) {
|
|
3
|
+
StorageType["IN_MEMORY_CACHE"] = "inMemoryCache";
|
|
4
|
+
StorageType["SESSION_STORAGE"] = "sessionStorage";
|
|
5
|
+
StorageType["LOCAL_STORAGE"] = "localStorage";
|
|
6
|
+
})(StorageType || (StorageType = {}));
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/CacheManager/interfaces/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,gDAAiC,CAAA;IACjC,iDAAkC,CAAA;IAClC,6CAA8B,CAAA;AAClC,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB"}
|
package/dist/utils/DateUtils.js
CHANGED
|
@@ -36,6 +36,9 @@ export default class DateUtils {
|
|
|
36
36
|
* @returns - Uma string com as horas no formato HH:MM ou HH:MM:SS.
|
|
37
37
|
*/
|
|
38
38
|
static formatTime(date, showSeconds = false) {
|
|
39
|
+
if (date == null) {
|
|
40
|
+
return '';
|
|
41
|
+
}
|
|
39
42
|
const timeOptions = { hour: "2-digit", minute: "2-digit", second: showSeconds ? "2-digit" : undefined };
|
|
40
43
|
return new Intl.DateTimeFormat("pt-BR", timeOptions).format(date);
|
|
41
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateUtils.js","sourceRoot":"","sources":["../../src/utils/DateUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateUtils.js","sourceRoot":"","sources":["../../src/utils/DateUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { OverflowDirection } from './OverflowWatcher/types/overflow-direction.js';
|
|
2
|
+
export function calcMarginSize(el, scrollDirection) {
|
|
3
|
+
const computedStyle = getComputedStyle(el);
|
|
4
|
+
if (OverflowDirection.HORIZONTAL === scrollDirection) {
|
|
5
|
+
return (parseInt(computedStyle.marginLeft || '0') + parseInt(computedStyle.marginRight || '0'));
|
|
6
|
+
}
|
|
7
|
+
return (parseInt(computedStyle.marginTop || '0') + parseInt(computedStyle.marginBottom || '0'));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=ElementUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ElementUtils.js","sourceRoot":"","sources":["../../src/utils/ElementUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAElF,MAAM,UAAU,cAAc,CAAC,EAAU,EAAE,eAAkC;IAC3E,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAG,iBAAiB,CAAC,UAAU,KAAK,eAAe,EAAC;QAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC;KACjG;IAED,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC;AAClG,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Define os tipos de operação que o locker pode controlar
|
|
3
|
+
*/
|
|
4
|
+
export declare enum LockManagerOperation {
|
|
5
|
+
/**
|
|
6
|
+
Operação de lock utilizada para controlar cliques nos botoes da taskbar.
|
|
7
|
+
*/
|
|
8
|
+
TASKBAR_CLICK = "taskbar_click"
|
|
9
|
+
}
|
|
10
|
+
export declare class LockManager {
|
|
11
|
+
private static _locks;
|
|
12
|
+
/**
|
|
13
|
+
* Nome do atributo que será utilizado para controlar contexto de locks nos elementos da DOM.
|
|
14
|
+
*/
|
|
15
|
+
static ATTRIBUTE_NAME: string;
|
|
16
|
+
private static buildContextID;
|
|
17
|
+
private static buildLockerID;
|
|
18
|
+
private static findExistingCtxId;
|
|
19
|
+
private static traverseAndAddAttr;
|
|
20
|
+
/**
|
|
21
|
+
* Cria um contexto de locker, caso nao exista, para todos elementos pais iniciados com ez- ou snk-.
|
|
22
|
+
*
|
|
23
|
+
* @param startElement - Elemento de de onde o lock deve começar.
|
|
24
|
+
*
|
|
25
|
+
* @returns - O id do locker, que pode ser usado para iniciar ou aguardar um lock do contexto.
|
|
26
|
+
*/
|
|
27
|
+
static addLockManagerCtxId(startElement: HTMLElement): string;
|
|
28
|
+
/**
|
|
29
|
+
* Inicia um locker baseado em um contexto e uma operação.
|
|
30
|
+
*
|
|
31
|
+
* @param id - Pode ser um ID do contexto de locker, ou, o elemento contendo um contexto de locker.
|
|
32
|
+
* @param operation - Operação do contexto que o lock deve ser feito.
|
|
33
|
+
*
|
|
34
|
+
* @returns - Uma função que fara a liberação do lock.
|
|
35
|
+
*/
|
|
36
|
+
static lock(id: string | HTMLElement, operation: LockManagerOperation): any;
|
|
37
|
+
/**
|
|
38
|
+
* Aguarda todos os lockers de um contexto e operação serem resolvidos.
|
|
39
|
+
*
|
|
40
|
+
* @param id - Pode ser um ID do contexto de locker, ou, o elemento contendo um contexto de locker.
|
|
41
|
+
* @param operation - Operação do contexto que devera aguardar.
|
|
42
|
+
*
|
|
43
|
+
* @returns - Promise que será resolvida quando todos lockers forem finalizados.
|
|
44
|
+
*/
|
|
45
|
+
static whenResolve(id: string | HTMLElement, operation: LockManagerOperation): Promise<void>;
|
|
46
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { StringUtils } from "./StringUtils.js";
|
|
11
|
+
/**
|
|
12
|
+
* Define os tipos de operação que o locker pode controlar
|
|
13
|
+
*/
|
|
14
|
+
export var LockManagerOperation;
|
|
15
|
+
(function (LockManagerOperation) {
|
|
16
|
+
/**
|
|
17
|
+
Operação de lock utilizada para controlar cliques nos botoes da taskbar.
|
|
18
|
+
*/
|
|
19
|
+
LockManagerOperation["TASKBAR_CLICK"] = "taskbar_click";
|
|
20
|
+
})(LockManagerOperation || (LockManagerOperation = {}));
|
|
21
|
+
export class LockManager {
|
|
22
|
+
static buildContextID() {
|
|
23
|
+
return StringUtils.generateUUID();
|
|
24
|
+
}
|
|
25
|
+
static buildLockerID(ctxId, operation) {
|
|
26
|
+
if (ctxId == undefined)
|
|
27
|
+
return undefined;
|
|
28
|
+
let resolvedID = ctxId;
|
|
29
|
+
if (resolvedID instanceof HTMLElement) {
|
|
30
|
+
resolvedID = ctxId.getAttribute(LockManager.ATTRIBUTE_NAME);
|
|
31
|
+
if (!resolvedID)
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
return `${resolvedID}_${operation}`;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Cria um contexto de locker, caso nao exista, para todos elementos pais iniciados com ez- ou snk-.
|
|
38
|
+
*
|
|
39
|
+
* @param startElement - Elemento de de onde o lock deve começar.
|
|
40
|
+
*
|
|
41
|
+
* @returns - O id do locker, que pode ser usado para iniciar ou aguardar um lock do contexto.
|
|
42
|
+
*/
|
|
43
|
+
static addLockManagerCtxId(startElement) {
|
|
44
|
+
var _a;
|
|
45
|
+
try {
|
|
46
|
+
if (!startElement) {
|
|
47
|
+
console.error("Elemento inicial não fornecido.");
|
|
48
|
+
return "";
|
|
49
|
+
}
|
|
50
|
+
const ctxId = (_a = LockManager.findExistingCtxId(startElement)) !== null && _a !== void 0 ? _a : LockManager.buildContextID();
|
|
51
|
+
let currentElement = startElement;
|
|
52
|
+
while (currentElement && currentElement.tagName != 'BODY') {
|
|
53
|
+
LockManager.traverseAndAddAttr(currentElement, ctxId);
|
|
54
|
+
currentElement = currentElement.parentElement;
|
|
55
|
+
}
|
|
56
|
+
return ctxId;
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
console.warn(`Erro ao registrar locks para o elemento: ${startElement === null || startElement === void 0 ? void 0 : startElement.tagName}`, err);
|
|
60
|
+
return "";
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Inicia um locker baseado em um contexto e uma operação.
|
|
65
|
+
*
|
|
66
|
+
* @param id - Pode ser um ID do contexto de locker, ou, o elemento contendo um contexto de locker.
|
|
67
|
+
* @param operation - Operação do contexto que o lock deve ser feito.
|
|
68
|
+
*
|
|
69
|
+
* @returns - Uma função que fara a liberação do lock.
|
|
70
|
+
*/
|
|
71
|
+
static lock(id, operation) {
|
|
72
|
+
var _a;
|
|
73
|
+
const lockerId = LockManager.buildLockerID(id, operation);
|
|
74
|
+
if (!lockerId)
|
|
75
|
+
return () => { };
|
|
76
|
+
const lock = { done: false };
|
|
77
|
+
const promise = new Promise(resolve => lock.resolve = resolve);
|
|
78
|
+
lock.promise = promise;
|
|
79
|
+
const currentLocks = (_a = LockManager._locks.get(lockerId)) !== null && _a !== void 0 ? _a : [];
|
|
80
|
+
currentLocks.push(lock);
|
|
81
|
+
LockManager._locks.set(lockerId, currentLocks);
|
|
82
|
+
return () => {
|
|
83
|
+
var _a;
|
|
84
|
+
lock.done = true;
|
|
85
|
+
(_a = lock.resolve) === null || _a === void 0 ? void 0 : _a.call(lock);
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Aguarda todos os lockers de um contexto e operação serem resolvidos.
|
|
90
|
+
*
|
|
91
|
+
* @param id - Pode ser um ID do contexto de locker, ou, o elemento contendo um contexto de locker.
|
|
92
|
+
* @param operation - Operação do contexto que devera aguardar.
|
|
93
|
+
*
|
|
94
|
+
* @returns - Promise que será resolvida quando todos lockers forem finalizados.
|
|
95
|
+
*/
|
|
96
|
+
static whenResolve(id, operation) {
|
|
97
|
+
var _a, _b;
|
|
98
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
const lockerId = LockManager.buildLockerID(id, operation);
|
|
100
|
+
if (!lockerId)
|
|
101
|
+
return;
|
|
102
|
+
while ((_a = LockManager._locks.get(lockerId)) === null || _a === void 0 ? void 0 : _a.length) {
|
|
103
|
+
const locks = (_b = LockManager._locks.get(lockerId)) !== null && _b !== void 0 ? _b : [];
|
|
104
|
+
yield Promise.all(locks.map(lock => lock.promise));
|
|
105
|
+
//Aguarda listeners da tela reagirem as mudancas de estado do dataunit
|
|
106
|
+
yield new Promise(resolve => setTimeout(resolve, 200));
|
|
107
|
+
LockManager._locks.set(lockerId, locks.filter(lock => !lock.done));
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
LockManager._locks = new Map();
|
|
113
|
+
/**
|
|
114
|
+
* Nome do atributo que será utilizado para controlar contexto de locks nos elementos da DOM.
|
|
115
|
+
*/
|
|
116
|
+
LockManager.ATTRIBUTE_NAME = "data-locker-manger-context-id";
|
|
117
|
+
LockManager.findExistingCtxId = (element) => {
|
|
118
|
+
let currentElement = element;
|
|
119
|
+
while (currentElement) {
|
|
120
|
+
if (currentElement.hasAttribute(LockManager.ATTRIBUTE_NAME)) {
|
|
121
|
+
return currentElement.getAttribute(LockManager.ATTRIBUTE_NAME);
|
|
122
|
+
}
|
|
123
|
+
const childWithCtxId = Array.from(currentElement.children).find(child => (child instanceof HTMLElement) && child.hasAttribute(LockManager.ATTRIBUTE_NAME));
|
|
124
|
+
if (childWithCtxId) {
|
|
125
|
+
return childWithCtxId.getAttribute(LockManager.ATTRIBUTE_NAME);
|
|
126
|
+
}
|
|
127
|
+
currentElement = currentElement.parentElement;
|
|
128
|
+
}
|
|
129
|
+
return null;
|
|
130
|
+
};
|
|
131
|
+
LockManager.traverseAndAddAttr = (element, ctxId) => {
|
|
132
|
+
if (element.tagName.startsWith('EZ-') || element.tagName.startsWith('SNK-')) {
|
|
133
|
+
element.setAttribute(LockManager.ATTRIBUTE_NAME, ctxId);
|
|
134
|
+
}
|
|
135
|
+
Array.from(element.children).forEach((child) => {
|
|
136
|
+
if (child instanceof HTMLElement) {
|
|
137
|
+
LockManager.traverseAndAddAttr(child, ctxId);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=LockManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LockManager.js","sourceRoot":"","sources":["../../src/utils/LockManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,13 +71,28 @@ export declare class MaskFormatter {
|
|
|
71
71
|
*/
|
|
72
72
|
get mask(): string;
|
|
73
73
|
constructor(mask: string);
|
|
74
|
+
/**
|
|
75
|
+
* Aplica a máscara quando o input é alterado
|
|
76
|
+
*
|
|
77
|
+
* @param value Valor a ser aplicado com a máscara.
|
|
78
|
+
* @return O valor processado de acordo com o padrão.
|
|
79
|
+
*/
|
|
80
|
+
applyMask(value: string): string;
|
|
81
|
+
/**
|
|
82
|
+
* Remove a máscara formatando a string retornando sem máscara
|
|
83
|
+
*
|
|
84
|
+
* @param value Valor a ser formatado com máscara.
|
|
85
|
+
* @return O valor processado de acordo com o padrão.
|
|
86
|
+
*/
|
|
87
|
+
removeMask(value: string): string;
|
|
74
88
|
/**
|
|
75
89
|
* Formata a string passada baseada na máscara definda pelo atributo mask.
|
|
76
90
|
*
|
|
77
91
|
* @param value Valor a ser formatado.
|
|
92
|
+
* @param trimBefore Executa um trim para remover espaços em branco.
|
|
78
93
|
* @return O valor processado de acordo com o padrão.
|
|
79
94
|
*/
|
|
80
|
-
format(value: string): string;
|
|
95
|
+
format(value: string, trimBefore?: boolean): string;
|
|
81
96
|
/**
|
|
82
97
|
* Prepara a formatação internamente de acordo com o padrão.
|
|
83
98
|
*/
|
|
@@ -70,13 +70,92 @@ export class MaskFormatter {
|
|
|
70
70
|
this.placeholder = ' ';
|
|
71
71
|
this.mask = mask;
|
|
72
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Aplica a máscara quando o input é alterado
|
|
75
|
+
*
|
|
76
|
+
* @param value Valor a ser aplicado com a máscara.
|
|
77
|
+
* @return O valor processado de acordo com o padrão.
|
|
78
|
+
*/
|
|
79
|
+
applyMask(value) {
|
|
80
|
+
if (this.mask === MaskFormatter.DEFAULT_MASKS.cor_rgb) {
|
|
81
|
+
value = value.replace("#", "");
|
|
82
|
+
const expectedFormattedValue = this.format(value.replace(/\s/g, ""));
|
|
83
|
+
if (value === expectedFormattedValue) {
|
|
84
|
+
return value;
|
|
85
|
+
}
|
|
86
|
+
if (value.length >= 6) {
|
|
87
|
+
const formattedValue = this.format(value);
|
|
88
|
+
return formattedValue;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
return value;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const expectedFormattedValue = this.format(value.replace(/\s/g, ""));
|
|
95
|
+
if (value === expectedFormattedValue) {
|
|
96
|
+
return value;
|
|
97
|
+
}
|
|
98
|
+
const maskPlaceholders = this.mask.match(/[UAL#?*']/g) || [];
|
|
99
|
+
const placeholderCount = maskPlaceholders.length;
|
|
100
|
+
const validValue = value.split('').filter((char, index) => {
|
|
101
|
+
const placeholder = maskPlaceholders[index];
|
|
102
|
+
if (!placeholder)
|
|
103
|
+
return false;
|
|
104
|
+
switch (placeholder) {
|
|
105
|
+
case MaskFormatter.DIGIT_KEY:
|
|
106
|
+
return /\d/.test(char);
|
|
107
|
+
case MaskFormatter.UPPERCASE_KEY:
|
|
108
|
+
return /[a-zA-Z]/.test(char);
|
|
109
|
+
case MaskFormatter.LOWERCASE_KEY:
|
|
110
|
+
return /[a-zA-Z]/.test(char);
|
|
111
|
+
case MaskFormatter.ALPHA_NUMERIC_KEY:
|
|
112
|
+
return /[a-zA-Z0-9]/.test(char);
|
|
113
|
+
case MaskFormatter.CHARACTER_KEY:
|
|
114
|
+
return /[a-zA-Z]/.test(char);
|
|
115
|
+
case MaskFormatter.ANYTHING_KEY:
|
|
116
|
+
return true;
|
|
117
|
+
case MaskFormatter.LITERAL_KEY:
|
|
118
|
+
const literalChar = this.mask.charAt(index);
|
|
119
|
+
return char === literalChar;
|
|
120
|
+
default:
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
if (validValue.length >= placeholderCount) {
|
|
125
|
+
const formattedValue = this.format(validValue.join(''));
|
|
126
|
+
return formattedValue;
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
const partialValue = validValue.join('');
|
|
130
|
+
return partialValue;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Remove a máscara formatando a string retornando sem máscara
|
|
135
|
+
*
|
|
136
|
+
* @param value Valor a ser formatado com máscara.
|
|
137
|
+
* @return O valor processado de acordo com o padrão.
|
|
138
|
+
*/
|
|
139
|
+
removeMask(value) {
|
|
140
|
+
const maskString = this.mask.replace("#", "");
|
|
141
|
+
const maskElements = maskString.split("");
|
|
142
|
+
let valueMapped = value;
|
|
143
|
+
maskElements.forEach(maskChar => {
|
|
144
|
+
valueMapped = valueMapped.replace(maskChar, "");
|
|
145
|
+
});
|
|
146
|
+
return valueMapped;
|
|
147
|
+
}
|
|
73
148
|
/**
|
|
74
149
|
* Formata a string passada baseada na máscara definda pelo atributo mask.
|
|
75
150
|
*
|
|
76
151
|
* @param value Valor a ser formatado.
|
|
152
|
+
* @param trimBefore Executa um trim para remover espaços em branco.
|
|
77
153
|
* @return O valor processado de acordo com o padrão.
|
|
78
154
|
*/
|
|
79
|
-
format(value) {
|
|
155
|
+
format(value, trimBefore = false) {
|
|
156
|
+
if (trimBefore) {
|
|
157
|
+
value = value.trim();
|
|
158
|
+
}
|
|
80
159
|
let result = '';
|
|
81
160
|
const index = [0];
|
|
82
161
|
let counter = 0;
|
|
@@ -142,7 +221,8 @@ MaskFormatter.DEFAULT_MASKS = {
|
|
|
142
221
|
"cnpj": "##.###.###/####-##",
|
|
143
222
|
"cpf": "###.###.###-##",
|
|
144
223
|
"phone": "(##) ####-####",
|
|
145
|
-
"cep": "##.###-###"
|
|
224
|
+
"cep": "##.###-###",
|
|
225
|
+
"cor_rgb": "'#AAAAAA"
|
|
146
226
|
};
|
|
147
227
|
//
|
|
148
228
|
// Classes internas usadas para representar a máscara.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaskFormatter.js","sourceRoot":"","sources":["../../src/utils/MaskFormatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,OAAO,aAAa;
|
|
1
|
+
{"version":3,"file":"MaskFormatter.js","sourceRoot":"","sources":["../../src/utils/MaskFormatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,4 +52,42 @@ export default class ObjectUtils {
|
|
|
52
52
|
* @returns - Se o objeto 1 é igual ao objeto 2.
|
|
53
53
|
*/
|
|
54
54
|
static equals(obj1: any, obj2: any): any;
|
|
55
|
+
/**
|
|
56
|
+
* Compara se o valor de dois items são equivalentes.
|
|
57
|
+
* Comparando tanto o valor do item em si, quanto sua propriedade "value"
|
|
58
|
+
*
|
|
59
|
+
* @param obj1 - Objeto a ser comparado.
|
|
60
|
+
* @param obj2 - Objeto a ser comparado.
|
|
61
|
+
* @param propToCompare - propriedade que deve ser comparada.
|
|
62
|
+
* @returns - Se o objeto 1 é equivalente ao objeto 2.
|
|
63
|
+
*
|
|
64
|
+
* * @example
|
|
65
|
+
* hasEquivalentProps('123', {value: '123', label: teste}, 'value') | Retorna: true
|
|
66
|
+
* @example
|
|
67
|
+
* hasEquivalentProps('xpto', {value: '123', label: teste}, 'propName') | Retorna: false
|
|
68
|
+
*/
|
|
69
|
+
static hasEquivalentProps(obj1: any, obj2: any, propToCompare?: string): boolean;
|
|
70
|
+
private static getComparableProp;
|
|
71
|
+
/**
|
|
72
|
+
* Verifica se o objeto está vazio (sem atributos).
|
|
73
|
+
*
|
|
74
|
+
* @param obj - Objeto a ser verificado.
|
|
75
|
+
* @returns - True caso o objeto esteja vazio.
|
|
76
|
+
*/
|
|
77
|
+
static isEmpty(obj: object): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Verifica se o objeto NÃO está vazio (sem atributos).
|
|
80
|
+
*
|
|
81
|
+
* @param obj - Objeto a ser verificado.
|
|
82
|
+
* @returns - True caso o objeto NÃO esteja vazio
|
|
83
|
+
*/
|
|
84
|
+
static isNotEmpty(obj: object): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Busca a propriedade de um objeto baseado em seu caminho.
|
|
87
|
+
*
|
|
88
|
+
* @param obj - Objeto a ser verificado.
|
|
89
|
+
* @param keyPath - Caminho da propriedade a ser buscada.
|
|
90
|
+
* @returns - O valor da propriedade caso ela exista.
|
|
91
|
+
*/
|
|
92
|
+
static getProp(obj: Record<string, any>, keyPath: string): Record<string, any> | undefined;
|
|
55
93
|
}
|
|
@@ -74,5 +74,56 @@ export default class ObjectUtils {
|
|
|
74
74
|
static equals(obj1, obj2) {
|
|
75
75
|
return ObjectUtils.objectToString(obj1) === ObjectUtils.objectToString(obj2);
|
|
76
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Compara se o valor de dois items são equivalentes.
|
|
79
|
+
* Comparando tanto o valor do item em si, quanto sua propriedade "value"
|
|
80
|
+
*
|
|
81
|
+
* @param obj1 - Objeto a ser comparado.
|
|
82
|
+
* @param obj2 - Objeto a ser comparado.
|
|
83
|
+
* @param propToCompare - propriedade que deve ser comparada.
|
|
84
|
+
* @returns - Se o objeto 1 é equivalente ao objeto 2.
|
|
85
|
+
*
|
|
86
|
+
* * @example
|
|
87
|
+
* hasEquivalentProps('123', {value: '123', label: teste}, 'value') | Retorna: true
|
|
88
|
+
* @example
|
|
89
|
+
* hasEquivalentProps('xpto', {value: '123', label: teste}, 'propName') | Retorna: false
|
|
90
|
+
*/
|
|
91
|
+
static hasEquivalentProps(obj1, obj2, propToCompare = "value") {
|
|
92
|
+
return this.getComparableProp(obj1, propToCompare) == this.getComparableProp(obj2, propToCompare);
|
|
93
|
+
}
|
|
94
|
+
static getComparableProp(value, propToCompare = "value") {
|
|
95
|
+
if (typeof value === 'object' && value !== null && propToCompare in value) {
|
|
96
|
+
return value[propToCompare];
|
|
97
|
+
}
|
|
98
|
+
return value;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Verifica se o objeto está vazio (sem atributos).
|
|
102
|
+
*
|
|
103
|
+
* @param obj - Objeto a ser verificado.
|
|
104
|
+
* @returns - True caso o objeto esteja vazio.
|
|
105
|
+
*/
|
|
106
|
+
static isEmpty(obj) {
|
|
107
|
+
return Object.keys(obj).length === 0 && obj.constructor === Object;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Verifica se o objeto NÃO está vazio (sem atributos).
|
|
111
|
+
*
|
|
112
|
+
* @param obj - Objeto a ser verificado.
|
|
113
|
+
* @returns - True caso o objeto NÃO esteja vazio
|
|
114
|
+
*/
|
|
115
|
+
static isNotEmpty(obj) {
|
|
116
|
+
return !this.isEmpty(obj);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Busca a propriedade de um objeto baseado em seu caminho.
|
|
120
|
+
*
|
|
121
|
+
* @param obj - Objeto a ser verificado.
|
|
122
|
+
* @param keyPath - Caminho da propriedade a ser buscada.
|
|
123
|
+
* @returns - O valor da propriedade caso ela exista.
|
|
124
|
+
*/
|
|
125
|
+
static getProp(obj, keyPath) {
|
|
126
|
+
return keyPath.split('.').reduce((previous, current) => previous === null || previous === void 0 ? void 0 : previous[current], obj);
|
|
127
|
+
}
|
|
77
128
|
}
|
|
78
129
|
//# sourceMappingURL=ObjectUtils.js.map
|