justus 0.4.0 → 0.4.2

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 (78) hide show
  1. package/dist/dts-generator.cjs.map +1 -1
  2. package/dist/dts-generator.mjs +0 -6
  3. package/dist/dts-generator.mjs.map +1 -1
  4. package/dist/errors.cjs +3 -3
  5. package/dist/errors.cjs.map +1 -1
  6. package/dist/errors.mjs +3 -9
  7. package/dist/errors.mjs.map +1 -1
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.d.ts +20 -19
  10. package/dist/index.mjs +13 -19
  11. package/dist/index.mjs.map +1 -1
  12. package/dist/schema.mjs +0 -6
  13. package/dist/schema.mjs.map +1 -1
  14. package/dist/types.mjs +0 -6
  15. package/dist/types.mjs.map +1 -1
  16. package/dist/utilities.cjs.map +1 -1
  17. package/dist/utilities.mjs +0 -6
  18. package/dist/utilities.mjs.map +1 -1
  19. package/dist/validators/any.mjs +0 -6
  20. package/dist/validators/any.mjs.map +1 -1
  21. package/dist/validators/array.cjs +4 -2
  22. package/dist/validators/array.cjs.map +1 -1
  23. package/dist/validators/array.d.ts +2 -3
  24. package/dist/validators/array.mjs +3 -8
  25. package/dist/validators/array.mjs.map +1 -1
  26. package/dist/validators/boolean.cjs +6 -4
  27. package/dist/validators/boolean.cjs.map +1 -1
  28. package/dist/validators/boolean.d.ts +2 -3
  29. package/dist/validators/boolean.mjs +4 -9
  30. package/dist/validators/boolean.mjs.map +1 -1
  31. package/dist/validators/constant.cjs.map +1 -1
  32. package/dist/validators/constant.mjs +0 -6
  33. package/dist/validators/constant.mjs.map +1 -1
  34. package/dist/validators/date.cjs +6 -4
  35. package/dist/validators/date.cjs.map +1 -1
  36. package/dist/validators/date.d.ts +2 -3
  37. package/dist/validators/date.mjs +4 -9
  38. package/dist/validators/date.mjs.map +1 -1
  39. package/dist/validators/never.mjs +0 -6
  40. package/dist/validators/never.mjs.map +1 -1
  41. package/dist/validators/number.cjs +6 -4
  42. package/dist/validators/number.cjs.map +1 -1
  43. package/dist/validators/number.d.ts +4 -5
  44. package/dist/validators/number.mjs +4 -9
  45. package/dist/validators/number.mjs.map +1 -1
  46. package/dist/validators/object.cjs +4 -2
  47. package/dist/validators/object.cjs.map +1 -1
  48. package/dist/validators/object.d.ts +2 -3
  49. package/dist/validators/object.mjs +3 -8
  50. package/dist/validators/object.mjs.map +1 -1
  51. package/dist/validators/optional.cjs.map +1 -1
  52. package/dist/validators/optional.mjs +0 -6
  53. package/dist/validators/optional.mjs.map +1 -1
  54. package/dist/validators/string.cjs +6 -4
  55. package/dist/validators/string.cjs.map +1 -1
  56. package/dist/validators/string.d.ts +4 -5
  57. package/dist/validators/string.mjs +4 -9
  58. package/dist/validators/string.mjs.map +1 -1
  59. package/dist/validators/tuple.cjs.map +1 -1
  60. package/dist/validators/tuple.mjs +0 -6
  61. package/dist/validators/tuple.mjs.map +1 -1
  62. package/dist/validators/union.cjs.map +1 -1
  63. package/dist/validators/union.mjs +0 -6
  64. package/dist/validators/union.mjs.map +1 -1
  65. package/dist/validators/url.cjs +6 -4
  66. package/dist/validators/url.cjs.map +1 -1
  67. package/dist/validators/url.d.ts +2 -3
  68. package/dist/validators/url.mjs +4 -9
  69. package/dist/validators/url.mjs.map +1 -1
  70. package/package.json +6 -6
  71. package/src/index.ts +20 -19
  72. package/src/validators/array.ts +2 -2
  73. package/src/validators/boolean.ts +2 -2
  74. package/src/validators/date.ts +2 -2
  75. package/src/validators/number.ts +5 -6
  76. package/src/validators/object.ts +2 -2
  77. package/src/validators/string.ts +5 -5
  78. package/src/validators/url.ts +2 -2
@@ -1,9 +1,3 @@
1
- ;const __$$_esm_paths_helper = await (async() => {
2
- const __filename = (await import("node:url")).fileURLToPath(import.meta.url);
3
- const __dirname = (await import("node:path")).dirname(__filename);
4
- return { __filename, __dirname };
5
- })();
6
-
7
1
  // validators/url.ts
8
2
  import { ValidationError, ValidationErrorBuilder } from "../errors.mjs";
9
3
  import { AbstractValidator, makeValidatorFactory } from "../types.mjs";
@@ -86,12 +80,13 @@ var URLValidator = class extends AbstractValidator {
86
80
  return builder.assert(url2);
87
81
  }
88
82
  };
89
- function _url(constraints) {
83
+ function urlFactory(constraints) {
90
84
  return new URLValidator(constraints);
91
85
  }
92
- var url = makeValidatorFactory(new URLValidator(), _url);
86
+ var url = makeValidatorFactory(new URLValidator(), urlFactory);
93
87
  export {
94
88
  URLValidator,
95
- url
89
+ url,
90
+ urlFactory
96
91
  };
97
92
  //# sourceMappingURL=url.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/validators/url.ts"],
4
- "mappings": ";;;;;;;AAAA,SAAS,iBAAiB,8BAA8B;AACxD,SAAS,mBAAmB,4BAA4B;AACxD,SAAS,yBAAyB;AAClC,SAAS,uBAAuB;AAKhC,IAAM,OAAwD;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,UAA6B;AAAA,EACjC,2BAA2B;AAAA,EAC3B,0BAA0B;AAAA,EAC1B,oBAAoB;AACtB;AAoCO,IAAM,eAAN,cAA2B,kBAAuB;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EAET,YAAY,cAA8B,CAAC,GAAG;AAC5C,UAAM;AAEN,eAAW,OAAO,MAAM;AACtB,YAAM,aAAa,YAAY,GAAG;AAClC,UAAI,OAAO,eAAe,UAAU;AAClC,aAAK,GAAG,IAAI,IAAI,kBAAkB,UAAU;AAAA,MAC9C,WAAW,YAAY;AACrB,aAAK,GAAG,IAAI;AAAA,MACd;AAAA,IACF;AAEA,QAAI,YAAY,cAAc;AAC5B,WAAK,eAAe,IAAI,gBAAgB,YAAY,YAAY;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,SAAS,OAAqB;AAC5B,QAAIA;AACJ,QAAI;AACF,MAAAA,OAAM,iBAAiB,MAAM,QAAQ,IAAI,IAAI,KAAY;AAAA,IAC3D,SAAS,OAAP;AACA,YAAM,IAAI,gBAAgB,yCAAyC;AAAA,IACrE;AAEA,UAAM,UAAU,IAAI,uBAAuB;AAE3C,eAAW,OAAO,MAAM;AACtB,YAAM,YAAY,KAAK,GAAG;AAC1B,UAAI,WAAW;AACb,YAAI;AACF,oBAAU,SAASA,KAAI,GAAG,GAAG,OAAO;AAAA,QACtC,SAAS,OAAP;AACA,kBAAQ,OAAO,OAAO,GAAG;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAEA,QAAI,KAAK,cAAc;AACrB,YAAM,aAAqC,CAAC;AAC5C,iBAAW,SAASA,KAAI,aAAa,KAAK,GAAG;AAC3C,mBAAW,KAAK,IAAIA,KAAI,aAAa,IAAI,KAAK;AAAA,MAChD;AAEA,UAAI;AACF,aAAK,aAAa,SAAS,YAAY,OAAO;AAAA,MAChD,SAAS,OAAP;AACA,gBAAQ,OAAO,OAAO,cAAc;AAAA,MACtC;AAAA,IACF;AAEA,WAAO,QAAQ,OAAOA,IAAG;AAAA,EAC3B;AACF;AAEA,SAAS,KAAK,aAA2C;AACvD,SAAO,IAAI,aAAa,WAAW;AACrC;AAGO,IAAM,MAAM,qBAAqB,IAAI,aAAa,GAAG,IAAI;",
4
+ "mappings": ";AAAA,SAAS,iBAAiB,8BAA8B;AACxD,SAAS,mBAAmB,4BAA4B;AACxD,SAAS,yBAAyB;AAClC,SAAS,uBAAuB;AAKhC,IAAM,OAAwD;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,UAA6B;AAAA,EACjC,2BAA2B;AAAA,EAC3B,0BAA0B;AAAA,EAC1B,oBAAoB;AACtB;AAoCO,IAAM,eAAN,cAA2B,kBAAuB;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EAET,YAAY,cAA8B,CAAC,GAAG;AAC5C,UAAM;AAEN,eAAW,OAAO,MAAM;AACtB,YAAM,aAAa,YAAY,GAAG;AAClC,UAAI,OAAO,eAAe,UAAU;AAClC,aAAK,GAAG,IAAI,IAAI,kBAAkB,UAAU;AAAA,MAC9C,WAAW,YAAY;AACrB,aAAK,GAAG,IAAI;AAAA,MACd;AAAA,IACF;AAEA,QAAI,YAAY,cAAc;AAC5B,WAAK,eAAe,IAAI,gBAAgB,YAAY,YAAY;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,SAAS,OAAqB;AAC5B,QAAIA;AACJ,QAAI;AACF,MAAAA,OAAM,iBAAiB,MAAM,QAAQ,IAAI,IAAI,KAAY;AAAA,IAC3D,SAAS,OAAO;AACd,YAAM,IAAI,gBAAgB,yCAAyC;AAAA,IACrE;AAEA,UAAM,UAAU,IAAI,uBAAuB;AAE3C,eAAW,OAAO,MAAM;AACtB,YAAM,YAAY,KAAK,GAAG;AAC1B,UAAI,WAAW;AACb,YAAI;AACF,oBAAU,SAASA,KAAI,GAAG,GAAG,OAAO;AAAA,QACtC,SAAS,OAAO;AACd,kBAAQ,OAAO,OAAO,GAAG;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAEA,QAAI,KAAK,cAAc;AACrB,YAAM,aAAqC,CAAC;AAC5C,iBAAW,SAASA,KAAI,aAAa,KAAK,GAAG;AAC3C,mBAAW,KAAK,IAAIA,KAAI,aAAa,IAAI,KAAK;AAAA,MAChD;AAEA,UAAI;AACF,aAAK,aAAa,SAAS,YAAY,OAAO;AAAA,MAChD,SAAS,OAAO;AACd,gBAAQ,OAAO,OAAO,cAAc;AAAA,MACtC;AAAA,IACF;AAEA,WAAO,QAAQ,OAAOA,IAAG;AAAA,EAC3B;AACF;AAEO,SAAS,WAAW,aAA2C;AACpE,SAAO,IAAI,aAAa,WAAW;AACrC;AAGO,IAAM,MAAM,qBAAqB,IAAI,aAAa,GAAG,UAAU;",
5
5
  "names": ["url"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "justus",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "A JavaScript validation library, with types!",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
@@ -38,14 +38,14 @@
38
38
  "author": "Juit Developers <developers@juit.com>",
39
39
  "license": "Apache-2.0",
40
40
  "devDependencies": {
41
- "@plugjs/build": "^0.4.6",
42
- "@plugjs/tsd": "^0.4.9",
41
+ "@plugjs/build": "^0.4.28",
42
+ "@plugjs/tsd": "^0.4.30",
43
43
  "@types/chai": "^4.3.5",
44
- "chai": "^4.3.7",
45
- "typescript": "^5.0.4"
44
+ "chai": "^4.3.8",
45
+ "typescript": "^5.2.2"
46
46
  },
47
47
  "optionalDependencies": {
48
- "typescript": "^5.0.4"
48
+ "typescript": "^5.2.2"
49
49
  },
50
50
  "directories": {
51
51
  "test": "test"
package/src/index.ts CHANGED
@@ -9,28 +9,29 @@ export * from './types'
9
9
  export * from './utilities'
10
10
 
11
11
  // Validators
12
- export { any, AnyValidator } from './validators/any'
13
- export { array, arrayOf, ArrayValidator, AnyArrayValidator } from './validators/array'
14
- export { boolean, BooleanValidator } from './validators/boolean'
15
- export { constant, ConstantValidator } from './validators/constant'
16
- export { date, DateValidator } from './validators/date'
17
- export { never, NeverValidator } from './validators/never'
18
- export { AnyNumberValidator, number, NumberValidator } from './validators/number'
19
- export { AnyObjectValidator, object, objectOf, ObjectValidator } from './validators/object'
20
- export { optional, OptionalValidator } from './validators/optional'
21
- export { AnyStringValidator, string, StringValidator } from './validators/string'
22
- export { tuple, TupleValidator } from './validators/tuple'
23
- export { allOf, AllOfValidator, oneOf, OneOfValidator } from './validators/union'
24
- export { url, URLValidator } from './validators/url'
12
+ export { AnyValidator, any } from './validators/any'
13
+ export { AnyArrayValidator, ArrayValidator, array, arrayOf } from './validators/array'
14
+ export { BooleanValidator, boolean } from './validators/boolean'
15
+ export { ConstantValidator, constant } from './validators/constant'
16
+ export { DateValidator, date } from './validators/date'
17
+ export { NeverValidator, never } from './validators/never'
18
+ export { AnyNumberValidator, NumberValidator, number } from './validators/number'
19
+ export { AnyObjectValidator, ObjectValidator, object, objectOf } from './validators/object'
20
+ export { OptionalValidator, optional } from './validators/optional'
21
+ export { AnyStringValidator, StringValidator, string } from './validators/string'
22
+ export { TupleValidator, tuple } from './validators/tuple'
23
+ export { AllOfValidator, OneOfValidator, allOf, oneOf } from './validators/union'
24
+ export { URLValidator, url } from './validators/url'
25
25
 
26
26
  // Validator Types
27
- export type { ArrayConstraints } from './validators/array'
28
- export type { BooleanConstraints } from './validators/boolean'
29
- export type { DateConstraints } from './validators/date'
30
- export type { BrandedNumberConstraints } from './validators/number'
31
- export type { BrandedStringConstraints, StringConstraints } from './validators/string'
27
+ export type { ArrayConstraints, arrayFactory } from './validators/array'
28
+ export type { BooleanConstraints, booleanFactory } from './validators/boolean'
29
+ export type { DateConstraints, dateFactory } from './validators/date'
30
+ export type { BrandedNumberConstraints, numberFactory } from './validators/number'
31
+ export type { objectFactory } from './validators/object'
32
+ export type { BrandedStringConstraints, StringConstraints, stringFactory } from './validators/string'
32
33
  export type { TupleMember } from './validators/tuple'
33
- export type { URLConstraints } from './validators/url'
34
+ export type { URLConstraints, urlFactory } from './validators/url'
34
35
 
35
36
  /* ========================================================================== *
36
37
  * VALIDATE FUNCTION (our main entry point) *
@@ -89,13 +89,13 @@ export class ArrayValidator<T> extends AbstractValidator<T[]> {
89
89
 
90
90
  /* -------------------------------------------------------------------------- */
91
91
 
92
- function _array<V extends Validation>(constraints: ArrayConstraints<V>): ArrayValidator<InferValidation<V>> {
92
+ export function arrayFactory<V extends Validation>(constraints: ArrayConstraints<V>): ArrayValidator<InferValidation<V>> {
93
93
  const items = constraints.items ? getValidator(constraints.items) : any
94
94
  return new ArrayValidator({ ...constraints, items })
95
95
  }
96
96
 
97
97
  /** Validate `Array`s. */
98
- export const array = makeValidatorFactory(new AnyArrayValidator(), _array)
98
+ export const array = makeValidatorFactory(new AnyArrayValidator(), arrayFactory)
99
99
 
100
100
  /** Validate `Array`s containing only the specified elements. */
101
101
  export function arrayOf<V extends Validation>(validation: V): Validator<InferValidation<V>[]> {
@@ -37,9 +37,9 @@ export class BooleanValidator extends AbstractValidator<boolean> {
37
37
  }
38
38
  }
39
39
 
40
- function _boolean(constraints: BooleanConstraints): BooleanValidator {
40
+ export function booleanFactory(constraints: BooleanConstraints): BooleanValidator {
41
41
  return new BooleanValidator(constraints)
42
42
  }
43
43
 
44
44
  /** The `Validator` for `boolean`s. */
45
- export const boolean = makeValidatorFactory(new BooleanValidator(), _boolean)
45
+ export const boolean = makeValidatorFactory(new BooleanValidator(), booleanFactory)
@@ -64,9 +64,9 @@ export class DateValidator extends AbstractValidator<Date> {
64
64
  }
65
65
  }
66
66
 
67
- function _date(constraints: DateConstraints): DateValidator {
67
+ export function dateFactory(constraints: DateConstraints): DateValidator {
68
68
  return new DateValidator(constraints)
69
69
  }
70
70
 
71
71
  /** Validate dates and convert them to `Date` instances. */
72
- export const date = makeValidatorFactory(new DateValidator(), _date)
72
+ export const date = makeValidatorFactory(new DateValidator(), dateFactory)
@@ -160,13 +160,12 @@ export class NumberValidator<N extends number = number> extends AbstractValidato
160
160
  }
161
161
  }
162
162
 
163
-
164
- function _number(constraints: NumberConstraints): NumberValidator<number>
165
- function _number<N extends number>(constraints: NumberConstraints): NumberValidator<N>
166
- function _number<B extends string>(constraints: BrandedNumberConstraints<B>): NumberValidator<number & Branding<B>>
167
- function _number(constraints: NumberConstraints): Validator<number> {
163
+ export function numberFactory(constraints: NumberConstraints): NumberValidator<number>
164
+ export function numberFactory<N extends number>(constraints: NumberConstraints): NumberValidator<N>
165
+ export function numberFactory<B extends string>(constraints: BrandedNumberConstraints<B>): NumberValidator<number & Branding<B>>
166
+ export function numberFactory(constraints: NumberConstraints): Validator<number> {
168
167
  return new NumberValidator(constraints)
169
168
  }
170
169
 
171
170
  /** Validate `number`s. */
172
- export const number = makeValidatorFactory(new AnyNumberValidator(), _number)
171
+ export const number = makeValidatorFactory(new AnyNumberValidator(), numberFactory)
@@ -117,7 +117,7 @@ export class ObjectValidator<S extends Schema> extends AbstractValidator<InferSc
117
117
  }
118
118
  }
119
119
 
120
- function _object<S extends Schema>(schema: S): S & {
120
+ export function objectFactory<S extends Schema>(schema: S): S & {
121
121
  [Symbol.iterator](): Generator<TupleRestParameter<InferSchema<S>>>
122
122
  } {
123
123
  const validator = new ObjectValidator(schema)
@@ -132,7 +132,7 @@ function _object<S extends Schema>(schema: S): S & {
132
132
  }
133
133
 
134
134
  /** Validate `object`s. */
135
- export const object = makeValidatorFactory(new AnyObjectValidator(), _object)
135
+ export const object = makeValidatorFactory(new AnyObjectValidator(), objectFactory)
136
136
 
137
137
  /** Validate `Object`s containing only the specified elements. */
138
138
  export function objectOf<V extends Validation>(validation: V): Validator<Record<string, InferValidation<V>>> {
@@ -70,12 +70,12 @@ export class StringValidator<S extends string = string> extends AbstractValidato
70
70
  }
71
71
  }
72
72
 
73
- function _string(constraints: StringConstraints): StringValidator<string>
74
- function _string<S extends string>(constraints: StringConstraints): StringValidator<S>
75
- function _string<B extends string>(constraints: BrandedStringConstraints<B>): StringValidator<string & Branding<B>>
76
- function _string(constraints: StringConstraints): Validator<string> {
73
+ export function stringFactory(constraints: StringConstraints): StringValidator<string>
74
+ export function stringFactory<S extends string>(constraints: StringConstraints): StringValidator<S>
75
+ export function stringFactory<B extends string>(constraints: BrandedStringConstraints<B>): StringValidator<string & Branding<B>>
76
+ export function stringFactory(constraints: StringConstraints): Validator<string> {
77
77
  return new StringValidator(constraints)
78
78
  }
79
79
 
80
80
  /** Validate `string`s. */
81
- export const string = makeValidatorFactory(new AnyStringValidator(), _string)
81
+ export const string = makeValidatorFactory(new AnyStringValidator(), stringFactory)
@@ -130,9 +130,9 @@ export class URLValidator extends AbstractValidator<URL> {
130
130
  }
131
131
  }
132
132
 
133
- function _url(constraints: URLConstraints): URLValidator {
133
+ export function urlFactory(constraints: URLConstraints): URLValidator {
134
134
  return new URLValidator(constraints)
135
135
  }
136
136
 
137
137
  /** Validate URLs and convert them to `URL` instances. */
138
- export const url = makeValidatorFactory(new URLValidator(), _url)
138
+ export const url = makeValidatorFactory(new URLValidator(), urlFactory)