Skip to content

@142vip/data-source

NPM version

TIPS:没数据源,可视化、数字孪生就是玩单机

介绍

@142vip/data-source模块可以用来连接多种数据源,支持从数据源快速获取数据

安装

bash
npm install @142vip/data-source
# 使用pnpm
pnpm i @142vip/data-source

简单使用

按照数据来源,将数据源分为CSV型、API型、SQL数据库型等类型。

新增数据源

定义接口类型

ts
export interface MyDataSourceOptions {
  // coding xxx
}

初始化连接器

ts
import { DataSourceConnector } from '@142vip/data-source'

export class MyDataSource implements DataSourceConnector<MyDataSourceOptions> {
  /**
   * 获取连接数据
   */
  public async getConnectionData(options: MyDataSourceOptions): Promise<DataSourceParseResponse> {
    try {
      // coding xxx
    }
    catch (error) {
      return handlerDataSourceConnectError(VipPostgreSql.name, error)
    }
    finally {
      await pgClient?.end()
    }
  }
}

进一步拓展

基于DataSourceManager接口,封装parseDatatestConnectgetDataBaseNames等常用方法。

ts
/**
 * 自定义数据源
 */
export class MyDataSource implements DataSourceManager {
  /**
   * 解析数据
   */
  public async parseData(): Promise<DataSourceParseResponse> {
    // coding xxx
  }

  /**
   * 测试连接
   */
  public testConnect(): Promise<DataSourceParseResponse> {
    // coding xxx
  }

  /**
   * 获取表名列表
   */
  public getDataBaseNames(): Promise<DataSourceParseResponse<string[]>> {
    // coding xxx
  }

  /**
   * 获取表名列表
   */
  public getTableNames(): Promise<DataSourceParseResponse<DataSourceTable[]>> {
    // coding xxx
  }

  /**
   * 获取表字段列表
   */
  public getTableColumns(tableName: string, schema?: string): Promise<DataSourceParseResponse<DataSourceColumn[]>> {
    // coding xxx
  }
}

参考

证书

MIT

Copyright (c) 2019-present, @142vip 储凡