@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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/srv/PostgresSrv.mjs +23 -12
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ejfdelgado/ejflab-back",
3
- "version": "1.8.4",
3
+ "version": "1.8.6",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/ejfdelgado/ejflab-back.git"
@@ -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
- "sanitizeNumber",
13
- PostgresSrv.sanitizeNumber
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 0;
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: 0, def: undefined },
136
- { type: 'sanitizeNumber', in: null, expected: 0, def: undefined },
137
- { type: 'sanitizeNumber', in: "", expected: 0, def: undefined },
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();