@sankhyalabs/core 1.0.42 → 1.0.43

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 (135) hide show
  1. package/.eslintignore +1 -1
  2. package/.eslintrc.cjs +34 -34
  3. package/README.md +54 -54
  4. package/dist/dataunit/DataUnit.d.ts +82 -82
  5. package/dist/dataunit/DataUnit.js +278 -278
  6. package/dist/dataunit/metadata/DataType.d.ts +9 -9
  7. package/dist/dataunit/metadata/DataType.js +36 -36
  8. package/dist/dataunit/metadata/UnitMetadata.d.ts +71 -71
  9. package/dist/dataunit/metadata/UnitMetadata.js +31 -31
  10. package/dist/dataunit/state/HistReducer.d.ts +10 -10
  11. package/dist/dataunit/state/HistReducer.js +27 -27
  12. package/dist/dataunit/state/StateManager.d.ts +57 -57
  13. package/dist/dataunit/state/StateManager.js +96 -96
  14. package/dist/dataunit/state/action/DataUnitAction.d.ts +28 -28
  15. package/dist/dataunit/state/action/DataUnitAction.js +33 -33
  16. package/dist/dataunit/state/slice/AddedRecordsSlice.d.ts +11 -11
  17. package/dist/dataunit/state/slice/AddedRecordsSlice.js +25 -25
  18. package/dist/dataunit/state/slice/ChangesSlice.d.ts +12 -12
  19. package/dist/dataunit/state/slice/ChangesSlice.js +72 -72
  20. package/dist/dataunit/state/slice/CurrentRecordsSlice.d.ts +11 -11
  21. package/dist/dataunit/state/slice/CurrentRecordsSlice.js +45 -45
  22. package/dist/dataunit/state/slice/RecordsSlice.d.ts +10 -10
  23. package/dist/dataunit/state/slice/RecordsSlice.js +43 -43
  24. package/dist/dataunit/state/slice/RemovedRecordsSlice.d.ts +9 -9
  25. package/dist/dataunit/state/slice/RemovedRecordsSlice.js +24 -24
  26. package/dist/dataunit/state/slice/SelectionSlice.d.ts +11 -11
  27. package/dist/dataunit/state/slice/SelectionSlice.js +111 -111
  28. package/dist/dataunit/state/slice/UnitMetadataSlice.d.ts +11 -11
  29. package/dist/dataunit/state/slice/UnitMetadataSlice.js +20 -20
  30. package/dist/http/AuthorizedServiceCaller.d.ts +11 -11
  31. package/dist/http/AuthorizedServiceCaller.js +53 -53
  32. package/dist/http/HttpProvider.d.ts +25 -25
  33. package/dist/http/HttpProvider.js +73 -73
  34. package/dist/http/RequestMetadata.d.ts +30 -30
  35. package/dist/http/RequestMetadata.js +24 -24
  36. package/dist/http/SkwHttpProvider.d.ts +9 -9
  37. package/dist/http/SkwHttpProvider.js +66 -66
  38. package/dist/index.d.ts +16 -16
  39. package/dist/index.js +17 -17
  40. package/dist/ui/FloatingManager.d.ts +24 -24
  41. package/dist/ui/FloatingManager.js +122 -122
  42. package/dist/utils/ApplicationContext.d.ts +5 -5
  43. package/dist/utils/ApplicationContext.js +16 -16
  44. package/dist/utils/CriteriaModel.d.ts +109 -109
  45. package/dist/utils/CriteriaModel.js +173 -173
  46. package/dist/utils/CriteriaParameter.d.ts +69 -69
  47. package/dist/utils/CriteriaParameter.js +82 -82
  48. package/dist/utils/DateUtils.d.ts +5 -5
  49. package/dist/utils/DateUtils.js +42 -42
  50. package/dist/utils/MaskFormatter.d.ts +126 -126
  51. package/dist/utils/MaskFormatter.js +275 -275
  52. package/dist/utils/NumberUtils.d.ts +53 -53
  53. package/dist/utils/NumberUtils.js +141 -141
  54. package/dist/utils/StringUtils.d.ts +18 -18
  55. package/dist/utils/StringUtils.js +53 -53
  56. package/dist/utils/TimeFormatter.d.ts +33 -33
  57. package/dist/utils/TimeFormatter.js +97 -97
  58. package/jest.config.ts +16 -16
  59. package/mock/http/XMLHttpRequest-mock.js +25 -25
  60. package/package.json +37 -37
  61. package/src/dataunit/DataUnit.ts +356 -356
  62. package/src/dataunit/metadata/DataType.ts +37 -37
  63. package/src/dataunit/metadata/UnitMetadata.ts +82 -82
  64. package/src/dataunit/state/HistReducer.ts +33 -33
  65. package/src/dataunit/state/StateManager.ts +141 -141
  66. package/src/dataunit/state/action/DataUnitAction.ts +50 -50
  67. package/src/dataunit/state/slice/AddedRecordsSlice.ts +32 -32
  68. package/src/dataunit/state/slice/ChangesSlice.ts +90 -90
  69. package/src/dataunit/state/slice/CurrentRecordsSlice.ts +53 -53
  70. package/src/dataunit/state/slice/RecordsSlice.ts +56 -56
  71. package/src/dataunit/state/slice/RemovedRecordsSlice.ts +29 -29
  72. package/src/dataunit/state/slice/SelectionSlice.ts +130 -130
  73. package/src/dataunit/state/slice/UnitMetadataSlice.ts +29 -29
  74. package/src/http/AuthorizedServiceCaller.ts +58 -58
  75. package/src/http/HttpProvider.ts +93 -93
  76. package/src/http/RequestMetadata.ts +41 -41
  77. package/src/http/SkwHttpProvider.ts +77 -77
  78. package/src/index.ts +44 -44
  79. package/src/ui/FloatingManager.ts +165 -165
  80. package/src/utils/ApplicationContext.ts +18 -18
  81. package/src/utils/CriteriaModel.ts +207 -207
  82. package/src/utils/CriteriaParameter.ts +107 -107
  83. package/src/utils/DateUtils.ts +52 -52
  84. package/src/utils/MaskFormatter.ts +322 -322
  85. package/src/utils/NumberUtils.ts +174 -174
  86. package/src/utils/StringUtils.ts +60 -60
  87. package/src/utils/TimeFormatter.ts +97 -97
  88. package/test/http/HttpProvider.spec.ts +34 -34
  89. package/test/http/SkwHttpProvider.ts.spec.ts +33 -33
  90. package/test/util/CriteriaModel.spec.ts +231 -231
  91. package/test/util/CriteriaParameter.spec.ts +51 -51
  92. package/test/util/MaskFormatter.spec.ts +138 -138
  93. package/test/util/NumberUtils.spec.ts +156 -156
  94. package/test/util/StringUtils.spec.ts +43 -43
  95. package/test/util/TimeFormatter.spec.ts +25 -25
  96. package/tsconfig.json +15 -15
  97. package/dist/application/Application.d.ts +0 -8
  98. package/dist/application/Application.js +0 -19
  99. package/dist/application/Application.js.map +0 -1
  100. package/dist/http/data-fetcher/HttpFetcher.d.ts +0 -14
  101. package/dist/http/data-fetcher/HttpFetcher.js +0 -164
  102. package/dist/http/data-fetcher/HttpFetcher.js.map +0 -1
  103. package/dist/http/data-fetcher/default/DefaultGraphQL.d.ts +0 -3
  104. package/dist/http/data-fetcher/default/DefaultGraphQL.js +0 -18
  105. package/dist/http/data-fetcher/default/DefaultGraphQL.js.map +0 -1
  106. package/dist/http/data-fetcher/default/application-config-fetcher.d.ts +0 -6
  107. package/dist/http/data-fetcher/default/application-config-fetcher.js +0 -21
  108. package/dist/http/data-fetcher/default/application-config-fetcher.js.map +0 -1
  109. package/dist/http/data-fetcher/default/data-unit-graphql.d.ts +0 -3
  110. package/dist/http/data-fetcher/default/data-unit-graphql.js +0 -18
  111. package/dist/http/data-fetcher/default/data-unit-graphql.js.map +0 -1
  112. package/dist/http/data-fetcher/default/dataunit-executor.d.ts +0 -10
  113. package/dist/http/data-fetcher/default/dataunit-executor.js +0 -56
  114. package/dist/http/data-fetcher/default/dataunit-executor.js.map +0 -1
  115. package/dist/http/data-fetcher/default/dataunit-fetcher.d.ts +0 -9
  116. package/dist/http/data-fetcher/default/dataunit-fetcher.js +0 -69
  117. package/dist/http/data-fetcher/default/dataunit-fetcher.js.map +0 -1
  118. package/dist/http/data-fetcher/default/form-config-fetcher.d.ts +0 -2
  119. package/dist/http/data-fetcher/default/form-config-fetcher.js +0 -3
  120. package/dist/http/data-fetcher/default/form-config-fetcher.js.map +0 -1
  121. package/dist/http/data-fetcher/default/grid-config-fetcher.d.ts +0 -2
  122. package/dist/http/data-fetcher/default/grid-config-fetcher.js +0 -3
  123. package/dist/http/data-fetcher/default/grid-config-fetcher.js.map +0 -1
  124. package/dist/http/data-fetcher/default/index.d.ts +0 -0
  125. package/dist/http/data-fetcher/default/index.js +0 -2
  126. package/dist/http/data-fetcher/default/index.js.map +0 -1
  127. package/dist/http/data-fetcher/default/sankhya-graphql.d.ts +0 -3
  128. package/dist/http/data-fetcher/default/sankhya-graphql.js +0 -8
  129. package/dist/http/data-fetcher/default/sankhya-graphql.js.map +0 -1
  130. package/dist/http/data-fetcher/graphql/DefaultGraphQl.d.ts +0 -3
  131. package/dist/http/data-fetcher/graphql/DefaultGraphQl.js +0 -18
  132. package/dist/http/data-fetcher/graphql/DefaultGraphQl.js.map +0 -1
  133. package/dist/http/data-fetcher/state/LoadStateManager.d.ts +0 -23
  134. package/dist/http/data-fetcher/state/LoadStateManager.js +0 -78
  135. package/dist/http/data-fetcher/state/LoadStateManager.js.map +0 -1
@@ -1,69 +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
- }
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
+ }
@@ -1,83 +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
- }
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
83
  //# sourceMappingURL=CriteriaParameter.js.map
@@ -1,5 +1,5 @@
1
- export default class DateUtils {
2
- static clearTime(date: Date, adjustDayLightSavingTime?: boolean): Date;
3
- static strToDate(strValue: string, adjustDayLightSavingTime?: boolean, monthYearMode?: boolean): Date | undefined;
4
- private static adjustDLST;
5
- }
1
+ export default class DateUtils {
2
+ static clearTime(date: Date, adjustDayLightSavingTime?: boolean): Date;
3
+ static strToDate(strValue: string, adjustDayLightSavingTime?: boolean, monthYearMode?: boolean): Date | undefined;
4
+ private static adjustDLST;
5
+ }
@@ -1,43 +1,43 @@
1
- export default class DateUtils {
2
- static clearTime(date, adjustDayLightSavingTime = true) {
3
- const newDate = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0, 0);
4
- return adjustDayLightSavingTime ? DateUtils.adjustDLST(newDate) : newDate;
5
- }
6
- static strToDate(strValue, adjustDayLightSavingTime = true, monthYearMode = false) {
7
- /** monthYearMode é um booleano para usar o formato MM/YYYY.
8
- * Quando ativado, é retornado o primeiro dia do mês apenas para construir a data.
9
- * Não há necessidade de verificar o horário de verão quando utilizado esse modo. */
10
- let parts;
11
- if (monthYearMode) {
12
- 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);
13
- }
14
- else {
15
- 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);
16
- }
17
- if (!parts) {
18
- return undefined;
19
- }
20
- const day = monthYearMode ? 1 : Number(parts[1]);
21
- const month = Number(parts[(monthYearMode ? 1 : 2)]);
22
- let year = Number(parts[(monthYearMode ? 2 : 3)]);
23
- const hour = Number(parts[(monthYearMode ? 3 : 4)] || 0);
24
- const min = Number(parts[(monthYearMode ? 4 : 5)] || 0);
25
- const sec = Number(parts[(monthYearMode ? 5 : 6)] || 0);
26
- if (year < 100) {
27
- year += year < 30 ? 2000 : 1900;
28
- }
29
- let date = new Date(year, month - 1, day, hour, min, sec, 0);
30
- if (adjustDayLightSavingTime === true && !monthYearMode && hour == 0) {
31
- date = DateUtils.adjustDLST(date);
32
- }
33
- return date;
34
- }
35
- static adjustDLST(date) {
36
- //Work around para corrigir o Bug do horário de verão.
37
- if (date.getHours() == 23) {
38
- return new Date(date.getFullYear(), date.getMonth(), date.getDate() + 1, 1, 0, 0, 0);
39
- }
40
- return date;
41
- }
42
- }
1
+ export default class DateUtils {
2
+ static clearTime(date, adjustDayLightSavingTime = true) {
3
+ const newDate = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0, 0);
4
+ return adjustDayLightSavingTime ? DateUtils.adjustDLST(newDate) : newDate;
5
+ }
6
+ static strToDate(strValue, adjustDayLightSavingTime = true, monthYearMode = false) {
7
+ /** monthYearMode é um booleano para usar o formato MM/YYYY.
8
+ * Quando ativado, é retornado o primeiro dia do mês apenas para construir a data.
9
+ * Não há necessidade de verificar o horário de verão quando utilizado esse modo. */
10
+ let parts;
11
+ if (monthYearMode) {
12
+ 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);
13
+ }
14
+ else {
15
+ 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);
16
+ }
17
+ if (!parts) {
18
+ return undefined;
19
+ }
20
+ const day = monthYearMode ? 1 : Number(parts[1]);
21
+ const month = Number(parts[(monthYearMode ? 1 : 2)]);
22
+ let year = Number(parts[(monthYearMode ? 2 : 3)]);
23
+ const hour = Number(parts[(monthYearMode ? 3 : 4)] || 0);
24
+ const min = Number(parts[(monthYearMode ? 4 : 5)] || 0);
25
+ const sec = Number(parts[(monthYearMode ? 5 : 6)] || 0);
26
+ if (year < 100) {
27
+ year += year < 30 ? 2000 : 1900;
28
+ }
29
+ let date = new Date(year, month - 1, day, hour, min, sec, 0);
30
+ if (adjustDayLightSavingTime === true && !monthYearMode && hour == 0) {
31
+ date = DateUtils.adjustDLST(date);
32
+ }
33
+ return date;
34
+ }
35
+ static adjustDLST(date) {
36
+ //Work around para corrigir o Bug do horário de verão.
37
+ if (date.getHours() == 23) {
38
+ return new Date(date.getFullYear(), date.getMonth(), date.getDate() + 1, 1, 0, 0, 0);
39
+ }
40
+ return date;
41
+ }
42
+ }
43
43
  //# sourceMappingURL=DateUtils.js.map
@@ -1,126 +1,126 @@
1
- /**
2
- * `MaskFormatter` é usado para formatar strings. Seu comportamento
3
- * é controlado pela formato do atributo `mask` que especifica quais
4
- * caracteres são válidos e onde devem estar posicionados, intercalando-os
5
- * com eventuais caracteres literais expressados no padrão informado.
6
- * Sua implementação é inspirada pela implementação em Java do [MaskFormatter](https://docs.oracle.com/javase/7/docs/api/javax/swing/text/MaskFormatter.html).
7
- *
8
- * Para o padrão da máscara podem ser usados os seguintes caracteres especiais:
9
- *
10
- * | Caractere | Comportamento |
11
- * |:---------:|-------------------------------------------------------------------------------------------------------------|
12
- * | # | Qualquer número |
13
- * | ' | "Escapa" o caractere que vem na sequência. Útil quando desejamos converter um caractere especial em literal.|
14
- * | U | Qualquer letra. Transforma letras maiúsculas em maiúsculas. |
15
- * | L | Qualquer letra. Transforma letras maiúsculas em minúsculas. |
16
- * | A | Qualquer letra ou número. |
17
- * | ? | Qualquer letra. Preserva maiúsculas e minúsculas. |
18
- * | * | Qualquer caractere. |
19
- *
20
- * Os demais caracteres presentes no padrão serão tratados como literais, isto é,
21
- * serão apenas inseridos naquela posição.
22
- *
23
- * Quando o o valor a ser formatado é menor que a máscara um 'placeHolder'
24
- * será inserido em cada posição ausente, completando a formatação.
25
- * Por padrão será usado um espaço em branco como 'placeHolder' mas
26
- * esse valor pode ser alterado.
27
- *
28
- * For por exemplo:
29
- * '''
30
- * const formatter: MaskFormatter = new MaskFormatter("###-####");
31
- * formatter.placeholder = '_';
32
- * console.log(formatter.format("123"));
33
- * '''
34
- * resultaria na string '123-____'.
35
- *
36
- * ##Veja mais alguns exemplos:
37
- * |Padrão |Máscara |Entrada |Saída |
38
- * |----------------|------------------|--------------|------------------|
39
- * |Telefone |(##) ####-#### |3432192515 |(34) 3219-2515 |
40
- * |CPF |###.###.###-## |12345678901 |123.456.789-01 |
41
- * |CNPJ |##.###.###/####-##|12345678901234|12.345.678/9012-34|
42
- * |CEP |##.###-### |12345678 |12.345-678 |
43
- * |PLACA (veículo) |UUU-#### |abc1234 |ABC-1234 |
44
- * |Cor RGB |'#AAAAAA |00000F0 |#0000F0 |
45
- *
46
- */
47
- export declare class MaskFormatter {
48
- private static DIGIT_KEY;
49
- private static LITERAL_KEY;
50
- private static UPPERCASE_KEY;
51
- private static LOWERCASE_KEY;
52
- private static ALPHA_NUMERIC_KEY;
53
- private static CHARACTER_KEY;
54
- private static ANYTHING_KEY;
55
- private _mask;
56
- private _maskChars;
57
- /**
58
- * Determina qual caractere será usado dos caracteres não presentes no valor
59
- * ou seja, aqueles que o usuário ainda não informou. Por padrão usamos um espaço
60
- */
61
- placeholder: string;
62
- /**
63
- * Setter para mask. Trata-se do padrão que se espera ao formatar o texto.
64
- */
65
- set mask(mask: string);
66
- /**
67
- * Getter para mask
68
- *
69
- * @return A última máscara informada.
70
- */
71
- get mask(): string;
72
- constructor(mask: string);
73
- /**
74
- * Formata a string passada baseada na máscara definda pelo atributo mask.
75
- *
76
- * @param value Valor a ser formatado
77
- * @return O valor processado de acordo com o padrão
78
- */
79
- format(value: string): string;
80
- /**
81
- * Preparamos a formatação internamente de acordo com o padrão.
82
- */
83
- private updateInternalMask;
84
- static MaskCharacter: {
85
- new (maskFormatter: MaskFormatter, type: string): {
86
- maskFormatter: MaskFormatter;
87
- type: string;
88
- /**
89
- * Cada subclasse deve sobrescrever o retornando true, caso represente
90
- * um caractere literal. Por padrão o retorno é false.
91
- */
92
- isLiteral(): boolean;
93
- /**
94
- * Returns true if <code>aChar</code> is a valid reprensentation of
95
- * the receiver. The default implementation returns true if the
96
- * receiver represents a literal character and <code>getChar</code>
97
- * == aChar. Otherwise, this will return true is <code>aChar</code>
98
- * is contained in the valid characters and not contained
99
- * in the invalid characters.
100
- */
101
- isValidCharacter(aChar: string): boolean;
102
- /**
103
- * Returns the character to insert for <code>aChar</code>. The
104
- * default implementation returns <code>aChar</code>. Subclasses
105
- * that wish to do some sort of mapping, perhaps lower case to upper
106
- * case should override this and do the necessary mapping.
107
- */
108
- getChar(aChar: string): string;
109
- /**
110
- * Appends the necessary character in <code>formatting</code> at
111
- * <code>index</code> to <code>buff</code>.
112
- */
113
- append(result: string, formatting: string, index: Array<number>): string;
114
- getFormatMessage(): string;
115
- };
116
- };
117
- private static LiteralCharacter;
118
- private static DigitMaskCharacter;
119
- private static UpperCaseCharacter;
120
- private static LowerCaseCharacter;
121
- private static AlphaNumericCharacter;
122
- private static CharCharacter;
123
- }
124
- export declare namespace MaskFormatter {
125
- type MaskCharacter = InstanceType<typeof MaskFormatter.MaskCharacter>;
126
- }
1
+ /**
2
+ * `MaskFormatter` é usado para formatar strings. Seu comportamento
3
+ * é controlado pela formato do atributo `mask` que especifica quais
4
+ * caracteres são válidos e onde devem estar posicionados, intercalando-os
5
+ * com eventuais caracteres literais expressados no padrão informado.
6
+ * Sua implementação é inspirada pela implementação em Java do [MaskFormatter](https://docs.oracle.com/javase/7/docs/api/javax/swing/text/MaskFormatter.html).
7
+ *
8
+ * Para o padrão da máscara podem ser usados os seguintes caracteres especiais:
9
+ *
10
+ * | Caractere | Comportamento |
11
+ * |:---------:|-------------------------------------------------------------------------------------------------------------|
12
+ * | # | Qualquer número |
13
+ * | ' | "Escapa" o caractere que vem na sequência. Útil quando desejamos converter um caractere especial em literal.|
14
+ * | U | Qualquer letra. Transforma letras maiúsculas em maiúsculas. |
15
+ * | L | Qualquer letra. Transforma letras maiúsculas em minúsculas. |
16
+ * | A | Qualquer letra ou número. |
17
+ * | ? | Qualquer letra. Preserva maiúsculas e minúsculas. |
18
+ * | * | Qualquer caractere. |
19
+ *
20
+ * Os demais caracteres presentes no padrão serão tratados como literais, isto é,
21
+ * serão apenas inseridos naquela posição.
22
+ *
23
+ * Quando o o valor a ser formatado é menor que a máscara um 'placeHolder'
24
+ * será inserido em cada posição ausente, completando a formatação.
25
+ * Por padrão será usado um espaço em branco como 'placeHolder' mas
26
+ * esse valor pode ser alterado.
27
+ *
28
+ * For por exemplo:
29
+ * '''
30
+ * const formatter: MaskFormatter = new MaskFormatter("###-####");
31
+ * formatter.placeholder = '_';
32
+ * console.log(formatter.format("123"));
33
+ * '''
34
+ * resultaria na string '123-____'.
35
+ *
36
+ * ##Veja mais alguns exemplos:
37
+ * |Padrão |Máscara |Entrada |Saída |
38
+ * |----------------|------------------|--------------|------------------|
39
+ * |Telefone |(##) ####-#### |3432192515 |(34) 3219-2515 |
40
+ * |CPF |###.###.###-## |12345678901 |123.456.789-01 |
41
+ * |CNPJ |##.###.###/####-##|12345678901234|12.345.678/9012-34|
42
+ * |CEP |##.###-### |12345678 |12.345-678 |
43
+ * |PLACA (veículo) |UUU-#### |abc1234 |ABC-1234 |
44
+ * |Cor RGB |'#AAAAAA |00000F0 |#0000F0 |
45
+ *
46
+ */
47
+ export declare class MaskFormatter {
48
+ private static DIGIT_KEY;
49
+ private static LITERAL_KEY;
50
+ private static UPPERCASE_KEY;
51
+ private static LOWERCASE_KEY;
52
+ private static ALPHA_NUMERIC_KEY;
53
+ private static CHARACTER_KEY;
54
+ private static ANYTHING_KEY;
55
+ private _mask;
56
+ private _maskChars;
57
+ /**
58
+ * Determina qual caractere será usado dos caracteres não presentes no valor
59
+ * ou seja, aqueles que o usuário ainda não informou. Por padrão usamos um espaço
60
+ */
61
+ placeholder: string;
62
+ /**
63
+ * Setter para mask. Trata-se do padrão que se espera ao formatar o texto.
64
+ */
65
+ set mask(mask: string);
66
+ /**
67
+ * Getter para mask
68
+ *
69
+ * @return A última máscara informada.
70
+ */
71
+ get mask(): string;
72
+ constructor(mask: string);
73
+ /**
74
+ * Formata a string passada baseada na máscara definda pelo atributo mask.
75
+ *
76
+ * @param value Valor a ser formatado
77
+ * @return O valor processado de acordo com o padrão
78
+ */
79
+ format(value: string): string;
80
+ /**
81
+ * Preparamos a formatação internamente de acordo com o padrão.
82
+ */
83
+ private updateInternalMask;
84
+ static MaskCharacter: {
85
+ new (maskFormatter: MaskFormatter, type: string): {
86
+ maskFormatter: MaskFormatter;
87
+ type: string;
88
+ /**
89
+ * Cada subclasse deve sobrescrever o retornando true, caso represente
90
+ * um caractere literal. Por padrão o retorno é false.
91
+ */
92
+ isLiteral(): boolean;
93
+ /**
94
+ * Returns true if <code>aChar</code> is a valid reprensentation of
95
+ * the receiver. The default implementation returns true if the
96
+ * receiver represents a literal character and <code>getChar</code>
97
+ * == aChar. Otherwise, this will return true is <code>aChar</code>
98
+ * is contained in the valid characters and not contained
99
+ * in the invalid characters.
100
+ */
101
+ isValidCharacter(aChar: string): boolean;
102
+ /**
103
+ * Returns the character to insert for <code>aChar</code>. The
104
+ * default implementation returns <code>aChar</code>. Subclasses
105
+ * that wish to do some sort of mapping, perhaps lower case to upper
106
+ * case should override this and do the necessary mapping.
107
+ */
108
+ getChar(aChar: string): string;
109
+ /**
110
+ * Appends the necessary character in <code>formatting</code> at
111
+ * <code>index</code> to <code>buff</code>.
112
+ */
113
+ append(result: string, formatting: string, index: Array<number>): string;
114
+ getFormatMessage(): string;
115
+ };
116
+ };
117
+ private static LiteralCharacter;
118
+ private static DigitMaskCharacter;
119
+ private static UpperCaseCharacter;
120
+ private static LowerCaseCharacter;
121
+ private static AlphaNumericCharacter;
122
+ private static CharCharacter;
123
+ }
124
+ export declare namespace MaskFormatter {
125
+ type MaskCharacter = InstanceType<typeof MaskFormatter.MaskCharacter>;
126
+ }