@sanity/validation 2.29.5 → 2.30.1-dev-preview.1013

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 (191) hide show
  1. package/{dist/dts → lib/dts/src}/Rule.d.ts +3 -3
  2. package/lib/dts/src/Rule.d.ts.map +1 -0
  3. package/lib/dts/src/Rule.js +336 -0
  4. package/lib/dts/src/Rule.js.map +1 -0
  5. package/{dist/dts → lib/dts/src}/ValidationError.d.ts +3 -3
  6. package/lib/dts/src/ValidationError.d.ts.map +1 -0
  7. package/lib/dts/src/ValidationError.js +18 -0
  8. package/lib/dts/src/ValidationError.js.map +1 -0
  9. package/{dist/dts → lib/dts/src}/index.d.ts +12 -12
  10. package/lib/dts/src/index.d.ts.map +1 -0
  11. package/lib/dts/src/index.js +7 -0
  12. package/lib/dts/src/index.js.map +1 -0
  13. package/{dist/dts → lib/dts/src}/inferFromSchema.d.ts +3 -3
  14. package/lib/dts/src/inferFromSchema.d.ts.map +1 -0
  15. package/lib/dts/src/inferFromSchema.js +14 -0
  16. package/lib/dts/src/inferFromSchema.js.map +1 -0
  17. package/{dist/dts → lib/dts/src}/inferFromSchemaType.d.ts +4 -4
  18. package/lib/dts/src/inferFromSchemaType.d.ts.map +1 -0
  19. package/lib/dts/src/inferFromSchemaType.js +33 -0
  20. package/lib/dts/src/inferFromSchemaType.js.map +1 -0
  21. package/{dist/dts → lib/dts/src}/util/convertToValidationMarker.d.ts +5 -5
  22. package/lib/dts/src/util/convertToValidationMarker.d.ts.map +1 -0
  23. package/lib/dts/src/util/convertToValidationMarker.js +51 -0
  24. package/lib/dts/src/util/convertToValidationMarker.js.map +1 -0
  25. package/{dist/dts → lib/dts/src}/util/deepEquals.d.ts +5 -5
  26. package/lib/dts/src/util/deepEquals.d.ts.map +1 -0
  27. package/lib/dts/src/util/deepEquals.js +65 -0
  28. package/lib/dts/src/util/deepEquals.js.map +1 -0
  29. package/{dist/dts → lib/dts/src}/util/escapeRegex.d.ts +2 -2
  30. package/lib/dts/src/util/escapeRegex.d.ts.map +1 -0
  31. package/lib/dts/src/util/escapeRegex.js +6 -0
  32. package/lib/dts/src/util/escapeRegex.js.map +1 -0
  33. package/{dist/dts → lib/dts/src}/util/normalizeValidationRules.d.ts +5 -5
  34. package/lib/dts/src/util/normalizeValidationRules.d.ts.map +1 -0
  35. package/lib/dts/src/util/normalizeValidationRules.js +104 -0
  36. package/lib/dts/src/util/normalizeValidationRules.js.map +1 -0
  37. package/{dist/dts → lib/dts/src}/util/normalizeValidationRules.test.d.ts +0 -0
  38. package/lib/dts/src/util/normalizeValidationRules.test.d.ts.map +1 -0
  39. package/lib/dts/src/util/normalizeValidationRules.test.js +150 -0
  40. package/lib/dts/src/util/normalizeValidationRules.test.js.map +1 -0
  41. package/{dist/dts → lib/dts/src}/util/pathToString.d.ts +2 -2
  42. package/lib/dts/src/util/pathToString.d.ts.map +1 -0
  43. package/lib/dts/src/util/pathToString.js +18 -0
  44. package/lib/dts/src/util/pathToString.js.map +1 -0
  45. package/{dist/dts → lib/dts/src}/util/typeString.d.ts +1 -1
  46. package/lib/dts/src/util/typeString.d.ts.map +1 -0
  47. package/lib/dts/src/util/typeString.js +23 -0
  48. package/lib/dts/src/util/typeString.js.map +1 -0
  49. package/{dist/dts → lib/dts/src}/util/typeString.test.d.ts +0 -0
  50. package/lib/dts/src/util/typeString.test.d.ts.map +1 -0
  51. package/lib/dts/src/util/typeString.test.js +24 -0
  52. package/lib/dts/src/util/typeString.test.js.map +1 -0
  53. package/{dist/dts → lib/dts/src}/validateDocument.d.ts +22 -21
  54. package/lib/dts/src/validateDocument.d.ts.map +1 -0
  55. package/lib/dts/src/validateDocument.js +142 -0
  56. package/lib/dts/src/validateDocument.js.map +1 -0
  57. package/{dist/dts → lib/dts/src}/validateDocument.test.d.ts +0 -0
  58. package/lib/dts/src/validateDocument.test.d.ts.map +1 -0
  59. package/lib/dts/src/validateDocument.test.js +703 -0
  60. package/lib/dts/src/validateDocument.test.js.map +1 -0
  61. package/{dist/dts → lib/dts/src}/validators/arrayValidator.d.ts +3 -3
  62. package/lib/dts/src/validators/arrayValidator.d.ts.map +1 -0
  63. package/lib/dts/src/validators/arrayValidator.js +79 -0
  64. package/lib/dts/src/validators/arrayValidator.js.map +1 -0
  65. package/{dist/dts → lib/dts/src}/validators/booleanValidator.d.ts +3 -3
  66. package/lib/dts/src/validators/booleanValidator.d.ts.map +1 -0
  67. package/lib/dts/src/validators/booleanValidator.js +12 -0
  68. package/lib/dts/src/validators/booleanValidator.js.map +1 -0
  69. package/{dist/dts → lib/dts/src}/validators/dateValidator.d.ts +4 -4
  70. package/lib/dts/src/validators/dateValidator.d.ts.map +1 -0
  71. package/lib/dts/src/validators/dateValidator.js +83 -0
  72. package/lib/dts/src/validators/dateValidator.js.map +1 -0
  73. package/{dist/dts → lib/dts/src}/validators/genericValidator.d.ts +3 -3
  74. package/lib/dts/src/validators/genericValidator.d.ts.map +1 -0
  75. package/lib/dts/src/validators/genericValidator.js +93 -0
  76. package/lib/dts/src/validators/genericValidator.js.map +1 -0
  77. package/{dist/dts → lib/dts/src}/validators/numberValidator.d.ts +3 -3
  78. package/lib/dts/src/validators/numberValidator.d.ts.map +1 -0
  79. package/lib/dts/src/validators/numberValidator.js +47 -0
  80. package/lib/dts/src/validators/numberValidator.js.map +1 -0
  81. package/{dist/dts → lib/dts/src}/validators/objectValidator.d.ts +3 -3
  82. package/lib/dts/src/validators/objectValidator.d.ts.map +1 -0
  83. package/lib/dts/src/validators/objectValidator.js +48 -0
  84. package/lib/dts/src/validators/objectValidator.js.map +1 -0
  85. package/{dist/dts → lib/dts/src}/validators/slugValidator.d.ts +8 -8
  86. package/lib/dts/src/validators/slugValidator.d.ts.map +1 -0
  87. package/lib/dts/src/validators/slugValidator.js +83 -0
  88. package/lib/dts/src/validators/slugValidator.js.map +1 -0
  89. package/{dist/dts → lib/dts/src}/validators/stringValidator.d.ts +3 -3
  90. package/lib/dts/src/validators/stringValidator.d.ts.map +1 -0
  91. package/lib/dts/src/validators/stringValidator.js +94 -0
  92. package/lib/dts/src/validators/stringValidator.js.map +1 -0
  93. package/lib/dts/test/array.test.d.ts +2 -0
  94. package/lib/dts/test/array.test.d.ts.map +1 -0
  95. package/lib/dts/test/array.test.js +55 -0
  96. package/lib/dts/test/array.test.js.map +1 -0
  97. package/lib/dts/test/children.test.d.ts +2 -0
  98. package/lib/dts/test/children.test.d.ts.map +1 -0
  99. package/lib/dts/test/children.test.js +70 -0
  100. package/lib/dts/test/children.test.js.map +1 -0
  101. package/lib/dts/test/createSchema.d.ts +6 -0
  102. package/lib/dts/test/createSchema.d.ts.map +1 -0
  103. package/lib/dts/test/createSchema.js +19 -0
  104. package/lib/dts/test/createSchema.js.map +1 -0
  105. package/lib/dts/test/generics.test.d.ts +2 -0
  106. package/lib/dts/test/generics.test.d.ts.map +1 -0
  107. package/lib/dts/test/generics.test.js +60 -0
  108. package/lib/dts/test/generics.test.js.map +1 -0
  109. package/lib/dts/test/infer.test.d.ts +2 -0
  110. package/lib/dts/test/infer.test.d.ts.map +1 -0
  111. package/lib/dts/test/infer.test.js +243 -0
  112. package/lib/dts/test/infer.test.js.map +1 -0
  113. package/lib/dts/test/mocks/mockSanityClient.d.ts +6 -0
  114. package/lib/dts/test/mocks/mockSanityClient.d.ts.map +1 -0
  115. package/lib/dts/test/mocks/mockSanityClient.js +8 -0
  116. package/lib/dts/test/mocks/mockSanityClient.js.map +1 -0
  117. package/lib/dts/test/nullExport.d.ts +3 -0
  118. package/lib/dts/test/nullExport.d.ts.map +1 -0
  119. package/lib/dts/test/nullExport.js +4 -0
  120. package/lib/dts/test/nullExport.js.map +1 -0
  121. package/lib/dts/test/numbers.test.d.ts +2 -0
  122. package/lib/dts/test/numbers.test.d.ts.map +1 -0
  123. package/lib/dts/test/numbers.test.js +57 -0
  124. package/lib/dts/test/numbers.test.js.map +1 -0
  125. package/lib/dts/test/strings.test.d.ts +2 -0
  126. package/lib/dts/test/strings.test.d.ts.map +1 -0
  127. package/lib/dts/test/strings.test.js +100 -0
  128. package/lib/dts/test/strings.test.js.map +1 -0
  129. package/lib/dts/tsconfig.lib.tsbuildinfo +1 -0
  130. package/lib/dts/tsconfig.tsbuildinfo +1 -0
  131. package/lib/index.cjs +1318 -0
  132. package/lib/index.cjs.map +1 -0
  133. package/lib/index.js +1308 -48
  134. package/lib/index.js.map +1 -0
  135. package/package.json +21 -11
  136. package/src/Rule.ts +6 -2
  137. package/src/inferFromSchema.ts +7 -1
  138. package/src/util/convertToValidationMarker.ts +5 -3
  139. package/src/validateDocument.test.ts +22 -23
  140. package/src/validateDocument.ts +3 -1
  141. package/src/validators/dateValidator.ts +11 -7
  142. package/src/validators/slugValidator.ts +3 -3
  143. package/src/validators/stringValidator.ts +2 -1
  144. package/dist/dts/Rule.d.ts.map +0 -1
  145. package/dist/dts/ValidationError.d.ts.map +0 -1
  146. package/dist/dts/getClient.d.ts +0 -3
  147. package/dist/dts/getClient.d.ts.map +0 -1
  148. package/dist/dts/index.d.ts.map +0 -1
  149. package/dist/dts/inferFromSchema.d.ts.map +0 -1
  150. package/dist/dts/inferFromSchemaType.d.ts.map +0 -1
  151. package/dist/dts/util/convertToValidationMarker.d.ts.map +0 -1
  152. package/dist/dts/util/deepEquals.d.ts.map +0 -1
  153. package/dist/dts/util/escapeRegex.d.ts.map +0 -1
  154. package/dist/dts/util/normalizeValidationRules.d.ts.map +0 -1
  155. package/dist/dts/util/normalizeValidationRules.test.d.ts.map +0 -1
  156. package/dist/dts/util/pathToString.d.ts.map +0 -1
  157. package/dist/dts/util/typeString.d.ts.map +0 -1
  158. package/dist/dts/util/typeString.test.d.ts.map +0 -1
  159. package/dist/dts/validateDocument.d.ts.map +0 -1
  160. package/dist/dts/validateDocument.test.d.ts.map +0 -1
  161. package/dist/dts/validators/arrayValidator.d.ts.map +0 -1
  162. package/dist/dts/validators/booleanValidator.d.ts.map +0 -1
  163. package/dist/dts/validators/dateValidator.d.ts.map +0 -1
  164. package/dist/dts/validators/genericValidator.d.ts.map +0 -1
  165. package/dist/dts/validators/numberValidator.d.ts.map +0 -1
  166. package/dist/dts/validators/objectValidator.d.ts.map +0 -1
  167. package/dist/dts/validators/slugValidator.d.ts.map +0 -1
  168. package/dist/dts/validators/stringValidator.d.ts.map +0 -1
  169. package/jest.config.js +0 -5
  170. package/lib/Rule.js +0 -491
  171. package/lib/ValidationError.js +0 -39
  172. package/lib/getClient.js +0 -20
  173. package/lib/inferFromSchema.js +0 -22
  174. package/lib/inferFromSchemaType.js +0 -86
  175. package/lib/util/convertToValidationMarker.js +0 -65
  176. package/lib/util/deepEquals.js +0 -87
  177. package/lib/util/escapeRegex.js +0 -14
  178. package/lib/util/normalizeValidationRules.js +0 -115
  179. package/lib/util/pathToString.js +0 -30
  180. package/lib/util/typeString.js +0 -29
  181. package/lib/validateDocument.js +0 -231
  182. package/lib/validators/arrayValidator.js +0 -123
  183. package/lib/validators/booleanValidator.js +0 -29
  184. package/lib/validators/dateValidator.js +0 -120
  185. package/lib/validators/genericValidator.js +0 -135
  186. package/lib/validators/numberValidator.js +0 -70
  187. package/lib/validators/objectValidator.js +0 -93
  188. package/lib/validators/slugValidator.js +0 -133
  189. package/lib/validators/stringValidator.js +0 -131
  190. package/src/getClient.ts +0 -13
  191. package/tsconfig.json +0 -10
@@ -1,123 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _deepEquals = _interopRequireDefault(require("../util/deepEquals"));
9
-
10
- var _ValidationError = _interopRequireDefault(require("../ValidationError"));
11
-
12
- var _genericValidator = _interopRequireDefault(require("./genericValidator"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
-
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
-
20
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
-
22
- var arrayValidators = _objectSpread(_objectSpread({}, _genericValidator.default), {}, {
23
- min: (minLength, value, message) => {
24
- if (!value || value.length >= minLength) {
25
- return true;
26
- }
27
-
28
- return message || "Must have at least ".concat(minLength, " items");
29
- },
30
- max: (maxLength, value, message) => {
31
- if (!value || value.length <= maxLength) {
32
- return true;
33
- }
34
-
35
- return message || "Must have at most ".concat(maxLength, " items");
36
- },
37
- length: (wantedLength, value, message) => {
38
- if (!value || value.length === wantedLength) {
39
- return true;
40
- }
41
-
42
- return message || "Must have exactly ".concat(wantedLength, " items");
43
- },
44
- presence: (flag, value, message) => {
45
- if (flag === 'required' && !value) {
46
- return message || 'Required';
47
- }
48
-
49
- return true;
50
- },
51
- valid: (allowedValues, values, message) => {
52
- var valueType = typeof values;
53
-
54
- if (valueType === 'undefined') {
55
- return true;
56
- }
57
-
58
- var paths = [];
59
-
60
- var _loop = function _loop(i) {
61
- var value = values[i];
62
-
63
- if (allowedValues.some(expected => (0, _deepEquals.default)(expected, value))) {
64
- return "continue";
65
- }
66
-
67
- var pathSegment = value && value._key ? {
68
- _key: value._key
69
- } : i;
70
- paths.push([pathSegment]);
71
- };
72
-
73
- for (var i = 0; i < values.length; i++) {
74
- var _ret = _loop(i);
75
-
76
- if (_ret === "continue") continue;
77
- }
78
-
79
- return paths.length === 0 ? true : new _ValidationError.default(message || 'Value did not match any allowed values', {
80
- paths
81
- });
82
- },
83
- unique: (_unused, value, message) => {
84
- var dupeIndices = [];
85
-
86
- if (!value) {
87
- return true;
88
- }
89
-
90
- for (var x = 0; x < value.length; x++) {
91
- for (var y = x + 1; y < value.length; y++) {
92
- var itemA = value[x];
93
- var itemB = value[y];
94
-
95
- if (!(0, _deepEquals.default)(itemA, itemB)) {
96
- continue;
97
- }
98
-
99
- if (dupeIndices.indexOf(x) === -1) {
100
- dupeIndices.push(x);
101
- }
102
-
103
- if (dupeIndices.indexOf(y) === -1) {
104
- dupeIndices.push(y);
105
- }
106
- }
107
- }
108
-
109
- var paths = dupeIndices.map(idx => {
110
- var item = value[idx];
111
- var pathSegment = item && item._key ? {
112
- _key: item._key
113
- } : idx;
114
- return [pathSegment];
115
- });
116
- return dupeIndices.length > 0 ? new _ValidationError.default(message || "Can't be a duplicate", {
117
- paths
118
- }) : true;
119
- }
120
- });
121
-
122
- var _default = arrayValidators;
123
- exports.default = _default;
@@ -1,29 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _genericValidator = _interopRequireDefault(require("./genericValidator"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
-
14
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
-
16
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
-
18
- var booleanValidators = _objectSpread(_objectSpread({}, _genericValidator.default), {}, {
19
- presence: (flag, value, message) => {
20
- if (flag === 'required' && typeof value !== 'boolean') {
21
- return message || 'Required';
22
- }
23
-
24
- return true;
25
- }
26
- });
27
-
28
- var _default = booleanValidators;
29
- exports.default = _default;
@@ -1,120 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- exports.isRecord = isRecord;
8
-
9
- var _format = _interopRequireDefault(require("date-fns/format"));
10
-
11
- var _genericValidator = _interopRequireDefault(require("./genericValidator"));
12
-
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
-
15
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
-
17
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
-
19
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20
-
21
- function isRecord(obj) {
22
- return typeof obj === 'object' && obj !== null && !Array.isArray(obj);
23
- } // eslint-disable-next-line no-useless-escape
24
-
25
-
26
- var isoDate = /^(?:[-+]\d{2})?(?:\d{4}(?!\d{2}\b))(?:(-?)(?:(?:0[1-9]|1[0-2])(?:\1(?:[12]\d|0[1-9]|3[01]))?|W(?:[0-4]\d|5[0-2])(?:-?[1-7])?|(?:00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[1-6])))(?![T]$|[T][\d]+Z$)(?:[T\s](?:(?:(?:[01]\d|2[0-3])(?:(:?)[0-5]\d)?|24\:?00)(?:[.,]\d+(?!:))?)(?:\2[0-5]\d(?:[.,]\d+)?)?(?:[Z]|(?:[+-])(?:[01]\d|2[0-3])(?::?[0-5]\d)?)?)?)?$/; // eslint-disable-next-line no-warning-comments
27
- // TODO (eventually): move these to schema type package
28
-
29
- var getFormattedDate = function getFormattedDate() {
30
- var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
31
- var value = arguments.length > 1 ? arguments[1] : undefined;
32
- var options = arguments.length > 2 ? arguments[2] : undefined;
33
- var format = 'yyyy-MM-dd';
34
-
35
- if (options && options.dateFormat) {
36
- format = options.dateFormat;
37
- }
38
-
39
- if (type === 'date') {
40
- // If the type is date only
41
- return (0, _format.default)(value, format);
42
- } // If the type is datetime
43
-
44
-
45
- if (options && options.timeFormat) {
46
- format += " ".concat(options.timeFormat);
47
- } else {
48
- format += ' HH:mm';
49
- }
50
-
51
- return (0, _format.default)(value, format);
52
- };
53
-
54
- function parseDate(date) {
55
- var throwOnError = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
56
- if (!date) return null;
57
- if (date === 'now') return new Date(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
-
59
- var parsed = new Date(date);
60
- var isInvalid = isNaN(parsed.getTime());
61
-
62
- if (isInvalid && throwOnError) {
63
- throw new Error("Unable to parse \"".concat(date, "\" to a date"));
64
- }
65
-
66
- return isInvalid ? null : parsed;
67
- }
68
-
69
- var dateValidators = _objectSpread(_objectSpread({}, _genericValidator.default), {}, {
70
- type: (_unused, value, message) => {
71
- var strVal = "".concat(value);
72
-
73
- if (!strVal || isoDate.test(value)) {
74
- return true;
75
- }
76
-
77
- return message || 'Must be a valid ISO-8601 formatted date string';
78
- },
79
- min: (minDate, value, message, context) => {
80
- var dateVal = parseDate(value);
81
-
82
- if (!dateVal) {
83
- return true; // `type()` should catch parse errors
84
- }
85
-
86
- if (!value || dateVal >= parseDate(minDate, true)) {
87
- return true;
88
- }
89
-
90
- if (!context.type) {
91
- throw new Error("`type` was not provided in validation context.");
92
- }
93
-
94
- var dateTimeOptions = isRecord(context.type.options) ? context.type.options : {};
95
- var date = getFormattedDate(context.type.name, minDate, dateTimeOptions);
96
- return message || "Must be at or after ".concat(date);
97
- },
98
- max: (maxDate, value, message, context) => {
99
- var dateVal = parseDate(value);
100
-
101
- if (!dateVal) {
102
- return true; // `type()` should catch parse errors
103
- }
104
-
105
- if (!value || dateVal <= parseDate(maxDate, true)) {
106
- return true;
107
- }
108
-
109
- if (!context.type) {
110
- throw new Error("`type` was not provided in validation context.");
111
- }
112
-
113
- var dateTimeOptions = isRecord(context.type.options) ? context.type.options : {};
114
- var date = getFormattedDate(context.type.name, maxDate, dateTimeOptions);
115
- return message || "Must be at or before ".concat(date);
116
- }
117
- });
118
-
119
- var _default = dateValidators;
120
- exports.default = _default;
@@ -1,135 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _typeString = _interopRequireDefault(require("../util/typeString"));
9
-
10
- var _deepEquals = _interopRequireDefault(require("../util/deepEquals"));
11
-
12
- var _pathToString = _interopRequireDefault(require("../util/pathToString"));
13
-
14
- var _ValidationError = _interopRequireDefault(require("../ValidationError"));
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
19
-
20
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
21
-
22
- var SLOW_VALIDATOR_TIMEOUT = 5000;
23
-
24
- var formatValidationErrors = options => {
25
- var message;
26
-
27
- if (options.message) {
28
- message = options.message;
29
- } else if (options.results.length === 1) {
30
- var _options$results$;
31
-
32
- message = (_options$results$ = options.results[0]) === null || _options$results$ === void 0 ? void 0 : _options$results$.item.message;
33
- } else {
34
- message = "[".concat(options.results.map(err => err.item.message).join(" - ".concat(options.operation, " - ")), "]");
35
- }
36
-
37
- return new _ValidationError.default(message, {
38
- children: options.results.length > 1 ? options.results : undefined,
39
- operation: options.operation
40
- });
41
- };
42
-
43
- var genericValidators = {
44
- type: (expected, value, message) => {
45
- var actualType = (0, _typeString.default)(value);
46
-
47
- if (actualType !== expected && actualType !== 'undefined') {
48
- return message || "Expected type \"".concat(expected, "\", got \"").concat(actualType, "\"");
49
- }
50
-
51
- return true;
52
- },
53
- presence: (expected, value, message) => {
54
- if (value === undefined && expected === 'required') {
55
- return message || 'Value is required';
56
- }
57
-
58
- return true;
59
- },
60
- all: function () {
61
- var _all = _asyncToGenerator(function* (children, value, message, context) {
62
- var resolved = yield Promise.all(children.map(child => child.validate(value, context)));
63
- var results = resolved.flat();
64
- if (!results.length) return true;
65
- return formatValidationErrors({
66
- message,
67
- results,
68
- operation: 'AND'
69
- });
70
- });
71
-
72
- function all(_x, _x2, _x3, _x4) {
73
- return _all.apply(this, arguments);
74
- }
75
-
76
- return all;
77
- }(),
78
- either: function () {
79
- var _either = _asyncToGenerator(function* (children, value, message, context) {
80
- var resolved = yield Promise.all(children.map(child => child.validate(value, context)));
81
- var results = resolved.flat(); // Read: There is at least one rule that matched
82
-
83
- if (results.length < children.length) return true;
84
- return formatValidationErrors({
85
- message,
86
- results,
87
- operation: 'OR'
88
- });
89
- });
90
-
91
- function either(_x5, _x6, _x7, _x8) {
92
- return _either.apply(this, arguments);
93
- }
94
-
95
- return either;
96
- }(),
97
- valid: (allowedValues, actual, message) => {
98
- var valueType = typeof actual;
99
-
100
- if (valueType === 'undefined') {
101
- return true;
102
- }
103
-
104
- var value = (valueType === 'number' || valueType === 'string') && "".concat(actual);
105
- var strValue = value && value.length > 30 ? "".concat(value.slice(0, 30), "\u2026") : value;
106
- var defaultMessage = value ? "Value \"".concat(strValue, "\" did not match any allowed values") : 'Value did not match any allowed values';
107
- return allowedValues.some(expected => (0, _deepEquals.default)(expected, actual)) ? true : message || defaultMessage;
108
- },
109
- custom: function () {
110
- var _custom = _asyncToGenerator(function* (fn, value, message, context) {
111
- var slowTimer = setTimeout(() => {
112
- // eslint-disable-next-line no-console
113
- console.warn("Custom validator at ".concat((0, _pathToString.default)(context.path), " has taken more than ").concat(SLOW_VALIDATOR_TIMEOUT, "ms to respond"));
114
- }, SLOW_VALIDATOR_TIMEOUT);
115
- var result;
116
-
117
- try {
118
- result = yield fn(value, context);
119
- } finally {
120
- clearTimeout(slowTimer);
121
- }
122
-
123
- if (typeof result === 'string') return message || result;
124
- return result;
125
- });
126
-
127
- function custom(_x9, _x10, _x11, _x12) {
128
- return _custom.apply(this, arguments);
129
- }
130
-
131
- return custom;
132
- }()
133
- };
134
- var _default = genericValidators;
135
- exports.default = _default;
@@ -1,70 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _genericValidator = _interopRequireDefault(require("./genericValidator"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
-
14
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
-
16
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
-
18
- var precisionRx = /(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/;
19
-
20
- var numberValidators = _objectSpread(_objectSpread({}, _genericValidator.default), {}, {
21
- integer: (_unused, value, message) => {
22
- if (!Number.isInteger(value)) {
23
- return message || 'Must be an integer';
24
- }
25
-
26
- return true;
27
- },
28
- precision: (limit, value, message) => {
29
- if (value === undefined) return true;
30
- var places = value.toString().match(precisionRx);
31
- var decimals = Math.max((places[1] ? places[1].length : 0) - (places[2] ? parseInt(places[2], 10) : 0), 0);
32
-
33
- if (decimals > limit) {
34
- return message || "Max precision is ".concat(limit);
35
- }
36
-
37
- return true;
38
- },
39
- min: (minNum, value, message) => {
40
- if (value >= minNum) {
41
- return true;
42
- }
43
-
44
- return message || "Must be greater than or equal ".concat(minNum);
45
- },
46
- max: (maxNum, value, message) => {
47
- if (value <= maxNum) {
48
- return true;
49
- }
50
-
51
- return message || "Must be less than or equal ".concat(maxNum);
52
- },
53
- greaterThan: (num, value, message) => {
54
- if (value > num) {
55
- return true;
56
- }
57
-
58
- return message || "Must be greater than ".concat(num);
59
- },
60
- lessThan: (maxNum, value, message) => {
61
- if (value < maxNum) {
62
- return true;
63
- }
64
-
65
- return message || "Must be less than ".concat(maxNum);
66
- }
67
- });
68
-
69
- var _default = numberValidators;
70
- exports.default = _default;
@@ -1,93 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _types = require("@sanity/types");
9
-
10
- var _genericValidator = _interopRequireDefault(require("./genericValidator"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
15
-
16
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
17
-
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
-
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
-
22
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
-
24
- var metaKeys = ['_key', '_type', '_weak'];
25
-
26
- var objectValidators = _objectSpread(_objectSpread({}, _genericValidator.default), {}, {
27
- presence: (expected, value, message) => {
28
- if (expected !== 'required') {
29
- return true;
30
- }
31
-
32
- var keys = value && Object.keys(value).filter(key => !metaKeys.includes(key));
33
-
34
- if (value === undefined || keys && keys.length === 0) {
35
- return message || 'Required';
36
- }
37
-
38
- return true;
39
- },
40
- reference: function () {
41
- var _reference = _asyncToGenerator(function* (_unused, value, message, context) {
42
- if (!value) {
43
- return true;
44
- }
45
-
46
- if (!(0, _types.isReference)(value)) {
47
- return message || true;
48
- }
49
-
50
- var type = context.type,
51
- getDocumentExists = context.getDocumentExists;
52
-
53
- if (!type) {
54
- throw new Error("`type` was not provided in validation context");
55
- }
56
-
57
- if ('weak' in type && type.weak) {
58
- return true;
59
- }
60
-
61
- if (!getDocumentExists) {
62
- throw new Error("`getDocumentExists` was not provided in validation context");
63
- }
64
-
65
- var exists = yield getDocumentExists({
66
- id: value._ref
67
- });
68
-
69
- if (!exists) {
70
- return 'This reference must be published';
71
- }
72
-
73
- return true;
74
- });
75
-
76
- function reference(_x, _x2, _x3, _x4) {
77
- return _reference.apply(this, arguments);
78
- }
79
-
80
- return reference;
81
- }(),
82
- assetRequired: (flag, value, message) => {
83
- if (!value || !value.asset || !value.asset._ref) {
84
- var assetType = flag.assetType || 'Asset';
85
- return message || "".concat(assetType, " required");
86
- }
87
-
88
- return true;
89
- }
90
- });
91
-
92
- var _default = objectValidators;
93
- exports.default = _default;