@conform-to/yup 0.3.1 → 0.4.0-pre.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/index.js +68 -154
  2. package/module/index.js +67 -134
  3. package/package.json +2 -2
package/index.js CHANGED
@@ -2,186 +2,100 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var dom = require('@conform-to/dom');
6
- var yup = require('yup');
7
-
8
- function _interopNamespace(e) {
9
- if (e && e.__esModule) return e;
10
- var n = Object.create(null);
11
- if (e) {
12
- Object.keys(e).forEach(function (k) {
13
- if (k !== 'default') {
14
- var d = Object.getOwnPropertyDescriptor(e, k);
15
- Object.defineProperty(n, k, d.get ? d : {
16
- enumerable: true,
17
- get: function () { return e[k]; }
18
- });
19
- }
20
- });
21
- }
22
- n["default"] = e;
23
- return Object.freeze(n);
24
- }
25
-
26
- var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
27
-
28
- function formatError(error) {
29
- var result = {};
30
-
31
- var _loop = function _loop(validationError) {
32
- dom.setValue(result, dom.getPaths(validationError.path).flatMap(path => ['details', path]).concat('message'), prev => prev ? prev : validationError.message);
33
- };
34
-
35
- for (var validationError of error.inner) {
36
- _loop(validationError);
37
- }
38
-
39
- return result;
40
- }
41
-
42
- function resolve(source) {
5
+ function getFieldsetConstraint(source) {
43
6
  var description = source.describe();
44
- return {
45
- source,
46
- constraint: Object.fromEntries(Object.entries(description.fields).map(_ref => {
47
- var _test$params, _test$params3, _test$params5, _test$params6, _test$params8;
48
-
49
- var [key, def] = _ref;
50
- var constraint = {};
51
-
52
- switch (def.type) {
53
- case 'string':
54
- {
55
- for (var test of def.tests) {
56
- switch (test.name) {
57
- case 'required':
58
- constraint.required = true;
59
- break;
60
-
61
- case 'min':
62
- if (!constraint.minLength || constraint.minLength < Number((_test$params = test.params) === null || _test$params === void 0 ? void 0 : _test$params.min)) {
63
- var _test$params2;
7
+ return Object.fromEntries(Object.entries(description.fields).map(_ref => {
8
+ var _test$params, _test$params3, _test$params5, _test$params6, _test$params8;
64
9
 
65
- constraint.minLength = Number((_test$params2 = test.params) === null || _test$params2 === void 0 ? void 0 : _test$params2.min);
66
- }
10
+ var [key, def] = _ref;
11
+ var constraint = {};
67
12
 
68
- break;
69
-
70
- case 'max':
71
- if (!constraint.maxLength || constraint.maxLength > Number((_test$params3 = test.params) === null || _test$params3 === void 0 ? void 0 : _test$params3.max)) {
72
- var _test$params4;
73
-
74
- constraint.maxLength = Number((_test$params4 = test.params) === null || _test$params4 === void 0 ? void 0 : _test$params4.max);
75
- }
76
-
77
- break;
78
-
79
- case 'matches':
80
- if (!constraint.pattern && ((_test$params5 = test.params) === null || _test$params5 === void 0 ? void 0 : _test$params5.regex) instanceof RegExp) {
81
- constraint.pattern = test.params.regex.source;
82
- }
83
-
84
- break;
85
- }
86
- }
87
-
88
- if (!constraint.pattern && def.oneOf.length > 0) {
89
- constraint.pattern = def.oneOf.join('|');
90
- }
91
-
92
- break;
93
- }
94
-
95
- case 'number':
96
- for (var _test of def.tests) {
97
- switch (_test.name) {
13
+ switch (def.type) {
14
+ case 'string':
15
+ {
16
+ for (var test of def.tests) {
17
+ switch (test.name) {
98
18
  case 'required':
99
19
  constraint.required = true;
100
20
  break;
101
21
 
102
22
  case 'min':
103
- if (!constraint.min || constraint.min < Number((_test$params6 = _test.params) === null || _test$params6 === void 0 ? void 0 : _test$params6.min)) {
104
- var _test$params7;
23
+ if (!constraint.minLength || constraint.minLength < Number((_test$params = test.params) === null || _test$params === void 0 ? void 0 : _test$params.min)) {
24
+ var _test$params2;
105
25
 
106
- constraint.min = Number((_test$params7 = _test.params) === null || _test$params7 === void 0 ? void 0 : _test$params7.min);
26
+ constraint.minLength = Number((_test$params2 = test.params) === null || _test$params2 === void 0 ? void 0 : _test$params2.min);
107
27
  }
108
28
 
109
29
  break;
110
30
 
111
31
  case 'max':
112
- if (!constraint.max || constraint.max > Number((_test$params8 = _test.params) === null || _test$params8 === void 0 ? void 0 : _test$params8.max)) {
113
- var _test$params9;
32
+ if (!constraint.maxLength || constraint.maxLength > Number((_test$params3 = test.params) === null || _test$params3 === void 0 ? void 0 : _test$params3.max)) {
33
+ var _test$params4;
34
+
35
+ constraint.maxLength = Number((_test$params4 = test.params) === null || _test$params4 === void 0 ? void 0 : _test$params4.max);
36
+ }
114
37
 
115
- constraint.max = Number((_test$params9 = _test.params) === null || _test$params9 === void 0 ? void 0 : _test$params9.max);
38
+ break;
39
+
40
+ case 'matches':
41
+ if (!constraint.pattern && ((_test$params5 = test.params) === null || _test$params5 === void 0 ? void 0 : _test$params5.regex) instanceof RegExp) {
42
+ constraint.pattern = test.params.regex.source;
116
43
  }
117
44
 
118
45
  break;
119
46
  }
120
47
  }
121
48
 
49
+ if (!constraint.pattern && def.oneOf.length > 0) {
50
+ constraint.pattern = def.oneOf.join('|');
51
+ }
52
+
122
53
  break;
123
- }
124
-
125
- return [key, constraint];
126
- })),
127
-
128
- validate(form, submitter) {
129
- var payload = dom.getFormData(form, submitter);
130
- var submission = dom.createSubmission(payload);
131
- var errors = [];
132
-
133
- try {
134
- source.validateSync(submission.form.value, {
135
- abortEarly: false
136
- });
137
- } catch (e) {
138
- if (e instanceof yup__namespace.ValidationError) {
139
- errors.push(...e.inner.map(error => {
140
- var _error$path;
141
-
142
- return [(_error$path = error.path) !== null && _error$path !== void 0 ? _error$path : '', error.message];
143
- }));
144
- } else {
145
- throw e;
146
54
  }
147
- }
148
-
149
- dom.setFormError(form, errors);
150
- },
151
-
152
- parse(payload) {
153
- var submission = dom.createSubmission(payload);
154
-
155
- if (submission.state !== 'accepted') {
156
- return submission;
157
- }
158
-
159
- try {
160
- var result = source.validateSync(submission.form.value, {
161
- abortEarly: false
162
- });
163
- return {
164
- state: 'accepted',
165
- data: result,
166
- form: submission.form
167
- };
168
- } catch (error) {
169
- if (error instanceof yup__namespace.ValidationError) {
170
- return {
171
- state: 'rejected',
172
- form: {
173
- // @ts-expect-error
174
- value: submission.form.value,
175
- error: formatError(error)
176
- }
177
- };
55
+
56
+ case 'number':
57
+ for (var _test of def.tests) {
58
+ switch (_test.name) {
59
+ case 'required':
60
+ constraint.required = true;
61
+ break;
62
+
63
+ case 'min':
64
+ if (!constraint.min || constraint.min < Number((_test$params6 = _test.params) === null || _test$params6 === void 0 ? void 0 : _test$params6.min)) {
65
+ var _test$params7;
66
+
67
+ constraint.min = Number((_test$params7 = _test.params) === null || _test$params7 === void 0 ? void 0 : _test$params7.min);
68
+ }
69
+
70
+ break;
71
+
72
+ case 'max':
73
+ if (!constraint.max || constraint.max > Number((_test$params8 = _test.params) === null || _test$params8 === void 0 ? void 0 : _test$params8.max)) {
74
+ var _test$params9;
75
+
76
+ constraint.max = Number((_test$params9 = _test.params) === null || _test$params9 === void 0 ? void 0 : _test$params9.max);
77
+ }
78
+
79
+ break;
80
+ }
178
81
  }
179
82
 
180
- throw error;
181
- }
83
+ break;
182
84
  }
183
85
 
184
- };
86
+ return [key, constraint];
87
+ }));
88
+ }
89
+ function getError(error) {
90
+ var _error$inner$reduce;
91
+
92
+ return (_error$inner$reduce = error === null || error === void 0 ? void 0 : error.inner.reduce((result, e) => {
93
+ var _e$path;
94
+
95
+ result.push([(_e$path = e.path) !== null && _e$path !== void 0 ? _e$path : '', e.message]);
96
+ return result;
97
+ }, [])) !== null && _error$inner$reduce !== void 0 ? _error$inner$reduce : [];
185
98
  }
186
99
 
187
- exports.resolve = resolve;
100
+ exports.getError = getError;
101
+ exports.getFieldsetConstraint = getFieldsetConstraint;
package/module/index.js CHANGED
@@ -1,163 +1,96 @@
1
- import { getFormData, createSubmission, setFormError, setValue, getPaths } from '@conform-to/dom';
2
- import * as yup from 'yup';
3
-
4
- function formatError(error) {
5
- var result = {};
6
-
7
- var _loop = function _loop(validationError) {
8
- setValue(result, getPaths(validationError.path).flatMap(path => ['details', path]).concat('message'), prev => prev ? prev : validationError.message);
9
- };
10
-
11
- for (var validationError of error.inner) {
12
- _loop(validationError);
13
- }
14
-
15
- return result;
16
- }
17
-
18
- function resolve(source) {
1
+ function getFieldsetConstraint(source) {
19
2
  var description = source.describe();
20
- return {
21
- source,
22
- constraint: Object.fromEntries(Object.entries(description.fields).map(_ref => {
23
- var _test$params, _test$params3, _test$params5, _test$params6, _test$params8;
24
-
25
- var [key, def] = _ref;
26
- var constraint = {};
27
-
28
- switch (def.type) {
29
- case 'string':
30
- {
31
- for (var test of def.tests) {
32
- switch (test.name) {
33
- case 'required':
34
- constraint.required = true;
35
- break;
36
-
37
- case 'min':
38
- if (!constraint.minLength || constraint.minLength < Number((_test$params = test.params) === null || _test$params === void 0 ? void 0 : _test$params.min)) {
39
- var _test$params2;
40
-
41
- constraint.minLength = Number((_test$params2 = test.params) === null || _test$params2 === void 0 ? void 0 : _test$params2.min);
42
- }
43
-
44
- break;
3
+ return Object.fromEntries(Object.entries(description.fields).map(_ref => {
4
+ var _test$params, _test$params3, _test$params5, _test$params6, _test$params8;
45
5
 
46
- case 'max':
47
- if (!constraint.maxLength || constraint.maxLength > Number((_test$params3 = test.params) === null || _test$params3 === void 0 ? void 0 : _test$params3.max)) {
48
- var _test$params4;
49
-
50
- constraint.maxLength = Number((_test$params4 = test.params) === null || _test$params4 === void 0 ? void 0 : _test$params4.max);
51
- }
52
-
53
- break;
54
-
55
- case 'matches':
56
- if (!constraint.pattern && ((_test$params5 = test.params) === null || _test$params5 === void 0 ? void 0 : _test$params5.regex) instanceof RegExp) {
57
- constraint.pattern = test.params.regex.source;
58
- }
59
-
60
- break;
61
- }
62
- }
63
-
64
- if (!constraint.pattern && def.oneOf.length > 0) {
65
- constraint.pattern = def.oneOf.join('|');
66
- }
67
-
68
- break;
69
- }
6
+ var [key, def] = _ref;
7
+ var constraint = {};
70
8
 
71
- case 'number':
72
- for (var _test of def.tests) {
73
- switch (_test.name) {
9
+ switch (def.type) {
10
+ case 'string':
11
+ {
12
+ for (var test of def.tests) {
13
+ switch (test.name) {
74
14
  case 'required':
75
15
  constraint.required = true;
76
16
  break;
77
17
 
78
18
  case 'min':
79
- if (!constraint.min || constraint.min < Number((_test$params6 = _test.params) === null || _test$params6 === void 0 ? void 0 : _test$params6.min)) {
80
- var _test$params7;
19
+ if (!constraint.minLength || constraint.minLength < Number((_test$params = test.params) === null || _test$params === void 0 ? void 0 : _test$params.min)) {
20
+ var _test$params2;
81
21
 
82
- constraint.min = Number((_test$params7 = _test.params) === null || _test$params7 === void 0 ? void 0 : _test$params7.min);
22
+ constraint.minLength = Number((_test$params2 = test.params) === null || _test$params2 === void 0 ? void 0 : _test$params2.min);
83
23
  }
84
24
 
85
25
  break;
86
26
 
87
27
  case 'max':
88
- if (!constraint.max || constraint.max > Number((_test$params8 = _test.params) === null || _test$params8 === void 0 ? void 0 : _test$params8.max)) {
89
- var _test$params9;
28
+ if (!constraint.maxLength || constraint.maxLength > Number((_test$params3 = test.params) === null || _test$params3 === void 0 ? void 0 : _test$params3.max)) {
29
+ var _test$params4;
90
30
 
91
- constraint.max = Number((_test$params9 = _test.params) === null || _test$params9 === void 0 ? void 0 : _test$params9.max);
31
+ constraint.maxLength = Number((_test$params4 = test.params) === null || _test$params4 === void 0 ? void 0 : _test$params4.max);
32
+ }
33
+
34
+ break;
35
+
36
+ case 'matches':
37
+ if (!constraint.pattern && ((_test$params5 = test.params) === null || _test$params5 === void 0 ? void 0 : _test$params5.regex) instanceof RegExp) {
38
+ constraint.pattern = test.params.regex.source;
92
39
  }
93
40
 
94
41
  break;
95
42
  }
96
43
  }
97
44
 
45
+ if (!constraint.pattern && def.oneOf.length > 0) {
46
+ constraint.pattern = def.oneOf.join('|');
47
+ }
48
+
98
49
  break;
99
- }
100
-
101
- return [key, constraint];
102
- })),
103
-
104
- validate(form, submitter) {
105
- var payload = getFormData(form, submitter);
106
- var submission = createSubmission(payload);
107
- var errors = [];
108
-
109
- try {
110
- source.validateSync(submission.form.value, {
111
- abortEarly: false
112
- });
113
- } catch (e) {
114
- if (e instanceof yup.ValidationError) {
115
- errors.push(...e.inner.map(error => {
116
- var _error$path;
117
-
118
- return [(_error$path = error.path) !== null && _error$path !== void 0 ? _error$path : '', error.message];
119
- }));
120
- } else {
121
- throw e;
122
50
  }
123
- }
124
-
125
- setFormError(form, errors);
126
- },
127
-
128
- parse(payload) {
129
- var submission = createSubmission(payload);
130
-
131
- if (submission.state !== 'accepted') {
132
- return submission;
133
- }
134
-
135
- try {
136
- var result = source.validateSync(submission.form.value, {
137
- abortEarly: false
138
- });
139
- return {
140
- state: 'accepted',
141
- data: result,
142
- form: submission.form
143
- };
144
- } catch (error) {
145
- if (error instanceof yup.ValidationError) {
146
- return {
147
- state: 'rejected',
148
- form: {
149
- // @ts-expect-error
150
- value: submission.form.value,
151
- error: formatError(error)
152
- }
153
- };
51
+
52
+ case 'number':
53
+ for (var _test of def.tests) {
54
+ switch (_test.name) {
55
+ case 'required':
56
+ constraint.required = true;
57
+ break;
58
+
59
+ case 'min':
60
+ if (!constraint.min || constraint.min < Number((_test$params6 = _test.params) === null || _test$params6 === void 0 ? void 0 : _test$params6.min)) {
61
+ var _test$params7;
62
+
63
+ constraint.min = Number((_test$params7 = _test.params) === null || _test$params7 === void 0 ? void 0 : _test$params7.min);
64
+ }
65
+
66
+ break;
67
+
68
+ case 'max':
69
+ if (!constraint.max || constraint.max > Number((_test$params8 = _test.params) === null || _test$params8 === void 0 ? void 0 : _test$params8.max)) {
70
+ var _test$params9;
71
+
72
+ constraint.max = Number((_test$params9 = _test.params) === null || _test$params9 === void 0 ? void 0 : _test$params9.max);
73
+ }
74
+
75
+ break;
76
+ }
154
77
  }
155
78
 
156
- throw error;
157
- }
79
+ break;
158
80
  }
159
81
 
160
- };
82
+ return [key, constraint];
83
+ }));
84
+ }
85
+ function getError(error) {
86
+ var _error$inner$reduce;
87
+
88
+ return (_error$inner$reduce = error === null || error === void 0 ? void 0 : error.inner.reduce((result, e) => {
89
+ var _e$path;
90
+
91
+ result.push([(_e$path = e.path) !== null && _e$path !== void 0 ? _e$path : '', e.message]);
92
+ return result;
93
+ }, [])) !== null && _error$inner$reduce !== void 0 ? _error$inner$reduce : [];
161
94
  }
162
95
 
163
- export { resolve };
96
+ export { getError, getFieldsetConstraint };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@conform-to/yup",
3
3
  "description": "Conform schema resolver for yup",
4
4
  "license": "MIT",
5
- "version": "0.3.1",
5
+ "version": "0.4.0-pre.1",
6
6
  "main": "index.js",
7
7
  "module": "module/index.js",
8
8
  "repository": {
@@ -14,7 +14,7 @@
14
14
  "url": "https://github.com/edmundhung/conform/issues"
15
15
  },
16
16
  "peerDependencies": {
17
- "@conform-to/dom": "0.3.1",
17
+ "@conform-to/dom": "0.4.0-pre.1",
18
18
  "yup": ">=0.32.0"
19
19
  },
20
20
  "devDependencies": {