prostgles-types 4.0.294 → 4.0.295

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.
@@ -3,7 +3,7 @@ import type { JSONB } from "./JSONBSchema";
3
3
  type ValidationOptions = {
4
4
  allowExtraProperties?: boolean;
5
5
  };
6
- type DBHandler = Map<string, TableHandler>;
6
+ type DBHandler = Map<string, Partial<Pick<TableHandler, "findOne" | "getColumns">>>;
7
7
  export declare const getFieldTypeObj: (rawFieldType: JSONB.FieldType) => JSONB.FieldTypeObj;
8
8
  export declare const getJSONBObjectSchemaValidationError: <S extends JSONB.ObjectType["type"]>(schema: S, obj: any, objName?: string, optional?: boolean, opts?: ValidationOptions) => {
9
9
  error: string;
@@ -1 +1 @@
1
- {"version":3,"file":"JSONBSchemaValidation.d.ts","sourceRoot":"","sources":["../../lib/JSONBSchemaValidation/JSONBSchemaValidation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,OAAO,KAAK,EAAE,KAAK,EAAoB,MAAM,eAAe,CAAC;AAG7D,KAAK,iBAAiB,GAAG;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAQF,KAAK,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAW3C,eAAO,MAAM,eAAe,GAAI,cAAc,KAAK,CAAC,SAAS,KAAG,KAAK,CAAC,YAIrE,CAAC;AAuWF,eAAO,MAAM,mCAAmC,GAAI,CAAC,SAAS,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EACpF,QAAQ,CAAC,EACT,KAAK,GAAG,EACR,gBAAiB,EACjB,kBAAgB,EAChB,OAAO,iBAAiB,KACvB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;CAUzF,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,CAAC,SAAS,KAAK,CAAC,SAAS,EACrE,QAAQ,CAAC,EACT,KAAK,GAAG,EACR,OAAO,iBAAiB,KACvB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CAMnF,CAAC;AAgFF;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,GAAU,CAAC,SAAS,KAAK,CAAC,SAAS,EAChF,QAAQ,CAAC,EACT,KAAK,GAAG,EACR,cAAc,SAAS,EACvB,OAAO,iBAAiB,KACvB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,CAU7F,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAAI,CAAC,SAAS,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EACjF,QAAQ,CAAC,EACT,KAAK,GAAG,EACR,SAAS,MAAM,EACf,kBAAgB,KACf,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,CAG9B,CAAC;AACF,eAAO,MAAM,8BAA8B,GAAI,CAAC,SAAS,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAC/E,QAAQ,CAAC,EACT,KAAK,GAAG,EACR,SAAS,MAAM,EACf,kBAAgB,KACf,QAAQ,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,CAKtC,CAAC"}
1
+ {"version":3,"file":"JSONBSchemaValidation.d.ts","sourceRoot":"","sources":["../../lib/JSONBSchemaValidation/JSONBSchemaValidation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,OAAO,KAAK,EAAE,KAAK,EAAoB,MAAM,eAAe,CAAC;AAG7D,KAAK,iBAAiB,GAAG;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAQF,KAAK,SAAS,GAAG,GAAG,CAClB,MAAM,EACN,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC,CACtD,CAAC;AAgBF,eAAO,MAAM,eAAe,GAC1B,cAAc,KAAK,CAAC,SAAS,KAC5B,KAAK,CAAC,YAIR,CAAC;AAoYF,eAAO,MAAM,mCAAmC,GAC9C,CAAC,SAAS,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAElC,QAAQ,CAAC,EACT,KAAK,GAAG,EACR,gBAAiB,EACjB,kBAAgB,EAChB,OAAO,iBAAiB,KAEtB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GACnC;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;CAWpD,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,CAAC,SAAS,KAAK,CAAC,SAAS,EACrE,QAAQ,CAAC,EACT,KAAK,GAAG,EACR,OAAO,iBAAiB,KAEtB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GACnC;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CAM9C,CAAC;AA0FF;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,GAC7C,CAAC,SAAS,KAAK,CAAC,SAAS,EAEzB,QAAQ,CAAC,EACT,KAAK,GAAG,EACR,cAAc,SAAS,EACvB,OAAO,iBAAiB,KACvB,OAAO,CACN;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GACnC;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,CAiBhD,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,CAAC,SAAS,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAElC,QAAQ,CAAC,EACT,KAAK,GAAG,EACR,SAAS,MAAM,EACf,kBAAgB,KACf,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,CAQ9B,CAAC;AACF,eAAO,MAAM,8BAA8B,GACzC,CAAC,SAAS,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAElC,QAAQ,CAAC,EACT,KAAK,GAAG,EACR,SAAS,MAAM,EACf,kBAAgB,KACf,QAAQ,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,CAUtC,CAAC"}
@@ -9,7 +9,8 @@ const isPrimitiveLookupRow = (value) => {
9
9
  if (!(0, util_1.isObject)(value))
10
10
  return false;
11
11
  const keys = (0, utils_1.safeGetKeys)(value);
12
- return !!keys.length && keys.every((key) => isLookupPrimitive((0, utils_1.safeGetProperty)(value, key)));
12
+ return (!!keys.length &&
13
+ keys.every((key) => isLookupPrimitive((0, utils_1.safeGetProperty)(value, key))));
13
14
  };
14
15
  const getFieldTypeObj = (rawFieldType) => {
15
16
  if (typeof rawFieldType === "string")
@@ -92,7 +93,7 @@ const getPropertyValidationError = (value, rawFieldType, path = [], opts, pendin
92
93
  }
93
94
  const isArrayType = type.endsWith("[]");
94
95
  const valuesToTest = isArrayType && Array.isArray(value) ? value : [value];
95
- const normalisedAllowedValues = allowedValues.map((v) => ((0, util_1.isObject)(v) ? v.value : v));
96
+ const normalisedAllowedValues = allowedValues.map((v) => (0, util_1.isObject)(v) ? v.value : v);
96
97
  for (const [index, val] of valuesToTest.entries()) {
97
98
  if (!normalisedAllowedValues.includes(val)) {
98
99
  const pathInfo = isArrayType ? `${path.join(".")}[${index}]` : path.join(".");
@@ -169,7 +170,7 @@ const getPropertyValidationError = (value, rawFieldType, path = [], opts, pendin
169
170
  if (fieldDefinition.tuple) {
170
171
  const tuple = fieldDefinition.tuple;
171
172
  if (!Array.isArray(value)) {
172
- return err + `[${tuple.map((item) => getTypeDescription(item)).join(", ")}]`;
173
+ return (err + `[${tuple.map((item) => getTypeDescription(item)).join(", ")}]`);
173
174
  }
174
175
  if (value.length !== tuple.length) {
175
176
  const tuplePath = path.length ? path.join(".") : "value";
@@ -195,7 +196,9 @@ const getPropertyValidationError = (value, rawFieldType, path = [], opts, pendin
195
196
  return;
196
197
  }
197
198
  const arrayOf = fieldDefinition.arrayOf ??
198
- (fieldDefinition.arrayOfType ? { type: fieldDefinition.arrayOfType } : undefined);
199
+ (fieldDefinition.arrayOfType ?
200
+ { type: fieldDefinition.arrayOfType }
201
+ : undefined);
199
202
  if (arrayOf) {
200
203
  if (!Array.isArray(value)) {
201
204
  return err + " an array";
@@ -210,7 +213,8 @@ const getPropertyValidationError = (value, rawFieldType, path = [], opts, pendin
210
213
  }
211
214
  return;
212
215
  }
213
- const oneOf = fieldDefinition.oneOf ?? fieldDefinition.oneOfType?.map((type) => ({ type }));
216
+ const oneOf = fieldDefinition.oneOf ??
217
+ fieldDefinition.oneOfType?.map((type) => ({ type }));
214
218
  if (oneOf) {
215
219
  if (!oneOf.length) {
216
220
  return err + "to not be empty";
@@ -334,7 +338,10 @@ const getJSONBSchemaValidationError = (schema, obj, opts) => {
334
338
  };
335
339
  exports.getJSONBSchemaValidationError = getJSONBSchemaValidationError;
336
340
  const getLookupValuePath = (path, index) => {
337
- const result = [...path, ...(index === undefined ? [] : [String(index)])].join(".");
341
+ const result = [
342
+ ...path,
343
+ ...(index === undefined ? [] : [String(index)]),
344
+ ].join(".");
338
345
  return result || "value";
339
346
  };
340
347
  const getLookupValidationError = async (lookup, db) => {
@@ -364,7 +371,8 @@ const getLookupValidationError = async (lookup, db) => {
364
371
  const columns = await tableHandler.getColumns();
365
372
  const column = columns.find(({ name }) => name === reference.column);
366
373
  if (!column ||
367
- (schema.filter?.tsDataType && column.tsDataType !== schema.filter.tsDataType) ||
374
+ (schema.filter?.tsDataType &&
375
+ column.tsDataType !== schema.filter.tsDataType) ||
368
376
  (schema.filter?.udt_name && column.udt_name !== schema.filter.udt_name)) {
369
377
  return `${valuePath} references an unknown or disallowed column ${JSON.stringify(`${reference.table}.${reference.column}`)}`;
370
378
  }
@@ -382,8 +390,12 @@ const getLookupValidationError = async (lookup, db) => {
382
390
  }
383
391
  const valueFilter = isRowLookup ?
384
392
  value
385
- : { [dataLookup.column]: value };
386
- const filter = dataLookup.filter ? { $and: [dataLookup.filter, valueFilter] } : valueFilter;
393
+ : {
394
+ [dataLookup.column]: value,
395
+ };
396
+ const filter = dataLookup.filter ?
397
+ { $and: [dataLookup.filter, valueFilter] }
398
+ : valueFilter;
387
399
  const row = await tableHandler?.findOne?.(filter);
388
400
  if (!row) {
389
401
  return `${valuePath} does not reference an existing row in ${JSON.stringify(dataLookup.table)}`;
@@ -1 +1 @@
1
- {"version":3,"file":"JSONBSchemaValidation.js","sourceRoot":"","sources":["../../lib/JSONBSchemaValidation/JSONBSchemaValidation.ts"],"names":[],"mappings":";;;AACA,kCAAgE;AAChE,oDAAiD;AAEjD,mCAAmE;AAenE,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAA4B,EAAE,CACrE,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC;AAC1E,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAA4C,EAAE;IACxF,IAAI,CAAC,IAAA,eAAQ,EAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAA,uBAAe,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAAC,YAA6B,EAAsB,EAAE;IACnF,IAAI,OAAO,YAAY,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAEpE,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B;AAEF,MAAM,oBAAoB,GAAG,CAAC,GAAY,EAAqB,EAAE;IAC/D,OAAO,CACL,GAAG,YAAY,IAAI;QACnB,YAAY;QACZ,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,GAAG,YAAY,MAAM,CAAC;QACxD,YAAY;QACZ,CAAC,OAAO,WAAW,KAAK,WAAW,IAAI,GAAG,YAAY,WAAW,CAAC,CACnE,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,oBAAoB,GAUtB;IACF,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ;IACxC,MAAM,EAAE,CAAC,GAAG,EAAiB,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC/E,OAAO,EAAE,CAAC,GAAG,EAAiB,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;IACjF,OAAO,EAAE,CAAC,GAAG,EAAkB,EAAE,CAAC,OAAO,GAAG,KAAK,SAAS;IAC1D,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ;IACtC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ;IAC3C,GAAG,EAAE,CAAC,GAAG,EAAc,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,IAAI,OAAO,GAAG,KAAK,QAAQ;IAC9E,OAAO,EAAE,CAAC,GAAG,EAAkB,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,IAAI,OAAO,GAAG,KAAK,QAAQ;IACtF,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ;IACtC,UAAU,EAAE,oBAAoB;IAChC,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,EAAuC,EAAE;QACxD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,cAAc,GAClB,IAAA,eAAQ,EAAC,GAAG,CAAC;YACb,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAC5B,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAC5B,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,cAAc,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAC7E,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb,2CAA2C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;CACF,CAAC;AACF,MAAM,yBAAyB,GAAG,IAAA,cAAO,EAAC,oBAAoB,CAAC,CAAC;AAChE,MAAM,cAAc,GAAG,CAAqB,IAAO,EAA8B,EAAE;IACjF,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,IAAA,mBAAQ,EAAC,yBAAyB,EAAE,WAAW,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,WAA6B,CAAC;IACvC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,IAA+B,EAC/B,SAA4D,EAC5D,EAAE;IACF,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SACnF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAqB,CAAC,CAAC;IAC9D,IAAI,CAAE,SAAiB,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CACjC,KAAU,EACV,YAA6B,EAC7B,OAAiB,EAAE,EACnB,IAAmC,EACnC,wBAAoD,EAChC,EAAE;IACtB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kCAAkC,kBAAkB,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;IACvH,MAAM,eAAe,GAAG,IAAA,uBAAe,EAAC,YAAY,CAAC,CAAC;IAEtD,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;IACpE,IAAI,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO;IACvC,IAAI,QAAQ,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAC5C,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,uBAAuB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9E,OAAO,GAAG,QAAQ,kCAAkC,uBAAuB;qBACxE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;qBACnE,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,IAAA,eAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,IAAA,eAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO,GAAG,CAAC;YACb,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,IAAA,mBAAW,EAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,MAAM,SAAS,GAAG,IAAA,uBAAe,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAChD,MAAM,cAAc,GAAG,IAAA,eAAQ,EAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC;gBACjE,IAAI,CAAC,cAAc,IAAI,CAAC,IAAA,kBAAU,EAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;oBAClD,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC;gBAClE,CAAC;gBACD,MAAM,KAAK,GAAG,0BAA0B,CACtC,IAAA,uBAAe,EAAC,KAAK,EAAE,MAAM,CAAC,EAC9B,SAAS,EACT,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,EACjB,IAAI,EACJ,wBAAwB,CACzB,CAAC;gBACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,oBAAoB,EAAE,CAAC;gBAChC,iCAAiC;gBACjC,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;gBACrC,MAAM,UAAU,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvE,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBACrB,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3E,CAAC;YACH,CAAC;YAED,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,GAAG,CAAC;YAEjD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAa,EAAE,EAAE;gBAC7C,IAAI,UAAU,KAAK,WAAW;oBAAE,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAClE,IAAI,UAAU,KAAK,aAAa;oBAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACjE,IAAI,UAAU,KAAK,aAAa;oBAAE,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC;gBAClE,OAAO,CACL,IAAA,eAAQ,EAAC,IAAI,CAAC;oBACd,OAAO,IAAA,uBAAe,EAAC,IAAI,EAAE,OAAO,CAAC,KAAK,QAAQ;oBAClD,OAAO,IAAA,uBAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,QAAQ;oBACnD,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,QAAQ,CAAC,CACtE,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO;gBAAE,OAAO,GAAG,CAAC;YAEzB,wBAAwB,CAAC,IAAI,CAAC;gBAC5B,MAAM,EAAE,eAA+B;gBACvC,KAAK;gBACL,IAAI;aACL,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,IAAgB,EAAE,eAAe,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;QAEpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/E,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACzD,OAAO,GAAG,SAAS,0CAA0C,KAAK,CAAC,MAAM,qBAAqB,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/G,CAAC;QAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,0BAA0B,CAC7C,KAAK,CAAC,KAAK,CAAC,EACZ,KAAK,CAAC,KAAK,CAAE,EACb,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,EACrB,IAAI,EACJ,wBAAwB,CACzB,CAAC;YAEF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;QAED,OAAO;IACT,CAAC;IAED,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,YAAY,GAAU,EAAE,CAAC;QAC/B,IAAI,eAAe,CAAC,QAAQ;YAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,eAAe,CAAC,QAAQ;YAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3D,yFAAyF;QAEzF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;QACtD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GACX,eAAe,CAAC,OAAO;QACvB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpF,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,GAAG,WAAW,CAAC;QAC3B,CAAC;QACD,MAAM,KAAK,GAAG,KAAK;aAChB,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YAClB,OAAO,0BAA0B,CAC/B,OAAO,EACP,OAAO,EACP,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,EACjB,IAAI,EACJ,wBAAwB,CACzB,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,gBAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,GAAG,GAAG,oBAAoB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,EAAE,CAAC;QAC7F,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,IAAI,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5F,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,GAAG,GAAG,iBAAiB,CAAC;QACjC,CAAC;QACD,IAAI,UAA8B,CAAC;QACnC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACxC,MAAM,kBAAkB,GAAG,wBAAwB,EAAE,MAAM,CAAC;YAC5D,MAAM,KAAK,GAAG,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,wBAAwB,CAAC,CAAC;YAC9F,IAAI,KAAK,KAAK,SAAS,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBAC5D,wBAAyB,CAAC,MAAM,GAAG,kBAAkB,CAAC;YACxD,CAAC;YACD,UAAU,KAAV,UAAU,GAAK,KAAK,EAAC;YACrB,OAAO,KAAK,KAAK,SAAS,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC;QAC3E,IAAI,CAAC,IAAA,eAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,GAAG,GAAG,QAAQ,CAAC;QACxB,CAAC;QACD,IAAI,OAAO,IAAI,IAAA,cAAO,EAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,KAAK,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3F,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,GAAG,GAAG,gBAAgB,UAAU,EAAE,CAAC;QAC5C,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACjF,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;YACtB,OAAO,GAAG,GAAG,oBAAoB,SAAS,EAAE,CAAC;QAC/C,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,MAAM,OAAO,IAAI,IAAA,mBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,IAAA,uBAAe,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAG,0BAA0B,CACzC,SAAS,EACT,YAAY,EACZ,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,EAClB,IAAI,EACJ,wBAAwB,CACzB,CAAC;gBACF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,OAAO,GAAG,QAAQ,EAAE,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IACD,OAAO,+DAA+D,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;AAC1G,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,MAAuB,EAAU,EAAE;IAC7D,MAAM,SAAS,GAAG,IAAA,uBAAe,EAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACvD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAChF,MAAM,YAAY,GAAU,EAAE,CAAC;IAC/B,IAAI,QAAQ;QAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,QAAQ;QAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;SAAM,IAAI,IAAI,EAAE,CAAC;QAChB,IAAI,IAAA,eAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC5C,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,YAAY,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5B,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACnC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,QAAQ,EAAE,CAAC;YACb,YAAY,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,kBAAkB,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC,CAAC;AAEK,MAAM,mCAAmC,GAAG,CACjD,MAAS,EACT,GAAQ,EACR,OAAO,GAAG,OAAO,EACjB,QAAQ,GAAG,KAAK,EAChB,IAAwB,EACmE,EAAE;IAC7F,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,aAAa,OAAO,gBAAgB,EAAE,CAAC;IAC3F,IAAI,CAAC,IAAA,eAAQ,EAAC,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,KAAK,EAAE,aAAa,OAAO,kBAAkB,EAAE,CAAC;IAC3D,CAAC;IACD,MAAM,KAAK,GAAG,0BAA0B,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1E,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAA6B,EAAE,CAAC;AACjD,CAAC,CAAC;AAhBW,QAAA,mCAAmC,uCAgB9C;AAEK,MAAM,6BAA6B,GAAG,CAC3C,MAAS,EACT,GAAQ,EACR,IAAwB,EAC6D,EAAE;IACvF,MAAM,KAAK,GAAG,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACvE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAuB,EAAE,CAAC;AAC3C,CAAC,CAAC;AAVW,QAAA,6BAA6B,iCAUxC;AAEF,MAAM,kBAAkB,GAAG,CAAC,IAAc,EAAE,KAAc,EAAU,EAAE;IACpE,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpF,OAAO,MAAM,IAAI,OAAO,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,KAAK,EACpC,MAA+B,EAC/B,EAAa,EACgB,EAAE;IAC/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,MAAM,CAAC,KAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtE,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAExE,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACrE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAe,CAAC,EAAE,CAAC;gBAC7B,OAAO,GAAG,SAAS,gCAAgC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7E,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACvE,MAAM,SAAS,GAAG,KAA0C,CAAC;YAC7D,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACpE,OAAO,GAAG,SAAS,4DAA4D,CAAC;YAClF,CAAC;YAED,MAAM,YAAY,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,GAAG,SAAS,gCAAgC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACvF,CAAC;YACD,IAAI,OAAO,YAAY,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBAClD,MAAM,IAAI,KAAK,CACb,uCAAuC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,6BAA6B,CACpG,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC;YACrE,IACE,CAAC,MAAM;gBACP,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC7E,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EACvE,CAAC;gBACD,OAAO,GAAG,SAAS,+CAA+C,IAAI,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAC/H,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,MAA6C,CAAC;QACjE,MAAM,YAAY,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,mBAAmB,UAAU,CAAC,IAAI,WAAW,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,0BAA0B,CACxG,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,KAAK,WAAW,IAAI,UAAU,CAAC,IAAI,KAAK,aAAa,CAAC;QACzF,IACE,CAAC,WAAW,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC7C,CAAC,CAAC,WAAW,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAC3C,CAAC;YACD,OAAO,GAAG,SAAS,wCAAwC,CAAC;QAC9D,CAAC;QACD,MAAM,WAAW,GACf,WAAW,CAAC,CAAC;YACV,KAAyC;YAC5C,CAAC,CAAC,EAAE,CAAE,UAAgC,CAAC,MAAM,CAAC,EAAE,KAAwB,EAAE,CAAC;QAC7E,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;QAC5F,MAAM,GAAG,GAAG,MAAM,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,GAAG,SAAS,0CAA0C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAClG,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF;;;;;GAKG;AACI,MAAM,kCAAkC,GAAG,KAAK,EACrD,MAAS,EACT,GAAQ,EACR,YAAuB,EACvB,IAAwB,EACsE,EAAE;IAChG,MAAM,wBAAwB,GAA8B,EAAE,CAAC;IAC/D,MAAM,KAAK,GAAG,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,wBAAwB,CAAC,CAAC;IACjG,IAAI,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAE5B,KAAK,MAAM,MAAM,IAAI,wBAAwB,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACzE,IAAI,WAAW;YAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAuB,EAAE,CAAC;AAC3C,CAAC,CAAC;AAfW,QAAA,kCAAkC,sCAe7C;AAEK,MAAM,gCAAgC,GAAG,CAC9C,MAAS,EACT,GAAQ,EACR,OAAe,EACf,QAAQ,GAAG,KAAK,EACe,EAAE;IACjC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,2CAAmC,EAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtF,OAAO,KAAK,KAAK,SAAS,CAAC;AAC7B,CAAC,CAAC;AARW,QAAA,gCAAgC,oCAQ3C;AACK,MAAM,8BAA8B,GAAG,CAC5C,MAAS,EACT,GAAQ,EACR,OAAe,EACf,QAAQ,GAAG,KAAK,EACuB,EAAE;IACzC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,2CAAmC,EAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtF,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,8BAA8B,kCAUzC"}
1
+ {"version":3,"file":"JSONBSchemaValidation.js","sourceRoot":"","sources":["../../lib/JSONBSchemaValidation/JSONBSchemaValidation.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -291,7 +291,7 @@ export type TableInfo<CustomMetadata = Record<string, unknown>> = {
291
291
  delete?: {};
292
292
  };
293
293
  } & CustomMetadata;
294
- export declare const getAllowedTableMethods: ({ publishInfo, }: Pick<TableInfo, "publishInfo">) => ("insert" | "update" | "delete" | "find" | "getColumns" | "sync" | "getInfo" | "insertMany" | "upsert" | "updateBatch" | "findOne" | "count" | "size" | "subscribe" | "subscribeOne" | "remove")[];
294
+ export declare const getAllowedTableMethods: ({ publishInfo, }: Pick<TableInfo, "publishInfo">) => ("insert" | "update" | "delete" | "find" | "findOne" | "getColumns" | "getInfo" | "subscribe" | "subscribeOne" | "count" | "size" | "updateBatch" | "insertMany" | "upsert" | "sync" | "remove")[];
295
295
  export type RequiredNestedInsert = {
296
296
  ftable: string;
297
297
  minRows?: number;
@@ -14,18 +14,28 @@ type PendingLookupValidation = {
14
14
  path: string[];
15
15
  };
16
16
 
17
- type DBHandler = Map<string, TableHandler>;
17
+ type DBHandler = Map<
18
+ string,
19
+ Partial<Pick<TableHandler, "findOne" | "getColumns">>
20
+ >;
18
21
 
19
22
  type LookupPrimitive = null | number | string | boolean | undefined;
20
23
  const isLookupPrimitive = (value: unknown): value is LookupPrimitive =>
21
24
  value == null || ["number", "string", "boolean"].includes(typeof value);
22
- const isPrimitiveLookupRow = (value: unknown): value is Record<string, LookupPrimitive> => {
25
+ const isPrimitiveLookupRow = (
26
+ value: unknown,
27
+ ): value is Record<string, LookupPrimitive> => {
23
28
  if (!isObject(value)) return false;
24
29
  const keys = safeGetKeys(value);
25
- return !!keys.length && keys.every((key) => isLookupPrimitive(safeGetProperty(value, key)));
30
+ return (
31
+ !!keys.length &&
32
+ keys.every((key) => isLookupPrimitive(safeGetProperty(value, key)))
33
+ );
26
34
  };
27
35
 
28
- export const getFieldTypeObj = (rawFieldType: JSONB.FieldType): JSONB.FieldTypeObj => {
36
+ export const getFieldTypeObj = (
37
+ rawFieldType: JSONB.FieldType,
38
+ ): JSONB.FieldTypeObj => {
29
39
  if (typeof rawFieldType === "string") return { type: rawFieldType };
30
40
 
31
41
  return rawFieldType;
@@ -57,13 +67,17 @@ const PRIMITIVE_VALIDATORS: {
57
67
  // ) => val is K extends keyof PrimitiveTypeMap ? PrimitiveTypeMap[K] : unknown;
58
68
  } = {
59
69
  string: (val) => typeof val === "string",
60
- number: (val): val is number => typeof val === "number" && Number.isFinite(val),
61
- integer: (val): val is number => typeof val === "number" && Number.isInteger(val),
70
+ number: (val): val is number =>
71
+ typeof val === "number" && Number.isFinite(val),
72
+ integer: (val): val is number =>
73
+ typeof val === "number" && Number.isInteger(val),
62
74
  boolean: (val): val is boolean => typeof val === "boolean",
63
75
  time: (val) => typeof val === "string",
64
76
  timestamp: (val) => typeof val === "string",
65
- any: (val): val is any => typeof val !== "function" && typeof val !== "symbol",
66
- unknown: (val): val is unknown => typeof val !== "function" && typeof val !== "symbol",
77
+ any: (val): val is any =>
78
+ typeof val !== "function" && typeof val !== "symbol",
79
+ unknown: (val): val is unknown =>
80
+ typeof val !== "function" && typeof val !== "symbol",
67
81
  Date: (val) => typeof val === "string",
68
82
  Uint8Array: isUint8ArrayOrBuffer,
69
83
  Blob: isUint8ArrayOrBuffer,
@@ -77,7 +91,9 @@ const PRIMITIVE_VALIDATORS: {
77
91
  typeof val.type === "string" &&
78
92
  isUint8ArrayOrBuffer(val.data);
79
93
  if (validStructure && s.mimeTypes) {
80
- const validMime = Object.keys(s.mimeTypes).some((mime) => val.type === mime);
94
+ const validMime = Object.keys(s.mimeTypes).some(
95
+ (mime) => val.type === mime,
96
+ );
81
97
  if (!validMime) {
82
98
  throw new Error(
83
99
  `Invalid FileLike type. Expected one of: ${Object.keys(s.mimeTypes).join(", ")}`,
@@ -89,7 +105,9 @@ const PRIMITIVE_VALIDATORS: {
89
105
  },
90
106
  };
91
107
  const PRIMITIVE_VALIDATORS_KEYS = getKeys(PRIMITIVE_VALIDATORS);
92
- const getElementType = <T extends DataType>(type: T): undefined | ElementType<T> => {
108
+ const getElementType = <T extends DataType>(
109
+ type: T,
110
+ ): undefined | ElementType<T> => {
93
111
  if (typeof type === "string" && type.endsWith("[]")) {
94
112
  const elementType = type.slice(0, -2);
95
113
  if (!includes(PRIMITIVE_VALIDATORS_KEYS, elementType)) {
@@ -108,7 +126,8 @@ const getValidator = (
108
126
  const validator = PRIMITIVE_VALIDATORS[elem];
109
127
  return {
110
128
  isArray: true,
111
- validator: (v: any) => Array.isArray(v) && v.every((v) => validator(v, fieldType)),
129
+ validator: (v: any) =>
130
+ Array.isArray(v) && v.every((v) => validator(v, fieldType)),
112
131
  };
113
132
  }
114
133
  const validator = PRIMITIVE_VALIDATORS[type as NonArrayTypes];
@@ -138,10 +157,13 @@ const getPropertyValidationError = (
138
157
 
139
158
  const isArrayType = type.endsWith("[]");
140
159
  const valuesToTest = isArrayType && Array.isArray(value) ? value : [value];
141
- const normalisedAllowedValues = allowedValues.map((v) => (isObject(v) ? v.value : v));
160
+ const normalisedAllowedValues = allowedValues.map((v) =>
161
+ isObject(v) ? v.value : v,
162
+ );
142
163
  for (const [index, val] of valuesToTest.entries()) {
143
164
  if (!normalisedAllowedValues.includes(val)) {
144
- const pathInfo = isArrayType ? `${path.join(".")}[${index}]` : path.join(".");
165
+ const pathInfo =
166
+ isArrayType ? `${path.join(".")}[${index}]` : path.join(".");
145
167
  return `${pathInfo} is of invalid type. Expecting ${normalisedAllowedValues
146
168
  .map((v) => (typeof v === "string" ? JSON.stringify(v) : String(v)))
147
169
  .join(" | ")} But got ${JSON.stringify(val)}`;
@@ -225,7 +247,9 @@ const getPropertyValidationError = (
225
247
  const tuple = fieldDefinition.tuple;
226
248
 
227
249
  if (!Array.isArray(value)) {
228
- return err + `[${tuple.map((item) => getTypeDescription(item)).join(", ")}]`;
250
+ return (
251
+ err + `[${tuple.map((item) => getTypeDescription(item)).join(", ")}]`
252
+ );
229
253
  }
230
254
 
231
255
  if (value.length !== tuple.length) {
@@ -262,7 +286,9 @@ const getPropertyValidationError = (
262
286
 
263
287
  const arrayOf =
264
288
  fieldDefinition.arrayOf ??
265
- (fieldDefinition.arrayOfType ? { type: fieldDefinition.arrayOfType } : undefined);
289
+ (fieldDefinition.arrayOfType ?
290
+ { type: fieldDefinition.arrayOfType }
291
+ : undefined);
266
292
  if (arrayOf) {
267
293
  if (!Array.isArray(value)) {
268
294
  return err + " an array";
@@ -284,7 +310,9 @@ const getPropertyValidationError = (
284
310
  return;
285
311
  }
286
312
 
287
- const oneOf = fieldDefinition.oneOf ?? fieldDefinition.oneOfType?.map((type) => ({ type }));
313
+ const oneOf =
314
+ fieldDefinition.oneOf ??
315
+ fieldDefinition.oneOfType?.map((type) => ({ type }));
288
316
  if (oneOf) {
289
317
  if (!oneOf.length) {
290
318
  return err + "to not be empty";
@@ -292,7 +320,13 @@ const getPropertyValidationError = (
292
320
  let firstError: string | undefined;
293
321
  const validMember = oneOf.find((member) => {
294
322
  const pendingLookupCount = pendingLookupValidations?.length;
295
- const error = getPropertyValidationError(value, member, path, opts, pendingLookupValidations);
323
+ const error = getPropertyValidationError(
324
+ value,
325
+ member,
326
+ path,
327
+ opts,
328
+ pendingLookupValidations,
329
+ );
296
330
  if (error !== undefined && pendingLookupCount !== undefined) {
297
331
  pendingLookupValidations!.length = pendingLookupCount;
298
332
  }
@@ -313,11 +347,13 @@ const getPropertyValidationError = (
313
347
  return;
314
348
  }
315
349
  const valueKeys = getKeys(value);
316
- const missingKey = partial ? undefined : keysEnum?.find((key) => !valueKeys.includes(key));
350
+ const missingKey =
351
+ partial ? undefined : keysEnum?.find((key) => !valueKeys.includes(key));
317
352
  if (missingKey !== undefined) {
318
353
  return `${err} to have key ${missingKey}`;
319
354
  }
320
- const extraKeys = keysEnum && valueKeys.filter((key) => !keysEnum.includes(key));
355
+ const extraKeys =
356
+ keysEnum && valueKeys.filter((key) => !keysEnum.includes(key));
321
357
  if (extraKeys?.length) {
322
358
  return `${err} has extra keys: ${extraKeys}`;
323
359
  }
@@ -344,7 +380,8 @@ const getPropertyValidationError = (
344
380
  const getTypeDescription = (schema: JSONB.FieldType): string => {
345
381
  const schemaObj = getFieldTypeObj(schema);
346
382
  const { type, nullable, optional, record } = schemaObj;
347
- const oneOf = schemaObj.oneOf ?? schemaObj.oneOfType?.map((type) => ({ type }));
383
+ const oneOf =
384
+ schemaObj.oneOf ?? schemaObj.oneOfType?.map((type) => ({ type }));
348
385
  const allowedTypes: any[] = [];
349
386
  if (nullable) allowedTypes.push("null");
350
387
  if (optional) allowedTypes.push("undefined");
@@ -379,7 +416,9 @@ const getTypeDescription = (schema: JSONB.FieldType): string => {
379
416
  const optional = partial ? "?" : "";
380
417
  const valueType = !values ? "any" : getTypeDescription(values);
381
418
  if (keysEnum) {
382
- allowedTypes.push(`{ [${keysEnum.join(" | ")}]${optional}: ${valueType} }`);
419
+ allowedTypes.push(
420
+ `{ [${keysEnum.join(" | ")}]${optional}: ${valueType} }`,
421
+ );
383
422
  } else {
384
423
  allowedTypes.push(`{ [key: string]${optional}: ${valueType} }`);
385
424
  }
@@ -388,14 +427,19 @@ const getTypeDescription = (schema: JSONB.FieldType): string => {
388
427
  return allowedTypes.join(" | ");
389
428
  };
390
429
 
391
- export const getJSONBObjectSchemaValidationError = <S extends JSONB.ObjectType["type"]>(
430
+ export const getJSONBObjectSchemaValidationError = <
431
+ S extends JSONB.ObjectType["type"],
432
+ >(
392
433
  schema: S,
393
434
  obj: any,
394
435
  objName = "input",
395
436
  optional = false,
396
437
  opts?: ValidationOptions,
397
- ): { error: string; data?: undefined } | { error?: undefined; data: JSONB.GetObjectType<S> } => {
398
- if (obj === undefined && !optional) return { error: `Expecting ${objName} to be defined` };
438
+ ):
439
+ | { error: string; data?: undefined }
440
+ | { error?: undefined; data: JSONB.GetObjectType<S> } => {
441
+ if (obj === undefined && !optional)
442
+ return { error: `Expecting ${objName} to be defined` };
399
443
  if (!isObject(obj)) {
400
444
  return { error: `Expecting ${objName} to be an object` };
401
445
  }
@@ -410,7 +454,9 @@ export const getJSONBSchemaValidationError = <S extends JSONB.FieldType>(
410
454
  schema: S,
411
455
  obj: any,
412
456
  opts?: ValidationOptions,
413
- ): { error: string; data?: undefined } | { error?: undefined; data: JSONB.GetType<S> } => {
457
+ ):
458
+ | { error: string; data?: undefined }
459
+ | { error?: undefined; data: JSONB.GetType<S> } => {
414
460
  const error = getPropertyValidationError(obj, schema, undefined, opts);
415
461
  if (error) {
416
462
  return { error };
@@ -419,7 +465,10 @@ export const getJSONBSchemaValidationError = <S extends JSONB.FieldType>(
419
465
  };
420
466
 
421
467
  const getLookupValuePath = (path: string[], index?: number): string => {
422
- const result = [...path, ...(index === undefined ? [] : [String(index)])].join(".");
468
+ const result = [
469
+ ...path,
470
+ ...(index === undefined ? [] : [String(index)]),
471
+ ].join(".");
423
472
  return result || "value";
424
473
  };
425
474
 
@@ -460,7 +509,8 @@ const getLookupValidationError = async (
460
509
  const column = columns.find(({ name }) => name === reference.column);
461
510
  if (
462
511
  !column ||
463
- (schema.filter?.tsDataType && column.tsDataType !== schema.filter.tsDataType) ||
512
+ (schema.filter?.tsDataType &&
513
+ column.tsDataType !== schema.filter.tsDataType) ||
464
514
  (schema.filter?.udt_name && column.udt_name !== schema.filter.udt_name)
465
515
  ) {
466
516
  return `${valuePath} references an unknown or disallowed column ${JSON.stringify(`${reference.table}.${reference.column}`)}`;
@@ -477,7 +527,8 @@ const getLookupValidationError = async (
477
527
  );
478
528
  }
479
529
 
480
- const isRowLookup = dataLookup.type === "RowLookup" || dataLookup.type === "RowLookup[]";
530
+ const isRowLookup =
531
+ dataLookup.type === "RowLookup" || dataLookup.type === "RowLookup[]";
481
532
  if (
482
533
  (isRowLookup && !isPrimitiveLookupRow(value)) ||
483
534
  (!isRowLookup && !isLookupPrimitive(value))
@@ -487,8 +538,13 @@ const getLookupValidationError = async (
487
538
  const valueFilter: Record<string, LookupPrimitive> =
488
539
  isRowLookup ?
489
540
  (value as Record<string, LookupPrimitive>)
490
- : { [(dataLookup as JSONB.ValueLookup).column]: value as LookupPrimitive };
491
- const filter = dataLookup.filter ? { $and: [dataLookup.filter, valueFilter] } : valueFilter;
541
+ : {
542
+ [(dataLookup as JSONB.ValueLookup).column]: value as LookupPrimitive,
543
+ };
544
+ const filter =
545
+ dataLookup.filter ?
546
+ { $and: [dataLookup.filter, valueFilter] }
547
+ : valueFilter;
492
548
  const row = await tableHandler?.findOne?.(filter);
493
549
  if (!row) {
494
550
  return `${valuePath} does not reference an existing row in ${JSON.stringify(dataLookup.table)}`;
@@ -502,14 +558,25 @@ const getLookupValidationError = async (
502
558
  * validates RowLookup and ValueLookup records, while table/column lookups are
503
559
  * structurally validated.
504
560
  */
505
- export const getJSONBSchemaValidationErrorAsync = async <S extends JSONB.FieldType>(
561
+ export const getJSONBSchemaValidationErrorAsync = async <
562
+ S extends JSONB.FieldType,
563
+ >(
506
564
  schema: S,
507
565
  obj: any,
508
566
  dbHandlerMap: DBHandler,
509
567
  opts?: ValidationOptions,
510
- ): Promise<{ error: string; data?: undefined } | { error?: undefined; data: JSONB.GetType<S> }> => {
568
+ ): Promise<
569
+ | { error: string; data?: undefined }
570
+ | { error?: undefined; data: JSONB.GetType<S> }
571
+ > => {
511
572
  const pendingLookupValidations: PendingLookupValidation[] = [];
512
- const error = getPropertyValidationError(obj, schema, undefined, opts, pendingLookupValidations);
573
+ const error = getPropertyValidationError(
574
+ obj,
575
+ schema,
576
+ undefined,
577
+ opts,
578
+ pendingLookupValidations,
579
+ );
513
580
  if (error) return { error };
514
581
 
515
582
  for (const lookup of pendingLookupValidations) {
@@ -519,22 +586,36 @@ export const getJSONBSchemaValidationErrorAsync = async <S extends JSONB.FieldTy
519
586
  return { data: obj as JSONB.GetType<S> };
520
587
  };
521
588
 
522
- export const validateJSONBObjectAgainstSchema = <S extends JSONB.ObjectType["type"]>(
589
+ export const validateJSONBObjectAgainstSchema = <
590
+ S extends JSONB.ObjectType["type"],
591
+ >(
523
592
  schema: S,
524
593
  obj: any,
525
594
  objName: string,
526
595
  optional = false,
527
596
  ): obj is JSONB.GetObjectType<S> => {
528
- const { error } = getJSONBObjectSchemaValidationError(schema, obj, objName, optional);
597
+ const { error } = getJSONBObjectSchemaValidationError(
598
+ schema,
599
+ obj,
600
+ objName,
601
+ optional,
602
+ );
529
603
  return error === undefined;
530
604
  };
531
- export const assertJSONBObjectAgainstSchema = <S extends JSONB.ObjectType["type"]>(
605
+ export const assertJSONBObjectAgainstSchema = <
606
+ S extends JSONB.ObjectType["type"],
607
+ >(
532
608
  schema: S,
533
609
  obj: any,
534
610
  objName: string,
535
611
  optional = false,
536
612
  ): asserts obj is JSONB.GetObjectType<S> => {
537
- const { error } = getJSONBObjectSchemaValidationError(schema, obj, objName, optional);
613
+ const { error } = getJSONBObjectSchemaValidationError(
614
+ schema,
615
+ obj,
616
+ objName,
617
+ optional,
618
+ );
538
619
  if (error) {
539
620
  throw new Error(error);
540
621
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-types",
3
- "version": "4.0.294",
3
+ "version": "4.0.295",
4
4
  "description": "",
5
5
  "main": "dist/index_umd.js",
6
6
  "types": "dist/index.d.ts",