Skip to content

Commit 48940e2

Browse files
feat: supporting josa
Also made some typo changes
1 parent 59a2ed3 commit 48940e2

File tree

1 file changed

+36
-33
lines changed

1 file changed

+36
-33
lines changed

index.js

+36-33
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,84 @@
1+
const { josa } = require('josa')
12
const printValue = require('./printValue.js')
23

34

45
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}`,
910
notType: ({ path, type, value, originalValue }) => {
1011
let isCast = originalValue != null && originalValue !== value
1112
let msg =
12-
`${path}는 \`${type}\` 타입이여야합니다., ` +
13-
`하지만 마지막 값은 \`${printValue(value, true)}\`이었습니다.` +
13+
josa(`${path}는 \`${type}\` 타입이여야합니다. `) +
14+
josa(`하지만 최종 값은 \`${printValue(value, true)}\`이었습니다`) +
1415
(isCast
15-
? ` (\`${printValue(originalValue, true)}\` 값에서 변환됨).`
16+
? josa(` (\`${printValue(originalValue, true)}\`#{로} 변환됨).`)
1617
: '.')
1718

1819
if (value === null) {
19-
msg += `\n "null"이 빈 값으로 의도된 경우 스키마를 \`.nullable()\`로 표시해야합니다.`
20+
msg += `\n 만약 "null"이 빈 값으로 의도된 경우 스키마를 \`.nullable()\`로 표시해야합니다`
2021
}
2122

2223
return msg
2324
},
24-
defined: '${path}을(를) 정의해야 합니다.',
25+
defined: ({ path }) => josa(`${path}#{를} 정의해야 합니다
26+
27+
`),
2528
}
2629

2730
exports.mixed = mixed
2831

2932
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}#{는} 대문자 문자열이어야합니다`),
4043
}
4144

4245
exports.string = string
4346

4447
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}#{는} 정수여야합니다`),
5255
}
5356

5457
exports.number = number
5558

5659
let date = {
57-
min: '${path} 필드는 ${min}보다 미래여야합니다',
58-
max: '${path} 필드는 ${max}보다 과거여야합니다',
60+
min: ({ path, min }) => josa(`${path}#{는} ${min}보다 미래여야합니다`),
61+
max: ({ path, max }) => josa(`${path}#{는} ${max}보다 과거여야합니다`),
5962
}
6063

6164
exports.date = date
6265

6366
let boolean = {
64-
isValue: '${path} 필드는 ${value}(이)여야합니다',
67+
isValue: ({ path, value }) => josa(`${path}#{는} ${value}(이)여야합니다`),
6568
}
6669

6770
exports.boolean = boolean
6871

6972
let object = {
70-
noUnknown: '${path} 필드에 지정되지 않은 키가 있습니다: ${path}',
73+
noUnknown: ({ path, unknown }) => `${path}지정되지 않은 키가 있습니다: ${unknown}}`,
7174
}
7275

7376
exports.object = object
7477

7578
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}개의 항목을 가져야합니다`),
7982
}
8083

8184
exports.array = array

0 commit comments

Comments
 (0)