prostgles-server 2.0.145 → 2.0.148

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 (76) hide show
  1. package/dist/AuthHandler.d.ts +15 -13
  2. package/dist/AuthHandler.d.ts.map +1 -1
  3. package/dist/AuthHandler.js +43 -44
  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 +54 -50
  10. package/dist/DboBuilder.d.ts.map +1 -1
  11. package/dist/DboBuilder.js +275 -206
  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 +59 -31
  16. package/dist/FileManager.js.map +1 -1
  17. package/dist/Filtering.d.ts.map +1 -1
  18. package/dist/Filtering.js +17 -14
  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 +125 -86
  27. package/dist/Prostgles.js.map +1 -1
  28. package/dist/PubSubManager.d.ts +8 -8
  29. package/dist/PubSubManager.d.ts.map +1 -1
  30. package/dist/PubSubManager.js +58 -52
  31. package/dist/PubSubManager.js.map +1 -1
  32. package/dist/QueryBuilder.d.ts +21 -8
  33. package/dist/QueryBuilder.d.ts.map +1 -1
  34. package/dist/QueryBuilder.js +179 -107
  35. package/dist/QueryBuilder.js.map +1 -1
  36. package/dist/SyncReplication.js +38 -35
  37. package/dist/SyncReplication.js.map +1 -1
  38. package/dist/TableConfig.d.ts +0 -1
  39. package/dist/TableConfig.d.ts.map +1 -1
  40. package/dist/TableConfig.js +36 -28
  41. package/dist/TableConfig.js.map +1 -1
  42. package/dist/shortestPath.d.ts.map +1 -1
  43. package/dist/shortestPath.js +2 -1
  44. package/dist/shortestPath.js.map +1 -1
  45. package/dist/utils.d.ts +2 -0
  46. package/dist/utils.d.ts.map +1 -1
  47. package/dist/utils.js +7 -0
  48. package/dist/utils.js.map +1 -1
  49. package/lib/AuthHandler.ts +50 -40
  50. package/lib/DBEventsManager.ts +14 -7
  51. package/lib/DboBuilder.ts +265 -199
  52. package/lib/FileManager.ts +30 -21
  53. package/lib/Filtering.ts +19 -16
  54. package/lib/PostgresNotifListenManager.ts +11 -10
  55. package/lib/Prostgles.ts +89 -73
  56. package/lib/PubSubManager.ts +13 -11
  57. package/lib/QueryBuilder.ts +128 -55
  58. package/lib/SyncReplication.ts +10 -10
  59. package/lib/TableConfig.ts +23 -15
  60. package/lib/shortestPath.ts +6 -4
  61. package/lib/utils.ts +7 -1
  62. package/package.json +8 -9
  63. package/tests/client/PID.txt +1 -1
  64. package/tests/client/index.js +10 -7
  65. package/tests/client/index.ts +12 -8
  66. package/tests/client/package-lock.json +14 -14
  67. package/tests/client/package.json +2 -2
  68. package/tests/client/tsconfig.json +2 -2
  69. package/tests/client_only_queries.js +127 -104
  70. package/tests/client_only_queries.ts +43 -17
  71. package/tests/isomorphic_queries.js +43 -6
  72. package/tests/isomorphic_queries.ts +41 -6
  73. package/tests/server/package-lock.json +29 -31
  74. package/tests/server/package.json +2 -2
  75. package/tests/server/tsconfig.json +2 -2
  76. 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,6 +365,29 @@ 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"] } } });
358
393
  const res2 = await db.various.findOne({ name: 'abc9' }, { select: { tstr: { $template_string: ["is hehe"] } } });
@@ -14,33 +14,32 @@
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.144",
26
+ "version": "2.0.147",
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",
43
- "typescript": "^3.9.7"
41
+ "@types/sharp": "^0.30.2",
42
+ "typescript": "^4.7.2"
44
43
  }
45
44
  },
46
45
  "node_modules/@types/component-emitter": {
@@ -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,19 +1427,18 @@
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",
1443
- "typescript": "^3.9.7"
1438
+ "pg-promise": "^10.11.1",
1439
+ "prostgles-types": "^1.5.124",
1440
+ "sharp": "^0.30.5",
1441
+ "typescript": "^4.7.2"
1444
1442
  }
1445
1443
  },
1446
1444
  "proxy-addr": {
@@ -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
  },