@sqltags/mysql
Advanced tools
| import ts from '@rollup/plugin-typescript'; | ||
| import { dts } from 'rollup-plugin-dts'; | ||
| export default [ | ||
| { | ||
| input: './mysql.ts', | ||
| output: { | ||
| file: './dist/index.mjs', | ||
| sourcemap: true, | ||
| }, | ||
| external: ['mysql2', 'stream/web', '@sqltags/core'], | ||
| plugins: [ts()], | ||
| }, | ||
| { | ||
| input: './mysql.ts', | ||
| output: { | ||
| file: './dist/index.d.ts', | ||
| }, | ||
| external: ['mysql2', 'stream/web', '@sqltags/core'], | ||
| plugins: [dts()], | ||
| }, | ||
| ]; |
| { | ||
| "extends": "../../tsconfig.json" | ||
| } |
+5
-4
@@ -1,3 +0,4 @@ | ||
| import { Connection, FieldPacket, PoolConnection } from "mysql2"; | ||
| import { SqlTag } from "@sqltags/core"; | ||
| import { Connection, PoolConnection, FieldPacket } from 'mysql2'; | ||
| import { SqlTag } from '@sqltags/core'; | ||
| /** | ||
@@ -8,4 +9,4 @@ * Constructs a new tag function for the mysql2 library. | ||
| */ | ||
| export function createMySqlTag(connection: Connection | PoolConnection): SqlTag<FieldPacket[], never>; | ||
| declare function createMySqlTag(connection: Connection | PoolConnection): SqlTag<FieldPacket[], never>; | ||
| //# sourceMappingURL=index.d.ts.map | ||
| export { createMySqlTag }; |
+36
-30
@@ -1,49 +0,55 @@ | ||
| import {ReadableStream as $hgG5k$ReadableStream} from "stream/web"; | ||
| import {SqlTag as $hgG5k$SqlTag} from "@sqltags/core"; | ||
| import { ReadableStream } from 'stream/web'; | ||
| import { SqlTag } from '@sqltags/core'; | ||
| function $7c17dc2cf5c5fd2f$export$5cb409239ce1324e(connection) { | ||
| return new (0, $hgG5k$SqlTag)({ | ||
| parameterizeValue (value, paramIndex) { | ||
| return "?"; | ||
| /** | ||
| * Constructs a new tag function for the mysql2 library. | ||
| * @param connection The mysql2 Connection or PoolConnection object to use. | ||
| * @returns A SqlTag object. | ||
| */ | ||
| function createMySqlTag(connection) { | ||
| return new SqlTag({ | ||
| parameterizeValue(value, paramIndex) { | ||
| return '?'; | ||
| }, | ||
| escapeIdentifier (identifier) { | ||
| return `\`${identifier.replace(/`/g, "``")}\``; | ||
| escapeIdentifier(identifier) { | ||
| return `\`${identifier.replace(/`/g, '``')}\``; | ||
| }, | ||
| query (sql, params) { | ||
| return new Promise((resolve, reject)=>{ | ||
| connection.query(sql, params, (err, result, fields)=>{ | ||
| if (err) reject(err); | ||
| else resolve([ | ||
| result, | ||
| fields | ||
| ]); | ||
| query(sql, params) { | ||
| return new Promise((resolve, reject) => { | ||
| connection.query(sql, params, (err, result, fields) => { | ||
| if (err) { | ||
| reject(err); | ||
| } | ||
| else { | ||
| resolve([result, fields]); | ||
| } | ||
| }); | ||
| }); | ||
| }, | ||
| async *cursor (sql, params) { | ||
| async *cursor(sql, params) { | ||
| const stream = connection.query(sql, params); | ||
| const s = new (0, $hgG5k$ReadableStream)({ | ||
| start (controller) { | ||
| const s = new ReadableStream({ | ||
| start(controller) { | ||
| let error = false; | ||
| stream.on("result", (chunk)=>{ | ||
| stream.on('result', (chunk) => { | ||
| controller.enqueue(chunk); | ||
| }); | ||
| stream.on("end", ()=>{ | ||
| if (!error) controller.close(); | ||
| stream.on('end', () => { | ||
| if (!error) | ||
| controller.close(); | ||
| }); | ||
| stream.on("error", (err)=>{ | ||
| stream.on('error', (err) => { | ||
| error = true; | ||
| controller.error(err); | ||
| }); | ||
| } | ||
| }, | ||
| }); | ||
| for await (const row of s)yield row; | ||
| } | ||
| for await (const row of s) { | ||
| yield row; | ||
| } | ||
| }, | ||
| }); | ||
| } | ||
| export {$7c17dc2cf5c5fd2f$export$5cb409239ce1324e as createMySqlTag}; | ||
| export { createMySqlTag }; | ||
| //# sourceMappingURL=index.mjs.map |
@@ -1,1 +0,1 @@ | ||
| {"mappings":";;;;;AASO,SAAS,0CAAe,UAAuC;IACpE,OAAO,IAAI,CAAA,GAAA,aAAK,EAAwB;QACtC,mBAAkB,KAAU,EAAE,UAAkB;YAC9C,OAAO;QACT;QAEA,kBAAiB,UAAkB;YACjC,OAAO,CAAC,EAAE,EAAE,WAAW,OAAO,CAAC,MAAM,MAAM,EAAE,CAAC;QAChD;QAEA,OAAM,GAAW,EAAE,MAAa;YAC9B,OAAO,IAAI,QAAQ,CAAC,SAAS;gBAC3B,WAAW,KAAK,CAAC,KAAK,QAAQ,CAAC,KAAK,QAAQ;oBAC1C,IAAI,KACF,OAAO;yBAEP,QAAQ;wBAAC;wBAAiB;qBAAO;gBAErC;YACF;QACF;QAEA,OAAO,QAAO,GAAW,EAAE,MAAa;YACtC,MAAM,SAAS,WAAW,KAAK,CAAC,KAAK;YAErC,MAAM,IAAI,IAAI,CAAA,GAAA,qBAAa,EAAE;gBAC3B,OAAM,UAAU;oBACd,IAAI,QAAQ;oBACZ,OAAO,EAAE,CAAC,UAAU,CAAC;wBACnB,WAAW,OAAO,CAAC;oBACrB;oBACA,OAAO,EAAE,CAAC,OAAO;wBACf,IAAI,CAAC,OAAO,WAAW,KAAK;oBAC9B;oBACA,OAAO,EAAE,CAAC,SAAS,CAAC;wBAClB,QAAQ;wBACR,WAAW,KAAK,CAAC;oBACnB;gBACF;YACF;YAEA,WAAW,MAAM,OAAO,EACtB,MAAM;QAEV;IACF;AACF","sources":["drivers/mysql/mysql.ts"],"sourcesContent":["import { ReadableStream } from 'stream/web';\nimport { type Connection, type FieldPacket, type PoolConnection } from 'mysql2';\nimport { SqlTag } from '@sqltags/core';\n\n/**\n * Constructs a new tag function for the mysql2 library.\n * @param connection The mysql2 Connection or PoolConnection object to use.\n * @returns A SqlTag object.\n */\nexport function createMySqlTag(connection: Connection | PoolConnection) {\n return new SqlTag<FieldPacket[], never>({\n parameterizeValue(value: any, paramIndex: number): string {\n return '?';\n },\n\n escapeIdentifier(identifier: string): string {\n return `\\`${identifier.replace(/`/g, '``')}\\``;\n },\n\n query(sql: string, params: any[]): Promise<[any[], FieldPacket[]]> {\n return new Promise((resolve, reject) => {\n connection.query(sql, params, (err, result, fields) => {\n if (err) {\n reject(err);\n } else {\n resolve([result as any[], fields]);\n }\n });\n });\n },\n\n async *cursor(sql: string, params: any[]): AsyncIterable<any> {\n const stream = connection.query(sql, params);\n\n const s = new ReadableStream({\n start(controller) {\n let error = false;\n stream.on('result', (chunk) => {\n controller.enqueue(chunk);\n });\n stream.on('end', () => {\n if (!error) controller.close();\n });\n stream.on('error', (err) => {\n error = true;\n controller.error(err);\n });\n },\n });\n\n for await (const row of s) {\n yield row;\n }\n },\n });\n}\n"],"names":[],"version":3,"file":"index.mjs.map","sourceRoot":"../../../"} | ||
| {"version":3,"file":"index.mjs","sources":["../mysql.ts"],"sourcesContent":["import { ReadableStream } from 'stream/web';\nimport { type Connection, type FieldPacket, type PoolConnection } from 'mysql2';\nimport { SqlTag } from '@sqltags/core';\n\n/**\n * Constructs a new tag function for the mysql2 library.\n * @param connection The mysql2 Connection or PoolConnection object to use.\n * @returns A SqlTag object.\n */\nexport function createMySqlTag(connection: Connection | PoolConnection) {\n return new SqlTag<FieldPacket[], never>({\n parameterizeValue(value: any, paramIndex: number): string {\n return '?';\n },\n\n escapeIdentifier(identifier: string): string {\n return `\\`${identifier.replace(/`/g, '``')}\\``;\n },\n\n query(sql: string, params: any[]): Promise<[any[], FieldPacket[]]> {\n return new Promise((resolve, reject) => {\n connection.query(sql, params, (err, result, fields) => {\n if (err) {\n reject(err);\n } else {\n resolve([result as any[], fields]);\n }\n });\n });\n },\n\n async *cursor(sql: string, params: any[]): AsyncIterable<any> {\n const stream = connection.query(sql, params);\n\n const s = new ReadableStream({\n start(controller) {\n let error = false;\n stream.on('result', (chunk) => {\n controller.enqueue(chunk);\n });\n stream.on('end', () => {\n if (!error) controller.close();\n });\n stream.on('error', (err) => {\n error = true;\n controller.error(err);\n });\n },\n });\n\n for await (const row of s) {\n yield row;\n }\n },\n });\n}\n"],"names":[],"mappings":";;;AAIA;;;;AAIG;AACG,SAAU,cAAc,CAAC,UAAuC,EAAA;IACpE,OAAO,IAAI,MAAM,CAAuB;QACtC,iBAAiB,CAAC,KAAU,EAAE,UAAkB,EAAA;AAC9C,YAAA,OAAO,GAAG;QACZ,CAAC;AAED,QAAA,gBAAgB,CAAC,UAAkB,EAAA;YACjC,OAAO,CAAA,EAAA,EAAK,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA,EAAA,CAAI;QAChD,CAAC;QAED,KAAK,CAAC,GAAW,EAAE,MAAa,EAAA;YAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,gBAAA,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,KAAI;oBACpD,IAAI,GAAG,EAAE;wBACP,MAAM,CAAC,GAAG,CAAC;oBACb;yBAAO;AACL,wBAAA,OAAO,CAAC,CAAC,MAAe,EAAE,MAAM,CAAC,CAAC;oBACpC;AACF,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;QACJ,CAAC;AAED,QAAA,OAAO,MAAM,CAAC,GAAW,EAAE,MAAa,EAAA;YACtC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;AAE5C,YAAA,MAAM,CAAC,GAAG,IAAI,cAAc,CAAC;AAC3B,gBAAA,KAAK,CAAC,UAAU,EAAA;oBACd,IAAI,KAAK,GAAG,KAAK;oBACjB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAI;AAC5B,wBAAA,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;AAC3B,oBAAA,CAAC,CAAC;AACF,oBAAA,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAK;AACpB,wBAAA,IAAI,CAAC,KAAK;4BAAE,UAAU,CAAC,KAAK,EAAE;AAChC,oBAAA,CAAC,CAAC;oBACF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,KAAI;wBACzB,KAAK,GAAG,IAAI;AACZ,wBAAA,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;AACvB,oBAAA,CAAC,CAAC;gBACJ,CAAC;AACF,aAAA,CAAC;AAEF,YAAA,WAAW,MAAM,GAAG,IAAI,CAAC,EAAE;AACzB,gBAAA,MAAM,GAAG;YACX;QACF,CAAC;AACF,KAAA,CAAC;AACJ;;;;"} |
+3
-3
| { | ||
| "name": "@sqltags/mysql", | ||
| "version": "0.0.26", | ||
| "version": "0.1.0", | ||
| "description": "MySQL driver for sqltags (@sqltags/core) 🔧✨ Safely create & execute parameterized SQL queries using template strings", | ||
@@ -36,8 +36,8 @@ "license": "MIT", | ||
| "scripts": { | ||
| "build": "rm -rf dist && parcel build --no-cache" | ||
| "build": "rm -rf dist && rollup -c" | ||
| }, | ||
| "dependencies": { | ||
| "@sqltags/core": "^0.0.26", | ||
| "@sqltags/core": "^0.1.0", | ||
| "mysql2": "^3.7.0" | ||
| } | ||
| } |
| {"mappings":";;AAIA;;;;GAIG;AACH,+BAA+B,UAAU,EAAE,UAAU,GAAG,cAAc,gCA8CrE","sources":["drivers/mysql/mysql.ts"],"sourcesContent":["import { ReadableStream } from 'stream/web';\nimport { type Connection, type FieldPacket, type PoolConnection } from 'mysql2';\nimport { SqlTag } from '@sqltags/core';\n\n/**\n * Constructs a new tag function for the mysql2 library.\n * @param connection The mysql2 Connection or PoolConnection object to use.\n * @returns A SqlTag object.\n */\nexport function createMySqlTag(connection: Connection | PoolConnection) {\n return new SqlTag<FieldPacket[], never>({\n parameterizeValue(value: any, paramIndex: number): string {\n return '?';\n },\n\n escapeIdentifier(identifier: string): string {\n return `\\`${identifier.replace(/`/g, '``')}\\``;\n },\n\n query(sql: string, params: any[]): Promise<[any[], FieldPacket[]]> {\n return new Promise((resolve, reject) => {\n connection.query(sql, params, (err, result, fields) => {\n if (err) {\n reject(err);\n } else {\n resolve([result as any[], fields]);\n }\n });\n });\n },\n\n async *cursor(sql: string, params: any[]): AsyncIterable<any> {\n const stream = connection.query(sql, params);\n\n const s = new ReadableStream({\n start(controller) {\n let error = false;\n stream.on('result', (chunk) => {\n controller.enqueue(chunk);\n });\n stream.on('end', () => {\n if (!error) controller.close();\n });\n stream.on('error', (err) => {\n error = true;\n controller.error(err);\n });\n },\n });\n\n for await (const row of s) {\n yield row;\n }\n },\n });\n}\n"],"names":[],"version":3,"file":"index.d.ts.map","sourceRoot":"../../../"} |
7
16.67%85
60.38%8028
-8.63%+ Added
- Removed
Updated