@palmares/schemas 0.1.24 → 0.1.26

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 +22 -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 +58 -0
  45. package/dist/src/exceptions.d.ts.map +1 -0
  46. package/dist/src/exceptions.js +33 -0
  47. package/dist/src/index.cjs +6520 -0
  48. package/dist/src/index.d.ts.map +1 -0
  49. package/dist/src/index.js +6456 -0
  50. package/dist/src/middleware.cjs +58 -0
  51. package/dist/src/middleware.d.ts.map +1 -0
  52. package/dist/src/middleware.js +35 -0
  53. package/dist/src/model.cjs +6003 -0
  54. package/dist/src/model.d.ts.map +1 -0
  55. package/dist/src/model.js +5978 -0
  56. package/dist/src/parsers/convert-from-number.cjs +34 -0
  57. package/dist/src/parsers/convert-from-number.d.ts.map +1 -0
  58. package/dist/src/parsers/convert-from-number.js +11 -0
  59. package/dist/src/parsers/convert-from-string.cjs +40 -0
  60. package/dist/src/parsers/convert-from-string.d.ts.map +1 -0
  61. package/dist/src/parsers/convert-from-string.js +17 -0
  62. package/dist/src/parsers/index.cjs +50 -0
  63. package/dist/src/parsers/index.d.ts.map +1 -0
  64. package/dist/src/parsers/index.js +24 -0
  65. package/dist/src/schema/array.cjs +1863 -0
  66. package/dist/src/schema/array.d.ts.map +1 -0
  67. package/dist/src/schema/array.js +1837 -0
  68. package/dist/src/schema/boolean.cjs +1800 -0
  69. package/dist/src/schema/boolean.d.ts.map +1 -0
  70. package/dist/src/schema/boolean.js +1774 -0
  71. package/dist/src/schema/datetime.cjs +1789 -0
  72. package/dist/src/schema/datetime.d.ts.map +1 -0
  73. package/dist/src/schema/datetime.js +1763 -0
  74. package/dist/src/schema/index.cjs +2026 -0
  75. package/dist/src/schema/index.d.ts.map +1 -0
  76. package/dist/src/schema/index.js +2001 -0
  77. package/dist/src/schema/number.cjs +2026 -0
  78. package/dist/src/schema/number.d.ts.map +1 -0
  79. package/dist/src/schema/number.js +2000 -0
  80. package/dist/src/schema/object.cjs +1795 -0
  81. package/dist/src/schema/object.d.ts.map +1 -0
  82. package/dist/src/schema/object.js +1769 -0
  83. package/dist/src/schema/schema.cjs +844 -0
  84. package/dist/src/schema/schema.d.ts.map +1 -0
  85. package/dist/src/schema/schema.js +818 -0
  86. package/dist/src/schema/string.cjs +2126 -0
  87. package/dist/src/schema/string.d.ts.map +1 -0
  88. package/dist/src/schema/string.js +2100 -0
  89. package/dist/src/schema/types.cjs +18 -0
  90. package/dist/src/schema/types.d.ts.map +1 -0
  91. package/dist/src/schema/types.js +0 -0
  92. package/dist/src/schema/union.cjs +1737 -0
  93. package/dist/src/schema/union.d.ts.map +1 -0
  94. package/dist/src/schema/union.js +1711 -0
  95. package/dist/src/types.cjs +18 -0
  96. package/dist/src/types.d.ts.map +1 -0
  97. package/dist/src/types.js +0 -0
  98. package/dist/src/utils.cjs +477 -0
  99. package/dist/src/utils.d.ts.map +1 -0
  100. package/dist/src/utils.js +445 -0
  101. package/dist/src/validators/array.cjs +176 -0
  102. package/dist/src/validators/array.d.ts.map +1 -0
  103. package/dist/src/validators/array.js +150 -0
  104. package/dist/src/validators/boolean.cjs +71 -0
  105. package/dist/src/validators/boolean.d.ts.map +1 -0
  106. package/dist/src/validators/boolean.js +47 -0
  107. package/dist/src/validators/datetime.cjs +129 -0
  108. package/dist/src/validators/datetime.d.ts.map +1 -0
  109. package/dist/src/validators/datetime.js +103 -0
  110. package/dist/src/validators/number.cjs +194 -0
  111. package/dist/src/validators/number.d.ts.map +1 -0
  112. package/dist/src/validators/number.js +166 -0
  113. package/dist/src/validators/object.cjs +69 -0
  114. package/dist/src/validators/object.d.ts.map +1 -0
  115. package/dist/src/validators/object.js +46 -0
  116. package/dist/src/validators/schema.cjs +158 -0
  117. package/dist/src/validators/schema.d.ts.map +1 -0
  118. package/dist/src/validators/schema.js +132 -0
  119. package/dist/src/validators/string.cjs +255 -0
  120. package/dist/src/validators/string.d.ts.map +1 -0
  121. package/dist/src/validators/string.js +224 -0
  122. package/dist/src/validators/types.cjs +18 -0
  123. package/dist/src/validators/types.d.ts.map +1 -0
  124. package/dist/src/validators/types.js +0 -0
  125. package/dist/src/validators/union.cjs +69 -0
  126. package/dist/src/validators/union.d.ts.map +1 -0
  127. package/dist/src/validators/union.js +46 -0
  128. package/dist/src/validators/utils.cjs +165 -0
  129. package/dist/src/validators/utils.d.ts.map +1 -0
  130. package/dist/src/validators/utils.js +142 -0
  131. package/dist/tsconfig.types.tsbuildinfo +1 -0
  132. package/package.json +15 -23
  133. package/dist/cjs/src/adapter/fields/array.js +0 -152
  134. package/dist/cjs/src/adapter/fields/boolean.js +0 -162
  135. package/dist/cjs/src/adapter/fields/datetime.js +0 -162
  136. package/dist/cjs/src/adapter/fields/index.js +0 -311
  137. package/dist/cjs/src/adapter/fields/number.js +0 -162
  138. package/dist/cjs/src/adapter/fields/object.js +0 -171
  139. package/dist/cjs/src/adapter/fields/string.js +0 -162
  140. package/dist/cjs/src/adapter/fields/union.js +0 -162
  141. package/dist/cjs/src/adapter/index.js +0 -201
  142. package/dist/cjs/src/adapter/types.js +0 -4
  143. package/dist/cjs/src/compile.js +0 -262
  144. package/dist/cjs/src/conf.js +0 -26
  145. package/dist/cjs/src/constants.js +0 -36
  146. package/dist/cjs/src/domain.js +0 -156
  147. package/dist/cjs/src/exceptions.js +0 -168
  148. package/dist/cjs/src/index.js +0 -317
  149. package/dist/cjs/src/middleware.js +0 -213
  150. package/dist/cjs/src/model.js +0 -628
  151. package/dist/cjs/src/parsers/convert-from-number.js +0 -15
  152. package/dist/cjs/src/parsers/convert-from-string.js +0 -19
  153. package/dist/cjs/src/parsers/index.js +0 -20
  154. package/dist/cjs/src/schema/array.js +0 -1014
  155. package/dist/cjs/src/schema/boolean.js +0 -883
  156. package/dist/cjs/src/schema/datetime.js +0 -840
  157. package/dist/cjs/src/schema/index.js +0 -12
  158. package/dist/cjs/src/schema/number.js +0 -976
  159. package/dist/cjs/src/schema/object.js +0 -1052
  160. package/dist/cjs/src/schema/schema.js +0 -1840
  161. package/dist/cjs/src/schema/string.js +0 -1038
  162. package/dist/cjs/src/schema/types.js +0 -4
  163. package/dist/cjs/src/schema/union.js +0 -1070
  164. package/dist/cjs/src/types.js +0 -4
  165. package/dist/cjs/src/utils.js +0 -647
  166. package/dist/cjs/src/validators/array.js +0 -462
  167. package/dist/cjs/src/validators/boolean.js +0 -201
  168. package/dist/cjs/src/validators/datetime.js +0 -291
  169. package/dist/cjs/src/validators/number.js +0 -375
  170. package/dist/cjs/src/validators/object.js +0 -291
  171. package/dist/cjs/src/validators/schema.js +0 -322
  172. package/dist/cjs/src/validators/string.js +0 -467
  173. package/dist/cjs/src/validators/types.js +0 -4
  174. package/dist/cjs/src/validators/union.js +0 -233
  175. package/dist/cjs/src/validators/utils.js +0 -499
  176. package/dist/cjs/tsconfig.types.tsbuildinfo +0 -1
  177. package/dist/cjs/types/adapter/fields/array.d.ts.map +0 -1
  178. package/dist/cjs/types/adapter/fields/boolean.d.ts.map +0 -1
  179. package/dist/cjs/types/adapter/fields/datetime.d.ts.map +0 -1
  180. package/dist/cjs/types/adapter/fields/index.d.ts.map +0 -1
  181. package/dist/cjs/types/adapter/fields/number.d.ts.map +0 -1
  182. package/dist/cjs/types/adapter/fields/object.d.ts.map +0 -1
  183. package/dist/cjs/types/adapter/fields/string.d.ts.map +0 -1
  184. package/dist/cjs/types/adapter/fields/union.d.ts.map +0 -1
  185. package/dist/cjs/types/adapter/index.d.ts.map +0 -1
  186. package/dist/cjs/types/adapter/types.d.ts.map +0 -1
  187. package/dist/cjs/types/compile.d.ts.map +0 -1
  188. package/dist/cjs/types/conf.d.ts.map +0 -1
  189. package/dist/cjs/types/constants.d.ts.map +0 -1
  190. package/dist/cjs/types/domain.d.ts.map +0 -1
  191. package/dist/cjs/types/exceptions.d.ts.map +0 -1
  192. package/dist/cjs/types/index.d.ts.map +0 -1
  193. package/dist/cjs/types/middleware.d.ts.map +0 -1
  194. package/dist/cjs/types/model.d.ts.map +0 -1
  195. package/dist/cjs/types/parsers/convert-from-number.d.ts.map +0 -1
  196. package/dist/cjs/types/parsers/convert-from-string.d.ts.map +0 -1
  197. package/dist/cjs/types/parsers/index.d.ts.map +0 -1
  198. package/dist/cjs/types/schema/array.d.ts.map +0 -1
  199. package/dist/cjs/types/schema/boolean.d.ts.map +0 -1
  200. package/dist/cjs/types/schema/datetime.d.ts.map +0 -1
  201. package/dist/cjs/types/schema/index.d.ts.map +0 -1
  202. package/dist/cjs/types/schema/number.d.ts.map +0 -1
  203. package/dist/cjs/types/schema/object.d.ts.map +0 -1
  204. package/dist/cjs/types/schema/schema.d.ts.map +0 -1
  205. package/dist/cjs/types/schema/string.d.ts.map +0 -1
  206. package/dist/cjs/types/schema/types.d.ts.map +0 -1
  207. package/dist/cjs/types/schema/union.d.ts.map +0 -1
  208. package/dist/cjs/types/types.d.ts.map +0 -1
  209. package/dist/cjs/types/utils.d.ts.map +0 -1
  210. package/dist/cjs/types/validators/array.d.ts.map +0 -1
  211. package/dist/cjs/types/validators/boolean.d.ts.map +0 -1
  212. package/dist/cjs/types/validators/datetime.d.ts.map +0 -1
  213. package/dist/cjs/types/validators/number.d.ts.map +0 -1
  214. package/dist/cjs/types/validators/object.d.ts.map +0 -1
  215. package/dist/cjs/types/validators/schema.d.ts.map +0 -1
  216. package/dist/cjs/types/validators/string.d.ts.map +0 -1
  217. package/dist/cjs/types/validators/types.d.ts.map +0 -1
  218. package/dist/cjs/types/validators/union.d.ts.map +0 -1
  219. package/dist/cjs/types/validators/utils.d.ts.map +0 -1
  220. package/dist/esm/src/adapter/fields/array.js +0 -13
  221. package/dist/esm/src/adapter/fields/boolean.js +0 -20
  222. package/dist/esm/src/adapter/fields/datetime.js +0 -20
  223. package/dist/esm/src/adapter/fields/index.js +0 -37
  224. package/dist/esm/src/adapter/fields/number.js +0 -20
  225. package/dist/esm/src/adapter/fields/object.js +0 -26
  226. package/dist/esm/src/adapter/fields/string.js +0 -20
  227. package/dist/esm/src/adapter/fields/union.js +0 -20
  228. package/dist/esm/src/adapter/index.js +0 -21
  229. package/dist/esm/src/adapter/types.js +0 -1
  230. package/dist/esm/src/compile.js +0 -10
  231. package/dist/esm/src/conf.js +0 -18
  232. package/dist/esm/src/constants.js +0 -4
  233. package/dist/esm/src/domain.js +0 -11
  234. package/dist/esm/src/exceptions.js +0 -15
  235. package/dist/esm/src/index.js +0 -126
  236. package/dist/esm/src/middleware.js +0 -29
  237. package/dist/esm/src/model.js +0 -264
  238. package/dist/esm/src/parsers/convert-from-number.js +0 -8
  239. package/dist/esm/src/parsers/convert-from-string.js +0 -14
  240. package/dist/esm/src/parsers/index.js +0 -2
  241. package/dist/esm/src/schema/array.js +0 -487
  242. package/dist/esm/src/schema/boolean.js +0 -520
  243. package/dist/esm/src/schema/datetime.js +0 -477
  244. package/dist/esm/src/schema/index.js +0 -3
  245. package/dist/esm/src/schema/number.js +0 -610
  246. package/dist/esm/src/schema/object.js +0 -521
  247. package/dist/esm/src/schema/schema.js +0 -767
  248. package/dist/esm/src/schema/string.js +0 -668
  249. package/dist/esm/src/schema/types.js +0 -1
  250. package/dist/esm/src/schema/union.js +0 -468
  251. package/dist/esm/src/types.js +0 -14
  252. package/dist/esm/src/utils.js +0 -207
  253. package/dist/esm/src/validators/array.js +0 -140
  254. package/dist/esm/src/validators/boolean.js +0 -37
  255. package/dist/esm/src/validators/datetime.js +0 -89
  256. package/dist/esm/src/validators/number.js +0 -148
  257. package/dist/esm/src/validators/object.js +0 -39
  258. package/dist/esm/src/validators/schema.js +0 -118
  259. package/dist/esm/src/validators/string.js +0 -202
  260. package/dist/esm/src/validators/types.js +0 -1
  261. package/dist/esm/src/validators/union.js +0 -39
  262. package/dist/esm/src/validators/utils.js +0 -147
  263. /package/dist/{cjs/types → src}/adapter/fields/array.d.ts +0 -0
  264. /package/dist/{cjs/types → src}/adapter/fields/boolean.d.ts +0 -0
  265. /package/dist/{cjs/types → src}/adapter/fields/datetime.d.ts +0 -0
  266. /package/dist/{cjs/types → src}/adapter/fields/index.d.ts +0 -0
  267. /package/dist/{cjs/types → src}/adapter/fields/number.d.ts +0 -0
  268. /package/dist/{cjs/types → src}/adapter/fields/object.d.ts +0 -0
  269. /package/dist/{cjs/types → src}/adapter/fields/string.d.ts +0 -0
  270. /package/dist/{cjs/types → src}/adapter/fields/union.d.ts +0 -0
  271. /package/dist/{cjs/types → src}/adapter/index.d.ts +0 -0
  272. /package/dist/{cjs/types → src}/adapter/types.d.ts +0 -0
  273. /package/dist/{cjs/types → src}/compile.d.ts +0 -0
  274. /package/dist/{cjs/types → src}/conf.d.ts +0 -0
  275. /package/dist/{cjs/types → src}/constants.d.ts +0 -0
  276. /package/dist/{cjs/types → src}/domain.d.ts +0 -0
  277. /package/dist/{cjs/types → src}/exceptions.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
- }();