CoolFace
Apppublic

AK-21/Graphite-Industrial-Intelligence

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
view.cjs302 linesDownload Raw Back to gel-core
1"use strict";2var __defProp = Object.defineProperty;3var __getOwnPropDesc = Object.getOwnPropertyDescriptor;4var __getOwnPropNames = Object.getOwnPropertyNames;5var __hasOwnProp = Object.prototype.hasOwnProperty;6var __export = (target, all) => {7  for (var name in all)8    __defProp(target, name, { get: all[name], enumerable: true });9};10var __copyProps = (to, from, except, desc) => {11  if (from && typeof from === "object" || typeof from === "function") {12    for (let key of __getOwnPropNames(from))13      if (!__hasOwnProp.call(to, key) && key !== except)14        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });15  }16  return to;17};18var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);19var view_exports = {};20__export(view_exports, {21  DefaultViewBuilderCore: () => DefaultViewBuilderCore,22  GelMaterializedView: () => GelMaterializedView,23  GelMaterializedViewConfig: () => GelMaterializedViewConfig,24  GelView: () => GelView,25  ManualMaterializedViewBuilder: () => ManualMaterializedViewBuilder,26  ManualViewBuilder: () => ManualViewBuilder,27  MaterializedViewBuilder: () => MaterializedViewBuilder,28  MaterializedViewBuilderCore: () => MaterializedViewBuilderCore,29  ViewBuilder: () => ViewBuilder,30  gelMaterializedViewWithSchema: () => gelMaterializedViewWithSchema,31  gelViewWithSchema: () => gelViewWithSchema32});33module.exports = __toCommonJS(view_exports);34var import_entity = require("../entity.cjs");35var import_selection_proxy = require("../selection-proxy.cjs");36var import_utils = require("../utils.cjs");37var import_query_builder = require("./query-builders/query-builder.cjs");38var import_table = require("./table.cjs");39var import_view_base = require("./view-base.cjs");40var import_view_common = require("./view-common.cjs");41class DefaultViewBuilderCore {42  constructor(name, schema) {43    this.name = name;44    this.schema = schema;45  }46  static [import_entity.entityKind] = "GelDefaultViewBuilderCore";47  config = {};48  with(config) {49    this.config.with = config;50    return this;51  }52}53class ViewBuilder extends DefaultViewBuilderCore {54  static [import_entity.entityKind] = "GelViewBuilder";55  as(qb) {56    if (typeof qb === "function") {57      qb = qb(new import_query_builder.QueryBuilder());58    }59    const selectionProxy = new import_selection_proxy.SelectionProxyHandler({60      alias: this.name,61      sqlBehavior: "error",62      sqlAliasedBehavior: "alias",63      replaceOriginalName: true64    });65    const aliasedSelection = new Proxy(qb.getSelectedFields(), selectionProxy);66    return new Proxy(67      new GelView({68        GelConfig: this.config,69        config: {70          name: this.name,71          schema: this.schema,72          selectedFields: aliasedSelection,73          query: qb.getSQL().inlineParams()74        }75      }),76      selectionProxy77    );78  }79}80class ManualViewBuilder extends DefaultViewBuilderCore {81  static [import_entity.entityKind] = "GelManualViewBuilder";82  columns;83  constructor(name, columns, schema) {84    super(name, schema);85    this.columns = (0, import_utils.getTableColumns)((0, import_table.gelTable)(name, columns));86  }87  existing() {88    return new Proxy(89      new GelView({90        GelConfig: void 0,91        config: {92          name: this.name,93          schema: this.schema,94          selectedFields: this.columns,95          query: void 096        }97      }),98      new import_selection_proxy.SelectionProxyHandler({99        alias: this.name,100        sqlBehavior: "error",101        sqlAliasedBehavior: "alias",102        replaceOriginalName: true103      })104    );105  }106  as(query) {107    return new Proxy(108      new GelView({109        GelConfig: this.config,110        config: {111          name: this.name,112          schema: this.schema,113          selectedFields: this.columns,114          query: query.inlineParams()115        }116      }),117      new import_selection_proxy.SelectionProxyHandler({118        alias: this.name,119        sqlBehavior: "error",120        sqlAliasedBehavior: "alias",121        replaceOriginalName: true122      })123    );124  }125}126class MaterializedViewBuilderCore {127  constructor(name, schema) {128    this.name = name;129    this.schema = schema;130  }131  static [import_entity.entityKind] = "GelMaterializedViewBuilderCore";132  config = {};133  using(using) {134    this.config.using = using;135    return this;136  }137  with(config) {138    this.config.with = config;139    return this;140  }141  tablespace(tablespace) {142    this.config.tablespace = tablespace;143    return this;144  }145  withNoData() {146    this.config.withNoData = true;147    return this;148  }149}150class MaterializedViewBuilder extends MaterializedViewBuilderCore {151  static [import_entity.entityKind] = "GelMaterializedViewBuilder";152  as(qb) {153    if (typeof qb === "function") {154      qb = qb(new import_query_builder.QueryBuilder());155    }156    const selectionProxy = new import_selection_proxy.SelectionProxyHandler({157      alias: this.name,158      sqlBehavior: "error",159      sqlAliasedBehavior: "alias",160      replaceOriginalName: true161    });162    const aliasedSelection = new Proxy(qb.getSelectedFields(), selectionProxy);163    return new Proxy(164      new GelMaterializedView({165        GelConfig: {166          with: this.config.with,167          using: this.config.using,168          tablespace: this.config.tablespace,169          withNoData: this.config.withNoData170        },171        config: {172          name: this.name,173          schema: this.schema,174          selectedFields: aliasedSelection,175          query: qb.getSQL().inlineParams()176        }177      }),178      selectionProxy179    );180  }181}182class ManualMaterializedViewBuilder extends MaterializedViewBuilderCore {183  static [import_entity.entityKind] = "GelManualMaterializedViewBuilder";184  columns;185  constructor(name, columns, schema) {186    super(name, schema);187    this.columns = (0, import_utils.getTableColumns)((0, import_table.gelTable)(name, columns));188  }189  existing() {190    return new Proxy(191      new GelMaterializedView({192        GelConfig: {193          tablespace: this.config.tablespace,194          using: this.config.using,195          with: this.config.with,196          withNoData: this.config.withNoData197        },198        config: {199          name: this.name,200          schema: this.schema,201          selectedFields: this.columns,202          query: void 0203        }204      }),205      new import_selection_proxy.SelectionProxyHandler({206        alias: this.name,207        sqlBehavior: "error",208        sqlAliasedBehavior: "alias",209        replaceOriginalName: true210      })211    );212  }213  as(query) {214    return new Proxy(215      new GelMaterializedView({216        GelConfig: {217          tablespace: this.config.tablespace,218          using: this.config.using,219          with: this.config.with,220          withNoData: this.config.withNoData221        },222        config: {223          name: this.name,224          schema: this.schema,225          selectedFields: this.columns,226          query: query.inlineParams()227        }228      }),229      new import_selection_proxy.SelectionProxyHandler({230        alias: this.name,231        sqlBehavior: "error",232        sqlAliasedBehavior: "alias",233        replaceOriginalName: true234      })235    );236  }237}238class GelView extends import_view_base.GelViewBase {239  static [import_entity.entityKind] = "GelView";240  [import_view_common.GelViewConfig];241  constructor({ GelConfig, config }) {242    super(config);243    if (GelConfig) {244      this[import_view_common.GelViewConfig] = {245        with: GelConfig.with246      };247    }248  }249}250const GelMaterializedViewConfig = Symbol.for("drizzle:GelMaterializedViewConfig");251class GelMaterializedView extends import_view_base.GelViewBase {252  static [import_entity.entityKind] = "GelMaterializedView";253  [GelMaterializedViewConfig];254  constructor({ GelConfig, config }) {255    super(config);256    this[GelMaterializedViewConfig] = {257      with: GelConfig?.with,258      using: GelConfig?.using,259      tablespace: GelConfig?.tablespace,260      withNoData: GelConfig?.withNoData261    };262  }263}264function gelViewWithSchema(name, selection, schema) {265  if (selection) {266    return new ManualViewBuilder(name, selection, schema);267  }268  return new ViewBuilder(name, schema);269}270function gelMaterializedViewWithSchema(name, selection, schema) {271  if (selection) {272    return new ManualMaterializedViewBuilder(name, selection, schema);273  }274  return new MaterializedViewBuilder(name, schema);275}276function gelView(name, columns) {277  return gelViewWithSchema(name, columns, void 0);278}279function gelMaterializedView(name, columns) {280  return gelMaterializedViewWithSchema(name, columns, void 0);281}282function isGelView(obj) {283  return (0, import_entity.is)(obj, GelView);284}285function isGelMaterializedView(obj) {286  return (0, import_entity.is)(obj, GelMaterializedView);287}288// Annotate the CommonJS export names for ESM import in node:2890 && (module.exports = {290  DefaultViewBuilderCore,291  GelMaterializedView,292  GelMaterializedViewConfig,293  GelView,294  ManualMaterializedViewBuilder,295  ManualViewBuilder,296  MaterializedViewBuilder,297  MaterializedViewBuilderCore,298  ViewBuilder,299  gelMaterializedViewWithSchema,300  gelViewWithSchema301});302//# sourceMappingURL=view.cjs.map