UNPKG

stream-chat-react-native-core

Version:

The official React Native and Expo components for Stream Chat, a service for building chat applications

23 lines 1.49 kB
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.createCreateTableQuery = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _schema = require("../schema"); var createCreateTableQuery = tableName => { var columnsWithDescriptors = Object.entries(_schema.tables[tableName].columns).map(entry => { var _entry = (0, _slicedToArray2.default)(entry, 2), key = _entry[0], value = _entry[1]; return `${key} ${value}`; }); var primaryKeyConstraints = (_schema.tables[tableName].primaryKey || []).length > 0 ? [`PRIMARY KEY (${(_schema.tables[tableName].primaryKey || []).join(', ')})`] : []; var foreignKeysConstraints = _schema.tables[tableName].foreignKeys?.map(k => `FOREIGN KEY (${k.column}) REFERENCES ${k.referenceTable}(${k.referenceTableColumn}) ON DELETE ${k.onDeleteAction || 'NO ACTION'}`) || []; var indexQueries = _schema.tables[tableName].indexes?.map(index => [`CREATE ${index.unique ? 'UNIQUE' : ''} INDEX IF NOT EXISTS ${index.name} ON ${tableName}(${index.columns.join(',')})`]) || []; return [[`CREATE TABLE IF NOT EXISTS ${tableName}( ${[...columnsWithDescriptors, ...primaryKeyConstraints, ...foreignKeysConstraints].join(',\n')} );`], ...indexQueries]; }; exports.createCreateTableQuery = createCreateTableQuery; //# sourceMappingURL=createCreateTableQuery.js.map