@tricoteuses/senat 0.3.2 → 1.0.1

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.
Files changed (88) hide show
  1. package/README.md +52 -0
  2. package/lib/config.d.ts +2 -0
  3. package/lib/config.js +49 -0
  4. package/lib/config.mjs +16 -0
  5. package/lib/config.ts +26 -0
  6. package/lib/databases.d.ts +11 -0
  7. package/lib/databases.js +125 -0
  8. package/lib/databases.mjs +26 -0
  9. package/lib/databases.ts +32 -0
  10. package/lib/datasets.d.ts +27 -0
  11. package/lib/datasets.js +85 -0
  12. package/lib/datasets.mjs +68 -0
  13. package/lib/datasets.ts +107 -0
  14. package/lib/fields.d.ts +10 -0
  15. package/lib/fields.js +68 -0
  16. package/lib/fields.mjs +22 -0
  17. package/lib/fields.ts +29 -0
  18. package/lib/index.d.ts +6 -5
  19. package/lib/index.js +236 -7
  20. package/lib/index.mjs +6 -1
  21. package/lib/index.ts +59 -0
  22. package/lib/inserters.d.ts +1 -1
  23. package/lib/inserters.js +65 -189
  24. package/lib/inserters.ts +520 -0
  25. package/lib/raw_types/ameli.d.ts +416 -410
  26. package/lib/raw_types/ameli.js +26 -144
  27. package/lib/raw_types/ameli.ts +601 -0
  28. package/lib/raw_types/debats.d.ts +82 -80
  29. package/lib/raw_types/debats.js +8 -42
  30. package/lib/raw_types/debats.ts +145 -0
  31. package/lib/raw_types/dosleg.d.ts +936 -920
  32. package/lib/raw_types/dosleg.js +5 -345
  33. package/lib/raw_types/dosleg.ts +2193 -0
  34. package/lib/raw_types/questions.d.ts +2 -2
  35. package/lib/raw_types/questions.js +3 -3
  36. package/lib/raw_types/questions.mjs +2 -2
  37. package/lib/raw_types/questions.ts +9 -0
  38. package/lib/raw_types/sens.d.ts +1180 -1176
  39. package/lib/raw_types/sens.js +3 -397
  40. package/lib/raw_types/sens.ts +2907 -0
  41. package/lib/scripts/images/transparent_150x192.jpg +0 -0
  42. package/lib/scripts/images/transparent_155x225.jpg +0 -0
  43. package/lib/scripts/retrieve_open_data.d.ts +1 -0
  44. package/lib/scripts/retrieve_open_data.js +366 -0
  45. package/lib/scripts/retrieve_open_data.mjs +215 -0
  46. package/lib/scripts/retrieve_open_data.ts +254 -0
  47. package/lib/scripts/retrieve_senateurs_photos.d.ts +1 -0
  48. package/lib/scripts/retrieve_senateurs_photos.js +268 -0
  49. package/lib/scripts/retrieve_senateurs_photos.mjs +164 -0
  50. package/lib/scripts/retrieve_senateurs_photos.ts +200 -0
  51. package/lib/scripts/retrieve_textes.d.ts +1 -0
  52. package/lib/scripts/retrieve_textes.js +177 -0
  53. package/lib/scripts/retrieve_textes.mjs +75 -0
  54. package/lib/scripts/retrieve_textes.ts +93 -0
  55. package/lib/strings.d.ts +1 -0
  56. package/lib/strings.js +49 -0
  57. package/lib/strings.mjs +18 -0
  58. package/lib/strings.ts +26 -0
  59. package/lib/types/ameli.d.ts +5 -0
  60. package/lib/types/ameli.js +7 -4
  61. package/lib/types/ameli.mjs +13 -1
  62. package/lib/types/ameli.ts +21 -0
  63. package/lib/types/debats.d.ts +2 -0
  64. package/lib/types/debats.js +4 -3
  65. package/lib/types/debats.mjs +2 -1
  66. package/lib/types/debats.ts +6 -0
  67. package/lib/types/dosleg.d.ts +28 -0
  68. package/lib/types/dosleg.js +30 -3
  69. package/lib/types/dosleg.mjs +151 -1
  70. package/lib/types/dosleg.ts +284 -0
  71. package/lib/types/questions.js +1 -1
  72. package/lib/types/questions.ts +0 -0
  73. package/lib/types/sens.d.ts +2 -0
  74. package/lib/types/sens.js +4 -3
  75. package/lib/types/sens.mjs +23 -1
  76. package/lib/types/sens.ts +36 -0
  77. package/lib/typings/windows-1252.d.js +2 -0
  78. package/lib/typings/windows-1252.d.mjs +2 -0
  79. package/lib/typings/windows-1252.d.ts +11 -0
  80. package/lib/validators/config.d.ts +1 -0
  81. package/lib/validators/config.js +121 -0
  82. package/lib/validators/config.mjs +54 -0
  83. package/lib/validators/config.ts +79 -0
  84. package/lib/validators/senat.d.ts +0 -0
  85. package/lib/validators/senat.js +28 -0
  86. package/lib/validators/senat.mjs +24 -0
  87. package/lib/validators/senat.ts +26 -0
  88. package/package.json +35 -4
@@ -0,0 +1,284 @@
1
+ import { txt_ameliFields } from "../raw_types/ameli"
2
+ import {
3
+ ass as Ass,
4
+ aud,
5
+ audFields,
6
+ auteur,
7
+ date_seance,
8
+ date_seanceFields as dateSeanceFields,
9
+ deccoc as DecCoc,
10
+ denrap as DenRap,
11
+ docatt,
12
+ docattFields,
13
+ ecr,
14
+ ecrFields,
15
+ etaloi as EtaLoi,
16
+ lecass,
17
+ lecassFields,
18
+ lecassrap,
19
+ lecture,
20
+ lectureFields,
21
+ loi,
22
+ org as Org,
23
+ oritxt as OriTxt,
24
+ qua as Qua,
25
+ rap,
26
+ raporg as RapOrg,
27
+ raporgFields,
28
+ scr as Scr,
29
+ texte,
30
+ texteFields,
31
+ typatt as TypAtt,
32
+ typlec as TypLec,
33
+ typloi as TypLoi,
34
+ typtxt as TypTxt,
35
+ typurl as TypUrl,
36
+ typurlFields,
37
+ } from "../raw_types/dosleg"
38
+ import { Debat } from "./debats"
39
+ import { TxtAmeli } from "./ameli"
40
+
41
+ export {
42
+ Ass,
43
+ DecCoc,
44
+ DenRap,
45
+ EtaLoi,
46
+ Org,
47
+ OriTxt,
48
+ Qua,
49
+ RapOrg,
50
+ Scr,
51
+ TypAtt,
52
+ TypLec,
53
+ TypLoi,
54
+ TypTxt,
55
+ TypUrl,
56
+ }
57
+
58
+ export interface Aud extends aud {
59
+ org?: Org
60
+ }
61
+
62
+ export interface Auteur extends auteur {
63
+ qua?: Qua
64
+ }
65
+
66
+ export interface DateSeance extends date_seance {
67
+ debat?: Debat
68
+ scrids?: string[]
69
+ scrs?: Scr[]
70
+ }
71
+
72
+ export interface DocAtt extends docatt {
73
+ rap?: Rap
74
+ typatt?: TypAtt
75
+ }
76
+
77
+ export interface Ecr extends ecr {
78
+ aut?: Auteur
79
+ }
80
+
81
+ export interface LecAss extends lecass {
82
+ ass?: Ass
83
+ auds?: Aud[]
84
+ audcles?: audFields.audcle[]
85
+ datesSeances?: DateSeance[]
86
+ datesSeancesCodes?: dateSeanceFields.code[]
87
+ debatdatseas: Date[]
88
+ lecassraps?: LecAssRap[]
89
+ lecassrapids?: string[]
90
+ org?: Org
91
+ texcods: texteFields.texcod[]
92
+ textes?: Texte[]
93
+ }
94
+
95
+ export interface LecAssRap extends lecassrap {
96
+ rap?: Rap
97
+ }
98
+
99
+ export interface Lecture extends lecture {
100
+ typlec?: TypLec
101
+ lecassidts?: lecassFields.lecassidt[]
102
+ lecasss?: LecAss[]
103
+ }
104
+
105
+ export interface Loi extends loi {
106
+ deccoc?: DecCoc
107
+ etaloi?: EtaLoi
108
+ lecidts?: lectureFields.lecidt[]
109
+ lectures?: Lecture[]
110
+ typloi?: TypLoi
111
+ }
112
+
113
+ export interface Rap extends rap {
114
+ denrap?: DenRap
115
+ docattcles?: docattFields.docattcle[]
116
+ docatts?: DocAtt[]
117
+ ecrnums?: ecrFields.ecrnum[]
118
+ ecrs?: Ecr[]
119
+ orgcods?: raporgFields.orgcod[]
120
+ orgs?: Org[]
121
+ }
122
+
123
+ export interface Texte extends texte {
124
+ ecrs?: Ecr[]
125
+ ecrnums?: ecrFields.ecrnum[]
126
+ libtypurl?: typurlFields.libtypurl
127
+ org?: Org
128
+ oritxt: OriTxt
129
+ typtxt?: TypTxt
130
+ txtAmeli?: TxtAmeli
131
+ txtAmeliId: txt_ameliFields.id
132
+ }
133
+
134
+ export const assFieldsToTrim = ["libass"]
135
+ export const audFieldsToTrim = ["lecassidt", "audtit", "audurl", "orgcod"]
136
+ export const auteurFieldsToTrim = [
137
+ "autcod",
138
+ "quacod",
139
+ "typautcod",
140
+ "nomuse",
141
+ "prenom",
142
+ "nomtec",
143
+ "autmat",
144
+ "autfct",
145
+ ]
146
+ export const dateSeanceFieldsToTrim = ["lecidt", "statut"]
147
+ export const deccocFieldsToTrim = ["deccoccod", "deccoclib"]
148
+ export const denrapFieldsToTrim = [
149
+ "coddenrap",
150
+ "typraprap",
151
+ "libdenrap",
152
+ "denrapmin",
153
+ "denraptit",
154
+ "denrapstymin",
155
+ "solnatrapcod",
156
+ ]
157
+ export const docattFieldsToParseInt = ["docattcle", "rapcod"]
158
+ export const docattFieldsToTrim = ["docatturl"]
159
+ export const ecrFieldsToTrim = ["autcod", "ecrqua"]
160
+ export const etaloiFieldsToTrim = ["etaloilib"]
161
+ export const lecassFieldsToTrim = [
162
+ "lecassidt",
163
+ "lecidt",
164
+ "ptlurl",
165
+ "ptlnumcpl",
166
+ "ptlnot",
167
+ "ptlurl2",
168
+ "ptlnot2",
169
+ "ptlurl3",
170
+ "ptlnot3",
171
+ "ptlnumcpl2",
172
+ "ptlnumcpl3",
173
+ "lecassame",
174
+ "orgcod",
175
+ "loiintmod",
176
+ "reucom",
177
+ "debatsurl",
178
+ "libppr",
179
+ "ptlurlcom",
180
+ "aliasppr",
181
+ "lecassamecom",
182
+ ]
183
+ export const lecassrapFieldsToTrim = ["lecassidt"]
184
+ export const lectureFieldsToTrim = ["lecidt", "loicod", "typleccod", "leccom"]
185
+ export const loiFieldsToTrim = [
186
+ "loicod",
187
+ "typloicod",
188
+ "deccoccod",
189
+ "numero",
190
+ "loient",
191
+ "motclef",
192
+ "loitit",
193
+ "loiint",
194
+ "url_jo",
195
+ "loinumjo",
196
+ "loititjo",
197
+ "url_jo2",
198
+ "loinumjo2",
199
+ "deccocurl",
200
+ "num_decision",
201
+ "loicodmai",
202
+ "loinoudelibcod",
203
+ "motionloiorigcod",
204
+ "url_ordonnance",
205
+ "saisine_par",
206
+ "loinumjo3",
207
+ "url_jo3",
208
+ "url_an",
209
+ "url_presart",
210
+ "signetalt",
211
+ "orgcod",
212
+ "doscocurl",
213
+ "loiintori",
214
+ ]
215
+ export const orgFieldsToTrim = [
216
+ "orgcod",
217
+ "typorgcod",
218
+ "orgnom",
219
+ "orgliblon",
220
+ "orglibaff",
221
+ "orgurl",
222
+ "orglibcou",
223
+ "org_de",
224
+ "urltra",
225
+ "inttra",
226
+ "orgnomcouv",
227
+ "senorgcod",
228
+ "html_color",
229
+ ]
230
+ export const oritxtFieldsToTrim = ["oritxtcod", "oritxtlib", "oritxtlibfem"]
231
+ export const quaFieldsToTrim = ["quacod", "qualic", "quaabr", "quaabrplu"]
232
+ export const rapFieldsToParseInt = ["rapcod", "sesann", "rapnum", "rapnuman"]
233
+ export const rapFieldsToTrim = [
234
+ "coddenrap",
235
+ "blecod",
236
+ "raptitcou",
237
+ "raptil",
238
+ "rapurl",
239
+ "url2",
240
+ "url3",
241
+ "url4",
242
+ "url2txt",
243
+ "url3txt",
244
+ "url4txt",
245
+ "prix",
246
+ "numerobis",
247
+ "rapsoustit",
248
+ "rapres",
249
+ "forpubcod",
250
+ ]
251
+ export const raporgFieldsToTrim = ["orgcod"]
252
+ export const scrFieldsToTrim = ["scrint", "soslib"]
253
+ export const texteFieldsToParseInt = ["texcod", "sesann", "texnum"]
254
+ export const texteFieldsToTrim = [
255
+ "oritxtcod",
256
+ "typtxtcod",
257
+ "lecassidt",
258
+ "orgcod",
259
+ "texurl",
260
+ "url2",
261
+ "url3",
262
+ "url4",
263
+ "url2txt",
264
+ "url3txt",
265
+ "url4txt",
266
+ "prix",
267
+ "numerobis",
268
+ "reserve_comspe",
269
+ ]
270
+ export const typattFieldsToTrim = ["typattlib"]
271
+ export const typlecFieldsToTrim = ["typleccod", "typleclib"]
272
+ export const typloiFieldsToTrim = [
273
+ "typloicod",
274
+ "typloilib",
275
+ "groupe",
276
+ "typloiden",
277
+ "typloigen",
278
+ "typloitit",
279
+ "typloidenplu",
280
+ "typloide",
281
+ "typloiabr",
282
+ ]
283
+ export const typtxtFieldsToTrim = ["typtxtcod", "typtxtlib"]
284
+ export const typurlFieldsToTrim = ["libtypurl"]
@@ -1,2 +1,2 @@
1
1
  "use strict";
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3F1ZXN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIiXSwibWFwcGluZ3MiOiIifQ==
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3F1ZXN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIiXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
File without changes
@@ -8,3 +8,5 @@ export interface Photo {
8
8
  xMosaique: number;
9
9
  yMosaique: number;
10
10
  }
11
+ export declare const senFieldsToParseInt: string[];
12
+ export declare const senFieldsToTrim: string[];
package/lib/types/sens.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  require("core-js/modules/es.object.define-property.js");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -11,6 +10,8 @@ Object.defineProperty(exports, "Sen", {
11
10
  return _sens.sen;
12
11
  }
13
12
  });
14
-
13
+ exports.senFieldsToTrim = exports.senFieldsToParseInt = void 0;
15
14
  var _sens = require("../raw_types/sens");
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3NlbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2VuIGFzIFNlbiB9IGZyb20gXCIuLi9yYXdfdHlwZXMvc2Vuc1wiXG5cbmV4cG9ydCB7IFNlbiB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGhvdG8ge1xuICBjaGVtaW46IHN0cmluZ1xuICBjaGVtaW5Nb3NhaXF1ZTogc3RyaW5nXG4gIGhhdXRldXI6IG51bWJlclxuICBsYXJnZXVyOiBudW1iZXJcbiAgeE1vc2FpcXVlOiBudW1iZXJcbiAgeU1vc2FpcXVlOiBudW1iZXJcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSJ9
15
+ var senFieldsToParseInt = exports.senFieldsToParseInt = ["sencirnumcou", "sennumsie"];
16
+ var senFieldsToTrim = exports.senFieldsToTrim = ["senmat", "quacod", "sennomuse", "sennomtec", "senprenomuse", "etasencod", "sendespro", "pcscod", "catprocod", "sengrppolcodcou", "sengrppolliccou", "sentypappcou", "sencomcodcou", "sencomliccou", "sencircou", "senburliccou", "senema", "sennomusecap", "senfem", "sendaiurl"];
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2VucyIsInJlcXVpcmUiLCJzZW5GaWVsZHNUb1BhcnNlSW50IiwiZXhwb3J0cyIsInNlbkZpZWxkc1RvVHJpbSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9zZW5zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNlbiBhcyBTZW4gfSBmcm9tIFwiLi4vcmF3X3R5cGVzL3NlbnNcIlxuXG5leHBvcnQgeyBTZW4gfVxuXG5leHBvcnQgaW50ZXJmYWNlIFBob3RvIHtcbiAgY2hlbWluOiBzdHJpbmdcbiAgY2hlbWluTW9zYWlxdWU6IHN0cmluZ1xuICBoYXV0ZXVyOiBudW1iZXJcbiAgbGFyZ2V1cjogbnVtYmVyXG4gIHhNb3NhaXF1ZTogbnVtYmVyXG4gIHlNb3NhaXF1ZTogbnVtYmVyXG59XG5cbmV4cG9ydCBjb25zdCBzZW5GaWVsZHNUb1BhcnNlSW50ID0gW1wic2VuY2lybnVtY291XCIsIFwic2VubnVtc2llXCJdXG5leHBvcnQgY29uc3Qgc2VuRmllbGRzVG9UcmltID0gW1xuICBcInNlbm1hdFwiLFxuICBcInF1YWNvZFwiLFxuICBcInNlbm5vbXVzZVwiLFxuICBcInNlbm5vbXRlY1wiLFxuICBcInNlbnByZW5vbXVzZVwiLFxuICBcImV0YXNlbmNvZFwiLFxuICBcInNlbmRlc3Byb1wiLFxuICBcInBjc2NvZFwiLFxuICBcImNhdHByb2NvZFwiLFxuICBcInNlbmdycHBvbGNvZGNvdVwiLFxuICBcInNlbmdycHBvbGxpY2NvdVwiLFxuICBcInNlbnR5cGFwcGNvdVwiLFxuICBcInNlbmNvbWNvZGNvdVwiLFxuICBcInNlbmNvbWxpY2NvdVwiLFxuICBcInNlbmNpcmNvdVwiLFxuICBcInNlbmJ1cmxpY2NvdVwiLFxuICBcInNlbmVtYVwiLFxuICBcInNlbm5vbXVzZWNhcFwiLFxuICBcInNlbmZlbVwiLFxuICBcInNlbmRhaXVybFwiLFxuXVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBYU8sSUFBTUMsbUJBQW1CLEdBQUFDLE9BQUEsQ0FBQUQsbUJBQUEsR0FBRyxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUM7QUFDekQsSUFBTUUsZUFBZSxHQUFBRCxPQUFBLENBQUFDLGVBQUEsR0FBRyxDQUM3QixRQUFRLEVBQ1IsUUFBUSxFQUNSLFdBQVcsRUFDWCxXQUFXLEVBQ1gsY0FBYyxFQUNkLFdBQVcsRUFDWCxXQUFXLEVBQ1gsUUFBUSxFQUNSLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxjQUFjLEVBQ2QsY0FBYyxFQUNkLFdBQVcsRUFDWCxjQUFjLEVBQ2QsUUFBUSxFQUNSLGNBQWMsRUFDZCxRQUFRLEVBQ1IsV0FBVyxDQUNaIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1,23 @@
1
- export {};
1
+ export const senFieldsToParseInt = ["sencirnumcou", "sennumsie"];
2
+ export const senFieldsToTrim = [
3
+ "senmat",
4
+ "quacod",
5
+ "sennomuse",
6
+ "sennomtec",
7
+ "senprenomuse",
8
+ "etasencod",
9
+ "sendespro",
10
+ "pcscod",
11
+ "catprocod",
12
+ "sengrppolcodcou",
13
+ "sengrppolliccou",
14
+ "sentypappcou",
15
+ "sencomcodcou",
16
+ "sencomliccou",
17
+ "sencircou",
18
+ "senburliccou",
19
+ "senema",
20
+ "sennomusecap",
21
+ "senfem",
22
+ "sendaiurl",
23
+ ];
@@ -0,0 +1,36 @@
1
+ import { sen as Sen } from "../raw_types/sens"
2
+
3
+ export { Sen }
4
+
5
+ export interface Photo {
6
+ chemin: string
7
+ cheminMosaique: string
8
+ hauteur: number
9
+ largeur: number
10
+ xMosaique: number
11
+ yMosaique: number
12
+ }
13
+
14
+ export const senFieldsToParseInt = ["sencirnumcou", "sennumsie"]
15
+ export const senFieldsToTrim = [
16
+ "senmat",
17
+ "quacod",
18
+ "sennomuse",
19
+ "sennomtec",
20
+ "senprenomuse",
21
+ "etasencod",
22
+ "sendespro",
23
+ "pcscod",
24
+ "catprocod",
25
+ "sengrppolcodcou",
26
+ "sengrppolliccou",
27
+ "sentypappcou",
28
+ "sencomcodcou",
29
+ "sencomliccou",
30
+ "sencircou",
31
+ "senburliccou",
32
+ "senema",
33
+ "sennomusecap",
34
+ "senfem",
35
+ "sendaiurl",
36
+ ]
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGluZ3Mvd2luZG93cy0xMjUyLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZGVjbGFyZSBtb2R1bGUgXCJ3aW5kb3dzLTEyNTJcIiB7XG4gIC8qKiBEZWNsYXJhdGlvbiBmaWxlIGdlbmVyYXRlZCBieSBkdHMtZ2VuICovXG5cbiAgZXhwb3J0IGNvbnN0IGxhYmVsczogc3RyaW5nW11cblxuICBleHBvcnQgY29uc3QgdmVyc2lvbjogc3RyaW5nXG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGRlY29kZShpbnB1dDogYW55LCBvcHRpb25zPzogYW55KTogYW55XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGVuY29kZShpbnB1dDogYW55LCBvcHRpb25zPzogYW55KTogYW55XG59XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGluZ3Mvd2luZG93cy0xMjUyLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZGVjbGFyZSBtb2R1bGUgXCJ3aW5kb3dzLTEyNTJcIiB7XG4gIC8qKiBEZWNsYXJhdGlvbiBmaWxlIGdlbmVyYXRlZCBieSBkdHMtZ2VuICovXG5cbiAgZXhwb3J0IGNvbnN0IGxhYmVsczogc3RyaW5nW11cblxuICBleHBvcnQgY29uc3QgdmVyc2lvbjogc3RyaW5nXG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGRlY29kZShpbnB1dDogYW55LCBvcHRpb25zPzogYW55KTogYW55XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGVuY29kZShpbnB1dDogYW55LCBvcHRpb25zPzogYW55KTogYW55XG59XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,11 @@
1
+ declare module "windows-1252" {
2
+ /** Declaration file generated by dts-gen */
3
+
4
+ export const labels: string[]
5
+
6
+ export const version: string
7
+
8
+ export function decode(input: any, options?: any): any
9
+
10
+ export function encode(input: any, options?: any): any
11
+ }
@@ -0,0 +1 @@
1
+ export declare function validateConfig(data: any): [any, any];
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.to-primitive.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.array.for-each.js");
6
+ require("core-js/modules/es.array.from.js");
7
+ require("core-js/modules/es.array.is-array.js");
8
+ require("core-js/modules/es.array.slice.js");
9
+ require("core-js/modules/es.date.to-primitive.js");
10
+ require("core-js/modules/es.date.to-string.js");
11
+ require("core-js/modules/es.function.name.js");
12
+ require("core-js/modules/es.number.constructor.js");
13
+ require("core-js/modules/es.object.define-properties.js");
14
+ require("core-js/modules/es.object.define-property.js");
15
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
16
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
17
+ require("core-js/modules/es.regexp.exec.js");
18
+ require("core-js/modules/es.regexp.to-string.js");
19
+ require("core-js/modules/web.dom-collections.for-each.js");
20
+ Object.defineProperty(exports, "__esModule", {
21
+ value: true
22
+ });
23
+ exports.validateConfig = validateConfig;
24
+ require("core-js/modules/es.symbol.js");
25
+ require("core-js/modules/es.symbol.description.js");
26
+ require("core-js/modules/es.symbol.iterator.js");
27
+ require("core-js/modules/es.array.iterator.js");
28
+ require("core-js/modules/es.object.keys.js");
29
+ require("core-js/modules/es.object.to-string.js");
30
+ require("core-js/modules/es.set.js");
31
+ require("core-js/modules/es.string.iterator.js");
32
+ require("core-js/modules/web.dom-collections.iterator.js");
33
+ var _core = require("@biryani/core");
34
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
35
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
36
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
37
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
38
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
39
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
40
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
41
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
42
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
43
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
44
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
45
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
46
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
47
+ function validateDb(data) {
48
+ if (data === null || data === undefined) {
49
+ return [data, "Missing value"];
50
+ }
51
+ if (_typeof(data) !== "object") {
52
+ return [data, "Expected an object got \"".concat(_typeof(data), "\"")];
53
+ }
54
+ data = _objectSpread({}, data);
55
+ var errors = {};
56
+ var remainingKeys = new Set(Object.keys(data));
57
+ for (var _i = 0, _arr = ["host", "password", "user"]; _i < _arr.length; _i++) {
58
+ var key = _arr[_i];
59
+ remainingKeys["delete"](key);
60
+ var _validateNonEmptyTrim = (0, _core.validateNonEmptyTrimmedString)(data[key]),
61
+ _validateNonEmptyTrim2 = _slicedToArray(_validateNonEmptyTrim, 2),
62
+ value = _validateNonEmptyTrim2[0],
63
+ error = _validateNonEmptyTrim2[1];
64
+ data[key] = value;
65
+ if (error !== null) {
66
+ errors[key] = error;
67
+ }
68
+ }
69
+ {
70
+ var _key = "port";
71
+ remainingKeys["delete"](_key);
72
+ var _validateChain = (0, _core.validateChain)((0, _core.validateOption)([_core.validateString, _core.validateStringToNumber], _core.validateNumber), _core.validateInteger, (0, _core.validateTest)(function (value) {
73
+ return 0 <= value && value <= 65535;
74
+ }, "Must be an integer between 0 and 65535"))(data[_key]),
75
+ _validateChain2 = _slicedToArray(_validateChain, 2),
76
+ _value = _validateChain2[0],
77
+ _error = _validateChain2[1];
78
+ data[_key] = _value;
79
+ if (_error !== null) {
80
+ errors[_key] = _error;
81
+ }
82
+ }
83
+ var _iterator = _createForOfIteratorHelper(remainingKeys),
84
+ _step;
85
+ try {
86
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
87
+ var _key2 = _step.value;
88
+ errors[_key2] = "Unexpected item";
89
+ }
90
+ } catch (err) {
91
+ _iterator.e(err);
92
+ } finally {
93
+ _iterator.f();
94
+ }
95
+ return [data, Object.keys(errors).length === 0 ? null : errors];
96
+ }
97
+ function validateConfig(data) {
98
+ if (data === null || data === undefined) {
99
+ return [data, "Missing value"];
100
+ }
101
+ if (_typeof(data) !== "object") {
102
+ return [data, "Expected an object got \"".concat(_typeof(data), "\"")];
103
+ }
104
+ data = _objectSpread({}, data);
105
+ var errors = {};
106
+ var remainingKeys = new Set(Object.keys(data));
107
+ {
108
+ var key = "db";
109
+ remainingKeys["delete"](key);
110
+ var _validateDb = validateDb(data[key]),
111
+ _validateDb2 = _slicedToArray(_validateDb, 2),
112
+ value = _validateDb2[0],
113
+ error = _validateDb2[1];
114
+ data[key] = value;
115
+ if (error !== null) {
116
+ errors[key] = error;
117
+ }
118
+ }
119
+ return [data, Object.keys(errors).length === 0 ? null : errors];
120
+ }
121
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInIiLCJlIiwidCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJmIiwiVHlwZUVycm9yIiwibyIsImEiLCJ1IiwiY2FsbCIsIm5leHQiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsImwiLCJpIiwiT2JqZWN0IiwicHVzaCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl90b1ByaW1pdGl2ZSIsIl90eXBlb2YiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsInByb3RvdHlwZSIsInZhbGlkYXRlRGIiLCJkYXRhIiwidW5kZWZpbmVkIiwiY29uY2F0IiwiZXJyb3JzIiwicmVtYWluaW5nS2V5cyIsIlNldCIsIl9pIiwiX2FyciIsImtleSIsIl92YWxpZGF0ZU5vbkVtcHR5VHJpbSIsInZhbGlkYXRlTm9uRW1wdHlUcmltbWVkU3RyaW5nIiwiX3ZhbGlkYXRlTm9uRW1wdHlUcmltMiIsImVycm9yIiwiX3ZhbGlkYXRlQ2hhaW4iLCJ2YWxpZGF0ZUNoYWluIiwidmFsaWRhdGVPcHRpb24iLCJ2YWxpZGF0ZVN0cmluZyIsInZhbGlkYXRlU3RyaW5nVG9OdW1iZXIiLCJ2YWxpZGF0ZU51bWJlciIsInZhbGlkYXRlSW50ZWdlciIsInZhbGlkYXRlVGVzdCIsIl92YWxpZGF0ZUNoYWluMiIsIl9pdGVyYXRvciIsIl9zdGVwIiwiZXJyIiwidmFsaWRhdGVDb25maWciLCJfdmFsaWRhdGVEYiIsIl92YWxpZGF0ZURiMiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0b3JzL2NvbmZpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB2YWxpZGF0ZUNoYWluLFxuICB2YWxpZGF0ZUludGVnZXIsXG4gIHZhbGlkYXRlTm9uRW1wdHlUcmltbWVkU3RyaW5nLFxuICB2YWxpZGF0ZU51bWJlcixcbiAgdmFsaWRhdGVPcHRpb24sXG4gIHZhbGlkYXRlU3RyaW5nLFxuICB2YWxpZGF0ZVN0cmluZ1RvTnVtYmVyLFxuICB2YWxpZGF0ZVRlc3QsXG59IGZyb20gXCJAYmlyeWFuaS9jb3JlXCJcblxuZnVuY3Rpb24gdmFsaWRhdGVEYihkYXRhOiBhbnkpOiBbYW55LCBhbnldIHtcbiAgaWYgKGRhdGEgPT09IG51bGwgfHwgZGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIFtkYXRhLCBcIk1pc3NpbmcgdmFsdWVcIl1cbiAgfVxuICBpZiAodHlwZW9mIGRhdGEgIT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gW2RhdGEsIGBFeHBlY3RlZCBhbiBvYmplY3QgZ290IFwiJHt0eXBlb2YgZGF0YX1cImBdXG4gIH1cblxuICBkYXRhID0geyAuLi5kYXRhIH1cbiAgY29uc3QgZXJyb3JzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge31cbiAgY29uc3QgcmVtYWluaW5nS2V5cyA9IG5ldyBTZXQoT2JqZWN0LmtleXMoZGF0YSkpXG5cbiAgZm9yIChjb25zdCBrZXkgb2YgW1wiaG9zdFwiLCBcInBhc3N3b3JkXCIsIFwidXNlclwiXSkge1xuICAgIHJlbWFpbmluZ0tleXMuZGVsZXRlKGtleSlcbiAgICBjb25zdCBbdmFsdWUsIGVycm9yXSA9IHZhbGlkYXRlTm9uRW1wdHlUcmltbWVkU3RyaW5nKGRhdGFba2V5XSlcbiAgICBkYXRhW2tleV0gPSB2YWx1ZVxuICAgIGlmIChlcnJvciAhPT0gbnVsbCkge1xuICAgICAgZXJyb3JzW2tleV0gPSBlcnJvclxuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBjb25zdCBrZXkgPSBcInBvcnRcIlxuICAgIHJlbWFpbmluZ0tleXMuZGVsZXRlKGtleSlcbiAgICBjb25zdCBbdmFsdWUsIGVycm9yXSA9IHZhbGlkYXRlQ2hhaW4oXG4gICAgICB2YWxpZGF0ZU9wdGlvbihbdmFsaWRhdGVTdHJpbmcsIHZhbGlkYXRlU3RyaW5nVG9OdW1iZXJdLCB2YWxpZGF0ZU51bWJlciksXG4gICAgICB2YWxpZGF0ZUludGVnZXIsXG4gICAgICB2YWxpZGF0ZVRlc3QoXG4gICAgICAgICh2YWx1ZTogYW55KSA9PiAwIDw9IHZhbHVlICYmIHZhbHVlIDw9IDY1NTM1LFxuICAgICAgICBcIk11c3QgYmUgYW4gaW50ZWdlciBiZXR3ZWVuIDAgYW5kIDY1NTM1XCIsXG4gICAgICApLFxuICAgICkoZGF0YVtrZXldKVxuICAgIGRhdGFba2V5XSA9IHZhbHVlXG4gICAgaWYgKGVycm9yICE9PSBudWxsKSB7XG4gICAgICBlcnJvcnNba2V5XSA9IGVycm9yXG4gICAgfVxuICB9XG5cbiAgZm9yIChjb25zdCBrZXkgb2YgcmVtYWluaW5nS2V5cykge1xuICAgIGVycm9yc1trZXldID0gXCJVbmV4cGVjdGVkIGl0ZW1cIlxuICB9XG4gIHJldHVybiBbZGF0YSwgT2JqZWN0LmtleXMoZXJyb3JzKS5sZW5ndGggPT09IDAgPyBudWxsIDogZXJyb3JzXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVDb25maWcoZGF0YTogYW55KTogW2FueSwgYW55XSB7XG4gIGlmIChkYXRhID09PSBudWxsIHx8IGRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBbZGF0YSwgXCJNaXNzaW5nIHZhbHVlXCJdXG4gIH1cbiAgaWYgKHR5cGVvZiBkYXRhICE9PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIFtkYXRhLCBgRXhwZWN0ZWQgYW4gb2JqZWN0IGdvdCBcIiR7dHlwZW9mIGRhdGF9XCJgXVxuICB9XG5cbiAgZGF0YSA9IHsgLi4uZGF0YSB9XG4gIGNvbnN0IGVycm9yczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9XG4gIGNvbnN0IHJlbWFpbmluZ0tleXMgPSBuZXcgU2V0KE9iamVjdC5rZXlzKGRhdGEpKVxuXG4gIHtcbiAgICBjb25zdCBrZXkgPSBcImRiXCJcbiAgICByZW1haW5pbmdLZXlzLmRlbGV0ZShrZXkpXG4gICAgY29uc3QgW3ZhbHVlLCBlcnJvcl0gPSB2YWxpZGF0ZURiKGRhdGFba2V5XSlcbiAgICBkYXRhW2tleV0gPSB2YWx1ZVxuICAgIGlmIChlcnJvciAhPT0gbnVsbCkge1xuICAgICAgZXJyb3JzW2tleV0gPSBlcnJvclxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBbZGF0YSwgT2JqZWN0LmtleXMoZXJyb3JzKS5sZW5ndGggPT09IDAgPyBudWxsIDogZXJyb3JzXVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsT0FBQTtBQVNzQixTQUFBQywyQkFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEseUJBQUFDLE1BQUEsSUFBQUgsQ0FBQSxDQUFBRyxNQUFBLENBQUFDLFFBQUEsS0FBQUosQ0FBQSxxQkFBQUUsQ0FBQSxRQUFBRyxLQUFBLENBQUFDLE9BQUEsQ0FBQU4sQ0FBQSxNQUFBRSxDQUFBLEdBQUFLLDJCQUFBLENBQUFQLENBQUEsTUFBQUMsQ0FBQSxJQUFBRCxDQUFBLHVCQUFBQSxDQUFBLENBQUFRLE1BQUEsSUFB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TUFBQSxJQUF0QndELEtBQUcsR0FBQWUsS0FBQSxDQUFBdEUsS0FBQTtNQUNaa0QsTUFBTSxDQUFDSyxLQUFHLENBQUMsR0FBRyxpQkFBaUI7SUFDakM7RUFBQyxTQUFBZ0IsR0FBQTtJQUFBRixTQUFBLENBQUFsRixDQUFBLENBQUFvRixHQUFBO0VBQUE7SUFBQUYsU0FBQSxDQUFBcEUsQ0FBQTtFQUFBO0VBQ0QsT0FBTyxDQUFDOEMsSUFBSSxFQUFFMUIsTUFBTSxDQUFDRyxJQUFJLENBQUMwQixNQUFNLENBQUMsQ0FBQ3hELE1BQU0sS0FBSyxDQUFDLEdBQUcsSUFBSSxHQUFHd0QsTUFBTSxDQUFDO0FBQ2pFO0FBRU8sU0FBU3NCLGNBQWNBLENBQUN6QixJQUFTLEVBQWM7RUFDcEQsSUFBSUEsSUFBSSxLQUFLLElBQUksSUFBSUEsSUFBSSxLQUFLQyxTQUFTLEVBQUU7SUFDdkMsT0FBTyxDQUFDRCxJQUFJLEVBQUUsZUFBZSxDQUFDO0VBQ2hDO0VBQ0EsSUFBSU4sT0FBQSxDQUFPTSxJQUFJLE1BQUssUUFBUSxFQUFFO0lBQzVCLE9BQU8sQ0FBQ0EsSUFBSSw4QkFBQUUsTUFBQSxDQUFBUixPQUFBLENBQW9DTSxJQUFJLFNBQUk7RUFDMUQ7RUFFQUEsSUFBSSxHQUFBakIsYUFBQSxLQUFRaUIsSUFBSSxDQUFFO0VBQ2xCLElBQU1HLE1BQThCLEdBQUcsQ0FBQyxDQUFDO0VBQ3pDLElBQU1DLGFBQWEsR0FBRyxJQUFJQyxHQUFHLENBQUMvQixNQUFNLENBQUNHLElBQUksQ0FBQ3VCLElBQUksQ0FBQyxDQUFDO0VBRWhEO0lBQ0UsSUFBTVEsR0FBRyxHQUFHLElBQUk7SUFDaEJKLGFBQWEsVUFBTyxDQUFDSSxHQUFHLENBQUM7SUFDekIsSUFBQWtCLFdBQUEsR0FBdUIzQixVQUFVLENBQUNDLElBQUksQ0FBQ1EsR0FBRyxDQUFDLENBQUM7TUFBQW1CLFlBQUEsR0FBQWxFLGNBQUEsQ0FBQWlFLFdBQUE7TUFBckN6RSxLQUFLLEdBQUEwRSxZQUFBO01BQUVmLEtBQUssR0FBQWUsWUFBQTtJQUNuQjNCLElBQUksQ0FBQ1EsR0FBRyxDQUFDLEdBQUd2RCxLQUFLO0lBQ2pCLElBQUkyRCxLQUFLLEtBQUssSUFBSSxFQUFFO01BQ2xCVCxNQUFNLENBQUNLLEdBQUcsQ0FBQyxHQUFHSSxLQUFLO0lBQ3JCO0VBQ0Y7RUFFQSxPQUFPLENBQUNaLElBQUksRUFBRTFCLE1BQU0sQ0FBQ0csSUFBSSxDQUFDMEIsTUFBTSxDQUFDLENBQUN4RCxNQUFNLEtBQUssQ0FBQyxHQUFHLElBQUksR0FBR3dELE1BQU0sQ0FBQztBQUNqRSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,54 @@
1
+ import { validateChain, validateInteger, validateNonEmptyTrimmedString, validateNumber, validateOption, validateString, validateStringToNumber, validateTest, } from "@biryani/core";
2
+ function validateDb(data) {
3
+ if (data === null || data === undefined) {
4
+ return [data, "Missing value"];
5
+ }
6
+ if (typeof data !== "object") {
7
+ return [data, `Expected an object got "${typeof data}"`];
8
+ }
9
+ data = { ...data };
10
+ const errors = {};
11
+ const remainingKeys = new Set(Object.keys(data));
12
+ for (const key of ["host", "password", "user"]) {
13
+ remainingKeys.delete(key);
14
+ const [value, error] = validateNonEmptyTrimmedString(data[key]);
15
+ data[key] = value;
16
+ if (error !== null) {
17
+ errors[key] = error;
18
+ }
19
+ }
20
+ {
21
+ const key = "port";
22
+ remainingKeys.delete(key);
23
+ const [value, error] = validateChain(validateOption([validateString, validateStringToNumber], validateNumber), validateInteger, validateTest((value) => 0 <= value && value <= 65535, "Must be an integer between 0 and 65535"))(data[key]);
24
+ data[key] = value;
25
+ if (error !== null) {
26
+ errors[key] = error;
27
+ }
28
+ }
29
+ for (const key of remainingKeys) {
30
+ errors[key] = "Unexpected item";
31
+ }
32
+ return [data, Object.keys(errors).length === 0 ? null : errors];
33
+ }
34
+ export function validateConfig(data) {
35
+ if (data === null || data === undefined) {
36
+ return [data, "Missing value"];
37
+ }
38
+ if (typeof data !== "object") {
39
+ return [data, `Expected an object got "${typeof data}"`];
40
+ }
41
+ data = { ...data };
42
+ const errors = {};
43
+ const remainingKeys = new Set(Object.keys(data));
44
+ {
45
+ const key = "db";
46
+ remainingKeys.delete(key);
47
+ const [value, error] = validateDb(data[key]);
48
+ data[key] = value;
49
+ if (error !== null) {
50
+ errors[key] = error;
51
+ }
52
+ }
53
+ return [data, Object.keys(errors).length === 0 ? null : errors];
54
+ }