@sankhyalabs/core 0.0.0-bugfix-dev-KB-6165.0

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 (283) hide show
  1. package/.docs/.nojekyll +1 -0
  2. package/.docs/README.md +63 -0
  3. package/.docs/classes/ApplicationContext.md +90 -0
  4. package/.docs/classes/ArrayUtils.md +99 -0
  5. package/.docs/classes/AuthorizedServiceCaller.md +76 -0
  6. package/.docs/classes/Change.md +190 -0
  7. package/.docs/classes/DataUnit.md +2453 -0
  8. package/.docs/classes/DataUnitAction.md +96 -0
  9. package/.docs/classes/DataUnitStorage.md +116 -0
  10. package/.docs/classes/DateUtils.md +327 -0
  11. package/.docs/classes/ElementIDUtils.md +308 -0
  12. package/.docs/classes/ErrorException.md +214 -0
  13. package/.docs/classes/ErrorTracking.md +62 -0
  14. package/.docs/classes/FloatingManager.md +530 -0
  15. package/.docs/classes/HTMLBuilder.md +45 -0
  16. package/.docs/classes/HttpProvider.md +96 -0
  17. package/.docs/classes/JSUtils.md +115 -0
  18. package/.docs/classes/MaskFormatter-1.md +347 -0
  19. package/.docs/classes/NumberUtils.md +335 -0
  20. package/.docs/classes/ObjectUtils.md +160 -0
  21. package/.docs/classes/OnboardingUtils.md +126 -0
  22. package/.docs/classes/PromiseSync.md +91 -0
  23. package/.docs/classes/ReadyUtil.md +115 -0
  24. package/.docs/classes/RequestMetadata.md +84 -0
  25. package/.docs/classes/SelectionInfo.md +168 -0
  26. package/.docs/classes/SkwHttpProvider.md +109 -0
  27. package/.docs/classes/StringUtils.md +562 -0
  28. package/.docs/classes/TimeFormatter.md +98 -0
  29. package/.docs/classes/UserAgentUtils.md +58 -0
  30. package/.docs/classes/VersionUtils.md +42 -0
  31. package/.docs/classes/WaitingChangeException.md +200 -0
  32. package/.docs/classes/WarningException.md +214 -0
  33. package/.docs/enums/Action.md +294 -0
  34. package/.docs/enums/ChangeOperation.md +52 -0
  35. package/.docs/enums/DataType.md +63 -0
  36. package/.docs/enums/DependencyType.md +41 -0
  37. package/.docs/enums/SelectionMode.md +30 -0
  38. package/.docs/enums/SortMode.md +30 -0
  39. package/.docs/enums/UserInterface.md +195 -0
  40. package/.docs/interfaces/ChildDescriptor.md +41 -0
  41. package/.docs/interfaces/ChildLink.md +30 -0
  42. package/.docs/interfaces/DUActionInterceptor.md +29 -0
  43. package/.docs/interfaces/ExecutionContext.md +58 -0
  44. package/.docs/interfaces/FieldDescriptor.md +140 -0
  45. package/.docs/interfaces/Filter.md +41 -0
  46. package/.docs/interfaces/IElementIDInfo.md +30 -0
  47. package/.docs/interfaces/LoadDataRequest.md +101 -0
  48. package/.docs/interfaces/LoadDataResponse.md +36 -0
  49. package/.docs/interfaces/PageRequest.md +41 -0
  50. package/.docs/interfaces/PaginationInfo.md +75 -0
  51. package/.docs/interfaces/PromiseSyncCallback.md +39 -0
  52. package/.docs/interfaces/QuickFilter.md +41 -0
  53. package/.docs/interfaces/Record.md +62 -0
  54. package/.docs/interfaces/SavedRecord.md +85 -0
  55. package/.docs/interfaces/Sort.md +41 -0
  56. package/.docs/interfaces/SortingProvider.md +29 -0
  57. package/.docs/interfaces/UnitMetadata.md +52 -0
  58. package/.docs/interfaces/WaitingChange.md +41 -0
  59. package/.docs/modules/MaskFormatter.md +37 -0
  60. package/.docs/modules.md +74 -0
  61. package/.docs/package.json +15 -0
  62. package/.eslintignore +2 -0
  63. package/.eslintrc.cjs +35 -0
  64. package/.husky/commit-msg +4 -0
  65. package/.releaserc +58 -0
  66. package/README.md +62 -0
  67. package/commitlint.config.cjs +14 -0
  68. package/dist/async/PromiseSync.d.ts +29 -0
  69. package/dist/async/PromiseSync.js +31 -0
  70. package/dist/async/PromiseSync.js.map +1 -0
  71. package/dist/dataunit/DataUnit.d.ts +924 -0
  72. package/dist/dataunit/DataUnit.js +1621 -0
  73. package/dist/dataunit/DataUnit.js.map +1 -0
  74. package/dist/dataunit/DataUnitStorage.d.ts +24 -0
  75. package/dist/dataunit/DataUnitStorage.js +39 -0
  76. package/dist/dataunit/DataUnitStorage.js.map +1 -0
  77. package/dist/dataunit/formatting/PrettyFormatter.d.ts +2 -0
  78. package/dist/dataunit/formatting/PrettyFormatter.js +94 -0
  79. package/dist/dataunit/formatting/PrettyFormatter.js.map +1 -0
  80. package/dist/dataunit/loading/LoadDataRequest.d.ts +19 -0
  81. package/dist/dataunit/loading/LoadDataRequest.js +2 -0
  82. package/dist/dataunit/loading/LoadDataRequest.js.map +1 -0
  83. package/dist/dataunit/loading/LoadDataResponse.d.ts +9 -0
  84. package/dist/dataunit/loading/LoadDataResponse.js +2 -0
  85. package/dist/dataunit/loading/LoadDataResponse.js.map +1 -0
  86. package/dist/dataunit/loading/PaginationInfo.d.ts +13 -0
  87. package/dist/dataunit/loading/PaginationInfo.js +2 -0
  88. package/dist/dataunit/loading/PaginationInfo.js.map +1 -0
  89. package/dist/dataunit/metadata/DataType.d.ts +54 -0
  90. package/dist/dataunit/metadata/DataType.js +124 -0
  91. package/dist/dataunit/metadata/DataType.js.map +1 -0
  92. package/dist/dataunit/metadata/UnitMetadata.d.ts +88 -0
  93. package/dist/dataunit/metadata/UnitMetadata.js +36 -0
  94. package/dist/dataunit/metadata/UnitMetadata.js.map +1 -0
  95. package/dist/dataunit/state/HistReducer.d.ts +10 -0
  96. package/dist/dataunit/state/HistReducer.js +28 -0
  97. package/dist/dataunit/state/HistReducer.js.map +1 -0
  98. package/dist/dataunit/state/StateManager.d.ts +57 -0
  99. package/dist/dataunit/state/StateManager.js +97 -0
  100. package/dist/dataunit/state/StateManager.js.map +1 -0
  101. package/dist/dataunit/state/action/DataUnitAction.d.ts +40 -0
  102. package/dist/dataunit/state/action/DataUnitAction.js +42 -0
  103. package/dist/dataunit/state/action/DataUnitAction.js.map +1 -0
  104. package/dist/dataunit/state/slice/AddedRecordsSlice.d.ts +12 -0
  105. package/dist/dataunit/state/slice/AddedRecordsSlice.js +30 -0
  106. package/dist/dataunit/state/slice/AddedRecordsSlice.js.map +1 -0
  107. package/dist/dataunit/state/slice/ChangesSlice.d.ts +13 -0
  108. package/dist/dataunit/state/slice/ChangesSlice.js +105 -0
  109. package/dist/dataunit/state/slice/ChangesSlice.js.map +1 -0
  110. package/dist/dataunit/state/slice/InvalidFieldsSlice.d.ts +10 -0
  111. package/dist/dataunit/state/slice/InvalidFieldsSlice.js +66 -0
  112. package/dist/dataunit/state/slice/InvalidFieldsSlice.js.map +1 -0
  113. package/dist/dataunit/state/slice/LoadingControlSlice.d.ts +19 -0
  114. package/dist/dataunit/state/slice/LoadingControlSlice.js +45 -0
  115. package/dist/dataunit/state/slice/LoadingControlSlice.js.map +1 -0
  116. package/dist/dataunit/state/slice/RecordsSlice.d.ts +11 -0
  117. package/dist/dataunit/state/slice/RecordsSlice.js +62 -0
  118. package/dist/dataunit/state/slice/RecordsSlice.js.map +1 -0
  119. package/dist/dataunit/state/slice/RemovedRecordsSlice.d.ts +9 -0
  120. package/dist/dataunit/state/slice/RemovedRecordsSlice.js +25 -0
  121. package/dist/dataunit/state/slice/RemovedRecordsSlice.js.map +1 -0
  122. package/dist/dataunit/state/slice/SelectionSlice.d.ts +19 -0
  123. package/dist/dataunit/state/slice/SelectionSlice.js +155 -0
  124. package/dist/dataunit/state/slice/SelectionSlice.js.map +1 -0
  125. package/dist/dataunit/state/slice/SnapshotSlice.d.ts +19 -0
  126. package/dist/dataunit/state/slice/SnapshotSlice.js +106 -0
  127. package/dist/dataunit/state/slice/SnapshotSlice.js.map +1 -0
  128. package/dist/dataunit/state/slice/UnitMetadataSlice.d.ts +11 -0
  129. package/dist/dataunit/state/slice/UnitMetadataSlice.js +21 -0
  130. package/dist/dataunit/state/slice/UnitMetadataSlice.js.map +1 -0
  131. package/dist/dataunit/state/slice/WaitingChangesSlice.d.ts +12 -0
  132. package/dist/dataunit/state/slice/WaitingChangesSlice.js +56 -0
  133. package/dist/dataunit/state/slice/WaitingChangesSlice.js.map +1 -0
  134. package/dist/exceptions/ErrorException.d.ts +14 -0
  135. package/dist/exceptions/ErrorException.js +13 -0
  136. package/dist/exceptions/ErrorException.js.map +1 -0
  137. package/dist/exceptions/WaitingChangeException.d.ts +12 -0
  138. package/dist/exceptions/WaitingChangeException.js +12 -0
  139. package/dist/exceptions/WaitingChangeException.js.map +1 -0
  140. package/dist/exceptions/WarningException.d.ts +14 -0
  141. package/dist/exceptions/WarningException.js +13 -0
  142. package/dist/exceptions/WarningException.js.map +1 -0
  143. package/dist/html/HTMLBuilder.d.ts +3 -0
  144. package/dist/html/HTMLBuilder.js +9 -0
  145. package/dist/html/HTMLBuilder.js.map +1 -0
  146. package/dist/http/AuthorizedServiceCaller.d.ts +11 -0
  147. package/dist/http/AuthorizedServiceCaller.js +54 -0
  148. package/dist/http/AuthorizedServiceCaller.js.map +1 -0
  149. package/dist/http/HttpProvider.d.ts +25 -0
  150. package/dist/http/HttpProvider.js +74 -0
  151. package/dist/http/HttpProvider.js.map +1 -0
  152. package/dist/http/RequestMetadata.d.ts +30 -0
  153. package/dist/http/RequestMetadata.js +25 -0
  154. package/dist/http/RequestMetadata.js.map +1 -0
  155. package/dist/http/SkwHttpProvider.d.ts +9 -0
  156. package/dist/http/SkwHttpProvider.js +67 -0
  157. package/dist/http/SkwHttpProvider.js.map +1 -0
  158. package/dist/index.d.ts +34 -0
  159. package/dist/index.js +33 -0
  160. package/dist/index.js.map +1 -0
  161. package/dist/traking/ErrorTraking.d.ts +19 -0
  162. package/dist/traking/ErrorTraking.js +34 -0
  163. package/dist/traking/ErrorTraking.js.map +1 -0
  164. package/dist/ui/FloatingManager.d.ts +164 -0
  165. package/dist/ui/FloatingManager.js +358 -0
  166. package/dist/ui/FloatingManager.js.map +1 -0
  167. package/dist/utils/ApplicationContext.d.ts +26 -0
  168. package/dist/utils/ApplicationContext.js +38 -0
  169. package/dist/utils/ApplicationContext.js.map +1 -0
  170. package/dist/utils/ArrayUtils.d.ts +29 -0
  171. package/dist/utils/ArrayUtils.js +57 -0
  172. package/dist/utils/ArrayUtils.js.map +1 -0
  173. package/dist/utils/CriteriaModel.d.ts +107 -0
  174. package/dist/utils/CriteriaModel.js +172 -0
  175. package/dist/utils/CriteriaModel.js.map +1 -0
  176. package/dist/utils/CriteriaParameter.d.ts +69 -0
  177. package/dist/utils/CriteriaParameter.js +83 -0
  178. package/dist/utils/CriteriaParameter.js.map +1 -0
  179. package/dist/utils/DateUtils.d.ts +97 -0
  180. package/dist/utils/DateUtils.js +171 -0
  181. package/dist/utils/DateUtils.js.map +1 -0
  182. package/dist/utils/ElementIDUtils.d.ts +72 -0
  183. package/dist/utils/ElementIDUtils.js +161 -0
  184. package/dist/utils/ElementIDUtils.js.map +1 -0
  185. package/dist/utils/JSUtils.d.ts +36 -0
  186. package/dist/utils/JSUtils.js +66 -0
  187. package/dist/utils/JSUtils.js.map +1 -0
  188. package/dist/utils/MaskFormatter.d.ts +148 -0
  189. package/dist/utils/MaskFormatter.js +356 -0
  190. package/dist/utils/MaskFormatter.js.map +1 -0
  191. package/dist/utils/NumberUtils.d.ts +127 -0
  192. package/dist/utils/NumberUtils.js +245 -0
  193. package/dist/utils/NumberUtils.js.map +1 -0
  194. package/dist/utils/ObjectUtils.d.ts +47 -0
  195. package/dist/utils/ObjectUtils.js +68 -0
  196. package/dist/utils/ObjectUtils.js.map +1 -0
  197. package/dist/utils/OnboardingUtils.d.ts +17 -0
  198. package/dist/utils/OnboardingUtils.js +41 -0
  199. package/dist/utils/OnboardingUtils.js.map +1 -0
  200. package/dist/utils/ReadyUtil.d.ts +24 -0
  201. package/dist/utils/ReadyUtil.js +41 -0
  202. package/dist/utils/ReadyUtil.js.map +1 -0
  203. package/dist/utils/StringUtils.d.ts +167 -0
  204. package/dist/utils/StringUtils.js +328 -0
  205. package/dist/utils/StringUtils.js.map +1 -0
  206. package/dist/utils/TimeFormatter.d.ts +33 -0
  207. package/dist/utils/TimeFormatter.js +98 -0
  208. package/dist/utils/TimeFormatter.js.map +1 -0
  209. package/dist/utils/UserAgentUtils/index.d.ts +15 -0
  210. package/dist/utils/UserAgentUtils/index.js +48 -0
  211. package/dist/utils/UserAgentUtils/index.js.map +1 -0
  212. package/dist/utils/UserAgentUtils/navigatorAgentList.d.ts +17 -0
  213. package/dist/utils/UserAgentUtils/navigatorAgentList.js +40 -0
  214. package/dist/utils/UserAgentUtils/navigatorAgentList.js.map +1 -0
  215. package/dist/utils/VersionUtils.d.ts +7 -0
  216. package/dist/utils/VersionUtils.js +31 -0
  217. package/dist/utils/VersionUtils.js.map +1 -0
  218. package/jest.config.ts +17 -0
  219. package/mock/http/XMLHttpRequest-mock.js +26 -0
  220. package/package.json +52 -0
  221. package/scripts/runlink.bat +1 -0
  222. package/scripts/runlink.sh +1 -0
  223. package/src/async/PromiseSync.ts +49 -0
  224. package/src/dataunit/DataUnit.ts +1835 -0
  225. package/src/dataunit/DataUnitStorage.ts +43 -0
  226. package/src/dataunit/formatting/PrettyFormatter.ts +113 -0
  227. package/src/dataunit/loading/LoadDataRequest.ts +26 -0
  228. package/src/dataunit/loading/LoadDataResponse.ts +11 -0
  229. package/src/dataunit/loading/PaginationInfo.ts +18 -0
  230. package/src/dataunit/metadata/DataType.ts +127 -0
  231. package/src/dataunit/metadata/UnitMetadata.ts +102 -0
  232. package/src/dataunit/state/HistReducer.ts +34 -0
  233. package/src/dataunit/state/StateManager.ts +142 -0
  234. package/src/dataunit/state/action/DataUnitAction.ts +67 -0
  235. package/src/dataunit/state/slice/AddedRecordsSlice.ts +48 -0
  236. package/src/dataunit/state/slice/ChangesSlice.ts +125 -0
  237. package/src/dataunit/state/slice/InvalidFieldsSlice.ts +85 -0
  238. package/src/dataunit/state/slice/LoadingControlSlice.ts +60 -0
  239. package/src/dataunit/state/slice/RecordsSlice.ts +74 -0
  240. package/src/dataunit/state/slice/RemovedRecordsSlice.ts +30 -0
  241. package/src/dataunit/state/slice/SelectionSlice.ts +193 -0
  242. package/src/dataunit/state/slice/SnapshotSlice.ts +139 -0
  243. package/src/dataunit/state/slice/UnitMetadataSlice.ts +30 -0
  244. package/src/dataunit/state/slice/WaitingChangesSlice.ts +74 -0
  245. package/src/exceptions/ErrorException.ts +25 -0
  246. package/src/exceptions/WaitingChangeException.ts +21 -0
  247. package/src/exceptions/WarningException.ts +26 -0
  248. package/src/html/HTMLBuilder.ts +8 -0
  249. package/src/http/AuthorizedServiceCaller.ts +58 -0
  250. package/src/http/HttpProvider.ts +94 -0
  251. package/src/http/RequestMetadata.ts +42 -0
  252. package/src/http/SkwHttpProvider.ts +78 -0
  253. package/src/index.ts +93 -0
  254. package/src/traking/ErrorTraking.ts +37 -0
  255. package/src/ui/FloatingManager.ts +417 -0
  256. package/src/utils/ApplicationContext.ts +42 -0
  257. package/src/utils/ArrayUtils.ts +61 -0
  258. package/src/utils/CriteriaModel.ts +205 -0
  259. package/src/utils/CriteriaParameter.ts +108 -0
  260. package/src/utils/DateUtils.ts +195 -0
  261. package/src/utils/ElementIDUtils.ts +184 -0
  262. package/src/utils/JSUtils.ts +69 -0
  263. package/src/utils/MaskFormatter.ts +407 -0
  264. package/src/utils/NumberUtils.ts +283 -0
  265. package/src/utils/ObjectUtils.ts +76 -0
  266. package/src/utils/OnboardingUtils.ts +46 -0
  267. package/src/utils/ReadyUtil.ts +45 -0
  268. package/src/utils/StringUtils.ts +359 -0
  269. package/src/utils/TimeFormatter.ts +98 -0
  270. package/src/utils/UserAgentUtils/index.ts +62 -0
  271. package/src/utils/UserAgentUtils/navigatorAgentList.ts +39 -0
  272. package/src/utils/VersionUtils.ts +37 -0
  273. package/test/http/HttpProvider.spec.ts +35 -0
  274. package/test/http/SkwHttpProvider.ts.spec.ts +34 -0
  275. package/test/util/CriteriaModel.spec.ts +232 -0
  276. package/test/util/CriteriaParameter.spec.ts +52 -0
  277. package/test/util/DataUnitStorage.spec.ts +63 -0
  278. package/test/util/ElementIDUtils.spec.ts +272 -0
  279. package/test/util/MaskFormatter.spec.ts +138 -0
  280. package/test/util/NumberUtils.spec.ts +182 -0
  281. package/test/util/StringUtils.spec.ts +51 -0
  282. package/test/util/TimeFormatter.spec.ts +26 -0
  283. package/tsconfig.json +16 -0
@@ -0,0 +1,167 @@
1
+ /**
2
+ * `StringUtils`: Utilizado para manipulação de Strings.
3
+ */
4
+ export declare class StringUtils {
5
+ /**
6
+ * Retorna se a string está vazia.
7
+ * Valores null e undefined são considerados como vazio.
8
+ *
9
+ * @param value - String para ser validada.
10
+ * @returns - Verdadeiro caso a string não contenha informação.
11
+ *
12
+ */
13
+ static isEmpty(value: any): Boolean;
14
+ /**
15
+ * Remove acentos de vogais maiúsculas
16
+ *
17
+ * @param text String para ser transformada.
18
+ * @example entrada: "ÁÊÇÒ" // retorno: "AECO"
19
+ */
20
+ static replaceAccentuatedCharsUpper(text: string): string;
21
+ /**
22
+ * Converte todas as entidades HTML de um texto
23
+ *
24
+ * @param text String para ser transformada.
25
+ * @example entrada: "&lt;Teste&gt;" // retorno: "<Teste>"
26
+ */
27
+ static decodeHtmlEntities(text: string): string;
28
+ /**
29
+ * Remove acentos de vogais minúsculas.
30
+ *
31
+ * @param text String para ser transformada.
32
+ * @example entrada: "áêçò" // retorno: "aeco"
33
+ */
34
+ static replaceAccentuatedCharsLower(text: string): string;
35
+ /**
36
+ * Remove acentuação de vogais e de caracteres especiais que não sejam letras ou numeral.
37
+ *
38
+ * @param text String para ser transformada.
39
+ * @param removeSpecialChars Remove outros caracteres especiais que não sejam letras e números.
40
+ * @example
41
+ * entrada: "á@Êç#Ò", false // retorno: "a@Ec#O"
42
+ * entrada: "á@Êç#Ò", true // retorno: "aEcO"
43
+ */
44
+ static replaceAccentuatedChars(text: string, removeSpecialChars?: boolean): string;
45
+ /**
46
+ * Remove acentos de vogais, substitui Ç por c e retorna a string em caixa alta mantendo espaços e símbolos.
47
+ * @param text - Texto para ser transformado.
48
+ * @returns - Texto sem acentuação e caixa alta, mantendo espaços e símbolos.
49
+ */
50
+ static replaceAccentuatedCharsKeepSymbols(text: string): string;
51
+ /**
52
+ * Calcula um código hash para uma string.
53
+ * @param value String que será gerado o hash code.
54
+ * @returns - Um hash calculado com base no valor informado.
55
+ * @example
56
+ * Informado: '123456' | Retorna: 1450575459
57
+ */
58
+ static hashCode(value: string): string;
59
+ /**
60
+ * Converte um texto do tipo string para um booleano.
61
+ *
62
+ * @param value Valor a ser convertido.
63
+ * @param defaultValue Valor padrão.
64
+ * @returns - Texto convertido.
65
+ * @example
66
+ * Informado: 'true' | Retorna: true
67
+ * Informado: 'false' | Retorna: false
68
+ */
69
+ static getBooleanValue(value: string, defaultValue?: boolean): boolean;
70
+ /**
71
+ *
72
+ * Adiciona caracteres à esquerda caso texto seja menor que o valor do parâmetro len passado.
73
+ *
74
+ * @param str - Texto para ser ajustado.
75
+ * @param len - Tamanho desejado do texto.
76
+ * @param pad - Caractere a ser adicionado a esquerda caso o texto menor que o tamanho passado.
77
+ * @returns - Texto passado se este for maior que o len.
78
+ * Ou retorna o texto com os caracteres adicionados na esquerda.
79
+ *
80
+ * @example
81
+ * padStart('SANKHYA', 8,'.') | Retorna: '...SANKHYA'
82
+ * @example
83
+ * padStart('SANKHYA', 5,'A') | Retorna: 'SANKHYA'
84
+ *
85
+ *
86
+ */
87
+ static padStart(str: string, len: number, pad?: string): string;
88
+ /**
89
+ *
90
+ * Adiciona caracteres à direita caso texto seja menor que o valor do parâmetro len passado.
91
+ *
92
+ * @param str - Texto para ser ajustado.
93
+ * @param len - Tamanho desejado do texto.
94
+ * @param pad - Caractere a ser adicionado a direita caso o texto menor que o tamanho passado.
95
+ * @returns - Texto passado se este for maior que o len.
96
+ * Ou retorna o texto com os caracteres adicionados na direita.
97
+ *
98
+ * @example
99
+ * padStart('SANKHYA', 8,'.') | Retorna: 'SANKHYA...'
100
+ * @example
101
+ * padStart('SANKHYA', 5,'A') | Retorna: 'SANKHYA'
102
+ *
103
+ *
104
+ */
105
+ static padEnd(str: string, len: number, pad?: string): string;
106
+ /**
107
+ * Determina a ordem de strings.
108
+ *
109
+ * @param a - Primeira string para comparação.
110
+ * @param b - Segunda string para comparação.
111
+ * @returns - Um numeral negativo se o primeiro argumento é menor que o segundo, zero se os dois são iguais e um numeral positivo quando o primeiro é maior que o segundo.
112
+ */
113
+ static compare(a: string, b: string): number;
114
+ /**
115
+ * Converte string em camelCase.
116
+ * Combina palavras compostas ou frases, alterando a inicial de cada uma, a partir da primeira, para maiúscula e unidas sem espaços.
117
+ * @param value String a ser convertida.
118
+ * @returns String convertida em camelCase.
119
+ *
120
+ * @example
121
+ * toCamelCase('Exemplo de uso') | Retorna: 'exemploDeUso'
122
+ */
123
+ static toCamelCase(value: string): string;
124
+ /**
125
+ * Converte string para PascalCase.
126
+ * @param value String a ser convertida.
127
+ * @returns String convertida em PascalCase.
128
+ */
129
+ static toPascalCase(value: string): string;
130
+ /**
131
+ * Utilitário para converter string em snake_case.
132
+ * @param value String a ser convertida.
133
+ * @returns String convertida em snake_case.
134
+ */
135
+ static toSnakeCase(value: string): string;
136
+ /**
137
+ * Utilitário para converter string em kebab-case.
138
+ * @param value String a ser convertida.
139
+ * @returns String convertida em KebabCase.
140
+ */
141
+ static toKebabCase(value: string): string;
142
+ /**
143
+ * Utilitário para remover caracteres em branco da string.
144
+ * @param value String a ser removido os espaços.
145
+ * @returns String sem espaços em branco.
146
+ */
147
+ static replaceBlankCharacters(value: string): string;
148
+ /**
149
+ * Utilitário para formatar bytes em string legível, convertendo para
150
+ * múltiplos maiores caso necessário.
151
+ * @param byte quantidade de bytes a serem representados.
152
+ * @returns string formatada de acordo com a unidade.
153
+ */
154
+ static formatBytes(bytes: number): string;
155
+ /**
156
+ * Método interno. Remove zeros depois da vírgula diminuindo o tamanho
157
+ * da string.
158
+ * @param strNumber representação textual do número a ser ajustado.
159
+ * @returns simplificação do strNumber, sem os zeros à direita depois do ponto.
160
+ */
161
+ private static prettyPrecision;
162
+ /**
163
+ * Método utilizado para gerar IDs únicos.
164
+ * @returns id único randômico.
165
+ */
166
+ static generateUUID(): string;
167
+ }
@@ -0,0 +1,328 @@
1
+ import { v4 as uuid } from "uuid";
2
+ /**
3
+ * `StringUtils`: Utilizado para manipulação de Strings.
4
+ */
5
+ export class StringUtils {
6
+ /**
7
+ * Retorna se a string está vazia.
8
+ * Valores null e undefined são considerados como vazio.
9
+ *
10
+ * @param value - String para ser validada.
11
+ * @returns - Verdadeiro caso a string não contenha informação.
12
+ *
13
+ */
14
+ static isEmpty(value) {
15
+ if (value == undefined || value === null) {
16
+ return true;
17
+ }
18
+ value = value.toString();
19
+ value = value.trim();
20
+ if (value.length === 0) {
21
+ return true;
22
+ }
23
+ return false;
24
+ }
25
+ /**
26
+ * Remove acentos de vogais maiúsculas
27
+ *
28
+ * @param text String para ser transformada.
29
+ * @example entrada: "ÁÊÇÒ" // retorno: "AECO"
30
+ */
31
+ static replaceAccentuatedCharsUpper(text) {
32
+ return text.replace(/[ÀÁÂÃÄÅÆ]/g, 'A')
33
+ .replace(/[ÈÉÊË]/g, 'E')
34
+ .replace(/[ÌÍÎÏ]/g, 'I')
35
+ .replace(/[ÒÓÔÕÖØ]/g, 'O')
36
+ .replace(/[ÙÚÛÜ]/g, 'U')
37
+ .replace(/[ÝŸ]/g, 'Y')
38
+ .replace(/[Ñ]/g, 'N')
39
+ .replace(/[Ç]/g, 'C');
40
+ }
41
+ /**
42
+ * Converte todas as entidades HTML de um texto
43
+ *
44
+ * @param text String para ser transformada.
45
+ * @example entrada: "&lt;Teste&gt;" // retorno: "<Teste>"
46
+ */
47
+ static decodeHtmlEntities(text) {
48
+ if (!text) {
49
+ return text;
50
+ }
51
+ const entities = [
52
+ ['amp', '&'],
53
+ ['apos', '\''],
54
+ ['#x27', '\''],
55
+ ['#x2F', '/'],
56
+ ['#39', '\''],
57
+ ['#47', '/'],
58
+ ['lt', '<'],
59
+ ['gt', '>'],
60
+ ['nbsp', ' '],
61
+ ['quot', '"']
62
+ ];
63
+ for (let entity of entities) {
64
+ text = text.replace(new RegExp(`&${entity[0]};`), entity[1]);
65
+ }
66
+ return text;
67
+ }
68
+ /**
69
+ * Remove acentos de vogais minúsculas.
70
+ *
71
+ * @param text String para ser transformada.
72
+ * @example entrada: "áêçò" // retorno: "aeco"
73
+ */
74
+ static replaceAccentuatedCharsLower(text) {
75
+ return text.replace(/[àáâãäåæ]/g, 'a')
76
+ .replace(/[èéêë]/g, 'e')
77
+ .replace(/[ìíîï]/g, 'i')
78
+ .replace(/[òóôõöø]/g, 'o')
79
+ .replace(/[ùúûü]/g, 'u')
80
+ .replace(/[ýÿ]/g, 'y')
81
+ .replace(/[ñ]/g, 'n')
82
+ .replace(/[ç]/g, 'c');
83
+ }
84
+ /**
85
+ * Remove acentuação de vogais e de caracteres especiais que não sejam letras ou numeral.
86
+ *
87
+ * @param text String para ser transformada.
88
+ * @param removeSpecialChars Remove outros caracteres especiais que não sejam letras e números.
89
+ * @example
90
+ * entrada: "á@Êç#Ò", false // retorno: "a@Ec#O"
91
+ * entrada: "á@Êç#Ò", true // retorno: "aEcO"
92
+ */
93
+ static replaceAccentuatedChars(text, removeSpecialChars = true) {
94
+ text = StringUtils.replaceAccentuatedCharsLower(text);
95
+ text = StringUtils.replaceAccentuatedCharsUpper(text);
96
+ if (removeSpecialChars) {
97
+ text = text.replace(/[^a-z0-9]/gi, "");
98
+ }
99
+ return text;
100
+ }
101
+ /**
102
+ * Remove acentos de vogais, substitui Ç por c e retorna a string em caixa alta mantendo espaços e símbolos.
103
+ * @param text - Texto para ser transformado.
104
+ * @returns - Texto sem acentuação e caixa alta, mantendo espaços e símbolos.
105
+ */
106
+ static replaceAccentuatedCharsKeepSymbols(text) {
107
+ return text.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toUpperCase();
108
+ }
109
+ /**
110
+ * Calcula um código hash para uma string.
111
+ * @param value String que será gerado o hash code.
112
+ * @returns - Um hash calculado com base no valor informado.
113
+ * @example
114
+ * Informado: '123456' | Retorna: 1450575459
115
+ */
116
+ static hashCode(value) {
117
+ let hash = 0, i, chr;
118
+ if (value.length === 0)
119
+ return hash.toString();
120
+ for (i = 0; i < value.length; i++) {
121
+ chr = value.charCodeAt(i);
122
+ hash = ((hash << 5) - hash) + chr;
123
+ hash |= 0; // Convert to 32bit integer
124
+ }
125
+ return hash.toString();
126
+ }
127
+ /**
128
+ * Converte um texto do tipo string para um booleano.
129
+ *
130
+ * @param value Valor a ser convertido.
131
+ * @param defaultValue Valor padrão.
132
+ * @returns - Texto convertido.
133
+ * @example
134
+ * Informado: 'true' | Retorna: true
135
+ * Informado: 'false' | Retorna: false
136
+ */
137
+ static getBooleanValue(value, defaultValue = false) {
138
+ if ([true, "true", "S"].includes(value)) {
139
+ return true;
140
+ }
141
+ else if ([false, "false", "N"].includes(value)) {
142
+ return false;
143
+ }
144
+ else {
145
+ return defaultValue;
146
+ }
147
+ }
148
+ /**
149
+ *
150
+ * Adiciona caracteres à esquerda caso texto seja menor que o valor do parâmetro len passado.
151
+ *
152
+ * @param str - Texto para ser ajustado.
153
+ * @param len - Tamanho desejado do texto.
154
+ * @param pad - Caractere a ser adicionado a esquerda caso o texto menor que o tamanho passado.
155
+ * @returns - Texto passado se este for maior que o len.
156
+ * Ou retorna o texto com os caracteres adicionados na esquerda.
157
+ *
158
+ * @example
159
+ * padStart('SANKHYA', 8,'.') | Retorna: '...SANKHYA'
160
+ * @example
161
+ * padStart('SANKHYA', 5,'A') | Retorna: 'SANKHYA'
162
+ *
163
+ *
164
+ */
165
+ static padStart(str, len, pad = " ") {
166
+ str = str != undefined ? str : "";
167
+ while (str.length < len) {
168
+ str = pad + str;
169
+ }
170
+ return str;
171
+ }
172
+ /**
173
+ *
174
+ * Adiciona caracteres à direita caso texto seja menor que o valor do parâmetro len passado.
175
+ *
176
+ * @param str - Texto para ser ajustado.
177
+ * @param len - Tamanho desejado do texto.
178
+ * @param pad - Caractere a ser adicionado a direita caso o texto menor que o tamanho passado.
179
+ * @returns - Texto passado se este for maior que o len.
180
+ * Ou retorna o texto com os caracteres adicionados na direita.
181
+ *
182
+ * @example
183
+ * padStart('SANKHYA', 8,'.') | Retorna: 'SANKHYA...'
184
+ * @example
185
+ * padStart('SANKHYA', 5,'A') | Retorna: 'SANKHYA'
186
+ *
187
+ *
188
+ */
189
+ static padEnd(str, len, pad = " ") {
190
+ str = str != undefined ? str : "";
191
+ while (str.length < len) {
192
+ str = str + pad;
193
+ }
194
+ return str;
195
+ }
196
+ /**
197
+ * Determina a ordem de strings.
198
+ *
199
+ * @param a - Primeira string para comparação.
200
+ * @param b - Segunda string para comparação.
201
+ * @returns - Um numeral negativo se o primeiro argumento é menor que o segundo, zero se os dois são iguais e um numeral positivo quando o primeiro é maior que o segundo.
202
+ */
203
+ static compare(a, b) {
204
+ if (a === undefined) {
205
+ return b === undefined ? 0 : 1;
206
+ }
207
+ else if (b === undefined) {
208
+ return -1;
209
+ }
210
+ if (a === null) {
211
+ return b === null ? 0 : 1;
212
+ }
213
+ else if (b === null) {
214
+ return -1;
215
+ }
216
+ return a.localeCompare(b);
217
+ }
218
+ /**
219
+ * Converte string em camelCase.
220
+ * Combina palavras compostas ou frases, alterando a inicial de cada uma, a partir da primeira, para maiúscula e unidas sem espaços.
221
+ * @param value String a ser convertida.
222
+ * @returns String convertida em camelCase.
223
+ *
224
+ * @example
225
+ * toCamelCase('Exemplo de uso') | Retorna: 'exemploDeUso'
226
+ */
227
+ static toCamelCase(value) {
228
+ if (!value)
229
+ return "";
230
+ if (value.match(/^[a-z]+[A-Z]/) || value.includes(".")) {
231
+ return value;
232
+ }
233
+ return value
234
+ .toLowerCase()
235
+ .replace(/^([A-Z])|[\s-_](\w)/g, (_, p1, p2) => (p2 === null || p2 === void 0 ? void 0 : p2.toUpperCase()) || p1.toLowerCase());
236
+ }
237
+ /**
238
+ * Converte string para PascalCase.
239
+ * @param value String a ser convertida.
240
+ * @returns String convertida em PascalCase.
241
+ */
242
+ static toPascalCase(value) {
243
+ return value
244
+ .toLowerCase()
245
+ .replace(/(?:^|\s)\w/g, (match) => match.toUpperCase())
246
+ .replace(/[\s-_]/g, '');
247
+ }
248
+ /**
249
+ * Utilitário para converter string em snake_case.
250
+ * @param value String a ser convertida.
251
+ * @returns String convertida em snake_case.
252
+ */
253
+ static toSnakeCase(value) {
254
+ return value
255
+ .toLowerCase()
256
+ .replace(/[A-Z]/g, (match) => `_${match.toLowerCase()}`)
257
+ .replace(/[\s-]/g, '_')
258
+ .replace(/^_/, "");
259
+ }
260
+ /**
261
+ * Utilitário para converter string em kebab-case.
262
+ * @param value String a ser convertida.
263
+ * @returns String convertida em KebabCase.
264
+ */
265
+ static toKebabCase(value) {
266
+ return value.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/[\s_]+/g, '-').toLowerCase();
267
+ }
268
+ /**
269
+ * Utilitário para remover caracteres em branco da string.
270
+ * @param value String a ser removido os espaços.
271
+ * @returns String sem espaços em branco.
272
+ */
273
+ static replaceBlankCharacters(value) {
274
+ return (value || "").replace(/ /g, "");
275
+ }
276
+ /**
277
+ * Utilitário para formatar bytes em string legível, convertendo para
278
+ * múltiplos maiores caso necessário.
279
+ * @param byte quantidade de bytes a serem representados.
280
+ * @returns string formatada de acordo com a unidade.
281
+ */
282
+ static formatBytes(bytes) {
283
+ const units = ["B", "KB", "MB", "GB"];
284
+ let unit, value, base;
285
+ if (bytes < 1024) {
286
+ return `${bytes.toString()}B`;
287
+ }
288
+ base = Math.log(bytes) / Math.log(1024);
289
+ const offSet = Math.floor(base);
290
+ if (offSet >= units.length) {
291
+ return `${bytes.toString()}B`;
292
+ }
293
+ value = this.prettyPrecision(Math.pow(1024, base - offSet).toFixed(2).toString());
294
+ unit = units[offSet];
295
+ return `${value}${unit}`;
296
+ }
297
+ /**
298
+ * Método interno. Remove zeros depois da vírgula diminuindo o tamanho
299
+ * da string.
300
+ * @param strNumber representação textual do número a ser ajustado.
301
+ * @returns simplificação do strNumber, sem os zeros à direita depois do ponto.
302
+ */
303
+ static prettyPrecision(strNumber) {
304
+ const parts = strNumber.split(".");
305
+ if (parts.length > 1) {
306
+ const lastPart = parts.length - 1;
307
+ let lastPartStr = parts[lastPart];
308
+ while (lastPartStr.length > 0 && lastPartStr[lastPartStr.length - 1] === "0") {
309
+ lastPartStr = lastPartStr.slice(0, lastPartStr.length - 1);
310
+ }
311
+ if (lastPartStr) {
312
+ parts[lastPart] = lastPartStr;
313
+ }
314
+ else {
315
+ parts.pop();
316
+ }
317
+ }
318
+ return parts.join(".");
319
+ }
320
+ /**
321
+ * Método utilizado para gerar IDs únicos.
322
+ * @returns id único randômico.
323
+ */
324
+ static generateUUID() {
325
+ return uuid();
326
+ }
327
+ }
328
+ //# sourceMappingURL=StringUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringUtils.js","sourceRoot":"","sources":["../../src/utils/StringUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { MaskFormatter } from "./MaskFormatter.js";
2
+ /**
3
+ * `TimeFormatter`: Utilizado para formatar horas.
4
+ */
5
+ export declare class TimeFormatter {
6
+ static _maskFormatter: MaskFormatter;
7
+ /**
8
+ * Converte um texto para o formato de hora.
9
+ *
10
+ * @param value - Texto não formatado.
11
+ * @param showSeconds - Se será validado os segundos.
12
+ * @returns - Texto em formato de hora.
13
+ *
14
+ * @Exemples
15
+ * @"1012" | "10:12"
16
+ * @"10:12" | "10:12:00"
17
+ * @"100112" | "10:01:12"
18
+ */
19
+ static prepareValue(value: string, showSeconds: boolean): string;
20
+ /**
21
+ * Retorna se o texto está no formato de hora.
22
+ *
23
+ * @param value - Texto a ser validado.
24
+ * @param showSeconds - Se será validado os segundos.
25
+ * @returns - Verdadeiro para valores no formato de hora e False para formatos diferentes.
26
+ *
27
+ * @Exemples
28
+ * @"1012" | true
29
+ * @"14e4" | false
30
+ * @"2624" | false
31
+ */
32
+ static validateTime(value: string, showSeconds: boolean): boolean;
33
+ }
@@ -0,0 +1,98 @@
1
+ import { MaskFormatter } from "./MaskFormatter.js";
2
+ /**
3
+ * `TimeFormatter`: Utilizado para formatar horas.
4
+ */
5
+ export class TimeFormatter {
6
+ /**
7
+ * Converte um texto para o formato de hora.
8
+ *
9
+ * @param value - Texto não formatado.
10
+ * @param showSeconds - Se será validado os segundos.
11
+ * @returns - Texto em formato de hora.
12
+ *
13
+ * @Exemples
14
+ * @"1012" | "10:12"
15
+ * @"10:12" | "10:12:00"
16
+ * @"100112" | "10:01:12"
17
+ */
18
+ static prepareValue(value, showSeconds) {
19
+ if (value && value.length > 0 && value != "NaN") {
20
+ let validationValue = value.replace(/:/g, "");
21
+ if (showSeconds) {
22
+ this._maskFormatter.mask = "##:##:##";
23
+ if (validationValue.length < 6) {
24
+ while (validationValue.length < 6) {
25
+ validationValue = "0".concat(validationValue);
26
+ }
27
+ }
28
+ }
29
+ else {
30
+ this._maskFormatter.mask = "##:##";
31
+ if (validationValue.length < 4) {
32
+ while (validationValue.length < 4) {
33
+ validationValue = "0".concat(validationValue);
34
+ }
35
+ }
36
+ }
37
+ if (this._maskFormatter) {
38
+ try {
39
+ value = this._maskFormatter.format(validationValue);
40
+ return value;
41
+ }
42
+ catch (e) {
43
+ throw new Error(e.message);
44
+ }
45
+ }
46
+ }
47
+ return '';
48
+ }
49
+ /**
50
+ * Retorna se o texto está no formato de hora.
51
+ *
52
+ * @param value - Texto a ser validado.
53
+ * @param showSeconds - Se será validado os segundos.
54
+ * @returns - Verdadeiro para valores no formato de hora e False para formatos diferentes.
55
+ *
56
+ * @Exemples
57
+ * @"1012" | true
58
+ * @"14e4" | false
59
+ * @"2624" | false
60
+ */
61
+ static validateTime(value, showSeconds) {
62
+ let isValid = true;
63
+ if (value) {
64
+ const validationValue = value.replace(/:/g, "");
65
+ if (showSeconds) {
66
+ if (!["1", "2", "0"].includes(validationValue[0])) {
67
+ isValid = false;
68
+ }
69
+ if (!["0", "1", "2", "3", "4", "5"].includes(validationValue[2])) {
70
+ isValid = false;
71
+ }
72
+ if (!["0", "1", "2", "3", "4", "5"].includes(validationValue[4])) {
73
+ isValid = false;
74
+ }
75
+ if (validationValue[0] == "2" && !["0", "1", "2", "3"].includes(validationValue[1])) {
76
+ isValid = false;
77
+ }
78
+ }
79
+ else {
80
+ if (!["1", "2", "0"].includes(validationValue[0])) {
81
+ isValid = false;
82
+ }
83
+ if (!["0", "1", "2", "3", "4", "5"].includes(validationValue[2])) {
84
+ isValid = false;
85
+ }
86
+ if (validationValue[0] == "2" && !["0", "1", "2", "3"].includes(validationValue[1])) {
87
+ isValid = false;
88
+ }
89
+ }
90
+ }
91
+ else {
92
+ isValid = false;
93
+ }
94
+ return isValid;
95
+ }
96
+ }
97
+ TimeFormatter._maskFormatter = new MaskFormatter("##:##");
98
+ //# sourceMappingURL=TimeFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeFormatter.js","sourceRoot":"","sources":["../../src/utils/TimeFormatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * `UserAgentUtils`: Utilitario para tratativas relacionadas ao navegador.
3
+ */
4
+ export declare class UserAgentUtils {
5
+ /**
6
+ * Obtém se o navegador do usuário é o firefox.
7
+ * @returns Verdadeiro se o navegador do usuário for o firefox.
8
+ */
9
+ static isFirefox(): boolean;
10
+ /**
11
+ * Obtém nome e versão do navegador que está sendo utilizado.
12
+ * @returns Objeto com o nome e versão do navegador.
13
+ */
14
+ static getBrowserInfo(): any;
15
+ }