UNPKG

stream-chat-react-native-core

Version:

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

24 lines 1.68 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 _tables$tableName$for, _tables$tableName$ind; 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 = ((_tables$tableName$for = _schema.tables[tableName].foreignKeys) == null ? void 0 : _tables$tableName$for.map(k => `FOREIGN KEY (${k.column}) REFERENCES ${k.referenceTable}(${k.referenceTableColumn}) ON DELETE ${k.onDeleteAction || 'NO ACTION'}`)) || []; var indexQueries = ((_tables$tableName$ind = _schema.tables[tableName].indexes) == null ? void 0 : _tables$tableName$ind.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