@uns-kit/database 3.0.5 → 3.0.7
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/dist/placeholders.d.ts +22 -124
- package/dist/placeholders.d.ts.map +1 -1
- package/dist/schema.d.ts +113 -1889
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +27 -20
- package/dist/schema.js.map +1 -1
- package/package.json +4 -4
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuBxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkBxB,CAAC;AAEZ,eAAO,MAAM,oBAAoB;;;;;;;kBAStB,CAAC;AAqBZ,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAgB/B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAAgF,CAAC;AAEtH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAwD,CAAC;AAE3F,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEtC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACxE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAChF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
|
package/dist/schema.js
CHANGED
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { hostValueSchema, secretValueSchema } from "./placeholders.js";
|
|
3
|
-
|
|
3
|
+
// Preserve the Zod 3 contract, where .int() accepted finite integers outside
|
|
4
|
+
// Number's safe-integer range as well.
|
|
5
|
+
const integerSchema = () => z.number().multipleOf(1);
|
|
6
|
+
const positiveInt = integerSchema().positive();
|
|
4
7
|
const sqlDirSchema = z.string().min(1).optional();
|
|
5
8
|
const sslModeSchema = z.union([
|
|
6
9
|
z.boolean(),
|
|
7
|
-
z
|
|
10
|
+
z
|
|
11
|
+
.object({
|
|
8
12
|
rejectUnauthorized: z.boolean().default(true),
|
|
9
13
|
ca: z.string().optional(),
|
|
10
14
|
cert: z.string().optional(),
|
|
11
15
|
key: z.string().optional(),
|
|
12
16
|
servername: z.string().optional(),
|
|
13
|
-
})
|
|
17
|
+
})
|
|
18
|
+
.strict(),
|
|
14
19
|
]);
|
|
15
|
-
export const postgresDatabaseSchema = z
|
|
20
|
+
export const postgresDatabaseSchema = z
|
|
21
|
+
.object({
|
|
16
22
|
dialect: z.literal("pg"),
|
|
17
23
|
host: hostValueSchema,
|
|
18
24
|
port: positiveInt.default(5432),
|
|
@@ -23,21 +29,25 @@ export const postgresDatabaseSchema = z.object({
|
|
|
23
29
|
ssl: sslModeSchema.optional(),
|
|
24
30
|
sqlDir: sqlDirSchema,
|
|
25
31
|
applicationName: z.string().min(1).optional(),
|
|
26
|
-
statementTimeoutMs:
|
|
27
|
-
connectionTimeoutMs:
|
|
28
|
-
idleTimeoutMs:
|
|
32
|
+
statementTimeoutMs: integerSchema().nonnegative().optional(),
|
|
33
|
+
connectionTimeoutMs: integerSchema().nonnegative().optional(),
|
|
34
|
+
idleTimeoutMs: integerSchema().nonnegative().optional(),
|
|
29
35
|
maxPoolSize: positiveInt.optional(),
|
|
30
|
-
minPoolSize:
|
|
31
|
-
})
|
|
32
|
-
|
|
36
|
+
minPoolSize: integerSchema().nonnegative().optional(),
|
|
37
|
+
})
|
|
38
|
+
.strict();
|
|
39
|
+
export const sqliteDatabaseSchema = z
|
|
40
|
+
.object({
|
|
33
41
|
dialect: z.literal("sqlite"),
|
|
34
42
|
filename: z.string().min(1),
|
|
35
43
|
sqlDir: sqlDirSchema,
|
|
36
44
|
readonly: z.boolean().optional(),
|
|
37
45
|
fileMustExist: z.boolean().optional(),
|
|
38
|
-
timeoutMs:
|
|
39
|
-
})
|
|
40
|
-
|
|
46
|
+
timeoutMs: integerSchema().nonnegative().optional(),
|
|
47
|
+
})
|
|
48
|
+
.strict();
|
|
49
|
+
const oracleDatabaseBaseSchema = z
|
|
50
|
+
.object({
|
|
41
51
|
dialect: z.literal("oracle"),
|
|
42
52
|
user: z.string().min(1),
|
|
43
53
|
password: secretValueSchema.optional(),
|
|
@@ -48,11 +58,12 @@ const oracleDatabaseBaseSchema = z.object({
|
|
|
48
58
|
serviceName: z.string().min(1).optional(),
|
|
49
59
|
sid: z.string().min(1).optional(),
|
|
50
60
|
sqlDir: sqlDirSchema,
|
|
51
|
-
poolMin:
|
|
61
|
+
poolMin: integerSchema().nonnegative().optional(),
|
|
52
62
|
poolMax: positiveInt.optional(),
|
|
53
63
|
poolIncrement: positiveInt.optional(),
|
|
54
64
|
stmtCacheSize: positiveInt.optional(),
|
|
55
|
-
})
|
|
65
|
+
})
|
|
66
|
+
.strict();
|
|
56
67
|
export const oracleDatabaseSchema = oracleDatabaseBaseSchema.superRefine((value, ctx) => {
|
|
57
68
|
if (!value.connectString && !value.host) {
|
|
58
69
|
ctx.addIssue({
|
|
@@ -69,11 +80,7 @@ export const oracleDatabaseSchema = oracleDatabaseBaseSchema.superRefine((value,
|
|
|
69
80
|
});
|
|
70
81
|
}
|
|
71
82
|
});
|
|
72
|
-
export const databaseConnectionSchema = z.union([
|
|
73
|
-
postgresDatabaseSchema,
|
|
74
|
-
sqliteDatabaseSchema,
|
|
75
|
-
oracleDatabaseSchema,
|
|
76
|
-
]);
|
|
83
|
+
export const databaseConnectionSchema = z.union([postgresDatabaseSchema, sqliteDatabaseSchema, oracleDatabaseSchema]);
|
|
77
84
|
export const databasesConfigSchema = z.record(z.string().min(1), databaseConnectionSchema);
|
|
78
85
|
export const databaseProjectExtrasSchema = z.object({
|
|
79
86
|
databases: databasesConfigSchema,
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from \"zod\";\n\nimport { hostValueSchema, secretValueSchema } from \"./placeholders.js\";\n\n// Preserve the Zod 3 contract, where .int() accepted finite integers outside\n// Number's safe-integer range as well.\nconst integerSchema = () => z.number().multipleOf(1);\nconst positiveInt = integerSchema().positive();\nconst sqlDirSchema = z.string().min(1).optional();\n\nconst sslModeSchema = z.union([\n z.boolean(),\n z\n .object({\n rejectUnauthorized: z.boolean().default(true),\n ca: z.string().optional(),\n cert: z.string().optional(),\n key: z.string().optional(),\n servername: z.string().optional(),\n })\n .strict(),\n]);\n\nexport const postgresDatabaseSchema = z\n .object({\n dialect: z.literal(\"pg\"),\n host: hostValueSchema,\n port: positiveInt.default(5432),\n database: z.string().min(1),\n user: z.string().min(1),\n password: secretValueSchema.optional(),\n usePool: z.boolean().default(true),\n ssl: sslModeSchema.optional(),\n sqlDir: sqlDirSchema,\n applicationName: z.string().min(1).optional(),\n statementTimeoutMs: integerSchema().nonnegative().optional(),\n connectionTimeoutMs: integerSchema().nonnegative().optional(),\n idleTimeoutMs: integerSchema().nonnegative().optional(),\n maxPoolSize: positiveInt.optional(),\n minPoolSize: integerSchema().nonnegative().optional(),\n })\n .strict();\n\nexport const sqliteDatabaseSchema = z\n .object({\n dialect: z.literal(\"sqlite\"),\n filename: z.string().min(1),\n sqlDir: sqlDirSchema,\n readonly: z.boolean().optional(),\n fileMustExist: z.boolean().optional(),\n timeoutMs: integerSchema().nonnegative().optional(),\n })\n .strict();\n\nconst oracleDatabaseBaseSchema = z\n .object({\n dialect: z.literal(\"oracle\"),\n user: z.string().min(1),\n password: secretValueSchema.optional(),\n usePool: z.boolean().default(true),\n connectString: z.string().min(1).optional(),\n host: hostValueSchema.optional(),\n port: positiveInt.default(1521),\n serviceName: z.string().min(1).optional(),\n sid: z.string().min(1).optional(),\n sqlDir: sqlDirSchema,\n poolMin: integerSchema().nonnegative().optional(),\n poolMax: positiveInt.optional(),\n poolIncrement: positiveInt.optional(),\n stmtCacheSize: positiveInt.optional(),\n })\n .strict();\n\nexport const oracleDatabaseSchema = oracleDatabaseBaseSchema.superRefine((value: z.infer<typeof oracleDatabaseBaseSchema>, ctx) => {\n if (!value.connectString && !value.host) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"oracle connection requires either connectString or host\",\n path: [\"connectString\"],\n });\n }\n\n if (!value.connectString && !value.serviceName && !value.sid) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"oracle connection requires serviceName or sid when connectString is omitted\",\n path: [\"serviceName\"],\n });\n }\n});\n\nexport const databaseConnectionSchema = z.union([postgresDatabaseSchema, sqliteDatabaseSchema, oracleDatabaseSchema]);\n\nexport const databasesConfigSchema = z.record(z.string().min(1), databaseConnectionSchema);\n\nexport const databaseProjectExtrasSchema = z.object({\n databases: databasesConfigSchema,\n});\n\nexport type PostgresDatabaseConfig = z.infer<typeof postgresDatabaseSchema>;\nexport type SqliteDatabaseConfig = z.infer<typeof sqliteDatabaseSchema>;\nexport type OracleDatabaseConfig = z.infer<typeof oracleDatabaseSchema>;\nexport type DatabaseConnectionConfig = z.infer<typeof databaseConnectionSchema>;\nexport type DatabasesConfig = z.infer<typeof databasesConfigSchema>;\nexport type DatabaseProjectExtras = z.infer<typeof databaseProjectExtrasSchema>;\n"]}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uns-kit/database",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.7",
|
|
4
4
|
"description": "Database helpers for UNS services with config-driven connections, SQL file loading, and portable named-parameter compilation.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "Kristjan Cuznar <kristjancuznar0@gmail.com>",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "https://github.com/uns-
|
|
10
|
+
"url": "https://github.com/uns-openhub/uns-kit.git",
|
|
11
11
|
"directory": "packages/uns-database"
|
|
12
12
|
},
|
|
13
13
|
"keywords": [
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"main": "dist/index.js",
|
|
32
32
|
"types": "dist/index.d.ts",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"zod": "^3",
|
|
35
|
-
"@uns-kit/core": "3.0.
|
|
34
|
+
"zod": "^4.4.3",
|
|
35
|
+
"@uns-kit/core": "3.0.7"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
38
|
"better-sqlite3": "^11.0.0",
|