@effect-app/infra 0.108.4 → 0.109.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 (58) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/_cjs/RequestContext.cjs +2 -2
  3. package/_cjs/RequestContext.cjs.map +1 -1
  4. package/_cjs/api/setupRequest.cjs +1 -1
  5. package/_cjs/api/setupRequest.cjs.map +1 -1
  6. package/_cjs/services/Operations/live.cjs +1 -1
  7. package/_cjs/services/Operations/live.cjs.map +1 -1
  8. package/_cjs/services/QueueMaker/memQueue.cjs +1 -1
  9. package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
  10. package/_cjs/services/QueueMaker/sbqueue.cjs +1 -1
  11. package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
  12. package/_cjs/services/RepositoryBase.cjs +1 -1
  13. package/_cjs/services/RepositoryBase.cjs.map +1 -1
  14. package/_cjs/services/RequestContextContainer.cjs +1 -1
  15. package/_cjs/services/RequestContextContainer.cjs.map +1 -1
  16. package/_src/RequestContext.ts +2 -2
  17. package/_src/api/setupRequest.ts +1 -1
  18. package/_src/services/Emailer/service.ts +2 -2
  19. package/_src/services/Operations/live.ts +3 -3
  20. package/_src/services/QueueMaker/memQueue.ts +1 -1
  21. package/_src/services/QueueMaker/sbqueue.ts +1 -1
  22. package/_src/services/RequestContextContainer.ts +1 -1
  23. package/dist/RequestContext.d.ts +11 -11
  24. package/dist/RequestContext.js +3 -3
  25. package/dist/api/setupRequest.js +2 -2
  26. package/dist/services/Emailer/service.d.ts +3 -3
  27. package/dist/services/Emailer/service.d.ts.map +1 -1
  28. package/dist/services/Operations/live.js +4 -4
  29. package/dist/services/QueueMaker/memQueue.js +2 -2
  30. package/dist/services/QueueMaker/sbqueue.js +2 -2
  31. package/dist/services/Repository.d.ts +2 -2
  32. package/dist/services/Repository.d.ts.map +1 -1
  33. package/dist/services/RepositoryBase.js +2 -2
  34. package/dist/services/RequestContextContainer.d.ts +4 -4
  35. package/dist/services/RequestContextContainer.js +2 -2
  36. package/package.json +5 -5
  37. package/.cache/effect/095519d034161945a8d2616a506d3e7f35a9b3d868814f44c747429c60fc4e7f.content +0 -275
  38. package/.cache/effect/095519d034161945a8d2616a506d3e7f35a9b3d868814f44c747429c60fc4e7f.hash +0 -1
  39. package/.cache/effect/134218688132dfbdea493cbe1f26e73449f2759121df35ddd5448346b59c9a8d.content +0 -43
  40. package/.cache/effect/134218688132dfbdea493cbe1f26e73449f2759121df35ddd5448346b59c9a8d.hash +0 -1
  41. package/.cache/effect/14eb9da4ca6d22162888c7fdb7f39ab772d2a2dc6625db6031ecdb32ac89158f.content +0 -122
  42. package/.cache/effect/14eb9da4ca6d22162888c7fdb7f39ab772d2a2dc6625db6031ecdb32ac89158f.hash +0 -1
  43. package/.cache/effect/1bfd92946b11da4292f2ed99dc0e322462b60559148f9524abc20e26f70779e1.content +0 -86
  44. package/.cache/effect/1bfd92946b11da4292f2ed99dc0e322462b60559148f9524abc20e26f70779e1.hash +0 -1
  45. package/.cache/effect/49c1bd9ec26e6df78b994d8df0bfe21b119803fa4aa46349bf4679fd0f1e7cda.content +0 -49
  46. package/.cache/effect/49c1bd9ec26e6df78b994d8df0bfe21b119803fa4aa46349bf4679fd0f1e7cda.hash +0 -1
  47. package/.cache/effect/58d4ccde8bd2db7829706db5bebd01b99900ee83f0f6a8413b53d17cbd69f510.content +0 -70
  48. package/.cache/effect/58d4ccde8bd2db7829706db5bebd01b99900ee83f0f6a8413b53d17cbd69f510.hash +0 -1
  49. package/.cache/effect/72a5a16a6b62b63cd71719c833091128207d7e6c823cb32293549b3dd58c451b.content +0 -178
  50. package/.cache/effect/72a5a16a6b62b63cd71719c833091128207d7e6c823cb32293549b3dd58c451b.hash +0 -1
  51. package/.cache/effect/7a9c33db6aedaf00093a132c1d4e48e9d043cef05e932b8a37da24d44e224248.content +0 -57
  52. package/.cache/effect/7a9c33db6aedaf00093a132c1d4e48e9d043cef05e932b8a37da24d44e224248.hash +0 -1
  53. package/.cache/effect/8594f0f42afc0641b00e88998000cc47382a1d07da31f4a148f7976701ca22d5.content +0 -97
  54. package/.cache/effect/8594f0f42afc0641b00e88998000cc47382a1d07da31f4a148f7976701ca22d5.hash +0 -1
  55. package/.cache/effect/c67d971634d2dc8118b40452b61c9a51620c35809be4a89982476aa80701d852.content +0 -11
  56. package/.cache/effect/c67d971634d2dc8118b40452b61c9a51620c35809be4a89982476aa80701d852.hash +0 -1
  57. package/.cache/effect/f38adf43700dab905456a534a0690eaf882cff2cd576c731f23d6d14a3c3d659.content +0 -364
  58. package/.cache/effect/f38adf43700dab905456a534a0690eaf882cff2cd576c731f23d6d14a3c3d659.hash +0 -1
@@ -1,275 +0,0 @@
1
- export const $in = $in_1;
2
- export const $notIn = $notIn_1;
3
- export const $is = $is_1;
4
- export const $includes = $includes_1;
5
- export const $notIncludes = $notIncludes_1;
6
- export const $isnt = $isnt_1;
7
- export const $gt = $gt_1;
8
- export const $gte = $gte_1;
9
- export const $lt = $lt_1;
10
- export const $lte = $lte_1;
11
- export const $startsWith = $startsWith_1;
12
- export const $endsWith = $endsWith_1;
13
- export const $contains = $contains_1;
14
- export function makeWhereFilter() {
15
- const f = makeWhereFilter_();
16
- return f;
17
- }
18
- function makeHelpers() {
19
- const helpers = makeHelpers_();
20
- return helpers;
21
- }
22
- function makeHelpers_() {
23
- return {
24
- in(path, value) {
25
- return { key: path, value, t: "in" };
26
- },
27
- notIn(path, value) {
28
- return { key: path, value, t: "not-in" };
29
- },
30
- includes(path, value) {
31
- return { key: path, value, t: "includes" };
32
- },
33
- notIncludes(path, value) {
34
- return { key: path, value, t: "not-includes" };
35
- },
36
- eq(path, value) {
37
- return { key: path, value, t: "eq" };
38
- },
39
- notEq(path, value) {
40
- return { key: path, value, t: "not-eq" };
41
- },
42
- gt(path, value) {
43
- return { key: path, value, t: "gt" };
44
- },
45
- gte(path, value) {
46
- return { key: path, value, t: "gte" };
47
- },
48
- lt(path, value) {
49
- return { key: path, value, t: "lt" };
50
- },
51
- lte(path, value) {
52
- return { key: path, value, t: "lte" };
53
- }
54
- };
55
- }
56
- function makeWhereFilter_() {
57
- const helpers = makeHelpers();
58
- const f = Object.assign(helpers.eq, helpers);
59
- return f;
60
- }
61
- /**
62
- * @tsplus fluent string $in
63
- * @tsplus fluent boolean $in
64
- * @tsplus fluent number $in
65
- */
66
- function $in_1(_, ...v) {
67
- return $$in(v);
68
- }
69
- /**
70
- * @tsplus fluent string $notIn
71
- * @tsplus fluent boolean $notIn
72
- * @tsplus fluent number $notIn
73
- */
74
- function $notIn_1(_, ...v) {
75
- return $$notIn(v);
76
- }
77
- /**
78
- * @tsplus fluent string $is
79
- * @tsplus fluent Date $is
80
- * @tsplus fluent boolean $is
81
- * @tsplus fluent number $is
82
- * @tsplus fluent Object $is
83
- */
84
- function $is_1(_, v) {
85
- return $$is(v);
86
- }
87
- /**
88
- * @tsplus fluent ReadonlyArray $includes
89
- */
90
- function $includes_1(_, v) {
91
- return $$includes(v);
92
- }
93
- /**
94
- * @tsplus fluent ReadonlyArray $notIncludes
95
- */
96
- function $notIncludes_1(_, v) {
97
- return $$notIncludes(v);
98
- }
99
- /**
100
- * @tsplus fluent string $isnt
101
- * @tsplus fluent Date $isnt
102
- * @tsplus fluent boolean $isnt
103
- * @tsplus fluent number $isnt
104
- * @tsplus fluent Object $isnt
105
- */
106
- function $isnt_1(_, v) {
107
- return $$isnt(v);
108
- }
109
- /**
110
- * @tsplus fluent string $gt
111
- * @tsplus fluent Date $gt
112
- * @tsplus fluent boolean $gt
113
- * @tsplus fluent number $gt
114
- * @tsplus fluent Object $gt
115
- */
116
- function $gt_1(_, v) {
117
- return $$gt(v);
118
- }
119
- /**
120
- * @tsplus fluent string $gte
121
- * @tsplus fluent Date $gte
122
- * @tsplus fluent boolean $gte
123
- * @tsplus fluent number $gte
124
- * @tsplus fluent Object $gte
125
- */
126
- function $gte_1(_, v) {
127
- return $$gte(v);
128
- }
129
- /**
130
- * @tsplus fluent string $lt
131
- * @tsplus fluent Date $lt
132
- * @tsplus fluent boolean $lt
133
- * @tsplus fluent number $lt
134
- * @tsplus fluent Object $lt
135
- */
136
- function $lt_1(_, v) {
137
- return $$lt(v);
138
- }
139
- /**
140
- * @tsplus fluent string $lte
141
- * @tsplus fluent Date $lte
142
- * @tsplus fluent boolean $lte
143
- * @tsplus fluent number $lte
144
- * @tsplus fluent Object $lte
145
- */
146
- function $lte_1(_, v) {
147
- return $$lte(v);
148
- }
149
- function $is__(v) {
150
- return (_) => $is_1(_, v);
151
- }
152
- function $isnt__(v) {
153
- return (_) => $isnt_1(_, v);
154
- }
155
- function $includes__(v) {
156
- return (_) => $includes_1(_, v);
157
- }
158
- function $notIncludes__(v) {
159
- return (_) => $notIncludes_1(_, v);
160
- }
161
- function $lt__(v) {
162
- return (_) => $lt_1(_, v);
163
- }
164
- function $lte__(v) {
165
- return (_) => $lte_1(_, v);
166
- }
167
- function $gt__(v) {
168
- return (_) => $gt_1(_, v);
169
- }
170
- function $gte__(v) {
171
- return (_) => $gte_1(_, v);
172
- }
173
- function $in__(...v) {
174
- return (_) => $in_1(_, ...v);
175
- }
176
- function $notIn__(...v) {
177
- return (_) => $notIn_1(_, ...v);
178
- }
179
- function $startsWith__(v) {
180
- return (_) => $startsWith_1(_, v);
181
- }
182
- function $endsWith__(v) {
183
- return (_) => $endsWith_1(_, v);
184
- }
185
- function $contains__(v) {
186
- return (_) => $contains_1(_, v);
187
- }
188
- export const Filters = {
189
- $is: $is__,
190
- $isnt: $isnt__,
191
- $in: $in__,
192
- $notIn: $notIn__,
193
- $gt: $gt__,
194
- $gte: $gte__,
195
- $lt: $lt__,
196
- $lte: $lte__,
197
- $contains: $contains__,
198
- $endsWith: $endsWith__,
199
- $startsWith: $startsWith__,
200
- $includes: $includes__,
201
- $notIncludes: $notIncludes__
202
- };
203
- /**
204
- * @tsplus fluent string $startsWith
205
- */
206
- function $startsWith_1(_, v) {
207
- return $$startsWith(v);
208
- }
209
- /**
210
- * @tsplus fluent string $endsWith
211
- */
212
- function $endsWith_1(_, v) {
213
- return $$endsWith(v);
214
- }
215
- /**
216
- * @tsplus fluent string $contains
217
- */
218
- function $contains_1(_, v) {
219
- return $$contains(v);
220
- }
221
- function $$in(v) {
222
- return { t: "in", v };
223
- }
224
- function $$notIn(v) {
225
- return { t: "not-in", v };
226
- }
227
- function $$is(v) {
228
- return { t: "eq", v };
229
- }
230
- function $$isnt(v) {
231
- return { t: "not-eq", v };
232
- }
233
- function $$includes(v) {
234
- return { t: "includes", v };
235
- }
236
- function $$notIncludes(v) {
237
- return { t: "not-includes", v };
238
- }
239
- function $$lt(v) {
240
- return { t: "lt", v };
241
- }
242
- function $$lte(v) {
243
- return { t: "lte", v };
244
- }
245
- function $$gt(v) {
246
- return { t: "gt", v };
247
- }
248
- function $$gte(v) {
249
- return { t: "gte", v };
250
- }
251
- function $$contains(v) {
252
- return { t: "contains", v };
253
- }
254
- function $$startsWith(v) {
255
- return { t: "starts-with", v };
256
- }
257
- function $$endsWith(v) {
258
- return { t: "ends-with", v };
259
- }
260
- function f(p, b) {
261
- if (typeof b === "function")
262
- b = b(undefined);
263
- const obj = typeof b === "object" && b !== null;
264
- return makeFilter(p, obj ? b.v : b, obj ? b.t ?? "eq" : "eq");
265
- }
266
- function makeFilter(path, value, t) {
267
- return { key: path, t, value };
268
- }
269
- export function makeFilters() {
270
- function test(p, v) {
271
- return f(p, v);
272
- }
273
- return test;
274
- }
275
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6ImFBdUlnQixHQUFHO2FBWUgsTUFBTTthQWNOLEdBQUc7YUFPSCxTQUFTO2FBT1QsWUFBWTthQWFaLEtBQUs7YUFXTCxHQUFHO2FBV0gsSUFBSTthQVdKLEdBQUc7YUFXSCxJQUFJO2FBK0VKLFdBQVc7YUFPWCxTQUFTO2FBT1QsU0FBUztBQTNUekIsTUFBTSxVQUFVLGVBQWU7SUFDN0IsTUFBTSxDQUFDLEdBQUcsZ0JBQWdCLEVBQWdCLENBQUE7SUFDMUMsT0FBTyxDQUE4QixDQUFBO0FBQ3ZDLENBQUM7QUFFRCxTQUFTLFdBQVc7SUFDbEIsTUFBTSxPQUFPLEdBQUcsWUFBWSxFQUFnQixDQUFBO0lBQzVDLE9BQU8sT0FBcUMsQ0FBQTtBQUM5QyxDQUFDO0FBSUQsU0FBUyxZQUFZO0lBSW5CLE9BQU87UUFDTCxFQUFFLENBRUEsSUFBZ0IsRUFDaEIsS0FBbUI7WUFFbkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFhLEVBQUUsQ0FBQTtRQUMvQyxDQUFDO1FBQ0QsS0FBSyxDQUVILElBQWdCLEVBQ2hCLEtBQW1CO1lBRW5CLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsUUFBaUIsRUFBRSxDQUFBO1FBQ25ELENBQUM7UUFDRCxRQUFRLENBRU4sSUFBZ0IsRUFDaEIsS0FBUTtZQUVSLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsVUFBbUIsRUFBRSxDQUFBO1FBQ3JELENBQUM7UUFDRCxXQUFXLENBRVQsSUFBZ0IsRUFDaEIsS0FBUTtZQUVSLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsY0FBdUIsRUFBRSxDQUFBO1FBQ3pELENBQUM7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QTtBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpZWxkVmFsdWVzIH0gZnJvbSBcIi4vZmlsdGVyL3R5cGVzL2ZpZWxkcy5qc1wiXG5pbXBvcnQgdHlwZSB7IEZpZWxkUGF0aCwgRmllbGRQYXRoVmFsdWUgfSBmcm9tIFwiLi9maWx0ZXIvdHlwZXMvcGF0aC9lYWdlci5qc1wiXG5pbXBvcnQgdHlwZSB7IFN1cHBvcnRlZFZhbHVlcywgV2hlcmUgfSBmcm9tIFwiLi9zZXJ2aWNlcy9TdG9yZS5qc1wiXG5cbi8qKlxuICogdGhlIGZ1bmN0aW9uIGRlZmF1bHRzIHRvIFwiZXFcIiwgYnV0IGhhcyBhZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIG5vdEVxLCBpbiBhbmQgbm90SW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXaGVyZUZpbHRlcjxURmllbGRWYWx1ZXMgZXh0ZW5kcyBGaWVsZFZhbHVlcz5cbiAgZXh0ZW5kcyBSZXR1cm5UeXBlPHR5cGVvZiBtYWtlV2hlcmVGaWx0ZXJfPFRGaWVsZFZhbHVlcz4+XG57fVxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VXaGVyZUZpbHRlcjxURmllbGRWYWx1ZXMgZXh0ZW5kcyBGaWVsZFZhbHVlcz4oKSB7XG4gIGNvbnN0IGYgPSBtYWtlV2hlcmVGaWx0ZXJfPFRGaWVsZFZhbHVlcz4oKVxuICByZXR1cm4gZiBhcyBXaGVyZUZpbHRlcjxURmllbGRWYWx1ZXM+XG59XG5cbmZ1bmN0aW9uIG1ha2VIZWxwZXJzPFRGaWVsZFZhbHVlcyBleHRlbmRzIEZpZWxkVmFsdWVzPigpIHtcbiAgY29uc3QgaGVscGVycyA9IG1ha2VIZWxwZXJzXzxURmllbGRWYWx1ZXM+KClcbiAgcmV0dXJuIGhlbHBlcnMgYXMgV2hlcmVIZWxwZXJzPFRGaWVsZFZhbHVlcz5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaGVyZUhlbHBlcnM8VEZpZWxkVmFsdWVzIGV4dGVuZHMgRmllbGRWYWx1ZXM+IGV4dGVuZHMgUmV0dXJuVHlwZTx0eXBlb2YgbWFrZUhlbHBlcnNfPFRGaWVsZFZhbHVlcz4+IHt9XG5cbmZ1bmN0aW9uIG1ha2VIZWxwZXJzXzxURmllbGRWYWx1ZXMgZXh0ZW5kcyBGaWVsZFZhbHVlcz4oKSB7XG4gIHR5cGUgUGF0aHMgPSBGaWVsZFBhdGg8VEZpZWxkVmFsdWVzPlxuICB0eXBlIFZhbHVlPFRGaWVsZE5hbWUgZXh0ZW5kcyBQYXRocz4gPSBGaWVsZFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFRGaWVsZE5hbWU+XG5cbiAgcmV0dXJuIHtcbiAgICBpbjxURmllbGROYW1lIGV4dGVuZHMgUGF0aHMsIFYgZXh0ZW5kcyBWYWx1ZTxURmllbGROYW1lPj4oXG4gICAgICB0aGlzOiB2b2lkLFxuICAgICAgcGF0aDogVEZpZWxkTmFtZSxcbiAgICAgIHZhbHVlOiByZWFkb25seSBWW11cbiAgICApIHtcbiAgICAgIHJldHVybiB7IGtleTogcGF0aCwgdmFsdWUsIHQ6IFwiaW5cIiBhcyBjb25zdCB9XG4gICAgfSxcbiAgICBub3RJbjxURmllbGROYW1lIGV4dGVuZHMgUGF0aHMsIFYgZXh0ZW5kcyBWYWx1ZTxURmllbGROYW1lPj4oXG4gICAgICB0aGlzOiB2b2lkLFxuICAgICAgcGF0aDogVEZpZWxkTmFtZSxcbiAgICAgIHZhbHVlOiByZWFkb25seSBWW11cbiAgICApIHtcbiAgICAgIHJldHVybiB7IGtleTogcGF0aCwgdmFsdWUsIHQ6IFwibm90LWluXCIgYXMgY29uc3QgfVxuICAgIH0sXG4gICAgaW5jbHVkZXM8VEZpZWxkTmFtZSBleHRlbmRzIFBhdGhzLCBWIGV4dGVuZHMgVmFsdWU8VEZpZWxkTmFtZT4+KFxuICAgICAgdGhpczogdm9pZCxcbiAgICAgIHBhdGg6IFRGaWVsZE5hbWUsXG4gICAgICB2YWx1ZTogVlxuICAgICkge1xuICAgICAgcmV0dXJuIHsga2V5OiBwYXRoLCB2YWx1ZSwgdDogXCJpbmNsdWRlc1wiIGFzIGNvbnN0IH1cbiAgICB9LFxuICAgIG5vdEluY2x1ZGVzPFRGaWVsZE5hbWUgZXh0ZW5kcyBQYXRocywgViBleHRlbmRzIFZhbHVlPFRGaWVsZE5hbWU+PihcbiAgICAgIHRoaXM6IHZvaWQsXG4gICAgICBwYXRoOiBURmllbGROYW1lLFxuICAgICAgdmFsdWU6IFZcbiAgICApIHtcbiAgICAgIHJldHVybiB7IGtleTogcGF0aCwgdmFsdWUsIHQ6IFwibm90LWluY2x1ZGVzXCIgYXMgY29uc3QgfVxuICAgIH0sXG4gICAgZXE8VEZpZWxkTmFtZSBleHRlbmRzIFBhdGhzLCBWIGV4dGVuZHMgVmFsdWU8VEZpZWxkTmFtZT4+KFxuICAgICAgdGhpczogdm9pZCxcbiAgICAgIHBhdGg6IFRGaWVsZE5hbWUsXG4gICAgICB2YWx1ZTogVlxuICAgICkge1xuICAgICAgcmV0dXJuIHsga2V5OiBwYXRoLCB2YWx1ZSwgdDogXCJlcVwiIGFzIGNvbnN0IH1cbiAgICB9LFxuICAgIG5vdEVxPFRGaWVsZE5hbWUgZXh0ZW5kcyBQYXRocywgViBleHRlbmRzIFZhbHVlPFRGaWVsZE5hbWU+PihcbiAgICAgIHRoaXM6IHZvaWQsXG4gICAgICBwYXRoOiBURmllbGROYW1lLFxuICAgICAgdmFsdWU6IFZcbiAgICApIHtcbiAgICAgIHJldHVybiB7IGtleTogcGF0aCwgdmFsdWUsIHQ6IFwibm90LWVxXCIgYXMgY29uc3QgfVxuICAgIH0sXG4gICAgZ3Q8VEZpZWxkTmFtZSBleHRlbmRzIFBhdGhzLCBWIGV4dGVuZHMgVmFsdWU8VEZpZWxkTmFtZT4+KFxuICAgICAgdGhpczogdm9pZCxcbiAgICAgIHBhdGg6IFRGaWVsZE5hbWUsXG4gICAgICB2YWx1ZTogVlxuICAgICkge1xuICAgICAgcmV0dXJuIHsga2V5OiBwYXRoLCB2YWx1ZSwgdDogXCJndFwiIGFzIGNvbnN0IH1cbiAgICB9LFxuICAgIGd0ZTxURmllbGROYW1lIGV4dGVuZHMgUGF0aHMsIFYgZXh0ZW5kcyBWYWx1ZTxURmllbGROYW1lPj4oXG4gICAgICB0aGlzOiB2b2lkLFxuICAgICAgcGF0aDogVEZpZWxkTmFtZSxcbiAgICAgIHZhbHVlOiBWXG4gICAgKSB7XG4gICAgICByZXR1cm4geyBrZXk6IHBhdGgsIHZhbHVlLCB0OiBcImd0ZVwiIGFzIGNvbnN0IH1cbiAgICB9LFxuICAgIGx0PFRGaWVsZE5hbWUgZXh0ZW5kcyBQYXRocywgViBleHRlbmRzIFZhbHVlPFRGaWVsZE5hbWU+PihcbiAgICAgIHRoaXM6IHZvaWQsXG4gICAgICBwYXRoOiBURmllbGROYW1lLFxuICAgICAgdmFsdWU6IFZcbiAgICApIHtcbiAgICAgIHJldHVybiB7IGtleTogcGF0aCwgdmFsdWUsIHQ6IFwibHRcIiBhcyBjb25zdCB9XG4gICAgfSxcbiAgICBsdGU8VEZpZWxkTmFtZSBleHRlbmRzIFBhdGhzLCBWIGV4dGVuZHMgVmFsdWU8VEZpZWxkTmFtZT4+KFxuICAgICAgdGhpczogdm9pZCxcbiAgICAgIHBhdGg6IFRGaWVsZE5hbWUsXG4gICAgICB2YWx1ZTogVlxuICAgICkge1xuICAgICAgcmV0dXJuIHsga2V5OiBwYXRoLCB2YWx1ZSwgdDogXCJsdGVcIiBhcyBjb25zdCB9XG4gICAgfVxuICB9IHNhdGlzZmllcyBSZWNvcmQ8c3RyaW5nLCAoLi4uYXJnczogYW55W10pID0+IFdoZXJlPlxufVxuXG5mdW5jdGlvbiBtYWtlV2hlcmVGaWx0ZXJfPFRGaWVsZFZhbHVlcyBleHRlbmRzIEZpZWxkVmFsdWVzPigpIHtcbiAgY29uc3QgaGVscGVycyA9IG1ha2VIZWxwZXJzPFRGaWVsZFZhbHVlcz4oKVxuICBjb25zdCBmID0gT2JqZWN0LmFzc2lnbihoZWxwZXJzLmVxLCBoZWxwZXJzKVxuICByZXR1cm4gZlxufVxuXG5leHBvcnQgdHlwZSBXaGVyZVZhbHVlPFxuICBUIGV4dGVuZHNcbiAgICB8IFwiZXFcIlxuICAgIHwgXCJub3QtZXFcIlxuICAgIHwgXCJsdFwiXG4gICAgfCBcImd0XCJcbiAgICB8IFwibHRlXCJcbiAgICB8IFwiZ3RlXCJcbiAgICB8IFwic3RhcnRzLXdpdGhcIlxuICAgIHwgXCJlbmRzLXdpdGhcIlxuICAgIHwgXCJjb250YWluc1wiXG4gICAgfCBcImluXCJcbiAgICB8IFwibm90LWluXCJcbiAgICB8IFwiaW5jbHVkZXNcIlxuICAgIHwgXCJub3QtaW5jbHVkZXNcIixcbiAgQSwgLy8gZXh0ZW5kcyBTdXBwb3J0ZWRWYWx1ZXMsXG4gIFYgZXh0ZW5kcyBBID0gQVxuPiA9IHsgdDogVDsgdjogViB9XG5cbmV4cG9ydCB0eXBlIFdoZXJlSW48VCBleHRlbmRzIFwiaW5cIiB8IFwibm90LWluXCIsIFYsIFZhbHVlcyBleHRlbmRzIHJlYWRvbmx5IFZbXSA9IHJlYWRvbmx5IFZbXT4gPSB7XG4gIHQ6IFRcbiAgdjogVmFsdWVzXG59XG5cbi8qKlxuICogQHRzcGx1cyBmbHVlbnQgc3RyaW5nICRpblxuICogQHRzcGx1cyBmbHVlbnQgYm9vbGVhbiAkaW5cbiAqIEB0c3BsdXMgZmx1ZW50IG51bWJlciAkaW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uICRpbjxBIGV4dGVuZHMgU3VwcG9ydGVkVmFsdWVzLCBWYWx1ZXMgZXh0ZW5kcyByZWFkb25seSBBW10+KFxuICBfOiBBLFxuICAuLi52OiBWYWx1ZXNcbik6IFdoZXJlSW48XCJpblwiLCBBLCBWYWx1ZXM+IHtcbiAgcmV0dXJuICQkaW4odilcbn1cblxuLyoqXG4gKiBAdHNwbHVzIGZsdWVudCBzdHJpbmcgJG5vdEluXG4gKiBAdHNwbHVzIGZsdWVudCBib29sZWFuICRub3RJblxuICogQHRzcGx1cyBmbHVlbnQgbnVtYmVyICRub3RJblxuICovXG5leHBvcnQgZnVuY3Rpb24gJG5vdEluPEEgZXh0ZW5kcyBTdXBwb3J0ZWRWYWx1ZXMsIFZhbHVlcyBleHRlbmRzIHJlYWRvbmx5IEFbXT4oXG4gIF86IEEsXG4gIC4uLnY6IFZhbHVlc1xuKTogV2hlcmVJbjxcIm5vdC1pblwiLCBBLCBWYWx1ZXM+IHtcbiAgcmV0dXJuICQkbm90SW4odilcbn1cblxuLyoqXG4gKiBAdHNwbHVzIGZsdWVudCBzdHJpbmcgJGlzXG4gKiBAdHNwbHVzIGZsdWVudCBEYXRlICRpc1xuICogQHRzcGx1cyBmbHVlbnQgYm9vbGVhbiAkaXNcbiAqIEB0c3BsdXMgZmx1ZW50IG51bWJlciAkaXNcbiAqIEB0c3BsdXMgZmx1ZW50IE9iamVjdCAkaXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uICRpczxBLCBWIGV4dGVuZHMgQT4oXzogQSwgdjogVik6IFdoZXJlVmFsdWU8XCJlcVwiLCBBLCBWPiB7XG4gIHJldHVybiAkJGlzKHYpXG59XG5cbi8qKlxuICogQHRzcGx1cyBmbHVlbnQgUmVhZG9ubHlBcnJheSAkaW5jbHVkZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uICRpbmNsdWRlczxBIGV4dGVuZHMgcmVhZG9ubHkgYW55W10sIFYgZXh0ZW5kcyBBW251bWJlcl0+KF86IEEsIHY6IFYpOiBXaGVyZVZhbHVlPFwiaW5jbHVkZXNcIiwgQSwgVj4ge1xuICByZXR1cm4gJCRpbmNsdWRlcyh2KVxufVxuXG4vKipcbiAqIEB0c3BsdXMgZmx1ZW50IFJlYWRvbmx5QXJyYXkgJG5vdEluY2x1ZGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiAkbm90SW5jbHVkZXM8QSBleHRlbmRzIHJlYWRvbmx5IGFueVtdLCBWIGV4dGVuZHMgQVtudW1iZXJdPihcbiAgXzogQSxcbiAgdjogVlxuKTogV2hlcmVWYWx1ZTxcIm5vdC1pbmNsdWRlc1wiLCBBLCBWPiB7XG4gIHJldHVybiAkJG5vdEluY2x1ZGVzKHYpXG59XG4vKipcbiAqIEB0c3BsdXMgZmx1ZW50IHN0cmluZyAkaXNudFxuICogQHRzcGx1cyBmbHVlbnQgRGF0ZSAkaXNudFxuICogQHRzcGx1cyBmbHVlbnQgYm9vbGVhbiAkaXNudFxuICogQHRzcGx1cyBmbHVlbnQgbnVtYmVyICRpc250XG4gKiBAdHNwbHVzIGZsdWVudCBPYmplY3QgJGlzbnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uICRpc250PEEsIFYgZXh0ZW5kcyBBPihfOiBBLCB2OiBWKTogV2hlcmVWYWx1ZTxcIm5vdC1lcVwiLCBBLCBWPiB7XG4gIHJldHVybiAkJGlzbnQodilcbn1cblxuLyoqXG4gKiBAdHNwbHVzIGZsdWVudCBzdHJpbmcgJGd0XG4gKiBAdHNwbHVzIGZsdWVudCBEYXRlICRndFxuICogQHRzcGx1cyBmbHVlbnQgYm9vbGVhbiAkZ3RcbiAqIEB0c3BsdXMgZmx1ZW50IG51bWJlciAkZ3RcbiAqIEB0c3BsdXMgZmx1ZW50IE9iamVjdCAkZ3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uICRndDxBLCBWIGV4dGVuZHMgQT4oXzogQSwgdjogVik6IFdoZXJlVmFsdWU8XCJndFwiLCBBLCBWPiB7XG4gIHJldHVybiAkJGd0KHYpXG59XG5cbi8qKlxuICogQHRzcGx1cyBmbHVlbnQgc3RyaW5nICRndGVcbiAqIEB0c3BsdXMgZmx1ZW50IERhdGUgJGd0ZVxuICogQHRzcGx1cyBmbHVlbnQgYm9vbGVhbiAkZ3RlXG4gKiBAdHNwbHVzIGZsdWVudCBudW1iZXIgJGd0ZVxuICogQHRzcGx1cyBmbHVlbnQgT2JqZWN0ICRndGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uICRndGU8QSwgViBleHRlbmRzIEE+KF86IEEsIHY6IFYpOiBXaGVyZVZhbHVlPFwiZ3RlXCIsIEEsIFY+IHtcbiAgcmV0dXJuICQkZ3RlKHYpXG59XG5cbi8qKlxuICogQHRzcGx1cyBmbHVlbnQgc3RyaW5nICRsdFxuICogQHRzcGx1cyBmbHVlbnQgRGF0ZSAkbHRcbiAqIEB0c3BsdXMgZmx1ZW50IGJvb2xlYW4gJGx0XG4gKiBAdHNwbHVzIGZsdWVudCBudW1iZXIgJGx0XG4gKiBAdHNwbHVzIGZsdWVudCBPYmplY3QgJGx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiAkbHQ8QSwgViBleHRlbmRzIEE+KF86IEEsIHY6IFYpOiBXaGVyZVZhbHVlPFwibHRcIiwgQSwgVj4ge1xuICByZXR1cm4gJCRsdCh2KVxufVxuXG4vKipcbiAqIEB0c3BsdXMgZmx1ZW50IHN0cmluZyAkbHRlXG4gKiBAdHNwbHVzIGZsdWVudCBEYXRlICRsdGVcbiAqIEB0c3BsdXMgZmx1ZW50IGJvb2xlYW4gJGx0ZVxuICogQHRzcGx1cyBmbHVlbnQgbnVtYmVyICRsdGVcbiAqIEB0c3BsdXMgZmx1ZW50IE9iamVjdCAkbHRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiAkbHRlPEEsIFYgZXh0ZW5kcyBBPihfOiBBLCB2OiBWKTogV2hlcmVWYWx1ZTxcImx0ZVwiLCBBLCBWPiB7XG4gIHJldHVybiAkJGx0ZSh2KVxufVxuXG5mdW5jdGlvbiAkaXNfXzxWIGV4dGVuZHMgQSwgQT4odjogVikge1xuICByZXR1cm4gKF86IEEpID0+ICRpcyhfLCB2KVxufVxuXG5mdW5jdGlvbiAkaXNudF9fPFYgZXh0ZW5kcyBBLCBBPih2OiBWKSB7XG4gIHJldHVybiAoXzogQSkgPT4gJGlzbnQoXywgdilcbn1cblxuZnVuY3Rpb24gJGluY2x1ZGVzX188ViBleHRlbmRzIEFbbnVtYmVyXSwgQSBleHRlbmRzIHJlYWRvbmx5IGFueVtdPih2OiBWKSB7XG4gIHJldHVybiAoXzogQSkgPT4gJGluY2x1ZGVzKF8sIHYpXG59XG5cbmZ1bmN0aW9uICRub3RJbmNsdWRlc19fPFYgZXh0ZW5kcyBBW251bWJlcl0sIEEgZXh0ZW5kcyByZWFkb25seSBhbnlbXT4odjogVikge1xuICByZXR1cm4gKF86IEEpID0+ICRub3RJbmNsdWRlcyhfLCB2KVxufVxuXG5mdW5jdGlvbiAkbHRfXzxWIGV4dGVuZHMgQSwgQT4odjogVikge1xuICByZXR1cm4gKF86IEEpID0+ICRsdChfLCB2KVxufVxuXG5mdW5jdGlvbiAkbHRlX188ViBleHRlbmRzIEEsIEE+KHY6IFYpIHtcbiAgcmV0dXJuIChfOiBBKSA9PiAkbHRlKF8sIHYpXG59XG5cbmZ1bmN0aW9uICRndF9fPFYgZXh0ZW5kcyBBLCBBPih2OiBWKSB7XG4gIHJldHVybiAoXzogQSkgPT4gJGd0KF8sIHYpXG59XG5cbmZ1bmN0aW9uICRndGVfXzxWIGV4dGVuZHMgQSwgQT4odjogVikge1xuICByZXR1cm4gKF86IEEpID0+ICRndGUoXywgdilcbn1cblxuZnVuY3Rpb24gJGluX188QSBleHRlbmRzIFN1cHBvcnRlZFZhbHVlcywgVmFsdWVzIGV4dGVuZHMgcmVhZG9ubHkgQVtdPihcbiAgLi4udjogVmFsdWVzXG4pIHtcbiAgcmV0dXJuIChfOiBBKSA9PiAkaW4oXywgLi4udilcbn1cblxuZnVuY3Rpb24gJG5vdEluX188QSBleHRlbmRzIFN1cHBvcnRlZFZhbHVlcywgVmFsdWVzIGV4dGVuZHMgcmVhZG9ubHkgQVtdPihcbiAgLi4udjogVmFsdWVzXG4pIHtcbiAgcmV0dXJuIChfOiBBKSA9PiAkbm90SW4oXywgLi4udilcbn1cblxuZnVuY3Rpb24gJHN0YXJ0c1dpdGhfXzxWIGV4dGVuZHMgQSwgQSBleHRlbmRzIHN0cmluZz4odjogVikge1xuICByZXR1cm4gKF86IEEpID0+ICRzdGFydHNXaXRoKF8sIHYpXG59XG5cbmZ1bmN0aW9uICRlbmRzV2l0aF9fPFYgZXh0ZW5kcyBBLCBBIGV4dGVuZHMgc3RyaW5nPih2OiBWKSB7XG4gIHJldHVybiAoXzogQSkgPT4gJGVuZHNXaXRoKF8sIHYpXG59XG5cbmZ1bmN0aW9uICRjb250YWluc19fPFYgZXh0ZW5kcyBBLCBBIGV4dGVuZHMgc3RyaW5nPih2OiBWKSB7XG4gIHJldHVybiAoXzogQSkgPT4gJGNvbnRhaW5zKF8sIHYpXG59XG5cbmV4cG9ydCBjb25zdCBGaWx0ZXJzID0ge1xuICAkaXM6ICRpc19fLFxuICAkaXNudDogJGlzbnRfXyxcbiAgJGluOiAkaW5fXyxcbiAgJG5vdEluOiAkbm90SW5fXyxcbiAgJGd0OiAkZ3RfXyxcbiAgJGd0ZTogJGd0ZV9fLFxuICAkbHQ6ICRsdF9fLFxuICAkbHRlOiAkbHRlX18sXG4gICRjb250YWluczogJGNvbnRhaW5zX18sXG4gICRlbmRzV2l0aDogJGVuZHNXaXRoX18sXG4gICRzdGFydHNXaXRoOiAkc3RhcnRzV2l0aF9fLFxuICAkaW5jbHVkZXM6ICRpbmNsdWRlc19fLFxuICAkbm90SW5jbHVkZXM6ICRub3RJbmNsdWRlc19fXG59XG5cbi8qKlxuICogQHRzcGx1cyBmbHVlbnQgc3RyaW5nICRzdGFydHNXaXRoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiAkc3RhcnRzV2l0aDxBIGV4dGVuZHMgc3RyaW5nLCBWIGV4dGVuZHMgQT4oXzogQSwgdjogVik6IFdoZXJlVmFsdWU8XCJzdGFydHMtd2l0aFwiLCBBLCBWPiB7XG4gIHJldHVybiAkJHN0YXJ0c1dpdGgodilcbn1cblxuLyoqXG4gKiBAdHNwbHVzIGZsdWVudCBzdHJpbmcgJGVuZHNXaXRoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiAkZW5kc1dpdGg8QSBleHRlbmRzIHN0cmluZywgViBleHRlbmRzIEE+KF86IEEsIHY6IFYpOiBXaGVyZVZhbHVlPFwiZW5kcy13aXRoXCIsIEEsIFY+IHtcbiAgcmV0dXJuICQkZW5kc1dpdGgodilcbn1cblxuLyoqXG4gKiBAdHNwbHVzIGZsdWVudCBzdHJpbmcgJGNvbnRhaW5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiAkY29udGFpbnM8QSBleHRlbmRzIHN0cmluZywgViBleHRlbmRzIEE+KF86IEEsIHY6IFYpOiBXaGVyZVZhbHVlPFwiY29udGFpbnNcIiwgQSwgVj4ge1xuICByZXR1cm4gJCRjb250YWlucyh2KVxufVxuXG5mdW5jdGlvbiAkJGluPEwgZXh0ZW5kcyByZWFkb25seSBhbnlbXT4odjogTCkge1xuICByZXR1cm4geyB0OiBcImluXCIgYXMgY29uc3QsIHYgfVxufVxuXG5mdW5jdGlvbiAkJG5vdEluPEwgZXh0ZW5kcyByZWFkb25seSBhbnlbXT4odjogTCkge1xuICByZXR1cm4geyB0OiBcIm5vdC1pblwiIGFzIGNvbnN0LCB2IH1cbn1cbmZ1bmN0aW9uICQkaXM8QT4odjogQSkge1xuICByZXR1cm4geyB0OiBcImVxXCIgYXMgY29uc3QsIHYgfVxufVxuZnVuY3Rpb24gJCRpc250PEE+KHY6IEEpIHtcbiAgcmV0dXJuIHsgdDogXCJub3QtZXFcIiBhcyBjb25zdCwgdiB9XG59XG5mdW5jdGlvbiAkJGluY2x1ZGVzPEE+KHY6IEEpIHtcbiAgcmV0dXJuIHsgdDogXCJpbmNsdWRlc1wiIGFzIGNvbnN0LCB2IH1cbn1cbmZ1bmN0aW9uICQkbm90SW5jbHVkZXM8QT4odjogQSkge1xuICByZXR1cm4geyB0OiBcIm5vdC1pbmNsdWRlc1wiIGFzIGNvbnN0LCB2IH1cbn1cblxuZnVuY3Rpb24gJCRsdDxBPih2OiBBKSB7XG4gIHJldHVybiB7IHQ6IFwibHRcIiBhcyBjb25zdCwgdiB9XG59XG5cbmZ1bmN0aW9uICQkbHRlPEE+KHY6IEEpIHtcbiAgcmV0dXJuIHsgdDogXCJsdGVcIiBhcyBjb25zdCwgdiB9XG59XG5mdW5jdGlvbiAkJGd0PEE+KHY6IEEpIHtcbiAgcmV0dXJuIHsgdDogXCJndFwiIGFzIGNvbnN0LCB2IH1cbn1cblxuZnVuY3Rpb24gJCRndGU8QT4odjogQSkge1xuICByZXR1cm4geyB0OiBcImd0ZVwiIGFzIGNvbnN0LCB2IH1cbn1cblxuZnVuY3Rpb24gJCRjb250YWluczxBIGV4dGVuZHMgc3RyaW5nPih2OiBBKSB7XG4gIHJldHVybiB7IHQ6IFwiY29udGFpbnNcIiBhcyBjb25zdCwgdiB9XG59XG5mdW5jdGlvbiAkJHN0YXJ0c1dpdGg8QSBleHRlbmRzIHN0cmluZz4odjogQSkge1xuICByZXR1cm4geyB0OiBcInN0YXJ0cy13aXRoXCIgYXMgY29uc3QsIHYgfVxufVxuZnVuY3Rpb24gJCRlbmRzV2l0aDxBIGV4dGVuZHMgc3RyaW5nPih2OiBBKSB7XG4gIHJldHVybiB7IHQ6IFwiZW5kcy13aXRoXCIgYXMgY29uc3QsIHYgfVxufVxuXG50eXBlIFZhbHVlVHlwZTxWPiA9IHtcbiAgdDogXCJpblwiIHwgXCJub3QtaW5cIlxuICB2OiByZWFkb25seSBWW11cbn0gfCB7IHQ6IFwiZXFcIiB8IFwibm90LWVxXCI7IHY6IFYgfVxuXG50eXBlIFRUeXBlPFQ+ID0gVCBleHRlbmRzIFZhbHVlVHlwZTxhbnk+ID8gVFtcInRcIl0gOiBuZXZlclxudHlwZSBWVHlwZTxUPiA9IFQgZXh0ZW5kcyBWYWx1ZVR5cGU8YW55PiA/IFRbXCJ2XCJdIDogbmV2ZXJcblxuZnVuY3Rpb24gZihwOiBzdHJpbmcsIGI6IGFueSkge1xuICBpZiAodHlwZW9mIGIgPT09IFwiZnVuY3Rpb25cIikgYiA9IGIodW5kZWZpbmVkKVxuICBjb25zdCBvYmogPSB0eXBlb2YgYiA9PT0gXCJvYmplY3RcIiAmJiBiICE9PSBudWxsXG4gIHJldHVybiBtYWtlRmlsdGVyKHAsIG9iaiA/IGIudiA6IGIsIG9iaiA/IGIudCA/PyBcImVxXCIgOiBcImVxXCIpXG59XG5cbmZ1bmN0aW9uIG1ha2VGaWx0ZXI8VCBleHRlbmRzIFwiaW5cIiB8IFwibm90LWluXCIgfCBcImVxXCIgfCBcIm5vdC1lcVwiPihwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnksIHQ6IFQpIHtcbiAgcmV0dXJuIHsga2V5OiBwYXRoLCB0LCB2YWx1ZSB9XG59XG5cbnR5cGUgRklMPFMsIEsgZXh0ZW5kcyBzdHJpbmcsIFQgZXh0ZW5kcyBcImluXCIgfCBcIm5vdC1pblwiIHwgXCJlcVwiIHwgXCJub3QtZXFcIiwgVj4gPSB7XG4gIGtleTogS1xuICB0OiBUXG4gIHZhbHVlOiBWXG4gIHJlYWRvbmx5IFM6IFNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VGaWx0ZXJzPFQgZXh0ZW5kcyBGaWVsZFZhbHVlcz4oKSB7XG4gIHR5cGUgUGF0aHMgPSBGaWVsZFBhdGg8VD5cbiAgdHlwZSBWYWx1ZTxURmllbGROYW1lIGV4dGVuZHMgUGF0aHM+ID0gRmllbGRQYXRoVmFsdWU8VCwgVEZpZWxkTmFtZT5cblxuICBmdW5jdGlvbiB0ZXN0PFxuICAgIFRGaWVsZE5hbWUgZXh0ZW5kcyBQYXRocyxcbiAgICBBIGV4dGVuZHMgVmFsdWU8VEZpZWxkTmFtZT4sXG4gICAgVmFsXG4gID4oXG4gICAgcGF0aDogVEZpZWxkTmFtZSxcbiAgICB2YWx1ZTogKHY6IEEpID0+IFZhbFxuICApOiBGSUw8VCwgc3RyaW5nLCBUVHlwZTxWYWw+LCBWVHlwZTxWYWw+PlxuICBmdW5jdGlvbiB0ZXN0PFxuICAgIFRGaWVsZE5hbWUgZXh0ZW5kcyBQYXRocyxcbiAgICBBIGV4dGVuZHMgVmFsdWU8VEZpZWxkTmFtZT5cbiAgPihcbiAgICBwYXRoOiBURmllbGROYW1lLFxuICAgIHZhbHVlOiBBXG4gICk6IEZJTDxULCBzdHJpbmcsIFwiZXFcIiwgQT5cbiAgZnVuY3Rpb24gdGVzdChwOiBzdHJpbmcsIHY6IGFueSkge1xuICAgIHJldHVybiBmKHAsIHYpIGFzIGFueVxuICB9XG4gIHJldHVybiB0ZXN0XG59XG5cbi8vIGV4cG9ydCBmdW5jdGlvbiBtYWtlRmlsdGVyPFRGaWVsZFZhbHVlcyBleHRlbmRzIEZpZWxkVmFsdWVzPigpIHtcbi8vICAgY29uc3QgZiA9IG1ha2VGaWx0ZXJfPFRGaWVsZFZhbHVlcz4oKVxuLy8gICByZXR1cm4gZiBhcyBXaGVyZUZpbHRlckhlbHBlcjxURmllbGRWYWx1ZXM+XG4vLyB9XG5cbi8vIGV4cG9ydCBpbnRlcmZhY2UgV2hlcmVGaWx0ZXJIZWxwZXI8VEZpZWxkVmFsdWVzIGV4dGVuZHMgRmllbGRWYWx1ZXM+IGV4dGVuZHMgUmV0dXJuVHlwZTx0eXBlb2YgbWFrZUZpbHRlcl88VEZpZWxkVmFsdWVzPj4ge31cblxuLy8gZnVuY3Rpb24gbWFrZUZpbHRlcl88VEZpZWxkVmFsdWVzIGV4dGVuZHMgRmllbGRWYWx1ZXM+KCkge1xuLy8gICBmdW5jdGlvbiBlcTxURmllbGROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4sIFYgZXh0ZW5kcyBGaWVsZFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFRGaWVsZE5hbWU+Pihcbi8vICAgICBwYXRoOiBURmllbGROYW1lLFxuLy8gICAgIHZhbHVlOiBWXG4vLyAgICkge1xuLy8gICAgIHJldHVybiB7IGtleTogcGF0aCwgdmFsdWUsIHQ6IFwiZXFcIiBhcyBjb25zdCB9XG4vLyAgIH1cbi8vICAgY29uc3QgZiA9IE9iamVjdC5hc3NpZ24oZXEgc2F0aXNmaWVzICguLi5hcmdzOiBhbnlbXSkgPT4gV2hlcmUsIHtcbi8vICAgICBpbjxURmllbGROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4sIFYgZXh0ZW5kcyBGaWVsZFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFRGaWVsZE5hbWU+Pihcbi8vICAgICAgIHBhdGg6IFRGaWVsZE5hbWUsXG4vLyAgICAgICB2YWx1ZTogcmVhZG9ubHkgVltdXG4vLyAgICAgKSB7XG4vLyAgICAgICByZXR1cm4geyBrZXk6IHBhdGgsIHZhbHVlLCB0OiBcImluXCIgYXMgY29uc3QgfVxuLy8gICAgIH0sXG4vLyAgICAgbm90SW48VEZpZWxkTmFtZSBleHRlbmRzIEZpZWxkUGF0aDxURmllbGRWYWx1ZXM+LCBWIGV4dGVuZHMgRmllbGRQYXRoVmFsdWU8VEZpZWxkVmFsdWVzLCBURmllbGROYW1lPj4oXG4vLyAgICAgICBwYXRoOiBURmllbGROYW1lLFxuLy8gICAgICAgdmFsdWU6IHJlYWRvbmx5IFZbXVxuLy8gICAgICkge1xuLy8gICAgICAgcmV0dXJuIHsga2V5OiBwYXRoLCB2YWx1ZSwgdDogXCJub3QtaW5cIiBhcyBjb25zdCB9XG4vLyAgICAgfSxcbi8vICAgICBlcSxcbi8vICAgICBub3RFcTxURmllbGROYW1lIGV4dGVuZHMgRmllbGRQYXRoPFRGaWVsZFZhbHVlcz4sIFYgZXh0ZW5kcyBGaWVsZFBhdGhWYWx1ZTxURmllbGRWYWx1ZXMsIFRGaWVsZE5hbWU+Pihcbi8vICAgICAgIHBhdGg6IFRGaWVsZE5hbWUsXG4vLyAgICAgICB2YWx1ZTogVlxuLy8gICAgICkge1xuLy8gICAgICAgcmV0dXJuIHsga2V5OiBwYXRoLCB2YWx1ZSwgdDogXCJub3QtZXFcIiBhcyBjb25zdCB9XG4vLyAgICAgfVxuLy8gICB9IHNhdGlzZmllcyBSZWNvcmQ8c3RyaW5nLCAoLi4uYXJnczogYW55W10pID0+IFdoZXJlPilcbi8vICAgcmV0dXJuIGZcbi8vIH1cbiJdfQ==
@@ -1 +0,0 @@
1
- 3fdb756675565f3f5e5cdb6e2680f07a60ced261a3790df2cdfc23a21d160956
@@ -1,43 +0,0 @@
1
- import * as tsplus_module_1 from "@effect/io/Effect";
2
- import * as tsplus_module_2 from "@effect/data/Either";
3
- import * as tsplus_module_3 from "@effect/io/Logger";
4
- import { InvalidStateError } from "../../errors.js";
5
- import { checkPaths } from "./makeJsonSchema.js";
6
- const path = { path: "/securities/:id/search/:id2", method: "get" };
7
- const equalPaths = [
8
- "/securities/:idt/search/:id2",
9
- "/securities/:id/search/:id2t",
10
- "/securities/:idt/search/:id2t"
11
- ]
12
- .map((path) => ({ path, method: "get" }));
13
- const differentPaths = [
14
- "/securities/search/:id2",
15
- "/securities/:id/search/",
16
- "/securities/:id/search/:id2",
17
- "/securities/:id/:id2/search/:id3"
18
- ]
19
- .map((path) => ({ path, method: "get" }))
20
- .concat([
21
- "/securities/:idt/search/:id2"
22
- ]
23
- .map((path) => ({ path, method: "post" })));
24
- test("works", async () => {
25
- expect(await tsplus_module_1.runPromise((checkPaths(differentPaths)))).toStrictEqual(differentPaths);
26
- for (const p of equalPaths) {
27
- expect(await tsplus_module_1.runPromiseEither(checkPaths([path, p]))).toStrictEqual(tsplus_module_2.left(new InvalidStateError(`Duplicate method ${p.method} for path ${p.path}`)));
28
- }
29
- expect(await tsplus_module_1.runPromiseEither(checkPaths(["a/:p1/c/:p2", "a/b"].map((path) => ({ path, method: "get" })))))
30
- .toStrictEqual(tsplus_module_2.left(new InvalidStateError(`Path /a/b/ is shadowed by /a/:p1/`)));
31
- expect(await tsplus_module_1.runPromiseEither(checkPaths(["a/:p1/c/:p2", "a/:p111/c/d"].map((path) => ({ path, method: "get" })))))
32
- .toStrictEqual(tsplus_module_2.left(new InvalidStateError(`Path /a/:p1/c/d/ is shadowed by /a/:p1/c/:p2/`)));
33
- });
34
- test("log shadowing", async () => {
35
- const arr = [];
36
- const paths = ["a/b", "a/:p"].map((path) => ({ path, method: "get" }));
37
- const CustomLogger = tsplus_module_3.make((_, __, message) => {
38
- arr.push(message);
39
- });
40
- await tsplus_module_1.runPromise(tsplus_module_1.provideLayer(checkPaths(paths), tsplus_module_3.replace(tsplus_module_3.defaultLogger, CustomLogger)));
41
- expect(arr).toStrictEqual([`Path /a/:p/ is partially shadowed by /a/b/`]);
42
- });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUpzb25TY2hlbWEudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvYXBpL2V4cHJlc3MvbWFrZUpzb25TY2hlbWEudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFaEQsTUFBTSxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFBO0FBRW5FLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLDhCQUE4QjtJQUM5Qiw4QkFBOEI7SUFDOUIsK0JBQStCO0NBQ2hDO0tBQ0UsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFM0MsTUFBTSxjQUFjLEdBR2Q7SUFDSix5QkFBeUI7SUFDekIseUJBQXlCO0lBQ3pCLDZCQUE2QjtJQUM3QixrQ0FBa0M7Q0FDbkM7S0FDRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDeEMsTUFBTSxDQUFDO0lBQ04sOEJBQThCO0NBQy9CO0tBQ0UsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUUvQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFO0lBQ3ZCLE1BQU0sQ0FBQyxpQ0FBTSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFXLENBQUMsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUE7SUFFbkYsS0FBSyxNQUFNLENBQUMsSUFBSSxVQUFVLEVBQUU7UUFDMUIsTUFBTSxDQUFDLHVDQUFNLFVBQVUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFpQixDQUFDLENBQUMsYUFBYSxDQUNoRSxxQkFBWSxJQUFJLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLENBQUMsTUFBTSxhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQ3RGLENBQUE7S0FDRjtJQUVELE1BQU0sQ0FBQyx1Q0FBTSxVQUFVLENBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBaUIsQ0FBQztTQUN2RyxhQUFhLENBQ1oscUJBQVksSUFBSSxpQkFBaUIsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQ3hFLENBQUE7SUFFSCxNQUFNLENBQUMsdUNBQU0sVUFBVSxDQUFDLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQWlCLENBQUM7U0FDL0csYUFBYSxDQUNaLHFCQUFZLElBQUksaUJBQWlCLENBQUMsK0NBQStDLENBQUMsQ0FBQyxDQUNwRixDQUFBO0FBQ0wsQ0FBQyxDQUFDLENBQUE7QUFFRixJQUFJLENBQUMsZUFBZSxFQUFFLEtBQUssSUFBSSxFQUFFO0lBQy9CLE1BQU0sR0FBRyxHQUFhLEVBQUUsQ0FBQTtJQUN4QixNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUV0RSxNQUFNLFlBQVksR0FBRyxxQkFBMEIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQ2hFLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDbkIsQ0FBQyxDQUFDLENBQUE7SUFFRixpQ0FBTSw2QkFBQSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQ1AsdURBQXFDLFlBQVksQ0FBQyxDQUFDLENBQ3RELENBQUE7SUFFYixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsNENBQTRDLENBQUMsQ0FBQyxDQUFBO0FBQzNFLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW52YWxpZFN0YXRlRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3JzLmpzXCJcbmltcG9ydCB7IGNoZWNrUGF0aHMgfSBmcm9tIFwiLi9tYWtlSnNvblNjaGVtYS5qc1wiXG5cbmNvbnN0IHBhdGggPSB7IHBhdGg6IFwiL3NlY3VyaXRpZXMvOmlkL3NlYXJjaC86aWQyXCIsIG1ldGhvZDogXCJnZXRcIiB9XG5cbmNvbnN0IGVxdWFsUGF0aHMgPSBbXG4gIFwiL3NlY3VyaXRpZXMvOmlkdC9zZWFyY2gvOmlkMlwiLFxuICBcIi9zZWN1cml0aWVzLzppZC9zZWFyY2gvOmlkMnRcIixcbiAgXCIvc2VjdXJpdGllcy86aWR0L3NlYXJjaC86aWQydFwiXG5dXG4gIC5tYXAoKHBhdGgpID0+ICh7IHBhdGgsIG1ldGhvZDogXCJnZXRcIiB9KSlcblxuY29uc3QgZGlmZmVyZW50UGF0aHM6IHtcbiAgcGF0aDogc3RyaW5nXG4gIG1ldGhvZDogc3RyaW5nXG59W10gPSBbXG4gIFwiL3NlY3VyaXRpZXMvc2VhcmNoLzppZDJcIixcbiAgXCIvc2VjdXJpdGllcy86aWQvc2VhcmNoL1wiLFxuICBcIi9zZWN1cml0aWVzLzppZC9zZWFyY2gvOmlkMlwiLFxuICBcIi9zZWN1cml0aWVzLzppZC86aWQyL3NlYXJjaC86aWQzXCJcbl1cbiAgLm1hcCgocGF0aCkgPT4gKHsgcGF0aCwgbWV0aG9kOiBcImdldFwiIH0pKVxuICAuY29uY2F0KFtcbiAgICBcIi9zZWN1cml0aWVzLzppZHQvc2VhcmNoLzppZDJcIlxuICBdXG4gICAgLm1hcCgocGF0aCkgPT4gKHsgcGF0aCwgbWV0aG9kOiBcInBvc3RcIiB9KSkpXG5cbnRlc3QoXCJ3b3Jrc1wiLCBhc3luYyAoKSA9PiB7XG4gIGV4cGVjdChhd2FpdCAoY2hlY2tQYXRocyhkaWZmZXJlbnRQYXRocykpLnJ1blByb21pc2UpLnRvU3RyaWN0RXF1YWwoZGlmZmVyZW50UGF0aHMpXG5cbiAgZm9yIChjb25zdCBwIG9mIGVxdWFsUGF0aHMpIHtcbiAgICBleHBlY3QoYXdhaXQgY2hlY2tQYXRocyhbcGF0aCwgcF0pLnJ1blByb21pc2VFaXRoZXIpLnRvU3RyaWN0RXF1YWwoXG4gICAgICBFaXRoZXIubGVmdChuZXcgSW52YWxpZFN0YXRlRXJyb3IoYER1cGxpY2F0ZSBtZXRob2QgJHtwLm1ldGhvZH0gZm9yIHBhdGggJHtwLnBhdGh9YCkpXG4gICAgKVxuICB9XG5cbiAgZXhwZWN0KGF3YWl0IGNoZWNrUGF0aHMoW1wiYS86cDEvYy86cDJcIiwgXCJhL2JcIl0ubWFwKChwYXRoKSA9PiAoeyBwYXRoLCBtZXRob2Q6IFwiZ2V0XCIgfSkpKS5ydW5Qcm9taXNlRWl0aGVyKVxuICAgIC50b1N0cmljdEVxdWFsKFxuICAgICAgRWl0aGVyLmxlZnQobmV3IEludmFsaWRTdGF0ZUVycm9yKGBQYXRoIC9hL2IvIGlzIHNoYWRvd2VkIGJ5IC9hLzpwMS9gKSlcbiAgICApXG5cbiAgZXhwZWN0KGF3YWl0IGNoZWNrUGF0aHMoW1wiYS86cDEvYy86cDJcIiwgXCJhLzpwMTExL2MvZFwiXS5tYXAoKHBhdGgpID0+ICh7IHBhdGgsIG1ldGhvZDogXCJnZXRcIiB9KSkpLnJ1blByb21pc2VFaXRoZXIpXG4gICAgLnRvU3RyaWN0RXF1YWwoXG4gICAgICBFaXRoZXIubGVmdChuZXcgSW52YWxpZFN0YXRlRXJyb3IoYFBhdGggL2EvOnAxL2MvZC8gaXMgc2hhZG93ZWQgYnkgL2EvOnAxL2MvOnAyL2ApKVxuICAgIClcbn0pXG5cbnRlc3QoXCJsb2cgc2hhZG93aW5nXCIsIGFzeW5jICgpID0+IHtcbiAgY29uc3QgYXJyOiBzdHJpbmdbXSA9IFtdXG4gIGNvbnN0IHBhdGhzID0gW1wiYS9iXCIsIFwiYS86cFwiXS5tYXAoKHBhdGgpID0+ICh7IHBhdGgsIG1ldGhvZDogXCJnZXRcIiB9KSlcblxuICBjb25zdCBDdXN0b21Mb2dnZXIgPSBMb2dnZXIubWFrZTxzdHJpbmcsIHZvaWQ+KChfLCBfXywgbWVzc2FnZSkgPT4ge1xuICAgIGFyci5wdXNoKG1lc3NhZ2UpXG4gIH0pXG5cbiAgYXdhaXQgY2hlY2tQYXRocyhwYXRocylcbiAgICAucHJvdmlkZUxheWVyKExvZ2dlci5yZXBsYWNlKExvZ2dlci5kZWZhdWx0TG9nZ2VyLCBDdXN0b21Mb2dnZXIpKVxuICAgIC5ydW5Qcm9taXNlXG5cbiAgZXhwZWN0KGFycikudG9TdHJpY3RFcXVhbChbYFBhdGggL2EvOnAvIGlzIHBhcnRpYWxseSBzaGFkb3dlZCBieSAvYS9iL2BdKVxufSlcbiJdfQ==
@@ -1 +0,0 @@
1
- 227326c96d8f8db11aa5dd8162cb906e55a27b00a9069640a822be51cb025b58
@@ -1,122 +0,0 @@
1
- import * as tsplus_module_1 from "@effect/io/Effect";
2
- import * as tsplus_module_2 from "@effect/data/Chunk";
3
- import * as tsplus_module_3 from "@effect-app/core/_ext/Iterable";
4
- /* eslint-disable @typescript-eslint/no-explicit-any */
5
- import { InvalidStateError } from "../../errors.js";
6
- import * as RS from "./schema/routing.js";
7
- const rx = /:(\w+)/g;
8
- class PathsTree {
9
- methods;
10
- params;
11
- subpaths;
12
- path;
13
- constructor(path) {
14
- this.methods = [];
15
- this.params = {};
16
- this.subpaths = {};
17
- this.path = path;
18
- }
19
- }
20
- function checkShadowing(pathNavigator, match) {
21
- return tsplus_module_1.gen(function* ($) {
22
- switch (match._tag) {
23
- case "resource": {
24
- // check shadowing: if 'a/:param' comes before 'a/b', then 'a/b' is shadowed
25
- if (pathNavigator.params[1]) {
26
- return yield* $(tsplus_module_1.fail(new InvalidStateError(`Path ${pathNavigator.path}${match.value}/ is shadowed by ${pathNavigator.params[1].path}`)));
27
- }
28
- break;
29
- }
30
- case "param": {
31
- // check shadowing: if 'a/b' comes before 'a/:param', then 'a/"param' is partially shadowed
32
- const subpaths = Object.getOwnPropertyNames(pathNavigator.subpaths);
33
- if (subpaths.length > 0) {
34
- yield* $(tsplus_module_1.all(subpaths.map((s) => tsplus_module_1.logInfo(`Path ${pathNavigator.path}:${match.value}/ is partially shadowed by ${pathNavigator.subpaths[s].path}`))));
35
- }
36
- break;
37
- }
38
- }
39
- });
40
- }
41
- export function checkPaths(paths) {
42
- return tsplus_module_1.gen(function* ($) {
43
- const pathMethods = new PathsTree("/");
44
- const regex = /(?:^|\/)([^/:\n]+)|:(\w+)/g;
45
- for (const path of paths) {
46
- const matches = [...path.path.matchAll(regex)]
47
- .map((match) => match[1]
48
- ? { _tag: "resource", value: match[1] }
49
- : { _tag: "param", value: match[2] });
50
- let pathNavigator = pathMethods;
51
- for (let i = 0; i < matches.length;) {
52
- const match = matches[i];
53
- yield* $(checkShadowing(pathNavigator, match));
54
- switch (match._tag) {
55
- case "resource": {
56
- if (!(match.value in pathNavigator.subpaths)) {
57
- pathNavigator.subpaths[match.value] = new PathsTree(`${pathNavigator.path}${match.value}/`);
58
- }
59
- pathNavigator = pathNavigator.subpaths[match.value];
60
- i++;
61
- break;
62
- }
63
- case "param": {
64
- const paramsNames = [match.value];
65
- let numberOfParams = 1;
66
- while (i < matches.length && matches[i + 1]?._tag === "param") {
67
- numberOfParams++;
68
- i++;
69
- paramsNames.push(match.value);
70
- }
71
- if (!(numberOfParams in pathNavigator.params)) {
72
- pathNavigator.params[numberOfParams] = new PathsTree(`${pathNavigator.path}:${paramsNames.join("/:")}/`);
73
- }
74
- pathNavigator = pathNavigator.params[numberOfParams];
75
- i++;
76
- break;
77
- }
78
- }
79
- }
80
- if (pathNavigator.methods.includes(path.method)) {
81
- // throw duplicate path-method error
82
- return yield* $(tsplus_module_1.fail(new InvalidStateError(`Duplicate method ${path.method} for path ${path.path}`)));
83
- }
84
- pathNavigator.methods.push(path.method);
85
- }
86
- return paths;
87
- });
88
- }
89
- /**
90
- * Work in progress JSONSchema generator.
91
- */
92
- export function makeJsonSchema(r) {
93
- return tsplus_module_1.map(tsplus_module_1.flatMap(tsplus_module_3.ext_forEach(tsplus_module_2.fromIterable(r), RS.makeFromSchema), checkPaths), (e) => {
94
- const map = ({ method, path, responses, ...rest }) => ({
95
- [method]: {
96
- ...rest,
97
- responses: responses.reduce((prev, cur) => {
98
- prev[cur.statusCode] = cur.type;
99
- return prev;
100
- }, {})
101
- }
102
- });
103
- return e.reduce((prev, e) => {
104
- const path = e.path.split("?")[0].replace(rx, (_a, b) => `{${b}}`);
105
- prev[path] = {
106
- ...prev[path],
107
- ...map(e)
108
- };
109
- return prev;
110
- }, {});
111
- });
112
- }
113
- class Response {
114
- statusCode;
115
- type;
116
- constructor(statusCode, type // string | JSONSchema | SubSchema
117
- ) {
118
- this.statusCode = statusCode;
119
- this.type = type;
120
- }
121
- }
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUpzb25TY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL2FwaS9leHByZXNzL21ha2VKc29uU2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNuRCxPQUFPLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBSXpDLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQTtBQUlwQixNQUFNLFNBQVM7SUFDRyxPQUFPLENBQVU7SUFDakIsTUFBTSxDQUEwQztJQUNoRCxRQUFRLENBQTBDO0lBQ2xELElBQUksQ0FBUTtJQUU1QixZQUFZLElBQVk7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUE7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUE7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7SUFDbEIsQ0FBQztDQUNGO0FBT0QsU0FBUyxjQUFjLENBQ3JCLGFBQXdCLEVBQ3hCLEtBQVk7SUFFWixPQUFPLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7UUFDM0IsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2xCLEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQ2YsNEVBQTRFO2dCQUM1RSxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQzNCLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUNkLElBQUksaUJBQWlCLENBQ25CLFFBQVEsYUFBYSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxvQkFBb0IsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FDM0YsQ0FDRixDQUFDLENBQUE7aUJBQ0g7Z0JBQ0Qs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QUk7Z0JBQ1AsU0FBUyxFQUFHLFNBQXdCLENBQUMsTUFBTSxDQUN6QyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtvQkFDWixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUE7b0JBQy9CLE9BQU8sSUFBSSxDQUFBO2dCQUNiLENBQUMsRUFDRCxFQUFzRCxDQUN2RDthQUNGO1NBQ0YsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUNiLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ1YsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUNsRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQ1gsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNiLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBUTthQUNqQixDQUFBO1lBQ0QsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDLEVBQ0QsRUFBNkQsQ0FDOUQsQ0FBQTtJQUNILENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQztBQUVELE1BQU0sUUFBUTtJQUVNO0lBQ0E7SUFGbEIsWUFDa0IsVUFBa0IsRUFDbEIsSUFBUyxDQUFDLGtDQUFrQzs7UUFENUMsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixTQUFJLEdBQUosSUFBSSxDQUFLO0lBQ3hCLENBQUM7Q0FDTCIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cblxuaW1wb3J0IHsgSW52YWxpZFN0YXRlRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3JzLmpzXCJcbmltcG9ydCAqIGFzIFJTIGZyb20gXCIuL3NjaGVtYS9yb3V0aW5nLmpzXCJcblxudHlwZSBNZXRob2RzID0gXCJHRVRcIiB8IFwiUFVUXCIgfCBcIlBPU1RcIiB8IFwiUEFUQ0hcIiB8IFwiREVMRVRFXCJcblxuY29uc3QgcnggPSAvOihcXHcrKS9nXG5cbnR5cGUgX0E8Qz4gPSBDIGV4dGVuZHMgUmVhZG9ubHlBcnJheTxpbmZlciBBPiA/IEEgOiBuZXZlclxuXG5jbGFzcyBQYXRoc1RyZWUge1xuICBwdWJsaWMgcmVhZG9ubHkgbWV0aG9kczogc3RyaW5nW11cbiAgcHVibGljIHJlYWRvbmx5IHBhcmFtczogeyBba2V5OiBudW1iZXJdOiBQYXRoc1RyZWUgfCB1bmRlZmluZWQgfVxuICBwdWJsaWMgcmVhZG9ubHkgc3VicGF0aHM6IHsgW2tleTogc3RyaW5nXTogUGF0aHNUcmVlIHwgdW5kZWZpbmVkIH1cbiAgcHVibGljIHJlYWRvbmx5IHBhdGg6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHBhdGg6IHN0cmluZykge1xuICAgIHRoaXMubWV0aG9kcyA9IFtdXG4gICAgdGhpcy5wYXJhbXMgPSB7fVxuICAgIHRoaXMuc3VicGF0aHMgPSB7fVxuICAgIHRoaXMucGF0aCA9IHBhdGhcbiAgfVxufVxuXG5pbnRlcmZhY2UgTWF0Y2gge1xuICBfdGFnOiBcInJlc291cmNlXCIgfCBcInBhcmFtXCJcbiAgdmFsdWU6IHN0cmluZ1xufVxuXG5mdW5jdGlvbiBjaGVja1NoYWRvd2luZyhcbiAgcGF0aE5hdmlnYXRvcjogUGF0aHNUcmVlLFxuICBtYXRjaDogTWF0Y2hcbikge1xuICByZXR1cm4gRWZmZWN0LmdlbihmdW5jdGlvbiooJCkge1xuICAgIHN3aXRjaCAobWF0Y2guX3RhZykge1xuICAgICAgY2FzZSBcInJlc291cmNlXCI6IHtcbiAgICAgICAgLy8gY2hlY2sgc2hhZG93aW5nOiBpZiAnYS86cGFyYW0nIGNvbWVzIGJlZm9yZSAnYS9iJywgdGhlbiAnYS9iJyBpcyBzaGFkb3dlZFxuICAgICAgICBpZiAocGF0aE5hdmlnYXRvci5wYXJhbXNbMV0pIHtcbiAgICAgICAgICByZXR1cm4geWllbGQqICQoRWZmZWN0LmZhaWwoXG4gICAgICAgICAgICBuZXcgSW52YWxpZFN0YXRlRXJyb3IoXG4gICAgICAgICAgICAgIGBQYXRoICR7cGF0aE5hdmlnYXRvci5wYXRofSR7bWF0Y2gudmFsdWV9LyBpcyBzaGFkb3dlZCBieSAke3BhdGhOYXZpZ2F0b3IucGFyYW1zWzFdLnBhdGh9YFxuICAgICAgICAgICAgKVxuICAgICAgICAgICkpXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNhc2UgXCJwYXJhbVwiOiB7XG4gICAgICAgIC8vIGNoZWNrIHNoYWRvd2luZzogaWYgJ2EvYicgY29tZXMgYmVmb3JlICdhLzpwYXJhbScsIHRoZW4gJ2EvXCJwYXJhbScgaXMgcGFydGlhbGx5IHNoYWRvd2VkXG4gICAgICAgIGNvbnN0IHN1YnBhdGhzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocGF0aE5hdmlnYXRvci5zdWJwYXRocylcbiAgICAgICAgaWYgKHN1YnBhdGhzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB5aWVsZCogJChFZmZlY3QuYWxsKHN1YnBhdGhzLm1hcCgocykgPT5cbiAgICAgICAgICAgIEVmZmVjdC5sb2dJbmZvKFxuICAgICAgICAgICAgICBgUGF0aCAke3BhdGhOYXZpZ2F0b3IucGF0aH06JHttYXRjaC52YWx1ZX0vIGlzIHBhcnRpYWxseSBzaGFkb3dlZCBieSAke3BhdGhOYXZpZ2F0b3Iuc3VicGF0aHNbc10hLnBhdGh9YFxuICAgICAgICAgICAgKVxuICAgICAgICAgICkpKVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tQYXRoczxUIGV4dGVuZHMgeyBwYXRoOiBzdHJpbmc7IG1ldGhvZDogc3RyaW5nIH0+KFxuICBwYXRoczogcmVhZG9ubHkgVFtdXG4pIHtcbiAgcmV0dXJuIEVmZmVjdC5nZW4oZnVuY3Rpb24qKCQpIHtcbiAgICBjb25zdCBwYXRoTWV0aG9kczogUGF0aHNUcmVlID0gbmV3IFBhdGhzVHJlZShcIi9cIilcbiAgICBjb25zdCByZWdleCA9IC8oPzpefFxcLykoW14vOlxcbl0rKXw6KFxcdyspL2dcbiAgICBmb3IgKGNvbnN0IHBhdGggb2YgcGF0aHMpIHtcbiAgICAgIGNvbnN0IG1hdGNoZXMgPSBbLi4ucGF0aC5wYXRoLm1hdGNoQWxsKHJlZ2V4KV1cbiAgICAgICAgLm1hcCgobWF0Y2gpID0+XG4gICAgICAgICAgbWF0Y2hbMV1cbiAgICAgICAgICAgID8geyBfdGFnOiBcInJlc291cmNlXCIsIHZhbHVlOiBtYXRjaFsxXSB9IGFzIGNvbnN0XG4gICAgICAgICAgICA6IHsgX3RhZzogXCJwYXJhbVwiLCB2YWx1ZTogbWF0Y2hbMl0hIH0gYXMgY29uc3RcbiAgICAgICAgKVxuXG4gICAgICBsZXQgcGF0aE5hdmlnYXRvciA9IHBhdGhNZXRob2RzXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hdGNoZXMubGVuZ3RoOykge1xuICAgICAgICBjb25zdCBtYXRjaCA9IG1hdGNoZXNbaV0hXG5cbiAgICAgICAgeWllbGQqICQoY2hlY2tTaGFkb3dpbmcocGF0aE5hdmlnYXRvciwgbWF0Y2gpKVxuXG4gICAgICAgIHN3aXRjaCAobWF0Y2guX3RhZykge1xuICAgICAgICAgIGNhc2UgXCJyZXNvdXJjZVwiOiB7XG4gICAgICAgICAgICBpZiAoIShtYXRjaC52YWx1ZSBpbiBwYXRoTmF2aWdhdG9yLnN1YnBhdGhzKSkge1xuICAgICAgICAgICAgICBwYXRoTmF2aWdhdG9yLnN1YnBhdGhzW21hdGNoLnZhbHVlXSA9IG5ldyBQYXRoc1RyZWUoYCR7cGF0aE5hdmlnYXRvci5wYXRofSR7bWF0Y2gudmFsdWV9L2ApXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHBhdGhOYXZpZ2F0b3IgPSBwYXRoTmF2aWdhdG9yLnN1YnBhdGhzW21hdGNoLnZhbHVlXSFcbiAgICAgICAgICAgIGkrK1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBcInBhcmFtXCI6IHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtc05hbWVzID0gW21hdGNoLnZhbHVlXVxuICAgICAgICAgICAgbGV0IG51bWJlck9mUGFyYW1zID0gMVxuICAgICAgICAgICAgd2hpbGUgKGkgPCBtYXRjaGVzLmxlbmd0aCAmJiBtYXRjaGVzW2kgKyAxXT8uX3RhZyA9PT0gXCJwYXJhbVwiKSB7XG4gICAgICAgICAgICAgIG51bWJlck9mUGFyYW1zKytcbiAgICAgICAgICAgICAgaSsrXG4gICAgICAgICAgICAgIHBhcmFtc05hbWVzLnB1c2gobWF0Y2gudmFsdWUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghKG51bWJlck9mUGFyYW1zIGluIHBhdGhOYXZpZ2F0b3IucGFyYW1zKSkge1xuICAgICAgICAgICAgICBwYXRoTmF2aWdhdG9yLnBhcmFtc1tudW1iZXJPZlBhcmFtc10gPSBuZXcgUGF0aHNUcmVlKFxuICAgICAgICAgICAgICAgIGAke3BhdGhOYXZpZ2F0b3IucGF0aH06JHtwYXJhbXNOYW1lcy5qb2luKFwiLzpcIil9L2BcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGF0aE5hdmlnYXRvciA9IHBhdGhOYXZpZ2F0b3IucGFyYW1zW251bWJlck9mUGFyYW1zXSFcbiAgICAgICAgICAgIGkrK1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHBhdGhOYXZpZ2F0b3IubWV0aG9kcy5pbmNsdWRlcyhwYXRoLm1ldGhvZCkpIHtcbiAgICAgICAgLy8gdGhyb3cgZHVwbGljYXRlIHBhdGgtbWV0aG9kIGVycm9yXG4gICAgICAgIHJldHVybiB5aWVsZCogJChFZmZlY3QuZmFpbChuZXcgSW52YWxpZFN0YXRlRXJyb3IoYER1cGxpY2F0ZSBtZXRob2QgJHtwYXRoLm1ldGhvZH0gZm9yIHBhdGggJHtwYXRoLnBhdGh9YCkpKVxuICAgICAgfVxuICAgICAgcGF0aE5hdmlnYXRvci5tZXRob2RzLnB1c2gocGF0aC5tZXRob2QpXG4gICAgfVxuXG4gICAgcmV0dXJuIHBhdGhzXG4gIH0pXG59XG5cbi8qKlxuICogV29yayBpbiBwcm9ncmVzcyBKU09OU2NoZW1hIGdlbmVyYXRvci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ha2VKc29uU2NoZW1hKHI6IEl0ZXJhYmxlPFJTLlJvdXRlRGVzY3JpcHRvckFueT4pIHtcbiAgcmV0dXJuIENodW5rXG4gICAgLmZyb21JdGVyYWJsZShyKVxuICAgIC5mb3JFYWNoRWZmZWN0KFJTLm1ha2VGcm9tU2NoZW1hKVxuICAgIC5mbGF0TWFwKGNoZWNrUGF0aHMpXG4gICAgLm1hcCgoZSkgPT4ge1xuICAgICAgY29uc3QgbWFwID0gKHsgbWV0aG9kLCBwYXRoLCByZXNwb25zZXMsIC4uLnJlc3QgfTogX0E8dHlwZW9mIGU+KSA9PiAoe1xuICAgICAgICBbbWV0aG9kXToge1xuICAgICAgICAgIC4uLnJlc3QsXG4gICAgICAgICAgcmVzcG9uc2VzOiAocmVzcG9uc2VzIGFzIEFycmF5PGFueT4pLnJlZHVjZShcbiAgICAgICAgICAgIChwcmV2LCBjdXIpID0+IHtcbiAgICAgICAgICAgICAgcHJldltjdXIuc3RhdHVzQ29kZV0gPSBjdXIudHlwZVxuICAgICAgICAgICAgICByZXR1cm4gcHJldlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHt9IGFzIFJlY29yZDxSZXNwb25zZVtcInN0YXR1c0NvZGVcIl0sIFJlc3BvbnNlW1widHlwZVwiXT5cbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICByZXR1cm4gZS5yZWR1Y2UoXG4gICAgICAgIChwcmV2LCBlKSA9PiB7XG4gICAgICAgICAgY29uc3QgcGF0aCA9IGUucGF0aC5zcGxpdChcIj9cIilbMF0ucmVwbGFjZShyeCwgKF9hLCBiKSA9PiBgeyR7Yn19YClcbiAgICAgICAgICBwcmV2W3BhdGhdID0ge1xuICAgICAgICAgICAgLi4ucHJldltwYXRoXSxcbiAgICAgICAgICAgIC4uLm1hcChlKSBhcyBhbnlcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHByZXZcbiAgICAgICAgfSxcbiAgICAgICAge30gYXMgUmVjb3JkPHN0cmluZywgUmVjb3JkPE1ldGhvZHMsIFJldHVyblR5cGU8dHlwZW9mIG1hcD4+PlxuICAgICAgKVxuICAgIH0pXG59XG5cbmNsYXNzIFJlc3BvbnNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHN0YXR1c0NvZGU6IG51bWJlcixcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHlwZTogYW55IC8vIHN0cmluZyB8IEpTT05TY2hlbWEgfCBTdWJTY2hlbWFcbiAgKSB7fVxufVxuIl19
@@ -1 +0,0 @@
1
- b8406b30e5dc86e8886d361354e8ded840ddf37986c569803276d119c900733c
@@ -1,86 +0,0 @@
1
- import * as CausePretty from "@effect/io/internal_effect_untraced/cause-pretty";
2
- export class NotFoundError {
3
- _tag = "NotFoundError";
4
- message;
5
- constructor(type, id) {
6
- this.message = `Didn't find ${type}#${id}`;
7
- }
8
- }
9
- export class ValidationError {
10
- errors;
11
- _tag = "ValidationError";
12
- constructor(errors) {
13
- this.errors = errors;
14
- }
15
- }
16
- export class NotLoggedInError {
17
- _tag = "NotLoggedInError";
18
- }
19
- export class UnauthorizedError {
20
- _tag = "UnauthorizedError";
21
- }
22
- /**
23
- * The user carries a valid Userprofile, but there is a problem with the login none the less.
24
- */
25
- export class LoginError extends NotLoggedInError {
26
- message;
27
- constructor(message) {
28
- super();
29
- this.message = message;
30
- }
31
- }
32
- export class InvalidStateError {
33
- message;
34
- _tag = "InvalidStateError";
35
- constructor(message) {
36
- this.message = message;
37
- }
38
- }
39
- export class CauseException extends Error {
40
- originalCause;
41
- _tag;
42
- constructor(originalCause, _tag) {
43
- const limit = Error.stackTraceLimit;
44
- Error.stackTraceLimit = 0;
45
- super();
46
- this.originalCause = originalCause;
47
- this._tag = _tag;
48
- Error.stackTraceLimit = limit;
49
- const pretty = CausePretty.prettyErrors(this.originalCause);
50
- if (pretty.length > 0) {
51
- this.name = pretty[0].message.split(":")[0];
52
- this.message = pretty[0].message.substring(this.name.length + 2);
53
- this.stack = `${this.name}: ${this.message}\n` + pretty[0].stack;
54
- }
55
- }
56
- toString() {
57
- return `[${this._tag}] ` + CausePretty.pretty(this.originalCause);
58
- }
59
- [Symbol.for("nodejs.util.inspect.custom")]() {
60
- return this.toString();
61
- }
62
- toJSON() {
63
- return {
64
- _tag: this._tag,
65
- message: this.message,
66
- pretty: this.toString()
67
- // cause: (this.cause as {}).$$.inspect(undefined, 10)
68
- };
69
- }
70
- }
71
- export class OptimisticConcurrencyException {
72
- type;
73
- id;
74
- current;
75
- found;
76
- _tag = "OptimisticConcurrencyException";
77
- message;
78
- constructor(type, id, current, found) {
79
- this.type = type;
80
- this.id = id;
81
- this.current = current;
82
- this.found = found;
83
- this.message = `Existing ${type} ${id} record changed`;
84
- }
85
- }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFdBQVcsTUFBTSxrREFBa0QsQ0FBQTtBQUUvRSxNQUFNLE9BQU8sYUFBYTtJQUNSLElBQUksR0FBRyxlQUFlLENBQUE7SUFDdEIsT0FBTyxDQUFRO0lBQy9CLFlBQVksSUFBTyxFQUFFLEVBQVU7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxlQUFlLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQTtJQUM1QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sZUFBZTtJQUVFO0lBRFosSUFBSSxHQUFHLGlCQUFpQixDQUFBO0lBQ3hDLFlBQTRCLE1BQThCO1FBQTlCLFdBQU0sR0FBTixNQUFNLENBQXdCO0lBQUcsQ0FBQztDQUMvRDtBQUVELE1BQU0sT0FBTyxnQkFBZ0I7SUFDWCxJQUFJLEdBQUcsa0JBQWtCLENBQUE7Q0FDMUM7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBQ1osSUFBSSxHQUFHLG1CQUFtQixDQUFBO0NBQzNDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVyxTQUFRLGdCQUFnQjtJQUN6QjtJQUFyQixZQUFxQixPQUFlO1FBQ2xDLEtBQUssRUFBRSxDQUFBO1FBRFksWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUVwQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBRUE7SUFEWixJQUFJLEdBQUcsbUJBQW1CLENBQUE7SUFDMUMsWUFBNEIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDO0NBQ2hEO0FBRUQsTUFBTSxPQUFPLGNBQWtCLFNBQVEsS0FBSztJQUNyQjtJQUFrQztJQUF2RCxZQUFxQixhQUF1QixFQUFXLElBQVk7UUFDakUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQTtRQUNuQyxLQUFLLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQTtRQUN6QixLQUFLLEVBQUUsQ0FBQTtRQUhZLGtCQUFhLEdBQWIsYUFBYSxDQUFVO1FBQVcsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUlqRSxLQUFLLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQTtRQUM3QixNQUFNLE1BQU0sR0FBSSxXQUFtQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDcEUsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7WUFDaEUsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLE9BQU8sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7U0FDakU7SUFDSCxDQUFDO0lBQ1EsUUFBUTtRQUNmLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUksV0FBbUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQzVFLENBQUM7SUFDRCxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDdkIsMkRBQTJEO1NBQzVELENBQUE7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sOEJBQThCO0lBR3BCO0lBQXVCO0lBQXFCO0lBQTJCO0lBRm5GLElBQUksR0FBRyxnQ0FBZ0MsQ0FBQTtJQUN2QyxPQUFPLENBQVE7SUFDeEIsWUFBcUIsSUFBWSxFQUFXLEVBQVUsRUFBVyxPQUFnQixFQUFXLEtBQWM7UUFBckYsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFXLE9BQUUsR0FBRixFQUFFLENBQVE7UUFBVyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVcsVUFBSyxHQUFMLEtBQUssQ0FBUztRQUN4RyxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksSUFBSSxJQUFJLEVBQUUsaUJBQWlCLENBQUE7SUFDeEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQ2F1c2VQcmV0dHkgZnJvbSBcIkBlZmZlY3QvaW8vaW50ZXJuYWxfZWZmZWN0X3VudHJhY2VkL2NhdXNlLXByZXR0eVwiXG5cbmV4cG9ydCBjbGFzcyBOb3RGb3VuZEVycm9yPFQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+IHtcbiAgcHVibGljIHJlYWRvbmx5IF90YWcgPSBcIk5vdEZvdW5kRXJyb3JcIlxuICBwdWJsaWMgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nXG4gIGNvbnN0cnVjdG9yKHR5cGU6IFQsIGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1lc3NhZ2UgPSBgRGlkbid0IGZpbmQgJHt0eXBlfSMke2lkfWBcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbkVycm9yIHtcbiAgcHVibGljIHJlYWRvbmx5IF90YWcgPSBcIlZhbGlkYXRpb25FcnJvclwiXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBlcnJvcnM6IFJlYWRvbmx5QXJyYXk8dW5rbm93bj4pIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBOb3RMb2dnZWRJbkVycm9yIHtcbiAgcHVibGljIHJlYWRvbmx5IF90YWcgPSBcIk5vdExvZ2dlZEluRXJyb3JcIlxufVxuXG5leHBvcnQgY2xhc3MgVW5hdXRob3JpemVkRXJyb3Ige1xuICBwdWJsaWMgcmVhZG9ubHkgX3RhZyA9IFwiVW5hdXRob3JpemVkRXJyb3JcIlxufVxuXG4vKipcbiAqIFRoZSB1c2VyIGNhcnJpZXMgYSB2YWxpZCBVc2VycHJvZmlsZSwgYnV0IHRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHRoZSBsb2dpbiBub25lIHRoZSBsZXNzLlxuICovXG5leHBvcnQgY2xhc3MgTG9naW5FcnJvciBleHRlbmRzIE5vdExvZ2dlZEluRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRTdGF0ZUVycm9yIHtcbiAgcHVibGljIHJlYWRvbmx5IF90YWcgPSBcIkludmFsaWRTdGF0ZUVycm9yXCJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZykge31cbn1cblxuZXhwb3J0IGNsYXNzIENhdXNlRXhjZXB0aW9uPEU+IGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBvcmlnaW5hbENhdXNlOiBDYXVzZTxFPiwgcmVhZG9ubHkgX3RhZzogc3RyaW5nKSB7XG4gICAgY29uc3QgbGltaXQgPSBFcnJvci5zdGFja1RyYWNlTGltaXRcbiAgICBFcnJvci5zdGFja1RyYWNlTGltaXQgPSAwXG4gICAgc3VwZXIoKVxuICAgIEVycm9yLnN0YWNrVHJhY2VMaW1pdCA9IGxpbWl0XG4gICAgY29uc3QgcHJldHR5ID0gKENhdXNlUHJldHR5IGFzIGFueSkucHJldHR5RXJyb3JzKHRoaXMub3JpZ2luYWxDYXVzZSlcbiAgICBpZiAocHJldHR5Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMubmFtZSA9IHByZXR0eVswXS5tZXNzYWdlLnNwbGl0KFwiOlwiKVswXVxuICAgICAgdGhpcy5tZXNzYWdlID0gcHJldHR5WzBdLm1lc3NhZ2Uuc3Vic3RyaW5nKHRoaXMubmFtZS5sZW5ndGggKyAyKVxuICAgICAgdGhpcy5zdGFjayA9IGAke3RoaXMubmFtZX06ICR7dGhpcy5tZXNzYWdlfVxcbmAgKyBwcmV0dHlbMF0uc3RhY2tcbiAgICB9XG4gIH1cbiAgb3ZlcnJpZGUgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIGBbJHt0aGlzLl90YWd9XSBgICsgKENhdXNlUHJldHR5IGFzIGFueSkucHJldHR5KHRoaXMub3JpZ2luYWxDYXVzZSlcbiAgfVxuICBbU3ltYm9sLmZvcihcIm5vZGVqcy51dGlsLmluc3BlY3QuY3VzdG9tXCIpXSgpIHtcbiAgICByZXR1cm4gdGhpcy50b1N0cmluZygpXG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF90YWc6IHRoaXMuX3RhZyxcbiAgICAgIG1lc3NhZ2U6IHRoaXMubWVzc2FnZSxcbiAgICAgIHByZXR0eTogdGhpcy50b1N0cmluZygpXG4gICAgICAvLyAgICAgIGNhdXNlOiAodGhpcy5jYXVzZSBhcyB7fSkuJCQuaW5zcGVjdCh1bmRlZmluZWQsIDEwKVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgT3B0aW1pc3RpY0NvbmN1cnJlbmN5RXhjZXB0aW9uIHtcbiAgcmVhZG9ubHkgX3RhZyA9IFwiT3B0aW1pc3RpY0NvbmN1cnJlbmN5RXhjZXB0aW9uXCJcbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHR5cGU6IHN0cmluZywgcmVhZG9ubHkgaWQ6IHN0cmluZywgcmVhZG9ubHkgY3VycmVudD86IHN0cmluZywgcmVhZG9ubHkgZm91bmQ/OiBzdHJpbmcpIHtcbiAgICB0aGlzLm1lc3NhZ2UgPSBgRXhpc3RpbmcgJHt0eXBlfSAke2lkfSByZWNvcmQgY2hhbmdlZGBcbiAgfVxufVxuIl19
@@ -1 +0,0 @@
1
- 2106804d7ed5f62d59b96efcf115903f0f9819d46ae439f0e1304f2d1b729287