@overture-stack/lyric
Version:
Data Submission system
24 lines (23 loc) • 845 B
TypeScript
import { SQL } from 'drizzle-orm';
import { Operator, SQON } from '@overture-stack/sqon-builder';
/**
* Main function to converts any SQON object to a partial SQL to query a JSONB column
* The result query uses the operator ->> to get a JSON object field as text
*
* @example
* Input:
* { "op": "in", "content": { "fieldName": "country", "value": [ "Canada" ] } }
* Output:
* metadata ->> 'country' IN ('Canada')
*
* @param {Operator | undefined} sqon SQON input
* @returns {SQL<unknown>}
*/
export declare const convertSqonToQuery: (sqon: Operator | undefined) => SQL<unknown> | undefined;
/**
* Given any input, attempt to parse it as a SQON.
* An error will be thrown if the provided input is invalid.
* @param {unknown} input
* @returns SQONBuilder
*/
export declare const parseSQON: (input: unknown) => SQON | undefined;