CoolFace
Apppublic

AK-21/Graphite-Industrial-Intelligence

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
utils.js71 linesDownload Raw Back to sqlite-core
1import { is } from "../entity.js";2import { SQL } from "../sql/sql.js";3import { Subquery } from "../subquery.js";4import { Table } from "../table.js";5import { ViewBaseConfig } from "../view-common.js";6import { CheckBuilder } from "./checks.js";7import { ForeignKeyBuilder } from "./foreign-keys.js";8import { IndexBuilder } from "./indexes.js";9import { PrimaryKeyBuilder } from "./primary-keys.js";10import { SQLiteTable } from "./table.js";11import { UniqueConstraintBuilder } from "./unique-constraint.js";12function getTableConfig(table) {13  const columns = Object.values(table[SQLiteTable.Symbol.Columns]);14  const indexes = [];15  const checks = [];16  const primaryKeys = [];17  const uniqueConstraints = [];18  const foreignKeys = Object.values(table[SQLiteTable.Symbol.InlineForeignKeys]);19  const name = table[Table.Symbol.Name];20  const extraConfigBuilder = table[SQLiteTable.Symbol.ExtraConfigBuilder];21  if (extraConfigBuilder !== void 0) {22    const extraConfig = extraConfigBuilder(table[SQLiteTable.Symbol.Columns]);23    const extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) : Object.values(extraConfig);24    for (const builder of Object.values(extraValues)) {25      if (is(builder, IndexBuilder)) {26        indexes.push(builder.build(table));27      } else if (is(builder, CheckBuilder)) {28        checks.push(builder.build(table));29      } else if (is(builder, UniqueConstraintBuilder)) {30        uniqueConstraints.push(builder.build(table));31      } else if (is(builder, PrimaryKeyBuilder)) {32        primaryKeys.push(builder.build(table));33      } else if (is(builder, ForeignKeyBuilder)) {34        foreignKeys.push(builder.build(table));35      }36    }37  }38  return {39    columns,40    indexes,41    foreignKeys,42    checks,43    primaryKeys,44    uniqueConstraints,45    name46  };47}48function extractUsedTable(table) {49  if (is(table, SQLiteTable)) {50    return [`${table[Table.Symbol.BaseName]}`];51  }52  if (is(table, Subquery)) {53    return table._.usedTables ?? [];54  }55  if (is(table, SQL)) {56    return table.usedTables ?? [];57  }58  return [];59}60function getViewConfig(view) {61  return {62    ...view[ViewBaseConfig]63    // ...view[SQLiteViewConfig],64  };65}66export {67  extractUsedTable,68  getTableConfig,69  getViewConfig70};71//# sourceMappingURL=utils.js.map