@decaf-ts/for-postgres
Version:
template for ts projects
75 lines • 8.33 kB
JavaScript
import { SQLOperator } from "./../types.js";
/**
* @description Default query limit for PostgreSQL queries
* @summary Maximum number of rows to return in a single query
* @const PostgreSQLQueryLimit
* @memberOf module:for-postgres
*/
export const PostgreSQLQueryLimit = 250;
/**
* @description Mapping of operator names to PostgreSQL SQL operators
* @summary Constants for PostgreSQL comparison operators used in SQL queries
* @typedef {Object} PostgreSQLOperatorType
* @property {string} EQUAL - Equality operator (=)
* @property {string} DIFFERENT - Inequality operator (<>)
* @property {string} BIGGER - Greater than operator (>)
* @property {string} BIGGER_EQ - Greater than or equal operator (>=)
* @property {string} SMALLER - Less than operator (<)
* @property {string} SMALLER_EQ - Less than or equal operator (<=)
* @property {string} NOT - Negation operator (NOT)
* @property {string} IN - In array operator (IN)
* @property {string} REGEXP - Regular expression operator (~)
* @property {string} IREGEXP - Case-insensitive regular expression operator (~*)
* @property {string} LIKE - Pattern matching operator (LIKE)
* @property {string} ILIKE - Case-insensitive pattern matching operator (ILIKE)
* @property {string} BETWEEN - Range operator (BETWEEN)
* @property {string} IS_NULL - NULL check operator (IS NULL)
* @property {string} IS_NOT_NULL - NOT NULL check operator (IS NOT NULL)
* @const PostgreSQLOperator
* @type {PostgreSQLOperatorType}
* @memberOf module:for-postgres
*/
export const PostgreSQLOperator = {
EQUAL: SQLOperator.EQUAL,
DIFFERENT: SQLOperator.NOT_EQUAL,
BIGGER: SQLOperator.GREATER_THAN,
BIGGER_EQ: SQLOperator.GREATER_THAN_OR_EQUAL,
SMALLER: SQLOperator.LESS_THAN,
SMALLER_EQ: SQLOperator.LESS_THAN_OR_EQUAL,
BETWEEN: SQLOperator.BETWEEN,
NOT: "NOT",
IN: SQLOperator.IN,
IS_NULL: SQLOperator.IS_NULL,
IS_NOT_NULL: SQLOperator.IS_NOT_NULL,
REGEXP: "~",
IREGEXP: "~*",
LIKE: SQLOperator.LIKE,
ILIKE: SQLOperator.ILIKE,
};
/**
* @description Mapping of logical operator names to PostgreSQL SQL operators
* @summary Constants for PostgreSQL logical operators used in SQL queries
* @typedef {Object} PostgreSQLGroupOperatorType
* @property {string} AND - Logical AND operator (AND)
* @property {string} OR - Logical OR operator (OR)
* @const PostgreSQLGroupOperator
* @type {PostgreSQLGroupOperatorType}
* @memberOf module:for-postgres
*/
export const PostgreSQLGroupOperator = {
AND: "AND",
OR: "OR",
};
/**
* @description Special constant values used in PostgreSQL queries
* @summary String constants representing special values in PostgreSQL
* @typedef {Object} PostgreSQLConstType
* @property {string} NULL - String representation of null value
* @const PostgreSQLConst
* @type {PostgreSQLConstType}
* @memberOf module:for-postgres
*/
export const PostgreSQLConst = {
NULL: "NULL",
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3F1ZXJ5L2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLHNCQUFpQjtBQUV2Qzs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztBQUV4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUF5QztJQUN0RSxLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUs7SUFDeEIsU0FBUyxFQUFFLFdBQVcsQ0FBQyxTQUFTO0lBQ2hDLE1BQU0sRUFBRSxXQUFXLENBQUMsWUFBWTtJQUNoQyxTQUFTLEVBQUUsV0FBVyxDQUFDLHFCQUFxQjtJQUM1QyxPQUFPLEVBQUUsV0FBVyxDQUFDLFNBQVM7SUFDOUIsVUFBVSxFQUFFLFdBQVcsQ0FBQyxrQkFBa0I7SUFDMUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxPQUFPO0lBQzVCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsRUFBRSxFQUFFLFdBQVcsQ0FBQyxFQUFFO0lBQ2xCLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTztJQUM1QixXQUFXLEVBQUUsV0FBVyxDQUFDLFdBQVc7SUFDcEMsTUFBTSxFQUFFLEdBQUc7SUFDWCxPQUFPLEVBQUUsSUFBSTtJQUNiLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtJQUN0QixLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUs7Q0FDekIsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUEyQjtJQUM3RCxHQUFHLEVBQUUsS0FBSztJQUNWLEVBQUUsRUFBRSxJQUFJO0NBQ1QsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUEyQjtJQUNyRCxJQUFJLEVBQUUsTUFBTTtDQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTUUxPcGVyYXRvciB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWZhdWx0IHF1ZXJ5IGxpbWl0IGZvciBQb3N0Z3JlU1FMIHF1ZXJpZXNcbiAqIEBzdW1tYXJ5IE1heGltdW0gbnVtYmVyIG9mIHJvd3MgdG8gcmV0dXJuIGluIGEgc2luZ2xlIHF1ZXJ5XG4gKiBAY29uc3QgUG9zdGdyZVNRTFF1ZXJ5TGltaXRcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLXBvc3RncmVzXG4gKi9cbmV4cG9ydCBjb25zdCBQb3N0Z3JlU1FMUXVlcnlMaW1pdCA9IDI1MDtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTWFwcGluZyBvZiBvcGVyYXRvciBuYW1lcyB0byBQb3N0Z3JlU1FMIFNRTCBvcGVyYXRvcnNcbiAqIEBzdW1tYXJ5IENvbnN0YW50cyBmb3IgUG9zdGdyZVNRTCBjb21wYXJpc29uIG9wZXJhdG9ycyB1c2VkIGluIFNRTCBxdWVyaWVzXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBQb3N0Z3JlU1FMT3BlcmF0b3JUeXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gRVFVQUwgLSBFcXVhbGl0eSBvcGVyYXRvciAoPSlcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBESUZGRVJFTlQgLSBJbmVxdWFsaXR5IG9wZXJhdG9yICg8PilcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBCSUdHRVIgLSBHcmVhdGVyIHRoYW4gb3BlcmF0b3IgKD4pXG4gKiBAcHJvcGVydHkge3N0cmluZ30gQklHR0VSX0VRIC0gR3JlYXRlciB0aGFuIG9yIGVxdWFsIG9wZXJhdG9yICg+PSlcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBTTUFMTEVSIC0gTGVzcyB0aGFuIG9wZXJhdG9yICg8KVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFNNQUxMRVJfRVEgLSBMZXNzIHRoYW4gb3IgZXF1YWwgb3BlcmF0b3IgKDw9KVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE5PVCAtIE5lZ2F0aW9uIG9wZXJhdG9yIChOT1QpXG4gKiBAcHJvcGVydHkge3N0cmluZ30gSU4gLSBJbiBhcnJheSBvcGVyYXRvciAoSU4pXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUkVHRVhQIC0gUmVndWxhciBleHByZXNzaW9uIG9wZXJhdG9yICh+KVxuICogQHByb3BlcnR5IHtzdHJpbmd9IElSRUdFWFAgLSBDYXNlLWluc2Vuc2l0aXZlIHJlZ3VsYXIgZXhwcmVzc2lvbiBvcGVyYXRvciAofiopXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTElLRSAtIFBhdHRlcm4gbWF0Y2hpbmcgb3BlcmF0b3IgKExJS0UpXG4gKiBAcHJvcGVydHkge3N0cmluZ30gSUxJS0UgLSBDYXNlLWluc2Vuc2l0aXZlIHBhdHRlcm4gbWF0Y2hpbmcgb3BlcmF0b3IgKElMSUtFKVxuICogQHByb3BlcnR5IHtzdHJpbmd9IEJFVFdFRU4gLSBSYW5nZSBvcGVyYXRvciAoQkVUV0VFTilcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBJU19OVUxMIC0gTlVMTCBjaGVjayBvcGVyYXRvciAoSVMgTlVMTClcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBJU19OT1RfTlVMTCAtIE5PVCBOVUxMIGNoZWNrIG9wZXJhdG9yIChJUyBOT1QgTlVMTClcbiAqIEBjb25zdCBQb3N0Z3JlU1FMT3BlcmF0b3JcbiAqIEB0eXBlIHtQb3N0Z3JlU1FMT3BlcmF0b3JUeXBlfVxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItcG9zdGdyZXNcbiAqL1xuZXhwb3J0IGNvbnN0IFBvc3RncmVTUUxPcGVyYXRvcjogUmVjb3JkPHN0cmluZywgU1FMT3BlcmF0b3IgfCBzdHJpbmc+ID0ge1xuICBFUVVBTDogU1FMT3BlcmF0b3IuRVFVQUwsXG4gIERJRkZFUkVOVDogU1FMT3BlcmF0b3IuTk9UX0VRVUFMLFxuICBCSUdHRVI6IFNRTE9wZXJhdG9yLkdSRUFURVJfVEhBTixcbiAgQklHR0VSX0VROiBTUUxPcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUwsXG4gIFNNQUxMRVI6IFNRTE9wZXJhdG9yLkxFU1NfVEhBTixcbiAgU01BTExFUl9FUTogU1FMT3BlcmF0b3IuTEVTU19USEFOX09SX0VRVUFMLFxuICBCRVRXRUVOOiBTUUxPcGVyYXRvci5CRVRXRUVOLFxuICBOT1Q6IFwiTk9UXCIsXG4gIElOOiBTUUxPcGVyYXRvci5JTixcbiAgSVNfTlVMTDogU1FMT3BlcmF0b3IuSVNfTlVMTCxcbiAgSVNfTk9UX05VTEw6IFNRTE9wZXJhdG9yLklTX05PVF9OVUxMLFxuICBSRUdFWFA6IFwiflwiLFxuICBJUkVHRVhQOiBcIn4qXCIsXG4gIExJS0U6IFNRTE9wZXJhdG9yLkxJS0UsXG4gIElMSUtFOiBTUUxPcGVyYXRvci5JTElLRSxcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIE1hcHBpbmcgb2YgbG9naWNhbCBvcGVyYXRvciBuYW1lcyB0byBQb3N0Z3JlU1FMIFNRTCBvcGVyYXRvcnNcbiAqIEBzdW1tYXJ5IENvbnN0YW50cyBmb3IgUG9zdGdyZVNRTCBsb2dpY2FsIG9wZXJhdG9ycyB1c2VkIGluIFNRTCBxdWVyaWVzXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBQb3N0Z3JlU1FMR3JvdXBPcGVyYXRvclR5cGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBBTkQgLSBMb2dpY2FsIEFORCBvcGVyYXRvciAoQU5EKVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE9SIC0gTG9naWNhbCBPUiBvcGVyYXRvciAoT1IpXG4gKiBAY29uc3QgUG9zdGdyZVNRTEdyb3VwT3BlcmF0b3JcbiAqIEB0eXBlIHtQb3N0Z3JlU1FMR3JvdXBPcGVyYXRvclR5cGV9XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1wb3N0Z3Jlc1xuICovXG5leHBvcnQgY29uc3QgUG9zdGdyZVNRTEdyb3VwT3BlcmF0b3I6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIEFORDogXCJBTkRcIixcbiAgT1I6IFwiT1JcIixcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFNwZWNpYWwgY29uc3RhbnQgdmFsdWVzIHVzZWQgaW4gUG9zdGdyZVNRTCBxdWVyaWVzXG4gKiBAc3VtbWFyeSBTdHJpbmcgY29uc3RhbnRzIHJlcHJlc2VudGluZyBzcGVjaWFsIHZhbHVlcyBpbiBQb3N0Z3JlU1FMXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBQb3N0Z3JlU1FMQ29uc3RUeXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTlVMTCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBudWxsIHZhbHVlXG4gKiBAY29uc3QgUG9zdGdyZVNRTENvbnN0XG4gKiBAdHlwZSB7UG9zdGdyZVNRTENvbnN0VHlwZX1cbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLXBvc3RncmVzXG4gKi9cbmV4cG9ydCBjb25zdCBQb3N0Z3JlU1FMQ29uc3Q6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIE5VTEw6IFwiTlVMTFwiLFxufTtcbiJdfQ==