{"version":3,"file":"mysqlPoolConnector-nmDS9QKe.cjs","names":["mysql","BoundableStatement","#sql","#query"],"sources":["../src/botDetector/config/mysqlPoolConnector.ts"],"sourcesContent":["import mysql from 'mysql2/promise';\nimport type { Connector, Primitive } from \"db0\";\nimport { BoundableStatement } from 'db0/connectors/_internal/statement';\n\nexport type ConnectorOptions = mysql.PoolOptions;\n\ntype InternalQuery = (\n  sql: string,\n  params?: unknown[],\n) => Promise<mysql.QueryResult>;\n\nexport default function mysqlPoolConnector(opts: ConnectorOptions): Connector<mysql.Pool> {\n  let _pool: mysql.Pool | undefined;\n\n    const getPool = () => {\n        if (_pool) {\n        return _pool;\n        }\n\n        _pool = mysql.createPool({\n        ...opts,\n        });\n\n        return _pool;\n    };\n\nconst query: InternalQuery = async (sql, params) => {\n    const p = getPool();\n    const res = await p.query(sql, params);\n    return res[0];\n};\n\n  return {\n    name: \"mysql-pool\",\n    dialect: \"mysql\",\n    getInstance: () => getPool(),\n    exec: (sql) => query(sql),\n    prepare: (sql) => new StatementWrapper(sql, query),\n    dispose: async () => {\n      await _pool?.end();\n      _pool = undefined;\n    },\n  };\n}\n\nclass StatementWrapper extends BoundableStatement<void> {\n  #query: InternalQuery;\n  #sql: string;\n\n  constructor(sql: string, query: InternalQuery) {\n    super();\n    this.#sql = sql;\n    this.#query = query;\n  }\n\n  async all(...params: Primitive[]) {\n    const res = (await this.#query(this.#sql, params)) as mysql.RowDataPacket[];\n    return res;\n  }\n\n  async run(...params: Primitive[]) {\n    await this.#query(this.#sql, params);\n    return { success: true };\n  }\n\n  async get(...params: Primitive[]) {\n    const res = (await this.#query(this.#sql, params)) as mysql.RowDataPacket[];\n    return res[0];\n  }\n}"],"mappings":";;;;;;AAWA,SAAwB,mBAAmB,MAA+C;CACxF,IAAI;CAEF,MAAM,gBAAgB;AAClB,MAAI,MACJ,QAAO;AAGP,UAAQA,uBAAM,WAAW,EACzB,GAAG,MACF,CAAC;AAEF,SAAO;;CAGf,MAAM,QAAuB,OAAO,KAAK,WAAW;AAGhD,UAAO,MAFG,SACS,CAAC,MAAM,KAAK,OAAO,EAC3B;;AAGb,QAAO;EACL,MAAM;EACN,SAAS;EACT,mBAAmB,SAAS;EAC5B,OAAO,QAAQ,MAAM,IAAI;EACzB,UAAU,QAAQ,IAAI,iBAAiB,KAAK,MAAM;EAClD,SAAS,YAAY;AACnB,SAAM,OAAO,KAAK;AAClB,WAAQ;;EAEX;;AAGH,IAAM,mBAAN,cAA+BC,sDAAyB;CACtD;CACA;CAEA,YAAY,KAAa,OAAsB;AAC7C,SAAO;AACP,QAAKC,MAAO;AACZ,QAAKC,QAAS;;CAGhB,MAAM,IAAI,GAAG,QAAqB;AAEhC,SAAO,MADY,MAAKA,MAAO,MAAKD,KAAM,OAAO;;CAInD,MAAM,IAAI,GAAG,QAAqB;AAChC,QAAM,MAAKC,MAAO,MAAKD,KAAM,OAAO;AACpC,SAAO,EAAE,SAAS,MAAM;;CAG1B,MAAM,IAAI,GAAG,QAAqB;AAEhC,UAAO,MADY,MAAKC,MAAO,MAAKD,KAAM,OAAO,EACtC"}