|
| 1 | +const { josa } = require('josa') |
1 | 2 | const printValue = require('./printValue.js')
|
2 | 3 |
|
3 | 4 |
|
4 | 5 | let mixed = {
|
5 |
| - default: '${path}(이)가 올바르지 않습니다', |
6 |
| - required: '${path}은(는) 필수 항목입니다', |
7 |
| - oneOf: '${path}은(는) 다음 값 중 하나여야합니다: ${values}', |
8 |
| - notOneOf: '${path}은(는) 다음 값이 아니여야합니다: ${values}', |
| 6 | + default: ({ path }) => `${path}#{가} 올바르지 않습니다`, |
| 7 | + required: ({ path }) => `${path}#{는} 필수 항목입니다`, |
| 8 | + oneOf: ({ path }) => `${path}#{는} 다음 값 중 하나여야합니다: ${values}`, |
| 9 | + notOneOf: ({ path }) => `${path}#{는} 다음 값이 아니여야합니다: ${values}`, |
9 | 10 | notType: ({ path, type, value, originalValue }) => {
|
10 | 11 | let isCast = originalValue != null && originalValue !== value
|
11 | 12 | let msg =
|
12 |
| - `${path}는 \`${type}\` 타입이여야합니다., ` + |
13 |
| - `하지만 마지막 값은 \`${printValue(value, true)}\`이었습니다.` + |
| 13 | + josa(`${path}는 \`${type}\` 타입이여야합니다. `) + |
| 14 | + josa(`하지만 최종 값은 \`${printValue(value, true)}\`이었습니다`) + |
14 | 15 | (isCast
|
15 |
| - ? ` (\`${printValue(originalValue, true)}\` 값에서 변환됨).` |
| 16 | + ? josa(` (값 \`${printValue(originalValue, true)}\`#{로} 변환됨).`) |
16 | 17 | : '.')
|
17 | 18 |
|
18 | 19 | if (value === null) {
|
19 |
| - msg += `\n "null"이 빈 값으로 의도된 경우 스키마를 \`.nullable()\`로 표시해야합니다.` |
| 20 | + msg += `\n 만약 "null"이 빈 값으로 의도된 경우 스키마를 \`.nullable()\`로 표시해야합니다` |
20 | 21 | }
|
21 | 22 |
|
22 | 23 | return msg
|
23 | 24 | },
|
24 |
| - defined: '${path}을(를) 정의해야 합니다.', |
| 25 | + defined: ({ path }) => josa(`${path}#{를} 정의해야 합니다 |
| 26 | + |
| 27 | + `), |
25 | 28 | }
|
26 | 29 |
|
27 | 30 | exports.mixed = mixed
|
28 | 31 |
|
29 | 32 | let string = {
|
30 |
| - length: '${path}은(는) ${length}자여야합니다', |
31 |
| - min: '${path}은(는) 최소 ${min}자여야합니다', |
32 |
| - max: '${path}은(는) 최대 ${max}자여야합니다', |
33 |
| - matches: '${path}은(는) 다음 정규표현식을 만족해야합니다: "${regex}"', |
34 |
| - email: '${path}은(는) 올바른 이메일이여야합니다', |
35 |
| - url: '${path}은(는) 올바른 URL이어야합니다', |
36 |
| - uuid: '${path}은(는) 올바른 UUID이어야합니다', |
37 |
| - trim: '${path}은(는) 띄어쓰기를 시작과 끝에 포함하지 않는 문자열이어야합니다', |
38 |
| - lowercase: '${path}은(는) 소문자 문자열이어야합니다', |
39 |
| - uppercase: '${path}은(는) 대문자 문자열이어야합니다', |
| 33 | + length: ({ path, length }) => josa(`${path}#{는} ${length}자여야합니다`), |
| 34 | + min: ({ path, min }) => josa(`${path}#{는} 최소 ${min}자여야합니다`), |
| 35 | + max: ({ path, max }) => josa(`${path}#{는} 최대 ${max}자여야합니다`), |
| 36 | + matches: ({ path, regex }) => josa(`${path}#{는} 다음 정규표현식을 만족해야합니다: "${regex}"`), |
| 37 | + email: ({ path }) => josa(`${path}#{는} 올바른 이메일이여야합니다`), |
| 38 | + url: ({ path }) => josa(`${path}#{는} 올바른 URL이어야합니다`), |
| 39 | + uuid: ({ path }) => josa(`${path}#{는} 올바른 UUID이어야합니다`), |
| 40 | + trim: ({ path }) => josa(`${path}#{는} 띄어쓰기를 시작과 끝에 포함하지 않는 문자열이어야합니다`), |
| 41 | + lowercase: ({ path }) => josa(`${path}#{는} 소문자 문자열이어야합니다`), |
| 42 | + uppercase: ({ path }) => josa(`${path}#{는} 대문자 문자열이어야합니다`), |
40 | 43 | }
|
41 | 44 |
|
42 | 45 | exports.string = string
|
43 | 46 |
|
44 | 47 | let number = {
|
45 |
| - min: '${path}은(는) ${min}보다 크거나 같아야합니다', |
46 |
| - max: '${path}은(는) ${max}보다 작거나 같아야합니다', |
47 |
| - lessThan: '${path}은(는) ${less}보다 작아야합니다', |
48 |
| - moreThan: '${path}은(는) ${more}보다 커야합니다', |
49 |
| - positive: '${path}은(는) 양수여야합니다', |
50 |
| - negative: '${path}은(는) 음수여야합니다', |
51 |
| - integer: '${path}은(는) 정수여야합니다', |
| 48 | + min: ({ path, min }) => josa(`${path}#{는} ${min}보다 크거나 같아야합니다`), |
| 49 | + max: ({ path, max }) => josa(`${path}#{는} ${max}보다 작거나 같아야합니다`), |
| 50 | + lessThan: ({ path, less }) => josa(`${path}#{는} ${less}보다 작아야합니다`), |
| 51 | + moreThan: ({ path, more }) => josa(`${path}#{는} ${more}보다 커야합니다`), |
| 52 | + positive: ({ path }) => josa(`${path}#{는} 양수여야합니다`), |
| 53 | + negative: ({ path }) => josa(`${path}#{는} 음수여야합니다`), |
| 54 | + integer: ({ path }) => josa(`${path}#{는} 정수여야합니다`), |
52 | 55 | }
|
53 | 56 |
|
54 | 57 | exports.number = number
|
55 | 58 |
|
56 | 59 | let date = {
|
57 |
| - min: '${path} 필드는 ${min}보다 미래여야합니다', |
58 |
| - max: '${path} 필드는 ${max}보다 과거여야합니다', |
| 60 | + min: ({ path, min }) => josa(`${path}#{는} ${min}보다 미래여야합니다`), |
| 61 | + max: ({ path, max }) => josa(`${path}#{는} ${max}보다 과거여야합니다`), |
59 | 62 | }
|
60 | 63 |
|
61 | 64 | exports.date = date
|
62 | 65 |
|
63 | 66 | let boolean = {
|
64 |
| - isValue: '${path} 필드는 ${value}(이)여야합니다', |
| 67 | + isValue: ({ path, value }) => josa(`${path}#{는} ${value}(이)여야합니다`), |
65 | 68 | }
|
66 | 69 |
|
67 | 70 | exports.boolean = boolean
|
68 | 71 |
|
69 | 72 | let object = {
|
70 |
| - noUnknown: '${path} 필드에 지정되지 않은 키가 있습니다: ${path}', |
| 73 | + noUnknown: ({ path, unknown }) => `${path}에 지정되지 않은 키가 있습니다: ${unknown}}`, |
71 | 74 | }
|
72 | 75 |
|
73 | 76 | exports.object = object
|
74 | 77 |
|
75 | 78 | let array = {
|
76 |
| - min: '${path} 필드에는 ${min}개 이상의 항목이 있어야 합니다.', |
77 |
| - max: '${path} 필드에는 ${max}개보다 작거나 같아야 합니다.', |
78 |
| - length: '${path}에는 ${length}개의 항목이 있어야 합니다.', |
| 79 | + min: ({ path }) => josa(`${path}#{는} 최소 ${min}개 항목을 가져야합니다`), |
| 80 | + max: ({ path }) => josa(`${path}#{는} 최대 ${max}개 항목을 가져야합니다`), |
| 81 | + length: ({ path, length }) => josa(`${path}#{는} ${length}개의 항목을 가져야합니다`), |
79 | 82 | }
|
80 | 83 |
|
81 | 84 | exports.array = array
|
|
0 commit comments