@zipbul/baker 0.0.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 (66) hide show
  1. package/LICENSE +21 -0
  2. package/README.ko.md +448 -0
  3. package/README.md +448 -0
  4. package/dist/index-6pbm9cq6.js +15 -0
  5. package/dist/index-6pbm9cq6.js.map +17 -0
  6. package/dist/index-fww37qs9.js +5 -0
  7. package/dist/index-fww37qs9.js.map +20 -0
  8. package/dist/index-w36xamck.js +6 -0
  9. package/dist/index-w36xamck.js.map +10 -0
  10. package/dist/index.d.ts +9 -0
  11. package/dist/index.js +145 -0
  12. package/dist/index.js.map +18 -0
  13. package/dist/src/aot/array.d.ts +7 -0
  14. package/dist/src/aot/common.d.ts +15 -0
  15. package/dist/src/aot/date.d.ts +3 -0
  16. package/dist/src/aot/index.d.ts +9 -0
  17. package/dist/src/aot/index.js +5 -0
  18. package/dist/src/aot/index.js.map +18 -0
  19. package/dist/src/aot/locales.d.ts +5 -0
  20. package/dist/src/aot/number.d.ts +6 -0
  21. package/dist/src/aot/object.d.ts +6 -0
  22. package/dist/src/aot/string.d.ts +72 -0
  23. package/dist/src/aot/transform.d.ts +25 -0
  24. package/dist/src/aot/typechecker.d.ts +10 -0
  25. package/dist/src/collect.d.ts +12 -0
  26. package/dist/src/create-rule.d.ts +31 -0
  27. package/dist/src/decorators/array.d.ts +13 -0
  28. package/dist/src/decorators/common.d.ts +33 -0
  29. package/dist/src/decorators/date.d.ts +5 -0
  30. package/dist/src/decorators/index.d.ts +11 -0
  31. package/dist/src/decorators/index.js +5 -0
  32. package/dist/src/decorators/index.js.map +9 -0
  33. package/dist/src/decorators/locales.d.ts +9 -0
  34. package/dist/src/decorators/number.d.ts +11 -0
  35. package/dist/src/decorators/object.d.ts +9 -0
  36. package/dist/src/decorators/string.d.ts +72 -0
  37. package/dist/src/decorators/transform.d.ts +68 -0
  38. package/dist/src/decorators/typechecker.d.ts +18 -0
  39. package/dist/src/errors.d.ts +37 -0
  40. package/dist/src/functions/deserialize.d.ts +8 -0
  41. package/dist/src/functions/index.d.ts +2 -0
  42. package/dist/src/functions/serialize.d.ts +8 -0
  43. package/dist/src/interfaces.d.ts +47 -0
  44. package/dist/src/registry.d.ts +16 -0
  45. package/dist/src/rules/array.d.ts +7 -0
  46. package/dist/src/rules/common.d.ts +7 -0
  47. package/dist/src/rules/date.d.ts +3 -0
  48. package/dist/src/rules/index.d.ts +11 -0
  49. package/dist/src/rules/index.js +5 -0
  50. package/dist/src/rules/index.js.map +9 -0
  51. package/dist/src/rules/locales.d.ts +5 -0
  52. package/dist/src/rules/number.d.ts +6 -0
  53. package/dist/src/rules/object.d.ts +7 -0
  54. package/dist/src/rules/string.d.ts +145 -0
  55. package/dist/src/rules/typechecker.d.ts +14 -0
  56. package/dist/src/seal/circular-analyzer.d.ts +13 -0
  57. package/dist/src/seal/deserialize-builder.d.ts +5 -0
  58. package/dist/src/seal/expose-validator.d.ts +11 -0
  59. package/dist/src/seal/index.d.ts +5 -0
  60. package/dist/src/seal/seal.d.ts +27 -0
  61. package/dist/src/seal/serialize-builder.d.ts +7 -0
  62. package/dist/src/symbols.d.ts +8 -0
  63. package/dist/src/symbols.js +5 -0
  64. package/dist/src/symbols.js.map +9 -0
  65. package/dist/src/types.d.ts +119 -0
  66. package/package.json +83 -0
@@ -0,0 +1,72 @@
1
+ import type { ValidationOptions } from '../interfaces';
2
+ import type { IsEmailOptions, IsURLOptions, IsBase32Options, IsBase64Options, IsDateStringOptions, IsCurrencyOptions, IsMACAddressOptions, IsIBANOptions, IsISSNOptions, IsFQDNOptions, IsLatLongOptions, IsISO8601Options, IsNumberStringOptions, IsDecimalOptions, IsStrongPasswordOptions } from '../rules/string';
3
+ export type { IsEmailOptions, IsURLOptions, IsBase32Options, IsBase64Options, IsDateStringOptions, IsCurrencyOptions, IsMACAddressOptions, IsIBANOptions, IsISSNOptions, IsFQDNOptions, IsLatLongOptions, IsISO8601Options, IsNumberStringOptions, IsDecimalOptions, IsStrongPasswordOptions, };
4
+ export declare function MinLength(_min: number, _options?: ValidationOptions): PropertyDecorator;
5
+ export declare function MaxLength(_max: number, _options?: ValidationOptions): PropertyDecorator;
6
+ export declare function Length(_min: number, _max: number, _options?: ValidationOptions): PropertyDecorator;
7
+ export declare function Contains(_seed: string, _options?: ValidationOptions): PropertyDecorator;
8
+ export declare function NotContains(_seed: string, _options?: ValidationOptions): PropertyDecorator;
9
+ export declare function Matches(_pattern: string | RegExp, _modifiers?: string, _options?: ValidationOptions): PropertyDecorator;
10
+ export declare function IsLowercase(_options?: ValidationOptions): PropertyDecorator;
11
+ export declare function IsUppercase(_options?: ValidationOptions): PropertyDecorator;
12
+ export declare function IsAscii(_options?: ValidationOptions): PropertyDecorator;
13
+ export declare function IsAlpha(_options?: ValidationOptions): PropertyDecorator;
14
+ export declare function IsAlphanumeric(_options?: ValidationOptions): PropertyDecorator;
15
+ export declare function IsBooleanString(_options?: ValidationOptions): PropertyDecorator;
16
+ export declare function IsNumberString(_numberOptions?: IsNumberStringOptions, _options?: ValidationOptions): PropertyDecorator;
17
+ export declare function IsDecimal(_decimalOptions?: IsDecimalOptions, _options?: ValidationOptions): PropertyDecorator;
18
+ export declare function IsFullWidth(_options?: ValidationOptions): PropertyDecorator;
19
+ export declare function IsHalfWidth(_options?: ValidationOptions): PropertyDecorator;
20
+ export declare function IsVariableWidth(_options?: ValidationOptions): PropertyDecorator;
21
+ export declare function IsMultibyte(_options?: ValidationOptions): PropertyDecorator;
22
+ export declare function IsSurrogatePair(_options?: ValidationOptions): PropertyDecorator;
23
+ export declare function IsHexadecimal(_options?: ValidationOptions): PropertyDecorator;
24
+ export declare function IsOctal(_options?: ValidationOptions): PropertyDecorator;
25
+ export declare function IsEmail(_emailOptions?: IsEmailOptions, _options?: ValidationOptions): PropertyDecorator;
26
+ export declare function IsURL(_urlOptions?: IsURLOptions, _options?: ValidationOptions): PropertyDecorator;
27
+ export declare function IsUUID(_version?: 1 | 2 | 3 | 4 | 5 | 'all', _options?: ValidationOptions): PropertyDecorator;
28
+ export declare function IsIP(_version?: 4 | 6, _options?: ValidationOptions): PropertyDecorator;
29
+ export declare function IsHexColor(_options?: ValidationOptions): PropertyDecorator;
30
+ export declare function IsRgbColor(_includePercentValues?: boolean, _options?: ValidationOptions): PropertyDecorator;
31
+ export declare function IsHSL(_options?: ValidationOptions): PropertyDecorator;
32
+ export declare function IsMACAddress(_macOptions?: IsMACAddressOptions, _options?: ValidationOptions): PropertyDecorator;
33
+ export declare function IsISBN(_version?: 10 | 13, _options?: ValidationOptions): PropertyDecorator;
34
+ export declare function IsISIN(_options?: ValidationOptions): PropertyDecorator;
35
+ export declare function IsISO8601(_isoOptions?: IsISO8601Options, _options?: ValidationOptions): PropertyDecorator;
36
+ export declare function IsISRC(_options?: ValidationOptions): PropertyDecorator;
37
+ export declare function IsISSN(_issnOptions?: IsISSNOptions, _options?: ValidationOptions): PropertyDecorator;
38
+ export declare function IsJWT(_options?: ValidationOptions): PropertyDecorator;
39
+ export declare function IsLatLong(_latLongOptions?: IsLatLongOptions, _options?: ValidationOptions): PropertyDecorator;
40
+ export declare function IsLocale(_options?: ValidationOptions): PropertyDecorator;
41
+ export declare function IsDataURI(_options?: ValidationOptions): PropertyDecorator;
42
+ export declare function IsFQDN(_fqdnOptions?: IsFQDNOptions, _options?: ValidationOptions): PropertyDecorator;
43
+ export declare function IsPort(_options?: ValidationOptions): PropertyDecorator;
44
+ export declare function IsEAN(_options?: ValidationOptions): PropertyDecorator;
45
+ export declare function IsISO31661Alpha2(_options?: ValidationOptions): PropertyDecorator;
46
+ export declare function IsISO31661Alpha3(_options?: ValidationOptions): PropertyDecorator;
47
+ export declare function IsBIC(_options?: ValidationOptions): PropertyDecorator;
48
+ export declare function IsFirebasePushId(_options?: ValidationOptions): PropertyDecorator;
49
+ export declare function IsSemVer(_options?: ValidationOptions): PropertyDecorator;
50
+ export declare function IsMongoId(_options?: ValidationOptions): PropertyDecorator;
51
+ export declare function IsJSON(_options?: ValidationOptions): PropertyDecorator;
52
+ export declare function IsBase32(_base32Options?: IsBase32Options, _options?: ValidationOptions): PropertyDecorator;
53
+ export declare function IsBase58(_options?: ValidationOptions): PropertyDecorator;
54
+ export declare function IsBase64(_base64Options?: IsBase64Options, _options?: ValidationOptions): PropertyDecorator;
55
+ export declare function IsDateString(_dateOptions?: IsDateStringOptions, _options?: ValidationOptions): PropertyDecorator;
56
+ export declare function IsMimeType(_options?: ValidationOptions): PropertyDecorator;
57
+ export declare function IsCurrency(_currencyOptions?: IsCurrencyOptions, _options?: ValidationOptions): PropertyDecorator;
58
+ export declare function IsMagnetURI(_options?: ValidationOptions): PropertyDecorator;
59
+ export declare function IsCreditCard(_options?: ValidationOptions): PropertyDecorator;
60
+ export declare function IsIBAN(_ibanOptions?: IsIBANOptions, _options?: ValidationOptions): PropertyDecorator;
61
+ export declare function IsByteLength(_min: number, _max?: number, _options?: ValidationOptions): PropertyDecorator;
62
+ export declare function IsHash(_algorithm: string, _options?: ValidationOptions): PropertyDecorator;
63
+ export declare function IsRFC3339(_options?: ValidationOptions): PropertyDecorator;
64
+ export declare function IsMilitaryTime(_options?: ValidationOptions): PropertyDecorator;
65
+ export declare function IsLatitude(_options?: ValidationOptions): PropertyDecorator;
66
+ export declare function IsLongitude(_options?: ValidationOptions): PropertyDecorator;
67
+ export declare function IsEthereumAddress(_options?: ValidationOptions): PropertyDecorator;
68
+ export declare function IsBtcAddress(_options?: ValidationOptions): PropertyDecorator;
69
+ export declare function IsISO4217CurrencyCode(_options?: ValidationOptions): PropertyDecorator;
70
+ export declare function IsPhoneNumber(_options?: ValidationOptions): PropertyDecorator;
71
+ export declare function IsStrongPassword(_pwOptions?: IsStrongPasswordOptions, _options?: ValidationOptions): PropertyDecorator;
72
+ export declare function IsTaxId(_locale: string, _options?: ValidationOptions): PropertyDecorator;
@@ -0,0 +1,25 @@
1
+ export interface ExposeOptions {
2
+ name?: string;
3
+ groups?: string[];
4
+ since?: number;
5
+ until?: number;
6
+ deserializeOnly?: boolean;
7
+ serializeOnly?: boolean;
8
+ }
9
+ export interface ExcludeOptions {
10
+ deserializeOnly?: boolean;
11
+ serializeOnly?: boolean;
12
+ }
13
+ export interface TransformOptions {
14
+ deserializeOnly?: boolean;
15
+ serializeOnly?: boolean;
16
+ groups?: string[];
17
+ }
18
+ export interface TypeOptions {
19
+ deserializeOnly?: boolean;
20
+ serializeOnly?: boolean;
21
+ }
22
+ export declare function Expose(_options?: ExposeOptions): PropertyDecorator;
23
+ export declare function Exclude(_options?: ExcludeOptions): PropertyDecorator;
24
+ export declare function Transform(_fn: (value: unknown, obj: unknown) => unknown, _options?: TransformOptions): PropertyDecorator;
25
+ export declare function Type(_fn: () => new (...args: any[]) => unknown, _options?: TypeOptions): PropertyDecorator;
@@ -0,0 +1,10 @@
1
+ import type { ValidationOptions } from '../interfaces';
2
+ import type { IsNumberOptions } from '../rules/typechecker';
3
+ export declare function IsString(_options?: ValidationOptions): PropertyDecorator;
4
+ export declare function IsNumber(_numberOptions?: IsNumberOptions, _options?: ValidationOptions): PropertyDecorator;
5
+ export declare function IsBoolean(_options?: ValidationOptions): PropertyDecorator;
6
+ export declare function IsDate(_options?: ValidationOptions): PropertyDecorator;
7
+ export declare function IsEnum(_entity: object, _options?: ValidationOptions): PropertyDecorator;
8
+ export declare function IsInt(_options?: ValidationOptions): PropertyDecorator;
9
+ export declare function IsArray(_options?: ValidationOptions): PropertyDecorator;
10
+ export declare function IsObject(_options?: ValidationOptions): PropertyDecorator;
@@ -0,0 +1,12 @@
1
+ import type { RawPropertyMeta, RuleDef, TransformDef, ExposeDef, ExcludeDef, TypeDef } from './types';
2
+ /**
3
+ * ctor에 대한 propertyKey의 RawPropertyMeta를 반환한다.
4
+ * - 존재하지 않으면 기본값으로 생성한다.
5
+ * - 전역 레지스트리에 ctor를 자동 등록한다 (데코레이터가 1개라도 있으면 등록).
6
+ */
7
+ export declare function ensureMeta(ctor: Function, key: string): RawPropertyMeta;
8
+ export declare function collectValidation(target: object, key: string, ruleDef: RuleDef): void;
9
+ export declare function collectTransform(target: object, key: string, transformDef: TransformDef): void;
10
+ export declare function collectExpose(target: object, key: string, exposeDef: ExposeDef): void;
11
+ export declare function collectExclude(target: object, key: string, excludeDef: ExcludeDef): void;
12
+ export declare function collectType(target: object, key: string, typeDef: TypeDef): void;
@@ -0,0 +1,31 @@
1
+ import type { EmittableRule } from './types';
2
+ export interface CreateRuleOptions {
3
+ /** 규칙 이름. 에러 코드로 사용됨. */
4
+ name: string;
5
+ /** 검증 함수 — true: 통과, false: 실패. async 함수 허용 (Promise<boolean> 반환 시 자동으로 async 루르로 등록). */
6
+ validate: (value: unknown) => boolean | Promise<boolean>;
7
+ /**
8
+ * 기본 에러 메시지.
9
+ * @phase2 — 현재는 수집만 하고 코드 생성에서 미사용.
10
+ */
11
+ defaultMessage?: string;
12
+ }
13
+ /**
14
+ * 사용자 정의 검증 규칙을 생성한다.
15
+ *
16
+ * 반환된 EmittableRule은:
17
+ * - 함수로 직접 호출 가능 (validate 위임)
18
+ * - .emit()으로 인라인 코드 생성 지원
19
+ * - 데코레이터/헬퍼 양쪽에서 사용 가능
20
+ *
21
+ * @example
22
+ * const isEven = createRule({
23
+ * name: 'isEven',
24
+ * validate: (v) => typeof v === 'number' && v % 2 === 0,
25
+ * });
26
+ *
27
+ * class Dto {
28
+ * @IsEven() count: number;
29
+ * }
30
+ */
31
+ export declare function createRule(options: CreateRuleOptions): EmittableRule;
@@ -0,0 +1,13 @@
1
+ import type { ValidationOptions } from '../interfaces';
2
+ /** 배열이 지정한 모든 값을 포함 */
3
+ export declare function ArrayContains(values: unknown[], options?: ValidationOptions): PropertyDecorator;
4
+ /** 배열이 지정한 값을 포함하지 않음 */
5
+ export declare function ArrayNotContains(values: unknown[], options?: ValidationOptions): PropertyDecorator;
6
+ /** 배열 최소 길이 */
7
+ export declare function ArrayMinSize(min: number, options?: ValidationOptions): PropertyDecorator;
8
+ /** 배열 최대 길이 */
9
+ export declare function ArrayMaxSize(max: number, options?: ValidationOptions): PropertyDecorator;
10
+ /** 배열에 중복 값 없음 */
11
+ export declare function ArrayUnique(identifier?: (o: unknown) => unknown, options?: ValidationOptions): PropertyDecorator;
12
+ /** 배열이 비어있지 않음 */
13
+ export declare function ArrayNotEmpty(options?: ValidationOptions): PropertyDecorator;
@@ -0,0 +1,33 @@
1
+ import type { ValidationOptions } from '../interfaces';
2
+ /**
3
+ * undefined/null 불허. groups를 무시하고 항상 적용.
4
+ * @IsDefined와 @IsOptional 동시 선언 시 @IsDefined 우선 (optional 가드 생략).
5
+ */
6
+ export declare function IsDefined(_options?: ValidationOptions): PropertyDecorator;
7
+ /**
8
+ * undefined/null 허용 — 해당 필드의 전체 validation을 skip.
9
+ * @IsDefined와 동시 선언 시 @IsDefined 우선.
10
+ */
11
+ export declare function IsOptional(_options?: ValidationOptions): PropertyDecorator;
12
+ /**
13
+ * 조건이 false일 때 해당 필드의 전체 검증을 skip.
14
+ * 조건 함수는 원본 input 객체를 인자로 받는다.
15
+ */
16
+ export declare function ValidateIf(condition: (obj: any) => boolean): PropertyDecorator;
17
+ /**
18
+ * 중첩 DTO 재귀 검증 트리거. @Type과 함께 사용해야 한다.
19
+ * builder 트리거 조건: meta.type !== null && meta.flags.validateNested === true
20
+ */
21
+ export declare function ValidateNested(options?: ValidationOptions): PropertyDecorator;
22
+ /** value === comparison (strict equality) */
23
+ export declare function Equals(comparison: unknown, options?: ValidationOptions): PropertyDecorator;
24
+ /** value !== comparison (strict inequality) */
25
+ export declare function NotEquals(comparison: unknown, options?: ValidationOptions): PropertyDecorator;
26
+ /** value === undefined | null | '' */
27
+ export declare function IsEmpty(options?: ValidationOptions): PropertyDecorator;
28
+ /** value !== undefined && value !== null && value !== '' */
29
+ export declare function IsNotEmpty(options?: ValidationOptions): PropertyDecorator;
30
+ /** array.indexOf(value) !== -1 */
31
+ export declare function IsIn(array: readonly unknown[], options?: ValidationOptions): PropertyDecorator;
32
+ /** array.indexOf(value) === -1 */
33
+ export declare function IsNotIn(array: readonly unknown[], options?: ValidationOptions): PropertyDecorator;
@@ -0,0 +1,5 @@
1
+ import type { ValidationOptions } from '../interfaces';
2
+ /** value >= date (inclusive, getTime 비교) */
3
+ export declare function MinDate(date: Date, options?: ValidationOptions): PropertyDecorator;
4
+ /** value <= date (inclusive, getTime 비교) */
5
+ export declare function MaxDate(date: Date, options?: ValidationOptions): PropertyDecorator;
@@ -0,0 +1,11 @@
1
+ export { IsDefined, IsOptional, ValidateIf, ValidateNested, Equals, NotEquals, IsEmpty, IsNotEmpty, IsIn, IsNotIn, } from './common';
2
+ export { IsString, IsNumber, IsBoolean, IsDate, IsEnum, IsInt, IsArray, IsObject, } from './typechecker';
3
+ export { Min, Max, IsPositive, IsNegative, IsDivisibleBy, } from './number';
4
+ export { MinDate, MaxDate, } from './date';
5
+ export { MinLength, MaxLength, Length, Contains, NotContains, Matches, IsLowercase, IsUppercase, IsAscii, IsAlpha, IsAlphanumeric, IsBooleanString, IsNumberString, IsDecimal, IsFullWidth, IsHalfWidth, IsVariableWidth, IsMultibyte, IsSurrogatePair, IsHexadecimal, IsOctal, IsEmail, IsURL, IsUUID, IsIP, IsHexColor, IsRgbColor, IsHSL, IsMACAddress, IsISBN, IsISIN, IsISO8601, IsISRC, IsISSN, IsJWT, IsLatLong, IsLocale, IsDataURI, IsFQDN, IsPort, IsEAN, IsISO31661Alpha2, IsISO31661Alpha3, IsBIC, IsFirebasePushId, IsSemVer, IsMongoId, IsJSON, IsBase32, IsBase58, IsBase64, IsDateString, IsMimeType, IsCurrency, IsMagnetURI, IsCreditCard, IsIBAN, IsByteLength, IsHash, IsRFC3339, IsMilitaryTime, IsLatitude, IsLongitude, IsEthereumAddress, IsBtcAddress, IsISO4217CurrencyCode, IsPhoneNumber, IsStrongPassword, IsTaxId, } from './string';
6
+ export type { IsEmailOptions, IsURLOptions, IsBase32Options, IsBase64Options, IsDateStringOptions, IsCurrencyOptions, IsMACAddressOptions, IsIBANOptions, IsISSNOptions, IsFQDNOptions, IsLatLongOptions, IsISO8601Options, IsNumberStringOptions, IsDecimalOptions, IsStrongPasswordOptions, } from './string';
7
+ export { ArrayContains, ArrayNotContains, ArrayMinSize, ArrayMaxSize, ArrayUnique, ArrayNotEmpty, } from './array';
8
+ export { IsNotEmptyObject, IsInstance, } from './object';
9
+ export { Expose, Exclude, Transform, Type, } from './transform';
10
+ export type { ExposeOptions, ExcludeOptions, TransformOptions, TypeOptions, } from './transform';
11
+ export { IsMobilePhone, IsPostalCode, IsIdentityCard, IsPassportNumber, } from './locales';
@@ -0,0 +1,5 @@
1
+ // @bun
2
+ import{$ as Z,$a as Za,A as y,Aa as ya,B as z,Ba as za,C as A,Ca as Aa,D as B,Da as Ba,E as C,Ea as Ca,F as D,Fa as Da,G as E,Ga as Ea,H as F,Ha as Fa,I as G,Ia as Ga,J as H,Ja as Ha,K as I,Ka as Ia,L as J,La as Ja,M as K,Ma as Ka,N as L,Na as La,O as M,Oa as Ma,P as N,Pa as Na,Q as O,Qa as Oa,R as P,Ra as Pa,S as Q,Sa as Qa,T as R,Ta as Ra,U as S,Ua as Sa,V as T,Va as Ta,W as U,Wa as Ua,X as V,Xa as Va,Y as W,Ya as Wa,Z as X,Za as Xa,_ as Y,_a as Ya,aa as _,ab as _a,ba as $,bb as $a,c as a,ca as aa,cb as ab,d as b,da as ba,db as bb,e as c,ea as ca,f as d,fa as da,g as e,ga as ea,h as f,ha as fa,i as g,ia as ga,j as h,ja as ha,k as i,ka as ia,l as j,la as ja,m as k,ma as ka,n as l,na as la,o as m,oa as ma,p as n,pa as na,q as o,qa as oa,r as p,ra as pa,s as q,sa as qa,t as r,ta as ra,u as s,ua as sa,v as t,va as ta,w as u,wa as ua,x as v,xa as va,y as w,ya as wa,z as x,za as xa}from"../../index-fww37qs9.js";import"../../index-6pbm9cq6.js";import"../../index-w36xamck.js";export{d as ValidateNested,c as ValidateIf,Za as Type,Ya as Transform,f as NotEquals,D as NotContains,z as MinLength,x as MinDate,s as Min,A as MaxLength,y as MaxDate,t as Max,E as Matches,B as Length,P as IsVariableWidth,G as IsUppercase,W as IsUUID,V as IsURL,Na as IsTaxId,R as IsSurrogatePair,Ma as IsStrongPassword,k as IsString,qa as IsSemVer,Z as IsRgbColor,Ea as IsRFC3339,$a as IsPostalCode,u as IsPositive,ka as IsPort,La as IsPhoneNumber,bb as IsPassportNumber,b as IsOptional,T as IsOctal,r as IsObject,L as IsNumberString,l as IsNumber,j as IsNotIn,Ua as IsNotEmptyObject,h as IsNotEmpty,v as IsNegative,Q as IsMultibyte,ra as IsMongoId,_a as IsMobilePhone,xa as IsMimeType,Fa as IsMilitaryTime,za as IsMagnetURI,$ as IsMACAddress,F as IsLowercase,Ha as IsLongitude,ha as IsLocale,Ga as IsLatitude,ga as IsLatLong,fa as IsJWT,sa as IsJSON,p as IsInt,Va as IsInstance,i as IsIn,ab as IsIdentityCard,ea as IsISSN,da as IsISRC,ca as IsISO8601,Ka as IsISO4217CurrencyCode,na as IsISO31661Alpha3,ma as IsISO31661Alpha2,ba as IsISIN,aa as IsISBN,X as IsIP,Ba as IsIBAN,S as IsHexadecimal,Y as IsHexColor,Da as IsHash,O as IsHalfWidth,_ as IsHSL,N as IsFullWidth,pa as IsFirebasePushId,ja as IsFQDN,Ia as IsEthereumAddress,o as IsEnum,g as IsEmpty,U as IsEmail,la as IsEAN,w as IsDivisibleBy,a as IsDefined,M as IsDecimal,wa as IsDateString,n as IsDate,ia as IsDataURI,ya as IsCurrency,Aa as IsCreditCard,Ca as IsByteLength,Ja as IsBtcAddress,K as IsBooleanString,m as IsBoolean,va as IsBase64,ua as IsBase58,ta as IsBase32,oa as IsBIC,H as IsAscii,q as IsArray,J as IsAlphanumeric,I as IsAlpha,Wa as Expose,Xa as Exclude,e as Equals,C as Contains,Sa as ArrayUnique,Ta as ArrayNotEmpty,Pa as ArrayNotContains,Qa as ArrayMinSize,Ra as ArrayMaxSize,Oa as ArrayContains};
3
+
4
+ //# debugId=991F98642146307F64756E2164756E21
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "991F98642146307F64756E2164756E21",
8
+ "names": []
9
+ }
@@ -0,0 +1,9 @@
1
+ import type { ValidationOptions } from '../interfaces';
2
+ /** 로케일별 모바일 전화번호 */
3
+ export declare function IsMobilePhone(locale: string, options?: ValidationOptions): PropertyDecorator;
4
+ /** 로케일별 우편번호 */
5
+ export declare function IsPostalCode(locale: string, options?: ValidationOptions): PropertyDecorator;
6
+ /** 로케일별 신분증 번호 */
7
+ export declare function IsIdentityCard(locale: string, options?: ValidationOptions): PropertyDecorator;
8
+ /** 로케일별 여권 번호 */
9
+ export declare function IsPassportNumber(locale: string, options?: ValidationOptions): PropertyDecorator;
@@ -0,0 +1,11 @@
1
+ import type { ValidationOptions } from '../interfaces';
2
+ /** value >= n */
3
+ export declare function Min(n: number, options?: ValidationOptions): PropertyDecorator;
4
+ /** value <= n */
5
+ export declare function Max(n: number, options?: ValidationOptions): PropertyDecorator;
6
+ /** value > 0 */
7
+ export declare function IsPositive(options?: ValidationOptions): PropertyDecorator;
8
+ /** value < 0 */
9
+ export declare function IsNegative(options?: ValidationOptions): PropertyDecorator;
10
+ /** value % n === 0 */
11
+ export declare function IsDivisibleBy(n: number, options?: ValidationOptions): PropertyDecorator;
@@ -0,0 +1,9 @@
1
+ import type { IsNotEmptyObjectOptions } from '../rules/object';
2
+ import type { ValidationOptions } from '../interfaces';
3
+ /**
4
+ * 빈 객체가 아님 (최소 1개의 key).
5
+ * nullable: true이면 null/undefined 값을 가진 키를 무시.
6
+ */
7
+ export declare function IsNotEmptyObject(objectOptions?: IsNotEmptyObjectOptions, options?: ValidationOptions): PropertyDecorator;
8
+ /** value instanceof targetType */
9
+ export declare function IsInstance(targetType: new (...args: any[]) => any, options?: ValidationOptions): PropertyDecorator;
@@ -0,0 +1,72 @@
1
+ import type { IsEmailOptions, IsURLOptions, IsBase32Options, IsBase64Options, IsDateStringOptions, IsCurrencyOptions, IsMACAddressOptions, IsIBANOptions, IsISSNOptions, IsFQDNOptions, IsLatLongOptions, IsISO8601Options, IsNumberStringOptions, IsDecimalOptions, IsStrongPasswordOptions } from '../rules/string';
2
+ import type { ValidationOptions } from '../interfaces';
3
+ export type { IsEmailOptions, IsURLOptions, IsBase32Options, IsBase64Options, IsDateStringOptions, IsCurrencyOptions, IsMACAddressOptions, IsIBANOptions, IsISSNOptions, IsFQDNOptions, IsLatLongOptions, IsISO8601Options, IsNumberStringOptions, IsDecimalOptions, IsStrongPasswordOptions, };
4
+ export declare function MinLength(min: number, options?: ValidationOptions): PropertyDecorator;
5
+ export declare function MaxLength(max: number, options?: ValidationOptions): PropertyDecorator;
6
+ export declare function Length(min: number, max: number, options?: ValidationOptions): PropertyDecorator;
7
+ export declare function Contains(seed: string, options?: ValidationOptions): PropertyDecorator;
8
+ export declare function NotContains(seed: string, options?: ValidationOptions): PropertyDecorator;
9
+ export declare function Matches(pattern: string | RegExp, modifiers?: string, options?: ValidationOptions): PropertyDecorator;
10
+ export declare function IsLowercase(options?: ValidationOptions): PropertyDecorator;
11
+ export declare function IsUppercase(options?: ValidationOptions): PropertyDecorator;
12
+ export declare function IsAscii(options?: ValidationOptions): PropertyDecorator;
13
+ export declare function IsAlpha(options?: ValidationOptions): PropertyDecorator;
14
+ export declare function IsAlphanumeric(options?: ValidationOptions): PropertyDecorator;
15
+ export declare function IsBooleanString(options?: ValidationOptions): PropertyDecorator;
16
+ export declare function IsNumberString(numberOptions?: IsNumberStringOptions, options?: ValidationOptions): PropertyDecorator;
17
+ export declare function IsDecimal(decimalOptions?: IsDecimalOptions, options?: ValidationOptions): PropertyDecorator;
18
+ export declare function IsFullWidth(options?: ValidationOptions): PropertyDecorator;
19
+ export declare function IsHalfWidth(options?: ValidationOptions): PropertyDecorator;
20
+ export declare function IsVariableWidth(options?: ValidationOptions): PropertyDecorator;
21
+ export declare function IsMultibyte(options?: ValidationOptions): PropertyDecorator;
22
+ export declare function IsSurrogatePair(options?: ValidationOptions): PropertyDecorator;
23
+ export declare function IsHexadecimal(options?: ValidationOptions): PropertyDecorator;
24
+ export declare function IsOctal(options?: ValidationOptions): PropertyDecorator;
25
+ export declare function IsEmail(emailOptions?: IsEmailOptions, options?: ValidationOptions): PropertyDecorator;
26
+ export declare function IsURL(urlOptions?: IsURLOptions, options?: ValidationOptions): PropertyDecorator;
27
+ export declare function IsUUID(version?: 1 | 2 | 3 | 4 | 5 | 'all', options?: ValidationOptions): PropertyDecorator;
28
+ export declare function IsIP(version?: 4 | 6, options?: ValidationOptions): PropertyDecorator;
29
+ export declare function IsHexColor(options?: ValidationOptions): PropertyDecorator;
30
+ export declare function IsRgbColor(includePercentValues?: boolean, options?: ValidationOptions): PropertyDecorator;
31
+ export declare function IsHSL(options?: ValidationOptions): PropertyDecorator;
32
+ export declare function IsMACAddress(macOptions?: IsMACAddressOptions, options?: ValidationOptions): PropertyDecorator;
33
+ export declare function IsISBN(version?: 10 | 13, options?: ValidationOptions): PropertyDecorator;
34
+ export declare function IsISIN(options?: ValidationOptions): PropertyDecorator;
35
+ export declare function IsISO8601(isoOptions?: IsISO8601Options, options?: ValidationOptions): PropertyDecorator;
36
+ export declare function IsISRC(options?: ValidationOptions): PropertyDecorator;
37
+ export declare function IsISSN(issnOptions?: IsISSNOptions, options?: ValidationOptions): PropertyDecorator;
38
+ export declare function IsJWT(options?: ValidationOptions): PropertyDecorator;
39
+ export declare function IsLatLong(latLongOptions?: IsLatLongOptions, options?: ValidationOptions): PropertyDecorator;
40
+ export declare function IsLocale(options?: ValidationOptions): PropertyDecorator;
41
+ export declare function IsDataURI(options?: ValidationOptions): PropertyDecorator;
42
+ export declare function IsFQDN(fqdnOptions?: IsFQDNOptions, options?: ValidationOptions): PropertyDecorator;
43
+ export declare function IsPort(options?: ValidationOptions): PropertyDecorator;
44
+ export declare function IsEAN(options?: ValidationOptions): PropertyDecorator;
45
+ export declare function IsISO31661Alpha2(options?: ValidationOptions): PropertyDecorator;
46
+ export declare function IsISO31661Alpha3(options?: ValidationOptions): PropertyDecorator;
47
+ export declare function IsBIC(options?: ValidationOptions): PropertyDecorator;
48
+ export declare function IsFirebasePushId(options?: ValidationOptions): PropertyDecorator;
49
+ export declare function IsSemVer(options?: ValidationOptions): PropertyDecorator;
50
+ export declare function IsMongoId(options?: ValidationOptions): PropertyDecorator;
51
+ export declare function IsJSON(options?: ValidationOptions): PropertyDecorator;
52
+ export declare function IsBase32(base32Options?: IsBase32Options, options?: ValidationOptions): PropertyDecorator;
53
+ export declare function IsBase58(options?: ValidationOptions): PropertyDecorator;
54
+ export declare function IsBase64(base64Options?: IsBase64Options, options?: ValidationOptions): PropertyDecorator;
55
+ export declare function IsDateString(dateOptions?: IsDateStringOptions, options?: ValidationOptions): PropertyDecorator;
56
+ export declare function IsMimeType(options?: ValidationOptions): PropertyDecorator;
57
+ export declare function IsCurrency(currencyOptions?: IsCurrencyOptions, options?: ValidationOptions): PropertyDecorator;
58
+ export declare function IsMagnetURI(options?: ValidationOptions): PropertyDecorator;
59
+ export declare function IsCreditCard(options?: ValidationOptions): PropertyDecorator;
60
+ export declare function IsIBAN(ibanOptions?: IsIBANOptions, options?: ValidationOptions): PropertyDecorator;
61
+ export declare function IsByteLength(min: number, max?: number, options?: ValidationOptions): PropertyDecorator;
62
+ export declare function IsHash(algorithm: string, options?: ValidationOptions): PropertyDecorator;
63
+ export declare function IsRFC3339(options?: ValidationOptions): PropertyDecorator;
64
+ export declare function IsMilitaryTime(options?: ValidationOptions): PropertyDecorator;
65
+ export declare function IsLatitude(options?: ValidationOptions): PropertyDecorator;
66
+ export declare function IsLongitude(options?: ValidationOptions): PropertyDecorator;
67
+ export declare function IsEthereumAddress(options?: ValidationOptions): PropertyDecorator;
68
+ export declare function IsBtcAddress(options?: ValidationOptions): PropertyDecorator;
69
+ export declare function IsISO4217CurrencyCode(options?: ValidationOptions): PropertyDecorator;
70
+ export declare function IsPhoneNumber(options?: ValidationOptions): PropertyDecorator;
71
+ export declare function IsStrongPassword(pwOptions?: IsStrongPasswordOptions, options?: ValidationOptions): PropertyDecorator;
72
+ export declare function IsTaxId(locale: string, options?: ValidationOptions): PropertyDecorator;
@@ -0,0 +1,68 @@
1
+ import type { TransformFunction } from '../types';
2
+ export interface ExposeOptions {
3
+ /** 출력 측 키 매핑 이름. deserialize/serialize 방향에 따라 다르게 설정 가능. */
4
+ name?: string;
5
+ /** 이 @Expose가 적용되는 groups. */
6
+ groups?: string[];
7
+ /** true: deserialize 방향에만 적용 (class-transformer toClassOnly 대응) */
8
+ deserializeOnly?: boolean;
9
+ /** true: serialize 방향에만 적용 (class-transformer toPlainOnly 대응) */
10
+ serializeOnly?: boolean;
11
+ }
12
+ export interface ExcludeOptions {
13
+ /** true: deserialize 방향에만 제외 */
14
+ deserializeOnly?: boolean;
15
+ /** true: serialize 방향에만 제외 */
16
+ serializeOnly?: boolean;
17
+ }
18
+ export interface TransformOptions {
19
+ /** 이 @Transform이 적용되는 groups */
20
+ groups?: string[];
21
+ /** true: deserialize 방향에만 적용 */
22
+ deserializeOnly?: boolean;
23
+ /** true: serialize 방향에만 적용 */
24
+ serializeOnly?: boolean;
25
+ }
26
+ export interface TypeOptions {
27
+ /** discriminator 설정 — 다형성 지원 (§8) */
28
+ discriminator?: {
29
+ property: string;
30
+ subTypes: {
31
+ value: Function;
32
+ name: string;
33
+ }[];
34
+ };
35
+ /** discriminator 프로퍼티를 결과 객체에 유지할지 여부 */
36
+ keepDiscriminatorProperty?: boolean;
37
+ }
38
+ /**
39
+ * 필드를 baker에 등록하고 선택적으로 name 매핑/groups/방향 제어를 수행.
40
+ *
41
+ * 복수 @Expose 스택 지원 — 방향별 다른 name 매핑에 활용:
42
+ * @Expose({ name: 'user_name', deserializeOnly: true })
43
+ * @Expose({ name: 'userName', serializeOnly: true })
44
+ *
45
+ * @Expose와 @Exclude 동시 적용 시 @Exclude 우선 (§1.2).
46
+ */
47
+ export declare function Expose(options?: ExposeOptions): PropertyDecorator;
48
+ /**
49
+ * 필드를 serialize/deserialize 결과에서 제외.
50
+ * @Exclude({ deserializeOnly: true }) — deserialize 방향만 제외
51
+ * @Exclude({ serializeOnly: true }) — serialize 방향만 제외
52
+ * @Exclude() — 양방향 제외
53
+ *
54
+ * @Expose와 동시 적용 시 @Exclude 우선 (§1.2).
55
+ */
56
+ export declare function Exclude(options?: ExcludeOptions): PropertyDecorator;
57
+ /**
58
+ * 커스텀 변환 함수 적용.
59
+ * - TransformParams.type === 'deserialize' | 'serialize'로 방향 구분 가능
60
+ * - 명시적 @Transform이 있으면 enableImplicitConversion 건너뜀 (§4.3 ⑤)
61
+ */
62
+ export declare function Transform(fn: TransformFunction, options?: TransformOptions): PropertyDecorator;
63
+ /**
64
+ * 중첩 객체의 타입을 지정. discriminator 다형성 지원.
65
+ * @ValidateNested와 함께 사용 시 중첩 DTO 재귀 검증 활성화.
66
+ * builder 트리거 조건: meta.type !== null && meta.flags.validateNested === true
67
+ */
68
+ export declare function Type(fn: () => Function, options?: TypeOptions): PropertyDecorator;
@@ -0,0 +1,18 @@
1
+ import type { IsNumberOptions } from '../rules/typechecker';
2
+ import type { ValidationOptions } from '../interfaces';
3
+ /** typeof value === 'string' */
4
+ export declare function IsString(options?: ValidationOptions): PropertyDecorator;
5
+ /** typeof value === 'number' + NaN/Infinity/maxDecimalPlaces 옵션 */
6
+ export declare function IsNumber(numberOptions?: IsNumberOptions, options?: ValidationOptions): PropertyDecorator;
7
+ /** typeof value === 'boolean' */
8
+ export declare function IsBoolean(options?: ValidationOptions): PropertyDecorator;
9
+ /** value instanceof Date && !isNaN(getTime()) */
10
+ export declare function IsDate(options?: ValidationOptions): PropertyDecorator;
11
+ /** Object.values(entity).indexOf(value) !== -1 */
12
+ export declare function IsEnum(entity: object, options?: ValidationOptions): PropertyDecorator;
13
+ /** typeof value === 'number' && Number.isInteger(value) */
14
+ export declare function IsInt(options?: ValidationOptions): PropertyDecorator;
15
+ /** Array.isArray(value) */
16
+ export declare function IsArray(options?: ValidationOptions): PropertyDecorator;
17
+ /** typeof value === 'object' && value !== null && !Array.isArray(value) */
18
+ export declare function IsObject(options?: ValidationOptions): PropertyDecorator;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * 개별 필드 에러 — 최소 계약(minimum contract).
3
+ *
4
+ * 예약 에러 코드:
5
+ * - 'invalidInput': input이 null, 비객체, 배열일 때 (path='')
6
+ * - 'isObject': 중첩 @Type 필드의 값이 객체가 아닐 때
7
+ * - 'isArray': 배열 중첩 (each:true) 필드의 값이 배열이 아닐 때
8
+ * - 'invalidDiscriminator': discriminator 값이 subTypes에 없을 때
9
+ *
10
+ * 향후 확장 필드(message, expected, actual 등)는 반드시 Optional로 추가.
11
+ */
12
+ export interface BakerError {
13
+ readonly path: string;
14
+ readonly code: string;
15
+ /** 사용자 정의 에러 메시지 — 데코레이터 message 옵션이 설정된 경우에만 포함 */
16
+ readonly message?: string;
17
+ /** 사용자 정의 컨텍스트 — 데코레이터 context 옵션이 설정된 경우에만 포함 */
18
+ readonly context?: unknown;
19
+ }
20
+ /**
21
+ * deserialize() 검증 실패 시 throw되는 에러.
22
+ * errors 배열에 모든 필드 에러가 담겨 있다.
23
+ */
24
+ export declare class BakerValidationError extends Error {
25
+ readonly errors: BakerError[];
26
+ /** 검증 대상 DTO 클래스명 (DX-2) */
27
+ readonly className?: string;
28
+ constructor(errors: BakerError[], className?: string);
29
+ }
30
+ /**
31
+ * 봉인 관련 에러:
32
+ * - seal() 2회 이상 호출 시
33
+ * - 미봉인 클래스에 deserialize()/serialize() 호출 시
34
+ */
35
+ export declare class SealError extends Error {
36
+ constructor(message: string);
37
+ }
@@ -0,0 +1,8 @@
1
+ import type { RuntimeOptions } from '../interfaces';
2
+ /**
3
+ * input → Class 인스턴스 변환 + 검증.
4
+ * - 성공: Promise<T> 반환
5
+ * - 검증 실패: BakerValidationError throw
6
+ * - 미봉인: SealError throw
7
+ */
8
+ export declare function deserialize<T>(Class: new (...args: any[]) => T, input: unknown, options?: RuntimeOptions): Promise<T>;
@@ -0,0 +1,2 @@
1
+ export { deserialize } from './deserialize';
2
+ export { serialize } from './serialize';
@@ -0,0 +1,8 @@
1
+ import type { RuntimeOptions } from '../interfaces';
2
+ /**
3
+ * Class 인스턴스 → plain 객체 변환.
4
+ * - 무검증 전제 — 항상 Record<string, unknown> 반환 (또는 Promise)
5
+ * - async @Transform 사용 시 Promise<Record<string, unknown>> 반환
6
+ * - 미봉인: SealError throw
7
+ */
8
+ export declare function serialize<T>(instance: T, options?: RuntimeOptions): Promise<Record<string, unknown>>;
@@ -0,0 +1,47 @@
1
+ export interface ValidationOptions {
2
+ /** true: 배열의 각 원소에 규칙 적용 */
3
+ each?: boolean;
4
+ /** 이 규칙이 속하는 그룹 목록 */
5
+ groups?: string[];
6
+ /** 사용자 정의 에러 메시지 — 검증 실패 시 BakerError.message에 포함 */
7
+ message?: string | ((args: {
8
+ property: string;
9
+ value: unknown;
10
+ constraints: unknown[];
11
+ }) => string);
12
+ /** 검증 실패 시 BakerError.context에 포함할 임의 값 */
13
+ context?: unknown;
14
+ }
15
+ export interface SealOptions {
16
+ /**
17
+ * validation 데코레이터를 타입 힌트로 활용한 자동 변환.
18
+ * @default false
19
+ */
20
+ enableImplicitConversion?: boolean;
21
+ /**
22
+ * 순환 참조 감지.
23
+ * 'auto' = 정적 분석으로 필요한 DTO만 WeakSet 삽입.
24
+ * @default 'auto'
25
+ */
26
+ enableCircularCheck?: boolean | 'auto';
27
+ /**
28
+ * input에 해당 키가 없을 때 클래스 기본값을 사용.
29
+ * @default false
30
+ */
31
+ exposeDefaultValues?: boolean;
32
+ /**
33
+ * true: 첫 에러 즉시 반환. false(기본): 전체 에러 수집.
34
+ * @default false
35
+ */
36
+ stopAtFirstError?: boolean;
37
+ /**
38
+ * true: 생성된 executor 소스코드를 `SealedExecutors._source`에 저장.
39
+ * 디버깅용. 프로덕션에서는 false(기본).
40
+ * @default false
41
+ */
42
+ debug?: boolean;
43
+ }
44
+ export interface RuntimeOptions {
45
+ /** 요청별 groups — 요청마다 다를 수 있으므로 런타임에 전달 */
46
+ groups?: string[];
47
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 전역 레지스트리 — 데코레이터가 1개라도 부착된 클래스를 자동 등록
3
+ *
4
+ * - ensureMeta()에서 자동 호출
5
+ * - seal()이 이 Set을 순회하여 모든 DTO를 봉인
6
+ * - 메타데이터는 여기에 저장되지 않음 — 인덱스(어떤 클래스가 등록되었는지)로만 사용
7
+ */
8
+ export declare const globalRegistry: Set<Function>;
9
+ /**
10
+ * 클래스를 레지스트리에서 제거한다.
11
+ * seal() 후 더 이상 필요 없는 DTO를 GC 대상으로 돌린다 (§L1).
12
+ *
13
+ * @param cls 제거할 클래스 생성자
14
+ * @returns 세트에 존재했는지 여부
15
+ */
16
+ export declare function unregister(cls: Function): boolean;
@@ -0,0 +1,7 @@
1
+ import type { EmittableRule } from '../types';
2
+ export declare function arrayContains(values: unknown[]): EmittableRule;
3
+ export declare function arrayNotContains(values: unknown[]): EmittableRule;
4
+ export declare function arrayMinSize(min: number): EmittableRule;
5
+ export declare function arrayMaxSize(max: number): EmittableRule;
6
+ export declare function arrayUnique(identifier?: (val: unknown) => unknown): EmittableRule;
7
+ export declare const arrayNotEmpty: EmittableRule;
@@ -0,0 +1,7 @@
1
+ import type { EmittableRule } from '../types';
2
+ export declare function equals(comparison: unknown): EmittableRule;
3
+ export declare function notEquals(comparison: unknown): EmittableRule;
4
+ export declare const isEmpty: EmittableRule;
5
+ export declare const isNotEmpty: EmittableRule;
6
+ export declare function isIn(array: unknown[]): EmittableRule;
7
+ export declare function isNotIn(array: unknown[]): EmittableRule;
@@ -0,0 +1,3 @@
1
+ import type { EmittableRule } from '../types';
2
+ export declare function minDate(date: Date): EmittableRule;
3
+ export declare function maxDate(date: Date): EmittableRule;
@@ -0,0 +1,11 @@
1
+ export { isString, isNumber, isBoolean, isDate, isEnum, isInt, isArray, isObject } from './typechecker';
2
+ export type { IsNumberOptions } from './typechecker';
3
+ export { min, max, isPositive, isNegative, isDivisibleBy } from './number';
4
+ export { minDate, maxDate } from './date';
5
+ export { equals, notEquals, isEmpty, isNotEmpty, isIn, isNotIn } from './common';
6
+ export { minLength, maxLength, length, contains, notContains, matches, isLowercase, isUppercase, isAscii, isAlpha, isAlphanumeric, isBooleanString, isNumberString, isDecimal, isFullWidth, isHalfWidth, isVariableWidth, isMultibyte, isSurrogatePair, isHexadecimal, isOctal, isEmail, isURL, isUUID, isIP, isHexColor, isRgbColor, isHSL, isMACAddress, isISBN, isISIN, isISO8601, isISRC, isISSN, isJWT, isLatLong, isLocale, isDataURI, isFQDN, isPort, isEAN, isISO31661Alpha2, isISO31661Alpha3, isBIC, isFirebasePushId, isSemVer, isMongoId, isJSON, isBase32, isBase58, isBase64, isDateString, isMimeType, isCurrency, isMagnetURI, isCreditCard, isIBAN, isByteLength, isHash, isRFC3339, isMilitaryTime, isLatitude, isLongitude, isEthereumAddress, isBtcAddress, isISO4217CurrencyCode, isPhoneNumber, isStrongPassword, isTaxId, } from './string';
7
+ export type { IsEmailOptions, IsURLOptions, IsBase32Options, IsBase64Options, IsDateStringOptions, IsCurrencyOptions, IsMACAddressOptions, IsIBANOptions, IsISSNOptions, IsFQDNOptions, IsLatLongOptions, IsISO8601Options, IsNumberStringOptions, IsDecimalOptions, IsStrongPasswordOptions, } from './string';
8
+ export { arrayContains, arrayNotContains, arrayMinSize, arrayMaxSize, arrayUnique, arrayNotEmpty, } from './array';
9
+ export { isNotEmptyObject, isInstance } from './object';
10
+ export type { IsNotEmptyObjectOptions } from './object';
11
+ export { isMobilePhone, isPostalCode, isIdentityCard, isPassportNumber } from './locales';
@@ -0,0 +1,5 @@
1
+ // @bun
2
+ import{$b as X,Ab as C,Ac as Cs,Bb as b,Bc as bs,Cb as A,Cc as As,Db as B,Dc as Bs,Eb as L,Ec as Ls,Fb as f,Fc as fs,Gb as D,Gc as Ds,Hb as E,Hc as Es,Ib as P,Ic as Ps,Jb as M,Jc as Ms,Kb as U,Kc as Us,Lb as R,Lc as Rs,Mb as F,Mc as Fs,Nb as H,Nc as Hs,Ob as j,Oc as js,Pb as T,Pc as Ts,Qb as W,Qc as Ws,Rb as q,Rc as qs,Sb as v,Sc as vs,Tb as w,Tc as ws,Ub as z,Uc as zs,Vb as J,Vc as Js,Wb as Q,Wc as Qs,Xb as V,Xc as Vs,Yb as k,Yc as ks,Zb as G,Zc as Gs,_b as K,ac as Y,bc as Z,cc as _,dc as $,eb as s,ec as ss,fb as i,fc as is,gb as t,gc as ts,hb as e,hc as es,ib as r,ic as rs,jb as o,jc as os,kb as a,kc as as,lb as n,lc as ns,mb as p,mc as ps,nb as I,nc as Is,ob as m,oc as ms,pb as l,pc as ls,qb as O,qc as Os,rb as S,rc as Ss,sb as d,sc as ds,tb as y,tc as ys,ub as N,uc as Ns,vb as c,vc as cs,wb as g,wc as gs,xb as u,xc as us,yb as h,yc as hs,zb as x,zc as xs}from"../../index-6pbm9cq6.js";export{i as notEquals,B as notContains,x as minLength,u as minDate,d as min,C as maxLength,h as maxDate,y as max,L as matches,b as length,T as isVariableWidth,D as isUppercase,Q as isUUID,J as isURL,Hs as isTaxId,q as isSurrogatePair,Fs as isStrongPassword,a as isString,Os as isSemVer,G as isRgbColor,Ls as isRFC3339,Vs as isPostalCode,N as isPositive,as as isPort,Rs as isPhoneNumber,Gs as isPassportNumber,w as isOctal,S as isObject,R as isNumberString,n as isNumber,o as isNotIn,zs as isNotEmptyObject,e as isNotEmpty,c as isNegative,W as isMultibyte,Ss as isMongoId,Qs as isMobilePhone,us as isMimeType,fs as isMilitaryTime,xs as isMagnetURI,X as isMACAddress,f as isLowercase,Es as isLongitude,es as isLocale,Ds as isLatitude,ts as isLatLong,is as isJWT,ds as isJSON,l as isInt,Js as isInstance,r as isIn,ks as isIdentityCard,ss as isISSN,$ as isISRC,_ as isISO8601,Us as isISO4217CurrencyCode,Is as isISO31661Alpha3,ps as isISO31661Alpha2,Z as isISIN,Y as isISBN,V as isIP,bs as isIBAN,v as isHexadecimal,k as isHexColor,Bs as isHash,j as isHalfWidth,K as isHSL,H as isFullWidth,ls as isFirebasePushId,os as isFQDN,Ps as isEthereumAddress,m as isEnum,t as isEmpty,z as isEmail,ns as isEAN,g as isDivisibleBy,F as isDecimal,gs as isDateString,I as isDate,rs as isDataURI,hs as isCurrency,Cs as isCreditCard,As as isByteLength,Ms as isBtcAddress,U as isBooleanString,p as isBoolean,cs as isBase64,Ns as isBase58,ys as isBase32,ms as isBIC,E as isAscii,O as isArray,M as isAlphanumeric,P as isAlpha,s as equals,A as contains,vs as arrayUnique,ws as arrayNotEmpty,Ts as arrayNotContains,Ws as arrayMinSize,qs as arrayMaxSize,js as arrayContains};
3
+
4
+ //# debugId=94F6EB707B64F4EC64756E2164756E21
5
+ //# sourceMappingURL=index.js.map