prostgles-server 2.0.334 → 2.0.336

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.
@@ -64,8 +64,36 @@ declare type ColOpts = {
64
64
  };
65
65
  export declare function getSchemaTSTypes(schema: ValidationSchema, leading?: string, isOneOf?: boolean): string;
66
66
  export declare function getJSONBSchemaTSTypes(schema: ValidationSchema | OneOf, colOpts: ColOpts, leading?: string, isOneOf?: boolean): string;
67
+ declare namespace JSTypes {
68
+ type Base = {
69
+ $id?: string;
70
+ $schema?: string;
71
+ title?: string;
72
+ description?: string;
73
+ required?: boolean;
74
+ };
75
+ export type Any = {};
76
+ export type Object<T extends AnyObject = AnyObject> = Base & {
77
+ type: "object";
78
+ properties: Record<keyof T, Schema>;
79
+ };
80
+ export type Enum = Base & {
81
+ type: "string" | "number";
82
+ enum: (string | number)[];
83
+ };
84
+ export type Array = Base & {
85
+ type: "array";
86
+ items: (string | number)[];
87
+ };
88
+ export type OneOf = {
89
+ oneOf: (Any | Object | Enum | Array)[];
90
+ };
91
+ export type Schema = Any | Object | Enum | Array | OneOf;
92
+ export {};
93
+ }
94
+ declare type JSONSchema = JSTypes.Schema;
67
95
  export declare function getJSONBSchemaAsJSONSchema(tableName: string, colName: string, columnConfig: BaseColumn<{
68
96
  en: 1;
69
- }> & JSONBColumnDef): AnyObject;
97
+ }> & JSONBColumnDef): JSONSchema;
70
98
  export {};
71
99
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../lib/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../lib/validation.ts"],"names":[],"mappings":"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"}
@@ -177,82 +177,90 @@ function getJSONBSchemaTSTypes(schema, colOpts, leading = "", isOneOf = false) {
177
177
  }
178
178
  }
179
179
  exports.getJSONBSchemaTSTypes = getJSONBSchemaTSTypes;
180
- // type JSONSchema =
181
180
  const getJSONSchemaObject = (objDef) => {
182
- const resultType = {};
183
- return (0, prostgles_types_1.getKeys)(objDef).reduce((a, k) => {
184
- const itemSchema = objDef[k];
185
- const { nullable, optional, description, title } = itemSchema;
186
- let item = {};
187
- if ("type" in itemSchema) {
188
- const { type } = itemSchema;
189
- /**
190
- * Is primitive or any
191
- */
192
- if (typeof type === "string") {
193
- const arrayType = type.endsWith("[]") ? type.slice(0, -2) : undefined;
194
- if (arrayType) {
195
- item = {
196
- type: "array",
197
- items: { type: arrayType === "any" ? {} : arrayType }
198
- };
181
+ const resultType = {
182
+ type: "object",
183
+ properties: (0, prostgles_types_1.getKeys)(objDef).reduce((a, k) => {
184
+ const itemSchema = objDef[k];
185
+ const { nullable, optional, description, title } = itemSchema;
186
+ let item = {};
187
+ if ("type" in itemSchema) {
188
+ const { type } = itemSchema;
189
+ /**
190
+ * Is primitive or any
191
+ */
192
+ if (typeof type === "string") {
193
+ const arrayType = type.endsWith("[]") ? type.slice(0, -2) : undefined;
194
+ if (arrayType) {
195
+ item = {
196
+ type: "array",
197
+ items: { type: arrayType === "any" ? {} : arrayType }
198
+ };
199
+ }
200
+ else {
201
+ item = {
202
+ type: type === "any" ? {} : type
203
+ };
204
+ }
205
+ /**
206
+ * Is object
207
+ */
199
208
  }
200
209
  else {
201
- item = {
202
- type: type === "any" ? {} : type
203
- };
210
+ item = getJSONSchemaObject(type);
204
211
  }
205
- /**
206
- * Is object
207
- */
208
212
  }
209
- else {
213
+ else if ("enum" in itemSchema) {
210
214
  item = {
211
- type: "object",
212
- properties: getJSONSchemaObject(type)
215
+ type: typeof itemSchema.enum[0],
216
+ "enum": itemSchema.enum //.concat(nullable? [null] : [])
213
217
  };
214
218
  }
215
- }
216
- else if ("enum" in itemSchema) {
217
- item = {
218
- type: typeof itemSchema.enum[0],
219
- "enum": itemSchema.enum //.concat(nullable? [null] : [])
220
- };
221
- }
222
- else if ("oneOf" in itemSchema) {
223
- item = {
224
- oneOf: itemSchema.oneOf.map(t => getJSONSchemaObject(t))
225
- };
226
- }
227
- else {
228
- throw new Error("Unexpected jsonbSchema itemSchema" + JSON.stringify({ itemSchema, objDef }, null, 2));
229
- }
230
- if (nullable) {
231
- const nullDef = { type: "null" };
232
- if (item.oneOf)
233
- item.oneOf.push(nullDef);
234
- else
219
+ else if ("oneOf" in itemSchema) {
235
220
  item = {
236
- oneOf: [item, nullDef]
221
+ oneOf: itemSchema.oneOf.map(t => getJSONSchemaObject(t))
237
222
  };
238
- }
239
- return {
240
- ...a,
241
- [k]: {
242
- ...item,
243
- required: !optional,
244
- description,
245
- title,
246
223
  }
247
- };
248
- }, resultType);
224
+ else {
225
+ throw new Error("Unexpected jsonbSchema itemSchema" + JSON.stringify({ itemSchema, objDef }, null, 2));
226
+ }
227
+ if (nullable) {
228
+ const nullDef = { type: "null" };
229
+ if (item.oneOf)
230
+ item.oneOf.push(nullDef);
231
+ else
232
+ item = {
233
+ oneOf: [item, nullDef]
234
+ };
235
+ }
236
+ return {
237
+ ...a,
238
+ [k]: {
239
+ ...item,
240
+ required: !optional,
241
+ ...(!!description && { description }),
242
+ ...(!!title && { title }),
243
+ }
244
+ };
245
+ }, {})
246
+ };
247
+ return resultType;
249
248
  };
250
249
  function getJSONBSchemaAsJSONSchema(tableName, colName, columnConfig) {
251
250
  const schema = columnConfig.jsonbSchema;
252
- let jSchema = getJSONSchemaObject({
251
+ let jSchema = undefined;
252
+ // if(isOneOfTypes(schema)){
253
+ jSchema = getJSONSchemaObject({
253
254
  field1: isOneOfTypes(schema) ? schema :
254
255
  { type: schema }
255
- }).field1;
256
+ }).properties.field1;
257
+ // } else {
258
+ // jSchema = getJSONSchemaObject({
259
+ // field1:
260
+ // isOneOfTypes(schema) ? schema :
261
+ // { type: schema as ValidationSchema }
262
+ // }).properties.field1;
263
+ // }
256
264
  return {
257
265
  "$id": `${tableName}.${colName}`,
258
266
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../lib/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../lib/validation.ts"],"names":[],"mappings":"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"}
@@ -64,8 +64,36 @@ declare type ColOpts = {
64
64
  };
65
65
  export declare function getSchemaTSTypes(schema: ValidationSchema, leading?: string, isOneOf?: boolean): string;
66
66
  export declare function getJSONBSchemaTSTypes(schema: ValidationSchema | OneOf, colOpts: ColOpts, leading?: string, isOneOf?: boolean): string;
67
+ declare namespace JSTypes {
68
+ type Base = {
69
+ $id?: string;
70
+ $schema?: string;
71
+ title?: string;
72
+ description?: string;
73
+ required?: boolean;
74
+ };
75
+ export type Any = {};
76
+ export type Object<T extends AnyObject = AnyObject> = Base & {
77
+ type: "object";
78
+ properties: Record<keyof T, Schema>;
79
+ };
80
+ export type Enum = Base & {
81
+ type: "string" | "number";
82
+ enum: (string | number)[];
83
+ };
84
+ export type Array = Base & {
85
+ type: "array";
86
+ items: (string | number)[];
87
+ };
88
+ export type OneOf = {
89
+ oneOf: (Any | Object | Enum | Array)[];
90
+ };
91
+ export type Schema = Any | Object | Enum | Array | OneOf;
92
+ export {};
93
+ }
94
+ declare type JSONSchema = JSTypes.Schema;
67
95
  export declare function getJSONBSchemaAsJSONSchema(tableName: string, colName: string, columnConfig: BaseColumn<{
68
96
  en: 1;
69
- }> & JSONBColumnDef): AnyObject;
97
+ }> & JSONBColumnDef): JSONSchema;
70
98
  export {};
71
99
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["validation.ts"],"names":[],"mappings":"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"}
package/lib/validation.js CHANGED
@@ -177,82 +177,90 @@ function getJSONBSchemaTSTypes(schema, colOpts, leading = "", isOneOf = false) {
177
177
  }
178
178
  }
179
179
  exports.getJSONBSchemaTSTypes = getJSONBSchemaTSTypes;
180
- // type JSONSchema =
181
180
  const getJSONSchemaObject = (objDef) => {
182
- const resultType = {};
183
- return (0, prostgles_types_1.getKeys)(objDef).reduce((a, k) => {
184
- const itemSchema = objDef[k];
185
- const { nullable, optional, description, title } = itemSchema;
186
- let item = {};
187
- if ("type" in itemSchema) {
188
- const { type } = itemSchema;
189
- /**
190
- * Is primitive or any
191
- */
192
- if (typeof type === "string") {
193
- const arrayType = type.endsWith("[]") ? type.slice(0, -2) : undefined;
194
- if (arrayType) {
195
- item = {
196
- type: "array",
197
- items: { type: arrayType === "any" ? {} : arrayType }
198
- };
181
+ const resultType = {
182
+ type: "object",
183
+ properties: (0, prostgles_types_1.getKeys)(objDef).reduce((a, k) => {
184
+ const itemSchema = objDef[k];
185
+ const { nullable, optional, description, title } = itemSchema;
186
+ let item = {};
187
+ if ("type" in itemSchema) {
188
+ const { type } = itemSchema;
189
+ /**
190
+ * Is primitive or any
191
+ */
192
+ if (typeof type === "string") {
193
+ const arrayType = type.endsWith("[]") ? type.slice(0, -2) : undefined;
194
+ if (arrayType) {
195
+ item = {
196
+ type: "array",
197
+ items: { type: arrayType === "any" ? {} : arrayType }
198
+ };
199
+ }
200
+ else {
201
+ item = {
202
+ type: type === "any" ? {} : type
203
+ };
204
+ }
205
+ /**
206
+ * Is object
207
+ */
199
208
  }
200
209
  else {
201
- item = {
202
- type: type === "any" ? {} : type
203
- };
210
+ item = getJSONSchemaObject(type);
204
211
  }
205
- /**
206
- * Is object
207
- */
208
212
  }
209
- else {
213
+ else if ("enum" in itemSchema) {
210
214
  item = {
211
- type: "object",
212
- properties: getJSONSchemaObject(type)
215
+ type: typeof itemSchema.enum[0],
216
+ "enum": itemSchema.enum //.concat(nullable? [null] : [])
213
217
  };
214
218
  }
215
- }
216
- else if ("enum" in itemSchema) {
217
- item = {
218
- type: typeof itemSchema.enum[0],
219
- "enum": itemSchema.enum //.concat(nullable? [null] : [])
220
- };
221
- }
222
- else if ("oneOf" in itemSchema) {
223
- item = {
224
- oneOf: itemSchema.oneOf.map(t => getJSONSchemaObject(t))
225
- };
226
- }
227
- else {
228
- throw new Error("Unexpected jsonbSchema itemSchema" + JSON.stringify({ itemSchema, objDef }, null, 2));
229
- }
230
- if (nullable) {
231
- const nullDef = { type: "null" };
232
- if (item.oneOf)
233
- item.oneOf.push(nullDef);
234
- else
219
+ else if ("oneOf" in itemSchema) {
235
220
  item = {
236
- oneOf: [item, nullDef]
221
+ oneOf: itemSchema.oneOf.map(t => getJSONSchemaObject(t))
237
222
  };
238
- }
239
- return {
240
- ...a,
241
- [k]: {
242
- ...item,
243
- required: !optional,
244
- description,
245
- title,
246
223
  }
247
- };
248
- }, resultType);
224
+ else {
225
+ throw new Error("Unexpected jsonbSchema itemSchema" + JSON.stringify({ itemSchema, objDef }, null, 2));
226
+ }
227
+ if (nullable) {
228
+ const nullDef = { type: "null" };
229
+ if (item.oneOf)
230
+ item.oneOf.push(nullDef);
231
+ else
232
+ item = {
233
+ oneOf: [item, nullDef]
234
+ };
235
+ }
236
+ return {
237
+ ...a,
238
+ [k]: {
239
+ ...item,
240
+ required: !optional,
241
+ ...(!!description && { description }),
242
+ ...(!!title && { title }),
243
+ }
244
+ };
245
+ }, {})
246
+ };
247
+ return resultType;
249
248
  };
250
249
  function getJSONBSchemaAsJSONSchema(tableName, colName, columnConfig) {
251
250
  const schema = columnConfig.jsonbSchema;
252
- let jSchema = getJSONSchemaObject({
251
+ let jSchema = undefined;
252
+ // if(isOneOfTypes(schema)){
253
+ jSchema = getJSONSchemaObject({
253
254
  field1: isOneOfTypes(schema) ? schema :
254
255
  { type: schema }
255
- }).field1;
256
+ }).properties.field1;
257
+ // } else {
258
+ // jSchema = getJSONSchemaObject({
259
+ // field1:
260
+ // isOneOfTypes(schema) ? schema :
261
+ // { type: schema as ValidationSchema }
262
+ // }).properties.field1;
263
+ // }
256
264
  return {
257
265
  "$id": `${tableName}.${colName}`,
258
266
  "$schema": "https://json-schema.org/draft/2020-12/schema",
package/lib/validation.ts CHANGED
@@ -209,85 +209,132 @@ export function getJSONBSchemaTSTypes(schema: ValidationSchema | OneOf, colOpts:
209
209
  }
210
210
  }
211
211
 
212
- // type JSONSchema =
213
- const getJSONSchemaObject = <T extends ValidationSchema>(objDef: T): Record<keyof T, any> => {
214
- const resultType: Record<keyof T, any> = {} as any;
215
-
216
- return getKeys(objDef).reduce((a, k) => {
217
- const itemSchema: FieldType = objDef[k];
218
- const { nullable, optional, description, title } = itemSchema;
219
- let item = {} as any;
220
-
221
- if ("type" in itemSchema) {
222
- const { type } = itemSchema;
223
- /**
224
- * Is primitive or any
225
- */
226
- if (typeof type === "string") {
227
- const arrayType = type.endsWith("[]") ? type.slice(0, -2) : undefined;
228
- if (arrayType) {
229
- item = {
230
- type: "array",
231
- items: { type: arrayType === "any" ? {} : arrayType }
212
+ namespace JSTypes {
213
+ type Base = {
214
+ $id?: string;
215
+ $schema?: string;
216
+ title?: string;
217
+ description?: string;
218
+ required?: boolean;
219
+ // nullable?: boolean;
220
+ // optional?: boolean;
221
+ }
222
+ export type Any = {};
223
+
224
+ export type Object<T extends AnyObject = AnyObject> = Base & {
225
+ type: "object";
226
+ properties: Record<keyof T, Schema>;
227
+ }
228
+ export type Enum = Base & {
229
+ type: "string" | "number";
230
+ enum: (string | number)[]
231
+ }
232
+ export type Array = Base & {
233
+ type: "array";
234
+ items: (string | number)[]
235
+ }
236
+ export type OneOf = {
237
+ oneOf: (Any | Object | Enum | Array)[]
238
+ }
239
+ export type Schema =
240
+ | Any
241
+ | Object
242
+ | Enum
243
+ | Array
244
+ | OneOf;
245
+ }
246
+
247
+ type JSONSchema = JSTypes.Schema
248
+
249
+ const getJSONSchemaObject = <T extends ValidationSchema>(objDef: T): JSTypes.Object<T> => {
250
+ const resultType: JSONSchema = {
251
+ type: "object",
252
+ properties: getKeys(objDef).reduce((a, k) => {
253
+ const itemSchema: FieldType = objDef[k];
254
+ const { nullable, optional, description, title } = itemSchema;
255
+ let item = {} as any;
256
+
257
+ if ("type" in itemSchema) {
258
+ const { type } = itemSchema;
259
+ /**
260
+ * Is primitive or any
261
+ */
262
+ if (typeof type === "string") {
263
+ const arrayType = type.endsWith("[]") ? type.slice(0, -2) : undefined;
264
+ if (arrayType) {
265
+ item = {
266
+ type: "array",
267
+ items: { type: arrayType === "any" ? {} : arrayType }
268
+ }
269
+ } else {
270
+ item = {
271
+ type: type === "any" ? {} : type
272
+ }
232
273
  }
274
+
275
+ /**
276
+ * Is object
277
+ */
233
278
  } else {
234
- item = {
235
- type: type === "any" ? {} : type
236
- }
279
+ item = getJSONSchemaObject(type)
280
+
237
281
  }
238
282
 
239
- /**
240
- * Is object
241
- */
242
- } else {
283
+ } else if ("enum" in itemSchema) {
243
284
  item = {
244
- type: "object",
245
- properties: getJSONSchemaObject(type)
285
+ type: typeof itemSchema.enum[0]!,
286
+ "enum": itemSchema.enum //.concat(nullable? [null] : [])
246
287
  }
247
-
288
+ } else if ("oneOf" in itemSchema) {
289
+ item = {
290
+ oneOf: itemSchema.oneOf.map(t => getJSONSchemaObject(t))
291
+ }
292
+ } else {
293
+ throw new Error("Unexpected jsonbSchema itemSchema" + JSON.stringify({ itemSchema, objDef }, null, 2))
248
294
  }
249
295
 
250
- } else if ("enum" in itemSchema) {
251
- item = {
252
- type: typeof itemSchema.enum[0]!,
253
- "enum": itemSchema.enum //.concat(nullable? [null] : [])
254
- }
255
- } else if ("oneOf" in itemSchema) {
256
- item = {
257
- oneOf: itemSchema.oneOf.map(t => getJSONSchemaObject(t))
296
+ if (nullable) {
297
+ const nullDef = { type: "null" }
298
+ if (item.oneOf) item.oneOf.push(nullDef)
299
+ else item = {
300
+ oneOf: [item, nullDef]
301
+ }
258
302
  }
259
- } else {
260
- throw new Error("Unexpected jsonbSchema itemSchema" + JSON.stringify({ itemSchema, objDef }, null, 2))
261
- }
262
303
 
263
- if (nullable) {
264
- const nullDef = { type: "null" }
265
- if (item.oneOf) item.oneOf.push(nullDef)
266
- else item = {
267
- oneOf: [item, nullDef]
304
+ return {
305
+ ...a,
306
+ [k]: {
307
+ ...item,
308
+ required: !optional,
309
+ ...(!!description && {description}),
310
+ ...(!!title && {title}),
311
+ }
268
312
  }
269
- }
313
+ }, {} as Record<string, JSTypes.Schema>)
314
+ }
270
315
 
271
- return {
272
- ...a,
273
- [k]: {
274
- ...item,
275
- required: !optional,
276
- description,
277
- title,
278
- }
279
- }
280
- }, resultType)
316
+ return resultType as any;
281
317
  }
282
318
 
283
- export function getJSONBSchemaAsJSONSchema(tableName: string, colName: string, columnConfig: BaseColumn<{ en: 1 }> & JSONBColumnDef): AnyObject {
319
+ export function getJSONBSchemaAsJSONSchema(tableName: string, colName: string, columnConfig: BaseColumn<{ en: 1 }> & JSONBColumnDef): JSONSchema {
284
320
 
285
321
  const schema = columnConfig.jsonbSchema;
286
322
 
287
- let jSchema = getJSONSchemaObject({
288
- field1: isOneOfTypes(schema) ? schema as OneOf :
289
- { type: schema as ValidationSchema }
290
- }).field1;
323
+ let jSchema: JSONSchema | undefined = undefined;
324
+ // if(isOneOfTypes(schema)){
325
+ jSchema = getJSONSchemaObject({
326
+ field1:
327
+ isOneOfTypes(schema) ? schema :
328
+ { type: schema as ValidationSchema }
329
+ }).properties.field1;
330
+ // } else {
331
+ // jSchema = getJSONSchemaObject({
332
+ // field1:
333
+ // isOneOfTypes(schema) ? schema :
334
+ // { type: schema as ValidationSchema }
335
+ // }).properties.field1;
336
+
337
+ // }
291
338
 
292
339
  return {
293
340
  "$id": `${tableName}.${colName}`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "2.0.334",
3
+ "version": "2.0.336",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +1 @@
1
- 77759
1
+ 95945
@@ -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,iBAu5BjG"}
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,iBAy5BjG"}
@@ -622,8 +622,8 @@ async function isomorphic(db) {
622
622
  },
623
623
  o: {
624
624
  oneOf: [
625
- { o1: { type: 'integer', required: true } },
626
- { o2: { type: 'boolean', required: true } },
625
+ { type: "object", properties: { o1: { type: 'integer', required: true } } },
626
+ { type: "object", properties: { o2: { type: 'boolean', required: true } } },
627
627
  { type: 'null' }
628
628
  ],
629
629
  required: false
@@ -634,16 +634,18 @@ async function isomorphic(db) {
634
634
  '$id': 'tjson.status',
635
635
  '$schema': 'https://json-schema.org/draft/2020-12/schema',
636
636
  oneOf: [
637
- { ok: { required: true, type: 'string' } },
638
- { err: { required: true, type: 'string' } },
637
+ { type: "object", properties: { ok: { required: true, type: 'string' } } },
638
+ { type: "object", properties: { err: { required: true, type: 'string' } } },
639
639
  {
640
- loading: {
641
- properties: {
642
- loaded: { required: true, type: 'number' },
643
- total: { required: true, type: 'number' }
644
- },
645
- required: true,
646
- type: 'object'
640
+ type: "object", properties: {
641
+ loading: {
642
+ properties: {
643
+ loaded: { required: true, type: 'number' },
644
+ total: { required: true, type: 'number' }
645
+ },
646
+ required: true,
647
+ type: 'object'
648
+ }
647
649
  }
648
650
  }
649
651
  ],
@@ -709,8 +709,8 @@ export default async function isomorphic(db: Required<DBHandlerServer> | Require
709
709
  },
710
710
  o: {
711
711
  oneOf: [
712
- { o1: { type: 'integer', required: true } },
713
- { o2: { type: 'boolean', required: true } },
712
+ { type: "object", properties: {o1: { type: 'integer', required: true } } },
713
+ { type: "object", properties: {o2: { type: 'boolean', required: true } } },
714
714
  { type: 'null' }
715
715
  ],
716
716
  required: false
@@ -725,16 +725,18 @@ export default async function isomorphic(db: Required<DBHandlerServer> | Require
725
725
  '$id': 'tjson.status',
726
726
  '$schema': 'https://json-schema.org/draft/2020-12/schema',
727
727
  oneOf: [
728
- { ok: { required: true, type: 'string' } },
729
- { err: { required: true, type: 'string' } },
728
+ { type: "object", properties: { ok: { required: true, type: 'string' } } },
729
+ { type: "object", properties: { err: { required: true, type: 'string' } } },
730
730
  {
731
- loading: {
732
- properties: {
733
- loaded: { required: true, type: 'number' },
734
- total: { required: true, type: 'number'}
735
- },
736
- required: true,
737
- type: 'object'
731
+ type: "object", properties: {
732
+ loading: {
733
+ properties: {
734
+ loaded: { required: true, type: 'number' },
735
+ total: { required: true, type: 'number'}
736
+ },
737
+ required: true,
738
+ type: 'object'
739
+ }
738
740
  }
739
741
  }
740
742
  ],
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "2.0.333",
24
+ "version": "2.0.335",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "@aws-sdk/client-s3": "^3.121.0",