@typed-sql/mysql 1.0.0-beta.1 → 1.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +43 -0
- package/README.md +16 -2
- package/dist/packages/mysql/src/index.d.ts +4 -4
- package/dist/packages/mysql/src/index.d.ts.map +1 -1
- package/dist/packages/mysql/src/index.js +24 -4
- package/dist/packages/mysql/src/index.js.map +1 -1
- package/dist/packages/mysql/src/mysql2.d.ts +1 -1
- package/dist/packages/mysql/src/mysql2.d.ts.map +1 -1
- package/dist/packages/mysql/src/mysql2.js +36 -8
- package/dist/packages/mysql/src/mysql2.js.map +1 -1
- package/dist/packages/mysql/src/provider.d.ts.map +1 -1
- package/dist/packages/mysql/src/provider.js +10 -4
- package/dist/packages/mysql/src/provider.js.map +1 -1
- package/dist/packages/mysql/src/resolver.d.ts +2 -0
- package/dist/packages/mysql/src/resolver.d.ts.map +1 -1
- package/dist/packages/mysql/src/resolver.js +191 -55
- package/dist/packages/mysql/src/resolver.js.map +1 -1
- package/dist/packages/mysql/src/runtime.d.ts +1 -1
- package/dist/packages/mysql/src/runtime.d.ts.map +1 -1
- package/dist/packages/mysql/src/runtime.js +5 -8
- package/dist/packages/mysql/src/runtime.js.map +1 -1
- package/dist/packages/mysql/src/type-policy.d.ts.map +1 -1
- package/dist/packages/mysql/src/type-policy.js +108 -13
- package/dist/packages/mysql/src/type-policy.js.map +1 -1
- package/package.json +8 -4
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
var _a;
|
|
2
2
|
import { renderQuery } from "@typed-sql/core";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
decimal: "string",
|
|
6
|
-
date: "Date",
|
|
7
|
-
json: "unknown",
|
|
8
|
-
tinyint1: "boolean",
|
|
9
|
-
};
|
|
3
|
+
import { defaultMySqlTypePolicy } from "./type-policy.js";
|
|
4
|
+
const defaultRuntimePolicy = defaultMySqlTypePolicy;
|
|
10
5
|
const mysqlTypes = { tiny: 1, longlong: 8, date: 10, datetime: 12, timestamp: 7, json: 245, decimal: 246 };
|
|
11
6
|
export const mysqlRenderer = Object.freeze({
|
|
12
7
|
placeholder: () => "?",
|
|
@@ -94,7 +89,9 @@ class MySqlDatabaseImplementation {
|
|
|
94
89
|
try {
|
|
95
90
|
await connection.rollback();
|
|
96
91
|
}
|
|
97
|
-
catch {
|
|
92
|
+
catch {
|
|
93
|
+
/* Preserve the original failure. */
|
|
94
|
+
}
|
|
98
95
|
throw error;
|
|
99
96
|
}
|
|
100
97
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/runtime.ts"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../src/runtime.ts"],"names":[],"mappings":";AAAA,OAAO,EAA6B,WAAW,EAAoB,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAwB,MAAM,kBAAkB,CAAC;AAuChF,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAEpD,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAW,CAAC;AAEpH,MAAM,CAAC,MAAM,aAAa,GAAgB,MAAM,CAAC,MAAM,CAAC;IACtD,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG;IACtB,eAAe,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,KAAK,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI;CACnF,CAAC,CAAC;AAEH,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1G,CAAC;AAED,SAAS,MAAM,CAAC,KAAa,EAAE,KAAa;IAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC1B,MAAM,IAAI,UAAU,CAAC,GAAG,KAAK,UAAU,KAAK,2CAA2C,CAAC,CAAC;IAC3F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,MAAM,CACb,KAAc,EACd,KAAqB,EACrB,MAA+C,EAC/C,OAAoC;IAEpC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC7C,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;gBAC/B,MAAM,IAAI,UAAU,CAAC,gBAAgB,KAAK,0CAA0C,CAAC,CAAC;YACxF,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;QACzE,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;YAClG,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAyB,CAAC,EAAE,CAAC;QAC3G,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAClE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QACnG,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC;IACxD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,2BAA2B;IACtB,KAAK,CAAgB;IACrB,WAAW,CAAkC;IAC7C,SAAS,CAAU;IACnB,OAAO,CAAkD;IACzD,QAAQ,CAA2C;IACnD,MAAM,CAAS;IAExB,YACE,IAAmB,EACnB,UAA2C,EAC3C,QAAiB,EACjB,MAAuD,EACvD,OAAiD,EACjD,KAAa;QAEb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,OAAO,CAAyC,KAAyB;QAC7E,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC7B,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChG,CAAC,CAAC,CACH,CAC2B,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,WAAW,CAAI,EAAsC;QACzD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,gBAAgB,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,EAAE,CACrB,IAAI,EAA2B,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAC/F,CAAC;YACF,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,oCAAoC;YACtC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAI,EAAsC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAY,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9B,MAAM,SAAS,GAAG,aAAa,KAAK,EAAE,CAAC;QACvC,MAAM,UAAU,CAAC,KAAK,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CACrB,IAAI,EAA2B,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CACnG,CAAC;YACF,MAAM,UAAU,CAAC,KAAK,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;YACzD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;YAC7D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACzG,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC7C,CAAC;CACF;;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,MAAM,MAAM,GAAG,EAAE,GAAG,oBAAoB,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAClE,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAC/D,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;IACzE,OAAO,IAAI,2BAA2B,CACpC,OAAO,CAAC,IAAI,EACZ,SAAS,EACT,OAAO,CAAC,QAAQ,IAAI,KAAK,EACzB,MAAM,EACN,OAAO,CAAC,OAAO,EACf,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-policy.d.ts","sourceRoot":"","sources":["../../../../src/type-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;CACvC;AAED,eAAO,MAAM,sBAAsB,EAAE,eAOnC,CAAC;
|
|
1
|
+
{"version":3,"file":"type-policy.d.ts","sourceRoot":"","sources":["../../../../src/type-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;CACvC;AAED,eAAO,MAAM,sBAAsB,EAAE,eAOnC,CAAC;AAoEH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAwCvF;AAED,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,CAgB3G"}
|
|
@@ -6,25 +6,118 @@ export const defaultMySqlTypePolicy = Object.freeze({
|
|
|
6
6
|
tinyint1: "boolean",
|
|
7
7
|
unknown: "unknown",
|
|
8
8
|
});
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
function isTypeWhitespace(char) {
|
|
10
|
+
return char === " " || char === "\t" || char === "\n" || char === "\r" || char === "\f" || char === "\v";
|
|
11
|
+
}
|
|
12
|
+
function normalized(value) {
|
|
13
|
+
const input = value.trim().toLowerCase();
|
|
14
|
+
let output = "";
|
|
15
|
+
let pendingSpace = false;
|
|
16
|
+
for (const char of input) {
|
|
17
|
+
if (isTypeWhitespace(char)) {
|
|
18
|
+
pendingSpace = output.length > 0;
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
if (pendingSpace)
|
|
22
|
+
output += " ";
|
|
23
|
+
output += char;
|
|
24
|
+
pendingSpace = false;
|
|
25
|
+
}
|
|
26
|
+
return output;
|
|
27
|
+
}
|
|
28
|
+
function baseType(value) {
|
|
29
|
+
let type = normalized(value);
|
|
30
|
+
if (type.endsWith(" unsigned"))
|
|
31
|
+
type = type.slice(0, -" unsigned".length);
|
|
32
|
+
const parameters = type.indexOf("(");
|
|
33
|
+
return parameters === -1 ? type : type.slice(0, parameters);
|
|
34
|
+
}
|
|
11
35
|
function enumValues(databaseType) {
|
|
12
|
-
const
|
|
13
|
-
if (
|
|
36
|
+
const type = databaseType.trim();
|
|
37
|
+
if (type.slice(0, 5).toLowerCase() !== "enum(" || !type.endsWith(")"))
|
|
14
38
|
return undefined;
|
|
39
|
+
const body = type.slice(5, -1);
|
|
15
40
|
const values = [];
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
41
|
+
let index = 0;
|
|
42
|
+
while (index < body.length) {
|
|
43
|
+
while (index < body.length && isTypeWhitespace(body[index]))
|
|
44
|
+
index += 1;
|
|
45
|
+
if (body[index] !== "'")
|
|
46
|
+
return undefined;
|
|
47
|
+
index += 1;
|
|
48
|
+
let value = "";
|
|
49
|
+
let closed = false;
|
|
50
|
+
while (index < body.length) {
|
|
51
|
+
const char = body[index];
|
|
52
|
+
if (char === "\\" && index + 1 < body.length) {
|
|
53
|
+
value += body[index + 1];
|
|
54
|
+
index += 2;
|
|
55
|
+
}
|
|
56
|
+
else if (char === "'" && body[index + 1] === "'") {
|
|
57
|
+
value += "'";
|
|
58
|
+
index += 2;
|
|
59
|
+
}
|
|
60
|
+
else if (char === "'") {
|
|
61
|
+
closed = true;
|
|
62
|
+
index += 1;
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
value += char;
|
|
67
|
+
index += 1;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (!closed)
|
|
71
|
+
return undefined;
|
|
72
|
+
values.push(value);
|
|
73
|
+
while (index < body.length && isTypeWhitespace(body[index]))
|
|
74
|
+
index += 1;
|
|
75
|
+
if (index === body.length)
|
|
76
|
+
break;
|
|
77
|
+
if (body[index] !== ",")
|
|
78
|
+
return undefined;
|
|
79
|
+
index += 1;
|
|
80
|
+
}
|
|
19
81
|
return values;
|
|
20
82
|
}
|
|
21
83
|
export function isKnownMySqlType(databaseType, schema) {
|
|
22
84
|
const type = baseType(databaseType);
|
|
23
|
-
return [
|
|
24
|
-
"tinyint",
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
|
|
85
|
+
return ([
|
|
86
|
+
"tinyint",
|
|
87
|
+
"smallint",
|
|
88
|
+
"mediumint",
|
|
89
|
+
"int",
|
|
90
|
+
"integer",
|
|
91
|
+
"bigint",
|
|
92
|
+
"decimal",
|
|
93
|
+
"numeric",
|
|
94
|
+
"float",
|
|
95
|
+
"double",
|
|
96
|
+
"real",
|
|
97
|
+
"bit",
|
|
98
|
+
"boolean",
|
|
99
|
+
"bool",
|
|
100
|
+
"char",
|
|
101
|
+
"varchar",
|
|
102
|
+
"tinytext",
|
|
103
|
+
"text",
|
|
104
|
+
"mediumtext",
|
|
105
|
+
"longtext",
|
|
106
|
+
"binary",
|
|
107
|
+
"varbinary",
|
|
108
|
+
"tinyblob",
|
|
109
|
+
"blob",
|
|
110
|
+
"mediumblob",
|
|
111
|
+
"longblob",
|
|
112
|
+
"date",
|
|
113
|
+
"datetime",
|
|
114
|
+
"timestamp",
|
|
115
|
+
"time",
|
|
116
|
+
"year",
|
|
117
|
+
"json",
|
|
118
|
+
"enum",
|
|
119
|
+
"set",
|
|
120
|
+
].includes(type) || schema?.domains?.[type] !== undefined);
|
|
28
121
|
}
|
|
29
122
|
export function mapMySqlType(databaseType, policy, schema) {
|
|
30
123
|
const type = baseType(databaseType);
|
|
@@ -33,8 +126,10 @@ export function mapMySqlType(databaseType, policy, schema) {
|
|
|
33
126
|
return values.map((value) => JSON.stringify(value)).join(" | ") || "never";
|
|
34
127
|
if (type === "tinyint" && /^tinyint\(1\)/iu.test(databaseType))
|
|
35
128
|
return policy.tinyint1;
|
|
36
|
-
if (["tinyint", "smallint", "mediumint", "int", "integer", "float", "double", "real", "
|
|
129
|
+
if (["tinyint", "smallint", "mediumint", "int", "integer", "float", "double", "real", "year"].includes(type))
|
|
37
130
|
return "number";
|
|
131
|
+
if (type === "bit")
|
|
132
|
+
return "Uint8Array";
|
|
38
133
|
if (type === "bigint")
|
|
39
134
|
return policy.bigint;
|
|
40
135
|
if (type === "decimal" || type === "numeric")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-policy.js","sourceRoot":"","sources":["../../../../src/type-policy.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,sBAAsB,GAAoB,MAAM,CAAC,MAAM,CAAC;IACnE,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,SAAS;CACnB,CAAC,CAAC;AAEH,
|
|
1
|
+
{"version":3,"file":"type-policy.js","sourceRoot":"","sources":["../../../../src/type-policy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typed-sql/mysql",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-rc.0",
|
|
4
4
|
"description": "MySQL grammar, schema introspection, type resolution, and application-owned mysql2 integration for typed-sql.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Lojhan",
|
|
@@ -27,6 +27,9 @@
|
|
|
27
27
|
"publishConfig": {
|
|
28
28
|
"access": "public"
|
|
29
29
|
},
|
|
30
|
+
"typedSql": {
|
|
31
|
+
"releaseTrack": "stable"
|
|
32
|
+
},
|
|
30
33
|
"sideEffects": false,
|
|
31
34
|
"type": "module",
|
|
32
35
|
"exports": {
|
|
@@ -35,12 +38,13 @@
|
|
|
35
38
|
"./mysql2": "./dist/packages/mysql/src/mysql2.js"
|
|
36
39
|
},
|
|
37
40
|
"dependencies": {
|
|
38
|
-
"@typed-sql/core": "1.0.0-
|
|
39
|
-
"@typed-sql/
|
|
40
|
-
"@typed-sql/
|
|
41
|
+
"@typed-sql/core": "1.0.0-rc.0",
|
|
42
|
+
"@typed-sql/ast": "1.0.0-rc.0",
|
|
43
|
+
"@typed-sql/schema": "1.0.0-rc.0"
|
|
41
44
|
},
|
|
42
45
|
"scripts": {
|
|
43
46
|
"test": "poku test --reporter=compact --enforce",
|
|
47
|
+
"test:soundness": "poku test/soundness.test.ts --reporter=compact --enforce",
|
|
44
48
|
"coverage": "poku test --coverage=@pokujs/c8 --coverageConfig=.c8rc.json --reporter=compact --enforce"
|
|
45
49
|
}
|
|
46
50
|
}
|