@fgv/ts-utils 1.9.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/CHANGELOG.json +26 -0
  2. package/CHANGELOG.md +14 -0
  3. package/dist/ts-utils.d.ts +3007 -0
  4. package/dist/tsdoc-metadata.json +11 -0
  5. package/lib/index.d.ts +12 -0
  6. package/lib/index.d.ts.map +1 -0
  7. package/lib/index.js +68 -0
  8. package/lib/index.js.map +1 -0
  9. package/lib/packlets/base/brand.d.ts.map +1 -0
  10. package/lib/packlets/base/brand.js +24 -0
  11. package/lib/packlets/base/brand.js.map +1 -0
  12. package/lib/packlets/base/index.d.ts +7 -0
  13. package/lib/packlets/base/index.d.ts.map +1 -0
  14. package/lib/packlets/base/index.js +58 -0
  15. package/lib/packlets/base/index.js.map +1 -0
  16. package/{logger.d.ts → lib/packlets/base/logger.d.ts} +16 -1
  17. package/lib/packlets/base/logger.d.ts.map +1 -0
  18. package/lib/packlets/base/logger.js +128 -0
  19. package/lib/packlets/base/logger.js.map +1 -0
  20. package/{normalize.d.ts → lib/packlets/base/normalize.d.ts} +6 -0
  21. package/lib/packlets/base/normalize.d.ts.map +1 -0
  22. package/lib/packlets/base/normalize.js +139 -0
  23. package/lib/packlets/base/normalize.js.map +1 -0
  24. package/{result.d.ts → lib/packlets/base/result.d.ts} +16 -15
  25. package/lib/packlets/base/result.d.ts.map +1 -0
  26. package/lib/packlets/base/result.js +571 -0
  27. package/lib/packlets/base/result.js.map +1 -0
  28. package/lib/packlets/base/utils.d.ts.map +1 -0
  29. package/lib/packlets/base/utils.js +200 -0
  30. package/lib/packlets/base/utils.js.map +1 -0
  31. package/{converter.d.ts → lib/packlets/conversion/converter.d.ts} +11 -12
  32. package/lib/packlets/conversion/converter.d.ts.map +1 -0
  33. package/lib/packlets/conversion/converter.js +218 -0
  34. package/lib/packlets/conversion/converter.js.map +1 -0
  35. package/{converters.d.ts → lib/packlets/conversion/converters.d.ts} +52 -216
  36. package/lib/packlets/conversion/converters.d.ts.map +1 -0
  37. package/lib/packlets/conversion/converters.js +739 -0
  38. package/lib/packlets/conversion/converters.js.map +1 -0
  39. package/lib/packlets/conversion/index.d.ts +6 -0
  40. package/lib/packlets/conversion/index.d.ts.map +1 -0
  41. package/lib/packlets/conversion/index.js +56 -0
  42. package/lib/packlets/conversion/index.js.map +1 -0
  43. package/lib/packlets/conversion/objectConverter.d.ts +94 -0
  44. package/lib/packlets/conversion/objectConverter.d.ts.map +1 -0
  45. package/lib/packlets/conversion/objectConverter.js +110 -0
  46. package/lib/packlets/conversion/objectConverter.js.map +1 -0
  47. package/lib/packlets/conversion/stringConverter.d.ts +78 -0
  48. package/lib/packlets/conversion/stringConverter.d.ts.map +1 -0
  49. package/lib/packlets/conversion/stringConverter.js +97 -0
  50. package/lib/packlets/conversion/stringConverter.js.map +1 -0
  51. package/{csvHelpers.d.ts → lib/packlets/csv/csvHelpers.d.ts} +1 -1
  52. package/lib/packlets/csv/csvHelpers.d.ts.map +1 -0
  53. package/lib/packlets/csv/csvHelpers.js +69 -0
  54. package/lib/packlets/csv/csvHelpers.js.map +1 -0
  55. package/lib/packlets/csv/index.d.ts +2 -0
  56. package/lib/packlets/csv/index.d.ts.map +1 -0
  57. package/lib/packlets/csv/index.js +39 -0
  58. package/lib/packlets/csv/index.js.map +1 -0
  59. package/{extendedArray.d.ts → lib/packlets/experimental/extendedArray.d.ts} +7 -7
  60. package/lib/packlets/experimental/extendedArray.d.ts.map +1 -0
  61. package/lib/packlets/experimental/extendedArray.js +106 -0
  62. package/lib/packlets/experimental/extendedArray.js.map +1 -0
  63. package/{formatter.d.ts → lib/packlets/experimental/formatter.d.ts} +6 -6
  64. package/lib/packlets/experimental/formatter.d.ts.map +1 -0
  65. package/lib/packlets/experimental/formatter.js +75 -0
  66. package/lib/packlets/experimental/formatter.js.map +1 -0
  67. package/lib/packlets/experimental/index.d.ts +4 -0
  68. package/lib/packlets/experimental/index.d.ts.map +1 -0
  69. package/lib/packlets/experimental/index.js +41 -0
  70. package/lib/packlets/experimental/index.js.map +1 -0
  71. package/{rangeOf.d.ts → lib/packlets/experimental/rangeOf.d.ts} +21 -24
  72. package/lib/packlets/experimental/rangeOf.d.ts.map +1 -0
  73. package/lib/packlets/experimental/rangeOf.js +185 -0
  74. package/lib/packlets/experimental/rangeOf.js.map +1 -0
  75. package/{hash.d.ts → lib/packlets/hash/hash.d.ts} +1 -1
  76. package/lib/packlets/hash/hash.d.ts.map +1 -0
  77. package/lib/packlets/hash/hash.js +168 -0
  78. package/lib/packlets/hash/hash.js.map +1 -0
  79. package/lib/packlets/hash/index.d.ts +2 -0
  80. package/lib/packlets/hash/index.d.ts.map +1 -0
  81. package/lib/packlets/hash/index.js +39 -0
  82. package/lib/packlets/hash/index.js.map +1 -0
  83. package/lib/packlets/record-jar/index.d.ts +2 -0
  84. package/lib/packlets/record-jar/index.d.ts.map +1 -0
  85. package/lib/packlets/record-jar/index.js +39 -0
  86. package/lib/packlets/record-jar/index.js.map +1 -0
  87. package/{recordJarHelpers.d.ts → lib/packlets/record-jar/recordJarHelpers.d.ts} +1 -1
  88. package/lib/packlets/record-jar/recordJarHelpers.d.ts.map +1 -0
  89. package/lib/packlets/record-jar/recordJarHelpers.js +263 -0
  90. package/lib/packlets/record-jar/recordJarHelpers.js.map +1 -0
  91. package/{validation → lib/packlets/validation}/array.d.ts +2 -2
  92. package/lib/packlets/validation/array.d.ts.map +1 -0
  93. package/lib/packlets/validation/array.js +67 -0
  94. package/lib/packlets/validation/array.js.map +1 -0
  95. package/{validation → lib/packlets/validation}/boolean.d.ts +1 -1
  96. package/lib/packlets/validation/boolean.d.ts.map +1 -0
  97. package/lib/packlets/validation/boolean.js +56 -0
  98. package/lib/packlets/validation/boolean.js.map +1 -0
  99. package/lib/packlets/validation/classes.d.ts.map +1 -0
  100. package/lib/packlets/validation/classes.js +38 -0
  101. package/lib/packlets/validation/classes.js.map +1 -0
  102. package/lib/packlets/validation/common.d.ts.map +1 -0
  103. package/lib/packlets/validation/common.js +24 -0
  104. package/lib/packlets/validation/common.js.map +1 -0
  105. package/{validation → lib/packlets/validation}/field.d.ts +1 -1
  106. package/lib/packlets/validation/field.d.ts.map +1 -0
  107. package/lib/packlets/validation/field.js +71 -0
  108. package/lib/packlets/validation/field.js.map +1 -0
  109. package/{validation → lib/packlets/validation}/genericValidator.d.ts +2 -3
  110. package/lib/packlets/validation/genericValidator.d.ts.map +1 -0
  111. package/lib/packlets/validation/genericValidator.js +137 -0
  112. package/lib/packlets/validation/genericValidator.js.map +1 -0
  113. package/lib/packlets/validation/index.d.ts.map +1 -0
  114. package/{validation → lib/packlets/validation}/index.js +1 -1
  115. package/lib/packlets/validation/index.js.map +1 -0
  116. package/{validation → lib/packlets/validation}/number.d.ts +1 -1
  117. package/lib/packlets/validation/number.d.ts.map +1 -0
  118. package/lib/packlets/validation/number.js +54 -0
  119. package/lib/packlets/validation/number.js.map +1 -0
  120. package/{validation → lib/packlets/validation}/object.d.ts +1 -1
  121. package/lib/packlets/validation/object.d.ts.map +1 -0
  122. package/lib/packlets/validation/object.js +139 -0
  123. package/lib/packlets/validation/object.js.map +1 -0
  124. package/{validation → lib/packlets/validation}/string.d.ts +1 -1
  125. package/lib/packlets/validation/string.d.ts.map +1 -0
  126. package/lib/packlets/validation/string.js +54 -0
  127. package/lib/packlets/validation/string.js.map +1 -0
  128. package/lib/packlets/validation/traits.d.ts.map +1 -0
  129. package/lib/packlets/validation/traits.js +58 -0
  130. package/lib/packlets/validation/traits.js.map +1 -0
  131. package/{validation → lib/packlets/validation}/typeGuard.d.ts +1 -1
  132. package/lib/packlets/validation/typeGuard.d.ts.map +1 -0
  133. package/lib/packlets/validation/typeGuard.js +62 -0
  134. package/lib/packlets/validation/typeGuard.js.map +1 -0
  135. package/{validation → lib/packlets/validation}/validator.d.ts +15 -16
  136. package/lib/packlets/validation/validator.d.ts.map +1 -0
  137. package/lib/packlets/validation/validator.js +24 -0
  138. package/lib/packlets/validation/validator.js.map +1 -0
  139. package/{validation → lib/packlets/validation}/validatorBase.d.ts +1 -1
  140. package/lib/packlets/validation/validatorBase.d.ts.map +1 -0
  141. package/lib/packlets/validation/validatorBase.js +41 -0
  142. package/lib/packlets/validation/validatorBase.js.map +1 -0
  143. package/{validation → lib/packlets/validation}/validators.d.ts +3 -6
  144. package/lib/packlets/validation/validators.d.ts.map +1 -0
  145. package/lib/packlets/validation/validators.js +121 -0
  146. package/lib/packlets/validation/validators.js.map +1 -0
  147. package/package.json +34 -33
  148. package/brand.d.ts.map +0 -1
  149. package/brand.js +0 -24
  150. package/converter.d.ts.map +0 -1
  151. package/converter.js +0 -222
  152. package/converters.d.ts.map +0 -1
  153. package/converters.js +0 -896
  154. package/csvHelpers.d.ts.map +0 -1
  155. package/csvHelpers.js +0 -69
  156. package/extendedArray.d.ts.map +0 -1
  157. package/extendedArray.js +0 -106
  158. package/formatter.d.ts.map +0 -1
  159. package/formatter.js +0 -75
  160. package/hash.d.ts.map +0 -1
  161. package/hash.js +0 -168
  162. package/index.d.ts +0 -15
  163. package/index.d.ts.map +0 -1
  164. package/index.js +0 -70
  165. package/logger.d.ts.map +0 -1
  166. package/logger.js +0 -115
  167. package/normalize.d.ts.map +0 -1
  168. package/normalize.js +0 -139
  169. package/rangeOf.d.ts.map +0 -1
  170. package/rangeOf.js +0 -185
  171. package/recordJarHelpers.d.ts.map +0 -1
  172. package/recordJarHelpers.js +0 -262
  173. package/result.d.ts.map +0 -1
  174. package/result.js +0 -569
  175. package/utils.d.ts.map +0 -1
  176. package/utils.js +0 -200
  177. package/validation/array.d.ts.map +0 -1
  178. package/validation/array.js +0 -67
  179. package/validation/boolean.d.ts.map +0 -1
  180. package/validation/boolean.js +0 -59
  181. package/validation/classes.d.ts.map +0 -1
  182. package/validation/classes.js +0 -38
  183. package/validation/common.d.ts.map +0 -1
  184. package/validation/common.js +0 -24
  185. package/validation/field.d.ts.map +0 -1
  186. package/validation/field.js +0 -72
  187. package/validation/genericValidator.d.ts.map +0 -1
  188. package/validation/genericValidator.js +0 -138
  189. package/validation/index.d.ts.map +0 -1
  190. package/validation/number.d.ts.map +0 -1
  191. package/validation/number.js +0 -57
  192. package/validation/object.d.ts.map +0 -1
  193. package/validation/object.js +0 -143
  194. package/validation/string.d.ts.map +0 -1
  195. package/validation/string.js +0 -57
  196. package/validation/traits.d.ts.map +0 -1
  197. package/validation/traits.js +0 -58
  198. package/validation/typeGuard.d.ts.map +0 -1
  199. package/validation/typeGuard.js +0 -62
  200. package/validation/validator.d.ts.map +0 -1
  201. package/validation/validator.js +0 -24
  202. package/validation/validatorBase.d.ts.map +0 -1
  203. package/validation/validatorBase.js +0 -44
  204. package/validation/validators.d.ts.map +0 -1
  205. package/validation/validators.js +0 -119
  206. /package/{brand.d.ts → lib/packlets/base/brand.d.ts} +0 -0
  207. /package/{utils.d.ts → lib/packlets/base/utils.d.ts} +0 -0
  208. /package/{validation → lib/packlets/validation}/classes.d.ts +0 -0
  209. /package/{validation → lib/packlets/validation}/common.d.ts +0 -0
  210. /package/{validation → lib/packlets/validation}/index.d.ts +0 -0
  211. /package/{validation → lib/packlets/validation}/traits.d.ts +0 -0
package/utils.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/utils.js DELETED
@@ -1,200 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2020 Erik Fortune
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining a copy
6
- * of this software and associated documentation files (the "Software"), to deal
7
- * in the Software without restriction, including without limitation the rights
8
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- * copies of the Software, and to permit persons to whom the Software is
10
- * furnished to do so, subject to the following conditions:
11
- *
12
- * The above copyright notice and this permission notice shall be included in all
13
- * copies or substantial portions of the Software.
14
- *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
22
- */
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.optionalMapToPossiblyEmptyRecord = exports.optionalMapToRecord = exports.mapToRecord = exports.optionalRecordToPossiblyEmptyMap = exports.optionalRecordToMap = exports.recordToMap = exports.getTypeOfProperty = exports.getValueOfPropertyOrDefault = exports.omit = exports.pick = exports.isKeyOf = void 0;
25
- const result_1 = require("./result");
26
- /**
27
- * Helper type-guard function to report whether a specified key is present in
28
- * a supplied object.
29
- * @param key - The key to be tested.
30
- * @param item - The object to be tested.
31
- * @returns Returns `true` if the key is present, `false` otherwise.
32
- * @public
33
- */
34
- // eslint-disable-next-line @typescript-eslint/ban-types
35
- function isKeyOf(key, item) {
36
- return item.hasOwnProperty(key);
37
- }
38
- exports.isKeyOf = isKeyOf;
39
- /**
40
- * Simple implicit pick function, which picks a set of properties from a supplied
41
- * object. Ignores picked properties that do not exist regardless of type signature.
42
- * @param from - The object from which keys are to be picked.
43
- * @param include - The keys of the properties to be picked from `from`.
44
- * @returns A new object containing the requested properties from `from`, where present.
45
- * @public
46
- */
47
- function pick(from, include) {
48
- const rtrn = {};
49
- for (const key of include) {
50
- if (key in from) {
51
- rtrn[key] = from[key];
52
- }
53
- }
54
- return rtrn;
55
- }
56
- exports.pick = pick;
57
- /**
58
- * Simple implicit omit function, which picks all of the properties from a supplied
59
- * object except those specified for exclusion.
60
- * @param from - The object from which keys are to be picked.
61
- * @param exclude - The keys of the properties to be excluded from the returned object.
62
- * @returns A new object containing all of the properties from `from` that were not
63
- * explicitly excluded.
64
- * @public
65
- */
66
- function omit(from, exclude) {
67
- const rtrn = {};
68
- for (const entry of Object.entries(from).filter((e) => !exclude.includes(e[0]))) {
69
- rtrn[entry[0]] = entry[1];
70
- }
71
- return rtrn;
72
- }
73
- exports.omit = omit;
74
- /**
75
- * Gets the value of a property specified by key from an arbitrary object,
76
- * or a default value if the property does not exist.
77
- * @param key - The key specifying the property to be retrieved.
78
- * @param item - The object from which the property is to be retrieved.
79
- * @param defaultValue - An optional default value to be returned if the property
80
- * is not present (default `undefined`).
81
- * @returns The value of the requested property, or the default value if the
82
- * requested property does not exist.
83
- * @public
84
- */
85
- function getValueOfPropertyOrDefault(key, item, defaultValue) {
86
- return isKeyOf(key, item) ? item[key] : defaultValue;
87
- }
88
- exports.getValueOfPropertyOrDefault = getValueOfPropertyOrDefault;
89
- /**
90
- * Gets the type of a property specified by key from an arbitrary object.
91
- * @param key - The key specifying the property to be tested.
92
- * @param item - The object from which the property is to be tested.
93
- * @returns The type of the requested property, or `undefined` if the
94
- * property does not exist.
95
- * @example
96
- * Returns `'undefined'` (a string) if the property exists but has the value
97
- * undefined but `undefined` (the literal) if the property does not exist.
98
- * @public
99
- */
100
- function getTypeOfProperty(key, item) {
101
- return isKeyOf(key, item) ? typeof item[key] : undefined;
102
- }
103
- exports.getTypeOfProperty = getTypeOfProperty;
104
- /**
105
- * Applies a factory method to convert a `Record<TK, TS>` into a `Map<TK, TD>`.
106
- * @param src - The `Record` to be converted.
107
- * @param factory - The factory method used to convert elements.
108
- * @returns {@link Success} with the resulting map on success, or {@link Failure} with a
109
- * message if an error occurs.
110
- * @public
111
- */
112
- function recordToMap(src, factory) {
113
- const map = new Map();
114
- for (const key in src) {
115
- if (src[key] !== undefined) {
116
- const itemResult = factory(key, src[key]);
117
- if (itemResult.isSuccess()) {
118
- map.set(key, itemResult.value);
119
- }
120
- else {
121
- return (0, result_1.fail)(`${key}: ${itemResult.message}`);
122
- }
123
- }
124
- }
125
- return (0, result_1.succeed)(map);
126
- }
127
- exports.recordToMap = recordToMap;
128
- /**
129
- * Applies a factory method to convert an optional `Record<TK, TS>` into a `Map<TK, TD>`, or `undefined`.
130
- * @param src - The `Record` to be converted, or undefined.
131
- * @param factory - The factory method used to convert elements.
132
- * @returns {@link Success} with the resulting map if conversion succeeds, or {@link Success} with `undefined`
133
- * if `src` is `undefined`. Returns {@link Failure} with a message if an error occurs.
134
- * @public
135
- */
136
- function optionalRecordToMap(src, factory) {
137
- return (src === undefined) ? (0, result_1.succeed)(undefined) : recordToMap(src, factory);
138
- }
139
- exports.optionalRecordToMap = optionalRecordToMap;
140
- /**
141
- * Applies a factory method to convert an optional `Record<TK, TS>` into a `Map<TK, TD>`
142
- * @param src - The `Record` to be converted, or `undefined`.
143
- * @param factory - The factory method used to convert elements.
144
- * @returns {@link Success} with the resulting map (empty if `src` is `undefined`) if conversion succeeds.
145
- * Returns {@link Failure} with a message if an error occurs.
146
- * @public
147
- */
148
- function optionalRecordToPossiblyEmptyMap(src, factory) {
149
- return (src === undefined) ? (0, result_1.succeed)(new Map()) : recordToMap(src, factory);
150
- }
151
- exports.optionalRecordToPossiblyEmptyMap = optionalRecordToPossiblyEmptyMap;
152
- /**
153
- * Applies a factory method to convert a `Map<TK, TS>` into a `Record<TK, TD>`.
154
- * @param src - The `Map` object to be converted.
155
- * @param factory - The factory method used to convert elements.
156
- * @returns {@link Success} with the resulting `Record<TK, TD>` if conversion succeeds, or
157
- * {@link Failure} with an error message if an error occurs.
158
- * @public
159
- */
160
- function mapToRecord(src, factory) {
161
- const record = {};
162
- for (const kvp of src) {
163
- if (kvp[1] !== undefined) {
164
- const itemResult = factory(kvp[0], kvp[1]);
165
- if (itemResult.isSuccess()) {
166
- record[kvp[0]] = itemResult.value;
167
- }
168
- else {
169
- return (0, result_1.fail)(`${kvp[0]}: ${itemResult.message}`);
170
- }
171
- }
172
- }
173
- return (0, result_1.succeed)(record);
174
- }
175
- exports.mapToRecord = mapToRecord;
176
- /**
177
- * Applies a factory method to convert an optional `Map<string, TS>` into a `Record<string, TD>` or `undefined`.
178
- * @param src - The `Map` object to be converted, or `undefined`.
179
- * @param factory - The factory method used to convert elements.
180
- * @returns {@link Success} with the resulting record if conversion succeeds, or {@link Success} with `undefined` if
181
- * `src` is `undefined`. Returns {@link Failure} with a message if an error occurs.
182
- * @public
183
- */
184
- function optionalMapToRecord(src, factory) {
185
- return (src === undefined) ? (0, result_1.succeed)(undefined) : mapToRecord(src, factory);
186
- }
187
- exports.optionalMapToRecord = optionalMapToRecord;
188
- /**
189
- * Applies a factory method to convert an optional `Map<string, TS>` into a `Record<string, TD>`
190
- * @param src - The `Map` object to be converted, or `undefined`.
191
- * @param factory - The factory method used to convert elements.
192
- * @returns {@link Success} with the resulting record (empty if `src` is `undefined`) if conversion succeeds.
193
- * Returns {@link Failure} with a message if an error occurs.
194
- * @public
195
- */
196
- function optionalMapToPossiblyEmptyRecord(src, factory) {
197
- return (src === undefined) ? (0, result_1.succeed)({}) : mapToRecord(src, factory);
198
- }
199
- exports.optionalMapToPossiblyEmptyRecord = optionalMapToPossiblyEmptyRecord;
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBRUgscUNBQWlEO0FBRWpEOzs7Ozs7O0dBT0c7QUFDSCx3REFBd0Q7QUFDeEQsU0FBZ0IsT0FBTyxDQUFtQixHQUF5QixFQUFFLElBQU87SUFDeEUsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFGRCwwQkFFQztBQUdEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixJQUFJLENBQXNDLElBQU8sRUFBRSxPQUFZO0lBQzNFLE1BQU0sSUFBSSxHQUF3QixFQUFFLENBQUM7SUFDckMsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUU7UUFDdkIsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6QjtLQUNKO0lBQ0QsT0FBTyxJQUFrQixDQUFDO0FBQzlCLENBQUM7QUFSRCxvQkFRQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBZ0IsSUFBSSxDQUFzQyxJQUFPLEVBQUUsT0FBWTtJQUMzRSxNQUFNLElBQUksR0FBd0IsRUFBRSxDQUFDO0lBQ3JDLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFpQixDQUFDLENBQUMsRUFBRTtRQUM3RixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBZ0MsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUM1RDtJQUVELE9BQU8sSUFBa0IsQ0FBQztBQUM5QixDQUFDO0FBUEQs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LElBQUEsZ0JBQU8sRUFBQyxNQUFNLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBZEQsa0NBY0M7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQXFDLEdBQTBCLEVBQUUsT0FBc0M7SUFDdEksT0FBTyxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxnQkFBTyxFQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2hGLENBQUM7QUFGRCxrREFFQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixnQ0FBZ0MsQ0FBcUMsR0FBMEIsRUFBRSxPQUFzQztJQUNuSixPQUFPLENBQUMsR0FBRyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLGdCQUFPLEVBQUMsRUFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzNGLENBQUM7QUFGRCw0RUFFQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoYykgMjAyMCBFcmlrIEZvcnR1bmVcclxuICpcclxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxyXG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXHJcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcclxuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxyXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcclxuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcclxuICpcclxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXHJcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXHJcbiAqXHJcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcclxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXHJcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxyXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXHJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXHJcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXHJcbiAqIFNPRlRXQVJFLlxyXG4gKi9cclxuXHJcbmltcG9ydCB7IFJlc3VsdCwgZmFpbCwgc3VjY2VlZCB9IGZyb20gJy4vcmVzdWx0JztcclxuXHJcbi8qKlxyXG4gKiBIZWxwZXIgdHlwZS1ndWFyZCBmdW5jdGlvbiB0byByZXBvcnQgd2hldGhlciBhIHNwZWNpZmllZCBrZXkgaXMgcHJlc2VudCBpblxyXG4gKiBhIHN1cHBsaWVkIG9iamVjdC5cclxuICogQHBhcmFtIGtleSAtIFRoZSBrZXkgdG8gYmUgdGVzdGVkLlxyXG4gKiBAcGFyYW0gaXRlbSAtIFRoZSBvYmplY3QgdG8gYmUgdGVzdGVkLlxyXG4gKiBAcmV0dXJucyBSZXR1cm5zIGB0cnVlYCBpZiB0aGUga2V5IGlzIHByZXNlbnQsIGBmYWxzZWAgb3RoZXJ3aXNlLlxyXG4gKiBAcHVibGljXHJcbiAqL1xyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xyXG5leHBvcnQgZnVuY3Rpb24gaXNLZXlPZjxUIGV4dGVuZHMgb2JqZWN0PihrZXk6IHN0cmluZ3xudW1iZXJ8c3ltYm9sLCBpdGVtOiBUKToga2V5IGlzIGtleW9mIFQge1xyXG4gICAgcmV0dXJuIGl0ZW0uaGFzT3duUHJvcGVydHkoa2V5KTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBTaW1wbGUgaW1wbGljaXQgcGljayBmdW5jdGlvbiwgd2hpY2ggcGlja3MgYSBzZXQgb2YgcHJvcGVydGllcyBmcm9tIGEgc3VwcGxpZWRcclxuICogb2JqZWN0LiAgSWdub3JlcyBwaWNrZWQgcHJvcGVydGllcyB0aGF0IGRvIG5vdCBleGlzdCByZWdhcmRsZXNzIG9mIHR5cGUgc2lnbmF0dXJlLlxyXG4gKiBAcGFyYW0gZnJvbSAtIFRoZSBvYmplY3QgZnJvbSB3aGljaCBrZXlzIGFyZSB0byBiZSBwaWNrZWQuXHJcbiAqIEBwYXJhbSBpbmNsdWRlIC0gVGhlIGtleXMgb2YgdGhlIHByb3BlcnRpZXMgdG8gYmUgcGlja2VkIGZyb20gYGZyb21gLlxyXG4gKiBAcmV0dXJucyBBIG5ldyBvYmplY3QgY29udGFpbmluZyB0aGUgcmVxdWVzdGVkIHByb3BlcnRpZXMgZnJvbSBgZnJvbWAsIHdoZXJlIHByZXNlbnQuXHJcbiAqIEBwdWJsaWNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBwaWNrPFQgZXh0ZW5kcyBvYmplY3QsIEsgZXh0ZW5kcyBrZXlvZiBUPihmcm9tOiBULCBpbmNsdWRlOiBLW10pOiBQaWNrPFQsIEs+IHtcclxuICAgIGNvbnN0IHJ0cm46IFBhcnRpYWw8UGljazxULCBLPj4gPSB7fTtcclxuICAgIGZvciAoY29uc3Qga2V5IG9mIGluY2x1ZGUpIHtcclxuICAgICAgICBpZiAoa2V5IGluIGZyb20pIHtcclxuICAgICAgICAgICAgcnRybltrZXldID0gZnJvbVtrZXldO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBydHJuIGFzIFBpY2s8VCwgSz47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTaW1wbGUgaW1wbGljaXQgb21pdCBmdW5jdGlvbiwgd2hpY2ggcGlja3MgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzIGZyb20gYSBzdXBwbGllZFxyXG4gKiBvYmplY3QgZXhjZXB0IHRob3NlIHNwZWNpZmllZCBmb3IgZXhjbHVzaW9uLlxyXG4gKiBAcGFyYW0gZnJvbSAtIFRoZSBvYmplY3QgZnJvbSB3aGljaCBrZXlzIGFyZSB0byBiZSBwaWNrZWQuXHJcbiAqIEBwYXJhbSBleGNsdWRlIC0gVGhlIGtleXMgb2YgdGhlIHByb3BlcnRpZXMgdG8gYmUgZXhjbHVkZWQgZnJvbSB0aGUgcmV0dXJuZWQgb2JqZWN0LlxyXG4gKiBAcmV0dXJucyBBIG5ldyBvYmplY3QgY29udGFpbmluZyBhbGwgb2YgdGhlIHByb3BlcnRpZXMgZnJvbSBgZnJvbWAgdGhhdCB3ZXJlIG5vdFxyXG4gKiBleHBsaWNpdGx5IGV4Y2x1ZGVkLlxyXG4gKiBAcHVibGljXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gb21pdDxUIGV4dGVuZHMgb2JqZWN0LCBLIGV4dGVuZHMga2V5b2YgVD4oZnJvbTogVCwgZXhjbHVkZTogS1tdKTogT21pdDxULCBLPiB7XHJcbiAgICBjb25zdCBydHJuOiBQYXJ0aWFsPE9taXQ8VCwgSz4+ID0ge307XHJcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIE9iamVjdC5lbnRyaWVzKGZyb20pLmZpbHRlcigoZSkgPT4gIWV4Y2x1ZGUuaW5jbHVkZXMoZVswXSBhcyBrZXlvZiBUIGFzIEspKSkge1xyXG4gICAgICAgIHJ0cm5bZW50cnlbMF0gYXMgdW5rbm93biBhcyBrZXlvZiBPbWl0PFQsIEs+XSA9IGVudHJ5WzFdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBydHJuIGFzIE9taXQ8VCwgSz47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXRzIHRoZSB2YWx1ZSBvZiBhIHByb3BlcnR5IHNwZWNpZmllZCBieSBrZXkgZnJvbSBhbiBhcmJpdHJhcnkgb2JqZWN0LFxyXG4gKiBvciBhIGRlZmF1bHQgdmFsdWUgaWYgdGhlIHByb3BlcnR5IGRvZXMgbm90IGV4aXN0LlxyXG4gKiBAcGFyYW0ga2V5IC0gVGhlIGtleSBzcGVjaWZ5aW5nIHRoZSBwcm9wZXJ0eSB0byBiZSByZXRyaWV2ZWQuXHJcbiAqIEBwYXJhbSBpdGVtIC0gVGhlIG9iamVjdCBmcm9tIHdoaWNoIHRoZSBwcm9wZXJ0eSBpcyB0byBiZSByZXRyaWV2ZWQuXHJcbiAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgLSBBbiBvcHRpb25hbCBkZWZhdWx0IHZhbHVlIHRvIGJlIHJldHVybmVkIGlmIHRoZSBwcm9wZXJ0eVxyXG4gKiBpcyBub3QgcHJlc2VudCAoZGVmYXVsdCBgdW5kZWZpbmVkYCkuXHJcbiAqIEByZXR1cm5zIFRoZSB2YWx1ZSBvZiB0aGUgcmVxdWVzdGVkIHByb3BlcnR5LCBvciB0aGUgZGVmYXVsdCB2YWx1ZSBpZiB0aGVcclxuICogcmVxdWVzdGVkIHByb3BlcnR5IGRvZXMgbm90IGV4aXN0LlxyXG4gKiBAcHVibGljXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmFsdWVPZlByb3BlcnR5T3JEZWZhdWx0PFQgZXh0ZW5kcyBvYmplY3Q+KFxyXG4gICAga2V5OiBzdHJpbmd8bnVtYmVyfHN5bWJvbCxcclxuICAgIGl0ZW06IFQsXHJcbiAgICBkZWZhdWx0VmFsdWU/OiB1bmtub3duXHJcbik6IHVua25vd24gfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIGlzS2V5T2Yoa2V5LCBpdGVtKSA/IGl0ZW1ba2V5XSA6IGRlZmF1bHRWYWx1ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldHMgdGhlIHR5cGUgb2YgYSBwcm9wZXJ0eSBzcGVjaWZpZWQgYnkga2V5IGZyb20gYW4gYXJiaXRyYXJ5IG9iamVjdC5cclxuICogQHBhcmFtIGtleSAtIFRoZSBrZXkgc3BlY2lmeWluZyB0aGUgcHJvcGVydHkgdG8gYmUgdGVzdGVkLlxyXG4gKiBAcGFyYW0gaXRlbSAtIFRoZSBvYmplY3QgZnJvbSB3aGljaCB0aGUgcHJvcGVydHkgaXMgdG8gYmUgdGVzdGVkLlxyXG4gKiBAcmV0dXJucyBUaGUgdHlwZSBvZiB0aGUgcmVxdWVzdGVkIHByb3BlcnR5LCBvciBgdW5kZWZpbmVkYCBpZiB0aGVcclxuICogcHJvcGVydHkgZG9lcyBub3QgZXhpc3QuXHJcbiAqIEBleGFtcGxlXHJcbiAqIFJldHVybnMgYCd1bmRlZmluZWQnYCAoYSBzdHJpbmcpIGlmIHRoZSBwcm9wZXJ0eSBleGlzdHMgYnV0IGhhcyB0aGUgdmFsdWVcclxuICogdW5kZWZpbmVkIGJ1dCBgdW5kZWZpbmVkYCAodGhlIGxpdGVyYWwpIGlmIHRoZSBwcm9wZXJ0eSBkb2VzIG5vdCBleGlzdC5cclxuICogQHB1YmxpY1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFR5cGVPZlByb3BlcnR5PFQgZXh0ZW5kcyBvYmplY3Q+KFxyXG4gICAga2V5OiBzdHJpbmd8bnVtYmVyfHN5bWJvbCxcclxuICAgIGl0ZW06IFQpOiAnc3RyaW5nJyB8ICdudW1iZXInIHwgJ2JpZ2ludCcgfCAnYm9vbGVhbicgfCAnc3ltYm9sJyB8ICd1bmRlZmluZWQnIHwgJ3VuZGVmaW5lZCcgfCAnb2JqZWN0JyB8ICdmdW5jdGlvbicgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIGlzS2V5T2Yoa2V5LCBpdGVtKSA/IHR5cGVvZiBpdGVtW2tleV0gOiB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUeXBlIGZvciBmYWN0b3J5IG1ldGhvZHMgd2hpY2ggY29udmVydCBhIGtleS12YWx1ZSBwYWlyIHRvIGEgbmV3IHVuaXF1ZSB2YWx1ZS5cclxuICogQHB1YmxpY1xyXG4gKi9cclxudHlwZSBLZXllZFRoaW5nRmFjdG9yeTxUUywgVEQsIFRLIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiA9IChrZXk6IFRLLCB0aGluZzogVFMpID0+IFJlc3VsdDxURD47XHJcblxyXG4vKipcclxuICogQXBwbGllcyBhIGZhY3RvcnkgbWV0aG9kIHRvIGNvbnZlcnQgYSBgUmVjb3JkPFRLLCBUUz5gIGludG8gYSBgTWFwPFRLLCBURD5gLlxyXG4gKiBAcGFyYW0gc3JjIC0gVGhlIGBSZWNvcmRgIHRvIGJlIGNvbnZlcnRlZC5cclxuICogQHBhcmFtIGZhY3RvcnkgLSBUaGUgZmFjdG9yeSBtZXRob2QgdXNlZCB0byBjb252ZXJ0IGVsZW1lbnRzLlxyXG4gKiBAcmV0dXJucyB7QGxpbmsgU3VjY2Vzc30gd2l0aCB0aGUgcmVzdWx0aW5nIG1hcCBvbiBzdWNjZXNzLCBvciB7QGxpbmsgRmFpbHVyZX0gd2l0aCBhXHJcbiAqIG1lc3NhZ2UgaWYgYW4gZXJyb3Igb2NjdXJzLlxyXG4gKiBAcHVibGljXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmVjb3JkVG9NYXA8VFMsIFRELCBUSyBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4oc3JjOiBSZWNvcmQ8VEssIFRTPiwgZmFjdG9yeTogS2V5ZWRUaGluZ0ZhY3Rvcnk8VFMsIFRELCBUSz4pOiBSZXN1bHQ8TWFwPFRLLCBURD4+IHtcclxuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8VEssIFREPigpO1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gc3JjKSB7XHJcbiAgICAgICAgaWYgKHNyY1trZXldICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgY29uc3QgaXRlbVJlc3VsdCA9IGZhY3Rvcnkoa2V5LCBzcmNba2V5XSk7XHJcbiAgICAgICAgICAgIGlmIChpdGVtUmVzdWx0LmlzU3VjY2VzcygpKSB7XHJcbiAgICAgICAgICAgICAgICBtYXAuc2V0KGtleSwgaXRlbVJlc3VsdC52YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFpbChgJHtrZXl9OiAke2l0ZW1SZXN1bHQubWVzc2FnZX1gKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBzdWNjZWVkKG1hcCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBcHBsaWVzIGEgZmFjdG9yeSBtZXRob2QgdG8gY29udmVydCBhbiBvcHRpb25hbCBgUmVjb3JkPFRLLCBUUz5gIGludG8gYSBgTWFwPFRLLCBURD5gLCBvciBgdW5kZWZpbmVkYC5cclxuICogQHBhcmFtIHNyYyAtIFRoZSBgUmVjb3JkYCB0byBiZSBjb252ZXJ0ZWQsIG9yIHVuZGVmaW5lZC5cclxuICogQHBhcmFtIGZhY3RvcnkgLSBUaGUgZmFjdG9yeSBtZXRob2QgdXNlZCB0byBjb252ZXJ0IGVsZW1lbnRzLlxyXG4gKiBAcmV0dXJucyB7QGxpbmsgU3VjY2Vzc30gd2l0aCB0aGUgcmVzdWx0aW5nIG1hcCBpZiBjb252ZXJzaW9uIHN1Y2NlZWRzLCBvciB7QGxpbmsgU3VjY2Vzc30gd2l0aCBgdW5kZWZpbmVkYFxyXG4gKiBpZiBgc3JjYCBpcyBgdW5kZWZpbmVkYC4gUmV0dXJucyB7QGxpbmsgRmFpbHVyZX0gd2l0aCBhIG1lc3NhZ2UgaWYgYW4gZXJyb3Igb2NjdXJzLlxyXG4gKiBAcHVibGljXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uYWxSZWNvcmRUb01hcDxUUywgVEQsIFRLIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPihzcmM6IFJlY29yZDxUSywgVFM+fHVuZGVmaW5lZCwgZmFjdG9yeTogS2V5ZWRUaGluZ0ZhY3Rvcnk8VFMsIFRELCBUSz4pOiBSZXN1bHQ8TWFwPFRLLCBURD58dW5kZWZpbmVkPiB7XHJcbiAgICByZXR1cm4gKHNyYyA9PT0gdW5kZWZpbmVkKSA/IHN1Y2NlZWQodW5kZWZpbmVkKSA6IHJlY29yZFRvTWFwKHNyYywgZmFjdG9yeSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBcHBsaWVzIGEgZmFjdG9yeSBtZXRob2QgdG8gY29udmVydCBhbiBvcHRpb25hbCBgUmVjb3JkPFRLLCBUUz5gIGludG8gYSBgTWFwPFRLLCBURD5gXHJcbiAqIEBwYXJhbSBzcmMgLSBUaGUgYFJlY29yZGAgdG8gYmUgY29udmVydGVkLCBvciBgdW5kZWZpbmVkYC5cclxuICogQHBhcmFtIGZhY3RvcnkgLSBUaGUgZmFjdG9yeSBtZXRob2QgdXNlZCB0byBjb252ZXJ0IGVsZW1lbnRzLlxyXG4gKiBAcmV0dXJucyB7QGxpbmsgU3VjY2Vzc30gd2l0aCB0aGUgcmVzdWx0aW5nIG1hcCAoZW1wdHkgaWYgYHNyY2AgaXMgYHVuZGVmaW5lZGApIGlmIGNvbnZlcnNpb24gc3VjY2VlZHMuXHJcbiAqIFJldHVybnMge0BsaW5rIEZhaWx1cmV9IHdpdGggYSBtZXNzYWdlIGlmIGFuIGVycm9yIG9jY3Vycy5cclxuICogQHB1YmxpY1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbmFsUmVjb3JkVG9Qb3NzaWJseUVtcHR5TWFwPFRTLCBURCwgVEsgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+KHNyYzogUmVjb3JkPFRLLCBUUz58dW5kZWZpbmVkLCBmYWN0b3J5OiBLZXllZFRoaW5nRmFjdG9yeTxUUywgVEQsIFRLPik6IFJlc3VsdDxNYXA8VEssIFREPj4ge1xyXG4gICAgcmV0dXJuIChzcmMgPT09IHVuZGVmaW5lZCkgPyBzdWNjZWVkKG5ldyBNYXA8VEssIFREPigpKSA6IHJlY29yZFRvTWFwKHNyYywgZmFjdG9yeSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBcHBsaWVzIGEgZmFjdG9yeSBtZXRob2QgdG8gY29udmVydCBhIGBNYXA8VEssIFRTPmAgaW50byBhIGBSZWNvcmQ8VEssIFREPmAuXHJcbiAqIEBwYXJhbSBzcmMgLSBUaGUgYE1hcGAgb2JqZWN0IHRvIGJlIGNvbnZlcnRlZC5cclxuICogQHBhcmFtIGZhY3RvcnkgLSBUaGUgZmFjdG9yeSBtZXRob2QgdXNlZCB0byBjb252ZXJ0IGVsZW1lbnRzLlxyXG4gKiBAcmV0dXJucyB7QGxpbmsgU3VjY2Vzc30gd2l0aCB0aGUgcmVzdWx0aW5nIGBSZWNvcmQ8VEssIFREPmAgaWYgY29udmVyc2lvbiBzdWNjZWVkcywgb3JcclxuICoge0BsaW5rIEZhaWx1cmV9IHdpdGggYW4gZXJyb3IgbWVzc2FnZSBpZiBhbiBlcnJvciBvY2N1cnMuXHJcbiAqIEBwdWJsaWNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBtYXBUb1JlY29yZDxUUywgVEQsIFRLIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPihzcmM6IE1hcDxUSywgVFM+LCBmYWN0b3J5OiBLZXllZFRoaW5nRmFjdG9yeTxUUywgVEQsIFRLPik6IFJlc3VsdDxSZWNvcmQ8VEssIFREPj4ge1xyXG4gICAgY29uc3QgcmVjb3JkOiBSZWNvcmQ8VEssIFREPiA9IHt9IGFzIFJlY29yZDxUSywgVEQ+O1xyXG4gICAgZm9yIChjb25zdCBrdnAgb2Ygc3JjKSB7XHJcbiAgICAgICAgaWYgKGt2cFsxXSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1SZXN1bHQgPSBmYWN0b3J5KGt2cFswXSwga3ZwWzFdKTtcclxuICAgICAgICAgICAgaWYgKGl0ZW1SZXN1bHQuaXNTdWNjZXNzKCkpIHtcclxuICAgICAgICAgICAgICAgIHJlY29yZFtrdnBbMF1dID0gaXRlbVJlc3VsdC52YWx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWlsKGAke2t2cFswXX06ICR7aXRlbVJlc3VsdC5tZXNzYWdlfWApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN1Y2NlZWQocmVjb3JkKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFwcGxpZXMgYSBmYWN0b3J5IG1ldGhvZCB0byBjb252ZXJ0IGFuIG9wdGlvbmFsIGBNYXA8c3RyaW5nLCBUUz5gIGludG8gYSBgUmVjb3JkPHN0cmluZywgVEQ+YCBvciBgdW5kZWZpbmVkYC5cclxuICogQHBhcmFtIHNyYyAtIFRoZSBgTWFwYCBvYmplY3QgdG8gYmUgY29udmVydGVkLCBvciBgdW5kZWZpbmVkYC5cclxuICogQHBhcmFtIGZhY3RvcnkgLSBUaGUgZmFjdG9yeSBtZXRob2QgdXNlZCB0byBjb252ZXJ0IGVsZW1lbnRzLlxyXG4gKiBAcmV0dXJucyB7QGxpbmsgU3VjY2Vzc30gd2l0aCB0aGUgcmVzdWx0aW5nIHJlY29yZCBpZiBjb252ZXJzaW9uIHN1Y2NlZWRzLCBvciB7QGxpbmsgU3VjY2Vzc30gd2l0aCBgdW5kZWZpbmVkYCBpZlxyXG4gKiBgc3JjYCBpcyBgdW5kZWZpbmVkYC4gUmV0dXJucyB7QGxpbmsgRmFpbHVyZX0gd2l0aCBhIG1lc3NhZ2UgaWYgYW4gZXJyb3Igb2NjdXJzLlxyXG4gKiBAcHVibGljXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uYWxNYXBUb1JlY29yZDxUUywgVEQsIFRLIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPihzcmM6IE1hcDxUSywgVFM+fHVuZGVmaW5lZCwgZmFjdG9yeTogS2V5ZWRUaGluZ0ZhY3Rvcnk8VFMsIFRELCBUSz4pOiBSZXN1bHQ8UmVjb3JkPFRLLCBURD58dW5kZWZpbmVkPiB7XHJcbiAgICByZXR1cm4gKHNyYyA9PT0gdW5kZWZpbmVkKSA/IHN1Y2NlZWQodW5kZWZpbmVkKSA6IG1hcFRvUmVjb3JkKHNyYywgZmFjdG9yeSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBcHBsaWVzIGEgZmFjdG9yeSBtZXRob2QgdG8gY29udmVydCBhbiBvcHRpb25hbCBgTWFwPHN0cmluZywgVFM+YCBpbnRvIGEgYFJlY29yZDxzdHJpbmcsIFREPmBcclxuICogQHBhcmFtIHNyYyAtIFRoZSBgTWFwYCBvYmplY3QgdG8gYmUgY29udmVydGVkLCBvciBgdW5kZWZpbmVkYC5cclxuICogQHBhcmFtIGZhY3RvcnkgLSBUaGUgZmFjdG9yeSBtZXRob2QgdXNlZCB0byBjb252ZXJ0IGVsZW1lbnRzLlxyXG4gKiBAcmV0dXJucyB7QGxpbmsgU3VjY2Vzc30gd2l0aCB0aGUgcmVzdWx0aW5nIHJlY29yZCAoZW1wdHkgaWYgYHNyY2AgaXMgYHVuZGVmaW5lZGApIGlmIGNvbnZlcnNpb24gc3VjY2VlZHMuXHJcbiAqIFJldHVybnMge0BsaW5rIEZhaWx1cmV9IHdpdGggYSBtZXNzYWdlIGlmIGFuIGVycm9yIG9jY3Vycy5cclxuICogQHB1YmxpY1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbmFsTWFwVG9Qb3NzaWJseUVtcHR5UmVjb3JkPFRTLCBURCwgVEsgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+KHNyYzogTWFwPFRLLCBUUz58dW5kZWZpbmVkLCBmYWN0b3J5OiBLZXllZFRoaW5nRmFjdG9yeTxUUywgVEQsIFRLPik6IFJlc3VsdDxSZWNvcmQ8VEssIFREPj4ge1xyXG4gICAgcmV0dXJuIChzcmMgPT09IHVuZGVmaW5lZCkgPyBzdWNjZWVkKHt9IGFzIFJlY29yZDxUSywgVEQ+KSA6IG1hcFRvUmVjb3JkKHNyYywgZmFjdG9yeSk7XHJcbn1cclxuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/validation/array.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,OAAO,EAAQ,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAEhF;;;GAGG;AACH,MAAM,WAAW,+BAA+B,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAE,SAAQ,8BAA8B,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;IAC7G,eAAe,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;CACrC;AAED;;;;GAIG;AACH,qBAAa,cAAc,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;IACvE;;;OAGG;IACH,SAAgB,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAE9C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEtD;;;;OAIG;gBACgB,MAAM,EAAE,+BAA+B,CAAC,CAAC,EAAE,EAAE,CAAC;IAMjE;;;;;;;;OAQG;IACH,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CAY5E"}
@@ -1,67 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2022 Erik Fortune
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining a copy
6
- * of this software and associated documentation files (the "Software"), to deal
7
- * in the Software without restriction, including without limitation the rights
8
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- * copies of the Software, and to permit persons to whom the Software is
10
- * furnished to do so, subject to the following conditions:
11
- *
12
- * The above copyright notice and this permission notice shall be included in all
13
- * copies or substantial portions of the Software.
14
- *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
22
- */
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.ArrayValidator = void 0;
25
- const result_1 = require("../result");
26
- const validatorBase_1 = require("./validatorBase");
27
- /**
28
- * An in-place {@link Validation.Validator | Validator} for arrays of validated
29
- * values or objects.
30
- * @public
31
- */
32
- class ArrayValidator extends validatorBase_1.ValidatorBase {
33
- /**
34
- * Constructs a new {@link Validation.Classes.ArrayValidator | ArrayValidator}.
35
- * @param params - Optional {@link Validation.Classes.ArrayValidatorConstructorParams | init params} for the
36
- * new {@link Validation.Classes.ArrayValidator | ArrayValidator}.
37
- */
38
- constructor(params) {
39
- var _a;
40
- super(params);
41
- this._validateElement = params.validateElement;
42
- this.options = (_a = params.options) !== null && _a !== void 0 ? _a : {};
43
- }
44
- /**
45
- * Static method which validates that a supplied `unknown` value is a `array`
46
- * and that every element of the array can be validated by the supplied array
47
- * validator.
48
- * @param from - The `unknown` value to be tested.
49
- * @param context - Optional validation context will be propagated to element validator.
50
- * @returns Returns `true` if `from` is an `array` of valid elements, or
51
- * {@link Failure} with an error message if not.
52
- */
53
- _validate(from, context) {
54
- if (Array.isArray(from)) {
55
- for (const elem of from) {
56
- const result = this._validateElement.validate(elem, context);
57
- if (!result.isSuccess()) {
58
- return (0, result_1.fail)(result.message);
59
- }
60
- }
61
- return true;
62
- }
63
- return (0, result_1.fail)(`"${from}": not an array`);
64
- }
65
- }
66
- exports.ArrayValidator = ArrayValidator;
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGlvbi9hcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7QUFFSCxzQ0FBMEM7QUFFMUMsbURBQWdGO0FBVWhGOzs7O0dBSUc7QUFDSCxNQUFhLGNBQWdDLFNBQVEsNkJBQXNCO0lBU3ZFOzs7O09BSUc7SUFDSCxZQUFtQixNQUE4Qzs7UUFDN0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFBLE1BQU0sQ0FBQyxPQUFPLG1DQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDTyxTQUFTLENBQUksSUFBYSxFQUFFLE9BQVk7UUFDOUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3JCLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxFQUFFO2dCQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRTtvQkFDckIsT0FBTyxJQUFBLGFBQUksRUFBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQy9CO2FBQ0o7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxJQUFBLGFBQUksRUFBSSxJQUFJLElBQUksaUJBQWlCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0o7QUF6Q0Qsd0NBeUNDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyMiBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCB7IEZhaWx1cmUsIGZhaWwgfSBmcm9tICcuLi9yZXN1bHQnO1xuaW1wb3J0IHsgVmFsaWRhdG9yLCBWYWxpZGF0b3JPcHRpb25zIH0gZnJvbSAnLi92YWxpZGF0b3InO1xuaW1wb3J0IHsgVmFsaWRhdG9yQmFzZSwgVmFsaWRhdG9yQmFzZUNvbnN0cnVjdG9yUGFyYW1zIH0gZnJvbSAnLi92YWxpZGF0b3JCYXNlJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIHVzZWQgdG8gY29uc3RydWN0IGEge0BsaW5rIFZhbGlkYXRpb24uQ2xhc3Nlcy5BcnJheVZhbGlkYXRvciB8IEFycmF5VmFsaWRhdG9yfS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnJheVZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zPFQsIFRDID0gdW5rbm93bj4gZXh0ZW5kcyBWYWxpZGF0b3JCYXNlQ29uc3RydWN0b3JQYXJhbXM8VFtdLCBUQz4ge1xuICAgIHZhbGlkYXRlRWxlbWVudDogVmFsaWRhdG9yPFQsIFRDPjtcbn1cblxuLyoqXG4gKiBBbiBpbi1wbGFjZSB7QGxpbmsgVmFsaWRhdGlvbi5WYWxpZGF0b3IgfCBWYWxpZGF0b3J9IGZvciBhcnJheXMgb2YgdmFsaWRhdGVkXG4gKiB2YWx1ZXMgb3Igb2JqZWN0cy5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIEFycmF5VmFsaWRhdG9yPFQsIFRDID0gdW5rbm93bj4gZXh0ZW5kcyBWYWxpZGF0b3JCYXNlPFRbXSwgVEM+IHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgVmFsaWRhdGlvbi5WYWxpZGF0b3JPcHRpb25zIHwgT3B0aW9uc30gd2hpY2ggYXBwbHkgdG8gdGhpc1xuICAgICAqIHZhbGlkYXRvci5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgb3B0aW9uczogVmFsaWRhdG9yT3B0aW9uczxUQz47XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3ZhbGlkYXRlRWxlbWVudDogVmFsaWRhdG9yPFQsIFRDPjtcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgYSBuZXcge0BsaW5rIFZhbGlkYXRpb24uQ2xhc3Nlcy5BcnJheVZhbGlkYXRvciB8IEFycmF5VmFsaWRhdG9yfS5cbiAgICAgKiBAcGFyYW0gcGFyYW1zIC0gT3B0aW9uYWwge0BsaW5rIFZhbGlkYXRpb24uQ2xhc3Nlcy5BcnJheVZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zIHwgaW5pdCBwYXJhbXN9IGZvciB0aGVcbiAgICAgKiBuZXcge0BsaW5rIFZhbGlkYXRpb24uQ2xhc3Nlcy5BcnJheVZhbGlkYXRvciB8IEFycmF5VmFsaWRhdG9yfS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBBcnJheVZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zPFQsIFRDPikge1xuICAgICAgICBzdXBlcihwYXJhbXMpO1xuICAgICAgICB0aGlzLl92YWxpZGF0ZUVsZW1lbnQgPSBwYXJhbXMudmFsaWRhdGVFbGVtZW50O1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBwYXJhbXMub3B0aW9ucyA/PyB7fTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdGF0aWMgbWV0aG9kIHdoaWNoIHZhbGlkYXRlcyB0aGF0IGEgc3VwcGxpZWQgYHVua25vd25gIHZhbHVlIGlzIGEgYGFycmF5YFxuICAgICAqIGFuZCB0aGF0IGV2ZXJ5IGVsZW1lbnQgb2YgdGhlIGFycmF5IGNhbiBiZSB2YWxpZGF0ZWQgYnkgdGhlIHN1cHBsaWVkIGFycmF5XG4gICAgICogdmFsaWRhdG9yLlxuICAgICAqIEBwYXJhbSBmcm9tIC0gVGhlIGB1bmtub3duYCB2YWx1ZSB0byBiZSB0ZXN0ZWQuXG4gICAgICogQHBhcmFtIGNvbnRleHQgLSBPcHRpb25hbCB2YWxpZGF0aW9uIGNvbnRleHQgd2lsbCBiZSBwcm9wYWdhdGVkIHRvIGVsZW1lbnQgdmFsaWRhdG9yLlxuICAgICAqIEByZXR1cm5zIFJldHVybnMgYHRydWVgIGlmIGBmcm9tYCBpcyBhbiBgYXJyYXlgIG9mIHZhbGlkIGVsZW1lbnRzLCBvclxuICAgICAqIHtAbGluayBGYWlsdXJlfSB3aXRoIGFuIGVycm9yIG1lc3NhZ2UgaWYgbm90LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfdmFsaWRhdGU8VD4oZnJvbTogdW5rbm93biwgY29udGV4dD86IFRDKTogYm9vbGVhbiB8IEZhaWx1cmU8VD4ge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmcm9tKSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBlbGVtIG9mIGZyb20pIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl92YWxpZGF0ZUVsZW1lbnQudmFsaWRhdGUoZWxlbSwgY29udGV4dCk7XG4gICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQuaXNTdWNjZXNzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhaWwocmVzdWx0Lm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWlsPFQ+KGBcIiR7ZnJvbX1cIjogbm90IGFuIGFycmF5YCk7XG4gICAgfVxufVxuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../src/validation/boolean.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,OAAO,EAAQ,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAEzF;;;GAGG;AACH,MAAM,MAAM,iCAAiC,CAAC,EAAE,GAAG,OAAO,IAAI,iCAAiC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAE7G;;;GAGG;AACH,qBAAa,gBAAgB,CAAC,EAAE,GAAG,OAAO,CAAE,SAAQ,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;IAC7E;;;;OAIG;gBACgB,MAAM,CAAC,EAAE,iCAAiC,CAAC,EAAE,CAAC;IASjE;;;;;OAKG;WACW,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAM3E"}
@@ -1,59 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2021 Erik Fortune
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining a copy
6
- * of this software and associated documentation files (the "Software"), to deal
7
- * in the Software without restriction, including without limitation the rights
8
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- * copies of the Software, and to permit persons to whom the Software is
10
- * furnished to do so, subject to the following conditions:
11
- *
12
- * The above copyright notice and this permission notice shall be included in all
13
- * copies or substantial portions of the Software.
14
- *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
22
- */
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.BooleanValidator = void 0;
25
- const result_1 = require("../result");
26
- const genericValidator_1 = require("./genericValidator");
27
- /**
28
- * An in-place {@link Validation.Validator | Validator} for `boolean` values.
29
- * @public
30
- */
31
- class BooleanValidator extends genericValidator_1.GenericValidator {
32
- /**
33
- * Constructs a new {@link Validation.Classes.BooleanValidator | BooleanValidator}.
34
- * @param params - Optional {@link Validation.Classes.BooleanValidatorConstructorParams | init params} for the
35
- * new {@link Validation.Classes.BooleanValidator | BooleanValidator}.
36
- */
37
- constructor(params) {
38
- // istanbul ignore next
39
- params = params !== null && params !== void 0 ? params : {};
40
- super({
41
- validator: BooleanValidator.validateBoolean,
42
- ...params,
43
- });
44
- }
45
- /**
46
- * Static method which validates that a supplied `unknown` value is a `boolean`.
47
- * @param from - The `unknown` value to be tested.
48
- * @returns Returns `true` if `from` is a `boolean`, or {@link Failure} with an error
49
- * message if not.
50
- */
51
- static validateBoolean(from) {
52
- if (typeof from === 'boolean') {
53
- return true;
54
- }
55
- return (0, result_1.fail)(`"${from}": not a boolean`);
56
- }
57
- }
58
- exports.BooleanValidator = BooleanValidator;
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0aW9uL2Jvb2xlYW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBRUgsc0NBQTBDO0FBQzFDLHlEQUF5RjtBQVF6Rjs7O0dBR0c7QUFDSCxNQUFhLGdCQUErQixTQUFRLG1DQUE2QjtJQUM3RTs7OztPQUlHO0lBQ0gsWUFBbUIsTUFBOEM7UUFDN0QsdUJBQXVCO1FBQ3ZCLE1BQU0sR0FBRyxNQUFNLGFBQU4sTUFBTSxjQUFOLE1BQU0sR0FBSSxFQUFFLENBQUM7UUFDdEIsS0FBSyxDQUFDO1lBQ0YsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGVBQWU7WUFDM0MsR0FBRyxNQUFNO1NBQ1osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFhO1FBQ3ZDLElBQUksT0FBTyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBQzNCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLElBQUEsYUFBSSxFQUFDLElBQUksSUFBSSxrQkFBa0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDSjtBQTNCRCw0Q0EyQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIxIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgRmFpbHVyZSwgZmFpbCB9IGZyb20gJy4uL3Jlc3VsdCc7XG5pbXBvcnQgeyBHZW5lcmljVmFsaWRhdG9yLCBHZW5lcmljVmFsaWRhdG9yQ29uc3RydWN0b3JQYXJhbXMgfSBmcm9tICcuL2dlbmVyaWNWYWxpZGF0b3InO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgdXNlZCB0byBjb25zdHJ1Y3QgYSB7QGxpbmsgVmFsaWRhdGlvbi5DbGFzc2VzLkJvb2xlYW5WYWxpZGF0b3IgfCBCb29sZWFuVmFsaWRhdG9yfS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgQm9vbGVhblZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zPFRDID0gdW5rbm93bj4gPSBHZW5lcmljVmFsaWRhdG9yQ29uc3RydWN0b3JQYXJhbXM8Ym9vbGVhbiwgVEM+O1xuXG4vKipcbiAqIEFuIGluLXBsYWNlIHtAbGluayBWYWxpZGF0aW9uLlZhbGlkYXRvciB8IFZhbGlkYXRvcn0gZm9yIGBib29sZWFuYCB2YWx1ZXMuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBCb29sZWFuVmFsaWRhdG9yPFRDID0gdW5rbm93bj4gZXh0ZW5kcyBHZW5lcmljVmFsaWRhdG9yPGJvb2xlYW4sIFRDPiB7XG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0cyBhIG5ldyB7QGxpbmsgVmFsaWRhdGlvbi5DbGFzc2VzLkJvb2xlYW5WYWxpZGF0b3IgfCBCb29sZWFuVmFsaWRhdG9yfS5cbiAgICAgKiBAcGFyYW0gcGFyYW1zIC0gT3B0aW9uYWwge0BsaW5rIFZhbGlkYXRpb24uQ2xhc3Nlcy5Cb29sZWFuVmFsaWRhdG9yQ29uc3RydWN0b3JQYXJhbXMgfCBpbml0IHBhcmFtc30gZm9yIHRoZVxuICAgICAqIG5ldyB7QGxpbmsgVmFsaWRhdGlvbi5DbGFzc2VzLkJvb2xlYW5WYWxpZGF0b3IgfCBCb29sZWFuVmFsaWRhdG9yfS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zPzogQm9vbGVhblZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zPFRDPikge1xuICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAgICAgICBwYXJhbXMgPSBwYXJhbXMgPz8ge307XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogQm9vbGVhblZhbGlkYXRvci52YWxpZGF0ZUJvb2xlYW4sXG4gICAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN0YXRpYyBtZXRob2Qgd2hpY2ggdmFsaWRhdGVzIHRoYXQgYSBzdXBwbGllZCBgdW5rbm93bmAgdmFsdWUgaXMgYSBgYm9vbGVhbmAuXG4gICAgICogQHBhcmFtIGZyb20gLSBUaGUgYHVua25vd25gIHZhbHVlIHRvIGJlIHRlc3RlZC5cbiAgICAgKiBAcmV0dXJucyBSZXR1cm5zIGB0cnVlYCBpZiBgZnJvbWAgaXMgYSBgYm9vbGVhbmAsIG9yIHtAbGluayBGYWlsdXJlfSB3aXRoIGFuIGVycm9yXG4gICAgICogbWVzc2FnZSBpZiBub3QuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB2YWxpZGF0ZUJvb2xlYW4oZnJvbTogdW5rbm93bik6IGJvb2xlYW4gfCBGYWlsdXJlPGJvb2xlYW4+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBmcm9tID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWlsKGBcIiR7ZnJvbX1cIjogbm90IGEgYm9vbGVhbmApO1xuICAgIH1cbn1cbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"classes.d.ts","sourceRoot":"","sources":["../../src/validation/classes.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,cAAc,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACtH,OAAO,EAAE,kBAAkB,EAAE,mCAAmC,EAAE,MAAM,aAAa,CAAC"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2021 Erik Fortune
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining a copy
6
- * of this software and associated documentation files (the "Software"), to deal
7
- * in the Software without restriction, including without limitation the rights
8
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- * copies of the Software, and to permit persons to whom the Software is
10
- * furnished to do so, subject to the following conditions:
11
- *
12
- * The above copyright notice and this permission notice shall be included in all
13
- * copies or substantial portions of the Software.
14
- *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
22
- */
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.TypeGuardValidator = exports.ObjectValidator = exports.NumberValidator = exports.BooleanValidator = exports.StringValidator = exports.ArrayValidator = void 0;
25
- /* istanbul ignore file */
26
- var array_1 = require("./array");
27
- Object.defineProperty(exports, "ArrayValidator", { enumerable: true, get: function () { return array_1.ArrayValidator; } });
28
- var string_1 = require("./string");
29
- Object.defineProperty(exports, "StringValidator", { enumerable: true, get: function () { return string_1.StringValidator; } });
30
- var boolean_1 = require("./boolean");
31
- Object.defineProperty(exports, "BooleanValidator", { enumerable: true, get: function () { return boolean_1.BooleanValidator; } });
32
- var number_1 = require("./number");
33
- Object.defineProperty(exports, "NumberValidator", { enumerable: true, get: function () { return number_1.NumberValidator; } });
34
- var object_1 = require("./object");
35
- Object.defineProperty(exports, "ObjectValidator", { enumerable: true, get: function () { return object_1.ObjectValidator; } });
36
- var typeGuard_1 = require("./typeGuard");
37
- Object.defineProperty(exports, "TypeGuardValidator", { enumerable: true, get: function () { return typeGuard_1.TypeGuardValidator; } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0aW9uL2NsYXNzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBRUgsMEJBQTBCO0FBRTFCLGlDQUEwRTtBQUFqRSx1R0FBQSxjQUFjLE9BQUE7QUFDdkIsbUNBQTZFO0FBQXBFLHlHQUFBLGVBQWUsT0FBQTtBQUN4QixxQ0FBZ0Y7QUFBdkUsMkdBQUEsZ0JBQWdCLE9BQUE7QUFDekIsbUNBQTZFO0FBQXBFLHlHQUFBLGVBQWUsT0FBQTtBQUN4QixtQ0FBc0g7QUFBNUYseUdBQUEsZUFBZSxPQUFBO0FBQ3pDLHlDQUFzRjtBQUE3RSwrR0FBQSxrQkFBa0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjEgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuXG5leHBvcnQgeyBBcnJheVZhbGlkYXRvciwgQXJyYXlWYWxpZGF0b3JDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vYXJyYXknO1xuZXhwb3J0IHsgU3RyaW5nVmFsaWRhdG9yLCBTdHJpbmdWYWxpZGF0b3JDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vc3RyaW5nJztcbmV4cG9ydCB7IEJvb2xlYW5WYWxpZGF0b3IsIEJvb2xlYW5WYWxpZGF0b3JDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vYm9vbGVhbic7XG5leHBvcnQgeyBOdW1iZXJWYWxpZGF0b3IsIE51bWJlclZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zIH0gZnJvbSAnLi9udW1iZXInO1xuZXhwb3J0IHsgRmllbGRWYWxpZGF0b3JzLCBPYmplY3RWYWxpZGF0b3IsIE9iamVjdFZhbGlkYXRvckNvbnN0cnVjdG9yUGFyYW1zLCBPYmplY3RWYWxpZGF0b3JPcHRpb25zIH0gZnJvbSAnLi9vYmplY3QnO1xuZXhwb3J0IHsgVHlwZUd1YXJkVmFsaWRhdG9yLCBUeXBlR3VhcmRWYWxpZGF0b3JDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vdHlwZUd1YXJkJztcbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/validation/common.ts"],"names":[],"mappings":"AAsBA;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2022 Erik Fortune
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining a copy
6
- * of this software and associated documentation files (the "Software"), to deal
7
- * in the Software without restriction, including without limitation the rights
8
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- * copies of the Software, and to permit persons to whom the Software is
10
- * furnished to do so, subject to the following conditions:
11
- *
12
- * The above copyright notice and this permission notice shall be included in all
13
- * copies or substantial portions of the Software.
14
- *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
22
- */
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRpb24vY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkciLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIyIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuLyoqXG4gKiBBIHR5cGUgZ3VhcmQgZnVuY3Rpb24gd2hpY2ggdmFsaWRhdGVzIGEgc3BlY2lmaWMgdHlwZSwgd2l0aCBhbiBvcHRpb25hbCBjb250ZXh0XG4gKiB0aGF0IGNhbiBiZSB1c2VkIHRvIHNoYXBlIHRoZSB2YWxpZGF0aW9uLlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBUeXBlR3VhcmRXaXRoQ29udGV4dDxULCBUQyA9IHVua25vd24+ID0gKGZyb206IHVua25vd24sIGNvbnRleHQ/OiBUQykgPT4gZnJvbSBpcyBUO1xuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/validation/field.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,OAAO,EAAQ,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;GAGG;AACH,MAAM,WAAW,qBAAqB,CAAC,EAAE,CAAE,SAAQ,gBAAgB,CAAC,EAAE,CAAC;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,qBAAa,cAAc,CAAC,CAAC,EAAE,EAAE,GAAC,SAAS,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC;IACrE;;OAEG;IACH,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC;;OAEG;IACH,SAAgB,cAAc,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAE5D;;;;;;;OAOG;gBAEC,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAChC,OAAO,CAAC,EAAE,qBAAqB,CAAC,EAAE,CAAC;IASvC;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CAqBzE"}
@@ -1,72 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2020 Erik Fortune
4
- *
5
- * Permission is hereby granted, free of charge, to any person obtaining a copy
6
- * of this software and associated documentation files (the "Software"), to deal
7
- * in the Software without restriction, including without limitation the rights
8
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- * copies of the Software, and to permit persons to whom the Software is
10
- * furnished to do so, subject to the following conditions:
11
- *
12
- * The above copyright notice and this permission notice shall be included in all
13
- * copies or substantial portions of the Software.
14
- *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- * SOFTWARE.
22
- */
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.FieldValidator = void 0;
25
- const result_1 = require("../result");
26
- const validatorBase_1 = require("./validatorBase");
27
- const utils_1 = require("../utils");
28
- /**
29
- * An in-place {@link Validation.Validator | Validator} for properties
30
- * an an object.
31
- * @public
32
- */
33
- class FieldValidator extends validatorBase_1.ValidatorBase {
34
- /**
35
- * Constructs a new {@link Validation.FieldValidator | FieldValidator.}.
36
- * @param fieldName - The name of the property that this validator should validate.
37
- * @param fieldValidator - The {@link Validation.Validator | Validator} to be applied
38
- * against the named property.
39
- * @param options - Additional {@link Validation.FieldValidatorOptions | options} to be
40
- * applied to this validation.
41
- */
42
- constructor(fieldName, fieldValidator, options) {
43
- super({ options });
44
- this.fieldName = fieldName;
45
- this.fieldValidator = fieldValidator;
46
- // istanbul ignore next
47
- this._fieldOptions = options !== null && options !== void 0 ? options : {};
48
- }
49
- /**
50
- * {@inheritdoc Validation.ValidatorBase._validate}
51
- */
52
- _validate(from, context) {
53
- if (typeof from === 'object' && !Array.isArray(from) && from !== null) {
54
- const optional = this._fieldOptions.optional === true;
55
- if ((0, utils_1.isKeyOf)(this.fieldName, from)) {
56
- if ((!optional) || (from[this.fieldName] !== undefined)) {
57
- const result = this.fieldValidator.validate(from[this.fieldName], context).onFailure((message) => {
58
- return (0, result_1.fail)(`${this.fieldName}: ${message}`);
59
- });
60
- return result.success ? true : result;
61
- }
62
- }
63
- return optional
64
- ? true
65
- : (0, result_1.fail)(`"${this.fieldName}": Field not found in "${JSON.stringify(from)}`);
66
- }
67
- // istanbul ignore next -- defense in depth
68
- return (0, result_1.fail)(`Cannot validate field '${this.fieldName}' from non-object "${JSON.stringify(from)}"`);
69
- }
70
- }
71
- exports.FieldValidator = FieldValidator;
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGlvbi9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHOzs7QUFFSCxzQ0FBMEM7QUFFMUMsbURBQWdEO0FBQ2hELG9DQUFtQztBQVVuQzs7OztHQUlHO0FBQ0gsTUFBYSxjQUFnQyxTQUFRLDZCQUFvQjtJQWNyRTs7Ozs7OztPQU9HO0lBQ0gsWUFDSSxTQUFpQixFQUNqQixjQUFnQyxFQUNoQyxPQUFtQztRQUVuQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLHVCQUF1QjtRQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxTQUFTLENBQUMsSUFBYSxFQUFFLE9BQVk7UUFDM0MsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDbkUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDO1lBRXRELElBQUksSUFBQSxlQUFPLEVBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxFQUFFO29CQUNyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQWUsRUFBRSxFQUFFO3dCQUNyRyxPQUFPLElBQUEsYUFBSSxFQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxPQUFPLEVBQUUsQ0FBQyxDQUFDO29CQUNqRCxDQUFDLENBQUMsQ0FBQztvQkFFSCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO2lCQUN6QzthQUNKO1lBRUQsT0FBTyxRQUFRO2dCQUNYLENBQUMsQ0FBQyxJQUFJO2dCQUNOLENBQUMsQ0FBQyxJQUFBLGFBQUksRUFBQyxJQUFJLElBQUksQ0FBQyxTQUFTLDBCQUEwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNsRjtRQUNELDJDQUEyQztRQUMzQyxPQUFPLElBQUEsYUFBSSxFQUFDLDBCQUEwQixJQUFJLENBQUMsU0FBUyxzQkFBc0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkcsQ0FBQztDQUNKO0FBMURELHdDQTBEQyIsInNvdXJjZXNDb250ZW50IjpbIlxuLypcbiAqIENvcHlyaWdodCAoYykgMjAyMCBFcmlrIEZvcnR1bmVcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiAqIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCB7IEZhaWx1cmUsIGZhaWwgfSBmcm9tICcuLi9yZXN1bHQnO1xuaW1wb3J0IHsgVmFsaWRhdG9yLCBWYWxpZGF0b3JPcHRpb25zIH0gZnJvbSAnLi92YWxpZGF0b3InO1xuaW1wb3J0IHsgVmFsaWRhdG9yQmFzZSB9IGZyb20gJy4vdmFsaWRhdG9yQmFzZSc7XG5pbXBvcnQgeyBpc0tleU9mIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgdXNlZCB0byBjb25zdHJ1Y3QgYSB7QGxpbmsgVmFsaWRhdGlvbi5GaWVsZFZhbGlkYXRvciB8IEZpZWxkVmFsaWRhdG9yfS5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWVsZFZhbGlkYXRvck9wdGlvbnM8VEM+IGV4dGVuZHMgVmFsaWRhdG9yT3B0aW9uczxUQz4ge1xuICAgIG9wdGlvbmFsPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBbiBpbi1wbGFjZSB7QGxpbmsgVmFsaWRhdGlvbi5WYWxpZGF0b3IgfCBWYWxpZGF0b3J9IGZvciBwcm9wZXJ0aWVzXG4gKiBhbiBhbiBvYmplY3QuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBGaWVsZFZhbGlkYXRvcjxULCBUQz11bmRlZmluZWQ+IGV4dGVuZHMgVmFsaWRhdG9yQmFzZTxULCBUQz4ge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0aGF0IHRoaXMgdmFsaWRhdG9yIHNob3VsZCB2YWxpZGF0ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZmllbGROYW1lOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIHtAbGluayBWYWxpZGF0aW9uLlZhbGlkYXRvciB8IFZhbGlkYXRvcn0gdG8gYmUgYXBwbGllZCBhZ2FpbnN0IHRoZSBuYW1lZCBwcm9wZXJ0eS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZmllbGRWYWxpZGF0b3I6IFZhbGlkYXRvcjxULCBUQz47XG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9maWVsZE9wdGlvbnM6IEZpZWxkVmFsaWRhdG9yT3B0aW9uczxUQz47XG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RzIGEgbmV3IHtAbGluayBWYWxpZGF0aW9uLkZpZWxkVmFsaWRhdG9yIHwgRmllbGRWYWxpZGF0b3IufS5cbiAgICAgKiBAcGFyYW0gZmllbGROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRoYXQgdGhpcyB2YWxpZGF0b3Igc2hvdWxkIHZhbGlkYXRlLlxuICAgICAqIEBwYXJhbSBmaWVsZFZhbGlkYXRvciAtIFRoZSB7QGxpbmsgVmFsaWRhdGlvbi5WYWxpZGF0b3IgfCBWYWxpZGF0b3J9IHRvIGJlIGFwcGxpZWRcbiAgICAgKiBhZ2FpbnN0IHRoZSBuYW1lZCBwcm9wZXJ0eS5cbiAgICAgKiBAcGFyYW0gb3B0aW9ucyAtIEFkZGl0aW9uYWwge0BsaW5rIFZhbGlkYXRpb24uRmllbGRWYWxpZGF0b3JPcHRpb25zIHwgb3B0aW9uc30gdG8gYmVcbiAgICAgKiBhcHBsaWVkIHRvIHRoaXMgdmFsaWRhdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIGZpZWxkTmFtZTogc3RyaW5nLFxuICAgICAgICBmaWVsZFZhbGlkYXRvcjogVmFsaWRhdG9yPFQsIFRDPixcbiAgICAgICAgb3B0aW9ucz86IEZpZWxkVmFsaWRhdG9yT3B0aW9uczxUQz4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHsgb3B0aW9ucyB9KTtcbiAgICAgICAgdGhpcy5maWVsZE5hbWUgPSBmaWVsZE5hbWU7XG4gICAgICAgIHRoaXMuZmllbGRWYWxpZGF0b3IgPSBmaWVsZFZhbGlkYXRvcjtcbiAgICAgICAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgICAgICAgdGhpcy5fZmllbGRPcHRpb25zID0gb3B0aW9ucyA/PyB7fTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB7QGluaGVyaXRkb2MgVmFsaWRhdGlvbi5WYWxpZGF0b3JCYXNlLl92YWxpZGF0ZX1cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3ZhbGlkYXRlKGZyb206IHVua25vd24sIGNvbnRleHQ/OiBUQyk6IGJvb2xlYW4gfCBGYWlsdXJlPFQ+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBmcm9tID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShmcm9tKSAmJiBmcm9tICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25hbCA9IHRoaXMuX2ZpZWxkT3B0aW9ucy5vcHRpb25hbCA9PT0gdHJ1ZTtcblxuICAgICAgICAgICAgaWYgKGlzS2V5T2YodGhpcy5maWVsZE5hbWUsIGZyb20pKSB7XG4gICAgICAgICAgICAgICAgaWYgKCghb3B0aW9uYWwpIHx8IChmcm9tW3RoaXMuZmllbGROYW1lXSAhPT0gdW5kZWZpbmVkKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmZpZWxkVmFsaWRhdG9yLnZhbGlkYXRlKGZyb21bdGhpcy5maWVsZE5hbWVdLCBjb250ZXh0KS5vbkZhaWx1cmUoKG1lc3NhZ2U6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhaWwoYCR7dGhpcy5maWVsZE5hbWV9OiAke21lc3NhZ2V9YCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQuc3VjY2VzcyA/IHRydWUgOiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uYWxcbiAgICAgICAgICAgICAgICA/IHRydWVcbiAgICAgICAgICAgICAgICA6IGZhaWwoYFwiJHt0aGlzLmZpZWxkTmFtZX1cIjogRmllbGQgbm90IGZvdW5kIGluIFwiJHtKU09OLnN0cmluZ2lmeShmcm9tKX1gKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAtLSBkZWZlbnNlIGluIGRlcHRoXG4gICAgICAgIHJldHVybiBmYWlsKGBDYW5ub3QgdmFsaWRhdGUgZmllbGQgJyR7dGhpcy5maWVsZE5hbWV9JyBmcm9tIG5vbi1vYmplY3QgXCIke0pTT04uc3RyaW5naWZ5KGZyb20pfVwiYCk7XG4gICAgfVxufVxuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"genericValidator.d.ts","sourceRoot":"","sources":["../../src/validation/genericValidator.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAiB,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEzF;;;GAGG;AACH,MAAM,WAAW,iCAAiC,CAAC,CAAC,EAAE,EAAE;IACpD,OAAO,CAAC,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;CACnC;AAED;;;GAGG;AACH,qBAAa,gBAAgB,CAAC,CAAC,EAAE,EAAE,GAAG,SAAS,CAAE,YAAW,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;IACxE;;OAEG;IACH,SAAgB,MAAM,EAAE,eAAe,CAAC;IAExC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAElD;;;;OAIG;gBACgB,MAAM,EAAE,OAAO,CAAC,iCAAiC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAS5E;;OAEG;IACH,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,MAAM,GAAG,SAAS,CAErC;IAED;;OAEG;IACI,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IAQvD;;OAEG;IACI,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3E;;OAEG;IACI,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC;IAIpD;;OAEG;IACI,QAAQ,IAAI,SAAS,CAAC,CAAC,GAAG,SAAS,EAAE,EAAE,CAAC;IAU/C;;OAEG;IACI,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;IAmB3F;;OAEG;IACI,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IAaxE;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS;CAG3D"}