prostgles-server 2.0.144 → 2.0.147

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 (77) hide show
  1. package/dist/AuthHandler.d.ts +15 -13
  2. package/dist/AuthHandler.d.ts.map +1 -1
  3. package/dist/AuthHandler.js +41 -43
  4. package/dist/AuthHandler.js.map +1 -1
  5. package/dist/DBEventsManager.d.ts +6 -5
  6. package/dist/DBEventsManager.d.ts.map +1 -1
  7. package/dist/DBEventsManager.js +8 -2
  8. package/dist/DBEventsManager.js.map +1 -1
  9. package/dist/DboBuilder.d.ts +62 -50
  10. package/dist/DboBuilder.d.ts.map +1 -1
  11. package/dist/DboBuilder.js +229 -170
  12. package/dist/DboBuilder.js.map +1 -1
  13. package/dist/FileManager.d.ts +5 -5
  14. package/dist/FileManager.d.ts.map +1 -1
  15. package/dist/FileManager.js +48 -21
  16. package/dist/FileManager.js.map +1 -1
  17. package/dist/Filtering.d.ts.map +1 -1
  18. package/dist/Filtering.js +11 -9
  19. package/dist/Filtering.js.map +1 -1
  20. package/dist/PostgresNotifListenManager.d.ts +3 -3
  21. package/dist/PostgresNotifListenManager.d.ts.map +1 -1
  22. package/dist/PostgresNotifListenManager.js +7 -5
  23. package/dist/PostgresNotifListenManager.js.map +1 -1
  24. package/dist/Prostgles.d.ts +6 -9
  25. package/dist/Prostgles.d.ts.map +1 -1
  26. package/dist/Prostgles.js +122 -83
  27. package/dist/Prostgles.js.map +1 -1
  28. package/dist/PubSubManager.d.ts +9 -9
  29. package/dist/PubSubManager.d.ts.map +1 -1
  30. package/dist/PubSubManager.js +10 -9
  31. package/dist/PubSubManager.js.map +1 -1
  32. package/dist/QueryBuilder.d.ts +26 -8
  33. package/dist/QueryBuilder.d.ts.map +1 -1
  34. package/dist/QueryBuilder.js +114 -46
  35. package/dist/QueryBuilder.js.map +1 -1
  36. package/dist/SyncReplication.d.ts +1 -1
  37. package/dist/SyncReplication.d.ts.map +1 -1
  38. package/dist/SyncReplication.js +31 -29
  39. package/dist/SyncReplication.js.map +1 -1
  40. package/dist/TableConfig.d.ts +0 -1
  41. package/dist/TableConfig.d.ts.map +1 -1
  42. package/dist/TableConfig.js +25 -17
  43. package/dist/TableConfig.js.map +1 -1
  44. package/dist/shortestPath.d.ts.map +1 -1
  45. package/dist/shortestPath.js.map +1 -1
  46. package/dist/utils.d.ts +2 -0
  47. package/dist/utils.d.ts.map +1 -1
  48. package/dist/utils.js +6 -0
  49. package/dist/utils.js.map +1 -1
  50. package/lib/AuthHandler.ts +50 -40
  51. package/lib/DBEventsManager.ts +14 -7
  52. package/lib/DboBuilder.ts +265 -199
  53. package/lib/FileManager.ts +30 -21
  54. package/lib/Filtering.ts +19 -16
  55. package/lib/PostgresNotifListenManager.ts +11 -10
  56. package/lib/Prostgles.ts +89 -73
  57. package/lib/PubSubManager.ts +13 -11
  58. package/lib/QueryBuilder.ts +135 -54
  59. package/lib/SyncReplication.ts +10 -10
  60. package/lib/TableConfig.ts +23 -15
  61. package/lib/shortestPath.ts +6 -4
  62. package/lib/utils.ts +7 -1
  63. package/package.json +7 -8
  64. package/tests/client/PID.txt +1 -1
  65. package/tests/client/index.js +10 -7
  66. package/tests/client/index.ts +12 -8
  67. package/tests/client/package-lock.json +14 -14
  68. package/tests/client/package.json +2 -2
  69. package/tests/client/tsconfig.json +2 -2
  70. package/tests/client_only_queries.js +127 -104
  71. package/tests/client_only_queries.ts +43 -17
  72. package/tests/isomorphic_queries.js +44 -6
  73. package/tests/isomorphic_queries.ts +42 -6
  74. package/tests/server/package-lock.json +27 -29
  75. package/tests/server/package.json +2 -2
  76. package/tests/server/tsconfig.json +2 -2
  77. package/tsconfig.json +3 -2
@@ -4,21 +4,33 @@ import { DbHandler} from "../dist/Prostgles";
4
4
  import { DBHandlerClient } from "./client/index";
5
5
  import * as fs from "fs";
6
6
 
7
- export async function tryRun(desc: string, func: () => any){
7
+ export async function tryRun(desc: string, func: () => any, log?: Function){
8
8
  try {
9
9
  await func();
10
10
  } catch(err) {
11
11
  console.error(desc + " FAILED:");
12
- throw err;
12
+ log?.("FAIL: ", err);
13
+ setTimeout(() => {
14
+ throw err;
15
+
16
+ }, 2000)
13
17
  }
14
18
  }
15
- export function tryRunP(desc: string, func: (resolve: any, reject: any) => any){
16
- return new Promise((rv, rj) => {
17
- func(rv, rj)
19
+ export function tryRunP(desc: string, func: (resolve: any, reject: any) => any, log?: Function){
20
+ return new Promise(async (rv, rj) => {
21
+ try {
22
+ await func(rv, rj)
23
+ } catch(err: any){
24
+ log?.(JSON.stringify(err));
25
+ setTimeout(() => {
26
+ log?.("Throw err");
27
+ throw err;
28
+ }, 1000)
29
+ }
18
30
  });
19
31
  }
20
32
 
21
- export default async function isomorphic(db: Partial<DbHandler> | Partial<DBHandlerClient>){
33
+ export default async function isomorphic(db: Partial<DbHandler> | Partial<DBHandlerClient>) {
22
34
  console.log("Starting isomorphic queries");
23
35
 
24
36
  if(await db.items.count()){
@@ -353,8 +365,32 @@ export default async function isomorphic(db: Partial<DbHandler> | Partial<DBHand
353
365
  assert.equal(res, 1)
354
366
  });
355
367
 
368
+ await tryRun("Complex filtering", async () => {
369
+ const res = await db.various.count({
370
+ $and: [
371
+ {
372
+ $filter: [
373
+ { $year: ["added"] },
374
+ "=",
375
+ '1996'
376
+ ]
377
+ },
378
+ {
379
+ $filter: [
380
+ { $Mon: ["added"] },
381
+ "=",
382
+ 'Dec'
383
+ ]
384
+ }
385
+
386
+ ]
387
+ });
388
+ assert.equal(res, 1)
389
+ });
390
+
356
391
  await tryRun("template_string function", async () => {
357
392
  const res = await db.various.findOne({ name: 'abc9' }, { select: { tstr: { $template_string: ["{name} is hehe"] } } });
393
+ const res2 = await db.various.findOne({ name: 'abc9' }, { select: { tstr: { $template_string: ["is hehe"] } } });
358
394
  assert.equal(res.tstr, "'abc9 is hehe'")
359
395
  });
360
396
 
@@ -14,32 +14,31 @@
14
14
  "@types/socket.io-client": "^1.4.34",
15
15
  "express": "^4.17.1",
16
16
  "prostgles-server": "file:../..",
17
- "socket.io": "^4.5.0"
17
+ "socket.io": "^4.5.1"
18
18
  },
19
19
  "devDependencies": {
20
20
  "tsc-watch": "^4.5.0",
21
- "typescript": "^4.1.3"
21
+ "typescript": "^4.7.2"
22
22
  }
23
23
  },
24
24
  "../..": {
25
25
  "name": "prostgles-server",
26
- "version": "2.0.143",
26
+ "version": "2.0.146",
27
27
  "license": "MIT",
28
28
  "dependencies": {
29
- "@aws-sdk/client-s3": "^3.86.0",
30
- "aws-sdk": "^2.1134.0",
29
+ "@aws-sdk/client-s3": "^3.95.0",
30
+ "aws-sdk": "^2.1141.0",
31
31
  "bluebird": "^3.7.2",
32
32
  "file-type": "^16.5.3",
33
- "i": "^0.3.7",
34
- "npm": "^8.1.4",
35
- "pg-promise": "^10.9.5",
36
- "prostgles-types": "^1.5.123",
37
- "sharp": "^0.30.4"
33
+ "pg-promise": "^10.11.1",
34
+ "prostgles-types": "^1.5.124",
35
+ "sharp": "^0.30.5"
38
36
  },
39
37
  "devDependencies": {
40
38
  "@aws-sdk/types": "^3.34.0",
41
39
  "@types/bluebird": "^3.5.36",
42
40
  "@types/node": "^14.14.35",
41
+ "@types/sharp": "^0.30.2",
43
42
  "typescript": "^3.9.7"
44
43
  }
45
44
  },
@@ -735,9 +734,9 @@
735
734
  }
736
735
  },
737
736
  "node_modules/socket.io": {
738
- "version": "4.5.0",
739
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.0.tgz",
740
- "integrity": "sha512-slTYqU2jCgMjXwresG8grhUi/cC6GjzmcfqArzaH3BN/9I/42eZk9yamNvZJdBfTubkjEdKAKs12NEztId+bUA==",
737
+ "version": "4.5.1",
738
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz",
739
+ "integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==",
741
740
  "dependencies": {
742
741
  "accepts": "~1.3.4",
743
742
  "base64id": "~2.0.0",
@@ -909,9 +908,9 @@
909
908
  }
910
909
  },
911
910
  "node_modules/typescript": {
912
- "version": "4.4.3",
913
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz",
914
- "integrity": "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==",
911
+ "version": "4.7.2",
912
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz",
913
+ "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==",
915
914
  "dev": true,
916
915
  "bin": {
917
916
  "tsc": "bin/tsc",
@@ -1428,18 +1427,17 @@
1428
1427
  "prostgles-server": {
1429
1428
  "version": "file:../..",
1430
1429
  "requires": {
1431
- "@aws-sdk/client-s3": "^3.86.0",
1430
+ "@aws-sdk/client-s3": "^3.95.0",
1432
1431
  "@aws-sdk/types": "^3.34.0",
1433
1432
  "@types/bluebird": "^3.5.36",
1434
1433
  "@types/node": "^14.14.35",
1435
- "aws-sdk": "^2.1134.0",
1434
+ "@types/sharp": "^0.30.2",
1435
+ "aws-sdk": "^2.1141.0",
1436
1436
  "bluebird": "^3.7.2",
1437
1437
  "file-type": "^16.5.3",
1438
- "i": "^0.3.7",
1439
- "npm": "^8.1.4",
1440
- "pg-promise": "^10.9.5",
1441
- "prostgles-types": "^1.5.123",
1442
- "sharp": "^0.30.4",
1438
+ "pg-promise": "^10.11.1",
1439
+ "prostgles-types": "^1.5.124",
1440
+ "sharp": "^0.30.5",
1443
1441
  "typescript": "^3.9.7"
1444
1442
  }
1445
1443
  },
@@ -1551,9 +1549,9 @@
1551
1549
  "dev": true
1552
1550
  },
1553
1551
  "socket.io": {
1554
- "version": "4.5.0",
1555
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.0.tgz",
1556
- "integrity": "sha512-slTYqU2jCgMjXwresG8grhUi/cC6GjzmcfqArzaH3BN/9I/42eZk9yamNvZJdBfTubkjEdKAKs12NEztId+bUA==",
1552
+ "version": "4.5.1",
1553
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz",
1554
+ "integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==",
1557
1555
  "requires": {
1558
1556
  "accepts": "~1.3.4",
1559
1557
  "base64id": "~2.0.0",
@@ -1680,9 +1678,9 @@
1680
1678
  }
1681
1679
  },
1682
1680
  "typescript": {
1683
- "version": "4.4.3",
1684
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz",
1685
- "integrity": "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==",
1681
+ "version": "4.7.2",
1682
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz",
1683
+ "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==",
1686
1684
  "dev": true
1687
1685
  },
1688
1686
  "unpipe": {
@@ -18,10 +18,10 @@
18
18
  "@types/socket.io-client": "^1.4.34",
19
19
  "express": "^4.17.1",
20
20
  "prostgles-server": "file:../..",
21
- "socket.io": "^4.5.0"
21
+ "socket.io": "^4.5.1"
22
22
  },
23
23
  "devDependencies": {
24
24
  "tsc-watch": "^4.5.0",
25
- "typescript": "^4.1.3"
25
+ "typescript": "^4.7.2"
26
26
  }
27
27
  }
@@ -2,8 +2,8 @@
2
2
  "files": ["./index.ts"],
3
3
  "compilerOptions": {
4
4
  // "outDir": "dist",
5
- "target": "es2019",
6
- "lib": [ "es2019" ],
5
+ "target": "es2020",
6
+ "lib": [ "es2020" ],
7
7
  "esModuleInterop" : true,
8
8
  "allowSyntheticDefaultImports": true,
9
9
  "allowJs": true,
package/tsconfig.json CHANGED
@@ -2,11 +2,11 @@
2
2
  // "files": ["lib/rootExport.ts"],
3
3
  "files": ["lib/index.ts"],
4
4
  "compilerOptions": {
5
- "target": "ES2017",
5
+ "target": "ES2020",
6
6
  "lib": [
7
7
  "es2019"
8
8
  ],
9
- // "strict": true,
9
+ "strict": true,
10
10
  "module": "commonjs",
11
11
  // "removeComments": true,
12
12
  "sourceMap": true,
@@ -17,6 +17,7 @@
17
17
  "resolveJsonModule": true,
18
18
  // "outFile": "bundle.js",
19
19
  // "moduleResolution": "node"
20
+ "keyofStringsOnly": true,
20
21
  "declaration": true,
21
22
  "declarationMap": true
22
23
  },