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.
- package/dist/dts-generator.cjs.map +1 -1
- package/dist/dts-generator.mjs +0 -6
- package/dist/dts-generator.mjs.map +1 -1
- package/dist/errors.cjs +3 -3
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.mjs +3 -9
- package/dist/errors.mjs.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +20 -19
- package/dist/index.mjs +13 -19
- package/dist/index.mjs.map +1 -1
- package/dist/schema.mjs +0 -6
- package/dist/schema.mjs.map +1 -1
- package/dist/types.mjs +0 -6
- package/dist/types.mjs.map +1 -1
- package/dist/utilities.cjs.map +1 -1
- package/dist/utilities.mjs +0 -6
- package/dist/utilities.mjs.map +1 -1
- package/dist/validators/any.mjs +0 -6
- package/dist/validators/any.mjs.map +1 -1
- package/dist/validators/array.cjs +4 -2
- package/dist/validators/array.cjs.map +1 -1
- package/dist/validators/array.d.ts +2 -3
- package/dist/validators/array.mjs +3 -8
- package/dist/validators/array.mjs.map +1 -1
- package/dist/validators/boolean.cjs +6 -4
- package/dist/validators/boolean.cjs.map +1 -1
- package/dist/validators/boolean.d.ts +2 -3
- package/dist/validators/boolean.mjs +4 -9
- package/dist/validators/boolean.mjs.map +1 -1
- package/dist/validators/constant.cjs.map +1 -1
- package/dist/validators/constant.mjs +0 -6
- package/dist/validators/constant.mjs.map +1 -1
- package/dist/validators/date.cjs +6 -4
- package/dist/validators/date.cjs.map +1 -1
- package/dist/validators/date.d.ts +2 -3
- package/dist/validators/date.mjs +4 -9
- package/dist/validators/date.mjs.map +1 -1
- package/dist/validators/never.mjs +0 -6
- package/dist/validators/never.mjs.map +1 -1
- package/dist/validators/number.cjs +6 -4
- package/dist/validators/number.cjs.map +1 -1
- package/dist/validators/number.d.ts +4 -5
- package/dist/validators/number.mjs +4 -9
- package/dist/validators/number.mjs.map +1 -1
- package/dist/validators/object.cjs +4 -2
- package/dist/validators/object.cjs.map +1 -1
- package/dist/validators/object.d.ts +2 -3
- package/dist/validators/object.mjs +3 -8
- package/dist/validators/object.mjs.map +1 -1
- package/dist/validators/optional.cjs.map +1 -1
- package/dist/validators/optional.mjs +0 -6
- package/dist/validators/optional.mjs.map +1 -1
- package/dist/validators/string.cjs +6 -4
- package/dist/validators/string.cjs.map +1 -1
- package/dist/validators/string.d.ts +4 -5
- package/dist/validators/string.mjs +4 -9
- package/dist/validators/string.mjs.map +1 -1
- package/dist/validators/tuple.cjs.map +1 -1
- package/dist/validators/tuple.mjs +0 -6
- package/dist/validators/tuple.mjs.map +1 -1
- package/dist/validators/union.cjs.map +1 -1
- package/dist/validators/union.mjs +0 -6
- package/dist/validators/union.mjs.map +1 -1
- package/dist/validators/url.cjs +6 -4
- package/dist/validators/url.cjs.map +1 -1
- package/dist/validators/url.d.ts +2 -3
- package/dist/validators/url.mjs +4 -9
- package/dist/validators/url.mjs.map +1 -1
- package/package.json +6 -6
- package/src/index.ts +20 -19
- package/src/validators/array.ts +2 -2
- package/src/validators/boolean.ts +2 -2
- package/src/validators/date.ts +2 -2
- package/src/validators/number.ts +5 -6
- package/src/validators/object.ts +2 -2
- package/src/validators/string.ts +5 -5
- package/src/validators/url.ts +2 -2
package/dist/validators/url.mjs
CHANGED
|
@@ -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
|
|
83
|
+
function urlFactory(constraints) {
|
|
90
84
|
return new URLValidator(constraints);
|
|
91
85
|
}
|
|
92
|
-
var url = makeValidatorFactory(new URLValidator(),
|
|
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": "
|
|
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.
|
|
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.
|
|
42
|
-
"@plugjs/tsd": "^0.4.
|
|
41
|
+
"@plugjs/build": "^0.4.28",
|
|
42
|
+
"@plugjs/tsd": "^0.4.30",
|
|
43
43
|
"@types/chai": "^4.3.5",
|
|
44
|
-
"chai": "^4.3.
|
|
45
|
-
"typescript": "^5.
|
|
44
|
+
"chai": "^4.3.8",
|
|
45
|
+
"typescript": "^5.2.2"
|
|
46
46
|
},
|
|
47
47
|
"optionalDependencies": {
|
|
48
|
-
"typescript": "^5.
|
|
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 {
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export {
|
|
16
|
-
export {
|
|
17
|
-
export {
|
|
18
|
-
export { AnyNumberValidator,
|
|
19
|
-
export { AnyObjectValidator, object, objectOf
|
|
20
|
-
export {
|
|
21
|
-
export { AnyStringValidator,
|
|
22
|
-
export {
|
|
23
|
-
export {
|
|
24
|
-
export {
|
|
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 {
|
|
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) *
|
package/src/validators/array.ts
CHANGED
|
@@ -89,13 +89,13 @@ export class ArrayValidator<T> extends AbstractValidator<T[]> {
|
|
|
89
89
|
|
|
90
90
|
/* -------------------------------------------------------------------------- */
|
|
91
91
|
|
|
92
|
-
function
|
|
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(),
|
|
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
|
|
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(),
|
|
45
|
+
export const boolean = makeValidatorFactory(new BooleanValidator(), booleanFactory)
|
package/src/validators/date.ts
CHANGED
|
@@ -64,9 +64,9 @@ export class DateValidator extends AbstractValidator<Date> {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
function
|
|
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(),
|
|
72
|
+
export const date = makeValidatorFactory(new DateValidator(), dateFactory)
|
package/src/validators/number.ts
CHANGED
|
@@ -160,13 +160,12 @@ export class NumberValidator<N extends number = number> extends AbstractValidato
|
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
-
|
|
164
|
-
function
|
|
165
|
-
function
|
|
166
|
-
function
|
|
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(),
|
|
171
|
+
export const number = makeValidatorFactory(new AnyNumberValidator(), numberFactory)
|
package/src/validators/object.ts
CHANGED
|
@@ -117,7 +117,7 @@ export class ObjectValidator<S extends Schema> extends AbstractValidator<InferSc
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
function
|
|
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(),
|
|
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>>> {
|
package/src/validators/string.ts
CHANGED
|
@@ -70,12 +70,12 @@ export class StringValidator<S extends string = string> extends AbstractValidato
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
function
|
|
74
|
-
function
|
|
75
|
-
function
|
|
76
|
-
function
|
|
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(),
|
|
81
|
+
export const string = makeValidatorFactory(new AnyStringValidator(), stringFactory)
|
package/src/validators/url.ts
CHANGED
|
@@ -130,9 +130,9 @@ export class URLValidator extends AbstractValidator<URL> {
|
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
-
function
|
|
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(),
|
|
138
|
+
export const url = makeValidatorFactory(new URLValidator(), urlFactory)
|