typebox 1.1.19 → 1.1.21
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/build/compile/compile.mjs +1 -0
- package/build/compile/validator.mjs +1 -1
- package/build/error/errors.mjs +1 -0
- package/build/format/iri-reference.mjs +1 -0
- package/build/format/uri-reference.mjs +1 -0
- package/build/guard/globals.d.mts +3 -3
- package/build/guard/guard.d.mts +1 -1
- package/build/schema/build.mjs +3 -3
- package/build/schema/engine/_functions.mjs +1 -1
- package/build/schema/engine/_guard.d.mts +3 -3
- package/build/schema/engine/_guard.mjs +3 -3
- package/build/schema/engine/_refine.d.mts +3 -3
- package/build/schema/engine/_refine.mjs +3 -3
- package/build/schema/engine/additionalProperties.d.mts +2 -2
- package/build/schema/engine/additionalProperties.mjs +2 -2
- package/build/schema/engine/anyOf.mjs +1 -1
- package/build/schema/engine/boolean.d.mts +2 -2
- package/build/schema/engine/boolean.mjs +2 -2
- package/build/schema/engine/const.d.mts +2 -2
- package/build/schema/engine/const.mjs +2 -2
- package/build/schema/engine/dependentRequired.d.mts +3 -3
- package/build/schema/engine/dependentRequired.mjs +3 -3
- package/build/schema/engine/enum.d.mts +2 -2
- package/build/schema/engine/enum.mjs +2 -2
- package/build/schema/engine/exclusiveMaximum.d.mts +2 -2
- package/build/schema/engine/exclusiveMaximum.mjs +2 -2
- package/build/schema/engine/exclusiveMinimum.d.mts +2 -2
- package/build/schema/engine/exclusiveMinimum.mjs +2 -2
- package/build/schema/engine/format.d.mts +2 -2
- package/build/schema/engine/format.mjs +2 -2
- package/build/schema/engine/maxItems.d.mts +2 -2
- package/build/schema/engine/maxItems.mjs +2 -2
- package/build/schema/engine/maxLength.d.mts +2 -2
- package/build/schema/engine/maxLength.mjs +2 -2
- package/build/schema/engine/maxProperties.d.mts +2 -2
- package/build/schema/engine/maxProperties.mjs +2 -2
- package/build/schema/engine/maximum.d.mts +2 -2
- package/build/schema/engine/maximum.mjs +2 -2
- package/build/schema/engine/minItems.d.mts +2 -2
- package/build/schema/engine/minItems.mjs +2 -2
- package/build/schema/engine/minLength.d.mts +2 -2
- package/build/schema/engine/minLength.mjs +2 -2
- package/build/schema/engine/minProperties.d.mts +2 -2
- package/build/schema/engine/minProperties.mjs +2 -2
- package/build/schema/engine/minimum.d.mts +2 -2
- package/build/schema/engine/minimum.mjs +2 -2
- package/build/schema/engine/multipleOf.d.mts +2 -2
- package/build/schema/engine/multipleOf.mjs +2 -2
- package/build/schema/engine/pattern.d.mts +2 -2
- package/build/schema/engine/pattern.mjs +2 -2
- package/build/schema/engine/recursiveRef.d.mts +1 -1
- package/build/schema/engine/recursiveRef.mjs +1 -1
- package/build/schema/engine/ref.d.mts +1 -1
- package/build/schema/engine/ref.mjs +1 -1
- package/build/schema/engine/required.d.mts +3 -3
- package/build/schema/engine/required.mjs +3 -3
- package/build/schema/engine/type.mjs +2 -2
- package/build/schema/engine/uniqueItems.d.mts +3 -3
- package/build/schema/engine/uniqueItems.mjs +3 -3
- package/build/schema/resolve/ref.mjs +1 -1
- package/build/schema/static/additionalProperties.mjs +1 -0
- package/build/schema/static/ref.mjs +1 -0
- package/build/schema/static/required.mjs +1 -0
- package/build/schema/static/static.mjs +1 -0
- package/build/schema/static/type.mjs +1 -0
- package/build/schema/static/unevaluatedProperties.mjs +1 -0
- package/build/system/environment/environment.d.mts +1 -1
- package/build/system/environment/environment.mjs +1 -1
- package/build/system/environment/evaluate.d.mts +9 -0
- package/build/system/environment/evaluate.mjs +37 -0
- package/build/system/memory/assign.mjs +1 -0
- package/build/system/memory/create.mjs +2 -1
- package/build/system/memory/discard.mjs +1 -0
- package/build/type/action/awaited.mjs +1 -0
- package/build/type/action/capitalize.mjs +1 -0
- package/build/type/action/conditional.mjs +1 -0
- package/build/type/action/constructor-parameters.mjs +1 -0
- package/build/type/action/evaluate.mjs +1 -0
- package/build/type/action/exclude.mjs +1 -0
- package/build/type/action/extract.mjs +1 -0
- package/build/type/action/indexed.mjs +1 -0
- package/build/type/action/instance-type.mjs +1 -0
- package/build/type/action/interface.mjs +1 -0
- package/build/type/action/keyof.mjs +1 -0
- package/build/type/action/lowercase.mjs +1 -0
- package/build/type/action/mapped.mjs +1 -0
- package/build/type/action/module.mjs +1 -0
- package/build/type/action/non-nullable.mjs +1 -0
- package/build/type/action/omit.mjs +1 -0
- package/build/type/action/options.mjs +1 -0
- package/build/type/action/parameters.mjs +1 -0
- package/build/type/action/partial.mjs +1 -0
- package/build/type/action/pick.mjs +1 -0
- package/build/type/action/readonly-type.mjs +1 -0
- package/build/type/action/required.mjs +1 -0
- package/build/type/action/return-type.mjs +1 -0
- package/build/type/action/uncapitalize.mjs +1 -0
- package/build/type/action/uppercase.mjs +1 -0
- package/build/type/engine/constructor-parameters/instantiate.mjs +1 -0
- package/build/type/engine/cyclic/extends.mjs +4 -4
- package/build/type/engine/cyclic/instantiate.mjs +1 -0
- package/build/type/engine/evaluate/broaden.mjs +1 -1
- package/build/type/engine/evaluate/compare.mjs +1 -0
- package/build/type/engine/exclude/instantiate.mjs +1 -0
- package/build/type/engine/extract/instantiate.mjs +1 -0
- package/build/type/engine/helpers/union.mjs +1 -0
- package/build/type/engine/indexed/from-array.mjs +1 -0
- package/build/type/engine/indexed/from-tuple.mjs +1 -0
- package/build/type/engine/interface/instantiate.mjs +1 -1
- package/build/type/engine/mapped/instantiate.mjs +1 -0
- package/build/type/engine/module/instantiate.mjs +1 -0
- package/build/type/engine/non-nullable/instantiate.mjs +1 -0
- package/build/type/engine/object/from-intersect.mjs +1 -0
- package/build/type/engine/object/from-type.mjs +1 -0
- package/build/type/engine/parameters/instantiate.mjs +1 -0
- package/build/type/engine/partial/from-type.mjs +1 -0
- package/build/type/engine/pick/instantiate.mjs +1 -0
- package/build/type/engine/record/from-key-integer.d.mts +2 -2
- package/build/type/engine/record/from-key-integer.mjs +1 -1
- package/build/type/engine/record/from-key-number.d.mts +1 -1
- package/build/type/engine/record/from-key-number.mjs +1 -1
- package/build/type/engine/required/from-type.mjs +1 -0
- package/build/type/engine/template-literal/encode.mjs +1 -1
- package/build/type/engine/template-literal/is-finite.mjs +1 -1
- package/build/type/engine/tuple/to-object.mjs +1 -0
- package/build/type/extends/extends-right.d.mts +1 -1
- package/build/type/extends/extends-right.mjs +1 -1
- package/build/type/extends/inference.mjs +1 -0
- package/build/type/extends/object.mjs +1 -0
- package/build/type/types/_codec.d.mts +1 -1
- package/build/type/types/_codec.mjs +1 -0
- package/build/type/types/base.d.mts +2 -2
- package/build/type/types/base.mjs +2 -2
- package/build/type/types/call.mjs +1 -0
- package/build/type/types/never.mjs +1 -0
- package/build/type/types/properties.mjs +0 -1
- package/build/type/types/record.mjs +1 -0
- package/build/type/types/ref.mjs +1 -0
- package/build/value/clean/from-base.d.mts +1 -1
- package/build/value/clean/from-base.mjs +1 -1
- package/build/value/clean/from-union.mjs +2 -1
- package/build/value/codec/callback.mjs +2 -2
- package/build/value/codec/from-object.mjs +1 -1
- package/build/value/codec/from-union.mjs +5 -7
- package/build/value/convert/from-base.d.mts +1 -1
- package/build/value/convert/from-base.mjs +1 -1
- package/build/value/convert/from-bigint.d.mts +1 -1
- package/build/value/convert/from-bigint.mjs +1 -1
- package/build/value/convert/from-boolean.d.mts +1 -1
- package/build/value/convert/from-boolean.mjs +1 -1
- package/build/value/convert/from-integer.d.mts +1 -1
- package/build/value/convert/from-integer.mjs +1 -1
- package/build/value/convert/from-literal.mjs +4 -4
- package/build/value/convert/from-null.d.mts +1 -1
- package/build/value/convert/from-null.mjs +1 -1
- package/build/value/convert/from-number.d.mts +1 -1
- package/build/value/convert/from-number.mjs +1 -1
- package/build/value/convert/from-object.mjs +1 -1
- package/build/value/convert/from-string.d.mts +1 -1
- package/build/value/convert/from-string.mjs +1 -1
- package/build/value/convert/from-undefined.d.mts +1 -1
- package/build/value/convert/from-undefined.mjs +1 -1
- package/build/value/convert/from-void.d.mts +1 -1
- package/build/value/convert/from-void.mjs +1 -1
- package/build/value/create/from-async-iterator.d.mts +1 -1
- package/build/value/create/from-async-iterator.mjs +1 -1
- package/build/value/create/from-base.d.mts +1 -1
- package/build/value/create/from-base.mjs +1 -1
- package/build/value/create/from-bigint.d.mts +1 -1
- package/build/value/create/from-bigint.mjs +1 -1
- package/build/value/create/from-boolean.d.mts +1 -1
- package/build/value/create/from-boolean.mjs +1 -1
- package/build/value/create/from-default.d.mts +1 -1
- package/build/value/create/from-default.mjs +1 -1
- package/build/value/create/from-integer.d.mts +1 -1
- package/build/value/create/from-integer.mjs +1 -1
- package/build/value/create/from-iterator.d.mts +1 -1
- package/build/value/create/from-iterator.mjs +1 -1
- package/build/value/create/from-literal.d.mts +1 -1
- package/build/value/create/from-literal.mjs +1 -1
- package/build/value/create/from-never.d.mts +1 -1
- package/build/value/create/from-never.mjs +1 -1
- package/build/value/create/from-null.d.mts +1 -1
- package/build/value/create/from-null.mjs +1 -1
- package/build/value/create/from-number.d.mts +1 -1
- package/build/value/create/from-number.mjs +1 -1
- package/build/value/create/from-record.d.mts +1 -1
- package/build/value/create/from-record.mjs +1 -1
- package/build/value/create/from-string.d.mts +1 -1
- package/build/value/create/from-string.mjs +1 -1
- package/build/value/create/from-symbol.d.mts +1 -1
- package/build/value/create/from-symbol.mjs +1 -1
- package/build/value/create/from-undefined.d.mts +1 -1
- package/build/value/create/from-undefined.mjs +1 -1
- package/build/value/create/from-void.d.mts +1 -1
- package/build/value/create/from-void.mjs +1 -1
- package/build/value/index.d.mts +1 -0
- package/build/value/index.mjs +4 -0
- package/build/value/repair/from-union.mjs +3 -50
- package/build/value/shared/index.d.mts +2 -0
- package/build/value/shared/index.mjs +2 -0
- package/build/value/shared/union-priority-sort.d.mts +3 -0
- package/build/value/shared/union-priority-sort.mjs +36 -0
- package/build/value/shared/union-score-select.d.mts +3 -0
- package/build/value/shared/union-score-select.mjs +51 -0
- package/package.json +30 -30
- package/build/system/environment/can-evaluate.d.mts +0 -2
- package/build/system/environment/can-evaluate.mjs +0 -26
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type TSchema } from '../../types/schema.mjs';
|
|
2
2
|
import { type TInteger } from '../../types/integer.mjs';
|
|
3
3
|
import { type TRecord, IntegerKey } from '../../types/record.mjs';
|
|
4
|
-
export type TFromIntegerKey<
|
|
5
|
-
export declare function FromIntegerKey<Key extends TInteger, Value extends TSchema>(
|
|
4
|
+
export type TFromIntegerKey<_Key extends TInteger, Value extends TSchema, Result extends TSchema = TRecord<typeof IntegerKey, Value>> = Result;
|
|
5
|
+
export declare function FromIntegerKey<Key extends TInteger, Value extends TSchema>(_key: Key, value: Value): TFromIntegerKey<Key, Value>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { IntegerKey } from '../../types/record.mjs';
|
|
3
3
|
import { CreateRecord } from './record-create.mjs';
|
|
4
|
-
export function FromIntegerKey(
|
|
4
|
+
export function FromIntegerKey(_key, value) {
|
|
5
5
|
const result = CreateRecord(IntegerKey, value);
|
|
6
6
|
return result;
|
|
7
7
|
}
|
|
@@ -2,4 +2,4 @@ import { type TSchema } from '../../types/schema.mjs';
|
|
|
2
2
|
import { type TNumber } from '../../types/number.mjs';
|
|
3
3
|
import { type TRecord, NumberKey } from '../../types/record.mjs';
|
|
4
4
|
export type TFromNumberKey<Key extends TNumber, Value extends TSchema, Result extends TSchema = TRecord<typeof NumberKey, Value>> = Result;
|
|
5
|
-
export declare function FromNumberKey<Key extends TNumber, Value extends TSchema>(
|
|
5
|
+
export declare function FromNumberKey<Key extends TNumber, Value extends TSchema>(_key: Key, value: Value): TFromNumberKey<Key, Value>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { NumberKey } from '../../types/record.mjs';
|
|
3
3
|
import { CreateRecord } from './record-create.mjs';
|
|
4
|
-
export function FromNumberKey(
|
|
4
|
+
export function FromNumberKey(_key, value) {
|
|
5
5
|
const result = CreateRecord(NumberKey, value);
|
|
6
6
|
return result;
|
|
7
7
|
}
|
|
@@ -39,7 +39,7 @@ function EncodeString(right, pattern) {
|
|
|
39
39
|
function EncodeTemplateLiteral(templatePattern, right, pattern) {
|
|
40
40
|
return EncodeTypes(right, `${pattern}${UnwrapTemplateLiteralPattern(templatePattern)}`);
|
|
41
41
|
}
|
|
42
|
-
function EncodeEnum(types, right, pattern
|
|
42
|
+
function EncodeEnum(types, right, pattern) {
|
|
43
43
|
const variants = EnumValuesToVariants(types);
|
|
44
44
|
return EncodeUnion(variants, right, pattern);
|
|
45
45
|
}
|
|
@@ -3,7 +3,7 @@ import { Guard } from '../../../guard/index.mjs';
|
|
|
3
3
|
import { IsSchema } from '../../types/schema.mjs';
|
|
4
4
|
import { IsLiteral } from '../../types/literal.mjs';
|
|
5
5
|
import { IsUnion } from '../../types/union.mjs';
|
|
6
|
-
function FromLiteral(
|
|
6
|
+
function FromLiteral(_value) {
|
|
7
7
|
return true;
|
|
8
8
|
}
|
|
9
9
|
function FromTypesReduce(types) {
|
|
@@ -15,7 +15,7 @@ import { type TEnumValuesToUnion } from '../engine/enum/index.mjs';
|
|
|
15
15
|
type TExtendsRightInfer<Inferred extends TProperties, Name extends string, Left extends TSchema, Right extends TSchema, Result extends Result.TResult = (TExtendsLeft<Inferred, Left, Right> extends Result.TExtendsTrueLike<infer CheckInferred extends TProperties> ? Result.TExtendsTrue<Memory.TAssign<Memory.TAssign<Inferred, CheckInferred>, {
|
|
16
16
|
[_ in Name]: Left;
|
|
17
17
|
}>> : Result.TExtendsFalse)> = Result;
|
|
18
|
-
type TExtendsRightAny<Inferred extends TProperties,
|
|
18
|
+
type TExtendsRightAny<Inferred extends TProperties, _Left extends TSchema, Result extends Result.TResult = Result.TExtendsTrue<Inferred>> = Result;
|
|
19
19
|
type TExtendsRightEnum<Inferred extends TProperties, Left extends TSchema, Right extends TEnumValue[], Union extends TSchema = TEnumValuesToUnion<Right>> = TExtendsLeft<Inferred, Left, Union>;
|
|
20
20
|
type TExtendsRightIntersect<Inferred extends TProperties, Left extends TSchema, Right extends TSchema[]> = (Right extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TExtendsLeft<Inferred, Left, Head> extends Result.TExtendsTrueLike<infer Inferred extends TProperties> ? TExtendsRightIntersect<Inferred, Left, Tail> : Result.TExtendsFalse : Result.TExtendsTrue<Inferred>);
|
|
21
21
|
type TExtendsRightTemplateLiteral<Inferred extends TProperties, Left extends TSchema, Right extends string, Decoded extends TSchema = TTemplateLiteralDecode<Right>> = TExtendsLeft<Inferred, Left, Decoded>;
|
|
@@ -14,7 +14,7 @@ import { EnumValuesToUnion } from '../engine/enum/index.mjs';
|
|
|
14
14
|
function ExtendsRightInfer(inferred, name, left, right) {
|
|
15
15
|
return Result.Match(ExtendsLeft(inferred, left, right), checkInferred => Result.ExtendsTrue(Memory.Assign(Memory.Assign(inferred, checkInferred), { [name]: left })), () => Result.ExtendsFalse());
|
|
16
16
|
}
|
|
17
|
-
function ExtendsRightAny(inferred,
|
|
17
|
+
function ExtendsRightAny(inferred, _left) {
|
|
18
18
|
return Result.ExtendsTrue(inferred);
|
|
19
19
|
}
|
|
20
20
|
function ExtendsRightEnum(inferred, left, right) {
|
|
@@ -13,7 +13,7 @@ export type TCodec<Type extends TSchema = TSchema, Decoded extends unknown = unk
|
|
|
13
13
|
export declare class EncodeBuilder<Type extends TSchema, Decoded extends unknown> {
|
|
14
14
|
private readonly type;
|
|
15
15
|
private readonly decode;
|
|
16
|
-
constructor(type: Type, decode: Function);
|
|
16
|
+
constructor(type: Type, decode: globalThis.Function);
|
|
17
17
|
Encode<Callback extends TEncodeCallback<Type, Decoded>>(callback: Callback): TCodec<Type, Decoded>;
|
|
18
18
|
}
|
|
19
19
|
export declare class DecodeBuilder<Type extends TSchema> {
|
|
@@ -32,9 +32,9 @@ export declare class Base<Value extends unknown = unknown> implements TSchema, X
|
|
|
32
32
|
readonly '~guard': XGuardInterface<Value>;
|
|
33
33
|
constructor();
|
|
34
34
|
/** Checks a value or returns false if invalid */
|
|
35
|
-
Check(
|
|
35
|
+
Check(_value: unknown): _value is Value;
|
|
36
36
|
/** Returns errors for a value. Return an empty array if valid. */
|
|
37
|
-
Errors(
|
|
37
|
+
Errors(_value: unknown): object[];
|
|
38
38
|
/** Converts a value into this type */
|
|
39
39
|
Convert(value: unknown): unknown;
|
|
40
40
|
/** Cleans a value according to this type */
|
|
@@ -47,11 +47,11 @@ export class Base {
|
|
|
47
47
|
}));
|
|
48
48
|
}
|
|
49
49
|
/** Checks a value or returns false if invalid */
|
|
50
|
-
Check(
|
|
50
|
+
Check(_value) {
|
|
51
51
|
return true;
|
|
52
52
|
}
|
|
53
53
|
/** Returns errors for a value. Return an empty array if valid. */
|
|
54
|
-
Errors(
|
|
54
|
+
Errors(_value) {
|
|
55
55
|
return [];
|
|
56
56
|
}
|
|
57
57
|
/** Converts a value into this type */
|
package/build/type/types/ref.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TProperties, Base } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromBase(
|
|
2
|
+
export declare function FromBase(_context: TProperties, type: Base, value: unknown): unknown;
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
import { Check } from '../check/index.mjs';
|
|
3
3
|
import { Clone } from '../clone/index.mjs';
|
|
4
4
|
import { FromType } from './from-type.mjs';
|
|
5
|
+
import { UnionPrioritySort } from '../shared/union-priority-sort.mjs';
|
|
5
6
|
export function FromUnion(context, type, value) {
|
|
6
|
-
for (const schema of type.anyOf) {
|
|
7
|
+
for (const schema of UnionPrioritySort(type.anyOf)) {
|
|
7
8
|
const clean = FromType(context, schema, Clone(value));
|
|
8
9
|
if (Check(context, schema, clean))
|
|
9
10
|
return clean;
|
|
@@ -4,13 +4,13 @@ import { IsCodec } from '../../type/index.mjs';
|
|
|
4
4
|
// ------------------------------------------------------------------
|
|
5
5
|
// Decode
|
|
6
6
|
// ------------------------------------------------------------------
|
|
7
|
-
function Decode(
|
|
7
|
+
function Decode(_context, type, value) {
|
|
8
8
|
return type['~codec'].decode(value);
|
|
9
9
|
}
|
|
10
10
|
// ------------------------------------------------------------------
|
|
11
11
|
// Encode
|
|
12
12
|
// ------------------------------------------------------------------
|
|
13
|
-
function Encode(
|
|
13
|
+
function Encode(_context, type, value) {
|
|
14
14
|
return type['~codec'].encode(value);
|
|
15
15
|
}
|
|
16
16
|
// ------------------------------------------------------------------
|
|
@@ -3,7 +3,7 @@ import { Unreachable } from '../../system/unreachable/index.mjs';
|
|
|
3
3
|
import { Guard } from '../../guard/index.mjs';
|
|
4
4
|
import { FromType } from './from-type.mjs';
|
|
5
5
|
import { Callback } from './callback.mjs';
|
|
6
|
-
import { IsOptionalUndefined } from '../shared/
|
|
6
|
+
import { IsOptionalUndefined } from '../shared/optional-undefined.mjs';
|
|
7
7
|
// ------------------------------------------------------------------
|
|
8
8
|
// Decode
|
|
9
9
|
// ------------------------------------------------------------------
|
|
@@ -1,30 +1,28 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
|
-
import { Unreachable } from '../../system/unreachable/index.mjs';
|
|
3
2
|
import { Guard } from '../../guard/index.mjs';
|
|
4
3
|
import { Callback } from './callback.mjs';
|
|
5
4
|
import { FromType } from './from-type.mjs';
|
|
6
5
|
import { Clone } from '../clone/index.mjs';
|
|
7
6
|
import { Check } from '../check/index.mjs';
|
|
7
|
+
import { UnionPrioritySort } from '../shared/union-priority-sort.mjs';
|
|
8
8
|
// ------------------------------------------------------------------
|
|
9
9
|
// Decode
|
|
10
10
|
// ------------------------------------------------------------------
|
|
11
|
-
// deno-coverage-ignore-start - unreachable | checked
|
|
12
11
|
function Decode(direction, context, type, value) {
|
|
13
|
-
for (const schema of type.anyOf) {
|
|
12
|
+
for (const schema of UnionPrioritySort(type.anyOf, 1)) {
|
|
14
13
|
if (!Check(context, schema, value))
|
|
15
14
|
continue;
|
|
16
15
|
const variant = FromType(direction, context, schema, value);
|
|
17
16
|
return Callback(direction, context, type, variant);
|
|
18
17
|
}
|
|
19
|
-
return
|
|
18
|
+
return value;
|
|
20
19
|
}
|
|
21
|
-
// deno-coverage-ignore-stop
|
|
22
20
|
// ------------------------------------------------------------------
|
|
23
21
|
// Encode
|
|
24
22
|
// ------------------------------------------------------------------
|
|
25
23
|
function Encode(direction, context, type, value) {
|
|
26
|
-
|
|
27
|
-
for (const schema of type.anyOf) {
|
|
24
|
+
const exterior = Callback(direction, context, type, value);
|
|
25
|
+
for (const schema of UnionPrioritySort(type.anyOf, -1)) {
|
|
28
26
|
const variant = FromType(direction, context, schema, Clone(exterior));
|
|
29
27
|
if (!Check(context, schema, variant))
|
|
30
28
|
continue;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Base, TProperties } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromBase(
|
|
2
|
+
export declare function FromBase(_context: TProperties, type: Base, value: unknown): unknown;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TBigInt, TProperties } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromBigInt(
|
|
2
|
+
export declare function FromBigInt(_context: TProperties, _type: TBigInt, value: unknown): unknown;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { Guard } from '../../guard/index.mjs';
|
|
3
3
|
import { Try } from './try/index.mjs';
|
|
4
|
-
export function FromBigInt(
|
|
4
|
+
export function FromBigInt(_context, _type, value) {
|
|
5
5
|
if (Guard.IsBigInt(value))
|
|
6
6
|
return value;
|
|
7
7
|
const result = Try.TryBigInt(value);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TBoolean, TProperties } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromBoolean(
|
|
2
|
+
export declare function FromBoolean(_context: TProperties, _type: TBoolean, value: unknown): unknown;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { Guard } from '../../guard/index.mjs';
|
|
3
3
|
import { Try } from './try/index.mjs';
|
|
4
|
-
export function FromBoolean(
|
|
4
|
+
export function FromBoolean(_context, _type, value) {
|
|
5
5
|
if (Guard.IsBoolean(value))
|
|
6
6
|
return value;
|
|
7
7
|
const result = Try.TryBoolean(value);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TInteger, TProperties } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromInteger(
|
|
2
|
+
export declare function FromInteger(_context: TProperties, _type: TInteger, value: unknown): unknown;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { Guard } from '../../guard/index.mjs';
|
|
3
3
|
import { Try } from './try/index.mjs';
|
|
4
|
-
export function FromInteger(
|
|
4
|
+
export function FromInteger(_context, _type, value) {
|
|
5
5
|
if (Guard.IsInteger(value))
|
|
6
6
|
return value;
|
|
7
7
|
const result = Try.TryNumber(value);
|
|
@@ -6,28 +6,28 @@ import { Try } from './try/index.mjs';
|
|
|
6
6
|
// ------------------------------------------------------------------
|
|
7
7
|
// BigInt
|
|
8
8
|
// ------------------------------------------------------------------
|
|
9
|
-
function FromLiteralBigInt(
|
|
9
|
+
function FromLiteralBigInt(_context, type, value) {
|
|
10
10
|
const result = Try.TryBigInt(value);
|
|
11
11
|
return Try.IsOk(result) && Guard.IsEqual(type.const, result.value) ? result.value : value;
|
|
12
12
|
}
|
|
13
13
|
// ------------------------------------------------------------------
|
|
14
14
|
// Boolean
|
|
15
15
|
// ------------------------------------------------------------------
|
|
16
|
-
function FromLiteralBoolean(
|
|
16
|
+
function FromLiteralBoolean(_context, type, value) {
|
|
17
17
|
const result = Try.TryBoolean(value);
|
|
18
18
|
return Try.IsOk(result) && Guard.IsEqual(type.const, result.value) ? result.value : value;
|
|
19
19
|
}
|
|
20
20
|
// ------------------------------------------------------------------
|
|
21
21
|
// Number
|
|
22
22
|
// ------------------------------------------------------------------
|
|
23
|
-
function FromLiteralNumber(
|
|
23
|
+
function FromLiteralNumber(_context, type, value) {
|
|
24
24
|
const result = Try.TryNumber(value);
|
|
25
25
|
return Try.IsOk(result) && Guard.IsEqual(type.const, result.value) ? result.value : value;
|
|
26
26
|
}
|
|
27
27
|
// ------------------------------------------------------------------
|
|
28
28
|
// String
|
|
29
29
|
// ------------------------------------------------------------------
|
|
30
|
-
function FromLiteralString(
|
|
30
|
+
function FromLiteralString(_context, type, value) {
|
|
31
31
|
const result = Try.TryString(value);
|
|
32
32
|
return Try.IsOk(result) && Guard.IsEqual(type.const, result.value) ? result.value : value;
|
|
33
33
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TNull, TProperties } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromNull(
|
|
2
|
+
export declare function FromNull(_context: TProperties, _type: TNull, value: unknown): unknown;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { Guard } from '../../guard/index.mjs';
|
|
3
3
|
import { Try } from './try/index.mjs';
|
|
4
|
-
export function FromNull(
|
|
4
|
+
export function FromNull(_context, _type, value) {
|
|
5
5
|
if (Guard.IsNull(value))
|
|
6
6
|
return value;
|
|
7
7
|
const result = Try.TryNull(value);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TNumber, TProperties } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromNumber(
|
|
2
|
+
export declare function FromNumber(_context: TProperties, _type: TNumber, value: unknown): unknown;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { Guard } from '../../guard/index.mjs';
|
|
3
3
|
import { Try } from './try/index.mjs';
|
|
4
|
-
export function FromNumber(
|
|
4
|
+
export function FromNumber(_context, _type, value) {
|
|
5
5
|
if (Guard.IsNumber(value))
|
|
6
6
|
return value;
|
|
7
7
|
const result = Try.TryNumber(value);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { Guard } from '../../guard/index.mjs';
|
|
3
3
|
import { FromType } from './from-type.mjs';
|
|
4
4
|
import { FromAdditionalProperties } from './from-additional.mjs';
|
|
5
|
-
import { IsOptionalUndefined } from '../shared/
|
|
5
|
+
import { IsOptionalUndefined } from '../shared/optional-undefined.mjs';
|
|
6
6
|
// ------------------------------------------------------------------
|
|
7
7
|
// FromProperties
|
|
8
8
|
// ------------------------------------------------------------------
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TString, TProperties } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromString(
|
|
2
|
+
export declare function FromString(_context: TProperties, _type: TString, value: unknown): unknown;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { Guard } from '../../guard/index.mjs';
|
|
3
3
|
import { Try } from './try/index.mjs';
|
|
4
|
-
export function FromString(
|
|
4
|
+
export function FromString(_context, _type, value) {
|
|
5
5
|
if (Guard.IsString(value))
|
|
6
6
|
return value;
|
|
7
7
|
const result = Try.TryString(value);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TUndefined, TProperties } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromUndefined(
|
|
2
|
+
export declare function FromUndefined(_context: TProperties, _type: TUndefined, value: unknown): unknown;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { Guard } from '../../guard/index.mjs';
|
|
3
3
|
import { Try } from './try/index.mjs';
|
|
4
|
-
export function FromUndefined(
|
|
4
|
+
export function FromUndefined(_context, _type, value) {
|
|
5
5
|
if (Guard.IsUndefined(value))
|
|
6
6
|
return value;
|
|
7
7
|
const result = Try.TryUndefined(value);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TVoid, TProperties } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromVoid(
|
|
2
|
+
export declare function FromVoid(_context: TProperties, _type: TVoid, value: unknown): unknown;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { Guard } from '../../guard/index.mjs';
|
|
3
3
|
import { Try } from './try/index.mjs';
|
|
4
|
-
export function FromVoid(
|
|
4
|
+
export function FromVoid(_context, _type, value) {
|
|
5
5
|
if (Guard.IsUndefined(value))
|
|
6
6
|
return value;
|
|
7
7
|
const result = Try.TryUndefined(value);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TProperties, TAsyncIterator } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromAsyncIterator(
|
|
2
|
+
export declare function FromAsyncIterator(_context: TProperties, _type: TAsyncIterator): unknown;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TProperties, Base } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromBase(
|
|
2
|
+
export declare function FromBase(_context: TProperties, type: Base): unknown;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TProperties, TBigInt } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromBigInt(
|
|
2
|
+
export declare function FromBigInt(_context: TProperties, type: TBigInt): unknown;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { IsExclusiveMinimum, IsMinimum } from '../../schema/types/index.mjs';
|
|
3
|
-
export function FromBigInt(
|
|
3
|
+
export function FromBigInt(_context, type) {
|
|
4
4
|
return (IsExclusiveMinimum(type) ? BigInt(type.exclusiveMinimum) + BigInt(1) :
|
|
5
5
|
IsMinimum(type) ? BigInt(type.minimum) :
|
|
6
6
|
BigInt(0));
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TProperties, TBoolean } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromBoolean(
|
|
2
|
+
export declare function FromBoolean(_context: TProperties, _type: TBoolean): unknown;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type TProperties } from '../../type/index.mjs';
|
|
2
2
|
import { type XDefault } from '../../schema/types/index.mjs';
|
|
3
|
-
export declare function FromDefault(
|
|
3
|
+
export declare function FromDefault(_context: TProperties, schema: XDefault): unknown;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { Guard } from '../../guard/index.mjs';
|
|
3
3
|
import { Clone } from '../clone/index.mjs';
|
|
4
|
-
export function FromDefault(
|
|
4
|
+
export function FromDefault(_context, schema) {
|
|
5
5
|
return Guard.IsFunction(schema.default)
|
|
6
6
|
? schema.default(schema)
|
|
7
7
|
: Guard.IsObject(schema.default)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TProperties, TInteger } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromInteger(
|
|
2
|
+
export declare function FromInteger(_context: TProperties, type: TInteger): unknown;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { Guard } from '../../guard/index.mjs';
|
|
3
3
|
import { IsExclusiveMinimum, IsMinimum } from '../../schema/types/index.mjs';
|
|
4
|
-
export function FromInteger(
|
|
4
|
+
export function FromInteger(_context, type) {
|
|
5
5
|
return ((IsExclusiveMinimum(type) && Guard.IsNumber(type.exclusiveMinimum)) ? type.exclusiveMinimum + 1 :
|
|
6
6
|
IsMinimum(type) ? type.minimum :
|
|
7
7
|
0);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TProperties, TIterator } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromIterator(
|
|
2
|
+
export declare function FromIterator(_context: TProperties, _type: TIterator): unknown;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TProperties, TLiteral } from '../../type/index.mjs';
|
|
2
|
-
export declare function FromLiteral(
|
|
2
|
+
export declare function FromLiteral(_context: TProperties, type: TLiteral): unknown;
|