@sankhyalabs/core 0.0.0-hotfix-ga-KB-4098

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 (276) 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 +2427 -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/HttpProvider.md +96 -0
  16. package/.docs/classes/JSUtils.md +115 -0
  17. package/.docs/classes/MaskFormatter-1.md +347 -0
  18. package/.docs/classes/NumberUtils.md +335 -0
  19. package/.docs/classes/ObjectUtils.md +160 -0
  20. package/.docs/classes/OnboardingUtils.md +126 -0
  21. package/.docs/classes/PromiseSync.md +91 -0
  22. package/.docs/classes/ReadyUtil.md +115 -0
  23. package/.docs/classes/RequestMetadata.md +84 -0
  24. package/.docs/classes/SelectionInfo.md +168 -0
  25. package/.docs/classes/SkwHttpProvider.md +109 -0
  26. package/.docs/classes/StringUtils.md +562 -0
  27. package/.docs/classes/TimeFormatter.md +98 -0
  28. package/.docs/classes/UserAgentUtils.md +58 -0
  29. package/.docs/classes/VersionUtils.md +42 -0
  30. package/.docs/classes/WaitingChangeException.md +200 -0
  31. package/.docs/classes/WarningException.md +214 -0
  32. package/.docs/enums/Action.md +283 -0
  33. package/.docs/enums/ChangeOperation.md +52 -0
  34. package/.docs/enums/DataType.md +63 -0
  35. package/.docs/enums/DependencyType.md +41 -0
  36. package/.docs/enums/SelectionMode.md +30 -0
  37. package/.docs/enums/SortMode.md +30 -0
  38. package/.docs/enums/UserInterface.md +195 -0
  39. package/.docs/interfaces/ChildDescriptor.md +41 -0
  40. package/.docs/interfaces/ChildLink.md +30 -0
  41. package/.docs/interfaces/DUActionInterceptor.md +29 -0
  42. package/.docs/interfaces/ExecutionContext.md +58 -0
  43. package/.docs/interfaces/FieldDescriptor.md +140 -0
  44. package/.docs/interfaces/Filter.md +41 -0
  45. package/.docs/interfaces/IElementIDInfo.md +30 -0
  46. package/.docs/interfaces/LoadDataRequest.md +101 -0
  47. package/.docs/interfaces/LoadDataResponse.md +36 -0
  48. package/.docs/interfaces/PageRequest.md +41 -0
  49. package/.docs/interfaces/PaginationInfo.md +75 -0
  50. package/.docs/interfaces/PromiseSyncCallback.md +39 -0
  51. package/.docs/interfaces/QuickFilter.md +41 -0
  52. package/.docs/interfaces/Record.md +62 -0
  53. package/.docs/interfaces/SavedRecord.md +85 -0
  54. package/.docs/interfaces/Sort.md +41 -0
  55. package/.docs/interfaces/SortingProvider.md +29 -0
  56. package/.docs/interfaces/UnitMetadata.md +52 -0
  57. package/.docs/interfaces/WaitingChange.md +41 -0
  58. package/.docs/modules/MaskFormatter.md +37 -0
  59. package/.docs/modules.md +73 -0
  60. package/.docs/package.json +15 -0
  61. package/.eslintignore +2 -0
  62. package/.eslintrc.cjs +35 -0
  63. package/.releaserc +58 -0
  64. package/README.md +61 -0
  65. package/dist/async/PromiseSync.d.ts +29 -0
  66. package/dist/async/PromiseSync.js +31 -0
  67. package/dist/async/PromiseSync.js.map +1 -0
  68. package/dist/dataunit/DataUnit.d.ts +922 -0
  69. package/dist/dataunit/DataUnit.js +1602 -0
  70. package/dist/dataunit/DataUnit.js.map +1 -0
  71. package/dist/dataunit/DataUnitStorage.d.ts +24 -0
  72. package/dist/dataunit/DataUnitStorage.js +39 -0
  73. package/dist/dataunit/DataUnitStorage.js.map +1 -0
  74. package/dist/dataunit/formatting/PrettyFormatter.d.ts +2 -0
  75. package/dist/dataunit/formatting/PrettyFormatter.js +88 -0
  76. package/dist/dataunit/formatting/PrettyFormatter.js.map +1 -0
  77. package/dist/dataunit/loading/LoadDataRequest.d.ts +19 -0
  78. package/dist/dataunit/loading/LoadDataRequest.js +2 -0
  79. package/dist/dataunit/loading/LoadDataRequest.js.map +1 -0
  80. package/dist/dataunit/loading/LoadDataResponse.d.ts +9 -0
  81. package/dist/dataunit/loading/LoadDataResponse.js +2 -0
  82. package/dist/dataunit/loading/LoadDataResponse.js.map +1 -0
  83. package/dist/dataunit/loading/PaginationInfo.d.ts +13 -0
  84. package/dist/dataunit/loading/PaginationInfo.js +2 -0
  85. package/dist/dataunit/loading/PaginationInfo.js.map +1 -0
  86. package/dist/dataunit/metadata/DataType.d.ts +54 -0
  87. package/dist/dataunit/metadata/DataType.js +124 -0
  88. package/dist/dataunit/metadata/DataType.js.map +1 -0
  89. package/dist/dataunit/metadata/UnitMetadata.d.ts +88 -0
  90. package/dist/dataunit/metadata/UnitMetadata.js +36 -0
  91. package/dist/dataunit/metadata/UnitMetadata.js.map +1 -0
  92. package/dist/dataunit/state/HistReducer.d.ts +10 -0
  93. package/dist/dataunit/state/HistReducer.js +28 -0
  94. package/dist/dataunit/state/HistReducer.js.map +1 -0
  95. package/dist/dataunit/state/StateManager.d.ts +57 -0
  96. package/dist/dataunit/state/StateManager.js +97 -0
  97. package/dist/dataunit/state/StateManager.js.map +1 -0
  98. package/dist/dataunit/state/action/DataUnitAction.d.ts +39 -0
  99. package/dist/dataunit/state/action/DataUnitAction.js +41 -0
  100. package/dist/dataunit/state/action/DataUnitAction.js.map +1 -0
  101. package/dist/dataunit/state/slice/AddedRecordsSlice.d.ts +12 -0
  102. package/dist/dataunit/state/slice/AddedRecordsSlice.js +30 -0
  103. package/dist/dataunit/state/slice/AddedRecordsSlice.js.map +1 -0
  104. package/dist/dataunit/state/slice/ChangesSlice.d.ts +13 -0
  105. package/dist/dataunit/state/slice/ChangesSlice.js +105 -0
  106. package/dist/dataunit/state/slice/ChangesSlice.js.map +1 -0
  107. package/dist/dataunit/state/slice/InvalidFieldsSlice.d.ts +10 -0
  108. package/dist/dataunit/state/slice/InvalidFieldsSlice.js +66 -0
  109. package/dist/dataunit/state/slice/InvalidFieldsSlice.js.map +1 -0
  110. package/dist/dataunit/state/slice/LoadingControlSlice.d.ts +19 -0
  111. package/dist/dataunit/state/slice/LoadingControlSlice.js +45 -0
  112. package/dist/dataunit/state/slice/LoadingControlSlice.js.map +1 -0
  113. package/dist/dataunit/state/slice/RecordsSlice.d.ts +10 -0
  114. package/dist/dataunit/state/slice/RecordsSlice.js +58 -0
  115. package/dist/dataunit/state/slice/RecordsSlice.js.map +1 -0
  116. package/dist/dataunit/state/slice/RemovedRecordsSlice.d.ts +9 -0
  117. package/dist/dataunit/state/slice/RemovedRecordsSlice.js +25 -0
  118. package/dist/dataunit/state/slice/RemovedRecordsSlice.js.map +1 -0
  119. package/dist/dataunit/state/slice/SelectionSlice.d.ts +19 -0
  120. package/dist/dataunit/state/slice/SelectionSlice.js +155 -0
  121. package/dist/dataunit/state/slice/SelectionSlice.js.map +1 -0
  122. package/dist/dataunit/state/slice/SnapshotSlice.d.ts +18 -0
  123. package/dist/dataunit/state/slice/SnapshotSlice.js +85 -0
  124. package/dist/dataunit/state/slice/SnapshotSlice.js.map +1 -0
  125. package/dist/dataunit/state/slice/UnitMetadataSlice.d.ts +11 -0
  126. package/dist/dataunit/state/slice/UnitMetadataSlice.js +21 -0
  127. package/dist/dataunit/state/slice/UnitMetadataSlice.js.map +1 -0
  128. package/dist/dataunit/state/slice/WaitingChangesSlice.d.ts +12 -0
  129. package/dist/dataunit/state/slice/WaitingChangesSlice.js +56 -0
  130. package/dist/dataunit/state/slice/WaitingChangesSlice.js.map +1 -0
  131. package/dist/exceptions/ErrorException.d.ts +14 -0
  132. package/dist/exceptions/ErrorException.js +13 -0
  133. package/dist/exceptions/ErrorException.js.map +1 -0
  134. package/dist/exceptions/WaitingChangeException.d.ts +12 -0
  135. package/dist/exceptions/WaitingChangeException.js +12 -0
  136. package/dist/exceptions/WaitingChangeException.js.map +1 -0
  137. package/dist/exceptions/WarningException.d.ts +14 -0
  138. package/dist/exceptions/WarningException.js +13 -0
  139. package/dist/exceptions/WarningException.js.map +1 -0
  140. package/dist/http/AuthorizedServiceCaller.d.ts +11 -0
  141. package/dist/http/AuthorizedServiceCaller.js +54 -0
  142. package/dist/http/AuthorizedServiceCaller.js.map +1 -0
  143. package/dist/http/HttpProvider.d.ts +25 -0
  144. package/dist/http/HttpProvider.js +74 -0
  145. package/dist/http/HttpProvider.js.map +1 -0
  146. package/dist/http/RequestMetadata.d.ts +30 -0
  147. package/dist/http/RequestMetadata.js +25 -0
  148. package/dist/http/RequestMetadata.js.map +1 -0
  149. package/dist/http/SkwHttpProvider.d.ts +9 -0
  150. package/dist/http/SkwHttpProvider.js +67 -0
  151. package/dist/http/SkwHttpProvider.js.map +1 -0
  152. package/dist/index.d.ts +33 -0
  153. package/dist/index.js +32 -0
  154. package/dist/index.js.map +1 -0
  155. package/dist/traking/ErrorTraking.d.ts +19 -0
  156. package/dist/traking/ErrorTraking.js +34 -0
  157. package/dist/traking/ErrorTraking.js.map +1 -0
  158. package/dist/ui/FloatingManager.d.ts +164 -0
  159. package/dist/ui/FloatingManager.js +358 -0
  160. package/dist/ui/FloatingManager.js.map +1 -0
  161. package/dist/utils/ApplicationContext.d.ts +26 -0
  162. package/dist/utils/ApplicationContext.js +38 -0
  163. package/dist/utils/ApplicationContext.js.map +1 -0
  164. package/dist/utils/ArrayUtils.d.ts +29 -0
  165. package/dist/utils/ArrayUtils.js +57 -0
  166. package/dist/utils/ArrayUtils.js.map +1 -0
  167. package/dist/utils/CriteriaModel.d.ts +107 -0
  168. package/dist/utils/CriteriaModel.js +172 -0
  169. package/dist/utils/CriteriaModel.js.map +1 -0
  170. package/dist/utils/CriteriaParameter.d.ts +69 -0
  171. package/dist/utils/CriteriaParameter.js +83 -0
  172. package/dist/utils/CriteriaParameter.js.map +1 -0
  173. package/dist/utils/DateUtils.d.ts +97 -0
  174. package/dist/utils/DateUtils.js +171 -0
  175. package/dist/utils/DateUtils.js.map +1 -0
  176. package/dist/utils/ElementIDUtils.d.ts +72 -0
  177. package/dist/utils/ElementIDUtils.js +161 -0
  178. package/dist/utils/ElementIDUtils.js.map +1 -0
  179. package/dist/utils/JSUtils.d.ts +36 -0
  180. package/dist/utils/JSUtils.js +66 -0
  181. package/dist/utils/JSUtils.js.map +1 -0
  182. package/dist/utils/MaskFormatter.d.ts +148 -0
  183. package/dist/utils/MaskFormatter.js +356 -0
  184. package/dist/utils/MaskFormatter.js.map +1 -0
  185. package/dist/utils/NumberUtils.d.ts +127 -0
  186. package/dist/utils/NumberUtils.js +245 -0
  187. package/dist/utils/NumberUtils.js.map +1 -0
  188. package/dist/utils/ObjectUtils.d.ts +47 -0
  189. package/dist/utils/ObjectUtils.js +68 -0
  190. package/dist/utils/ObjectUtils.js.map +1 -0
  191. package/dist/utils/OnboardingUtils.d.ts +17 -0
  192. package/dist/utils/OnboardingUtils.js +41 -0
  193. package/dist/utils/OnboardingUtils.js.map +1 -0
  194. package/dist/utils/ReadyUtil.d.ts +24 -0
  195. package/dist/utils/ReadyUtil.js +41 -0
  196. package/dist/utils/ReadyUtil.js.map +1 -0
  197. package/dist/utils/StringUtils.d.ts +167 -0
  198. package/dist/utils/StringUtils.js +328 -0
  199. package/dist/utils/StringUtils.js.map +1 -0
  200. package/dist/utils/TimeFormatter.d.ts +33 -0
  201. package/dist/utils/TimeFormatter.js +98 -0
  202. package/dist/utils/TimeFormatter.js.map +1 -0
  203. package/dist/utils/UserAgentUtils/index.d.ts +15 -0
  204. package/dist/utils/UserAgentUtils/index.js +48 -0
  205. package/dist/utils/UserAgentUtils/index.js.map +1 -0
  206. package/dist/utils/UserAgentUtils/navigatorAgentList.d.ts +17 -0
  207. package/dist/utils/UserAgentUtils/navigatorAgentList.js +40 -0
  208. package/dist/utils/UserAgentUtils/navigatorAgentList.js.map +1 -0
  209. package/dist/utils/VersionUtils.d.ts +7 -0
  210. package/dist/utils/VersionUtils.js +31 -0
  211. package/dist/utils/VersionUtils.js.map +1 -0
  212. package/jest.config.ts +17 -0
  213. package/mock/http/XMLHttpRequest-mock.js +26 -0
  214. package/package.json +48 -0
  215. package/scripts/runlink.bat +1 -0
  216. package/scripts/runlink.sh +1 -0
  217. package/src/async/PromiseSync.ts +49 -0
  218. package/src/dataunit/DataUnit.ts +1808 -0
  219. package/src/dataunit/DataUnitStorage.ts +43 -0
  220. package/src/dataunit/formatting/PrettyFormatter.ts +106 -0
  221. package/src/dataunit/loading/LoadDataRequest.ts +26 -0
  222. package/src/dataunit/loading/LoadDataResponse.ts +11 -0
  223. package/src/dataunit/loading/PaginationInfo.ts +18 -0
  224. package/src/dataunit/metadata/DataType.ts +127 -0
  225. package/src/dataunit/metadata/UnitMetadata.ts +102 -0
  226. package/src/dataunit/state/HistReducer.ts +34 -0
  227. package/src/dataunit/state/StateManager.ts +142 -0
  228. package/src/dataunit/state/action/DataUnitAction.ts +66 -0
  229. package/src/dataunit/state/slice/AddedRecordsSlice.ts +48 -0
  230. package/src/dataunit/state/slice/ChangesSlice.ts +125 -0
  231. package/src/dataunit/state/slice/InvalidFieldsSlice.ts +85 -0
  232. package/src/dataunit/state/slice/LoadingControlSlice.ts +60 -0
  233. package/src/dataunit/state/slice/RecordsSlice.ts +69 -0
  234. package/src/dataunit/state/slice/RemovedRecordsSlice.ts +30 -0
  235. package/src/dataunit/state/slice/SelectionSlice.ts +193 -0
  236. package/src/dataunit/state/slice/SnapshotSlice.ts +113 -0
  237. package/src/dataunit/state/slice/UnitMetadataSlice.ts +30 -0
  238. package/src/dataunit/state/slice/WaitingChangesSlice.ts +74 -0
  239. package/src/exceptions/ErrorException.ts +25 -0
  240. package/src/exceptions/WaitingChangeException.ts +21 -0
  241. package/src/exceptions/WarningException.ts +26 -0
  242. package/src/http/AuthorizedServiceCaller.ts +58 -0
  243. package/src/http/HttpProvider.ts +94 -0
  244. package/src/http/RequestMetadata.ts +42 -0
  245. package/src/http/SkwHttpProvider.ts +78 -0
  246. package/src/index.ts +91 -0
  247. package/src/traking/ErrorTraking.ts +37 -0
  248. package/src/ui/FloatingManager.ts +417 -0
  249. package/src/utils/ApplicationContext.ts +42 -0
  250. package/src/utils/ArrayUtils.ts +61 -0
  251. package/src/utils/CriteriaModel.ts +205 -0
  252. package/src/utils/CriteriaParameter.ts +108 -0
  253. package/src/utils/DateUtils.ts +195 -0
  254. package/src/utils/ElementIDUtils.ts +184 -0
  255. package/src/utils/JSUtils.ts +69 -0
  256. package/src/utils/MaskFormatter.ts +407 -0
  257. package/src/utils/NumberUtils.ts +283 -0
  258. package/src/utils/ObjectUtils.ts +76 -0
  259. package/src/utils/OnboardingUtils.ts +46 -0
  260. package/src/utils/ReadyUtil.ts +45 -0
  261. package/src/utils/StringUtils.ts +359 -0
  262. package/src/utils/TimeFormatter.ts +98 -0
  263. package/src/utils/UserAgentUtils/index.ts +62 -0
  264. package/src/utils/UserAgentUtils/navigatorAgentList.ts +39 -0
  265. package/src/utils/VersionUtils.ts +37 -0
  266. package/test/http/HttpProvider.spec.ts +35 -0
  267. package/test/http/SkwHttpProvider.ts.spec.ts +34 -0
  268. package/test/util/CriteriaModel.spec.ts +232 -0
  269. package/test/util/CriteriaParameter.spec.ts +52 -0
  270. package/test/util/DataUnitStorage.spec.ts +63 -0
  271. package/test/util/ElementIDUtils.spec.ts +272 -0
  272. package/test/util/MaskFormatter.spec.ts +138 -0
  273. package/test/util/NumberUtils.spec.ts +182 -0
  274. package/test/util/StringUtils.spec.ts +51 -0
  275. package/test/util/TimeFormatter.spec.ts +26 -0
  276. package/tsconfig.json +16 -0
@@ -0,0 +1,172 @@
1
+ /**
2
+ * `CriteriaParameter`: Utilizado para validar e manipular os critérios da requisição.
3
+ *
4
+ */
5
+ export class Criteria {
6
+ //Constructor
7
+ //================================================================
8
+ constructor(exp, params) {
9
+ //Internal Properties
10
+ //================================================================
11
+ this._expression = undefined;
12
+ this._parameters = [];
13
+ //Methods
14
+ //================================================================
15
+ /**
16
+ * @ngdoc
17
+ * @name sankhyalabs.core.src:Criteria#getSize
18
+ * @methodOf sankhyalabs.core.src:Criteria
19
+ * @description Método que retorna o Número de caracteres da expressão da classe Criteria.
20
+ * @returns {number} Número de caracteres da expressão da classe Criteria.
21
+ */
22
+ this.getSize = () => {
23
+ return this._expression === undefined ? 0 : this._expression.length;
24
+ };
25
+ /**
26
+ * @ngdoc
27
+ * @name sankhyalabs.core.src:Criteria#or
28
+ * @methodOf sankhyalabs.core.src:Criteria
29
+ * @description Concatena a expressão ' OR ' ao critério.
30
+ * @param {Criteria | string} [exp] Expressão a ser concatenada
31
+ * @param {Array<CriteriaParameter>} [param] Parâmetros a serem concatenados.
32
+ * @returns {Criteria} Retorna a própria instância do Criterio para encadeamento.
33
+ */
34
+ this.or = (exp, param) => {
35
+ if (this.getSize() > 0) {
36
+ this.append(' OR ');
37
+ }
38
+ this.append(exp, param);
39
+ return this;
40
+ };
41
+ /**
42
+ * @ngdoc
43
+ * @name sankhyalabs.core.src:Criteria#and
44
+ * @methodOf sankhyalabs.core.src:Criteria
45
+ * @description Concatena a expressão ' AND ' ao critério.
46
+ * @param {Criteria | string} [exp] Expressão a ser concatenada
47
+ * @param {Array<CriteriaParameter>} [param] Parâmetros a serem concatenados.
48
+ * @returns {Criteria} Retorna a própria instância do Criterio para encadeamento.
49
+ */
50
+ this.and = (exp, param) => {
51
+ if (this.getSize() > 0) {
52
+ this.append(' AND ');
53
+ }
54
+ this.append(exp, param);
55
+ return this;
56
+ };
57
+ /**
58
+ * @ngdoc
59
+ * @name sankhyalabs.core.src:Criteria#toJSON
60
+ * @methodOf sankhyalabs.core.src:Criteria
61
+ * @description Retorna um JSON que representa o objeto Criteria.
62
+ * @returns {Object} Retorna um JSON que representa o objeto Criteria.
63
+ */
64
+ this.toJSON = () => {
65
+ const parametersArray = [];
66
+ this.parameters.map(function (param) {
67
+ parametersArray.push(param.buildParam());
68
+ });
69
+ let result = undefined;
70
+ if (this.getSize() > 0) {
71
+ result = {
72
+ expression: this.expression,
73
+ parameters: parametersArray,
74
+ };
75
+ }
76
+ return result;
77
+ };
78
+ this._expression = exp ? exp : undefined;
79
+ this._parameters = params ? params : [];
80
+ }
81
+ //Getters and Setters
82
+ //================================================================
83
+ /**
84
+ * @ngdoc
85
+ * @Setter_______________
86
+ * @name sankhyalabs.core.src:Criteria#parameters
87
+ * @methodOf sankhyalabs.core.src:CriteriaProvider
88
+ * @description Setter para "parameters". Trata-se de uma Array de parametros da classe Criteria.
89
+ * @param {Array<CriteriaParameter>} [parameters] Array de parametros da classe Criteria.
90
+ */
91
+ set parameters(parameters) {
92
+ this._parameters = parameters;
93
+ }
94
+ /**
95
+ * @ngdoc
96
+ * @Getter_______________
97
+ * @name sankhyalabs.core.src:Criteria#parameters
98
+ * @methodOf sankhyalabs.core.src:CriteriaProvider
99
+ * @description Getter para parameters
100
+ * @returns {Array<CriteriaParameter>}
101
+ */
102
+ get parameters() {
103
+ return this._parameters;
104
+ }
105
+ /**
106
+ * @ngdoc
107
+ * @Setter_______________
108
+ * @name sankhyalabs.core.src:Criteria#expression
109
+ * @methodOf sankhyalabs.core.src:CriteriaProvider
110
+ * @description Setter para "expression". Trata-se do expressão da classe Criteria.
111
+ * @param {string} [expression] Expressão da classe Criteria.
112
+ */
113
+ set expression(expression) {
114
+ this._expression = expression;
115
+ }
116
+ /**
117
+ * @ngdoc
118
+ * @Getter_______________
119
+ * @name sankhyalabs.core.src:Criteria#expression
120
+ * @methodOf sankhyalabs.core.src:CriteriaProvider
121
+ * @description Getter para expression
122
+ * @returns {string} expression em formato string.
123
+ */
124
+ get expression() {
125
+ return this._expression;
126
+ }
127
+ /**
128
+ * @ngdoc
129
+ * @name sankhyalabs.core.src:Criteria#append
130
+ * @methodOf sankhyalabs.core.src:Criteria
131
+ * @description Concatena uma expressão e parâmetros ao critério.
132
+ * @param {string} [exp=undefined] Expressão a ser concatenada
133
+ * @param {array} [param=undefined] Parâmetros a serem concatenados.
134
+ * @returns {Criteria} Retorna a própria instância do Criterio para encadeamento.
135
+ */
136
+ append(exp, param) {
137
+ if (exp instanceof Criteria) {
138
+ if (exp.getSize() > 0) {
139
+ param = exp.parameters;
140
+ exp = '(' + exp.expression + ')';
141
+ }
142
+ else {
143
+ return this;
144
+ }
145
+ }
146
+ if (this.expression === undefined) {
147
+ this.expression = exp;
148
+ }
149
+ else {
150
+ this.expression += exp;
151
+ }
152
+ if (param) {
153
+ this.addParameter(param);
154
+ }
155
+ return this;
156
+ }
157
+ /**
158
+ * @ngdoc
159
+ * @name sankhyalabs.core.src:Criteria#addParameter
160
+ * @methodOf sankhyalabs.core.src:Criteria
161
+ * @description Concatena parâmetros ao critério.
162
+ * - Se passado um array, o metodo iterará no array e adicionará cada um dos itens.
163
+ * - É possível passar um Objeto CriteriaParameter, um número, string ou uma instancia de data, eles serão inferidos para o tipo certo.
164
+ * @param {CriteriaParameter} Parâmetro a ser adicionado.
165
+ */
166
+ addParameter(param) {
167
+ for (const index in param) {
168
+ this.parameters.push(param[index]);
169
+ }
170
+ }
171
+ }
172
+ //# sourceMappingURL=CriteriaModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CriteriaModel.js","sourceRoot":"","sources":["../../src/utils/CriteriaModel.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,OAAO,QAAQ;IAOjB,aAAa;IACb,kEAAkE;IAClE,YAAY,GAAY,EAAE,MAAiC;QAP3D,qBAAqB;QACrB,kEAAkE;QAC1D,gBAAW,GAAuB,SAAS,CAAC;QAC5C,gBAAW,GAA6B,EAAE,CAAC;QA8DnD,SAAS;QACT,kEAAkE;QAElE;;;;;;WAMG;QACI,YAAO,GAAG,GAAW,EAAE;YAC1B,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACxE,CAAC,CAAC;QAEF;;;;;;;;WAQG;QACI,OAAE,GAAG,CAAC,GAAsB,EAAE,KAAgC,EAAY,EAAE;YAC/E,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACvB;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAExB,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEF;;;;;;;;WAQG;QACI,QAAG,GAAG,CAAC,GAAsB,EAAE,KAAgC,EAAY,EAAE;YAChF,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACxB;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAExB,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAGD;;;;;;WAMG;QACI,WAAM,GAAG,GAA2B,EAAE;YAEzC,MAAM,eAAe,GAAyB,EAAE,CAAC;YACjD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,KAAK;gBAC/B,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAA;YAEF,IAAI,MAAM,GAAG,SAAS,CAAC;YACvB,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gBACpB,MAAM,GAAG;oBACL,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,UAAU,EAAE,eAAe;iBAC9B,CAAA;aACJ;YAED,OAAO,MAAM,CAAC;QAClB,CAAC,CAAA;QArIG,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,CAAC;IAED,qBAAqB;IACrB,kEAAkE;IAElE;;;;;;;OAOG;IACH,IAAW,UAAU,CAAC,UAAoC;QACtD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;;;;;;OAOG;IACH,IAAW,UAAU,CAAC,UAA8B;QAChD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAmFD;;;;;;;;MAQE;IACK,MAAM,CAAC,GAAsB,EAAE,KAAgC;QAElE,IAAI,GAAG,YAAY,QAAQ,EAAE;YACzB,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gBACnB,KAAK,GAAG,GAAG,CAAC,UAAU,CAAA;gBACtB,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;aACpC;iBAAM;gBACH,OAAO,IAAI,CAAC;aACf;SACJ;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YAC/B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;SACzB;aAAM;YACH,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;SAC1B;QAED,IAAI,KAAK,EAAE;YAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAAE;QAGxC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;;OAQG;IACK,YAAY,CAAC,KAA+B;QAChD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;YACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;SACtC;IACL,CAAC;CAEJ"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Possible values of CriteriaType
3
+ */
4
+ export declare enum CriteriaType {
5
+ TYPE_STRING = "S",
6
+ TYPE_DATE = "D",
7
+ TYPE_NUMBER = "N"
8
+ }
9
+ /**
10
+ * Interface: return of method "buildParam" of CriteriaParameter class
11
+ */
12
+ export interface InputCriteria {
13
+ type: CriteriaType;
14
+ value: any;
15
+ }
16
+ /**
17
+ * CriteriaParameter:
18
+ */
19
+ export declare class CriteriaParameter {
20
+ private _type;
21
+ private _value;
22
+ constructor(type: CriteriaType, value: any);
23
+ /**
24
+ * @ngdoc
25
+ * @Getter_______________
26
+ * @name sankhyalabs.core.src:CriteriaParameter#value
27
+ * @methodOf sankhyalabs.core.src:CriteriaProvider
28
+ * @description Setter para "value". Trata-se do valor do Parâmetro.
29
+ * @param {any} [value] Valor do Parâmetro.
30
+ * @returns {void}
31
+ */
32
+ set value(value: any);
33
+ /**
34
+ * @ngdoc
35
+ * @Setter_______________
36
+ * @name sankhyalabs.core.src:CriteriaParameter#value
37
+ * @methodOf sankhyalabs.core.src:CriteriaProvider
38
+ * @description Getter para "value". Trata-se do valor do Parâmetro.
39
+ * @returns {any} Retorna valor do Parâmetro da classe Criteria
40
+ */
41
+ get value(): any;
42
+ /**
43
+ * @ngdoc
44
+ * @Getter_______________
45
+ * @name sankhyalabs.core.src:CriteriaParameter#type
46
+ * @methodOf sankhyalabs.core.src:CriteriaProvider
47
+ * @description Setter para "type". Trata-se do tipo do valor do Parâmetro.
48
+ * @param {CriteriaType} [type] Tipo do valor do Parâmetro.
49
+ * @returns {void}
50
+ */
51
+ set type(type: CriteriaType);
52
+ /**
53
+ * @ngdoc
54
+ * @Setter_______________
55
+ * @name sankhyalabs.core.src:CriteriaParameter#type
56
+ * @methodOf sankhyalabs.core.src:CriteriaProvider
57
+ * @description Getter para "type". Trata-se do valor do Parâmetro.
58
+ * @returns {CriteriaType} Retorna o tipo do Parâmetro da classe Criteria
59
+ */
60
+ get type(): CriteriaType;
61
+ /**
62
+ * @sankhyalabscore
63
+ * @name sankhyalabs.core.src:CriteriaParameter#buildParam
64
+ * @methodOf sankhyalabscore src.utils.CriteriaParameter
65
+ * @description Cria um JSON/Objeto de acordo com as propriedades internas "value" e "type" da classe CriteriaParameter
66
+ * @returns {InputCriteria} Retorna JSON/Objeto no formato InputCriteria.
67
+ */
68
+ buildParam: () => InputCriteria;
69
+ }
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Possible values of CriteriaType
3
+ */
4
+ export var CriteriaType;
5
+ (function (CriteriaType) {
6
+ CriteriaType["TYPE_STRING"] = "S";
7
+ CriteriaType["TYPE_DATE"] = "D";
8
+ CriteriaType["TYPE_NUMBER"] = "N";
9
+ })(CriteriaType || (CriteriaType = {}));
10
+ /**
11
+ * CriteriaParameter:
12
+ */
13
+ export class CriteriaParameter {
14
+ //Constructor
15
+ //================================================================
16
+ constructor(type, value) {
17
+ /**
18
+ * @sankhyalabscore
19
+ * @name sankhyalabs.core.src:CriteriaParameter#buildParam
20
+ * @methodOf sankhyalabscore src.utils.CriteriaParameter
21
+ * @description Cria um JSON/Objeto de acordo com as propriedades internas "value" e "type" da classe CriteriaParameter
22
+ * @returns {InputCriteria} Retorna JSON/Objeto no formato InputCriteria.
23
+ */
24
+ this.buildParam = () => {
25
+ const paramObj = {
26
+ type: this._type,
27
+ value: this._value,
28
+ };
29
+ return paramObj;
30
+ };
31
+ this._type = type;
32
+ this._value = value;
33
+ }
34
+ //Getters and Setters
35
+ //================================================================
36
+ /**
37
+ * @ngdoc
38
+ * @Getter_______________
39
+ * @name sankhyalabs.core.src:CriteriaParameter#value
40
+ * @methodOf sankhyalabs.core.src:CriteriaProvider
41
+ * @description Setter para "value". Trata-se do valor do Parâmetro.
42
+ * @param {any} [value] Valor do Parâmetro.
43
+ * @returns {void}
44
+ */
45
+ set value(value) {
46
+ this._value = value;
47
+ }
48
+ /**
49
+ * @ngdoc
50
+ * @Setter_______________
51
+ * @name sankhyalabs.core.src:CriteriaParameter#value
52
+ * @methodOf sankhyalabs.core.src:CriteriaProvider
53
+ * @description Getter para "value". Trata-se do valor do Parâmetro.
54
+ * @returns {any} Retorna valor do Parâmetro da classe Criteria
55
+ */
56
+ get value() {
57
+ return this._value;
58
+ }
59
+ /**
60
+ * @ngdoc
61
+ * @Getter_______________
62
+ * @name sankhyalabs.core.src:CriteriaParameter#type
63
+ * @methodOf sankhyalabs.core.src:CriteriaProvider
64
+ * @description Setter para "type". Trata-se do tipo do valor do Parâmetro.
65
+ * @param {CriteriaType} [type] Tipo do valor do Parâmetro.
66
+ * @returns {void}
67
+ */
68
+ set type(type) {
69
+ this._type = type;
70
+ }
71
+ /**
72
+ * @ngdoc
73
+ * @Setter_______________
74
+ * @name sankhyalabs.core.src:CriteriaParameter#type
75
+ * @methodOf sankhyalabs.core.src:CriteriaProvider
76
+ * @description Getter para "type". Trata-se do valor do Parâmetro.
77
+ * @returns {CriteriaType} Retorna o tipo do Parâmetro da classe Criteria
78
+ */
79
+ get type() {
80
+ return this._type;
81
+ }
82
+ }
83
+ //# sourceMappingURL=CriteriaParameter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CriteriaParameter.js","sourceRoot":"","sources":["../../src/utils/CriteriaParameter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,iCAAiB,CAAA;AACrB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAYD;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAQ1B,aAAa;IACb,kEAAkE;IAClE,YAAY,IAAkB,EAAE,KAAU;QA4D1C;;;;;;WAMG;QACI,eAAU,GAAG,GAAkB,EAAE;YACpC,MAAM,QAAQ,GAAG;gBACb,IAAI,EAAE,IAAI,CAAC,KAAK;gBAChB,KAAK,EAAE,IAAI,CAAC,MAAM;aACrB,CAAA;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAA;QAxEG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,qBAAqB;IACrB,kEAAkE;IAElE;;;;;;;;OAQG;IACH,IAAW,KAAK,CAAC,KAAU;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAED;;;;;;;OAOG;IACH,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAGD;;;;;;;;OAQG;IACH,IAAW,IAAI,CAAC,IAAkB;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAED;;;;;;;OAOG;IACH,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;CAkBJ"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * `DateUtils`: Utilizado para formatação, padronização e cálculos de datas.
3
+ */
4
+ export default class DateUtils {
5
+ /**
6
+ * Zerar o horário de uma data.
7
+ *
8
+ * @param date - Data a ser manipulada.
9
+ * @param adjustDayLightSavingTime - Ajusta horário de verão na data recebida.
10
+ * @returns - Data sem as informações de horário.
11
+ * @example
12
+ * Informo: 2023-03-09 12:42:40 | Obtenho: 2023-03-09 00:00:00
13
+ */
14
+ static clearTime(date: Date, adjustDayLightSavingTime?: boolean): Date;
15
+ /**
16
+ * Converte data para uma string no formato pt-BR.
17
+ *
18
+ * @param date - Data a ser convertida.
19
+ * @param options - Opções de formatação da data.
20
+ * @returns - Uma string com a data no formato pt-BR DD/MM/YYYY.
21
+ */
22
+ static formatDate(date: Date, options?: Intl.DateTimeFormatOptions): string;
23
+ /**
24
+ * Converte as horas de uma data para uma string pt-BR.
25
+ *
26
+ * @param date - Data a ser convertida.
27
+ * @param showSeconds - define se devemos considerar os segundos.
28
+ * @returns - Uma string com as horas no formato HH:MM ou HH:MM:SS.
29
+ */
30
+ static formatTime(date: Date, showSeconds?: boolean): string;
31
+ /**
32
+ * Converte a data e hora para uma string no formato pt-BR.
33
+ *
34
+ * @param date - Data a ser convertida.
35
+ * @param showSeconds - define se devemos considerar os segundos.
36
+ * @returns - Uma string com as horas no formato DD/MM/YYYY HH:MM ou DD/MM/YYYY HH:MM:SS.
37
+ */
38
+ static formatDateTime(date: Date, showSeconds?: boolean): string;
39
+ /**
40
+ * Converte String para Date.
41
+ *
42
+ * @param strValue - Texto a ser convertido para data.
43
+ * @param adjustDayLightSavingTime - Se verdadeiro, ativa regra de horário de verão.
44
+ * @param monthYearMode - Quando ativado, retorna o primeiro dia do mês apenas para construir a data.
45
+ * @returns - Data sem as informações de horário.
46
+ */
47
+ static strToDate(strValue: string, adjustDayLightSavingTime?: boolean, monthYearMode?: boolean): Date | undefined;
48
+ /**
49
+ * Obtém a data atual.
50
+ *
51
+ * @param withTime - Caso true retorna a data com informações de horário.
52
+ * @returns - Data atual sem informação de horário.
53
+ */
54
+ static getToday(withTime?: boolean): Date;
55
+ /**
56
+ * Retorna se a data é válida.
57
+ *
58
+ * @param value - Data a ser validada.
59
+ * @param hasTime - Determina se a data retornada deve conter informação de horário ou não. Por padrão não retorna a hora.
60
+ * @returns - Caso válida, retorna a própria data.
61
+ */
62
+ static validateDate(value: Date, hasTime?: boolean): Date | undefined;
63
+ /**
64
+ * Realiza correção do horário de verão.
65
+ *
66
+ * @param date - Data a ser ajustada.
67
+ * @returns - Data informada ajustada para horário de verão.
68
+ */
69
+ private static adjustDLST;
70
+ /**
71
+ * Adiciona uma casa decimal a esquerda de uma unidade.
72
+ *
73
+ * @param n - Número a ser ajustado
74
+ * @returns - O número informado, com uma casa decimal a esquerda.
75
+ * @example
76
+ * Informo: 15 | Obtenho: 15
77
+ * @example
78
+ * Informo: 2 | Obtenho: "02"
79
+ */
80
+ private static pad;
81
+ /**
82
+ * Retorna timezone da data.
83
+ *
84
+ * @param offset - Valor do timezone desejado.
85
+ * @returns Timezone da data.
86
+ */
87
+ private static timezoneOffset;
88
+ /**
89
+ * Converte a data para o formato RFC3339.
90
+ *
91
+ * @param date - Data a ser convertida
92
+ * @returns - Data informada no formato RFC3339.
93
+ * * @example
94
+ * Informo: 2023-03-09 12:42:40 | Obtenho: 2023-03-09T12:42:47-03:00
95
+ */
96
+ static formatRfc3339(date: Date): string;
97
+ }
@@ -0,0 +1,171 @@
1
+ /**
2
+ * `DateUtils`: Utilizado para formatação, padronização e cálculos de datas.
3
+ */
4
+ export default class DateUtils {
5
+ /**
6
+ * Zerar o horário de uma data.
7
+ *
8
+ * @param date - Data a ser manipulada.
9
+ * @param adjustDayLightSavingTime - Ajusta horário de verão na data recebida.
10
+ * @returns - Data sem as informações de horário.
11
+ * @example
12
+ * Informo: 2023-03-09 12:42:40 | Obtenho: 2023-03-09 00:00:00
13
+ */
14
+ static clearTime(date, adjustDayLightSavingTime = true) {
15
+ const newDate = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0, 0);
16
+ return adjustDayLightSavingTime ? DateUtils.adjustDLST(newDate) : newDate;
17
+ }
18
+ /**
19
+ * Converte data para uma string no formato pt-BR.
20
+ *
21
+ * @param date - Data a ser convertida.
22
+ * @param options - Opções de formatação da data.
23
+ * @returns - Uma string com a data no formato pt-BR DD/MM/YYYY.
24
+ */
25
+ static formatDate(date, options) {
26
+ return date ? new Intl.DateTimeFormat("pt-BR", options !== null && options !== void 0 ? options : {}).format(date) : "";
27
+ }
28
+ /**
29
+ * Converte as horas de uma data para uma string pt-BR.
30
+ *
31
+ * @param date - Data a ser convertida.
32
+ * @param showSeconds - define se devemos considerar os segundos.
33
+ * @returns - Uma string com as horas no formato HH:MM ou HH:MM:SS.
34
+ */
35
+ static formatTime(date, showSeconds = false) {
36
+ const timeOptions = { hour: "2-digit", minute: "2-digit", second: showSeconds ? "2-digit" : undefined };
37
+ return new Intl.DateTimeFormat("pt-BR", timeOptions).format(date);
38
+ }
39
+ /**
40
+ * Converte a data e hora para uma string no formato pt-BR.
41
+ *
42
+ * @param date - Data a ser convertida.
43
+ * @param showSeconds - define se devemos considerar os segundos.
44
+ * @returns - Uma string com as horas no formato DD/MM/YYYY HH:MM ou DD/MM/YYYY HH:MM:SS.
45
+ */
46
+ static formatDateTime(date, showSeconds = false) {
47
+ return `${DateUtils.formatDate(date)} ${DateUtils.formatTime(date, showSeconds)}`;
48
+ }
49
+ /**
50
+ * Converte String para Date.
51
+ *
52
+ * @param strValue - Texto a ser convertido para data.
53
+ * @param adjustDayLightSavingTime - Se verdadeiro, ativa regra de horário de verão.
54
+ * @param monthYearMode - Quando ativado, retorna o primeiro dia do mês apenas para construir a data.
55
+ * @returns - Data sem as informações de horário.
56
+ */
57
+ static strToDate(strValue, adjustDayLightSavingTime = true, monthYearMode = false) {
58
+ /** monthYearMode é um booleano para usar o formato MM/YYYY.
59
+ * Quando ativado, é retornado o primeiro dia do mês apenas para construir a data.
60
+ * Não há necessidade de verificar o horário de verão quando utilizado esse modo. */
61
+ let parts;
62
+ if (monthYearMode) {
63
+ parts = /^(1[0-2]|0[1-9]|[1-9])[^\d]?(\d{2}|\d{4})(?:\s(\d{1,2}):(\d{1,2}):?(\d{0,2}))?$/.exec(strValue);
64
+ }
65
+ else {
66
+ parts = /^(3[01]|[1-2]\d|0[1-9]|[1-9])[^\d]?(1[0-2]|0[1-9]|[1-9])[^\d]?(\d{2}|\d{4})(?:\s(\d{1,2}):(\d{1,2}):?(\d{0,2}))?$/.exec(strValue);
67
+ }
68
+ if (!parts) {
69
+ return undefined;
70
+ }
71
+ const day = monthYearMode ? 1 : Number(parts[1]);
72
+ const month = Number(parts[(monthYearMode ? 1 : 2)]);
73
+ let year = Number(parts[(monthYearMode ? 2 : 3)]);
74
+ const hour = Number(parts[(monthYearMode ? 3 : 4)] || 0);
75
+ const min = Number(parts[(monthYearMode ? 4 : 5)] || 0);
76
+ const sec = Number(parts[(monthYearMode ? 5 : 6)] || 0);
77
+ if (year < 100) {
78
+ year += year < 30 ? 2000 : 1900;
79
+ }
80
+ let date = new Date(year, month - 1, day, hour, min, sec, 0);
81
+ if (adjustDayLightSavingTime === true && !monthYearMode && hour == 0) {
82
+ date = DateUtils.adjustDLST(date);
83
+ }
84
+ return date;
85
+ }
86
+ /**
87
+ * Obtém a data atual.
88
+ *
89
+ * @param withTime - Caso true retorna a data com informações de horário.
90
+ * @returns - Data atual sem informação de horário.
91
+ */
92
+ static getToday(withTime = false) {
93
+ const today = new Date();
94
+ if (withTime) {
95
+ return today;
96
+ }
97
+ else {
98
+ return DateUtils.clearTime(today);
99
+ }
100
+ }
101
+ /**
102
+ * Retorna se a data é válida.
103
+ *
104
+ * @param value - Data a ser validada.
105
+ * @param hasTime - Determina se a data retornada deve conter informação de horário ou não. Por padrão não retorna a hora.
106
+ * @returns - Caso válida, retorna a própria data.
107
+ */
108
+ static validateDate(value, hasTime = false) {
109
+ return value instanceof Date && !isNaN(value.valueOf())
110
+ ? hasTime ? value : DateUtils.clearTime(value)
111
+ : undefined;
112
+ }
113
+ /**
114
+ * Realiza correção do horário de verão.
115
+ *
116
+ * @param date - Data a ser ajustada.
117
+ * @returns - Data informada ajustada para horário de verão.
118
+ */
119
+ static adjustDLST(date) {
120
+ if (date.getHours() == 23) {
121
+ return new Date(date.getFullYear(), date.getMonth(), date.getDate() + 1, 1, 0, 0, 0);
122
+ }
123
+ return date;
124
+ }
125
+ /**
126
+ * Adiciona uma casa decimal a esquerda de uma unidade.
127
+ *
128
+ * @param n - Número a ser ajustado
129
+ * @returns - O número informado, com uma casa decimal a esquerda.
130
+ * @example
131
+ * Informo: 15 | Obtenho: 15
132
+ * @example
133
+ * Informo: 2 | Obtenho: "02"
134
+ */
135
+ static pad(n) {
136
+ return n < 10 ? "0" + n : n;
137
+ }
138
+ /**
139
+ * Retorna timezone da data.
140
+ *
141
+ * @param offset - Valor do timezone desejado.
142
+ * @returns Timezone da data.
143
+ */
144
+ static timezoneOffset(offset) {
145
+ let sign;
146
+ if (offset === 0) {
147
+ return "Z";
148
+ }
149
+ sign = (offset > 0) ? "-" : "+";
150
+ offset = Math.abs(offset);
151
+ return sign + this.pad(Math.floor(offset / 60)) + ":" + this.pad(offset % 60);
152
+ }
153
+ /**
154
+ * Converte a data para o formato RFC3339.
155
+ *
156
+ * @param date - Data a ser convertida
157
+ * @returns - Data informada no formato RFC3339.
158
+ * * @example
159
+ * Informo: 2023-03-09 12:42:40 | Obtenho: 2023-03-09T12:42:47-03:00
160
+ */
161
+ static formatRfc3339(date) {
162
+ return date.getFullYear() + "-" +
163
+ this.pad(date.getMonth() + 1) + "-" +
164
+ this.pad(date.getDate()) + "T" +
165
+ this.pad(date.getHours()) + ":" +
166
+ this.pad(date.getMinutes()) + ":" +
167
+ this.pad(date.getSeconds()) +
168
+ this.timezoneOffset(date.getTimezoneOffset());
169
+ }
170
+ }
171
+ //# sourceMappingURL=DateUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateUtils.js","sourceRoot":"","sources":["../../src/utils/DateUtils.ts"],"names":[],"mappings":"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"}