1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 | 'use strict';
|
19 |
|
20 | require('module-keys/cjs').polyfill(module, require);
|
21 |
|
22 | const { SqlFragment } = require('./lib/fragment.js');
|
23 | const { SqlId } = require('./lib/id.js');
|
24 | const { makeSqlTagFunction } = require('./lib/tag-fn.js');
|
25 | const { Mintable } = require('node-sec-patterns');
|
26 |
|
27 | const mintSqlFragment = require.keys.unbox(
|
28 | Mintable.minterFor(SqlFragment),
|
29 | () => true,
|
30 | String);
|
31 |
|
32 | let mysql = null;
|
33 | let pg = null;
|
34 |
|
35 | Object.defineProperties(module.exports, {
|
36 | mysql: {
|
37 |
|
38 |
|
39 | get() {
|
40 | if (!mysql) {
|
41 |
|
42 | const lexer = require('./lib/mysql-lexer.js');
|
43 |
|
44 | const { escape, escapeDelimited } = require('./lib/mysql-escaper.js');
|
45 | mysql = makeSqlTagFunction(
|
46 | lexer, escape, escapeDelimited, true, mintSqlFragment);
|
47 | }
|
48 | return mysql;
|
49 | },
|
50 | enumerable: true,
|
51 | },
|
52 | pg: {
|
53 | get() {
|
54 | if (!pg) {
|
55 |
|
56 | const lexer = require('./lib/pg-lexer.js');
|
57 |
|
58 | const { escape, escapeDelimited } = require('./lib/pg-escaper.js');
|
59 | pg = makeSqlTagFunction(
|
60 | lexer, escape, escapeDelimited, false, mintSqlFragment);
|
61 | }
|
62 | return pg;
|
63 | },
|
64 | enumerable: true,
|
65 | },
|
66 | SqlId: {
|
67 | value: SqlId,
|
68 | enumerable: true,
|
69 | },
|
70 | SqlFragment: {
|
71 | value: SqlFragment,
|
72 | enumerable: true,
|
73 | },
|
74 | });
|