@etsoo/shared 1.2.52 → 1.2.55

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 (106) hide show
  1. package/.github/workflows/main.yml +6 -5
  2. package/__tests__/ArrayUtils.ts +126 -126
  3. package/__tests__/ColorUtils.ts +24 -24
  4. package/__tests__/ContentDisposition.ts +18 -18
  5. package/__tests__/DataTypes.ts +222 -204
  6. package/__tests__/DateUtils.ts +82 -82
  7. package/__tests__/DomUtils.ts +352 -352
  8. package/__tests__/EHistory.ts +62 -62
  9. package/__tests__/ExtendUtils.ts +40 -40
  10. package/__tests__/Keyboard.ts +14 -14
  11. package/__tests__/NumberUtils.ts +37 -39
  12. package/__tests__/StorageUtils.ts +27 -27
  13. package/__tests__/Utils.ts +361 -363
  14. package/__tests__/tsconfig.json +15 -15
  15. package/lib/cjs/ActionResult.d.ts +1 -1
  16. package/lib/cjs/ActionResult.js +3 -3
  17. package/lib/cjs/ArrayUtils.d.ts +1 -1
  18. package/lib/cjs/ArrayUtils.js +4 -4
  19. package/lib/cjs/ColorUtils.d.ts +1 -1
  20. package/lib/cjs/ColorUtils.js +2 -2
  21. package/lib/cjs/DataTypes.d.ts +6 -6
  22. package/lib/cjs/DataTypes.js +50 -51
  23. package/lib/cjs/DateUtils.d.ts +1 -1
  24. package/lib/cjs/DateUtils.js +27 -28
  25. package/lib/cjs/DomUtils.d.ts +3 -3
  26. package/lib/cjs/DomUtils.js +64 -73
  27. package/lib/cjs/ExtendUtils.d.ts +1 -1
  28. package/lib/cjs/ExtendUtils.js +6 -6
  29. package/lib/cjs/IActionResult.d.ts +1 -1
  30. package/lib/cjs/NumberUtils.d.ts +1 -1
  31. package/lib/cjs/NumberUtils.js +9 -9
  32. package/lib/cjs/StorageUtils.js +2 -2
  33. package/lib/cjs/Utils.d.ts +4 -4
  34. package/lib/cjs/Utils.js +58 -62
  35. package/lib/cjs/index.d.ts +22 -22
  36. package/lib/cjs/storage/WindowStorage.d.ts +1 -1
  37. package/lib/cjs/types/ContentDisposition.d.ts +2 -2
  38. package/lib/cjs/types/ContentDisposition.js +11 -13
  39. package/lib/cjs/types/EColor.js +5 -7
  40. package/lib/cjs/types/EHistory.d.ts +3 -3
  41. package/lib/cjs/types/EHistory.js +4 -4
  42. package/lib/cjs/types/ErrorData.d.ts +1 -1
  43. package/lib/cjs/types/EventClass.js +1 -1
  44. package/lib/mjs/ActionResult.d.ts +1 -1
  45. package/lib/mjs/ActionResult.js +3 -3
  46. package/lib/mjs/ArrayUtils.d.ts +1 -1
  47. package/lib/mjs/ArrayUtils.js +5 -5
  48. package/lib/mjs/ColorUtils.d.ts +1 -1
  49. package/lib/mjs/ColorUtils.js +3 -3
  50. package/lib/mjs/DataTypes.d.ts +6 -6
  51. package/lib/mjs/DataTypes.js +50 -51
  52. package/lib/mjs/DateUtils.d.ts +1 -1
  53. package/lib/mjs/DateUtils.js +27 -28
  54. package/lib/mjs/DomUtils.d.ts +3 -3
  55. package/lib/mjs/DomUtils.js +67 -76
  56. package/lib/mjs/ExtendUtils.d.ts +1 -1
  57. package/lib/mjs/ExtendUtils.js +6 -6
  58. package/lib/mjs/IActionResult.d.ts +1 -1
  59. package/lib/mjs/NumberUtils.d.ts +1 -1
  60. package/lib/mjs/NumberUtils.js +9 -9
  61. package/lib/mjs/StorageUtils.js +4 -4
  62. package/lib/mjs/Utils.d.ts +4 -4
  63. package/lib/mjs/Utils.js +61 -65
  64. package/lib/mjs/index.d.ts +22 -22
  65. package/lib/mjs/index.js +22 -22
  66. package/lib/mjs/storage/WindowStorage.d.ts +1 -1
  67. package/lib/mjs/storage/WindowStorage.js +2 -2
  68. package/lib/mjs/types/ContentDisposition.d.ts +2 -2
  69. package/lib/mjs/types/ContentDisposition.js +12 -14
  70. package/lib/mjs/types/EColor.js +5 -7
  71. package/lib/mjs/types/EHistory.d.ts +3 -3
  72. package/lib/mjs/types/EHistory.js +5 -5
  73. package/lib/mjs/types/ErrorData.d.ts +1 -1
  74. package/lib/mjs/types/EventClass.js +1 -1
  75. package/package.json +61 -63
  76. package/src/ActionResult.ts +23 -23
  77. package/src/ArrayUtils.ts +164 -172
  78. package/src/ColorUtils.ts +80 -82
  79. package/src/DataTypes.ts +745 -754
  80. package/src/DateUtils.ts +266 -268
  81. package/src/DomUtils.ts +806 -831
  82. package/src/ExtendUtils.ts +191 -191
  83. package/src/IActionResult.ts +42 -42
  84. package/src/Keyboard.ts +258 -258
  85. package/src/NumberUtils.ts +135 -135
  86. package/src/StorageUtils.ts +117 -117
  87. package/src/Utils.ts +908 -930
  88. package/src/index.ts +22 -22
  89. package/src/node/Storage.ts +53 -53
  90. package/src/storage/IStorage.ts +62 -62
  91. package/src/storage/WindowStorage.ts +140 -140
  92. package/src/types/ContentDisposition.ts +59 -63
  93. package/src/types/DataError.ts +15 -15
  94. package/src/types/DelayedExecutorType.ts +15 -15
  95. package/src/types/EColor.ts +241 -248
  96. package/src/types/EHistory.ts +151 -151
  97. package/src/types/ErrorData.ts +11 -11
  98. package/src/types/EventClass.ts +220 -220
  99. package/src/types/FormData.ts +25 -25
  100. package/src/types/ParsedPath.ts +5 -5
  101. package/tsconfig.cjs.json +16 -16
  102. package/tsconfig.json +16 -16
  103. package/.eslintignore +0 -3
  104. package/.eslintrc.json +0 -29
  105. package/.prettierignore +0 -5
  106. package/.prettierrc +0 -6
@@ -1,218 +1,236 @@
1
- import { DataTypes, IdDefaultType, LabelDefaultType } from '../src/DataTypes';
2
-
3
- test('Tests for DI', () => {
4
- const item: DataTypes.DIS<'id', number> & DataTypes.DIS<'label', string> = {
5
- id: 1,
6
- label: 'Etsoo'
7
- };
8
- expect(item.id).toBe(1);
9
- });
10
-
11
- test('Tests for IdLabelType', () => {
12
- const item: DataTypes.IdLabelItem = {
13
- id: 1,
14
- label: 'Etsoo'
15
- };
16
- const itemCopy: DataTypes.IdLabelType<'id', 'label'> = { ...item };
17
- expect(item).toEqual(itemCopy);
1
+ import { DataTypes, IdDefaultType, LabelDefaultType } from "../src/DataTypes";
2
+
3
+ test("Tests for DI", () => {
4
+ const item: DataTypes.DIS<"id", number> & DataTypes.DIS<"label", string> = {
5
+ id: 1,
6
+ label: "Etsoo"
7
+ };
8
+ expect(item.id).toBe(1);
9
+ });
10
+
11
+ test("Tests for IdLabelType", () => {
12
+ const item: DataTypes.IdLabelItem = {
13
+ id: 1,
14
+ label: "Etsoo"
15
+ };
16
+ const itemCopy: DataTypes.IdLabelType<"id", "label"> = { ...item };
17
+ expect(item).toEqual(itemCopy);
18
18
  });
19
19
 
20
- test('Tests for Bigint Type', () => {
21
- type BigintType = {
22
- id: bigint;
23
- label: string;
24
- };
25
-
26
- const item: BigintType = {
27
- id: 9007199254740999n,
28
- label: 'Etsoo'
29
- };
20
+ test("Tests for Bigint Type", () => {
21
+ type BigintType = {
22
+ id: bigint;
23
+ label: string;
24
+ };
25
+
26
+ const item: BigintType = {
27
+ id: 9007199254740999n,
28
+ label: "Etsoo"
29
+ };
30
30
 
31
- const json = JSON.stringify(item);
32
- expect(json).toBe('{"id":"9007199254740999n","label":"Etsoo"}');
33
-
34
- const itemBack = JSON.parse(
35
- json,
36
- DataTypes.jsonBigintReceiver('id')
37
- ) as BigintType;
38
- expect(itemBack.id).toBe(9007199254740999n);
31
+ const json = JSON.stringify(item);
32
+ expect(json).toBe('{"id":"9007199254740999n","label":"Etsoo"}');
33
+
34
+ const itemBack = JSON.parse(
35
+ json,
36
+ DataTypes.jsonBigintReceiver("id")
37
+ ) as BigintType;
38
+ expect(itemBack.id).toBe(9007199254740999n);
39
39
  });
40
-
41
- test('Tests for convert', () => {
42
- expect(DataTypes.convert('5', 0)).toStrictEqual(5);
43
- expect(
44
- DataTypes.convert('2021/10/13', new Date())?.getDate()
45
- ).toStrictEqual(13);
46
- expect(DataTypes.convert('a', [])?.length).toStrictEqual(1);
47
- expect(DataTypes.convert('1', [0])).toStrictEqual([1]);
48
- expect(DataTypes.convert('', 0)).toBeUndefined();
49
- expect(DataTypes.convert('false', true)).toBeFalsy();
50
- expect(DataTypes.convert('1', true)).toBeTruthy();
51
- expect(DataTypes.convert(true, true)).toBeTruthy();
40
+
41
+ test("Tests for convert", () => {
42
+ expect(DataTypes.convert("5", 0)).toStrictEqual(5);
43
+ expect(DataTypes.convert("2021/10/13", new Date())?.getDate()).toStrictEqual(
44
+ 13
45
+ );
46
+ expect(DataTypes.convert("a", [])?.length).toStrictEqual(1);
47
+ expect(DataTypes.convert("1", [0])).toStrictEqual([1]);
48
+ expect(DataTypes.convert("", 0)).toBeUndefined();
49
+ expect(DataTypes.convert("false", true)).toBeFalsy();
50
+ expect(DataTypes.convert("1", true)).toBeTruthy();
51
+ expect(DataTypes.convert(true, true)).toBeTruthy();
52
52
  });
53
53
 
54
- test('Tests for convertByType', () => {
55
- expect(DataTypes.convertByType('', 'number')).toBeUndefined();
56
- expect(DataTypes.convertByType('', 'string')).toBeUndefined();
57
- expect(DataTypes.convertByType('', 'boolean')).toBeUndefined();
58
- expect(DataTypes.convertByType(['5', 8], 'number[]')).toStrictEqual([5, 8]);
59
- expect(DataTypes.convertByType(['5', 8], 'string[]')).toStrictEqual([
60
- '5',
61
- '8'
62
- ]);
63
- expect(
64
- DataTypes.convertByType('2021/10/13', 'date')?.getDate()
65
- ).toStrictEqual(13);
54
+ test("Tests for convertByType", () => {
55
+ expect(DataTypes.convertByType("", "number")).toBeUndefined();
56
+ expect(DataTypes.convertByType("", "string")).toBeUndefined();
57
+ expect(DataTypes.convertByType("", "boolean")).toBeUndefined();
58
+ expect(DataTypes.convertByType(["5", 8], "number[]")).toStrictEqual([5, 8]);
59
+ expect(DataTypes.convertByType(["5", 8], "string[]")).toStrictEqual([
60
+ "5",
61
+ "8"
62
+ ]);
63
+ expect(
64
+ DataTypes.convertByType("2021/10/13", "date")?.getDate()
65
+ ).toStrictEqual(13);
66
66
  });
67
67
 
68
- test('Tests for convertSimple', () => {
69
- expect(
70
- DataTypes.convertSimple(5.8, DataTypes.CombinedEnum.Int)
71
- ).toStrictEqual(6);
72
- expect(
73
- DataTypes.convertSimple(5.88293, DataTypes.CombinedEnum.Money)
74
- ).toStrictEqual(5.8829);
75
- });
76
-
77
- test('Tests for getBasicName', () => {
78
- expect(
79
- DataTypes.getBasicName(DataTypes.CombinedEnum.DateTime)
80
- ).toStrictEqual('date');
68
+ test("Tests for convertSimple", () => {
69
+ expect(
70
+ DataTypes.convertSimple(5.8, DataTypes.CombinedEnum.Int)
71
+ ).toStrictEqual(6);
72
+ expect(
73
+ DataTypes.convertSimple(5.88293, DataTypes.CombinedEnum.Money)
74
+ ).toStrictEqual(5.8829);
75
+ });
76
+
77
+ test("Tests for getBasicName", () => {
78
+ expect(DataTypes.getBasicName(DataTypes.CombinedEnum.DateTime)).toStrictEqual(
79
+ "date"
80
+ );
81
81
  });
82
82
 
83
- test('Tests for getEnumByKey', () => {
84
- expect(
85
- DataTypes.getEnumByKey(DataTypes.HAlignEnum, 'Center')
86
- ).toStrictEqual(DataTypes.HAlignEnum.Center);
87
-
88
- expect(
89
- DataTypes.getEnumByKey(DataTypes.HAlignEnum, 'Unknown')
90
- ).toBeUndefined();
91
- });
92
-
93
- test('Tests for getEnumByValue', () => {
94
- expect(DataTypes.getEnumByValue(DataTypes.HAlignEnum, 2)).toStrictEqual(
95
- DataTypes.HAlignEnum.Center
96
- );
97
-
98
- expect(DataTypes.getEnumByValue(DataTypes.HAlignEnum, 4)).toBeUndefined();
99
- });
100
-
101
- test('Tests for getEnumKey', () => {
102
- expect(
103
- DataTypes.getEnumKey(DataTypes.HAlignEnum, DataTypes.HAlignEnum.Center)
104
- ).toBe('Center');
105
- });
106
-
107
- test('Tests for getEnumKeys', () => {
108
- enum ProductUnit {
109
- KILOGRAM = 32,
110
- GRAM = 'GRAM33'
111
- }
112
- expect(DataTypes.getEnumKeys(ProductUnit)).toContainEqual('GRAM');
113
-
114
- const keys = DataTypes.getEnumKeys(DataTypes.CombinedEnum);
115
- expect(keys).toContainEqual('Unkwown');
116
- });
117
-
118
- test('Tests for IdLabelItem', () => {
119
- // Arrange
120
- const items: DataTypes.IdLabelItem[] = [
121
- { id: 1, label: 'Item 1' },
122
- { id: 2, label: 'Item 2' }
123
- ];
124
-
125
- // Assert
126
- expect(items[0].id).toBe(1);
127
- expect(items[1].label).toBe('Item 2');
128
- });
129
-
130
- test('Tests for getValue', () => {
131
- const data = { id: 1, flag: true };
132
- expect(DataTypes.getValue(data, 'id')).toBe(1);
133
- expect(DataTypes.getValue(data, 'flag')).toBeTruthy();
134
- expect(DataTypes.getValue(data, 'unknown')).toBeUndefined();
135
- });
136
-
137
- test('Tests for getIdValue', () => {
138
- const data = { id: 1, flag: true, field: 'string' };
139
- expect(DataTypes.getIdValue(data, 'id')).toBe(1);
140
- expect(DataTypes.getIdValue(data, 'field')).toBe('string');
141
- });
142
-
143
- test('Tests for getStringValue', () => {
144
- const data = { id: 1, flag: true };
145
- expect(DataTypes.getStringValue(data, 'id')).toBe('1');
146
- expect(DataTypes.getStringValue(data, 'flag')).toBe('true');
147
- });
148
-
149
- test('Tests for isSimpleType', () => {
150
- expect(DataTypes.isSimpleType(1)).toBeTruthy();
151
- expect(DataTypes.isSimpleType(new Date())).toBeTruthy();
152
- expect(DataTypes.isSimpleType(Symbol())).toBeFalsy();
153
- expect(DataTypes.isSimpleType(['a', 'b', 'c'])).toBeTruthy();
154
- expect(DataTypes.isSimpleType({})).toBeFalsy();
155
- });
156
-
157
- test('Tests for IdDefaultType', () => {
158
- const test = <T extends object, F extends keyof T = IdDefaultType<T>>(
159
- obj: T,
160
- field?: F
161
- ) => {
162
- const f = field ?? ('id' as F);
163
- return obj[f];
164
- };
83
+ test("Tests for getEnumByKey", () => {
84
+ expect(DataTypes.getEnumByKey(DataTypes.HAlignEnum, "Center")).toStrictEqual(
85
+ DataTypes.HAlignEnum.Center
86
+ );
87
+
88
+ expect(
89
+ DataTypes.getEnumByKey(DataTypes.HAlignEnum, "Unknown")
90
+ ).toBeUndefined();
91
+ });
92
+
93
+ test("Tests for getEnumByValue", () => {
94
+ expect(DataTypes.getEnumByValue(DataTypes.HAlignEnum, 2)).toStrictEqual(
95
+ DataTypes.HAlignEnum.Center
96
+ );
97
+
98
+ expect(DataTypes.getEnumByValue(DataTypes.HAlignEnum, 4)).toBeUndefined();
99
+ });
100
+
101
+ test("Tests for getEnumKey", () => {
102
+ expect(
103
+ DataTypes.getEnumKey(DataTypes.HAlignEnum, DataTypes.HAlignEnum.Center)
104
+ ).toBe("Center");
105
+ });
106
+
107
+ test("Tests for getEnumKeys", () => {
108
+ enum ProductUnit {
109
+ KILOGRAM = 32,
110
+ GRAM = "GRAM33"
111
+ }
112
+ expect(DataTypes.getEnumKeys(ProductUnit)).toContainEqual("GRAM");
113
+
114
+ const keys = DataTypes.getEnumKeys(DataTypes.CombinedEnum);
115
+ expect(keys).toContainEqual("Unkwown");
116
+ });
117
+
118
+ test("Tests for IdLabelItem", () => {
119
+ // Arrange
120
+ const items: DataTypes.IdLabelItem[] = [
121
+ { id: 1, label: "Item 1" },
122
+ { id: 2, label: "Item 2" }
123
+ ];
124
+
125
+ // Assert
126
+ expect(items[0].id).toBe(1);
127
+ expect(items[1].label).toBe("Item 2");
128
+ });
129
+
130
+ test("Tests for getValue", () => {
131
+ const data = { id: 1, flag: true };
132
+ expect(DataTypes.getValue(data, "id")).toBe(1);
133
+ expect(DataTypes.getValue(data, "flag")).toBeTruthy();
134
+ expect(DataTypes.getValue(data, "unknown")).toBeUndefined();
135
+ });
136
+
137
+ test("Tests for getIdValue", () => {
138
+ const data = { id: 1, flag: true, field: "string" };
139
+ expect(DataTypes.getIdValue(data, "id")).toBe(1);
140
+ expect(DataTypes.getIdValue(data, "field")).toBe("string");
141
+ });
142
+
143
+ test("Tests for getStringValue", () => {
144
+ const data = { id: 1, flag: true };
145
+ expect(DataTypes.getStringValue(data, "id")).toBe("1");
146
+ expect(DataTypes.getStringValue(data, "flag")).toBe("true");
147
+ });
148
+
149
+ test("Tests for isSimpleType", () => {
150
+ expect(DataTypes.isSimpleType(1)).toBeTruthy();
151
+ expect(DataTypes.isSimpleType(new Date())).toBeTruthy();
152
+ expect(DataTypes.isSimpleType(Symbol())).toBeFalsy();
153
+ expect(DataTypes.isSimpleType(["a", "b", "c"])).toBeTruthy();
154
+ expect(DataTypes.isSimpleType({})).toBeFalsy();
155
+ });
156
+
157
+ test("Tests for IdDefaultType", () => {
158
+ const test = <T extends object, F extends keyof T = IdDefaultType<T>>(
159
+ obj: T,
160
+ field?: F
161
+ ) => {
162
+ const f = field ?? ("id" as F);
163
+ return obj[f];
164
+ };
165
165
 
166
- type D = { label: string; name: string; id: number };
167
- const data: D = {
168
- label: 'label',
169
- name: 'name',
170
- id: 1
171
- };
172
- const v = test<D>(data);
173
- expect(typeof v).toBe('number');
166
+ type D = { label: string; name: string; id: number };
167
+ const data: D = {
168
+ label: "label",
169
+ name: "name",
170
+ id: 1
171
+ };
172
+ const v = test<D>(data);
173
+ expect(typeof v).toBe("number");
174
174
 
175
- const v1 = test<D, LabelDefaultType<D>>(data, 'label');
176
- expect(v1).toBe('label');
177
- });
178
-
179
- test('Tests for jsonReplacer', () => {
180
- const obj = { a: 1, b: 'hello', c: { c1: 'C1', c2: false, c3: 128 } };
175
+ const v1 = test<D, LabelDefaultType<D>>(data, "label");
176
+ expect(v1).toBe("label");
177
+ });
178
+
179
+ test("Tests for jsonReplacer", () => {
180
+ const obj = { a: 1, b: "hello", c: { c1: "C1", c2: false, c3: 128 } };
181
181
 
182
- const json1 = JSON.stringify(
183
- obj,
184
- DataTypes.jsonReplacer(function (key, value, path) {
185
- if (['', 'a'].includes(key)) {
186
- return value;
187
- }
188
- return undefined;
189
- })
190
- );
191
- expect(json1).toBe('{"a":1}');
192
-
193
- const json2 = JSON.stringify(
194
- obj,
195
- DataTypes.jsonReplacer(function (key, value, path) {
196
- if (['', 'c'].includes(key) || path === 'c.c2') {
197
- return value;
198
- }
199
- return undefined;
200
- })
201
- );
202
- expect(json2).toBe('{"c":{"c2":false}}');
203
- });
204
-
205
- test('Tests for AddAndEditType', () => {
206
- type Entity = DataTypes.AddAndEditType<{
207
- id: number;
208
- name: string;
209
- age?: number;
210
- }>;
211
-
212
- const data1: Entity = { id: 1, name: 'hello', changedFields: ['name'] };
213
- const data2: Entity = { id: undefined, name: 'hello' };
214
- const data3: Entity = { name: 'hello' };
215
-
216
- expect(data1.name).toBe(data2.name);
217
- expect(data2.name).toBe(data3.name);
182
+ const json1 = JSON.stringify(
183
+ obj,
184
+ DataTypes.jsonReplacer(function (key, value, path) {
185
+ if (["", "a"].includes(key)) {
186
+ return value;
187
+ }
188
+ return undefined;
189
+ })
190
+ );
191
+ expect(json1).toBe('{"a":1}');
192
+
193
+ const json2 = JSON.stringify(
194
+ obj,
195
+ DataTypes.jsonReplacer(function (key, value, path) {
196
+ if (["", "c"].includes(key) || path === "c.c2") {
197
+ return value;
198
+ }
199
+ return undefined;
200
+ })
201
+ );
202
+ expect(json2).toBe('{"c":{"c2":false}}');
203
+ });
204
+
205
+ test("Tests for AddAndEditType", () => {
206
+ type Entity = DataTypes.AddAndEditType<{
207
+ id: number;
208
+ name: string;
209
+ age?: number;
210
+ }>;
211
+
212
+ const data1: Entity = { id: 1, name: "hello", changedFields: ["name"] };
213
+ const data2: Entity = { id: undefined, name: "hello" };
214
+ const data3: Entity = { name: "hello" };
215
+
216
+ expect(data1.name).toBe(data2.name);
217
+ expect(data2.name).toBe(data3.name);
218
+ });
219
+
220
+ test("Tests for BasicTemplate", () => {
221
+ const template: DataTypes.BasicTemplate = {
222
+ id: "number",
223
+ name: "string",
224
+ birthday: "date"
225
+ };
226
+
227
+ const data: { currentPage?: number } & DataTypes.BasicTemplateType<
228
+ typeof template
229
+ > = {
230
+ id: 1,
231
+ name: "Etsoo",
232
+ birthday: new Date()
233
+ };
234
+
235
+ expect(data.id).toBe(1);
218
236
  });
@@ -1,40 +1,40 @@
1
- import { DateUtils } from '../src/DateUtils';
1
+ import { DateUtils } from "../src/DateUtils";
2
2
 
3
- test('Tests for local date time', () => {
4
- // Arrange
5
- const date = new Date('2021-06-12T02:23:06');
3
+ test("Tests for local date time", () => {
4
+ // Arrange
5
+ const date = new Date("2021-06-12T02:23:06");
6
6
 
7
- // Act & assert
8
- expect(DateUtils.format(date, 'zh-CN', 'd')).toBe('2021/06/12');
9
- expect(DateUtils.format(date, 'en-US', 'dm')).toBe('06/12/2021 02:23');
10
- expect(DateUtils.format(date, 'en-NZ', 'ds')).toBe('12/06/2021 02:23:06');
7
+ // Act & assert
8
+ expect(DateUtils.format(date, "zh-CN", "d")).toBe("2021/06/12");
9
+ expect(DateUtils.format(date, "en-US", "dm")).toBe("06/12/2021 02:23");
10
+ expect(DateUtils.format(date, "en-NZ", "ds")).toBe("12/06/2021 02:23:06");
11
11
  });
12
12
 
13
- test('Tests for UTC date time', () => {
14
- // Arrange
15
- const utc1 = new Date('2021-06-12T02:23:06.000Z');
13
+ test("Tests for UTC date time", () => {
14
+ // Arrange
15
+ const utc1 = new Date("2021-06-12T02:23:06.000Z");
16
16
 
17
- // Act & assert
18
- expect(DateUtils.format(utc1, 'en-NZ', 'ds', 'Pacific/Auckland')).toBe(
19
- '12/06/2021 14:23:06'
20
- );
17
+ // Act & assert
18
+ expect(DateUtils.format(utc1, "en-NZ", "ds", "Pacific/Auckland")).toBe(
19
+ "12/06/2021 14:23:06"
20
+ );
21
21
 
22
- const utc2 = new Date('2021-06-12T02:23:06.000Z');
22
+ const utc2 = new Date("2021-06-12T02:23:06.000Z");
23
23
 
24
- expect(DateUtils.format(utc2, 'en-US', 'ds', 'America/New_York')).toBe(
25
- '06/11/2021 22:23:06'
26
- );
24
+ expect(DateUtils.format(utc2, "en-US", "ds", "America/New_York")).toBe(
25
+ "06/11/2021 22:23:06"
26
+ );
27
27
  });
28
28
 
29
- test('Tests for getDays', () => {
30
- expect(DateUtils.getDays(2021, 1)).toBe(28);
31
- expect(DateUtils.getDays(2009, 1)).toBe(28);
32
- expect(DateUtils.getDays(2008, 1)).toBe(29);
33
- expect(DateUtils.getDays(2000, 1)).toBe(29);
29
+ test("Tests for getDays", () => {
30
+ expect(DateUtils.getDays(2021, 1)).toBe(28);
31
+ expect(DateUtils.getDays(2009, 1)).toBe(28);
32
+ expect(DateUtils.getDays(2008, 1)).toBe(29);
33
+ expect(DateUtils.getDays(2000, 1)).toBe(29);
34
34
  });
35
35
 
36
- test('Tests for date parse', () => {
37
- const json = `
36
+ test("Tests for date parse", () => {
37
+ const json = `
38
38
  {
39
39
  "id": 1234,
40
40
  "logined": false,
@@ -44,81 +44,81 @@ test('Tests for date parse', () => {
44
44
  }
45
45
  `;
46
46
 
47
- const result = JSON.parse(json, DateUtils.jsonParser(['creation']));
48
- const isDate = result.creation instanceof Date;
49
- const isIdDate = result.externalId instanceof Date;
47
+ const result = JSON.parse(json, DateUtils.jsonParser(["creation"]));
48
+ const isDate = result.creation instanceof Date;
49
+ const isIdDate = result.externalId instanceof Date;
50
50
 
51
- expect(isIdDate).toBeFalsy();
52
- expect(isDate).toBeTruthy();
51
+ expect(isIdDate).toBeFalsy();
52
+ expect(isDate).toBeTruthy();
53
53
  });
54
54
 
55
- test('Tests for formatForInput', () => {
56
- const result1 = DateUtils.formatForInput('2021/7/17');
57
- expect(result1).toBe('2021-07-17');
55
+ test("Tests for formatForInput", () => {
56
+ const result1 = DateUtils.formatForInput("2021/7/17");
57
+ expect(result1).toBe("2021-07-17");
58
58
 
59
- const d = new Date(2021, 5, 6, 20, 8, 45);
60
- const result2 = DateUtils.formatForInput(d);
61
- expect(result2).toBe('2021-06-06');
59
+ const d = new Date(2021, 5, 6, 20, 8, 45);
60
+ const result2 = DateUtils.formatForInput(d);
61
+ expect(result2).toBe("2021-06-06");
62
62
 
63
- const result3 = DateUtils.formatForInput(d, false);
64
- expect(result3).toBe('2021-06-06T20:08');
63
+ const result3 = DateUtils.formatForInput(d, false);
64
+ expect(result3).toBe("2021-06-06T20:08");
65
65
 
66
- const result31 = DateUtils.formatForInput(d, 'date');
67
- expect(result31).toBe('2021-06-06');
66
+ const result31 = DateUtils.formatForInput(d, "date");
67
+ expect(result31).toBe("2021-06-06");
68
68
 
69
- const result4 = DateUtils.formatForInput(d, true);
70
- expect(result4).toBe('2021-06-06T20:08:45');
69
+ const result4 = DateUtils.formatForInput(d, true);
70
+ expect(result4).toBe("2021-06-06T20:08:45");
71
71
 
72
- const result41 = DateUtils.formatForInput(d, 'datetime-local');
73
- expect(result41).toBe('2021-06-06T20:08:45');
72
+ const result41 = DateUtils.formatForInput(d, "datetime-local");
73
+ expect(result41).toBe("2021-06-06T20:08:45");
74
74
 
75
- const result5 = DateUtils.formatForInput('');
76
- expect(result5).toBeUndefined();
75
+ const result5 = DateUtils.formatForInput("");
76
+ expect(result5).toBeUndefined();
77
77
 
78
- const result51 = DateUtils.formatForInput(null);
79
- expect(result51).toBeUndefined();
78
+ const result51 = DateUtils.formatForInput(null);
79
+ expect(result51).toBeUndefined();
80
80
  });
81
81
 
82
- test('Tests for isExpired', () => {
83
- expect(DateUtils.isExpired(null)).toBeFalsy();
84
- expect(DateUtils.isExpired('2020/1/1')).toBeTruthy();
85
- expect(DateUtils.isExpired('9999/1/1')).toBeFalsy();
82
+ test("Tests for isExpired", () => {
83
+ expect(DateUtils.isExpired(null)).toBeFalsy();
84
+ expect(DateUtils.isExpired("2020/1/1")).toBeTruthy();
85
+ expect(DateUtils.isExpired("9999/1/1")).toBeFalsy();
86
86
  });
87
87
 
88
- test('Tests for substract', () => {
89
- const d1 = new Date('2021/1/13 12:00:00');
90
- const d2 = new Date('2022/1/13 12:00:00');
91
- const d3 = new Date('2022/1/13 12:10:01');
92
- const d4 = new Date('2023/1/12 12:00:00');
93
- expect(d3.substract(d1).totalYears > 1).toBeTruthy();
94
- expect(d4.substract(d1).totalYears < 2).toBeTruthy();
95
- expect(d2.substract(d1).totalMinutes > 10).toBeTruthy();
88
+ test("Tests for substract", () => {
89
+ const d1 = new Date("2021/1/13 12:00:00");
90
+ const d2 = new Date("2022/1/13 12:00:00");
91
+ const d3 = new Date("2022/1/13 12:10:01");
92
+ const d4 = new Date("2023/1/12 12:00:00");
93
+ expect(d3.substract(d1).totalYears > 1).toBeTruthy();
94
+ expect(d4.substract(d1).totalYears < 2).toBeTruthy();
95
+ expect(d2.substract(d1).totalMinutes > 10).toBeTruthy();
96
96
  });
97
97
 
98
- test('Tests for parse', () => {
99
- const d1 = DateUtils.parse('2014-01-01T13:13:34.441Z')?.toJSON();
100
- expect(d1).toBe('2014-01-01T13:13:34.441Z');
98
+ test("Tests for parse", () => {
99
+ const d1 = DateUtils.parse("2014-01-01T13:13:34.441Z")?.toJSON();
100
+ expect(d1).toBe("2014-01-01T13:13:34.441Z");
101
101
 
102
- const d2 = DateUtils.parse('2024-03-01T11:41');
103
- expect(d2?.getDate()).toBe(1);
104
- expect(d2?.getHours()).toBe(11);
105
- expect(d2?.getSeconds()).toBe(0);
102
+ const d2 = DateUtils.parse("2024-03-01T11:41");
103
+ expect(d2?.getDate()).toBe(1);
104
+ expect(d2?.getHours()).toBe(11);
105
+ expect(d2?.getSeconds()).toBe(0);
106
106
  });
107
107
 
108
- test('Tests for sameDay', () => {
109
- expect(
110
- DateUtils.sameDay('2022/9/11 22:03', new Date(2022, 8, 11, 10, 3))
111
- ).toBeTruthy();
112
- expect(
113
- DateUtils.sameDay('2022/9/11 22:03', new Date(2022, 9, 11, 10, 3))
114
- ).toBeFalsy();
108
+ test("Tests for sameDay", () => {
109
+ expect(
110
+ DateUtils.sameDay("2022/9/11 22:03", new Date(2022, 8, 11, 10, 3))
111
+ ).toBeTruthy();
112
+ expect(
113
+ DateUtils.sameDay("2022/9/11 22:03", new Date(2022, 9, 11, 10, 3))
114
+ ).toBeFalsy();
115
115
  });
116
116
 
117
- test('Tests for sameMonth', () => {
118
- expect(
119
- DateUtils.sameMonth('2022-09-11 22:03', new Date(2022, 8, 10, 10, 3))
120
- ).toBeTruthy();
121
- expect(
122
- DateUtils.sameMonth('2022/9/11 22:03', '2022/8/31 23:59:59')
123
- ).toBeFalsy();
117
+ test("Tests for sameMonth", () => {
118
+ expect(
119
+ DateUtils.sameMonth("2022-09-11 22:03", new Date(2022, 8, 10, 10, 3))
120
+ ).toBeTruthy();
121
+ expect(
122
+ DateUtils.sameMonth("2022/9/11 22:03", "2022/8/31 23:59:59")
123
+ ).toBeFalsy();
124
124
  });