prostgles-server 3.0.87 → 3.0.89
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/.eslintignore +5 -0
- package/.eslintrc.json +30 -0
- package/dist/DBEventsManager.js +1 -1
- package/dist/DBEventsManager.js.map +1 -1
- package/dist/DBSchemaBuilder.d.ts.map +1 -1
- package/dist/DBSchemaBuilder.js +6 -6
- package/dist/DBSchemaBuilder.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/Functions.js +9 -9
- package/dist/DboBuilder/QueryBuilder/Functions.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.js +8 -7
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/makeSelectQuery.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/makeSelectQuery.js +4 -4
- package/dist/DboBuilder/QueryBuilder/makeSelectQuery.js.map +1 -1
- package/dist/DboBuilder/TableHandler.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler.js +18 -20
- package/dist/DboBuilder/TableHandler.js.map +1 -1
- package/dist/DboBuilder/ViewHandler.d.ts +0 -10
- package/dist/DboBuilder/ViewHandler.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler.js +50 -63
- package/dist/DboBuilder/ViewHandler.js.map +1 -1
- package/dist/DboBuilder/delete.js +0 -1
- package/dist/DboBuilder/delete.js.map +1 -1
- package/dist/DboBuilder/getColumns.js +5 -4
- package/dist/DboBuilder/getColumns.js.map +1 -1
- package/dist/DboBuilder/getCondition.d.ts.map +1 -1
- package/dist/DboBuilder/getCondition.js +6 -6
- package/dist/DboBuilder/getCondition.js.map +1 -1
- package/dist/DboBuilder/insert.js +15 -16
- package/dist/DboBuilder/insert.js.map +1 -1
- package/dist/DboBuilder/insertDataParse.d.ts.map +1 -1
- package/dist/DboBuilder/insertDataParse.js +9 -10
- package/dist/DboBuilder/insertDataParse.js.map +1 -1
- package/dist/DboBuilder/parseUpdateRules.js +2 -2
- package/dist/DboBuilder/parseUpdateRules.js.map +1 -1
- package/dist/DboBuilder/runSQL.d.ts.map +1 -1
- package/dist/DboBuilder/runSQL.js +5 -5
- package/dist/DboBuilder/runSQL.js.map +1 -1
- package/dist/DboBuilder/subscribe.js +3 -3
- package/dist/DboBuilder/subscribe.js.map +1 -1
- package/dist/DboBuilder/update.js +5 -6
- package/dist/DboBuilder/update.js.map +1 -1
- package/dist/DboBuilder/uploadFile.d.ts.map +1 -1
- package/dist/DboBuilder/uploadFile.js +1 -1
- package/dist/DboBuilder/uploadFile.js.map +1 -1
- package/dist/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder.js +13 -14
- package/dist/DboBuilder.js.map +1 -1
- package/dist/FileManager.d.ts.map +1 -1
- package/dist/FileManager.js +3 -5
- package/dist/FileManager.js.map +1 -1
- package/dist/Filtering.js +7 -7
- package/dist/Filtering.js.map +1 -1
- package/dist/JSONBValidation/validate_jsonb_schema_sql.d.ts +3 -0
- package/dist/JSONBValidation/validate_jsonb_schema_sql.d.ts.map +1 -0
- package/dist/JSONBValidation/validate_jsonb_schema_sql.js +295 -0
- package/dist/JSONBValidation/validate_jsonb_schema_sql.js.map +1 -0
- package/dist/JSONBValidation/validation.d.ts +108 -0
- package/dist/JSONBValidation/validation.d.ts.map +1 -0
- package/dist/JSONBValidation/validation.js +222 -0
- package/dist/JSONBValidation/validation.js.map +1 -0
- package/dist/PostgresNotifListenManager.js +1 -1
- package/dist/PostgresNotifListenManager.js.map +1 -1
- package/dist/Prostgles.d.ts.map +1 -1
- package/dist/Prostgles.js +20 -20
- package/dist/Prostgles.js.map +1 -1
- package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/initPubSubManager.js +10 -7
- package/dist/PubSubManager/initPubSubManager.js.map +1 -1
- package/dist/PublishParser.d.ts.map +1 -1
- package/dist/PublishParser.js +122 -125
- package/dist/PublishParser.js.map +1 -1
- package/dist/SyncReplication.d.ts.map +1 -1
- package/dist/SyncReplication.js +19 -16
- package/dist/SyncReplication.js.map +1 -1
- package/dist/TableConfig.d.ts +9 -5
- package/dist/TableConfig.d.ts.map +1 -1
- package/dist/TableConfig.js +33 -12
- package/dist/TableConfig.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/shortestPath.js +11 -11
- package/dist/shortestPath.js.map +1 -1
- package/dist/validation.d.ts +50 -24
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +177 -53
- package/dist/validation.js.map +1 -1
- package/lib/AuthHandler.d.ts +11 -11
- package/lib/AuthHandler.d.ts.map +1 -1
- package/lib/DBEventsManager.js +1 -1
- package/lib/DBEventsManager.ts +1 -1
- package/lib/DBSchemaBuilder.d.ts +3 -3
- package/lib/DBSchemaBuilder.d.ts.map +1 -1
- package/lib/DBSchemaBuilder.js +6 -6
- package/lib/DBSchemaBuilder.ts +10 -12
- package/lib/DboBuilder/QueryBuilder/Functions.d.ts +3 -3
- package/lib/DboBuilder/QueryBuilder/Functions.d.ts.map +1 -1
- package/lib/DboBuilder/QueryBuilder/Functions.js +9 -9
- package/lib/DboBuilder/QueryBuilder/Functions.ts +13 -13
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.d.ts +3 -3
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -1
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.js +8 -7
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.ts +12 -12
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.d.ts.map +1 -1
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.js +4 -4
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.ts +5 -5
- package/lib/DboBuilder/TableHandler.d.ts +1 -1
- package/lib/DboBuilder/TableHandler.d.ts.map +1 -1
- package/lib/DboBuilder/TableHandler.js +18 -20
- package/lib/DboBuilder/TableHandler.ts +21 -20
- package/lib/DboBuilder/ViewHandler.d.ts +1 -11
- package/lib/DboBuilder/ViewHandler.d.ts.map +1 -1
- package/lib/DboBuilder/ViewHandler.js +50 -63
- package/lib/DboBuilder/ViewHandler.ts +68 -97
- package/lib/DboBuilder/delete.js +0 -1
- package/lib/DboBuilder/delete.ts +1 -1
- package/lib/DboBuilder/getColumns.js +5 -4
- package/lib/DboBuilder/getColumns.ts +5 -5
- package/lib/DboBuilder/getCondition.d.ts.map +1 -1
- package/lib/DboBuilder/getCondition.js +6 -6
- package/lib/DboBuilder/getCondition.ts +7 -7
- package/lib/DboBuilder/insert.js +15 -16
- package/lib/DboBuilder/insert.ts +18 -18
- package/lib/DboBuilder/insertDataParse.d.ts.map +1 -1
- package/lib/DboBuilder/insertDataParse.js +9 -10
- package/lib/DboBuilder/insertDataParse.ts +42 -43
- package/lib/DboBuilder/parseUpdateRules.js +2 -2
- package/lib/DboBuilder/parseUpdateRules.ts +2 -2
- package/lib/DboBuilder/runSQL.d.ts.map +1 -1
- package/lib/DboBuilder/runSQL.js +5 -5
- package/lib/DboBuilder/runSQL.ts +6 -6
- package/lib/DboBuilder/subscribe.d.ts +1 -1
- package/lib/DboBuilder/subscribe.d.ts.map +1 -1
- package/lib/DboBuilder/subscribe.js +3 -3
- package/lib/DboBuilder/subscribe.ts +3 -3
- package/lib/DboBuilder/update.js +5 -6
- package/lib/DboBuilder/update.ts +6 -6
- package/lib/DboBuilder/uploadFile.d.ts.map +1 -1
- package/lib/DboBuilder/uploadFile.js +1 -1
- package/lib/DboBuilder/uploadFile.ts +2 -2
- package/lib/DboBuilder.d.ts +22 -22
- package/lib/DboBuilder.d.ts.map +1 -1
- package/lib/DboBuilder.js +13 -14
- package/lib/DboBuilder.ts +19 -19
- package/lib/FileManager.d.ts +6 -6
- package/lib/FileManager.d.ts.map +1 -1
- package/lib/FileManager.js +3 -5
- package/lib/FileManager.ts +7 -6
- package/lib/Filtering.d.ts +1 -1
- package/lib/Filtering.d.ts.map +1 -1
- package/lib/Filtering.js +7 -7
- package/lib/Filtering.ts +7 -7
- package/lib/JSONBValidation/validate_jsonb_schema_sql.d.ts +3 -0
- package/lib/JSONBValidation/validate_jsonb_schema_sql.d.ts.map +1 -0
- package/lib/JSONBValidation/validate_jsonb_schema_sql.js +294 -0
- package/lib/JSONBValidation/validate_jsonb_schema_sql.ts +293 -0
- package/lib/JSONBValidation/validation.d.ts +108 -0
- package/lib/JSONBValidation/validation.d.ts.map +1 -0
- package/lib/JSONBValidation/validation.js +221 -0
- package/lib/JSONBValidation/validation.ts +332 -0
- package/lib/PostgresNotifListenManager.d.ts +1 -1
- package/lib/PostgresNotifListenManager.d.ts.map +1 -1
- package/lib/PostgresNotifListenManager.js +1 -1
- package/lib/PostgresNotifListenManager.ts +1 -1
- package/lib/Prostgles.d.ts +14 -14
- package/lib/Prostgles.d.ts.map +1 -1
- package/lib/Prostgles.js +20 -20
- package/lib/Prostgles.ts +22 -21
- package/lib/PubSubManager/PubSubManager.d.ts +7 -7
- package/lib/PubSubManager/PubSubManager.d.ts.map +1 -1
- package/lib/PubSubManager/initPubSubManager.d.ts.map +1 -1
- package/lib/PubSubManager/initPubSubManager.js +10 -7
- package/lib/PubSubManager/initPubSubManager.ts +12 -7
- package/lib/PublishParser.d.ts +32 -32
- package/lib/PublishParser.d.ts.map +1 -1
- package/lib/PublishParser.js +121 -124
- package/lib/PublishParser.ts +125 -127
- package/lib/SchemaWatch.d.ts +1 -1
- package/lib/SchemaWatch.d.ts.map +1 -1
- package/lib/SyncReplication.d.ts +5 -5
- package/lib/SyncReplication.d.ts.map +1 -1
- package/lib/SyncReplication.js +19 -16
- package/lib/SyncReplication.ts +470 -471
- package/lib/TableConfig.d.ts +28 -24
- package/lib/TableConfig.d.ts.map +1 -1
- package/lib/TableConfig.js +33 -12
- package/lib/TableConfig.ts +55 -21
- package/lib/index.js +1 -1
- package/lib/index.ts +1 -1
- package/lib/shortestPath.d.ts +1 -1
- package/lib/shortestPath.d.ts.map +1 -1
- package/lib/shortestPath.js +11 -11
- package/lib/shortestPath.ts +11 -11
- package/package.json +10 -6
- package/tests/client/PID.txt +1 -1
- package/tests/client/package-lock.json +53 -31
- package/tests/client/package.json +4 -1
- package/tests/isomorphic_queries.d.ts +4 -1
- package/tests/isomorphic_queries.d.ts.map +1 -1
- package/tests/isomorphic_queries.js +38 -30
- package/tests/isomorphic_queries.ts +40 -33
- package/tests/server/DBoGenerated.d.ts +1 -1
- package/tests/server/index.js +8 -7
- package/tests/server/index.ts +10 -8
- package/tests/server/package-lock.json +76 -58
- package/tests/server/package.json +2 -2
- package/tests/server/server.ts +2 -3
- package/lib/validation.d.ts +0 -100
- package/lib/validation.d.ts.map +0 -1
- package/lib/validation.js +0 -280
- package/lib/validation.ts +0 -360
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
374566
|
|
@@ -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.
|
|
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.
|
|
45
|
-
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.
|
|
46
|
-
"integrity": "sha512-
|
|
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.
|
|
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.
|
|
57
|
-
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.
|
|
58
|
-
"integrity": "sha512
|
|
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.
|
|
83
|
-
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.
|
|
84
|
-
"integrity": "sha512-
|
|
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.
|
|
89
|
-
"socket.io-parser": "~4.2.
|
|
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.
|
|
109
|
-
"resolved": "https://registry.npmjs.org/ws/-/ws-8.
|
|
110
|
-
"integrity": "sha512-
|
|
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.
|
|
157
|
-
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.
|
|
158
|
-
"integrity": "sha512-
|
|
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.
|
|
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.
|
|
169
|
-
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.
|
|
170
|
-
"integrity": "sha512
|
|
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.
|
|
192
|
-
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.
|
|
193
|
-
"integrity": "sha512-
|
|
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.
|
|
198
|
-
"socket.io-parser": "~4.2.
|
|
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.
|
|
212
|
-
"resolved": "https://registry.npmjs.org/ws/-/ws-8.
|
|
213
|
-
"integrity": "sha512-
|
|
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": {
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { DBHandlerServer } from "../dist/Prostgles";
|
|
2
2
|
import type { DBHandlerClient } from "./client/index";
|
|
3
3
|
export declare function tryRun(desc: string, func: () => any, log?: Function): Promise<void>;
|
|
4
|
-
export declare function tryRunP(desc: string, func: (resolve: any, reject: any) => any,
|
|
4
|
+
export declare function tryRunP(desc: string, func: (resolve: any, reject: any) => any, opts?: {
|
|
5
|
+
log?: Function;
|
|
6
|
+
timeout?: number;
|
|
7
|
+
}): Promise<unknown>;
|
|
5
8
|
export default function isomorphic(db: Required<DBHandlerServer> | Required<DBHandlerClient>): Promise<void>;
|
|
6
9
|
//# sourceMappingURL=isomorphic_queries.d.ts.map
|
|
@@ -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,
|
|
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,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,QAAQ,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAAE,oBAiB3H;AAED,wBAA8B,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,iBAm6BjG"}
|
|
@@ -40,13 +40,19 @@ async function tryRun(desc, func, log) {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
exports.tryRun = tryRun;
|
|
43
|
-
function tryRunP(desc, func,
|
|
43
|
+
function tryRunP(desc, func, opts) {
|
|
44
44
|
return new Promise(async (rv, rj) => {
|
|
45
|
+
const tout = Number.isFinite(opts?.timeout) ? setTimeout(() => {
|
|
46
|
+
const errMsg = `${desc} failed. Reason: Timout reached: ${opts.timeout}ms`;
|
|
47
|
+
opts?.log?.(errMsg);
|
|
48
|
+
rj(errMsg);
|
|
49
|
+
}, opts.timeout) : undefined;
|
|
45
50
|
try {
|
|
46
51
|
await func(rv, rj);
|
|
52
|
+
clearTimeout(tout);
|
|
47
53
|
}
|
|
48
54
|
catch (err) {
|
|
49
|
-
log?.(`${desc} failed: ` + JSON.stringify(err));
|
|
55
|
+
opts?.log?.(`${desc} failed: ` + JSON.stringify(err));
|
|
50
56
|
setTimeout(() => {
|
|
51
57
|
throw err;
|
|
52
58
|
}, 1000);
|
|
@@ -331,7 +337,7 @@ async function isomorphic(db) {
|
|
|
331
337
|
await db.various.update({ id: 99 }, { name: "zz3zz1" });
|
|
332
338
|
await db.various.update({ id: 99 }, { name: "zz3zz2" });
|
|
333
339
|
await db.various.update({ id: 99 }, { name: "zz3zz3" });
|
|
334
|
-
});
|
|
340
|
+
}, { timeout: 4000 });
|
|
335
341
|
await tryRunP("subscribeOne with throttle", async (resolve, reject) => {
|
|
336
342
|
await db.various.insert({ id: 99 });
|
|
337
343
|
const start = Date.now(); // name: "zz3zz"
|
|
@@ -347,7 +353,7 @@ async function isomorphic(db) {
|
|
|
347
353
|
});
|
|
348
354
|
await db.various.update({ id: 99 }, { name: "zz3zz1" });
|
|
349
355
|
await db.various.update({ id: 99 }, { name: "zz3zz2" });
|
|
350
|
-
});
|
|
356
|
+
}, { timeout: 4000 });
|
|
351
357
|
await tryRun("JSON filtering", async () => {
|
|
352
358
|
const res = await db.various.count({ "jsn->a->>b": '3' });
|
|
353
359
|
assert_1.strict.equal(res, 1);
|
|
@@ -590,7 +596,7 @@ async function isomorphic(db) {
|
|
|
590
596
|
const json = { a: true, arr: "2", arr1: 3, arr2: [1], arrStr: ["1123.string"] };
|
|
591
597
|
const fo = await db.tjson.insert({ colOneOf: "a", json }, { returning: "*" });
|
|
592
598
|
// assert.deepStrictEqual(fo.json, json);
|
|
593
|
-
await db.tjson.insert({ colOneOf: "a", json: { ...json, o: { o1: 2
|
|
599
|
+
await db.tjson.insert({ colOneOf: "a", json: { ...json, o: { o1: 2 } } });
|
|
594
600
|
try {
|
|
595
601
|
await db.tjson.insert({ colOneOf: "a", json: { a: true, arr: "22" } });
|
|
596
602
|
throw "Should have failed";
|
|
@@ -602,64 +608,66 @@ async function isomorphic(db) {
|
|
|
602
608
|
});
|
|
603
609
|
await tryRun("jsonb JSON Schema validation", async () => {
|
|
604
610
|
const cols = await db.tjson.getColumns();
|
|
605
|
-
|
|
611
|
+
const jsonColSchema = cols.find(c => c.name === "json")?.jsonSchema;
|
|
612
|
+
// console.trace(JSON.stringify(jsonColSchema, null, 2))
|
|
613
|
+
assert_1.strict.deepEqual(jsonColSchema, {
|
|
606
614
|
$id: 'tjson.json',
|
|
607
615
|
$schema: 'https://json-schema.org/draft/2020-12/schema',
|
|
608
|
-
title: 'json',
|
|
609
|
-
required: true,
|
|
616
|
+
// title: 'json',
|
|
610
617
|
type: 'object',
|
|
618
|
+
required: ['a', 'arr', 'arr1', 'arr2'],
|
|
611
619
|
properties: {
|
|
612
|
-
a: { type: 'boolean'
|
|
620
|
+
a: { type: 'boolean' },
|
|
613
621
|
arr: {
|
|
614
|
-
type: 'string', enum: ['1', '2', '3']
|
|
615
|
-
required: true
|
|
622
|
+
type: 'string', enum: ['1', '2', '3']
|
|
616
623
|
},
|
|
617
624
|
arr1: {
|
|
618
|
-
type: 'number', enum: [1, 2, 3]
|
|
619
|
-
required: true
|
|
625
|
+
type: 'number', enum: [1, 2, 3]
|
|
620
626
|
},
|
|
621
|
-
arr2: { type: 'array', items: { type: 'integer' }
|
|
627
|
+
arr2: { type: 'array', items: { type: 'integer' } },
|
|
622
628
|
arrStr: {
|
|
623
629
|
type: "object",
|
|
624
630
|
oneOf: [
|
|
625
631
|
{ type: 'array', items: { type: 'string' } },
|
|
626
632
|
{ type: 'null' }
|
|
627
|
-
]
|
|
628
|
-
required: false
|
|
633
|
+
]
|
|
629
634
|
},
|
|
630
635
|
o: {
|
|
631
636
|
type: "object",
|
|
632
637
|
oneOf: [
|
|
633
|
-
{ type: "object", properties: { o1: { type: 'integer'
|
|
634
|
-
{ type: "object", properties: { o2: { type: 'boolean'
|
|
638
|
+
{ type: "object", required: ["o1"], properties: { o1: { type: 'integer' } } },
|
|
639
|
+
{ type: "object", required: ["o2"], properties: { o2: { type: 'boolean' } } },
|
|
635
640
|
{ type: 'null' }
|
|
636
|
-
]
|
|
637
|
-
required: false
|
|
641
|
+
]
|
|
638
642
|
}
|
|
639
643
|
}
|
|
640
644
|
});
|
|
641
|
-
|
|
645
|
+
const statusColJSONSchema = cols.find(c => c.name === "status")?.jsonSchema;
|
|
646
|
+
// console.trace(JSON.stringify(statusColJSONSchema, null, 2));
|
|
647
|
+
assert_1.strict.deepEqual(statusColJSONSchema, {
|
|
642
648
|
$id: 'tjson.status',
|
|
643
649
|
$schema: 'https://json-schema.org/draft/2020-12/schema',
|
|
644
650
|
type: "object",
|
|
645
651
|
oneOf: [
|
|
646
|
-
{ type: "object", properties: { ok: {
|
|
647
|
-
{ type: "object", properties: { err: {
|
|
652
|
+
{ type: "object", required: ["ok"], properties: { ok: { type: 'string' } } },
|
|
653
|
+
{ type: "object", required: ["err"], properties: { err: { type: 'string' } } },
|
|
648
654
|
{
|
|
649
|
-
type: "object",
|
|
655
|
+
type: "object",
|
|
656
|
+
required: ["loading"],
|
|
657
|
+
properties: {
|
|
650
658
|
loading: {
|
|
659
|
+
required: ["loaded", "total"],
|
|
651
660
|
properties: {
|
|
652
|
-
loaded: {
|
|
653
|
-
total: {
|
|
661
|
+
loaded: { type: 'number' },
|
|
662
|
+
total: { type: 'number' }
|
|
654
663
|
},
|
|
655
|
-
required: true,
|
|
656
664
|
type: 'object'
|
|
657
665
|
}
|
|
658
666
|
}
|
|
659
|
-
}
|
|
667
|
+
},
|
|
668
|
+
{ type: "null" }
|
|
660
669
|
],
|
|
661
|
-
|
|
662
|
-
title: 'status'
|
|
670
|
+
// title: 'status'
|
|
663
671
|
});
|
|
664
672
|
});
|
|
665
673
|
await tryRun("Exists filter example", async () => {
|
|
@@ -17,12 +17,18 @@ export async function tryRun(desc: string, func: () => any, log?: Function){
|
|
|
17
17
|
}, 2000)
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
export function tryRunP(desc: string, func: (resolve: any, reject: any) => any, log?: Function){
|
|
20
|
+
export function tryRunP(desc: string, func: (resolve: any, reject: any) => any, opts?: { log?: Function; timeout?: number; }){
|
|
21
21
|
return new Promise(async (rv, rj) => {
|
|
22
|
+
const tout = Number.isFinite(opts?.timeout)? setTimeout(() => {
|
|
23
|
+
const errMsg = `${desc} failed. Reason: Timout reached: ${opts.timeout}ms`;
|
|
24
|
+
opts?.log?.(errMsg);
|
|
25
|
+
rj(errMsg);
|
|
26
|
+
}, opts.timeout) : undefined
|
|
22
27
|
try {
|
|
23
28
|
await func(rv, rj);
|
|
29
|
+
clearTimeout(tout);
|
|
24
30
|
} catch(err: any){
|
|
25
|
-
log?.(`${desc} failed: ` + JSON.stringify(err));
|
|
31
|
+
opts?.log?.(`${desc} failed: ` + JSON.stringify(err));
|
|
26
32
|
setTimeout(() => {
|
|
27
33
|
throw err;
|
|
28
34
|
}, 1000)
|
|
@@ -364,7 +370,7 @@ export default async function isomorphic(db: Required<DBHandlerServer> | Require
|
|
|
364
370
|
await db.various.update!({ id: 99 }, { name: "zz3zz1" });
|
|
365
371
|
await db.various.update!({ id: 99 }, { name: "zz3zz2" });
|
|
366
372
|
await db.various.update!({ id: 99 }, { name: "zz3zz3" });
|
|
367
|
-
});
|
|
373
|
+
}, { timeout: 4000 });
|
|
368
374
|
|
|
369
375
|
await tryRunP("subscribeOne with throttle", async (resolve, reject) => {
|
|
370
376
|
await db.various.insert!({ id: 99 });
|
|
@@ -382,7 +388,7 @@ export default async function isomorphic(db: Required<DBHandlerServer> | Require
|
|
|
382
388
|
});
|
|
383
389
|
await db.various.update!({ id: 99 }, { name: "zz3zz1" });
|
|
384
390
|
await db.various.update!({ id: 99 }, { name: "zz3zz2" });
|
|
385
|
-
});
|
|
391
|
+
}, { timeout: 4000 });
|
|
386
392
|
|
|
387
393
|
await tryRun("JSON filtering", async () => {
|
|
388
394
|
const res = await db.various.count!({ "jsn->a->>b": '3' });
|
|
@@ -674,7 +680,7 @@ export default async function isomorphic(db: Required<DBHandlerServer> | Require
|
|
|
674
680
|
const json = { a: true, arr: "2", arr1: 3, arr2: [1], arrStr: ["1123.string"] }
|
|
675
681
|
const fo = await db.tjson.insert!({ colOneOf: "a", json }, { returning: "*"});
|
|
676
682
|
// assert.deepStrictEqual(fo.json, json);
|
|
677
|
-
await db.tjson.insert!({ colOneOf: "a", json: {...json, o: { o1: 2
|
|
683
|
+
await db.tjson.insert!({ colOneOf: "a", json: {...json, o: { o1: 2 } } })
|
|
678
684
|
try {
|
|
679
685
|
await db.tjson.insert!({ colOneOf: "a", json: { a: true, arr: "22"} });
|
|
680
686
|
throw "Should have failed"
|
|
@@ -687,70 +693,71 @@ export default async function isomorphic(db: Required<DBHandlerServer> | Require
|
|
|
687
693
|
|
|
688
694
|
await tryRun("jsonb JSON Schema validation", async () => {
|
|
689
695
|
const cols = await db.tjson.getColumns!();
|
|
696
|
+
const jsonColSchema = cols.find(c => c.name === "json")?.jsonSchema;
|
|
697
|
+
// console.trace(JSON.stringify(jsonColSchema, null, 2))
|
|
690
698
|
assert.deepEqual(
|
|
691
|
-
|
|
699
|
+
jsonColSchema,
|
|
692
700
|
{
|
|
693
701
|
$id: 'tjson.json',
|
|
694
702
|
$schema: 'https://json-schema.org/draft/2020-12/schema',
|
|
695
|
-
title: 'json',
|
|
696
|
-
required: true,
|
|
703
|
+
// title: 'json',
|
|
697
704
|
type: 'object',
|
|
705
|
+
required: [ 'a', 'arr', 'arr1', 'arr2' ],
|
|
698
706
|
properties: {
|
|
699
|
-
a: { type: 'boolean'
|
|
707
|
+
a: { type: 'boolean' },
|
|
700
708
|
arr: {
|
|
701
|
-
type: 'string', enum: [ '1', '2', '3' ]
|
|
702
|
-
required: true
|
|
709
|
+
type: 'string', enum: [ '1', '2', '3' ]
|
|
703
710
|
},
|
|
704
711
|
arr1: {
|
|
705
|
-
type: 'number', enum: [ 1, 2, 3 ]
|
|
706
|
-
required: true
|
|
712
|
+
type: 'number', enum: [ 1, 2, 3 ]
|
|
707
713
|
},
|
|
708
|
-
arr2: { type: 'array', items: { type: 'integer' }
|
|
714
|
+
arr2: { type: 'array', items: { type: 'integer' } },
|
|
709
715
|
arrStr: {
|
|
710
716
|
type: "object",
|
|
711
717
|
oneOf: [
|
|
712
718
|
{ type: 'array', items: { type: 'string' } },
|
|
713
719
|
{ type: 'null' }
|
|
714
|
-
]
|
|
715
|
-
required: false
|
|
720
|
+
]
|
|
716
721
|
},
|
|
717
722
|
o: {
|
|
718
723
|
type: "object",
|
|
719
724
|
oneOf: [
|
|
720
|
-
{ type: "object", properties: {o1: { type: 'integer'
|
|
721
|
-
{ type: "object", properties: {o2: { type: 'boolean'
|
|
725
|
+
{ type: "object", required: ["o1"], properties: {o1: { type: 'integer' } } },
|
|
726
|
+
{ type: "object", required: ["o2"], properties: {o2: { type: 'boolean' } } },
|
|
722
727
|
{ type: 'null' }
|
|
723
|
-
]
|
|
724
|
-
required: false
|
|
728
|
+
]
|
|
725
729
|
}
|
|
726
730
|
}
|
|
727
731
|
}
|
|
728
732
|
);
|
|
729
|
-
|
|
733
|
+
const statusColJSONSchema = cols.find(c => c.name === "status")?.jsonSchema;
|
|
734
|
+
// console.trace(JSON.stringify(statusColJSONSchema, null, 2));
|
|
730
735
|
assert.deepEqual(
|
|
731
|
-
|
|
736
|
+
statusColJSONSchema,
|
|
732
737
|
{
|
|
733
738
|
$id: 'tjson.status',
|
|
734
739
|
$schema: 'https://json-schema.org/draft/2020-12/schema',
|
|
735
740
|
type: "object",
|
|
736
741
|
oneOf: [
|
|
737
|
-
{ type: "object", properties: { ok: {
|
|
738
|
-
{ type: "object", properties: { err: {
|
|
742
|
+
{ type: "object", required: ["ok"], properties: { ok: { type: 'string' } } },
|
|
743
|
+
{ type: "object", required: ["err"], properties: { err: { type: 'string' } } },
|
|
739
744
|
{
|
|
740
|
-
type: "object",
|
|
745
|
+
type: "object",
|
|
746
|
+
required: ["loading"],
|
|
747
|
+
properties: {
|
|
741
748
|
loading: {
|
|
749
|
+
required: ["loaded", "total"],
|
|
742
750
|
properties: {
|
|
743
|
-
loaded: {
|
|
744
|
-
total: {
|
|
745
|
-
},
|
|
746
|
-
required: true,
|
|
751
|
+
loaded: { type: 'number' },
|
|
752
|
+
total: { type: 'number'}
|
|
753
|
+
},
|
|
747
754
|
type: 'object'
|
|
748
755
|
}
|
|
749
756
|
}
|
|
750
|
-
}
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
title: 'status'
|
|
757
|
+
},
|
|
758
|
+
{ type: "null" }
|
|
759
|
+
],
|
|
760
|
+
// title: 'status'
|
|
754
761
|
}
|
|
755
762
|
);
|
|
756
763
|
})
|
package/tests/server/index.js
CHANGED
|
@@ -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
|
-
|
|
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: {
|
|
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: {
|
|
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
|
-
|
|
145
|
-
jsonbSchema: {
|
|
146
|
-
referencedTables: { type: {}, optional: true },
|
|
146
|
+
table_config: { nullable: true, jsonbSchemaType: {
|
|
147
|
+
referencedTables: { optional: true, arrayOf: { name: "string", minFiles: "number" } },
|
|
147
148
|
}
|
|
148
149
|
}
|
|
149
150
|
}
|
package/tests/server/index.ts
CHANGED
|
@@ -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
|
-
|
|
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: {
|
|
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: {
|
|
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
|
-
|
|
166
|
-
|
|
167
|
-
|
|
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: {
|