UNPKG

@lambda-group/charydbis

Version:

๐Ÿš€ NodeJS ScyllaDB ORM. ๐Ÿงช๐Ÿ”ง

75 lines (66 loc) โ€ข 2.42 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _chunk3I6T4JNZjs = require('./chunk-3I6T4JNZ.js'); var _chunkKI3NM7CIjs = require('./chunk-KI3NM7CI.js'); // src/decorators/column.ts require('reflect-metadata'); var ColumnType; (function(ColumnType2) { ColumnType2["TEXT"] = "TEXT"; ColumnType2["ASCII"] = "ASCII"; ColumnType2["FLOAT"] = "FLOAT"; ColumnType2["TIMESTAMP"] = "TIMESTAMP"; ColumnType2["DATE"] = "DATE"; ColumnType2["UUID"] = "UUID"; })(ColumnType || (ColumnType = exports.ColumnType = {})); var getColumnType = /* @__PURE__ */ _chunkKI3NM7CIjs.__name.call(void 0, (type) => { const lowerType = type == null ? void 0 : type.toLowerCase(); switch (lowerType) { case "string": return "TEXT"; case "number": return "FLOAT"; case "date": return "DATE"; case "uuid": return "UUID"; default: return "TEXT"; } }, "getColumnType"); function Column(options) { return (target, key) => { const constructor_ = target.constructor; if (!constructor_.columns) constructor_.columns = []; const propType = Reflect.getMetadata("design:type", target, key); const propColumnType = getColumnType(propType.name); let columnName = _chunk3I6T4JNZjs.snakeCaseTransform.call(void 0, key); let columnType = propColumnType; let isPartitionKey = false; let isClusteringKey = false; let clusteringKeySequence = 0; if (typeof options === "string") columnName = options; else if (typeof options === "object") { columnName = options.name || key; columnType = options.type || propColumnType; if (options.partitionKey) isPartitionKey = options.partitionKey; if (options.clusteringKey) { isClusteringKey = options.clusteringKey; clusteringKeySequence = options.clusteringKeySequence || 0; } } constructor_.columns.push(_chunkKI3NM7CIjs.__spreadValues.call(void 0, _chunkKI3NM7CIjs.__spreadValues.call(void 0, _chunkKI3NM7CIjs.__spreadValues.call(void 0, { key, columnName, columnType }, isPartitionKey && { partitionKey: true }), isClusteringKey && { clusteringKey: true }), isClusteringKey && { clusteringKeySequence })); }; } _chunkKI3NM7CIjs.__name.call(void 0, Column, "Column"); exports.ColumnType = ColumnType; exports.Column = Column; //# sourceMappingURL=chunk-ZIY2LTNA.js.map