@nocobase/database 0.9.1-alpha.1 → 0.9.2-alpha.1
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.
- package/lib/collection-group-manager.d.ts +13 -0
- package/lib/collection-group-manager.js +91 -0
- package/lib/collection-importer.js +0 -24
- package/lib/collection.d.ts +26 -4
- package/lib/collection.js +190 -234
- package/lib/database-utils/index.js +3 -15
- package/lib/database.d.ts +9 -0
- package/lib/database.js +171 -299
- package/lib/decorators/must-have-filter-decorator.js +0 -7
- package/lib/decorators/transaction-decorator.js +5 -18
- package/lib/errors/identifier-error.js +0 -3
- package/lib/features/ReferencesMap.js +1 -14
- package/lib/features/referential-integrity-check.js +7 -21
- package/lib/field-repository/array-field-repository.js +5 -45
- package/lib/fields/array-field.js +0 -13
- package/lib/fields/belongs-to-field.js +24 -50
- package/lib/fields/belongs-to-many-field.js +29 -47
- package/lib/fields/boolean-field.js +0 -7
- package/lib/fields/context-field.js +2 -23
- package/lib/fields/date-field.d.ts +4 -0
- package/lib/fields/date-field.js +15 -7
- package/lib/fields/field.js +32 -85
- package/lib/fields/has-many-field.js +16 -49
- package/lib/fields/has-one-field.js +18 -52
- package/lib/fields/index.js +0 -44
- package/lib/fields/json-field.js +0 -12
- package/lib/fields/number-field.js +0 -23
- package/lib/fields/password-field.js +8 -35
- package/lib/fields/radio-field.js +0 -18
- package/lib/fields/relation-field.js +4 -16
- package/lib/fields/set-field.js +0 -8
- package/lib/fields/sort-field.js +84 -73
- package/lib/fields/string-field.js +0 -7
- package/lib/fields/text-field.js +0 -7
- package/lib/fields/time-field.js +0 -7
- package/lib/fields/uid-field.js +4 -22
- package/lib/fields/uuid-field.js +3 -12
- package/lib/fields/virtual-field.js +0 -7
- package/lib/filter-match.js +7 -22
- package/lib/filter-parser.js +38 -102
- package/lib/index.d.ts +3 -0
- package/lib/index.js +36 -42
- package/lib/inherited-collection.js +15 -62
- package/lib/inherited-map.js +7 -48
- package/lib/listeners/adjacency-list.d.ts +3 -0
- package/lib/listeners/adjacency-list.js +91 -0
- package/lib/listeners/index.d.ts +2 -0
- package/lib/listeners/index.js +12 -0
- package/lib/magic-attribute-model.js +58 -114
- package/lib/migration.js +7 -28
- package/lib/mock-database.d.ts +4 -4
- package/lib/mock-database.js +15 -18
- package/lib/model-hook.js +4 -35
- package/lib/model.js +12 -54
- package/lib/operators/array.js +2 -32
- package/lib/operators/association.js +0 -6
- package/lib/operators/boolean.js +0 -6
- package/lib/operators/child-collection.d.ts +2 -0
- package/lib/operators/child-collection.js +32 -0
- package/lib/operators/date.js +123 -60
- package/lib/operators/empty.js +3 -32
- package/lib/operators/eq.d.ts +2 -0
- package/lib/operators/eq.js +26 -0
- package/lib/operators/index.js +4 -7
- package/lib/operators/ne.js +5 -5
- package/lib/operators/notIn.js +0 -5
- package/lib/operators/string.js +0 -11
- package/lib/operators/utils.js +0 -6
- package/lib/options-parser.d.ts +1 -1
- package/lib/options-parser.js +47 -107
- package/lib/playground.js +0 -4
- package/lib/query-interface/mysql-query-interface.d.ts +18 -0
- package/lib/query-interface/mysql-query-interface.js +88 -0
- package/lib/query-interface/postgres-query-interface.d.ts +14 -0
- package/lib/query-interface/postgres-query-interface.js +99 -0
- package/lib/query-interface/query-interface-builder.d.ts +2 -0
- package/lib/query-interface/query-interface-builder.js +18 -0
- package/lib/query-interface/query-interface.d.ts +21 -0
- package/lib/query-interface/query-interface.js +48 -0
- package/lib/query-interface/sqlite-query-interface.d.ts +17 -0
- package/lib/query-interface/sqlite-query-interface.js +89 -0
- package/lib/relation-repository/belongs-to-many-repository.js +21 -78
- package/lib/relation-repository/belongs-to-repository.js +0 -3
- package/lib/relation-repository/hasmany-repository.js +8 -44
- package/lib/relation-repository/hasone-repository.js +0 -3
- package/lib/relation-repository/multiple-relation-repository.js +16 -68
- package/lib/relation-repository/relation-repository.js +5 -42
- package/lib/relation-repository/single-relation-repository.js +6 -43
- package/lib/repository.d.ts +1 -0
- package/lib/repository.js +36 -182
- package/lib/sql-parser/index.js +10527 -0
- package/lib/sql-parser/sql.pegjs +1297 -0
- package/lib/sync-runner.d.ts +1 -1
- package/lib/sync-runner.js +26 -64
- package/lib/update-associations.js +58 -157
- package/lib/update-guard.js +10 -49
- package/lib/utils.js +16 -54
- package/lib/value-parsers/array-value-parser.js +3 -21
- package/lib/value-parsers/base-value-parser.js +0 -13
- package/lib/value-parsers/boolean-value-parser.js +4 -10
- package/lib/value-parsers/date-value-parser.js +0 -23
- package/lib/value-parsers/index.js +0 -10
- package/lib/value-parsers/json-value-parser.js +0 -7
- package/lib/value-parsers/number-value-parser.js +0 -9
- package/lib/value-parsers/string-value-parser.js +3 -20
- package/lib/value-parsers/to-many-value-parser.js +1 -42
- package/lib/value-parsers/to-one-value-parser.js +0 -14
- package/lib/view/field-type-map.d.ts +47 -0
- package/lib/view/field-type-map.js +56 -0
- package/lib/view/view-inference.d.ts +31 -0
- package/lib/view/view-inference.js +92 -0
- package/lib/view-collection.d.ts +6 -0
- package/lib/view-collection.js +24 -0
- package/package.json +4 -3
- package/src/__tests__/collection.test.ts +44 -0
- package/src/__tests__/fields/date.test.ts +75 -0
- package/src/__tests__/fields/sort-field.test.ts +100 -0
- package/src/__tests__/filter.test.ts +60 -0
- package/src/__tests__/group.test.ts +50 -0
- package/src/__tests__/inhertits/collection-inherits.test.ts +114 -0
- package/src/__tests__/operator/date-operator.test.ts +244 -98
- package/src/__tests__/operator/eq.test.ts +76 -0
- package/src/__tests__/operator/ne.test.ts +19 -1
- package/src/__tests__/relation-repository/belongs-to-many-repository.test.ts +82 -0
- package/src/__tests__/repository/find.test.ts +33 -0
- package/src/__tests__/repository.test.ts +88 -0
- package/src/__tests__/sql-parser.test.ts +13 -0
- package/src/__tests__/tree.test.ts +217 -0
- package/src/__tests__/view/list-view.test.ts +34 -0
- package/src/__tests__/view/view-collection.test.ts +199 -0
- package/src/__tests__/view/view-inference.test.ts +145 -0
- package/src/__tests__/view/view-repository.test.ts +67 -0
- package/src/collection-group-manager.ts +94 -0
- package/src/collection.ts +126 -16
- package/src/database-utils/index.ts +1 -0
- package/src/database.ts +98 -17
- package/src/features/ReferencesMap.ts +3 -2
- package/src/fields/belongs-to-many-field.ts +23 -4
- package/src/fields/date-field.ts +18 -0
- package/src/fields/field.ts +17 -7
- package/src/fields/json-field.ts +1 -0
- package/src/fields/sort-field.ts +90 -29
- package/src/filter-parser.ts +2 -1
- package/src/index.ts +3 -1
- package/src/listeners/adjacency-list.ts +60 -0
- package/src/listeners/index.ts +7 -0
- package/src/mock-database.ts +14 -2
- package/src/model.ts +4 -0
- package/src/operators/child-collection.ts +24 -0
- package/src/operators/date.ts +108 -24
- package/src/operators/eq.ts +14 -0
- package/src/operators/index.ts +2 -0
- package/src/operators/ne.ts +12 -7
- package/src/options-parser.ts +25 -11
- package/src/query-interface/mysql-query-interface.ts +72 -0
- package/src/query-interface/postgres-query-interface.ts +103 -0
- package/src/query-interface/query-interface-builder.ts +14 -0
- package/src/query-interface/query-interface.ts +43 -0
- package/src/query-interface/sqlite-query-interface.ts +79 -0
- package/src/relation-repository/belongs-to-many-repository.ts +20 -1
- package/src/relation-repository/hasmany-repository.ts +5 -3
- package/src/relation-repository/multiple-relation-repository.ts +13 -1
- package/src/relation-repository/single-relation-repository.ts +2 -0
- package/src/repository.ts +6 -13
- package/src/sql-parser/index.js +10698 -0
- package/src/sql-parser/readme.md +2 -0
- package/src/sql-parser/sql.pegjs +1297 -0
- package/src/sync-runner.ts +27 -32
- package/src/update-associations.ts +26 -22
- package/src/utils.ts +4 -3
- package/src/view/field-type-map.ts +56 -0
- package/src/view/view-inference.ts +106 -0
- package/src/view-collection.ts +21 -0
package/lib/update-guard.js
CHANGED
|
@@ -4,21 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.UpdateGuard = void 0;
|
|
7
|
-
|
|
8
7
|
function _lodash() {
|
|
9
8
|
const data = _interopRequireDefault(require("lodash"));
|
|
10
|
-
|
|
11
9
|
_lodash = function _lodash() {
|
|
12
10
|
return data;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
return data;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
var _model = require("./model");
|
|
19
|
-
|
|
20
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
|
|
22
16
|
class UpdateGuard {
|
|
23
17
|
constructor() {
|
|
24
18
|
this.model = void 0;
|
|
@@ -28,15 +22,12 @@ class UpdateGuard {
|
|
|
28
22
|
this.blackList = void 0;
|
|
29
23
|
this.whiteList = void 0;
|
|
30
24
|
}
|
|
31
|
-
|
|
32
25
|
setAction(action) {
|
|
33
26
|
this.action = action;
|
|
34
27
|
}
|
|
35
|
-
|
|
36
28
|
setModel(model) {
|
|
37
29
|
this.model = model;
|
|
38
30
|
}
|
|
39
|
-
|
|
40
31
|
setAssociationKeysToBeUpdate(associationKeysToBeUpdate) {
|
|
41
32
|
if (this.action == 'create') {
|
|
42
33
|
this.associationKeysToBeUpdate = Object.keys(this.model.associations);
|
|
@@ -44,11 +35,9 @@ class UpdateGuard {
|
|
|
44
35
|
this.associationKeysToBeUpdate = associationKeysToBeUpdate;
|
|
45
36
|
}
|
|
46
37
|
}
|
|
47
|
-
|
|
48
38
|
setWhiteList(whiteList) {
|
|
49
39
|
this.whiteList = whiteList;
|
|
50
40
|
}
|
|
51
|
-
|
|
52
41
|
setBlackList(blackList) {
|
|
53
42
|
this.blackList = blackList;
|
|
54
43
|
}
|
|
@@ -56,55 +45,39 @@ class UpdateGuard {
|
|
|
56
45
|
* Sanitize values by whitelist blacklist
|
|
57
46
|
* @param values
|
|
58
47
|
*/
|
|
59
|
-
|
|
60
|
-
|
|
61
48
|
sanitize(values) {
|
|
62
49
|
values = _lodash().default.clone(values);
|
|
63
|
-
|
|
64
50
|
if (!this.model) {
|
|
65
51
|
throw new Error('please set model first');
|
|
66
52
|
}
|
|
67
|
-
|
|
68
53
|
const associations = this.model.associations;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
54
|
+
const associationsValues = _lodash().default.pick(values, Object.keys(associations));
|
|
55
|
+
// build params of association update guard
|
|
73
56
|
const listOfAssociation = (list, association) => {
|
|
74
57
|
if (list) {
|
|
75
58
|
list = list.filter(whiteListKey => whiteListKey.startsWith(`${association}.`)).map(whiteListKey => whiteListKey.replace(`${association}.`, ''));
|
|
76
|
-
|
|
77
59
|
if (list.length == 0) {
|
|
78
60
|
return undefined;
|
|
79
61
|
}
|
|
80
|
-
|
|
81
62
|
return list;
|
|
82
63
|
}
|
|
83
|
-
|
|
84
64
|
return undefined;
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
|
|
65
|
+
};
|
|
66
|
+
// sanitize association values
|
|
88
67
|
Object.keys(associationsValues).forEach(association => {
|
|
89
68
|
let associationValues = associationsValues[association];
|
|
90
|
-
|
|
91
69
|
const filterAssociationToBeUpdate = value => {
|
|
92
70
|
const associationKeysToBeUpdate = this.associationKeysToBeUpdate || [];
|
|
93
|
-
|
|
94
71
|
if (associationKeysToBeUpdate.includes(association)) {
|
|
95
72
|
return value;
|
|
96
73
|
}
|
|
97
|
-
|
|
98
74
|
const associationObj = associations[association];
|
|
99
75
|
const associationKeyName = associationObj.associationType == 'BelongsTo' || associationObj.associationType == 'HasOne' ? associationObj.targetKey : associationObj.target.primaryKeyAttribute;
|
|
100
|
-
|
|
101
76
|
if (value[associationKeyName]) {
|
|
102
77
|
return _lodash().default.pick(value, [associationKeyName, ...Object.keys(associationObj.target.associations)]);
|
|
103
78
|
}
|
|
104
|
-
|
|
105
79
|
return value;
|
|
106
80
|
};
|
|
107
|
-
|
|
108
81
|
const sanitizeValue = value => {
|
|
109
82
|
const associationUpdateGuard = new UpdateGuard();
|
|
110
83
|
associationUpdateGuard.setModel(associations[association].target);
|
|
@@ -113,7 +86,6 @@ class UpdateGuard {
|
|
|
113
86
|
});
|
|
114
87
|
return associationUpdateGuard.sanitize(filterAssociationToBeUpdate(value));
|
|
115
88
|
};
|
|
116
|
-
|
|
117
89
|
if (Array.isArray(associationValues)) {
|
|
118
90
|
associationValues = associationValues.map(value => {
|
|
119
91
|
if (typeof value == 'string' || typeof value == 'number') {
|
|
@@ -124,18 +96,15 @@ class UpdateGuard {
|
|
|
124
96
|
});
|
|
125
97
|
} else if (typeof associationValues === 'object' && associationValues !== null) {
|
|
126
98
|
associationValues = sanitizeValue(associationValues);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
|
|
99
|
+
}
|
|
100
|
+
// set association values to sanitized value
|
|
130
101
|
values[association] = associationValues;
|
|
131
102
|
});
|
|
132
|
-
|
|
133
103
|
if (values instanceof _model.Model) {
|
|
134
104
|
return values;
|
|
135
105
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
106
|
+
let valuesKeys = Object.keys(values || {});
|
|
107
|
+
// handle whitelist
|
|
139
108
|
if (this.whiteList) {
|
|
140
109
|
valuesKeys = valuesKeys.filter(valueKey => {
|
|
141
110
|
return this.whiteList.findIndex(whiteKey => {
|
|
@@ -143,21 +112,17 @@ class UpdateGuard {
|
|
|
143
112
|
return keyPaths[0] === valueKey;
|
|
144
113
|
}) !== -1;
|
|
145
114
|
});
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
|
|
115
|
+
}
|
|
116
|
+
// handle blacklist
|
|
149
117
|
if (this.blackList) {
|
|
150
118
|
valuesKeys = valuesKeys.filter(valueKey => !this.blackList.includes(valueKey));
|
|
151
119
|
}
|
|
152
|
-
|
|
153
120
|
const result = valuesKeys.reduce((obj, key) => {
|
|
154
121
|
_lodash().default.set(obj, key, values[key]);
|
|
155
|
-
|
|
156
122
|
return obj;
|
|
157
123
|
}, {});
|
|
158
124
|
return result;
|
|
159
125
|
}
|
|
160
|
-
|
|
161
126
|
static fromOptions(model, options) {
|
|
162
127
|
const guard = new UpdateGuard();
|
|
163
128
|
guard.setModel(model);
|
|
@@ -165,14 +130,10 @@ class UpdateGuard {
|
|
|
165
130
|
guard.setBlackList(options.blacklist);
|
|
166
131
|
guard.setAction(_lodash().default.get(options, 'action', 'update'));
|
|
167
132
|
guard.setAssociationKeysToBeUpdate(options.updateAssociationValues);
|
|
168
|
-
|
|
169
133
|
if (options.underscored) {
|
|
170
134
|
guard.underscored = options.underscored;
|
|
171
135
|
}
|
|
172
|
-
|
|
173
136
|
return guard;
|
|
174
137
|
}
|
|
175
|
-
|
|
176
138
|
}
|
|
177
|
-
|
|
178
139
|
exports.UpdateGuard = UpdateGuard;
|
package/lib/utils.js
CHANGED
|
@@ -10,73 +10,58 @@ exports.md5 = md5;
|
|
|
10
10
|
exports.patchSequelizeQueryInterface = patchSequelizeQueryInterface;
|
|
11
11
|
exports.percent2float = percent2float;
|
|
12
12
|
exports.snakeCase = snakeCase;
|
|
13
|
-
|
|
14
13
|
function _crypto() {
|
|
15
14
|
const data = _interopRequireDefault(require("crypto"));
|
|
16
|
-
|
|
17
15
|
_crypto = function _crypto() {
|
|
18
16
|
return data;
|
|
19
17
|
};
|
|
20
|
-
|
|
21
18
|
return data;
|
|
22
19
|
}
|
|
23
|
-
|
|
24
20
|
var _identifierError = require("./errors/identifier-error");
|
|
25
|
-
|
|
21
|
+
function _lodash() {
|
|
22
|
+
const data = _interopRequireDefault(require("lodash"));
|
|
23
|
+
_lodash = function _lodash() {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
26
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
-
|
|
28
29
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
29
|
-
|
|
30
30
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
31
|
-
|
|
32
|
-
function
|
|
33
|
-
|
|
31
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
32
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
33
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
34
34
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
35
|
-
|
|
36
35
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
37
|
-
|
|
38
36
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
39
|
-
|
|
40
37
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
41
|
-
|
|
42
38
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
43
|
-
|
|
44
39
|
function handleAppendsQuery(_x) {
|
|
45
40
|
return _handleAppendsQuery.apply(this, arguments);
|
|
46
41
|
}
|
|
47
|
-
|
|
48
42
|
function _handleAppendsQuery() {
|
|
49
43
|
_handleAppendsQuery = _asyncToGenerator(function* (options) {
|
|
50
44
|
const templateModel = options.templateModel,
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
queryPromises = options.queryPromises;
|
|
53
46
|
if (!templateModel) {
|
|
54
47
|
return [];
|
|
55
48
|
}
|
|
56
|
-
|
|
57
49
|
const primaryKey = templateModel.constructor.primaryKeyAttribute;
|
|
58
50
|
const results = yield Promise.all(queryPromises);
|
|
59
51
|
let rows;
|
|
60
|
-
|
|
61
52
|
var _iterator = _createForOfIteratorHelper(results),
|
|
62
|
-
|
|
63
|
-
|
|
53
|
+
_step;
|
|
64
54
|
try {
|
|
65
55
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
66
56
|
const appendedResult = _step.value;
|
|
67
|
-
|
|
68
57
|
if (!rows) {
|
|
69
58
|
rows = appendedResult.rows;
|
|
70
|
-
|
|
71
59
|
if (rows.length == 0) {
|
|
72
60
|
return [];
|
|
73
61
|
}
|
|
74
|
-
|
|
75
62
|
const modelOptions = templateModel['_options'];
|
|
76
|
-
|
|
77
63
|
var _iterator2 = _createForOfIteratorHelper(rows),
|
|
78
|
-
|
|
79
|
-
|
|
64
|
+
_step2;
|
|
80
65
|
try {
|
|
81
66
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
82
67
|
const row = _step2.value;
|
|
@@ -91,21 +76,17 @@ function _handleAppendsQuery() {
|
|
|
91
76
|
} finally {
|
|
92
77
|
_iterator2.f();
|
|
93
78
|
}
|
|
94
|
-
|
|
95
79
|
continue;
|
|
96
80
|
}
|
|
97
|
-
|
|
98
81
|
for (let i = 0; i < appendedResult.rows.length; i++) {
|
|
99
82
|
const appendingRow = appendedResult.rows[i];
|
|
100
83
|
const key = appendedResult.include.association;
|
|
101
84
|
const val = appendingRow.get(key);
|
|
102
85
|
const rowKey = appendingRow.get(primaryKey);
|
|
103
86
|
const targetIndex = rows.findIndex(row => row.get(primaryKey) === rowKey);
|
|
104
|
-
|
|
105
87
|
if (targetIndex === -1) {
|
|
106
88
|
throw new Error('target row not found');
|
|
107
89
|
}
|
|
108
|
-
|
|
109
90
|
rows[targetIndex].set(key, val, {
|
|
110
91
|
raw: true
|
|
111
92
|
});
|
|
@@ -116,57 +97,44 @@ function _handleAppendsQuery() {
|
|
|
116
97
|
} finally {
|
|
117
98
|
_iterator.f();
|
|
118
99
|
}
|
|
119
|
-
|
|
120
100
|
return rows;
|
|
121
101
|
});
|
|
122
102
|
return _handleAppendsQuery.apply(this, arguments);
|
|
123
103
|
}
|
|
124
|
-
|
|
125
104
|
function md5(value) {
|
|
126
105
|
return _crypto().default.createHash('md5').update(value).digest('hex');
|
|
127
106
|
}
|
|
128
|
-
|
|
129
107
|
const MAX_IDENTIFIER_LENGTH = 63;
|
|
130
|
-
|
|
131
108
|
function checkIdentifier(value) {
|
|
132
109
|
if (value.length > MAX_IDENTIFIER_LENGTH) {
|
|
133
110
|
throw new _identifierError.IdentifierError(`Identifier ${value} is too long`);
|
|
134
111
|
}
|
|
135
112
|
}
|
|
136
|
-
|
|
137
113
|
function getTableName(collectionName, options) {
|
|
138
114
|
return options.underscored ? snakeCase(collectionName) : collectionName;
|
|
139
115
|
}
|
|
140
|
-
|
|
141
116
|
function snakeCase(name) {
|
|
142
117
|
return require('sequelize').Utils.underscore(name);
|
|
143
118
|
}
|
|
144
|
-
|
|
145
119
|
function patchShowConstraintsQuery(queryGenerator, db) {
|
|
146
120
|
queryGenerator.showConstraintsQuery = (tableName, constraintName) => {
|
|
147
|
-
const lines = ['SELECT constraint_catalog AS "constraintCatalog",', 'constraint_schema AS "constraintSchema",', 'constraint_name AS "constraintName",', 'table_catalog AS "tableCatalog",', 'table_schema AS "tableSchema",', 'table_name AS "tableName",', 'constraint_type AS "constraintType",', 'is_deferrable AS "isDeferrable",', 'initially_deferred AS "initiallyDeferred"', 'from INFORMATION_SCHEMA.table_constraints', `WHERE table_name='${tableName}'`];
|
|
148
|
-
|
|
121
|
+
const lines = ['SELECT constraint_catalog AS "constraintCatalog",', 'constraint_schema AS "constraintSchema",', 'constraint_name AS "constraintName",', 'table_catalog AS "tableCatalog",', 'table_schema AS "tableSchema",', 'table_name AS "tableName",', 'constraint_type AS "constraintType",', 'is_deferrable AS "isDeferrable",', 'initially_deferred AS "initiallyDeferred"', 'from INFORMATION_SCHEMA.table_constraints', `WHERE table_name='${_lodash().default.isPlainObject(tableName) ? tableName.tableName : tableName}'`];
|
|
149
122
|
if (!constraintName) {
|
|
150
123
|
lines.push(`AND constraint_name='${constraintName}'`);
|
|
151
124
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
lines.push(`AND table_schema='${db.options.schema}'`);
|
|
125
|
+
if (_lodash().default.isPlainObject(tableName) && tableName.schema) {
|
|
126
|
+
lines.push(`AND table_schema='${tableName.schema}'`);
|
|
155
127
|
}
|
|
156
|
-
|
|
157
128
|
return lines.join(' ');
|
|
158
129
|
};
|
|
159
130
|
}
|
|
160
|
-
|
|
161
131
|
function patchDescribeTableQuery(queryGenerator) {
|
|
162
132
|
const describeTableQuery = function describeTableQuery(tableName, schema) {
|
|
163
133
|
schema = schema || this.options.schema || 'public';
|
|
164
134
|
return 'SELECT ' + 'pk.constraint_type as "Constraint",' + 'c.column_name as "Field", ' + 'c.column_default as "Default",' + 'c.is_nullable as "Null", ' + "(CASE WHEN c.udt_name = 'hstore' THEN c.udt_name ELSE c.data_type END) || (CASE WHEN c.character_maximum_length IS NOT NULL THEN '(' || c.character_maximum_length || ')' ELSE '' END) as \"Type\", " + '(SELECT array_agg(e.enumlabel) FROM pg_catalog.pg_type t JOIN pg_catalog.pg_enum e ON t.oid=e.enumtypid WHERE t.typname=c.udt_name) AS "special", ' + '(SELECT pgd.description FROM pg_catalog.pg_statio_all_tables AS st INNER JOIN pg_catalog.pg_description pgd on (pgd.objoid=st.relid) WHERE c.ordinal_position=pgd.objsubid AND c.table_name=st.relname AND st.schemaname = c.table_schema) AS "Comment" ' + 'FROM information_schema.columns c ' + 'LEFT JOIN (SELECT tc.table_schema, tc.table_name, ' + 'cu.column_name, tc.constraint_type ' + 'FROM information_schema.TABLE_CONSTRAINTS tc ' + 'JOIN information_schema.KEY_COLUMN_USAGE cu ' + 'ON tc.table_schema=cu.table_schema and tc.table_name=cu.table_name ' + 'and tc.constraint_name=cu.constraint_name ' + "and tc.constraint_type='PRIMARY KEY') pk " + 'ON pk.table_schema=c.table_schema ' + 'AND pk.table_name=c.table_name ' + 'AND pk.column_name=c.column_name ' + `WHERE c.table_name = ${this.escape(tableName)} AND c.table_schema = ${this.escape(schema)}`;
|
|
165
135
|
};
|
|
166
|
-
|
|
167
136
|
queryGenerator.describeTableQuery = describeTableQuery.bind(queryGenerator);
|
|
168
137
|
}
|
|
169
|
-
|
|
170
138
|
function patchSequelizeQueryInterface(db) {
|
|
171
139
|
if (db.inDialect('postgres')) {
|
|
172
140
|
//@ts-ignore
|
|
@@ -175,24 +143,18 @@ function patchSequelizeQueryInterface(db) {
|
|
|
175
143
|
patchDescribeTableQuery(queryGenerator);
|
|
176
144
|
}
|
|
177
145
|
}
|
|
178
|
-
|
|
179
146
|
function percent2float(value) {
|
|
180
147
|
if (!value.endsWith('%')) {
|
|
181
148
|
return NaN;
|
|
182
149
|
}
|
|
183
|
-
|
|
184
150
|
let val = value.substring(0, value.length - 1);
|
|
185
|
-
|
|
186
151
|
if (isNaN(+val)) {
|
|
187
152
|
return NaN;
|
|
188
153
|
}
|
|
189
|
-
|
|
190
154
|
const index = value.indexOf('.');
|
|
191
|
-
|
|
192
155
|
if (index === -1) {
|
|
193
156
|
return parseFloat(value) / 100;
|
|
194
157
|
}
|
|
195
|
-
|
|
196
158
|
const repeat = value.length - index - 2;
|
|
197
159
|
const v = parseInt('1' + '0'.repeat(repeat));
|
|
198
160
|
return parseFloat(value) * v / (100 * v);
|
|
@@ -4,33 +4,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ArrayValueParser = void 0;
|
|
7
|
-
|
|
8
7
|
var _baseValueParser = require("./base-value-parser");
|
|
9
|
-
|
|
10
8
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
11
|
-
|
|
12
9
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
13
|
-
|
|
14
10
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
15
|
-
|
|
16
11
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
17
|
-
|
|
18
12
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
19
|
-
|
|
20
13
|
class ArrayValueParser extends _baseValueParser.BaseValueParser {
|
|
21
14
|
setValue(value) {
|
|
22
15
|
var _this = this;
|
|
23
|
-
|
|
24
16
|
return _asyncToGenerator(function* () {
|
|
25
17
|
const _this$getOptions = _this.getOptions(),
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
18
|
+
map = _this$getOptions.map,
|
|
19
|
+
set = _this$getOptions.set;
|
|
29
20
|
const values = _this.toArr(value);
|
|
30
|
-
|
|
31
21
|
if (set.size > 0) {
|
|
32
22
|
const filtered = values.map(v => map.has(v) ? map.get(v) : v).filter(v => set.has(v));
|
|
33
|
-
|
|
34
23
|
if (values.length === filtered.length) {
|
|
35
24
|
_this.value = filtered;
|
|
36
25
|
} else {
|
|
@@ -41,17 +30,13 @@ class ArrayValueParser extends _baseValueParser.BaseValueParser {
|
|
|
41
30
|
}
|
|
42
31
|
})();
|
|
43
32
|
}
|
|
44
|
-
|
|
45
33
|
getOptions() {
|
|
46
34
|
var _this$field$options, _this$field$options$u;
|
|
47
|
-
|
|
48
35
|
const options = ((_this$field$options = this.field.options) === null || _this$field$options === void 0 ? void 0 : (_this$field$options$u = _this$field$options['uiSchema']) === null || _this$field$options$u === void 0 ? void 0 : _this$field$options$u.enum) || [];
|
|
49
36
|
const map = new Map();
|
|
50
37
|
const set = new Set();
|
|
51
|
-
|
|
52
38
|
var _iterator = _createForOfIteratorHelper(options),
|
|
53
|
-
|
|
54
|
-
|
|
39
|
+
_step;
|
|
55
40
|
try {
|
|
56
41
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
57
42
|
const option = _step.value;
|
|
@@ -64,13 +49,10 @@ class ArrayValueParser extends _baseValueParser.BaseValueParser {
|
|
|
64
49
|
} finally {
|
|
65
50
|
_iterator.f();
|
|
66
51
|
}
|
|
67
|
-
|
|
68
52
|
return {
|
|
69
53
|
map,
|
|
70
54
|
set
|
|
71
55
|
};
|
|
72
56
|
}
|
|
73
|
-
|
|
74
57
|
}
|
|
75
|
-
|
|
76
58
|
exports.ArrayValueParser = ArrayValueParser;
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.BaseValueParser = void 0;
|
|
7
|
-
|
|
8
7
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
9
|
-
|
|
10
8
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
11
|
-
|
|
12
9
|
class BaseValueParser {
|
|
13
10
|
constructor(field, ctx) {
|
|
14
11
|
this.ctx = void 0;
|
|
@@ -19,14 +16,11 @@ class BaseValueParser {
|
|
|
19
16
|
this.ctx = ctx;
|
|
20
17
|
this.value = null;
|
|
21
18
|
}
|
|
22
|
-
|
|
23
19
|
trim(value) {
|
|
24
20
|
return typeof value === 'string' ? value.trim() : value;
|
|
25
21
|
}
|
|
26
|
-
|
|
27
22
|
toArr(value, splitter) {
|
|
28
23
|
let values = [];
|
|
29
|
-
|
|
30
24
|
if (!value) {
|
|
31
25
|
values = [];
|
|
32
26
|
} else if (typeof value === 'string') {
|
|
@@ -34,26 +28,19 @@ class BaseValueParser {
|
|
|
34
28
|
} else if (Array.isArray(value)) {
|
|
35
29
|
values = value;
|
|
36
30
|
}
|
|
37
|
-
|
|
38
31
|
return values.map(v => this.trim(v)).filter(Boolean);
|
|
39
32
|
}
|
|
40
|
-
|
|
41
33
|
toString() {
|
|
42
34
|
return this.value;
|
|
43
35
|
}
|
|
44
|
-
|
|
45
36
|
getValue() {
|
|
46
37
|
return this.value;
|
|
47
38
|
}
|
|
48
|
-
|
|
49
39
|
setValue(value) {
|
|
50
40
|
var _this = this;
|
|
51
|
-
|
|
52
41
|
return _asyncToGenerator(function* () {
|
|
53
42
|
_this.value = value;
|
|
54
43
|
})();
|
|
55
44
|
}
|
|
56
|
-
|
|
57
45
|
}
|
|
58
|
-
|
|
59
46
|
exports.BaseValueParser = BaseValueParser;
|
|
@@ -4,30 +4,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.BooleanValueParser = void 0;
|
|
7
|
-
|
|
8
7
|
var _baseValueParser = require("./base-value-parser");
|
|
9
|
-
|
|
10
8
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
11
|
-
|
|
12
9
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
13
|
-
|
|
14
10
|
class BooleanValueParser extends _baseValueParser.BaseValueParser {
|
|
15
11
|
setValue(value) {
|
|
16
12
|
var _this = this;
|
|
17
|
-
|
|
18
13
|
return _asyncToGenerator(function* () {
|
|
19
14
|
// Boolean
|
|
20
15
|
if (typeof value === 'boolean') {
|
|
21
16
|
_this.value = value;
|
|
22
|
-
}
|
|
17
|
+
}
|
|
18
|
+
// Number
|
|
23
19
|
else if (typeof value === 'number' && [0, 1].includes(value)) {
|
|
24
20
|
_this.value = value === 1;
|
|
25
|
-
}
|
|
21
|
+
}
|
|
22
|
+
// String
|
|
26
23
|
else if (typeof value === 'string') {
|
|
27
24
|
if (!value) {
|
|
28
25
|
_this.value = null;
|
|
29
26
|
}
|
|
30
|
-
|
|
31
27
|
if (['1', 'y', 'yes', 'true', '是'].includes(value.toLowerCase())) {
|
|
32
28
|
_this.value = true;
|
|
33
29
|
} else if (['0', 'n', 'no', 'false', '否'].includes(value.toLowerCase())) {
|
|
@@ -40,7 +36,5 @@ class BooleanValueParser extends _baseValueParser.BaseValueParser {
|
|
|
40
36
|
}
|
|
41
37
|
})();
|
|
42
38
|
}
|
|
43
|
-
|
|
44
39
|
}
|
|
45
|
-
|
|
46
40
|
exports.BooleanValueParser = BooleanValueParser;
|
|
@@ -4,57 +4,40 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.DateValueParser = void 0;
|
|
7
|
-
|
|
8
7
|
function _utils() {
|
|
9
8
|
const data = require("@nocobase/utils");
|
|
10
|
-
|
|
11
9
|
_utils = function _utils() {
|
|
12
10
|
return data;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
return data;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
function _excelDateToJs() {
|
|
19
15
|
const data = require("excel-date-to-js");
|
|
20
|
-
|
|
21
16
|
_excelDateToJs = function _excelDateToJs() {
|
|
22
17
|
return data;
|
|
23
18
|
};
|
|
24
|
-
|
|
25
19
|
return data;
|
|
26
20
|
}
|
|
27
|
-
|
|
28
21
|
function _moment() {
|
|
29
22
|
const data = _interopRequireWildcard(require("moment"));
|
|
30
|
-
|
|
31
23
|
_moment = function _moment() {
|
|
32
24
|
return data;
|
|
33
25
|
};
|
|
34
|
-
|
|
35
26
|
return data;
|
|
36
27
|
}
|
|
37
|
-
|
|
38
28
|
var _baseValueParser = require("./base-value-parser");
|
|
39
|
-
|
|
40
29
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
41
|
-
|
|
42
30
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
43
|
-
|
|
44
31
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
45
|
-
|
|
46
32
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
47
|
-
|
|
48
33
|
function isNumeric(str) {
|
|
49
34
|
if (typeof str === 'number') return true;
|
|
50
35
|
if (typeof str != 'string') return false;
|
|
51
36
|
return !isNaN(str) && !isNaN(parseFloat(str));
|
|
52
37
|
}
|
|
53
|
-
|
|
54
38
|
class DateValueParser extends _baseValueParser.BaseValueParser {
|
|
55
39
|
setValue(value) {
|
|
56
40
|
var _this = this;
|
|
57
|
-
|
|
58
41
|
return _asyncToGenerator(function* () {
|
|
59
42
|
if ((0, _moment().isMoment)(value)) {
|
|
60
43
|
_this.value = value;
|
|
@@ -68,9 +51,7 @@ class DateValueParser extends _baseValueParser.BaseValueParser {
|
|
|
68
51
|
}
|
|
69
52
|
} else if (typeof value === 'string') {
|
|
70
53
|
const props = _this.getProps();
|
|
71
|
-
|
|
72
54
|
const m = (0, _moment().default)(value);
|
|
73
|
-
|
|
74
55
|
if (m.isValid()) {
|
|
75
56
|
_this.value = (0, _utils().moment2str)(m, props);
|
|
76
57
|
} else {
|
|
@@ -79,13 +60,9 @@ class DateValueParser extends _baseValueParser.BaseValueParser {
|
|
|
79
60
|
}
|
|
80
61
|
})();
|
|
81
62
|
}
|
|
82
|
-
|
|
83
63
|
getProps() {
|
|
84
64
|
var _this$field$options, _this$field$options$u;
|
|
85
|
-
|
|
86
65
|
return ((_this$field$options = this.field.options) === null || _this$field$options === void 0 ? void 0 : (_this$field$options$u = _this$field$options.uiSchema) === null || _this$field$options$u === void 0 ? void 0 : _this$field$options$u['x-component-props']) || {};
|
|
87
66
|
}
|
|
88
|
-
|
|
89
67
|
}
|
|
90
|
-
|
|
91
68
|
exports.DateValueParser = DateValueParser;
|
|
@@ -58,25 +58,15 @@ Object.defineProperty(exports, "ToOneValueParser", {
|
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
60
|
exports.registerFieldValueParsers = registerFieldValueParsers;
|
|
61
|
-
|
|
62
61
|
var _arrayValueParser = require("./array-value-parser");
|
|
63
|
-
|
|
64
62
|
var _baseValueParser = require("./base-value-parser");
|
|
65
|
-
|
|
66
63
|
var _booleanValueParser = require("./boolean-value-parser");
|
|
67
|
-
|
|
68
64
|
var _dateValueParser = require("./date-value-parser");
|
|
69
|
-
|
|
70
65
|
var _jsonValueParser = require("./json-value-parser");
|
|
71
|
-
|
|
72
66
|
var _numberValueParser = require("./number-value-parser");
|
|
73
|
-
|
|
74
67
|
var _stringValueParser = require("./string-value-parser");
|
|
75
|
-
|
|
76
68
|
var _toManyValueParser = require("./to-many-value-parser");
|
|
77
|
-
|
|
78
69
|
var _toOneValueParser = require("./to-one-value-parser");
|
|
79
|
-
|
|
80
70
|
function registerFieldValueParsers(db) {
|
|
81
71
|
db.registerFieldValueParsers({
|
|
82
72
|
default: _baseValueParser.BaseValueParser,
|
|
@@ -4,17 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.JsonValueParser = void 0;
|
|
7
|
-
|
|
8
7
|
var _baseValueParser = require("./base-value-parser");
|
|
9
|
-
|
|
10
8
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
11
|
-
|
|
12
9
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
13
|
-
|
|
14
10
|
class JsonValueParser extends _baseValueParser.BaseValueParser {
|
|
15
11
|
setValue(value) {
|
|
16
12
|
var _this = this;
|
|
17
|
-
|
|
18
13
|
return _asyncToGenerator(function* () {
|
|
19
14
|
if (typeof value === 'string') {
|
|
20
15
|
if (value.trim() === '') {
|
|
@@ -31,7 +26,5 @@ class JsonValueParser extends _baseValueParser.BaseValueParser {
|
|
|
31
26
|
}
|
|
32
27
|
})();
|
|
33
28
|
}
|
|
34
|
-
|
|
35
29
|
}
|
|
36
|
-
|
|
37
30
|
exports.JsonValueParser = JsonValueParser;
|