@mrnafisia/type-query 1.0.50 → 1.0.51
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/README.md +2 -2
- package/dist/U.d.ts +2 -2
- package/dist/U.js +28 -28
- package/dist/context.d.ts +987 -987
- package/dist/context.js +84 -84
- package/dist/dictionary.d.ts +12 -12
- package/dist/dictionary.js +179 -179
- package/dist/entity.d.ts +3585 -3585
- package/dist/entity.js +1053 -1053
- package/dist/error.d.ts +4 -4
- package/dist/error.js +7 -7
- package/dist/index.d.ts +18 -18
- package/dist/index.js +56 -56
- package/dist/model.d.ts +1005 -1005
- package/dist/model.js +282 -282
- package/dist/parser.d.ts +11 -11
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +123 -120
- package/dist/parser.js.map +1 -1
- package/dist/pool.d.ts +5 -5
- package/dist/pool.js +122 -122
- package/dist/schema.d.ts +25 -25
- package/dist/schema.js +405 -405
- package/dist/testUtil.d.ts +4 -4
- package/dist/testUtil.js +343 -343
- package/dist/types/context.d.ts +51 -51
- package/dist/types/context.js +2 -2
- package/dist/types/entity.d.ts +70 -70
- package/dist/types/entity.js +2 -2
- package/dist/types/json.d.ts +8 -8
- package/dist/types/json.js +2 -2
- package/dist/types/model.d.ts +23 -23
- package/dist/types/model.js +2 -2
- package/dist/types/pool.d.ts +18 -18
- package/dist/types/pool.js +2 -2
- package/dist/types/postgres.d.ts +9 -9
- package/dist/types/postgres.js +2 -2
- package/dist/types/table.d.ts +233 -233
- package/dist/types/table.js +2 -2
- package/dist/types/testUtil.d.ts +26 -26
- package/dist/types/testUtil.js +2 -2
- package/dist/utils.d.ts +67 -67
- package/dist/utils.js +220 -220
- package/package.json +40 -40
package/dist/model.js
CHANGED
|
@@ -1,283 +1,283 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
-
exports.validateStringGenerator = exports.validateDecimalGenerator = exports.validateNumberGenerator = exports.createModelUtils = void 0;
|
|
38
|
-
var Parser = __importStar(require("./parser"));
|
|
39
|
-
var never_catch_1 = require("never-catch");
|
|
40
|
-
var smallIntRange = { min: -32768, max: 32767 };
|
|
41
|
-
var integerRange = { min: -2147483648, max: 2147483647 };
|
|
42
|
-
var bigIntRange = {
|
|
43
|
-
min: BigInt('-9223372036854775808'),
|
|
44
|
-
max: BigInt('9223372036854775807')
|
|
45
|
-
};
|
|
46
|
-
var validateNumberGenerator = function (_a) {
|
|
47
|
-
var min = _a.min, max = _a.max;
|
|
48
|
-
if (min === undefined) {
|
|
49
|
-
if (max === undefined) {
|
|
50
|
-
return function () { return true; };
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
return function (v) { return v <= max; };
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
if (max === undefined) {
|
|
58
|
-
return function (v) { return min <= v; };
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
return function (v) { return min <= v && v <= max; };
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
exports.validateNumberGenerator = validateNumberGenerator;
|
|
66
|
-
var validateDecimalGenerator = function (_a) {
|
|
67
|
-
var min = _a.min, max = _a.max;
|
|
68
|
-
if (min === undefined) {
|
|
69
|
-
if (max === undefined) {
|
|
70
|
-
return function () { return true; };
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
return function (v) { return v.comparedTo(max) <= 0; };
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
if (max === undefined) {
|
|
78
|
-
return function (v) { return 0 <= v.comparedTo(min); };
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
return function (v) { return 0 <= v.comparedTo(min) && v.comparedTo(max) <= 0; };
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
exports.validateDecimalGenerator = validateDecimalGenerator;
|
|
86
|
-
var validateStringGenerator = function (_a) {
|
|
87
|
-
var regex = _a.regex, min = _a.min, max = _a.max;
|
|
88
|
-
if (regex === undefined) {
|
|
89
|
-
if (min === undefined) {
|
|
90
|
-
if (max === undefined) {
|
|
91
|
-
return function () { return true; };
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
return function (v) { return v.length <= max; };
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
if (max === undefined) {
|
|
99
|
-
return function (v) { return min <= v.length; };
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
return function (v) { return min <= v.length && v.length <= max; };
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
if (min === undefined) {
|
|
108
|
-
if (max === undefined) {
|
|
109
|
-
return function (v) { return regex.test(v); };
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
return function (v) { return regex.test(v) && v.length <= max; };
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
if (max === undefined) {
|
|
117
|
-
return function (v) { return regex.test(v) && min <= v.length; };
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
return function (v) { return regex.test(v) && min <= v.length && v.length <= max; };
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
};
|
|
125
|
-
exports.validateStringGenerator = validateStringGenerator;
|
|
126
|
-
var createModelUtils = function (columns, custom) {
|
|
127
|
-
var columnsParseAndValidate = Object.fromEntries(Object.entries(columns).map(function (_a) {
|
|
128
|
-
var _b, _c, _d, _e, _f, _g, _h, _j;
|
|
129
|
-
var key = _a[0], val = _a[1];
|
|
130
|
-
var parseFun = (_b = custom === null || custom === void 0 ? void 0 : custom.parse) === null || _b === void 0 ? void 0 : _b[key];
|
|
131
|
-
if (parseFun === undefined) {
|
|
132
|
-
switch (val.type) {
|
|
133
|
-
case 'boolean':
|
|
134
|
-
parseFun = Parser.boolean;
|
|
135
|
-
break;
|
|
136
|
-
case 'smallint':
|
|
137
|
-
case 'integer':
|
|
138
|
-
parseFun = Parser.integer;
|
|
139
|
-
break;
|
|
140
|
-
case 'real':
|
|
141
|
-
case 'double precision':
|
|
142
|
-
parseFun = Parser.number;
|
|
143
|
-
break;
|
|
144
|
-
case 'bigint':
|
|
145
|
-
parseFun = Parser.bigInt;
|
|
146
|
-
break;
|
|
147
|
-
case 'numeric':
|
|
148
|
-
parseFun = Parser.decimal;
|
|
149
|
-
break;
|
|
150
|
-
case 'character':
|
|
151
|
-
case 'character varying':
|
|
152
|
-
case 'text':
|
|
153
|
-
case 'uuid':
|
|
154
|
-
parseFun = Parser.string;
|
|
155
|
-
break;
|
|
156
|
-
case 'date':
|
|
157
|
-
case 'timestamp without time zone':
|
|
158
|
-
case 'timestamp with time zone':
|
|
159
|
-
parseFun = Parser.date;
|
|
160
|
-
break;
|
|
161
|
-
case 'json':
|
|
162
|
-
case 'jsonb':
|
|
163
|
-
parseFun = Parser.json;
|
|
164
|
-
break;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
var validateFun = (_c = custom === null || custom === void 0 ? void 0 : custom.validate) === null || _c === void 0 ? void 0 : _c[key];
|
|
168
|
-
if (validateFun === undefined) {
|
|
169
|
-
switch (val.type) {
|
|
170
|
-
case 'smallint':
|
|
171
|
-
validateFun = validateNumberGenerator({
|
|
172
|
-
min: (_d = val.min) !== null && _d !== void 0 ? _d : smallIntRange.min,
|
|
173
|
-
max: (_e = val.max) !== null && _e !== void 0 ? _e : smallIntRange.max
|
|
174
|
-
});
|
|
175
|
-
break;
|
|
176
|
-
case 'integer':
|
|
177
|
-
validateFun = validateNumberGenerator({
|
|
178
|
-
min: (_f = val.min) !== null && _f !== void 0 ? _f : integerRange.min,
|
|
179
|
-
max: (_g = val.max) !== null && _g !== void 0 ? _g : integerRange.max
|
|
180
|
-
});
|
|
181
|
-
break;
|
|
182
|
-
case 'bigint':
|
|
183
|
-
validateFun = validateNumberGenerator({
|
|
184
|
-
min: (_h = val.min) !== null && _h !== void 0 ? _h : bigIntRange.min,
|
|
185
|
-
max: (_j = val.max) !== null && _j !== void 0 ? _j : bigIntRange.max
|
|
186
|
-
});
|
|
187
|
-
break;
|
|
188
|
-
case 'real':
|
|
189
|
-
case 'double precision':
|
|
190
|
-
if (val.min !== undefined || val.max !== undefined) {
|
|
191
|
-
validateFun = validateNumberGenerator({ min: val.min, max: val.max });
|
|
192
|
-
}
|
|
193
|
-
else {
|
|
194
|
-
validateFun = function () { return true; };
|
|
195
|
-
}
|
|
196
|
-
break;
|
|
197
|
-
case 'numeric':
|
|
198
|
-
if (val.min !== undefined || val.max !== undefined) {
|
|
199
|
-
validateFun = validateDecimalGenerator({ min: val.min, max: val.max });
|
|
200
|
-
}
|
|
201
|
-
else {
|
|
202
|
-
validateFun = function () { return true; };
|
|
203
|
-
}
|
|
204
|
-
break;
|
|
205
|
-
case 'character':
|
|
206
|
-
case 'character varying':
|
|
207
|
-
if (val.minLength !== undefined || val.maxLength !== undefined || val.regex !== undefined) {
|
|
208
|
-
validateFun = validateStringGenerator({
|
|
209
|
-
regex: val.regex,
|
|
210
|
-
min: val.minLength,
|
|
211
|
-
max: val.maxLength
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
|
-
else {
|
|
215
|
-
validateFun = function () { return true; };
|
|
216
|
-
}
|
|
217
|
-
break;
|
|
218
|
-
case 'boolean':
|
|
219
|
-
case 'text':
|
|
220
|
-
case 'uuid':
|
|
221
|
-
case 'date':
|
|
222
|
-
case 'timestamp without time zone':
|
|
223
|
-
case 'timestamp with time zone':
|
|
224
|
-
case 'json':
|
|
225
|
-
case 'jsonb':
|
|
226
|
-
validateFun = function () { return true; };
|
|
227
|
-
break;
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
var parseWithValidate = function (v, validate) {
|
|
231
|
-
if (validate === void 0) { validate = false; }
|
|
232
|
-
var parsedValue = parseFun(v);
|
|
233
|
-
if (validate && parsedValue !== undefined && !validateFun(parsedValue)) {
|
|
234
|
-
return undefined;
|
|
235
|
-
}
|
|
236
|
-
return parsedValue;
|
|
237
|
-
};
|
|
238
|
-
return [key, { Parse: parseWithValidate, Validate: validateFun }];
|
|
239
|
-
}));
|
|
240
|
-
return __assign({ Parse: function (data, requires, optionals, validate) {
|
|
241
|
-
if (validate === void 0) { validate = false; }
|
|
242
|
-
var result = {};
|
|
243
|
-
var require;
|
|
244
|
-
for (var _i = 0, requires_1 = requires; _i < requires_1.length; _i++) {
|
|
245
|
-
require = requires_1[_i];
|
|
246
|
-
if (data[require] === undefined) {
|
|
247
|
-
return (0, never_catch_1.err)(require);
|
|
248
|
-
}
|
|
249
|
-
result[require] = columnsParseAndValidate[require].Parse(data[require]);
|
|
250
|
-
if (result[require] === undefined) {
|
|
251
|
-
return (0, never_catch_1.err)(require);
|
|
252
|
-
}
|
|
253
|
-
if (validate && !columnsParseAndValidate[require].Validate(result[require])) {
|
|
254
|
-
return (0, never_catch_1.err)(require);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
var optional;
|
|
258
|
-
for (var _a = 0, optionals_1 = optionals; _a < optionals_1.length; _a++) {
|
|
259
|
-
optional = optionals_1[_a];
|
|
260
|
-
if (data[optional] === undefined) {
|
|
261
|
-
continue;
|
|
262
|
-
}
|
|
263
|
-
result[optional] = columnsParseAndValidate[optional].Parse(data[optional]);
|
|
264
|
-
if (result[optional] === undefined) {
|
|
265
|
-
return (0, never_catch_1.err)(optional);
|
|
266
|
-
}
|
|
267
|
-
if (validate && !columnsParseAndValidate[optional].Validate(result[optional])) {
|
|
268
|
-
return (0, never_catch_1.err)(optional);
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
return (0, never_catch_1.ok)(result);
|
|
272
|
-
}, Validate: function (data) {
|
|
273
|
-
var dataKey;
|
|
274
|
-
for (dataKey in data) {
|
|
275
|
-
if (!columnsParseAndValidate[dataKey].Validate(data[dataKey])) {
|
|
276
|
-
return (0, never_catch_1.err)(dataKey);
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
return (0, never_catch_1.ok)(undefined);
|
|
280
|
-
} }, columnsParseAndValidate);
|
|
281
|
-
};
|
|
282
|
-
exports.createModelUtils = createModelUtils;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.validateStringGenerator = exports.validateDecimalGenerator = exports.validateNumberGenerator = exports.createModelUtils = void 0;
|
|
38
|
+
var Parser = __importStar(require("./parser"));
|
|
39
|
+
var never_catch_1 = require("never-catch");
|
|
40
|
+
var smallIntRange = { min: -32768, max: 32767 };
|
|
41
|
+
var integerRange = { min: -2147483648, max: 2147483647 };
|
|
42
|
+
var bigIntRange = {
|
|
43
|
+
min: BigInt('-9223372036854775808'),
|
|
44
|
+
max: BigInt('9223372036854775807')
|
|
45
|
+
};
|
|
46
|
+
var validateNumberGenerator = function (_a) {
|
|
47
|
+
var min = _a.min, max = _a.max;
|
|
48
|
+
if (min === undefined) {
|
|
49
|
+
if (max === undefined) {
|
|
50
|
+
return function () { return true; };
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
return function (v) { return v <= max; };
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
if (max === undefined) {
|
|
58
|
+
return function (v) { return min <= v; };
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
return function (v) { return min <= v && v <= max; };
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
exports.validateNumberGenerator = validateNumberGenerator;
|
|
66
|
+
var validateDecimalGenerator = function (_a) {
|
|
67
|
+
var min = _a.min, max = _a.max;
|
|
68
|
+
if (min === undefined) {
|
|
69
|
+
if (max === undefined) {
|
|
70
|
+
return function () { return true; };
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
return function (v) { return v.comparedTo(max) <= 0; };
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
if (max === undefined) {
|
|
78
|
+
return function (v) { return 0 <= v.comparedTo(min); };
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
return function (v) { return 0 <= v.comparedTo(min) && v.comparedTo(max) <= 0; };
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
exports.validateDecimalGenerator = validateDecimalGenerator;
|
|
86
|
+
var validateStringGenerator = function (_a) {
|
|
87
|
+
var regex = _a.regex, min = _a.min, max = _a.max;
|
|
88
|
+
if (regex === undefined) {
|
|
89
|
+
if (min === undefined) {
|
|
90
|
+
if (max === undefined) {
|
|
91
|
+
return function () { return true; };
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
return function (v) { return v.length <= max; };
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
if (max === undefined) {
|
|
99
|
+
return function (v) { return min <= v.length; };
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
return function (v) { return min <= v.length && v.length <= max; };
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
if (min === undefined) {
|
|
108
|
+
if (max === undefined) {
|
|
109
|
+
return function (v) { return regex.test(v); };
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
return function (v) { return regex.test(v) && v.length <= max; };
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
if (max === undefined) {
|
|
117
|
+
return function (v) { return regex.test(v) && min <= v.length; };
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
return function (v) { return regex.test(v) && min <= v.length && v.length <= max; };
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
exports.validateStringGenerator = validateStringGenerator;
|
|
126
|
+
var createModelUtils = function (columns, custom) {
|
|
127
|
+
var columnsParseAndValidate = Object.fromEntries(Object.entries(columns).map(function (_a) {
|
|
128
|
+
var _b, _c, _d, _e, _f, _g, _h, _j;
|
|
129
|
+
var key = _a[0], val = _a[1];
|
|
130
|
+
var parseFun = (_b = custom === null || custom === void 0 ? void 0 : custom.parse) === null || _b === void 0 ? void 0 : _b[key];
|
|
131
|
+
if (parseFun === undefined) {
|
|
132
|
+
switch (val.type) {
|
|
133
|
+
case 'boolean':
|
|
134
|
+
parseFun = Parser.boolean;
|
|
135
|
+
break;
|
|
136
|
+
case 'smallint':
|
|
137
|
+
case 'integer':
|
|
138
|
+
parseFun = Parser.integer;
|
|
139
|
+
break;
|
|
140
|
+
case 'real':
|
|
141
|
+
case 'double precision':
|
|
142
|
+
parseFun = Parser.number;
|
|
143
|
+
break;
|
|
144
|
+
case 'bigint':
|
|
145
|
+
parseFun = Parser.bigInt;
|
|
146
|
+
break;
|
|
147
|
+
case 'numeric':
|
|
148
|
+
parseFun = Parser.decimal;
|
|
149
|
+
break;
|
|
150
|
+
case 'character':
|
|
151
|
+
case 'character varying':
|
|
152
|
+
case 'text':
|
|
153
|
+
case 'uuid':
|
|
154
|
+
parseFun = Parser.string;
|
|
155
|
+
break;
|
|
156
|
+
case 'date':
|
|
157
|
+
case 'timestamp without time zone':
|
|
158
|
+
case 'timestamp with time zone':
|
|
159
|
+
parseFun = Parser.date;
|
|
160
|
+
break;
|
|
161
|
+
case 'json':
|
|
162
|
+
case 'jsonb':
|
|
163
|
+
parseFun = Parser.json;
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
var validateFun = (_c = custom === null || custom === void 0 ? void 0 : custom.validate) === null || _c === void 0 ? void 0 : _c[key];
|
|
168
|
+
if (validateFun === undefined) {
|
|
169
|
+
switch (val.type) {
|
|
170
|
+
case 'smallint':
|
|
171
|
+
validateFun = validateNumberGenerator({
|
|
172
|
+
min: (_d = val.min) !== null && _d !== void 0 ? _d : smallIntRange.min,
|
|
173
|
+
max: (_e = val.max) !== null && _e !== void 0 ? _e : smallIntRange.max
|
|
174
|
+
});
|
|
175
|
+
break;
|
|
176
|
+
case 'integer':
|
|
177
|
+
validateFun = validateNumberGenerator({
|
|
178
|
+
min: (_f = val.min) !== null && _f !== void 0 ? _f : integerRange.min,
|
|
179
|
+
max: (_g = val.max) !== null && _g !== void 0 ? _g : integerRange.max
|
|
180
|
+
});
|
|
181
|
+
break;
|
|
182
|
+
case 'bigint':
|
|
183
|
+
validateFun = validateNumberGenerator({
|
|
184
|
+
min: (_h = val.min) !== null && _h !== void 0 ? _h : bigIntRange.min,
|
|
185
|
+
max: (_j = val.max) !== null && _j !== void 0 ? _j : bigIntRange.max
|
|
186
|
+
});
|
|
187
|
+
break;
|
|
188
|
+
case 'real':
|
|
189
|
+
case 'double precision':
|
|
190
|
+
if (val.min !== undefined || val.max !== undefined) {
|
|
191
|
+
validateFun = validateNumberGenerator({ min: val.min, max: val.max });
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
validateFun = function () { return true; };
|
|
195
|
+
}
|
|
196
|
+
break;
|
|
197
|
+
case 'numeric':
|
|
198
|
+
if (val.min !== undefined || val.max !== undefined) {
|
|
199
|
+
validateFun = validateDecimalGenerator({ min: val.min, max: val.max });
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
validateFun = function () { return true; };
|
|
203
|
+
}
|
|
204
|
+
break;
|
|
205
|
+
case 'character':
|
|
206
|
+
case 'character varying':
|
|
207
|
+
if (val.minLength !== undefined || val.maxLength !== undefined || val.regex !== undefined) {
|
|
208
|
+
validateFun = validateStringGenerator({
|
|
209
|
+
regex: val.regex,
|
|
210
|
+
min: val.minLength,
|
|
211
|
+
max: val.maxLength
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
validateFun = function () { return true; };
|
|
216
|
+
}
|
|
217
|
+
break;
|
|
218
|
+
case 'boolean':
|
|
219
|
+
case 'text':
|
|
220
|
+
case 'uuid':
|
|
221
|
+
case 'date':
|
|
222
|
+
case 'timestamp without time zone':
|
|
223
|
+
case 'timestamp with time zone':
|
|
224
|
+
case 'json':
|
|
225
|
+
case 'jsonb':
|
|
226
|
+
validateFun = function () { return true; };
|
|
227
|
+
break;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
var parseWithValidate = function (v, validate) {
|
|
231
|
+
if (validate === void 0) { validate = false; }
|
|
232
|
+
var parsedValue = parseFun(v);
|
|
233
|
+
if (validate && parsedValue !== undefined && !validateFun(parsedValue)) {
|
|
234
|
+
return undefined;
|
|
235
|
+
}
|
|
236
|
+
return parsedValue;
|
|
237
|
+
};
|
|
238
|
+
return [key, { Parse: parseWithValidate, Validate: validateFun }];
|
|
239
|
+
}));
|
|
240
|
+
return __assign({ Parse: function (data, requires, optionals, validate) {
|
|
241
|
+
if (validate === void 0) { validate = false; }
|
|
242
|
+
var result = {};
|
|
243
|
+
var require;
|
|
244
|
+
for (var _i = 0, requires_1 = requires; _i < requires_1.length; _i++) {
|
|
245
|
+
require = requires_1[_i];
|
|
246
|
+
if (data[require] === undefined) {
|
|
247
|
+
return (0, never_catch_1.err)(require);
|
|
248
|
+
}
|
|
249
|
+
result[require] = columnsParseAndValidate[require].Parse(data[require]);
|
|
250
|
+
if (result[require] === undefined) {
|
|
251
|
+
return (0, never_catch_1.err)(require);
|
|
252
|
+
}
|
|
253
|
+
if (validate && !columnsParseAndValidate[require].Validate(result[require])) {
|
|
254
|
+
return (0, never_catch_1.err)(require);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
var optional;
|
|
258
|
+
for (var _a = 0, optionals_1 = optionals; _a < optionals_1.length; _a++) {
|
|
259
|
+
optional = optionals_1[_a];
|
|
260
|
+
if (data[optional] === undefined) {
|
|
261
|
+
continue;
|
|
262
|
+
}
|
|
263
|
+
result[optional] = columnsParseAndValidate[optional].Parse(data[optional]);
|
|
264
|
+
if (result[optional] === undefined) {
|
|
265
|
+
return (0, never_catch_1.err)(optional);
|
|
266
|
+
}
|
|
267
|
+
if (validate && !columnsParseAndValidate[optional].Validate(result[optional])) {
|
|
268
|
+
return (0, never_catch_1.err)(optional);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
return (0, never_catch_1.ok)(result);
|
|
272
|
+
}, Validate: function (data) {
|
|
273
|
+
var dataKey;
|
|
274
|
+
for (dataKey in data) {
|
|
275
|
+
if (!columnsParseAndValidate[dataKey].Validate(data[dataKey])) {
|
|
276
|
+
return (0, never_catch_1.err)(dataKey);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
return (0, never_catch_1.ok)(undefined);
|
|
280
|
+
} }, columnsParseAndValidate);
|
|
281
|
+
};
|
|
282
|
+
exports.createModelUtils = createModelUtils;
|
|
283
283
|
//# sourceMappingURL=model.js.map
|
package/dist/parser.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import Decimal from 'decimal.js';
|
|
2
|
-
import { JSON as Json } from './types/json';
|
|
3
|
-
declare const boolean: (v: unknown) => boolean | undefined;
|
|
4
|
-
declare const number: (v: unknown) => number | undefined;
|
|
5
|
-
declare const integer: (v: unknown) => number | undefined;
|
|
6
|
-
declare const bigInt: (v: unknown) => bigint | undefined;
|
|
7
|
-
declare const decimal: (v: unknown) => Decimal | undefined;
|
|
8
|
-
declare const string: (v: unknown) => string | undefined;
|
|
9
|
-
declare const date: (v: unknown) => Date | undefined;
|
|
10
|
-
declare const json: (v: unknown) => Json | undefined;
|
|
11
|
-
export { boolean, number, integer, bigInt, decimal, string, date, json };
|
|
1
|
+
import Decimal from 'decimal.js';
|
|
2
|
+
import { JSON as Json } from './types/json';
|
|
3
|
+
declare const boolean: (v: unknown) => boolean | undefined;
|
|
4
|
+
declare const number: (v: unknown) => number | undefined;
|
|
5
|
+
declare const integer: (v: unknown) => number | undefined;
|
|
6
|
+
declare const bigInt: (v: unknown) => bigint | undefined;
|
|
7
|
+
declare const decimal: (v: unknown) => Decimal | undefined;
|
|
8
|
+
declare const string: (v: unknown) => string | undefined;
|
|
9
|
+
declare const date: (v: unknown) => Date | undefined;
|
|
10
|
+
declare const json: (v: unknown) => Json | undefined;
|
|
11
|
+
export { boolean, number, integer, bigInt, decimal, string, date, json };
|
|
12
12
|
//# sourceMappingURL=parser.d.ts.map
|
package/dist/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,cAAc,CAAC;AAE5C,QAAA,MAAM,OAAO,MAAO,OAAO,KAAG,OAAO,GAAG,SAgBvC,CAAC;AACF,QAAA,MAAM,MAAM,MAAO,OAAO,KAAG,MAAM,GAAG,SAUrC,CAAC;AACF,QAAA,MAAM,OAAO,MAAO,OAAO,KAAG,MAAM,GAAG,SAGtC,CAAC;AACF,QAAA,MAAM,MAAM,MAAO,OAAO,KAAG,MAAM,GAAG,SAerC,CAAC;AACF,QAAA,MAAM,OAAO,MAAO,OAAO,KAAG,OAAO,GAAG,SAgBvC,CAAC;AACF,QAAA,MAAM,MAAM,MAAO,OAAO,KAAG,MAAM,GAAG,SAWrC,CAAC;AACF,QAAA,MAAM,IAAI,MAAO,OAAO,KAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,cAAc,CAAC;AAE5C,QAAA,MAAM,OAAO,MAAO,OAAO,KAAG,OAAO,GAAG,SAgBvC,CAAC;AACF,QAAA,MAAM,MAAM,MAAO,OAAO,KAAG,MAAM,GAAG,SAUrC,CAAC;AACF,QAAA,MAAM,OAAO,MAAO,OAAO,KAAG,MAAM,GAAG,SAGtC,CAAC;AACF,QAAA,MAAM,MAAM,MAAO,OAAO,KAAG,MAAM,GAAG,SAerC,CAAC;AACF,QAAA,MAAM,OAAO,MAAO,OAAO,KAAG,OAAO,GAAG,SAgBvC,CAAC;AACF,QAAA,MAAM,MAAM,MAAO,OAAO,KAAG,MAAM,GAAG,SAWrC,CAAC;AACF,QAAA,MAAM,IAAI,MAAO,OAAO,KAAG,IAAI,GAAG,SAYjC,CAAC;AACF,QAAA,MAAM,IAAI,MAAO,OAAO,KAAG,IAAI,GAAG,SAcjC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC"}
|