@zipbul/baker 0.0.1 → 0.1.0
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.
- package/README.ko.md +64 -12
- package/README.md +64 -12
- package/dist/index-jzjz61tg.js +14 -0
- package/dist/index-jzjz61tg.js.map +31 -0
- package/dist/index-txxjqhgc.js +6 -0
- package/dist/{index-w36xamck.js.map → index-txxjqhgc.js.map} +3 -3
- package/dist/index.d.ts +3 -0
- package/dist/index.js +2 -142
- package/dist/index.js.map +3 -12
- package/dist/src/collect.d.ts +2 -0
- package/dist/src/create-rule.d.ts +4 -0
- package/dist/src/decorators/common.d.ts +6 -0
- package/dist/src/decorators/index.d.ts +4 -1
- package/dist/src/decorators/index.js +2 -2
- package/dist/src/decorators/index.js.map +1 -1
- package/dist/src/decorators/nested.d.ts +17 -0
- package/dist/src/decorators/number.d.ts +8 -4
- package/dist/src/decorators/schema.d.ts +13 -0
- package/dist/src/errors.d.ts +2 -0
- package/dist/src/functions/index.d.ts +2 -0
- package/dist/src/functions/to-json-schema.d.ts +14 -0
- package/dist/src/interfaces.d.ts +7 -1
- package/dist/src/rules/index.js +2 -2
- package/dist/src/rules/index.js.map +1 -1
- package/dist/src/rules/number.d.ts +6 -2
- package/dist/src/seal/deserialize-builder.d.ts +3 -3
- package/dist/src/symbols.d.ts +2 -0
- package/dist/src/symbols.js +2 -2
- package/dist/src/symbols.js.map +1 -1
- package/dist/src/types.d.ts +65 -4
- package/package.json +4 -8
- package/dist/index-6pbm9cq6.js +0 -15
- package/dist/index-6pbm9cq6.js.map +0 -17
- package/dist/index-fww37qs9.js +0 -5
- package/dist/index-fww37qs9.js.map +0 -20
- package/dist/index-w36xamck.js +0 -6
- package/dist/src/aot/array.d.ts +0 -7
- package/dist/src/aot/common.d.ts +0 -15
- package/dist/src/aot/date.d.ts +0 -3
- package/dist/src/aot/index.d.ts +0 -9
- package/dist/src/aot/index.js +0 -5
- package/dist/src/aot/index.js.map +0 -18
- package/dist/src/aot/locales.d.ts +0 -5
- package/dist/src/aot/number.d.ts +0 -6
- package/dist/src/aot/object.d.ts +0 -6
- package/dist/src/aot/string.d.ts +0 -72
- package/dist/src/aot/transform.d.ts +0 -25
- package/dist/src/aot/typechecker.d.ts +0 -10
package/README.ko.md
CHANGED
|
@@ -43,7 +43,9 @@ Baker는 class-validator의 **익숙한 데코레이터 DX**를 유지하면서,
|
|
|
43
43
|
- 🔁 **순환 참조 감지** — seal 시점에 자동 정적 분석
|
|
44
44
|
- 🏷️ **그룹 기반 검증** — `groups` 옵션으로 요청별 다른 규칙 적용
|
|
45
45
|
- 🧩 **커스텀 규칙** — `createRule()`로 코드생성을 지원하는 사용자 정의 검증기 작성
|
|
46
|
-
-
|
|
46
|
+
- 📐 **JSON Schema 출력** — `toJsonSchema()`로 DTO에서 JSON Schema Draft 2020-12 생성
|
|
47
|
+
- 🪆 **`@Nested`** — 단일 데코레이터 중첩 DTO 검증 + discriminator 지원
|
|
48
|
+
- 🛡️ **Whitelist 모드** — `seal({ whitelist: true })`로 미선언 필드 거부
|
|
47
49
|
|
|
48
50
|
---
|
|
49
51
|
|
|
@@ -143,6 +145,7 @@ const plain = await serialize(userInstance);
|
|
|
143
145
|
|---|---|
|
|
144
146
|
| `@IsDefined()` | `!== undefined && !== null` |
|
|
145
147
|
| `@IsOptional()` | 값이 없으면 이후 규칙 건너뜀 |
|
|
148
|
+
| `@IsNullable()` | `null` 허용 (검증 건너뜀), `undefined` 거부 |
|
|
146
149
|
| `@IsNotEmpty()` | `!== undefined && !== null && !== ''` |
|
|
147
150
|
| `@IsEmpty()` | `=== undefined \|\| === null \|\| === ''` |
|
|
148
151
|
| `@Equals(val)` | `=== val` |
|
|
@@ -251,8 +254,10 @@ const plain = await serialize(userInstance);
|
|
|
251
254
|
|---|---|
|
|
252
255
|
| `@Transform(fn, opts?)` | 커스텀 변환 함수 |
|
|
253
256
|
| `@Type(fn)` | 중첩 DTO 타입 지정 + 암묵적 변환 |
|
|
257
|
+
| `@Nested(fn, opts?)` | `@ValidateNested()` + `@Type(fn)` 축약 + discriminator 지원 |
|
|
254
258
|
| `@Expose(opts?)` | 프로퍼티 노출 제어 |
|
|
255
259
|
| `@Exclude(opts?)` | 직렬화에서 프로퍼티 제외 |
|
|
260
|
+
| `@Schema(schema)` | JSON Schema 메타데이터 부착 (클래스 또는 프로퍼티 레벨) |
|
|
256
261
|
|
|
257
262
|
---
|
|
258
263
|
|
|
@@ -267,7 +272,7 @@ interface ValidationOptions {
|
|
|
267
272
|
message?: string | ((args: {
|
|
268
273
|
property: string;
|
|
269
274
|
value: unknown;
|
|
270
|
-
constraints: unknown
|
|
275
|
+
constraints: Record<string, unknown>;
|
|
271
276
|
}) => string); // 커스텀 에러 메시지
|
|
272
277
|
context?: unknown; // 에러에 첨부할 임의 컨텍스트
|
|
273
278
|
}
|
|
@@ -348,8 +353,10 @@ const user = await deserialize(UserDto, body, { groups: ['create'] });
|
|
|
348
353
|
|
|
349
354
|
## 🪆 중첩 객체
|
|
350
355
|
|
|
356
|
+
`@Nested`로 중첩 DTO를 검증합니다:
|
|
357
|
+
|
|
351
358
|
```typescript
|
|
352
|
-
import {
|
|
359
|
+
import { Nested, IsString } from '@zipbul/baker';
|
|
353
360
|
|
|
354
361
|
class AddressDto {
|
|
355
362
|
@IsString()
|
|
@@ -357,12 +364,38 @@ class AddressDto {
|
|
|
357
364
|
}
|
|
358
365
|
|
|
359
366
|
class UserDto {
|
|
360
|
-
@
|
|
361
|
-
@Type(() => AddressDto)
|
|
367
|
+
@Nested(() => AddressDto)
|
|
362
368
|
address!: AddressDto;
|
|
363
369
|
}
|
|
364
370
|
```
|
|
365
371
|
|
|
372
|
+
배열 중첩과 discriminator 다형성:
|
|
373
|
+
|
|
374
|
+
```typescript
|
|
375
|
+
class ItemDto {
|
|
376
|
+
@IsString()
|
|
377
|
+
label!: string;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
class ListDto {
|
|
381
|
+
@Nested(() => ItemDto, { each: true })
|
|
382
|
+
items!: ItemDto[];
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
class PetOwnerDto {
|
|
386
|
+
@Nested(() => DogDto, {
|
|
387
|
+
discriminator: {
|
|
388
|
+
property: 'type',
|
|
389
|
+
subTypes: [
|
|
390
|
+
{ value: DogDto, name: 'dog' },
|
|
391
|
+
{ value: CatDto, name: 'cat' },
|
|
392
|
+
],
|
|
393
|
+
},
|
|
394
|
+
})
|
|
395
|
+
pet!: DogDto | CatDto;
|
|
396
|
+
}
|
|
397
|
+
```
|
|
398
|
+
|
|
366
399
|
---
|
|
367
400
|
|
|
368
401
|
## 🧩 커스텀 규칙
|
|
@@ -390,23 +423,43 @@ seal({
|
|
|
390
423
|
enableCircularCheck: 'auto', // 순환 참조 감지 ('auto' | true | false)
|
|
391
424
|
exposeDefaultValues: false, // 누락된 키에 클래스 기본값 사용
|
|
392
425
|
stopAtFirstError: false, // 첫 에러에서 중단 또는 전체 수집
|
|
426
|
+
whitelist: false, // 미선언 필드 거부
|
|
393
427
|
debug: false, // 생성된 소스를 검사용으로 저장
|
|
394
428
|
});
|
|
395
429
|
```
|
|
396
430
|
|
|
397
431
|
---
|
|
398
432
|
|
|
399
|
-
##
|
|
433
|
+
## 📐 JSON Schema
|
|
400
434
|
|
|
401
|
-
|
|
435
|
+
DTO에서 JSON Schema Draft 2020-12를 생성합니다:
|
|
402
436
|
|
|
403
|
-
|
|
437
|
+
```typescript
|
|
438
|
+
import { toJsonSchema } from '@zipbul/baker';
|
|
439
|
+
|
|
440
|
+
const schema = toJsonSchema(CreateUserDto);
|
|
441
|
+
// { $schema: "https://json-schema.org/draft/2020-12/schema", type: "object", properties: { ... } }
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
옵션:
|
|
404
445
|
|
|
405
446
|
```typescript
|
|
406
|
-
|
|
447
|
+
toJsonSchema(CreateUserDto, {
|
|
448
|
+
direction: 'deserialize', // 'deserialize' | 'serialize' — @Expose/@Exclude 방향 필터링
|
|
449
|
+
groups: ['create'], // 그룹별 규칙/필드 필터링
|
|
450
|
+
});
|
|
407
451
|
```
|
|
408
452
|
|
|
409
|
-
|
|
453
|
+
`@Schema()`로 추가 JSON Schema 메타데이터를 부착합니다:
|
|
454
|
+
|
|
455
|
+
```typescript
|
|
456
|
+
@Schema({ title: 'CreateUser', description: '새 사용자 생성' })
|
|
457
|
+
class CreateUserDto {
|
|
458
|
+
@IsString()
|
|
459
|
+
@Schema({ description: '표시 이름', examples: ['Alice'] })
|
|
460
|
+
name!: string;
|
|
461
|
+
}
|
|
462
|
+
```
|
|
410
463
|
|
|
411
464
|
---
|
|
412
465
|
|
|
@@ -414,9 +467,8 @@ CLI가 빌드 단계에서 이 스텁들을 사전 생성된 검증 코드로
|
|
|
414
467
|
|
|
415
468
|
| 임포트 경로 | 용도 |
|
|
416
469
|
|---|---|
|
|
417
|
-
| `@zipbul/baker` | 메인 API: `seal`, `deserialize`, `serialize`, 모든 데코레이터 |
|
|
470
|
+
| `@zipbul/baker` | 메인 API: `seal`, `deserialize`, `serialize`, `toJsonSchema`, 모든 데코레이터 |
|
|
418
471
|
| `@zipbul/baker/decorators` | 데코레이터만 |
|
|
419
|
-
| `@zipbul/baker/aot` | AOT 모드용 빈 스텁 데코레이터 |
|
|
420
472
|
| `@zipbul/baker/rules` | 원시 규칙 객체 |
|
|
421
473
|
| `@zipbul/baker/symbols` | 내부 심볼 |
|
|
422
474
|
|
package/README.md
CHANGED
|
@@ -43,7 +43,9 @@ Baker gives you the **familiar decorator DX** of class-validator while generatin
|
|
|
43
43
|
- 🔁 **Circular reference detection** — automatic static analysis at seal time
|
|
44
44
|
- 🏷️ **Group-based validation** — apply different rules per request with `groups`
|
|
45
45
|
- 🧩 **Custom rules** — `createRule()` for user-defined validators with codegen support
|
|
46
|
-
-
|
|
46
|
+
- 📐 **JSON Schema output** — `toJsonSchema()` generates JSON Schema Draft 2020-12 from your DTOs
|
|
47
|
+
- 🪆 **`@Nested`** — single-decorator nested DTO validation with discriminator support
|
|
48
|
+
- 🛡️ **Whitelist mode** — reject undeclared fields with `seal({ whitelist: true })`
|
|
47
49
|
|
|
48
50
|
---
|
|
49
51
|
|
|
@@ -143,6 +145,7 @@ const plain = await serialize(userInstance);
|
|
|
143
145
|
|---|---|
|
|
144
146
|
| `@IsDefined()` | `!== undefined && !== null` |
|
|
145
147
|
| `@IsOptional()` | Skip subsequent rules if value is absent |
|
|
148
|
+
| `@IsNullable()` | Allow `null` (skip validation), reject `undefined` |
|
|
146
149
|
| `@IsNotEmpty()` | `!== undefined && !== null && !== ''` |
|
|
147
150
|
| `@IsEmpty()` | `=== undefined \|\| === null \|\| === ''` |
|
|
148
151
|
| `@Equals(val)` | `=== val` |
|
|
@@ -251,8 +254,10 @@ const plain = await serialize(userInstance);
|
|
|
251
254
|
|---|---|
|
|
252
255
|
| `@Transform(fn, opts?)` | Custom transform function |
|
|
253
256
|
| `@Type(fn)` | Nested DTO type + implicit conversion |
|
|
257
|
+
| `@Nested(fn, opts?)` | Shorthand for `@ValidateNested()` + `@Type(fn)` with discriminator support |
|
|
254
258
|
| `@Expose(opts?)` | Control property exposure |
|
|
255
259
|
| `@Exclude(opts?)` | Exclude property from serialization |
|
|
260
|
+
| `@Schema(schema)` | Attach JSON Schema metadata (class or property level) |
|
|
256
261
|
|
|
257
262
|
---
|
|
258
263
|
|
|
@@ -267,7 +272,7 @@ interface ValidationOptions {
|
|
|
267
272
|
message?: string | ((args: {
|
|
268
273
|
property: string;
|
|
269
274
|
value: unknown;
|
|
270
|
-
constraints: unknown
|
|
275
|
+
constraints: Record<string, unknown>;
|
|
271
276
|
}) => string); // Custom error message
|
|
272
277
|
context?: unknown; // Arbitrary context attached to error
|
|
273
278
|
}
|
|
@@ -348,8 +353,10 @@ const user = await deserialize(UserDto, body, { groups: ['create'] });
|
|
|
348
353
|
|
|
349
354
|
## 🪆 Nested Objects
|
|
350
355
|
|
|
356
|
+
Use `@Nested` for nested DTO validation:
|
|
357
|
+
|
|
351
358
|
```typescript
|
|
352
|
-
import {
|
|
359
|
+
import { Nested, IsString } from '@zipbul/baker';
|
|
353
360
|
|
|
354
361
|
class AddressDto {
|
|
355
362
|
@IsString()
|
|
@@ -357,12 +364,38 @@ class AddressDto {
|
|
|
357
364
|
}
|
|
358
365
|
|
|
359
366
|
class UserDto {
|
|
360
|
-
@
|
|
361
|
-
@Type(() => AddressDto)
|
|
367
|
+
@Nested(() => AddressDto)
|
|
362
368
|
address!: AddressDto;
|
|
363
369
|
}
|
|
364
370
|
```
|
|
365
371
|
|
|
372
|
+
Array nesting and discriminator polymorphism:
|
|
373
|
+
|
|
374
|
+
```typescript
|
|
375
|
+
class ItemDto {
|
|
376
|
+
@IsString()
|
|
377
|
+
label!: string;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
class ListDto {
|
|
381
|
+
@Nested(() => ItemDto, { each: true })
|
|
382
|
+
items!: ItemDto[];
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
class PetOwnerDto {
|
|
386
|
+
@Nested(() => DogDto, {
|
|
387
|
+
discriminator: {
|
|
388
|
+
property: 'type',
|
|
389
|
+
subTypes: [
|
|
390
|
+
{ value: DogDto, name: 'dog' },
|
|
391
|
+
{ value: CatDto, name: 'cat' },
|
|
392
|
+
],
|
|
393
|
+
},
|
|
394
|
+
})
|
|
395
|
+
pet!: DogDto | CatDto;
|
|
396
|
+
}
|
|
397
|
+
```
|
|
398
|
+
|
|
366
399
|
---
|
|
367
400
|
|
|
368
401
|
## 🧩 Custom Rules
|
|
@@ -390,23 +423,43 @@ seal({
|
|
|
390
423
|
enableCircularCheck: 'auto', // Detect circular references ('auto' | true | false)
|
|
391
424
|
exposeDefaultValues: false, // Use class defaults for missing keys
|
|
392
425
|
stopAtFirstError: false, // Stop at first error or collect all
|
|
426
|
+
whitelist: false, // Reject undeclared fields
|
|
393
427
|
debug: false, // Store generated source for inspection
|
|
394
428
|
});
|
|
395
429
|
```
|
|
396
430
|
|
|
397
431
|
---
|
|
398
432
|
|
|
399
|
-
##
|
|
433
|
+
## 📐 JSON Schema
|
|
400
434
|
|
|
401
|
-
|
|
435
|
+
Generate JSON Schema Draft 2020-12 from your DTOs:
|
|
402
436
|
|
|
403
|
-
|
|
437
|
+
```typescript
|
|
438
|
+
import { toJsonSchema } from '@zipbul/baker';
|
|
439
|
+
|
|
440
|
+
const schema = toJsonSchema(CreateUserDto);
|
|
441
|
+
// { $schema: "https://json-schema.org/draft/2020-12/schema", type: "object", properties: { ... } }
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
Options:
|
|
404
445
|
|
|
405
446
|
```typescript
|
|
406
|
-
|
|
447
|
+
toJsonSchema(CreateUserDto, {
|
|
448
|
+
direction: 'deserialize', // 'deserialize' | 'serialize' — filters @Expose/@Exclude direction
|
|
449
|
+
groups: ['create'], // Filter rules/fields by group
|
|
450
|
+
});
|
|
407
451
|
```
|
|
408
452
|
|
|
409
|
-
|
|
453
|
+
Use `@Schema()` to attach additional JSON Schema metadata:
|
|
454
|
+
|
|
455
|
+
```typescript
|
|
456
|
+
@Schema({ title: 'CreateUser', description: 'Creates a new user' })
|
|
457
|
+
class CreateUserDto {
|
|
458
|
+
@IsString()
|
|
459
|
+
@Schema({ description: 'Display name', examples: ['Alice'] })
|
|
460
|
+
name!: string;
|
|
461
|
+
}
|
|
462
|
+
```
|
|
410
463
|
|
|
411
464
|
---
|
|
412
465
|
|
|
@@ -414,9 +467,8 @@ The CLI replaces these stubs with pre-generated validation code during the build
|
|
|
414
467
|
|
|
415
468
|
| Import path | Purpose |
|
|
416
469
|
|---|---|
|
|
417
|
-
| `@zipbul/baker` | Main API: `seal`, `deserialize`, `serialize`, all decorators |
|
|
470
|
+
| `@zipbul/baker` | Main API: `seal`, `deserialize`, `serialize`, `toJsonSchema`, all decorators |
|
|
418
471
|
| `@zipbul/baker/decorators` | Decorators only |
|
|
419
|
-
| `@zipbul/baker/aot` | No-op stub decorators for AOT mode |
|
|
420
472
|
| `@zipbul/baker/rules` | Raw rule objects |
|
|
421
473
|
| `@zipbul/baker/symbols` | Internal symbols |
|
|
422
474
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{fb as L,hb as v}from"./index-txxjqhgc.js";var m=new Set;function W(Q,Z){if(m.add(Q),!Object.prototype.hasOwnProperty.call(Q,L))Q[L]=Object.create(null);let $=Q[L];return $[Z]??={validation:[],transform:[],expose:[],exclude:null,type:null,flags:{},schema:null}}function K(Q,Z,$){W(Q.constructor,Z).validation.push($)}function h6(Q,Z,$){W(Q.constructor,Z).transform.push($)}function C6(Q,Z,$){W(Q.constructor,Z).expose.push($)}function T6(Q,Z,$){let z=W(Q.constructor,Z);z.exclude=$}function O(Q,Z,$){let z=W(Q.constructor,Z);z.type=$}function L6(Q,Z,$){let z=W(Q.constructor,Z);if(typeof $==="function"||typeof z.schema==="function")z.schema=$;else z.schema={...z.schema??{},...$}}function O6(Q,Z){m.add(Q);let $=Q[v];Q[v]={...$??{},...Z}}function A6(Q){let Z=($)=>$===Q;return Z.emit=($,z)=>{let I=z.addRef(Q);return`if (${$} !== _refs[${I}]) ${z.fail("equals")};`},Z.ruleName="equals",Z.constraints={value:Q},Z}function V6(Q){let Z=($)=>$!==Q;return Z.emit=($,z)=>{let I=z.addRef(Q);return`if (${$} === _refs[${I}]) ${z.fail("notEquals")};`},Z.ruleName="notEquals",Z.constraints={value:Q},Z}var A=(Q)=>Q===void 0||Q===null||Q==="";A.emit=(Q,Z)=>`if (${Q} !== undefined && ${Q} !== null && ${Q} !== '') ${Z.fail("isEmpty")};`;A.ruleName="isEmpty";A.constraints={};var S6=A,V=(Q)=>Q!==void 0&&Q!==null&&Q!=="";V.emit=(Q,Z)=>`if (${Q} === undefined || ${Q} === null || ${Q} === '') ${Z.fail("isNotEmpty")};`;V.ruleName="isNotEmpty";V.constraints={};var R6=V;function E6(Q){let Z=($)=>Q.indexOf($)!==-1;return Z.emit=($,z)=>{return`if (_refs[${z.addRef(Q)}].indexOf(${$}) === -1) ${z.fail("isIn")};`},Z.ruleName="isIn",Z.constraints={values:Q},Z}function f6(Q){let Z=($)=>Q.indexOf($)===-1;return Z.emit=($,z)=>{return`if (_refs[${z.addRef(Q)}].indexOf(${$}) !== -1) ${z.fail("isNotIn")};`},Z.ruleName="isNotIn",Z.constraints={values:Q},Z}function NQ(Q){return(Z,$)=>{let z=W(Z.constructor,$);z.flags.isDefined=!0}}function xQ(Q){return(Z,$)=>{let z=W(Z.constructor,$);z.flags.isOptional=!0}}function uQ(Q){return(Z,$)=>{let z=W(Z.constructor,$);z.flags.validateIf=Q}}function mQ(Q){return(Z,$)=>{let z=W(Z.constructor,$);if(z.flags.validateNested=!0,Q?.each)z.flags.validateNestedEach=!0}}function vQ(Q){return(Z,$)=>{let z=W(Z.constructor,$);z.flags.isNullable=!0}}function cQ(Q,Z){return($,z)=>{K($,z,{rule:A6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function rQ(Q,Z){return($,z)=>{K($,z,{rule:V6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function lQ(Q){return(Z,$)=>{K(Z,$,{rule:S6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function pQ(Q){return(Z,$)=>{K(Z,$,{rule:R6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function sQ(Q,Z){return($,z)=>{K($,z,{rule:E6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function nQ(Q,Z){return($,z)=>{K($,z,{rule:f6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}class c extends Error{constructor(Q){super(Q);this.name="SealError"}}function iQ(Q,Z){if(Z?.discriminator&&Z?.each)throw new c("@Nested: discriminator + each \uB3D9\uC2DC \uC0AC\uC6A9 \uBD88\uAC00");return($,z)=>{O($,z,{fn:Q,discriminator:Z?.discriminator,keepDiscriminatorProperty:Z?.keepDiscriminatorProperty});let I=W($.constructor,z);if(I.flags.validateNested=!0,Z?.each)I.flags.validateNestedEach=!0}}var S=(Q)=>typeof Q==="string";S.emit=(Q,Z)=>`if (typeof ${Q} !== 'string') ${Z.fail("isString")};`;S.ruleName="isString";S.constraints={};var d6=S;function _6(Q){let Z=Q?.allowNaN??!1,$=Q?.allowInfinity??!1,z=Q?.maxDecimalPlaces,I=(j)=>{if(typeof j!=="number")return!1;if(isNaN(j))return Z;if(!isFinite(j))return $;if(z!==void 0){let J=j.toString(),Y=J.indexOf(".");if(Y!==-1&&J.length-Y-1>z)return!1}return!0};return I.emit=(j,J)=>{let Y=`if (typeof ${j} !== 'number') ${J.fail("isNumber")};`;if(!Z)Y+=`
|
|
3
|
+
else if (isNaN(${j})) ${J.fail("isNumber")};`;if(!$)Y+=`
|
|
4
|
+
else if (${j} === Infinity || ${j} === -Infinity) ${J.fail("isNumber")};`;if(z!==void 0)Y+=`
|
|
5
|
+
else { var _s=${j}.toString(); var _d=_s.indexOf('.'); if(_d!==-1&&_s.length-_d-1>${z}) ${J.fail("isNumber")}; }`;return Y},I.ruleName="isNumber",I.constraints={allowNaN:Q?.allowNaN,allowInfinity:Q?.allowInfinity,maxDecimalPlaces:Q?.maxDecimalPlaces},I}var R=(Q)=>typeof Q==="boolean";R.emit=(Q,Z)=>`if (typeof ${Q} !== 'boolean') ${Z.fail("isBoolean")};`;R.ruleName="isBoolean";R.constraints={};var k6=R,E=(Q)=>Q instanceof Date&&!isNaN(Q.getTime());E.emit=(Q,Z)=>`if (!(${Q} instanceof Date) || isNaN(${Q}.getTime())) ${Z.fail("isDate")};`;E.ruleName="isDate";E.constraints={};var y6=E;function g6(Q){let Z=Object.values(Q),$=(z)=>Z.indexOf(z)!==-1;return $.emit=(z,I)=>{return`if (_refs[${I.addRef(Z)}].indexOf(${z}) === -1) ${I.fail("isEnum")};`},$.ruleName="isEnum",$.constraints={values:Object.values(Q)},$}var X=(Q)=>typeof Q==="number"&&Number.isInteger(Q);X.emit=(Q,Z)=>`if (typeof ${Q} !== 'number' || !Number.isInteger(${Q})) ${Z.fail("isInt")};`;X.ruleName="isInt";X.requiresType="number";X.constraints={};var N6=X,f=(Q)=>Array.isArray(Q);f.emit=(Q,Z)=>`if (!Array.isArray(${Q})) ${Z.fail("isArray")};`;f.ruleName="isArray";f.constraints={};var x6=f,d=(Q)=>typeof Q==="object"&&Q!==null&&!Array.isArray(Q);d.emit=(Q,Z)=>`if (typeof ${Q} !== 'object' || ${Q} === null || Array.isArray(${Q})) ${Z.fail("isObject")};`;d.ruleName="isObject";d.constraints={};var u6=d;function aQ(Q){return(Z,$)=>{K(Z,$,{rule:d6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function eQ(Q,Z){return($,z)=>{K($,z,{rule:_6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function oQ(Q){return(Z,$)=>{K(Z,$,{rule:k6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function tQ(Q){return(Z,$)=>{K(Z,$,{rule:y6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function QZ(Q,Z){return($,z)=>{K($,z,{rule:g6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function ZZ(Q){return(Z,$)=>{K(Z,$,{rule:N6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function $Z(Q){return(Z,$)=>{K(Z,$,{rule:x6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function zZ(Q){return(Z,$)=>{K(Z,$,{rule:u6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function m6(Q,Z){let $=Z?.exclusive??!1,z=$?(I)=>I>Q:(I)=>I>=Q;return z.emit=(I,j)=>$?`if (${I} <= ${Q}) ${j.fail("min")};`:`if (${I} < ${Q}) ${j.fail("min")};`,z.ruleName="min",z.requiresType="number",z.constraints=$?{min:Q,exclusive:!0}:{min:Q},z}function v6(Q,Z){let $=Z?.exclusive??!1,z=$?(I)=>I<Q:(I)=>I<=Q;return z.emit=(I,j)=>$?`if (${I} >= ${Q}) ${j.fail("max")};`:`if (${I} > ${Q}) ${j.fail("max")};`,z.ruleName="max",z.requiresType="number",z.constraints=$?{max:Q,exclusive:!0}:{max:Q},z}var b=(Q)=>Q>0;b.emit=(Q,Z)=>`if (${Q} <= 0) ${Z.fail("isPositive")};`;b.ruleName="isPositive";b.requiresType="number";b.constraints={min:0,exclusive:!0};var c6=b,F=(Q)=>Q<0;F.emit=(Q,Z)=>`if (${Q} >= 0) ${Z.fail("isNegative")};`;F.ruleName="isNegative";F.requiresType="number";F.constraints={max:0,exclusive:!0};var r6=F;function l6(Q){let Z=($)=>$%Q===0;return Z.emit=($,z)=>`if (${$} % ${Q} !== 0) ${z.fail("isDivisibleBy")};`,Z.ruleName="isDivisibleBy",Z.requiresType="number",Z.constraints={divisor:Q},Z}function IZ(Q,Z){return($,z)=>{K($,z,{rule:m6(Q,Z?.exclusive?{exclusive:!0}:void 0),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function KZ(Q,Z){return($,z)=>{K($,z,{rule:v6(Q,Z?.exclusive?{exclusive:!0}:void 0),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function jZ(Q){return(Z,$)=>{K(Z,$,{rule:c6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function JZ(Q){return(Z,$)=>{K(Z,$,{rule:r6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function qZ(Q,Z){return($,z)=>{K($,z,{rule:l6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function p6(Q){let Z=Q.getTime(),$=(z)=>z instanceof Date&&z.getTime()>=Z;return $.emit=(z,I)=>{let j=I.addRef(Z);return`if (!(${z} instanceof Date) || ${z}.getTime() < _refs[${j}]) ${I.fail("minDate")};`},$.ruleName="minDate",$.requiresType="date",$.constraints={min:Q.toISOString()},$}function s6(Q){let Z=Q.getTime(),$=(z)=>z instanceof Date&&z.getTime()<=Z;return $.emit=(z,I)=>{let j=I.addRef(Z);return`if (!(${z} instanceof Date) || ${z}.getTime() > _refs[${j}]) ${I.fail("maxDate")};`},$.ruleName="maxDate",$.requiresType="date",$.constraints={max:Q.toISOString()},$}function YZ(Q,Z){return($,z)=>{K($,z,{rule:p6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function wZ(Q,Z){return($,z)=>{K($,z,{rule:s6(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function q(Q,Z,$,z="string"){let I=(j)=>{if(typeof j!=="string")return!1;return Z(j)};if(I.emit=$,I.ruleName=Q,z!==void 0)I.requiresType=z;return I}function k0(Q){let Z=($)=>typeof $==="string"&&$.length>=Q;return Z.emit=($,z)=>`if (${$}.length < ${Q}) ${z.fail("minLength")};`,Z.ruleName="minLength",Z.requiresType="string",Z.constraints={min:Q},Z}function y0(Q){let Z=($)=>typeof $==="string"&&$.length<=Q;return Z.emit=($,z)=>`if (${$}.length > ${Q}) ${z.fail("maxLength")};`,Z.ruleName="maxLength",Z.requiresType="string",Z.constraints={max:Q},Z}function g0(Q,Z){let $=(z)=>typeof z==="string"&&z.length>=Q&&z.length<=Z;return $.emit=(z,I)=>`if (${z}.length < ${Q} || ${z}.length > ${Z}) ${I.fail("length")};`,$.ruleName="length",$.requiresType="string",$.constraints={min:Q,max:Z},$}function N0(Q){let Z=($)=>typeof $==="string"&&$.includes(Q);return Z.emit=($,z)=>{let I=z.addRef(Q);return`if (${$}.indexOf(_refs[${I}]) === -1) ${z.fail("contains")};`},Z.ruleName="contains",Z.requiresType="string",Z.constraints={seed:Q},Z}function x0(Q){let Z=($)=>typeof $==="string"&&!$.includes(Q);return Z.emit=($,z)=>{let I=z.addRef(Q);return`if (${$}.indexOf(_refs[${I}]) !== -1) ${z.fail("notContains")};`},Z.ruleName="notContains",Z.requiresType="string",Z.constraints={seed:Q},Z}function u0(Q,Z){let $=Q instanceof RegExp?Q:new RegExp(Q,Z),z=(I)=>typeof I==="string"&&$.test(I);return z.emit=(I,j)=>{return`if (!_re[${j.addRegex($)}].test(${I})) ${j.fail("matches")};`},z.ruleName="matches",z.requiresType="string",z.constraints={pattern:$.source},z}var M=(Q)=>typeof Q==="string"&&Q===Q.toLowerCase();M.emit=(Q,Z)=>`if (${Q} !== ${Q}.toLowerCase()) ${Z.fail("isLowercase")};`;M.ruleName="isLowercase";M.requiresType="string";M.constraints={};var m0=M,U=(Q)=>typeof Q==="string"&&Q===Q.toUpperCase();U.emit=(Q,Z)=>`if (${Q} !== ${Q}.toUpperCase()) ${Z.fail("isUppercase")};`;U.ruleName="isUppercase";U.requiresType="string";U.constraints={};var v0=U,n6=/^[\x00-\x7F]*$/,p=q("isAscii",(Q)=>n6.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(n6)}].test(${Q})) ${Z.fail("isAscii")};`});p.constraints={};var c0=/^[a-zA-Z]+$/;function WZ(Q){return typeof Q==="string"&&Q.length>0&&c0.test(Q)}var B=function Q(Z){if(Z===void 0)return Q;return WZ(Z)};B.emit=(Q,Z)=>{return`if (!_re[${Z.addRegex(c0)}].test(${Q})) ${Z.fail("isAlpha")};`};B.ruleName="isAlpha";B.requiresType="string";B.constraints={};var r0=B,l0=/^[a-zA-Z0-9]+$/;function GZ(Q){return typeof Q==="string"&&Q.length>0&&l0.test(Q)}var H=function Q(Z){if(Z===void 0)return Q;return GZ(Z)};H.emit=(Q,Z)=>{return`if (!_re[${Z.addRegex(l0)}].test(${Q})) ${Z.fail("isAlphanumeric")};`};H.ruleName="isAlphanumeric";H.requiresType="string";H.constraints={};var p0=H,P=(Q)=>Q==="true"||Q==="false"||Q==="1"||Q==="0";P.emit=(Q,Z)=>`if (${Q} !== 'true' && ${Q} !== 'false' && ${Q} !== '1' && ${Q} !== '0') ${Z.fail("isBooleanString")};`;P.ruleName="isBooleanString";P.requiresType="string";P.constraints={};var s0=P;function n0(Q){let Z=q("isNumberString",($)=>{if($.length===0)return!1;let z=Number($);return!isNaN(z)&&isFinite(z)},($,z)=>{let I=(J)=>{if(J.length===0)return!1;let Y=Number(J);return!isNaN(Y)&&isFinite(Y)};return`if (!_refs[${z.addRef(I)}](${$})) ${z.fail("isNumberString")};`});return Z.constraints={},Z}function i0(Q){let Z=/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)$/,$=q("isDecimal",(z)=>Z.test(z),(z,I)=>{return`if (!_re[${I.addRegex(Z)}].test(${z})) ${I.fail("isDecimal")};`});return $.constraints={},$}var y=/[^\u0020-\u007E\uFF61-\uFF9F]/,s=q("isFullWidth",(Q)=>Q.length>0&&y.test(Q),(Q,Z)=>{let $=Z.addRegex(y);return`if (${Q}.length === 0 || !_re[${$}].test(${Q})) ${Z.fail("isFullWidth")};`});s.constraints={};var g=/[\u0020-\u007E\uFF61-\uFF9F]/,n=q("isHalfWidth",(Q)=>Q.length>0&&g.test(Q),(Q,Z)=>{let $=Z.addRegex(g);return`if (${Q}.length === 0 || !_re[${$}].test(${Q})) ${Z.fail("isHalfWidth")};`});n.constraints={};var i=q("isVariableWidth",(Q)=>y.test(Q)&&g.test(Q),(Q,Z)=>{let $=Z.addRegex(y),z=Z.addRegex(g);return`if (!_re[${$}].test(${Q}) || !_re[${z}].test(${Q})) ${Z.fail("isVariableWidth")};`});i.constraints={};var i6=/[^\x00-\xFF]/,a=q("isMultibyte",(Q)=>Q.length>0&&i6.test(Q),(Q,Z)=>{let $=Z.addRegex(i6);return`if (${Q}.length === 0 || !_re[${$}].test(${Q})) ${Z.fail("isMultibyte")};`});a.constraints={};var a6=/[\uD800-\uDBFF][\uDC00-\uDFFF]/,e=q("isSurrogatePair",(Q)=>Q.length>0&&a6.test(Q),(Q,Z)=>{let $=Z.addRegex(a6);return`if (${Q}.length === 0 || !_re[${$}].test(${Q})) ${Z.fail("isSurrogatePair")};`});e.constraints={};var e6=/^[0-9a-fA-F]+$/,o=q("isHexadecimal",(Q)=>e6.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(e6)}].test(${Q})) ${Z.fail("isHexadecimal")};`});o.constraints={};var o6=/^(0[oO])?[0-7]+$/,t=q("isOctal",(Q)=>Q.length>0&&o6.test(Q),(Q,Z)=>{let $=Z.addRegex(o6);return`if (${Q}.length === 0 || !_re[${$}].test(${Q})) ${Z.fail("isOctal")};`});t.constraints={};var t6=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*\.[a-zA-Z]{2,}$/;function a0(Q){let Z=q("isEmail",($)=>t6.test($),($,z)=>{return`if (!_re[${z.addRegex(t6)}].test(${$})) ${z.fail("isEmail")};`});return Z.constraints={format:"email"},Z}var XZ=["http","https","ftp"];function e0(Q){let $=(Q?.protocols??XZ).map((j)=>j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),z=new RegExp(`^(?:${$}):\\/\\/(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)(?::\\d{1,5})?(?:\\/[^\\s]*)?$`),I=(j)=>{if(typeof j!=="string"||j.length===0)return!1;return z.test(j)};return I.emit=(j,J)=>{return`if (!_re[${J.addRegex(z)}].test(${j})) ${J.fail("isURL")};`},I.ruleName="isURL",I.requiresType="string",I.constraints={format:"uri"},I}var r={all:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,1:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-1[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,2:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-2[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,3:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-3[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,4:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,5:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-5[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/};function o0(Q){let Z=Q!=null?r[Q]??r.all:r.all,$=q("isUUID",(z)=>Z.test(z),(z,I)=>{return`if (!_re[${I.addRegex(Z)}].test(${z})) ${I.fail("isUUID")};`});return $.constraints={format:"uuid"},$}var _=/^(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/,k=/^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$|^::(?:[0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4}$|^(?:[0-9a-fA-F]{1,4}:){1,7}:$|^(?:[0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}$|^(?:[0-9a-fA-F]{1,4}:){1,5}(?::[0-9a-fA-F]{1,4}){1,2}$|^(?:[0-9a-fA-F]{1,4}:){1,4}(?::[0-9a-fA-F]{1,4}){1,3}$|^(?:[0-9a-fA-F]{1,4}:){1,3}(?::[0-9a-fA-F]{1,4}){1,4}$|^(?:[0-9a-fA-F]{1,4}:){1,2}(?::[0-9a-fA-F]{1,4}){1,5}$|^[0-9a-fA-F]{1,4}:(?::[0-9a-fA-F]{1,4}){1,6}$|^::$|^::1$|^::(?:ffff(?::0{1,4})?:)?(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$|^(?:[0-9a-fA-F]{1,4}:){1,4}:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/;function t0(Q){let Z=($)=>{if(typeof $!=="string")return!1;if(Q===4)return _.test($);if(Q===6)return k.test($);return _.test($)||k.test($)};return Z.emit=($,z)=>{if(Q===4)return`if (!_re[${z.addRegex(_)}].test(${$})) ${z.fail("isIP")};`;if(Q===6)return`if (!_re[${z.addRegex(k)}].test(${$})) ${z.fail("isIP")};`;let I=z.addRegex(_),j=z.addRegex(k);return`if (!_re[${I}].test(${$}) && !_re[${j}].test(${$})) ${z.fail("isIP")};`},Z.ruleName="isIP",Z.requiresType="string",Z.constraints={version:Q},Z}var Q0=/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,Q6=q("isHexColor",(Q)=>Q0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(Q0)}].test(${Q})) ${Z.fail("isHexColor")};`});Q6.constraints={};var Z0=/^rgb\(\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*,\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*,\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*\)$/,$0=/^rgba\(\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*,\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*,\s*(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\s*,\s*(0|0?\.\d+|1(\.0+)?)\s*\)$/,z0=/^rgba?\(\s*(\d{1,2}|100)%\s*,\s*(\d{1,2}|100)%\s*,\s*(\d{1,2}|100)%(?:\s*,\s*(0|0?\.\d+|1(?:\.0+)?))?\s*\)$/;function QQ(Q=!1){let Z=($)=>{if(typeof $!=="string")return!1;if(Q)return z0.test($);return Z0.test($)||$0.test($)};return Z.emit=($,z)=>{if(Q)return`if (!_re[${z.addRegex(z0)}].test(${$})) ${z.fail("isRgbColor")};`;let I=z.addRegex(Z0),j=z.addRegex($0);return`if (!_re[${I}].test(${$}) && !_re[${j}].test(${$})) ${z.fail("isRgbColor")};`},Z.ruleName="isRgbColor",Z.requiresType="string",Z.constraints={},Z}var I0=/^hsla?\(\s*(360|3[0-5]\d|[12]\d{2}|[1-9]\d|\d)\s*,\s*(100|[1-9]\d|\d)%\s*,\s*(100|[1-9]\d|\d)%(?:\s*,\s*(0|0?\.\d+|1(?:\.0+)?))?\s*\)$/,Z6=q("isHSL",(Q)=>I0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(I0)}].test(${Q})) ${Z.fail("isHSL")};`});Z6.constraints={};var K0=/^[0-9a-fA-F]{2}(?::[0-9a-fA-F]{2}){5}$/,j0=/^[0-9a-fA-F]{2}(?:-[0-9a-fA-F]{2}){5}$/,J0=/^[0-9a-fA-F]{12}$/;function ZQ(Q){let Z=($)=>{if(typeof $!=="string")return!1;if(Q?.no_separators)return J0.test($);return K0.test($)||j0.test($)};return Z.emit=($,z)=>{if(Q?.no_separators)return`if (!_re[${z.addRegex(J0)}].test(${$})) ${z.fail("isMACAddress")};`;let I=z.addRegex(K0),j=z.addRegex(j0);return`if (!_re[${I}].test(${$}) && !_re[${j}].test(${$})) ${z.fail("isMACAddress")};`},Z.ruleName="isMACAddress",Z.requiresType="string",Z.constraints={},Z}function q0(Q){let Z=Q.replace(/[-\s]/g,"");if(!/^\d{9}[\dX]$/.test(Z))return!1;let $=0;for(let I=0;I<9;I++)$+=(10-I)*(Z.charCodeAt(I)-48);let z=Z[9]==="X"?10:Z.charCodeAt(9)-48;return $+=z,$%11===0}function Y0(Q){let Z=Q.replace(/[-\s]/g,"");if(!/^\d{13}$/.test(Z))return!1;let $=0;for(let I=0;I<12;I++)$+=(Z.charCodeAt(I)-48)*(I%2===0?1:3);return(10-$%10)%10===Z.charCodeAt(12)-48}function $Q(Q){let Z=($)=>{if(typeof $!=="string")return!1;if(Q===10)return q0($);if(Q===13)return Y0($);return q0($)||Y0($)};return Z.emit=($,z)=>{return`if (!_refs[${z.addRef(Z)}](${$})) ${z.fail("isISBN")};`},Z.ruleName="isISBN",Z.requiresType="string",Z.constraints={},Z}var bZ=/^[A-Z]{2}[A-Z0-9]{9}[0-9]$/;function w0(Q){if(!bZ.test(Q))return!1;let Z=Q.split("").map((I)=>{let j=I.charCodeAt(0);return j>=65?String(j-55):I}).join(""),$=0,z=!1;for(let I=Z.length-1;I>=0;I--){let j=parseInt(Z[I],10);if(z){if(j*=2,j>9)j-=9}$+=j,z=!z}return $%10===0}var $6=q("isISIN",w0,(Q,Z)=>{return`if (!_refs[${Z.addRef(w0)}](${Q})) ${Z.fail("isISIN")};`});$6.constraints={};var l=/^\d{4}(?:-\d{2}(?:-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?)?)?)?$/;function FZ(Q){if(!l.test(Q))return!1;let Z=Q.match(/^(\d{4})-(\d{2})-(\d{2})/);if(!Z)return!0;let $=Number(Z[2]),z=Number(Z[3]);if($<1||$>12)return!1;let I=new Date(Number(Z[1]),$,0).getDate();return z>=1&&z<=I}function zQ(Q){if(Q?.strict){let $=(z)=>{if(typeof z!=="string")return!1;return FZ(z)};return $.ruleName="isISO8601",$.emit=(z,I)=>{return`if (!_refs[${I.addRef($)}](${z})) ${I.fail("isISO8601")};`},$.constraints={format:"date-time"},$}let Z=q("isISO8601",($)=>l.test($),($,z)=>{return`if (!_re[${z.addRegex(l)}].test(${$})) ${z.fail("isISO8601")};`});return Z.constraints={format:"date-time"},Z}var W0=/^[A-Z]{2}-[A-Z0-9]{3}-\d{2}-\d{5}$|^[A-Z]{2}[A-Z0-9]{3}\d{7}$/,z6=q("isISRC",(Q)=>W0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(W0)}].test(${Q})) ${Z.fail("isISRC")};`});z6.constraints={};function MZ(Q,Z){let $=Z?.requireHyphen!==!1,z=$?Q:Q.replace(/-/g,"");if(!($?/^\d{4}-\d{3}[\dX]$/:/^\d{7}[\dX]$/).test(z))return!1;let j=z.replace(/-/g,""),J=0;for(let w=0;w<7;w++)J+=(8-w)*(j.charCodeAt(w)-48);let Y=j[7]==="X"?10:j.charCodeAt(7)-48;return J+=Y,J%11===0}function IQ(Q){let Z=($)=>{if(typeof $!=="string")return!1;return MZ($,Q)};return Z.emit=($,z)=>{return`if (!_refs[${z.addRef(Z)}](${$})) ${z.fail("isISSN")};`},Z.ruleName="isISSN",Z.requiresType="string",Z.constraints={},Z}var G0=/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/,I6=q("isJWT",(Q)=>G0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(G0)}].test(${Q})) ${Z.fail("isJWT")};`});I6.constraints={};var X0=/^[-+]?([1-8]?\d(?:\.\d+)?|90(?:\.0+)?),\s*[-+]?(180(?:\.0+)?|1[0-7]\d(?:\.\d+)?|\d{1,2}(?:\.\d+)?)$/;function KQ(Q){let Z=q("isLatLong",($)=>X0.test($),($,z)=>{return`if (!_re[${z.addRegex(X0)}].test(${$})) ${z.fail("isLatLong")};`});return Z.constraints={},Z}var b0=/^[a-zA-Z]{2,3}(?:-[a-zA-Z]{4})?(?:-(?:[a-zA-Z]{2}|\d{3}))?(?:-[a-zA-Z\d]{5,8})*$/,K6=q("isLocale",(Q)=>b0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(b0)}].test(${Q})) ${Z.fail("isLocale")};`});K6.constraints={};var F0=/^data:([a-zA-Z0-9!#$&\-^_]+\/[a-zA-Z0-9!#$&\-^_]+)(?:;[a-zA-Z0-9\-]+=[a-zA-Z0-9\-]+)*(?:;base64)?,[\s\S]*$/,j6=q("isDataURI",(Q)=>F0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(F0)}].test(${Q})) ${Z.fail("isDataURI")};`});j6.constraints={};function jQ(Q){let Z=Q?.require_tld!==!1,$=(z)=>{if(typeof z!=="string")return!1;let I=z;if(Q?.allow_trailing_dot&&I.endsWith("."))I=I.slice(0,-1);if(I.length===0)return!1;let j=I.split(".");if(Z&&j.length<2)return!1;if(Z){let J=j[j.length-1];if(!J||J.length<2||!/^[a-zA-Z]{2,}$/.test(J))return!1}return j.every((J)=>{if(J.length===0||J.length>63)return!1;if(Q?.allow_underscores)return/^[a-zA-Z0-9_-]+$/.test(J);return/^[a-zA-Z0-9-]+$/.test(J)&&!J.startsWith("-")&&!J.endsWith("-")})};return $.emit=(z,I)=>{return`if (!_refs[${I.addRef($)}](${z})) ${I.fail("isFQDN")};`},$.ruleName="isFQDN",$.requiresType="string",$.constraints={},$}var M0=/^(?:6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{1,3}|\d)$/,J6=q("isPort",(Q)=>M0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(M0)}].test(${Q})) ${Z.fail("isPort")};`});J6.constraints={};function U0(Q){if(!/^\d{8}$/.test(Q)&&!/^\d{13}$/.test(Q))return!1;let Z=Q.split("").map(Number),$=Z.length,z=0;for(let j=0;j<$-1;j++)z+=Z[j]*($===8?j%2===0?3:1:j%2===0?1:3);return(10-z%10)%10===Z[$-1]}var q6=q("isEAN",U0,(Q,Z)=>{return`if (!_refs[${Z.addRef(U0)}](${Q})) ${Z.fail("isEAN")};`});q6.constraints={};var JQ=new Set(["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"]),D=(Q)=>{if(typeof Q!=="string")return!1;return JQ.has(Q.toUpperCase())};D.emit=(Q,Z)=>{return`if (!_refs[${Z.addRef(JQ)}].has(${Q}.toUpperCase())) ${Z.fail("isISO31661Alpha2")};`};D.ruleName="isISO31661Alpha2";D.requiresType="string";D.constraints={};var qQ=D,YQ=new Set(["ABW","AFG","AGO","AIA","ALA","ALB","AND","ANT","ARE","ARG","ARM","ASM","ATA","ATF","ATG","AUS","AUT","AZE","BDI","BEL","BEN","BES","BFA","BGD","BGR","BHR","BHS","BIH","BLM","BLR","BLZ","BMU","BOL","BRA","BRB","BRN","BTN","BVT","BWA","CAF","CAN","CCK","CHE","CHL","CHN","CIV","CMR","COD","COG","COK","COL","COM","CPV","CRI","CUB","CUW","CXR","CYM","CYP","CZE","DEU","DJI","DMA","DNK","DOM","DZA","ECU","EGY","ERI","ESH","ESP","EST","ETH","FIN","FJI","FLK","FRA","FRO","FSM","GAB","GBR","GEO","GGY","GHA","GIB","GIN","GLP","GMB","GNB","GNQ","GRC","GRD","GRL","GTM","GUF","GUM","GUY","HKG","HMD","HND","HRV","HTI","HUN","IDN","IMN","IND","IOT","IRL","IRN","IRQ","ISL","ISR","ITA","JAM","JEY","JOR","JPN","KAZ","KEN","KGZ","KHM","KIR","KNA","KOR","KWT","LAO","LBN","LBR","LBY","LCA","LIE","LKA","LSO","LTU","LUX","LVA","MAC","MAF","MAR","MCO","MDA","MDG","MDV","MEX","MHL","MKD","MLI","MLT","MMR","MNE","MNG","MNP","MOZ","MRT","MSR","MTQ","MUS","MWI","MYS","MYT","NAM","NCL","NER","NFK","NGA","NIC","NIU","NLD","NOR","NPL","NRU","NZL","OMN","PAK","PAN","PCN","PER","PHL","PLW","PNG","POL","PRI","PRK","PRT","PRY","PSE","PYF","QAT","REU","ROU","RUS","RWA","SAU","SDN","SEN","SGP","SGS","SHN","SJM","SLB","SLE","SLV","SMR","SOM","SPM","SRB","SSD","STP","SUR","SVK","SVN","SWE","SWZ","SXM","SYC","SYR","TCA","TCD","TGO","THA","TJK","TKL","TKM","TLS","TON","TTO","TUN","TUR","TUV","TWN","TZA","UGA","UKR","UMI","URY","USA","UZB","VAT","VCT","VEN","VGB","VIR","VNM","VUT","WLF","WSM","YEM","ZAF","ZMB","ZWE"]),h=(Q)=>{if(typeof Q!=="string")return!1;return YQ.has(Q.toUpperCase())};h.emit=(Q,Z)=>{return`if (!_refs[${Z.addRef(YQ)}].has(${Q}.toUpperCase())) ${Z.fail("isISO31661Alpha3")};`};h.ruleName="isISO31661Alpha3";h.requiresType="string";h.constraints={};var wQ=h,B0=/^[A-Z]{6}[A-Z0-9]{2}(?:[A-Z0-9]{3})?$/,Y6=q("isBIC",(Q)=>B0.test(Q.toUpperCase()),(Q,Z)=>{return`if (!_re[${Z.addRegex(B0)}].test(${Q}.toUpperCase())) ${Z.fail("isBIC")};`});Y6.constraints={};var H0=/^[a-zA-Z0-9_-]{20}$/,w6=q("isFirebasePushId",(Q)=>H0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(H0)}].test(${Q})) ${Z.fail("isFirebasePushId")};`});w6.constraints={};var P0=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,W6=q("isSemVer",(Q)=>P0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(P0)}].test(${Q})) ${Z.fail("isSemVer")};`});W6.constraints={};var D0=/^[0-9a-fA-F]{24}$/,G6=q("isMongoId",(Q)=>D0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(D0)}].test(${Q})) ${Z.fail("isMongoId")};`});G6.constraints={};var C=(Q)=>{if(typeof Q!=="string")return!1;try{return JSON.parse(Q),!0}catch{return!1}};C.emit=(Q,Z)=>{return`if (!_refs[${Z.addRef((z)=>{try{return JSON.parse(z),!0}catch{return!1}})}](${Q})) ${Z.fail("isJSON")};`};C.ruleName="isJSON";C.requiresType="string";C.constraints={};var WQ=C,UZ=/^[A-Z2-7]+=*$/i;function GQ(Q){let Z=UZ,$=q("isBase32",(z)=>{if(z.length===0)return!1;if(z.length%8!==0)return!1;return Z.test(z)},(z,I)=>{let j=I.addRegex(Z);return`if (${z}.length === 0 || ${z}.length % 8 !== 0 || !_re[${j}].test(${z})) ${I.fail("isBase32")};`});return $.constraints={},$}var h0=/^[1-9A-HJ-NP-Za-km-z]+$/,X6=q("isBase58",(Q)=>h0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(h0)}].test(${Q})) ${Z.fail("isBase58")};`});X6.constraints={};var BZ=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$/,HZ=/^[A-Za-z0-9_-]+={0,2}$/;function XQ(Q){let Z=Q?.urlSafe?HZ:BZ,$=q("isBase64",(z)=>{if(z.length===0)return!1;return Z.test(z)},(z,I)=>{let j=I.addRegex(Z);return`if (${z}.length === 0 || !_re[${j}].test(${z})) ${I.fail("isBase64")};`});return $.constraints={},$}var C0=/^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$/;function bQ(Q){let Z=q("isDateString",($)=>C0.test($),($,z)=>{return`if (!_re[${z.addRegex(C0)}].test(${$})) ${z.fail("isDateString")};`});return Z.constraints={},Z}var T0=/^(application|audio|font|image|message|model|multipart|text|video)\/[a-zA-Z0-9][a-zA-Z0-9!#$&\-^_.+]*(?:;.+)?$/,b6=q("isMimeType",(Q)=>T0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(T0)}].test(${Q})) ${Z.fail("isMimeType")};`});b6.constraints={};var L0=/^[-+]?(?:[,.\d]+)(?:[.,]\d{2})?$|^\$?-?(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d{1,2})?$/;function FQ(Q){let Z=q("isCurrency",($)=>{if($.length===0)return!1;return L0.test($)},($,z)=>{let I=z.addRegex(L0);return`if (${$}.length === 0 || !_re[${I}].test(${$})) ${z.fail("isCurrency")};`});return Z.constraints={},Z}var O0=/^magnet:\?xt=urn:[a-z0-9]+:[a-z0-9]{32,40}/i,F6=q("isMagnetURI",(Q)=>O0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(O0)}].test(${Q})) ${Z.fail("isMagnetURI")};`});F6.constraints={};function PZ(Q){let Z=Q.replace(/[\s-]/g,"");if(Z.length===0||!/^\d+$/.test(Z))return!1;let $=0,z=!1;for(let I=Z.length-1;I>=0;I--){let j=Z.charCodeAt(I)-48;if(z){if(j*=2,j>9)j-=9}$+=j,z=!z}return $%10===0}var T=(Q)=>{if(typeof Q!=="string")return!1;return PZ(Q)};T.emit=(Q,Z)=>`{
|
|
6
|
+
var _cs=${Q}.replace(/[\\s-]/g,'');
|
|
7
|
+
if(_cs.length===0||!/^\\d+$/.test(_cs)){${Z.fail("isCreditCard")}}
|
|
8
|
+
else{var _sum=0,_alt=false;
|
|
9
|
+
for(var _ci=_cs.length-1;_ci>=0;_ci--){var _cn=_cs.charCodeAt(_ci)-48;if(_alt){_cn*=2;if(_cn>9)_cn-=9;}_sum+=_cn;_alt=!_alt;}
|
|
10
|
+
if(_sum%10!==0)${Z.fail("isCreditCard")};}
|
|
11
|
+
}`;T.ruleName="isCreditCard";T.requiresType="string";T.constraints={};var MQ=T,DZ={AD:24,AE:23,AL:28,AT:20,AZ:28,BA:20,BE:16,BG:22,BH:22,BR:29,CH:21,CR:22,CY:28,CZ:24,DE:22,DK:18,DO:28,EE:20,ES:24,FI:18,FO:18,FR:27,GB:22,GE:22,GI:23,GL:18,GR:27,GT:28,HR:21,HU:28,IE:22,IL:23,IS:26,IT:27,JO:30,KW:30,KZ:20,LB:28,LC:32,LI:21,LT:20,LU:20,LV:21,MC:27,MD:24,ME:22,MK:19,MR:27,MT:31,MU:30,NL:18,NO:15,PK:24,PL:28,PS:29,PT:25,QA:29,RO:24,RS:22,SA:24,SC:31,SE:24,SI:19,SK:24,SM:27,ST:25,SV:28,TL:23,TN:24,TR:26,UA:29,VA:22,VG:24,XK:20};function hZ(Q,Z){let $=Z?.allowSpaces?Q.replace(/\s/g,""):Q;if($=$.toUpperCase(),!/^[A-Z]{2}\d{2}[A-Z0-9]+$/.test($))return!1;let z=$.slice(0,2),I=DZ[z];if(I!==void 0&&$.length!==I)return!1;let J=($.slice(4)+$.slice(0,4)).replace(/[A-Z]/g,(w)=>String(w.charCodeAt(0)-55)),Y=0;for(let w=0;w<J.length;w+=7){let G=String(Y)+J.slice(w,w+7);Y=parseInt(G,10)%97}return Y===1}function UQ(Q){let Z=($)=>{if(typeof $!=="string")return!1;return hZ($,Q)};return Z.emit=($,z)=>{return`if (!_refs[${z.addRef(Z)}](${$})) ${z.fail("isIBAN")};`},Z.ruleName="isIBAN",Z.requiresType="string",Z.constraints={},Z}function BQ(Q,Z){let $=(z)=>{if(typeof z!=="string")return!1;let I=Buffer.byteLength(z,"utf8");if(I<Q)return!1;if(Z!==void 0&&I>Z)return!1;return!0};return $.emit=(z,I)=>{let j=(Y)=>{let w=Buffer.byteLength(Y,"utf8");if(w<Q)return!1;if(Z!==void 0&&w>Z)return!1;return!0};return`if (!_refs[${I.addRef(j)}](${z})) ${I.fail("isByteLength")};`},$.ruleName="isByteLength",$.requiresType="string",$.constraints={},$}var CZ={md5:/^[a-f0-9]{32}$/i,md4:/^[a-f0-9]{32}$/i,md2:/^[a-f0-9]{32}$/i,sha1:/^[a-f0-9]{40}$/i,sha256:/^[a-f0-9]{64}$/i,sha384:/^[a-f0-9]{96}$/i,sha512:/^[a-f0-9]{128}$/i,ripemd128:/^[a-f0-9]{32}$/i,ripemd160:/^[a-f0-9]{40}$/i,"tiger128,3":/^[a-f0-9]{32}$/i,"tiger128,4":/^[a-f0-9]{32}$/i,"tiger160,3":/^[a-f0-9]{40}$/i,"tiger160,4":/^[a-f0-9]{40}$/i,"tiger192,3":/^[a-f0-9]{48}$/i,"tiger192,4":/^[a-f0-9]{48}$/i,crc32:/^[a-f0-9]{8}$/i,crc32b:/^[a-f0-9]{8}$/i};function HQ(Q){let Z=CZ[Q],$=(z)=>{if(typeof z!=="string")return!1;if(!Z)return!1;return Z.test(z)};return $.emit=(z,I)=>{if(!Z)return I.fail("isHash")+";";return`if (!_re[${I.addRegex(Z)}].test(${z})) ${I.fail("isHash")};`},$.ruleName="isHash",$.requiresType="string",$.constraints={},$}var A0=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$/i,M6=q("isRFC3339",(Q)=>A0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(A0)}].test(${Q})) ${Z.fail("isRFC3339")};`});M6.constraints={};var V0=/^([01]\d|2[0-3]):[0-5]\d$/,U6=q("isMilitaryTime",(Q)=>V0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(V0)}].test(${Q})) ${Z.fail("isMilitaryTime")};`});U6.constraints={};function PQ(Q){if(typeof Q==="number")return Q>=-90&&Q<=90;if(typeof Q==="string"){let Z=parseFloat(Q);if(isNaN(Z))return!1;if(String(Z)!==Q&&Q!==String(Z)){if(!/^-?\d+(\.\d+)?$/.test(Q))return!1}return Z>=-90&&Z<=90}return!1}var N=(Q)=>PQ(Q);N.emit=(Q,Z)=>{return`if (!_refs[${Z.addRef(PQ)}](${Q})) ${Z.fail("isLatitude")};`};N.ruleName="isLatitude";N.constraints={};var DQ=N;function hQ(Q){if(typeof Q==="number")return Q>=-180&&Q<=180;if(typeof Q==="string"){let Z=parseFloat(Q);if(isNaN(Z))return!1;if(!/^-?\d+(\.\d+)?$/.test(Q))return!1;return Z>=-180&&Z<=180}return!1}var x=(Q)=>hQ(Q);x.emit=(Q,Z)=>{return`if (!_refs[${Z.addRef(hQ)}](${Q})) ${Z.fail("isLongitude")};`};x.ruleName="isLongitude";x.constraints={};var CQ=x,S0=/^0x[0-9a-fA-F]{40}$/,B6=q("isEthereumAddress",(Q)=>S0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(S0)}].test(${Q})) ${Z.fail("isEthereumAddress")};`});B6.constraints={};var R0=/^1[a-km-zA-HJ-NP-Z1-9]{25,34}$/,E0=/^3[a-km-zA-HJ-NP-Z1-9]{25,34}$/,f0=/^(bc1)[a-z0-9]{6,87}$/,H6=q("isBtcAddress",(Q)=>R0.test(Q)||E0.test(Q)||f0.test(Q),(Q,Z)=>{let $=Z.addRegex(R0),z=Z.addRegex(E0),I=Z.addRegex(f0);return`if (!_re[${$}].test(${Q}) && !_re[${z}].test(${Q}) && !_re[${I}].test(${Q})) ${Z.fail("isBtcAddress")};`});H6.constraints={};var d0=new Set(["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BOV","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","CHE","CHF","CHW","CLF","CLP","CNY","COP","COU","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MXV","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLE","SLL","SOS","SRD","SSP","STN","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","USN","UYI","UYU","UYW","UZS","VED","VES","VND","VUV","WST","XAF","XAG","XAU","XBA","XBB","XBC","XBD","XCD","XDR","XOF","XPD","XPF","XPT","XSU","XTS","XUA","YER","ZAR","ZMW","ZWL"]),P6=q("isISO4217CurrencyCode",(Q)=>d0.has(Q),(Q,Z)=>{return`if (!_refs[${Z.addRef(d0)}].has(${Q})) ${Z.fail("isISO4217CurrencyCode")};`});P6.constraints={};var _0=/^\+[1-9]\d{6,14}$/,D6=q("isPhoneNumber",(Q)=>_0.test(Q),(Q,Z)=>{return`if (!_re[${Z.addRegex(_0)}].test(${Q})) ${Z.fail("isPhoneNumber")};`});D6.constraints={};function TQ(Q){let Z=Q?.minLength??8,$=Q?.minLowercase??1,z=Q?.minUppercase??1,I=Q?.minNumbers??1,j=Q?.minSymbols??1,J=(w)=>{if(w.length<Z)return!1;if($>0){if((w.match(/[a-z]/g)||[]).length<$)return!1}if(z>0){if((w.match(/[A-Z]/g)||[]).length<z)return!1}if(I>0){if((w.match(/[0-9]/g)||[]).length<I)return!1}if(j>0){if((w.match(/[^a-zA-Z0-9]/g)||[]).length<j)return!1}return!0},Y=(w)=>{if(typeof w!=="string")return!1;return J(w)};return Y.emit=(w,G)=>{return`if (!_refs[${G.addRef(J)}](${w})) ${G.fail("isStrongPassword")};`},Y.ruleName="isStrongPassword",Y.requiresType="string",Y.constraints={},Y}var TZ={US:/^\d{2}-\d{7}$/,KR:/^\d{3}-\d{2}-\d{5}$/,DE:/^\d{11}$/,FR:/^[0-9]{13}$/,GB:/^\d{10}$/,IT:/^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/i,ES:/^[0-9A-Z]\d{7}[0-9A-Z]$/i,AU:/^\d{11}$/,CA:/^\d{9}$/,IN:/^[A-Z]{5}\d{4}[A-Z]$/i};function LQ(Q){let Z=TZ[Q],$=(z)=>{if(typeof z!=="string")return!1;if(!Z)return!1;return Z.test(z)};return $.emit=(z,I)=>{if(!Z)return I.fail("isTaxId")+";";return`if (!_re[${I.addRegex(Z)}].test(${z})) ${I.fail("isTaxId")};`},$.ruleName="isTaxId",$.requiresType="string",$.constraints={},$}function LZ(Q,Z){return($,z)=>{K($,z,{rule:k0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function OZ(Q,Z){return($,z)=>{K($,z,{rule:y0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function AZ(Q,Z,$){return(z,I)=>{K(z,I,{rule:g0(Q,Z),each:$?.each,groups:$?.groups,message:$?.message,context:$?.context})}}function VZ(Q,Z){return($,z)=>{K($,z,{rule:N0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function SZ(Q,Z){return($,z)=>{K($,z,{rule:x0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function RZ(Q,Z,$){return(z,I)=>{K(z,I,{rule:u0(Q,Z),each:$?.each,groups:$?.groups,message:$?.message,context:$?.context})}}function EZ(Q){return(Z,$)=>{K(Z,$,{rule:m0,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function fZ(Q){return(Z,$)=>{K(Z,$,{rule:v0,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function dZ(Q){return(Z,$)=>{K(Z,$,{rule:p,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function _Z(Q){return(Z,$)=>{K(Z,$,{rule:r0,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function kZ(Q){return(Z,$)=>{K(Z,$,{rule:p0,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function yZ(Q){return(Z,$)=>{K(Z,$,{rule:s0,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function gZ(Q,Z){return($,z)=>{K($,z,{rule:n0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function NZ(Q,Z){return($,z)=>{K($,z,{rule:i0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function xZ(Q){return(Z,$)=>{K(Z,$,{rule:s,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function uZ(Q){return(Z,$)=>{K(Z,$,{rule:n,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function mZ(Q){return(Z,$)=>{K(Z,$,{rule:i,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function vZ(Q){return(Z,$)=>{K(Z,$,{rule:a,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function cZ(Q){return(Z,$)=>{K(Z,$,{rule:e,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function rZ(Q){return(Z,$)=>{K(Z,$,{rule:o,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function lZ(Q){return(Z,$)=>{K(Z,$,{rule:t,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function pZ(Q,Z){return($,z)=>{K($,z,{rule:a0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function sZ(Q,Z){return($,z)=>{K($,z,{rule:e0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function nZ(Q,Z){return($,z)=>{K($,z,{rule:o0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function iZ(Q,Z){return($,z)=>{K($,z,{rule:t0(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function aZ(Q){return(Z,$)=>{K(Z,$,{rule:Q6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function eZ(Q,Z){return($,z)=>{K($,z,{rule:QQ(Q??!1),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function oZ(Q){return(Z,$)=>{K(Z,$,{rule:Z6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function tZ(Q,Z){return($,z)=>{K($,z,{rule:ZQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function Q$(Q,Z){return($,z)=>{K($,z,{rule:$Q(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function Z$(Q){return(Z,$)=>{K(Z,$,{rule:$6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function $$(Q,Z){return($,z)=>{K($,z,{rule:zQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function z$(Q){return(Z,$)=>{K(Z,$,{rule:z6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function I$(Q,Z){return($,z)=>{K($,z,{rule:IQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function K$(Q){return(Z,$)=>{K(Z,$,{rule:I6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function j$(Q,Z){return($,z)=>{K($,z,{rule:KQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function J$(Q){return(Z,$)=>{K(Z,$,{rule:K6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function q$(Q){return(Z,$)=>{K(Z,$,{rule:j6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function Y$(Q,Z){return($,z)=>{K($,z,{rule:jQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function w$(Q){return(Z,$)=>{K(Z,$,{rule:J6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function W$(Q){return(Z,$)=>{K(Z,$,{rule:q6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function G$(Q){return(Z,$)=>{K(Z,$,{rule:qQ,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function X$(Q){return(Z,$)=>{K(Z,$,{rule:wQ,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function b$(Q){return(Z,$)=>{K(Z,$,{rule:Y6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function F$(Q){return(Z,$)=>{K(Z,$,{rule:w6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function M$(Q){return(Z,$)=>{K(Z,$,{rule:W6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function U$(Q){return(Z,$)=>{K(Z,$,{rule:G6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function B$(Q){return(Z,$)=>{K(Z,$,{rule:WQ,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function H$(Q,Z){return($,z)=>{K($,z,{rule:GQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function P$(Q){return(Z,$)=>{K(Z,$,{rule:X6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function D$(Q,Z){return($,z)=>{K($,z,{rule:XQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function h$(Q,Z){return($,z)=>{K($,z,{rule:bQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function C$(Q){return(Z,$)=>{K(Z,$,{rule:b6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function T$(Q,Z){return($,z)=>{K($,z,{rule:FQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function L$(Q){return(Z,$)=>{K(Z,$,{rule:F6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function O$(Q){return(Z,$)=>{K(Z,$,{rule:MQ,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function A$(Q,Z){return($,z)=>{K($,z,{rule:UQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function V$(Q,Z,$){return(z,I)=>{K(z,I,{rule:BQ(Q,Z),each:$?.each,groups:$?.groups,message:$?.message,context:$?.context})}}function S$(Q,Z){return($,z)=>{K($,z,{rule:HQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function R$(Q){return(Z,$)=>{K(Z,$,{rule:M6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function E$(Q){return(Z,$)=>{K(Z,$,{rule:U6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function f$(Q){return(Z,$)=>{K(Z,$,{rule:DQ,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function d$(Q){return(Z,$)=>{K(Z,$,{rule:CQ,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function _$(Q){return(Z,$)=>{K(Z,$,{rule:B6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function k$(Q){return(Z,$)=>{K(Z,$,{rule:H6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function y$(Q){return(Z,$)=>{K(Z,$,{rule:P6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function g$(Q){return(Z,$)=>{K(Z,$,{rule:D6,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function N$(Q,Z){return($,z)=>{K($,z,{rule:TQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function x$(Q,Z){return($,z)=>{K($,z,{rule:LQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function OQ(Q){let Z=($)=>{if(!Array.isArray($))return!1;return Q.every((z)=>$.includes(z))};return Z.emit=($,z)=>{return`if (!_refs[${z.addRef(Q)}].every(function(v){return ${$}.indexOf(v)!==-1;})) ${z.fail("arrayContains")};`},Z.ruleName="arrayContains",Z.constraints={values:Q},Z}function AQ(Q){let Z=($)=>{if(!Array.isArray($))return!1;return Q.every((z)=>!$.includes(z))};return Z.emit=($,z)=>{return`if (_refs[${z.addRef(Q)}].some(function(v){return ${$}.indexOf(v)!==-1;})) ${z.fail("arrayNotContains")};`},Z.ruleName="arrayNotContains",Z.constraints={values:Q},Z}function VQ(Q){let Z=($)=>Array.isArray($)&&$.length>=Q;return Z.emit=($,z)=>`if (${$}.length < ${Q}) ${z.fail("arrayMinSize")};`,Z.ruleName="arrayMinSize",Z.constraints={min:Q},Z}function SQ(Q){let Z=($)=>Array.isArray($)&&$.length<=Q;return Z.emit=($,z)=>`if (${$}.length > ${Q}) ${z.fail("arrayMaxSize")};`,Z.ruleName="arrayMaxSize",Z.constraints={max:Q},Z}function RQ(Q){let Z=($)=>{if(!Array.isArray($))return!1;if(Q){let z=$.map(Q);return new Set(z).size===z.length}return new Set($).size===$.length};return Z.emit=($,z)=>{if(Q){let I=z.addRef(Q);return`{var _keys=${$}.map(_refs[${I}]);if(new Set(_keys).size!==_keys.length)${z.fail("arrayUnique")};}`}return`if(new Set(${$}).size!==${$}.length)${z.fail("arrayUnique")};`},Z.ruleName="arrayUnique",Z.constraints={},Z}var u=(Q)=>Array.isArray(Q)&&Q.length>0;u.emit=(Q,Z)=>`if (${Q}.length === 0) ${Z.fail("arrayNotEmpty")};`;u.ruleName="arrayNotEmpty";u.constraints={};var EQ=u;function u$(Q,Z){return($,z)=>{K($,z,{rule:OQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function m$(Q,Z){return($,z)=>{K($,z,{rule:AQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function v$(Q,Z){return($,z)=>{K($,z,{rule:VQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function c$(Q,Z){return($,z)=>{K($,z,{rule:SQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function r$(Q,Z){return($,z)=>{K($,z,{rule:RQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function l$(Q){return(Z,$)=>{K(Z,$,{rule:EQ,each:Q?.each,groups:Q?.groups,message:Q?.message,context:Q?.context})}}function fQ(Q){let Z=($)=>{if($===null||typeof $!=="object"||Array.isArray($))return!1;let z=Object.keys($);if(Q?.nullable)return z.some((I)=>$[I]!=null);return z.length>0};return Z.emit=($,z)=>{if(Q?.nullable)return`if (!_refs[${z.addRef(Z)}](${$})) ${z.fail("isNotEmptyObject")};`;return`if (Object.keys(${$}).length === 0) ${z.fail("isNotEmptyObject")};`},Z.ruleName="isNotEmptyObject",Z.constraints={nullable:Q?.nullable},Z}function dQ(Q){let Z=($)=>$ instanceof Q;return Z.emit=($,z)=>{let I=z.addRef(Q);return`if (!(${$} instanceof _refs[${I}])) ${z.fail("isInstance")};`},Z.ruleName="isInstance",Z.constraints={type:Q.name},Z}function p$(Q,Z){return($,z)=>{K($,z,{rule:fQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function s$(Q,Z){return($,z)=>{K($,z,{rule:dQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function n$(Q){return(Z,$)=>{C6(Z,$,Q??{})}}function i$(Q){return(Z,$)=>{T6(Z,$,Q??{})}}function a$(Q,Z){return($,z)=>{h6($,z,{fn:Q,options:Z?{groups:Z.groups,deserializeOnly:Z.deserializeOnly,serializeOnly:Z.serializeOnly}:void 0})}}function e$(Q,Z){return($,z)=>{O($,z,{fn:Q,discriminator:Z?.discriminator,keepDiscriminatorProperty:Z?.keepDiscriminatorProperty})}}function o$(Q){return(Z,$)=>{if($!==void 0)L6(Z,$,Q);else{if(typeof Q==="function")throw Error("@Schema(fn) function form is not supported at class level");O6(Z,Q)}}}var t$={"ko-KR":/^(\+?82|0)1[016789]\d{7,8}$/,"en-US":/^\+?1?[2-9]\d{2}[2-9]\d{6}$/,"zh-CN":/^(\+?86)?1[3-9]\d{9}$/,"zh-TW":/^(\+?886)?9\d{8}$/,"ja-JP":/^(\+?81)?0?[789]0[0-9]{8}$/,"de-DE":/^(\+?49)?1(5\d|6[0-9]|7[0-9])\d{8}$/,"fr-FR":/^(\+?33)?[67]\d{8}$/,"en-GB":/^(\+?44)?7[1-9]\d{8}$/,"ru-RU":/^(\+?7)?9\d{9}$/,"pt-BR":/^(\+?55)?[1-9]{2}9?\d{8}$/,"in-IN":/^(\+?91)?[6-9]\d{9}$/,"ar-SA":/^(\+?966)?5\d{8}$/,"ar-EG":/^(\+?20)?1[0125]\d{8}$/,"vi-VN":/^(\+?84)?[35789]\d{8}$/,"th-TH":/^(\+?66)?[689]\d{8}$/,"id-ID":/^(\+?62)?8\d{9,11}$/,"ms-MY":/^(\+?60)?1\d{8,9}$/,"nl-NL":/^(\+?31)?6\d{8}$/,"it-IT":/^(\+?39)?3\d{9}$/,"es-ES":/^(\+?34)?[67]\d{8}$/,"pl-PL":/^(\+?48)?[45789]\d{8}$/};function _Q(Q){let Z=t$[Q],$=(z)=>{if(typeof z!=="string")return!1;if(!Z)return!1;return Z.test(z)};return $.emit=(z,I)=>{if(!Z)return I.fail("isMobilePhone")+";";return`if (!_re[${I.addRegex(Z)}].test(${z})) ${I.fail("isMobilePhone")};`},$.ruleName="isMobilePhone",$.requiresType="string",$.constraints={locale:Q},$}var Q8={AD:/^AD\d{3}$/,AT:/^\d{4}$/,AU:/^\d{4}$/,AZ:/^\d{4}$/,BE:/^\d{4}$/,BG:/^\d{4}$/,BR:/^\d{5}-?\d{3}$/,BY:/^\d{6}$/,CA:/^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z] ?\d[ABCEGHJ-NPRSTV-Z]\d$/i,CH:/^\d{4}$/,CN:/^\d{6}$/,CZ:/^\d{3} ?\d{2}$/,DE:/^\d{5}$/,DK:/^\d{4}$/,EE:/^\d{5}$/,ES:/^\d{5}$/,FI:/^\d{5}$/,FR:/^\d{2} ?\d{3}$/,GB:/^(GIR ?0AA|[A-PR-UWYZ]([0-9]{1,2}|([A-HK-Y][0-9]([0-9ABEHMNPRV-Y])?)|[0-9][A-HJKPSTUW]) ?[0-9][ABD-HJLNP-UW-Z]{2})$/i,GR:/^\d{3} ?\d{2}$/,HR:/^\d{5}$/,HU:/^\d{4}$/,ID:/^\d{5}$/,IL:/^\d{5}(\d{2})?$/,IN:/^\d{6}$/,IS:/^\d{3}$/,IT:/^\d{5}$/,JP:/^\d{3}-?\d{4}$/,KR:/^\d{5}$/,LI:/^(948[5-9]|949[0-7])$/,LT:/^LT-\d{5}$/,LU:/^\d{4}$/,LV:/^LV-\d{4}$/,MX:/^\d{5}$/,MT:/^[A-Z]{3} ?\d{4}$/i,MZ:/^\d{4}$/,NL:/^\d{4} ?[A-Z]{2}$/i,NO:/^\d{4}$/,NP:/^\d{5}$/,NZ:/^\d{4}$/,PH:/^\d{4}$/,PK:/^\d{5}$/,PL:/^\d{2}-\d{3}$/,PR:/^009\d{2}([ -]\d{4})?$/,PT:/^\d{4}-\d{3}$/,RO:/^\d{6}$/,RU:/^\d{6}$/,SE:/^\d{3} ?\d{2}$/,SG:/^\d{6}$/,SI:/^\d{4}$/,SK:/^\d{3} ?\d{2}$/,TH:/^\d{5}$/,TN:/^\d{4}$/,TW:/^\d{3}(\d{2})?$/,UA:/^\d{5}$/,US:/^\d{5}(-\d{4})?$/,ZA:/^\d{4}$/,ZM:/^\d{5}$/};function kQ(Q){let Z=Q8[Q],$=(z)=>{if(typeof z!=="string")return!1;if(!Z)return!1;return Z.test(z)};return $.emit=(z,I)=>{if(!Z)return I.fail("isPostalCode")+";";return`if (!_re[${I.addRegex(Z)}].test(${z})) ${I.fail("isPostalCode")};`},$.ruleName="isPostalCode",$.requiresType="string",$.constraints={locale:Q},$}var Z8={AF:/^\d{8}$/,AL:/^[A-Z]\d{8}[A-Z]$/i,AR:/^\d{7,8}$/,AZ:/^AZE\d{8}$/,BE:/^\d{11}$/,BG:/^\d{10}$/,BR:/^\d{9}$/,BY:/^[A-Z]{2}\d{7}$/i,CA:/^\d{9}$/,CH:/^756\d{10}$/,CN:/^\d{15}(\d{2}[0-9xX])?$/,CY:/^\d{7}[A-Z]$/i,CZ:/^\d{9,10}$/,DE:/^[LI TOUAEVBMNPRSZDFGHCK]{9}$/i,DK:/^\d{10}$/,EE:/^\d{11}$/,ES:/^[0-9X-Z]\d{7}[TRWAGMYFPDXBNJZSQVHLCKE]$/i,FI:/^\d{6}[+-A]\d{3}[0-9A-FHJ-NPR-Y]$/,FR:/^\d{8,9}[0-9\u00C1-\u00FF]{1}$/i,GB:/^[A-Z]{2}\d{6}[A-Z]$/i,GR:/^[A-Z]{2}\d{6}$/i,HR:/^\d{11}$/,HU:/^\d{8}[A-Z]{2}$/i,ID:/^\d{16}$/,IE:/^\d{7}[A-W][A-W]?$/,IL:/^\d{9}$/,IN:/^\d{12}$/,IR:/^\d{10}$/,IS:/^\d{10}$/,IT:/^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/i,JP:/^\d{12}$/,KR:/^\d{6}-\d{7}$/,LT:/^\d{11}$/,LU:/^\d{13}$/,LV:/^\d{6}-\d{5}$/,MK:/^\d{13}$/,MX:/^[A-Z]{4}\d{6}[HM][A-Z]{2}[B-DF-HJ-NP-TV-Z]{3}[A-Z0-9]\d$/i,MT:/^\d{7}[A-Z]$/i,NL:/^\d{9}$/,NO:/^\d{11}$/,PL:/^\d{11}$/,PT:/^[1-9]\d{7}[0-9TV]$/i,RO:/^\d{13}$/,RS:/^\d{13}$/,RU:/^\d{10}$/,SE:/^\d{10,12}$/,SI:/^\d{13}$/,SK:/^\d{9,10}$/,TH:/^\d{13}$/,TR:/^\d{11}$/,TW:/^[A-Z]\d{9}$/i,UA:/^\d{9}$/,US:/^\d{3}-\d{2}-\d{4}$/,ZA:/^\d{13}$/};function yQ(Q){let Z=Z8[Q],$=(z)=>{if(typeof z!=="string")return!1;if(!Z)return!1;return Z.test(z)};return $.emit=(z,I)=>{if(!Z)return I.fail("isIdentityCard")+";";return`if (!_re[${I.addRegex(Z)}].test(${z})) ${I.fail("isIdentityCard")};`},$.ruleName="isIdentityCard",$.requiresType="string",$.constraints={locale:Q},$}var $8={AM:/^[A-Z]{2}\d{7}$/i,AR:/^[A-Z]{3}\d{6}$/i,AT:/^[A-Z]\d{7}$/i,AU:/^[A-Z]\d{7}$/i,AZ:/^[Aa]\d{8}$/,BE:/^[A-Z]{2}\d{6}$/i,BG:/^\d{9}$/,BH:/^[A-Z]{2}\d{6}$/i,BR:/^[A-Z]{2}\d{6}$/i,BY:/^[A-Z]{2}\d{7}$/i,CA:/^[A-Z]{2}\d{6}$/i,CH:/^[A-Z]\d{7}$/i,CN:/^G\d{8}$/,CY:/^[A-Z](\d{6}|\d{8})$/i,CZ:/^\d{8}$/,DE:/^[CFGHJKLMNPRTVWXYZ0-9]{9}$/i,DK:/^\d{9}$/,EE:/^([A-Z]\d{7}|[A-Z]{2}\d{7})$/i,ES:/^[A-Z0-9]{2}([A-Z0-9]?)\d{6}$/i,FI:/^[A-Z]{2}\d{7}$/i,FR:/[A-Z0-9]{9}/i,GB:/^\d{9}$/,GR:/^[A-Z]{2}\d{7}$/i,HR:/^\d{9}$/,HU:/^[A-Z]{2}(\d{6}|\d{7})$/i,ID:/^[A-C]\d{7}$/i,IE:/^[A-Z0-9]{2}\d{7}$/i,IL:/^\d{9}$/,IN:/^[A-Z]\d{7}$/i,IR:/^[A-Z]\d{8}$/i,IS:/^(A)\d{7}$/i,IT:/^[A-Z0-9]{9}$/i,JO:/^[A-Z]{2}\d{7}$/i,JP:/^[A-Z]{2}\d{7}$/i,KR:/^[A-Z][A-Z0-9]\d{7}$/i,KW:/^\d{8}$/,KZ:/^[A-Z]\d{8}$/i,LI:/^[A-Z]\d{6}X$/i,LT:/^[A-Z0-9]{8}$/i,LU:/^[A-Z0-9]{8}$/i,LV:/^[A-Z0-9]{2}\d{7}$/i,LY:/^[A-Z]{2}\d{7}$/i,MA:/^[A-Z0-9]{2}\d{7}$/i,MD:/^[A-Z]{2}\d{7}$/i,ME:/^[A-Z]{2}\d{7}$/i,MK:/^[A-Z]\d{7}$/i,MT:/^\d{7}$/,MX:/^[A-Z]\d{8}$/i,MY:/^[AHK]\d{8}[A-Z]$/i,NL:/^[A-NP-Z]{2}[A-NP-Z0-9]{6}\d$/i,NO:/^\d{9}$/,NZ:/^[A-Z]{2}\d{6}$/i,PH:/^[A-Z]\d{7}[A-Z]$/i,PK:/^[A-Z]{2}\d{7}$/i,PL:/^[A-Z]{2}\d{7}$/i,PT:/^[A-Z]\d{6}$/i,RO:/^\d{8}$/,RS:/^\d{9}$/,RU:/^\d{9}$/,SA:/^[A-Z]\d{8}$/i,SE:/^\d{8}$/,SL:/^(P)[A-Z]\d{7}$/i,SK:/^[0-9A-Z]\d{7}$/i,TH:/^[A-Z]{1,2}\d{6,7}$/i,TN:/^\d{8}$/,TR:/^[A-Z]\d{8}$/i,TW:/^[A-Z]\d{9}$/i,UA:/^[A-Z]{2}\d{6}$/i,US:/^\d{9}$/,ZA:/^[A-Z]\d{8}$/i};function gQ(Q){let Z=$8[Q],$=(z)=>{if(typeof z!=="string")return!1;if(!Z)return!1;return Z.test(z)};return $.emit=(z,I)=>{if(!Z)return I.fail("isPassportNumber")+";";return`if (!_re[${I.addRegex(Z)}].test(${z})) ${I.fail("isPassportNumber")};`},$.ruleName="isPassportNumber",$.requiresType="string",$.constraints={locale:Q},$}function z8(Q,Z){return($,z)=>{K($,z,{rule:_Q(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function I8(Q,Z){return($,z)=>{K($,z,{rule:kQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function K8(Q,Z){return($,z)=>{K($,z,{rule:yQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}function j8(Q,Z){return($,z)=>{K($,z,{rule:gQ(Q),each:Z?.each,groups:Z?.groups,message:Z?.message,context:Z?.context})}}export{NQ as a,xQ as b,uQ as c,mQ as d,vQ as e,cQ as f,rQ as g,lQ as h,pQ as i,sQ as j,nQ as k,iQ as l,aQ as m,eQ as n,oQ as o,tQ as p,QZ as q,ZZ as r,$Z as s,zZ as t,IZ as u,KZ as v,jZ as w,JZ as x,qZ as y,YZ as z,wZ as A,LZ as B,OZ as C,AZ as D,VZ as E,SZ as F,RZ as G,EZ as H,fZ as I,dZ as J,_Z as K,kZ as L,yZ as M,gZ as N,NZ as O,xZ as P,uZ as Q,mZ as R,vZ as S,cZ as T,rZ as U,lZ as V,pZ as W,sZ as X,nZ as Y,iZ as Z,aZ as _,eZ as $,oZ as aa,tZ as ba,Q$ as ca,Z$ as da,$$ as ea,z$ as fa,I$ as ga,K$ as ha,j$ as ia,J$ as ja,q$ as ka,Y$ as la,w$ as ma,W$ as na,G$ as oa,X$ as pa,b$ as qa,F$ as ra,M$ as sa,U$ as ta,B$ as ua,H$ as va,P$ as wa,D$ as xa,h$ as ya,C$ as za,T$ as Aa,L$ as Ba,O$ as Ca,A$ as Da,V$ as Ea,S$ as Fa,R$ as Ga,E$ as Ha,f$ as Ia,d$ as Ja,_$ as Ka,k$ as La,y$ as Ma,g$ as Na,N$ as Oa,x$ as Pa,u$ as Qa,m$ as Ra,v$ as Sa,c$ as Ta,r$ as Ua,l$ as Va,p$ as Wa,s$ as Xa,n$ as Ya,i$ as Za,a$ as _a,e$ as $a,o$ as ab,z8 as bb,I8 as cb,K8 as db,j8 as eb};
|
|
12
|
+
|
|
13
|
+
//# debugId=AA223C1C9EEBEA8B64756E2164756E21
|
|
14
|
+
//# sourceMappingURL=index-jzjz61tg.js.map
|