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
JavaScript
;
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;