namirasoft-core 1.5.2 → 1.5.3

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 (57) hide show
  1. package/SKILL.md +223 -223
  2. package/dist/TimeOperation.d.ts +1 -0
  3. package/dist/TimeOperation.js +4 -0
  4. package/dist/TimeOperation.js.map +1 -1
  5. package/package.json +26 -26
  6. package/src/BaseDatabaseRow.ts +6 -6
  7. package/src/BaseLogger.ts +24 -24
  8. package/src/BaseMetaColumn.ts +17 -17
  9. package/src/BaseMetaDatabase.ts +30 -30
  10. package/src/BaseMetaTable.ts +40 -40
  11. package/src/BaseServer.ts +150 -150
  12. package/src/BaseUUID.ts +76 -76
  13. package/src/ByteOperation.ts +57 -57
  14. package/src/CacheService.ts +76 -76
  15. package/src/ColorOperation.ts +153 -153
  16. package/src/ConsoleOperation.ts +68 -68
  17. package/src/ConvertService.ts +123 -123
  18. package/src/CookieService.ts +33 -33
  19. package/src/Countries.ts +486 -486
  20. package/src/Country.ts +21 -21
  21. package/src/CountryOperation.ts +98 -98
  22. package/src/CronOperation.ts +121 -121
  23. package/src/EncodingOperation.ts +46 -46
  24. package/src/EnvService.ts +28 -28
  25. package/src/ErrorOperation.ts +13 -13
  26. package/src/FileOperation.ts +60 -60
  27. package/src/FilterItem.ts +117 -117
  28. package/src/FilterItemColumnType.ts +9 -9
  29. package/src/FilterItemOperator.ts +52 -52
  30. package/src/GeoOperation.ts +18 -18
  31. package/src/HTTPError.ts +8 -8
  32. package/src/HTTPMethod.ts +7 -7
  33. package/src/HashOperation.ts +24 -24
  34. package/src/ILogger.ts +17 -17
  35. package/src/IStorage.ts +5 -5
  36. package/src/IStorageCookie.ts +52 -52
  37. package/src/IStorageJsonFile.ts +45 -45
  38. package/src/IStorageLocal.ts +16 -16
  39. package/src/IStorageMemoryDedicated.ts +17 -17
  40. package/src/IStorageMemoryShared.ts +21 -21
  41. package/src/IStorageSession.ts +16 -16
  42. package/src/LogLevel.ts +11 -11
  43. package/src/NamingConvention.ts +199 -199
  44. package/src/ObjectService.ts +27 -27
  45. package/src/PackageService.ts +76 -76
  46. package/src/PasswordOperation.ts +12 -12
  47. package/src/PhoneOperation.ts +8 -8
  48. package/src/PriceOperation.ts +20 -20
  49. package/src/SearchOperation.ts +31 -31
  50. package/src/SetTimeouService.ts +32 -32
  51. package/src/SortItem.ts +88 -88
  52. package/src/StringOperation.ts +22 -22
  53. package/src/TimeOperation.ts +303 -299
  54. package/src/TimeUnitOperation.ts +82 -82
  55. package/src/URLOperation.ts +66 -66
  56. package/src/VersionOperation.ts +46 -46
  57. package/src/index.ts +52 -52
@@ -1,124 +1,124 @@
1
- import { ErrorOperation } from "./ErrorOperation";
2
- import { StringOperation } from "./StringOperation";
3
-
4
- export abstract class ConvertService
5
- {
6
- repair: boolean = false;
7
- private mandatory: boolean;
8
- constructor(mandatory: boolean = false)
9
- {
10
- this.mandatory = mandatory;
11
- }
12
- abstract getNullString(): string | null;
13
- private checkMandatory<D>(value: D): D
14
- {
15
- if (!process.env.NAMIRASOFT_MUTE)
16
- if (this.mandatory)
17
- if (value == null || value == undefined)
18
- this.onMandatoryError();
19
- return value;
20
- }
21
- protected onMandatoryError(): void
22
- {
23
- if (!process.env.NAMIRASOFT_MUTE)
24
- ErrorOperation.throwHTTP(500, "Object value can not be converted.");
25
- }
26
- getString(_default: string = ""): string
27
- {
28
- let ans = this.checkMandatory(this.getNullString()) ?? _default;
29
- if (this.repair)
30
- ans = StringOperation.repair(ans);
31
- return ans;
32
- }
33
- getNullInt(): number | null
34
- {
35
- let str = this.getString();
36
- if (str == null)
37
- return null;
38
- let ans = parseInt(str);
39
- if (isNaN(ans))
40
- return null;
41
- return ans;
42
- }
43
- getInt(_default: number = 0): number
44
- {
45
- return this.checkMandatory(this.getNullInt()) ?? _default;
46
- }
47
- getNullFloat(): number | null
48
- {
49
- let str = this.getString();
50
- if (str == null)
51
- return null;
52
- let ans = parseFloat(str);
53
- if (isNaN(ans))
54
- return null;
55
- return ans;
56
- }
57
- getFloat(_default: number = 0): number
58
- {
59
- return this.checkMandatory(this.getNullFloat()) ?? _default;
60
- }
61
- getNullDate(): Date | null
62
- {
63
- let str = this.getString();
64
- if (str == null)
65
- return null;
66
- let ans = new Date(str);
67
- if (isNaN(ans.getDate()))
68
- return null;
69
- return ans;
70
- }
71
- getDate(_default: Date): Date
72
- {
73
- return this.checkMandatory(this.getNullDate()) ?? _default;
74
- }
75
- getNullBoolean(): boolean | null
76
- {
77
- let str = this.getString();
78
- if (str == null)
79
- return null;
80
- let ans = str.toLowerCase();
81
- if (ans == "true")
82
- return true;
83
- if (ans == "false")
84
- return false;
85
- return null;
86
- }
87
- getBoolean(_default: boolean = false): boolean
88
- {
89
- return this.checkMandatory(this.getNullBoolean()) ?? _default;
90
- }
91
- getNullEnum<T>(enumObj: { [s: string]: T }): T | null
92
- {
93
- let str = this.getString();
94
- return Object.values(enumObj).find((enumValue) => enumValue === str) as T | null;
95
- }
96
- getEnum<T>(enumObj: { [s: string]: T }, _default: T): T
97
- {
98
- return this.checkMandatory(this.getNullEnum<T>(enumObj)) ?? _default;
99
- }
100
- getStringArray(delimiter: string = ","): string[]
101
- {
102
- let ans: string[] = this.getString("").split(delimiter);
103
- ans = ans.map(v => `${v}`);
104
- ans = ans.filter(x => x);
105
- return ans;
106
- }
107
- getEnumArray<T>(enumObj: { [s: string]: T }, delimiter: string = ","): T[]
108
- {
109
- let ans: string[] = this.getStringArray(delimiter);
110
- return ans.map(str => Object.values(enumObj).find((enumValue) => enumValue === str) as T).filter(e => e);
111
- }
112
- getIntArray(delimiter: string = ","): number[]
113
- {
114
- return this.getStringArray(delimiter).map(x => parseInt(x)).filter(x => !isNaN(x));
115
- }
116
- getFloatArray(delimiter: string = ","): number[]
117
- {
118
- return this.getStringArray(delimiter).map(x => parseFloat(x)).filter(x => !isNaN(x));
119
- }
120
- getDateArray(delimiter: string = ","): Date[]
121
- {
122
- return this.getStringArray(delimiter).map(x => new Date(x)).filter(x => !isNaN(x.getDate()));
123
- }
1
+ import { ErrorOperation } from "./ErrorOperation";
2
+ import { StringOperation } from "./StringOperation";
3
+
4
+ export abstract class ConvertService
5
+ {
6
+ repair: boolean = false;
7
+ private mandatory: boolean;
8
+ constructor(mandatory: boolean = false)
9
+ {
10
+ this.mandatory = mandatory;
11
+ }
12
+ abstract getNullString(): string | null;
13
+ private checkMandatory<D>(value: D): D
14
+ {
15
+ if (!process.env.NAMIRASOFT_MUTE)
16
+ if (this.mandatory)
17
+ if (value == null || value == undefined)
18
+ this.onMandatoryError();
19
+ return value;
20
+ }
21
+ protected onMandatoryError(): void
22
+ {
23
+ if (!process.env.NAMIRASOFT_MUTE)
24
+ ErrorOperation.throwHTTP(500, "Object value can not be converted.");
25
+ }
26
+ getString(_default: string = ""): string
27
+ {
28
+ let ans = this.checkMandatory(this.getNullString()) ?? _default;
29
+ if (this.repair)
30
+ ans = StringOperation.repair(ans);
31
+ return ans;
32
+ }
33
+ getNullInt(): number | null
34
+ {
35
+ let str = this.getString();
36
+ if (str == null)
37
+ return null;
38
+ let ans = parseInt(str);
39
+ if (isNaN(ans))
40
+ return null;
41
+ return ans;
42
+ }
43
+ getInt(_default: number = 0): number
44
+ {
45
+ return this.checkMandatory(this.getNullInt()) ?? _default;
46
+ }
47
+ getNullFloat(): number | null
48
+ {
49
+ let str = this.getString();
50
+ if (str == null)
51
+ return null;
52
+ let ans = parseFloat(str);
53
+ if (isNaN(ans))
54
+ return null;
55
+ return ans;
56
+ }
57
+ getFloat(_default: number = 0): number
58
+ {
59
+ return this.checkMandatory(this.getNullFloat()) ?? _default;
60
+ }
61
+ getNullDate(): Date | null
62
+ {
63
+ let str = this.getString();
64
+ if (str == null)
65
+ return null;
66
+ let ans = new Date(str);
67
+ if (isNaN(ans.getDate()))
68
+ return null;
69
+ return ans;
70
+ }
71
+ getDate(_default: Date): Date
72
+ {
73
+ return this.checkMandatory(this.getNullDate()) ?? _default;
74
+ }
75
+ getNullBoolean(): boolean | null
76
+ {
77
+ let str = this.getString();
78
+ if (str == null)
79
+ return null;
80
+ let ans = str.toLowerCase();
81
+ if (ans == "true")
82
+ return true;
83
+ if (ans == "false")
84
+ return false;
85
+ return null;
86
+ }
87
+ getBoolean(_default: boolean = false): boolean
88
+ {
89
+ return this.checkMandatory(this.getNullBoolean()) ?? _default;
90
+ }
91
+ getNullEnum<T>(enumObj: { [s: string]: T }): T | null
92
+ {
93
+ let str = this.getString();
94
+ return Object.values(enumObj).find((enumValue) => enumValue === str) as T | null;
95
+ }
96
+ getEnum<T>(enumObj: { [s: string]: T }, _default: T): T
97
+ {
98
+ return this.checkMandatory(this.getNullEnum<T>(enumObj)) ?? _default;
99
+ }
100
+ getStringArray(delimiter: string = ","): string[]
101
+ {
102
+ let ans: string[] = this.getString("").split(delimiter);
103
+ ans = ans.map(v => `${v}`);
104
+ ans = ans.filter(x => x);
105
+ return ans;
106
+ }
107
+ getEnumArray<T>(enumObj: { [s: string]: T }, delimiter: string = ","): T[]
108
+ {
109
+ let ans: string[] = this.getStringArray(delimiter);
110
+ return ans.map(str => Object.values(enumObj).find((enumValue) => enumValue === str) as T).filter(e => e);
111
+ }
112
+ getIntArray(delimiter: string = ","): number[]
113
+ {
114
+ return this.getStringArray(delimiter).map(x => parseInt(x)).filter(x => !isNaN(x));
115
+ }
116
+ getFloatArray(delimiter: string = ","): number[]
117
+ {
118
+ return this.getStringArray(delimiter).map(x => parseFloat(x)).filter(x => !isNaN(x));
119
+ }
120
+ getDateArray(delimiter: string = ","): Date[]
121
+ {
122
+ return this.getStringArray(delimiter).map(x => new Date(x)).filter(x => !isNaN(x.getDate()));
123
+ }
124
124
  }
@@ -1,34 +1,34 @@
1
- import { ConvertService } from "./ConvertService";
2
-
3
- export class CookieService extends ConvertService
4
- {
5
- private cookies: string;
6
- private cookies_object: {
7
- [key: string]: string;
8
- };
9
- private name: string;
10
- constructor(cookies: string, name: string, mandatory: boolean = false)
11
- {
12
- super(mandatory);
13
- this.cookies = cookies;
14
- this.name = name;
15
- this.cookies_object = this.cookies.split(';').reduce((acc: { [key: string]: string }, cookie) =>
16
- {
17
- const [key, value] = cookie.trim().split('=');
18
- acc[key] = decodeURIComponent(value);
19
- return acc;
20
- }, {});
21
- }
22
- override getNullString()
23
- {
24
- let ans = this.cookies_object[this.name];
25
- if (ans)
26
- return ans;
27
- return null;
28
- }
29
- protected override onMandatoryError(): void
30
- {
31
- if (!process.env.NAMIRASOFT_MUTE)
32
- throw new Error(`Cookie value was not provided: ${this.name}`);
33
- }
1
+ import { ConvertService } from "./ConvertService";
2
+
3
+ export class CookieService extends ConvertService
4
+ {
5
+ private cookies: string;
6
+ private cookies_object: {
7
+ [key: string]: string;
8
+ };
9
+ private name: string;
10
+ constructor(cookies: string, name: string, mandatory: boolean = false)
11
+ {
12
+ super(mandatory);
13
+ this.cookies = cookies;
14
+ this.name = name;
15
+ this.cookies_object = this.cookies.split(';').reduce((acc: { [key: string]: string }, cookie) =>
16
+ {
17
+ const [key, value] = cookie.trim().split('=');
18
+ acc[key] = decodeURIComponent(value);
19
+ return acc;
20
+ }, {});
21
+ }
22
+ override getNullString()
23
+ {
24
+ let ans = this.cookies_object[this.name];
25
+ if (ans)
26
+ return ans;
27
+ return null;
28
+ }
29
+ protected override onMandatoryError(): void
30
+ {
31
+ if (!process.env.NAMIRASOFT_MUTE)
32
+ throw new Error(`Cookie value was not provided: ${this.name}`);
33
+ }
34
34
  }