UNPKG

ts-sql-query

Version:

Type-safe SQL query builder like QueryDSL or JOOQ in Java or Linq in .Net for TypeScript with MariaDB, MySql, Oracle, PostgreSql, Sqlite and SqlServer support.

105 lines (104 loc) 3.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.asAlwaysIfValueSource = exports.Argument = exports.__getValueSourcePrivate = exports.__getValueSourceOfObject = exports.isValueSource = exports.__isLocalDateTimeValueSource = exports.__isLocalTimeValueSource = exports.__isLocalDateValueSource = exports.__isStringValueSource = exports.__isUuidValueType = exports.__isUuidValueSource = exports.__isBooleanValueType = exports.__isBooleanValueSource = exports.__mergeOptional = void 0; const symbols_1 = require("../utils/symbols"); function __mergeOptional(op1, op2) { // Always select the less strict option if (op1 === 'required') { return op2; } if (op1 === 'requiredInOptionalObject') { if (op2 === 'required') { return 'requiredInOptionalObject'; } else { return op2; } } if (op1 === 'originallyRequired') { if (op2 === 'required' || op2 === 'requiredInOptionalObject') { return 'originallyRequired'; } else { return op2; } } return 'optional'; } exports.__mergeOptional = __mergeOptional; function __isBooleanValueSource(valueSourcePrivate) { return valueSourcePrivate.__valueType === 'boolean'; } exports.__isBooleanValueSource = __isBooleanValueSource; function __isBooleanValueType(valueType) { return valueType === 'boolean'; } exports.__isBooleanValueType = __isBooleanValueType; function __isUuidValueSource(valueSourcePrivate) { return valueSourcePrivate.__valueType === 'uuid' || valueSourcePrivate.__valueType === 'customUuid'; } exports.__isUuidValueSource = __isUuidValueSource; function __isUuidValueType(valueType) { return valueType === 'uuid' || valueType === 'customUuid'; } exports.__isUuidValueType = __isUuidValueType; function __isStringValueSource(valueSourcePrivate) { return valueSourcePrivate.__valueType === 'string'; } exports.__isStringValueSource = __isStringValueSource; function __isLocalDateValueSource(valueSourcePrivate) { return valueSourcePrivate.__valueType === 'localDate' || valueSourcePrivate.__valueType === 'customLocalDate'; } exports.__isLocalDateValueSource = __isLocalDateValueSource; function __isLocalTimeValueSource(valueSourcePrivate) { return valueSourcePrivate.__valueType === 'localTime' || valueSourcePrivate.__valueType === 'customLocalTime'; } exports.__isLocalTimeValueSource = __isLocalTimeValueSource; function __isLocalDateTimeValueSource(valueSourcePrivate) { return valueSourcePrivate.__valueType === 'localDateTime' || valueSourcePrivate.__valueType === 'customLocalDateTime'; } exports.__isLocalDateTimeValueSource = __isLocalDateTimeValueSource; function isValueSource(value) { if (value === undefined || value === null) { return false; } if (typeof value === 'object') { return !!value[symbols_1.isValueSourceObject]; } return false; } exports.isValueSource = isValueSource; function __getValueSourceOfObject(obj, prop) { const result = obj[prop]; if (!result) { return undefined; } if (typeof result !== 'object') { return undefined; } if (result[symbols_1.isValueSourceObject]) { return result; } else { return undefined; } } exports.__getValueSourceOfObject = __getValueSourceOfObject; function __getValueSourcePrivate(valueSource) { return valueSource; } exports.__getValueSourcePrivate = __getValueSourcePrivate; class Argument { constructor(type, typeName, optionalType, mode, adapter) { this.type = type; this.typeName = typeName; this.optionalType = optionalType; this.mode = mode; this.adapter = adapter; } } exports.Argument = Argument; function asAlwaysIfValueSource(valueSource) { return valueSource; } exports.asAlwaysIfValueSource = asAlwaysIfValueSource;