@l-v-yonsama/rdh 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/built/src/helpers/CodeResolver.d.ts +2 -0
  4. package/built/src/helpers/CodeResolver.js +63 -0
  5. package/built/src/helpers/CodeResolver.js.map +1 -0
  6. package/built/src/helpers/ResourceHelper.d.ts +3 -0
  7. package/built/src/helpers/ResourceHelper.js +230 -0
  8. package/built/src/helpers/ResourceHelper.js.map +1 -0
  9. package/built/src/helpers/index.d.ts +2 -0
  10. package/built/src/helpers/index.js +6 -0
  11. package/built/src/helpers/index.js.map +1 -0
  12. package/built/src/index.d.ts +4 -0
  13. package/built/src/index.js +8 -0
  14. package/built/src/index.js.map +1 -0
  15. package/built/src/resource/GeneralColumnUtil.d.ts +17 -0
  16. package/built/src/resource/GeneralColumnUtil.js +257 -0
  17. package/built/src/resource/GeneralColumnUtil.js.map +1 -0
  18. package/built/src/resource/ResultSetDataBuilder.d.ts +83 -0
  19. package/built/src/resource/ResultSetDataBuilder.js +1326 -0
  20. package/built/src/resource/ResultSetDataBuilder.js.map +1 -0
  21. package/built/src/resource/index.d.ts +2 -0
  22. package/built/src/resource/index.js +6 -0
  23. package/built/src/resource/index.js.map +1 -0
  24. package/built/src/types/index.d.ts +1 -0
  25. package/built/src/types/index.js +5 -0
  26. package/built/src/types/index.js.map +1 -0
  27. package/built/src/types/resource/Annonations.d.ts +63 -0
  28. package/built/src/types/resource/Annonations.js +16 -0
  29. package/built/src/types/resource/Annonations.js.map +1 -0
  30. package/built/src/types/resource/CodeResolverTypes.d.ts +20 -0
  31. package/built/src/types/resource/CodeResolverTypes.js +3 -0
  32. package/built/src/types/resource/CodeResolverTypes.js.map +1 -0
  33. package/built/src/types/resource/CompareKey.d.ts +4 -0
  34. package/built/src/types/resource/CompareKey.js +3 -0
  35. package/built/src/types/resource/CompareKey.js.map +1 -0
  36. package/built/src/types/resource/ContentTypeInfo.d.ts +7 -0
  37. package/built/src/types/resource/ContentTypeInfo.js +3 -0
  38. package/built/src/types/resource/ContentTypeInfo.js.map +1 -0
  39. package/built/src/types/resource/GeneralColumnType.d.ts +74 -0
  40. package/built/src/types/resource/GeneralColumnType.js +77 -0
  41. package/built/src/types/resource/GeneralColumnType.js.map +1 -0
  42. package/built/src/types/resource/QueryConditions.d.ts +3 -0
  43. package/built/src/types/resource/QueryConditions.js +3 -0
  44. package/built/src/types/resource/QueryConditions.js.map +1 -0
  45. package/built/src/types/resource/ResultSetDataType.d.ts +120 -0
  46. package/built/src/types/resource/ResultSetDataType.js +6 -0
  47. package/built/src/types/resource/ResultSetDataType.js.map +1 -0
  48. package/built/src/types/resource/Rules.d.ts +32 -0
  49. package/built/src/types/resource/Rules.js +3 -0
  50. package/built/src/types/resource/Rules.js.map +1 -0
  51. package/built/src/types/resource/index.d.ts +8 -0
  52. package/built/src/types/resource/index.js +12 -0
  53. package/built/src/types/resource/index.js.map +1 -0
  54. package/built/src/utils/base.d.ts +8 -0
  55. package/built/src/utils/base.js +99 -0
  56. package/built/src/utils/base.js.map +1 -0
  57. package/built/src/utils/index.d.ts +3 -0
  58. package/built/src/utils/index.js +15 -0
  59. package/built/src/utils/index.js.map +1 -0
  60. package/built/src/utils/strings.d.ts +7 -0
  61. package/built/src/utils/strings.js +65 -0
  62. package/built/src/utils/strings.js.map +1 -0
  63. package/package.json +72 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 l-v-yonsama
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1 @@
1
+ Database resultset holder.
@@ -0,0 +1,2 @@
1
+ import type { ResultSetData } from "../types";
2
+ export declare const resolveCodeLabel: (rdh: ResultSetData) => Promise<boolean>;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveCodeLabel = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const resource_1 = require("../resource");
6
+ const utils_1 = require("../utils");
7
+ const resolveCodeLabel = (rdh) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
8
+ const { tableName, codeItems } = rdh.meta;
9
+ if (!codeItems) {
10
+ return false;
11
+ }
12
+ const matchResource = (regex, pattern, target) => {
13
+ if (regex) {
14
+ return new RegExp(pattern, "i").test(target);
15
+ }
16
+ return (0, utils_1.equalsIgnoreCase)(target, pattern);
17
+ };
18
+ const columnNames = rdh.keys.map((it) => it.name);
19
+ const filteredCodeItems = codeItems.filter((it) => {
20
+ if (it.resource.table) {
21
+ const { regex, pattern } = it.resource.table;
22
+ if (!matchResource(regex, pattern, tableName)) {
23
+ return false;
24
+ }
25
+ }
26
+ const { regex, pattern } = it.resource.column;
27
+ return columnNames.some((columnName) => matchResource(regex, pattern, columnName));
28
+ });
29
+ if (filteredCodeItems.length === 0) {
30
+ return false;
31
+ }
32
+ for (const row of rdh.rows) {
33
+ columnNames.forEach((columnName) => {
34
+ var _a;
35
+ const columnValue = row.values[columnName];
36
+ const items = (_a = filteredCodeItems.filter((it) => matchResource(it.resource.column.regex, it.resource.column.pattern, columnName))) !== null && _a !== void 0 ? _a : [];
37
+ items.forEach((item) => {
38
+ const codeLabel = item.details.find((detail) => detail.code == columnValue);
39
+ if (codeLabel) {
40
+ resource_1.RowHelper.pushAnnotation(row, columnName, {
41
+ type: "Cod",
42
+ values: {
43
+ label: codeLabel.label,
44
+ isUndefined: false,
45
+ },
46
+ });
47
+ }
48
+ else if (columnValue) {
49
+ resource_1.RowHelper.pushAnnotation(row, columnName, {
50
+ type: "Cod",
51
+ values: {
52
+ label: "Undefined",
53
+ isUndefined: true,
54
+ },
55
+ });
56
+ }
57
+ });
58
+ });
59
+ }
60
+ return true;
61
+ });
62
+ exports.resolveCodeLabel = resolveCodeLabel;
63
+ //# sourceMappingURL=CodeResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeResolver.js","sourceRoot":"","sources":["../../../src/helpers/CodeResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { DiffResult, DiffToUndoChangesResult, ResultSetData } from "../types";
2
+ export declare const diff: (rdh1: ResultSetData, rdh2: ResultSetData) => DiffResult;
3
+ export declare const diffToUndoChanges: (rdh1: ResultSetData, rdh2: ResultSetData) => DiffToUndoChangesResult;
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.diffToUndoChanges = exports.diff = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const lodash_isequal_1 = tslib_1.__importDefault(require("lodash.isequal"));
6
+ const resource_1 = require("../resource");
7
+ const utils_1 = tslib_1.__importDefault(require("../utils"));
8
+ const diff = (rdh1, rdh2) => {
9
+ var _a, _b, _c;
10
+ const result = {
11
+ ok: false,
12
+ deleted: 0,
13
+ inserted: 0,
14
+ updated: 0,
15
+ message: "",
16
+ };
17
+ if (!((_a = rdh1.meta) === null || _a === void 0 ? void 0 : _a.compareKeys) || ((_b = rdh1.meta) === null || _b === void 0 ? void 0 : _b.compareKeys.length) === 0) {
18
+ result.message = "Missing compare key (Primary or uniq key).";
19
+ return result;
20
+ }
21
+ const rdb1 = resource_1.ResultSetDataBuilder.from(rdh1);
22
+ const rdb2 = resource_1.ResultSetDataBuilder.from(rdh2);
23
+ const keynames = rdb1.keynames();
24
+ const compareKey = getAvailableCompareKey(keynames, (_c = rdh1.meta) === null || _c === void 0 ? void 0 : _c.compareKeys);
25
+ if (!compareKey) {
26
+ result.message = "Missing available compare key (Primary or uniq key).";
27
+ return result;
28
+ }
29
+ const notSupportedCompareKeys = rdb1.rs.keys
30
+ .filter((it) => compareKey.names.includes(it.name))
31
+ .filter((it) => (0, resource_1.isNotSupportDiffType)(it.type));
32
+ if (notSupportedCompareKeys.length) {
33
+ const keys = notSupportedCompareKeys
34
+ .map((it) => `${it.name}: ${(0, resource_1.displayGeneralColumnType)(it.type)}`)
35
+ .join(",");
36
+ result.message = `Not supported compare keys (${keys}).`;
37
+ return result;
38
+ }
39
+ const supportedKeyNames = rdb1.rs.keys
40
+ .filter((it) => !(0, resource_1.isNotSupportDiffType)(it.type))
41
+ .map((it) => it.name);
42
+ const hasAlreadyChecked = new Set();
43
+ resource_1.RdhHelper.clearAllAnotations(rdb1.rs);
44
+ resource_1.RdhHelper.clearAllAnotations(rdb2.rs);
45
+ rdh1.rows.forEach((row1) => {
46
+ const key1 = createCompareKeysValue(compareKey, row1);
47
+ hasAlreadyChecked.add(key1);
48
+ let removed = true;
49
+ for (const row2 of rdh2.rows) {
50
+ const key2 = createCompareKeysValue(compareKey, row2);
51
+ if (key1 === key2) {
52
+ removed = false;
53
+ let updated = false;
54
+ supportedKeyNames.forEach((name) => {
55
+ const v1 = row1.values[name];
56
+ const v2 = row2.values[name];
57
+ if (!equals(v1, v2)) {
58
+ updated = true;
59
+ resource_1.RowHelper.pushAnnotation(row1, name, {
60
+ type: "Upd",
61
+ values: {
62
+ otherValue: row2.values[name],
63
+ },
64
+ });
65
+ resource_1.RowHelper.pushAnnotation(row2, name, {
66
+ type: "Upd",
67
+ values: {
68
+ otherValue: row1.values[name],
69
+ },
70
+ });
71
+ }
72
+ });
73
+ if (updated) {
74
+ result.updated++;
75
+ }
76
+ break;
77
+ }
78
+ }
79
+ if (removed) {
80
+ if (supportedKeyNames.length) {
81
+ supportedKeyNames.forEach((name) => {
82
+ resource_1.RowHelper.pushAnnotation(row1, name, { type: "Del" });
83
+ });
84
+ result.deleted++;
85
+ }
86
+ }
87
+ });
88
+ rdh2.rows.forEach((row2) => {
89
+ const key2 = createCompareKeysValue(compareKey, row2);
90
+ if (!hasAlreadyChecked.has(key2)) {
91
+ keynames.forEach((name) => {
92
+ resource_1.RowHelper.pushAnnotation(row2, name, { type: "Add" });
93
+ });
94
+ result.inserted++;
95
+ }
96
+ });
97
+ result.ok = true;
98
+ if (result.inserted === 0 && result.deleted === 0 && result.updated === 0) {
99
+ result.message = "No changes";
100
+ }
101
+ else {
102
+ result.message = `Inserted:${result.inserted}, Deleted:${result.deleted}, Updated:${result.updated}`;
103
+ }
104
+ return result;
105
+ };
106
+ exports.diff = diff;
107
+ const diffToUndoChanges = (rdh1, rdh2) => {
108
+ var _a, _b, _c;
109
+ const result = {
110
+ ok: false,
111
+ message: "",
112
+ toBeDeleted: [],
113
+ toBeInserted: [],
114
+ toBeUpdated: [],
115
+ };
116
+ if (!((_a = rdh1.meta) === null || _a === void 0 ? void 0 : _a.compareKeys) || ((_b = rdh1.meta) === null || _b === void 0 ? void 0 : _b.compareKeys.length) === 0) {
117
+ result.message = "Missing compare key (Primary or uniq key).";
118
+ return result;
119
+ }
120
+ const rdb1 = resource_1.ResultSetDataBuilder.from(rdh1);
121
+ const rdb2 = resource_1.ResultSetDataBuilder.from(rdh2);
122
+ const keynames = rdb1.keynames();
123
+ const compareKey = getAvailableCompareKey(keynames, (_c = rdh1.meta) === null || _c === void 0 ? void 0 : _c.compareKeys);
124
+ if (!compareKey) {
125
+ result.message = "Missing available compare key (Primary or uniq key).";
126
+ return result;
127
+ }
128
+ const notSupportedCompareKeys = rdb1.rs.keys
129
+ .filter((it) => compareKey.names.includes(it.name))
130
+ .filter((it) => (0, resource_1.isNotSupportDiffType)(it.type));
131
+ if (notSupportedCompareKeys.length) {
132
+ const keys = notSupportedCompareKeys
133
+ .map((it) => `${it.name}: ${(0, resource_1.displayGeneralColumnType)(it.type)}`)
134
+ .join(",");
135
+ result.message = `Not supported compare keys (${keys}).`;
136
+ return result;
137
+ }
138
+ const supportedKeyNames = rdb1.rs.keys
139
+ .filter((it) => !(0, resource_1.isNotSupportDiffType)(it.type))
140
+ .map((it) => it.name);
141
+ const notSupportedKeyNames = rdb1.rs.keys
142
+ .filter((it) => (0, resource_1.isNotSupportDiffType)(it.type))
143
+ .map((it) => it.name);
144
+ const hasAlreadyChecked = new Set();
145
+ resource_1.RdhHelper.clearAllAnotations(rdb1.rs);
146
+ resource_1.RdhHelper.clearAllAnotations(rdb2.rs);
147
+ rdh1.rows.forEach((row1) => {
148
+ const key1 = createCompareKeysValue(compareKey, row1);
149
+ hasAlreadyChecked.add(key1);
150
+ let removed = true;
151
+ for (const row2 of rdh2.rows) {
152
+ const key2 = createCompareKeysValue(compareKey, row2);
153
+ if (key1 === key2) {
154
+ removed = false;
155
+ let updated = false;
156
+ const values = {};
157
+ supportedKeyNames.forEach((name) => {
158
+ const v1 = row1.values[name];
159
+ const v2 = row2.values[name];
160
+ if (!equals(v1, v2)) {
161
+ updated = true;
162
+ values[name] = v1;
163
+ }
164
+ });
165
+ if (updated) {
166
+ result.toBeUpdated.push({
167
+ conditions: createConditionsByCompareKeys(compareKey, row2),
168
+ values,
169
+ });
170
+ }
171
+ break;
172
+ }
173
+ }
174
+ if (removed) {
175
+ const { values } = row1;
176
+ if (notSupportedKeyNames.length) {
177
+ notSupportedKeyNames.forEach((it) => {
178
+ delete values[it];
179
+ });
180
+ }
181
+ result.toBeInserted.push({
182
+ values,
183
+ });
184
+ }
185
+ });
186
+ rdh2.rows.forEach((row2) => {
187
+ const key2 = createCompareKeysValue(compareKey, row2);
188
+ if (!hasAlreadyChecked.has(key2)) {
189
+ result.toBeDeleted.push({
190
+ conditions: createConditionsByCompareKeys(compareKey, row2),
191
+ });
192
+ }
193
+ });
194
+ result.ok = true;
195
+ if (result.toBeInserted.length === 0 &&
196
+ result.toBeDeleted.length === 0 &&
197
+ result.toBeUpdated.length === 0) {
198
+ result.message = "No changes";
199
+ }
200
+ else {
201
+ result.message = `toBeInserted:${result.toBeInserted.length}, toBeDeleted:${result.toBeDeleted.length}, toBeUpdated:${result.toBeUpdated.length}`;
202
+ }
203
+ return result;
204
+ };
205
+ exports.diffToUndoChanges = diffToUndoChanges;
206
+ function createCompareKeysValue(compareKey, row1) {
207
+ return compareKey.names.map((k) => { var _a; return (_a = row1.values[k]) !== null && _a !== void 0 ? _a : ""; }).join("|:|");
208
+ }
209
+ function createConditionsByCompareKeys(compareKey, row1) {
210
+ const conditions = {};
211
+ compareKey.names.forEach((it) => {
212
+ conditions[it] = row1.values[it];
213
+ });
214
+ return conditions;
215
+ }
216
+ function getAvailableCompareKey(keynames, compareKeys) {
217
+ for (const ckey of compareKeys) {
218
+ if (ckey.names.every((it) => keynames.includes(it))) {
219
+ return ckey;
220
+ }
221
+ }
222
+ return undefined;
223
+ }
224
+ function equals(a, b) {
225
+ if ((0, utils_1.default)(a) && (0, utils_1.default)(b)) {
226
+ return a.getTime() === b.getTime();
227
+ }
228
+ return (0, lodash_isequal_1.default)(a, b);
229
+ }
230
+ //# sourceMappingURL=ResourceHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceHelper.js","sourceRoot":"","sources":["../../../src/helpers/ResourceHelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./CodeResolver";
2
+ export * from "./ResourceHelper";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./CodeResolver"), exports);
5
+ tslib_1.__exportStar(require("./ResourceHelper"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,2DAAiC"}
@@ -0,0 +1,4 @@
1
+ export * from './resource';
2
+ export * from './helpers';
3
+ export * from './types';
4
+ export * from './utils';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./resource"), exports);
5
+ tslib_1.__exportStar(require("./helpers"), exports);
6
+ tslib_1.__exportStar(require("./types"), exports);
7
+ tslib_1.__exportStar(require("./utils"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AACA,qDAA2B;AAC3B,oDAA0B;AAC1B,kDAAwB;AACxB,kDAAwB"}
@@ -0,0 +1,17 @@
1
+ import { GeneralColumnType } from "../types";
2
+ export declare function displayGeneralColumnType(columnType: GeneralColumnType): string;
3
+ export declare function parseColumnType(s: string | null | undefined): GeneralColumnType;
4
+ export declare function isNumericLike(type: GeneralColumnType): boolean;
5
+ export declare function isTextLike(type: GeneralColumnType): boolean;
6
+ export declare function isBinaryLike(type: GeneralColumnType): boolean;
7
+ export declare function isGeometryLike(type: GeneralColumnType): boolean;
8
+ export declare function isNotSupportDiffType(type: GeneralColumnType): boolean;
9
+ export declare function isDateTimeOrDate(type: GeneralColumnType): boolean;
10
+ export declare function isDateTimeOrDateOrTime(type: GeneralColumnType): boolean;
11
+ export declare function isTime(type: GeneralColumnType): boolean;
12
+ export declare function isUUIDType(type: GeneralColumnType): boolean;
13
+ export declare function isJsonLike(type: GeneralColumnType): boolean;
14
+ export declare function isBooleanLike(type: GeneralColumnType): boolean;
15
+ export declare function isEnumOrSet(type: GeneralColumnType): boolean;
16
+ export declare function isArray(type: GeneralColumnType): boolean;
17
+ export declare function parseFaIconType(type: GeneralColumnType): string;
@@ -0,0 +1,257 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseFaIconType = exports.isArray = exports.isEnumOrSet = exports.isBooleanLike = exports.isJsonLike = exports.isUUIDType = exports.isTime = exports.isDateTimeOrDateOrTime = exports.isDateTimeOrDate = exports.isNotSupportDiffType = exports.isGeometryLike = exports.isBinaryLike = exports.isTextLike = exports.isNumericLike = exports.parseColumnType = exports.displayGeneralColumnType = void 0;
4
+ const types_1 = require("../types");
5
+ function displayGeneralColumnType(columnType) {
6
+ return columnType.toUpperCase();
7
+ }
8
+ exports.displayGeneralColumnType = displayGeneralColumnType;
9
+ function parseColumnType(s) {
10
+ if (s === undefined || s === null) {
11
+ return types_1.GeneralColumnType.UNKNOWN;
12
+ }
13
+ s = s.toLowerCase();
14
+ if (["var_string", "nvarchar"].includes(s)) {
15
+ return types_1.GeneralColumnType.VARCHAR;
16
+ }
17
+ else if (["bpchar", "nchar"].includes(s)) {
18
+ return types_1.GeneralColumnType.CHAR;
19
+ }
20
+ else if (["ntext"].includes(s)) {
21
+ return types_1.GeneralColumnType.TEXT;
22
+ }
23
+ else if ("tiny" === s) {
24
+ return types_1.GeneralColumnType.TINYINT;
25
+ }
26
+ else if ("datetime" === s || "timestamp(6)" === s) {
27
+ return types_1.GeneralColumnType.TIMESTAMP;
28
+ }
29
+ else if ("varchar2" === s) {
30
+ return types_1.GeneralColumnType.VARCHAR;
31
+ }
32
+ else if ("number" === s) {
33
+ return types_1.GeneralColumnType.NUMERIC;
34
+ }
35
+ else if ("int" === s) {
36
+ return types_1.GeneralColumnType.INTEGER;
37
+ }
38
+ const list = Object.values(types_1.GeneralColumnType);
39
+ const m = list.find((it) => it == s);
40
+ if (m) {
41
+ return m;
42
+ }
43
+ console.log("L35 unknown", s);
44
+ return types_1.GeneralColumnType.UNKNOWN;
45
+ }
46
+ exports.parseColumnType = parseColumnType;
47
+ function isNumericLike(type) {
48
+ switch (type) {
49
+ case types_1.GeneralColumnType.TINYINT:
50
+ case types_1.GeneralColumnType.SMALLINT:
51
+ case types_1.GeneralColumnType.MEDIUMINT:
52
+ case types_1.GeneralColumnType.INTEGER:
53
+ case types_1.GeneralColumnType.LONG:
54
+ case types_1.GeneralColumnType.LONGLONG:
55
+ case types_1.GeneralColumnType.BIGINT:
56
+ case types_1.GeneralColumnType.SERIAL:
57
+ case types_1.GeneralColumnType.MONEY:
58
+ case types_1.GeneralColumnType.YEAR:
59
+ case types_1.GeneralColumnType.FLOAT:
60
+ case types_1.GeneralColumnType.DOUBLE_PRECISION:
61
+ case types_1.GeneralColumnType.NUMERIC:
62
+ case types_1.GeneralColumnType.DECIMAL:
63
+ return true;
64
+ }
65
+ return false;
66
+ }
67
+ exports.isNumericLike = isNumericLike;
68
+ function isTextLike(type) {
69
+ switch (type) {
70
+ case types_1.GeneralColumnType.CHAR:
71
+ case types_1.GeneralColumnType.VARCHAR:
72
+ case types_1.GeneralColumnType.TINYTEXT:
73
+ case types_1.GeneralColumnType.MEDIUMTEXT:
74
+ case types_1.GeneralColumnType.TEXT:
75
+ case types_1.GeneralColumnType.LONGTEXT:
76
+ return true;
77
+ }
78
+ return false;
79
+ }
80
+ exports.isTextLike = isTextLike;
81
+ function isBinaryLike(type) {
82
+ switch (type) {
83
+ case types_1.GeneralColumnType.BYTEA:
84
+ case types_1.GeneralColumnType.BLOB:
85
+ case types_1.GeneralColumnType.MEDIUMBLOB:
86
+ case types_1.GeneralColumnType.LONGBLOB:
87
+ case types_1.GeneralColumnType.TINYBLOB:
88
+ case types_1.GeneralColumnType.BINARY:
89
+ case types_1.GeneralColumnType.VARBINARY:
90
+ return true;
91
+ }
92
+ return false;
93
+ }
94
+ exports.isBinaryLike = isBinaryLike;
95
+ function isGeometryLike(type) {
96
+ switch (type) {
97
+ case types_1.GeneralColumnType.GEOMETRY:
98
+ case types_1.GeneralColumnType.POINT:
99
+ case types_1.GeneralColumnType.POLYGON:
100
+ return true;
101
+ }
102
+ return false;
103
+ }
104
+ exports.isGeometryLike = isGeometryLike;
105
+ function isNotSupportDiffType(type) {
106
+ if (isBinaryLike(type) || isGeometryLike(type)) {
107
+ return true;
108
+ }
109
+ if (type === types_1.GeneralColumnType.UNKNOWN) {
110
+ return true;
111
+ }
112
+ return false;
113
+ }
114
+ exports.isNotSupportDiffType = isNotSupportDiffType;
115
+ function isDateTimeOrDate(type) {
116
+ switch (type) {
117
+ case types_1.GeneralColumnType.DATE:
118
+ case types_1.GeneralColumnType.TIMESTAMP:
119
+ case types_1.GeneralColumnType.TIMESTAMP_WITH_TIME_ZONE:
120
+ return true;
121
+ }
122
+ return false;
123
+ }
124
+ exports.isDateTimeOrDate = isDateTimeOrDate;
125
+ function isDateTimeOrDateOrTime(type) {
126
+ switch (type) {
127
+ case types_1.GeneralColumnType.TIME:
128
+ case types_1.GeneralColumnType.TIME_WITH_TIME_ZONE:
129
+ case types_1.GeneralColumnType.DATE:
130
+ case types_1.GeneralColumnType.TIMESTAMP:
131
+ case types_1.GeneralColumnType.TIMESTAMP_WITH_TIME_ZONE:
132
+ return true;
133
+ }
134
+ return false;
135
+ }
136
+ exports.isDateTimeOrDateOrTime = isDateTimeOrDateOrTime;
137
+ function isTime(type) {
138
+ switch (type) {
139
+ case types_1.GeneralColumnType.TIME:
140
+ case types_1.GeneralColumnType.TIME_WITH_TIME_ZONE:
141
+ return true;
142
+ }
143
+ return false;
144
+ }
145
+ exports.isTime = isTime;
146
+ function isUUIDType(type) {
147
+ return type === types_1.GeneralColumnType.UUID;
148
+ }
149
+ exports.isUUIDType = isUUIDType;
150
+ function isJsonLike(type) {
151
+ return types_1.GeneralColumnType.JSON === type || types_1.GeneralColumnType.JSONB === type;
152
+ }
153
+ exports.isJsonLike = isJsonLike;
154
+ function isBooleanLike(type) {
155
+ return types_1.GeneralColumnType.BOOLEAN === type || types_1.GeneralColumnType.BIT === type;
156
+ }
157
+ exports.isBooleanLike = isBooleanLike;
158
+ function isEnumOrSet(type) {
159
+ return types_1.GeneralColumnType.ENUM === type || types_1.GeneralColumnType.SET === type;
160
+ }
161
+ exports.isEnumOrSet = isEnumOrSet;
162
+ function isArray(type) {
163
+ return types_1.GeneralColumnType.ARRAY === type;
164
+ }
165
+ exports.isArray = isArray;
166
+ function parseFaIconType(type) {
167
+ switch (type) {
168
+ case types_1.GeneralColumnType.CHAR:
169
+ case types_1.GeneralColumnType.VARCHAR:
170
+ case types_1.GeneralColumnType.TINYTEXT:
171
+ case types_1.GeneralColumnType.MEDIUMTEXT:
172
+ case types_1.GeneralColumnType.TEXT:
173
+ case types_1.GeneralColumnType.LONGTEXT:
174
+ case types_1.GeneralColumnType.CLOB:
175
+ return "fa-font";
176
+ case types_1.GeneralColumnType.TIME:
177
+ case types_1.GeneralColumnType.TIME_WITH_TIME_ZONE:
178
+ return "fa-clock";
179
+ case types_1.GeneralColumnType.DATE:
180
+ return "fa-calendar";
181
+ case types_1.GeneralColumnType.TIMESTAMP:
182
+ case types_1.GeneralColumnType.TIMESTAMP_WITH_TIME_ZONE:
183
+ return "fa-calendar-times";
184
+ case types_1.GeneralColumnType.TINYINT:
185
+ case types_1.GeneralColumnType.SMALLINT:
186
+ case types_1.GeneralColumnType.INTEGER:
187
+ case types_1.GeneralColumnType.BIGINT:
188
+ case types_1.GeneralColumnType.LONG:
189
+ case types_1.GeneralColumnType.LONGLONG:
190
+ case types_1.GeneralColumnType.SERIAL:
191
+ return "fa-sort-numeric-down";
192
+ case types_1.GeneralColumnType.DECIMAL:
193
+ case types_1.GeneralColumnType.FLOAT:
194
+ case types_1.GeneralColumnType.DOUBLE_PRECISION:
195
+ case types_1.GeneralColumnType.REAL:
196
+ return "fa-sort-numeric-down";
197
+ case types_1.GeneralColumnType.NUMERIC:
198
+ return "fa-sort-numeric-down";
199
+ case types_1.GeneralColumnType.MONEY:
200
+ return "fa-money-bill-alt";
201
+ case types_1.GeneralColumnType.BIT:
202
+ case types_1.GeneralColumnType.VARBIT:
203
+ return "fa-chess-board";
204
+ case types_1.GeneralColumnType.BOOLEAN:
205
+ return "fa-chess-board";
206
+ case types_1.GeneralColumnType.JSON:
207
+ case types_1.GeneralColumnType.JSONB:
208
+ return "fa-code";
209
+ case types_1.GeneralColumnType.BINARY:
210
+ case types_1.GeneralColumnType.BYTEA:
211
+ case types_1.GeneralColumnType.BLOB:
212
+ case types_1.GeneralColumnType.MEDIUMBLOB:
213
+ case types_1.GeneralColumnType.LONGBLOB:
214
+ case types_1.GeneralColumnType.TINYBLOB:
215
+ return "fa-chess-board";
216
+ case types_1.GeneralColumnType.ARRAY:
217
+ return "fa-list";
218
+ case types_1.GeneralColumnType.OBJECT:
219
+ case types_1.GeneralColumnType.VARIANT:
220
+ return "fa-folder";
221
+ case types_1.GeneralColumnType.BOX:
222
+ case types_1.GeneralColumnType.CIDR:
223
+ case types_1.GeneralColumnType.CIRCLE:
224
+ case types_1.GeneralColumnType.INET:
225
+ case types_1.GeneralColumnType.LINE:
226
+ case types_1.GeneralColumnType.LSEG:
227
+ case types_1.GeneralColumnType.MACADDR:
228
+ case types_1.GeneralColumnType.PATH:
229
+ case types_1.GeneralColumnType.PG_LSN:
230
+ case types_1.GeneralColumnType.POINT:
231
+ case types_1.GeneralColumnType.POLYGON:
232
+ case types_1.GeneralColumnType.TSQUERY:
233
+ case types_1.GeneralColumnType.TSVECTOR:
234
+ case types_1.GeneralColumnType.TXID_SNAPSHOT:
235
+ case types_1.GeneralColumnType.UUID:
236
+ case types_1.GeneralColumnType.XML:
237
+ case types_1.GeneralColumnType.NAME:
238
+ case types_1.GeneralColumnType.XID:
239
+ case types_1.GeneralColumnType.INTERVAL:
240
+ case types_1.GeneralColumnType.OID:
241
+ case types_1.GeneralColumnType.REGTYPE:
242
+ case types_1.GeneralColumnType.REGPROC:
243
+ case types_1.GeneralColumnType.PG_NODE_TREE:
244
+ case types_1.GeneralColumnType.PG_NDISTINCT:
245
+ case types_1.GeneralColumnType.PG_DEPENDENCIES:
246
+ case types_1.GeneralColumnType.UNKNOWN:
247
+ return "fa-question-circle";
248
+ case types_1.GeneralColumnType.ENUM:
249
+ return "fa-list";
250
+ case types_1.GeneralColumnType.SET:
251
+ return "fa-list-ol";
252
+ default:
253
+ return "fa-question-circle";
254
+ }
255
+ }
256
+ exports.parseFaIconType = parseFaIconType;
257
+ //# sourceMappingURL=GeneralColumnUtil.js.map