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.
- 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/PubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/PubSubManager.js +10 -8
- package/dist/PubSubManager/PubSubManager.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 -9
- 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 -19
- 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/PubSubManager.js +10 -8
- package/lib/PubSubManager/PubSubManager.ts +13 -8
- 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.map +1 -1
- package/tests/isomorphic_queries.js +28 -26
- package/tests/isomorphic_queries.ts +30 -29
- 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
|
+
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.
|
|
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 +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,
|
|
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
|
|
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
|
-
|
|
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'
|
|
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' }
|
|
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'
|
|
634
|
-
{ type: "object", properties: { o2: { type: 'boolean'
|
|
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
|
-
|
|
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: {
|
|
647
|
-
{ type: "object", properties: { err: {
|
|
646
|
+
{ type: "object", required: ["ok"], properties: { ok: { type: 'string' } } },
|
|
647
|
+
{ type: "object", required: ["err"], properties: { err: { type: 'string' } } },
|
|
648
648
|
{
|
|
649
|
-
type: "object",
|
|
649
|
+
type: "object",
|
|
650
|
+
required: ["loading"],
|
|
651
|
+
properties: {
|
|
650
652
|
loading: {
|
|
653
|
+
required: ["loaded", "total"],
|
|
651
654
|
properties: {
|
|
652
|
-
loaded: {
|
|
653
|
-
total: {
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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'
|
|
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' }
|
|
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'
|
|
721
|
-
{ type: "object", properties: {o2: { type: 'boolean'
|
|
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
|
-
|
|
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: {
|
|
738
|
-
{ type: "object", properties: { err: {
|
|
736
|
+
{ type: "object", required: ["ok"], properties: { ok: { type: 'string' } } },
|
|
737
|
+
{ type: "object", required: ["err"], properties: { err: { type: 'string' } } },
|
|
739
738
|
{
|
|
740
|
-
type: "object",
|
|
739
|
+
type: "object",
|
|
740
|
+
required: ["loading"],
|
|
741
|
+
properties: {
|
|
741
742
|
loading: {
|
|
743
|
+
required: ["loaded", "total"],
|
|
742
744
|
properties: {
|
|
743
|
-
loaded: {
|
|
744
|
-
total: {
|
|
745
|
-
},
|
|
746
|
-
required: true,
|
|
745
|
+
loaded: { type: 'number' },
|
|
746
|
+
total: { type: 'number'}
|
|
747
|
+
},
|
|
747
748
|
type: 'object'
|
|
748
749
|
}
|
|
749
750
|
}
|
|
750
|
-
}
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
title: 'status'
|
|
751
|
+
},
|
|
752
|
+
{ type: "null" }
|
|
753
|
+
],
|
|
754
|
+
// title: 'status'
|
|
754
755
|
}
|
|
755
756
|
);
|
|
756
757
|
})
|
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: { arrayOf: { name: "string", minFiles: "number" }, optional: true },
|
|
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: {
|