@egi/smart-db
Version:
Unified Smart DB Access
1 lines • 5.51 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.validDateTimeFormats=exports.SmartDbTimestampRegexp=exports.SmartDbDateRegexp=exports.NOT_LIKE=exports.LIKE=exports.IS_NOT_NULL=exports.IS_NULL=exports.NOT_IN=exports.IN=exports.NE=exports.EQ=exports.LE=exports.LT=exports.GE=exports.BETWEEN=exports.GT=exports.LITERAL=exports.NVL=exports.COALESCE=exports.AVG=exports.SUM=exports.MIN=exports.MAX=exports.COUNT_FIELD=exports.COUNT=exports.FIELD=exports.VALUE=exports.OP=void 0,exports.toSmartDbDate=toSmartDbDate,exports.toSmartDbTimestamp=toSmartDbTimestamp,exports.toSmartZoneTimestamp=toSmartZoneTimestamp,exports.smartDbToDate=smartDbToDate,exports.smartDbToDateTime=smartDbToDateTime;var smart_db_interfaces_1=require("./smart-db-interfaces"),luxon_1=require("luxon"),OP=function(e,t,r){return r?{operation:e,value:t,literalOperation:r}:{operation:e,value:t}};exports.OP=OP;var VALUE=function(e,t,r){return{operation:smart_db_interfaces_1.SqlFieldOperationType.VALUE,value:e,alias:t,literal:r}};exports.VALUE=VALUE;var FIELD=function(e,t){return{operation:smart_db_interfaces_1.SqlFieldOperationType.FIELD,value:e,alias:t}};exports.FIELD=FIELD;var COUNT=function(e,t){return{operation:smart_db_interfaces_1.SqlFieldOperationType.COUNT,value:e,alias:t}};exports.COUNT=COUNT;var COUNT_FIELD=function(e,t){return{operation:smart_db_interfaces_1.SqlFieldOperationType.COUNT_FIELD,value:e,alias:t}};exports.COUNT_FIELD=COUNT_FIELD;var MAX=function(e,t){return{operation:smart_db_interfaces_1.SqlFieldOperationType.MAX,value:e,alias:t}};exports.MAX=MAX;var MIN=function(e,t){return{operation:smart_db_interfaces_1.SqlFieldOperationType.MIN,value:e,alias:t}};exports.MIN=MIN;var SUM=function(e,t){return{operation:smart_db_interfaces_1.SqlFieldOperationType.SUM,value:e,alias:t}};exports.SUM=SUM;var AVG=function(e,t){return{operation:smart_db_interfaces_1.SqlFieldOperationType.AVG,value:e,alias:t}};exports.AVG=AVG;var COALESCE=function(e,t){return{operation:smart_db_interfaces_1.SqlFieldOperationType.COALESCE,value:e,alias:t}};exports.COALESCE=COALESCE;var NVL=function(e,t){return(0,exports.COALESCE)(e,t)};exports.NVL=NVL;var LITERAL=function(e,t){return(0,exports.OP)(smart_db_interfaces_1.SqlOperationType.LITERAL,e,t)};exports.LITERAL=LITERAL;var GT=function(e){return(0,exports.OP)(smart_db_interfaces_1.SqlOperationType.GT,e)};exports.GT=GT;var BETWEEN=function(e,t){return(0,exports.OP)(smart_db_interfaces_1.SqlOperationType.BETWEEN,[e,t])};exports.BETWEEN=BETWEEN;var GE=function(e){return(0,exports.OP)(smart_db_interfaces_1.SqlOperationType.GE,e)};exports.GE=GE;var LT=function(e){return(0,exports.OP)(smart_db_interfaces_1.SqlOperationType.LT,e)};exports.LT=LT;var LE=function(e){return(0,exports.OP)(smart_db_interfaces_1.SqlOperationType.LE,e)};exports.LE=LE;var EQ=function(e){return(0,exports.OP)(smart_db_interfaces_1.SqlOperationType.EQ,e)};exports.EQ=EQ;var NE=function(e){return(0,exports.OP)(smart_db_interfaces_1.SqlOperationType.NE,e)};exports.NE=NE;var IN=function(e){return(0,exports.OP)(smart_db_interfaces_1.SqlOperationType.IN,e)};exports.IN=IN;var NOT_IN=function(e){return(0,exports.OP)(smart_db_interfaces_1.SqlOperationType.NOT_IN,e)};exports.NOT_IN=NOT_IN;var IS_NULL=function(){return(0,exports.OP)(smart_db_interfaces_1.SqlOperationType.IS_NULL)};exports.IS_NULL=IS_NULL;var IS_NOT_NULL=function(){return(0,exports.OP)(smart_db_interfaces_1.SqlOperationType.IS_NOT_NULL)};exports.IS_NOT_NULL=IS_NOT_NULL;var LIKE=function(e){return(0,exports.OP)(smart_db_interfaces_1.SqlOperationType.LIKE,e)};exports.LIKE=LIKE;var NOT_LIKE=function(e){return(0,exports.OP)(smart_db_interfaces_1.SqlOperationType.NOT_LIKE,e)};function toSmartDbDate(e,t,r){if(!e)throw"no date given to toSmartDbDate()";var o=void 0;return o="number"==typeof e?luxon_1.DateTime.fromMillis(e,{zone:t}):e instanceof Date?luxon_1.DateTime.fromJSDate(e,{zone:t}):e,t&&r?"UTC"==t.toUpperCase()||"GMT"==t.toUpperCase()?o.toFormat("yyyy-MM-dd HH:mm:ss")+"Z":o.toFormat("yyyy-MM-dd HH:mm:ssZZ"):o.toFormat("yyyy-MM-dd HH:mm:ss")}function toSmartDbTimestamp(e,t){var r=smartDbToDateTime(null!=e?e:new Date);return t?r.setZone(t).toFormat("yyyy-MM-dd HH:mm:ss.uZZ").replace("+00:00","Z"):r.toFormat("yyyy-MM-dd HH:mm:ss.u")}function toSmartZoneTimestamp(e,t,r){var o=null;if(e){var a=void 0;a="number"==typeof e?luxon_1.DateTime.fromMillis(e,{zone:t}):e instanceof Date?luxon_1.DateTime.fromJSDate(e,{zone:t}):e.setZone(t),o=r?a.toFormat("yyyy-MM-dd HH:mm:ss.u"):a.toFormat("yyyy-MM-dd HH:mm:ss.uZZ").replace("+00:00","Z")}return o}function smartDbToDate(e,t){var r=smartDbToDateTime(e,t);return r&&r.isValid?r.toJSDate():null}function smartDbToDateTime(e,t){var r=null;if(e)if("number"==typeof e)r=luxon_1.DateTime.fromMillis(e,{zone:t});else if("string"==typeof e){var o=exports.validDateTimeFormats.find(function(t){return luxon_1.DateTime.fromFormat(e,t).isValid});o&&(r=luxon_1.DateTime.fromFormat(e,o,{zone:t}))}else r=e instanceof Date?luxon_1.DateTime.fromJSDate(e,{zone:t}):e.setZone(t);return r}exports.NOT_LIKE=NOT_LIKE,exports.SmartDbDateRegexp=/^(\d{4}-[01]\d-[0-3]\d [0-2]\d:[0-5]\d:[0-5]\d)(Z|[+-]\d\d:\d\d)?$/,exports.SmartDbTimestampRegexp=/^(\d{4}-[01]\d-[0-3]\d [0-2]\d:[0-5]\d:[0-5]\d\.\d{3})(Z|[+-]\d\d:\d\d)?$/,exports.validDateTimeFormats=["yyyy-MM-dd","yyyy-MM-ddZZ","yyyy-MM-dd HH:mm:ss","yyyy-MM-dd HH:mm:ssZZ","yyyy-MM-dd HH:mm:ss.u","yyyy-MM-dd HH:mm:ss.uZZ","yyyy-MM-dd'T'HH:mm:ss","yyyy-MM-dd'T'HH:mm:ssZZ","yyyy-MM-dd'T'HH:mm:ss.u","yyyy-MM-dd'T'HH:mm:ss.uZZ"];