@romaintaillandier1978/dotenv-never-lies 1.1.1 → 1.3.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/README.md +103 -42
- package/dist/cli/commands/assert.d.ts +3 -4
- package/dist/cli/commands/assert.d.ts.map +1 -1
- package/dist/cli/commands/explain.d.ts +2 -3
- package/dist/cli/commands/explain.d.ts.map +1 -1
- package/dist/cli/commands/export.d.ts +4 -3
- package/dist/cli/commands/export.d.ts.map +1 -1
- package/dist/cli/commands/export.js +46 -0
- package/dist/cli/commands/generate.d.ts +2 -2
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/infer.d.ts +15 -0
- package/dist/cli/commands/infer.d.ts.map +1 -0
- package/dist/cli/commands/infer.js +86 -0
- package/dist/cli/commands/init.d.ts +15 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +30 -0
- package/dist/cli/commands/program.d.ts +4 -0
- package/dist/cli/commands/program.d.ts.map +1 -0
- package/dist/cli/commands/program.js +1 -0
- package/dist/cli/index.js +74 -30
- package/dist/cli/utils/infer-schema.d.ts +2 -2
- package/dist/cli/utils/infer-schema.d.ts.map +1 -1
- package/dist/cli/utils/infer-schema.js +20 -22
- package/dist/cli/utils/printer.d.ts +2 -0
- package/dist/cli/utils/printer.d.ts.map +1 -1
- package/dist/cli/utils/printer.js +104 -1
- package/dist/core.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/infer/__tests__/port-vs-version.test.d.ts +2 -0
- package/dist/infer/__tests__/port-vs-version.test.d.ts.map +1 -0
- package/dist/infer/__tests__/port-vs-version.test.js +32 -0
- package/dist/infer/__tests__/rules/basic.test.d.ts +2 -0
- package/dist/infer/__tests__/rules/basic.test.d.ts.map +1 -0
- package/dist/infer/__tests__/rules/basic.test.js +85 -0
- package/dist/infer/__tests__/rules/boolean.test.d.ts +2 -0
- package/dist/infer/__tests__/rules/boolean.test.d.ts.map +1 -0
- package/dist/infer/__tests__/rules/boolean.test.js +34 -0
- package/dist/infer/__tests__/rules/duration.test.d.ts +2 -0
- package/dist/infer/__tests__/rules/duration.test.d.ts.map +1 -0
- package/dist/infer/__tests__/rules/duration.test.js +24 -0
- package/dist/infer/__tests__/rules/ip.test.d.ts +2 -0
- package/dist/infer/__tests__/rules/ip.test.d.ts.map +1 -0
- package/dist/infer/__tests__/rules/ip.test.js +24 -0
- package/dist/infer/__tests__/rules/json.test.d.ts +2 -0
- package/dist/infer/__tests__/rules/json.test.d.ts.map +1 -0
- package/dist/infer/__tests__/rules/json.test.js +38 -0
- package/dist/infer/__tests__/rules/list.test.d.ts +2 -0
- package/dist/infer/__tests__/rules/list.test.d.ts.map +1 -0
- package/dist/infer/__tests__/rules/list.test.js +130 -0
- package/dist/infer/__tests__/rules/port.test.d.ts +2 -0
- package/dist/infer/__tests__/rules/port.test.d.ts.map +1 -0
- package/dist/infer/__tests__/rules/port.test.js +24 -0
- package/dist/infer/__tests__/rules/url.test.d.ts +2 -0
- package/dist/infer/__tests__/rules/url.test.d.ts.map +1 -0
- package/dist/infer/__tests__/rules/url.test.js +39 -0
- package/dist/infer/__tests__/rules/version.test.d.ts +2 -0
- package/dist/infer/__tests__/rules/version.test.d.ts.map +1 -0
- package/dist/infer/__tests__/rules/version.test.js +37 -0
- package/dist/infer/generated/basic.d.ts +8 -0
- package/dist/infer/generated/basic.d.ts.map +1 -0
- package/dist/infer/generated/basic.js +24 -0
- package/dist/infer/generated/boolean.d.ts +3 -0
- package/dist/infer/generated/boolean.d.ts.map +1 -0
- package/dist/infer/generated/boolean.js +9 -0
- package/dist/infer/generated/duration.d.ts +3 -0
- package/dist/infer/generated/duration.d.ts.map +1 -0
- package/dist/infer/generated/duration.js +9 -0
- package/dist/infer/generated/ip.d.ts +3 -0
- package/dist/infer/generated/ip.d.ts.map +1 -0
- package/dist/infer/generated/ip.js +9 -0
- package/dist/infer/generated/json.d.ts +4 -0
- package/dist/infer/generated/json.d.ts.map +1 -0
- package/dist/infer/generated/json.js +10 -0
- package/dist/infer/generated/list.d.ts +8 -0
- package/dist/infer/generated/list.d.ts.map +1 -0
- package/dist/infer/generated/list.js +49 -0
- package/dist/infer/generated/port.d.ts +4 -0
- package/dist/infer/generated/port.d.ts.map +1 -0
- package/dist/infer/generated/port.js +10 -0
- package/dist/infer/generated/url.d.ts +14 -0
- package/dist/infer/generated/url.d.ts.map +1 -0
- package/dist/infer/generated/url.js +30 -0
- package/dist/infer/generated/version.d.ts +4 -0
- package/dist/infer/generated/version.d.ts.map +1 -0
- package/dist/infer/generated/version.js +10 -0
- package/dist/infer/helpers.d.ts +11 -0
- package/dist/infer/helpers.d.ts.map +1 -0
- package/dist/infer/helpers.js +41 -0
- package/dist/infer/index.d.ts +4 -0
- package/dist/infer/index.d.ts.map +1 -0
- package/dist/infer/index.js +35 -0
- package/dist/infer/rules/basic.d.ts +11 -0
- package/dist/infer/rules/basic.d.ts.map +1 -0
- package/dist/infer/rules/basic.js +90 -0
- package/dist/infer/rules/boolean.d.ts +3 -0
- package/dist/infer/rules/boolean.d.ts.map +1 -0
- package/dist/infer/rules/boolean.js +25 -0
- package/dist/infer/rules/duration.d.ts +3 -0
- package/dist/infer/rules/duration.d.ts.map +1 -0
- package/dist/infer/rules/duration.js +25 -0
- package/dist/infer/rules/ip.d.ts +3 -0
- package/dist/infer/rules/ip.d.ts.map +1 -0
- package/dist/infer/rules/ip.js +25 -0
- package/dist/infer/rules/json.d.ts +3 -0
- package/dist/infer/rules/json.d.ts.map +1 -0
- package/dist/infer/rules/json.js +59 -0
- package/dist/infer/rules/list.d.ts +12 -0
- package/dist/infer/rules/list.d.ts.map +1 -0
- package/dist/infer/rules/list.js +221 -0
- package/dist/infer/rules/port.d.ts +3 -0
- package/dist/infer/rules/port.d.ts.map +1 -0
- package/dist/infer/rules/port.js +30 -0
- package/dist/infer/rules/url.d.ts +4 -0
- package/dist/infer/rules/url.d.ts.map +1 -0
- package/dist/infer/rules/url.js +143 -0
- package/dist/infer/rules/version.d.ts +3 -0
- package/dist/infer/rules/version.d.ts.map +1 -0
- package/dist/infer/rules/version.js +26 -0
- package/dist/infer/types.d.ts +87 -0
- package/dist/infer/types.d.ts.map +1 -0
- package/dist/infer/types.js +1 -0
- package/dist/infer-rules/basic.d.ts +5 -0
- package/dist/infer-rules/basic.d.ts.map +1 -0
- package/dist/infer-rules/basic.js +48 -0
- package/dist/infer-rules/boolean.d.ts +3 -0
- package/dist/infer-rules/boolean.d.ts.map +1 -0
- package/dist/infer-rules/boolean.js +25 -0
- package/dist/infer-rules/dotted.d.ts +4 -0
- package/dist/infer-rules/dotted.d.ts.map +1 -0
- package/dist/infer-rules/dotted.js +48 -0
- package/dist/infer-rules/duration.d.ts +3 -0
- package/dist/infer-rules/duration.d.ts.map +1 -0
- package/dist/infer-rules/duration.js +25 -0
- package/dist/infer-rules/index.d.ts +50 -0
- package/dist/infer-rules/index.d.ts.map +1 -0
- package/dist/infer-rules/index.js +42 -0
- package/dist/infer-rules/json.d.ts +3 -0
- package/dist/infer-rules/json.d.ts.map +1 -0
- package/dist/infer-rules/json.js +50 -0
- package/dist/infer-rules/list.d.ts +5 -0
- package/dist/infer-rules/list.d.ts.map +1 -0
- package/dist/infer-rules/list.js +200 -0
- package/dist/infer-rules/path.d.ts +5 -0
- package/dist/infer-rules/path.d.ts.map +1 -0
- package/dist/infer-rules/path.js +78 -0
- package/dist/infer-rules/port.d.ts +3 -0
- package/dist/infer-rules/port.d.ts.map +1 -0
- package/dist/infer-rules/port.js +26 -0
- package/dist/infer-rules/simple.d.ts +3 -0
- package/dist/infer-rules/simple.d.ts.map +1 -0
- package/dist/infer-rules/simple.js +37 -0
- package/dist/infer-rules/url.d.ts +4 -0
- package/dist/infer-rules/url.d.ts.map +1 -0
- package/dist/infer-rules/url.js +149 -0
- package/dist/llm-kit/context.json.d.ts +2 -0
- package/dist/llm-kit/context.json.d.ts.map +1 -0
- package/dist/llm-kit/context.json.js +22 -0
- package/dist/sample/DNLTest.d.ts +2 -0
- package/dist/sample/DNLTest.d.ts.map +1 -0
- package/dist/sample/DNLTest.js +4 -0
- package/dist/sample/debug.d.ts +2 -0
- package/dist/sample/debug.d.ts.map +1 -0
- package/dist/sample/debug.js +5 -0
- package/dist/sample/env.dnl.d.ts +426 -0
- package/dist/sample/env.dnl.d.ts.map +1 -0
- package/dist/sample/env.dnl.js +429 -0
- package/dist/schemas/bool.d.ts +9 -0
- package/dist/schemas/bool.d.ts.map +1 -0
- package/dist/schemas/bool.js +22 -0
- package/dist/schemas/boolean.d.ts +9 -0
- package/dist/schemas/boolean.d.ts.map +1 -0
- package/dist/schemas/boolean.js +23 -0
- package/dist/schemas/dotted.d.ts +21 -0
- package/dist/schemas/dotted.d.ts.map +1 -0
- package/dist/schemas/dotted.js +45 -0
- package/dist/schemas/duration.d.ts +11 -0
- package/dist/schemas/duration.d.ts.map +1 -0
- package/dist/schemas/duration.js +44 -0
- package/dist/schemas/index.d.ts +9 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +8 -0
- package/dist/schemas/ip-and-version.d.ts +12 -0
- package/dist/schemas/ip-and-version.d.ts.map +1 -0
- package/dist/schemas/ip-and-version.js +35 -0
- package/dist/schemas/ip.d.ts +11 -0
- package/dist/schemas/ip.d.ts.map +1 -0
- package/dist/schemas/ip.js +33 -0
- package/dist/schemas/json.d.ts +15 -0
- package/dist/schemas/json.d.ts.map +1 -0
- package/dist/schemas/json.js +34 -0
- package/dist/schemas/list.d.ts +89 -0
- package/dist/schemas/list.d.ts.map +1 -0
- package/dist/schemas/list.js +139 -0
- package/dist/schemas/path.d.ts +23 -0
- package/dist/schemas/path.d.ts.map +1 -0
- package/dist/schemas/path.js +33 -0
- package/dist/schemas/port.d.ts +8 -0
- package/dist/schemas/port.d.ts.map +1 -0
- package/dist/schemas/port.js +9 -0
- package/dist/schemas/urls.d.ts +15 -0
- package/dist/schemas/urls.d.ts.map +1 -0
- package/dist/schemas/urls.js +54 -0
- package/package.json +11 -6
- package/dist/DnlTest.d.ts +0 -2
- package/dist/DnlTest.d.ts.map +0 -1
- package/dist/DnlTest.js +0 -12
- package/dist/cli/utils/exitCodes.d.ts +0 -8
- package/dist/cli/utils/exitCodes.d.ts.map +0 -1
- package/dist/cli/utils/exitCodes.js +0 -8
- package/dist/romaintaillandier1978-dotenv-never-lies-0.3.0.tgz +0 -0
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
// ⚠️ This file was generated by dotenv-never-lies
|
|
2
|
+
// Review and adjust schemas, descriptions and secrets before using
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import { define, urlListSchema } from "@romaintaillandier1978/dotenv-never-lies";
|
|
5
|
+
import { boolSchema, databaseUrlSchema, httpUrlSchema, listSchema, portSchema, versionSchema, } from "@romaintaillandier1978/dotenv-never-lies";
|
|
6
|
+
export default define({
|
|
7
|
+
NODE_ENV: {
|
|
8
|
+
description: "TODO",
|
|
9
|
+
schema: z.string(),
|
|
10
|
+
},
|
|
11
|
+
NODE_PORT: {
|
|
12
|
+
description: "TODO",
|
|
13
|
+
schema: portSchema("NODE_PORT"),
|
|
14
|
+
},
|
|
15
|
+
MY_PUBLIC_URL: {
|
|
16
|
+
description: "TODO",
|
|
17
|
+
schema: httpUrlSchema("MY_PUBLIC_URL"),
|
|
18
|
+
},
|
|
19
|
+
JWT_SECRET: {
|
|
20
|
+
description: "TODO",
|
|
21
|
+
schema: z.string(),
|
|
22
|
+
secret: true, // ⚠️ inferred as secret
|
|
23
|
+
},
|
|
24
|
+
ACCESS_TOKEN_EXPIRATION: {
|
|
25
|
+
description: "TODO",
|
|
26
|
+
schema: z.coerce.number(),
|
|
27
|
+
secret: true, // ⚠️ inferred as secret
|
|
28
|
+
},
|
|
29
|
+
FRONT_INSCRIPTION: {
|
|
30
|
+
description: "TODO",
|
|
31
|
+
schema: httpUrlSchema("FRONT_INSCRIPTION"),
|
|
32
|
+
},
|
|
33
|
+
FRONT_INSCRIPTION_PRO: {
|
|
34
|
+
description: "TODO",
|
|
35
|
+
schema: httpUrlSchema("FRONT_INSCRIPTION_PRO"),
|
|
36
|
+
},
|
|
37
|
+
FRONT_SIMULATOR: {
|
|
38
|
+
description: "TODO",
|
|
39
|
+
schema: httpUrlSchema("FRONT_SIMULATOR"),
|
|
40
|
+
},
|
|
41
|
+
FRONT_SIMULATOR_RES: {
|
|
42
|
+
description: "TODO",
|
|
43
|
+
schema: httpUrlSchema("FRONT_SIMULATOR_RES"),
|
|
44
|
+
},
|
|
45
|
+
FRONT_SIMULATOR_RES_THERMIQUE: {
|
|
46
|
+
description: "TODO",
|
|
47
|
+
schema: httpUrlSchema("FRONT_SIMULATOR_RES_THERMIQUE"),
|
|
48
|
+
},
|
|
49
|
+
FRONT_SIMULATOR_PRO: {
|
|
50
|
+
description: "TODO",
|
|
51
|
+
schema: httpUrlSchema("FRONT_SIMULATOR_PRO"),
|
|
52
|
+
},
|
|
53
|
+
FRONT_BO: {
|
|
54
|
+
description: "TODO",
|
|
55
|
+
schema: httpUrlSchema("FRONT_BO"),
|
|
56
|
+
},
|
|
57
|
+
LOCAL_PORTS: {
|
|
58
|
+
description: "TODO",
|
|
59
|
+
schema: z.string(),
|
|
60
|
+
},
|
|
61
|
+
NODE_CORS_ORIGIN: {
|
|
62
|
+
description: "TODO",
|
|
63
|
+
schema: urlListSchema("NODE_CORS_ORIGIN", { splitter: ";" }),
|
|
64
|
+
},
|
|
65
|
+
NODE_SESSION_SECRET: {
|
|
66
|
+
description: "TODO",
|
|
67
|
+
schema: z.string(),
|
|
68
|
+
secret: true, // ⚠️ inferred as secret
|
|
69
|
+
},
|
|
70
|
+
NODE_SESSION_NAME: {
|
|
71
|
+
description: "TODO",
|
|
72
|
+
schema: z.string(),
|
|
73
|
+
},
|
|
74
|
+
SUPER_ADMIN_LOGIN: {
|
|
75
|
+
description: "TODO",
|
|
76
|
+
schema: z.email(),
|
|
77
|
+
},
|
|
78
|
+
SUPER_ADMIN_PASSWORD: {
|
|
79
|
+
description: "TODO",
|
|
80
|
+
schema: z.string(),
|
|
81
|
+
secret: true, // ⚠️ inferred as secret
|
|
82
|
+
},
|
|
83
|
+
ADMIN_MAILS: {
|
|
84
|
+
description: "TODO",
|
|
85
|
+
schema: z.email(),
|
|
86
|
+
},
|
|
87
|
+
ADMIN_PASSWORDS: {
|
|
88
|
+
description: "TODO",
|
|
89
|
+
schema: z.string(),
|
|
90
|
+
},
|
|
91
|
+
POSTGRES_DB: {
|
|
92
|
+
description: "TODO",
|
|
93
|
+
schema: z.string(),
|
|
94
|
+
},
|
|
95
|
+
POSTGRES_PASSWORD: {
|
|
96
|
+
description: "TODO",
|
|
97
|
+
schema: z.string(),
|
|
98
|
+
secret: true, // ⚠️ inferred as secret
|
|
99
|
+
},
|
|
100
|
+
POSTGRES_USER: {
|
|
101
|
+
description: "TODO",
|
|
102
|
+
schema: z.string(),
|
|
103
|
+
},
|
|
104
|
+
POSTGRES_PORT: {
|
|
105
|
+
description: "TODO",
|
|
106
|
+
schema: portSchema("POSTGRES_PORT"),
|
|
107
|
+
},
|
|
108
|
+
DATABASE_URL: {
|
|
109
|
+
description: "TODO",
|
|
110
|
+
schema: databaseUrlSchema("DATABASE_URL"),
|
|
111
|
+
},
|
|
112
|
+
APP_TITLE: {
|
|
113
|
+
description: "TODO",
|
|
114
|
+
schema: z.string(),
|
|
115
|
+
},
|
|
116
|
+
API_TITLE: {
|
|
117
|
+
description: "TODO",
|
|
118
|
+
schema: z.string(),
|
|
119
|
+
},
|
|
120
|
+
API_VERSION: {
|
|
121
|
+
description: "TODO",
|
|
122
|
+
schema: versionSchema("API_VERSION"),
|
|
123
|
+
},
|
|
124
|
+
API_EXTERNAL_SITE: {
|
|
125
|
+
description: "TODO",
|
|
126
|
+
schema: z.url(),
|
|
127
|
+
},
|
|
128
|
+
ICOLL_BASE_URL: {
|
|
129
|
+
description: "TODO",
|
|
130
|
+
schema: httpUrlSchema("ICOLL_BASE_URL"),
|
|
131
|
+
},
|
|
132
|
+
ICOLL_USER_NAME: {
|
|
133
|
+
description: "TODO",
|
|
134
|
+
schema: z.string(),
|
|
135
|
+
},
|
|
136
|
+
ICOLL_PASSWORD: {
|
|
137
|
+
description: "TODO",
|
|
138
|
+
schema: z.string(),
|
|
139
|
+
secret: true, // ⚠️ inferred as secret
|
|
140
|
+
},
|
|
141
|
+
ICOLL_API_KEY: {
|
|
142
|
+
description: "TODO",
|
|
143
|
+
schema: z.string(),
|
|
144
|
+
secret: true, // ⚠️ inferred as secret
|
|
145
|
+
},
|
|
146
|
+
ICOLL_SOCIETE_ID_HEADER: {
|
|
147
|
+
description: "TODO",
|
|
148
|
+
schema: portSchema("ICOLL_SOCIETE_ID_HEADER"),
|
|
149
|
+
},
|
|
150
|
+
ICOLL_FILIALE_ID: {
|
|
151
|
+
description: "TODO",
|
|
152
|
+
schema: portSchema("ICOLL_FILIALE_ID"),
|
|
153
|
+
},
|
|
154
|
+
ICOLL_USER_ID: {
|
|
155
|
+
description: "TODO",
|
|
156
|
+
schema: portSchema("ICOLL_USER_ID"),
|
|
157
|
+
},
|
|
158
|
+
ICOLL_PREVISIT_TECH_ID: {
|
|
159
|
+
description: "TODO",
|
|
160
|
+
schema: portSchema("ICOLL_PREVISIT_TECH_ID"),
|
|
161
|
+
},
|
|
162
|
+
ICOLL_INSTALLATION_TECH_ID: {
|
|
163
|
+
description: "TODO",
|
|
164
|
+
schema: portSchema("ICOLL_INSTALLATION_TECH_ID"),
|
|
165
|
+
},
|
|
166
|
+
NAGIOS_AGENT_CODE: {
|
|
167
|
+
description: "TODO",
|
|
168
|
+
schema: z.string(),
|
|
169
|
+
},
|
|
170
|
+
NAGIOS_AGENT_CODE_PASSWORD: {
|
|
171
|
+
description: "TODO",
|
|
172
|
+
schema: z.string(),
|
|
173
|
+
secret: true, // ⚠️ inferred as secret
|
|
174
|
+
},
|
|
175
|
+
SMTP_URL: {
|
|
176
|
+
description: "TODO",
|
|
177
|
+
schema: z.string(),
|
|
178
|
+
},
|
|
179
|
+
SMTP_PORT: {
|
|
180
|
+
description: "TODO",
|
|
181
|
+
schema: portSchema("SMTP_PORT"),
|
|
182
|
+
},
|
|
183
|
+
SENDER: {
|
|
184
|
+
description: "TODO",
|
|
185
|
+
schema: z.email(),
|
|
186
|
+
},
|
|
187
|
+
SENDINBLUE_LOGIN: {
|
|
188
|
+
description: "TODO",
|
|
189
|
+
schema: z.email(),
|
|
190
|
+
},
|
|
191
|
+
SENDINBLUE_PASSWORD: {
|
|
192
|
+
description: "TODO",
|
|
193
|
+
schema: z.string(),
|
|
194
|
+
secret: true, // ⚠️ inferred as secret
|
|
195
|
+
},
|
|
196
|
+
FAKE_RECIPIENT: {
|
|
197
|
+
description: "TODO",
|
|
198
|
+
schema: z.email(),
|
|
199
|
+
},
|
|
200
|
+
ALL_TEST_RECIPIENT_BCC: {
|
|
201
|
+
description: "TODO",
|
|
202
|
+
// ⚠️ Inferred list was detected as containing only empty values, consider completing the 'of' parameter of the listSchema
|
|
203
|
+
schema: listSchema("ALL_TEST_RECIPIENT_BCC"),
|
|
204
|
+
},
|
|
205
|
+
SOGYS_RECIPIENT: {
|
|
206
|
+
description: "TODO",
|
|
207
|
+
schema: z.email(),
|
|
208
|
+
},
|
|
209
|
+
MMA_RECIPIENT: {
|
|
210
|
+
description: "TODO",
|
|
211
|
+
schema: z.email(),
|
|
212
|
+
},
|
|
213
|
+
MMA_RECIPIENT_BCC: {
|
|
214
|
+
description: "TODO",
|
|
215
|
+
schema: z.email(),
|
|
216
|
+
},
|
|
217
|
+
RENO_GLOBALE_RECIPIENT_AGENT: {
|
|
218
|
+
description: "TODO",
|
|
219
|
+
schema: z.email(),
|
|
220
|
+
},
|
|
221
|
+
LINK_BO_FORGOT: {
|
|
222
|
+
description: "TODO",
|
|
223
|
+
schema: httpUrlSchema("LINK_BO_FORGOT"),
|
|
224
|
+
},
|
|
225
|
+
EATTESTATION_API_URL: {
|
|
226
|
+
description: "TODO",
|
|
227
|
+
schema: httpUrlSchema("EATTESTATION_API_URL"),
|
|
228
|
+
},
|
|
229
|
+
EATTESTATION_EDGE_URL: {
|
|
230
|
+
description: "TODO",
|
|
231
|
+
schema: httpUrlSchema("EATTESTATION_EDGE_URL"),
|
|
232
|
+
},
|
|
233
|
+
EATTESTATION_AUTH_KEYCLOACK: {
|
|
234
|
+
description: "TODO",
|
|
235
|
+
schema: httpUrlSchema("EATTESTATION_AUTH_KEYCLOACK"),
|
|
236
|
+
secret: true, // ⚠️ inferred as secret
|
|
237
|
+
},
|
|
238
|
+
EATTESTATION_AUTH_URL: {
|
|
239
|
+
description: "TODO",
|
|
240
|
+
schema: httpUrlSchema("EATTESTATION_AUTH_URL"),
|
|
241
|
+
secret: true, // ⚠️ inferred as secret
|
|
242
|
+
},
|
|
243
|
+
EATTESTATION_IDENTIFIER: {
|
|
244
|
+
description: "TODO",
|
|
245
|
+
schema: z.string(),
|
|
246
|
+
},
|
|
247
|
+
EATTESTATION_PASSWORD: {
|
|
248
|
+
description: "TODO",
|
|
249
|
+
schema: z.string(),
|
|
250
|
+
secret: true, // ⚠️ inferred as secret
|
|
251
|
+
},
|
|
252
|
+
EATTESTATION_ACCOUNT_ID: {
|
|
253
|
+
description: "TODO",
|
|
254
|
+
schema: z.coerce.number(),
|
|
255
|
+
},
|
|
256
|
+
EATTESTATION_ENABLE_CRON_DOSIER_STATUS: {
|
|
257
|
+
description: "TODO",
|
|
258
|
+
schema: boolSchema("EATTESTATION_ENABLE_CRON_DOSIER_STATUS"),
|
|
259
|
+
},
|
|
260
|
+
NETHEOS_URL: {
|
|
261
|
+
description: "TODO",
|
|
262
|
+
schema: httpUrlSchema("NETHEOS_URL"),
|
|
263
|
+
},
|
|
264
|
+
NETHEOS_BO_LOGIN: {
|
|
265
|
+
description: "TODO",
|
|
266
|
+
schema: z.email(),
|
|
267
|
+
},
|
|
268
|
+
NETHEOS_BO_PASSWORD: {
|
|
269
|
+
description: "TODO",
|
|
270
|
+
schema: z.string(),
|
|
271
|
+
secret: true, // ⚠️ inferred as secret
|
|
272
|
+
},
|
|
273
|
+
NETHEOS_API_PRODUCT_BON_DE_COMMANDE: {
|
|
274
|
+
description: "TODO",
|
|
275
|
+
schema: z.string(),
|
|
276
|
+
},
|
|
277
|
+
NETHEOS_API_SECRET_BON_DE_COMMANDE: {
|
|
278
|
+
description: "TODO",
|
|
279
|
+
schema: z.string(),
|
|
280
|
+
secret: true, // ⚠️ inferred as secret
|
|
281
|
+
},
|
|
282
|
+
NETHEOS_API_PRODUCT_AUDIT: {
|
|
283
|
+
description: "TODO",
|
|
284
|
+
schema: z.string(),
|
|
285
|
+
},
|
|
286
|
+
NETHEOS_API_SECRET_AUDIT: {
|
|
287
|
+
description: "TODO",
|
|
288
|
+
schema: z.string(),
|
|
289
|
+
secret: true, // ⚠️ inferred as secret
|
|
290
|
+
},
|
|
291
|
+
PAPPERS_API: {
|
|
292
|
+
description: "TODO",
|
|
293
|
+
schema: httpUrlSchema("PAPPERS_API"),
|
|
294
|
+
},
|
|
295
|
+
PAPPERS_SUGGESTIONS_API: {
|
|
296
|
+
description: "TODO",
|
|
297
|
+
schema: httpUrlSchema("PAPPERS_SUGGESTIONS_API"),
|
|
298
|
+
},
|
|
299
|
+
PAPPERS_TOKEN: {
|
|
300
|
+
description: "TODO",
|
|
301
|
+
schema: z.string(),
|
|
302
|
+
secret: true, // ⚠️ inferred as secret
|
|
303
|
+
},
|
|
304
|
+
ENEDIS_API: {
|
|
305
|
+
description: "TODO",
|
|
306
|
+
schema: httpUrlSchema("ENEDIS_API"),
|
|
307
|
+
},
|
|
308
|
+
ENEDIS_CLIENT_ID: {
|
|
309
|
+
description: "TODO",
|
|
310
|
+
schema: z.string(),
|
|
311
|
+
},
|
|
312
|
+
ENEDIS_SECRET: {
|
|
313
|
+
description: "TODO",
|
|
314
|
+
schema: z.string(),
|
|
315
|
+
secret: true, // ⚠️ inferred as secret
|
|
316
|
+
},
|
|
317
|
+
ENEDIS_PLATEFORME: {
|
|
318
|
+
description: "TODO",
|
|
319
|
+
schema: z.string(),
|
|
320
|
+
},
|
|
321
|
+
ENEDIS_SGE_API: {
|
|
322
|
+
description: "TODO",
|
|
323
|
+
schema: httpUrlSchema("ENEDIS_SGE_API"),
|
|
324
|
+
},
|
|
325
|
+
ENEDIS_SGE_LOGIN: {
|
|
326
|
+
description: "TODO",
|
|
327
|
+
schema: z.email(),
|
|
328
|
+
},
|
|
329
|
+
ENEDIS_SGE_CONTRACT_ID: {
|
|
330
|
+
description: "TODO",
|
|
331
|
+
schema: z.coerce.number(),
|
|
332
|
+
},
|
|
333
|
+
ENEDIS_SGE_NNI: {
|
|
334
|
+
description: "TODO",
|
|
335
|
+
schema: z.string(),
|
|
336
|
+
},
|
|
337
|
+
ENEDIS_SGE_PASSWORD: {
|
|
338
|
+
description: "TODO",
|
|
339
|
+
schema: z.string(),
|
|
340
|
+
secret: true, // ⚠️ inferred as secret
|
|
341
|
+
},
|
|
342
|
+
ENEDIS_OPENDATA_API: {
|
|
343
|
+
description: "TODO",
|
|
344
|
+
schema: httpUrlSchema("ENEDIS_OPENDATA_API"),
|
|
345
|
+
},
|
|
346
|
+
GOOGLE_STATIC_MAPS: {
|
|
347
|
+
description: "TODO",
|
|
348
|
+
schema: httpUrlSchema("GOOGLE_STATIC_MAPS"),
|
|
349
|
+
},
|
|
350
|
+
GOOGLE_API_KEY: {
|
|
351
|
+
description: "TODO",
|
|
352
|
+
schema: z.string(),
|
|
353
|
+
secret: true, // ⚠️ inferred as secret
|
|
354
|
+
},
|
|
355
|
+
FINANCO_API: {
|
|
356
|
+
description: "TODO",
|
|
357
|
+
schema: httpUrlSchema("FINANCO_API"),
|
|
358
|
+
},
|
|
359
|
+
FINANCO_API_KEY: {
|
|
360
|
+
description: "TODO",
|
|
361
|
+
schema: z.string(),
|
|
362
|
+
secret: true, // ⚠️ inferred as secret
|
|
363
|
+
},
|
|
364
|
+
FINANCO_API_KID: {
|
|
365
|
+
description: "TODO",
|
|
366
|
+
schema: z.string(),
|
|
367
|
+
},
|
|
368
|
+
FINANCO_SECRET: {
|
|
369
|
+
description: "TODO",
|
|
370
|
+
schema: z.string(),
|
|
371
|
+
secret: true, // ⚠️ inferred as secret
|
|
372
|
+
},
|
|
373
|
+
FINANCO_ADHERENT_ID: {
|
|
374
|
+
description: "TODO",
|
|
375
|
+
schema: z.coerce.number(),
|
|
376
|
+
},
|
|
377
|
+
FINANCO_ESPACE_PARTENAIRE: {
|
|
378
|
+
description: "TODO",
|
|
379
|
+
schema: httpUrlSchema("FINANCO_ESPACE_PARTENAIRE"),
|
|
380
|
+
},
|
|
381
|
+
ADDRESS_API_BASE_URL: {
|
|
382
|
+
description: "TODO",
|
|
383
|
+
schema: httpUrlSchema("ADDRESS_API_BASE_URL"),
|
|
384
|
+
},
|
|
385
|
+
CADASTRE_API_BASE_URL: {
|
|
386
|
+
description: "TODO",
|
|
387
|
+
schema: httpUrlSchema("CADASTRE_API_BASE_URL"),
|
|
388
|
+
},
|
|
389
|
+
DP_API_BASE_URL: {
|
|
390
|
+
description: "TODO",
|
|
391
|
+
schema: httpUrlSchema("DP_API_BASE_URL"),
|
|
392
|
+
},
|
|
393
|
+
DPE_API_BASE_URL: {
|
|
394
|
+
description: "TODO",
|
|
395
|
+
schema: httpUrlSchema("DPE_API_BASE_URL"),
|
|
396
|
+
},
|
|
397
|
+
IP_INFO_BASE_URL: {
|
|
398
|
+
description: "TODO",
|
|
399
|
+
schema: httpUrlSchema("IP_INFO_BASE_URL"),
|
|
400
|
+
},
|
|
401
|
+
IP_INFO_TOKEN: {
|
|
402
|
+
description: "TODO",
|
|
403
|
+
schema: z.string(),
|
|
404
|
+
secret: true, // ⚠️ inferred as secret
|
|
405
|
+
},
|
|
406
|
+
IP_INFO_LOGIN: {
|
|
407
|
+
description: "TODO",
|
|
408
|
+
schema: z.email(),
|
|
409
|
+
},
|
|
410
|
+
IP_INFO_PASSWORD: {
|
|
411
|
+
description: "TODO",
|
|
412
|
+
schema: z.string(),
|
|
413
|
+
secret: true, // ⚠️ inferred as secret
|
|
414
|
+
},
|
|
415
|
+
STRIPE_SECRET_KEY: {
|
|
416
|
+
description: "TODO",
|
|
417
|
+
schema: z.string(),
|
|
418
|
+
secret: true, // ⚠️ inferred as secret
|
|
419
|
+
},
|
|
420
|
+
STRIPE_WEBHOOK_SECRET: {
|
|
421
|
+
description: "TODO",
|
|
422
|
+
schema: z.string(),
|
|
423
|
+
secret: true, // ⚠️ inferred as secret
|
|
424
|
+
},
|
|
425
|
+
STRIPE_TAX_RATE_20_EXCL_ID: {
|
|
426
|
+
description: "TODO",
|
|
427
|
+
schema: z.string(),
|
|
428
|
+
},
|
|
429
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const looksLikeValidBoolean: (value: string) => boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Creates a Zod schema for a boolean value.
|
|
5
|
+
* @param name - The name of the boolean value.
|
|
6
|
+
* @returns A Zod schema for a boolean value.
|
|
7
|
+
*/
|
|
8
|
+
export declare const boolSchema: (name: string) => z.ZodType<boolean>;
|
|
9
|
+
//# sourceMappingURL=bool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bool.d.ts","sourceRoot":"","sources":["../../src/schemas/bool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,YAElD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAO1D,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const TRUE_VALUES = ["true", "1", "yes", "y"];
|
|
3
|
+
const FALSE_VALUES = ["false", "0", "no", "n"];
|
|
4
|
+
const LOOKS_LIKE_BOOLEAN_VALUES = [...TRUE_VALUES, ...FALSE_VALUES];
|
|
5
|
+
export const looksLikeValidBoolean = (value) => {
|
|
6
|
+
return LOOKS_LIKE_BOOLEAN_VALUES.includes(value.trim().toLowerCase());
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Creates a Zod schema for a boolean value.
|
|
10
|
+
* @param name - The name of the boolean value.
|
|
11
|
+
* @returns A Zod schema for a boolean value.
|
|
12
|
+
*/
|
|
13
|
+
export const boolSchema = (name) => {
|
|
14
|
+
return z.string().transform((v) => {
|
|
15
|
+
const normalized = v.trim().toLowerCase();
|
|
16
|
+
if (TRUE_VALUES.includes(normalized))
|
|
17
|
+
return true;
|
|
18
|
+
if (FALSE_VALUES.includes(normalized))
|
|
19
|
+
return false;
|
|
20
|
+
throw new Error(`${name} has invalid value: "${v}"`);
|
|
21
|
+
});
|
|
22
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const looksLikeValidBoolean: (value: string) => boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Creates a Zod schema for a boolean value.
|
|
5
|
+
* @param name - The name of the boolean value.
|
|
6
|
+
* @returns A Zod schema for a boolean value.
|
|
7
|
+
*/
|
|
8
|
+
export declare const boolSchema: (name: string) => z.ZodType<boolean>;
|
|
9
|
+
//# sourceMappingURL=boolean.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../src/schemas/boolean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,YAElD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAQ1D,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const TRUE_VALUES = ["true", "1", "yes", "y"];
|
|
3
|
+
const FALSE_VALUES = ["false", "0", "no", "n"];
|
|
4
|
+
const LOOKS_LIKE_BOOLEAN_VALUES = [...TRUE_VALUES, ...FALSE_VALUES];
|
|
5
|
+
export const looksLikeValidBoolean = (value) => {
|
|
6
|
+
return LOOKS_LIKE_BOOLEAN_VALUES.includes(value.trim().toLowerCase());
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Creates a Zod schema for a boolean value.
|
|
10
|
+
* @param name - The name of the boolean value.
|
|
11
|
+
* @returns A Zod schema for a boolean value.
|
|
12
|
+
*/
|
|
13
|
+
export const boolSchema = (name) => {
|
|
14
|
+
return z.string().transform((v, ctx) => {
|
|
15
|
+
const normalized = v.trim().toLowerCase();
|
|
16
|
+
if (TRUE_VALUES.includes(normalized))
|
|
17
|
+
return true;
|
|
18
|
+
if (FALSE_VALUES.includes(normalized))
|
|
19
|
+
return false;
|
|
20
|
+
ctx.addIssue({ code: "custom", message: `${name} has invalid value: "${v}"` });
|
|
21
|
+
return z.NEVER;
|
|
22
|
+
});
|
|
23
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const looksLikeIp: (value: string) => boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Creates a Zod schema for a IP address. (simple V4 address: 0.0.0.0 or V6 address: 0000:0000:0000:0000:0000:0000:0000:0000).
|
|
5
|
+
* compressed ip addresses like ::ffff:192.0.2.1 are not supported.
|
|
6
|
+
* @param name - The name of the environment variable.
|
|
7
|
+
* @returns A Zod schema for a IP address.
|
|
8
|
+
*/
|
|
9
|
+
export declare const ipSchema: (name: string) => z.ZodType<string>;
|
|
10
|
+
export declare const looksLikeVersion: (value: string) => boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Creates a Zod schema for a version. Only semver 1.2.3 are supported.
|
|
13
|
+
* suffixes (like -beta, -rc, etc.) are not supported
|
|
14
|
+
* 2 parts versions (like 2.0, 3.0, etc.) are not supported
|
|
15
|
+
* 4 parts versions (like 1.2.3.4, 1.2.3.4.5, etc.) are not supported
|
|
16
|
+
* v prefix (like v1.2.3, v2.0, v3.0, etc.) are not supported
|
|
17
|
+
* @param name - The name of the environment variable.
|
|
18
|
+
* @returns A Zod schema for a version.
|
|
19
|
+
*/
|
|
20
|
+
export declare const versionSchema: (name: string) => z.ZodType<string>;
|
|
21
|
+
//# sourceMappingURL=dotted.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dotted.d.ts","sourceRoot":"","sources":["../../src/schemas/dotted.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,YAExC,CAAC;AACF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAQvD,CAAC;AAIF,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,YAE7C,CAAC;AAIF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAQ5D,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const ipV4Regex = /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/;
|
|
3
|
+
const ipV6Regex = /^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/;
|
|
4
|
+
export const looksLikeIp = (value) => {
|
|
5
|
+
return ipV4Regex.test(value) || ipV6Regex.test(value);
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Creates a Zod schema for a IP address. (simple V4 address: 0.0.0.0 or V6 address: 0000:0000:0000:0000:0000:0000:0000:0000).
|
|
9
|
+
* compressed ip addresses like ::ffff:192.0.2.1 are not supported.
|
|
10
|
+
* @param name - The name of the environment variable.
|
|
11
|
+
* @returns A Zod schema for a IP address.
|
|
12
|
+
*/
|
|
13
|
+
export const ipSchema = (name) => {
|
|
14
|
+
return z.string().transform((v, ctx) => {
|
|
15
|
+
if (!looksLikeIp(v)) {
|
|
16
|
+
ctx.addIssue({ code: "custom", message: `${name} has invalid IP value: "${v}"` });
|
|
17
|
+
return z.NEVER;
|
|
18
|
+
}
|
|
19
|
+
return v;
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
/** semver 1.2.3 let it be simple ! no suffixes like -beta, -rc, etc.*/
|
|
23
|
+
const VERSION_REGEX = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;
|
|
24
|
+
export const looksLikeVersion = (value) => {
|
|
25
|
+
return VERSION_REGEX.test(value);
|
|
26
|
+
};
|
|
27
|
+
// Note : NEVER add 2 parts version (2.0), it will conflict with numberRules (numberSchema)
|
|
28
|
+
/**
|
|
29
|
+
* Creates a Zod schema for a version. Only semver 1.2.3 are supported.
|
|
30
|
+
* suffixes (like -beta, -rc, etc.) are not supported
|
|
31
|
+
* 2 parts versions (like 2.0, 3.0, etc.) are not supported
|
|
32
|
+
* 4 parts versions (like 1.2.3.4, 1.2.3.4.5, etc.) are not supported
|
|
33
|
+
* v prefix (like v1.2.3, v2.0, v3.0, etc.) are not supported
|
|
34
|
+
* @param name - The name of the environment variable.
|
|
35
|
+
* @returns A Zod schema for a version.
|
|
36
|
+
*/
|
|
37
|
+
export const versionSchema = (name) => {
|
|
38
|
+
return z.string().transform((v, ctx) => {
|
|
39
|
+
if (!looksLikeVersion(v)) {
|
|
40
|
+
ctx.addIssue({ code: "custom", message: `${name} has invalid versionvalue: "${v}"` });
|
|
41
|
+
return z.NEVER;
|
|
42
|
+
}
|
|
43
|
+
return v;
|
|
44
|
+
});
|
|
45
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const looksLikeValidDuration: (value: string) => boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Creates a Zod schema for a duration (e.g. 500ms, 5s, 2m). \
|
|
5
|
+
* Negative values are not supported. \
|
|
6
|
+
* Unit is mandatory and must be one of the following: ms, s, m, h, d, w, M, y.
|
|
7
|
+
* @param name - The name of the duration.
|
|
8
|
+
* @returns A Zod schema for a duration.
|
|
9
|
+
*/
|
|
10
|
+
export declare const durationSchema: (name: string) => z.ZodType<number>;
|
|
11
|
+
//# sourceMappingURL=duration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../../src/schemas/duration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,YAAsC,CAAC;AAE3F;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAwBxD,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const durationSuffixes = ["ms", "s", "m", "h", "d", "w", "M", "y"];
|
|
3
|
+
const durationSuffixesMap = {
|
|
4
|
+
ms: 1,
|
|
5
|
+
s: 1000,
|
|
6
|
+
m: 60 * 1000,
|
|
7
|
+
h: 60 * 60 * 1000,
|
|
8
|
+
d: 24 * 60 * 60 * 1000,
|
|
9
|
+
w: 7 * 24 * 60 * 60 * 1000,
|
|
10
|
+
M: 30 * 24 * 60 * 60 * 1000,
|
|
11
|
+
y: 365 * 24 * 60 * 60 * 1000,
|
|
12
|
+
};
|
|
13
|
+
const DURATION_REGEX_STRICT = /^(\d+)(ms|s|m|h|d|w|M|y)$/;
|
|
14
|
+
const MAX_DURATION = 10 * durationSuffixesMap.y; // 10y
|
|
15
|
+
export const looksLikeValidDuration = (value) => DURATION_REGEX_STRICT.test(value);
|
|
16
|
+
/**
|
|
17
|
+
* Creates a Zod schema for a duration (e.g. 500ms, 5s, 2m). \
|
|
18
|
+
* Negative values are not supported. \
|
|
19
|
+
* Unit is mandatory and must be one of the following: ms, s, m, h, d, w, M, y.
|
|
20
|
+
* @param name - The name of the duration.
|
|
21
|
+
* @returns A Zod schema for a duration.
|
|
22
|
+
*/
|
|
23
|
+
export const durationSchema = (name) => z.string().transform((v, ctx) => {
|
|
24
|
+
const match = v.match(DURATION_REGEX_STRICT);
|
|
25
|
+
if (!match) {
|
|
26
|
+
ctx.addIssue({
|
|
27
|
+
code: "custom",
|
|
28
|
+
message: `${name} must be a valid duration (e.g. 500ms, 5s, 2m)`,
|
|
29
|
+
});
|
|
30
|
+
return z.NEVER;
|
|
31
|
+
}
|
|
32
|
+
const value = Number(match[1]);
|
|
33
|
+
const suffix = match[2];
|
|
34
|
+
const result = value * durationSuffixesMap[suffix];
|
|
35
|
+
// prevent from 999999999999y
|
|
36
|
+
if (!Number.isSafeInteger(result) || result < 0 || result > MAX_DURATION) {
|
|
37
|
+
ctx.addIssue({
|
|
38
|
+
code: "custom",
|
|
39
|
+
message: `${name} must be a valid duration (e.g. 500ms, 5s, 2m)`,
|
|
40
|
+
});
|
|
41
|
+
return z.NEVER;
|
|
42
|
+
}
|
|
43
|
+
return result;
|
|
44
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./list.js";
|
|
2
|
+
export * from "./port.js";
|
|
3
|
+
export * from "./path.js";
|
|
4
|
+
export * from "./duration.js";
|
|
5
|
+
export * from "./boolean.js";
|
|
6
|
+
export * from "./json.js";
|
|
7
|
+
export * from "./dotted.js";
|
|
8
|
+
export * from "./urls.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const looksLikeValidIp: (value: string) => boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Creates a Zod schema for a IP address. (simple V4 address: 0.0.0.0 or V6 address: 0000:0000:0000:0000:0000:0000:0000:0000).
|
|
5
|
+
* compressed ip addresses like ::ffff:192.0.2.1 are not supported.
|
|
6
|
+
* @param name - The name of the environment variable.
|
|
7
|
+
* @returns A Zod schema for a IP address.
|
|
8
|
+
*/
|
|
9
|
+
export declare const ipSchema: (name: string) => z.ZodType<string>;
|
|
10
|
+
export declare const looksLikeValidVersion: (value: string) => boolean;
|
|
11
|
+
export declare const versionSchema: (name: string) => z.ZodType<string>;
|
|
12
|
+
//# sourceMappingURL=ip-and-version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ip-and-version.d.ts","sourceRoot":"","sources":["../../src/schemas/ip-and-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,YAE7C,CAAC;AACF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAQvD,CAAC;AAIF,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,YAElD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAQ5D,CAAC"}
|