prostgles-server 3.0.86 → 3.0.88

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 (216) hide show
  1. package/.eslintignore +5 -0
  2. package/.eslintrc.json +30 -0
  3. package/dist/DBEventsManager.js +1 -1
  4. package/dist/DBEventsManager.js.map +1 -1
  5. package/dist/DBSchemaBuilder.d.ts.map +1 -1
  6. package/dist/DBSchemaBuilder.js +6 -6
  7. package/dist/DBSchemaBuilder.js.map +1 -1
  8. package/dist/DboBuilder/QueryBuilder/Functions.js +9 -9
  9. package/dist/DboBuilder/QueryBuilder/Functions.js.map +1 -1
  10. package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -1
  11. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js +8 -7
  12. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js.map +1 -1
  13. package/dist/DboBuilder/QueryBuilder/makeSelectQuery.d.ts.map +1 -1
  14. package/dist/DboBuilder/QueryBuilder/makeSelectQuery.js +4 -4
  15. package/dist/DboBuilder/QueryBuilder/makeSelectQuery.js.map +1 -1
  16. package/dist/DboBuilder/TableHandler.d.ts.map +1 -1
  17. package/dist/DboBuilder/TableHandler.js +18 -20
  18. package/dist/DboBuilder/TableHandler.js.map +1 -1
  19. package/dist/DboBuilder/ViewHandler.d.ts +0 -10
  20. package/dist/DboBuilder/ViewHandler.d.ts.map +1 -1
  21. package/dist/DboBuilder/ViewHandler.js +50 -63
  22. package/dist/DboBuilder/ViewHandler.js.map +1 -1
  23. package/dist/DboBuilder/delete.js +0 -1
  24. package/dist/DboBuilder/delete.js.map +1 -1
  25. package/dist/DboBuilder/getColumns.js +5 -4
  26. package/dist/DboBuilder/getColumns.js.map +1 -1
  27. package/dist/DboBuilder/getCondition.d.ts.map +1 -1
  28. package/dist/DboBuilder/getCondition.js +6 -6
  29. package/dist/DboBuilder/getCondition.js.map +1 -1
  30. package/dist/DboBuilder/insert.js +15 -16
  31. package/dist/DboBuilder/insert.js.map +1 -1
  32. package/dist/DboBuilder/insertDataParse.d.ts.map +1 -1
  33. package/dist/DboBuilder/insertDataParse.js +9 -10
  34. package/dist/DboBuilder/insertDataParse.js.map +1 -1
  35. package/dist/DboBuilder/parseUpdateRules.js +2 -2
  36. package/dist/DboBuilder/parseUpdateRules.js.map +1 -1
  37. package/dist/DboBuilder/runSQL.d.ts.map +1 -1
  38. package/dist/DboBuilder/runSQL.js +5 -5
  39. package/dist/DboBuilder/runSQL.js.map +1 -1
  40. package/dist/DboBuilder/subscribe.js +3 -3
  41. package/dist/DboBuilder/subscribe.js.map +1 -1
  42. package/dist/DboBuilder/update.js +5 -6
  43. package/dist/DboBuilder/update.js.map +1 -1
  44. package/dist/DboBuilder/uploadFile.d.ts.map +1 -1
  45. package/dist/DboBuilder/uploadFile.js +1 -1
  46. package/dist/DboBuilder/uploadFile.js.map +1 -1
  47. package/dist/DboBuilder.d.ts.map +1 -1
  48. package/dist/DboBuilder.js +13 -14
  49. package/dist/DboBuilder.js.map +1 -1
  50. package/dist/FileManager.d.ts.map +1 -1
  51. package/dist/FileManager.js +3 -5
  52. package/dist/FileManager.js.map +1 -1
  53. package/dist/Filtering.js +7 -7
  54. package/dist/Filtering.js.map +1 -1
  55. package/dist/JSONBValidation/validate_jsonb_schema_sql.d.ts +3 -0
  56. package/dist/JSONBValidation/validate_jsonb_schema_sql.d.ts.map +1 -0
  57. package/dist/JSONBValidation/validate_jsonb_schema_sql.js +295 -0
  58. package/dist/JSONBValidation/validate_jsonb_schema_sql.js.map +1 -0
  59. package/dist/JSONBValidation/validation.d.ts +108 -0
  60. package/dist/JSONBValidation/validation.d.ts.map +1 -0
  61. package/dist/JSONBValidation/validation.js +222 -0
  62. package/dist/JSONBValidation/validation.js.map +1 -0
  63. package/dist/PostgresNotifListenManager.js +1 -1
  64. package/dist/PostgresNotifListenManager.js.map +1 -1
  65. package/dist/Prostgles.d.ts.map +1 -1
  66. package/dist/Prostgles.js +20 -20
  67. package/dist/Prostgles.js.map +1 -1
  68. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  69. package/dist/PubSubManager/PubSubManager.js +10 -8
  70. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  71. package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -1
  72. package/dist/PubSubManager/initPubSubManager.js +10 -7
  73. package/dist/PubSubManager/initPubSubManager.js.map +1 -1
  74. package/dist/PublishParser.d.ts.map +1 -1
  75. package/dist/PublishParser.js +122 -125
  76. package/dist/PublishParser.js.map +1 -1
  77. package/dist/SyncReplication.d.ts.map +1 -1
  78. package/dist/SyncReplication.js +19 -16
  79. package/dist/SyncReplication.js.map +1 -1
  80. package/dist/TableConfig.d.ts +9 -5
  81. package/dist/TableConfig.d.ts.map +1 -1
  82. package/dist/TableConfig.js +33 -12
  83. package/dist/TableConfig.js.map +1 -1
  84. package/dist/index.js +1 -1
  85. package/dist/index.js.map +1 -1
  86. package/dist/shortestPath.js +11 -11
  87. package/dist/shortestPath.js.map +1 -1
  88. package/dist/validation.d.ts +50 -24
  89. package/dist/validation.d.ts.map +1 -1
  90. package/dist/validation.js +177 -53
  91. package/dist/validation.js.map +1 -1
  92. package/lib/AuthHandler.d.ts +11 -11
  93. package/lib/AuthHandler.d.ts.map +1 -1
  94. package/lib/DBEventsManager.js +1 -1
  95. package/lib/DBEventsManager.ts +1 -1
  96. package/lib/DBSchemaBuilder.d.ts +3 -3
  97. package/lib/DBSchemaBuilder.d.ts.map +1 -1
  98. package/lib/DBSchemaBuilder.js +6 -6
  99. package/lib/DBSchemaBuilder.ts +10 -9
  100. package/lib/DboBuilder/QueryBuilder/Functions.d.ts +3 -3
  101. package/lib/DboBuilder/QueryBuilder/Functions.d.ts.map +1 -1
  102. package/lib/DboBuilder/QueryBuilder/Functions.js +9 -9
  103. package/lib/DboBuilder/QueryBuilder/Functions.ts +13 -13
  104. package/lib/DboBuilder/QueryBuilder/QueryBuilder.d.ts +3 -3
  105. package/lib/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -1
  106. package/lib/DboBuilder/QueryBuilder/QueryBuilder.js +8 -7
  107. package/lib/DboBuilder/QueryBuilder/QueryBuilder.ts +12 -12
  108. package/lib/DboBuilder/QueryBuilder/makeSelectQuery.d.ts.map +1 -1
  109. package/lib/DboBuilder/QueryBuilder/makeSelectQuery.js +4 -4
  110. package/lib/DboBuilder/QueryBuilder/makeSelectQuery.ts +5 -5
  111. package/lib/DboBuilder/TableHandler.d.ts +1 -1
  112. package/lib/DboBuilder/TableHandler.d.ts.map +1 -1
  113. package/lib/DboBuilder/TableHandler.js +18 -20
  114. package/lib/DboBuilder/TableHandler.ts +21 -20
  115. package/lib/DboBuilder/ViewHandler.d.ts +1 -11
  116. package/lib/DboBuilder/ViewHandler.d.ts.map +1 -1
  117. package/lib/DboBuilder/ViewHandler.js +50 -63
  118. package/lib/DboBuilder/ViewHandler.ts +68 -97
  119. package/lib/DboBuilder/delete.js +0 -1
  120. package/lib/DboBuilder/delete.ts +1 -1
  121. package/lib/DboBuilder/getColumns.js +5 -4
  122. package/lib/DboBuilder/getColumns.ts +5 -5
  123. package/lib/DboBuilder/getCondition.d.ts.map +1 -1
  124. package/lib/DboBuilder/getCondition.js +6 -6
  125. package/lib/DboBuilder/getCondition.ts +7 -7
  126. package/lib/DboBuilder/insert.js +15 -16
  127. package/lib/DboBuilder/insert.ts +18 -18
  128. package/lib/DboBuilder/insertDataParse.d.ts.map +1 -1
  129. package/lib/DboBuilder/insertDataParse.js +9 -10
  130. package/lib/DboBuilder/insertDataParse.ts +42 -43
  131. package/lib/DboBuilder/parseUpdateRules.js +2 -2
  132. package/lib/DboBuilder/parseUpdateRules.ts +2 -2
  133. package/lib/DboBuilder/runSQL.d.ts.map +1 -1
  134. package/lib/DboBuilder/runSQL.js +5 -5
  135. package/lib/DboBuilder/runSQL.ts +6 -6
  136. package/lib/DboBuilder/subscribe.d.ts +1 -1
  137. package/lib/DboBuilder/subscribe.d.ts.map +1 -1
  138. package/lib/DboBuilder/subscribe.js +3 -3
  139. package/lib/DboBuilder/subscribe.ts +3 -3
  140. package/lib/DboBuilder/update.js +5 -6
  141. package/lib/DboBuilder/update.ts +6 -6
  142. package/lib/DboBuilder/uploadFile.d.ts.map +1 -1
  143. package/lib/DboBuilder/uploadFile.js +1 -1
  144. package/lib/DboBuilder/uploadFile.ts +2 -2
  145. package/lib/DboBuilder.d.ts +22 -22
  146. package/lib/DboBuilder.d.ts.map +1 -1
  147. package/lib/DboBuilder.js +13 -14
  148. package/lib/DboBuilder.ts +19 -19
  149. package/lib/FileManager.d.ts +6 -6
  150. package/lib/FileManager.d.ts.map +1 -1
  151. package/lib/FileManager.js +3 -5
  152. package/lib/FileManager.ts +7 -6
  153. package/lib/Filtering.d.ts +1 -1
  154. package/lib/Filtering.d.ts.map +1 -1
  155. package/lib/Filtering.js +7 -7
  156. package/lib/Filtering.ts +7 -7
  157. package/lib/JSONBValidation/validate_jsonb_schema_sql.d.ts +3 -0
  158. package/lib/JSONBValidation/validate_jsonb_schema_sql.d.ts.map +1 -0
  159. package/lib/JSONBValidation/validate_jsonb_schema_sql.js +294 -0
  160. package/lib/JSONBValidation/validate_jsonb_schema_sql.ts +293 -0
  161. package/lib/JSONBValidation/validation.d.ts +108 -0
  162. package/lib/JSONBValidation/validation.d.ts.map +1 -0
  163. package/lib/JSONBValidation/validation.js +221 -0
  164. package/lib/JSONBValidation/validation.ts +332 -0
  165. package/lib/PostgresNotifListenManager.d.ts +1 -1
  166. package/lib/PostgresNotifListenManager.d.ts.map +1 -1
  167. package/lib/PostgresNotifListenManager.js +1 -1
  168. package/lib/PostgresNotifListenManager.ts +1 -1
  169. package/lib/Prostgles.d.ts +14 -14
  170. package/lib/Prostgles.d.ts.map +1 -1
  171. package/lib/Prostgles.js +20 -19
  172. package/lib/Prostgles.ts +22 -21
  173. package/lib/PubSubManager/PubSubManager.d.ts +7 -7
  174. package/lib/PubSubManager/PubSubManager.d.ts.map +1 -1
  175. package/lib/PubSubManager/PubSubManager.js +10 -8
  176. package/lib/PubSubManager/PubSubManager.ts +13 -8
  177. package/lib/PubSubManager/initPubSubManager.d.ts.map +1 -1
  178. package/lib/PubSubManager/initPubSubManager.js +10 -7
  179. package/lib/PubSubManager/initPubSubManager.ts +12 -7
  180. package/lib/PublishParser.d.ts +32 -32
  181. package/lib/PublishParser.d.ts.map +1 -1
  182. package/lib/PublishParser.js +121 -124
  183. package/lib/PublishParser.ts +125 -127
  184. package/lib/SchemaWatch.d.ts +1 -1
  185. package/lib/SchemaWatch.d.ts.map +1 -1
  186. package/lib/SyncReplication.d.ts +5 -5
  187. package/lib/SyncReplication.d.ts.map +1 -1
  188. package/lib/SyncReplication.js +19 -16
  189. package/lib/SyncReplication.ts +470 -471
  190. package/lib/TableConfig.d.ts +28 -24
  191. package/lib/TableConfig.d.ts.map +1 -1
  192. package/lib/TableConfig.js +33 -12
  193. package/lib/TableConfig.ts +55 -21
  194. package/lib/index.js +1 -1
  195. package/lib/index.ts +1 -1
  196. package/lib/shortestPath.d.ts +1 -1
  197. package/lib/shortestPath.d.ts.map +1 -1
  198. package/lib/shortestPath.js +11 -11
  199. package/lib/shortestPath.ts +11 -11
  200. package/package.json +10 -6
  201. package/tests/client/PID.txt +1 -1
  202. package/tests/client/package-lock.json +53 -31
  203. package/tests/client/package.json +4 -1
  204. package/tests/isomorphic_queries.d.ts.map +1 -1
  205. package/tests/isomorphic_queries.js +28 -26
  206. package/tests/isomorphic_queries.ts +30 -29
  207. package/tests/server/DBoGenerated.d.ts +1 -1
  208. package/tests/server/index.js +8 -7
  209. package/tests/server/index.ts +10 -8
  210. package/tests/server/package-lock.json +76 -58
  211. package/tests/server/package.json +2 -2
  212. package/tests/server/server.ts +2 -3
  213. package/lib/validation.d.ts +0 -100
  214. package/lib/validation.d.ts.map +0 -1
  215. package/lib/validation.js +0 -280
  216. package/lib/validation.ts +0 -360
@@ -1 +1 @@
1
- 42886
1
+ 362414
@@ -11,7 +11,10 @@
11
11
  "dependencies": {
12
12
  "@types/node": "^14.14.16",
13
13
  "prostgles-client": "^3.0.6",
14
- "socket.io-client": "^4.5.3"
14
+ "socket.io-client": "^4.6.1"
15
+ },
16
+ "devDependencies": {
17
+ "typescript": "^4.9.5"
15
18
  }
16
19
  },
17
20
  "node_modules/@socket.io/component-emitter": {
@@ -41,21 +44,21 @@
41
44
  }
42
45
  },
43
46
  "node_modules/engine.io-client": {
44
- "version": "6.2.3",
45
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.3.tgz",
46
- "integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==",
47
+ "version": "6.4.0",
48
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.4.0.tgz",
49
+ "integrity": "sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==",
47
50
  "dependencies": {
48
51
  "@socket.io/component-emitter": "~3.1.0",
49
52
  "debug": "~4.3.1",
50
53
  "engine.io-parser": "~5.0.3",
51
- "ws": "~8.2.3",
54
+ "ws": "~8.11.0",
52
55
  "xmlhttprequest-ssl": "~2.0.0"
53
56
  }
54
57
  },
55
58
  "node_modules/engine.io-parser": {
56
- "version": "5.0.4",
57
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
58
- "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
59
+ "version": "5.0.6",
60
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz",
61
+ "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==",
59
62
  "engines": {
60
63
  "node": ">=10.0.0"
61
64
  }
@@ -79,14 +82,14 @@
79
82
  "integrity": "sha512-fnrq9YH5OofpxrSIXlssTciNO58eVU9TF2IUsZkvLnJP7FUpPxgVLG3wi5c4IEsGTGV4kykHAgcFm3e0/2xbiw=="
80
83
  },
81
84
  "node_modules/socket.io-client": {
82
- "version": "4.5.3",
83
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.3.tgz",
84
- "integrity": "sha512-I/hqDYpQ6JKwtJOf5ikM+Qz+YujZPMEl6qBLhxiP0nX+TfXKhW4KZZG8lamrD6Y5ngjmYHreESVasVCgi5Kl3A==",
85
+ "version": "4.6.1",
86
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.6.1.tgz",
87
+ "integrity": "sha512-5UswCV6hpaRsNg5kkEHVcbBIXEYoVbMQaHJBXJCyEQ+CiFPV1NIOY0XOFWG4XR4GZcB8Kn6AsRs/9cy9TbqVMQ==",
85
88
  "dependencies": {
86
89
  "@socket.io/component-emitter": "~3.1.0",
87
90
  "debug": "~4.3.2",
88
- "engine.io-client": "~6.2.3",
89
- "socket.io-parser": "~4.2.0"
91
+ "engine.io-client": "~6.4.0",
92
+ "socket.io-parser": "~4.2.1"
90
93
  },
91
94
  "engines": {
92
95
  "node": ">=10.0.0"
@@ -104,10 +107,23 @@
104
107
  "node": ">=10.0.0"
105
108
  }
106
109
  },
110
+ "node_modules/typescript": {
111
+ "version": "4.9.5",
112
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
113
+ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
114
+ "dev": true,
115
+ "bin": {
116
+ "tsc": "bin/tsc",
117
+ "tsserver": "bin/tsserver"
118
+ },
119
+ "engines": {
120
+ "node": ">=4.2.0"
121
+ }
122
+ },
107
123
  "node_modules/ws": {
108
- "version": "8.2.3",
109
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
110
- "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
124
+ "version": "8.11.0",
125
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
126
+ "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
111
127
  "engines": {
112
128
  "node": ">=10.0.0"
113
129
  },
@@ -153,21 +169,21 @@
153
169
  }
154
170
  },
155
171
  "engine.io-client": {
156
- "version": "6.2.3",
157
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.3.tgz",
158
- "integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==",
172
+ "version": "6.4.0",
173
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.4.0.tgz",
174
+ "integrity": "sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==",
159
175
  "requires": {
160
176
  "@socket.io/component-emitter": "~3.1.0",
161
177
  "debug": "~4.3.1",
162
178
  "engine.io-parser": "~5.0.3",
163
- "ws": "~8.2.3",
179
+ "ws": "~8.11.0",
164
180
  "xmlhttprequest-ssl": "~2.0.0"
165
181
  }
166
182
  },
167
183
  "engine.io-parser": {
168
- "version": "5.0.4",
169
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
170
- "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg=="
184
+ "version": "5.0.6",
185
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz",
186
+ "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw=="
171
187
  },
172
188
  "ms": {
173
189
  "version": "2.1.2",
@@ -188,14 +204,14 @@
188
204
  "integrity": "sha512-fnrq9YH5OofpxrSIXlssTciNO58eVU9TF2IUsZkvLnJP7FUpPxgVLG3wi5c4IEsGTGV4kykHAgcFm3e0/2xbiw=="
189
205
  },
190
206
  "socket.io-client": {
191
- "version": "4.5.3",
192
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.3.tgz",
193
- "integrity": "sha512-I/hqDYpQ6JKwtJOf5ikM+Qz+YujZPMEl6qBLhxiP0nX+TfXKhW4KZZG8lamrD6Y5ngjmYHreESVasVCgi5Kl3A==",
207
+ "version": "4.6.1",
208
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.6.1.tgz",
209
+ "integrity": "sha512-5UswCV6hpaRsNg5kkEHVcbBIXEYoVbMQaHJBXJCyEQ+CiFPV1NIOY0XOFWG4XR4GZcB8Kn6AsRs/9cy9TbqVMQ==",
194
210
  "requires": {
195
211
  "@socket.io/component-emitter": "~3.1.0",
196
212
  "debug": "~4.3.2",
197
- "engine.io-client": "~6.2.3",
198
- "socket.io-parser": "~4.2.0"
213
+ "engine.io-client": "~6.4.0",
214
+ "socket.io-parser": "~4.2.1"
199
215
  }
200
216
  },
201
217
  "socket.io-parser": {
@@ -207,10 +223,16 @@
207
223
  "debug": "~4.3.1"
208
224
  }
209
225
  },
226
+ "typescript": {
227
+ "version": "4.9.5",
228
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
229
+ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
230
+ "dev": true
231
+ },
210
232
  "ws": {
211
- "version": "8.2.3",
212
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
213
- "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
233
+ "version": "8.11.0",
234
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
235
+ "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
214
236
  "requires": {}
215
237
  },
216
238
  "xmlhttprequest-ssl": {
@@ -14,6 +14,9 @@
14
14
  "dependencies": {
15
15
  "@types/node": "^14.14.16",
16
16
  "prostgles-client": "^3.0.6",
17
- "socket.io-client": "^4.5.3"
17
+ "socket.io-client": "^4.6.1"
18
+ },
19
+ "devDependencies": {
20
+ "typescript": "^4.9.5"
18
21
  }
19
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"isomorphic_queries.d.ts","sourceRoot":"","sources":["isomorphic_queries.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,iBAYzE;AACD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,oBAW7F;AAED,wBAA8B,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,iBAk6BjG"}
1
+ {"version":3,"file":"isomorphic_queries.d.ts","sourceRoot":"","sources":["isomorphic_queries.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,iBAYzE;AACD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,oBAW7F;AAED,wBAA8B,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,iBAm6BjG"}
@@ -590,7 +590,7 @@ async function isomorphic(db) {
590
590
  const json = { a: true, arr: "2", arr1: 3, arr2: [1], arrStr: ["1123.string"] };
591
591
  const fo = await db.tjson.insert({ colOneOf: "a", json }, { returning: "*" });
592
592
  // assert.deepStrictEqual(fo.json, json);
593
- await db.tjson.insert({ colOneOf: "a", json: { ...json, o: { o1: 2, o2: true } } });
593
+ await db.tjson.insert({ colOneOf: "a", json: { ...json, o: { o1: 2 } } });
594
594
  try {
595
595
  await db.tjson.insert({ colOneOf: "a", json: { a: true, arr: "22" } });
596
596
  throw "Should have failed";
@@ -602,64 +602,66 @@ async function isomorphic(db) {
602
602
  });
603
603
  await tryRun("jsonb JSON Schema validation", async () => {
604
604
  const cols = await db.tjson.getColumns();
605
- assert_1.strict.deepEqual(cols.find(c => c.name === "json")?.jsonSchema, {
605
+ const jsonColSchema = cols.find(c => c.name === "json")?.jsonSchema;
606
+ // console.trace(JSON.stringify(jsonColSchema, null, 2))
607
+ assert_1.strict.deepEqual(jsonColSchema, {
606
608
  $id: 'tjson.json',
607
609
  $schema: 'https://json-schema.org/draft/2020-12/schema',
608
- title: 'json',
609
- required: true,
610
+ // title: 'json',
610
611
  type: 'object',
612
+ required: ['a', 'arr', 'arr1', 'arr2'],
611
613
  properties: {
612
- a: { type: 'boolean', required: true },
614
+ a: { type: 'boolean' },
613
615
  arr: {
614
- type: 'string', enum: ['1', '2', '3'],
615
- required: true
616
+ type: 'string', enum: ['1', '2', '3']
616
617
  },
617
618
  arr1: {
618
- type: 'number', enum: [1, 2, 3],
619
- required: true
619
+ type: 'number', enum: [1, 2, 3]
620
620
  },
621
- arr2: { type: 'array', items: { type: 'integer' }, required: true },
621
+ arr2: { type: 'array', items: { type: 'integer' } },
622
622
  arrStr: {
623
623
  type: "object",
624
624
  oneOf: [
625
625
  { type: 'array', items: { type: 'string' } },
626
626
  { type: 'null' }
627
- ],
628
- required: false
627
+ ]
629
628
  },
630
629
  o: {
631
630
  type: "object",
632
631
  oneOf: [
633
- { type: "object", properties: { o1: { type: 'integer', required: true } } },
634
- { type: "object", properties: { o2: { type: 'boolean', required: true } } },
632
+ { type: "object", required: ["o1"], properties: { o1: { type: 'integer' } } },
633
+ { type: "object", required: ["o2"], properties: { o2: { type: 'boolean' } } },
635
634
  { type: 'null' }
636
- ],
637
- required: false
635
+ ]
638
636
  }
639
637
  }
640
638
  });
641
- assert_1.strict.deepEqual(cols.find(c => c.name === "status")?.jsonSchema, {
639
+ const statusColJSONSchema = cols.find(c => c.name === "status")?.jsonSchema;
640
+ // console.trace(JSON.stringify(statusColJSONSchema, null, 2));
641
+ assert_1.strict.deepEqual(statusColJSONSchema, {
642
642
  $id: 'tjson.status',
643
643
  $schema: 'https://json-schema.org/draft/2020-12/schema',
644
644
  type: "object",
645
645
  oneOf: [
646
- { type: "object", properties: { ok: { required: true, type: 'string' } } },
647
- { type: "object", properties: { err: { required: true, type: 'string' } } },
646
+ { type: "object", required: ["ok"], properties: { ok: { type: 'string' } } },
647
+ { type: "object", required: ["err"], properties: { err: { type: 'string' } } },
648
648
  {
649
- type: "object", properties: {
649
+ type: "object",
650
+ required: ["loading"],
651
+ properties: {
650
652
  loading: {
653
+ required: ["loaded", "total"],
651
654
  properties: {
652
- loaded: { required: true, type: 'number' },
653
- total: { required: true, type: 'number' }
655
+ loaded: { type: 'number' },
656
+ total: { type: 'number' }
654
657
  },
655
- required: true,
656
658
  type: 'object'
657
659
  }
658
660
  }
659
- }
661
+ },
662
+ { type: "null" }
660
663
  ],
661
- required: false,
662
- title: 'status'
664
+ // title: 'status'
663
665
  });
664
666
  });
665
667
  await tryRun("Exists filter example", async () => {
@@ -674,7 +674,7 @@ export default async function isomorphic(db: Required<DBHandlerServer> | Require
674
674
  const json = { a: true, arr: "2", arr1: 3, arr2: [1], arrStr: ["1123.string"] }
675
675
  const fo = await db.tjson.insert!({ colOneOf: "a", json }, { returning: "*"});
676
676
  // assert.deepStrictEqual(fo.json, json);
677
- await db.tjson.insert!({ colOneOf: "a", json: {...json, o: { o1: 2, o2: true } } })
677
+ await db.tjson.insert!({ colOneOf: "a", json: {...json, o: { o1: 2 } } })
678
678
  try {
679
679
  await db.tjson.insert!({ colOneOf: "a", json: { a: true, arr: "22"} });
680
680
  throw "Should have failed"
@@ -687,70 +687,71 @@ export default async function isomorphic(db: Required<DBHandlerServer> | Require
687
687
 
688
688
  await tryRun("jsonb JSON Schema validation", async () => {
689
689
  const cols = await db.tjson.getColumns!();
690
+ const jsonColSchema = cols.find(c => c.name === "json")?.jsonSchema;
691
+ // console.trace(JSON.stringify(jsonColSchema, null, 2))
690
692
  assert.deepEqual(
691
- cols.find(c => c.name === "json")?.jsonSchema,
693
+ jsonColSchema,
692
694
  {
693
695
  $id: 'tjson.json',
694
696
  $schema: 'https://json-schema.org/draft/2020-12/schema',
695
- title: 'json',
696
- required: true,
697
+ // title: 'json',
697
698
  type: 'object',
699
+ required: [ 'a', 'arr', 'arr1', 'arr2' ],
698
700
  properties: {
699
- a: { type: 'boolean', required: true },
701
+ a: { type: 'boolean' },
700
702
  arr: {
701
- type: 'string', enum: [ '1', '2', '3' ],
702
- required: true
703
+ type: 'string', enum: [ '1', '2', '3' ]
703
704
  },
704
705
  arr1: {
705
- type: 'number', enum: [ 1, 2, 3 ],
706
- required: true
706
+ type: 'number', enum: [ 1, 2, 3 ]
707
707
  },
708
- arr2: { type: 'array', items: { type: 'integer' }, required: true },
708
+ arr2: { type: 'array', items: { type: 'integer' } },
709
709
  arrStr: {
710
710
  type: "object",
711
711
  oneOf: [
712
712
  { type: 'array', items: { type: 'string' } },
713
713
  { type: 'null' }
714
- ],
715
- required: false
714
+ ]
716
715
  },
717
716
  o: {
718
717
  type: "object",
719
718
  oneOf: [
720
- { type: "object", properties: {o1: { type: 'integer', required: true } } },
721
- { type: "object", properties: {o2: { type: 'boolean', required: true } } },
719
+ { type: "object", required: ["o1"], properties: {o1: { type: 'integer' } } },
720
+ { type: "object", required: ["o2"], properties: {o2: { type: 'boolean' } } },
722
721
  { type: 'null' }
723
- ],
724
- required: false
722
+ ]
725
723
  }
726
724
  }
727
725
  }
728
726
  );
729
-
727
+ const statusColJSONSchema = cols.find(c => c.name === "status")?.jsonSchema;
728
+ // console.trace(JSON.stringify(statusColJSONSchema, null, 2));
730
729
  assert.deepEqual(
731
- cols.find(c => c.name === "status")?.jsonSchema,
730
+ statusColJSONSchema,
732
731
  {
733
732
  $id: 'tjson.status',
734
733
  $schema: 'https://json-schema.org/draft/2020-12/schema',
735
734
  type: "object",
736
735
  oneOf: [
737
- { type: "object", properties: { ok: { required: true, type: 'string' } } },
738
- { type: "object", properties: { err: { required: true, type: 'string' } } },
736
+ { type: "object", required: ["ok"], properties: { ok: { type: 'string' } } },
737
+ { type: "object", required: ["err"], properties: { err: { type: 'string' } } },
739
738
  {
740
- type: "object", properties: {
739
+ type: "object",
740
+ required: ["loading"],
741
+ properties: {
741
742
  loading: {
743
+ required: ["loaded", "total"],
742
744
  properties: {
743
- loaded: { required: true, type: 'number' },
744
- total: { required: true, type: 'number'}
745
- },
746
- required: true,
745
+ loaded: { type: 'number' },
746
+ total: { type: 'number'}
747
+ },
747
748
  type: 'object'
748
749
  }
749
750
  }
750
- }
751
- ],
752
- required: false,
753
- title: 'status'
751
+ },
752
+ { type: "null" }
753
+ ],
754
+ // title: 'status'
754
755
  }
755
756
  );
756
757
  })
@@ -390,7 +390,7 @@ export type DBSchemaGenerated = {
390
390
  | { err: string; }
391
391
  | { loading: { loaded: number; total: number; }; }
392
392
  table_config?: null | {
393
- referencedTables?: { };
393
+ referencedTables?: { name: string; minFiles: number; }[];
394
394
  };
395
395
  };
396
396
  };
@@ -91,7 +91,7 @@ function dd() {
91
91
  email: { sqlDefinition: `TEXT NOT NULL` },
92
92
  status: { enum: ["active", "disabled", "pending"] },
93
93
  preferences: { defaultValue: "{}",
94
- jsonbSchema: {
94
+ jsonbSchemaType: {
95
95
  showIntro: { type: "boolean", optional: true },
96
96
  theme: { enum: ["light", "dark", "auto"], optional: true },
97
97
  others: { type: "any[]" }
@@ -102,13 +102,16 @@ function dd() {
102
102
  tjson: {
103
103
  dropIfExists: true,
104
104
  columns: {
105
- json: { jsonbSchema: {
105
+ json: { jsonbSchemaType: {
106
106
  a: { type: "boolean" },
107
107
  arr: { enum: ["1", "2", "3"] },
108
108
  arr1: { enum: [1, 2, 3] },
109
109
  arr2: { type: "integer[]" },
110
110
  arrStr: { type: "string[]", optional: true, nullable: true },
111
- o: { oneOf: [{ o1: { type: "integer" } }, { o2: { type: "boolean" } }], optional: true, nullable: true },
111
+ o: { optional: true, nullable: true, oneOf: [
112
+ { o1: "integer" },
113
+ { o2: "boolean" }
114
+ ] },
112
115
  }
113
116
  },
114
117
  colOneOf: { enum: ["a", "b", "c"] },
@@ -140,10 +143,8 @@ function dd() {
140
143
  ]
141
144
  }
142
145
  },
143
- table_config: {
144
- nullable: true,
145
- jsonbSchema: {
146
- referencedTables: { type: {}, optional: true },
146
+ table_config: { nullable: true, jsonbSchemaType: {
147
+ referencedTables: { arrayOf: { name: "string", minFiles: "number" }, optional: true },
147
148
  }
148
149
  }
149
150
  }
@@ -112,7 +112,7 @@ function dd(){
112
112
  email: { sqlDefinition: `TEXT NOT NULL` },
113
113
  status: { enum: ["active", "disabled", "pending"] },
114
114
  preferences: { defaultValue: "{}",
115
- jsonbSchema: {
115
+ jsonbSchemaType: {
116
116
  showIntro: { type: "boolean", optional: true },
117
117
  theme: { enum: ["light", "dark", "auto"], optional: true },
118
118
  others: { type: "any[]" }
@@ -123,13 +123,16 @@ function dd(){
123
123
  tjson: {
124
124
  dropIfExists: true,
125
125
  columns: {
126
- json: { jsonbSchema: {
126
+ json: { jsonbSchemaType: {
127
127
  a: { type: "boolean" },
128
128
  arr: { enum: ["1", "2", "3"] },
129
129
  arr1: { enum: [1, 2, 3] },
130
130
  arr2: { type: "integer[]" },
131
131
  arrStr: { type: "string[]", optional: true, nullable: true },
132
- o: { oneOf: [{ o1: { type: "integer" } }, { o2: { type: "boolean" } }], optional: true, nullable: true },
132
+ o: { optional: true, nullable: true, oneOf: [
133
+ { o1: "integer" },
134
+ { o2: "boolean" }
135
+ ] },
133
136
  }
134
137
  },
135
138
  colOneOf: { enum: ["a", "b", "c"] },
@@ -161,11 +164,10 @@ function dd(){
161
164
  ]
162
165
  }
163
166
  },
164
- table_config: {
165
- nullable: true,
166
- jsonbSchema: {
167
- referencedTables: { type: {}, optional: true },
168
- }}
167
+ table_config: { nullable: true, jsonbSchemaType: {
168
+ referencedTables: { optional: true, arrayOf: { name: "string", minFiles: "number" } },
169
+ }
170
+ }
169
171
  }
170
172
  },
171
173
  lookup_col1: {