@palmares/schemas 0.1.25 → 0.2.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 (305) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/src/adapter/fields/array.cjs +96 -0
  3. package/dist/src/adapter/fields/array.d.ts.map +1 -0
  4. package/dist/src/adapter/fields/array.js +70 -0
  5. package/dist/src/adapter/fields/boolean.cjs +102 -0
  6. package/dist/src/adapter/fields/boolean.d.ts.map +1 -0
  7. package/dist/src/adapter/fields/boolean.js +76 -0
  8. package/dist/src/adapter/fields/datetime.cjs +102 -0
  9. package/dist/src/adapter/fields/datetime.d.ts.map +1 -0
  10. package/dist/src/adapter/fields/datetime.js +76 -0
  11. package/dist/src/adapter/fields/index.cjs +87 -0
  12. package/dist/src/adapter/fields/index.d.ts.map +1 -0
  13. package/dist/src/adapter/fields/index.js +61 -0
  14. package/dist/src/adapter/fields/number.cjs +102 -0
  15. package/dist/src/adapter/fields/number.d.ts.map +1 -0
  16. package/dist/src/adapter/fields/number.js +76 -0
  17. package/dist/src/adapter/fields/object.cjs +108 -0
  18. package/dist/src/adapter/fields/object.d.ts.map +1 -0
  19. package/dist/src/adapter/fields/object.js +82 -0
  20. package/dist/src/adapter/fields/string.cjs +102 -0
  21. package/dist/src/adapter/fields/string.d.ts.map +1 -0
  22. package/dist/src/adapter/fields/string.js +76 -0
  23. package/dist/src/adapter/fields/union.cjs +102 -0
  24. package/dist/src/adapter/fields/union.d.ts.map +1 -0
  25. package/dist/src/adapter/fields/union.js +76 -0
  26. package/dist/src/adapter/index.cjs +65 -0
  27. package/dist/src/adapter/index.d.ts.map +1 -0
  28. package/dist/src/adapter/index.js +40 -0
  29. package/dist/src/adapter/types.cjs +18 -0
  30. package/dist/src/adapter/types.d.ts.map +1 -0
  31. package/dist/src/adapter/types.js +0 -0
  32. package/dist/src/compile.cjs +59 -0
  33. package/dist/src/compile.d.ts.map +1 -0
  34. package/dist/src/compile.js +36 -0
  35. package/dist/src/conf.cjs +53 -0
  36. package/dist/src/conf.d.ts.map +1 -0
  37. package/dist/src/conf.js +27 -0
  38. package/dist/src/constants.cjs +40 -0
  39. package/dist/src/constants.d.ts.map +1 -0
  40. package/dist/src/constants.js +14 -0
  41. package/dist/src/domain.cjs +63 -0
  42. package/dist/src/domain.d.ts.map +1 -0
  43. package/dist/src/domain.js +40 -0
  44. package/dist/src/exceptions.cjs +48 -0
  45. package/dist/{cjs/types → src}/exceptions.d.ts +0 -3
  46. package/dist/src/exceptions.d.ts.map +1 -0
  47. package/dist/src/exceptions.js +24 -0
  48. package/dist/src/index.cjs +6509 -0
  49. package/dist/src/index.d.ts.map +1 -0
  50. package/dist/src/index.js +6445 -0
  51. package/dist/src/middleware.cjs +58 -0
  52. package/dist/src/middleware.d.ts.map +1 -0
  53. package/dist/src/middleware.js +35 -0
  54. package/dist/src/model.cjs +5992 -0
  55. package/dist/src/model.d.ts.map +1 -0
  56. package/dist/src/model.js +5967 -0
  57. package/dist/src/parsers/convert-from-number.cjs +34 -0
  58. package/dist/src/parsers/convert-from-number.d.ts.map +1 -0
  59. package/dist/src/parsers/convert-from-number.js +11 -0
  60. package/dist/src/parsers/convert-from-string.cjs +40 -0
  61. package/dist/src/parsers/convert-from-string.d.ts.map +1 -0
  62. package/dist/src/parsers/convert-from-string.js +17 -0
  63. package/dist/src/parsers/index.cjs +50 -0
  64. package/dist/src/parsers/index.d.ts.map +1 -0
  65. package/dist/src/parsers/index.js +24 -0
  66. package/dist/src/schema/array.cjs +1863 -0
  67. package/dist/src/schema/array.d.ts.map +1 -0
  68. package/dist/src/schema/array.js +1837 -0
  69. package/dist/src/schema/boolean.cjs +1800 -0
  70. package/dist/src/schema/boolean.d.ts.map +1 -0
  71. package/dist/src/schema/boolean.js +1774 -0
  72. package/dist/src/schema/datetime.cjs +1789 -0
  73. package/dist/src/schema/datetime.d.ts.map +1 -0
  74. package/dist/src/schema/datetime.js +1763 -0
  75. package/dist/src/schema/index.cjs +2026 -0
  76. package/dist/src/schema/index.d.ts.map +1 -0
  77. package/dist/src/schema/index.js +2001 -0
  78. package/dist/src/schema/number.cjs +2026 -0
  79. package/dist/src/schema/number.d.ts.map +1 -0
  80. package/dist/src/schema/number.js +2000 -0
  81. package/dist/src/schema/object.cjs +1795 -0
  82. package/dist/src/schema/object.d.ts.map +1 -0
  83. package/dist/src/schema/object.js +1769 -0
  84. package/dist/src/schema/schema.cjs +844 -0
  85. package/dist/src/schema/schema.d.ts.map +1 -0
  86. package/dist/src/schema/schema.js +818 -0
  87. package/dist/src/schema/string.cjs +2126 -0
  88. package/dist/src/schema/string.d.ts.map +1 -0
  89. package/dist/src/schema/string.js +2100 -0
  90. package/dist/src/schema/types.cjs +18 -0
  91. package/dist/src/schema/types.d.ts.map +1 -0
  92. package/dist/src/schema/types.js +0 -0
  93. package/dist/src/schema/union.cjs +1737 -0
  94. package/dist/src/schema/union.d.ts.map +1 -0
  95. package/dist/src/schema/union.js +1711 -0
  96. package/dist/src/types.cjs +18 -0
  97. package/dist/src/types.d.ts.map +1 -0
  98. package/dist/src/types.js +0 -0
  99. package/dist/src/utils.cjs +477 -0
  100. package/dist/src/utils.d.ts.map +1 -0
  101. package/dist/src/utils.js +445 -0
  102. package/dist/src/validators/array.cjs +176 -0
  103. package/dist/src/validators/array.d.ts.map +1 -0
  104. package/dist/src/validators/array.js +150 -0
  105. package/dist/src/validators/boolean.cjs +71 -0
  106. package/dist/src/validators/boolean.d.ts.map +1 -0
  107. package/dist/src/validators/boolean.js +47 -0
  108. package/dist/src/validators/datetime.cjs +129 -0
  109. package/dist/src/validators/datetime.d.ts.map +1 -0
  110. package/dist/src/validators/datetime.js +103 -0
  111. package/dist/src/validators/number.cjs +194 -0
  112. package/dist/src/validators/number.d.ts.map +1 -0
  113. package/dist/src/validators/number.js +166 -0
  114. package/dist/src/validators/object.cjs +69 -0
  115. package/dist/src/validators/object.d.ts.map +1 -0
  116. package/dist/src/validators/object.js +46 -0
  117. package/dist/src/validators/schema.cjs +158 -0
  118. package/dist/src/validators/schema.d.ts.map +1 -0
  119. package/dist/src/validators/schema.js +132 -0
  120. package/dist/src/validators/string.cjs +255 -0
  121. package/dist/src/validators/string.d.ts.map +1 -0
  122. package/dist/src/validators/string.js +224 -0
  123. package/dist/src/validators/types.cjs +18 -0
  124. package/dist/src/validators/types.d.ts.map +1 -0
  125. package/dist/src/validators/types.js +0 -0
  126. package/dist/src/validators/union.cjs +69 -0
  127. package/dist/src/validators/union.d.ts.map +1 -0
  128. package/dist/src/validators/union.js +46 -0
  129. package/dist/src/validators/utils.cjs +165 -0
  130. package/dist/src/validators/utils.d.ts.map +1 -0
  131. package/dist/src/validators/utils.js +142 -0
  132. package/dist/tsconfig.types.tsbuildinfo +1 -0
  133. package/package.json +15 -23
  134. package/dist/cjs/src/adapter/fields/array.js +0 -152
  135. package/dist/cjs/src/adapter/fields/boolean.js +0 -162
  136. package/dist/cjs/src/adapter/fields/datetime.js +0 -162
  137. package/dist/cjs/src/adapter/fields/index.js +0 -311
  138. package/dist/cjs/src/adapter/fields/number.js +0 -162
  139. package/dist/cjs/src/adapter/fields/object.js +0 -171
  140. package/dist/cjs/src/adapter/fields/string.js +0 -162
  141. package/dist/cjs/src/adapter/fields/union.js +0 -162
  142. package/dist/cjs/src/adapter/index.js +0 -201
  143. package/dist/cjs/src/adapter/types.js +0 -4
  144. package/dist/cjs/src/compile.js +0 -262
  145. package/dist/cjs/src/conf.js +0 -26
  146. package/dist/cjs/src/constants.js +0 -36
  147. package/dist/cjs/src/domain.js +0 -156
  148. package/dist/cjs/src/exceptions.js +0 -168
  149. package/dist/cjs/src/index.js +0 -317
  150. package/dist/cjs/src/middleware.js +0 -213
  151. package/dist/cjs/src/model.js +0 -628
  152. package/dist/cjs/src/parsers/convert-from-number.js +0 -15
  153. package/dist/cjs/src/parsers/convert-from-string.js +0 -19
  154. package/dist/cjs/src/parsers/index.js +0 -20
  155. package/dist/cjs/src/schema/array.js +0 -1014
  156. package/dist/cjs/src/schema/boolean.js +0 -883
  157. package/dist/cjs/src/schema/datetime.js +0 -840
  158. package/dist/cjs/src/schema/index.js +0 -12
  159. package/dist/cjs/src/schema/number.js +0 -976
  160. package/dist/cjs/src/schema/object.js +0 -1052
  161. package/dist/cjs/src/schema/schema.js +0 -1840
  162. package/dist/cjs/src/schema/string.js +0 -1038
  163. package/dist/cjs/src/schema/types.js +0 -4
  164. package/dist/cjs/src/schema/union.js +0 -1070
  165. package/dist/cjs/src/types.js +0 -4
  166. package/dist/cjs/src/utils.js +0 -647
  167. package/dist/cjs/src/validators/array.js +0 -462
  168. package/dist/cjs/src/validators/boolean.js +0 -201
  169. package/dist/cjs/src/validators/datetime.js +0 -291
  170. package/dist/cjs/src/validators/number.js +0 -375
  171. package/dist/cjs/src/validators/object.js +0 -291
  172. package/dist/cjs/src/validators/schema.js +0 -322
  173. package/dist/cjs/src/validators/string.js +0 -467
  174. package/dist/cjs/src/validators/types.js +0 -4
  175. package/dist/cjs/src/validators/union.js +0 -233
  176. package/dist/cjs/src/validators/utils.js +0 -499
  177. package/dist/cjs/tsconfig.types.tsbuildinfo +0 -1
  178. package/dist/cjs/types/adapter/fields/array.d.ts.map +0 -1
  179. package/dist/cjs/types/adapter/fields/boolean.d.ts.map +0 -1
  180. package/dist/cjs/types/adapter/fields/datetime.d.ts.map +0 -1
  181. package/dist/cjs/types/adapter/fields/index.d.ts.map +0 -1
  182. package/dist/cjs/types/adapter/fields/number.d.ts.map +0 -1
  183. package/dist/cjs/types/adapter/fields/object.d.ts.map +0 -1
  184. package/dist/cjs/types/adapter/fields/string.d.ts.map +0 -1
  185. package/dist/cjs/types/adapter/fields/union.d.ts.map +0 -1
  186. package/dist/cjs/types/adapter/index.d.ts.map +0 -1
  187. package/dist/cjs/types/adapter/types.d.ts.map +0 -1
  188. package/dist/cjs/types/compile.d.ts.map +0 -1
  189. package/dist/cjs/types/conf.d.ts.map +0 -1
  190. package/dist/cjs/types/constants.d.ts.map +0 -1
  191. package/dist/cjs/types/domain.d.ts.map +0 -1
  192. package/dist/cjs/types/exceptions.d.ts.map +0 -1
  193. package/dist/cjs/types/index.d.ts.map +0 -1
  194. package/dist/cjs/types/middleware.d.ts.map +0 -1
  195. package/dist/cjs/types/model.d.ts.map +0 -1
  196. package/dist/cjs/types/parsers/convert-from-number.d.ts.map +0 -1
  197. package/dist/cjs/types/parsers/convert-from-string.d.ts.map +0 -1
  198. package/dist/cjs/types/parsers/index.d.ts.map +0 -1
  199. package/dist/cjs/types/schema/array.d.ts.map +0 -1
  200. package/dist/cjs/types/schema/boolean.d.ts.map +0 -1
  201. package/dist/cjs/types/schema/datetime.d.ts.map +0 -1
  202. package/dist/cjs/types/schema/index.d.ts.map +0 -1
  203. package/dist/cjs/types/schema/number.d.ts.map +0 -1
  204. package/dist/cjs/types/schema/object.d.ts.map +0 -1
  205. package/dist/cjs/types/schema/schema.d.ts.map +0 -1
  206. package/dist/cjs/types/schema/string.d.ts.map +0 -1
  207. package/dist/cjs/types/schema/types.d.ts.map +0 -1
  208. package/dist/cjs/types/schema/union.d.ts.map +0 -1
  209. package/dist/cjs/types/types.d.ts.map +0 -1
  210. package/dist/cjs/types/utils.d.ts.map +0 -1
  211. package/dist/cjs/types/validators/array.d.ts.map +0 -1
  212. package/dist/cjs/types/validators/boolean.d.ts.map +0 -1
  213. package/dist/cjs/types/validators/datetime.d.ts.map +0 -1
  214. package/dist/cjs/types/validators/number.d.ts.map +0 -1
  215. package/dist/cjs/types/validators/object.d.ts.map +0 -1
  216. package/dist/cjs/types/validators/schema.d.ts.map +0 -1
  217. package/dist/cjs/types/validators/string.d.ts.map +0 -1
  218. package/dist/cjs/types/validators/types.d.ts.map +0 -1
  219. package/dist/cjs/types/validators/union.d.ts.map +0 -1
  220. package/dist/cjs/types/validators/utils.d.ts.map +0 -1
  221. package/dist/esm/src/adapter/fields/array.js +0 -13
  222. package/dist/esm/src/adapter/fields/boolean.js +0 -20
  223. package/dist/esm/src/adapter/fields/datetime.js +0 -20
  224. package/dist/esm/src/adapter/fields/index.js +0 -37
  225. package/dist/esm/src/adapter/fields/number.js +0 -20
  226. package/dist/esm/src/adapter/fields/object.js +0 -26
  227. package/dist/esm/src/adapter/fields/string.js +0 -20
  228. package/dist/esm/src/adapter/fields/union.js +0 -20
  229. package/dist/esm/src/adapter/index.js +0 -21
  230. package/dist/esm/src/adapter/types.js +0 -1
  231. package/dist/esm/src/compile.js +0 -10
  232. package/dist/esm/src/conf.js +0 -18
  233. package/dist/esm/src/constants.js +0 -4
  234. package/dist/esm/src/domain.js +0 -11
  235. package/dist/esm/src/exceptions.js +0 -15
  236. package/dist/esm/src/index.js +0 -126
  237. package/dist/esm/src/middleware.js +0 -29
  238. package/dist/esm/src/model.js +0 -264
  239. package/dist/esm/src/parsers/convert-from-number.js +0 -8
  240. package/dist/esm/src/parsers/convert-from-string.js +0 -14
  241. package/dist/esm/src/parsers/index.js +0 -2
  242. package/dist/esm/src/schema/array.js +0 -487
  243. package/dist/esm/src/schema/boolean.js +0 -520
  244. package/dist/esm/src/schema/datetime.js +0 -477
  245. package/dist/esm/src/schema/index.js +0 -3
  246. package/dist/esm/src/schema/number.js +0 -610
  247. package/dist/esm/src/schema/object.js +0 -521
  248. package/dist/esm/src/schema/schema.js +0 -767
  249. package/dist/esm/src/schema/string.js +0 -668
  250. package/dist/esm/src/schema/types.js +0 -1
  251. package/dist/esm/src/schema/union.js +0 -468
  252. package/dist/esm/src/types.js +0 -14
  253. package/dist/esm/src/utils.js +0 -207
  254. package/dist/esm/src/validators/array.js +0 -140
  255. package/dist/esm/src/validators/boolean.js +0 -37
  256. package/dist/esm/src/validators/datetime.js +0 -89
  257. package/dist/esm/src/validators/number.js +0 -148
  258. package/dist/esm/src/validators/object.js +0 -39
  259. package/dist/esm/src/validators/schema.js +0 -118
  260. package/dist/esm/src/validators/string.js +0 -202
  261. package/dist/esm/src/validators/types.js +0 -1
  262. package/dist/esm/src/validators/union.js +0 -39
  263. package/dist/esm/src/validators/utils.js +0 -147
  264. /package/dist/{cjs/types → src}/adapter/fields/array.d.ts +0 -0
  265. /package/dist/{cjs/types → src}/adapter/fields/boolean.d.ts +0 -0
  266. /package/dist/{cjs/types → src}/adapter/fields/datetime.d.ts +0 -0
  267. /package/dist/{cjs/types → src}/adapter/fields/index.d.ts +0 -0
  268. /package/dist/{cjs/types → src}/adapter/fields/number.d.ts +0 -0
  269. /package/dist/{cjs/types → src}/adapter/fields/object.d.ts +0 -0
  270. /package/dist/{cjs/types → src}/adapter/fields/string.d.ts +0 -0
  271. /package/dist/{cjs/types → src}/adapter/fields/union.d.ts +0 -0
  272. /package/dist/{cjs/types → src}/adapter/index.d.ts +0 -0
  273. /package/dist/{cjs/types → src}/adapter/types.d.ts +0 -0
  274. /package/dist/{cjs/types → src}/compile.d.ts +0 -0
  275. /package/dist/{cjs/types → src}/conf.d.ts +0 -0
  276. /package/dist/{cjs/types → src}/constants.d.ts +0 -0
  277. /package/dist/{cjs/types → src}/domain.d.ts +0 -0
  278. /package/dist/{cjs/types → src}/index.d.ts +0 -0
  279. /package/dist/{cjs/types → src}/middleware.d.ts +0 -0
  280. /package/dist/{cjs/types → src}/model.d.ts +0 -0
  281. /package/dist/{cjs/types → src}/parsers/convert-from-number.d.ts +0 -0
  282. /package/dist/{cjs/types → src}/parsers/convert-from-string.d.ts +0 -0
  283. /package/dist/{cjs/types → src}/parsers/index.d.ts +0 -0
  284. /package/dist/{cjs/types → src}/schema/array.d.ts +0 -0
  285. /package/dist/{cjs/types → src}/schema/boolean.d.ts +0 -0
  286. /package/dist/{cjs/types → src}/schema/datetime.d.ts +0 -0
  287. /package/dist/{cjs/types → src}/schema/index.d.ts +0 -0
  288. /package/dist/{cjs/types → src}/schema/number.d.ts +0 -0
  289. /package/dist/{cjs/types → src}/schema/object.d.ts +0 -0
  290. /package/dist/{cjs/types → src}/schema/schema.d.ts +0 -0
  291. /package/dist/{cjs/types → src}/schema/string.d.ts +0 -0
  292. /package/dist/{cjs/types → src}/schema/types.d.ts +0 -0
  293. /package/dist/{cjs/types → src}/schema/union.d.ts +0 -0
  294. /package/dist/{cjs/types → src}/types.d.ts +0 -0
  295. /package/dist/{cjs/types → src}/utils.d.ts +0 -0
  296. /package/dist/{cjs/types → src}/validators/array.d.ts +0 -0
  297. /package/dist/{cjs/types → src}/validators/boolean.d.ts +0 -0
  298. /package/dist/{cjs/types → src}/validators/datetime.d.ts +0 -0
  299. /package/dist/{cjs/types → src}/validators/number.d.ts +0 -0
  300. /package/dist/{cjs/types → src}/validators/object.d.ts +0 -0
  301. /package/dist/{cjs/types → src}/validators/schema.d.ts +0 -0
  302. /package/dist/{cjs/types → src}/validators/string.d.ts +0 -0
  303. /package/dist/{cjs/types → src}/validators/types.d.ts +0 -0
  304. /package/dist/{cjs/types → src}/validators/union.d.ts +0 -0
  305. /package/dist/{cjs/types → src}/validators/utils.d.ts +0 -0
@@ -1,499 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "Validator", {
6
- enumerable: true,
7
- get: function() {
8
- return Validator;
9
- }
10
- });
11
- function _array_like_to_array(arr, len) {
12
- if (len == null || len > arr.length) len = arr.length;
13
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
14
- return arr2;
15
- }
16
- function _array_with_holes(arr) {
17
- if (Array.isArray(arr)) return arr;
18
- }
19
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
20
- try {
21
- var info = gen[key](arg);
22
- var value = info.value;
23
- } catch (error) {
24
- reject(error);
25
- return;
26
- }
27
- if (info.done) {
28
- resolve(value);
29
- } else {
30
- Promise.resolve(value).then(_next, _throw);
31
- }
32
- }
33
- function _async_to_generator(fn) {
34
- return function() {
35
- var self = this, args = arguments;
36
- return new Promise(function(resolve, reject) {
37
- var gen = fn.apply(self, args);
38
- function _next(value) {
39
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
40
- }
41
- function _throw(err) {
42
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
43
- }
44
- _next(undefined);
45
- });
46
- };
47
- }
48
- function _class_call_check(instance, Constructor) {
49
- if (!(instance instanceof Constructor)) {
50
- throw new TypeError("Cannot call a class as a function");
51
- }
52
- }
53
- function _defineProperties(target, props) {
54
- for(var i = 0; i < props.length; i++){
55
- var descriptor = props[i];
56
- descriptor.enumerable = descriptor.enumerable || false;
57
- descriptor.configurable = true;
58
- if ("value" in descriptor) descriptor.writable = true;
59
- Object.defineProperty(target, descriptor.key, descriptor);
60
- }
61
- }
62
- function _create_class(Constructor, protoProps, staticProps) {
63
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
64
- if (staticProps) _defineProperties(Constructor, staticProps);
65
- return Constructor;
66
- }
67
- function _define_property(obj, key, value) {
68
- if (key in obj) {
69
- Object.defineProperty(obj, key, {
70
- value: value,
71
- enumerable: true,
72
- configurable: true,
73
- writable: true
74
- });
75
- } else {
76
- obj[key] = value;
77
- }
78
- return obj;
79
- }
80
- function _iterable_to_array_limit(arr, i) {
81
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
82
- if (_i == null) return;
83
- var _arr = [];
84
- var _n = true;
85
- var _d = false;
86
- var _s, _e;
87
- try {
88
- for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
89
- _arr.push(_s.value);
90
- if (i && _arr.length === i) break;
91
- }
92
- } catch (err) {
93
- _d = true;
94
- _e = err;
95
- } finally{
96
- try {
97
- if (!_n && _i["return"] != null) _i["return"]();
98
- } finally{
99
- if (_d) throw _e;
100
- }
101
- }
102
- return _arr;
103
- }
104
- function _non_iterable_rest() {
105
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
106
- }
107
- function _object_spread(target) {
108
- for(var i = 1; i < arguments.length; i++){
109
- var source = arguments[i] != null ? arguments[i] : {};
110
- var ownKeys = Object.keys(source);
111
- if (typeof Object.getOwnPropertySymbols === "function") {
112
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
113
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
114
- }));
115
- }
116
- ownKeys.forEach(function(key) {
117
- _define_property(target, key, source[key]);
118
- });
119
- }
120
- return target;
121
- }
122
- function ownKeys(object, enumerableOnly) {
123
- var keys = Object.keys(object);
124
- if (Object.getOwnPropertySymbols) {
125
- var symbols = Object.getOwnPropertySymbols(object);
126
- if (enumerableOnly) {
127
- symbols = symbols.filter(function(sym) {
128
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
129
- });
130
- }
131
- keys.push.apply(keys, symbols);
132
- }
133
- return keys;
134
- }
135
- function _object_spread_props(target, source) {
136
- source = source != null ? source : {};
137
- if (Object.getOwnPropertyDescriptors) {
138
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
139
- } else {
140
- ownKeys(Object(source)).forEach(function(key) {
141
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
142
- });
143
- }
144
- return target;
145
- }
146
- function _sliced_to_array(arr, i) {
147
- return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
148
- }
149
- function _unsupported_iterable_to_array(o, minLen) {
150
- if (!o) return;
151
- if (typeof o === "string") return _array_like_to_array(o, minLen);
152
- var n = Object.prototype.toString.call(o).slice(8, -1);
153
- if (n === "Object" && o.constructor) n = o.constructor.name;
154
- if (n === "Map" || n === "Set") return Array.from(n);
155
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
156
- }
157
- function _ts_generator(thisArg, body) {
158
- var f, y, t, g, _ = {
159
- label: 0,
160
- sent: function() {
161
- if (t[0] & 1) throw t[1];
162
- return t[1];
163
- },
164
- trys: [],
165
- ops: []
166
- };
167
- return g = {
168
- next: verb(0),
169
- "throw": verb(1),
170
- "return": verb(2)
171
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
172
- return this;
173
- }), g;
174
- function verb(n) {
175
- return function(v) {
176
- return step([
177
- n,
178
- v
179
- ]);
180
- };
181
- }
182
- function step(op) {
183
- if (f) throw new TypeError("Generator is already executing.");
184
- while(_)try {
185
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
186
- if (y = 0, t) op = [
187
- op[0] & 2,
188
- t.value
189
- ];
190
- switch(op[0]){
191
- case 0:
192
- case 1:
193
- t = op;
194
- break;
195
- case 4:
196
- _.label++;
197
- return {
198
- value: op[1],
199
- done: false
200
- };
201
- case 5:
202
- _.label++;
203
- y = op[1];
204
- op = [
205
- 0
206
- ];
207
- continue;
208
- case 7:
209
- op = _.ops.pop();
210
- _.trys.pop();
211
- continue;
212
- default:
213
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
214
- _ = 0;
215
- continue;
216
- }
217
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
218
- _.label = op[1];
219
- break;
220
- }
221
- if (op[0] === 6 && _.label < t[1]) {
222
- _.label = t[1];
223
- t = op;
224
- break;
225
- }
226
- if (t && _.label < t[2]) {
227
- _.label = t[2];
228
- _.ops.push(op);
229
- break;
230
- }
231
- if (t[2]) _.ops.pop();
232
- _.trys.pop();
233
- continue;
234
- }
235
- op = body.call(thisArg, _);
236
- } catch (e) {
237
- op = [
238
- 6,
239
- e
240
- ];
241
- y = 0;
242
- } finally{
243
- f = t = 0;
244
- }
245
- if (op[0] & 5) throw op[1];
246
- return {
247
- value: op[0] ? op[1] : void 0,
248
- done: true
249
- };
250
- }
251
- }
252
- var priorityByType = {
253
- low: 0,
254
- medium: 1,
255
- high: 2
256
- };
257
- var typeByPriority = Object.entries(priorityByType).reduce(function(acc, param) {
258
- var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
259
- acc[value] = key;
260
- return acc;
261
- }, {});
262
- var Validator = /*#__PURE__*/ function() {
263
- "use strict";
264
- function Validator(type) {
265
- _class_call_check(this, Validator);
266
- _define_property(this, "$$type", '$PValidator');
267
- _define_property(this, "child", void 0);
268
- _define_property(this, "parent", void 0);
269
- _define_property(this, "fallbackNamesAdded", new Set());
270
- _define_property(this, "priority", void 0);
271
- _define_property(this, "fallbacks", []);
272
- this.fallbackNamesAdded = new Set();
273
- this.fallbacks = [];
274
- this.priority = priorityByType[type];
275
- }
276
- _create_class(Validator, [
277
- {
278
- key: "checkAppendOrCreate",
279
- value: /**
280
- * We create all of the validators on the schema in order, i actually didn't want to go on that route but i
281
- * found it easier to do so.
282
- *
283
- * The logic here is simple, if it's not the same priority we will walk on the linked list until we find
284
- * a validator that matches the priority we are expecting. If we can't walk anymore, we create the next
285
- * priority validator and append it to the linked list. Be aware that it's a double linked list, so we
286
- * can walk both ways, from the end to the start and from the start to the end.
287
- * So you don't really need to start from the root, the linked list can start from anywhere and it will
288
- * find it's way through.
289
- *
290
- * I know there are better ways to do this instead of walking through the linked list, but like i explained
291
- * before, this is enough for now.
292
- *
293
- * If the priority is higher than the current priority saved on the schema, we should substitute the
294
- * rootValidator on the schema with the new one.
295
- *
296
- * @param schema - The schema that we are working on right now, all fallbacks are tied to that specific schema.
297
- * @param type - The type of the fallback that we are adding.
298
- * @param fallback - The fallback function that we are adding.
299
- * @param childOrParent - If we are adding a fallback to the child or to the parent.
300
- * @param options - The options that we are passing to the fallback.
301
- */ function checkAppendOrCreate(schema, type, fallbackName, fallback, childOrParent, options) {
302
- var schemaWithProtected = schema;
303
- if (this[childOrParent]) this[childOrParent].addFallback(schemaWithProtected, type, fallbackName, fallback, options);
304
- else {
305
- var nextPriority = childOrParent === 'child' ? this.priority - 1 : this.priority + 1;
306
- if (Object.keys(typeByPriority).includes(String(nextPriority))) {
307
- var nextType = typeByPriority[nextPriority];
308
- var validatorInstance = new Validator(nextType);
309
- this[childOrParent] = validatorInstance;
310
- this[childOrParent][childOrParent === 'parent' ? 'child' : 'parent'] = this;
311
- this[childOrParent].addFallback(schemaWithProtected, type, fallbackName, fallback, options);
312
- if (nextPriority > schemaWithProtected.__rootFallbacksValidator.priority) schemaWithProtected.__rootFallbacksValidator = validatorInstance;
313
- }
314
- }
315
- }
316
- },
317
- {
318
- key: "addFallback",
319
- value: function addFallback(schema, type, fallbackName, fallback, options) {
320
- if (this.fallbackNamesAdded.has(fallbackName) && (options === null || options === void 0 ? void 0 : options.removeCurrent) !== true) return;
321
- this.fallbackNamesAdded.add(fallbackName);
322
- var priority = priorityByType[type];
323
- if (this.priority === priority) {
324
- if (typeof (options === null || options === void 0 ? void 0 : options.at) === 'number') this.fallbacks.splice(options.at, options.removeCurrent === true ? 1 : 0, fallback);
325
- else this.fallbacks.push(fallback);
326
- } else if (priority > this.priority) this.checkAppendOrCreate(schema, type, fallbackName, fallback, 'parent', options);
327
- else if (priority < this.priority) this.checkAppendOrCreate(schema, type, fallbackName, fallback, 'child', options);
328
- }
329
- },
330
- {
331
- key: "validate",
332
- value: /**
333
- * Validates the value against all of the fallbacks, the fallbacks are executed in order, from the highest
334
- * priority to the lowest priority. A validator can stop the execution of the other validators if it feels
335
- * like so. Like on the example of a value being null or undefined.
336
- *
337
- * @param errorsAsHashedSet - This is a set that contains all of the errors that we already found, this is
338
- * used to avoid duplicated errors.
339
- * @param path - The path that we are validating right now.
340
- * @param parseResult - The result of the parsing, it contains the parsed value and the errors that we found.
341
- * @param options - The options that we are passing to the fallback.
342
- */ function validate(errorsAsHashedSet, path, parseResult, options) {
343
- var _this = this;
344
- return _async_to_generator(function() {
345
- var doesItShouldPreventChildValidation, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, fallback, _ref, parsed, errors, preventChildValidation, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, error, sortedError, hashedError, err;
346
- return _ts_generator(this, function(_state) {
347
- switch(_state.label){
348
- case 0:
349
- doesItShouldPreventChildValidation = false;
350
- _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
351
- _state.label = 1;
352
- case 1:
353
- _state.trys.push([
354
- 1,
355
- 6,
356
- 7,
357
- 8
358
- ]);
359
- _iterator = _this.fallbacks[Symbol.iterator]();
360
- _state.label = 2;
361
- case 2:
362
- if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
363
- 3,
364
- 5
365
- ];
366
- fallback = _step.value;
367
- return [
368
- 4,
369
- fallback(parseResult.parsed, path, options)
370
- ];
371
- case 3:
372
- _ref = _state.sent(), parsed = _ref.parsed, errors = _ref.errors, preventChildValidation = _ref.preventChildValidation;
373
- parseResult.parsed = parsed;
374
- _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
375
- try {
376
- for(_iterator1 = errors[Symbol.iterator](); !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
377
- error = _step1.value;
378
- if (error.isValid === false) {
379
- sortedError = Object.fromEntries(Object.entries(error).sort(function(param, param1) {
380
- var _param = _sliced_to_array(param, 1), a = _param[0], _param1 = _sliced_to_array(param1, 1), b = _param1[0];
381
- return a.localeCompare(b);
382
- }));
383
- hashedError = JSON.stringify(sortedError);
384
- if (errorsAsHashedSet.has(hashedError)) continue;
385
- errorsAsHashedSet.add(hashedError);
386
- if (!Array.isArray(parseResult.errors)) parseResult.errors = [];
387
- parseResult.errors.push(_object_spread_props(_object_spread({}, error), {
388
- received: parseResult.parsed
389
- }));
390
- }
391
- }
392
- } catch (err) {
393
- _didIteratorError1 = true;
394
- _iteratorError1 = err;
395
- } finally{
396
- try {
397
- if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
398
- _iterator1.return();
399
- }
400
- } finally{
401
- if (_didIteratorError1) {
402
- throw _iteratorError1;
403
- }
404
- }
405
- }
406
- doesItShouldPreventChildValidation = doesItShouldPreventChildValidation || preventChildValidation || false;
407
- _state.label = 4;
408
- case 4:
409
- _iteratorNormalCompletion = true;
410
- return [
411
- 3,
412
- 2
413
- ];
414
- case 5:
415
- return [
416
- 3,
417
- 8
418
- ];
419
- case 6:
420
- err = _state.sent();
421
- _didIteratorError = true;
422
- _iteratorError = err;
423
- return [
424
- 3,
425
- 8
426
- ];
427
- case 7:
428
- try {
429
- if (!_iteratorNormalCompletion && _iterator.return != null) {
430
- _iterator.return();
431
- }
432
- } finally{
433
- if (_didIteratorError) {
434
- throw _iteratorError;
435
- }
436
- }
437
- return [
438
- 7
439
- ];
440
- case 8:
441
- if (!(_this.child && doesItShouldPreventChildValidation === false)) return [
442
- 3,
443
- 10
444
- ];
445
- return [
446
- 4,
447
- _this.child.validate(errorsAsHashedSet, path, parseResult, options)
448
- ];
449
- case 9:
450
- return [
451
- 2,
452
- _state.sent()
453
- ];
454
- case 10:
455
- return [
456
- 2,
457
- parseResult
458
- ];
459
- }
460
- });
461
- })();
462
- }
463
- },
464
- {
465
- key: "toString",
466
- value: function toString() {
467
- var ident = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
468
- return "Priority: ".concat(this.priority, "\nFallbacks: ").concat(this.fallbacks.length, "\n").concat(this.child ? "Children:\n".concat(this.child.toString(ident + 2)) : '');
469
- }
470
- }
471
- ], [
472
- {
473
- key: "createAndAppendFallback",
474
- value: /**
475
- * This static method takes care of everything for you. This means that you should only call this method
476
- * for appending new fallbacks, it takes care of creating the root validator and making sure that the
477
- * rootValidator on the schema is the highest priority one.
478
- *
479
- * @param schema - The schema that we are working on right now, all fallbacks are tied to that specific
480
- * schema. We automatically define the rootValidator on the schema so you don't need to worry about that.
481
- * @param fallback - The fallback that we are adding. This is an object that contains the type of the
482
- * fallback and the callback that we are adding.
483
- * @param options - The options that we are passing to the fallback. Options like `at` and `removeCurrent`
484
- * are passed to the `addFallback` method.
485
- */ function createAndAppendFallback(schema, fallback, options) {
486
- var schemaWithProtected = schema;
487
- var validatorInstance = schemaWithProtected.__rootFallbacksValidator;
488
- // eslint-disable-next-line ts/no-unnecessary-condition
489
- if (schemaWithProtected.__rootFallbacksValidator === undefined) {
490
- validatorInstance = new Validator(fallback.type);
491
- schemaWithProtected.__rootFallbacksValidator = validatorInstance;
492
- }
493
- validatorInstance.addFallback(schema, fallback.type, fallback.name, fallback.callback, options);
494
- return validatorInstance;
495
- }
496
- }
497
- ]);
498
- return Validator;
499
- }();