@ejfdelgado/ejflab-back 1.8.4 → 1.8.6
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/package.json +1 -1
- package/srv/PostgresSrv.mjs +23 -12
package/package.json
CHANGED
package/srv/PostgresSrv.mjs
CHANGED
@@ -8,14 +8,9 @@ export class PostgresSrv {
|
|
8
8
|
static pool = null;
|
9
9
|
static {
|
10
10
|
PostgresSrv.renderer.registerFunction("noQuotes", PostgresSrv.noQuotes);
|
11
|
-
PostgresSrv.renderer.registerFunction(
|
12
|
-
|
13
|
-
|
14
|
-
);
|
15
|
-
PostgresSrv.renderer.registerFunction(
|
16
|
-
"sanitizeText",
|
17
|
-
PostgresSrv.sanitizeText
|
18
|
-
);
|
11
|
+
PostgresSrv.renderer.registerFunction("sanitizeNumber", PostgresSrv.sanitizeNumber);
|
12
|
+
PostgresSrv.renderer.registerFunction("sanitizeText", PostgresSrv.sanitizeText);
|
13
|
+
PostgresSrv.renderer.registerFunction("sanitizeTextNull", PostgresSrv.sanitizeTextNull);
|
19
14
|
const types = pg.types;
|
20
15
|
types.setTypeParser(types.builtins.INT8, function (val) {
|
21
16
|
const bigNumber = BigInt(val);
|
@@ -41,13 +36,20 @@ export class PostgresSrv {
|
|
41
36
|
text = PostgresSrv.noQuotes(text);
|
42
37
|
return text;
|
43
38
|
}
|
39
|
+
static sanitizeTextNull(val, ...args) {
|
40
|
+
if ([null, undefined].indexOf(val) >= 0) {
|
41
|
+
return "NULL";
|
42
|
+
}
|
43
|
+
let text = PostgresSrv.noQuotes(`${val}`, args);
|
44
|
+
return "'" + text + "'";
|
45
|
+
}
|
44
46
|
static sanitizeNumber(val, ...args) {
|
45
47
|
let myNumber = parseFloat(val);
|
46
48
|
if (isNaN(myNumber)) {
|
47
49
|
if (typeof args[0] == "number") {
|
48
50
|
return args[0];
|
49
51
|
}
|
50
|
-
return
|
52
|
+
return 'NULL';
|
51
53
|
}
|
52
54
|
return myNumber;
|
53
55
|
}
|
@@ -132,9 +134,9 @@ export class PostgresSrv {
|
|
132
134
|
|
133
135
|
static async simpleTest() {
|
134
136
|
const testsNumber = [
|
135
|
-
{ type: 'sanitizeNumber', in: undefined, expected:
|
136
|
-
{ type: 'sanitizeNumber', in: null, expected:
|
137
|
-
{ type: 'sanitizeNumber', in: "", expected:
|
137
|
+
{ type: 'sanitizeNumber', in: undefined, expected: 'NULL', def: undefined },
|
138
|
+
{ type: 'sanitizeNumber', in: null, expected: 'NULL', def: undefined },
|
139
|
+
{ type: 'sanitizeNumber', in: "", expected: 'NULL', def: undefined },
|
138
140
|
{ type: 'sanitizeNumber', in: undefined, expected: 1, def: 1 },
|
139
141
|
{ type: 'sanitizeNumber', in: null, expected: 1, def: 1 },
|
140
142
|
{ type: 'sanitizeNumber', in: "", expected: 1, def: 1 },
|
@@ -147,6 +149,12 @@ export class PostgresSrv {
|
|
147
149
|
{ type: 'sanitizeText', in: undefined, expected: "nothing", def: "nothing" },
|
148
150
|
{ type: 'sanitizeText', in: null, expected: "nothing", def: "nothing" },
|
149
151
|
{ type: 'sanitizeText', in: "", expected: "", def: "nothing" },
|
152
|
+
//
|
153
|
+
{ type: 'sanitizeTextNull', in: "", expected: "''", def: "" },
|
154
|
+
{ type: 'sanitizeTextNull', in: null, expected: "NULL", def: "" },
|
155
|
+
{ type: 'sanitizeTextNull', in: undefined, expected: "NULL", def: "" },
|
156
|
+
{ type: 'sanitizeTextNull', in: 5, expected: "'5'", def: "" },
|
157
|
+
{ type: 'sanitizeTextNull', in: "Prueba'", expected: "'Prueba'''", def: "" },
|
150
158
|
];
|
151
159
|
for (let i = 0; i < testsNumber.length; i++) {
|
152
160
|
const actual = testsNumber[i];
|
@@ -156,7 +164,10 @@ export class PostgresSrv {
|
|
156
164
|
}
|
157
165
|
}
|
158
166
|
console.log(`Test passed ${testsNumber.length}!`);
|
167
|
+
|
168
|
+
//console.log(PostgresSrv.renderer.render('Hola ${name} with age ${age | sanitizeNumber : 0}', {name: "Edgar", age: undefined}));
|
159
169
|
}
|
160
170
|
}
|
161
171
|
|
172
|
+
// node PostgresSrv.mjs
|
162
173
|
//PostgresSrv.simpleTest();
|